Skip to main content
This page is the demo

A world model you can put in a receipt.
Same actions in, same frames out — everywhere.

wai.world.model replay-equivalence In the standard

wai.world.model carries an interactive world as its action trace. Every control is a signed action op, and the trace replays, in any arrival order, to one session hash: that is replay-equivalence. A declared model identifier pins which renderer turns the trace into frames.

The capability's conformance is the action trace. This demo's integer renderer also makes every frame byte-identical; a sink may declare another renderer. Here the transition z₊₁ = T(z ‖ action) and the synthesis frame = g_s(z) are both integer convolutions, run by the reference implementation compiled to WebAssembly with no ML runtime and no floating point, and the page re-checks each generated frame against the native reference.

decoding… ↑ ↓ ← → to play · or click the canvas first
frame — decode — frame hash (FNV-1a) — session hash (BLAKE3) —

Two checks

First the page replays a committed action walk through the integer world model and checks every generated frame against the checksum the native reference recorded; — frames are checked. Then it hands you the arrow keys: each keystroke advances the integer transition, renders a new frame, and is recorded as a signed action op. The trace of what you did replays to one session hash, the same on every machine.

The model

A small action-conditioned world model trained on a synthetic, procedurally generated scene and post-training-quantized to integers. It demonstrates a replayable, byte-exact session.

Where the code lives

The capability is in the standard; the reference engine is Apache-2.0 in the open-standards repository. This page checks frames against the reference implementation's recorded hashes for a demo fixture and computes the session hash in the tab. The frame hash shown is 64-bit FNV-1a; the session hash is a BLAKE3 hash chain over the model header and the ordered action ops.