|
Игра: AudioSystem — позиционный звук мира, бой на событийной шине
- systems/AudioSystem.ts: playAt (затухание 1.5 степени + pan по экранному
смещению от слушателя), playStep (джиттер rate), attach (подписки combat:*),
setLayer (локальный амбиент, тик-фейд через новый MusicHandle.setVolume)
- CombatWorld освобождён от deps.audio: 5 play-вызовов -> события
(новое combat:spit {pos}, combat:awake дополнен pos) — симуляция снова чистая
- combat:playerHit -> sfx/hurt подпиской; sink интерактивов через playAt
- MusicHandle.setVolume в движке (cancel+setValueAtTime — без борьбы с ramp)
- 11 тестов AudioSystem; agent:check зелёный
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
|---|
|
|
| apps/game/src/scenes/LocationScene.ts |
|---|
| apps/game/src/systems/AudioSystem.ts 0 → 100644 |
|---|
| apps/game/src/systems/__tests__/AudioSystem.test.ts 0 → 100644 |
|---|
| apps/game/src/systems/combat/CombatWorld.ts |
|---|
| apps/game/src/testing/combatWorld.ts |
|---|
| docs/engine/assets-audio-save.md |
|---|
| packages/engine/src/audio/AudioManager.ts |
|---|
| packages/engine/src/audio/__tests__/AudioManager.test.ts |
|---|