Two-lane packing, and the shelves ship with the export

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
This commit is contained in:
Eric Wagoner
2026-08-09 14:53:42 -04:00
co-authored by Claude Fable 5
parent d6ff5e73e9
commit e90a53fb6c
20 changed files with 1930 additions and 59 deletions
+563
View File
@@ -10862,5 +10862,568 @@
"weight_lb": null,
"source": "version"
}
},
"291130:475387": {
"bgg_id": 291130,
"type": "boardgameexpansion",
"name": "Etherfields: 5th Player Expansion",
"year": 2020,
"description": "This expansion allows you to add a 5th player.\n\nThis is not only a 5th player expansion, but also an additional character to choose from for any other player count game. We called this character archetype Reaper.\n\nThis archetype will be based on wounds that this character has taken - the more, the better combos she will be able to execute. There will be multiple ways of using this to your advantage - either by full-on risky play or perhaps more focused on balance and getting a good healing deck build. The Reaper will provide quite interesting mechanics for the whole team!\n\n—description from the publisher",
"image": "https://cf.geekdo-images.com/irNTpn32rkT1BbR0cvbcvg__original/img/ASaUeBCashp4Y2PtS1NFMmxaAh0=/0x0/filters:format(jpeg)/pic5792667.jpg",
"thumbnail": "https://cf.geekdo-images.com/irNTpn32rkT1BbR0cvbcvg__small/img/6TczoQDunTYpVZAU6pAf_FzCsW8=/fit-in/200x150/filters:strip_icc()/pic5792667.jpg",
"min_players": 1,
"max_players": 5,
"best_player_counts": [
"1",
"2"
],
"playtime": 180,
"min_playtime": 90,
"max_playtime": 180,
"min_age": 14,
"designers": [],
"artists": [
"Ewa Labak",
"Michał Sałata"
],
"publishers": [
"Albi",
"Awaken Realms",
"YOKA Games"
],
"categories": [
"Expansion for Base-game"
],
"mechanics": [
"Cooperative Game",
"Deck, Bag, and Pool Building"
],
"producers": [],
"series": [],
"rating": 8.08151,
"weight": 3.0,
"rank": null,
"users_owned": 4083,
"version": {
"version_id": 475387,
"name": "English edition",
"year": 2020,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
],
"width_in": 12.2047,
"length_in": 12.2047,
"depth_in": 1.5748,
"weight_lb": 1.67551
},
"stored_in": null,
"dims": {
"width_in": 12.2047,
"length_in": 12.2047,
"depth_in": 1.5748,
"weight_lb": 1.67551,
"source": "version"
}
},
"355873:597861": {
"bgg_id": 355873,
"type": "boardgameexpansion",
"name": "Etherfields: Awakened Items & Actions",
"year": 2022,
"description": "Originally available as part of Pack D from the Dice Tower 2021 Kickstarter campaign.\n\nA couple of new Actions and Items inspired by other games from the publisher.\n\nRules: To add these cards to the game, shuffle them into corresponding markets while setting up the game. They can be bought during the game using the normal rules.\n\nIncludes 5 cards:\nGrowing Crystals, Hibernation, Flick of Determination, A Great Wall, Menhir",
"image": "https://cf.geekdo-images.com/yHRhOGjndW2ZiAr0kajCrw__original/img/41Q110pcbM3sQ8rZO6wjk0tBp1Q=/0x0/filters:format(png)/pic9122177.png",
"thumbnail": "https://cf.geekdo-images.com/yHRhOGjndW2ZiAr0kajCrw__small/img/-bs7koBkaPPACqWNQneRVctXzIc=/fit-in/200x150/filters:strip_icc()/pic9122177.png",
"min_players": 1,
"max_players": 4,
"best_player_counts": [
"1"
],
"playtime": 0,
"min_playtime": 0,
"max_playtime": 0,
"min_age": 0,
"designers": [],
"artists": [
"Ewa Labak",
"Michał Sałata"
],
"publishers": [
"Awaken Realms"
],
"categories": [
"Expansion for Base-game"
],
"mechanics": [],
"producers": [],
"series": [],
"rating": 7.40938,
"weight": 2.0,
"rank": null,
"users_owned": 425,
"version": {
"version_id": 597861,
"name": "English edition",
"year": 2022,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
],
"width_in": 3.54331,
"length_in": 2.44094,
"depth_in": 0.07874,
"weight_lb": 0.02205
},
"stored_in": null,
"dims": {
"width_in": 3.54331,
"length_in": 2.44094,
"depth_in": 0.07874,
"weight_lb": 0.02205,
"source": "version"
}
},
"291131:475388": {
"bgg_id": 291131,
"type": "boardgameexpansion",
"name": "Etherfields: Funeral Witch Campaign",
"year": 2022,
"description": "Story\n\nFuneral Witch is a very mysterious and dark figure, representing, among other things, sadness, pain and regret after a loss. She can be moody, chaotic, temperamental but still seeks solace - at each encounter her behaviour changes completely from the previous one. Will we discover the key to these changes? If so, will it be easier for us to prepare for the next encounter with her?\n\nFluctuation, but also cyclicality is the rhythm in which this campaign will be played. Will we drown in the depths of black sorrow, or will we find a ray of light that will lead us to a mysterious goal?\n\nIn this story we will be accompanied by drabness, darkness and ruins.\n\nGameplay\n\nIn this campaign, one of the main attractions, distinguishing it from the others, is a special additional 48-page Book of Scripts. Normally, in Etherfields, all adventures, scripts, conversations, scenes, etc. are placed directly on cards and tiles, and the amount of text is heavily balanced by graphics. Here, much more is pure text, and it is mainly used to conduct very extensive dialogues with the characters of this campaign.\n\nFeatured dream locations\n\nWe will climb the stairs and ride up in the old elevator to the highest floors of a crumbling, half-broken, block of flats.\n\nWe will come across a strange cemetery, located on the roof of a building.\n\nWe will visit the Museum of Death and the Great Cathedral.\n\nWe will struggle with the snow void.\n\nAnd we will take part in a game of hide and seek.\n\n—description from the publisher",
"image": "https://cf.geekdo-images.com/f7y3OmX7gPDntwh3MoILVQ__original/img/1difMUpNk3Plm2gRU9XoDDFsw4s=/0x0/filters:format(jpeg)/pic7021519.jpg",
"thumbnail": "https://cf.geekdo-images.com/f7y3OmX7gPDntwh3MoILVQ__small/img/hMaVrSJU8FkIC49I8qN4p1dQ4OU=/fit-in/200x150/filters:strip_icc()/pic7021519.jpg",
"min_players": 1,
"max_players": 4,
"best_player_counts": [
"2"
],
"playtime": 180,
"min_playtime": 90,
"max_playtime": 180,
"min_age": 14,
"designers": [
"Andrzej Betkiewicz",
"Michał Oracz"
],
"artists": [
"Piotr Gacek"
],
"publishers": [
"Awaken Realms",
"YOKA Games"
],
"categories": [
"Adventure",
"Expansion for Base-game",
"Exploration",
"Fantasy",
"Miniatures"
],
"mechanics": [
"Cooperative Game",
"Deck, Bag, and Pool Building",
"Grid Movement",
"Modular Board",
"Role Playing",
"Storytelling"
],
"producers": [],
"series": [],
"rating": 8.36117,
"weight": 3.0,
"rank": null,
"users_owned": 4014,
"version": {
"version_id": 475388,
"name": "English edition",
"year": 2022,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
]
},
"stored_in": null,
"dims": {
"width_in": null,
"length_in": null,
"depth_in": null,
"weight_lb": null,
"source": "absent"
}
},
"309202:507805": {
"bgg_id": 309202,
"type": "boardgameexpansion",
"name": "Etherfields: Search Mini Deck",
"year": 2020,
"description": "The World of Dreams is vast and ever changing. In order to make your dreamy adventures easier, you have learned how to search for the tiniest of clues. The Search mini-deck will allow you to look deeper into your own dreams. But will you like what you will find?\n\nContents: 1 Rules card and new Search mini-deck consisting of 8 cards.\n\nAvailable as part of the 2020 Dice Tower Kickstarter Contenders Pack.",
"image": "https://cf.geekdo-images.com/-_IQS09ZDOz2zE2C0YQPcw__original/img/3Xhfx0WTSNDRr3bKqGH4lcgklME=/0x0/filters:format(jpeg)/pic5930951.jpg",
"thumbnail": "https://cf.geekdo-images.com/-_IQS09ZDOz2zE2C0YQPcw__small/img/TLrgJs2e_qxcJHLi1HQQuyY9peE=/fit-in/200x150/filters:strip_icc()/pic5930951.jpg",
"min_players": 1,
"max_players": 4,
"best_player_counts": [
"1"
],
"playtime": 180,
"min_playtime": 90,
"max_playtime": 180,
"min_age": 12,
"designers": [
"Michał Oracz"
],
"artists": [
"Piotr Gacek",
"Ewa Labak"
],
"publishers": [
"Awaken Realms",
"YOKA Games"
],
"categories": [
"Expansion for Base-game"
],
"mechanics": [
"Deck, Bag, and Pool Building"
],
"producers": [],
"series": [],
"rating": 7.57886,
"weight": 3.0,
"rank": null,
"users_owned": 612,
"version": {
"version_id": 507805,
"name": "English edition",
"year": 2020,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
],
"width_in": 3.50394,
"length_in": 2.48031,
"depth_in": 0.15748,
"weight_lb": 0.03968
},
"stored_in": null,
"dims": {
"width_in": 3.50394,
"length_in": 2.48031,
"depth_in": 0.15748,
"weight_lb": 0.03968,
"source": "version"
}
},
"381209:651213": {
"bgg_id": 381209,
"type": "boardgameexpansion",
"name": "Etherfields: Shifting Story Promo Deck",
"year": 2023,
"description": "Originally available as part of the Man vs. Meeple Season 4 Kickstarter.\n\nAdd the Shifting Story card to the Wisdom card holder. Place the rest of the cards from this deck as a separate deck in the box - referred to as the Shifting Deck.\n\nYour goal is to look for the displayed objects on the Old Dreams. If you see an objection on the board, you may read the associated card in the Shifting deck. If you find all the objects in the Dreamworld, you will be able to read the story's conclusion.\n\nContains 8 cards (63x87mm):\n7 Object cards (B-H)\n1 Rules/Reference card (A)",
"image": "https://cf.geekdo-images.com/_T6cKdo8PfKVt175Sjqh9w__original/img/LEbdjO9H10aW4tDOKNef3nHCukU=/0x0/filters:format(jpeg)/pic7370593.jpg",
"thumbnail": "https://cf.geekdo-images.com/_T6cKdo8PfKVt175Sjqh9w__small/img/L1aHDe7zKnLeVeYsdc6FUqDNMtY=/fit-in/200x150/filters:strip_icc()/pic7370593.jpg",
"min_players": 1,
"max_players": 4,
"best_player_counts": [],
"playtime": 0,
"min_playtime": 0,
"max_playtime": 0,
"min_age": 0,
"designers": [],
"artists": [
"Ewa Labak",
"Michał Sałata"
],
"publishers": [
"Awaken Realms",
"YOKA Games"
],
"categories": [
"Expansion for Base-game"
],
"mechanics": [],
"producers": [],
"series": [],
"rating": 7.0,
"weight": 0.0,
"rank": null,
"users_owned": 177,
"version": {
"version_id": 651213,
"name": "English edition",
"year": 2023,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
],
"width_in": 3.54331,
"length_in": 2.51969,
"depth_in": 0.07874,
"weight_lb": 0.03307
},
"stored_in": null,
"dims": {
"width_in": 3.54331,
"length_in": 2.51969,
"depth_in": 0.07874,
"weight_lb": 0.03307,
"source": "version"
}
},
"290840:474978": {
"bgg_id": 290840,
"type": "boardgameexpansion",
"name": "Etherfields: Sphinx Campaign",
"year": 2022,
"description": "The Sphinx is one of the oldest cults and a symbol of wisdom and mystery. Since ancient times, this magnificent creature was a guardian of secret knowledge. In this campaign you will be on a quest to discover a deeply hidden mystery that will bring a revolution to the world ruled under the Sphinx entity... What will it be...? What answers will you need to find...?\n\nIn this campaign, gameplay will be an endless maze that players will need to go through. From a components standpoint, you will have labyrinth tiles that you will be able to connect to one another in many different ways to try to pass through. However, if you end up at a dead end, you will need to go back to the start and try again.\n\nSecret knowledge will be very handy here as these tiles will have a lot of hidden mechanics of which you will have no knowledge at the start of the campaign. Only after unlocking some of the Sphinx mysteries, will you see a path in a place you previously thought was a dead end.",
"image": "https://cf.geekdo-images.com/XUWGdPg-EMto9ODlBnGE3w__original/img/FuJq6qLrxLqgelZyD0exXecPgMk=/0x0/filters:format(jpeg)/pic7021586.jpg",
"thumbnail": "https://cf.geekdo-images.com/XUWGdPg-EMto9ODlBnGE3w__small/img/DrAvXaXk1ougO-jbsulRG34e4qo=/fit-in/200x150/filters:strip_icc()/pic7021586.jpg",
"min_players": 1,
"max_players": 4,
"best_player_counts": [
"2"
],
"playtime": 180,
"min_playtime": 90,
"max_playtime": 180,
"min_age": 14,
"designers": [
"Michał Oracz"
],
"artists": [
"Piotr Gacek"
],
"publishers": [
"Awaken Realms",
"YOKA Games"
],
"categories": [
"Expansion for Base-game"
],
"mechanics": [
"Cooperative Game",
"Deck, Bag, and Pool Building"
],
"producers": [],
"series": [],
"rating": 8.00075,
"weight": 3.0,
"rank": null,
"users_owned": 3933,
"version": {
"version_id": 474978,
"name": "English edition",
"year": 2022,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
]
},
"stored_in": null,
"dims": {
"width_in": null,
"length_in": null,
"depth_in": null,
"weight_lb": null,
"source": "absent"
}
},
"386805:658656": {
"bgg_id": 386805,
"type": "boardgameexpansion",
"name": "Etherfields: Story Dice Expansion",
"year": 2024,
"description": "Introducing our latest innovation, the AR Vault: Story Dice. Elevate your gaming experience with fresh twists on storytelling, stunning dice, and unpredictable outcomes. Whether you're a tabletop RPG fanatic or a board game enthusiast, we've got you covered! Our Story Dice are 5e compatible, making them perfect for RPG players seeking something new and exciting. For Awaken Realms board game lovers, we offer dice expansions to bring an extra level of gameplay to your favorite games. Join us for the crowdfunding campaign and stay tuned for more exciting dice reveals. Get ready to roll with the AR Vault: Story Dice!\n\nLuck Die:\nWith this alternate Luck Die with a „high-risk, high-reward“ basis, players have a greater chance of rolling a critically good result, but be warned the stakes are high, and there is also a greater chance of rolling a critically negative result.\n\nMovement Die: \nWith this alternative Movement Die there is an increased chance, that the opponent move less. But beware this advantage comes at a cost. Using the alternate die will also buff the Entity, raising the stakes and adding a extra layer of tension to every move.\n\n—description from the publisher",
"image": "https://cf.geekdo-images.com/32-Zex3SY2iONm6YoHFOXg__original/img/xSAPlaWAm-eOBDA1mjyaNV1zaR4=/0x0/filters:format(jpeg)/pic8124079.jpg",
"thumbnail": "https://cf.geekdo-images.com/32-Zex3SY2iONm6YoHFOXg__small/img/aongQ-Yn_oftxbk14Zs2G9NW2aY=/fit-in/200x150/filters:strip_icc()/pic8124079.jpg",
"min_players": 1,
"max_players": 5,
"best_player_counts": [],
"playtime": 180,
"min_playtime": 90,
"max_playtime": 180,
"min_age": 12,
"designers": [
"Michał Oracz"
],
"artists": [],
"publishers": [
"Awaken Realms"
],
"categories": [
"Expansion for Base-game",
"Adventure",
"Exploration",
"Fantasy",
"Miniatures"
],
"mechanics": [
"Cooperative Game",
"Deck, Bag, and Pool Building",
"Dice Rolling",
"Grid Movement",
"Modular Board",
"Role Playing",
"Solo / Solitaire Game",
"Storytelling",
"Variable Player Powers"
],
"producers": [],
"series": [],
"rating": 8.175,
"weight": 0.0,
"rank": null,
"users_owned": 240,
"version": {
"version_id": 658656,
"name": "English edition",
"year": 2024,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
]
},
"stored_in": null,
"dims": {
"width_in": null,
"length_in": null,
"depth_in": null,
"weight_lb": null,
"source": "absent"
}
},
"351544:588185": {
"bgg_id": 351544,
"type": "boardgameexpansion",
"name": "Etherfields: Stretch Goals Harpy & She-Wolf Campaigns",
"year": 2022,
"description": "The Harpy Campaign adds 30+ hours of game play and exploration and the Harpy miniature.",
"image": "https://cf.geekdo-images.com/4mOB7GMg4bWVtcNui4QV2w__original/img/NM8npv-uifjP1EbjyzPojJQjrAE=/0x0/filters:format(jpeg)/pic7021596.jpg",
"thumbnail": "https://cf.geekdo-images.com/4mOB7GMg4bWVtcNui4QV2w__small/img/DmUWOsnpF6-II8ZpaOYOfRoBweU=/fit-in/200x150/filters:strip_icc()/pic7021596.jpg",
"min_players": 1,
"max_players": 4,
"best_player_counts": [
"2",
"3",
"4"
],
"playtime": 180,
"min_playtime": 90,
"max_playtime": 180,
"min_age": 12,
"designers": [
"Michał Oracz"
],
"artists": [
"Ewa Labak",
"Michał Sałata"
],
"publishers": [
"Awaken Realms",
"YOKA Games"
],
"categories": [
"Expansion for Base-game"
],
"mechanics": [],
"producers": [],
"series": [],
"rating": 8.14725,
"weight": 4.0,
"rank": null,
"users_owned": 4755,
"version": {
"version_id": 588185,
"name": "English edition",
"year": 2022,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
],
"width_in": 11.7,
"length_in": 11.7,
"depth_in": 2.8,
"weight_lb": 4.5327
},
"stored_in": null,
"dims": {
"width_in": 11.7,
"length_in": 11.7,
"depth_in": 2.8,
"weight_lb": 4.5327,
"source": "version"
}
},
"291126:475383": {
"bgg_id": 291126,
"type": "boardgameexpansion",
"name": "Etherfields: Thorn Knight",
"year": 2020,
"description": "The Thorn Knight is not a standard additional character, such as the 4 basic ones (Gambler, Specialist, Tough Guy, Free Spirit) or fifth with the 5-player expansion(Reaper).\n\nThe Thorn Knight is an alternative and very specific character available to ALL players at any time. During any given game, any player may decide to play the Thorn Knight as his normal in-game character.\n\nDuring that particular game, the player will not be using his standard character. Instead, his character's soul will enter this empty shell and guide this soulless Golem into its next adventure. The Ether acquired by this player will be an Ether belonging to the Thorn Knight. After the game, you will be able to spend that Eather to buy additional cards for the Thorn Knight (from the overall Action cards). The same goes for The Action cards won by this player during this game - they will enter the Thorn Knight's deck.\n\nPlayers can take turns playing the Thorn Knight through different games, jointly and gradually expanding his starting deck, using his starting special abilities, and finally turning him into a powerful, full of combos, common weapon for special challenges.\n\n—description from the publisher",
"image": "https://cf.geekdo-images.com/kMb10YpuAZJZrT7ijArCbQ__original/img/si0dJo9JHr9d7h3r1QMKU6Uc-y8=/0x0/filters:format(jpeg)/pic5055223.jpg",
"thumbnail": "https://cf.geekdo-images.com/kMb10YpuAZJZrT7ijArCbQ__small/img/iMH7IdUdahv6Rxx_jsc4rE5kxvs=/fit-in/200x150/filters:strip_icc()/pic5055223.jpg",
"min_players": 1,
"max_players": 4,
"best_player_counts": [],
"playtime": 180,
"min_playtime": 90,
"max_playtime": 180,
"min_age": 14,
"designers": [
"Michał Oracz"
],
"artists": [
"Piotr Gacek"
],
"publishers": [
"Awaken Realms",
"YOKA Games"
],
"categories": [
"Expansion for Base-game"
],
"mechanics": [
"Cooperative Game",
"Deck, Bag, and Pool Building"
],
"producers": [],
"series": [],
"rating": 7.33862,
"weight": 3.0,
"rank": null,
"users_owned": 2804,
"version": {
"version_id": 475383,
"name": "English edition",
"year": 2020,
"publishers": [
"Awaken Realms"
],
"languages": [
"English"
]
},
"stored_in": null,
"dims": {
"width_in": null,
"length_in": null,
"depth_in": null,
"weight_lb": null,
"source": "absent"
}
}
}