Files
settled-reach/docs/workshops/generation-cascade/paula-round4.md
T
jpmschweitzerandClaude Opus 4.6 42ee1f0a0e docs(workshops): generation cascade workshop — 4 rounds, D-194 through D-218
Four-round workshop (Gestalt, Tyre, Paula, Burnelli-Sheldon, Miri)
mapping the full generation pipeline from planetary heightmap to
walkable tile. 25 D-records produced. Ticket dependency chain for
Tier 0-4 implementation identified.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-03 20:18:17 +02:00

27 KiB
Raw Blame History

title, description, type, status, workshop, agent, round, created
title description type status workshop agent round created
Paula — Round 4: Narrative Requirements for the Planet-Down Cascade Narrative/political signals at each cascade layer; TerritorialStatus as Layer 2 output; accepted proposals remapped; determinism rule as narrative feature workshop active generation-cascade paula 4 2026-04-30

Generation Cascade — Round 4 (Paula)

Focus: Domain requirements for the next workshop brief. Four cascade layers (planet-down), narrative/political lens. What each layer must produce for the world to be politically legible. Where accepted proposals sit in the new ordering. What the determinism rule means for narrative.

Not revisited: prosperity_index, perimeter_treatment, political_archetype, naming registers, sub-settlement hierarchy, MaintenanceAuthority — all carried forward. This document maps them to the new layer sequence.


The Reframe: Geography Is Political History

The planet-down cascade gets the causality right. Cities don't create geography. Geography creates cities — and then political structures grow to control what geography made valuable.

The narrative consequence is significant. In the old city-outward framing, we had to work backwards from settlement position to infer what geographic logic placed it there. In the planet-down framing, the geographic logic comes first. We don't have to infer why a city exists at a river confluence — the river confluence was tagged at Layer 1, the settlement was placed at Layer 2 because of that tag, and the settlement's character is immediately legible from its founding condition.

This is a better narrative model because it matches how civilizations actually work. The political power of any settlement derives from what geographic advantage it controls. A city at a mountain pass doesn't just happen to have checkpoint-heavy districts — it was placed there because controlling the pass was the point. The generator doesn't need to be told that a pass city is administratively oriented; the geography tells it.

The four layers below address what each layer must produce for this to work.


Layer 1: Empty World — Tagging Geographic Potential

What the layer does: Heightmap → water simulation (rivers, lakes, coastlines) → sub-biome refinement.

Narrative position: This layer produces no political signals — civilization hasn't arrived yet. What it produces is geographic potential: the affordances that will determine where civilization concentrates and what political structures that concentration supports.

What Layer 1 must tag for Layer 2 to work

The settlement placement algorithm at Layer 2 cannot derive settlement character from raw heightmap data efficiently. Layer 1 should produce a tagged feature layer alongside the terrain output — geographic features that will become politically meaningful once inhabited.

Mandatory tags for narrative-legible settlement generation:

Tag What it marks Political potential
RiverConfluence Where two navigable rivers meet Trading nexus; FreePort or AdminCapital archetype
CoastalHarbor Natural harbor, protected anchorage Maritime commerce; FreePort archetype
MountainPass Lowest crossing point in a range Checkpoint/control; AdminCapital or Contested
ArablePlain Flat land with soil quality above threshold Agricultural settlement; dependent on nearest nexus
ResourceConcentration Mineral outcrop, energy source, rare material Extraction; CompanyTown archetype
Defensible Elevated with sightlines, natural chokepoint Military/administrative; AdminCapital
NaturalBarrier Range, wide river, dense terrain — impassable without engineering Future political boundary

These tags are the layer's narrative output. They're the geographic skeleton onto which all political structure will attach.

What Layer 1 does not produce

Layer 1 does not name anything. Rivers, mountains, and passes exist at Layer 1 but have no names. Names are attached at Layer 2 when settlement begins. This is the correct order — geographic names are the oldest naming layer precisely because the terrain existed before anyone arrived to name it. The generator should preserve this layering: names are first assigned at the point when the settlement placement algorithm acknowledges a feature as settleable or traversable.

The one exception: major terrain features that are large enough to be visible on the planetary atlas (significant mountain ranges, major river systems, ocean boundaries) should receive a geographic placeholder name at Layer 1 so that the atlas UI can label them. These are geographic register names — purely descriptive, pre-political.


Layer 2: Population Overlay — Civilization's Shape Emerges

