Two bugs, both of them the adapter drifting from what the core says. PACK was a module global set once at boot to barrow. load() never switched it and enter() read PACK.forgeStageType, so a port delve authored at the desk staged barrow geometry — the fiction said quayside and the map was a burial chamber. Fifteen of the sixteen themes, silently wrong, on the path the module documents as its intended entry point. It now resolves per call from d.params.theme, which is written from pack.id at generation and so is always present and always right. Per call rather than once at load, because a page reload resets the global while the staged delve in world state survives; and before the folder is created, so a bad theme fails without leaving anything behind. The pack roster describes the encounter DELVE planned. The Forge takes no cast — it rolls its own monsters from the heat — so the roster and the actors in the world were never the same list, and both surfaces printed the roster's stats as though they were. In several themes the roster also carries "blessed, silvered or magical weapons ONLY", naming a Wraith that was never created; the journal told the GM to say so before initiative. Both surfaces now run off the actors that exist, read from the documents themselves, and the plan is kept but labelled as the plan. The chat card drops the immunity line entirely — it is the live surface and a false immunity is worst there; the journal keeps it captioned, since a GM at the desk may choose to cast the fight by hand. Adds one core test for the contract the fix rests on: every delve records the pack it came from, across all sixteen. The adapter itself has no test harness — see the note in the commit for the release. 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.