Found on starting the first port: 17 of the 33 tooling executables are bash, about 900 lines. Both this record and the domain map had assumed a Python tree, so those are rewrites rather than moves — a materially larger epic than T-1250 was written for. Decided: rewrite them, do not wrap them. Wrapping would achieve one door while leaving half the CLI surface outside the contract — no @command, no remedy on failure, no streaming, no testable service. reach --help would then list verbs that behave differently from the ones beside them, which is worse than two doors, because the inconsistency is invisible until something fails. The cost lands unevenly and the record says where. The grep-pipeline scripts compute verdicts and gain most from becoming services. The environment scripts — install-godot, install-rust, worktree-setup — gain least and carry the most regression risk, because downloading a specific Godot build or driving rustup is awkward to exercise in a gate. For those, port the decision logic into a testable service and keep the irreducible external calls behind core/process: a rewrite that cannot be tested has to be trusted instead, and trusting an installer is how a working environment becomes an unreproducible one. The domain map gains the inventory by shape, and a rule that every per-domain ticket states which of its sources are bash — since that is what turns a port from mechanical into a rewrite needing its own parity evidence. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Governance — Decisions, Questions, Rejected
Structured planning records for The Settled Reach. pql decisions sync parses
these into .pql/pql.db; query them with pql decisions ….
Layout
Records live in three per-type subdirectories, split by domain:
governance/
decisions/<domain>.md # D-NNN — confirmed design decisions
questions/<domain>.md # Q-NNN — open questions (may resolve into a D or R)
rejected/<domain>.md # R-NNN — rejected alternatives (kept for the audit trail)
The parser infers record type from the parent subdirectory and domain from
the filename stem. A ### D-NNN: Title (or Q-/R-) heading begins each record;
- **Field:** value lines and inline [D-NNN](…#anchor) links carry the metadata
and cross-references pql indexes.
Current domains: architecture, content, economics, perception, process,
scope. Create a new <domain>.md in the relevant subdir when records land in a
new domain.
Domain guide
When in doubt where a record belongs:
- architecture — constrains how we build (engine, protocols, data structures, performance).
- scope — defines what we build (game concept, feature scope, prototype shape).
- perception — defines what the player observes or knows (camera, fog, LOS, audio).
- content — defines narrative, NPCs, dialogue, setting, templates.
- economics — the economics layer (currencies, commodities, corporations, simulation).
- process — defines how the team works (workflow, commits, branches, reviews).
Cross-domain records live in one file with [D-NNN](../<subdir>/<domain>.md#…) links
to the related domain.
Querying
pql decisions list # every record
pql decisions list --type confirmed --domain architecture
pql decisions show D-010 --with-tickets # a record + its implementing tickets
pql decisions read D-238 # full markdown body
pql decisions refs D-010 # cross-references in/out
pql decisions coverage # decisions ↔ ticket coverage
Adding a record
- Claim an ID (no side effects):
pql decisions claim D <domain> "title"(useQfor a question,Rfor a rejected alternative). - Edit the appropriate file (
decisions/<domain>.md,questions/<domain>.md, orrejected/<domain>.md). Follow the existing### D-NNN: Titleformat. - Commit. The pre-commit hook runs
pql decisions validate(malformed-record gate) and stages the planning changelog. - Update relevant agent briefings if needed.
When a question resolves, set its - **Status:** Resolved → [D-NNN](../decisions/<domain>.md#…)
line in place — keep the Q-record for the audit trail rather than deleting it.
Maintained by Qatux.
Decisions
- D-001: Build a custom game, not a mod — scope
- D-002: Dynasty grand strategy concept [SUPERSEDED] — scope
- D-003: The Settled Reach is the first campaign, not the only possible one — scope
- D-004: Team composition confirmed — process
- D-005: Core concept - single character, first-person, story-generator — scope
- D-006: Prototype scenario — Institute/Armstrong/Guardians [SUPERSEDED] — scope
- D-007: Five pillars of game design — scope
- D-008: Action pillar design principles — architecture
- D-009: Multiplayer - design for it, build single-player first — architecture
- D-010: Multiplayer-ready architectural baseline — architecture
- D-011: Fog of perception is non-negotiable (Pillar 1 infrastructure) — perception
- D-012: Chunk-based map architecture for future borderless generation — architecture
- D-013: Diegetic insert/POI navigation system — scope
- D-014: v0.1 map specification [SUPERSEDED] — scope
- D-015: Camera locked to character, rotation as future option — perception
- D-016: Internal monologue as core perception/atmosphere system — perception
- D-017: Perception modes as character-build system — perception
- D-018: Three-range sound model — perception
- D-019: Top-down confirmed as primary camera, 3D cutscenes for key moments [SUPERSEDED by D-148] — perception
- D-020: Engine and architecture selection — Godot client + Rust simulation via subprocess/IPC — architecture
- D-021: Official project title — "The Settled Reach" — process
- D-022: Process — Round-based collaboration workflow — process
- D-023: Three-tier content model with life-sim substrate — content
- D-024: NPC generation model — 10 axes + combat component — content
- D-025: Social site / functional cluster as atomic template unit — content
- D-026: Simulation tiers with timestamp-based eviction — architecture
- D-027: Vertical slice — smuggler + detective, two-character proof [SUPERSEDED] — scope
- D-028: Dialogue architecture — tagged line pools with four relational layers — content
- D-029: Population entanglement ratio — 30/50/20 — content
- D-030: Testability architecture — 8 decisions for ticket T-214 — architecture
- D-031: Time system — game clock and day phases — architecture
- D-032: Separate monologue pools per character [SUPERSEDED — deferred to Phase 6] — content
- D-033: Entity color = relationship to player — perception
- D-034: THE FRIEND — production-level NPC pattern — content
- D-035: Converged tag taxonomy for dialogue and monologue line pools — content
- D-036: Sova Transit District / Van Maanen's Star as v0.1 setting — content
- D-037: Contraband specification — unlicensed lattice components — content
- D-038: Audio in v0.1 scope — 8 files via Stable Audio Open — scope
- D-039: v0.1 wow moment scope — all 6 moments [SUPERSEDED] — scope
- D-040: Wiki taxonomy structure — hierarchical with YAML frontmatter — process
- D-041: Knowledge Graph Data Model — architecture
- D-042: UI microcopy format — YAML via GDScript autoload — architecture
- D-043: Art direction — visual style ("functional warmth") — perception
- D-044: Art direction — visual hierarchy (entity > object > structure) — perception
- D-045: Art direction — environmental neutrality (strict zero shift) — perception
- D-046: Art direction — lighting system (three-reference model) — perception
- D-047: Art direction — two-tier animation system — perception
- D-048: Neural insert overlay — visual design — perception
- D-049: Z-level rendering stack (8 layers) — perception
- D-050: Velen — Van Maanen's Star primary world — content
- D-051: "Settling is placement" — design principle — scope
- D-052: Character favorite colors — object-layer identification — perception
- D-053: Movement as stance toggle system — scope
- D-054: Tile-based movement with same-tile occupancy — architecture
- D-055: Sprint explicitly suppresses interaction buffer — architecture
- D-056: Cursor states — insert-styled geometric — perception
- D-057: Entity interaction — vertical list, insert-styled [PARTIALLY SUPERSEDED — archetype portion deferred to Phase 6] — perception
- D-058: World menu — radial, 4 spokes — perception
- D-059: Fog — shader-based, five layers, knowledge-graph-driven — perception
- D-060: Cognitive delay for fog recognition — perception
- D-061: Dialogue box — unified conversation log, bottom screen, max 20% height, no portraits — perception
- D-062: Invisible locked dialogue options — content
- D-063: Confrontation — same box, different weight — content
- D-064: Walk-away — three-phase consequences — content
- D-065: Smuggler inventory — knowledge-primary with physical evidence [SUPERSEDED] — scope
- D-066: Dual-scale grid — 0.5m simulation, 1m visual (2x retina factor) — architecture
- D-067: Recognition chime fires at onset of cognitive delay — perception
- D-068: 5-bus audio architecture — architecture
- D-069: Audio dip profiles for dialogue and confrontation — perception
- D-070: Confrontation as cognitive vulnerability — perception
- D-071: No ambient dip for eavesdropping — ListeningFocus boost — perception
- D-072: Universal event-driven conversation murmur — perception
- D-073: Zone crossfade approach — hard boundary, soft audio transition — architecture
- D-074: Audio aesthetic identity — insert-tech vs organic — content
- D-075: Dialogue filtering — layered confidence gate on trust tier (OQ-18 resolution) — content
- D-076: Dialogue box max-width — 1200px (OQ-29 resolution) — perception
- D-077: Zone temperature memory — server-tracked zone_id (OQ-09 resolution) — perception
- D-078:
Overheard NPC conversation — passive dialogue panel with occlusion filterSCRAPPED (R-012) — perception - D-079: Knowledge Grant Architecture — perception
- D-080: NPC-to-NPC Knowledge Propagation — perception
- D-081: Unprompted Disclosure Design — perception
- D-082: NPC Information Boundaries — MVP Scope — perception
- D-083: Contradiction Detection Pipeline — perception
- D-084: Dual-namespace line ID scheme — role pool + instance override — content
- D-085: Per-game save directory structure — architecture
- D-086: Insert icon system — custom SVG, no icon font — perception
- D-087: v0.1 triangle configuration — 3 active forks, 2 passive tensions [SUPERSEDED] — scope
- D-088: 3-state pause system — Normal/Overlay/Paused, server-authoritative — architecture
- D-089: Self-contained triangle forks for v0.1, no cross-triangle cascade [SUPERSEDED] — scope
- D-090: PC voice registers — smuggler and detective speech patterns
[SUPERSEDED]— content - D-091: Complicity as named thematic core [SUPERSEDED] — scope
- D-092: Anchor line requirement in NPC style guide — content
- D-093: Sova Transit District — Spatial Layout and District Topology — content
- D-094: District Spatial Hierarchy — Chunk, Block, District Naming and Sizes — architecture
- D-095: Horizon Stations and Gate Infrastructure — Transport Lore — content
- D-096: DistrictLayoutMode — Grid and Organic Support — architecture
- D-097: Guarantee Tier System — Universal / Full-Only / Conditional — architecture
- D-098: TrianglePurpose Enum — content
- D-099: WallBackside / TileBehindState — Dual Classification — architecture
- D-100: Dynamic Modification via Overlay — DamageOverlay and RegenerationStrategy — architecture
- D-101: ZonePalette Modifier System — architecture
- D-102: Horizon View Corridor as Coastal Guarantee — architecture
- D-103: Assassin Lens Spatial Guarantees — A-1 through A-4 — architecture
- D-104: Heritage Grammar Overlay for Non-Urban Palettes — content
- D-105: Non-Urban Informal Zone Typology — content
- D-106: Vertical Scale Architecture and Rooftop Bar Clause — architecture
- D-107: Trauma Events as EraModification Subtypes — content
- D-108: MobileChunk Specification — architecture
- D-109: DamageOverlay / RegenerationStrategy Prohibition — Architectural Mandate — architecture
- D-110: Signed Z-Level Addressing — base_z u8 → i8 — architecture
- D-111: MobileChunk Idle State Covers Stationary Player Installations — architecture
- D-112: No Separate Location Instancing System — architecture
- D-113: Tile data model — extensible per-tile properties — architecture
- D-114: v0.2 proof-of-life — generator + graphics, not hand-built slice [SUPERSEDED] — scope
- D-115: Character creation scoped to skills + bookmark for v0.2 [SUPERSEDED] — scope
- D-116: Religion is not a game system — scope
- D-117: Tycoon is the v0.2 bookmark — zero investigation content [SUPERSEDED] — scope
- D-118: Small business owner starting state — tycoon is aspiration, not starting position [SUPERSEDED] — scope
- D-119: Generator spike confirmed for Sprint 25 — critical path — scope
- D-120: No skill ceiling in v0.2 — transhumanist ladder deferred [SUPERSEDED] — scope
- D-121: Voice is culture-driven — job as modifier — content
- D-122: All NPCs generated — no named hand-authored characters — content
- D-123: Generative AI for NPC content — build-time authoring tool and runtime voice pipeline — content
- D-124: In-game ollama for live NPC dialogue —
deferredSUPERSEDED by D-138 — content - D-125: World is quietly responsive — gradient of caring by social proximity — content
- D-126: Groundhog Day alarm clock homage — first game day only — content
- D-127: Player choices are the content — Rimworld model, job as rails — content
- D-128: Culture implicit in starting location — Van Maanen's Star equals Van Maanen's Star culture — content
- D-129: NPC personality — traits + behavior first, relationships codified for systems — content
- D-130: Fully emergent moral arc for v0.2 — generator proves relationships readable first — content
- D-131: Broad economic verb vocabulary — life verbs, not tycoon-specific — content
- D-132: Dual-scale consequence model — Rimworld sharp events and DF slow accumulation — content
- D-133: Skills affect outcome — same verbs available, skill determines quality — architecture
- D-134: Full character customization — hair, clothing, colors at tile scale — architecture
- D-135: Setting delivery via both layers — visual world + insert in parallel — architecture
- D-136: First Settled Reach moment — auto-generated apartment + insert activation — architecture
- D-137: Generator produces both structural and cosmetic variety at different scales — architecture
- D-138: LLM Re-voicing Pipeline for NPC Voice — content
- D-139: Composable behavior primitives — three-layer assembly model — content
- D-140: Dialogue re-voicing quality constraints — Paula's six rules — content
- D-141: PlatformInfo — client-side OS abstraction autoload — architecture
- D-142: Zone-type template architecture for scalable NPC behavior — content
- D-143: GD calendar epoch — Gate Discovery (2300 AD) as year 0 — content
- D-144: Sirius (GJ 244A / S-067) as Reach capital — seat of the Concord Assembly — content
- D-145: Base building DLC — GJ 902 unclaimed moon as player settlement site — scope
- D-146: Character creation preview — tile-scale sprite with heavy zoom — scope
- D-147: Aesthetic taste as character personality trait — shared root for cosmetic and environmental expression — content
- D-148: 30° low-angle camera with 45° map rotation — supersedes D-019 — architecture
- D-149: 3D characters rendered live in scene — not pre-rendered sprites — architecture
- D-150: Character outline — inverted hull method — architecture
- D-151: Direction count — 8 server-side facings, 4 visual groups client Sprint 28 — architecture
- D-152: Character LOD — performance-driven budget, not distance threshold — architecture
- D-153: Player character not visually distinct from NPCs — scope
- D-154: Character outline is not a relationship indicator — uniform dark — scope
- D-155: Character editor rotation — cardinal directions only, no free-spin — scope
- D-156: Faction colors are narrative, not a visual compositor concern — scope
- D-157: Game start sequence — alarm clock fade from black, not camera pull-back — scope
- D-158: Frontal camera angle is default for character editor / mugshot UI — scope
- D-159: Character body type enum: 5 types × 2 genders + 1 child skeleton (11 total) — scope
- D-160: Body meshes must be segmented into 18 bone-group regions — architecture
- D-161: Head is always a separate mesh on the Head bone — architecture
- D-162: Clothing is pre-baked per body type via Blender Surface Deform — architecture
- D-163: Trellis generates unique heads per character via BoneAttachment3D — architecture
- D-164: Fork Quaternius skeleton, replace all body meshes — architecture
- D-165: Character creator color palette: 5x9 muted hues + 1x9 neutral gray — scope
- D-166: Development Cascade — 6-Phase First-Things-First Build Order — architecture
- D-167: Heritage Roots Superseded — Corridor Cultural System Replaces Abstract Roots — content
- D-168: Iserlohn (GJ-532c) planet name — keep, real-city origin documented — content
- D-169: Implant UI component library — Control node tree with custom Theme — architecture
- D-170: HUD visibility groups — gameplay vs implant layers — architecture
- D-171: Three-Currency System — economics
- D-172: Currency Zone Initialization — economics
- D-173: Commodity Taxonomy — economics
- D-174: Shadow Economy Layer — economics
- D-175: Corporation Taxonomy and Prerequisite — economics
- D-176: Productivity Seeding — economics
- D-177: Productivity Constraints (Lore-Derived) — economics
- D-178: Economic Model Architecture — economics
- D-179: Stability Acceptance Criteria — economics
- D-180: Event Input Port — economics
- D-181: Signal Vocabulary — economics
- D-182: TOML Source of Truth for Economics Data — economics
- D-183: Iterative Economics Development Cycle — economics
- D-184: Commodity Catalog (36 Types) — economics
- D-185: Brands Are Not Commodities — economics
- D-186: Gate Transmission Levels (Mass + Data + Energy) — economics
- D-187: Fusion Fuel as Intermediate (8:1 Water Yield) — economics
- D-188: Rename biome_summary to planet_class across codebase — architecture
- D-189: Brand Layer Architecture — economics
- D-190: Brand Volume Calibration — Population-Relative Scale — economics
- D-191: Atlas of the Reach — Phase 3 Scope and Pipeline — architecture
- D-192: Drop PROTOCOL_VERSION lockstep handshake — architecture
- D-193: Lattice Commission — canonical long-form of the Commission — content
- D-194: Three-Component District Mix Algorithm for City District Type Distribution — architecture
- D-195: Attractor-Matching Compatibility Matrix for Generative City Placement — architecture
- D-196: SettlementClass Enum and Latent Settlement Active/Ghost Logic — architecture
- D-197: prosperity_baseline Derivation Formula with Topographic Gradient — architecture
- D-198: Economic Simulation Independence from Layer 1–2 Spatial Data — architecture
- D-199: 6-Field Minimum Economic Read Set for City Generation Context — architecture
- D-200: Three-Tier Execution Model (Build-Time / Runtime-Background / Runtime-On-Demand) — architecture
- D-201: Spatial Hierarchy — Eight Tiers with Locked Dimensions — architecture
- D-202: Heightmap BLOB Storage Schema (atlas_body_heightmaps) — architecture
- D-203: BodyWorldState Bevy Resource with LRU Cache — architecture
- D-204: body_radius_km Column on bodies Table — architecture
- D-205: Province Boundary Pre-Computation (atlas_province_boundaries) — architecture
- D-206: Background Generation Priority Queue and Rayon Thread Infrastructure — architecture
- D-207: Fully Generative Placement — markers.json Stripped to Topographic Features — architecture
- D-208: D8 Priority-Flood Drainage Routing — Layer 1 Empty World — architecture
- D-209: Geographic Feature Tag Extraction (7 Settlement Attractor Tags) — architecture
- D-210: Sub-Biome Variant Classification and terrain_modification_cost — architecture
- D-211: Attractor-Matching Five-Phase Pipeline for Settlement Placement — architecture
- D-212: TerritorialStatus Priority-Ordered Derivation Algorithm — architecture
- D-213: FoundingOrientation Enum and Spatial Grid Rotation — architecture
- D-214: PoliticalArchetype Enum and Settlement Spatial Character — architecture
- D-215: Five Explicit Political Archetype Spatial Arrangement Patterns — architecture
- D-216: BlockIrregularity from founding_age — Layout Age Character — architecture
- D-217: Tile Condition Thresholds (0.63 / 0.43 / 0.23) — architecture
- D-218: WorldTier Enum Canonical Values (Epicenter/Regional/Backwater/Passage/Waypoint) — architecture
- D-220: Settlement Density Model — Tile Scale, Density Classes, and Vertical Pressure — architecture
- D-221: Replace sprint workflow with kanban + milestones — process
- D-222: Spatial hierarchy and naming — Subtile to District, lore vs code — architecture
- D-223: Authored content as a flavored name pool — markers names-only, hand-authored templates removed — architecture
- D-224: SeedChain — deterministic seed-derivation contract — architecture
- D-225: Atlas layer-stream proxy — compute-on-demand, mod-first (resolves Q-098) — architecture
- D-226: Live-pause inspection harness — agent-navigable, real-UI debug/review — architecture
- D-227: Deterministic-rebuild world model — derive-don't-store, cache, tile mutators, volumetric — architecture
- D-228: Composite tile schema — orthogonal axes, derived shape, region-level morphology — architecture
- D-229: Building-property-tag schema — the step-3 fill output — architecture
- D-230: FillChunk two-phase execution model — background-plan / on-demand-derive — architecture
- D-231: DoorSpec and InteriorDescriptor — the step3→step4 boundary and the Phase-6 seed — architecture
- D-232: Architecture-flavor — trait-template catalog (economically gated, seed-drawn, wiki-biased) — architecture
- D-233: Economic signal → block-fill vocabulary —
BulkClass×ProductionUbiquity— architecture - D-234: Morphology zone → street and footprint constraints — architecture
- D-235: Building exterior visual grammar and material vocabulary — architecture
- D-236: Sol / GJ-0 — player-inaccessible, Atlas highest-level only, deeper Sol is future DLC — scope
- D-237: Authored per-system specialisation layer —
economic_specialization+cultural_specialization+dominant_faction— architecture - D-238: Symmetric shadowcasting (Albert Ford) selected for LOS computation — perception
- D-239: Tile derivation contract — coarse→fine refinement chain (resolves Q-101) — architecture
- D-240: Registry orbit/star data is non-canonical — climate derives from a
planet_classtemperature envelope — architecture - D-241: Spike binary artifacts are local-only — gitignored, never tracked — process
- D-242: Corp HQ settlement model — HQs are not cities; separate from the name pool, specialization-keyed, install-baked — architecture
- D-243: Spatial scale ladder — nested absolute containment with a single elastic planetary seam (resolves Q-110) — architecture
- D-244: Asset rendering — 3D objects in-world; 2D limited to textures + flat artwork — architecture
- D-245: Nature-layer believability acceptance gate — architecture
- D-246: Intra-class micro-habitat mosaic — sub-chunk palette modulation of the D-228 axes — architecture
- D-247: Native pre-existing biospheres + chirality food-safety bit — why the Reach is breathable, and half of it inedible — content
- D-248: 3D locomotion presentation — per-leg constant-velocity interpolation keyed to the stance throttle — architecture
- D-249: 3D facing presentation authority — server feet, client eyes — architecture
- D-250: Wall cutaway is client-side camera presentation, decoupled from fog-of-perception — perception
- D-251: Character asset route, 2026 reconfirmation — Quaternius rig, in-house wardrobe, purchased animation tiers — content
- D-252: Facing is view-only — movement no longer writes Facing; NPC gaze is intent — architecture
- D-253: Region transient state model — seasonal/tidal/weather/snow phase functions (resolves Q-105) — architecture
- D-254: Standalone Atlas companion app —
make atlas, dual-connection reader — architecture - D-255: Body Map Viewer — stepped Atlas render architecture (supersedes the T-1143 continuous-ladder mechanism) — architecture
- D-256: Canonical sampling convention — one absolute-metre derive core; the batch layer is a survey raster — architecture
- D-257: Environment props share the character toon shading treatment; minimal-PBR carve-out for glazing — architecture
- D-258: Rung-0.5 expanded layer — one derived base for the whole ladder — architecture
- D-259: Enclosed settlements — open-air requires a breathable atmosphere — architecture
- D-260: Generator scope — Sol is authored, not generated — architecture
- D-261: River rendering — a stroke, not a scaled feature — architecture
- D-262: The wiki↔generator data flow has one canonical map, and it is a diagram — architecture
- D-263: Tooling consolidates into one Python CLI named
reach— not a Rust rewrite — architecture
Open questions
- Q-003: Art direction / presentation style — perception
- Q-008: Licensing / distribution model — scope
- Q-010: Storyteller AI design — content
- Q-013: Line previewer temporal progression — content
- Q-017: Triangle pressure threshold — content
- Q-019: Entity ID stability strategy — architecture
- Q-020: Multi-entity collision resolution — architecture
- Q-021: Tick budget overflow policy — architecture
- Q-022: NPC pathfinding cache eviction — architecture
- Q-023: Debug visualization scope — architecture
- Q-027: Fast-travel system design — scope
- Q-029: Save file format design — architecture
- Q-030: Seed configuration schema — architecture
- Q-031: Combined content style guide — content
- Q-032: Cultural ingredients menu — scope
- Q-033: Three-system NPC architecture — content
- Q-034: PC archetypes — scope
- Q-035: Sacred/Profane/Middle Kingdom framework — scope
- Q-037: Generator development pipeline — scope
- Q-038: Authored content estimate at 300-world scale — scope
- Q-042: Intra-system transport networks — passenger vs. freight, vehicles and modes — content
- Q-045: Axis 11 — Network Footprint NPC tag — content
- Q-047: Mobile environment social arc — structural representation of journey timeline — content
- Q-048: DramaDensity enum naming — 3-level vs 5-level — content
- Q-050: Assassination difficulty synthesis — formal spec combining stored baseline with on-demand computation — content
- Q-051: Speech bubble indicator over speaking NPCs — perception
- Q-052: Storyteller hint delivery — parallel diegetic channels when player does not act — content
- Q-053: Insert workspace boards — design philosophy and information architecture — perception
- Q-054: Insert workspace board — rendering primitive and data contract — perception
- Q-056: Zone spec needs location_context field (surface/station/vessel) — content
- Q-058: Runtime behavior text serving system — scope
- Q-060: Can Surface Deform produce acceptable clothing at extreme body types? — architecture
- Q-061: How many base clothing meshes needed for v0.2 proof-of-life? — scope
- Q-062: What does Quaternius Source tier include for body types? — scope
- Q-063: Footstep VFX system (Godot Asset Library #4122) — architecture
- Q-065: Shooting mechanics — Deep RayCast 3D vs Ballistic Penetration System vs server-side — architecture
- Q-066: PathMesh3D for procedural environment geometry — architecture
- Q-067: Vehicle physics for in-world transport — architecture
- Q-069: GPU cloth simulation for dynamic clothing — architecture
- Q-070: NobodyWho LLM patterns vs our Rust voice pipeline — architecture
- Q-071: Steam integration template for multiplayer lobbies — architecture
- Q-072: BitTorrent for P2P asset/mod/world state distribution — architecture
- Q-073: BehaviourToolkit patterns for Rust NPC AI — architecture
- Q-074: Screenshot manager for in-game captures and bug reports — architecture
- Q-075: RichText3D for in-world text rendering — architecture
- Q-076: DeformableMesh for runtime environment and damage variation — architecture
- Q-078: God rays for atmospheric lighting — architecture
- Q-079: GridMapLayer — 2D tile logic driving 3D grid rendering — architecture
- Q-080: Mod loader architecture reference — architecture
- Q-081: VisionCone3D for client-side fog refinement — architecture
- Q-082: VoronoiShatter for destruction effects — architecture
- Q-083: ThemeGen for dynamic insert styling and value-level theming — architecture
- Q-084: Isometric point-and-click navigation pattern — architecture
- Q-085: Portal rendering for spatial transitions and viewports — architecture
- Q-086: Day/night cycle — server time driving client lighting — architecture
- Q-087: Water shader for environment zones — architecture
- Q-088: Spatial audio for information-aware sound — architecture
- Q-089: Procedural star rendering for space viewports and star map — architecture
- Q-090: Markov chains for procedural name/text generation in Rust — architecture
- Q-091: Event-driven audio system — architecture
- Q-092: Modular settings menu as foundation for T-735 — architecture
- Q-093: Tile-based exploration map in player insert (Google Maps for the implant) — architecture
- Q-097: Strip "What They Don't Talk About" from corporation pages — content
- Q-099: Mod content catalog — body rows / terrain_reference overlay for systems.db — architecture
- Q-103: Tile-mutator op schema — architecture
- Q-107: Wiki → Atlas content-set consolidation — architecture
- Q-108: Subterranean / domed / sealed-habitat settlement morphology — does the built-world fill model need a surface-vs-enclosed branch — architecture
- Q-109: Cascade generation-source dispatch — planetary / station / mod-DLC-forked / save-only — architecture
- Q-111: Live-econ coupling of generation inputs — which inputs refresh from the rolling sim vs stay static-authored? — architecture
- Q-112: Storyteller engagement scoring — move to bps integer arithmetic or sanction f32? — architecture
- Q-113: Is cross-platform f32 bit-identity required for saves? (golden vectors are x86_64-only) — architecture
- Q-114: Server-side NPC appearance generation contract — seed+culture+role → CharacterVisualDescriptor — architecture
- Q-115: Are garments simulated inventory items or visual-only descriptor fields? — architecture
- Q-116: GDScript lint gate — flip to blocking or record advisory-forever? — process
- Q-117: whatsinagame/ — extract the embedded starter-kit product or record why it stays vendored? — scope
- Q-118: Empty wiki category dirs (cultural-groups, institutions, lore, species) and blank body Descriptions — Phase-6 scope or retire? — scope
- Q-119: Is the generic-parent placeholder set the first asset-production milestone? — content
- Q-120: Adopt a garment-token vocabulary with generic fallback parents (the D-235 pattern, applied to clothing)? — content
- Q-121: Where does cultural dress canon live — TOML registers now, prose pages in Phase 6? — content
- Q-122: Third-party asset sourcing policy — when to use CC0/purchased bases vs Trellis generation, per asset class? — content
- Q-123: Believability gate threshold calibration — architecture
- Q-124: Should the Python tooling be retooled into a single Rust CLI? — architecture
Resolved questions
- Q-001: Game engine selection — architecture
- Q-002: Scope of v0.1 playable prototype — scope
- Q-004: One campaign spanning all eras or separate era scenarios? — scope
- Q-005: Scale for prototype - locations, characters, factions — scope
- Q-006: Multiplayer or single-player only? — architecture
- Q-007: Target platform(s) — scope
- Q-009: Time system — architecture
- Q-011: Character selection and playable characters — scope
- Q-012: Generation expansion method for dialogue — content
- Q-014: Audio timing with monologue chime — perception
- Q-015: Generation expansion for THE FRIEND content — content
- Q-016: Knowledge hierarchy for monologue prerequisites — perception
- Q-018: Shadowcasting algorithm selection — architecture
- Q-024: Gossip propagation timing — perception
- Q-025: Knowledge graph cap and eviction strategy — perception
- Q-026: Contradiction detection algorithm — perception
- Q-028: Collision-resistant line IDs for auto-generated NPCs — content
- Q-036: District skeleton as generator output — scope
- Q-039: Gate topology generation — scope
- Q-040: Gate dual-use topology — freight and commuter on shared span gate infrastructure — content
- Q-041: Interstellar travel mechanics — horizon stations and gate architecture — content
- Q-043: Station internal transit — intra-station transport system between districts — content
- Q-044: Gate-train integration — do transport vehicles use gates directly or transfer on each side — content
- Q-046: Departure schedule model — departure windows as generator output for docked vessels — architecture
- Q-049: ObjectTag vocabulary co-maintenance — Miri and Araminta shared dependency — content
- Q-057: Composable behavior generation — decompose culture × role × context into assembled behaviors — content
- Q-059: PlatformInfo full interface scope — architecture
- Q-064: 3D planet generator for wiki system screenshots — architecture
- Q-068: Procedural terrain generation patterns — chunk loading and noise — architecture
- Q-077: World generation architecture → PROMOTED TO WORKSHOP — architecture
- Q-094: Chart widgets for economy/market insert UI — architecture
- Q-095: Commission formal name — authoritative designation — content
- Q-096: Replace sprint workflow with kanban + milestones — process
- Q-098: Persistence of generated river/city mapping outputs — architecture
- Q-100: Biome authority — Python sim vs Rust cascade — architecture
- Q-101: Refinement / derivation contract — coarse hint → fine geometry + morphology algorithm family — architecture
- Q-102: Cohesion-matrix algorithm — seam-free continuous variation — architecture
- Q-104: Floor-index ↔ absolute voxel-z coordinate mapping — architecture
- Q-105: Region seasonal/clock state — the shared cheap-dynamism source — architecture
- Q-106: Era-band stacking depth for layered architecture-flavor — architecture
- Q-110: Region/chunk physical-scale anchoring — what is a region in metres, and what anchors a heightmap pixel? — architecture
Rejected
- R-001: Stellaris mod — architecture
- R-002: CK3 total conversion — architecture
- R-003: Other existing games (Distant Worlds 2, GalCiv IV, Sins of a Solar Empire II, Victoria 3) — architecture
- R-004: Pure Bevy (Rust) — no Godot — architecture
- R-005: Pure Godot (GDScript or C#) — architecture
- R-006: Godot + Rust via GDExtension — architecture
- R-007: Godot + C++ via GDExtension — architecture
- R-008: Fyrox (pure Rust engine) — architecture
- R-009: Custom framework (Rust + raylib/macroquad) — architecture
- R-010: protobuf for client-server serialization — architecture
- R-011: Single currency for Phase 2 economics — economics
- R-012: Overheard NPC conversation system (D-078) — scrapped — perception
- R-013: Localization / i18n — scope
- R-014: Rust rewrite of the Python tooling — architecture