FIT VERDICTsheet 7's city as one glTF binary in Google's model-viewer, each mass crowned by a working plant sized from its own census — opaque paper walls hatched in the tier's own rake inside a girding frame, sheet 7A's test light as a second material lane, and a camera that orbits free and turns to the four true diagonals
the WORKING CITY, IN THE ROUND
SHEET 7'S CENSUS CITY IN THE ROUND, AT WORK · 48 MEMBERS · 47 MASSED · EACH CROWNED BY A WORKING PLANT SIZED FROM ITS OWN CENSUS · 37 SPEC ANNEXES · 4 DISTRICTS · ONE GLTF BINARY · ONE CLIP RAISES IT FROM THE GROUND AND CROWNS IT, RAISE ⇄ GROUND · THE CAMERA ORBITS FREE AND TURNS TO THE FOUR TRUE DIAGONALS · A SECOND LANE RELIGHTS THE CITY FROM SHEET 7A'S FILED SHADOW PLATE
BASIS The model masses sheet 7's own geometry: every footprint, height and position is generator/'s computed CITY export, massed from data/, origin/main @ eb1162da (2026-10-18). generator/ writes it into one glTF binary, models/, at one plan unit to the model unit, with a node per mass and per annex and per plant; nothing is re-derived, so a mass in the model cannot drift from the mass on the plate. @google/ 4.3.1 and the model are fetched only when this page is entered, and the viewer draws only while something moves.
PAPER The masses are drawn the way the flat plates draw them. Faces are opaque and remove what stands behind them. The cap takes the tier's own fill; the walls take a --paper-2 stone, the tier's hue pulled 22% of the way in so the tiers still part at a glance, each wall graded a breath darker toward its foot. Every material is unlit and baked in the vellum palette, and the page recomputes each one from its own tokens on load and on every theme turn, so the cyanotype theme stands the city on navy paper. Each frame strokes the tier's edge colour from the ladder the plates use (red, accent, --line, soft, ink) as a strip on the faces either side of the edge.
HATCH Laid in world space: a pattern tile repeated over the +x and −z walls, 6 CSS px apart across the rake at the home pose, so the stripes keep their spacing on the model and grow with it as the camera closes in. Gate severity is the rake: the halt and PR hatch runs opposite to the neutral one, and the halt cap is filled red. The pr and late tiers carry sheet 7's roof wash, the cap taking the side's hatch. The off tier is drawn frame-only, because there is nothing to mass.
PLANT Every massed member is drawn as a working plant, after the sprite study's Factorio-leaning treatment, and every piece of it reads a field the census row already carries. The plant keeps to the roof's corners, clear of the pin over its centre. Stacks stand in a row up the west edge, one per ten authored files up to four, their height set by the footprint and banded in the tier's edge colour. Tanks line the north edge from the north-east corner, one at 150 sloc, two at 600, three at 1,800, as many as the roof holds. A header pipe joins them, and the field left over carries one vent per five files, up to six. A footprint of 45 units or more takes a portal gantry along its east edge, and one of 28 or more a catwalk rail. A wall of 20 units or more runs a riser up its east face, two from 60, and a mass of 40 or more is ringed by a deck every 30 units. A spec annex is joined by a pipe rack across the gap and carries three module lamps, lit green by sheet 7A's line coverage: three at 95 and over, two at 85, one below or unmetered, none when no suite loads the member. Where a choice is left, such as which roof cells the vents take, a generator seeded on the member's name makes it, so the same census always builds the same plant. Each solid is a box or two turned boxes, stacks and tanks as octagons, merged per material on its member's roof and shaded top to foot.
CAMERA Perspective, at a 14° field of view, so the city reads close to the plates' isometric. The camera orbits free under the pointer with the viewer's own damping, and four buttons turn it to the true diagonals, 45°, 135°, 225°, 315° at the isometric polar angle of 54.736°, instantly under prefers-reduced-motion. A plain scroll over the plate scrolls the page; the wheel zooms once the plate has been touched.
LETTERING Each member carries a numbered pin with sheet 7's own number, standing over its plant, in the page's data face and its colours. Once the plan stands smaller than 62% of its size at home on a desktop stage, the unpinned pins fold to dots, so a distant or a phone-sized plan stays a plan. District names stand on their ground plates as labels of their own. The reading panel prints the same row the schedule does.
RISE The model carries one clip, rise, 2.4 s: every mass and its annex grow out of the ground in sheet 7's schedule order, district by district, and the plants grow onto their roofs over the last 0.4 s. The plate opens raised and never plays by itself. RAISE ⇄ GROUND runs the clip at its own speed and the slider scrubs it, the pins riding the roofs; under prefers-reduced-motion the button lands at once.
TEST LIGHT A second material lane over the same geometry, the model's test-light variant: the city relit from data/, metered at origin/main @ eb1162da (2026-10-18), the ref the geometry is massed at, with 35 members read under their own suites' meters. The model and the flat shadow plate cannot drift either. Every mass in the model has a survey row; one without is a build error.
POLARITY Sheet 7A's: covered source is LIT, source no suite loads is SHADOW, and the spec annex is the LAMP that throws the light. A metered member's mass splits along its footprint. The lit slab is side × the extent the meter records, taken from the annex (east) side, its tint stepping down through the line-coverage bands. The shadow slab is sheet 7A's own black wash with a faint stripe, lerped toward black rather than the ink, because --ink is light in the cyanotype theme and a shadow that brightens in the dark is not a shadow.