Haptics.
The sink makes the buzz.
A wai.haptic.signal carries a keyframed intensity / sharpness envelope,
not a recorded waveform. Your device reconstructs the per-sample signal with the same deterministic Rust
engine (compiled to WASM) that made the conformance corpus, and checks its BLAKE3 against the
corpus's expected hash: sample-equivalence, touch's counterpart of replay-equivalence.
Press play — if a gamepad is connected you'll feel it; otherwise watch the envelope.
Touch as instructions
An effect is a keyframed envelope. The sink is a computer: it reconstructs the signal and drives whatever actuators it has, such as a gamepad rumble or a phone's vibration motor.
Sample-equivalence
Reconstruction is bit-exact: the wai.det.fixed64 floor, linear interpolation,
integer quantization — and trig-free by construction (intensity + sharpness, not a
modulated carrier), so the floor needs only + − × ÷. The hash in the HUD equals
the one in haptic-conformance/expected_hashes.json, on any machine.
One fixed-point floor
Worlds, spatial audio, haptics, state feeds and avatars each define an equivalence over integer state, checked against a published conformance corpus (for a sound scene, given its sources' decoded samples).
Read the haptics extension text on this site.