feat(editor): add --gen-mesh-mortar-pestle alchemy primitive

90th procedural mesh: a wider-than-tall closed cylinder
(the mortar bowl) with a thin tall closed cylinder (the
pestle) rising from its center. Bowl reads as carved stone
or wood; pestle reads as a small grinding rod centered in
the rim.

Distinct from existing kitchenware primitives:
  • --gen-mesh-cauldron — large + has supporting legs
  • --gen-mesh-chalice  — 3-tier goblet, no separate utensil
  • --gen-mesh-mug      — handled drinking cup
  • --gen-mesh-bowl     — does not exist; this primitive
                          covers the small-bowl + tool case

Useful for: alchemy lab counters, kitchen / cooking-stove
dressing, herbalist shop interiors, witchcraft NPCs,
quest-giver desks for "grind these herbs" objectives.

124 verts / 112 tris at default 14 sides — two simple
closed cylinders sharing a single batch with shared
texture coords.
This commit is contained in:
Kelsi 2026-05-09 14:43:21 -07:00
parent de35ad7814
commit 13312096ea
3 changed files with 52 additions and 1 deletions

View file

@ -342,6 +342,8 @@ void printUsage(const char* argv0) {
std::printf(" Wooden well-pail: closed cylindrical body + thin horizontal handle bar above (water-haul / mop-bucket prop)\n");
std::printf(" --gen-mesh-mug <wom-base> [bodyR] [bodyH] [handleW] [handleH] [handleArm] [sides]\n");
std::printf(" Drinking mug / tankard: closed cylinder body + side handle slab (tavern / banquet / inn dressing)\n");
std::printf(" --gen-mesh-mortar-pestle <wom-base> [bowlR] [bowlH] [pestleR] [pestleH] [sides]\n");
std::printf(" Mortar + pestle: wide squat cylinder (bowl) + thin tall cylinder rising from inside (alchemy / kitchen)\n");
std::printf(" --gen-camp-pack <outDir>\n");
std::printf(" Convenience: emit tent + firepit + bedroll + canopy + woodpile + haystack into outDir as 6 .wom files\n");
std::printf(" --gen-blacksmith-pack <outDir>\n");