Add the wai-web FilmSink wasm binding so a browser sink decodes a wai.film.linear like the other cargo classes: it re-derives the film hash and the Merkle root over every frame's BLAKE3(world_state_hash || camera pose) IN THE TAB and checks both against the corpus (film-equivalence proven on the visitor's machine), exposes the interpolated camera pose per frame, and hands back the embedded world bytes so the page drives a WorldSink — the same engine — to read the moving world the camera frames. The render (projecting the world through the camera) is the sink's presentation; the verified quantity is the per-frame hash. Re-author wai_film_vectors so the corpus doubles as the /film demo: subjects are placed and paced to stay framed (displacement = vel·ticks/60), cameras are posed at -z with a gentle downward pitch looking onto the action (dolly / two-shot push-in / crane-up). Still a valid conformance corpus — same gen|verify, frozen BLAKE3, four-platform CI — just composed to read on screen. Hashes regenerated accordingly. Co-Authored-By: Claude Opus 4.8 <[email protected]>
1.2 KiB
1.2 KiB