space-game/public
Michael Mainguy dfec655b6c
All checks were successful
Build / build (push) Successful in 1m20s
Fix explosion sound by migrating to AudioEngineV2 spatial audio API
Root cause: The old Sound API (new Sound()) is incompatible with
AudioEngineV2 in BabylonJS 8.32.0, causing silent failures where the
explosion.mp3 file was never fetched from the network.

Audio System Fixes:
- Migrate explosion sound from Sound class to AudioEngineV2.createSoundAsync()
- Use StaticSound with spatial property instead of old Sound API
- Configure audio engine with listenerEnabled and listenerAutoUpdate
- Attach audio listener to camera for proper 3D positioning

Spatial Audio Implementation:
- Use spatialEnabled: true with spatial-prefixed properties
- Attach sound to explosion node using sound.spatial.attach()
- Properly detach and cleanup after explosion finishes (850ms)
- Configure exponential distance model with 500 unit max distance

Technical Changes:
- Replace new Sound() with await audioEngine.createSoundAsync()
- Change _explosionSound type from Sound to StaticSound
- Update imports: Sound → StaticSound
- Use sound.spatial.attach(node) instead of attachToMesh()
- Use sound.spatial.detach() for cleanup
- Remove incompatible getVolume() calls

Audio Engine Configuration:
- Add CreateAudioEngineAsync options for spatial audio support
- Attach listener to camera after unlock in both level flows
- Enable listener auto-update for VR camera movement tracking

This fixes the explosion sound loading and enables proper 3D spatial
audio with distance attenuation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 16:05:40 -06:00
..
assets/themes/default Fix explosion sound by migrating to AudioEngineV2 spatial audio API 2025-11-09 16:05:40 -06:00
immersive Add local controller profiles and disable online repository 2025-11-07 11:31:13 -06:00
planetTextures Optimize WebXR performance and add procedural planet generation 2025-10-28 11:50:18 -05:00
systems Add JSON-based level editor with localStorage persistence 2025-10-29 08:24:55 -05:00
8192.webp Initial Commit 2025-02-15 11:19:24 -06:00
asteroid4.glb Update gameplay mechanics, asteroid model, and star base physics 2025-11-03 12:26:25 -06:00
background.mp3 Initial Commit 2025-02-15 11:19:24 -06:00
flare.png Initial Commit 2025-02-15 11:19:24 -06:00
shot2.mp3 Started cleaning up audio, rendering artifacts. 2025-02-16 16:44:18 -06:00
shot.mp3 Started cleaning up audio, rendering artifacts. 2025-02-16 16:44:18 -06:00
song1.mp3 Migrate to AudioEngineV2 and fix Meta Quest 2 controller detection 2025-10-17 13:59:48 -05:00
styles.css Add minimal test level with performance metrics and extensive debug logging 2025-10-30 16:33:45 -05:00
thrust2.mp3 Initial Commit 2025-02-15 11:19:24 -06:00
thrust3.mp3 Started cleaning up audio, rendering artifacts. 2025-02-16 16:44:18 -06:00
thrust4.mp3 Started cleaning up audio, rendering artifacts. 2025-02-16 16:44:18 -06:00
thrust5.mp3 Started cleaning up audio, rendering artifacts. 2025-02-16 16:44:18 -06:00
thrust.mp3 Initial Commit 2025-02-15 11:19:24 -06:00
thust2.mp3 Initial Commit 2025-02-15 11:19:24 -06:00
yehrat.mp3 Initial Commit 2025-02-15 11:19:24 -06:00