fuzzyworld

nordic-skating / commit

chore(screenshots): lake number 1 at a named time, and the new sights

c6a1d87dc51d961bd7d5c34d561c4a488016df85 · Pavel Safronov · 2026-10-09 21:30:24 -0700 · parents a8fd3f1363f4

Claude Code usage: this commit ≈0 out / ≈0 cached · cost unknown (no per-model trailer) · session 1 tally 680 in / 607.2K out / 59.3M cached · usage by commit and session

chore(screenshots): lake number 1 at a named time, and the new sights

Pinned to a lake and a time of day so that the pictures are of the same
thing every run. Added: dusk, night, the aurora in both orientations,
the About and Settings boxes. Removed: the fall, which no longer happens.

Usage: 680 in / 607.2K out / 59.3M cached (session tally)
rtk:   1.7M saved, 25.3% over 2663 cmds (global/lifetime)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
 docs/screenshots/about.png        | Bin 0 -> 204991 bytes
 docs/screenshots/aurora-phone.png | Bin 0 -> 254161 bytes
 docs/screenshots/aurora.png       | Bin 0 -> 306257 bytes
 docs/screenshots/autopilot.png    | Bin 211085 -> 230188 bytes
 docs/screenshots/dusk.png         | Bin 0 -> 256975 bytes
 docs/screenshots/far.png          | Bin 224452 -> 246816 bytes
 docs/screenshots/fork.png         | Bin 321595 -> 347891 bytes
 docs/screenshots/landscape.png    | Bin 245957 -> 285369 bytes
 docs/screenshots/night.png        | Bin 0 -> 261463 bytes
 docs/screenshots/pass.png         | Bin 241573 -> 252723 bytes
 docs/screenshots/sea.png          | Bin 209619 -> 231337 bytes
 docs/screenshots/settings.png     | Bin 0 -> 213619 bytes
 docs/screenshots/steering.png     | Bin 253068 -> 199063 bytes
 docs/screenshots/thin-ice.png     | Bin 267775 -> 279129 bytes
 tools/screenshots.mjs             |  39 +++++++++++++++++++-------------------
 15 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/docs/screenshots/about.png b/docs/screenshots/about.png
new file mode 100644
index 0000000..cc0f809
Binary files /dev/null and b/docs/screenshots/about.png differ
diff --git a/docs/screenshots/aurora-phone.png b/docs/screenshots/aurora-phone.png
new file mode 100644
index 0000000..e215bb4
Binary files /dev/null and b/docs/screenshots/aurora-phone.png differ
diff --git a/docs/screenshots/aurora.png b/docs/screenshots/aurora.png
new file mode 100644
index 0000000..53fc82b
Binary files /dev/null and b/docs/screenshots/aurora.png differ
diff --git a/docs/screenshots/autopilot.png b/docs/screenshots/autopilot.png
index b02260e..b7e12f2 100644
Binary files a/docs/screenshots/autopilot.png and b/docs/screenshots/autopilot.png differ
diff --git a/docs/screenshots/dusk.png b/docs/screenshots/dusk.png
new file mode 100644
index 0000000..c1daa25
Binary files /dev/null and b/docs/screenshots/dusk.png differ
diff --git a/docs/screenshots/far.png b/docs/screenshots/far.png
index b54ee97..fc32422 100644
Binary files a/docs/screenshots/far.png and b/docs/screenshots/far.png differ
diff --git a/docs/screenshots/fork.png b/docs/screenshots/fork.png
index 4441a43..7f7ed79 100644
Binary files a/docs/screenshots/fork.png and b/docs/screenshots/fork.png differ
diff --git a/docs/screenshots/landscape.png b/docs/screenshots/landscape.png
index 77988ec..9bdd234 100644
Binary files a/docs/screenshots/landscape.png and b/docs/screenshots/landscape.png differ
diff --git a/docs/screenshots/night.png b/docs/screenshots/night.png
new file mode 100644
index 0000000..82784ad
Binary files /dev/null and b/docs/screenshots/night.png differ
diff --git a/docs/screenshots/pass.png b/docs/screenshots/pass.png
index 5388e6b..baeb115 100644
Binary files a/docs/screenshots/pass.png and b/docs/screenshots/pass.png differ
diff --git a/docs/screenshots/sea.png b/docs/screenshots/sea.png
index 1fa2677..24ae971 100644
Binary files a/docs/screenshots/sea.png and b/docs/screenshots/sea.png differ
diff --git a/docs/screenshots/settings.png b/docs/screenshots/settings.png
new file mode 100644
index 0000000..0519cae
Binary files /dev/null and b/docs/screenshots/settings.png differ
diff --git a/docs/screenshots/steering.png b/docs/screenshots/steering.png
index c296417..03742ee 100644
Binary files a/docs/screenshots/steering.png and b/docs/screenshots/steering.png differ
diff --git a/docs/screenshots/thin-ice.png b/docs/screenshots/thin-ice.png
index a0b7b66..c13dc6b 100644
Binary files a/docs/screenshots/thin-ice.png and b/docs/screenshots/thin-ice.png differ
diff --git a/tools/screenshots.mjs b/tools/screenshots.mjs
index 776e4fb..dbb8785 100644
--- a/tools/screenshots.mjs
+++ b/tools/screenshots.mjs
@@ -11,35 +11,36 @@ import { preview } from 'vite'
 const OUT = 'docs/screenshots'
 const PHONE = { width: 390, height: 844 }
 
