# Gestalt - Project Briefing Last updated: 2026-02-11 ## Current Project State The Settled Reach: top-down immersive sim, single-character perspective, asymmetric information core mechanic, Rimworld-style storyteller. 41 confirmed decisions, 17 discussion rounds + 2 workshops complete. Engine selected (D-020). Vertical slice defined (D-027). v0.1 Content Gap Analysis Workshop complete — tag taxonomy converged, FRIEND ECS spec defined, audio architecture designed, previewer scoped. Knowledge Graph & Information Boundaries Workshop complete (D-041) — Q-016 resolved. ## Status **ACTIVE.** Systems specification work unblocked. Tag taxonomy needs formalization as standalone document. Knowledge state vocabulary blocks Mellanie's monologue authoring. 17 content-supporting systems identified, 0 built — significant server-side work ahead. ## Decisions Relevant to Your Role - D-005: Core concept — story generator mechanics, emergent narrative from systems - D-007: Five pillars — mechanical framework - D-008: Action pillar — hubris wall mechanic - D-011: Fog of war as pillar 1 infrastructure - D-015: Camera lock — vision cone as information constraint - D-017: Perception loadout system — observer queries - D-018: Three-range sound system — information quality by distance - D-020: Godot client + Rust/bevy_ecs simulation via subprocess/IPC - D-021: Official title "The Settled Reach" - D-024: 10-axis NPC consolidation - D-025: Social site as systemic unit - D-026: Timestamp eviction - D-027: Vertical slice as systems proof - D-028: Axis-to-pipeline mapping (dialogue selection) ### Workshop Decisions (Content Gap Analysis) - **D-032: Separate monologue pools** — `character` is a hard partition tag. Two parallel content trees. - **D-034: THE FRIEND ECS spec** — full pipeline depth test. Every system exercised on these two NPCs. ECS components: NpcIdentity, Want, Secret, Relationships[3], ToleranceThreshold, DailyRoutine, InformationInventory, Contentment, PersonalityTraits, TellState, SkillSet, AccessTierMap, TriangleMembership, MoodState. - **D-035: Converged tag taxonomy (6+3)** — your Round 2 design is canonical: - 6 structural: `id`, `text`, `role`, `access` (list), `trust`, `situation` (list) - 3 selection: `topic` (list), `mood` (list), `tags` (freeform) - 13 situations, 9 topics, 8 moods, 9 monologue triggers - 4-layer pipeline: access (hard filter) → situation (context filter) → trust (hard filter) → mood+topic (weighted selection) - **D-033: Entity color** — client-side derivation from RelationshipState + knowledge state. Not an NPC property. - **D-038: Audio architecture** — event-driven: SoundEventEmitter → ObserverSnapshot → SoundRenderer with AudioAssetRegistry + VisualSoundIndicator + AmbientManager. Events first, assets second. - **D-039: 6 wow moments** — systems must support all 6 (observation triggers, FRIEND contradiction staging, divergence reveal, ticker display, idle monologue). - **D-041: Knowledge Graph Data Model** — 4-level confidence hierarchy: Suspects < KnowsOf < KnowsDetails < Direct. Resolves Q-016. Maps to D-028 access tiers and D-035 prerequisite tags. Per-entity KnowledgeGraph Component with BTreeMap storage. KnowledgeState enum supports contradiction detection for THE FRIEND arc (D-034). Sprint 2 scope: data structures + direct observation + basic decay. ## Open Questions Assigned to You - Q-002: v0.1 scope definition (co-lead) - Q-005: Prototype scale (co-lead with Tyre, Miri) - Q-009: Time system design — resolved (D-031) - Q-010: Storyteller AI architecture (co-lead with Nigel) - Q-012: Generation expansion method (co-lead with Mellanie) - Q-013: Line previewer temporal progression (co-lead with Dudley) - Q-014: Audio timing with monologue chime (co-lead with Ozzie) - Q-015: Generation expansion for FRIEND content (co-lead with Mellanie) - Q-016: Knowledge hierarchy for prerequisites — **RESOLVED** (D-041) - Q-017: Triangle pressure threshold (co-lead with Paula) - Q-024: Gossip propagation timing (co-lead with Tyre) — preferred direction: queued - Q-026: Contradiction detection algorithm (co-lead with Paula, Dudley) ## Current Priorities **Systems specification → server implementation support → previewer** 1. **Lock tag taxonomy + line pool format** — formalize Round 2 converged schema as standalone spec document. Reference for all content authors. 2. **Knowledge state vocabulary** — **UNBLOCKED** by D-041. Use 4-level confidence hierarchy (suspects/knows_of/knows_details) plus FactId format (`category.topic`). See D-041 Appendix A for v0.1 vocabulary and prerequisite format. 3. **Dialogue selection pipeline specification** — formalize the 4-layer filter algorithm for server implementation. 4. **Sound event system architecture** — formalize Round 2 section 6 for Dudley. 5. **Line previewer (#193) MVP scope** — 7 must-have features. Build as first implementation of dialogue pipeline (shares 80% code). Rust CLI. 6. **Content-to-system mapping validation** — 17 content needs, 0 built. Track which systems are needed when. ### Systems critical path ``` NPC Component Architecture (10 axes) +-> NPC Routine System → Observation Event Generator → Monologue Trigger System +-> NPC Mood State Machine → Tell State Derivation +-> Interaction Tracking → Trust Progression +-> YAML Content Loader → Dialogue Selection Pipeline → Line Variety Tracker ``` ## Key Documents - decisions/content.md — D-023 through D-037 - decisions/architecture.md — D-008 through D-031 - docs/workshops/content-gap-analysis_v0_1/ — workshop outputs and SUMMARY.md (your Round 2 has converged taxonomy, ECS spec, audio architecture, previewer scope)