Files
settled-reach/docs/diagrams/design/district-topology.d2
T
jpmschweitzerandClaude Opus 4.6 95a9b349a0 docs(docs): add district topology diagram
D2 source + PNG render showing all zone connections, access tiers,
z-levels, maintenance corridor routing, and dual entry vectors.
Vertical layout with color-coded access tiers per D-093.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 21:08:34 +01:00

236 lines
6.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# District Topology — Sova Transit District
# D-093 spatial layout. D-094 hierarchy: 256×256 vt (4×4 blocks).
# North = span gate entry. South-east = tram entry.
direction: down
vars: {
bg: "#1a1e24"
txt: "#c8d0e0"
acc: "#c8d8f0"
pub: "#1a3320"
spub: "#2e2a10"
spriv: "#2e1a08"
priv: "#2a0e0e"
comm: "#0e1a2e"
neut: "#1e2228"
s-pub: "#3a8a50"
s-spub: "#b8a020"
s-spriv: "#c86010"
s-priv: "#c02020"
s-comm: "#3060c0"
s-neut: "#4a5060"
}
# ── LEGEND ──
legend: Legend {
style.fill: ${bg}
style.stroke: ${acc}
style.font-color: ${txt}
style.font-size: 11
direction: right
l1: Public { style.fill: ${pub}; style.stroke: ${s-pub}; style.font-color: ${txt} }
l2: Semi-pub { style.fill: ${spub}; style.stroke: ${s-spub}; style.font-color: ${txt} }
l3: Semi-priv { style.fill: ${spriv}; style.stroke: ${s-spriv}; style.font-color: ${txt} }
l4: Private { style.fill: ${priv}; style.stroke: ${s-priv}; style.font-color: ${txt} }
l5: Commission { style.fill: ${comm}; style.stroke: ${s-comm}; style.font-color: ${txt} }
}
# ── NORTH ENTRY: SPAN GATE ──
span_gate: The Ring\n(span gate aperture) {
shape: hexagon
style.fill: ${comm}
style.stroke: ${s-comm}
style.font-color: ${txt}
}
# ── GATE CLUSTER ──
gate: Gate Cluster · 40×32 vt {
style.fill: ${bg}
style.stroke: ${s-comm}
style.font-color: ${txt}
style.border-radius: 4
aperture: Aperture\n8×4 {
style.fill: ${priv}; style.stroke: ${s-priv}; style.font-color: ${txt}
}
staging: Freight Staging\n24×8 {
style.fill: ${priv}; style.stroke: ${s-priv}; style.font-color: ${txt}
}
pab: Passenger Arrival\n12×8 {
style.fill: ${spub}; style.stroke: ${s-spub}; style.font-color: ${txt}
}
customs: Customs Lanes\n(freight 5×4vt + ped 3×2vt) {
style.fill: ${spriv}; style.stroke: ${s-spriv}; style.font-color: ${txt}
}
concourse: Concourse\n40×8 · PUBLIC {
style.fill: ${pub}; style.stroke: ${s-pub}; style.font-color: ${txt}
}
gallery: Gallery · z=2\n32×10 · COMMISSION {
style.fill: ${comm}; style.stroke: ${s-comm}; style.font-color: ${txt}
}
aperture -> staging: freight { style.stroke: ${s-priv} }
aperture -> pab: passenger { style.stroke: ${s-spub} }
staging -> customs { style.stroke: ${s-spriv} }
pab -> customs { style.stroke: ${s-spub} }
customs -> concourse { style.stroke: ${s-pub} }
concourse -> gallery: "staircase (Commission)" {
style.stroke: ${s-comm}; style.stroke-dash: 4
}
gallery -> customs: "LOS z=2 down" {
style.stroke: ${s-comm}; style.stroke-dash: 4
}
}
span_gate -> gate.aperture: "dual-use transit\n(90s flicker)" {
style.stroke: ${s-comm}
}
# ── TERMINAL ──
terminal: Terminal · 44×28 vt {
style.fill: ${bg}
style.stroke: ${s-spriv}
style.font-color: ${txt}
style.border-radius: 4
forecourt: Forecourt\n44×4 {
style.fill: ${spub}; style.stroke: ${s-spub}; style.font-color: ${txt}
}
cargo: Cargo Floor + Main Corridor {
style.fill: ${spriv}; style.stroke: ${s-spriv}; style.font-color: ${txt}
}
storage: Restricted Storage\n(single coded door) {
style.fill: ${priv}; style.stroke: ${s-priv}; style.font-color: ${txt}
}
hatch_t: M-HATCH-T {
shape: diamond
style.fill: ${priv}; style.stroke: ${s-priv}; style.font-color: ${txt}
}
forecourt -> cargo { style.stroke: ${s-spriv} }
cargo -> storage: "coded door" { style.stroke: ${s-priv} }
storage -> hatch_t { style.stroke: ${s-priv} }
}
gate.concourse -> terminal.forecourt: "district spine (south)" {
style.stroke: ${s-pub}
}
# ── TRANSITION CORRIDOR ──
corridor: Transition Corridor\n~40×6 vt {
style.fill: ${spub}
style.stroke: ${s-spub}
style.font-color: ${txt}
style.border-radius: 4
}
terminal.cargo -> corridor: "public route" {
style.stroke: ${s-spub}
}
# ── BAR ──
bar: The Last Shift · 28×22 vt {
style.fill: ${bg}
style.stroke: ${s-pub}
style.font-color: ${txt}
style.border-radius: 4
approach: Bar Approach\n28×3 {
style.fill: ${spub}; style.stroke: ${s-spub}; style.font-color: ${txt}
}
floor: Main Floor\n(corner booth · card table) {
style.fill: ${pub}; style.stroke: ${s-pub}; style.font-color: ${txt}
}
bathroom: Bathroom Corridor\n(east ext.) {
style.fill: ${spriv}; style.stroke: ${s-spriv}; style.font-color: ${txt}
}
backroom: Back Room\n(Lera) {
style.fill: ${priv}; style.stroke: ${s-priv}; style.font-color: ${txt}
}
hatch_b: M-HATCH-B {
shape: diamond
style.fill: ${priv}; style.stroke: ${s-priv}; style.font-color: ${txt}
}
approach -> floor { style.stroke: ${s-pub} }
floor -> bathroom: "east door" { style.stroke: ${s-spriv} }
floor -> backroom: "staff only" { style.stroke: ${s-priv} }
bathroom -> hatch_b { style.stroke: ${s-priv} }
}
corridor -> bar.approach: "bar-side decompression" {
style.stroke: ${s-spub}
}
# ── MAINTENANCE CORRIDOR (z=0) ──
maint: Maintenance Corridor\n(z=0 · Era 1 · 2vt wide)\nzero public traffic {
style.fill: ${priv}
style.stroke: ${s-priv}
style.font-color: ${txt}
style.border-radius: 4
style.stroke-dash: 5
}
junc: JUNC-1 {
shape: diamond
style.fill: ${priv}; style.stroke: ${s-priv}; style.font-color: ${txt}
}
terminal.hatch_t -> maint: "z=1 down z=0" {
style.stroke: ${s-priv}; style.stroke-dash: 5
}
maint -> junc { style.stroke: ${s-priv}; style.stroke-dash: 5 }
junc -> bar.hatch_b: "z=0 up z=1" {
style.stroke: ${s-priv}; style.stroke-dash: 5
}
# ── SOUTH-EAST ENTRY: TRAM ──
the_loop: The Loop\n(station tram · 6 districts) {
shape: hexagon
style.fill: ${neut}
style.stroke: ${s-neut}
style.font-color: ${txt}
}
platform: Transit Platform\n~12×8 vt · bar-side\n(encounter node) {
style.fill: ${pub}
style.stroke: ${s-pub}
style.font-color: ${txt}
style.border-radius: 4
}
the_loop -> platform: "workers arrive here (G-11)" {
style.stroke: ${s-neut}
}
platform -> bar.approach: "adjacent" {
style.stroke: ${s-pub}
}
# ── SECTOR 3 ──
sector3: Sector 3 Residential\n~15×12 vt · Drin/Naia {
style.fill: ${spub}
style.stroke: ${s-spub}
style.font-color: ${txt}
style.border-radius: 4
}
sector3 -> terminal.forecourt: "near Terminal" {
style.stroke: ${s-spub}; style.stroke-dash: 3
}
sector3 -> maint: "adjacent to spine" {
style.stroke: ${s-neut}; style.stroke-dash: 3
}