• 0.2 cc908efa36

    feat(render): a reduced column can be graded by dwell, not drawn as one flat band
    CI / debug (tests + all adapters) (push) Canceled after 0s
    CI / coverage (floor + measured table) (push) Canceled after 0s
    CI / asan (AddressSanitizer) (push) Canceled after 0s

    martino released this 2026-10-06 03:02:36 +02:00 | 21 commits to main since this release

    A pixel column reduced from a dense envelope is honest about where the signal
    went and silent about how long it was there: its min and max are identical
    whether its samples fill the span or pile at its two ends, so a ramp and a pulse
    are one band. Style::intensity_grading grades it instead -- bright where the
    signal sits, faint where it only passes through -- by asking the gather for a
    level finer than the pixel grid and reading the distribution from those
    sub-buckets. Off by default: a change of look, not a correction of one.

    The measure is dwell per row, each segment depositing one unit spread over the
    rows it spans; counting +1 per row instead grades a sine's fast middle as
    brightly as its rails, which is the pattern inverted. The accumulator is one
    column wide (a full w*h density image is 33 MB at 4K) with each span written as
    two delta writes, and normalisation is against the column's own peak -- a
    frame-wide scale fades the trace out exactly where it moves fastest. Alpha is
    quantised into tiers, one LineBatch and one draw call each, because the line
    pipeline's colour is a uniform and a per-segment alpha is inexpressible.

    The finer ask is floored at level 1 whenever the flat path would have used the
    pyramid: level_for() answers 0 -- raw samples -- as soon as a sub-column falls
    under one bucket, so an unfloored ask turns a moderately dense frame into an
    O(visible) gather (measured at 172 samples a pixel: raw=1154 lod=0 and 6.4 ms a
    frame against raw=710 lod=453 and 2.3 ms). Grading is a way of drawing a
    reduction and may not undo it.

    Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

    Downloads