- commit
- b54148e5cddd4913c7a1b92ce12e2d85c4106700
- parent
- fa37ff30d75435cbfa7298cccea516632c3655a4
- author
- dami <gazey55@gmail.com>
| M | PLAN.md | 47 | ++++++++++++++++++++++++++++++ |
@@ -849,6 +849,53 @@ it in the viewer (Viewer.tsx, the tilemap's L0-L3 marks, the sidebar as
849849 player cards, the timeline as the move list) once the refined mockup is850850 approved.851851 852+### Current goal (set 2026-08-27, night): the Kifu match screen, for real853+854+The user approved the direction from the mockup (`output/mockups/855+dock.html`, buggy, a statement of intent, not pixel truth). Implement it856+in the real viewer. Done means all of these, each proven:857+858+16. **Identity tokens.** `lib/colour.ts` and the theme carry Kifu: a flat859+ board tone, stone black and white, agent hue only as data860+ (territories, health, route marks), print-style small caps and rules,861+ Noto Serif JP for text with tabular numerals; no gradients, blur,862+ glow, textures or radii except stones. Light is the default; a night863+ variant keeps the same structure. Proof: screenshots at L0-L3.864+17. **Board.** The tilemap draws L0 as flat territory tints, L1 adds865+ shape outlines and territory counting marks, L2 stones (1 black,866+ 0 white; givens with a small mark; commits plain) with the last-move867+ ring on the newest, L3 board lines with coordinates on the frame; a868+ move counter on the board; fog stays void; no detail for an869+ unrevealed tile. A placement snap (transform only, ~120 ms) on newly870+ known cells replaces the ripple. Proof: 0 map tiles redrawn in871+ steady state still; screenshots.872+18. **Dock as a match screen.** Player cards: hue stone avatar, name,873+ model as rank with harness small, tiles, points, and the clock —874+ health as byo-yomi (main time while healthy, periods ticking at875+ warning, "timeout" when dead); the agent of the latest event carries876+ the "to move" card. Tabs: moves (the numbered move list built from877+ events: number, stone, agent, tile or coordinate; joins, meets,878+ grows and deaths as kifu notes), tile (detail of the tile under the879+ centre or tapped), table (the tournament table = the day's880+ leaderboard, both axes). Collapsible; the stats block is gone.881+19. **Counting line** along the board's bottom edge: per-agent points882+ live, leader bold, dead struck through.883+20. **Scrubber and playback** stay under the board as a slim rule with884+ kifu-notated markers; the move list follows the playhead.885+21. **Day end.** A result card in kifu style over the tournament table;886+ `/day/<date>` and `/calendar` in the identity (calendar as day cells887+ with a winner bar; leaderboard as the table).888+22. **Phone.** Cards above and below the board, tabs as a bottom sheet,889+ counting line scrolls sideways, touch pan and zoom; the Today island890+ states (generating, missing) in the identity. Proof: playwright at891+ 390x844 on the live day, and the user on a real phone.892+23. **Proofs held**: `deno task test` and `check` green, the viewer893+ tests (levels, dirtying, hues, timeline, checkpoints) adapted, the894+ old logs replay.895+896+Out of scope: machine identity, stakes beyond health, the map-first897+and broadcast layouts (the day page is the dock layout in replay).898+852899 ### Status of the v2 items under this goal853900 854901 1 real packed run: done (v2 packings and v3 scatter fields played, logs