Flat-subject (mid-tone) pass. A SHADED subject can have a narrow
lit-luminance histogram even when it is not clipped, making p99 a poor anchor
that parks the whole subject in the ACES highlight rolloff. The clip guard
cannot see that failure because it is a TAIL test, so when the phase-1 spread
is small we re-target the MEDIAN.
After the offset-key shading change, frame 0 of the committed
mesh_isosurface_cells3d media measured p10 0.378 / p50 0.506 / p99 0.597
(spread 0.219, 32,845 lit pixels). Those are FINAL-frame values after the
median pass, not the phase-1 values used by this gate; the p50 landing on
TARGET_MID is the important outcome check.
THE THRESHOLD IS EMPIRICAL, and deliberately conservative:
The threshold was set by the original manifest-wide sweep at the
post-phase-1 state, not by the final committed screenshot quoted above.
Re-exposing the committed gallery media to that post-phase-1 state as a
proxy, the TIGHTEST emissive tile measured (gsplats_4d_celegans_tracking,
a README pick with auto-exposure on) came out at spread ≈0.167, only
≈40% above 0.12 — and its histogram is unimodal, so the comfortable
"an emissive cloud always has masses of dim halo pixels" story does NOT
hold for every tile. Other tiles sat at ≈1.8× the threshold, not 10×.
The error is therefore made ASYMMETRIC on purpose. A false fire silently
recalibrates a committed tile by ~1.5-2 stops; a miss just leaves today's
behaviour, with the per-demo exposure override as the escape hatch. So
the gate is tight rather than generous.
Acceptance check is a manifest-wide before/after sweep with
scripts/gallery/score_exposure.py, not this comment.
KNOWN OPPOSITE FAILURE MODE: with HI_PERCENTILE 0.99 and a p10 floor, the
gate reduces to "fewer than ~10% of the lit pixels are dim", so a
high-perimeter mesh whose antialiased silhouette covers more than ~10% of its
lit pixels will NOT trigger it and will stay over-exposed. A lacier surface
would need the per-demo override.
Flat-subject (mid-tone) pass. A SHADED subject can have a narrow lit-luminance histogram even when it is not clipped, making p99 a poor anchor that parks the whole subject in the ACES highlight rolloff. The clip guard cannot see that failure because it is a TAIL test, so when the phase-1 spread is small we re-target the MEDIAN.
After the offset-key shading change, frame 0 of the committed
mesh_isosurface_cells3dmedia measured p10 0.378 / p50 0.506 / p99 0.597 (spread 0.219, 32,845 lit pixels). Those are FINAL-frame values after the median pass, not the phase-1 values used by this gate; the p50 landing on TARGET_MID is the important outcome check.THE THRESHOLD IS EMPIRICAL, and deliberately conservative:
gsplats_4d_celegans_tracking, a README pick with auto-exposure on) came out at spread ≈0.167, only ≈40% above 0.12 — and its histogram is unimodal, so the comfortable "an emissive cloud always has masses of dim halo pixels" story does NOT hold for every tile. Other tiles sat at ≈1.8× the threshold, not 10×.exposureoverride as the escape hatch. So the gate is tight rather than generous.scripts/gallery/score_exposure.py, not this comment.KNOWN OPPOSITE FAILURE MODE: with HI_PERCENTILE 0.99 and a p10 floor, the gate reduces to "fewer than ~10% of the lit pixels are dim", so a high-perimeter mesh whose antialiased silhouette covers more than ~10% of its lit pixels will NOT trigger it and will stay over-exposed. A lacier surface would need the per-demo override.