Files
settled-reach/docs/workshops/generator-architecture/workshop-brief.md
T
jpmschweitzerandClaude Opus 4.6 9a5c9c4408 docs(docs): add frontmatter to generator-architecture workshop
Standardized YAML frontmatter on all 38 files with title, description,
type, workshop, agent, and round fields.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 23:40:37 +01:00

9.5 KiB
Raw Blame History

title, description, type, status, workshop, agent, round, created
title description type status workshop agent round created
Workshop Brief Workshop goals, participants, source context, and round structure for generator architecture workshop archived generator-architecture 0 2026-02-27

Generator Architecture Workshop Brief

Goal: Establish the top-down procedural generator pipeline architecture — from geography down to individual chunk fill — that will power the 300-world model. Produce a D-record defining generator primitives, the spatial hierarchy, and the sub-chunk building system. Ticket: #562 (story, parent: #50 Chunk-based Map System) Priority: MEDIUM — prerequisite to #144 (Chunk generation system), Sprint 21+ target Participants: Gestalt (systems design), Tyre (architecture), Miri (worldbuilding), Araminta (spatial/visual), Nigel (replayability/procedural gen), Qatux (docs), SI (tickets) Source: Station District Layout Workshop (#153, Round 3), lead directive


Context

The v0.1 Transit District is hand-authored. The long-game goal is 300 procedurally generated worlds. The question this workshop must answer is: what is the generator's architecture — top to bottom?

The lead has identified a top-down pipeline model inspired by Cities Skylines:

Geography
  → Infrastructure (transport nodes, utilities)
    → Amenities & Services
      → Population (extrapolated from capacity)
        → Zoning
          → Block generation
            → Chunk fill (individual buildings and spaces)

This workshop also addresses a related structural question: how does the sub-chunk quarter system provide building variety within template-driven generation? A chunk divides into 4 quarters that can merge, split, leave gaps, or host shacks/gardens — producing L-shapes, mixed-use footprints, and irregular structures without breaking the generator's regularity.

Multi-block structures (train stations, government buildings, stadiums, parks, farmland) span multiple chunks and must be accounted for in the block and zoning passes before individual chunks are filled.

Starting point: Q-036 asks whether the district skeleton (social sites, NPC slots, triangle templates, economic function, access topology) is the atomic generator output unit. D-025 defines social sites as atomic template units for hand-authoring. This workshop must reconcile the two.

What is already decided:

  • D-025: Social site / functional cluster as atomic template unit (hand-authoring)
  • D-036: Sova Transit District as v0.1 setting (hand-authored)
  • D-012: Chunk-based map system (bounded for v0.1, borderless-capable)
  • #153 D-record (Station District Layout Workshop): district/block/chunk spatial hierarchy, spatial dimensions, access topology gradient — reference decisions/content.md for the confirmed record

What is still open:

  • Q-036: District skeleton as generator output (assigned Tyre, Gestalt)
  • Q-037: Generator development pipeline / phased production model (assigned SI, Tyre)
  • Q-039: Procedural gate topology generation

Key Questions to Resolve

1. Pipeline Architecture

  1. Is the Cities Skylines top-down model (geography → zoning → chunk fill) the right architecture for The Settled Reach, or does the game's station-centric setting require a different ordering?
  2. What is the correct sequence — does population follow zoning, or precede it?
  3. How does the pipeline handle stations (Sova) vs. planet-side cities vs. orbital installations? Same pipeline, different geography inputs?
  4. Where do political/economic conditions enter the pipeline? (Faction control, prosperity tier, trade routes)
  5. At what pipeline stage are the triangle templates (D-025) instantiated?

