Eric's wall answered the orientation question with a screenshot full of red: the capacity model assumed one flat stack per opening, so his spine-out cubes read 200% full. His reviewer's prescription, built to its acceptance cases: each opening packs a FLAT lane (thinnest axes against interior height, claiming the widest flat box's width) and a STANDING lane beside it (boxes on edge against the remaining width; standing boxes must fit height and depth upright). The largest- footprint class lies flat, smaller boxes stand, any box's lane is flippable per-assignment (▬/▮ toggle in the opening view, ✱ marks an override), and ⚠ now means NO packing fits — not merely "tall stack". Unmeasured boxes take no lane but keep their honesty tag; dual fill bars show each lane's budget; a broken opening is never offered by the suggester. On the real wall: the double-wides and half the cubes went green (7 games = 13.12" flat + 2.91" standing), and the remaining warnings mark cubes that genuinely hold 12-16 boxes. Both reviewer acceptance tests pass verbatim. And the export gains the humanity Eric asked for: game pages say where each box lives, containers list their contents, and a shelves page draws the wall as it physically stands — proportional cells, zones, descriptions, every opening linking its residents. Publishing a shelf layout is a choice: --no-shelves keeps the layer out. "shelves" joins "art" as a reserved slug. 387 tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
273 lines
6.2 KiB
JSON
273 lines
6.2 KiB
JSON
[
|
||
{
|
||
"title_raw": "Civilization: West Extension Map",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": null,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Artistry: Delightful Doorways Mini Expansion",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": null,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "castle panic wizard's tower",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": null,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 5: The Character Trove",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2015,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 10",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2026,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 2",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2008,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 3",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2011,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 4",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2013,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 6: Villains",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2017,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 7: The Tavern Crew",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2018,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 8: Pub Crawl",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2022,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn 9: The Undercity",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2023,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn: Allies – Evil Pooky",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2021,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn: Allies – Halden the Unhinged",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2015,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn: Allies – Jin vs Greppa",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2025,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn: Allies – Melvyn vs. Marah",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2024,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn: Allies – Pooky",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2012,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "The Red Dragon Inn: Allies – Wrench",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2015,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: 5th Player Expansion",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2020,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: Awakened Items & Actions",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2022,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: Funeral Witch Campaign",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2022,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: Search Mini Deck",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2020,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: Shifting Story Promo Deck",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2023,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: Sphinx Campaign",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2022,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: Story Dice Expansion",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2024,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: Stretch Goals – Harpy & She-Wolf Campaigns",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2022,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
},
|
||
{
|
||
"title_raw": "Etherfields: Thorn Knight",
|
||
"confidence": "high",
|
||
"publisher_hint": "",
|
||
"edition_hint": "",
|
||
"year_hint": 2020,
|
||
"language_hint": "",
|
||
"art_notes": "",
|
||
"source_photos": []
|
||
}
|
||
]
|