THE ALTITUDE ATLAS — DRAWING SETAPPENDIX A4 · META

the ATLAS, SHIPPED

APPENDIX · META — the atlas's own deploy as a shipped city on sheet 9's ruler, by role and by district, standing beside the docs deploy it draws · 290 files in eleven districts, 8.5 MB on the wire · measured at www/atlas @ 08a98096, outside the cabinet, which is main's (origin/main @ 3f55e419)

SCALE — footprint area ∝ files (side = 10 · √files, floored at 18) · 1 px of height ≈ 4.2 KB gzipped, floored at 8 — sheet 9's functions, read back, not a copy drawn at 0.85× that ruler, the largest hundredth at which both rows fit 1,520 px with 8 px gaps and 140 px lettering slots · height is gzip level 9 of every file, the honest wire measure the atlas deploy is app/dist built from an archive of its own branch — the routed pages, the bare plates, the fragments, the pictures, the models and the scripts every number on this sheet is read from data/census-shipped.json and data/survey-shipped.json at build time 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 DEMO PAYLOAD examples · images · static data 143 files · 1726 KB gzipped sheet 9's three districts, summed THE DOCUMENTATION SITE html pages · markdown pages · inter fonts · vp framework · page chunks · diagrams · site css 1,572 files · 6084 KB gzipped sheet 9's seven districts, summed THE ROUTED APPS app: vanilla · app: hash app: mobx · app: effect app: signals 56 files · 400 KB gzipped sheet 9's five districts, summed THE PICTURES card pictures · the share card models · icons 168 files · 4499 KB gzipped four districts, summed THE PLATES routed pages · bare plates plate fragments 103 files · 3026 KB gzipped three districts, summed THE APP AND ITS LANES the routed app model viewer · cytoscape manifest 19 files · 1172 KB gzipped four districts, summed docs/dist — THE DOCS DEPLOY fifteen districts · 1,771 files · 8211 KB gzipped · no orphans measured at origin/main @ 3f55e419 app/dist — THE ATLAS DEPLOY eleven districts · 290 files · 8696 KB gzipped · no orphans measured at www/atlas @ 08a98096 BY ROLE · WEST — THE DOCS DEPLOY, FROM data/census-shipped.json · origin/main @ 3f55e419 · sheet 9's three roles, each summed EAST — THE ATLAS DEPLOY, FROM data/survey-shipped.json · www/atlas @ 08a98096 · three roles, each summed, in sheet 9's order BY DISTRICT · WEST — THE DOCS DEPLOY, sheet 9's fifteen districts on their own lots EAST — THE ATLAS DEPLOY, eleven districts on their own lots, outside the cabinet WHAT THE DRAWING SAYS — every line computed from the two plates 1.1× the docs deploy it draws, on the wire: 8.5 MB gzipped against 8.0 MB, in 290 files against 1,771

STRUCTURE SCHEDULE — files · gzipped wire bytes · largest tenant · role

#blockfilesgzippedlargest tenanttenant gzippedrole
1demo payload1431726 KB——sheet 9's 3 districts, summed
2the documentation site1,5726084 KB——sheet 9's 7 districts, summed
3the routed apps56400 KB——sheet 9's 5 districts, summed
4the pictures1684499 KB——4 districts, summed · beside demo payload
5the plates1033026 KB——3 districts, summed · beside the documentation site
6the app and its lanes191172 KB——4 districts, summed · beside the routed apps
7html pages3893668 KBserver-route-matching.html42.1 KBthe documentation site
8markdown pages378526 KBllms-full.txt200 KBthe documentation site
9examples361523 KBmodel-viewer.js276 KBdemo payload
10inter fonts16849 KBinter-italic-latin-ext.woff2138 KBthe documentation site
11page chunks756722 KBguides_server-route-matching.md.js26.0 KBthe documentation site
#blockfilesgzippedlargest tenanttenant gzippedrole
12images103154 KBlit-ui-router.png67.1 KBdemo payload
13vp framework15270 KB@localSearchIndexroot.js147 KBthe documentation site
14diagrams1420.9 KBabout-this-site-architecture.svg3.4 KBthe documentation site
15app: vanilla19129 KBapi-docs.js28.2 KBthe routed apps
16app: signals1399 KBapi-docs.js28.2 KBthe routed apps
17app: effect1084.6 KBindex.js30.1 KBthe routed apps
18app: mobx1071.4 KBdecorate.js26.3 KBthe routed apps
19app: hash416.5 KBmain.js8.3 KBthe routed apps
20static data449.5 KBmessages.json46.6 KBdemo payload
21site css429.0 KBstyle.css21.3 KBthe documentation site

