tower / commit
docs: fold the far cap window into the architecture sections
design.md | 63 +++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/design.md b/design.md index 4f82679..5ec2b9d 100644 --- a/design.md +++ b/design.md @@ -554,7 +554,7 @@ src/ geometry.ts (θ,z) <-> 3D, slat layout, map <-> surface atmosphere.ts the rotational density profile and its extinction (§1.5) motion.ts how things fall in the rotating frame (§1.9.2) — the only - visible evidence of the spin, now that there are no stars + evidence of the spin anywhere but the far cap window views/ palette.ts one colour per place kind, shared by map, list and editor raster.ts what npm run terrain wrote: grid, and what white means @@ -632,10 +632,19 @@ is the least intuitive object in Tower: it is larger than the world it feeds. The default camera frames the whole system rather than Tower alone: the collector is 244 km across and flies 320 km ahead, and it is the larger object. -**The terrain raster is wrapped onto the hull** — a third reading aid, and the -frankest of the three. From outside Tower is structure; what the texture shows is -what is *inside*. It is an x-ray, and it is useful precisely because the hull is -opaque. Three's cylinder runs u around and v along, while the raster is the other +**The hull has two readings, and the view switches between them** (D-047). **True** +is the outer skin: bare structure, the checkered sun cap, and the glazed far cap. +**X-ray** wraps the terrain raster onto the outside instead — from outside Tower is +structure, so what that texture shows is what is *inside*, which makes it a diagram +and not a view. Both are worth having and they are not the same claim, so the +control is a two-way switch rather than a checkbox. + +The wall is drawn as two meshes rather than one double-sided one, because its two +faces show different things: the outer skin changes with the mode, and the inner +surface is always the land. Since the far cap became a window (D-045) that inner +surface is genuinely visible from outside — look in through the glass in true mode +and the world is really there, lit and 540 km deep. It is the only line of sight +into Tower that is not a projection. Three's cylinder runs u around and v along, while the raster is the other way round, so the UVs are rewritten from the original attribute rather than derived from vertex positions — the seam vertices are duplicated, and deriving an angle from them smears one column of triangles across the whole image. @@ -656,7 +665,12 @@ Scope held: **real geometry, simple ground.** Real: the shell is the actual cylinder, curving up on both sides and closing overhead, displaced by `terrain-height.png` and painted with `terrain-color.png`. -**No stars** — the hull is sealed (§1.4). The sky is land and light. +**Stars only through the far cap** — the wall is sealed (§1.4), so for 539 of the +540 km the sky is land and light. The far cap is glazed (D-045) and the sky beyond +it is sampled by view direction in an azimuthal-equidistant projection about the +spin axis, which makes the pinwheel fall out of the projection rather than being +animated into it: azimuth plus spin phase, one turn every 7 min 29 s, and the +point on the axis genuinely motionless. Simple: the ground is the raster plus a little procedural grain in the near field, not modelled scenery. No buildings, no vegetation meshes. Cells are 0.7 km and @@ -672,27 +686,40 @@ ground, printed in the readout so the claim can be checked rather than believed. The airlight the haze adds is *neutral*; tinting it blue double-counts the wavelength dependence and turns even the desert mauve (D-034). -**Nothing in the scene rotates**, because the observer, the ground and the air all -co-rotate. Inside a sealed cylinder the spin is genuinely invisible, which leaves -what falls to carry it — and §1.9.2 turns out to be lopsided about how. Rain leans a -fixed 1.5° whatever the cloud, because drag pins its speed; only free fall keeps -accelerating and so keeps leaning. **The waterfall is the compass; the rain is -barely a hint.** Rain is drawn, and the readout prints its 1.5° next to it. +**Nothing inside the scene rotates**, because the observer, the ground and the air +all co-rotate — which leaves what falls to carry the spin, and §1.9.2 turns out to +be lopsided about how. Rain leans a fixed 1.5° whatever the cloud, because drag +pins its speed; only free fall keeps accelerating and so keeps leaning. **The +waterfall is the compass; the rain is barely a hint.** Rain is drawn, and the +readout prints its 1.5° next to it. + +**The one thing that does turn is outside.** The sky through the far cap does not +co-rotate, so it wheels once every 7 min 29 s about the motionless star on the axis +(D-045). It is by a wide margin the plainest evidence of the spin in the view — +1.5° of rain lean against a whole sky going round — and it is only available at +night, at the deepward end, looking the one direction that has ever had anything +in it but Tower. The observer stands on the terrain, which means the height raster is read back onto the CPU and sampled against the mesh's own cell corners — the GPU cannot be asked where the ground is (D-035). Instruments in the view: eye height from 1.7 m to 25 km with the local gravity -beside it, the three canon illumination settings of §1.3, the field of view as a +beside it, the five canon illumination settings of §1.3, the field of view as a pair of binoculars, and captions on every place still visible through the haze. Selecting a place walks the observer to it (D-038) — the haze horizon closes at 100–150 km, so turning to face something usually just points at haze. -The caps are checkered (D-041) — polar, six rings, cells about 8 km. They are the -only structure in the world, and the only object in it with a known size, so they -double as a scale for judging distance. The same pattern is on them in the exterior -view. +The caps are no longer the same object. **The sun cap is checkered** (D-041) — +polar, six rings, cells about 8 km. **The far cap is glazed** (D-045), and the +checker survives on it as the window's mullions: the same tessellation at the same +pitch, so it is still the only object in the world with a known size and still +doubles as a scale for judging distance, now read against sky rather than plate. +Both patterns are shared with the exterior view. + +The far cap's glazing is set a kilometre into its own frame, so from inside there is +a **1 km reveal** around it. That is the only place the wall depth of D-044 can be +seen from within the world, which is why it is the only place it is drawn. Not modelled: water has no surface. Lakes and seas are painted in the raster and cut into the shell as basins, so standing in one puts you on its floor. @@ -797,7 +824,7 @@ a moment. Reading the world, not editing it. 3. **Exterior** — ✅ hull, caps, collector, beam, spin, and hull point picking. 4. **Map** — unrolled surface, slat rendering, picking, sync with exterior. 5. **Interior** — ✅ shell geometry, the haze shader, the beam, rain, eye height, - and the three illumination settings. No stars: there are none to draw. + and the five illumination settings. Stars, but only through the far cap window. 6. **Writer mode** — ✅ *built ahead of 3–5, at the author's request, because the world needs developing before there is anything to render.* Map view, place editing for all thirteen kinds, points/polylines/polygons, localStorage