Isle-Slingers/js/audio/agents.md
Relay dff5dd5b30 Clean release scrub: remove internal fleet references
Removes internal process references so the repo is presentable to an
outside audience: dropped the internal build-retrospective doc
(process log with internal terms, not useful to an outside reader),
and reworded remaining internal references in code comments and
module docs (agents.md cards, architecture.md, MODULES.md,
index.html, package.json) to generic descriptions of what changed
and when, with no behavior change -- full 47/47 suite re-run green
after the scrub, every edit verified comment/doc-only via diff.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 14:36:52 +00:00

829 B

js/audio/ — agents.md

Part of the modularization pass. Module map: MODULES.md; runtime model: architecture.md.

Self-contained module. Exports ISLE_AUDIO = { AudioEngine }.

  • new AudioEngine() + .init() + .resume() + .setMuted(m) + .play(ev) where ev is an item from state.events ({type, strength, mat, ...}).
  • All sound is synthesized (oscillators + noise buffers); no assets, offline. Must degrade silently when AudioContext is undefined (the DOM-stub test asserts boot with AudioContext: undefined).
  • Event names are a contract with physics/damage + step ('launch','hit', 'break','crack','pop','crush','bird_ground','ability_*','bird_gone', 'level_won','level_lost','star','ui'). Adding an event type means adding its synth branch here (unknown types no-op — that is intentional).