SceneProof v0.3.0
SceneProof 0.3 turns supplied visual targets into measurable evidence. Agents
can now compare a render with a reference directly instead of tuning geometry,
materials, and motion from memory.
Highlights
- Compares a render with a supplied reference using confidence-gated or exact
masks, aligned silhouette evidence, paired luminance histograms, normalized
pixel probes, and reference/current/difference artifacts. - Reports unaligned viewport composition separately, so subject normalization
cannot hide incorrect placement or delivery size. - Extracts target-only silhouette profiles and warns when contrast or dynamic
range makes a visual claim unjudgeable. - Runs one-variable fixture-prop sweeps in one browser and bundle, with explicit
geometry,appearance,composition, orbalancedranking objectives. - Accepts labeled multi-view reference manifests and keeps every camera, mask,
artifact, and score attributable to its own perspective. - Adds adjacent frame-motion summaries and previous-render comparison maps so a
successful command cannot silently certify a null visual result.
Reliability and ergonomics
- Isolation preserves Three.js lights.
- Camera presets respect the fixture camera's up axis.
- Scout accepts
--isolatesymmetrically, bare semantic IDs resolve across
commands, and missing React props receive actionable render guidance. - Transient esbuild service deaths receive a bounded retry, and every render
reports whether SwiftShader CPU rasterization was used.
See the changelog
and Three.js fixture protocol
for the complete evidence contracts.
Verification
- Lint and strict TypeScript typecheck passed.
- 49 tests passed, including browser-backed React, Three.js, reference,
multi-view, sweep, motion, and transient-service behavior. - Compiled binary build and
git diff --checkpassed. - The packed tarball installed cleanly, reported version
0.3.0, exposed the
new reference and sweep CLI surface, and importedsceneproof/three.