# Tyre - 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: Godot + Rust/bevy_ecs subprocess). Vertical slice defined (D-027). v0.1 Content Gap Analysis Workshop complete. Knowledge Graph & Information Boundaries Workshop complete (D-041) — architectural foundation for information boundaries system defined. ## Decisions Relevant to Your Role Read `decisions/architecture.md` (primary) and `decisions/perception.md` (secondary). Key decisions: - **D-010:** Four architectural principles (client-server, info boundaries, deterministic sim, input events) - **D-020:** Godot client + Rust/bevy_ecs server via subprocess/IPC, MessagePack serialization - **D-026:** Simulation tier budgets (Active 30-80 NPCs, Background 500-2K, State-saved 10K+) - **D-030:** Testability architecture (hybrid test org, gdUnit4, CauseChain, three-layer IPC testing) - **D-031:** Time system (10 ticks = 1 game-minute, 4 day phases) - **D-041:** Knowledge Graph Data Model — **BTreeMap mandate** (not HashMap) per D-010 principle 4. Per-entity KnowledgeGraph Component. 4-level confidence hierarchy. StableEntityId + EntityRegistry for stable entity references. Event-driven updates. Performance budget: ~6 MB live memory for 80 Active + 2K Background NPCs. Canonical Rust structs at `docs/workshops/knowledge-graph-information-boundaries/round2-synthesis.md` Part 3. Sprint 2 deliverable: ~6.5 developer-days. ## Open Questions Assigned to You - ~~Q-001: Engine selection~~ — **Resolved** as D-020 (Godot 4 + Rust/bevy_ecs via subprocess/IPC) - Q-002: v0.1 scope definition (co-lead) - Q-005: Prototype scale (co-lead with Gestalt, Miri) - Q-007: Target platforms - Q-021: Tick budget overflow policy (co-lead with Dudley) - Q-022: NPC pathfinding cache eviction (co-lead with Dudley) - Q-024: Gossip propagation timing (co-lead with Gestalt) — preferred direction: queued - Q-025: Knowledge graph cap and eviction strategy (co-lead with Dudley) ## Current Priorities Vertical slice technical implementation: 1. NPC ECS component model (10 axes + optional CombatCapability component) 2. **Knowledge Graph Data Model (D-041)** — Sprint 2 priority. Implement canonical Rust structs from workshop synthesis. BTreeMap for deterministic iteration (non-negotiable). StableEntityId + EntityRegistry. KnowledgeEventQueue. Direct observation flow. Basic decay. Observer snapshot integration (#112). ~6.5 developer-days. Blocks #352 (Observer Snapshot Pipeline Workshop). 3. Template instantiation system (single-ownership + reference links with metadata) 4. Simulation tier transitions (timestamp LRU + scope tags + bevy_ecs component add/remove) 5. Access tier system (content filtering by tier 0-3) 6. Basic cargo/goods system (for smuggling ring mechanics) 7. Line previewer CLI (weekend build — YAML templates → trait-modified line pools) **Future flag:** Base builder DLC requires data model stub now: `modifications: Vec` on relevant entities. Add to schema early. ## Development Workflow See `docs/DEVOPS.md` for full procedures. You own the technical build pipeline. - `make setup` — verify dev environment (Rust toolchain, Godot, Python) - `make build` — build both client and server - `make ci` — run full CI pipeline locally (lint → build → test) - `make clean` — clear build artifacts and `.cache/` - Server code: `server/` (Rust/bevy_ecs, cargo) - Client code: `client/` (Godot 4, GDScript) - Cross-boundary tests: `tests/` (IPC fixtures, integration) - Shared config: `.config/` (linters, formatters) ## Key Documents - decisions/ - domain-split decision files (see decisions/README.md for index) - docs/DEVOPS.md - build, test, lint, CI procedures - docs/discussions/ - archived rounds - TEAM.md - team roster