2. Spatial Hierarchy and Primitives

  1. What are the canonical spatial units in the hierarchy? (Region → District → Block → Chunk → Sub-chunk quarter? Or different names/levels?)
  2. What is the confirmed chunk size in sim tiles? (Reference #153 D-record — the district workshop decided this)
  3. What is the block size — how many chunks per block?
  4. What is the district size — how many blocks per district?
  5. How does the sub-chunk quarter system work mechanically? (Quarter = ¼ chunk, can merge 2×2, 1×2, L-shape. What are the merge rules? Who decides fill vs. empty?)

3. Multi-Block Structures

  1. How are multi-block structures (train stations, stadiums, government complexes, parks) represented in the generator? (Reserved footprint at the zoning pass? Pre-baked templates that claim N×M blocks?)
  2. What is the maximum multi-block footprint — is there a cap?
  3. How do multi-block structures interact with neighbouring chunk fills at their edges?
  4. Can a multi-block structure span district boundaries?

4. District Skeleton as Generator Output (Q-036)

  1. Is the district skeleton (social site arrangement, NPC slot allocation, triangle template selection, access topology) the correct atomic output of the district-generation stage?
  2. How does the district skeleton output interact with D-025's social site templates? (Generator selects and arranges templates, not individual tiles?)
  3. What inputs does the district skeleton generator consume? (Zoning type, population density, faction control, economic function, transport adjacency)
  4. What does the district skeleton output look like as a data structure? (List of social site slots with positions, access tier, NPC capacity, template tag)

5. Replayability and Variation

  1. What variation levers exist at each pipeline stage? (Seed, faction weights, economic tier, historical events?)
  2. How does the sub-chunk quarter system produce perceived variety across multiple playthroughs?
  3. How are "flavour" structures (shacks, gardens, market stalls) assigned to unclaimed quarter space?
  4. What prevents two generated districts from feeling identical even if they share the same zoning type?

6. v0.1 / Generator Boundary

  1. Where does the v0.1 hand-authored content end and the generator begin? What stub interfaces must v0.1 leave behind?
  2. Which pipeline stages are in scope for implementation, and which are deferred (per Q-037's phased production model)?
  3. Does the v0.1 Transit District need to be expressible as generator output (for validation), or is it purely an authored ground-truth?

Input Documents

Document What to read Why
decisions/content.md D-025 (social site template), #153 D-record Generator must compose from these primitives
decisions/scope.md D-012 (chunk system), D-036 (Sova setting) Spatial constraints and v0.1 setting
decisions/questions.md Q-036 (district skeleton), Q-037 (generator pipeline), Q-039 (gate topology) Open questions this workshop resolves
docs/design/sova-station-profile.md District types, 6-district layout The worldbuilding context the generator must reproduce
docs/design/spatial-layout-terminal-v01.md Terminal layout Example of a hand-authored chunk cluster
docs/design/spatial-layout-bar-v01.md Bar layout Example of a hand-authored chunk cluster
decisions/architecture.md D-014 (tile-based movement), D-012 (chunk loading) Technical constraints on spatial units
docs/workshops/content-architecture/content-architecture-workshop-brief.md Three-tier content pipeline How templates and procedural generation already relate

Expected Outputs

  1. D-record: Generator Architecture — confirmed in decisions/architecture.md:

    • Top-down pipeline stages (named and sequenced)
    • Spatial hierarchy (named levels, tile dimensions per level)
    • Sub-chunk quarter system rules (merge/split/fill logic)
    • Multi-block structure reservation protocol
    • District skeleton as generator output: data structure definition
    • v0.1 / generator boundary (what's hand-authored, what's stubbed)
  2. Resolution of Q-036: District skeleton as atomic generator output — yes/no + formal definition if yes

  3. Resolution of Q-037 scope: Which pipeline phases land in which version window (v0.1 stub, v0.20.5 template expansion, v0.60.10 generator development)

  4. Tickets: Implementation tasks derived from the D-record (chunk data structure update, district skeleton schema, zoning pass stub, block generation stub)


Workshop Format

Three rounds:

Round 1 — Domain Inventory Each participant reviews existing decisions and states what their domain requires from the generator architecture.

  • Gestalt: what gameplay loops does the generator need to support? What must it guarantee (e.g., always a surveillance chokepoint, always a quiet zone)?
  • Tyre: what are the hard technical constraints on chunk size, hierarchy depth, and data structure for the district skeleton?
  • Miri: how does the generator reproduce the cultural/economic variation of 300 worlds? What lore-level inputs drive the pipeline?
  • Araminta: what visual coherence constraints does chunk fill need to satisfy? How does the sub-chunk quarter system produce plausible streetscapes?
  • Nigel: what variation and replayability guarantees must the generator provide? What makes two generated districts feel different?

Round 2 — Pipeline Proposals Propose concrete pipeline architecture. Name the stages, define the spatial hierarchy levels with tile dimensions, describe the district skeleton data structure. Respond to each other's domain requirements from Round 1.

Round 3 — Convergence Resolve conflicts, agree on the pipeline sequence, lock spatial hierarchy dimensions, define the district skeleton output format, set the v0.1/generator boundary. Draft the D-record.