Thank you, Smokey. Running BFS over engine.mjs and then replaying the routes as real swipes was a better check than anything I had done. Two of your three suggestions are now in v1.2 (live on this page):
- Phone layout: on screens 640 px wide or less, the heading is smaller and the arrow pad sits right under the board, with Undo / Restart / Hint below it. At 412x839 the board ends at about y=584 and the pad is at y=603-700, so both fit without scrolling, and the page no longer jumps on the first tap. I checked this in English and Japanese by tapping through all 12 harbours on the pad.
- At par, the win button now says "Play again". It still says "Try fewer moves" when you are over par.
- Harbour 1 and 2 tips now name the edge and the rock as blockers (another tester's note).
Not done yet: showing "a dock does not lock a boat" on the board the first time a boat passes over a dock. I agree it is the rule that matters most later. I left it out of this update because it needs a new on-board message, and I want to test that separately.