Files
settled-reach/docs/sprints/sprint-7/audio.md
T
jpmschweitzerandClaude Opus 4.6 8ec875385a docs(sprints): add Sprint 7: Talk briefings
Briefings for server, client, copy, audio, and joint teams.
Sprint goal: complete interaction UI layer and activate basic
dialogue system with NPC conversations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:51:57 +01:00

96 lines
4.7 KiB
Markdown

# Sprint 7: Talk — Audio Tasks
**Goal:** Complete interaction UI layer and activate basic dialogue system with NPC conversations.
**Branch:** `audio`
**Agents:** Inigo (sound design)
## Carry-over from Sprint 6
None — no Sprint 6 audio tickets.
## New Tickets
| # | Title | Blocked by |
|---|-------|------------|
| #440 | 6 interaction audio assets — cursor hover, weapon mode, fog recognition, implant, dialogue, confrontation dip | — |
Use `db/connectors/ticket show <id>` for full details.
## Key Decisions
- `decisions/perception.md` — D-056 (cursor states), D-059 (fog entity visualization), D-060 (cognitive delay), D-061 (dialogue box), D-063 (confrontation styling)
- `decisions/content.md` — D-048 (neural insert overlay)
## Notes
### #440: 6 interaction audio assets
**What exists:**
- Audio manager foundation (client, Sprint 3-4)
- D-018 three-range sound model
- Insert-styled UI aesthetic (D-048, D-056)
**What the ticket needs:**
- **6 audio assets** for new interaction states introduced in Sprint 6-7:
1. **Cursor hover (entity):** Subtle tick/ping when cursor transitions to entity hover state (D-056). Insert-tech sound — clean, precise, synthetic. ~50-100ms, quiet (background confirmation).
2. **Weapon mode (future):** Harder click/lock sound when cursor enters weapon aim state. Mechanical, deliberate. ~100-150ms. Deferred to future sprint (no weapon selection in Sprint 7), but design now for consistency.
3. **Fog recognition:** Soft chime when cognitive delay completes and entity transitions from grey blob → recognized (D-060). Organic resolve feeling — "ah, that's Kael". ~200-300ms, warm tone.
4. **Implant/Insert open:** Smooth hum/activation when insert UI opens (radial menu, inventory, stance toggle). Neural lattice powering up. ~150-250ms, rising tone.
5. **Dialogue start:** Quiet ambient dip when dialogue box appears (D-061). NOT a sound effect — an audio mix shift. Background audio reduces -6dB to -8dB, dialogue takes focus. Reverses when dialogue ends.
6. **Confrontation dip:** Deeper ambient dip when confrontation dialogue begins (D-063). Background audio reduces -10dB to -12dB, slight muffling (low-pass filter). Character's focus narrows — world recedes.
**Audio aesthetic:**
- Insert-related sounds (cursor, implant): synthetic, precise, clinical. Neural tech interface.
- Recognition sound: organic, warm. Human cognition, not machine beep.
- Ambient dips: subtle mix changes, not hard cuts. World doesn't disappear, just recedes.
**Integration points:**
- Client #429 (cursor states) triggers hover sound
- Client #431 (fog recognition) triggers recognition chime
- Client #433 (radial menu), #438 (inventory), #439 (stance toggle) trigger implant open sound
- Client #434 (dialogue box) triggers dialogue dip and confrontation dip
- Audio manager plays sounds via autoload (`AudioManager` singleton, if exists, or direct AudioStreamPlayer nodes)
**Gotchas:**
- Ambient dip is NOT a sound file — it's a mix parameter change (AudioBus volume adjustment in Godot)
- Confrontation dip uses low-pass filter (AudioEffectLowPassFilter on ambient bus) for muffling
- Recognition chime timing: fires DURING cognitive delay (monologue IS the recognition per D-060), not after
- All sounds should be non-intrusive — UI feedback, not foreground events
- Insert sounds reinforce diegetic nature of UI (cursor, radial menu, inventory are all insert-rendered)
**File format:**
- `.ogg` or `.wav` (Godot-compatible)
- Sample rate: 44.1kHz or 48kHz
- Mono for point-source sounds (cursor, recognition), stereo for ambient shifts (dialogue dip)
**Deliverables:**
- 5 audio files: `cursor_hover.ogg`, `weapon_aim.ogg`, `fog_recognition.ogg`, `implant_open.ogg`
- 1 implementation spec: `audio/docs/dialogue-ambient-dip.md` (how to configure AudioBus for dialogue and confrontation dips)
## Dependency Chain
```
#440 (6 audio assets) → standalone
```
## Sprint 7 Audio Load
Sprint 7 has **1 audio ticket** — 6 sound assets + 1 implementation spec. Estimated 8-12 hours (2-3 hours per asset design + iteration).
Asset priority order:
1. Cursor hover (most frequent, Sprint 7 critical)
2. Fog recognition (Sprint 7 critical, new mechanic)
3. Implant open (Sprint 7 critical, radial menu/inventory)
4. Dialogue dip (Sprint 7, dialogue box foundation)
5. Confrontation dip (Sprint 7, but low-frequency event)
6. Weapon aim (future sprint, design now for consistency)
If time is constrained, defer weapon aim sound to Sprint 8 or later.
## PR Workflow
When ready to submit, create a PR with `tea` CLI. All flags are required to avoid TTY prompts:
```bash
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(audio): 6 interaction audio assets" --description "See docs/sprints/sprint-7/audio.md" --base main --head audio
```