Opening moves become row-honest: ← → within the row, clamped at edges

Eric asked what the ↑↓ buttons did — the honest answer was "reorder a
flat list that no longer exists, and fragment your wall diagram if
pushed across a row boundary" (A1, B1, A2 renders as THREE rows under
the letter-grouped layout). The useful half survives as ← → "move
within its row"; the endpoint clamps at row-letter boundaries so the
diagram can't fragment. Tests pin both the clamp and the legitimate
within-row swap; the acceptance flow's reorder step updated to match
the new semantics.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
This commit is contained in:
Eric Wagoner
2026-08-09 14:28:15 -04:00
co-authored by Claude Fable 5
parent 75162c3e2e
commit a23b97d2f9
4 changed files with 71 additions and 20 deletions
+11 -11
View File
@@ -22,7 +22,7 @@
{
"id": "library-kallax-b1",
"label": "B1",
"zone": "cubes",
"zone": "party",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -30,7 +30,7 @@
{
"id": "library-kallax-b2",
"label": "B2",
"zone": "cubes",
"zone": "party",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -38,7 +38,7 @@
{
"id": "library-kallax-b3",
"label": "B3",
"zone": "cubes",
"zone": "party",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -46,7 +46,7 @@
{
"id": "library-kallax-b4",
"label": "B4",
"zone": "cubes",
"zone": "two-player",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -54,7 +54,7 @@
{
"id": "library-kallax-c1",
"label": "C1",
"zone": "cubes",
"zone": "general",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -62,7 +62,7 @@
{
"id": "library-kallax-c2",
"label": "C2",
"zone": "cubes",
"zone": "general",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -70,7 +70,7 @@
{
"id": "library-kallax-c3",
"label": "C3",
"zone": "cubes",
"zone": "general",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -78,7 +78,7 @@
{
"id": "library-kallax-c4",
"label": "C4",
"zone": "cubes",
"zone": "general",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -86,7 +86,7 @@
{
"id": "library-kallax-d1",
"label": "D1",
"zone": "cubes",
"zone": "general",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -94,7 +94,7 @@
{
"id": "library-kallax-d2",
"label": "D2",
"zone": "cubes",
"zone": "vintage wargames",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4
@@ -102,7 +102,7 @@
{
"id": "library-kallax-d3",
"label": "D3",
"zone": "cubes",
"zone": "heavy",
"width_in": 13.25,
"height_in": 13.25,
"depth_in": 15.4