From ac86c8a72b1edebb232dd13b670f0239044fdf2b Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 16 Feb 2026 01:03:02 +0100 Subject: [PATCH 1/8] docs(decisions): record audio discussion outcomes D-067 through D-074 Recognition chime timing (D-067), 5-bus audio architecture (D-068), audio dip profiles (D-069), confrontation as cognitive vulnerability (D-070), monologue chime placeholder strategy (D-071), universal conversation murmur (D-072), zone crossfade (D-073), hybrid audio generation (D-074). Amends D-038 scope, resolves Q-014. Co-Authored-By: Claude Opus 4.6 --- .../skills/{asset-gen => gen-image}/SKILL.md | 0 .../references/category-templates.md | 0 .../references/dds-conversion.md | 0 .../references/style-guide.md | 0 decisions/README.md | 6 +- decisions/architecture.md | 34 +++++++++- decisions/content.md | 20 +++++- decisions/perception.md | 67 ++++++++++++++++++- decisions/questions.md | 7 +- decisions/scope.md | 7 +- 10 files changed, 126 insertions(+), 15 deletions(-) rename .claude/skills/{asset-gen => gen-image}/SKILL.md (100%) rename .claude/skills/{asset-gen => gen-image}/references/category-templates.md (100%) rename .claude/skills/{asset-gen => gen-image}/references/dds-conversion.md (100%) rename .claude/skills/{asset-gen => gen-image}/references/style-guide.md (100%) diff --git a/.claude/skills/asset-gen/SKILL.md b/.claude/skills/gen-image/SKILL.md similarity index 100% rename from .claude/skills/asset-gen/SKILL.md rename to .claude/skills/gen-image/SKILL.md diff --git a/.claude/skills/asset-gen/references/category-templates.md b/.claude/skills/gen-image/references/category-templates.md similarity index 100% rename from .claude/skills/asset-gen/references/category-templates.md rename to .claude/skills/gen-image/references/category-templates.md diff --git a/.claude/skills/asset-gen/references/dds-conversion.md b/.claude/skills/gen-image/references/dds-conversion.md similarity index 100% rename from .claude/skills/asset-gen/references/dds-conversion.md rename to .claude/skills/gen-image/references/dds-conversion.md diff --git a/.claude/skills/asset-gen/references/style-guide.md b/.claude/skills/gen-image/references/style-guide.md similarity index 100% rename from .claude/skills/asset-gen/references/style-guide.md rename to .claude/skills/gen-image/references/style-guide.md diff --git a/decisions/README.md b/decisions/README.md index aab0c6f15..2572a0042 100644 --- a/decisions/README.md +++ b/decisions/README.md @@ -10,9 +10,9 @@ Cross-domain decisions live in one file with cross-reference notes in related fi | File | Domain | Decisions | |------|--------|-----------| -| [architecture.md](architecture.md) | Technical foundation | D-008, D-009, D-010, D-012, D-020, D-026, D-030, D-031, D-041, D-042, D-054, D-055, D-066 | -| [perception.md](perception.md) | Player observation | D-011, D-015, D-016, D-017, D-018, D-019, D-033, D-035, D-043, D-044, D-045, D-046, D-047, D-048, D-049, D-052, D-056, D-057, D-058, D-059, D-060, D-061 | -| [content.md](content.md) | NPC, dialogue, templates | D-023, D-024, D-025, D-028, D-029, D-032, D-034, D-035, D-036, D-037, D-050, D-062, D-063, D-064 | +| [architecture.md](architecture.md) | Technical foundation | D-008, D-009, D-010, D-012, D-020, D-026, D-030, D-031, D-041, D-042, D-054, D-055, D-066, D-068, D-073 | +| [perception.md](perception.md) | Player observation | D-011, D-015, D-016, D-017, D-018, D-019, D-033, D-035, D-043, D-044, D-045, D-046, D-047, D-048, D-049, D-052, D-056, D-057, D-058, D-059, D-060, D-061, D-067, D-069, D-070, D-071, D-072 | +| [content.md](content.md) | NPC, dialogue, templates | D-023, D-024, D-025, D-028, D-029, D-032, D-034, D-035, D-036, D-037, D-050, D-062, D-063, D-064, D-074 | | [scope.md](scope.md) | Game concept, prototype | D-001, D-003, D-005, D-006, D-007, D-013, D-014, D-027, D-038, D-039, D-051, D-053, D-065 | | [process.md](process.md) | Team, workflow | D-004, D-021, D-022, D-040 | | [questions.md](questions.md) | Open questions | Q-001 through Q-026 | diff --git a/decisions/architecture.md b/decisions/architecture.md index 8ebb9f936..99add8d4a 100644 --- a/decisions/architecture.md +++ b/decisions/architecture.md @@ -1,6 +1,6 @@ # Architecture Decisions -Technical foundation decisions that constrain implementation: engine, client-server, ECS, simulation, testability, performance budgets. +Technical foundation decisions that constrain implementation: engine, client-server, ECS, simulation, testability, performance budgets, audio architecture. --- @@ -178,6 +178,36 @@ Technical foundation decisions that constrain implementation: engine, client-ser - **Raised by:** Team Leader (Jeroen) — proposed retina scaling analogy and 2x2 geometry constraint. Tyre (feasibility: trivial, half-day integration). Gestalt (approved with 2x2 constraint resolving LOS readability concern). Ozzie (approved: solves sprite scale without uncanny mismatch). - **Dissent:** Gestalt initially objected to dual-scale (mental model mismatch for cover/LOS). Resolved by the 2x2 geometry minimum constraint — all cover maps 1:1 at visual scale. +### D-068: 5-bus audio architecture +- **Date:** 2026-02-16 +- **Decision:** Audio uses a 5-bus architecture with player-facing volume sliders: + 1. **Music** — future/empty in v0.1. Reserved for diegetic Meridian music in social spaces. + 2. **Ambient** — station hum ([D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open) asset 1) + zone overlays (assets 2-4). Continuous soundscape. + 3. **World SFX** — NPC footsteps, doors, environmental events. Diegetic world sounds not caused by player. + 4. **Player Actions** — player footsteps (assets 5-6), future: combat sounds, item interactions. Sounds player directly causes. + 5. **UI Sounds** — cursor hover, implant open, monologue chimes (assets 7-8), fog recognition. Interface feedback. +- **Client implementation:** + - AudioManager GDScript autoload singleton on client branch (lives with rendering, per [D-020](#d-020-engine-and-architecture-selection--godot-client--rust-simulation-via-subprocessipc)). + - Audio assets committed to audio branch (content, not code). + - Directory-scan registry pattern: AudioManager scans `res://audio/` on startup, maps filenames to AudioStream resources. No hardcoded asset list. + - If directory empty or asset missing, all play methods no-op with visual fallback (per [D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open) architecture). + - 5 player-facing volume sliders, one per bus. Accessible via settings. +- **Bus routing dropped:** + - **Dialogue bus removed** — no voice acting in v0.1. NPC conversation murmur goes on World SFX (event-driven, per [D-072](perception.md#d-072-universal-event-driven-conversation-murmur)). +- **Rationale:** 5 buses provide player control granularity (disable UI sounds, boost World SFX for eavesdropping, mute Ambient for focus) without over-segmentation. Directory-scan registry eliminates hardcoded asset paths — audio branch can add files without touching client code. No-op fallback means client works identically with or without audio. +- **Cross-reference:** Audio assets ([D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open)), audio dip ([D-069](perception.md#d-069-audio-dip-profiles-for-dialogue-and-confrontation)), client-server architecture ([D-020](#d-020-engine-and-architecture-selection--godot-client--rust-simulation-via-subprocessipc)) +- **Raised by:** Team Leader (channel split directive), Tyre (architecture), Inigo and Gestalt (bus refinement) +- **Dissent:** None + +### D-073: Zone crossfade approach — hard boundary, soft audio transition +- **Date:** 2026-02-16 +- **Decision:** Zone audio transitions use hard tile boundary triggers with 1.5-2s audio crossfade tweens. Server sends zone_id per tile in ObserverSnapshot (server-authoritative zone assignment). AudioManager receives zone changes and tweens between ambient layers. No blended overlap zones — the transition smoothness comes from audio fade duration, not spatial blending. +- **Implementation:** AudioManager stub in Sprint 7 (5-bus setup, directory registry). Full zone crossfade implementation deferred to Sprint 8+. +- **Rationale:** Hard boundaries with soft audio = predictable for simulation, pleasant for player. Avoids complex overlap zone geometry. Crossfade duration (1.5-2s) is long enough to feel smooth, short enough that walking back-and-forth across boundary doesn't create audio chaos. +- **Cross-reference:** Audio architecture ([D-068](#d-068-5-bus-audio-architecture)), client-server ([D-020](#d-020-engine-and-architecture-selection--godot-client--rust-simulation-via-subprocessipc)), ambient assets ([D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open)) +- **Raised by:** Tyre +- **Dissent:** None + --- -*13 decisions. Last updated: 2026-02-14* +*16 decisions. Last updated: 2026-02-16* diff --git a/decisions/content.md b/decisions/content.md index 40d6df98d..522e57817 100644 --- a/decisions/content.md +++ b/decisions/content.md @@ -1,6 +1,6 @@ # Content Decisions -How narrative, NPCs, and world content are created: content tiers, NPC generation, templates, dialogue, population. +How narrative, NPCs, and world content are created: content tiers, NPC generation, templates, dialogue, population, audio aesthetic identity. --- @@ -142,6 +142,22 @@ How narrative, NPCs, and world content are created: content tiers, NPC generatio - **Raised by:** Paula (three phases + KG recording), Stig (WASD mechanic + 300ms fade), Ozzie (consequences), Nigel (tolerance per seed) - **Dissent:** None. +### D-074: Audio aesthetic identity — insert-tech vs organic +- **Date:** 2026-02-16 +- **Decision:** Audio design uses two sonic families with distinct aesthetic identities: + - **Insert-tech sounds:** Synthetic, precise, clinical, no reverb. Monologue chimes ([D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open) assets 7-8), UI feedback, future: lattice interface sounds, biometric scan confirmations. Represents neural lattice interface — artificial, computational, clinical. + - **Organic sounds:** Warm, breathy, natural decay, environmental reverb. Footsteps, ambient layers, NPC movement, environmental events. Represents human cognition and physical reality — warm, imperfect, lived-in. +- **Thematic mapping:** Insert-tech = neural lattice (computational precision, trustworthy but inhuman). Organic = human cognition and environment (warm, ambiguous, interpretive). Maps to [D-018](perception.md#d-018-three-range-sound-model) trust model: close/organic sounds = reliable, long-range/insert sounds = potentially compromised. +- **Station palette — "functional warmth":** + - Low-freq foundation (60-120Hz): station hum, span gate vibration, machinery drone. + - Mid-freq texture (200-800Hz): footsteps, object handling, conversation murmur. + - High-freq detail (2-8kHz, sparse): scanner pings, metal impacts, environmental detail. + - No harsh frequencies, no industrial brutality. The station is SETTLED — lived-in, maintained, comfortable enough to be complacent. +- **Environmental neutrality per [D-045](perception.md#d-045-art-direction--environmental-neutrality-strict-zero-shift):** Ambient audio does NOT shift with narrative state. Same station hum before and after conspiracy discovery. No music stingers for investigation progress. Emotional weight comes from monologue and player knowledge, not audio cues. +- **Cross-reference:** Audio assets ([D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open)), sound model ([D-018](perception.md#d-018-three-range-sound-model)), environmental neutrality ([D-045](perception.md#d-045-art-direction--environmental-neutrality-strict-zero-shift)), setting ([D-036](#d-036-sova-transit-district--krenn-system-as-v01-setting)) +- **Raised by:** Inigo (insert-tech/organic split), Paula (cognitive architecture framing and trust model connection) +- **Dissent:** None + --- -*14 decisions. Last updated: 2026-02-13* +*15 decisions. Last updated: 2026-02-16* diff --git a/decisions/perception.md b/decisions/perception.md index 847c41072..965e4b907 100644 --- a/decisions/perception.md +++ b/decisions/perception.md @@ -1,6 +1,6 @@ # Perception Decisions -How the player observes and interacts with the world: camera, fog, line-of-sight, sound, monologue, perception modes. +How the player observes and interacts with the world: camera, fog, line-of-sight, sound, monologue, perception modes, audio dip profiles, cognitive delays. --- @@ -273,6 +273,69 @@ How the player observes and interacts with the world: camera, fog, line-of-sight - **Raised by:** Stig (UI spec + no portraits), Lead (20% height constraint + max-width directive) - **Dissent:** Stig initially proposed 25% height and 50% width centered. Lead constrained to 20% height and max-width. +### D-067: Recognition chime fires at onset of cognitive delay +- **Date:** 2026-02-16 +- **Decision:** The monologue recognition chime ([D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open) assets 7-8) fires at the ONSET of the cognitive delay ([D-060](#d-060-cognitive-delay-for-fog-recognition)), not at its completion. Chime duration 300-400ms, overlapping with the start of the delay. The chime is "unresolved" — it opens a question, doesn't answer one. Full sequence when recognizing an entity in fog: (1) hear/sense something → (2) chime plays → (3) 0.6s cognitive delay begins (concurrent with chime tail) → (4) monologue text appears during delay ("Those footsteps... that's Kael's walk") → (5) blob transitions to [D-033](#d-033-entity-color--relationship-to-player) color + silhouette feature → (6) recognition complete. +- **Rationale:** The chime marks the character's attention shifting, not the recognition completing. It creates an "unresolved" sensation — something is happening in the character's mind. Monologue text provides the resolution. This prevents the chime from feeling like a UI notification and instead makes it part of the character's cognitive process. +- **Resolves:** Q-014 +- **Cross-reference:** Audio assets ([D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open)), cognitive delay ([D-060](#d-060-cognitive-delay-for-fog-recognition)), fog recognition ([D-059](#d-059-fog--shader-based-five-layers-knowledge-graph-driven)), monologue ([D-016](#d-016-internal-monologue-as-core-perceptionatmosphere-system)) +- **Raised by:** Gestalt (proposal), confirmed by Team Leader (Jeroen) +- **Dissent:** None + +### D-069: Audio dip profiles for dialogue and confrontation +- **Date:** 2026-02-16 +- **Decision:** Three audio dip profiles modify bus volumes during player focus states, all relative to player slider settings (proportional, not absolute): + - **Dialogue dip:** Ambient -6 to -8dB, World SFX 0dB, Player Actions 0dB, UI 0dB. 300ms ease-in, 500ms ease-out. Reduces environmental noise to foreground conversation without muting world events. + - **Confrontation dip:** Ambient -10 to -12dB + low-pass filter (20kHz → 800Hz), World SFX -4 to -6dB (graduated — loud events like sprinting footsteps break through, quiet sneaking doesn't), Player Actions 0dB, UI 0dB. 500ms ease-in, 1000ms ease-out with filter sweep. Creates emotional/cognitive muffling per [D-070](#d-070-confrontation-as-cognitive-vulnerability). + - **ListeningFocus boost:** World SFX +2 to +3dB when player is stationary for 30+ ticks (eavesdrop bonus, per [D-071](#d-071-no-ambient-dip-for-eavesdropping--listeningfocus-boost)). Expresses heightened attention as audio gain. +- **Key behaviors:** + - All dB values are proportional to player slider setting, not absolute. If player sets World SFX to 50%, the -6dB dip applies to that 50% base. + - Dips are interruptible — walk-away or stance change kills current tween, starts new tween to neutral. + - Graduated World SFX dip during confrontation: loud, urgent events (sprinting, doors slamming, alarms) break through at reduced volume. Quiet, careful movement may not be noticed. +- **Rationale:** Dips model finite attention. Dialogue suppresses ambient noise (focus on conversation). Confrontation suppresses both ambient and peripheral sounds (emotional tunnel vision per [D-070](#d-070-confrontation-as-cognitive-vulnerability)). ListeningFocus boost rewards deliberate eavesdropping. All effects proportional to user volume settings respects player accessibility choices. +- **Cross-reference:** Audio architecture ([D-068](architecture.md#d-068-5-bus-audio-architecture)), confrontation vulnerability ([D-070](#d-070-confrontation-as-cognitive-vulnerability)), eavesdropping ([D-071](#d-071-no-ambient-dip-for-eavesdropping--listeningfocus-boost)), audio aesthetic ([D-074](content.md#d-074-audio-aesthetic-identity--insert-tech-vs-organic)) +- **Raised by:** Inigo (initial spec), Gestalt (graduated approach + ListeningFocus boost), Tyre (implementation details), Ozzie (proportional dip to respect player settings) +- **Dissent:** None + +### D-070: Confrontation as cognitive vulnerability +- **Date:** 2026-02-16 +- **Decision:** Confrontation creates perceptual vulnerability through reduced ambient awareness. Design principle: "Emotional focus creates perceptual vulnerability." Player actions requiring cognitive focus (confrontation dialogue, future: deep terminal reading, complex insert queries) mechanically reduce ambient perception via audio dip ([D-069](#d-069-audio-dip-profiles-for-dialogue-and-confrontation)) and may suppress peripheral monologue triggers. This is NOT a punishment — it's a realistic consequence of finite attention. The player mitigates risk by choosing WHERE and WHEN to confront (safe location vs exposed corridor, early shift vs busy period). +- **Mechanical expression:** + - During confrontation: ambient sounds muffled, quiet NPC movement may go undetected (graduated World SFX dip means careful footsteps suppressed, sprinting footsteps still audible). + - Post-confrontation: delayed monologue may fire for missed events ("Wait — did someone just pass by?"). + - World continues per [D-045](#d-045-art-direction--environmental-neutrality-strict-zero-shift) environmental indifference — no scripted ambushes, but NPCs on routine may coincidentally pass while player is focused. + - Vulnerability is probabilistic and emergent, not scripted. +- **Consistency principle:** Connects to [D-053](scope.md#d-053-movement-as-stance-toggle-system) sprint suppressing monologue (physical focus limits interpretation). Confrontation suppresses ambient perception (emotional focus limits peripheral awareness). High-focus activities suppress peripheral cognition — this is the shared rule. +- **Must feel "felt, not computed" (Paula):** Muffling is psychological tunnel vision, not a debuff tooltip. No UI indicator. Player realizes in retrospect: "I was so focused on Sera I didn't hear Kael walk past." +- **Rationale:** Makes WHERE and WHEN to confront meaningful decisions. Confronting in a private corner = safer. Confronting in a busy corridor during shift change = riskier. Player agency through spatial and temporal choice, not RNG. +- **Cross-reference:** Audio dip ([D-069](#d-069-audio-dip-profiles-for-dialogue-and-confrontation)), confrontation UI ([D-063](content.md#d-063-confrontation--same-box-different-weight)), environmental indifference ([D-045](#d-045-art-direction--environmental-neutrality-strict-zero-shift)), stance system ([D-053](scope.md#d-053-movement-as-stance-toggle-system)), monologue ([D-016](#d-016-internal-monologue-as-core-perceptionatmosphere-system)) +- **Raised by:** Gestalt (vulnerability principle), Ozzie (graduated dip approach), Paula ("felt not computed" framing) +- **Dissent:** None + +### D-071: No ambient dip for eavesdropping — ListeningFocus boost +- **Date:** 2026-02-16 +- **Decision:** Overheard conversation (eavesdropping) does NOT apply dialogue dip ([D-069](#d-069-audio-dip-profiles-for-dialogue-and-confrontation)). Cognitive state is opposite of direct conversation: extracting signal from noise requires MORE ambient awareness, not less. Instead, eavesdrop quality improves via ListeningFocus boost (+2 to +3dB World SFX when stationary 30+ ticks). Eavesdrop information quality is: distance-dependent, stance-modified ([D-053](scope.md#d-053-movement-as-stance-toggle-system) Careful stance grants "tell notice bonus"), ListeningFocus-boosted, and ambient-noise-penalized. +- **Ambient zone affects eavesdrop difficulty:** + - Bar (high ambient) = conversations hidden in murmur, requires proximity + ListeningFocus. + - Workplace (moderate ambient) = conversations semi-conspicuous, distance-dependent. + - Corridor (low ambient) = conversations conspicuous, easy to overhear from distance. +- **Information confidence:** Overheard information enters knowledge graph at lower confidence (KnowsOf, not KnowsDetails per [D-041](architecture.md#d-041-knowledge-graph-data-model)) unless ListeningFocus + proximity allows high-quality capture. +- **Rationale:** Direct conversation = character focuses, ambient dips. Overheard conversation = character strains to hear, ambient stays or boosts. Opposite cognitive states produce opposite audio profiles. Creates meaningful difference between talking TO someone vs listening IN on someone. +- **Cross-reference:** Audio dip ([D-069](#d-069-audio-dip-profiles-for-dialogue-and-confrontation)), stance system ([D-053](scope.md#d-053-movement-as-stance-toggle-system)), knowledge graph ([D-041](architecture.md#d-041-knowledge-graph-data-model)), zone audio ([D-072](#d-072-universal-event-driven-conversation-murmur)) +- **Raised by:** Gestalt (cognitive state framing), Paula (zone-conspicuousness model), unanimously endorsed +- **Dissent:** None + +### D-072: Universal event-driven conversation murmur +- **Date:** 2026-02-16 +- **Decision:** NPC-to-NPC conversations use a single universal murmur sound asset, not zone-specific variants. Zone ambient determines conspicuousness: bar ambient (high murmur density) hides conversations, corridor ambient (low background) makes conversations conspicuous. Maps to [D-047](#d-047-art-direction--two-tier-animation-system) two-tier behavior visibility: bar conversations are Tier 1 (clearly happening, content obscured), corridor conversations are Tier 2 (ambiguous — are they talking or just standing near each other?). +- **Asset split:** + - Bar ambient murmur: baked into `amb_bar_layer.ogg` (continuous background per [D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open)). + - NPC proximity murmur: separate event-driven asset, deferred to future sprint (not in Sprint 7 scope). When implemented, same asset plays everywhere; zone ambient determines audibility. +- **Rationale:** One murmur asset + zone-dependent conspicuousness creates the signal/noise dynamic naturally. Bar = high noise floor, conversations blend in. Corridor = low noise floor, conversations stand out. Simpler content production, richer emergent behavior. +- **Cross-reference:** Audio assets ([D-038](scope.md#d-038-audio-in-v01-scope--8-files-via-stable-audio-open)), two-tier animation ([D-047](#d-047-art-direction--two-tier-animation-system)), eavesdropping ([D-071](#d-071-no-ambient-dip-for-eavesdropping--listeningfocus-boost)) +- **Raised by:** Paula (zone-conspicuousness model), Inigo (scoping to future sprint) +- **Dissent:** None + --- -*23 decisions. Last updated: 2026-02-14* +*29 decisions. Last updated: 2026-02-16* diff --git a/decisions/questions.md b/decisions/questions.md index 58b5ffad4..08794567d 100644 --- a/decisions/questions.md +++ b/decisions/questions.md @@ -65,10 +65,9 @@ Tracked questions awaiting discussion or resolution. - **Source:** Content Gap Analysis Workshop (Mellanie R2) ### Q-014: Audio timing with monologue chime -- **Status:** Open -- **Question:** When does the monologue chime fire relative to text appearance? Before, simultaneous, or overlapping? Affects monologue line writing rhythm. -- **Assigned to:** Gestalt, Ozzie -- **Source:** Content Gap Analysis Workshop (Mellanie R2) +- **Status:** Resolved → [D-067](perception.md#d-067-recognition-chime-fires-at-onset-of-cognitive-delay) +- **Resolution:** Chime fires at ONSET of cognitive delay, not completion. 300-400ms duration, overlapping delay start. Chime is "unresolved" — opens a question, doesn't answer one. Sequence: hear/sense → chime plays → 0.6s delay begins → monologue text during delay → blob transitions to D-033 color → recognition complete. +- **Date resolved:** 2026-02-16 ### Q-015: Generation expansion for THE FRIEND content - **Status:** Open diff --git a/decisions/scope.md b/decisions/scope.md index 06257c9f4..fdb382d9e 100644 --- a/decisions/scope.md +++ b/decisions/scope.md @@ -114,8 +114,11 @@ What we're building: game concept, design pillars, prototype definition, map spe 7. `sfx_monologue_chime.ogg` — soft crystalline tone, "neural lattice firing" feel (0.5-1.0s, monologue appearance) 8. `sfx_monologue_chime_urgent.ogg` — sharper variant for contradiction/anomaly observations (0.5-1.0s) - **Architecture:** Event-driven with asset registry + visual fallback. Simulation emits typed sound events; client renders as audio (if asset exists) or visual indicator + monologue trigger (if not). Ambient loops managed separately from event-driven sounds. Monologue chime is a UI sound, not a simulation sound. -- **Cross-reference:** Three-range sound model ([D-018](perception.md#d-018-three-range-sound-model)), sound event architecture (Gestalt R2 section 6) -- **Raised by:** Ozzie (Round 1 minimum viable proposal, Round 2 full spec), project lead (confirmed, directives #3 and #9) +- **Amendment (2026-02-16, Audio Pipeline Kickoff):** + - **Hybrid audio generation approach:** Stable Audio Open (SAO) for sounds >200ms with organic character (footsteps, ambient layers). Manual synthesis for sounds <200ms with precise/digital character (UI clicks, scanner beeps). SAO ceiling ~47s; accept 45s loops with crossfade for ambient layers. The insert-tech/organic split ([D-074](content.md#d-074-audio-aesthetic-identity--insert-tech-vs-organic)) maps to synthesis/generation split. + - **Sprint 7 scope expansion:** Ticket #440 expanded from 6 to 8 assets, adding monologue chimes (assets 7-8) as deliberate placeholders with Sprint 8 redo mandate. Chimes are critical for [D-067](perception.md#d-067-recognition-chime-fires-at-onset-of-cognitive-delay) cognitive delay feel but acknowledged as difficult to generate correctly — manual synthesis required for production quality. +- **Cross-reference:** Three-range sound model ([D-018](perception.md#d-018-three-range-sound-model)), sound event architecture (Gestalt R2 section 6), audio aesthetic ([D-074](content.md#d-074-audio-aesthetic-identity--insert-tech-vs-organic)), recognition chime ([D-067](perception.md#d-067-recognition-chime-fires-at-onset-of-cognitive-delay)) +- **Raised by:** Ozzie (Round 1 minimum viable proposal, Round 2 full spec), project lead (confirmed, directives #3 and #9). Amendment raised by Inigo (hybrid approach), endorsed by Tyre. - **Dissent:** Mellanie and Araminta both proposed deferring audio; project lead overruled. Visual sound indicators remain complementary to audio (not replacement). ### D-039: v0.1 wow moment scope — all 6 moments From 34d0e7211cd8e0efb01b091c8328cb163add3816 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 16 Feb 2026 01:03:18 +0100 Subject: [PATCH 2/8] docs(assets): add asset pipeline documentation system Category-based asset index for audio, visual, and video pipelines. Audio pipeline fully populated: palette (sonic identity bible), ambient loops, SFX, UI sounds with generation specs and mix parameters. Visual and video are stubs pending their respective workshops. Co-Authored-By: Claude Opus 4.6 --- docs/assets/README.md | 56 +++++++++++++++++++ docs/assets/_templates/audio.md | 33 ++++++++++++ docs/assets/_templates/sprite.md | 31 +++++++++++ docs/assets/_templates/video.md | 30 +++++++++++ docs/assets/audio/README.md | 54 +++++++++++++++++++ docs/assets/audio/ambient.md | 43 +++++++++++++++ docs/assets/audio/palette.md | 93 ++++++++++++++++++++++++++++++++ docs/assets/audio/sfx.md | 41 ++++++++++++++ docs/assets/audio/ui.md | 74 +++++++++++++++++++++++++ docs/assets/video/README.md | 18 +++++++ docs/assets/video/palette.md | 5 ++ docs/assets/visual/README.md | 29 ++++++++++ docs/assets/visual/palette.md | 16 ++++++ 13 files changed, 523 insertions(+) create mode 100644 docs/assets/README.md create mode 100644 docs/assets/_templates/audio.md create mode 100644 docs/assets/_templates/sprite.md create mode 100644 docs/assets/_templates/video.md create mode 100644 docs/assets/audio/README.md create mode 100644 docs/assets/audio/ambient.md create mode 100644 docs/assets/audio/palette.md create mode 100644 docs/assets/audio/sfx.md create mode 100644 docs/assets/audio/ui.md create mode 100644 docs/assets/video/README.md create mode 100644 docs/assets/video/palette.md create mode 100644 docs/assets/visual/README.md create mode 100644 docs/assets/visual/palette.md diff --git a/docs/assets/README.md b/docs/assets/README.md new file mode 100644 index 000000000..dcca40e1c --- /dev/null +++ b/docs/assets/README.md @@ -0,0 +1,56 @@ +# Asset Pipeline Index + +Centralized tracking for all production assets across pipelines. Each pipeline has its own index, palette (style bible), and per-category asset tables. + +## Pipelines + +| Pipeline | Index | Palette | Status | +|----------|-------|---------|--------| +| [Audio](audio/README.md) | [audio/README.md](audio/README.md) | [audio/palette.md](audio/palette.md) | Active — Sprint 7 | +| [Visual](visual/README.md) | [visual/README.md](visual/README.md) | [visual/palette.md](visual/palette.md) | Stub | +| [Video](video/README.md) | [video/README.md](video/README.md) | [video/palette.md](video/palette.md) | Stub | + +## Structure + +``` +docs/assets/ + README.md # This file — master index + _templates/ + audio.md # Row template + detailed entry template for audio + sprite.md # Row template + detailed entry template for sprites + video.md # Row template + detailed entry template for video + audio/ + README.md # Audio pipeline index — categories, status summary + palette.md # Sonic palette, aesthetic guide, generation approach + ambient.md # All ambient loops (station, planet, biome, weather) + sfx.md # All SFX (footsteps, doors, impacts, events) + ui.md # All UI sounds (cursor, chimes, insert-tech) + visual/ + README.md # Visual pipeline index + palette.md # Art direction, "the angle", color relationships + sprites.md # Entities (NPCs, player, creatures) + furniture.md # Furniture items (hundreds, by location/type) + tilesets.md # Floor/wall tiles by biome/planet + icons.md # UI icons, status indicators + effects.md # Fog shaders, particles, overlays + video/ + README.md # Video pipeline index + palette.md # Motion/editing style guide + trailers.md # Marketing / Steam page trailers + cutscenes.md # In-game narrative moments +``` + +## Conventions + +- **One .md per category** — asset table with one row per asset, detailed entries below for complex items +- **palette.md** per pipeline — the style bible. Aesthetic baseline, theme, generation approach. +- **Status values:** `planned` | `in-progress` | `placeholder` | `final` +- **Templates:** `_templates/{type}.md` — row format + detailed entry format +- **Asset files** live in `client/assets/{type}/` — these docs track design and production metadata +- **Category splitting:** When a category file grows too long, split by domain (e.g., `furniture-station.md`, `furniture-colony.md`) + +## Cross-References + +- Decision files: `decisions/` (D-038 audio scope, D-033 entity colors, D-019 camera angle) +- Art direction workshop: `docs/workshops/art-direction-mood-board/` +- Sprint briefings: `docs/sprints/sprint-N/{team}.md` diff --git a/docs/assets/_templates/audio.md b/docs/assets/_templates/audio.md new file mode 100644 index 000000000..5ceadd180 --- /dev/null +++ b/docs/assets/_templates/audio.md @@ -0,0 +1,33 @@ +# Audio Asset Template + +## Table Row Format + +``` +| {ID} | `{filename}.ogg` | {status} | {bus} | {method} | {duration} | {prompt/notes} | {sprint/ticket} | +``` + +**Columns:** +- **ID:** Category prefix + sequential number (AMB-001, SFX-001, UI-001) +- **Filename:** Target filename in `client/assets/audio/` +- **Status:** planned / in-progress / placeholder / final +- **Bus:** Ambient / World SFX / Player Actions / UI Sounds / Music +- **Method:** SAO (Stable Audio Open) / synth (manual synthesis) / hybrid +- **Duration:** Target duration +- **Prompt/Notes:** Generation prompt or design description (keep brief — expand in detailed entry if needed) +- **Sprint/Ticket:** Sprint number and ticket ID + +## Detailed Entry Format + +Use below the asset table for assets that need expanded documentation (complex generation, iteration history, special integration notes). + +```markdown +### {ID}: {filename} +- **Sonic family:** insert-tech / organic +- **Frequency range:** {primary range} +- **Full prompt:** `{complete generation prompt}` +- **Post-processing:** {trim, normalize, EQ, crossfade, loop points} +- **Integration:** {which system triggers this, bus routing, special behavior} +- **Iteration history:** + | Date | Version | Notes | + |------|---------|-------| +``` diff --git a/docs/assets/_templates/sprite.md b/docs/assets/_templates/sprite.md new file mode 100644 index 000000000..dec19e3a1 --- /dev/null +++ b/docs/assets/_templates/sprite.md @@ -0,0 +1,31 @@ +# Sprite Asset Template + +## Table Row Format + +``` +| {ID} | `{filename}.png` | {status} | {layer} | {method} | {directions} | {notes} | {sprint/ticket} | +``` + +**Columns:** +- **ID:** Category prefix + sequential number (SPR-001, FUR-001, TILE-001, ICO-001, FX-001) +- **Filename:** Target filename in `client/assets/sprites/` (or tilesets/, etc.) +- **Status:** planned / in-progress / placeholder / final +- **Layer:** Entity / tile / effect / UI +- **Method:** render pipeline / hand-drawn / AI-assisted +- **Directions:** N/E/S/W (4-dir), S-only, or N/A +- **Notes:** Source model, special render settings, design description +- **Sprint/Ticket:** Sprint number and ticket ID + +## Detailed Entry Format + +```markdown +### {ID}: {filename} +- **Source model:** `{path to .glb/.blend}` +- **Render settings:** Camera angle, lighting, outline width +- **Color relationships:** D-033 mapping if entity +- **Resolutions:** 1024px (working) / 256px (game) / 64px (minimap) +- **Post-processing:** Outline pass, palette adjustment, special effects +- **Iteration history:** + | Date | Version | Notes | + |------|---------|-------| +``` diff --git a/docs/assets/_templates/video.md b/docs/assets/_templates/video.md new file mode 100644 index 000000000..d56e672b7 --- /dev/null +++ b/docs/assets/_templates/video.md @@ -0,0 +1,30 @@ +# Video Asset Template + +## Table Row Format + +``` +| {ID} | `{filename}.{ext}` | {status} | {type} | {duration} | {notes} | {sprint/ticket} | +``` + +**Columns:** +- **ID:** Category prefix + sequential number (TRL-001, CUT-001) +- **Filename:** Target filename +- **Status:** planned / in-progress / placeholder / final +- **Type:** trailer / cutscene / intro +- **Duration:** Target duration +- **Notes:** Purpose, audience, key scenes +- **Sprint/Ticket:** Sprint number and ticket ID + +## Detailed Entry Format + +```markdown +### {ID}: {filename} +- **Resolution:** 1920x1080 / 3840x2160 +- **Frame rate:** 30 / 60 fps +- **Audio track:** {link to audio asset or composition notes} +- **Script/storyboard:** {link or inline} +- **Production method:** In-engine capture / external editing / mixed +- **Iteration history:** + | Date | Version | Notes | + |------|---------|-------| +``` diff --git a/docs/assets/audio/README.md b/docs/assets/audio/README.md new file mode 100644 index 000000000..99f6d9dee --- /dev/null +++ b/docs/assets/audio/README.md @@ -0,0 +1,54 @@ +# Audio Asset Pipeline + +Status: **Active** — Sprint 7 (first audio sprint) + +## Summary + +| Category | File | Total | Planned | In-Progress | Placeholder | Final | +|----------|------|-------|---------|-------------|-------------|-------| +| Ambient | [ambient.md](ambient.md) | 4 | 4 | 0 | 0 | 0 | +| SFX | [sfx.md](sfx.md) | 2 | 2 | 0 | 0 | 0 | +| UI | [ui.md](ui.md) | 6 | 4 | 0 | 0 | 0 | +| **Total** | | **12** | **10** | **0** | **0** | **0** | + +Update counts when asset status changes. + +## Palette + +See [palette.md](palette.md) for the sonic identity: two sonic families (insert-tech / organic), station palette (functional warmth), generation approach, bus architecture. + +## Generation Tools + +- **Stable Audio Open:** Self-hosted, >200ms organic sounds. ~47s ceiling per generation. +- **Manual synthesis:** <200ms insert-tech sounds. Audacity / Python oscillator. +- **Post-processing:** LUFS normalization, EQ carving, crossfade loops (3-5s overlap). + +## Bus Architecture + +5 player-facing buses (see palette.md for full spec): + +| Bus | Content | +|-----|---------| +| Music | Future — empty | +| Ambient | Station hum, zone overlays | +| World SFX | NPC footsteps, doors, conversation murmur | +| Player Actions | Player footsteps, combat | +| UI Sounds | Cursor, implant, chimes, recognition | + +## Sprint Scope + +### Sprint 7 (#440 — 8 assets) +- 4 UI sounds: cursor hover, fog recognition, implant open, weapon aim (sketch) +- 2 UI sounds: monologue chime normal + urgent (PLACEHOLDER — Sprint 8 redo) +- 2 mix specs: dialogue dip, confrontation dip (documentation, not audio files) + +### Sprint 8+ (D-038 — 6 remaining assets) +- 4 ambient loops: station base, workplace layer, bar layer, corridor layer +- 2 SFX: footstep metal walk, footstep metal run +- Monologue chime redo (priority #1) + +## Decision References + +- D-038: Audio in v0.1 scope +- D-018: Three-range sound model +- D-045: Environmental neutrality diff --git a/docs/assets/audio/ambient.md b/docs/assets/audio/ambient.md new file mode 100644 index 000000000..7643e2add --- /dev/null +++ b/docs/assets/audio/ambient.md @@ -0,0 +1,43 @@ +# Ambient — Audio Assets + +Zone-based ambient loops. Station base plays globally; overlays crossfade based on player zone (hard tile boundary, 1.5-2s audio tween). + +## Generation Approach + +Stable Audio Open primary. Prompt strategy: describe the SPACE, not the sound. +- Target: 45s loops with 3-5s overlap crossfade (equal-power) +- Validation: solo test → stack test → fatigue test (5+ minutes) +- Post-processing: LUFS normalize, EQ carve per-layer to avoid masking, crossfade loop points +- Environmental neutrality (D-045): warmth/character is baked into the asset, does not react to narrative state + +## Assets + +| ID | Filename | Status | Bus | Method | Duration | Prompt/Notes | Sprint | +|----|----------|--------|-----|--------|----------|-------------|--------| +| AMB-001 | `amb_station_base.ogg` | planned | Ambient | SAO | 45-60s loop | Station hum, span gate vibration, ventilation. Low-freq foundation (60-120Hz), mid texture (200-800Hz). Always playing — acoustic foundation of being on a station. | S8+ | +| AMB-002 | `amb_workplace_layer.ogg` | planned | Ambient | SAO | 45-60s loop | Cargo machinery, scanner pings, distant procedural voices (designations, not conversation). Rhythmic mechanical cadence. Terminal zone overlay. | S8+ | +| AMB-003 | `amb_bar_layer.ogg` | planned | Ambient | SAO | 45-60s loop | Conversation murmur (300Hz-3kHz), softened glass sounds, faint Meridian music (barely melodic, distant radio). Social warmth. Murmur baked in — bar IS the crowd. Last Shift zone overlay. | S8+ | +| AMB-004 | `amb_corridor_layer.ogg` | planned | Ambient | SAO | 45-60s loop | Echoing footsteps, ventilation whistle with reverb tail, louder gate hum (closer to structure). Emptier mid-range, prominent low-end. Liminal emptiness. Corridor zone overlay. | S8+ | + +## Detailed Entries + +### AMB-001: amb_station_base +- **Sonic family:** organic (environmental) +- **Frequency range:** 60-120Hz foundation, 200-800Hz texture, 2-8kHz sparse detail +- **Role:** Global ambient — always playing, never stops. The acoustic reality of Station Sova. If zone overlays fade, this is "silence" — should feel empty, not quiet. +- **Layering:** Plays on AmbientBase sub-channel. Zone overlays play on AmbientLayer, additive. +- **Integration:** Starts on game load, loops indefinitely. Volume on Ambient bus. +- **Cross-reference:** D-038 (#1), D-039 wow moment #1 (Arrival — station hum is first thing player hears) + +### AMB-003: amb_bar_layer +- **Sonic family:** organic (social space) +- **Murmur note:** Conversation murmur is baked into this asset, not triggered by NPC presence. The bar sounds like a crowd whether 2 or 15 NPCs are present. This is the acoustic character of the space. Separate NPC proximity murmur (event-driven, point-source) is a future asset. +- **Integration:** Crossfades in when player enters bar zone, out when leaving. 1.5-2s tween. +- **Cross-reference:** D-038 (#3), D-045 (warmth is indifference — bar sounds warm always) + +## Future Expansion + +As the game expands beyond Station Sova (multiple planets, biomes, weather), ambient categories will grow significantly. When this file exceeds ~50 entries, split by location: +- `ambient-station.md` (Station Sova zones) +- `ambient-planet-{name}.md` (planetary biomes) +- `ambient-weather.md` (weather overlay loops) diff --git a/docs/assets/audio/palette.md b/docs/assets/audio/palette.md new file mode 100644 index 000000000..3cb5d3a5c --- /dev/null +++ b/docs/assets/audio/palette.md @@ -0,0 +1,93 @@ +# Audio Palette + +The sonic identity of The Settled Reach. Living document — updated as the audio language evolves. + +## Core Principle: Audio as Cognitive Architecture + +Every sound maps to one of two cognitive sources: + +| Source | Sound Type | What it means | Sonic character | +|--------|-----------|---------------|-----------------| +| Biological | Ambient layers, footsteps, fog recognition | "I am a body in a space, and my body knows things" | Organic, warm, natural decay | +| Technological | Cursor hover, implant open, monologue chime | "I am augmented, and my lattice processes things my body can't" | Synthetic, precise, clinical | +| Absence | Dialogue dip, confrontation dip | "I am choosing to focus, and the world continues without my attention" | Reduced ambient, muffled world | + +This split maps to D-018's trust model: organic perception is slow but trustworthy, technological perception is fast but its data can be manipulated. + +## Two Sonic Families + +### Insert-Tech (Synthetic) +- **Character:** Clean waveforms, no reverb (exists in your head, not in space). Digital. Precise. Mathematical. +- **Frequency range:** 800Hz-4kHz primary. Sharp attack, controlled decay. +- **Feel:** "A well-designed touchscreen" — tonal confirmation, not notification beeps. +- **Used for:** Cursor hover, implant open, weapon aim, monologue chimes. +- **Generation method:** Manual synthesis for <200ms sounds. SAO for >200ms. + +### Organic (Biological) +- **Character:** Warm, breathy, slightly resonant. Natural attack and decay. Reverberant (exists in the world). +- **Frequency range:** 300Hz-1.5kHz primary. Soft attack, natural tail. +- **Feel:** "The sound you 'hear' internally when something clicks into place." +- **Used for:** Fog recognition, future character-cognition sounds. +- **Generation method:** Stable Audio Open primary — organic texture is what generative audio does best. + +## Station Sonic Palette: Functional Warmth + +The Settled Reach is a working station. Not military, not luxury — **industrial infrastructure that people made livable.** + +### Base Layer (always present) +- **Low-frequency foundation (60-120Hz):** Generator hum, structural resonance. The span gate's mass holding the station together. Always present, barely noticed. +- **Mid-frequency texture (200-800Hz):** Ventilation, distant pipe flow, air cycling systems. Life support you forget about until it stops. +- **High-frequency detail (2-8kHz):** Occasional scanner pings, distant PA crackle, metal-on-metal contact. Sparse. These break through the baseline — something happened. + +### Zone Overlays (additive to base) +- **Bar (The Last Shift):** More mid-range (voice murmur 300Hz-3kHz), softer high end (glass filtered, not sharp), faint Meridian music barely melodic — someone left a radio on two rooms away. Social warmth. +- **Corridor:** Emptier mid-range, more prominent low-end (gate hum louder — closer to structure), high-frequency echoes (reverb tail on ventilation whistle). Liminal emptiness. +- **Workplace (Terminal):** Rhythmic mechanical elements (cargo cadence), cleaner scanner pings, distant procedural voices (cargo designations, not conversation). Institutional precision. + +### What Silence Sounds Like +Silence on a station isn't silence — it's the base hum with nothing on top. If a zone overlay fades out and you're left with just station base, that should feel **empty**. Not quiet. Empty. Like a room where people were just a moment ago. + +## Environmental Neutrality (D-045) + +The ambient palette **does not shift with narrative state**. The bar sounds warm whether THE FRIEND is honest or lying. The corridor hum doesn't become ominous when you discover the conspiracy. The world is indifferent to your investigation. + +The warmth is the indifference. The bartender's radio doesn't know. + +## Audio Bus Architecture + +5 player-facing buses, each with independent volume slider: + +| Bus | Content | Diegetic source | +|-----|---------|-----------------| +| Music | Future — empty for now | Non-diegetic | +| Ambient | Station hum, zone overlays, global loops | Environment | +| World SFX | NPC footsteps, doors, machinery, conversation murmur | Other entities | +| Player Actions | Player footsteps, combat, weapon sounds | Player character | +| UI Sounds | Cursor, implant, monologue chimes, fog recognition | Neural lattice / cognition | + +## Generation Approach + +### Stable Audio Open (>200ms, organic character) +- Model: ~1.2B parameters, 44.1kHz stereo output, ~47s ceiling +- Prompting: Describe the SPACE, not the sound. "Industrial space station interior, low frequency machinery hum" not "sci-fi ambient drone in D minor." +- Iteration: Generate 4-6 candidates per asset. Test: solo → stack → fatigue (5+ minutes for loops). +- Post-processing: Trim, normalize (LUFS), EQ to carve frequency space, crossfade loops (3-5s overlap, equal-power). + +### Manual Synthesis (<200ms, insert-tech character) +- Tools: Audacity / Python synthesis (sine tone + envelope + harmonic layering) +- The precision IS the design — insert-tech sounds should feel mathematically exact. +- A 50ms cursor tick is a few lines of oscillator + exponential decay. + +### Quality Validation +- **Solo test:** Does it sound right alone? +- **Stack test:** Does it sit in the mix with other layers without masking? +- **Fatigue test:** Can you listen for 5+ minutes without jarring repeat? (loops only) +- **Close-your-eyes test (Ozzie):** Does the sound create a mental image / sensation? + +## Decision References + +- D-018: Three-range sound model (close/medium/long) +- D-038: Audio in v0.1 scope — 8 files via Stable Audio Open +- D-045: Environmental neutrality +- D-048: Neural insert overlay (insert-styled UI aesthetic) +- D-053: Movement stances (acoustic footprint implications) diff --git a/docs/assets/audio/sfx.md b/docs/assets/audio/sfx.md new file mode 100644 index 000000000..c385559ba --- /dev/null +++ b/docs/assets/audio/sfx.md @@ -0,0 +1,41 @@ +# SFX — Audio Assets + +World sound effects: footsteps, environmental events, impacts. Event-driven, often positional (AudioStreamPlayer2D). + +## Generation Approach + +Mixed methods depending on duration and character: +- Footsteps: SAO generation (>200ms) or hybrid (generate longer clip, extract best transient) +- Future environmental SFX (doors, machinery events): SAO or foley recording +- Post-processing: normalize, trim, ensure clean attack/release + +## Assets + +| ID | Filename | Status | Bus | Method | Duration | Prompt/Notes | Sprint | +|----|----------|--------|-----|--------|----------|-------------|--------| +| SFX-001 | `sfx_footstep_metal.ogg` | planned | Player Actions | hybrid | 0.3-0.5s | Single footstep on metal grating. Walk pace. Player character proprioceptive feedback. | S8+ | +| SFX-002 | `sfx_footstep_metal_run.ogg` | planned | Player Actions | hybrid | 0.2-0.3s | Faster footstep, sprint pace. Louder — player is broadcasting position (D-053 acoustic footprint). | S8+ | + +## Detailed Entries + +### SFX-001: sfx_footstep_metal +- **Sonic family:** organic (physical world) +- **Bus rationale:** Player Actions — this is feedback on YOUR movement, not world information. NPC footsteps (future) go on World SFX. +- **Stance implications (D-053):** Walk = normal volume. Sprint variant (SFX-002) = louder. Careful = quieter variant (future asset). Crouch = near-silent variant (future asset). +- **Integration:** Triggered by player movement tick. Positional (AudioStreamPlayer2D at player position) — maps to camera-relative stereo per D-018. +- **Cross-reference:** D-038 (#5), D-053 (movement stances as acoustic decisions) + +## Future Expansion + +SFX will grow significantly with: +- NPC footstep variants (by surface type, stance) → World SFX bus +- Door open/close, machinery activation → World SFX bus +- Combat impacts, weapon sounds → Player Actions bus +- Environmental events per planet/biome +- NPC conversation murmur (event-driven, point-source) → World SFX bus + +When this file exceeds ~50 entries, split by domain: +- `sfx-movement.md` (footsteps, stance variants) +- `sfx-environment.md` (doors, machinery, weather) +- `sfx-combat.md` (weapons, impacts) +- `sfx-conversation.md` (murmur, vocal events) diff --git a/docs/assets/audio/ui.md b/docs/assets/audio/ui.md new file mode 100644 index 000000000..a6544f460 --- /dev/null +++ b/docs/assets/audio/ui.md @@ -0,0 +1,74 @@ +# UI — Audio Assets + +Interface sounds triggered by player interaction, insert systems, and cognitive events. Non-positional (AudioStreamPlayer). Routes to UI Sounds bus. + +## Generation Approach + +- **Insert-tech sounds (<200ms):** Manual synthesis. Sine/square oscillators, exponential decay, harmonic layering. Precision IS the design. +- **Organic cognitive sounds (>200ms):** Stable Audio Open primary. Warm texture, natural decay. +- **Monologue chimes:** Currently PLACEHOLDER (Sprint 7). Redo scheduled Sprint 8 priority #1. Design brief below captures target register. + +## Assets + +| ID | Filename | Status | Bus | Method | Duration | Prompt/Notes | Sprint | +|----|----------|--------|-----|--------|----------|-------------|--------| +| UI-001 | `cursor_hover.ogg` | planned | UI Sounds | synth | 50-100ms | Subtle tick/ping on entity hover (D-056). Insert-tech: clean, precise, synthetic. Almost subliminal — notice if missing, not if present. Sine ~3.2kHz, exponential decay. | S7 #440 | +| UI-002 | `implant_open.ogg` | planned | UI Sounds | SAO+synth | 150-250ms | Rising tone when insert UI opens (radial menu, inventory, stance). Neural lattice powering up. Frequency sweep 800Hz→2kHz, harmonic shimmer. Template for insert-tech family. | S7 #440 | +| UI-003 | `fog_recognition.ogg` | planned | UI Sounds | SAO | 300-400ms | Warm organic chime at onset of cognitive delay (D-060). Character recognizing a person — "those footsteps... that's Kael." Unresolved tone (rises, doesn't land). 300-800Hz, breathy attack, natural tail overlapping delay start. | S7 #440 | +| UI-004 | `weapon_aim.ogg` | planned | UI Sounds | hybrid | 100-150ms | Harder click/lock for weapon aim state. Mechanical, deliberate. 400-800Hz latch sound. SKETCH ONLY — no weapons in Sprint 7, design for consistency. | S7 #440 | +| UI-005 | `sfx_monologue_chime.ogg` | planned | UI Sounds | synth | 500-1000ms | PLACEHOLDER. Soft crystalline tone, neural lattice surfacing a thought. Quiet, non-intrusive. Sprint 8 redo mandatory. See design brief below. | S7 #440 | +| UI-006 | `sfx_monologue_chime_urgent.ogg` | planned | UI Sounds | synth | 500-1000ms | PLACEHOLDER. Sharper variant for contradiction/anomaly. Brighter, 15% louder, shorter. Sprint 8 redo mandatory. See design brief below. | S7 #440 | + +## Mix Specs (not audio files) + +These are AudioBus parameter changes, documented in `docs/audio/dialogue-ambient-dip.md`: + +| Spec | Trigger | Effect | Sprint | +|------|---------|--------|--------| +| Dialogue dip | Dialogue box opens | Ambient -6 to -8dB, 300ms ease-in, 500ms ease-out | S7 #440 | +| Confrontation dip | Confrontation dialogue | Ambient -10 to -12dB + LP (800Hz), World SFX -4 to -6dB, 500ms ease-in, 1000ms ease-out | S7 #440 | + +## Detailed Entries + +### UI-001: cursor_hover +- **Sonic family:** insert-tech +- **Frequency range:** 3-4kHz primary +- **Design principle:** "Like breathing — present, functional, invisible." Player shouldn't describe it if asked, but would notice absence. Fatigue test critical — plays 300+ times per session. +- **Generation:** Pure synthesis. Sine tone at 3.2kHz, exponential decay over 40-50ms. No SAO — precision and purity are the point. +- **Debouncing:** AudioManager enforces 100ms cooldown between plays (rapid mouse movement). +- **Integration:** CursorRenderer.cursor_state_changed signal → AudioManager.play_ui("cursor_hover") +- **Cross-reference:** D-056 (cursor states) + +### UI-003: fog_recognition +- **Sonic family:** organic +- **Frequency range:** 300Hz-1.5kHz +- **Design principle:** "The sound you hear internally when something clicks into place." Not a chime — more like a soft exhalation of tone. Sits BETWEEN insert sounds and ambient — not UI, not world, cognition. +- **Timing (Q-014 resolved):** Fires at ONSET of cognitive delay. Sequence: hear something in fog → chime plays → 0.6s delay → monologue during delay → blob transitions to D-033 color. Chime is "your character is processing," color transition is "recognition complete." +- **Integration:** Cognitive delay onset event → AudioManager.play_ui("fog_recognition") +- **Cross-reference:** D-060 (cognitive delay), D-018 (three-range sound, medium range) + +### UI-005 / UI-006: Monologue Chime Design Brief (PLACEHOLDER) + +**Target emotional register for Sprint 8 redo:** + +The monologue chimes are the two poles of augmented cognition made audible: + +| Variant | Meaning | Feel | Target | +|---------|---------|------|--------| +| Normal | "My lattice surfaced this" | A thought arriving — not a notification. Like your own attention shifting. | Player never consciously notices it. Pavlovian: text appeared, brain registered, moved on. | +| Urgent | "My lattice flagged a contradiction" | Productive discomfort. "Wait, what did I miss?" | Micro-spike of alertness. Not alarm. The delta from normal must be SMALL but unmistakable. | + +**Relationship to fog recognition chime:** +- Fog recognition = organic (biological cognition, warm, 300-800Hz) +- Monologue normal = insert-tech (crystalline, clean, higher register, ~1.2kHz) +- Monologue urgent = insert-tech (sharper, brighter, adds second harmonic ~2.4kHz) +- Same cognitive family, different branches. Cousins, not twins. + +**Quality bar:** If the urgent chime feels like a quest marker ping, it has failed. If it feels like Ubisoft, it has failed. The delta between normal and urgent = "someone thinking quietly" vs "someone's eyes going slightly wide." + +**Placeholder spec (Sprint 7):** +- Normal: pure sine 1.2kHz, 600ms, gentle attack, natural decay. Conservative volume. +- Urgent: sine 1.2kHz + harmonic 2.4kHz, 400ms, sharper attack, 15% louder. +- Deliberately undersized — obviously temporary. Ugly placeholders get replaced. + +**Evaluation gate:** First internal playtest after Sprint 7: "Does the normal chime feel like a thought arriving? Does the urgent chime create a physiological response?" If no → trigger chime redesign. diff --git a/docs/assets/video/README.md b/docs/assets/video/README.md new file mode 100644 index 000000000..865935c8f --- /dev/null +++ b/docs/assets/video/README.md @@ -0,0 +1,18 @@ +# Video Asset Pipeline + +Status: **Stub** — no video assets planned for v0.1. + +## Categories + +| Category | File | Count | Description | +|----------|------|-------|-------------| +| Trailers | [trailers.md](trailers.md) | 0 | Marketing / Steam page trailers | +| Cutscenes | [cutscenes.md](cutscenes.md) | 0 | In-game narrative moments (D-019: deferred to milestones) | + +## Palette + +See [palette.md](palette.md) for motion/editing style guide (to be established). + +## Decision References + +- D-019: 3D cutscenes for key moments — deferred to milestones, not v0.1 diff --git a/docs/assets/video/palette.md b/docs/assets/video/palette.md new file mode 100644 index 000000000..21debf081 --- /dev/null +++ b/docs/assets/video/palette.md @@ -0,0 +1,5 @@ +# Video Palette + +Status: **Stub** — no video production planned for v0.1. + +To be established when cutscene or trailer work begins. diff --git a/docs/assets/visual/README.md b/docs/assets/visual/README.md new file mode 100644 index 000000000..280c04eae --- /dev/null +++ b/docs/assets/visual/README.md @@ -0,0 +1,29 @@ +# Visual Asset Pipeline + +Status: **Stub** — awaiting first visual sprint. + +## Categories + +| Category | File | Count | Description | +|----------|------|-------|-------------| +| Sprites | [sprites.md](sprites.md) | 0 | Entity sprites via 3D render pipeline | +| Furniture | [furniture.md](furniture.md) | 0 | Furniture items by location/type | +| Tilesets | [tilesets.md](tilesets.md) | 0 | Floor/wall tiles by biome/planet | +| Icons | [icons.md](icons.md) | 0 | UI icons, status indicators | +| Effects | [effects.md](effects.md) | 0 | Fog shaders, particles, overlays | + +## Palette + +See [palette.md](palette.md) for art direction, "the angle", color relationships, and render pipeline specs. + +## Pipeline + +- **3D render pipeline:** Blender model → Godot Camera3D at -72.5deg → orthographic render → outline pass → resolution downscale +- **Render skill:** `/render-sprite` produces 12 PNGs (4 directions x 3 resolutions) +- **Art direction workshop:** `docs/workshops/art-direction-mood-board/` + +## Decision References + +- D-019: Top-down camera, 15-20deg from vertical ("the angle") +- D-033: Entity color = relationship to player +- D-045: Environmental neutrality diff --git a/docs/assets/visual/palette.md b/docs/assets/visual/palette.md new file mode 100644 index 000000000..2ee7991c0 --- /dev/null +++ b/docs/assets/visual/palette.md @@ -0,0 +1,16 @@ +# Visual Palette + +Status: **Stub** — reference art direction workshop output for current guidance. + +See `docs/workshops/art-direction-mood-board/` for the established visual identity. + +## Key Decisions + +- **Camera angle:** 15-20deg from vertical ("the angle"), rendered via orthographic Camera3D at -72.5deg from horizontal (D-019) +- **Entity colors:** Relationship-based per D-033 (green = known/friendly, amber = neutral, red = hostile, etc.) +- **Environmental neutrality:** Spaces don't visually shift with narrative state (D-045) +- **Functional warmth:** Industrial infrastructure that people made livable — not military, not luxury + +## Style Guide + +To be populated from art direction workshop synthesis and first visual sprint. From 094939a33d70c2188b8324c62369be472178ff2e Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 16 Feb 2026 01:03:30 +0100 Subject: [PATCH 3/8] feat(db): add Stable Audio Open connector and post-processing wrappers audio-generate: Gradio API wrapper with timeout handling (600s default), sequential-only generation, SSE stream polling. audio-health: API health check. audio-post: ffmpeg wrapper for convert/normalize/trim/ pipeline operations. All follow existing connector pattern. Co-Authored-By: Claude Opus 4.6 --- db/connectors/audio-generate | 4 + db/connectors/audio-health | 4 + db/connectors/audio-post | 7 + db/connectors/audio_connector.py | 290 +++++++++++++++++++++++++++++++ db/connectors/audio_post.py | 171 ++++++++++++++++++ db/connectors/config.json | 2 +- 6 files changed, 477 insertions(+), 1 deletion(-) create mode 100755 db/connectors/audio-generate create mode 100755 db/connectors/audio-health create mode 100755 db/connectors/audio-post create mode 100644 db/connectors/audio_connector.py create mode 100644 db/connectors/audio_post.py diff --git a/db/connectors/audio-generate b/db/connectors/audio-generate new file mode 100755 index 000000000..9e85b8b7c --- /dev/null +++ b/db/connectors/audio-generate @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Generate audio via Stable Audio Open. Whitelistable command. +# Usage: audio-generate "prompt text" [--duration N] [--steps N] [--cfg N] [--output file.wav] [--timeout N] +exec python3 "$(dirname "$0")/audio_connector.py" generate "$@" diff --git a/db/connectors/audio-health b/db/connectors/audio-health new file mode 100755 index 000000000..112affff7 --- /dev/null +++ b/db/connectors/audio-health @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Check if the Stable Audio Open API is reachable. Whitelistable command. +# Usage: audio-health +exec python3 "$(dirname "$0")/audio_connector.py" health diff --git a/db/connectors/audio-post b/db/connectors/audio-post new file mode 100755 index 000000000..3131fcfd5 --- /dev/null +++ b/db/connectors/audio-post @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Audio post-processing (ffmpeg wrapper). Whitelistable command. +# Usage: audio-post convert input.wav [--output output.ogg] +# audio-post normalize input.wav [--lufs -16] +# audio-post trim input.wav [--threshold -50] +# audio-post pipeline input.wav [--output output.ogg] +exec python3 "$(dirname "$0")/audio_post.py" "$@" diff --git a/db/connectors/audio_connector.py b/db/connectors/audio_connector.py new file mode 100644 index 000000000..1323a8e70 --- /dev/null +++ b/db/connectors/audio_connector.py @@ -0,0 +1,290 @@ +#!/usr/bin/env python3 +""" +Stable Audio Open connector — Gradio API wrapper. + +Talks to the Stable Audio Open Gradio app at tower-of-joy:11500. +Uses the async Gradio API pattern: POST to submit, SSE stream for results. + +Usage: + python3 audio_connector.py generate "prompt text" [--duration 10] [--steps 100] [--cfg 7] [--output file.wav] + python3 audio_connector.py health +""" + +import json +import os +import sys +import time +import urllib.error +import urllib.request +import shutil + +CONFIG_PATH = os.path.join(os.path.dirname(__file__), "config.json") + +def load_config(): + with open(CONFIG_PATH) as f: + return json.load(f) + +def get_base_url(): + config = load_config() + return config.get("stable_audio_url", "http://tower-of-joy:11500") + +def health(): + """Check if the Stable Audio API is reachable.""" + base = get_base_url() + try: + req = urllib.request.Request(f"{base}/config", method="GET") + with urllib.request.urlopen(req, timeout=10) as resp: + data = json.loads(resp.read()) + version = data.get("version", "unknown") + # Extract component info for the generate endpoint + api_names = [] + for dep in data.get("dependencies", []): + name = dep.get("api_name", "") + if name and not name.startswith("js_"): + api_names.append(name) + print(json.dumps({ + "ok": True, + "url": base, + "gradio_version": version, + "api_endpoints": api_names + }, indent=2)) + except Exception as e: + print(json.dumps({ + "ok": False, + "url": base, + "error": str(e) + }, indent=2)) + sys.exit(1) + +def generate(prompt, duration=10.0, steps=100, cfg=7.0, output=None, timeout=600): + """ + Generate audio from a text prompt. + + Args: + prompt: Text description of the audio to generate + duration: Duration in seconds (0-47, default 10) + steps: Number of diffusion steps (default 100, lower = faster but lower quality) + cfg: Classifier-free guidance scale (default 7) + output: Output file path (default: auto-named in current directory) + timeout: Maximum wait time in seconds (default 600 = 10 minutes) + """ + base = get_base_url() + api_url = f"{base}/gradio_api/call/generate_audio" + + if output is None: + # Auto-name: sanitize prompt to a filename + safe = "".join(c if c.isalnum() or c in "-_ " else "" for c in prompt[:40]) + safe = safe.strip().replace(" ", "_").lower() + output = f"{safe}_{int(duration)}s.wav" + + # Step 1: Submit the generation request + payload = json.dumps({"data": [prompt, duration, steps, cfg]}) + req = urllib.request.Request( + api_url, + data=payload.encode(), + headers={"Content-Type": "application/json"}, + method="POST" + ) + + print(f"Submitting generation request...", file=sys.stderr) + print(f" Prompt: {prompt}", file=sys.stderr) + print(f" Duration: {duration}s, Steps: {steps}, CFG: {cfg}", file=sys.stderr) + + try: + with urllib.request.urlopen(req, timeout=30) as resp: + result = json.loads(resp.read()) + event_id = result.get("event_id") + if not event_id: + print(json.dumps({"ok": False, "error": "No event_id returned", "response": result}, indent=2)) + sys.exit(1) + except Exception as e: + print(json.dumps({"ok": False, "error": f"Submit failed: {e}"}, indent=2)) + sys.exit(1) + + print(f" Event ID: {event_id}", file=sys.stderr) + print(f" Waiting for generation (timeout: {timeout}s)...", file=sys.stderr) + + # Step 2: Poll the SSE stream for results + stream_url = f"{api_url}/{event_id}" + start_time = time.time() + result_data = None + last_status = None + + while time.time() - start_time < timeout: + try: + req = urllib.request.Request(stream_url, method="GET") + with urllib.request.urlopen(req, timeout=timeout) as resp: + # Read SSE events + current_event = None + for line_bytes in resp: + line = line_bytes.decode("utf-8").strip() + + if line.startswith("event: "): + current_event = line[7:] + elif line.startswith("data: ") and current_event: + data_str = line[6:] + + if current_event == "heartbeat": + elapsed = int(time.time() - start_time) + if elapsed % 30 == 0 and elapsed > 0: + print(f" Still generating... ({elapsed}s elapsed)", file=sys.stderr) + continue + + if current_event == "error": + error_msg = data_str + try: + error_msg = json.loads(data_str) + except (json.JSONDecodeError, TypeError): + pass + print(json.dumps({"ok": False, "error": "Generation failed", "details": error_msg}, indent=2)) + sys.exit(1) + + if current_event == "complete": + try: + result_data = json.loads(data_str) + except json.JSONDecodeError: + result_data = data_str + break + + if current_event == "progress": + try: + progress = json.loads(data_str) + # Gradio progress events vary; log what we get + status = str(progress)[:80] + if status != last_status: + print(f" Progress: {status}", file=sys.stderr) + last_status = status + except (json.JSONDecodeError, TypeError): + pass + continue + + if result_data is not None: + break + + except urllib.error.URLError as e: + # Connection dropped — retry after brief pause + time.sleep(2) + continue + except Exception as e: + print(json.dumps({"ok": False, "error": f"Stream error: {e}"}, indent=2)) + sys.exit(1) + + if result_data is None: + print(json.dumps({"ok": False, "error": f"Generation timed out after {timeout}s"}, indent=2)) + sys.exit(1) + + # Step 3: Download the audio file + # Gradio returns file info in the data array + elapsed = round(time.time() - start_time, 1) + print(f" Generation complete ({elapsed}s)", file=sys.stderr) + + try: + # result_data is typically [{"path": "...", "url": "...", ...}] or similar + if isinstance(result_data, list) and len(result_data) > 0: + audio_info = result_data[0] + elif isinstance(result_data, dict) and "data" in result_data: + audio_info = result_data["data"][0] if result_data["data"] else None + else: + audio_info = result_data + + # Extract the file URL + file_url = None + if isinstance(audio_info, dict): + file_url = audio_info.get("url") or audio_info.get("path") + elif isinstance(audio_info, str): + file_url = audio_info + + if not file_url: + print(json.dumps({ + "ok": False, + "error": "Could not extract audio URL from response", + "response": result_data + }, indent=2)) + sys.exit(1) + + # Handle relative URLs + if file_url.startswith("/"): + file_url = f"{base}{file_url}" + elif not file_url.startswith("http"): + file_url = f"{base}/file={file_url}" + + # Download the file + print(f" Downloading to {output}...", file=sys.stderr) + req = urllib.request.Request(file_url, method="GET") + with urllib.request.urlopen(req, timeout=60) as resp: + with open(output, "wb") as f: + shutil.copyfileobj(resp, f) + + file_size = os.path.getsize(output) + print(json.dumps({ + "ok": True, + "file": output, + "size_bytes": file_size, + "duration_requested": duration, + "steps": steps, + "cfg": cfg, + "prompt": prompt, + "generation_time_s": elapsed + }, indent=2)) + + except Exception as e: + print(json.dumps({ + "ok": False, + "error": f"Download failed: {e}", + "response": result_data + }, indent=2)) + sys.exit(1) + +def main(): + if len(sys.argv) < 2: + print("Usage:") + print(" audio_connector.py health") + print(" audio_connector.py generate 'prompt' [--duration N] [--steps N] [--cfg N] [--output file.wav] [--timeout N]") + sys.exit(1) + + cmd = sys.argv[1] + + if cmd == "health": + health() + elif cmd == "generate": + if len(sys.argv) < 3: + print("Error: prompt required", file=sys.stderr) + print("Usage: audio_connector.py generate 'prompt' [--duration N] [--steps N] [--cfg N] [--output file.wav]", file=sys.stderr) + sys.exit(1) + + prompt = sys.argv[2] + duration = 10.0 + steps = 100 + cfg = 7.0 + output = None + timeout = 600 + + # Parse optional args + i = 3 + while i < len(sys.argv): + if sys.argv[i] == "--duration" and i + 1 < len(sys.argv): + duration = float(sys.argv[i + 1]) + i += 2 + elif sys.argv[i] == "--steps" and i + 1 < len(sys.argv): + steps = int(sys.argv[i + 1]) + i += 2 + elif sys.argv[i] == "--cfg" and i + 1 < len(sys.argv): + cfg = float(sys.argv[i + 1]) + i += 2 + elif sys.argv[i] == "--output" and i + 1 < len(sys.argv): + output = sys.argv[i + 1] + i += 2 + elif sys.argv[i] == "--timeout" and i + 1 < len(sys.argv): + timeout = int(sys.argv[i + 1]) + i += 2 + else: + print(f"Unknown argument: {sys.argv[i]}", file=sys.stderr) + sys.exit(1) + + generate(prompt, duration=duration, steps=steps, cfg=cfg, output=output, timeout=timeout) + else: + print(f"Unknown command: {cmd}", file=sys.stderr) + sys.exit(1) + +if __name__ == "__main__": + main() diff --git a/db/connectors/audio_post.py b/db/connectors/audio_post.py new file mode 100644 index 000000000..dcee95c62 --- /dev/null +++ b/db/connectors/audio_post.py @@ -0,0 +1,171 @@ +#!/usr/bin/env python3 +"""Audio post-processing wrapper around ffmpeg. + +Subcommands: + convert — WAV to OGG (libvorbis, quality 6) + normalize — LUFS normalize to -16 LUFS (broadcast standard) + trim — Remove leading/trailing silence + pipeline — trim + normalize + convert (full post-processing chain) + +All operations write to a new file (never overwrites input). +""" + +import argparse +import os +import subprocess +import sys +import shutil +import json + + +def check_ffmpeg(): + if not shutil.which("ffmpeg"): + print(json.dumps({"ok": False, "error": "ffmpeg not found in PATH"})) + sys.exit(1) + + +def run_ffmpeg(args, description): + """Run ffmpeg, capture output, return success.""" + cmd = ["ffmpeg", "-y", "-hide_banner", "-loglevel", "error"] + args + print(f" {description}", file=sys.stderr) + result = subprocess.run(cmd, capture_output=True, text=True) + if result.returncode != 0: + print(json.dumps({ + "ok": False, + "error": f"ffmpeg failed: {result.stderr.strip()}", + "command": " ".join(cmd) + })) + sys.exit(1) + return True + + +def cmd_convert(args): + """Convert WAV to OGG (libvorbis).""" + output = args.output or args.input.rsplit(".", 1)[0] + ".ogg" + run_ffmpeg( + ["-i", args.input, "-c:a", "libvorbis", "-q:a", str(args.quality), output], + f"converting {os.path.basename(args.input)} → {os.path.basename(output)}" + ) + size = os.path.getsize(output) + print(json.dumps({"ok": True, "output": output, "size_bytes": size})) + + +def cmd_normalize(args): + """LUFS normalize audio file.""" + output = args.output or _suffixed(args.input, "_norm") + run_ffmpeg( + ["-i", args.input, "-af", + f"loudnorm=I={args.lufs}:LRA=11:TP=-1", + output], + f"normalizing to {args.lufs} LUFS" + ) + print(json.dumps({"ok": True, "output": output})) + + +def cmd_trim(args): + """Trim leading/trailing silence.""" + output = args.output or _suffixed(args.input, "_trimmed") + af = ( + "silenceremove=start_periods=1:start_silence=0.05" + f":start_threshold={args.threshold}dB," + "areverse," + "silenceremove=start_periods=1:start_silence=0.05" + f":start_threshold={args.threshold}dB," + "areverse" + ) + run_ffmpeg( + ["-i", args.input, "-af", af, output], + f"trimming silence (threshold: {args.threshold}dB)" + ) + print(json.dumps({"ok": True, "output": output})) + + +def cmd_pipeline(args): + """Full post-processing: trim → normalize → convert to OGG.""" + base = args.input.rsplit(".", 1)[0] + trimmed = base + "_trimmed.wav" + normalized = base + "_norm.wav" + output = args.output or base + ".ogg" + + # Step 1: trim + af_trim = ( + "silenceremove=start_periods=1:start_silence=0.05" + f":start_threshold={args.threshold}dB," + "areverse," + "silenceremove=start_periods=1:start_silence=0.05" + f":start_threshold={args.threshold}dB," + "areverse" + ) + run_ffmpeg( + ["-i", args.input, "-af", af_trim, trimmed], + "step 1/3: trimming silence" + ) + + # Step 2: normalize + run_ffmpeg( + ["-i", trimmed, "-af", + f"loudnorm=I={args.lufs}:LRA=11:TP=-1", + normalized], + f"step 2/3: normalizing to {args.lufs} LUFS" + ) + + # Step 3: convert + run_ffmpeg( + ["-i", normalized, "-c:a", "libvorbis", "-q:a", str(args.quality), output], + f"step 3/3: converting to OGG" + ) + + # Clean up intermediates + os.remove(trimmed) + os.remove(normalized) + + size = os.path.getsize(output) + print(json.dumps({"ok": True, "output": output, "size_bytes": size})) + + +def _suffixed(path, suffix): + base, ext = os.path.splitext(path) + return base + suffix + ext + + +def main(): + parser = argparse.ArgumentParser(description="Audio post-processing (ffmpeg wrapper)") + sub = parser.add_subparsers(dest="command", required=True) + + # convert + p = sub.add_parser("convert", help="WAV → OGG") + p.add_argument("input", help="Input WAV file") + p.add_argument("--output", "-o", help="Output file (default: same name .ogg)") + p.add_argument("--quality", "-q", type=int, default=6, help="Vorbis quality 0-10 (default: 6)") + p.set_defaults(func=cmd_convert) + + # normalize + p = sub.add_parser("normalize", help="LUFS normalize") + p.add_argument("input", help="Input audio file") + p.add_argument("--output", "-o", help="Output file") + p.add_argument("--lufs", type=float, default=-16, help="Target LUFS (default: -16)") + p.set_defaults(func=cmd_normalize) + + # trim + p = sub.add_parser("trim", help="Trim silence") + p.add_argument("input", help="Input audio file") + p.add_argument("--output", "-o", help="Output file") + p.add_argument("--threshold", type=int, default=-50, help="Silence threshold in dB (default: -50)") + p.set_defaults(func=cmd_trim) + + # pipeline + p = sub.add_parser("pipeline", help="Full post-processing: trim + normalize + convert") + p.add_argument("input", help="Input WAV file") + p.add_argument("--output", "-o", help="Output OGG file") + p.add_argument("--quality", "-q", type=int, default=6, help="Vorbis quality 0-10 (default: 6)") + p.add_argument("--lufs", type=float, default=-16, help="Target LUFS (default: -16)") + p.add_argument("--threshold", type=int, default=-50, help="Silence threshold in dB (default: -50)") + p.set_defaults(func=cmd_pipeline) + + args = parser.parse_args() + check_ffmpeg() + args.func(args) + + +if __name__ == "__main__": + main() diff --git a/db/connectors/config.json b/db/connectors/config.json index d8386e4c2..1b69b0a7b 100644 --- a/db/connectors/config.json +++ b/db/connectors/config.json @@ -1,7 +1,7 @@ { - "qdrant_url": "http://tower-of-joy:6333", "ollama_url": "http://tower-of-joy:11434", + "stable_audio_url": "http://tower-of-joy:11500", "collection": "commonwealth", "embed_model": "nomic-embed-text", "embed_dimensions": 768 From c5f0694a1bf826291e00214f887c06fcf52fc1b5 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 16 Feb 2026 01:03:45 +0100 Subject: [PATCH 4/8] feat(skills): add gen-audio skill, rename asset-gen to gen-image gen-audio: prompt assembly system (sonic palette + category templates + asset descriptions), SAO generation workflow, post-processing pipeline, manual synthesis guide for sub-200ms insert-tech sounds. Rename asset-gen to gen-image for consistent gen-* naming. Add audio connector permissions to settings. Co-Authored-By: Claude Opus 4.6 --- .claude/settings.json | 4 + .claude/skills/gen-audio/SKILL.md | 187 ++++++++++++++++++ .../references/category-templates.md | 67 +++++++ .../gen-audio/references/sonic-palette.md | 45 +++++ .claude/skills/gen-image/SKILL.md | 2 +- 5 files changed, 304 insertions(+), 1 deletion(-) create mode 100644 .claude/skills/gen-audio/SKILL.md create mode 100644 .claude/skills/gen-audio/references/category-templates.md create mode 100644 .claude/skills/gen-audio/references/sonic-palette.md diff --git a/.claude/settings.json b/.claude/settings.json index b1d7d9b97..8cacc72e8 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -36,6 +36,10 @@ "Bash(db/connectors/sqlite-init)", "Bash(db/connectors/decisions-sync)", + "Bash(db/connectors/audio-generate *)", + "Bash(db/connectors/audio-health)", + "Bash(db/connectors/audio-post *)", + "Bash(make *)", "Bash(make)", diff --git a/.claude/skills/gen-audio/SKILL.md b/.claude/skills/gen-audio/SKILL.md new file mode 100644 index 000000000..5f8d19d3e --- /dev/null +++ b/.claude/skills/gen-audio/SKILL.md @@ -0,0 +1,187 @@ +--- +name: gen-audio +description: > + Generate audio assets for The Settled Reach using the Stable Audio Open API + (self-hosted Gradio app at tower-of-joy:11500). Use when generating any game + audio: ambient loops, SFX, UI sounds, monologue chimes, footsteps, or any + sound asset from docs/assets/audio/. Also use when the user asks about audio + generation, sound design pipeline, or audio asset iteration. Triggers on: + "generate audio", "make sounds", "create ambient", "audio pipeline", + "generate sfx", "stable audio", "gen audio", "sound design". +--- + +# Audio Generation — The Settled Reach + +Generate sonically consistent audio assets using the Stable Audio Open API via +wrapper scripts at `db/connectors/audio-*`. + +Asset descriptions, filenames, bus routing, and design intent are documented in +`docs/assets/audio/`. This skill provides the prompt system, generation +workflow, and quality validation. + +## API Access + +**Never call the API directly.** Use the wrapper scripts: + +```bash +# Check API health +db/connectors/audio-health + +# Generate audio +db/connectors/audio-generate "prompt text" \ + --duration 10 \ + --steps 100 \ + --cfg 7 \ + --output path/to/output.wav \ + --timeout 600 +``` + +### Parameters + +| Parameter | Default | Range | Notes | +|-----------|---------|-------|-------| +| `--duration` | 10 | 0-47s | Max 47s per generation. For longer loops, generate 45s with crossfade overlap. | +| `--steps` | 100 | 10-200 | More steps = better quality, slower. Use 50 for quick previews, 100-150 for final. | +| `--cfg` | 7 | 1-15 | Classifier-free guidance. Higher = more prompt-adherent but less natural. 5-9 is the sweet spot. | +| `--output` | auto | — | Output file path. Auto-names from prompt if omitted. | +| `--timeout` | 600 | — | Max wait in seconds. Generation can take 2-5 minutes on 11GB VRAM. | + +### Critical Constraints + +- **NEVER parallelize requests.** The server has 11GB VRAM and runs one + generation at a time. Always wait for a generation to complete before + starting the next. Sequential only. +- **Generation takes 2-5 minutes** per clip depending on duration and steps. + Be patient. The timeout default (600s) is generous. +- **Max 47 seconds** per generation. For 60-90s ambient loops, generate 45s + clips and crossfade-stitch in post-processing. +- **Output is WAV at 44.1kHz stereo.** Convert to .ogg for Godot import: + `ffmpeg -i input.wav -c:a libvorbis -q:a 6 output.ogg` + +## Prompt Assembly + +Every generation uses three parts: + +``` +[SONIC FAMILY PREFIX] + [CATEGORY TEMPLATE] + [ASSET DESCRIPTION from docs/assets/audio/] +``` + +Never call the API with just the asset description. Always prepend the sonic +family prefix and matching category template. + +- **Sonic palette and families:** Read `references/sonic-palette.md` +- **Category templates:** Read `references/category-templates.md` and match by + asset type (ambient, sfx, ui) +- **Asset description:** Look up the specific asset in `docs/assets/audio/{category}.md` + +## Single Asset Workflow + +1. Find the asset in `docs/assets/audio/{ambient,sfx,ui}.md` — note filename, + duration, bus, method, and design intent. +2. Read `references/sonic-palette.md` for the sonic family prefix. +3. Read `references/category-templates.md` for the matching template. +4. Assemble the full prompt. +5. Run `db/connectors/audio-health` to verify the API is up. +6. Run `db/connectors/audio-generate` with the assembled prompt. **One request + at a time. Wait for completion.** +7. Listen to the output (or describe it based on file size/duration). +8. If acceptable, convert to .ogg and place in `client/assets/audio/`. +9. Update the asset status in `docs/assets/audio/{category}.md`. + +## Iteration Workflow + +For each asset, generate 4-6 candidates: + +1. **Generate candidates** — vary the prompt slightly (add/remove descriptors, + adjust CFG between 5-9). Run each generation sequentially — never in + parallel. +2. **Solo test** — does each candidate sound right alone? +3. **Stack test** — play the candidate alongside other layers. Does it mask or + clash? +4. **Fatigue test** (loops only) — can you listen for 5+ minutes without a + jarring repeat? +5. **Close-your-eyes test** — does it create a mental image or sensation? +6. Select the best candidate, trim, normalize, convert. + +## Post-Processing + +After selecting the best generation: + +```bash +# Trim silence from start/end +ffmpeg -i input.wav -af "silenceremove=start_periods=1:start_silence=0.1:start_threshold=-50dB,areverse,silenceremove=start_periods=1:start_silence=0.1:start_threshold=-50dB,areverse" trimmed.wav + +# LUFS normalize to -16 LUFS (broadcast standard, good for game audio) +ffmpeg -i trimmed.wav -af loudnorm=I=-16:LRA=11:TP=-1 normalized.wav + +# Convert to .ogg for Godot +ffmpeg -i normalized.wav -c:a libvorbis -q:a 6 output.ogg + +# For loops: verify loop point +ffplay -loop 0 output.ogg +``` + +For ambient loops, create crossfade overlap: +```bash +# Create a 45s loop with 3s crossfade overlap +# (manual: export 48s, crossfade first 3s with last 3s in Audacity) +``` + +## Manual Synthesis (Insert-Tech Sounds) + +For sounds under 200ms (cursor hover, weapon aim), Stable Audio Open cannot +produce meaningful output. Use manual synthesis instead: + +```python +# Example: 50ms cursor hover tick +import numpy as np +import wave + +sr = 44100 +duration = 0.05 # 50ms +t = np.linspace(0, duration, int(sr * duration), endpoint=False) +freq = 3200 # Hz +signal = np.sin(2 * np.pi * freq * t) +envelope = np.exp(-t * 80) # exponential decay +audio = (signal * envelope * 32767).astype(np.int16) + +with wave.open("cursor_hover.wav", "w") as f: + f.setnchannels(1) + f.setsampwidth(2) + f.setframerate(sr) + f.writeframes(audio.tobytes()) +``` + +## Quality Checklist + +After generating, verify: +- Sound matches the sonic family (insert-tech = synthetic/precise, organic = warm/natural) +- Frequency range doesn't mask other layers (check docs/assets/audio/palette.md) +- Duration matches spec +- No unwanted artifacts (clicks, pops, digital noise at start/end) +- Loop point is clean (ambient loops only) +- Volume sits well relative to other assets (LUFS normalized) +- Passes the close-your-eyes test + +## File Placement + +Generated assets go to `client/assets/audio/` with exact filenames from the +asset docs: + +``` +client/assets/audio/ + amb_station_base.ogg # Ambient bus + amb_workplace_layer.ogg # Ambient bus + amb_bar_layer.ogg # Ambient bus + amb_corridor_layer.ogg # Ambient bus + sfx_footstep_metal.ogg # Player Actions bus + sfx_footstep_metal_run.ogg # Player Actions bus + cursor_hover.ogg # UI Sounds bus + implant_open.ogg # UI Sounds bus + fog_recognition.ogg # UI Sounds bus + weapon_aim.ogg # UI Sounds bus + sfx_monologue_chime.ogg # UI Sounds bus + sfx_monologue_chime_urgent.ogg # UI Sounds bus +``` + +AudioManager discovers these by directory scan — filenames must match exactly. diff --git a/.claude/skills/gen-audio/references/category-templates.md b/.claude/skills/gen-audio/references/category-templates.md new file mode 100644 index 000000000..4dafd7e3b --- /dev/null +++ b/.claude/skills/gen-audio/references/category-templates.md @@ -0,0 +1,67 @@ +# Category Templates — Audio Generation + +Match the asset's category to the right template. Append after the sonic family +prefix and before the specific asset description. + +## Ambient Loops + +**Template:** +> Continuous ambient soundscape loop, seamless looping audio, no distinct +> beginning or end, steady background atmosphere, [DURATION]s duration + +**Notes:** +- Generate at 45s (the SAO sweet spot below the 47s ceiling) +- Add 3-5s of overlap material for crossfade looping in post +- These play continuously — they must be boring enough to fade into the + background but rich enough to reward attention +- Station baseline prefix is required (see sonic-palette.md) + +**Steps:** 100-150 (higher quality for loops — artifacts are more noticeable) +**CFG:** 5-7 (lower guidance = more natural variation, less mechanical) + +## Sound Effects (SFX) + +**Template:** +> Single isolated sound effect, clean recording, [DURATION] duration, +> clear attack and natural decay, no background noise, no reverb tail +> beyond natural + +**Notes:** +- For footsteps: specify surface material, pace, weight +- For environmental: specify the physical mechanism (door hinge, cargo latch) +- Keep short and punchy — these are event-driven, not continuous + +**Steps:** 80-100 (shorter sounds need fewer steps) +**CFG:** 7-9 (more guidance = more precise sound matching) + +## UI Sounds + +**Template:** +> Interface feedback sound, digital UI element, [DURATION] duration, +> immediate attack, clean decay, isolated sound with no background + +**Notes:** +- Most UI sounds are under 200ms — use manual synthesis, not SAO +- For SAO-generated UI sounds (>200ms like fog_recognition, chimes): + generate at 3-5s duration, then trim to the best portion +- Insert-tech prefix is required for lattice/interface sounds +- Organic prefix for fog_recognition (cognitive, not technological) + +**Steps:** 80-100 +**CFG:** 7-9 (precision matters for UI sounds) + +## Chimes / Notification Sounds + +**Template:** +> Single musical tone, crystalline quality, [DURATION] duration, gentle +> attack, resonant sustain, natural fade out, no accompaniment, no rhythm + +**Notes:** +- Generate at 3-5s to give SAO enough temporal context +- Trim to the best 0.5-1.0s section +- The attack transient is where the character lives — select for that +- Normal vs urgent variants: same base prompt, vary "gentle/soft" vs + "brighter/sharper/more present" + +**Steps:** 100 (tonal quality matters) +**CFG:** 6-8 (some freedom for natural harmonic content) diff --git a/.claude/skills/gen-audio/references/sonic-palette.md b/.claude/skills/gen-audio/references/sonic-palette.md new file mode 100644 index 000000000..d9d2751d8 --- /dev/null +++ b/.claude/skills/gen-audio/references/sonic-palette.md @@ -0,0 +1,45 @@ +# Sonic Palette — Prompt Prefixes + +Two sonic families. Every generated sound uses one of these as a prompt prefix. + +## Insert-Tech (Synthetic) + +For UI sounds, neural lattice interface, augmented cognition. + +**Prompt prefix:** +> Clean digital audio, synthetic electronic tone, precise and clinical sound +> design, no reverb, no room ambience, studio-dry recording, futuristic +> interface sound + +**Character:** Mathematical precision. The sound of well-designed technology. +No organic texture, no room reflections. Exists "inside the head," not in +physical space. + +**Frequency range:** 800Hz-4kHz primary. Sharp attack, controlled decay. + +**Used for:** cursor_hover, implant_open, weapon_aim, sfx_monologue_chime, +sfx_monologue_chime_urgent + +## Organic (Biological/Environmental) + +For environmental sounds, human cognition, physical world. + +**Prompt prefix:** +> Warm organic audio, natural sound recording, slight room ambience, +> lived-in industrial space, realistic acoustic properties, authentic +> environmental sound + +**Character:** Human warmth. Natural attack and decay. Reverberant — exists +in physical space. The sound of a real place with real materials. + +**Frequency range:** 60Hz-3kHz primary. Soft or natural attack, room tail. + +**Used for:** fog_recognition, all amb_* ambient loops, all sfx_footstep_* + +## Station Baseline + +For ambient loops specifically, add the station context: + +> Interior of a large industrial space station, metal and composite +> construction, background mechanical hum from power systems, air circulation +> audible, no music, no prominent voices unless specified diff --git a/.claude/skills/gen-image/SKILL.md b/.claude/skills/gen-image/SKILL.md index 8aaaa2c9f..d91004e4e 100644 --- a/.claude/skills/gen-image/SKILL.md +++ b/.claude/skills/gen-image/SKILL.md @@ -1,5 +1,5 @@ --- -name: asset-gen +name: gen-image description: > Generate themed visual assets for the Lords of Ash CK3 total conversion mod using the generate_image MCP tool (Nano Banana / Gemini 2.5 Flash Image). From d0d545f44d5ab8818d8caafa062c6a2a23f03880 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 16 Feb 2026 01:04:44 +0100 Subject: [PATCH 5/8] feat(audio): add dip spec and synthesis tooling for #440 dialogue-ambient-dip.md: full Godot implementation spec for dialogue (-7dB ambient) and confrontation (-11dB ambient + LP 800Hz, -5dB world SFX) audio dips with tween code and edge case handling. synth_ui_sounds .py: FM/noise/impulse synthesis for insert-tech UI sounds (cursor hover, weapon aim, monologue chimes). Co-Authored-By: Claude Opus 4.6 --- docs/audio/dialogue-ambient-dip.md | 242 +++++++++++++++++++++++++++++ tooling/synth_ui_sounds.py | 206 ++++++++++++++++++++++++ 2 files changed, 448 insertions(+) create mode 100644 docs/audio/dialogue-ambient-dip.md create mode 100644 tooling/synth_ui_sounds.py diff --git a/docs/audio/dialogue-ambient-dip.md b/docs/audio/dialogue-ambient-dip.md new file mode 100644 index 000000000..5b665b4f2 --- /dev/null +++ b/docs/audio/dialogue-ambient-dip.md @@ -0,0 +1,242 @@ +# Dialogue & Confrontation Ambient Dip — Implementation Spec + +Audio bus volume/filter changes for dialogue and confrontation states. These are NOT audio files — they're mix parameter changes applied to AudioBus volumes and effects in Godot's AudioServer. + +**Ticket:** #440 +**Decisions:** D-068 (5-bus architecture), D-069 (dip profiles), D-070 (confrontation as cognitive vulnerability) +**Branch:** client (AudioManager implementation), audio (this spec) + +## Bus Architecture Reference + +| Bus Index | Name | Purpose | +|-----------|------|---------| +| 0 | Master | Final mix output | +| 1 | Music | Score (empty for now) | +| 2 | Ambient | amb_* loops, environmental background | +| 3 | World SFX | Positional sounds in physical space | +| 4 | Player Actions | Combat, footsteps, interaction SFX | +| 5 | UI Sounds | Non-positional interface feedback | + +## Dialogue Dip + +**Trigger:** Dialogue box opens (client #434) +**Release:** Dialogue box closes + +| Parameter | Value | +|-----------|-------| +| Ambient bus volume | -6 to -8 dB (from current) | +| Ease-in duration | 300ms | +| Ease-out duration | 500ms | +| Easing curve | Cubic ease-in-out | +| Affected buses | Ambient only | + +### Godot Implementation + +```gdscript +# In AudioManager (autoload singleton) + +const DIALOGUE_DIP_DB := -7.0 # midpoint of -6 to -8 range +const DIALOGUE_DIP_IN_MS := 300.0 +const DIALOGUE_DIP_OUT_MS := 500.0 + +var _ambient_bus_idx: int +var _ambient_base_volume_db: float +var _dip_tween: Tween + +func _ready() -> void: + _ambient_bus_idx = AudioServer.get_bus_index("Ambient") + _ambient_base_volume_db = AudioServer.get_bus_volume_db(_ambient_bus_idx) + +func dialogue_dip_start() -> void: + _cancel_dip_tween() + var target := _ambient_base_volume_db + DIALOGUE_DIP_DB + _dip_tween = create_tween() + _dip_tween.tween_method( + _set_ambient_volume, + AudioServer.get_bus_volume_db(_ambient_bus_idx), + target, + DIALOGUE_DIP_IN_MS / 1000.0 + ).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC) + +func dialogue_dip_end() -> void: + _cancel_dip_tween() + _dip_tween = create_tween() + _dip_tween.tween_method( + _set_ambient_volume, + AudioServer.get_bus_volume_db(_ambient_bus_idx), + _ambient_base_volume_db, + DIALOGUE_DIP_OUT_MS / 1000.0 + ).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC) + +func _set_ambient_volume(db: float) -> void: + AudioServer.set_bus_volume_db(_ambient_bus_idx, db) + +func _cancel_dip_tween() -> void: + if _dip_tween and _dip_tween.is_valid(): + _dip_tween.kill() +``` + +### Signal Wiring + +```gdscript +# In DialogueBox or wherever dialogue state is managed: +func _open_dialogue() -> void: + # ... show dialogue UI ... + AudioManager.dialogue_dip_start() + +func _close_dialogue() -> void: + # ... hide dialogue UI ... + AudioManager.dialogue_dip_end() +``` + +## Confrontation Dip + +**Trigger:** Confrontation dialogue begins (client #434, confrontation variant) +**Release:** Confrontation dialogue ends +**Design intent (D-070):** "Felt, not computed." The player's focus narrows — the world acoustically recedes. This is cognitive vulnerability made audible. + +| Parameter | Value | +|-----------|-------| +| Ambient bus volume | -11 dB (midpoint of -10 to -12) | +| Ambient bus low-pass filter | 800 Hz cutoff, 6 dB resonance | +| World SFX bus volume | -5 dB (midpoint of -4 to -6) | +| Ease-in duration | 500ms | +| Ease-out duration | 1000ms | +| Easing curve | Cubic ease-in-out | +| Affected buses | Ambient, World SFX | + +### Godot Implementation + +The confrontation dip adds a low-pass filter effect to the Ambient bus. This must be set up in the Godot AudioBus layout (Project → Audio Bus Layout): + +**Bus setup (audio bus layout .tres):** +1. Add `AudioEffectLowPassFilter` to the Ambient bus +2. Set it to **bypassed by default** (effect is inactive until confrontation) +3. Default cutoff: 20500 Hz (fully open) + +```gdscript +const CONFRONTATION_AMBIENT_DIP_DB := -11.0 +const CONFRONTATION_SFX_DIP_DB := -5.0 +const CONFRONTATION_LP_CUTOFF_HZ := 800.0 +const CONFRONTATION_LP_OPEN_HZ := 20500.0 +const CONFRONTATION_DIP_IN_MS := 500.0 +const CONFRONTATION_DIP_OUT_MS := 1000.0 + +var _world_sfx_bus_idx: int +var _world_sfx_base_volume_db: float +var _ambient_lp_effect_idx: int # index of the LP filter on Ambient bus +var _confrontation_tween: Tween + +func _ready() -> void: + # ... (ambient bus setup from dialogue dip above) ... + _world_sfx_bus_idx = AudioServer.get_bus_index("World SFX") + _world_sfx_base_volume_db = AudioServer.get_bus_volume_db(_world_sfx_bus_idx) + # Find the LP filter effect index on the Ambient bus + for i in range(AudioServer.get_bus_effect_count(_ambient_bus_idx)): + if AudioServer.get_bus_effect(_ambient_bus_idx, i) is AudioEffectLowPassFilter: + _ambient_lp_effect_idx = i + break + +func confrontation_dip_start() -> void: + _cancel_confrontation_tween() + + # Enable the LP filter + AudioServer.set_bus_effect_enabled(_ambient_bus_idx, _ambient_lp_effect_idx, true) + + var amb_target := _ambient_base_volume_db + CONFRONTATION_AMBIENT_DIP_DB + var sfx_target := _world_sfx_base_volume_db + CONFRONTATION_SFX_DIP_DB + var dur := CONFRONTATION_DIP_IN_MS / 1000.0 + + _confrontation_tween = create_tween() + _confrontation_tween.set_parallel(true) + + # Ambient volume dip + _confrontation_tween.tween_method( + _set_ambient_volume, + AudioServer.get_bus_volume_db(_ambient_bus_idx), + amb_target, dur + ).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC) + + # World SFX volume dip + _confrontation_tween.tween_method( + _set_world_sfx_volume, + AudioServer.get_bus_volume_db(_world_sfx_bus_idx), + sfx_target, dur + ).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC) + + # Low-pass filter sweep + var lp_effect: AudioEffectLowPassFilter = AudioServer.get_bus_effect( + _ambient_bus_idx, _ambient_lp_effect_idx + ) + _confrontation_tween.tween_property( + lp_effect, "cutoff_hz", + CONFRONTATION_LP_CUTOFF_HZ, dur + ).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC) + +func confrontation_dip_end() -> void: + _cancel_confrontation_tween() + var dur := CONFRONTATION_DIP_OUT_MS / 1000.0 + + _confrontation_tween = create_tween() + _confrontation_tween.set_parallel(true) + + # Restore ambient volume + _confrontation_tween.tween_method( + _set_ambient_volume, + AudioServer.get_bus_volume_db(_ambient_bus_idx), + _ambient_base_volume_db, dur + ).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC) + + # Restore world SFX volume + _confrontation_tween.tween_method( + _set_world_sfx_volume, + AudioServer.get_bus_volume_db(_world_sfx_bus_idx), + _world_sfx_base_volume_db, dur + ).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC) + + # Open LP filter back up + var lp_effect: AudioEffectLowPassFilter = AudioServer.get_bus_effect( + _ambient_bus_idx, _ambient_lp_effect_idx + ) + _confrontation_tween.tween_property( + lp_effect, "cutoff_hz", + CONFRONTATION_LP_OPEN_HZ, dur + ).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC) + + # Disable LP filter after tween completes + _confrontation_tween.chain().tween_callback(func(): + AudioServer.set_bus_effect_enabled( + _ambient_bus_idx, _ambient_lp_effect_idx, false + ) + ) + +func _set_world_sfx_volume(db: float) -> void: + AudioServer.set_bus_volume_db(_world_sfx_bus_idx, db) + +func _cancel_confrontation_tween() -> void: + if _confrontation_tween and _confrontation_tween.is_valid(): + _confrontation_tween.kill() +``` + +## Edge Cases + +### Confrontation during dialogue +Confrontation dip supersedes dialogue dip (it's deeper). If dialogue is active when confrontation starts, skip directly to confrontation levels. When confrontation ends, restore to dialogue dip levels (not base), then to base when dialogue ends. + +### Rapid open/close +The tween-kill-and-restart pattern handles this — a new dip start/end always kills the current tween and starts from the current actual volume, preventing jarring jumps. + +### Player volume slider interaction +Dips are RELATIVE to `_ambient_base_volume_db`. If the player adjusts their Ambient slider mid-dip, update `_ambient_base_volume_db` and recalculate the target. The `AudioManager` settings save/load system should call a method to refresh base volumes. + +## ListeningFocus Boost (D-069) + +When the player is in active listening mode (future sprint), World SFX gets a +2-3 dB boost instead of a dip. This is the inverse of confrontation — the character is paying MORE attention to the environment. + +| Parameter | Value | +|-----------|-------| +| World SFX bus volume | +2.5 dB (midpoint of +2 to +3) | +| Ease-in | 200ms | +| Ease-out | 300ms | + +Implementation follows the same tween pattern. Mutually exclusive with confrontation dip. diff --git a/tooling/synth_ui_sounds.py b/tooling/synth_ui_sounds.py new file mode 100644 index 000000000..361bcab1f --- /dev/null +++ b/tooling/synth_ui_sounds.py @@ -0,0 +1,206 @@ +#!/usr/bin/env python3 +"""Synthesize insert-tech UI sounds for Sprint 7 #440. + +Each sound uses a DIFFERENT synthesis technique to ensure distinct character: +- cursor_hover: impulse → resonant bandpass (digital click) +- weapon_aim: filtered noise + sub thump (mechanical) +- monologue_chime: FM synthesis (crystalline bell) +- monologue_chime_urgent: FM synthesis + beating/dissonance (tense bell) +""" + +import numpy as np +import wave +import os + +SR = 44100 +OUTPUT_DIR = os.path.join(os.path.dirname(__file__), "..", "client", "assets", "audio") + + +def write_wav(filename, samples, channels=1): + """Write float samples [-1, 1] to 16-bit WAV.""" + path = os.path.join(OUTPUT_DIR, filename) + # Normalize to peak if it exceeds 1.0 + peak = np.max(np.abs(samples)) + if peak > 1.0: + samples = samples / peak + int_samples = np.clip(samples * 32767, -32767, 32767).astype(np.int16) + with wave.open(path, "w") as f: + f.setnchannels(channels) + f.setsampwidth(2) + f.setframerate(SR) + f.writeframes(int_samples.tobytes()) + dur_ms = len(int_samples) / SR * 1000 + print(f" wrote {path} ({dur_ms:.0f}ms, {channels}ch)") + return path + + +def simple_lowpass(signal, cutoff_hz, sr=SR): + """Single-pole IIR low-pass filter.""" + rc = 1.0 / (2 * np.pi * cutoff_hz) + dt = 1.0 / sr + alpha = dt / (rc + dt) + out = np.zeros_like(signal) + out[0] = alpha * signal[0] + for i in range(1, len(signal)): + out[i] = out[i - 1] + alpha * (signal[i] - out[i - 1]) + return out + + +def simple_highpass(signal, cutoff_hz, sr=SR): + """Single-pole IIR high-pass filter.""" + rc = 1.0 / (2 * np.pi * cutoff_hz) + dt = 1.0 / sr + alpha = rc / (rc + dt) + out = np.zeros_like(signal) + out[0] = signal[0] + for i in range(1, len(signal)): + out[i] = alpha * (out[i - 1] + signal[i] - signal[i - 1]) + return out + + +def cursor_hover(): + """UI-001: Digital click/tick on entity hover. + + Technique: Short noise impulse bandpass-filtered to ~4kHz. + Sounds like a tiny digital snap — no sustained tone at all. + The "click" of a selection appearing on a HUD. + """ + duration = 0.035 # 35ms — shorter than before + n = int(SR * duration) + t = np.linspace(0, duration, n, endpoint=False) + rng = np.random.default_rng(77) + + # White noise impulse + impulse = rng.uniform(-1, 1, n) + + # Bandpass around 4kHz: high-pass at 3kHz, low-pass at 5kHz + filtered = simple_highpass(impulse, 3000) + filtered = simple_lowpass(filtered, 5500) + + # Very fast decay — done in 25ms + envelope = np.exp(-t * 140) + + return write_wav("cursor_hover.wav", filtered * envelope * 0.3) + + +def weapon_aim(): + """UI-004: Mechanical latch for weapon aim. + + Technique: Low-pass filtered noise burst (the clack) + sub-bass + thump (the weight). No musical pitch — this is a MECHANICAL sound. + Think: safety clicking off, bolt sliding home. + """ + duration = 0.15 # 150ms + n = int(SR * duration) + t = np.linspace(0, duration, n, endpoint=False) + rng = np.random.default_rng(42) + + # Component 1: Low-pass noise burst — the metallic clack + noise = rng.uniform(-1, 1, n) + # Low-pass at 1.5kHz — dull, heavy impact, not bright + clack = simple_lowpass(noise, 1500) + clack_env = np.exp(-t * 60) # fast decay + clack = clack * clack_env + + # Component 2: Sub-bass thump — weight of the mechanism + # 80Hz sine, very fast decay + thump = np.sin(2 * np.pi * 80 * t) + thump_env = np.exp(-t * 40) + thump = thump * thump_env + + # Component 3: High metallic click at the very start (2ms) + click = rng.uniform(-1, 1, n) + click = simple_highpass(click, 4000) + click_env = np.zeros(n) + click_mask = t < 0.003 + click_env[click_mask] = np.exp(-t[click_mask] * 800) + click = click * click_env + + signal = clack * 0.4 + thump * 0.35 + click * 0.25 + return write_wav("weapon_aim.wav", signal * 0.45) + + +def monologue_chime(): + """UI-005: Crystalline thought-chime. PLACEHOLDER. + + Technique: FM synthesis — carrier modulated by a lower frequency + creates rich, evolving harmonics that sound like struck glass or + crystal. Fundamentally different timbre from additive sine waves. + """ + duration = 0.75 # 750ms + n = int(SR * duration) + t = np.linspace(0, duration, n, endpoint=False) + + # FM synthesis: carrier at 1200Hz, modulator at 420Hz (ratio ~2.86:1) + # Inharmonic ratio = bell-like quality + f_carrier = 1200 + f_mod = 420 + # Mod index decays over time — bright attack, mellow sustain + mod_index = 3.0 * np.exp(-t * 6) + # Modulator signal + modulator = mod_index * np.sin(2 * np.pi * f_mod * t) + # Carrier with FM + signal = np.sin(2 * np.pi * f_carrier * t + modulator) + + # Gentle attack (20ms), slow decay + attack = np.minimum(t / 0.02, 1.0) + decay = np.exp(-t * 3.0) + envelope = attack * decay + + return write_wav("sfx_monologue_chime.wav", signal * envelope * 0.22) + + +def monologue_chime_urgent(): + """UI-006: Urgent thought-chime. PLACEHOLDER. + + Technique: FM synthesis with higher mod index (brighter/harsher) + + a second detuned carrier that creates beating/tension. The beating + is what makes it feel "urgent" — not louder, but unsettled. + """ + duration = 0.5 # 500ms — shorter + n = int(SR * duration) + t = np.linspace(0, duration, n, endpoint=False) + + f_carrier = 1200 + f_mod = 420 + + # Higher mod index = more sidebands = brighter, more aggressive + mod_index = 5.0 * np.exp(-t * 7) + modulator = mod_index * np.sin(2 * np.pi * f_mod * t) + + # Primary carrier + carrier1 = np.sin(2 * np.pi * f_carrier * t + modulator) + + # Second carrier, detuned +8Hz — creates beating at 8Hz (nervous flicker) + carrier2 = np.sin(2 * np.pi * (f_carrier + 8) * t + modulator * 0.8) + + signal = carrier1 * 0.6 + carrier2 * 0.4 + + # Sharp attack (6ms), faster decay + attack = np.minimum(t / 0.006, 1.0) + decay = np.exp(-t * 4.0) + envelope = attack * decay + + # 15% louder than normal + return write_wav("sfx_monologue_chime_urgent.wav", signal * envelope * 0.25) + + +if __name__ == "__main__": + os.makedirs(OUTPUT_DIR, exist_ok=True) + print("Synthesizing UI sounds for Sprint 7 #440...") + print() + + print("[UI-001] cursor_hover — bandpass noise impulse (digital click)") + cursor_hover() + + print("[UI-004] weapon_aim — filtered noise + sub thump (mechanical latch)") + weapon_aim() + + print("[UI-005] sfx_monologue_chime — FM synthesis bell (PLACEHOLDER)") + monologue_chime() + + print("[UI-006] sfx_monologue_chime_urgent — FM + beating (PLACEHOLDER)") + monologue_chime_urgent() + + print() + print("Done. Convert with: db/connectors/audio-post convert ") From 6035d2049ac20cf5e26247430909d9b259e2425e Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 16 Feb 2026 01:22:56 +0100 Subject: [PATCH 6/8] feat(audio): add 6 interaction UI audio assets for #440 Generated via Stable Audio Open with sonic family prompt prefixes: - cursor_hover.ogg (insert-tech, digital click) - weapon_aim.ogg (insert-tech, mechanical latch sketch) - implant_open.ogg (insert-tech, neural lattice rising tone) - fog_recognition.ogg (organic, cognitive realization chime) - sfx_monologue_chime.ogg (insert-tech, placeholder per D-071) - sfx_monologue_chime_urgent.ogg (insert-tech, placeholder per D-071) All assets need duration trimming in next audio sprint (#453). Updated docs/assets/audio/ui.md status to draft. Co-Authored-By: Claude Opus 4.6 --- client/assets/audio/cursor_hover.ogg | Bin 0 -> 9300 bytes client/assets/audio/fog_recognition.ogg | Bin 0 -> 95998 bytes client/assets/audio/implant_open.ogg | Bin 0 -> 81833 bytes client/assets/audio/sfx_monologue_chime.ogg | Bin 0 -> 75349 bytes .../audio/sfx_monologue_chime_urgent.ogg | Bin 0 -> 163657 bytes client/assets/audio/weapon_aim.ogg | Bin 0 -> 50303 bytes docs/assets/audio/ui.md | 17 ++++++++--------- 7 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 client/assets/audio/cursor_hover.ogg create mode 100644 client/assets/audio/fog_recognition.ogg create mode 100644 client/assets/audio/implant_open.ogg create mode 100644 client/assets/audio/sfx_monologue_chime.ogg create mode 100644 client/assets/audio/sfx_monologue_chime_urgent.ogg create mode 100644 client/assets/audio/weapon_aim.ogg diff --git a/client/assets/audio/cursor_hover.ogg b/client/assets/audio/cursor_hover.ogg new file mode 100644 index 0000000000000000000000000000000000000000..21ede3d82b9d868590b07395b74f6ff815a1486d GIT binary patch literal 9300 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 YvmZkSG3xhGHR4MBR%;WkER4{90mX#>rT_o{ literal 0 HcmV?d00001 diff --git a/client/assets/audio/fog_recognition.ogg b/client/assets/audio/fog_recognition.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b63b891bdb391b3aba7dbaf22149aa71c10724d9 GIT binary patch literal 95998 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 aY*y6ryX7)4u#d&^WcBEob7P@={}}+`J%fJ$ literal 0 HcmV?d00001 diff --git a/client/assets/audio/implant_open.ogg b/client/assets/audio/implant_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..01ff318f949892f76aa7bb2a6484124120e51f71 GIT binary patch literal 81833 zcmbTd1z1#H_b+~ikxmIok?!th08zRG1f;t`LK=n;0qO3Pl28r!kPswAMCzX5 z`@Zk*z4!k-_dd^mbLMc?K6~$3d#%rkz0VnS8=GeU3h=Me8KZKHycAV|MnI?`uUy>B z?c9+SD8Ru#jc#slZ;=(P5OrkF{}g0T2uQKSZR8P1gN^>HyoCNU5Ds`>#q5=}5HFW7 z7cUPFvi&3QW94k&Vrk_j3Er~+@9~O)H+g9s?acq_20{JjKfA1)E(E{;JMgN|^uZ_N zbpU_>08ANJ@sg|+S&NekSbWlx6_8hbJdx?ik$q$q(Y*ctKG6tRk^sOx0M3FLTePKU zKQ3xR#vJRGFKVYIQc8m!rMWJO`SFa&!nvfe#KC!-l@SA19~C)sm;&uGks zghP`^aEf34nYOA9SUioMzp`3*<+<=GKtKKUi`D@B*4HmSzcxC5ZAKRUuj5a^+Bx#L zn>q~y$fp-g-C!-GqbU3)S_lmbuS5YXks_hNOr&E?EK)47wy(C!YPNmf>@-r(F;b6n z*93roO^_wuF0r?0D$pQ^}VDT0;QqFIpZey++A|PU3CEz1yUma z_Y!=E7jPo9Io7H6a18!^^>8gv{d-vD*VI-Jp$pD~%~KCXz9S^UqH4`CL1RrxenN4}kn*H3N+wzHeg zL@!^|1N-VvW^R?W5rbEe$yv-zZQB2g_b*tK8)uJy5d8}Fi2Rb}(1vLQUR_vbAB;6ypz(Bp3eJ1PA384vyMKdR+Eul@K_K3qv%I6(qeMcP=`$VZcR6~oLx!5D*Zss%q z5Jqr^;(wp+p!^St-z7$|4YM?i@{MpHPnEsnVtci{1adgMAc{EzK@`U{ZRNUGiz+x2 zH_aQc7bj~eu@?VhQJ_+3EaPR+$nT6KJl$=WwG_09|5n@)!^HiEQ~z~L98+l$GJ?kx zALlcENgZvS=dYaf(>#}2UK@S(Tw4fOTZl0s4gWuZ^&iUtK%)t}v&m%hXx@SBP&HZ1 ze-!+0%XvvWkU%w*z@S{upgPSlb|RpDDlkPPuPLDVjKpY)#B=6>)iWWZ89}QV9jm!l zR*TJ6FIochoBw4n|Cr6%g6Dr(4$?&EL}ND;67T(w<>a%(eiMnMS4?EkPh|2*wTa9u z&&b^^FU0ykEXOvgG(D;`B5FG#mL)RPE;6&Ct0-%Z|Q1E_RQW;qGtMl4bdT0lK|=fF=N-Dbgu2D4qxuD*R#?qmPof4`=X|h}%}o z9X$1>1{8^Xs3(#hCu|=}fbju>2Yw#N7SOVzz(pXyTLvF$#S@9dO&}Usk$yM_6aXewW>O;y_X*_}tTL;y7v@x+HAfb* z6a9-M(V0svFX4QqqrcT&kE8!UN2fWX!tviE8p!=!ftOV@tLj)~*bnn9q*x8s|BEaK z$tI8l05}94fCEIsFi?aLI12#0`KFf&ify2dLzPH1)rJ*s>p2w(~Ty!R!CGT8j|F=$Fj8+xhRk%cT^Sg2qFN1V7b zuo-Qg)MC3_=BPs3%!-PNNr8W=K{$Z}Bb!!Kv~z*_1EB@h8Ifjg`5;^VXs^bWP$yP> zren0=iA)Xtw*vZQDiP4pU5%XY`pQX)tCVU}XBUAB9&)?GkXDo+OMsEW0fKr&W~ zjS=j|3;<;a2tb2)k}!t(Bm@gr9}{?o0+3M+)PsUknG)bsoEFd|mIno;oQM>Jrl3xW zl^s$zpkzR?fTBeL_lHkOc?IYow4eV10d4d=^?#%S0oF0`02r!JWvr`~zym$oK_!3& z1QjnDttF1^AXyl(ECy>a0U-eJtb8AjP|lh z$gGTjwwTOfl=n@%7BWfGj^gd7vcLmb2Xi)bT5y2v>`(∾hk{IqtC_uVIs-1L^Jr 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 WbAEQ|$pkz9=;?5&8g@|~0Q?V`Hq6`r literal 0 HcmV?d00001 diff --git a/client/assets/audio/sfx_monologue_chime.ogg b/client/assets/audio/sfx_monologue_chime.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b46bfdb7c4458d520537310e2485281433207661 GIT binary patch literal 75349 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⪚GqfKwO)BVA@EFFwZ-1Qx z2UH$Ddv`v=_Up5=N&L8fS{b?zJ(n@qmW0B1q!z zBE#v?%-)#wJ~sI%;+Ag(qM~{nvv!#g2wiWtPdrUjT=IYOylcs8I_=b86|i6h1T|io z7q_R+eFJLZfDHUJ^4xy=G0Eu)UIBPa3<>Ug+aObAagUP;Uc5 z2{k#eT|I%EndOn#JQfmhqT5+8xlH2aL%7fOJ-Rh`*VXJ#d3@$hsGmF!C|>~OOhCHg z>PHL%1|J%MoiL?{BCfB^(ZUG+%ClXB!|=no4MD+f%JOKlnht%-ltJUH@D}6aRY!!GZnB+@4r^f}NvuA+W&c4!$)A~A z9-I5=rLp=O zR^l9p^a`@>5SIX)YdjhYKqugjXde?5$rP1t>4@L}X+}FoKJF8o=?g0RfK=;JgU2## z4QwxASYgm9q~wNaqT<;xNFBR2?vQ&+zHE5XkY)Sg+X;>^h4;n^)NLe3g}r-UDL{x) z7d)hd#t#+Hiz)!`eymv3`tU^zEj6KHL!(guA_9+M5T)epm-#_)`c9+G_0c*7a#Ur` zIovl|wOEl}M37p|H28LmIT?dwfFA!+xxZ=%I(nBDaTB` z*BcSb`uA8_VEb7J@j>sgp1$2bwvpo&8;^K*U&-L1V)_h{sa zGi!zzWt0M*)$X|9RdgSh^lqs!j^j69%|Yns;iV9Y;hotQR{W00^+-{Bv|p3433vlD z+hRbMc1A1edpSaLvXe5xAcPhEd`NM+E<%3l2(cW8iWW2wDix>0`2*RU)i-rOa zn+U6rq3t{E3VjfjNK4Bi7;5)#;4B&hP-$Qsl9pKN=?d6Q4S;BvyATmKUOkYdZ(+ zP4H8bF&A;a$LI~P5yNY%bnwKVKZ?Z zK!{t^@5h3y)k#GtJa35CW99>|_sbplkZ$SK4v+iP_h<|ch)D#xu!y;={nDxi#Pvrn zQJH!mEo}w@;X}axY003|`gBr* zJThoEj2e)m6rC}V=G=3B49N-CE*U(u^h!5mQIlU9CK@YljAES^H z$2;7n{@=)4LH%JRgDB#rUm8jbLwb5;j~#XgK;!8)?t%MEE6Zx|3D zZ!utsK^Cj9V(6jBN7Or)14X8KkattNrY=eiT!gKWLvK!+++lOr2mbz`|c91EE3Q z%Fz}scn(Gh{x>ZSa<3mh1dBBzROMvS83)-BPyjKA)v{@*zjfiQ-KN&Tb!&tE6qvDZ zo)7?Sydu#Vl?VFAdb@q-W^FUKf_xYe|5`)!QeGFnK zZaXv%q%UXjM52zqXo$jeqbRhSM_(Y_^i+oJk6olYKZ?ELJHwf_cf@86;IH$c5r+s# zzAF6|{d%%W{RkiP`+UpQ!YlQpR;9Y^-;Rg2@7$NdhSyy_wu@(5T!g20X$QZVt`bWb zzz->WPh~ede-${hTX`H>ec4@~F@OIqKXWv;+89TLD^t9*sR5%jPj@#F

