nordic-skating / commit
docs: islands and marks; screenshots of an island and of tracks
PLAN.md | 38 ++++++++++++++++++++-------------- README.md | 17 ++++++++++++++- docs/screenshots/about.png | Bin 223380 -> 223447 bytes docs/screenshots/aeroplane.png | Bin 379985 -> 380544 bytes docs/screenshots/aurora-phone.png | Bin 248331 -> 249769 bytes docs/screenshots/aurora.png | Bin 308695 -> 307857 bytes docs/screenshots/autopilot.png | Bin 228582 -> 225527 bytes docs/screenshots/blizzard.png | Bin 188152 -> 191089 bytes docs/screenshots/comet.png | Bin 267754 -> 266095 bytes docs/screenshots/dusk.png | Bin 259879 -> 259044 bytes docs/screenshots/far.png | Bin 264310 -> 266775 bytes docs/screenshots/fork.png | Bin 338555 -> 335791 bytes docs/screenshots/island-alongside.png | Bin 0 -> 187465 bytes docs/screenshots/island.png | Bin 0 -> 307249 bytes docs/screenshots/islets-dusk.png | Bin 197347 -> 197278 bytes docs/screenshots/islets.png | Bin 301341 -> 301437 bytes docs/screenshots/landscape.png | Bin 283066 -> 282478 bytes docs/screenshots/night.png | Bin 263598 -> 261847 bytes docs/screenshots/pass.png | Bin 226163 -> 226360 bytes docs/screenshots/sea.png | Bin 234363 -> 235753 bytes docs/screenshots/settings.png | Bin 216884 -> 216511 bytes docs/screenshots/snow.png | Bin 280581 -> 280049 bytes docs/screenshots/steering.png | Bin 176770 -> 174419 bytes docs/screenshots/thin-ice.png | Bin 285090 -> 284706 bytes docs/screenshots/tracks.png | Bin 0 -> 268253 bytes tools/screenshots.mjs | 14 +++++++++++++ 26 files changed, 53 insertions(+), 16 deletions(-) diff --git a/PLAN.md b/PLAN.md index 7efb122..8288e17 100644 --- a/PLAN.md +++ b/PLAN.md @@ -108,32 +108,40 @@ Pavel, 2026-10-10: more details in the scene are welcome, and named these. the wind too loud over the ice? Are shooting stars too frequent? The aeroplane is silent; should it be? +**Built since, waiting to be looked at** (2026-10-10). +- **Cracks made by the skater, and skate tracks.** The marks are drawn on a picture of + the hundred metres square of ice round the skater. Tracks and the scratch of each + push are always left; cracks are drawn where they are heard, and a push on cracking + ice starts more. Seen working as a drawing; the cracks have not been seen in the app + itself, only the tracks. +- **A long island in the middle of the lake**: see "Channels that part and join again". + +**Still to judge.** Are the tracks too faint against the ice's own cracks, which are the +same colour? Should they fade with time? Do the cracks read as cracks? + **Named and not yet built.** - **Snow drifts**: snow lying on the ice in streaks blown by the wind, building up in a blizzard. They would want to slow a skater and deaden the ice's sound where they lie, which is the "bad ice" of the first description of this app. -- **Cracks made by the skater**: on ice thin enough to crack, the cracks that are now - only heard would be seen, spreading from under the skates and left behind. This - needs a way to draw on the ice where the skater has been, which would also give - skate tracks, loops and all, as in the film. -- **A long island in the middle of the lake**: see "Channels that part and join again". **Further ideas, none started**: a moon and its phase; mist that thins and thickens; dawn; how wooded and how hilly the banks are; the colour of the aurora; birds; a far shore with the lights of a house at night; satellites; a bare rock, as in the film. -### Channels that part and join again +### Channels that part and join again — built, waiting to be tried **Pavel's question**: is this something like a long island of grass in the middle of a -lake or river? **Yes.** Today a fork's two channels draw apart and never meet again: -the lake is a tree. The other kind is an island with water both sides that comes back -together beyond it: a few hundred metres long, low, covered in reeds like the islets, -or wooded like the banks. The skater picks a side, and both lead on to the same lake. - -It is a smaller thing to build than it sounds, since a fork already is two channels -drawn side by side: this is a fork whose channels come back to the same line. What it -needs that forks do not have is the rejoining: both channels drawn all the way along -the island, and the skater's channel becoming the one channel again at its far end. +lake or river? **Yes**, and that is what was built (2026-10-10): a low bank of reeds +180 to 480 m long, in the middle of a channel, with water both sides that is one water +again beyond it. + +It turned out simpler than a fork whose channels rejoin. The island is a thing standing +in one channel, like an islet but long: the channel is made wider by the island's width +where it stands, and the skater has the water on whichever side of it they are on. No +channel is left or joined. + +**Still to judge.** Is one every 5 km right? Do the reeds read as an island from a +distance, or as a smudge? Should some islands be wooded, like the ones at forks? ### 3. Installable app — built, not yet tried on a phone diff --git a/README.md b/README.md index 807484c..9f90030 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ one side of every fork, for as long as you leave it. | Steer left or right | Drag sideways from wherever you touch; or tilt the phone, with Tilt on | ← → or A D | | Tilt to steer, on or off | The Tilt button at the bottom left (phones and tablets only) | | | Turn right round, or circle an islet | Hold the steer over | the same | -| Choose a way at a fork | A touch towards it on the way up to the fork | the same | +| Choose a way at a fork, or a side of an island | A touch towards it on the way up | the same | | Sound on or off | The button at the top right | M | | Go to another lake | Randomize, at the top left | R | @@ -246,8 +246,23 @@ its path. shore, and there are none in a narrow pass or near a fork. The autopilot goes round them; a skater steering straight at one is turned aside at the last moment. +- **It has long islands.** Low banks of reeds, 180 to 480 m long and up to 32 m across, + standing in the middle of a channel with water both sides: the channel parts round + one and is one again beyond it. The water either side is as wide as the channel + would have been, so the lake swells where an island is. A touch of steering on the + way up to one chooses the side; with none, the island has a side it prefers. About + one every 5 km, and none near a fork or in a pass. +- **It keeps the marks made on it** (`src/render/marks.ts`). The skates leave a line, + and each push a scratch to one side and then the other; on ice thin enough to crack, + the cracks that are heard are also seen, where they were heard from, and a push on + such ice starts more from under the skate. The marks lie on the hundred metres square + of ice round the skater, so a skater who turns back or circles an islet comes on their + own tracks, as in the film; further off than that the lake forgets. + <img src="docs/screenshots/fork.png" alt="The lake parting round a wooded island ahead" width="640" /> +<img src="docs/screenshots/island.png" alt="A long island of reeds ahead in the middle of the lake" width="640" /> + <img src="docs/screenshots/islets.png" alt="An islet of reeds standing in the ice, with more beyond it" width="640" /> <img src="docs/screenshots/sea.png" alt="Ice to a hazy horizon with no shore in sight" width="640" /> diff --git a/docs/screenshots/about.png b/docs/screenshots/about.png index f899118..cfaff71 100644 Binary files a/docs/screenshots/about.png and b/docs/screenshots/about.png differ diff --git a/docs/screenshots/aeroplane.png b/docs/screenshots/aeroplane.png index 3b9fa6b..0a36426 100644 Binary files a/docs/screenshots/aeroplane.png and b/docs/screenshots/aeroplane.png differ diff --git a/docs/screenshots/aurora-phone.png b/docs/screenshots/aurora-phone.png index 50e2217..fe65915 100644 Binary files a/docs/screenshots/aurora-phone.png and b/docs/screenshots/aurora-phone.png differ diff --git a/docs/screenshots/aurora.png b/docs/screenshots/aurora.png index 0454504..1b4a3ed 100644 Binary files a/docs/screenshots/aurora.png and b/docs/screenshots/aurora.png differ diff --git a/docs/screenshots/autopilot.png b/docs/screenshots/autopilot.png index ecd1761..82c97ec 100644 Binary files a/docs/screenshots/autopilot.png and b/docs/screenshots/autopilot.png differ diff --git a/docs/screenshots/blizzard.png b/docs/screenshots/blizzard.png index 0035b1a..3efbc17 100644 Binary files a/docs/screenshots/blizzard.png and b/docs/screenshots/blizzard.png differ diff --git a/docs/screenshots/comet.png b/docs/screenshots/comet.png index a1c4ad9..d251767 100644 Binary files a/docs/screenshots/comet.png and b/docs/screenshots/comet.png differ diff --git a/docs/screenshots/dusk.png b/docs/screenshots/dusk.png index d0fc084..e6b8813 100644 Binary files a/docs/screenshots/dusk.png and b/docs/screenshots/dusk.png differ diff --git a/docs/screenshots/far.png b/docs/screenshots/far.png index 27ce902..10728f3 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 3fdafc2..84883c9 100644 Binary files a/docs/screenshots/fork.png and b/docs/screenshots/fork.png differ diff --git a/docs/screenshots/island-alongside.png b/docs/screenshots/island-alongside.png new file mode 100644 index 0000000..3a233c1 Binary files /dev/null and b/docs/screenshots/island-alongside.png differ diff --git a/docs/screenshots/island.png b/docs/screenshots/island.png new file mode 100644 index 0000000..17d6e86 Binary files /dev/null and b/docs/screenshots/island.png differ diff --git a/docs/screenshots/islets-dusk.png b/docs/screenshots/islets-dusk.png index 8c69f95..a94ef68 100644 Binary files a/docs/screenshots/islets-dusk.png and b/docs/screenshots/islets-dusk.png differ diff --git a/docs/screenshots/islets.png b/docs/screenshots/islets.png index a9cdaaa..5eb4eba 100644 Binary files a/docs/screenshots/islets.png and b/docs/screenshots/islets.png differ diff --git a/docs/screenshots/landscape.png b/docs/screenshots/landscape.png index e0d0a70..6b56ba5 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 index 37d4fd0..0f66b43 100644 Binary files a/docs/screenshots/night.png and b/docs/screenshots/night.png differ diff --git a/docs/screenshots/pass.png b/docs/screenshots/pass.png index 12901f6..8295446 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 6c195f7..891781f 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 index 18dcd0a..6c11178 100644 Binary files a/docs/screenshots/settings.png and b/docs/screenshots/settings.png differ diff --git a/docs/screenshots/snow.png b/docs/screenshots/snow.png index d9d5c69..9672530 100644 Binary files a/docs/screenshots/snow.png and b/docs/screenshots/snow.png differ diff --git a/docs/screenshots/steering.png b/docs/screenshots/steering.png index c53a544..cc37201 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 2582919..f205977 100644 Binary files a/docs/screenshots/thin-ice.png and b/docs/screenshots/thin-ice.png differ diff --git a/docs/screenshots/tracks.png b/docs/screenshots/tracks.png new file mode 100644 index 0000000..e6546d4 Binary files /dev/null and b/docs/screenshots/tracks.png differ diff --git a/tools/screenshots.mjs b/tools/screenshots.mjs index 805a7c3..72be2eb 100644 --- a/tools/screenshots.mjs +++ b/tools/screenshots.mjs @@ -35,6 +35,20 @@ const SHOTS = [ // A bed of reed islets, just down the lake from where it starts. { name: 'islets', query: '?seed=1&weather=clear&time=day&s=150', viewport: { width: 844, height: 390 }, act: async () => {} }, { name: 'islets-dusk', query: '?seed=1&weather=clear&time=dusk&s=7040', act: async () => {} }, + // A long island of reeds in the middle of the lake: coming up to it, and alongside it. + { name: 'island', query: '?seed=1&weather=clear&time=day&s=2880', viewport: { width: 844, height: 390 }, act: async () => {} }, + { name: 'island-alongside', query: '?seed=1&weather=clear&time=dusk&s=3010', act: async () => {} }, + // Out at sea, held hard over for a whole circle: the skater comes round onto their own tracks. + { + name: 'tracks', + query: '?seed=1&weather=clear&time=day&s=7880', + viewport: { width: 844, height: 390 }, + act: async (page) => { + await page.keyboard.down('ArrowRight') + await page.waitForTimeout(12_500) + await page.keyboard.up('ArrowRight') + }, + }, // The same water at the other times of day. { name: 'dusk', query: '?seed=1&weather=clear&time=dusk&s=5200', viewport: { width: 844, height: 390 }, act: async () => {} }, { name: 'night', query: '?seed=1&weather=clear&time=night&s=5200', viewport: { width: 844, height: 390 }, act: async () => {} },