What the layer does: Economics onto geography. Settlements placed at geographic nexus points. Forests felled for farmland. Hills flattened for towns. Road and rail networks connecting settlements.

Narrative position: This is the most politically loaded layer. Here the relationship between geography and power is established. Every decision the placement algorithm makes — where to put a settlement, what kind of settlement, how to connect it — produces a political fact that will still be legible at street level.

Geographic rationale → settlement character

In the planet-down cascade, settlement character is directly derivable from the geographic tag that caused the settlement to exist:

Geographic trigger Settlement character Political archetype lean
RiverConfluence Trading city; port infrastructure FreePort or AdminCapital
CoastalHarbor Maritime hub FreePort
MountainPass Checkpoint city; controls access AdminCapital; Contested if two powers compete
ArablePlain Agricultural town or village cluster EconomicallyDependent on nearest nexus
ResourceConcentration Corporate/extraction town CompanyTown
Defensible Administrative or military center AdminCapital
No geographic trigger Settlement exists because someone decided it should OrganicGrowth — the most politically ambiguous case

The last case is the most interesting narratively. A settlement with no geographic rationale — placed in flat, resource-poor, non-nexus territory — exists because of a political decision that overrode geographic logic. Imperial projects, religious sites, symbolic capitals placed away from natural advantages. These are always the most politically contested settlements in real history, and they should be in the generator too.

TerritorialStatus as Layer 2 output

In Round 3 I proposed TerritorialStatus as a regional control field. The lead flagged this as "wrong axis" when thinking city-outward. In the planet-down cascade, TerritorialStatus is correct — but as an output of Layer 2, not an input.

Once settlement placement and road network generation are complete, the space between settlements has a territorial character that falls directly out of:

  • Settlement density (how many settlements per area unit)
  • Road quality connecting those settlements (who invested in connection)
  • Economic control data (which corporations are active)
  • Distance and WorldTier of the nearest major settlement

The six TerritorialStatus values aren't assigned before Layer 2 runs — they're DERIVED after it completes:

  • CoreTerritory: High settlement density + road network well-maintained throughout. Someone has built and maintained the infrastructure between settlements. Power is present and exercised.
  • FrontierTerritory: Settlement placed, road connecting it exists, but road quality degrades at distance from the major city. Administration exists in principle; infrastructure thins at the edges.
  • ExtractiveZone: Settlement placed at ResourceConcentration. Corporate presence flagged in systems.db. Road network excellent along the extraction corridor; absent or poor off it. The infrastructure tells you exactly what the controlling authority cares about.
  • ContestZone: Two settlement clusters with competing road networks in overlapping territory. Geographic trigger is present but two political actors responded to it. Roads sometimes duplicated, sometimes dead at contested boundaries.
  • WildernessBuffer: No settlement placed — the placement algorithm found no geographic trigger or economics rationale. Road does not cross. Not absence of interest; absence of occasion.
  • AbandonedZone: Settlement was placed (geographic rationale existed at generation time), but economic simulation has flagged the rationale as exhausted. Resource depleted, corporation withdrawn, route obsoleted. The settlement's physical footprint remains; its economic basis has gone.

This resolves the ambiguity from Round 3's OQ-R3-1 (TerritorialStatus scope debate). TerritorialStatus doesn't need its own dedicated layer — it is a post-processing output of the settlement placement and road generation steps that already exist in Layer 2. It costs one classification pass after settlement placement completes, not a separate layer.

Road networks: the infrastructure of political will

Roads in the planet-down cascade are not authored — they emerge from the connections the placement algorithm makes. But which settlements get connected at what quality reflects political priorities:

  • The placement algorithm connects settlements based on economic flow (systems.db trade data) and administrative hierarchy (systems.db economic_role)
  • Road quality is set at generation time based on the connection's economic value and the WorldTier of the endpoints
  • MaintenanceAuthority falls directly out of the endpoint relationship:
    • Corporate extraction site → corporate depot: Corporate
    • Administrative capital → administered sub-settlement: Administrative
    • Settlement cluster with trade flow but no administrative relationship: Trade
    • Settlement → settlement with no economic tie and no administrative relationship: Communal
    • Connection that existed at generation time but whose rationale has since dissolved: Abandoned

MaintenanceAuthority is derivable at road generation time. It does not require a separate authored pass.

Sub-settlements: geographic inevitabilities

