THE ALTITUDE ATLAS — DRAWING SETAPPENDIX A3 · META

the ATLAS, MEASURED

APPENDIX · META — the atlas as a census city on sheet 7's ruler, standing beside the codebase it draws · four members, 25,849 sloc · measured at www/atlas @ 2011c945, outside the cabinet, which is main's (origin/main @ eb1162da)

THE ATLAS, MEASURED — ON THE CITY'S OWN RULER the codebase's four districts above · the atlas's four members below · one S() and H(), imported from sheet 7 SCALE — footprint side = 1.6 · √sloc (plan area ∝ sloc) · height = 3 px per authored file — sheet 7's functions, not a copy footprint floored at 12 plan units · annexes massed on the same rule from spec files · plan areas add, so four footprints cover the ground one block of their sum would the atlas counts what it writes by hand and serves to a browser — never what it draws: plates, generated pages, pictures and prose stand outside every number on this sheet is read from data/census-city.json and data/survey-self.json at build time 1 2 3 4 5 6 7 8 packages/ THE PRODUCT 87 files · 8,156 sloc annex 105 files · 22,675 sloc apps/ THE PROVING GROUND 85 files · 4,776 sloc annex 24 files · 2,112 sloc www/ + examples/ THE SHOPFRONT 41 files · 6,931 sloc annex 4 files · 477 sloc tools/ THE INSTRUMENT YARD 202 files · 16,757 sloc annex 79 files · 11,748 sloc ABOVE — THE CODEBASE, FROM data/census-city.json · origin/main @ eb1162da · sheet 7's districts, each summed into one block BELOW — THE ATLAS, FROM data/survey-self.json · measured at www/atlas @ 2011c945, outside the cabinet, which is main's (origin/main @ eb1162da) www/atlas.lit-ui-router.dev/ — THE ATLAS four members · 118 files · 25,849 sloc · annex 1 file · 98 sloc 5 the drawing office — 67 files · 17,811 sloc · generator/ — every other module 6 the survey office — 28 files · 2,972 sloc · generator/census*.mjs · basis.mjs · survey-*.mjs 7 the routed site — 19 files · 4,693 sloc · app/src/ — not app/src/generated/ 8 the site build — 4 files · 373 sloc · app/* · app/test/ — prerender, vite, artifact, lint config, the route bench 3.2× the product it draws: 25,849 sloc against 8,156 in packages/ the drawing office alone, 17,811 sloc, outbuilds the product more source than any one district of the codebase 71% of the codebase's own authored source, 36,620 sloc across its four districts the product outweighs it only with its tests counted — 30,831 sloc, annex and all and its annex holds 1 spec file, 98 sloc STRUCTURE SCHEDULE — files (f) · sloc on sheet 7's ruler · spec annex EXCLUDED — what the atlas draws, generates or writes as prose 1 packages/ the product — 87 files · 8,156 sloc · annex 105 files · 22,675 sloc · sheet 7's 13 members, summed 2 apps/ the proving ground — 85 files · 4,776 sloc · annex 24 files · 2,112 sloc · sheet 7's 7 members, summed 3 www/ + examples/ the shopfront — 41 files · 6,931 sloc · annex 4 files · 477 sloc · sheet 7's 2 members, summed 4 tools/ the instrument yard — 202 files · 16,757 sloc · annex 79 files · 11,748 sloc · sheet 7's 26 members, summed 5 the drawing office — 67 files · 17,811 sloc · no annex · generator/ — every other module 6 the survey office — 28 files · 2,972 sloc · no annex · generator/census*.mjs · basis.mjs · survey-*.mjs 7 the routed site — 19 files · 4,693 sloc · no annex · app/src/ — not app/src/generated/ 8 the site build — 4 files · 373 sloc · annex 1 file · 98 sloc · app/* · app/test/ — prerender, vite, artifact, lint config, the route bench data/ — the filed plates — 23 files · 13,529 lines scc counts app/src/generated/ — written by build.mjs — 12 files · 1,203 lines scc counts app/public/ — fragments, pictures, model, manifest — 118 files · 21,655 lines scc counts *.md — README (generated), HISTORY and the other prose — 14 files · 4,432 lines scc counts .agents/ · .claude/ · .claude-plugin/ — the skills and their manifest — 4 files · 5 lines scc counts off the ruler, on a member's ground: app/.oxlintrc.json (JSON 21) · app/index.html (HTML 1,674) · app/package.json (JSON 61) app/src/experimental/experimental.css (CSS 91) · app/tsconfig.json (JSON 16) · generator/brand/hero-glow-dark.svg (SVG 20) generator/brand/hero-glow.svg (SVG 29) · generator/brand/lit-flame.svg (SVG 6) · generator/brand/lit-ui-router.svg (SVG 1) generator/brand/ui-router.svg (SVG 1) and 7 files scc names no language for: app/ · generator/assets/a1/ TOTAL — the codebase 415 files · 36,620 sloc (+ 212 spec · 37,012) at origin/main @ eb1162da · the atlas 118 files · 25,849 sloc (+ 1 spec) at www/atlas @ 2011c945 · sloc = scc Code
FIG. A3The atlas turned on itself with the census city's own instrument: footprint ∝ √sloc, height ∝ files, from sheet 7's functions. Sheet 7's four districts stand along the top as one block each; the atlas stands below them as a fifth district of four members — 3.2× the product it draws: 25,849 sloc against 8,156 in packages/.

GENERAL NOTES

Method — one ruler, two grounds. Every block on this plate is massed by S() and H() imported from sheet7.mjs — footprint side 1.6 · √sloc, height 3 px per authored file, floor 12 — and every file is admitted by the same predicate the city census uses, onCityRuler in census-query.mjs: authored .ts/.tsx/.js/.jsx/.mjs, no *.d.ts, spec files split into an annex. The two halves stand on different grounds and say so. The codebase is data/census-city.json, origin/main @ eb1162da, the cabinet every numbered sheet reads. The atlas is not on main, so it cannot be in that cabinet: it is data/survey-self.json, written by generator/survey-self.mjs from a git archive of its own branch — www/atlas @ 2011c945, committed 2026-10-17 — through the same scc 4.0.0 the cabinet uses. The probe is named survey-, not census-, so appendix A2's one-ref check stays a claim about main alone.

The fixed-point rule. The atlas counts only what it writes by hand and what it serves to a browser, never what it draws — a drawing of the atlas that counted its own drawings would grow every time it was drawn. Admitted: the drawing office (every generator/ module that is not a census instrument — the sheets, the chrome, the 3D scenes, the emitter, the build), the survey office (census*.mjs, basis.mjs and survey-*.mjs), the routed site (app/src/) and the site build (app/*: prerender, vite, artifact and lint config). Excluded, and tallied on the schedule: the filed plates in data/ (13,529 lines scc counts), app/src/generated/, everything under app/public/, every Markdown file, and the skills under .agents/, .claude/ and .claude-plugin/. On a member's ground the ruler itself excludes more: app/index.html is 1,674 lines of HTML by scc's count, mostly the site's stylesheet, and stays off for the reason sheet 7's docs member keeps its .vue and .css off — a ruler that admits markup on one side and not the other compares nothing. Build output is untracked, so the archive never holds it.

What the drawing says. 3.2× the product it draws: 25,849 sloc against 8,156 in packages/. The drawing office alone, 17,811 sloc, outbuilds the product. It is more source than any one district of the codebase, and 71% of the 36,620 authored lines the codebase holds across all four. Where the comparison turns is the annex: the product outweighs it only with its tests counted — 30,831 sloc, annex and all, and its annex holds 1 spec file, 98 sloc. Every claim in this paragraph is computed from the two plates and changes its wording when the plates change it.

Why aggregates, and why the atlas is not. The codebase stands as four summed blocks, one per sheet 7 district, because the question is how much atlas there is, and sheet 7 already draws the codebase member by member. Summing is honest on this ruler for plan area — area ∝ sloc, so one block of a district's sum covers the same ground its members do — and approximate for height, which reads a district's total files as one tower. The atlas keeps its four members because it has no other drawing that shows its parts. The aggregates do not dwarf the atlas — the drawing office alone, 17,811 sloc, outbuilds the product — so the district scale carries the comparison on its own, and the product member by member is sheet 7's drawing to make. Sheet 7's district membership is read from its exported geometry, and a census row sheet 7 does not place is a build error here, so the two plates cannot disagree.

KEY

a district of the codebase, summed — footprint ∝ √sloc, height ∝ files
its spec annex — the test mass, same rule
a member of the atlas — the same rule, on its own branch
district frame
the seam between main's ground and the atlas's
PROJECTTHE ALTITUDE ATLAS
SHEET TITLEthe ATLAS, MEASURED
SCALETHE ATLAS ITSELF
FORMISOMETRIC CITY
CLIENTlit-ui-router · simshanith
DATE / REV2026-10-18 · A
DRAWN BYFable (Claude, AI)
APPENDIXA3