Compare two assets.
Render two GLBs side-by-side, compute SSIM + ΔE94 across an 8-camera orbit, and get a verdict on which one wins on size and which on visual fidelity — the same gate the published benchmark uses. Right now it runs on your machine and in your CI, not on ours.
We are not running visual comparison on our servers right now, so we are not going to offer you a button for it. The visual-diff gate itself is not affected — it runs on your machine and on your CI runner, which is where it belongs for anything you would actually gate a release on.
# one-time: the browser this npx CLI renders with npx -p @spatialpack/cli playwright install chromium npx @spatialpack/cli visual-diff \ before.glb after.glb \ --grid orbit-8 --out diff/
The orbit-8 grid — the same grid the published benchmark uses, and the same SSIM + ΔE94 metrics.
Pass --grid explicitly: it defaults to a 6-angle mixed-pitch grid, which scores differently. The published leaderboard scored one view of orbit-8 (--views 1); the default here is the stricter worst-of-8. The first line is once per machine — npx gives the CLI its own Playwright, and its browser is not the one any other install has. Free and unmetered.
- uses: ./actions/spatialpack-action
with:
visual-diff: trueThe GitHub Action runs the diff on your own runner and fails the build past your ΔE94 threshold. Also free.
Want the comparison run for you instead? Catalog Rescue returns a before/after report per model →
QA your optimizer output, A/B-test recipes, or compare two authoring-tool exports without exporting both to a third tool.
Orbit-8 SSIM + ΔE94 — same grid the publishable 3dassetbench uses, so the numbers are reproducible.
Plain-English one-liner: which file is smaller, by how much, and whether the visual delta is identical / minor / visible.