Sub-settlements (outposts, waypoints, rural nodes) emerge from Layer 2 geography, not from proximity to cities. The geographic logic makes them inevitable:

  • A mountain pass will have a waypoint — passes always acquire service infrastructure
  • A long road without settlements will have relay stations — travel demands it
  • A river crossing will attract a settlement — crossings are traffic bottlenecks, and traffic bottlenecks attract commerce
  • An agricultural cluster below city-threshold population produces a rural node — food production always aggregates to a spatial locus

PoliticalTether is then derivable from why the sub-settlement exists: what geographic feature caused its placement, and which city controls that feature. A waypoint at a pass controlled by an AdminCapital city is Administered. A waypoint at a pass that two cities both claim is Contested. A mining camp at a corporate extraction site is Corporate. The relationship emerges from the geographic trigger and the political control data — it doesn't need to be authored.

Naming at Layer 2

Settlement names are first assigned here. The naming register for a settlement derives from its geographic trigger:

  • RiverConfluence → Geographic register (the confluence is named before the city)
  • ResourceConcentration + corporate presence → Functional register (the resource is the name)
  • AdminCapital archetype → Commemorative register (the founder gets to name the capital)
  • ArablePlain agricultural cluster → Geographic or Folk register (farmers named for what they see)

DualNaming conditions are set at Layer 2 wherever ContestZone territory exists — the naming conflict is a consequence of the territorial conflict, and both emerge from the same placement logic.

Major geographic features (rivers, mountain ranges) that were given placeholder names at Layer 1 receive their first human-assigned names here, at the moment settlements begin to use them. The Layer 1 geographic placeholder may persist as the common name while the Layer 2 administrative name becomes official — this is the origin of most DualNaming conditions.


Layer 3: City-Level Planning — Political Archetype Becomes Spatial

What the layer does: Districts, suburbs, industrial zones, commercial areas, ports, stations, highways. Topography + economics + cultural parameters.

Narrative position: This is where the geographic rationale from Layer 2 becomes visible in city structure. The city knows what it was built for (FoundingOrientation, derived from the geographic trigger that placed it). That purpose shapes every spatial decision.

FoundingOrientation is geography, not authoring

In the planet-down cascade, FoundingOrientation is not a derived field requiring a sanity-check pass on named cities. It is directly readable from the geographic trigger:

Layer 2 trigger FoundingOrientation
CoastalHarbor or RiverConfluence with port PortFacing
Transit/rail junction RailHeadFacing
ResourceConcentration ResourceFacing
Defensible terrain DefenseFacing
No geographic trigger (AdminCapital placed by political decision) AdminFacing

The generator reads the geographic tag that caused this settlement to exist and produces the appropriate orientation. No authoring, no sanity pass except for named cities where the setting lore explicitly overrides the geographic logic.

How political_archetype shapes district layout direction

The combination of FoundingOrientation + political_archetype determines which direction the city grows and which end is oldest:

  • PortFacing + FreePort: City grew away from the harbor (older densely packed districts near the water; newer more spacious development inland). The harbor is the source; the rest of the city is infrastructure for handling what the harbor produces.
  • ResourceFacing + CompanyTown: City is a spine, not a circle. The resource is at one end; everything else is arranged in service of access to it. There's no civic center — the city has no need of one.
  • DefenseFacing + AdminCapital: City radiates from the fortified high point. Administrative districts are adjacent to the fortification; residential quality grades outward from that center.
  • No geographic trigger + OrganicGrowth: City grew around multiple small centers of gravity. No single direction is "oldest." The prosperity gradient is local, not city-wide.

The growth direction tells the generator which end of the city gets older, more organic, lower-prosperity districts, and which end gets the planned, newer, higher-prosperity development. This is the district prosperity gradient — it runs from founding end toward expansion end, with the oldest districts closest to whatever the city was built around.

Naming at Layer 3

Districts receive names at Layer 3. The naming register follows the lookup table (Commemorative / Functional / Aspirational / Folk / Geographic by DistrictType + WorldTier).

The city's political_archetype adds a modifier:

  • CompanyTown cities: district names lean Functional or Corporate (the company names things for what they do)
  • AdminCapital cities: district names lean Commemorative (administrative power names things for its history)
  • FreePort cities: district names lean Functional or Aspirational (commerce names things for what they offer)
  • Contested cities: district naming is where DualNaming most visibly proliferates — each faction named the districts they control; the contested middle zone may have three names

Layer 4: Street-Level Rendering — Political History Made Visible

What the layer does: Streets, buildings, civilization tiles.

