feat(editor): add --gen-mesh-scroll-case library prop

84th procedural mesh primitive. Cylindrical scroll case /
map tube:

  • body — thin tall Y-axis cylinder (the case proper)
  • cap (optional) — shorter wider cylinder on top, set
    capR=0 to skip for a bare stick / rolled-document spine

Distinct from --gen-mesh-chalice (foot + stem + bowl
silhouette) and --gen-mesh-lantern (4-tier base + globe +
neck + cap) — scroll case is the simplest 1-or-2-tier
"tube with lid" prop.

Useful for wizard-tower libraries, archive shelves, mage-
hut detail trim, scribe-table props, scout-courier waist
gear. Validates that capR >= bodyR so the lid always reads
as a proper top closure rather than a degenerate band.

Watertight under weld (verified 168 manifold edges, 0
boundary, 0 non-manifold). Two more clean uses of the
addClosedCylinderY helper.
This commit is contained in:
Kelsi 2026-05-09 13:58:22 -07:00
parent 8c79b732e3
commit 2b96863db9
3 changed files with 55 additions and 1 deletions

View file

@ -63,7 +63,7 @@ const char* const kArgRequired[] = {
"--gen-mesh-statue-base", "--gen-mesh-bird-bath",
"--gen-mesh-planter-box", "--gen-mesh-urn", "--gen-mesh-candle",
"--gen-mesh-lantern", "--gen-mesh-chalice",
"--gen-mesh-standing-torch",
"--gen-mesh-standing-torch", "--gen-mesh-scroll-case",
"--gen-camp-pack", "--gen-blacksmith-pack", "--gen-village-pack",
"--gen-temple-pack", "--gen-graveyard-pack",
"--gen-garden-pack", "--gen-dock-pack", "--gen-tavern-pack",