Releases: ReyJ94/SceneProof
Release list
SceneProof v0.5.0
SceneProof v0.5.0 adds explicit, strict WebGL and WebGPU evidence capture.
Highlights
- Select
--three-backend webgl|webgpu; WebGL remains the compatibility-first default. - Prove requested and actual backend, renderer family, adapter, fallback status, and rasterizer in reports.
- Verify WebGPU readiness with a real clear-and-readback via
doctor --require-backend any|webgl|webgpu|both. - Capture headless WebGPU pixels directly from the GPU texture across normal renders, frame sequences, regions, Scout, sweeps, reference sets, and context pairs.
- Reject silent WebGL2 fallback, GLSL-only materials, custom
onBeforeCompile, and WebGL-only addon imports with actionable TSL/NodeMaterial guidance.
WebGPU availability is not a performance claim. Linux headless capture uses Chromium SwiftShader and reports that provenance explicitly.
SceneProof v0.4.0
SceneProof v0.4.0 separates successful execution from trustworthy visual judgment.
Highlights
- Adds explicit
execution,evidence, andassessmentresult layers.successnow clearly means command execution only; reference acceptance remains an agent-owned artifact review. - Adds typed React fixture generation with
sceneproof propsand attributable--partial-propscompletion. - Adds fixture-declared context, one-lifecycle
--context-pair,--in-context/--isolated, and delivery-scale assertions. - Adds fitted-spline silhouette deviation and amplified difference artifacts for adjacent motion frames.
- Fixes compiled TypeScript analysis and runtime dependency resolution for clean, hoisted Bun installations.
- Removes the illustrative Three.js example in favor of project-owned
scripts/sceneproofinspectors that import real production owners.
Install or update:
bun add --global github:ReyJ94/SceneProof
sceneproof --versionSee the changelog for the complete release contract.
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.
SceneProof v0.2.0
SceneProof 0.2 makes Three.js inspection substantially more faithful and more
useful to coding agents. It prioritizes presenting the relevant visual evidence
over merely producing a larger image.
Highlights
- Detects Three.js factories from the selected export's
{ scene, camera }
contract instead of requiring the namecreateScene. - Passes deterministic props into Three.js fixtures and supports fixture-owned
actions, exact time sampling, and before/transition/settled frame sequences. - Preserves the literal source camera with
--framing source;fitandfill
are now explicit alternatives. - Gives Scout separate context, source-detail, close-detail, and shape
recommendations, with a framing-versus-raster diagnosis. - Supports fixture semantic targets and stable
InstancedMeshinstance IDs for
logical bounds inside batched draw owners. - Adds
sceneproof doctorwith actionable Chromium, WebGL, and local-render
diagnostics.
Inspector ownership
Reusable inspection adapters belong in the inspected repository's root
scripts/sceneproof/ directory, not application source. Inspectors should
import the production visual owner unchanged and declare deterministic state.
SceneProof does not claim parity with an unrecorded live browser state.
See the changelog
and Three.js fixture protocol
for the complete contracts.
Verification
- Lint and strict TypeScript typecheck passed.
- 27 tests passed, including browser-backed React and Three.js behavior.
- Compiled binary build passed.
- The packed tarball installed cleanly, reported version
0.2.0, and exposed
thesceneproof/threefixture helper.