Narrative position: This is where all upstream context is consumed to produce what the player actually sees. The narrative signals that have been building since Layer 1 become tactile — visible in tile state, building condition, perimeter markers, street width, landmark footprints.

What the player reads at street level

From Layer 1: The city exists here because a river meets a coast, or because the pass is here. Even at street level, you can see the geographic rationale — the harbor is at one end of the main boulevard, the mountain wall is at the other end of the pass city.

From Layer 2: The territorial character of the region is visible in road quality at the city's approach. An ExtractiveZone city has excellent road infrastructure on the corporate corridor and nothing on the secondary routes. A ContestZone city has checkpoint infrastructure that doesn't fully match any one political actor's logic — overlapping, redundant, or dead.

From Layer 3: The district layout tells you what the city was planned to be. The grid on the administrative side is deliberate. The organic tangle near the old harbor is what grew before anyone planned it. The street hierarchy (boulevard → secondary → alley) is only present in districts that had investment — where it's absent, you're in a district that the planning authority didn't think was worth a hierarchy.

From Layer 4: The current economic state shows in tile condition. Prosperity_index drives decay probability. Perimeter treatment tiles at district edges show who controls entry. Building condition reflects current economic health, not the intended plan.

The narrative emerges from all four layers simultaneously. The player reads: intended geography → what was planned → what the sim currently says → what they see on the ground.


The Determinism Rule: Narrative Consequences

The lead's critical rule: economic sim affects rendering (prosperity/repair), NOT layout (streets locked by seed).

This is the most powerful narrative mechanism in the cascade. Let me be explicit about what it means.

The ghost city effect

Streets are locked at generation time. They carry the intended political geography of the district — the street grid that was planned when the city was laid out. The economic simulation can change tile state, building condition, and prosperity_index (or a prosperity_delta applied to the seed-derived baseline), but it cannot move streets or erase landmark footprints.

The consequence: a district's current state and its intended state are always both visible.

A CompanyTown where the corporation has departed still has its company-town street vocabulary: wide factory roads built for heavy vehicles, worker housing in tight grids sized for maximum occupancy, no civic center because the company never built one. The streets broadcast what this district was planned to be. The tiles broadcast that no one is maintaining that plan anymore.

A once-affluent residential district that has declined still has its wide boulevards and generous setbacks — the spatial signature of wealth — even as tile decay tells you that the resources to maintain that plan have left. The player reads the gap: someone planned this for people with more than they needed. They're gone.

A Contested city that resolves in favor of one faction still has both factions' street-scale infrastructure. The streets the losing faction built persist. Their checkpoints are unmanned or controlled by the other faction, but their footprints remain. History is visible in structure even after political change.

Prosperity_delta, not prosperity replacement

For this to work correctly, the economic sim must communicate with the tile generator through a delta, not a replacement value:

  • Seed-derived prosperity_index: What the district was planned as. Set at Layer 3 from WorldTier + economic data. Locked.
  • Sim-derived prosperity_delta: What the current economic state says about this district relative to what it was planned as. Can be positive or negative. Updated by the economic simulation.
  • Effective prosperity: prosperity_index + prosperity_delta (clamped to [0.0, 1.0]) drives tile selection.

The seed-derived prosperity_index is what the street geometry was planned for. The effective prosperity is what the tiles show. When they differ significantly, the player is looking at the ghost city effect — the story of what happened between the plan and now.

This is not a technical refinement; it's a narrative requirement. If prosperity_index is just a sim-updated value with no seed-derived baseline, the ghost city effect disappears. The streets would then be random relative to the tile state, and the most powerful narrative signal in the game would be lost.

Ruins as structural permanence

The determinism rule also applies to ruins (AbandonedZone sub-settlements). When the economic sim flags a settlement for ruination — resource depleted, corporation departed, route obsoleted — the settlement's physical structure remains. The streets are still there. The building footprints are still there. What changes is:

  • Prosperity_delta drops sharply (or drops all the way to floor)
  • Perimeter treatment degrades (Checkpoint → Fenced → Open over time, as maintenance ends)
  • Landmark condition deteriorates

The ruin is a ghost city at settlement scale. The geography tagged it as worth settling. Someone built here. Now no one maintains it. The gap between the structure (still present) and the tile state (decayed) is the entire story of what happened, without a word of dialogue or UI explanation.


Accepted Proposals: Remapped to the Planet-Down Cascade

