A world model you can put in a receipt.
Same actions in, same frames out — everywhere.
An interactive world model (Genie / Oasis / Matrix class) generates the next
frame from your action through a float network, and streams the pixels to you —
so the world is non-reproducible, unmetered, and ephemeral. wai.world.model flips
the wire: it carries the action trace, not the pixels, and the world model is
integer. The transition z₊₁ = T(z ‖ action) and the synthesis
frame = g_s(z) are both integer convolutions — the same pure-i64 Rust the
native sink runs, compiled to wasm32, no float, no ML runtime. So from one initial
state + your keystrokes, every frame is byte-identical on every machine, and this page
re-checks each one's hash. And every keystroke is a signed action op whose trace
replays — any order — to one portable session hash. That is replay-equivalence for a
generated world: a session you can pin, audit, and put in a receipt.
Why this is the moat
First the page replays a committed action walk through the integer world model and checks every generated frame's hash against the native reference — all — match, byte-for-byte. Then it hands you the arrow keys: each keystroke advances the integer transition and renders a new frame in pure i64, and is recorded as a signed action op. The trace of what you did replays — in any arrival order — to one portable session hash, the same on every machine. A float world model can't make either promise: its frames drift between machines and its session is unsigned and unmetered. Here the world is integer all the way down, so the frames hash-converge and the session is a signed, auditable artifact. Reference engine + conformance corpus in the open-standards repo, Apache-2.0.