Version gallery
The complete lineage of the game, oldest first. Each version is an immutable snapshot, playable exactly as it shipped, recorded with who asked for it, why, and what it cost. Versions are cut mechanically as part of every implementation; the record has no gaps.
- v000
Seed
Requested by— (seed)
Why they wanted itA control condition. A complete, correct, unremarkable chess game against which every subsequent version can be measured.
What changedEverything; this is the first version. Full legal move generation (castling, en passant, promotion, check, checkmate, stalemate, draw detection), drag-and-drop and click-to-move, local two-player.
What it brokeNothing. There was nothing before it.
- v001
Hierarchical Piece Sizing
Requested byMerrin Voss (persona:merrin)
Why they wanted itMerrin Voss wants the board to communicate importance through size; she considers the king rendering at the same size as a pawn a failure of the interface, not a neutral design choice.
What changedPer-type piece scaling in public/game/src/ui/style.css via a --piece-scale custom property keyed on the existing data-type attribute: king 90%, queen 80%, rooks/bishops/knights 70%, pawns 55% of the square's short dimension (previously a uniform 64%). The drag ghost's SVG now sizes to the same variable so it reflects the actual piece size during drag.
What it brokeNothing functional; the rule engine and move list are untouched. Size hierarchy is intentionally not applied in the promotion dialog (.promo__choice .piece stays 100%) or the captured-pieces panel (.captured__row .piece stays 18px), which keep their own overrides. Drag-and-drop pick targets remain full-square for every piece type; silhouette-based hit detection was out of scope per the RFC.