fuzzyworld

tower / commit

docs(tools): photograph the sun cap window

567fe8ad846ab79a05f47005d82b94ae62c7121a · Pavel Safronov · 2026-09-07 23:51:03 -0700 · parents 0360727016a9

docs(tools): photograph the sun cap window

A new shot, interior-suncap: the collector's black disc, the stars round the
edge of it, and the beam running down to the aperture at its centre. It has
to turn the observer 180° to face sunward, which the tour does in four 246 px
passes rather than one 982 px sweep — a single drag that long runs off the
edge of the viewport, and the pointer capture goes with it.

Everything else re-photographed for the rain removal, the sun cap window and
the mountain ring. mobile-panel moved 3.5% purely because deleting the Rain
checkbox shifted the panel below it; the map shots did not move at all,
which is correct rather than suspicious — both centre on The Capital at
z 270 km and the new ring is at z 90 km, outside the frame.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
 README.md                                      |  13 ++++++-------
 docs/screenshots/desktop-exterior-true.png     | Bin 485140 -> 486343 bytes
 docs/screenshots/desktop-exterior.png          | Bin 277245 -> 277577 bytes
 docs/screenshots/desktop-interior-night.png    | Bin 238434 -> 238460 bytes
 docs/screenshots/desktop-interior-overhead.png | Bin 438518 -> 438491 bytes
 docs/screenshots/desktop-interior-suncap.png   | Bin 343533 -> 343589 bytes
 docs/screenshots/desktop-interior.png          | Bin 454082 -> 454099 bytes
 docs/screenshots/mobile-exterior.png           | Bin 70204 -> 69777 bytes
 docs/screenshots/mobile-interior.png           | Bin 146247 -> 146251 bytes
 docs/screenshots/overview.png                  | Bin 920715 -> 921186 bytes
 tools/screenshots.mjs                          |  19 +++++++++++++++++++
 11 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md
index d5b243e..01471f5 100644
--- a/README.md
+++ b/README.md
@@ -211,13 +211,12 @@ to a thousandth instead of killing it, which is what night here has to be: the b
 glows by itself, so a lit beam lights the world whatever the mirrors are doing, and
 aiming them away would leave the floor at about 100 W/m² — half of noon.
 
-The eye-height slider runs from 1.7 m to 25 km with the local gravity beside it.
-Nothing *inside* rotates, because you, the ground and the air all turn together —
-so for 539 of the 540 km there is no evidence Tower turns at all. The exception is
-the window: the sky out there does not co-rotate, and wheels once every 7 min 29 s
-about the one motionless star on the axis. Rain used to stand in for that, leaning
-a permanent 1.5°, and is no longer drawn — the lean is real and still computed, but
-1.5° was never a picture of anything. It is by a wide margin the plainest sign of the spin anywhere in the view, and
+The eye-height slider runs from 1.7 m to 25 km with the local gravity beside it, and
+**Rain** leans 1.5° antispinward. Nothing *inside* rotates, because you, the ground
+and the air all turn together — so for 539 of the 540 km that 1.5° is the only
+evidence Tower turns at all. The exception is the window: the sky out there does not
+co-rotate, and wheels once every 7 min 29 s about the one motionless star on the
+axis. It is by a wide margin the plainest sign of the spin anywhere in the view, and
 it is only available at night, at the deepward end, looking the one direction that
 has ever had anything in it but Tower.
 
diff --git a/docs/screenshots/desktop-exterior-true.png b/docs/screenshots/desktop-exterior-true.png
index 4c7f365..714b97e 100644
Binary files a/docs/screenshots/desktop-exterior-true.png and b/docs/screenshots/desktop-exterior-true.png differ
diff --git a/docs/screenshots/desktop-exterior.png b/docs/screenshots/desktop-exterior.png
index 6de717e..dc1d9d6 100644
Binary files a/docs/screenshots/desktop-exterior.png and b/docs/screenshots/desktop-exterior.png differ
diff --git a/docs/screenshots/desktop-interior-night.png b/docs/screenshots/desktop-interior-night.png
index 2ed88be..e743cfe 100644
Binary files a/docs/screenshots/desktop-interior-night.png and b/docs/screenshots/desktop-interior-night.png differ
diff --git a/docs/screenshots/desktop-interior-overhead.png b/docs/screenshots/desktop-interior-overhead.png
index baf97da..e2f62e5 100644
Binary files a/docs/screenshots/desktop-interior-overhead.png and b/docs/screenshots/desktop-interior-overhead.png differ
diff --git a/docs/screenshots/desktop-interior-suncap.png b/docs/screenshots/desktop-interior-suncap.png
index b44cb0a..6fc43b1 100644
Binary files a/docs/screenshots/desktop-interior-suncap.png and b/docs/screenshots/desktop-interior-suncap.png differ
diff --git a/docs/screenshots/desktop-interior.png b/docs/screenshots/desktop-interior.png
index 4e191fc..cb8e5e6 100644
Binary files a/docs/screenshots/desktop-interior.png and b/docs/screenshots/desktop-interior.png differ
diff --git a/docs/screenshots/mobile-exterior.png b/docs/screenshots/mobile-exterior.png
index 16f0977..68e9560 100644
Binary files a/docs/screenshots/mobile-exterior.png and b/docs/screenshots/mobile-exterior.png differ
diff --git a/docs/screenshots/mobile-interior.png b/docs/screenshots/mobile-interior.png
index febe6f1..cb47c45 100644
Binary files a/docs/screenshots/mobile-interior.png and b/docs/screenshots/mobile-interior.png differ
diff --git a/docs/screenshots/overview.png b/docs/screenshots/overview.png
index d02d30c..5d89c1c 100644
Binary files a/docs/screenshots/overview.png and b/docs/screenshots/overview.png differ
diff --git a/tools/screenshots.mjs b/tools/screenshots.mjs
index 89c9637..21c0329 100644
--- a/tools/screenshots.mjs
+++ b/tools/screenshots.mjs
@@ -291,6 +291,25 @@ const SHOTS = [
       await settle(page, 1600)
     },
   },
+  {
+    id: 'interior-suncap',
+    caption: 'Interior — the sun cap window: the collector\'s black disc, and stars round the edge of it',
+    on: ['desktop'],
+    run: async (page) => {
+      await openView(page, 'interior')
+      await pick(page, 'The Capital')
+      await withPanel(page, () => page.selectOption('#f-light', 'night'))
+      // Turn to face sunward. 246 px is 45° at the default field, and the drag has
+      // to stay inside the viewport, so it goes round in four passes rather than
+      // one 982 px sweep that would run off the edge and drop the pointer capture.
+      const s = await stage(page)
+      for (let i = 0; i < 4; i++) {
+        await drag(page, [s.x + s.w * 0.8, s.y + s.h * 0.5], [s.x + s.w * 0.8 - 246, s.y + s.h * 0.5])
+        await page.waitForTimeout(150)
+      }
+      await settle(page, 1600)
+    },
+  },
   {
     id: 'reader',
     caption: 'Reader mode (?reader=1) — terrain, places, a detail card and the probe, no editing',