--- title: "Sprint 8 — Audio Briefing" description: "Interaction audio assets carry-over — remaining 2 of 6 assets" type: sprint status: archived sprint: 8 team: "audio" --- # Sprint 8: React — Audio Tasks **Goal:** Activate the dialogue pipeline end-to-end — player talks to NPCs, NPCs respond, the world reacts. **Branch:** `audio` **Agents:** Inigo (sound design) ## Carry-over from Sprint 7 | # | Title | Status | Notes | |---|-------|--------|-------| | #440 | 6 interaction audio assets — cursor hover, weapon aim, etc. | in_progress | 4/6 assets delivered, 2 remaining | ## New Tickets None for Sprint 8. Focus on completing carry-over #440. Use `db/connectors/ticket show ` for full details. ## Key Decisions - `decisions/scope.md` — D-038 (audio in v0.1 scope: 8 files via Stable Audio Open) - `decisions/perception.md` — D-018 (three-range sound model) - `decisions/content.md` — D-063 (confrontation weight via audio dip) ## Notes ### #440: 6 interaction audio assets (MEDIUM, carry-over) **What exists:** - 4/6 assets delivered in Sprint 7: - `sfx_cursor_hover.ogg` — soft tick on entity hover - `sfx_cursor_entity_lock.ogg` — short pulse when locking to entity - `sfx_interaction_confirm.ogg` — gentle chime on [E] press - `sfx_weapon_aim_enter.ogg` — tense metallic slide when entering aim mode **What the ticket needs to deliver (2 remaining assets):** - `sfx_weapon_aim_lock.ogg` — sharper variant of cursor_entity_lock for weapon targeting. Distinct from general entity lock — should feel more clinical/dangerous. 0.3-0.5s. Weapon-selected + entity in sights = this sound plays. - `sfx_stance_change.ogg` — soft mechanical click for stance toggle (Walk ↔ Sprint ↔ Careful ↔ Crouch). Subtle, not intrusive. Neural insert feedback aesthetic (D-048). 0.2-0.4s. Plays on every stance change (Shift/Ctrl toggle). **Integration:** - Both assets use Stable Audio Open (per D-038: self-hosted, free commercial use) - Client integration: audio events emitted by cursor_state_machine.gd (weapon_aim_lock) and stance_indicator.gd (stance_change) - Audio autoload (SoundManager) handles playback **Non-obvious gotchas:** - weapon_aim_lock should NOT be loud or startling — it's UI feedback, not a combat sound. Think "confirmation beep" not "alarm." - stance_change fires frequently (player may toggle stances multiple times while positioning). Keep it short and pleasant — no long tails or reverb. - Both sounds are UI/insert layer (z-layer 7), not diegetic world sounds. They don't spatialize or attenuate with distance. **Sprint goal:** Deliver final 2 assets. Audio team unblocked after this — no new audio tickets planned for Sprint 9 unless design requests. ## Dependency Chain ``` #440 (interaction audio) → standalone, completes Sprint 7 audio scope ``` ## PR Workflow When ready to submit, create a PR with `tea` CLI. **All flags are required** to avoid TTY prompts (see CLAUDE.md "Gitea access" section): ```bash tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(audio): interaction audio completion (Sprint 8)" --description "Delivers final 2/6 interaction audio assets (#440) — weapon aim lock, stance change" --base main --head audio ```