THE ALTITUDE ATLAS — DRAWING SETAPPENDIX A1 · META

the SPRITE STUDY

APPENDIX · META — the research behind the building sprites, drawn in the set it argues about · three concepts on one demo member, five states each · and, at the foot, the reference strip itself: six fair-use thumbnails at reference size, credited — the set draws no images anywhere else

THE SPRITE STUDY — HOW A MEMBER SHOULD BE DRAWN WHEN IT IS DRAWN AS A BUILDING META — the subject of this plate is the atlas, not the codebase · three worked directions, one recommendation ONE DEMO MEMBER — 16 files · 1,900 sloc — drawn fifteen times · footprint 1.6·√sloc ≈ 70, height 3 px/file = 48, the house rules HORIZON ZERO DAWN × SIMCITY 2000 × FACTORIO · the gauge is WRECK & RUIN ↔ SHINE & SPLENDOR, driven by git age × churn NO CENSUS PLATE — this appendix measures nothing; it argues a drawing convention · SEE ALSO sheets 7, 7B and 13 STUDY 1 / 3 — THE RECLAIMED MACHINE HZD-LEANING · overgrowth is time; the machine underneath is the member RECLAIMED OVERGROWN CREEPING TENDED HUMMING parapet breached · rubble thinning vines · moss four creepers left one creeper · survey flag halo + live trace + flag WRECK & RUIN SHINE & SPLENDOR DATA → VISUAL CHANNEL — STUDY 1 overgrowth coverage — vine count × climb height months since the last commit touching the member · 0% at ≤1 mo → 95% at ≥24 mo broken parapet + rubble net-deleted mass, files removed vs added over 12 mo · intact → breached below 0.6 moss on the roof line staleness crossing the district’s churn median · binary, only past state 2 accent roof trace + ground halo commits in the last 90 days — the machine still hums · top decile of the city only survey flag touched by the most recent release · binary CHEAP AT SPLENDOR, DEAREST AT DECAY — 8–14 short paths plus a few circles per wrecked building, near zero at splendor; +2–6 KB of raw SVG per weathered building. Vines are seeded polylines, deterministic across rebuilds; at the census floor they degrade to one or two strokes and still read as green-equals-stale. STUDY 2 / 3 — THE LEDGER ROOF SC2K-LEANING · the roof is a ledger — one tile per authored file, on the census that already sets the height ABANDONED DECAYING AGING RENOVATING PRIME 12/16 tiles gone · boarded dark wash · 7 tiles gone no wash · 2 dark crane — renovation, not ruin AC · water tower · antenna WRECK & RUIN SHINE & SPLENDOR DATA → VISUAL CHANNEL — STUDY 2 roof tile condition — crisp → plain → cracked → dark → collapsed per-file age since its last commit · 5 steps, quantile-bucketed per district whole-shell dark wash — SC2K abandonment share of tiles at dark or collapsed · >50% light · >80% heavy + boarded door rooftop AC cubes files with spec coverage in the annex · one cube per covered quartile water tower + antenna member has a docs page · member has a published entry point · binary each, splendor only accent crane + scaffold hook files added or renamed in the last 30 days · binary — RENOVATION, not ruin DEAREST OF THE THREE, AND THE ONLY ONE NEEDING A NEW PROBE — tile count equals file count, so sheet 7’s city would gain a few hundred elements (+15–30 KB per city sheet) and a per-FILE age census the cabinet does not hold. A one-file tool degenerates to a single-tile roof, which still reads: the whole roof darkens when the file is old. STUDY 3 / 3 — THE WORKING PLANT FACTORIO-LEANING · every member is a machine; state is broadcast, never implied ! SEIZED RUSTING IDLING RUNNING HUMMING pipes dripping · belt stopped · alert heavy rust · still stopped clean, no plume plume · two lamps accent plume · three lamps · halo WRECK & RUIN SHINE & SPLENDOR DATA → VISUAL CHANNEL — STUDY 3 rust hatch density + cracks age of the median line (git blame) × absence of commits · 0–85% overlay, 5 steps steam plume — 0–3 puffs, accent at the top commits touching the member, trailing 90 days · quartiles within the city module lamps — 0–3 lit green spec-annex coverage ratio, annex sloc / src sloc · terciles, 0 = no annex pipes connected vs dashed + drip the build currently succeeds for this member · binary, from turbo at HEAD alert triangle a gate this member owns is red at HEAD · binary — borrowed straight from Factorio alerts CHEAPEST — every decoration is a fixed micro-template (pipe = two paths and a circle, lamp = one quad, plume = at most three ellipses, alert = a polygon and one glyph) positioned by the same plan-to-screen helper; +1–3 KB per building and near-zero new defs, since the red hatch and the arrow markers already exist. RECOMMENDATION — BUILD THE WORKING PLANT FIRST, THEN LAYER THE VINES, THEN PARK THE LEDGER 1st BUILD THE WORKING PLANT FIRST Lowest path budget and ZERO new census machinery — age, churn, annex ratio and gate state are already computed for sheets 3, 7 and 8. It composes with the road grammar the city already has, and its channels are independent, so the wreck-to-splendor gauge can coexist with “old but healthy”, which this repo genuinely contains. 2nd LAYER THE VINES ON TOP The purest rendering of wreck-and-ruin vs shine-and-splendor, and the most atmospheric. The vines composite cleanly over the plant sprite — HZD is literally overgrowth ON machines, so the hybrid is canon rather than a compromise. 3rd PARK THE LEDGER FOR A CLOSE-UP The most informative and the only one needing a per-FILE census. Park it until a sheet wants file-level stories: it would make a superb single-district close-up plate rather than a whole-city treatment. DESIGN GUARD — RUST RED VS GATE RED The rust overlay must never collude with the gate-severity hatch sheet 7 already spends hue on. Rust rides at partial opacity on the FLANKS ONLY and its cracks are jagged; the gate hatch is uniform and includes the CAP. A reviewer must be able to say “rusting, but no gate” at a glance — and the converse, a red-gated pristine building, must stay legible too. THREE RULES ALL THREE STUDIES OBEY massing never lies · house materials only · severity stays where sheet 7 put it REFERENCE STRIP — WHAT THE STUDIES WERE ARGUED FROM six thumbnails at reference size, fair use for commentary · full size at the linked source · the only rasters in the set THE ATLAS DRAWS NO IMAGES — EXCEPT HERE, ON THE ONE PLATE WHOSE SUBJECT IS THE RESEARCH frames and mats are house tokens and theme with the plate; the photographs are never recoloured, filtered or tinted STUDY 1 · HORIZON ZERO DAWN — OVERGROWTH IS TIME machines read as fauna in a reclaimed landscape — the machine is intact, the world around it has moved on © Guerrilla Games / SIE · wikipedia.org overgrowth rides edges and openings while the masonry keeps its silhouette — decay as overlay, never erasure Ta Prohm, Angkor · commons.wikimedia.org STUDY 2 · SIMCITY 2000 — THE ROOF IS THE READING a dimetric city read almost entirely from its roofs — density, condition and identity all on the top face © Maxis / Electronic Arts · wikipedia.org every building is a fixed-size tile in a fixed palette — the constraint that makes whole-city re-skins safe SCURK © Maxis / EA · wikipedia.org STUDY 3 · FACTORIO — STATE IS BROADCAST, NEVER IMPLIED the wreck state is a designed sprite, not a missing one — remnants sit beside working machines © Wube Software · factorio.com FFF #355 silhouette first, effects second — an entity redrawn for readability, the order the plant sprite follows © Wube Software · factorio.com FFF #228
FIG. A1Every other plate in this set measures the codebase. This one measures a decision: how a workspace member should look when a sheet draws it as a building. One demo member is drawn fifteen times, five states along a wreck-to-splendor gauge under three competing treatments, and each treatment is priced. The verdict stands in the set: sheet 7B is the working plant, and sheet 13 the weathering gauge.

