Demonstrations.
The reference implementation, running in this tab.
The WAI sink is a computer. Each envelope names the capability that rebuilds its payload, so each piece of a stream can carry its own choice, and the sink rebuilds the result and checks its hash. These pages run the reference implementation, compiled to WebAssembly, in this tab, and every card below is in the standard.
For the format itself, see the specification and its extensions, the reference implementation, and why WAI is built this way.
- In the standard
- in the standard's main branch
Dispatch and adaptation
Each object names the capability that rebuilds it, so one stream can carry a different choice per piece, and one envelope can carry several kinds of content.
Cargo, measured
frame-state-equivalence, per piecewai.video.int_motion + wai.video.av1 One open-film excerpt carried two ways in the tab: a classical ladder played by the browser's own player, and a WAI package whose pieces travel by default as the standard codestream, AV1 inside WAI objects, with an integer lane that rebuilds every piece byte for byte. Every object is checked against the package's stage index and every rebuilt frame against the native reference; a flipped byte is refused and the piece's other rendition plays, and the bytes and the quality are measured as they arrive.
The package, its classes, both renditions, the sink's checks and the pieces made on this device from their instructions are in the standard.
runs /wai/pkg/wai_web.js
package-and-deliver template The code: wai/wai-pack Integer video
frame-state-equivalencewai.video.int_motion An integer inter-frame clip: integer block motion compensation plus an integer-quantized residual, decoded in the tab, with every frame's checksum re-checked against the native reference. A second clip is the registered capability wai.video.int_hyper: a learned integer keyframe followed by integer motion-compensated frames.
runs /video/pkg/wai_video.js
wai/wai-web/src/video.rs Several classes in one envelope
reel + mixdownwai.film.reel + wai.audio.score One reel carries a sealed world, the reel's camera shots and an embedded score. The tab re-derives the reel hash, the per-frame root and the score's mixdown hash, then plays picture and sound in sync.
runs /wai/pkg/wai_web.js
wai/wai-web/src/reel.rs Learned codecs with byte-exact decode
Learned codecs whose decode is integer arithmetic, so the reconstruction reproduces byte for byte on every conforming sink.
Learned image
integer-exactwai.neural.int_hyper A pretrained mean-scale hyperprior image codec, post-training-quantized to integers and decoded entirely in integer arithmetic in the tab, then checked byte for byte against the native reference. The page shows the bitstream size it fetched.
runs /int_hyper/pkg/wai_int_hyper.js
wai/wai-web/src/neural_int.rs JPEG AI decode
entropy-consistencywai.image.jpegai The ISO/IEC 6048 entropy decode run in the tab on a stream from the standard's reference encoder: the decoded symbols reproduce on every machine and are checked against the native reference. A second panel runs the full decode to pixels.
The capability, its entropy-consistency tier and the exact decoder, which calls no platform maths library, are in the standard.
runs /wai/pkg/wai_web.js
wai/wai-web/src/neural_int.rs Learned audio
sample-equivalencewai.audio.int_codec A small learned 1-D audio codec — integer transposed-convolution synthesis and integer IGDN over a factorized-rANS latent — decoded to 16-bit PCM in the tab, checked against the native reference, then played.
runs /wai/pkg/wai_web.js
wai/wai-web/src/audio_int.rs Learned 3D
splat-equivalencewai.splat.int_codec A learned Gaussian-splat attribute codec with integer synthesis, decoded to the per-Gaussian attribute tensor in the tab and checked against the native reference. WAI pins the attributes; the rasterizer is the sink's.
runs /wai/pkg/wai_web.js
wai/wai-web/src/int_splat.rs Instructions rebuilt at the sink
The wire carries the instructions — ops, tracks, events, a prompt and seed — and the sink rebuilds the content and re-derives its hash.
Worlds
replay-equivalencewai.world.{scene,replay,live} A sealed interactive session re-derives every state from its signed ops and converges to one state hash on every machine.
runs /wai/pkg/wai_web.js
wai/wai-web/src/world.rs World model
replay-equivalencewai.world.model Drive a small integer world model with the arrow keys. Each keystroke is a signed action op; the action trace replays to one session hash. This demo's integer renderer also makes every frame byte-identical.
runs /wai/pkg/wai_web.js
wai/wai-web/src/int_world.rs Film
film-equivalencewai.film.linear A film generated from a world travels as that world, a camera track and a frame schedule. The tab re-derives each frame's identity; the pixels are the sink's own render.
runs /wai/pkg/wai_web.js
wai/wai-web/src/film.rs Volumetric
frame-state-equivalencewai.splat.4d A moving Gaussian cloud carried as per-Gaussian keyframed tracks, interpolated and re-hashed frame by frame in the fixed-point floor.
runs /wai/pkg/wai_web.js
wai/wai-web/src/splat4d.rs Avatar
pose-equivalencewai.avatar.pose A skeletal pose stream: bone transforms replay to one pose hash and skin a glTF mesh.
runs /wai/pkg/wai_web.js
wai/wai-web/src/avatar.rs Spatial audio
mixdown-equivalencewai.audio.scene Sound objects and a scene, mixed for a declared layout in the fixed-point floor. The mixdown is exact given the sources' decoded samples; this demo ships PCM sources.
runs /wai/pkg/wai_web.js
wai/wai-web/src/audio.rs Score
mixdown-equivalencewai.audio.score Music as note events, rendered to a canonical mixdown by a fixed-point synth; a soundfont is the sink's presentation.
runs /wai/pkg/wai_web.js
wai/wai-web/src/score.rs Haptics
sample-equivalencewai.haptic.signal Touch as a keyframed intensity and sharpness envelope, rebuilt to actuator samples that hash identically on every sink.
runs /wai/pkg/wai_web.js
wai/wai-web/src/haptic.rs State feeds
replay-equivalencewai.feed.state Typed state — a scoreboard, telemetry, a tape — carried as signed updates that converge to one hash whatever the arrival order.
runs /wai/pkg/wai_web.js
wai/wai-web/src/feed.rs Deterministic generation
generation-equivalencewai.generate.spectral A prompt and seed drive a fixed-point spectral synthesizer, so the same inputs produce the same image bytes on every machine.
runs /wai/pkg/wai_web.js
wai/wai-web/src/generate.rs Live and multi-party
Several tabs, one converged state, each op signed by the participant who made it.
A live room
every object against its receiptwai.live.room Join with a camera and microphone, or watch. The tab makes its own key and proves it to the relay; every received object is checked against its signed receipt, the layout comes from the room's signed record, and captions carry their origin.
The relay, the room service and the page's client are reference implementations in the open-standards repo; the session runs over a WebSocket connection.
runs /room/moq/pkg/wai_room_moq.js
video-room template The code: joule-code/joule-code-rs/crates/joule-moq-web/web/room Telepresence
convergencewai.avatar.pose (live) Two tabs sign skeletal ops over a WebSocket relay and converge on the same pose hash.
The relay is the reference world relay in the open-standards repo.
runs /wai/pkg/wai_web.js
wai/wai-web/src/avatar.rs Shared world
convergencewai.world.model (shared) Two tabs co-drive one world in a live room. Each keystroke is a signed action op on the tab's own world track, through the room's Media over QUIC relay; every object is checked against its receipt, and both tabs replay the merged ops to the same session hash.
The world engine, the room service, the relay and the room client are the reference implementation in the open-standards repo.
runs /wai/pkg/wai_web.js
joule-code/joule-code-rs/crates/joule-moq-web/web/world/world.js Delivery and receipts
What arrived, what ran, and what it cost, signed so a third party can check it.
Staged delivery
decode-equivalence per stagewai.video.int_refine A base first, refinement layers after, each fetched as its own binary object. The tab rebuilds every stage with WAI's own sink, checks each stage hash against the native reference, and shows a layer late, lost, out of order or in conflict: held layers apply once their predecessor arrives, and the base stays intact.
runs /wai/pkg/wai_web.js
wai/wai-web/src/stage.rs Staged measurement
the native tool's figures, byte for bytestaged-measurement + reconstruct-session A staged title's counted bytes, quality per prefix, first presentable bytes, layering overhead and deduplication, computed in the tab by the reference measurement code and equal byte for byte to the corpus's golden figures. A delivery simulator shows when a schedule holds its stall bound, and the page signs a session claim over what it presented.
The binding this page runs is built reproducibly from the standard at the commit the page names.
runs /measure/pkg/wai_measure.js
wai/wai-web/src/measure.rs Provenance
signed lineagewai.asset.provenance A signed, content-addressed lineage for content WAI does not rebuild. Each step's figure carries its acquisition class, and a step without a meter shows as not metered.
runs /wai/pkg/wai_web.js
verify-receipts template The code: wai/wai-web/src/provenance.rs Attested streaming session
manifest-equivalencewai.video.{manifest,ssai} A per-session manifest rendered as a function of the session class — ad breaks, blackouts and regional rules applied — and sealed in a receipt that binds the grant, the composition and the policy. The receipt signs the number of sessions the generation served, so the per-viewer figure is stated and attributable.
Part of the OTT workflow in the standard: manifest, ad insertion, key release, packaging and channel assembly.
runs /wai/pkg/wai_web.js
wai/wai-web/src/video_ott.rs WAI Quantum
Quantum computations carried as instructions and simulated classically in the tab, against simulated devices. The engines are reference code in the standard's repository; a capability marked (receipt kind) names a receipt the engine seals, not a registered capability. WAI Quantum's home, with every way to install it →
Each badge compares the hash computed in this tab with the hash the native reference implementation recorded for the same input. Some demos run fixtures from a published conformance corpus; others run fixtures made for the demo. Where a page labels a hash FNV-1a, it is a 64-bit checksum of the decoded bytes used for that comparison; signed receipts hash with BLAKE3.
The specification, reference implementation and corpora are Apache-2.0 in the open-standards repository. Where a card names a companion implementation, that code lives outside the repository and carries its own licence.