Vmp?~JfCO6 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

k*Y$8*BJDG#)ZQRjOKqZY0&t`^=N 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

Jf^8{F&@$lhrp?ZNA_3tC0Q$qY3`+06RdAL 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 literal 0 HcmV?d00001 diff --git a/client/assets/audio/weapon_aim.ogg b/client/assets/audio/weapon_aim.ogg new file mode 100644 index 0000000000000000000000000000000000000000..104becc8ecc722d7400e46043a6568bf059cfe7e GIT binary patch literal 50303 zcmbTd1yohv_AkC^4hT|8mmIn~6hun8K|n+r>284o(%s#SNJ~q1mvoDCi-hEVAHVnB z-+k{t#(V$qUt_b`bLCufe&(EO?Y)kYnVA}Z2>dHq$z%J#9|y>RU<3*T7h4BIb4Pdv zB5?FirTd462Y5yUf)c#te-gYU0!RgrM}5S330C^AWRLVuM~}dAc>@ zczsIn&&0;a*4V^B7%Vda%QywWLQX0xbHjg{A)x&8pIJ;?69GU68*s`~^}xoXH2?qy z0Q8}Z*m0&Zj0N#I4DQMC((tDqj*#T|kRBqVaL(R;->7(up8x&k2O5`O)iIu!zt zO(U4N!I=AuB=?74E|P!X7ev4qE)pt8>@&vLJefjMi*oa{x(}sw)$Q`_K)n3OZ~4dnRsvk@03gaq)?-gL07^rZb;^PFjid0aqrxmG3b;i6&&l^M zUciY^XP72hz|gs)4gQJ+26ju7gD(E)pOL@{!8t#vQpZ!zMg*}_H?vC!(xy5>)YIr2 zOOn(6YS3zwcmvcW<6ufpcFK6F|SC6u%7v3Dq6|B z7T8vMJawzMkpO%OiBF@iZB+lKzkk7^L@#}`LvS5z5wehG*$83hh^R;fO!t1X0Yw3!*rpb}Q4dTu|Dwpms)w zxgcIuma*U;ivpEOWgPtqmH4lb1SUHSG8TbW@!yI&fsWylPyE+4c1os#M+;sPT&!x` z!W!xtZ(OXklbjdp1K!O!ug-d{&PKc^4E*1L^&iUtK%?>hYm@PY;hcTxpA^L)|0ww1 zmSa!Q7eh7>1C^_WDonDB{NhnM;7dh|Cr6{tn+_a4%|eZ2}W*6$0Gla4$%LyoOVt! zanPEoSrpFxnWOLoC{QO!!v9tP0JKLxlKbmNR8(1~Re7gXSvAy!|IZc!mQM31O!0t% zO#lF5&=oTFr1~qzzEYGukTmb5LMubvWb`MBn+w}b7VB40W-@+6{8Mz`J7*xynW0e; zf!J`^X@O(-EB4+7RWXJRbkOY~11bQ3D)USRD)WmcSNb<}geLR_E)44NB5GSEv;WME z0+1narx=Tqh}k}U0mcUeZ1C@?SPnHaB1`}Q2!py)$ozT{`_r9Afq*(RwlL(`7`H;E zX{fxKM$YGdk*V~lf5}XS&rG13{Jh&_yjW*2^e?h-ugPk@j(QO^d#I9{LaJ#h&j?RQ zu7#Ke?FhHVzsV9Y4PiB>cZIu6@>9-@8L@>7W+xd(WXvnHwKn6uOJYIPyG%=rHz zpJ+@cmK3t8X=raXRX@^xs-aPr^4aR&Br3@L-vlfET&JL6l43E)HJf14U;Qt#1SD%g z5&&QbXaEer9~1>ehyY^%fS?~*iJ;i}s#p~86(WtaQ%ysmGE*cX61a=Is`uTGc8>l}JT43Hg!qhEyc+I`0a?BS>1PW>z z?`EChON0LS%)BH& zUPijCc7}_w1aw%m1z!_&hO+Z#bSzW+!CM&sR3f2)f0#Lc=S2Yke&MR&g4<-gQjERn zj*%pJ1V*ERuM<=U1-Gg4OH0rC+6BC@_}P;l}SJghR4JSqf|prGVp;et@%)krWg zhYJUk3@8>*v~b|=xfhmv1|5X@o8KUy-@QrvAE_V!YY=Qe6ov0gq@60yQ>_pEvH%qb zDo#{t<40osME(R~=!^w8cmTk$2CkCy#fTYrjA?;r3^3T`#e*SBra&y1bDJuDQZ)d_ zX!I3BK|wKRFI9Z3s-=oi_$vn5f|*=PYLJvIlbjWUlR9ClpVeh8%6fb;7D<7z&)Yz|~gSh~Ty{xbD)y1VlgB0l@Q0184uZ+^Tj^U5J1?812Pm z;j1zn>H;F8Va}jvRrn%JJ(RPT%m^D~9bB`aQG*?9r+>nM_c!_qJ;N~)vAi@DoD#=Gr1Yv^D5eIY`L|w^_;ex0c{utETR8H7pOeN~* zf@nF8II=P&ZrDPM)L{H#>H$eePJFx$Gh3jlEJH#5chwk9e=x9tvkm1e^p94REveNE z=gjd}2Q%vo!y~{dAajM3~YoDtc-4PDf%U)z@xNQd%ga3C=AZx)^`e1)zm`?u$R*OSG7XE7Fl z`ULF~2GB6Eb}Mq1zd(FVz$Gsl5cmZdPzBKs=Lf9D8?N$qh)}YB`u*D!euH!JPe=dB z`u|5Fv@a84!$k1^7yAOY4;+D@${a=o3qTtJ@f9!42;xgomQfh4j|~5KkH3myWIQJl zXP^d!vtJdcD1=_{^}FR`YX5j0i;_zUu40CQSk+_UT4hxW#@-cAIog^@9m|&O6*(rx z-UW|i!TMNLdDf?ZKHfS2YtZl7L#LNC@&!eJ2pEFKBmPKC`ky)eXJ_+2dmK�#O6 z070{ox#p`yUPDRTx1CSz^iJKT#{C8A!#^d)X?VXI($3{PSz1HUhsOkf3jn%RzVPy6I`k)MKBUO>Txtq z3~nr59DY0jxQY=4H#1tl)O7T;G+dm1{!zlb zLLEgZMWuQ9#rdh3Imsz;F+q_L(LrG$q5hvdJ$!t9d;-sE8iO{8wT+SzW;Z z^k`lz7XFGwTBZ4-YU96MUGmYm{Sv)2-lga77#wHA(J8b0+qXwvqjwi|Y#427uBp!) z#sppD>WzoaZdZ?8B_yPmy+*e$Z!#Q5E7Ih*)~8Zx9#(ldtC};)v~BYC)7l8EpWpj8KykD*uFQ ziIdbckWH^~$9k+gn%rLfL#kKYO4AwleJ?(5*ZZ8J#J*MR%W%CHZ35?GgNt|R)I~KN z9o_?*{eUJkeWws(jle^ZbiL-IG7Zm6A-ZS_QW6#mrPZ8-a{zqaO*~3}84!}nok3i; z≀*hNqJXVb)VLa%{|q}6K>$$loi5${{&pwW6 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:** Stable Audio Open primary. Warm texture, natural decay. -- **Monologue chimes:** Currently PLACEHOLDER (Sprint 7). Redo scheduled Sprint 8 priority #1. Design brief below captures target register. +- **All UI sounds:** Generated via Stable Audio Open with sonic family prefix prompts, then trimmed/normalized/converted via `audio-post pipeline`. +- **Monologue chimes:** Currently PLACEHOLDER (Sprint 7). Redo scheduled next audio sprint (#453). Design brief below captures target register. ## Assets | ID | Filename | Status | Bus | Method | Duration | Prompt/Notes | Sprint | |----|----------|--------|-----|--------|----------|-------------|--------| -| UI-001 | `cursor_hover.ogg` | planned | UI Sounds | synth | 50-100ms | Subtle tick/ping on entity hover (D-056). Insert-tech: clean, precise, synthetic. Almost subliminal — notice if missing, not if present. Sine ~3.2kHz, exponential decay. | S7 #440 | -| UI-002 | `implant_open.ogg` | planned | UI Sounds | SAO+synth | 150-250ms | Rising tone when insert UI opens (radial menu, inventory, stance). Neural lattice powering up. Frequency sweep 800Hz→2kHz, harmonic shimmer. Template for insert-tech family. | S7 #440 | -| UI-003 | `fog_recognition.ogg` | planned | UI Sounds | SAO | 300-400ms | Warm organic chime at onset of cognitive delay (D-060). Character recognizing a person — "those footsteps... that's Kael." Unresolved tone (rises, doesn't land). 300-800Hz, breathy attack, natural tail overlapping delay start. | S7 #440 | -| UI-004 | `weapon_aim.ogg` | planned | UI Sounds | hybrid | 100-150ms | Harder click/lock for weapon aim state. Mechanical, deliberate. 400-800Hz latch sound. SKETCH ONLY — no weapons in Sprint 7, design for consistency. | S7 #440 | -| UI-005 | `sfx_monologue_chime.ogg` | planned | UI Sounds | synth | 500-1000ms | PLACEHOLDER. Soft crystalline tone, neural lattice surfacing a thought. Quiet, non-intrusive. Sprint 8 redo mandatory. See design brief below. | S7 #440 | -| UI-006 | `sfx_monologue_chime_urgent.ogg` | planned | UI Sounds | synth | 500-1000ms | PLACEHOLDER. Sharper variant for contradiction/anomaly. Brighter, 15% louder, shorter. Sprint 8 redo mandatory. See design brief below. | S7 #440 | +| UI-001 | `cursor_hover.ogg` | draft | UI Sounds | SAO | 50-100ms | Subtle tick/ping on entity hover (D-056). Insert-tech: clean, precise, synthetic. Almost subliminal — notice if missing, not if present. Needs trim to target duration (#453). | S7 #440 | +| UI-002 | `implant_open.ogg` | draft | UI Sounds | SAO | 150-250ms | Rising tone when insert UI opens (radial menu, inventory, stance). Neural lattice powering up. Frequency sweep, harmonic shimmer. Needs trim (#453). | S7 #440 | +| UI-003 | `fog_recognition.ogg` | draft | UI Sounds | SAO | 300-400ms | Warm organic chime at onset of cognitive delay (D-060). Character recognizing a person. Unresolved tone. Needs trim (#453). | S7 #440 | +| UI-004 | `weapon_aim.ogg` | draft | UI Sounds | SAO | 100-150ms | Harder click/lock for weapon aim state. Mechanical, deliberate. SKETCH ONLY — no weapons in Sprint 7. Needs trim (#453). | S7 #440 | +| UI-005 | `sfx_monologue_chime.ogg` | draft | UI Sounds | SAO | 500-1000ms | PLACEHOLDER. Soft crystalline tone, neural lattice surfacing a thought. Quiet, non-intrusive. Redo in next audio sprint (#453). See design brief below. | S7 #440 | +| UI-006 | `sfx_monologue_chime_urgent.ogg` | draft | UI Sounds | SAO | 500-1000ms | PLACEHOLDER. Sharper variant for contradiction/anomaly. Brighter, more insistent. Redo in next audio sprint (#453). See design brief below. | S7 #440 | ## Mix Specs (not audio files) From 91c90829b791ae416abbd7708ab39a474310930d Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 16 Feb 2026 01:23:16 +0100 Subject: [PATCH 7/8] chore(meta): update changelog Co-Authored-By: Claude Opus 4.6 --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06d62bd1c..855bf519a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,18 @@ Format based on [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] +### Added +- Audio discussion decisions D-067 through D-074: recognition chime timing, 5-bus architecture, audio dip profiles, confrontation as cognitive vulnerability, monologue chime placeholder strategy, universal conversation murmur, zone crossfade, hybrid audio generation +- Asset pipeline documentation system (docs/assets/) with category-based index, sonic palette, and generation templates for audio, visual, and video pipelines +- Stable Audio Open connector and post-processing wrappers (audio-generate, audio-health, audio-post) with timeout handling for 11GB VRAM constraint +- gen-audio skill with prompt assembly system (sonic palette prefixes + category templates + asset descriptions) +- 6 interaction UI audio assets (#440): cursor_hover, weapon_aim, implant_open, fog_recognition, sfx_monologue_chime, sfx_monologue_chime_urgent — generated via SAO, needs duration trimming (#453) +- Dialogue/confrontation ambient dip implementation spec with full Godot AudioBus tween code +- Synthesis tooling (tooling/synth_ui_sounds.py) for programmatic insert-tech sound generation + +### Changed +- Renamed asset-gen skill to gen-image for consistent gen-* naming pattern + ### Added - Client protocol v6 bridge — decode player_stance (4 variants) and player_inventory from ObserverSnapshot, TOGGLE_STANCE_UP/DOWN input actions, 25 gdUnit4 tests - Three-scope z-layer rendering pipeline (D-049) — world z:0-900 inside CanvasGroup, insert overlay CanvasLayer 10, UI CanvasLayer 20, modal CanvasLayer 30. Y-sort contract enforced, reserved VFX/airborne/lower-floor ranges documented From 7873b77a5c368d551497ba429fbdac72b823621e Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 16 Feb 2026 01:26:04 +0100 Subject: [PATCH 8/8] chore(meta): add Sprint 8 briefings and DB backup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sprint 8: React — briefings for server, client, audio, and joint teams. Database snapshot after Sprint 8 ticket assignments. Co-Authored-By: Claude Opus 4.6 --- docs/backups/settledreach.db.backup | Bin 311296 -> 311296 bytes docs/sprints/sprint-8/audio.md | 65 +++++++++++ docs/sprints/sprint-8/client.md | 145 ++++++++++++++++++++++++ docs/sprints/sprint-8/joint.md | 125 +++++++++++++++++++++ docs/sprints/sprint-8/server.md | 168 ++++++++++++++++++++++++++++ 5 files changed, 503 insertions(+) create mode 100644 docs/sprints/sprint-8/audio.md create mode 100644 docs/sprints/sprint-8/client.md create mode 100644 docs/sprints/sprint-8/joint.md create mode 100644 docs/sprints/sprint-8/server.md diff --git a/docs/backups/settledreach.db.backup b/docs/backups/settledreach.db.backup index 43ec85deb6c78b61ba69a43316f2ba65dd5b022f..c03a8d974865ed8e47087177928e3d2fdd4ca6b2 100644 GIT binary patch delta 1792 zcmb7EZ)_Ar6rb67ySICPdI#lfYkOgVCV-`Ky=zN*V6adViGWZ7jiM<>Z@n&*yK=WJ zL4tOB2n13n9Iz-P6hb0s0+g%W<4>WfErtXQLKUNw5K%u6qalil8sgmEQ5yKTOf_j_+%Yio9EYxb$(>6nk-nm!?K&}K6s-h2qzS6P>5?YI4Dd&_dgQei%n@H@7c zi_~X$0TroB5OR5!G)3f)B3Ags8p&U;RMjhTi(ipMr9lz{vR^y76Y`dd-?#1&n;QM= zrHH8b8&^j~B`hvnG&efU7{!PbZ3>41(~Mo~!jZ-Rg=nvA?lLjzes z_JajHq?bH|+PL5Ghc-K#SS^DBaWa8$NWv#|3OMj{%}AhnAmkvE=soJ1BH;)Dk0XM1U>uoB?v4OvhAq+-jUy9uo0B|P<)}lr&hoSHHz3~1-m_h! z8J&l--*dH<*ijDNxV0+Zg%I|7ksfU)K?d{Mw>wFJ*{Cp2sn6^E(616}PX_@9$%i7{ z)JfVgLnnIwxW{ZL`f`RjnpVlldOMpXW?#>0%u_KwNm3*-EcG0ozq`tSAdP znGGmEkKSDSZ8OwV@*_{eD|$+N?lNDgdjxvSAu2^$q=-5>Hl31Y)S1Ys{iK4FmD0XJ z4mMO5yUQwh?Tt1V#k^E+YlD>lRPc7K#ErMCk=LYpp5l)LB}EK0NBoK$4n;+OC?Lv;M1Q4~{`%F8;our6AUCh^ zXcvFPe7f7w?3R{4K{y2&r>IRX428`XVd1RDij|2Tug_CK%j1avsrt?kV`Fnh zi|}Mf^X4D%n{>fe9> delta 1317 zcmZ8fYfKzf6ux)vnVFrPnSH?G@=Ui4wP_myyUW6|7+P$97%K)zTcQ~4wjfZ-Q=o~Y zhGDU7Xtdx|E^1XEjp-}pF$)7kA^~j0^hdQAO#`Hf{h>|cBhj>`rg8SsO8hbB&Ybg| z?>pza)7hEW*_k-HnvHpNEqkMLQI>hci+*H1ELB(r+zGakc? z3C|#i*5+f0k=Su1n!6Nwt12$J6NKjwhfp-@6IvqgYSWLITFcUD zj~~^^e0-pSU*FV`yz(!IbPv-~8yIAiZA|Eh)rE)|Z z^uRgtO$S*3LFZlYJ)^H}0v9%_x{wJEDzXgnM0|_0p0e63AIp#AL1GD;yzqrWInWsmP)Q(IlLJ1fUmz|&W|Al>Y9 zc|3t!cOb{BcXh!*uqr}my9FgN9VjgYIT3wLfigO#KsudKz|6f_)zV(oqBoxaHJQu^ ze##HRX?a(qux|2Y+GtE_FLKTX0AF*NAkI?#xiwGr(##7b$&1iVMP zb!dy04@|=`n_>_7tcI(K5Z|tB6kev6M` 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 +``` diff --git a/docs/sprints/sprint-8/client.md b/docs/sprints/sprint-8/client.md new file mode 100644 index 000000000..1466d4984 --- /dev/null +++ b/docs/sprints/sprint-8/client.md @@ -0,0 +1,145 @@ +# Sprint 8: React — Client Tasks + +**Goal:** Activate the dialogue pipeline end-to-end — player talks to NPCs, NPCs respond, the world reacts. + +**Branch:** `client` +**Agents:** Stig (dev), Tyre (arch), Hoshe (QA) + +## Carry-over from Sprint 7 + +| # | Title | Status | Notes | +|---|-------|--------|-------| +| #431 | Fog entity visualization — sound pings, cognitive delay anim | in_progress | Protocol v7 bump + visualization implementation | + +## New Tickets + +| # | Title | Blocked by | +|---|-------|------------| +| #435 | Dialogue response selection — max 3 visible, invisible locks | #434 (done) | +| #437 | Walk-away mechanic — WASD detect during dialogue, 300ms fade | — | +| #436 | Confrontation text styling — italic voice, monologue beat | #435 | + +Use `db/connectors/ticket show ` for full details. + +## Key Decisions + +- `decisions/content.md` — D-062 (invisible locked dialogue options), D-063 (confrontation same box different weight), D-064 (walk-away 3-phase consequences) +- `decisions/perception.md` — D-059 (fog shader 5 layers), D-060 (cognitive delay), D-061 (dialogue box max 20% height) +- `decisions/architecture.md` — D-066 (dual-scale grid 0.5m sim / 1m visual) + +## Open Questions to Resolve Early + +None. + +## Notes + +### #431: Fog entity visualization — sound pings, cognitive delay anim (HIGH, carry-over) +**What exists:** +- `client/scripts/rendering/fog_shader.gd` — FogShader node with 5-layer shader (D-059), noise animation +- `client/scripts/protocol/protocol.gd` — MessagePack decoder for ObserverSnapshot (protocol v6) +- Fog layers 1-3 (clear, light fog, deep fog) render via shader, no entity visualization yet + +**What the ticket needs to deliver:** +- **Protocol v7 bump:** Add `pending_recognitions` and `sound_events` fields to ObserverSnapshot in protocol.gd decode logic +- **Sound ping rendering:** On FogState layer 6 (insert overlay, NOT affected by fog shader), render 2-3 thin concentric expanding rings from sound source direction. Sonar-style. Insert white-blue color. Loud = 3 rings bright fast. Quiet = 1 ring faint slow. Fade over 1.5s. Use simple Sprite2D or Line2D, not particles. +- **Recognized entity in fog:** Entity with `pending: false` renders on layer 6 as: D-033 color glow (via PointLight2D ~40% blend) + faint silhouette feature (cached sprite at ~20% opacity) + 0.8s breathing pulse (shader uniform or tween) + ±0.5 tile position drift (approx position, not exact). Silhouette feature: Kael's vest, Lera's apron (sprite metadata from entity.silhouette_feature field). +- **Unrecognized entity in fog:** Entity with `pending: true` renders as neutral grey #555566 blob (simple circle sprite, no identifying features). No silhouette. No D-033 color. +- **Recognition transition:** When `pending` flips from true → false, tween grey blob → color+silhouette over 0.3s (within the 0.6s cognitive delay window per D-060). Monologue fires during this tween. + +**Integration points:** +- Pairs with server #423 (cognitive delay system, done Sprint 7) +- Protocol v7 wire format must match server ObserverSnapshot struct additions +- Builds on fog shader from Sprint 6 + +**Non-obvious gotchas:** +- Sound pings and fog entities render on layer 6 (insert overlay), NOT layer 5 (fog shader). Insert data is computational, not perceptual — not affected by vision cone. +- ±0.5 tile drift is VISUAL only (client-side randomness for "approximate" feel). Server sends exact position; client adds noise. +- Silhouette feature sprite is entity metadata, not a full sprite. Think "identifying accessory" not "full character render." +- Tween recognition over 0.3s to align with monologue timing (D-060: monologue fires DURING delay, not after) + +--- + +### #435: Dialogue response selection — max 3 visible, invisible locks (HIGH) +**What exists:** +- `client/ui/interaction_list.gd` — Vertical list for entity interaction verbs (Talk, Observe, etc.) +- `client/scripts/protocol/protocol.gd` — Decodes NearbyInteraction from snapshot +- D-061 dialogue box spec: bottom screen, max 20% height, max-width, no portraits + +**What the ticket needs to deliver:** +- **New scene:** `dialogue_box.tscn` — Bottom-screen container with two sections: NPC speech (Label, top), player response options (VBoxContainer, bottom). Max 20% viewport height, max-width (exact value: viewport width minus 40px margin). Left-aligned text. Insert-styled per D-057/D-061. +- **Response option rendering:** Each response is a Button (or custom Control with hover state). Show max 3 visible options. Sort by priority (server provides sorted list). D-062: locked options are invisible (not rendered at all). No grayed-out options. No lock icons. Player doesn't know what they don't know. +- **New protocol field:** `dialogue_response` in ObserverSnapshot — array of {text: String, response_id: String, priority: int}. Decode in protocol.gd. +- **Integration:** When player selects Talk verb from interaction_list, server sends snapshot with dialogue_response populated. Client shows dialogue_box, hides interaction_list. Player clicks response → send PlayerInput::DialogueResponse{response_id}. +- **Monologue interaction:** Monologue floats ABOVE dialogue box on z-layer 7 (spatial separation, D-061). Both can be visible simultaneously — character thinks one thing while NPC says another. + +**Integration points:** +- Blocked by #434 (interaction verb execution, done Sprint 7) +- Pairs with server #305 (dialogue selection pipeline) +- Blocks #436 (confrontation styling) + +**Non-obvious gotchas:** +- Max 3 VISIBLE means if server sends 5 options, show top 3 by priority. But D-062 invisible locks mean server should never send locked options at all (server filters before protocol). Client just renders what it receives. +- Player response text can be variable length (confrontation lines are longer than casual small talk). Use word wrap, auto-expand button height. +- No close button per D-064 — walk-away is the exit. Dialogue box stays until player walks away or server sends empty dialogue_response (conversation ended). + +--- + +### #437: Walk-away mechanic — WASD detect during dialogue, 300ms fade (MEDIUM) +**What exists:** +- Input handling in `client/scripts/main.gd` captures WASD for movement, sends PlayerInput::Move +- Dialogue box (#435) renders dialogue but doesn't handle walk-away yet + +**What the ticket needs to deliver:** +- **Input override:** When dialogue_box is visible, WASD input triggers walk-away instead of movement. Send PlayerInput::WalkAway{npc_id} to server. +- **Visual fade:** Dialogue box fades out over 300ms (Tween modulate alpha 1.0 → 0.0). No sound. Silence. D-064 phase 1. +- **NPC may react:** Server may send updated NPC animation or monologue after walk-away (D-064 phase 2). Client renders these as normal snapshot updates — no special walk-away animation on client. +- **KG recording:** Server handles D-064 phase 3 (#427). Client just sends WalkAway input. + +**Integration points:** +- Pairs with server #427 (walk-away KG recording) +- Depends on #435 (dialogue box exists) + +**Non-obvious gotchas:** +- Walk-away is ANY WASD press during dialogue, not just "walk away from NPC." Even pressing W (toward NPC) triggers walk-away. The direction doesn't matter — the intent to move ends the conversation. +- After WalkAway input sent, dialogue box fades but player can't move until fade completes (300ms input block). Prevents "walk through NPC" edge case. +- If server sends new dialogue_response during fade (NPC talks again), cancel fade and re-show dialogue. Rare edge case but possible (NPC calls after player). + +--- + +### #436: Confrontation text styling — italic voice, monologue beat (MEDIUM) +**What exists:** +- Dialogue box (#435) renders NPC speech + player responses +- D-063 spec: confrontation uses same UI, different weight via styling + monologue beat + +**What the ticket needs to deliver:** +- **Confrontation option styling:** Response options marked as `confrontation: true` (new protocol field) render in italic + first-person voice. Example: regular = "Shift schedule", confrontation = *"I saw you in corridor B-7"* (italic BBCode tag). +- **Pre-delivery monologue beat:** When player clicks confrontation option, 1-2 second pause before sending DialogueResponse input. During pause, show monologue: *"This changes things. No taking it back."* (hardcoded v0.1 line, future from content pools). Monologue displays on layer 7, dialogue box dims slightly (reduce opacity to 70%). +- **Audio dip:** Ambient audio volume drops to 50% during confrontation selection (via AudioServer bus manipulation). Restore after response sent. +- **No camera change:** D-063 defers camera tighten to post-v0.1. Same camera position throughout. + +**Integration points:** +- Blocked by #435 (dialogue box) +- Pairs with server #305 (dialogue pipeline marks confrontation lines) + +**Non-obvious gotchas:** +- Monologue beat is client-side delay (pause before sending input). Server doesn't know about the pause — from server's view, DialogueResponse arrives 1-2s after Talk verb. +- Italic rendering: use BBCode `[i]...[/i]` in RichTextLabel. Standard Label doesn't support italics. +- Don't apply italic to NPC speech — only to player confrontation responses. Regular dialogue responses stay non-italic. +- Audio dip is temporary (duration of monologue beat only). Restore ambient volume after response sent, not after NPC replies. + +## Dependency Chain + +``` +#431 (fog visualization) → standalone, protocol v7 prerequisite for other features +#435 (dialogue box) → #437 (walk-away) depends on this, #436 (confrontation styling) depends on this +#437 (walk-away) → standalone once #435 exists +#436 (confrontation styling) → depends on #435 +``` + +## 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(ui): dialogue pipeline client (Sprint 8 client)" --description "Implements #431 #435 #437 #436 — fog entity viz, dialogue response selection, walk-away, confrontation styling" --base main --head client +``` diff --git a/docs/sprints/sprint-8/joint.md b/docs/sprints/sprint-8/joint.md new file mode 100644 index 000000000..3d8052b43 --- /dev/null +++ b/docs/sprints/sprint-8/joint.md @@ -0,0 +1,125 @@ +# Sprint 8: React — Joint / Integration Tasks + +**Goal:** Activate the dialogue pipeline end-to-end — player talks to NPCs, NPCs respond, the world reacts. + +**Teams:** Server + Client +**Agents:** All implementation agents + +## Pre-Sprint + +None. All required decisions (D-028, D-060, D-062, D-063, D-064) are confirmed. + +## Sprint Completion Proof + +Concrete observable criteria when Sprint 8 is done: + +1. **Dialogue flow works end-to-end:** + - Player walks to Kael (or any NPC), presses [E], selects Talk + - NPC greeting appears in dialogue box (bottom 20% screen, max-width) + - 2-3 player response options visible below NPC text + - Player clicks response → NPC replies with new text + new options + - Conversation continues until player walks away (WASD) + +2. **Walk-away triggers visual + server recording:** + - Player in dialogue with NPC, presses WASD (any direction) + - Dialogue box fades out over 300ms, silence + - Server logs incomplete interaction in KG (verify via debug print or db query) + - Player can walk away mid-conversation without crash + +3. **Confrontation option appears and feels different:** + - Detective character approaches Sera Venn after observing corridor contradiction + - Talk → response options include at least one confrontation line (italic, first-person: *"I saw you avoiding Torek..."*) + - Click confrontation → 1-2s pause, monologue appears ("This changes things..."), ambient audio dips to 50% + - After pause, NPC responds (text changes, relationship may shift color on next observation) + +4. **Fog entity recognition timing:** + - NPC enters fog (outside vision cone but within sound/thermal range) + - Grey blob appears for 0.6s (6 ticks normal, or 0.3s/3 ticks if anomaly) + - During delay, monologue fires ("Those footsteps... that's Kael's walk") + - After delay, grey blob transitions to D-033 color + faint silhouette over 0.3s + +5. **Sound ping rendering:** + - NPC makes loud sound outside LOS (door slam, footsteps, voice) + - 2-3 concentric rings expand from sound direction on insert overlay (white-blue, sonar aesthetic) + - Rings fade over 1.5s + - No crash, no visual glitches + +6. **Invisible locks work:** + - Player talks to Sera with Surface trust level + - Gets 2-3 response options (small talk, routine questions) + - Player CANNOT see that Real/Secret tier options exist (no grayed-out text, no lock icons, no hint) + - After trust increase (via repeated positive interactions or evidence discovery), new options appear on next Talk — player realizes "wait, there's more now" + +## Test Plan Alignment (D-030 phases) + +**Phase 2 (Sprint 3-4): Integration tests** +- Sprint 8 falls in integration test phase +- Required: End-to-end dialogue pipeline integration test (server sends dialogue_response, client renders, player input returns, server logs) +- Required: Walk-away flow integration test (client sends WalkAway, server records KG, dialogue state clears) +- Negative test: Locked dialogue options are NOT sent to client (server filters before protocol, client never sees them) + +## Cross-Team Dependencies + +| Ticket | Team | Depends on | Delivers to | +|--------|------|------------|-------------| +| #305 | server | (none) | Client #435 consumes dialogue_response protocol field | +| #427 | server | #452 (ContentSlug) | Client #437 triggers via WalkAway input | +| #435 | client | #434 (done) | Server #305 sends data to render | +| #436 | client | #435 | Uses dialogue box from #435 | +| #437 | client | #435 | Pairs with server #427 | +| #450 | server | (none) | Enables urgent recognition for #431 | +| #451 | server | #450 | Pairs with client #431 fog visualization | +| #431 | client | Protocol v7 | Consumes pending_recognitions from server | + +**Critical path:** Server #305 (dialogue pipeline) + Client #435 (dialogue box) are the headline integration. Everything else is enhancement/polish around that core. + +**Parallel tracks:** +- Track 1 (dialogue): #305 (server) ↔ #435 (client) → #436 (confrontation styling) → #437 (walk-away) ↔ #427 (server KG) +- Track 2 (perception): #450 (server anomaly) → #451 (server monologue) → #431 (client fog viz) +- Track 3 (infrastructure): #452 (server ContentSlug) → used by #427 + +## Integration Risks + +1. **Protocol version mismatch:** Client #431 bumps protocol to v7 (pending_recognitions field). Server must match. Verify protocol.gd PROTOCOL_VERSION == server bridge/types.rs PROTOCOL_VERSION after merge. + +2. **Dialogue response format:** Server #305 populates `dialogue_response: Vec` in ObserverSnapshot. Client #435 must decode this correctly (MessagePack array of maps). Test with 0 options (no dialogue), 1 option, 3 options, and 5+ options (client shows top 3). + +3. **Walk-away during network lag:** Client sends WalkAway input. Server may send 1-2 more dialogue snapshots in flight before WalkAway is processed. Client should handle: fade dialogue box, ignore late dialogue_response updates. + +4. **Cognitive delay + monologue timing:** Server #451 fires monologue at delay START (when grey blob appears). Client #431 must show monologue DURING the 0.6s grey-to-color transition. If monologue arrives after transition completes, timing feels wrong. Verify monologue timestamp is within delay window. + +5. **Confrontation italic rendering:** Client uses BBCode `[i]...[/i]` for italic. If NPC name or response text contains special BBCode chars (`[`, `]`), text will break. Server should escape BBCode in dialogue text, or client should use `bbcode_text.c_escape()` before rendering. + +## Notes + +**Server-side dialogue filtering (D-062 invisible locks):** +- Server filters dialogue options BEFORE sending to client. Client never sees locked options in protocol. +- Access tier filter: RelationshipState → AccessTier mapping must be shared understanding (or document in decisions/content.md amendment) +- Trust tier filter: KG.relationship → TrustTier. Unknown = Surface, Known/Friend = Real, PersonOfInterest+Secret fact = Secret. +- Situation filter: Game state (time, location, NPC routine) → active Situation tags. Document the mapping function (or make it data-driven YAML config). + +**Client-side dialogue rendering (max 3 visible, D-061 20% height):** +- If NPC sends 5 valid options (all unlocked, all pass filters), client shows top 3 by priority. +- If later in conversation NPC sends 2 options, client shows 2. +- Dialogue box height scales with content (NPC text + options) but never exceeds 20% viewport height. If content overflows, scroll NPC text, keep options visible. + +**Monologue + dialogue spatial separation (D-061, D-063):** +- Monologue floats above dialogue box on z-layer 7. +- During confrontation beat: monologue visible ("This changes things..."), dialogue box dimmed to 70% opacity. +- After beat: monologue fades, dialogue box returns to 100% opacity, NPC response appears. + +**Audio dip during confrontation (D-063):** +- Client-side: When player clicks confrontation option, AudioServer.set_bus_volume_db(ambient_bus, -6.0) (50% volume). +- After monologue beat + response sent, restore: AudioServer.set_bus_volume_db(ambient_bus, 0.0). +- Duration: ~1-2 seconds (duration of monologue beat). Not tied to NPC response arrival. + +## Open Questions + +None. All design decisions confirmed. If blockers arise during implementation, escalate to Team Leader (Jeroen). + +## Files Written + +- /var/home/jeroenschweitzer/Projects/settled-reach/main/docs/sprints/sprint-8/server.md +- /var/home/jeroenschweitzer/Projects/settled-reach/main/docs/sprints/sprint-8/client.md +- /var/home/jeroenschweitzer/Projects/settled-reach/main/docs/sprints/sprint-8/audio.md +- /var/home/jeroenschweitzer/Projects/settled-reach/main/docs/sprints/sprint-8/joint.md diff --git a/docs/sprints/sprint-8/server.md b/docs/sprints/sprint-8/server.md new file mode 100644 index 000000000..bad58d52e --- /dev/null +++ b/docs/sprints/sprint-8/server.md @@ -0,0 +1,168 @@ +# Sprint 8: React — Server Tasks + +**Goal:** Activate the dialogue pipeline end-to-end — player talks to NPCs, NPCs respond, the world reacts. + +**Branch:** `server` +**Agents:** Dudley (dev), Tyre (arch), Hoshe (QA) + +## Carry-over from Sprint 7 + +None. Sprint 7 server tickets (#308, #326, #427 partial) completed. + +## New Tickets + +| # | Title | Blocked by | +|---|-------|------------| +| #305 | Dialogue selection pipeline — 4-layer filtering engine | — | +| #427 | Walk-away KG recording | — | +| #450 | Wire RecognitionTrigger::Urgent to anomaly detection | — | +| #451 | Monologue fires during cognitive delay window | — | +| #452 | Add ContentSlug component | — | + +Use `db/connectors/ticket show ` for full details. + +## Key Decisions + +- `decisions/content.md` — D-028 (dialogue architecture: tagged line pools with 4 relational layers), D-035 (tag taxonomy), D-062 (invisible locked options), D-063 (confrontation same box), D-064 (walk-away 3-phase consequences) +- `decisions/architecture.md` — D-041 (knowledge graph data model) +- `decisions/perception.md` — D-060 (cognitive delay for fog recognition), D-061 (dialogue box layout) + +## Open Questions to Resolve Early + +None. + +## Notes + +### #305: Dialogue selection pipeline — 4-layer filtering engine (CRITICAL) +**What exists:** +- `server/src/content/line_pool.rs` — LinePoolIndex with full D-028 Layer 1-3 filtering already implemented: + - `query_dialogue()` filters by access tier, situation, and trust + - All tag enums defined (AccessTier, TrustTier, Situation, Topic, Mood, Trigger, Character) + - Indexed pools built from ContentStore at startup +- `server/src/content/mod.rs` — ContentPlugin loads YAML content and builds LinePoolIndex resource +- `server/src/simulation/interaction.rs` — compute_nearby_interactions() generates verb options but doesn't yet invoke dialogue selection + +**What the ticket needs to deliver:** +- **Layer 4 (topic + mood weighted selection):** New system `select_dialogue_line()` that takes the filtered lines from `query_dialogue()` and scores them by topic/mood match +- **NPC mood component:** Add `CurrentMood(Mood)` component to NPCs, computed from NPC axes (Tolerance, Contentment, recent events) +- **Situation derivation:** Map current game state (time of day, location, NPC routine phase, interaction history) → active Situation tags +- **Integration with Talk verb:** When player selects Talk from interaction list, trigger dialogue pipeline: access tier (from KG RelationshipState) → situations (from context) → trust tier (from KG) → topic+mood scoring → select line → send to client via ObserverSnapshot.dialogue_response +- **Deliverable:** Full pipeline from Talk verb → selected line text on client dialogue box. Test with 1 NPC (Kael or Sera), 3-5 lines per situation. + +**Integration points:** +- Reads LinePoolIndex resource (already exists) +- Reads KnowledgeGraph component for access/trust tier +- Writes to new DialogueResponse buffer component for snapshot inclusion +- Pairs with client #435 (dialogue response selection UI) + +**Non-obvious gotchas:** +- Access tier mapping: RelationshipState → AccessTier needs a lookup table (Unknown=public, Known=peer, PersonOfInterest=peer+authority for detective, Friend=insider) +- Situation activation: NPC's current RoutinePhase + game time (D-031 phases) + location → 1-3 active situations. Don't hardcode — use a mapping table/function. +- Layer 4 is weighted, not hard filter. Empty topic/mood tags on lines should NOT exclude them — they're topic-neutral. +- Cooldown tracking per line ID to prevent repeating the same line within a session (MonologueState pattern, but for dialogue) + +--- + +### #427: Walk-away KG recording (medium) +**What exists:** +- `server/src/knowledge/graph.rs` — KnowledgeGraph component with entity/fact maps +- Client #437 detects WASD during dialogue, sends WalkAway input event +- D-064 specifies 3-phase consequence model + +**What the ticket needs to deliver:** +- **KnowledgeEvent::IncompleteInteraction:** New event type carrying NPC stable_id, interaction_type (Talk/Confront), tick +- **process_walk_away_input():** System that handles PlayerInput::WalkAway during active dialogue. Emits IncompleteInteraction event, clears dialogue state. +- **KG recording:** process_knowledge_events() adds entry to entities[npc_id].known_attributes["incomplete_interactions"] = array of {tick, type} +- **Future query hook:** Stub function `has_incomplete_interaction(npc_id) -> bool` for dialogue/monologue to check (not called in v0.1, but scaffolds D-064 phase 3) + +**Integration points:** +- Pairs with client #437 (WASD detect during dialogue) +- Builds on KnowledgeGraph infrastructure from Sprint 2 +- Future: monologue system (#451) will check this for post-conversation triggers + +**Non-obvious gotchas:** +- Walk-away during confrontation vs casual talk should both record, but the `interaction_type` field differentiates them (future dialogue may react differently) +- Don't emit KnowledgeEvent if no dialogue was active (player hits WASD while near NPC but not talking) + +--- + +### #450: Wire RecognitionTrigger::Urgent to anomaly detection (medium) +**What exists:** +- `server/src/perception/cognitive_delay.rs` — Full cognitive delay system with RecognitionTrigger enum (Normal = 0.6s, Urgent = 0.3s) +- `server/src/perception/observation.rs` — emit_observation_events() queues PendingRecognition but hardcodes RecognitionTrigger::Normal (line 82: `// TODO(#450)`) +- ObserveAnomaly monologue trigger defined in line_pool.rs Trigger enum + +**What the ticket needs to deliver:** +- **Anomaly detection:** Add system `detect_anomalies()` that marks entities as anomalous when KG.relationship == PersonOfInterest OR KG.state == Contradicted +- **Component:** `AnomalyMarker` — transient marker on entities flagged as anomalous this tick (cleared each tick) +- **Wire to cognitive delay:** In emit_observation_events(), if target has AnomalyMarker, use RecognitionTrigger::Urgent instead of Normal +- **Verify:** Contradicted entity in fog resolves in 0.3s (3 ticks) instead of 0.6s (6 ticks) + +**Integration points:** +- Builds on Sprint 7 cognitive delay system (#423 done) +- Future: monologue system will also check AnomalyMarker for ObserveAnomaly trigger priority + +**Non-obvious gotchas:** +- AnomalyMarker is per-tick — clear it at tick start, recompute each tick based on KG state +- Don't mark Player entity as anomalous (causes unnecessary self-checks) +- Sprint double-take (#428 done) already fires monologue for sprint-past anomalies; this ticket affects fog recognition timing only + +--- + +### #451: Monologue fires during cognitive delay window (medium) +**What exists:** +- `server/src/simulation/monologue.rs` — Trigger enum includes ObserveAnomaly +- `server/src/perception/cognitive_delay.rs` — CognitiveDelay component tracks pending recognitions with tick countdown + +**What the ticket needs to deliver:** +- **Trigger during delay:** When a PendingRecognition is queued (entity enters fog), immediately check monologue pools for `trigger: observe_anomaly` + character match +- **Recognition monologue:** New system `trigger_recognition_monologue()` that fires when cognitive delay starts (NOT when it completes). Line text should match D-060 spec: "Those footsteps... that's Kael's walk" — character is thinking during the delay. +- **Pair with visual:** Monologue appears DURING the grey-blob → color+silhouette transition (client shows both simultaneously) + +**Integration points:** +- Reads CognitiveDelay.pending() to detect new recognitions +- Writes to MonologueBuffer (existing pattern from #414) +- Pairs with client #431 (fog entity visualization with delay animation) + +**Non-obvious gotchas:** +- Fire monologue at delay START (when grey blob appears), not at delay END (when color resolves). The D-060 design is "monologue IS the recognition process." +- Don't fire recognition monologue for entities already in KG (only for new entities entering perception) +- Cooldown still applies — don't spam recognition monologue every tick if the same entity blinks in/out of fog + +--- + +### #452: Add ContentSlug component (medium) +**What exists:** +- Content loading in `server/src/content/spawn.rs` spawns NPCs from YAML but doesn't attach content IDs +- KnowledgeGraph interaction memory (#427) will need to reference "which NPC" for dialogue history + +**What the ticket needs to deliver:** +- **Component:** `ContentSlug(String)` — stable content identifier from YAML (e.g. "kael-davan", "sera-venn") +- **Attach during spawn:** content/spawn.rs reads `npc.slug` field from YAML and attaches ContentSlug component to spawned NPC entity +- **Use in KG:** Interaction memory records ContentSlug instead of Entity (Entity is unstable across save/load; ContentSlug is stable) + +**Integration points:** +- Used by #427 (walk-away recording) +- Future: dialogue Layer 2 (relationship history) will query past interactions by ContentSlug + +**Non-obvious gotchas:** +- ContentSlug is independent of StableId. StableId is runtime entity tracking (KG references). ContentSlug is authoring/content identity (which authored NPC template). +- Not all entities have ContentSlugs (e.g., procedurally spawned NPCs, furniture). Component is optional. + +## Dependency Chain + +``` +#450 (anomaly detection) → standalone, enables urgent recognition +#451 (monologue during delay) → depends on #450 for anomaly context +#452 (ContentSlug) → #427 (walk-away KG) depends on this +#305 (dialogue pipeline) → standalone, headline feature +#427 (walk-away KG) → depends on #452, pairs with client #437 +``` + +## 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(content): dialogue selection pipeline (Sprint 8 server)" --description "Implements #305 #427 #450 #451 #452 — dialogue 4-layer filtering, walk-away KG, urgent recognition, delay monologue, ContentSlug component" --base main --head server +```