"""Audio asset manifest: UI sound events and music tracks. Assets are committed under assets/ui and played by the browser at runtime (no model loads during play). They are authored once - by an open audio model at pre-bake time, or by the procedural synth fallback in ``synth.py``. """ from __future__ import annotations from ..constants import ASSETS_DIR SFX_DIR = ASSETS_DIR / "ui" / "sfx" MUSIC_DIR = ASSETS_DIR / "ui" / "music" # event name -> filename. Event names are referenced by the UI's JS audio shim. SFX_EVENTS: dict[str, str] = { "click": "click.wav", "select": "select.wav", "present": "present.wav", "accuse": "accuse.wav", "success": "success.wav", "fail": "fail.wav", "page": "page.wav", } MUSIC_TRACKS: tuple[str, ...] = ("ambient_theme.wav",)