Files
settled-reach/docs/sprints/sprint-9/audio.md
T
jpmschweitzerandClaude Opus 4.6 bccdcfcdcb docs(docs): add frontmatter to all sprint briefings
Standardized YAML frontmatter on all 115 sprint briefing files across
sprints 1-26 with title, description, type, status, sprint number, and
team fields.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 00:15:45 +01:00

5.2 KiB

title, description, type, status, sprint, team
title description type status sprint team
Sprint 9 — Audio Briefing Interaction audio assets completion, Sprint 7 UI audio asset revision sprint archived 9 audio

Sprint 9: Gauntlet — Audio Tasks

Goal: Build the test infrastructure backbone — test client binary, Gauntlet rooms 1-3, golden file suite, and client QA harness — so every future sprint can be validated end-to-end.

Branch: audio Agents: Inigo (sound design)

Carry-over from Sprint 8

# Title Status Notes
#440 6 interaction audio assets — cursor hover, weapon mode, fog recognition, implant, dialogue, confrontation dip in_progress In progress with Inigo. Highest priority — complete before starting #453.

New Tickets

# Title Blocked by
#453 Revisit Sprint 7 UI audio assets — trim to target durations and iterate — (after #440)

Key Decisions

  • decisions/architecture.md — D-068 (5-bus audio architecture: Music, Ambient, WorldSFX, PlayerActions, UISounds; AudioManager directory-scan registry)
  • decisions/architecture.md — D-073 (zone crossfade: hard tile boundary, 1.5-2s audio tween; AudioManager.set_zone() stub exists in client/scripts/autoloads/audio_manager.gd)
  • decisions/scope.md — D-038 (hybrid audio generation: SAO for >200ms organic sounds, manual synthesis for <200ms precise/digital UI sounds; insert-tech vs organic split from D-074)
  • decisions/perception.md — D-069 (audio dip profiles: dialogue -7dB Ambient; confrontation -11dB Ambient + -5dB WorldSFX + 800Hz low-pass; dip tweens already implemented in AudioManager)

Notes

#440 — 6 interaction audio assets

What exists: client/scripts/autoloads/audio_manager.gd is fully implemented (D-068, D-069, D-073). It uses a directory-scan registry: drop an .ogg, .wav, or .mp3 file into res://audio/ and it auto-registers by filename stem. No code changes needed to add assets — audio branch can add files independently of client code.

The 5-bus routing is live: UISounds bus handles cursor hover and interaction feedback; Ambient and WorldSFX buses are handled by the dialogue/confrontation dip profiles. apply_dip("confrontation") and apply_dip("dialogue") are implemented.

What to deliver: 6 audio files committed to the audio branch under res://audio/:

  1. sfx_cursor_hover.ogg — subtle UI feedback for cursor landing on an interactable entity. Short (<200ms), precise. Manual synthesis (insert-tech aesthetic per D-074).
  2. sfx_weapon_mode.ogg — stance shift or mode toggle cue. Digital, clean. Manual synthesis.
  3. sfx_fog_recognition.ogg — "neural ping" as a previously-unseen entity resolves from grey blob to full color (D-060 cognitive delay completion). Crystalline, directional feel. SAO or manual synthesis.
  4. sfx_implant_open.ogg — insert/HUD open event. Diegetic tech sound. SAO for organic texture if >200ms; manual for shorter.
  5. sfx_dialogue_start.ogg — conversation initiates. Subtle, not jarring — dialogue already has the -7dB Ambient dip cue. Avoid competing with voice/text readability.
  6. sfx_confrontation_dip.ogg — confrontation audio dip accompaniment. This fires when apply_dip("confrontation") is called. Should feel like the world narrows — compressed, focused. Plays on UISounds bus.

Gotcha: The AudioManager calls play() with the asset filename stem as the key. Asset key must match exactly — e.g., file sfx_cursor_hover.ogg is called with AudioManager.play("sfx_cursor_hover"). Verify stems before committing.

Duration targets: all 6 are UI sounds (UISounds bus) — keep under 1.0s. Dialogue and confrontation sounds should be especially short to avoid competing with text display timing.

#453 — Revisit Sprint 7 UI audio assets — trim to target durations and iterate

What exists: Sprint 7 UI audio assets exist in the audio branch under res://audio/. They were produced as initial placeholders. Team feedback (Tyre, Gestalt) flagged that some assets exceed target durations or don't fit the insert-tech vs organic aesthetic split from D-074.

What to deliver: Review each Sprint 7 UI asset against the D-038 / D-074 standards:

  • sfx_monologue_chime.ogg — target 0.5-1.0s, crystalline/neural-lattice feel. Re-synthesize if duration or tone is off.
  • sfx_monologue_chime_urgent.ogg — sharper variant, same duration range. Must feel distinctly more urgent than the base chime.
  • Any other Sprint 7 UI assets — check stems against AudioManager registry, confirm routing to correct bus.

Output: revised assets committed to audio branch, replacing the originals. Note which files changed and why in the PR description. If an asset is acceptable as-is, note that too.

Dependency Chain

#440 (6 interaction audio assets) — in progress, complete first
    -> #453 (Sprint 7 asset revision, start after #440 is done)

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):

tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(audio): sprint 9 gauntlet — interaction SFX pack and Sprint 7 asset revisions" --description "body" --base main --head audio