Several classes in one envelope.
Rebuilt and checked in this tab.
One wai.film.reel carries a sealed world, the reel's shots and an embedded score;
the reel hash binds them, and a film receipt can sign it. This tab re-derives the hashes and
checks the world's op signatures. Your browser runs the
reference implementation, compiled to WebAssembly, to re-derive the reel hash
and the per-frame root (reel-equivalence) and the score's mixdown hash
(mixdown-equivalence), then plays them in sync: the figure rendered through the cuts, the
music from the embedded score. The readout shows the size of the reel file.
One envelope, several classes
The reel nests a sealed wai.world.replay, a set of camera shots and a
wai.audio.score, each a registered class with its own equivalence. The
reel hash binds them into one object that a film receipt can sign.
What this tab checks
The picture re-derives to a Merkle root over per-frame
BLAKE3(world state || camera pose); the sound re-derives to the
score's mixdown hash. Both are checked against the corpus's recorded hashes, in this tab. No
receipt signature is checked here.
Played in sync
The render, projecting the world through the cut cameras, and the Web Audio playback of the embedded score are the sink's presentation. The wire carried instructions; this tab rebuilt the content and checked it.