ALTITUDE · THE ATLAS ITSELF PLATES READ: census-city.json · census-files.json · census-plate.json · census-shipped.json · survey-self.json SEE ALSO 7 A2  measured

FIT VERDICTmeta — the atlas measured on sheet 7's ruler: 26,384 sloc of generator and app against 10,708 in the packages district, 2.5× the product it draws, with a 2-file annex

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, 26,384 sloc · measured at www/atlas @ 08a98096, outside the cabinet, which is main's (origin/main @ 3f55e419)

SCALE — footprint side = 1.6 · √sloc (plan area ∝ sloc) · height = 3 px per authored file — sheet 7's functions, not a copy drawn at 0.81× that ruler, the largest hundredth at which the main row fits 1,520 px with 8 px gaps · footprint floored at 12 plan units 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 109 files · 10,708 sloc annex 127 files · 27,988 sloc apps/ THE PROVING GROUND 93 files · 4,927 sloc annex 24 files · 2,135 sloc www/ + examples/ THE SHOPFRONT 65 files · 9,573 sloc annex 19 files · 3,586 sloc tools/ THE INSTRUMENT YARD 210 files · 17,759 sloc annex 84 files · 12,965 sloc ABOVE — THE CODEBASE, FROM data/census-city.json · origin/main @ 3f55e419 · sheet 7's districts, each summed into one block BELOW — THE ATLAS, FROM data/survey-self.json · measured at www/atlas @ 08a98096, outside the cabinet, which is main's (origin/main @ 3f55e419) www/atlas.lit-ui-router.dev/ — THE ATLAS four members · 120 files · 26,384 sloc · annex 2 files · 151 sloc 5 the drawing office — 68 files · 18,078 sloc · generator/ — every other module 6 the survey office — 29 files · 3,171 sloc · generator/census*.mjs · basis.mjs · survey-*.mjs 7 the routed site — 19 files · 4,713 sloc · app/src/ — not app/src/generated/ 8 the site build — 4 files · 422 sloc · app/* · app/test/ — prerender, vite, artifact, lint config, the route bench 2.5× the product it draws: 26,384 sloc against 10,708 in packages/ the drawing office alone, 18,078 sloc, outbuilds the product more source than any one district of the codebase 61% of the codebase's own authored source, 42,967 sloc across its four districts the product outweighs it only with its tests counted — 38,696 sloc, annex and all and its annex holds 2 spec files, 151 sloc

STRUCTURE SCHEDULE — files · sloc on sheet 7's ruler · spec annex

#blockfilesslocannexground
1packages/ the product10910,708annex 127 files · 27,988 slocsheet 7's 14 members, summed
2apps/ the proving ground934,927annex 24 files · 2,135 slocsheet 7's 7 members, summed
3www/ + examples/ the shopfront659,573annex 19 files · 3,586 slocsheet 7's 4 members, summed
4tools/ the instrument yard21017,759annex 84 files · 12,965 slocsheet 7's 27 members, summed
5the drawing office6818,078no annexgenerator/ — every other module
6the survey office293,171no annexgenerator/census*.mjs · basis.mjs · survey-*.mjs
7the routed site194,713no annexapp/src/ — not app/src/generated/
8the site build4422annex 2 files · 151 slocapp/* · app/test/ — prerender, vite, artifact, lint config, the route bench

TOTAL — the codebase 477 files · 42,967 sloc (+ 254 spec · 46,674) at origin/main @ 3f55e419 · the atlas 120 files · 26,384 sloc (+ 2 spec) at www/atlas @ 08a98096 · sloc = scc Code

EXCLUDED — what the atlas draws, generates or writes as prose

#rule or pathwhy it stands outsidefileslines scc counts
1data/ — the filed platesexcluded2415,459
2app/src/generated/ — written by build.mjsexcluded121,262
3app/public/ — fragments, pictures, model, manifestexcluded12424,012
4*.md — README (generated), HISTORY and the other proseexcluded145,019
5.agents/ · .claude/ · .claude-plugin/ — the skills and their manifestexcluded45
6app/.oxlintrc.jsonoff the ruler, on a member's ground · JSON121
7app/index.htmloff the ruler, on a member's ground · HTML11,678
8app/package.jsonoff the ruler, on a member's ground · JSON166
9app/src/experimental/experimental.cssoff the ruler, on a member's ground · CSS191
#rule or pathwhy it stands outsidefileslines scc counts
10app/src/registry.test-d.tsoff the ruler, on a member's ground · TypeScript141
11app/tsconfig.jsonoff the ruler, on a member's ground · JSON116
12generator/brand/hero-glow-dark.svgoff the ruler, on a member's ground · SVG120
13generator/brand/hero-glow.svgoff the ruler, on a member's ground · SVG129
14generator/brand/lit-flame.svgoff the ruler, on a member's ground · SVG16
15generator/brand/lit-ui-router.svgoff the ruler, on a member's ground · SVG11
16generator/brand/ui-router.svgoff the ruler, on a member's ground · SVG11
17app/ · generator/assets/a1/scc names no language7—
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 — 2.5× the product it draws: 26,384 sloc against 10,708 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 @ 3f55e419, 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 @ 08a98096, committed 2026-10-30 — 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 plate is drawn at 0.81× sheet 7's ruler, the largest hundredth at which the main row fits 1,520 px with 8 px gaps, so the codebase and the atlas shrink together and still read against each other.

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/ (15,459 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,678 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. 2.5× the product it draws: 26,384 sloc against 10,708 in packages/. The drawing office alone, 18,078 sloc, outbuilds the product. It is more source than any one district of the codebase, and 61% of the 42,967 authored lines the codebase holds across all four. Where the comparison turns is the annex: the product outweighs it only with its tests counted — 38,696 sloc, annex and all, and its annex holds 2 spec files, 151 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, 18,078 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-30 · C
DRAWN BYFable (Claude, AI)
APPENDIXA3