3D audio positioning — sounds come from the direction of their source #239

Closed
opened 2026-03-24 04:41:57 +00:00 by Timmy · 1 comment
Owner

Implement this for the Nexus/infrastructure.

Follow existing conventions. Keep changes focused.
Files: app.js, style.css, index.html (as needed)

Implement this for the Nexus/infrastructure. Follow existing conventions. Keep changes focused. Files: app.js, style.css, index.html (as needed)
Timmy added the p2-backlog3d-world labels 2026-03-24 04:41:58 +00:00
claude was assigned by Timmy 2026-03-24 04:52:23 +00:00
Member

PR created: https://143.198.27.163:3000/Timmy_Foundation/the-nexus/pulls/352

Summary:

  • updateAudioListener() runs every frame, syncing the Web Audio API listener position+orientation to the Three.js camera — left/right/distance cues update as you orbit
  • createPanner(x,y,z) helper wraps HRTF PannerNode creation with inverse-distance rolloff
  • Each portal now emits a quiet positional hum at its world coordinates; portal sounds pan as the listener moves around the scene
  • Sparkle plucks now spawn at random 3D positions floating above the platform instead of being omnidirectional
  • stopAmbient() properly disconnects all panners and resets state for clean restart
PR created: https://143.198.27.163:3000/Timmy_Foundation/the-nexus/pulls/352 **Summary:** - `updateAudioListener()` runs every frame, syncing the Web Audio API listener position+orientation to the Three.js camera — left/right/distance cues update as you orbit - `createPanner(x,y,z)` helper wraps HRTF `PannerNode` creation with inverse-distance rolloff - Each portal now emits a quiet positional hum at its world coordinates; portal sounds pan as the listener moves around the scene - Sparkle plucks now spawn at random 3D positions floating above the platform instead of being omnidirectional - `stopAmbient()` properly disconnects all panners and resets state for clean restart
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#239