feat(editor): add --gen-kitchen-pack composite (11th themed pack)

Tavern back-of-house / cookhouse scene composite. Pairs
naturally with --gen-tavern-pack (front-of-house common
room) for a complete inn setup.

Emits 7 .wom files into outDir:
  • stove        — pot-bellied cookfire stove
  • cauldron     — large hanging pot
  • prep-table   — flat work surface
  • stool        — cook's seat
  • barrel       — water / ale / flour storage
  • mug          — drink ready for the inn customer
  • mortar       — herb / spice grinding tool

This is the 11th themed pack (camp, blacksmith, village,
temple, graveyard, garden, dock, tavern, mining, arena,
kitchen). Notable for being the first pack that uses the
two recently-added drinking-vessel + alchemy primitives
(mug from batch 111, mortar-pestle from batch 113), proving
out the "build small primitives, then compose into themed
packs" workflow.

All 7 emitted primitives pass --validate-wom on first
generation. 468 kArgRequired entries total.
This commit is contained in:
Kelsi 2026-05-09 14:53:01 -07:00
parent 40a0194e18
commit e30c81ddae
3 changed files with 24 additions and 0 deletions

View file

@ -7515,6 +7515,26 @@ int handleGenGraveyardPack(int& i, int /*argc*/, char** argv) {
});
}
int handleGenKitchenPack(int& i, int /*argc*/, char** argv) {
// Tavern kitchen / cookhouse scene: stove (the cookfire),
// cauldron (large hanging pot), table (prep surface), stool
// (the cook's seat), barrel (water / ale / flour storage),
// mug (drink ready for the inn customer), mortar-pestle
// (herb / spice grinding). The 11th themed pack — pairs
// with --gen-tavern-pack as the back-of-house complement
// to that pack's front-of-house common-room props.
std::string outDir = argv[++i];
return emitMeshPack(outDir, "kitchen pack", {
{"--gen-mesh-stove", handleStove, "stove"},
{"--gen-mesh-cauldron", handleCauldron, "cauldron"},
{"--gen-mesh-table", handleTable, "prep-table"},
{"--gen-mesh-stool", handleStool, "stool"},
{"--gen-mesh-barrel", handleBarrel, "barrel"},
{"--gen-mesh-mug", handleMug, "mug"},
{"--gen-mesh-mortar-pestle", handleMortarPestle, "mortar"},
});
}
int handleGenTemplePack(int& i, int /*argc*/, char** argv) {
// Temple / shrine scene: altar (the focal point), shrine
// (auxiliary devotional), brazier (lit on either side of the
@ -7650,6 +7670,7 @@ constexpr MeshEntry kMeshTable[] = {
{"--gen-tavern-pack", 1, handleGenTavernPack},
{"--gen-mining-pack", 1, handleGenMiningPack},
{"--gen-arena-pack", 1, handleGenArenaPack},
{"--gen-kitchen-pack", 1, handleGenKitchenPack},
{"--gen-mesh-table", 1, handleTable},
{"--gen-mesh-lamppost", 1, handleLamppost},
{"--gen-mesh-bed", 1, handleBed},