Live Validation
Don't trust us. Test us.
Every accuracy claim on this site is verifiable right here, right now, on your own hardware.
What gets checked
GPU vs. reference — ΔE76
A 21-step gray wedge is rendered through the actual WebGL pipeline with all user controls neutral, then compared patch-by-patch against an independent CPU implementation of the same math (soft-knee, per-channel H&D LUTs, dye matrix blend). Differences are measured in CIELAB ΔE76 — the perceptual color-difference metric. ΔE below 1 is invisible; one just-noticeable difference is ≈ 2.3. We require max ΔE ≤ 2.0 across the entire tonal range.
Mid-gray pin
An 18% gray scene input must land within ±0.25 stops of the calibrated display target on every channel — through the full chain including per-layer speed shifts, the orange mask, and the print stage. This is what keeps brightness consistent when you switch stocks.
Monotonicity
Every characteristic-curve LUT is checked point-by-point: more exposure must never render darker. A non-monotonic curve would mean corrupted datasheet digitization.
Scope, honestly stated: this suite validates that the pipeline faithfully executes the published datasheet data — it does not (yet) compare against physical film scans. That next tier — shooting color charts on real stock, scanning, and publishing measured ΔE against our render — is on the roadmap. The digitized curves and every constant we use are published in full on the Published Data page.