Files
settled-reach/docs/workshops/generator-architecture/araminta-round2.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

38 KiB
Raw Blame History

title, description, type, status, workshop, agent, round, created
title description type status workshop agent round created
Araminta Round 2 — Edge Bleed and Non-Urban Terrain Visual coherence for edge bleed, non-urban terrain, and multi-playstyle support workshop archived generator-architecture araminta 2 2026-02-27

Generator Architecture Workshop — Round 2: Araminta

Visual Coherence for Edge Bleed and Non-Urban Terrain

Author: Araminta (Visual Designer) Date: 2026-02-27 Workshop: Generator Architecture (Ticket #562) Responding to: Round 1 notes (Qatux), Nigel-round1.md (OQ-8 on flavor vocabulary), Ozzie-round1.md (anti-grid, historical palimpsest), Lead Directive (edge bleed, non-urban terrain, multi-playstyle support)


Acknowledging the Lead Directive

The lead says this is a game about the inherent asymmetry of human awareness — not specifically a detective game. I want to say directly: the visual grammar I've built already serves this. Entity colors (D-033) encode the player's subjective relationship to every NPC, not the NPC's objective status. Access tier gradients encode social topology, not investigation routes. Lighting temperature communicates "who inhabits this space," not "who the suspect is."

What I need to do in Round 2 is make explicit that these visual systems serve all playstyles simultaneously:

  • The investigator reads access tiers as information about where evidence could be hidden
  • The career-builder reads access tiers as information about where their workplace authority extends
  • The relationship-seeker reads lighting temperature as information about where warmth is
  • The explorer reads LOS asymmetry as information about what's worth investigating
  • The trader reads object density as information about economic activity

The grammar doesn't favor the detective. It reads space as social reality. That already supports all playstyles. What changes in Round 2 is that the grammar needs to extend to district boundaries and natural terrain — both of which the current spec treats as edge cases.


1. District Edge Bleed — Gradient Rules and Visual Ambiguity

The Core Problem

A hard district boundary at the 256×256 visual tile line would produce visible seams. A player crossing from an institutional district into a residential one would see the palette snap. That's the grid made visible at district scale — exactly what the lead directive prohibits.

The Transitional Block System

Rule: The outermost 1-block ring (64×64 visual tiles wide, the entire perimeter) of every district is a transitional zone. It is not fully committed to either the district's zone palette or the adjacent district's zone palette. It blends.

The blend is not random — it is directional and material-specific:

Element Transition rule
Floor tiles Interpolate toward adjacent district over the 64vt block width. At block center (32vt), halfway blend.
Wall materials Do NOT interpolate — walls remain in the building's home district palette. Walls are structural; inconsistent wall materials read as a construction error, not a cultural gradient.
Lighting fixture color Interpolate toward adjacent district temperature over the 64vt block. Fixtures in the edge block use a temperature midway between zone A and zone B.
Ambient (CanvasModulate) Interpolate: the screen-space ambient at the district boundary is the average of both zones' ambient values.
Overhead elements (layer 4) Follow the building's home palette — no interpolation. The overhead layer is attached to structures, not geography.

Example: Terminal (cool grey #1a1e24, fixture #c8d8f0) meets Bar zone (warm #1e1912, fixture #f0b840). The transitional block between them gets floor #1c1b1b (average) and fixture temperature #e0c090 (average — a neutral warm-cool white). The player feels themselves moving between temperature zones. They don't see a line.

Shared Infrastructure as Grid Dissolvers

Infrastructure doesn't respect district lines. The maintenance spine continues across boundaries. Street network continues across boundaries. Power conduits continue.

Visual rule: Any infrastructure element that crosses a district boundary maintains its own visual identity regardless of which zone's palette it passes through. A maintenance corridor that runs through both zones is uniformly #181818 floor and #d0d8e0 dim fixtures throughout — the zone doesn't color the infrastructure.

This produces a specific effect: the player navigating via maintenance corridors and service spines experiences district transitions as gradual warmth or coolness changes in the main spaces they pass through, not as clear demarcation. The maintenance route is the same everywhere; what changes is the ambient leaking through doorways.

Palette Gradient Sequence (The Visual Spine of a Planet-Side District)

From my memory — and now formalized: the palette gradient rule should operate at district scale, not just within a district.

The canonical gradient for a settlement:

Gate/Official (cool white, high Meridian)
  → Cargo/Functional (grey-navy, medium Meridian)
    → Transit/Neutral (dark, degraded Meridian)
      → Social/Warm (amber, minimal Meridian)
        → Residential (deeper warm, very sparse)
          → Industrial periphery (cool-neutral, Era 1)
            → Agricultural edge / Wilderness (natural ambient)

A player moving from the gate cluster outward should feel this sequence of temperature changes. Each district boundary is a step along the gradient. No step should be abrupt. The transitional block system produces smooth steps.

Visual Ambiguity at the Boundary — The Test

Test: A player who has walked into a space and stopped moving should not be able to say with certainty "I'm in District A" vs. "I'm in District B." They should be able to say "I'm somewhere between institutional and residential." That ambiguity is correct. District boundaries are social constructs; they should feel like zones of contested identity.

Mechanism: Beyond the transitional block palette blend, the boundary zone should contain:

  • At least one building whose aesthetic reads ambiguously (a residential building with institutional materials — "this was built during the corporate ownership period")
  • At least one infrastructure element that belongs to neither palette (a public bench, a civic planter, a notice board — neutral civic-grey)
  • Faction presence that differs from either zone's dominant faction (the boundary is where power is ambiguous)

2. Non-Urban Terrain Visual Grammar

The Problem with the Current Visual Grammar

My Round 1 grammar assumed fixture-based lighting throughout. Natural terrain has no light fixtures — it has ambient daylight, weather, and time-of-day. The zone palette system needs a natural terrain extension.

The key difference is not the palette — it's the lighting model. Urban zones use PointLight2D with defined fixture radii and specific color temperatures. Natural terrain uses global ambient light (CanvasModulate adjusted by time-of-day and weather) with local shadow patches (tree canopy, rock shadows, terrain occluders) rather than light pools.

This is a different visual regime, but it's compatible with the same grammar: it just uses different sources for the same properties (floor color, ambient, lighting temperature, LOS anchors).

Natural Zone Palettes

Farmland

Character: human-worked earth, seasonal rhythm, functional machinery. Warm earth tones crossed with metal and worn wood.

Element Hex Notes
Floor — open soil #1a1510 Dark warm brown, turned earth
Floor — crop cover (summer) #0e1408 Deep green-dark, living crops overhead
Floor — crop cover (dormant) #1c1610 Pale straw-brown, cut stalks
Surface structures #2a2010 Dried wood, weathered metal, fence posts
Ambient (daylight) #0e0c08 Warm near-black ground shadow
Ambient (dusk) #120810 Deep dusty purple-rose
Lighting (nocturnal) #f0b840 (amber, very sparse) Oil lamp, generator-powered work light
Overhead (canopy) #0a1006 at 60% opacity Crop overhead layer — partial occlusion

LOS anchors in farmland: tree lines, fencing, equipment rows, barn structures, irrigation channels. Interval still max 16vt — the open field is broken by these.

Object density: 48 per quarter. Crops are floor elements (z=0/1), not objects. Objects are equipment (tractors, plows, silos), structures (barns, sheds, irrigation heads), and markers (fence posts, gate structures).

Wilderness / Forest

Character: ambient darkness, dense occlusion, no human pattern. This is where both Ozzie's "place I'm not supposed to be" fantasy and the stealth/exploration loop live.

Element Hex Notes
Floor — forest floor #0e120e Dark organic green-brown
Floor — undergrowth #141a14 Slightly lighter, mossy texture
Floor — clearings #181c14 Open patches, warmer
Surface (exposed rock) #141618 Cool grey-blue stone
Ambient #080a08 Near-black, very dark
Canopy overhead (z=4) #0a1008 at 5575% opacity Dense forest blocks: variable opacity by canopy thickness
Lighting (sparse, nocturnal) #c0d8e8 (moonlight) Cold ambient, from gaps in canopy, not fixture-based

LOS in forest: extremely broken. 35 visual tile clear vision before a tree line interrupts. The forest is a zone where the player has naturally degraded visibility — not from the fog shader, from dense overhead layer occlusion.

Key visual rule for wilderness: The overhead layer (z=4) does the work that walls do in urban spaces. Dense forest canopy at 70% opacity is the wilderness equivalent of a building interior. The player sees ground-level detail but loses the mid-range LOS that urban spaces provide.

Object density: 03 per quarter. Terrain features (fallen logs, rock outcroppings), occasional structures (an abandoned hut, a collapsed wall remnant), natural water features. Never furniture or organized equipment.

Ocean / Coastal Water

Character: open, reflective, dark, directional light from surface.

Element Hex Notes
Deep water floor #060c14 Near-black deep blue
Shallow coastal #0e1820 Slightly lighter, sand visible through water
Tidal zone #181c1a Wet rock, dark neutral
Ambient #060810 Cold near-black
Surface reflection #c0c8d8 (specular at 20% opacity, animated) Starlight/sunlight reflection — visual grammar's water treatment

For ocean shores: the "shore" is a transitional band 412 visual tiles wide between the natural-water floor palette and the land/beach palette.

LOS in water: Characters on water have dramatically extended LOS (no urban occlusion). Characters observing from land looking at water have similar extension — open water is a surveillance dead zone for urban investigations but a clear field for coastal ones. A player on a dock watching boats has long-range LOS that urban environments never permit.

Beach / Coastal

Character: warm sand tones, open flat, tidal variation.

Element Hex Notes
Dry sand #2a2218 Dark warm tan
Wet sand #201a10 Darker, where tide has been
Dune vegetation #121610 Sparse dark grass
Ambient #0c0a06 Warm near-black
Lighting Global ambient, no fixtures in beach zones Daylight is the light source

Object density: 03 per quarter. Drift material (logs, seaweed, debris), tidal structures (rock pools, seawall sections), human presence markers where applicable (a boat mooring, a net-drying frame). Beach is one of the lowest-density natural zones.

Mountain / High Terrain / Snow

Character: cold, bright surfaces, compressed atmospheric light, vertically dramatic.

Element Hex Notes
Rock face #181c22 Dark blue-grey stone
Snow surface #c8d8e8 Pale blue-white — deliberately HIGH brightness contrast
Ice #aab8c8 Slightly darker than snow, more specular
Ambient #10141a Cold dark blue-grey
Lighting Global ambient, blue-white shifted (#d0e4f8 at dawn, #a8c0e0 at dusk) Mountain light is directional and cold

Visual grammar challenge: Snow is bright. It's the only natural terrain type where the floor tile is significantly lighter than the ambient — which inverts the typical relationship (dark floor, lighter fixture pools). This needs special handling: snow tiles have an inherent luminosity value that the ambient doesn't reduce to black. They glow passively.

LOS in mountain terrain: Extremely variable. Cliff faces create absolute LOS walls. Ridgelines create elevation-differential LOS (attacker on ridge sees down; defender below cannot see up). The vertical surprise that Ozzie specifically named as a key spatial experience is native to this terrain type.

Secluded Town / Rural Settlement

Character: warm residential, low institutional density, personal accumulation (functional warmth at architectural scale).

This is the planet-side analog of the Bar's aesthetic: human habitation that accumulated rather than was planned. Zone palette:

Element Hex Notes
Floor #1a1612 Dark warm brown-grey, worn stone/composite
Wall face #28201a Warm brown — between maintenance and bar zone
Ambient #0e0c0a Warm near-black
Lighting #f0b840 amber (social, local) + #d8c890 neutral-warm (commercial, streets) Mix of fixture temperatures by building type
Overhead Very sparse institutional; high personal accumulated objects Signs, laundry lines, planters, awnings

Secluded towns have higher personal overhead density than any urban zone. Individual character expressed through what's placed on z=4: awnings, potted plants on window ledges, a sign written by hand, a rope stretched between buildings. The institutional overhead layer (pipes, ducts, service equipment) is rare. This is the visual grammar of individual choices at human scale.

Natural Terrain LOS Anchors

In natural terrain, the max 16vt LOS anchor interval rule still applies, but anchors are:

Anchor type Visual tile width Notes
Single tree 12vt (trunk) Canopy extends 35vt on z=4
Tree cluster 48vt Full LOS break at floor level
Rock formation 24vt Hard LOS break, permanent
Terrain elevation change 0vt (invisible at floor) Creates vertical LOS asymmetry
Fence/wall 1vt Partial cover; human-placed
Building 432vt Full LOS break
Water feature (river, stream) 26vt Not a LOS block but a movement constraint

The generator must place natural LOS anchors at the same interval rules as structural elements. A forest clearing that's 30+ visual tiles wide with no trees in it is both visually wrong (natural clearings have fallen logs, undergrowth, isolated trees) and gameplay wrong (no cover in either direction for 30m).


3. Anti-Grid Techniques

Ozzie is right: "the grid will show." The block grid is 64×64 visual tiles. Even with quarter variation inside blocks, if block edges always align and streets always run at 90°, the skeleton is perceptible. Here are the visual techniques that break it.

Technique 1: Diagonal Connectors

Streets don't have to run perpendicular. A 45° diagonal connector between two otherwise-gridded streets reads as older than the grid (it predates the block layout, it follows a natural path).

Visual constraints on diagonals:

  • Must be at minimum 4vt wide (same as district street minimum, to handle tile-based movement)
  • Floor material is distinct from both connected street systems — diagonal connectors use the transitional corridor palette (#181818 neutral dark) regardless of what they connect, because they read as "infrastructure that predates the current layout"
  • Cannot exceed 45° from grid axis — steeper angles produce tile-movement awkwardness
  • LOS along a diagonal is blocked at the two ends by the street network it connects — the diagonal is a slot, not an open approach

One diagonal connector per 46 blocks is sufficient. Too many diagonals produce a different regularity.

Technique 2: Irregular Setbacks at Block Faces

Buildings don't need to be flush with the block edge. Setback variation per building along a block face:

Setback Visual result What it communicates
0vt (flush) Building wall at block edge Institutional, dense, planned
12vt Narrow threshold space Semi-private front threshold, step/stoop
34vt Small garden/forecourt Residential, some space claimed outside
58vt Significant forecourt Commercial frontage, civic
Recessed door Door 23vt inside flush facade Industrial — the approach is exposed

Rule: No two adjacent buildings on the same block face should have identical setbacks. The variation is not random — it's driven by access tier (public buildings set back more) and era (Era 1 buildings are flush, Era 3 buildings have planned setbacks). But within those constraints, the setback varies.

The aggregated effect of setback variation is a block face that is not a straight wall. The building line is irregular. The player's visual experience of the block's edge is broken into a series of small spatial events rather than a continuous surface.

Technique 3: Overhead Extension Past Block Boundaries

On z=4 (overhead layer), buildings can extend past their ground-floor footprint:

  • Awnings and overhangs: 13vt extension into the street
  • External staircases: 24vt extension, adds vertical element
  • Second-story or gallery bridges: structural extensions that visually connect two adjacent buildings across the street or alley between them

Overhead extensions do not block movement (the player moves on z=1 floor). But they change the visual experience of the street: it is partially covered, has variable ceiling height, and — critically — it makes the block edge ambiguous. The building's overhead presence is larger than its footprint.

At block seams: An awning or overhead element that spans a block seam reads as a single building structure regardless of which block generates it. The block seam disappears beneath the visual overhead.

Technique 4: Infrastructure Routing at Angle to Grid

A power conduit, a water pipe, an old rail line that pre-dates the current block layout — if it runs at a slight angle to the street grid, it reads as older than the layout it crosses.

Visual treatment:

  • Infrastructure that runs at angle to grid uses the maintenance corridor palette (#181818 + #4e5054 markers)
  • It appears on z=4 where it crosses buildings (overhead routing), z=0 where it's underground
  • Where it emerges at z=1, it creates small visual events: a junction box, a pressure valve, an access hatch

The diagonal infrastructure is the generator's primary tool for producing "historical palimpsest" in urban districts. It encodes a simple history: "this predates the current layout." The player doesn't need to be told — they see the conduit cutting diagonally across three blocks and understand that something was here before the current plan.

Technique 5: Light Territories vs. Grid Territories

Light pools from PointLight2D are circular. They don't respect block edges. A fixture placed near a block edge casts light into both blocks. The player reads the lit area as a single spatial unit regardless of which block generates it.

Exploiting this: Place fixtures deliberately near block edges, particularly at street intersections, to create light territories that span blocks. The bright zone at an intersection reads as a town square, a gathering point, a visible moment — even if it's just two block corners meeting.

The grid says: this is the corner of Block 3 and Block 7. The light says: this is the corner, a single social fact with meaning. Players navigate by light, not by block IDs.

Technique 6: Vegetation Overflow and Organic Intrusion

In planet-side settings, natural elements can cross block boundaries:

  • A tree planted at the edge of a courtyard extends its canopy (z=4) into the adjacent street
  • A drainage channel follows gravity rather than block edges — it cuts diagonally through two blocks
  • Ivy or climbing vegetation on a building facade extends toward an adjacent building

These organic elements are generation-time decisions: the generator tags certain building edge quarters as "vegetation boundary permitted" and places the appropriate z=4 elements. The visual result is plant matter that doesn't respect the invisible block lines — exactly what makes planet-side settlements feel like they've been there a while.

Technique 7: Street Width Variation

Streets don't have to be uniform width. The same street can narrow where buildings press in and widen where they set back. This produces the visual impression of a street that evolved — some merchants built closer to the edge, others further.

Implementing within the minimum corridor width rules:

  • Minimum 4vt for district streets (V-05) — this is the floor
  • Maximum is unconstrained upward — a street can be 8, 12, or 16vt wide at plazas
  • The width changes happen at building boundaries (where one building's facade gives way to another's)

A street that varies from 4vt to 8vt to 6vt along its length reads as human-built. A street that is consistently 4vt everywhere reads as designed.


4. Unified Empty Quarter Taxonomy

Qatux correctly flagged that my Round 1 taxonomy (spatial types) and Nigel's taxonomy (content categories) are at different abstraction levels. Here's the unified version.

The Two-Layer Model

Every empty/unclaimed quarter gets:

  1. A spatial type — the physical geometry and access tier of the space
  2. A content category — the social/economic activity that inhabits it

These are assigned independently but have compatibility constraints.

Layer 1: Spatial Types (5 canonical)

Spatial type Floor width Access tier Ambient character
Open plaza Full quarter (16×16) Public Zone palette floor, fixture density normal
Service alley 26vt wide, full quarter depth Semi-private → restricted Dark, sparse fixtures, maintenance palette
Courtyard Full quarter interior (enclosed by adjacent buildings) Semi-private Reduced ambient, personal-scale objects
Staging ground Full quarter, some permanent markers Semi-private → private Industrial floor markings, cargo markers
Undeveloped gap Any width Restricted by default Bare floor, no fixtures, very dark

Layer 2: Content Categories (Nigel's 4 + structural baseline)

Content category Who placed it Economic signal Faction signal
Civic baseline No one — it's just maintained infrastructure Neutral Neutral (Commission maintains public space)
Informal economy Individuals, self-organized Active trade, self-reliance Low faction control or contested
Settlement Community, long-term residents Community investment, stability High community cohesion, low institutional
Economic stress Necessity, not choice Insufficient formal economy Institutional failure or neglect
Faction presence Institutional actor Faction extending influence High faction control, normalizing presence

Compatibility Matrix

Open plaza Service alley Courtyard Staging ground Undeveloped gap
Civic baseline ✓ primary ✓ (access infrastructure)
Informal economy ✓ primary ✓ (side-alley stalls) ✓ secondary ✓ (squatter use)
Settlement ✓ (public garden) ✓ primary ✓ (shacks)
Economic stress ✓ (abandoned plaza) ✓ (unauthorized storage) ✓ (mothballed staging) ✓ primary
Faction presence ✓ primary ✓ (checkpoint infrastructure)

The Full Unified Taxonomy

Combining both layers produces the specific fill elements:

Open Plaza + Civic baseline: Benches, news ticker (if near transit), waste receptacles, civic signage. Neutral floor (zone palette). Normal fixture density. Zone: public face of a district.

Open Plaza + Informal economy: Market stalls (temporary awning structures, z=4), vendor cart positions, cluster of seating near central stall. Floor markings from stall activity. Slightly warmer fixture temperature than zone baseline (vendors bring their own lights). Access: nominally public but stall arrangement creates semi-private pockets.

Open Plaza + Settlement: Community garden planters, improvised seating clusters (salvaged furniture, not purchased), a shrine or memorial marker (small z=2 object). Warm, low-tech. The garden has overhead crop layer at z=4. Lighting: minimal, personal-scale.

Open Plaza + Economic stress: Abandoned stalls (awning frames without cloth), cracked floor (visual floor tile variant with cracks — same palette, different texture), no functioning fixtures (dark), possibly a temporary windbreak (partial barrier). Reads as: there used to be activity here.

Open Plaza + Faction presence: Commission kiosk (small structure, institutional-grey palette, z=4 signage in neutral Michroma labels), checkpoint barrier positions (can be raised or lowered), public notice board with official announcements. Cold LED lighting regardless of zone.

Service alley + Civic baseline: Drainage channel, access hatches to z=0 maintenance. Narrow, dark, maintenance palette. Objects: conduit runs, junction boxes.

Service alley + Informal economy: Vendor carts staged here between market hours. Informal repair shop set into an alcove (small bench, tools, spare parts on shelving). Lighting: one additional fixture hung by the vendor, slightly warmer than alley baseline.

Service alley + Economic stress: Unauthorized storage — cargo containers pushed against one wall, none of them labeled correctly. Possibly a temporary shelter structure. Very dark. Access: technically public but social convention says otherwise.

Courtyard + Settlement: Private gardens, seating built into the courtyard walls, personal decorations on the surrounding building faces (z=4 neighbor additions: window boxes, hanging fabric, a clothesline). This is the warmest non-social-site space the generator produces. Enclosed, personal, warm.

Courtyard + Informal economy: Small informal workshop at one end (tools, a bench), goods laid out for inspection or trade. Semi-regular social gathering space — these become recurring NPC locations.

Staging ground + Civic baseline: Vehicle bay positions (dock marker lines on floor), cargo transporter docking points, maintained by the district authority. Clean industrial palette.

Staging ground + Economic stress: Mothballed staging. Old dock points, defunct equipment left in place, no active use. The generators are off — no lighting except ambient bleed from adjacent zones.

Staging ground + Faction presence: Faction-controlled logistics checkpoint. Corporate branded equipment, manifest scanners, branded service vehicles. If Commission-aligned: grey and cold LED. If Syndic-aligned: corporate colors (within saturation rules — muted versions of faction identity).

Undeveloped gap + Economic stress: Primary use. Shack structures (makeshift, Era 0 materials — salvaged, pre-palette), unauthorized occupation. Narrow footprint. Reads as: the gap between buildings that someone decided to live in.

Undeveloped gap + Informal economy: Squatter market — the gap between two buildings has become a covered passage lined with informal trade. Narrow, overhead covered with salvaged material (z=4), dim personal lighting.


5. Visual Vocabulary for Nigel's Flavor Categories

Nigel asked specifically for the visual vocabulary that distinguishes his four flavor categories. Here it is — the visual signal the player reads at a glance, before they're close enough to see detail.

Category 1: Informal Economy Indicators

At-a-glance signal: Warm irregular lighting against the zone baseline. Awning structures on z=4 that don't align with building facades — they're temporary additions. Goods on the ground (floor-level objects, z=2) in clusters that suggest display, not storage.

Visual vocabulary:

  • Awning material: Worn fabric or salvaged panel on z=4, at 65% opacity (semi-transparent — you can see through worn fabric). Color: zone-warm variant (amber or dusty orange-brown, staying below 20% saturation).
  • Goods display: Small objects in regular low-grid patterns (z=2), 0.51vt spacing, muted warm-adjacent colors (dried goods, second-hand items — nothing vivid).
  • Vendor lighting: One additional small PointLight2D per stall, radius 34vt, temperature #f0d090 (warm yellow — warmer than zone fixtures). Creates warm pooling that doesn't match zone's fixture grid.
  • Floor wear: A visually-distinct floor tile variant in front of each stall — foot-traffic-worn version of the zone palette floor, slightly lighter/warmer. Marks where people stand.
  • Sound indicators (visual grammar §317): High foot traffic = dense sound ping patterns at market hours.

Distinction from faction commercial: Informal economy has no signage (or handwritten signage in environmental text spec). Faction commercial has printed, standardized signage.

Category 2: Settlement Indicators

At-a-glance signal: Organic overhead elements where no overhead elements should be (container gardens on z=4, non-institutional). Seating that's clearly brought from somewhere else (non-matching furniture). The zone palette floor is correct but something on z=4 is soft, plant-based, or personal.

Visual vocabulary:

  • Container gardens: Rectangular planter objects on z=2 (1×1 or 2×1 visual tiles), with dark soil #0e1008 top and trailing vegetation on z=4 (#0a1006 leaf cluster at 60% opacity). Distinctly organic among industrial/institutional surroundings.
  • Improvised seating clusters: Mismatched furniture objects on z=2. In a zone where all furniture is institutional (same material, same design), non-matching furniture is immediately readable. Warmer material tone than zone standard.
  • Shrine/memorial: Small z=2 object with accumulated small items around it (the accumulation is visual — a cluster of tiny objects with personal-scale z=4 elements above). No lighting fixture — lit by candle (tiny PointLight2D, radius 1vt, #ffb040 very warm, dim).
  • Overall ambient: Warmer than zone baseline in this quarter — the accumulated human presence and personal lighting offsets the institutional zone character.

Distinction from informal economy: Settlement indicators are about residence and community, not trade. No awnings. No goods-on-display floor patterns. The warmth comes from plants and personal objects, not from commercial activity.

Category 3: Economic Stress Indicators

At-a-glance signal: Lower lighting than zone baseline (fixtures removed or failed). Structural elements in worse condition (visual tile variants with damage or decay). Objects in wrong positions — cargo pushed against a wall, equipment abandoned mid-task.

Visual vocabulary:

  • Failed/missing fixtures: Where the zone expects a fixture, there is none (or only a stub — a mounting bracket with no lamp). The area around the gap is darker than zone baseline. This is the clearest single signal of economic stress: lights are out.
  • Damaged floor tile variant: Same hex values as zone floor, but with crack pattern overlay (z=1 layer, 50% opacity crack texture). The palette is correct; the condition is wrong.
  • Abandoned equipment: Objects in positions that suggest mid-task abandonment — a cargo loader parked at an angle, not docked; a door propped open with a crate; tools left on a workbench with no NPC. Object placement is irregular relative to how the zone normally functions.
  • Temporary shelter construction: Makeshift wall sections (z=2, non-palette materials — warm salvaged brown or neutral salvaged grey, outside normal zone material set) forming a partial enclosure within the quarter.
  • Sparse foot-traffic floor wear: Fewer wear marks than zone standard — fewer people use this space than its design intended.

Distinction from undeveloped gap: Economic stress has attempted use. The undeveloped gap has no attempted use — it's raw material. Stress indicators show a space that was used and is now failing.

Category 4: Faction Presence Indicators

At-a-glance signal: Standardized signage (printed, institutional) where informal signage would otherwise be. Cold LED lighting regardless of zone temperature. Objects that look like they belong to a larger system — they have the same aesthetic as other faction objects elsewhere.

Visual vocabulary:

  • Commission presence: Cold institutional grey objects (#b8bec4 surface material, same as gate cluster). Cold LED fixture on a mounted post (#f2f4ff temperature). A notice board with official announcements (environmental text in Michroma, 11px, 70% opacity, properly aligned). The kiosk/checkpoint structure is clearly manufactured, not improvised.
  • Corporate/Syndic presence: Branded objects — the material is still within zone palette range (corporate entities use zone-appropriate materials but with branded applications). Corporate marking appears as a subtle logo on z=4 or as branded signage. Lighting: slightly cooler and more uniform than zone standard (corporate spaces are maintained).
  • Union hall / labor presence: Notice board with text (layer 4, higher-opacity than Commission notices — these have been posted by people who want them read). Seating arranged for meeting (chairs in a deliberate cluster, not scattered). Informal but organized.
  • Absence of faction presence (readable as absence): A quarter where there WERE Commission markers and they've been removed — stub mount points visible on z=4, blank walls where signage was. The absence of faction presence is as readable as presence.

Distinction from civic baseline: Civic baseline is neutral, maintained, no faction signage. Faction presence is cold and standardized (Commission) or branded (corporate) or organized-informal (labor). If you see a sign, you're in faction territory.


6. Responding to OQ-3: Do Quarters Have Social Meaning?

Ozzie asked whether the choice of quarter fill content has downstream social consequences. The answer from a visual perspective: yes, and the visual grammar is what makes those consequences legible.

When a quarter is assigned "Settlement — Container gardens," the visual output is:

  • Container planters in a semi-private courtyard
  • Slightly warmer ambient than zone baseline
  • Non-institutional overhead elements

But the social meaning that Ozzie wants requires the visual to communicate something about who lives here and what kind of space this is. Here's what the visual grammar tells a player who reads it:

  • Container gardens in an industrial district → people have been here long enough to invest in food independence. This is a mature community. Slow trust, deep roots.
  • Abandoned equipment (economic stress) → something changed. People were here, now less so. Ask why.
  • Commission kiosk in a residential zone → surveillance normalizing in a space it didn't previously reach. Something triggered this expansion.
  • Informal market stalls in a previously-staged zone → the official function of this space has been displaced by informal economy. Power is contested here.

These readings are available to any player — not just the investigator. The relationship-seeker reads the container gardens as "warm community, worth investing in." The trader reads the market stalls as "economic activity, possible contacts." The explorer reads the abandoned equipment as "something happened here, worth investigating."

The visual grammar doesn't point the way. It describes the social reality. The player applies their own lens.


Summary

District edge bleed: Transitional blocks using palette interpolation, shared infrastructure that ignores district lines, light pools that span boundaries. The player feels district changes as gradual temperature shifts, not lines.

Non-urban terrain: Five natural zone palettes (farmland, wilderness, ocean/beach, mountain, secluded town) using global ambient instead of fixture pools. Natural LOS anchors (trees, rocks, terrain features) at the same 16vt max interval rule. Wilderness uses overhead layer density (canopy) to create the occlusion that walls provide in urban spaces.

Anti-grid techniques: Seven techniques. Diagonals as historical infrastructure, irregular setbacks at block faces, overhead extension past block edges, angled infrastructure as palimpsest, light territories that span blocks, vegetation overflow in planet-side settings, street width variation. The visual grammar never aligns perfectly with the block grid — it uses the grid as an invisible scaffold.

Unified taxonomy: Two-layer model — spatial type (my 5 types) × content category (Nigel's 4 + civic baseline) = 25 possible combinations, with a compatibility matrix that constrains illogical assignments. Every quarter is assigned both a type and a category.

Flavor visual vocabulary: Each of Nigel's four categories has a distinct at-a-glance signal: warm irregular lighting (informal economy), organic overhead elements (settlement), failed lighting + damage tiles (stress), cold standardized objects (faction presence).

Multi-playstyle acknowledgment: The visual grammar communicates social reality, not investigation routes. Every player reads the same space through their own lens. The grammar serves them all because it describes who inhabits a space and on whose terms — which is the information that all playstyles need.