Groundwork for many themes, plus the first new one. A pack validator enforces every structural rule this project learned the hard way: situations that render as broken English, decisions that gate progress with no alternative, motifs too thin to fill six areas without repeating, rosters that do not say what harms them. Fifteen packs cannot be hand-checked; this checks them in a second. Themes are now discovered from content/index.json rather than hardcoded, so the CLI takes --theme and --themes, the Foundry dropdown fills itself, and packs load on demand instead of all at once. Castle: four appetites — to be feared, never to give ground, to be obeyed at once, the name to go on — over barrow geometry, since a keep is rooms and corridors. 168 kernels from its own claimants and accommodations. Fixed a bug the second theme exposed: the question the bottom problem asks was hardcoded against barrow's appetite ids, so every other theme fell through to a generic "Well?". It lives on the appetite in the pack now, and the validator requires it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
DELVE — Foundry module
Install by copying this directory to Data/modules/vanity-delve/, then copying the generator
into it:
cp -R ../core foundry-module/module/core
module/core/ is a verbatim copy of core/. It is not vendored in git because the standalone
generator is the source of truth — if the copy ever needs editing to run inside Foundry, the
portability claim in DESIGN.md §4 is false.
Using it
The ⛏ button in the token controls opens the Forge. Set the parameters, press Raise the dungeon, and it builds — in one folder per document type:
- one scene per area, walls and lighting placed, via the VANITY Forge
- encounter actors, foldered rather than scattered
- a JournalEntry: GM truth, one page per area, the ending — this is the adventure
Every document is stamped with a dungeonId, so the 🗑 button removes a whole dungeon and
nothing else.
Requires the VANITY system 0.10.5+ for quiet output; on older versions the Forge posts its own cards over DELVE's and the module says so on startup.