-/** What to photograph: where on the lake, and what to do there first. */
+/**
+ * What to photograph: where, and what to do there first. Always lake number 1, and a
+ * time of day by name, so that the pictures are of the same thing from one run to the next.
+ */
 const SHOTS = [
-  { name: 'autopilot', query: '?s=400', act: async () => {} },
+  { name: 'autopilot', query: '?seed=1&time=day&s=400', act: async () => {} },
   {
     name: 'steering',
-    query: '?s=2600',
+    query: '?seed=1&time=day&s=2600',
     act: async (page) => {
       await page.keyboard.down('ArrowRight')
       await page.waitForTimeout(1500)
     },
   },
   // The first fork: the island between its two channels is a little way ahead.
-  { name: 'fork', query: '?s=790', viewport: { width: 844, height: 390 }, act: async () => {} },
-  { name: 'pass', query: '?s=6400', act: async () => {} },
-  { name: 'sea', query: '?s=3400', viewport: { width: 844, height: 390 }, act: async () => {} },
-  // Ice too thin to hold lies to the left of the middle here: black, where sound ice is milky.
-  { name: 'thin-ice', query: '?s=2795', viewport: { width: 844, height: 390 }, act: async () => {} },
-  {
-    name: 'fell',
-    query: '?s=2815',
-    act: async (page) => {
-      await page.keyboard.down('ArrowLeft')
-      await page.waitForFunction(() => document.querySelector('#water').classList.contains('under'), null, { timeout: 15_000 })
-      await page.waitForTimeout(600)
-    },
-  },
-  { name: 'landscape', query: '?s=5200', viewport: { width: 844, height: 390 }, act: async () => {} },
+  { name: 'fork', query: '?seed=1&time=day&s=790', viewport: { width: 844, height: 390 }, act: async () => {} },
+  { name: 'pass', query: '?seed=1&time=day&s=6400', act: async () => {} },
+  { name: 'sea', query: '?seed=1&time=day&s=3400', viewport: { width: 844, height: 390 }, act: async () => {} },
+  // Impossibly thin ice lies to the left of the middle here, faintly lit from within.
+  { name: 'thin-ice', query: '?seed=1&time=day&s=2795', viewport: { width: 844, height: 390 }, act: async () => {} },
+  { name: 'about', query: '?seed=1&time=day&s=400', act: async (page) => { await page.click('#about') } },
+  // The same water at the other times of day.
+  { name: 'dusk', query: '?seed=1&time=dusk&s=5200', viewport: { width: 844, height: 390 }, act: async () => {} },
+  { name: 'night', query: '?seed=1&time=night&s=5200', viewport: { width: 844, height: 390 }, act: async () => {} },
+  { name: 'aurora', query: '?seed=1&time=aurora&s=5200', viewport: { width: 844, height: 390 }, act: async () => {} },
+  { name: 'aurora-phone', query: '?seed=1&time=aurora&s=400', act: async () => {} },
+  { name: 'settings', query: '?seed=1&time=night&s=400', act: async (page) => { await page.click('#settings') } },
+  { name: 'landscape', query: '?seed=1&time=day&s=5200', viewport: { width: 844, height: 390 }, act: async () => {} },
   // Ten thousand kilometres down the lake: the picture must be as sharp as at the start.
-  { name: 'far', query: '?s=10000000', act: async () => {} },
+  { name: 'far', query: '?seed=1&time=day&s=10000000', act: async () => {} },
 ]
 
 mkdirSync(OUT, { recursive: true })