Skip to main content
This page is the demo

A film.
Ship the world that makes it, not the pixels.

A generated film — animation, CGI, motion graphics — is a sealed, camera-on-rails world. A wai.film.linear carries an embedded wai.world.replay (the world that produces the imagery), a keyframed camera track, and a frame schedule — and nothing else. Your browser drives the same deterministic Rust world engine (compiled to WASM) that made the conformance corpus to read the moving world at each frame tick, projects it through the interpolated camera, and re-derives every frame's identityBLAKE3(world state hash || camera pose): film-equivalence. Scrub the frame slider — the camera moves along its rails, the world moves under it, and each whole film on the wire is about a kilobyte.

world tick camera fov film hash frames root

The film is instructions

The wire carries the world that generates the imagery and the camera that frames it — not a rendered pixel stream. The render you see — projecting the world through the camera — is the sink's presentation, exactly as the worlds renderer is. A two-hour feature is an op log and a camera spline.

Film-equivalence

It composes a guarantee already proven: the embedded world's replay-equivalence (every sink agrees on the state hash at every tick) plus the wai.det.fixed64 camera track. Each frame hashes to one BLAKE3 on every machine — no tolerance parameter.

Honest about scope

The size win is for films generated from a world — animation, CGI, motion graphics. Live-action capture is irreducible samples and stays wai.video.*. This is the medium-shift for the synthesizable slice of "video," not a video codec.

Reference engine + conformance corpus in the open-standards repo; Apache-2.0. Each film here is a complete WFLM in about a kilobyte — a sealed kinematic world plus a camera track. The points are the world's moving subjects; the grid is the ground plane, projected through the same camera so you can feel it travel. The verified object is the per-frame hash, re-derived in this tab; the projection is the sink's render.