Proof, not a promise

The Determinism Receipt

Most Canvas tools generate. This one renders.

The SynthWave engine is deterministic — same preset, same seed, same frames. Not visually similar, bit-identical. We proved it the only way worth proving: an identical render on two machines with different CPUs, every output frame hashed with SHA-256.

Machine A — productionMachine B — local
CPURailway cloud container (Linux, x86_64)Intel Core Ultra 7 256V
OSLinux (containerized render worker)Windows 11 Home (10.0.26200)
Engine@seedframe/engine 0.12.1 · @seedframe/canvas 0.15.0@seedframe/engine 0.12.1 · @seedframe/canvas 0.15.0
Preset · seedcanvas/chrome · 3487952549canvas/chrome · 3487952549
Frames rendered180180
Frame-set SHA-25642bf93f3cd941653f6d592f8f4986abbe8f6580e686ba07908deb4a29dd8b65f
ResultIDENTICAL — 180 / 180 frames match

Run of 2026-08-28: production render job 972a4a26 vs a local re-render on a Windows laptop. CHROME is a pure procedural loop — the same 180 frames on any machine, no track or cover art. Frame-set hash = SHA-256 over the ordered concatenation of all 180 per-frame SHA-256 hashes.

Why an artist should care

Your catalog holds together. Render single #7 on the same preset and seed as single #1 and the two Canvases belong to each other. Consistency is a brand, and you can’t build one on a slot machine.

A re-render is free insurance. Lost the file, need four seconds instead of six, want a different crop — run it again. It comes back the same.

Nothing drifts under you. No model update can quietly change what your art looks like six months from now.

Clips inherit the proof

A TikTok / Reels / Shorts clip cut from a Canvas isn’t a new render — it’s the same frames, stream-copied whole loops at a time, with your audio muxed in. No re-encode means the two-machine frameset hash above covers every clip derived from that Canvas, byte for byte. The clip’s manifest names its source render and carries the inherited per-frame hashes.

Verify it yourself

Every render ships a manifest next to the MP4: input hash, preset, seed, engine version, and a per-frame SHA-256 list. Run it again on your own machine. Compare. If the hashes ever differ, that’s a bug and I want the report.

Reproducibility is the receipt. Everything else is a vibe.

Validated against Spotify’s Canvas guidelines as of 2026-07-17.