From 169ec4ad553d93621d387b3654dbce940fb30b89 Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Sat, 10 Oct 2026 18:30:25 -0400 Subject: [PATCH] Conventions: plain chrome, and how a move is made From feedback on Waving Hands' BoardGameGeek thread: no label-and-colon lines or abstract headings around the game; histories read oldest first; the move and its button stay together and in view; warn before a wasted move rather than after; let a move be typed. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_0141G6xqLeNRYEtviLWSB5Up --- CONVENTIONS.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CONVENTIONS.md b/CONVENTIONS.md index 2183ff7..1b187b2 100644 --- a/CONVENTIONS.md +++ b/CONVENTIONS.md @@ -236,11 +236,30 @@ thing will happen), and the image carries it. the images belong to what happens, not to what you press. - **Our own words.** An older implementation's prose is a guide to the tone, never a source to copy. +- **Plain chrome.** Headings, tabs, captions and notes say what is there + in ordinary words. Avoid the construction a label, a colon, then an + explanation ("The ledger: every gesture..."), and headings made of "The" + and an abstract noun ("The game", "The tally"); readers take both as the + mark of generated text. The images live in what happens, not in the + labels around it. - **Changing text is not changing rules.** Chronicle wording is not part of the ledger, so it ships without a rules revision; the deploy gate compares outcomes, not sentences. A test that pins a phrase should pin the fact inside it. +## The move + +- **Every history reads top to bottom**, oldest first, and scrolls to the + newest line: the ledger, the chronicle, table talk. That is the order + people already know from chat. +- **The move and its button stay together and in view.** Whatever the + player has chosen this turn, what it will do, any warning, and the + button that commits it sit in one row that does not scroll away. +- **Warn before, not after.** A move that is legal but wasted is pointed + out while it can still be changed, and left legal. +- **A move can be typed** when the game's moves have short names, with + Enter to commit and Backspace to take one back. + ## Things learned the hard way - Caddy's `try_files` rewrites `/api` before `reverse_proxy` unless the