# Workshop — The economic & built world (Stage 2) *Second workshop in the world-derivation arc. The first (D-227 / D-228) settled the **natural** substrate. This one is Stage 2: the **economic & built** world.* ## Premise & the order The world is built in three stages, **all frozen in amber** — the goal right now is a deterministic **starting state** we can look at through the Atlas, not a running simulation: 1. **Natural world tiles** — terrain / water / vegetation / geology *(done: D-227 derive-don't-store world model, D-228 composite tile schema)* 2. **Economic world tiles → architecture + infrastructure** ← **this workshop** 3. **Living sim** — NPCs, clutter, the lived-in feel *(deferred — "NPCs follow the world when it's there"; complicated; later)* So: **built structures are IN scope; NPCs / creatures / clutter are OUT.** ## The load-bearing caveat (pin this) > **Settlement, architecture, and infrastructure placement derive from the > economy's *initial* state + seed — NEVER the *rolling* economy.** Rolling-economy placement would make the built world un-re-derivable: a city's existence or layout would drift as prices move, and you could no longer rebuild it from `seed`. The physical world is pinned to the economy's **starting snapshot**. (Persistence model, D-227: the rolling economy is *saved sim-state* with cache-eviction; it never feeds the derivation of physical form.) ## What this workshop must produce (→ D-records + tickets) Three threads. We do **not** close until they're resolved in records — convergence on one is not "done" (lesson from Workshop 1). - **Q1 — Economy → placement.** How does the *initial* economic state (+ seed + the natural world from Stage 1) decide **where** settlements, economic activity, and infrastructure sit? Ports at harbours (D-228 morphology zones), farms on alluvial plains, mines at lithology/ore, hubs at trade-corridor confluence. The initial-economics caveat lives here. - **Q2 — Placement → built form.** How does a placement become actual architecture / roads / rail / districts occupying voxels (D-227)? This must **connect to the existing generator-architecture work**, not restart it — height tiers, z-levels, block/chunk skeletons, cultural room grammar all already have decisions. The open seam is the *economic → architectural* hand-off and how built structures sit in the voxel/floor model (D-227). - **Q3 — Frozen-amber coherence.** Natural (Stage 1) + economic/built (Stage 2) must compose into **one deterministic starting state** the Atlas can render — re-derivable from `initial-economics + seed`, no rolling-state dependency, no squaring, coherent with the baked reliefmap (which is a deterministic *input*, Q-100). ## Build on what exists (don't restart) - **Natural substrate (Stage 1):** D-227, D-228. - **Economics:** D-176 (productivity seeding), D-178 (economic model), D-184 (commodity catalogue), D-199 (economic read-set for city generation), D-189 (brand layer). Burnelli owns these. - **Settlement / provinces:** D-191 (Atlas / settlement), D-205 (province boundaries), D-220 (settlement density — tile scale, density classes, vertical pressure). - **Architecture / generator:** D-106 / D-108 (height tiers, rooftop clause), D-200 / D-201 / D-203 (three-tier execution, region, LRU cache), D-110 (signed z-levels), D-222 (subtile → district hierarchy), `server/src/.../skeleton_gen.rs` (Layer-4 block placement), and the prior **`docs/workshops/generator-architecture/`** rounds. ## Team & angles (Sonnet-pinned) - **Burnelli** — the initial-economic-state → placement driver: what economic signals (commodity production, trade corridors, harbour quality, agricultural potential) determine where things go, at what scale, frozen at t=0. - **Tyre** — the derivation architecture: `initial-economy + seed + natural-world → settlement → built form`, deterministically; how built structures occupy the voxel/floor model (D-227); the economic→architectural hand-off seam. - **Miri** — settlement & cultural architecture: how heritage/culture shapes the built form on top of the economic skeleton (she led the generator-arch worldbuilding); keeping it coherent with the Reach's setting. - **Gestalt** — systems meaning: what built form *does* (movement, access, chokepoints, asymmetric-info), and what a tile/structure must carry for it. - **Nigel** — variety: do two economically-similar bodies produce *categorically* different cities, or same-y grids? Where does sameness creep in? - **Araminta** — visual architecture grammar: where the visual/render grammar plugs into the derived built form (lighter touch; structural derivation leads). ## Round 1 task (each) Read this brief + the pointed decisions/code for your angle. Post an **opening position**: (1) your contribution to Q1/Q2/Q3 from your lens, (2) the key forks / risks, (3) anything in existing decisions that constrains or contradicts the approach (especially the initial-economics caveat). Investigation + position, **not** final design. Flag blockers early. ## Process Round-based. Lead **consolidates** each round (no raw cross-talk dumped at the principal) and pulls Jeroen in. **Close only when D-records + tickets exist AND Jeroen confirms the whole problem — not one thread — is resolved.** Teammates edit nothing; the lead does all git. **Heartbeat:** if stuck >15 min on one thing without progress, message the lead with the blocker — don't silently retry.