GENERAL NOTES

Why an appendix, and not a sheet. The set's numbered sheets are ordered by altitude — how far back you stand from lit-ui-router — and every one of them cites a census plate. This plate stands nowhere on that ladder, because its subject is the atlas's own drawing convention rather than the codebase: it carries no www/atlas.lit-ui-router.dev/data/*.json import and no measured number. Filing it as A1 rather than as a numbered sheet keeps the ascent honest: fourteen altitudes, and behind them a folder about the atlas itself — this study of how its buildings are drawn, and appendix A2, the survey office that took its measurements. Its id is letter-prefixed for the same reason, so nothing that walks the set in ascent order picks it up by accident.

The brief the studies answer. The atlas draws workspace members as measured cities — footprint 1.6·√sloc, height 3 px per authored file, gate severity in colour. That is enough to say how big a member is and whether it is currently failing, and nothing at all about how it is doing. The question: whether a general building-sprite treatment can carry the second reading on any building-shaped sheet — the measured city of sheet 7, the delivered city of sheet 8, the bundled city of sheet 10 — hybridising three inspirations that each pull a different way: Horizon's overgrown megastructures, SimCity 2000's dimetric state-tiles, Factorio's broadcast-everything industrial sprites. The weathering-specific application is a single axis, wreck & ruin ↔ shine & splendor, driven by git age × churn — which is exactly the pair of measurements sheet 13 had already made.

The three rules every study obeys. Massing never lies — decay and splendor are overlays on the honest block, never a change to its size, so a ruin is exactly as big as its code and the same solid a census would draw. House materials only — the atlas palette tokens, the existing 45° hatches, the same isometric projection, hand-authored inline SVG: no filters, no fetched assets, nothing a strict content-security policy would drop. The six reference thumbnails in the foot band are the one exception and they are not part of any sprite — they are what the sprites were drawn from, inlined at build time so nothing is fetched at view time either. Severity stays where sheet 7 put it — gate tier already owns hue on cap and flank, so the weathering gauge is spent on different channels (vegetation, tile condition, rust overlay) and a red-gated pristine building and a never-gating ruin both stay legible. The demo member is massed under those rules rather than invented: 1,900 sloc gives a 70-unit footprint and 16 files give 48 px of height, so the fifteen blocks on this plate could each stand in the measured city without adjustment.

What the studies each teach. Study 1 is the purest reading of the gauge: nature is the only thing that moves, which is what actually happens to unmaintained code — it does not shrink, it gets covered. Study 2 is the most informative and the strictest: the roof grid is not decoration, it is the same census that already sets the height, so the tile count and the block height cannot disagree — and SimCity's own vocabulary keeps construction and abandonment as different sprites rather than as two ends of one axis, which is why RENOVATING sits at the healthy end. Study 3 is the one that survives contact with the repository: rust, steam, lamps and the alert are four independent channels, so old AND running is drawable — and old-and-running is the true state of most stable code, which no single wreck-to-splendor axis can say.

The verdict, and where it stands. The studies recommend building the working plant first, layering the vines second, and parking the ledger roof for a close-up. Sheet 7B, THE WORKING CITY is that plant, drawn over the whole measured city — every pipe, plume, lamp and alarm on it is a channel from study 3's table — and sheet 13, THE WEATHERING MAP is the age-and-churn gauge those studies were commissioned to render, drawn flat rather than sprited so the dating stays readable at city scale. The ledger roof stays parked: a roof grid read tile by tile wants a close-up plate, not a city.

The reference strip, and the one exception it makes. The original studies were argued from six pictures — Horizon Zero Dawn, Angkor's Ta Prohm, SimCity 2000, SCURK and two Factorio Friday Facts posts — and the band at the foot of this plate draws all six, at thumbnail size, grouped by the study each was cited for. They are the only rasters in the set, and the exception is deliberate: every other plate measures lit-ui-router and can say what it means in hand-authored marks, while this one plate's subject is a drawing decision taken from other people's drawings — an argument about how buildings should be drawn cannot be made honestly while hiding the buildings it learned from. The terms are fixed. The thumbnails are reference-size crops used for commentary and credited on the plate, with the full-size picture at the linked source; each is inlined into the sheet as a data URI at build time, so the bare plate and the routed app's fragment are each still one self-contained document and nothing is fetched at view time; and the mat and hairline frame are house tokens that theme with the plate while the photograph inside is left exactly as published — never recoloured, filtered or tinted towards the palette. A raster sits on vellum as a raster. The teaching each one carries also survives in prose: Guerrilla's GDC talk Between Tech and Art: The Vegetation of Horizon Zero Dawn (vegetation as a systematic, parameterised layer over hard geometry — the generator posture exactly, two numbers per member); Jonathan Benainous's and Miguel Martinez's HZD environment work (overgrowth rides edges and openings while the masonry keeps its silhouette; breached parapets, spalled corners, debris at the base); the SimCity 2000 documentation of construction graphics and darkened abandonment sprites, and SCURK's fixed tile size and fixed palette, which are what make a whole-city re-skin safe; and Factorio's Friday Facts #355 (remnants are a designed sprite, not a missing one), #269 (belts get per-rotation sprites and strict tile-edge rules, so connections never lie), #228 (silhouette first, effects second) and #348 (alert legibility across scales — which is why the alert triangle is the only floating element on study 3).

Determinism. Study 1's vines are the only stochastic marks in the set, and they are seeded: a fixed linear-congruential stream per state, so the same plate is drawn byte-for-byte on every build. Nothing here is animated, nothing is rotated, and the fifteen blocks share one projection helper with generator/helpers.mjs's iso().

KEY

the honest block — massing never lies
STUDY 1 — vine · months since last commit
STUDY 2 — roof ledger · one tile per file
STUDY 3 — rust hatch · age without maintenance
STUDY 3 — steam plume · trailing-90-day commits
STUDY 3 — module lamps · spec-annex coverage
STUDY 3 — alert · a gate red at HEAD
live trace + halo · shipped in the last 90 days
the gauge — wreck & ruin → shine & splendor
reference thumbnail — the set’s only raster, credited
PROJECTTHE ALTITUDE ATLAS
SHEET TITLEthe SPRITE STUDY
SCALETHE ATLAS ITSELF
FORMSPRITE STUDIES
CLIENTlit-ui-router · simshanith
DATE / REV2026-10-18 · A
DRAWN BYFable (Claude, AI)
APPENDIXA1