From 610dd78ff1c5b248b379855b374bfd733bfca1e8 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 4 Mar 2026 22:47:43 +0100 Subject: [PATCH] feat(assets): author tile maps for Sova Transit District (#582, #583) Complete tile data for all five locations in the transit district: - The Terminal (44x28, z=1): logistics hub with supervisor office LOS window - The Last Shift (34x22, z=1): bar with corner booth and back room alley exit - Maintenance Corridors (44x6, z=0): restricted storage, hatch room, transition corridor - Gate Ground (40x32, z=1): aperture chamber, staging, customs lanes, concourse - Gate Gallery (32x10, z=2): Commission-only observation gallery Gate corridor split into two files (gate-ground, gate-gallery) because the Location struct supports only one tile_bounds per file. Updated district.yaml locations list with gate-ground and gate-gallery. Co-Authored-By: Claude Opus 4.6 --- .../sova/districts/transit/district.yaml | 2 + .../transit/locations/gate-gallery.yaml | 48 +++++++++++ .../transit/locations/gate-ground.yaml | 79 +++++++++++++++++++ .../locations/maintenance-corridors.yaml | 52 +++++++++++- .../transit/locations/the-last-shift.yaml | 65 ++++++++++++++- .../transit/locations/the-terminal.yaml | 77 +++++++++++++++++- 6 files changed, 320 insertions(+), 3 deletions(-) create mode 100644 content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/gate-gallery.yaml create mode 100644 content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/gate-ground.yaml diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/district.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/district.yaml index 4aefb6f45..8b86aa56d 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/district.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/district.yaml @@ -10,4 +10,6 @@ locations: - "the-terminal" - "the-last-shift" - "maintenance-corridors" + - "gate-ground" + - "gate-gallery" npc_count: 17 diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/gate-gallery.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/gate-gallery.yaml new file mode 100644 index 000000000..6867c2dbb --- /dev/null +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/gate-gallery.yaml @@ -0,0 +1,48 @@ +# Location: Gate Corridor — Observation Gallery +# Source: D-093 gate cluster zone spec +# Zone palette: surface #b8bec4 / fog tint #0a1222 +# z=2 (above gate concourse) + +canonical_id: "krenn.sova.transit.location.gate-gallery" +display_name: "Observation Gallery" +description: > + Commission-only observation gallery overlooking the gate concourse from + z=2. The gallery rail is a transparent low wall — occupants can see + down to the concourse below, but upward LOS from z=1 is blocked except + at the staircase. Access restricted to Commission personnel. + +tile_bounds: + x_min: 0 + y_min: 0 + x_max: 31 + y_max: 9 + z: 2 + +# Legend: +# R = Restricted (Commission-only access) +# W = Wall (solid) +# +# Layout (32 wide x 10 tall): +# Row 0: North wall +# Rows 1-8: Gallery floor (R tiles — restricted access) +# Row 9: South wall (gallery rail — transparent low wall, modeled as W; +# cross-z LOS is handled server-side) + +tiles: + - "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" + - "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW" + - "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW" + - "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW" + - "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW" + - "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW" + - "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW" + - "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW" + - "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW" + - "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" + +sightlines: + open: true + notes: > + Gallery rail is transparent — full downward LOS to gate concourse (z=1). + Upward LOS from concourse to gallery is blocked except at staircase. + Cross-z LOS behavior handled by server shadowcasting system. diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/gate-ground.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/gate-ground.yaml new file mode 100644 index 000000000..f2abf6b1c --- /dev/null +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/gate-ground.yaml @@ -0,0 +1,79 @@ +# Location: Gate Corridor — Ground Level +# Source: D-093 gate cluster zone spec +# Zone palette: surface #b8bec4 / fog tint #0a1222 + +canonical_id: "krenn.sova.transit.location.gate-ground" +display_name: "Gate Corridor" +description: > + The gate cluster handles all traffic between Station Sova and the horizon + gate network. From north to south: the restricted aperture chamber where + span gate transits occur, freight staging and passenger arrival halls, + customs lanes (freight and pedestrian), and the wide gate concourse + where arrivals disperse into the transit district. + +tile_bounds: + x_min: 0 + y_min: 0 + x_max: 39 + y_max: 31 + z: 1 + +# Legend: +# F = Floor (walkable) W = Wall (solid, blocks LOS) +# R = Restricted (access-tier gated) +# +# Layout (40 wide x 32 tall): +# Row 0: North wall +# Rows 1-4: Aperture chamber (centered 8 wide, R tiles — restricted) +# Row 5: Wall separator +# Rows 6-13: Freight staging (west, 24 tiles) | passenger arrival (east, 13 tiles) +# Row 14: Wall with door gaps (cols 12, 32) +# Rows 15-22: Freight customs (west, 20 tiles, lane walls) | ped customs (east, 17 tiles, lanes) +# Row 23: Wall with wide opening to concourse (cols 5-34 open) +# Rows 24-31: Gate concourse (full 38-tile width, 8 rows — public open space) +# +# Corridor width: gate concourse 8vt (D-093) +# Customs lanes: freight 2vt/lane with wall stubs, pedestrian 1vt/lane + +tiles: + - "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" + - "WWWWWWWWWWWWWWWWRRRRRRRRWWWWWWWWWWWWWWWW" + - "WWWWWWWWWWWWWWWWRRRRRRRRWWWWWWWWWWWWWWWW" + - "WWWWWWWWWWWWWWWWRRRRRRRRWWWWWWWWWWWWWWWW" + - "WWWWWWWWWWWWWWWWRRRRRRRRWWWWWWWWWWWWWWWW" + - "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFFFW" + - "WWWWWWWWWWWWFWWWWWWWWWWWWWWWWWWWFWWWWWWW" + - "WFFFFFWFFFFFWFFFFFFFFWFFFFWFFFFWFFFFFFFW" + - "WFFFFFWFFFFFWFFFFFFFFWFFFFWFFFFWFFFFFFFW" + - "WFFFFFWFFFFFWFFFFFFFFWFFFFWFFFFWFFFFFFFW" + - "WFFFFFWFFFFFWFFFFFFFFWFFFFWFFFFWFFFFFFFW" + - "WFFFFFWFFFFFWFFFFFFFFWFFFFWFFFFWFFFFFFFW" + - "WFFFFFWFFFFFWFFFFFFFFWFFFFWFFFFWFFFFFFFW" + - "WFFFFFWFFFFFWFFFFFFFFWFFFFWFFFFWFFFFFFFW" + - "WFFFFFWFFFFFWFFFFFFFFWFFFFWFFFFWFFFFFFFW" + - "WWWWWFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFWWWWW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + +sightlines: + open: false + notes: > + Gate concourse (rows 24-31) is wide open with full sightlines. + Customs lanes have wall stubs creating partial occlusion between + lanes. Aperture chamber is fully walled and restricted. Cross-z + LOS from the observation gallery (z=2) into the concourse is + handled server-side; the gallery rail is a transparent low wall. diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/maintenance-corridors.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/maintenance-corridors.yaml index 74037a133..d8dcd4faa 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/maintenance-corridors.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/maintenance-corridors.yaml @@ -1,2 +1,52 @@ # Location: Maintenance Corridors (smuggling spaces) -# canonical_id: krenn.sova.transit.location.maintenance-corridors +# Source: D-093, #313 (Sprint 12 spatial layout) +# Zone palette: surface #4e5054 / fog tint #101214 +# z=0 (Era 1, below main structures) + +canonical_id: "krenn.sova.transit.location.maintenance-corridors" +display_name: "Maintenance Corridors" +description: > + Era 1 maintenance infrastructure beneath the transit district. A long + transition corridor connects the logistics hub to the bar district. + Restricted storage at the west end is shared with The Terminal above. + A maintenance hatch at the east end provides the cross-z connection + to the main level. Everything reads as mundane maintenance — the ring + operates here because nobody looks twice. + +tile_bounds: + x_min: 0 + y_min: 0 + x_max: 43 + y_max: 5 + z: 0 + +# Legend: +# F = Floor (walkable) W = Wall (solid, blocks LOS) +# R = Restricted (access-tier gated) +# +# Layout (44 wide x 6 tall): +# Row 0: North wall +# Row 1: Restricted storage (west, 8 tiles) | wall | corridor (26) | wall | hatch room (east, 6) +# Row 2: Doors connect rooms (F in wall positions at cols 9 and 36) +# Row 3-4: Same as row 1 (walls between rooms) +# Row 5: South wall +# +# Corridor width: 2vt visible at rows 1-4 (internal height, standard maintenance) +# Transition corridor: 26 tiles (~26m at 1m/vt) between storage and hatch +# Restricted storage: R tiles for access restriction +# Maintenance hatch: F tiles (cross-z connection is future movement feature) + +tiles: + - "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" + - "WRRRRRRRRWFFFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFW" + - "WRRRRRRRRFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WRRRRRRRRWFFFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFW" + - "WRRRRRRRRWFFFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFW" + - "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" + +sightlines: + open: false + notes: > + Long straight corridor with limited concealment. Storage and hatch + rooms are separated by walls with single-tile doors. Mundane + appearance per D-093 G-08 — no visually suspicious tile arrangements. diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/the-last-shift.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/the-last-shift.yaml index cf07df16d..8178c71e7 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/the-last-shift.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/the-last-shift.yaml @@ -1,2 +1,65 @@ # Location: The Last Shift (bar) -# canonical_id: krenn.sova.transit.location.the-last-shift +# Source: D-093, #312 (Sprint 12 spatial layout) +# Zone palette: surface #6b4018 / fog tint #200c04 + +canonical_id: "krenn.sova.transit.location.the-last-shift" +display_name: "The Last Shift" +description: > + A converted maintenance bay turned bar. The long counter runs along the + west wall with full sightlines across the room. A corner booth in the + northeast sees the bar, card table, entrance, and back room — prime + observation real estate. Scattered tables fill the main floor. A back + room with an alley exit provides the key traversal route for the ring. + +tile_bounds: + x_min: 0 + y_min: 0 + x_max: 33 + y_max: 21 + z: 1 + +# Legend: +# F = Floor (walkable) W = Wall (solid, blocks LOS) +# V = Void (outside building) R = Restricted (access-tier gated) +# +# Layout (34 wide x 22 tall): +# Row 0: North exterior wall +# Rows 1-4: Main floor + corner booth (NE, cols 26-31, walled alcove) +# Rows 5-16: Open main floor (bar counter is furniture on F tiles) +# Row 17: Back room north wall with door (col 21 = F) +# Rows 18-20: Main floor (west) + back room (east, cols 22-32) +# Row 21: South wall with alley exit gap (cols 29-32 = F) + +tiles: + - "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFWFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFWFWFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFW" + - "WFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFFFW" + - "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWFFFFW" + +sightlines: + open: false + notes: > + Corner booth (NE alcove, rows 1-4) has LOS to bar counter, card table + area, main entrance, and back room door. Bar counter along west wall + gives staff full sightlines across the main floor. Back room is + partially occluded by wall at col 21. + +social_site: "bar" diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/the-terminal.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/the-terminal.yaml index 7ea006283..04a894690 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/the-terminal.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/locations/the-terminal.yaml @@ -1,2 +1,77 @@ # Location: The Terminal (logistics hub) -# canonical_id: krenn.sova.transit.location.the-terminal +# Source: D-093, #311 (Sprint 12 spatial layout) +# Zone palette: surface #7a8490 / fog tint #0d1520 + +canonical_id: "krenn.sova.transit.location.the-terminal" +display_name: "The Terminal" +description: > + Sova's freight logistics hub. Scanner bays filter incoming cargo at the + south entrance; a wide main corridor runs north through the manifest + processing floor. The break room sits in the northeast. The supervisor's + office overlooks the corridor through a large interior window. Restricted + storage in the northwest corner is where the ring hides re-tagged cargo. + +tile_bounds: + x_min: 0 + y_min: 0 + x_max: 43 + y_max: 27 + z: 1 + +# Legend: +# F = Floor (walkable) W = Wall (solid, blocks LOS) +# V = Void (outside building) R = Restricted (access-tier gated) +# +# Layout (44 wide x 28 tall): +# Rows 0: North exterior wall +# Rows 1-4: Restricted storage (NW, 11 tiles) + corridor + supervisor office (NE, 9 tiles) +# Row 5: Storage south wall; corridor + office continue +# Rows 6-8: Open corridor; supervisor office east side +# Row 7: ** Supervisor window — col 22 is F (LOS gap into office) ** +# Row 9: Supervisor office south wall +# Rows 10-11: Main corridor (full width chokepoint — high sightline value) +# Rows 12-17: Manifest processing (west, 14 tiles) + break room (east, 13 tiles) +# Row 18: Break room south wall; manifest open to corridor +# Rows 19-21: South corridor +# Row 22: Scanner bay north walls with entry gaps +# Rows 23-26: Scanner bay interiors (3 bays) +# Row 27: South exterior wall + +tiles: + - "VVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVV" + - "VVVVVWRRRRRRRRRRRWFFFFFFFFFFWFFFFFFFFFWVVVVV" + - "VVVVVWRRRRRRRRRRRWFFFFFFFFFFWFFFFFFFFFWVVVVV" + - "VVVVVWRRRRRRRRRRRWFFFFFFFFFFWFFFFFFFFFWVVVVV" + - "VVVVVWRRRRRRRRRRRWFFFFFFFFFFWFFFFFFFFFWVVVVV" + - "VVVVVWWWWWWWWWWWWWFFFFFFFFFFWFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFWFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFWWWWWWWWWWWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFWFFFWFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFWFFFWFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFWFFFWFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFWFFFWFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFWFFFWFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFWFFFWFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFWWWWWWWWWWWWWWWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFWVVVVV" + - "VVVVVWWWWFFFFFFWWWWFFFFFFFFWWWWFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFWFFFFFFFFFFFWFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFWFFFFFFFFFFFWFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFWFFFFFFFFFFFWFFFFFFFFFFWVVVVV" + - "VVVVVWFFFFFFFFFWFFFFFFFFFFFWFFFFFFFFFFWVVVVV" + - "VVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVV" + +sightlines: + open: false + notes: > + Supervisor office window faces main corridor at row 7, col 22 (F gap in + wall line). Player standing in the corridor has direct LOS into the + office interior. This is the primary investigative discovery moment. + +social_site: "logistics-hub"