Interactive worlds.
The sink makes every frame.
What arrived over the wire is not video. It is a wai.world.* payload —
a tick-0 world plus Ed25519-signed operations, a couple of kilobytes. Your device
re-derives every frame locally, in WebGPU, with the same Rust engine native sinks run.
In the playground, this tab is a signed actor: click to shove the tower, open the
page in a second tab and shove from both — the tabs converge on the identical BLAKE3
state hash because the math does, not because a server says so. The sealed replay
vectors end by verifying their hash against the publisher's signature.
One engine, every sink
This is not a JavaScript port. The wai reference crate compiles to
wasm32 with the codec chain off; the browser binds the identical simulation code
that generated the conformance corpus. State is exact Q32.32 fixed-point —
f32 exists only on the way to the GPU.
Replay-equivalence, observed
Conformance for interactive cargo is the temporal generalization of bit-exact
decode: same world + same ops → the identical BLAKE3 state hash at every checkpoint,
with no tolerance parameter. The hash in the HUD above equals the one in
world-conformance/expected_hashes.json — wasm in your browser and
native silicon agree byte for byte.
Stress is computed, not animated
In truss_fracture, two actors pull the same member in opposite directions at the same tick. Both impulses act — the SUM conflict rule feeds the solver — the member's strain exceeds its yield, and it snaps. Structural failure as a position-based-dynamics consequence, identical on every machine that ever replays it.
gallery renders a
wai.mesh.glb as a solid PBR cube; gallery (splats) decodes a real
Niantic-SPZ wai.splat.spz — gunzipped and unpacked in-tab (positions, scales,
smallest-three quaternions) into sorted, alpha-blended anisotropic Gaussians. The SPZ file
was produced by the field's SPZ library, the codec WAI dispatches to. Neither rendering
touches the state hash; a Gaussian splat is presentation bound to a node the sim moves,
exactly where glTF sits. The seal & receipt
carry an exact, signed work_steps and a separately-carried energy figure. This
browser tab can only estimate joules (wall-clock × a declared coefficient, labeled as
such); a native sink measures real CPU energy with no sudo — Apple-Silicon SoC
counters via IOReport, x86 via RAPL — which is what the reference wai_world_meter
reports. Joules are always derived from measurement or a stated model, never asserted.
wai.world.scene / replay / live + asset media wai.mesh.glb
· Apache-2.0, reference engine and conformance corpus in the open-standards repo.