What the level column measures
Linear light, over the lit set (ADR-0150). Two halves, and both matter:
- Linear, because the stored pixels are sRGB-encoded and that curve is
concave: a mean over the bytes under-reports a brightness change by roughly
half. That factor of two is the property, and it is what the statistic is for.
The move you see is not the trim you made, and expecting it to be will
make a working column look broken. Trimming
star_rosewindow’sbrightnessby 30 % moves this column from0.0532to0.0408— 23 %, measured 2026-09-01 on the DX12 software adapter. Two things eat the rest, and both are the pipeline rather than the statistic: the tonemap is the identity only below its knee and compressive above it, so bright content moves less than its source; and the lit set itself shrinks as dimmed pixels fall undercover’s threshold, which lifts the mean of what stays. - Over the lit set, the same pixels
covercounts, so an authored background does not dilute the reading. The two columns read one picture from two directions:coveris how much of the frame is lit,levelis how bright that lit part is. In the sample aboveShatterlights more than half the frame at a low level andStipplelights a third of it, brightly.
It is a comparison number and never a threshold. There is no level a preset ought to hit, and one row’s cell says nothing on its own. What it is for is a before/after on the same preset — did this change make it brighter, and by how much — or an ordering across a family. The lit predicate is a threshold on the stored bytes, so the statistic is linear light over a set chosen in code space; ADR-0150 records why that seam is accepted rather than solved.
The blind spot, by construction: a preset that goes wrong by changing its
background is invisible here. That is the price of not being a background
detector, and cover is the column that sees it.
The name column is fourteen characters wide, and a longer name is elided in
the middle, not at the tail: Tiled Rosette Mono prints as Tiled R~e Mono.
The tail is what distinguishes a name in this library — Mono, Gallery,
Bordered, Walk — and a tail truncation threw it away, which is how two
presets came to print as one row label in every table (design-backlog 0131).
A ~ in a label means characters were dropped there.
A family whose scenes draw through the line renderer first gets a one-column
geom block, under the prose that follows the table: the in-frame geometry
fraction, the share of drawn line length inside the frame at the fully-driven
capture, read while tuning scale and never as a threshold
(ADR-0083).
It is a block rather than a column because the table has no width left for it
under 100 characters. A preset in such a family that drew no line prints -, and
--json carries the value as in_frame_geometry.
preset geom Gyre 0.9685 Loom 0.9962 Curve Mono 0.9602Three more labeled blocks print under the table (new readings go beside the table
rather than into it, so every historical number keeps its place): the
frame cost described above, the realistic-levels reading
(reactivity_low — the same bands at the levels real music reaches, ADR-0042) and,
since Plan 0077, the footprint reading (reactivity_footprint) — the same
differentials divided by the union of lit pixels instead of the whole frame
(metrics::footprint_diff, ADR-0091). Read the footprint block when a mean band
column shows ~0.000: reactivity concentrated in a small footprint — a bloom_amount
halo, a sparse figure — is diluted by the whole-frame mean, and before this reading
existed the house workaround was binding a flash lever just so the report had
something to see. On a backdrop-heavy preset the union mask approaches the whole
frame and the reading degrades toward the mean column — it never sits meaningfully
below it, so it fails toward the old behaviour rather than inventing reactivity.
Every one of those but count and the last two is a settled measurement: the capture
holds one stimulus for every frame it renders, so each smoother has converged
long before the pixels are read. That is the right question for “does it
respond”, and it is exactly why those columns are identical for any
[smoothing] constant.
Built from 13c7582 at version 0.158.0. This site tracks main and is not versioned per release.