TOTAL — the docs deploy 1,771 files · 8.0 MB gzipped at origin/main @ 3f55e419 · the atlas deploy 290 files · 8.5 MB gzipped at www/atlas @ 08a98096 · node:zlib gzip level 9

STRUCTURE SCHEDULE, EAST — the atlas deploy's districts

#blockfilesgzippedlargest tenanttenant gzippedrole
22card pictures683663 KBa2i-dark.webp209 KBthe pictures
23routed pages391420 KBindex.html276 KBthe plates
24model viewer8854 KBmodel-viewer.js282 KBthe app and its lanes
25bare plates30830 KBindex.html265 KBthe plates
26plate fragments34776 KBa1.html261 KBthe plates
27the routed app8154 KBindex.js98 KBthe app and its lanes
28models14283 KBbricks.glb89.4 KBthe pictures
29cytoscape1133 KBcytoscape.esm.js133 KBthe app and its lanes
30the share card3467 KBcard.png353 KBthe pictures
31icons8386.2 KBfavicon.ico18.5 KBthe pictures
32manifest231.0 KBmanifest.json30.7 KBthe app and its lanes

THE WIRE — what is measured, what is seeded

#reading
1every file under app/dist, raw and at gzip level 9: 24,222,276 raw bytes, 8,904,951 on the wire
2reached from every page by reference, and seeded where the path is computed: sheets/ · images/ · manifest.json · _redirects
3orphans: none — the walk reaches every file the deploy carries
4the card pictures: 68 webp, two per plate (paper and cyanotype), 300×400 at 2× — 42% of the wire
5the plates: 39 routed pages carry their fragments, 30 bare plates stand without the router, 34 fragments feed the client
6the docs deploy: 1,771 files · 8.0 MB · 15 districts at origin/main @ 3f55e419, read from sheet 9's own plate
FIG. A4The atlas's own deploy surveyed on the wire with sheet 9's instrument at two altitudes: footprint ∝ files, height ∝ gzipped bytes, from sheet 9's functions. By role, three summed blocks of the docs deploy stand west of three of the atlas's; by district, the docs deploy's fifteen stand west of the atlas's eleven — 1.1× the docs deploy it draws, on the wire: 8.5 MB gzipped against 8.0 MB, in 290 files against 1,771.

GENERAL NOTES

Method — one ruler, two deploys, two altitudes. Every block on this plate is massed by SIDE() and HT() imported from sheet9.mjs — footprint side 10 · √files, floored at 18; height one pixel per 4,300 gzipped bytes, floored at 8, the constants read back off the functions themselves — and every file is weighed the way sheet 9 weighs it: raw bytes and gzip level 9, the honest wire measure, since the CDN serves compressed. The two halves stand on different grounds and say so. The docs deploy is data/census-shipped.json, origin/main @ 3f55e419, the cabinet sheet 9 reads. The atlas is not on main, so it cannot be in that cabinet: it is data/survey-shipped.json, written by generator/survey-shipped.mjs from a git archive of its own branch — www/atlas @ 08a98096, committed 2026-10-30 — in which the app is built by its own npm ci and npm run build, the vite build and the prerender, and app/dist is measured file by file: 290 files, 23.1 MB on disk, 8.5 MB on the wire. That is what Cloudflare Pages serves at atlas.lit-ui-router.dev. A reachability walk from every page sorts the files into districts, and a path the app computes at runtime — a fragment by the manifest's file, the manifest by the router's base, the visualizer's icons by its stylesheet — is seeded rather than reported as a false orphan.

