- Ped speech plays: speech manager -> library -> the living world's two streams, with queue / interrupts and the
near / far lines by distance; levels and filters from the retail mechanism (filters equal to the recomp's, gain
median within 0.5 %). Silent and logged when the opt-in speech decode is absent.
- NPC skater: wheels and clothing on its own instance and a bail grunt; tricks, treatment and footsteps stay off for
NPCs as in retail.
- Per-model ped data (shoe class, voice, far threshold) and traffic engine records per model exported by setup;
traffic relative-speed input and front / rear sound points; world hosts process before the mixer tick.
- Test mod: opt-in (off by default), higher world-object limits (48 per mod, 128 total), a per-second summary log.
- Specs published in docs/hails-additions/audio-specs/; code comments point at them; test data paths behind env vars
(no .local defaults).
Native port of Skate 3's retail audio runtime (AEMS) behind SKATE_AEMS=1, plus the world audio work:
- skate-audio crate: formats, patch-program evaluator, voice graph, mixer, MixMap, granular rolling bed and its
bus chain, Splice contacts, the buses (env reverb network, eEQChain, flanger returns, collision and footstep
submixes, reverb zones) and the player components (rolling layers, seams on the console's 30 fps cadence,
grinds, skids, squeaks, tricks, treatment, footsteps, clothing, hands on deck, wind, wheels, collision manager).
- game_audio host: native runtime, player audio state from our physics, world emitters from the maps' .ems files,
random distant one-shots, zone ambience, state log, e2e render harness, timing.
- Setup: audio export of the banks, grains, MixMap, vault tuning and reverb zones.
- skate-core: per-wheel / per-part audio surfaces and seam patterns (additive).
- Docs: docs/hails-additions/11-audio.md and the PR plan.
Roster work paths under deep checkouts exceed MAX_PATH (260), leaving
pro skaters unavailable. If LongPathsEnabled is off, setup asks once for
elevation to enable it and relaunches itself, since Windows reads the
setting at process start. Declining keeps the previous behaviour.
See docs/hails-additions/02-long-paths.md.