Proposal Origin New cascade position
prosperity_index: f32 on DistrictSkeleton Round 2 Layer 3 output (seed-derived baseline from WorldTier + geographic context); economic sim produces prosperity_delta at runtime
perimeter_treatment: PerimeterTreatment Round 2 Layer 3 output (derived from DistrictType + WorldTier + prosperity_index at generation time); economic sim can degrade it at runtime
political_archetype (derived + override) Round 2 Layer 2 output (derived from geographic trigger + economic data; override slot for named cities)
Naming registers (lookup table) Round 2 Layers 24: Geographic register at Layer 2, Functional/Commemorative at Layer 3, street-level naming at Layer 4
Sub-settlement hierarchy Round 3 Layer 2 output (settlements emerge from geographic triggers; PoliticalTether derived from why they exist)
MaintenanceAuthority on roads Round 3 Layer 2 output (derived from road endpoint relationships; no separate pass required)
TerritorialStatus Round 3 Layer 2 post-processing output (derived from settlement density + road quality + economic control after placement completes; not a separate layer)
FoundingOrientation Round 3 Layer 2 → Layer 3 handoff field (directly readable from the geographic trigger that placed the settlement; no authoring required)
DualNaming (official_name/common_name) Round 3 Layer 2 initialization (ContestZone conditions set here); Layer 3 proliferation (factions name districts differently); Layer 4 display (streets have working names vs. official names)

Narrative Questions That Need Answering at Each Layer

These are questions the brief should surface, not questions I'm answering here.

Layer 1:

  • Does the empty world generator produce a tagged feature layer alongside terrain output, or does Layer 2 have to re-derive geographic potential from raw heightmap data? The tagged layer approach is cleaner but requires a Layer 1 schema change.
  • How are major geographic features (significant river systems, mountain ranges) identified for atlas-visible labeling vs. local features not worth labeling at atlas scale?

Layer 2:

  • What triggers an OrganicGrowth settlement (no geographic trigger) vs. a settlement the algorithm decides not to place? Algorithmically they're both "no trigger found" — but narratively they're different (one is a settlement that exists anyway; the other is empty territory). Is there a way to distinguish them in the data model?
  • How does the economic sim know when to flag a settlement for AbandonedZone status? Is this a threshold on economic flow below a minimum, or does it require an explicit event (corporation withdraws)?
  • Sub-settlements that exist because of geographic inevitabilities (mountain pass waypoints, river crossing settlements) — do they get placed by the same algorithm as city settlements, or do they need a separate sub-settlement placement pass?

Layer 3:

  • The prosperity gradient runs from founding end toward expansion end. How steep is the gradient? Does a PortFacing FreePort city have linear prosperity decline from harbor to inland, or is it more complex (harbor districts: commercial prosperity high; adjacent residential: working class; distant new development: new wealth)?
  • For Contested cities, how is the spatial position of the contested boundary established? It derives from which factions control what geographic features — but the boundary itself needs to be a deterministic geometric feature that Phase 5 can use to guide district layout.

Layer 4:

  • How does prosperity_delta get communicated from the economic sim to the tile generator? Is it a per-district value stored in the save file alongside ChunkMutations, or is it derived at chunk-load time from current sim state?
  • When perimeter treatment degrades over time (AbandonedZone maintenance ending), is that a sim-driven tile state change or does it require removing perimeter marker tiles? The former is simpler; the latter is more visually correct but touches locked structure.

What the Brief Needs to Specify

For the planet-down cascade to produce politically legible worlds, the brief must lock:

  1. Layer 1 tagged feature output — does the empty world generator produce a geographic feature tag layer, or is that re-derived at Layer 2?

  2. TerritorialStatus as Layer 2 post-processing — confirm it's derived after settlement placement, not a separately authored or layered concept. This resolves OQ-R3-1 cleanly.

  3. Prosperity_delta architecture — seed-derived prosperity_index is the locked baseline; economic sim produces a runtime prosperity_delta. This must be a named architectural decision before Layer 3 or Phase 5 are implemented, because it determines whether the ghost city effect is possible at all.

  4. Named cities exception scope — the planet-down cascade makes most authoring unnecessary by deriving everything from geography + economics. The brief should specify what named cities still require: political_archetype_override, prosperity_override, and landmark names for major cities. That scope is small. Everything else should be derived.

  5. AbandonedZone lifecycle — who flags a settlement for ruination? The economic sim, or the lead authoring specific events? The former enables emergent history; the latter enables authored history. Probably both, with the sim as default and authored events as override.


Paula — Round 4. Written 2026-04-30.