Two altitudes, one ruler. The sheet draws both deploys twice, at one scale: sheet 9's ruler drawn at 0.85×, the largest hundredth at which both rows fit 1,520 px with 8 px gaps and 140 px lettering slots.Along the top, by role: sheet 9's three roles of the docs deploy, read from its exported ROLES, each summed into one block, and three roles of the atlas deploy in the same order, each beside its counterpart — the pictures beside demo payload, the plates beside the documentation site, the app and its lanes beside the routed apps. Below, by district: every district of each deploy on its own lot, the docs deploy's fifteen west of the atlas's eleven. A role's block and a district's block are massed by the same two functions, so a block in either row reads against any other at the same altitude, and a role against its own districts. Summing is honest on this ruler for plan area — area ∝ files, so one block of a role's sum covers the same ground its districts do — and approximate for height, which reads a role's total bytes as one tower. The by-role totals reconcile each plate's own totals, every atlas district is claimed by exactly one role, and sheet 9 throws when a district on its plate is claimed by no role or two, so the two plates cannot disagree.

What the drawing says. The atlas deploy is 1.1× the docs deploy it draws, on the wire: 8.5 MB gzipped against 8.0 MB, in 290 files against 1,771; by role, the pictures 4499 KB against demo payload 1726 KB (2.6×) · the plates 3026 KB against the documentation site 6084 KB (0.5×) · the app and its lanes 1172 KB against the routed apps 400 KB (2.9×). The tallest district is card pictures, 3663 KB in 68 files — 1.0× the docs deploy's tallest, html pages at 3668 KB. The pictures are the whole story of the weight: a card picture is a webp, already compressed, so card pictures keep 99% of their raw bytes through gzip; the routed pages keep 21% — the lettering and markup of a deploy shrink on the wire and its pictures do not. The plates themselves ship in triplicate: every plate ships three times — inside its routed page, as a bare plate and as a fragment: 1420 KB + 830 KB + 776 KB — the routed page carries its plate server-rendered, the bare plate stands for a reader who opts out of the router, and the fragment feeds the client's own navigation. Below those, the 3D lane's viewer and its decoders, 854 KB, outweigh the routed app itself, 154 KB, 5.5 to 1, and no ghost district stands here: every file in the deploy is reached from a page, by reference or by a seeded path. Every claim in this paragraph is computed from the two plates and changes its wording when the plates change it.

What the pictures are for. The 68 card pictures are the cover's cards: one per plate in each theme, 300×400 CSS pixels drawn at 2×, so a card holds up on a retina display and the cyanotype theme has a picture of its own rather than an inverted one. They are 42% of the wire and arrive lazily, as the gallery scrolls; the first page a reader lands on is 276 KB at most, the heaviest routed page, and a plate's own page carries nothing of the pictures at all. The weight is real and the drawing shows it; whether it is the right weight is a question for the cover, not for this ruler.

KEY

a block of the docs deploy — a role summed, by role; one district, by district — footprint ∝ files, height ∝ gzipped bytes
a block of the atlas deploy — the same rule, on its own branch
the ruler is sheet 9's, read back off its SIDE() and HT(): side = 10 · √files, floored at 18; 1 px of height ≈ 4.2 KB gzipped, floored at 8; drawn at 0.85× that ruler, the largest hundredth at which both rows fit 1,520 px with 8 px gaps and 140 px lettering slots
a deploy's frame, by district
the seam between main's ground and the atlas's
PROJECTTHE ALTITUDE ATLAS
SHEET TITLEthe ATLAS, SHIPPED
SCALETHE ATLAS ITSELF
FORMSHIPPED CITY
CLIENTlit-ui-router · simshanith
DATE / REV2026-10-30 · D
DRAWN BYFable (Claude, AI)
APPENDIXA4