Spatial audio.
The sink makes the mix.
A wai.audio.scene carries sound objects — each a content-addressed source
plus a position trajectory — not a baked stereo mix. Your device renders them to a mix with the
same deterministic Rust engine (compiled to WASM) that generated the conformance corpus, then
checks the BLAKE3 of its PCM against the corpus's expected hash: mixdown-equivalence, the
audio counterpart of replay-equivalence. Press play and watch the radar — you hear the object pan
because your sink mixed it, not because a server sent a stereo file.
Objects, not a mix
Today's audio ships a fixed channel mix. A wai.audio.scene ships the sound
objects + where they are; the sink renders the mix it can actually play — stereo here, 5.1
or binaural/HRTF on a capable sink. Lever 3 for hearing.
Mixdown-equivalence
The mix is bit-exact: the wai.det.fixed64 floor, a sqrt-only constant-power pan,
integer quantization — no floats touch it. So the mixdown hash in the HUD equals the one in
audio-conformance/expected_hashes.json, on any machine. Replay-equivalence with
the tick replaced by the audio sample.
A world whose sim is a mixer
This reuses the interactive-worlds machinery wholesale — the fixed-point floor, content-addressed sources, the section container, the conformance corpus. A spatial-audio scene is a world; its physics is a mixdown. Same standard, a second sense.
wai.audio.* objects (the corpus ships them as PCM, so the demo
isolates the mixdown). Reference engine + conformance corpus in the open-standards repo;
Apache-2.0.