# Spatial-Audio Conformance Corpus Vectors for the spatial-audio extension's **mixdown-equivalence** criterion: given the same `wai.audio.scene` and the same declared output layout, a conforming sink MUST produce the identical canonical PCM, hence the identical BLAKE3 — on every machine, no tolerance parameter. The audio counterpart of replay-equivalence. All vectors mix to the mandatory `stereo` floor under the `wai.det.fixed64` numeric profile, `wai.audio.pan.sqrt_constpower` pan, `wai.audio.dist.inverse_clamped` distance. Sources are deterministic synthetic tones (no clock, no entropy); in a real sink they'd be decoded `wai.audio.*` assets — the corpus provides the decoded mono PCM so each vector isolates the one new thing, the deterministic mixdown. ## Layout - `vectors/.wscn` — the scene container (contract + object table + asset table). - `vectors/.sources.bin` — the decoded mono sources: `n u32 | n × (hash[32], len u32, i16le[len])`, sources in hash order. - `expected_hashes.json` — per scene: `scene_hash`, `layout`, and the expected `mixdown_hash`. Vectors: - `stereo_pair` — two static sources, hard-left + hard-right. - `distance` — one source placed near vs. far (inverse-clamped atten). - `moving` — a source whose keyframed trajectory sweeps left→right. ## Running ``` cd ../wai-rs cargo run --features audio_scene --bin wai_audio_vectors -- verify ../audio-conformance cargo run --features audio_scene --bin wai_audio_vectors -- gen ../audio-conformance # regenerate ``` Pass = hash equality. A failed vector is a conformance failure of the file or the sink — report it failed, never approximately right.