slaguru666andClaude Opus 5 1b2f9aa385 The warning reaches every surface; commit and concurrency are covered
Still unreleased. Answering the three blockers.

The worksheet and play sheet never rendered the new field, and stripping
the prose meant they said nothing at all — the two surfaces the whole
two-surface design is about. All five renderers now go through one helper,
core/roster.mjs, which also recovers the warning for delve files generated
before the field existed and refuses to add a line the prose already
carries. Measured across four themes: 40 of 40 delves carrying a roster now
warn on worksheet, play sheet and markdown alike.

Twenty-three was the wrong set. The spelling was never the semantics:
barrow's nightmare Wraith, cave's nightmare Troll and forest's battle Troll
carry the same non-discoverable restriction without the word ONLY. Marked,
so 26. I audited all 64 rosters rather than trusting the count — the ones
left unmarked are discoverable by trying (an Ogre with 12 Grit, mooks that
keep coming until the necromancer stops), and damage works on all of them.

commit() was unprotected, so a failed settings write threw out of stageArea
with the scene already real. It is caught now and says plainly that a retry
will raise the area twice. enter() also has a single-flight guard: it is
bound to a button, it awaits the Forge for seconds, and two overlapping
calls both read the same index.

Also: packById checks the geometry is one VANITY can build rather than just
truthy; foeSection is exported and the suite holds the two renderers to
agreement on all four kinds; and the module README and the seams warning
said 0.10.5 where everything else says 0.10.4.

41 core tests, 54 adapter tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 00:35:15 +01:00
2026-08-05 12:55:33 +01:00

DELVE

An authoring system and Foundry VTT module for the VANITY tabletop RPG. Press one button and it generates a whole dungeon — fiction, areas, maps, encounters, hoards and a journal you can read cold — then drops it into your world.

Install (Foundry)

Add-on Modules → Install Module → Manifest URL:

https://github.com/slaguru666/vanity-delve/releases/latest/download/module.json

Requires the VANITY system, 0.10.4 or later — that is the release the Forge seams landed in, and without them a delve emits nine stray chat cards and three stray folders.

  • ⛏ raise a dungeon
  • 🗑 remove one you don't want — it deletes exactly what it made and nothing else
  • ⏩ stage a delve you finished at the desk

Also a CLI

core/ is pure JavaScript with no Foundry dependencies, so a delve can be generated, rerolled and finished outside the VTT:

node core/cli.mjs --new --seed=my-delve --file=my.json
node core/cli.mjs --file=my.json --worksheet    # everything, with prompts for what only you can write
node core/cli.mjs --file=my.json --reroll=3:situation
node core/cli.mjs --file=my.json --play         # the tight, table-facing sheet

What it does and does not do

It generates the fiction, the order and the pressure. It does not write your read-aloud text or your climax, and it says so — those are prompts, not output. It gets you to a strong first draft in a minute instead of an evening, then gets out of the way.

DESIGN.md has the whole design history, including four rounds of adversarial review and two paper playtests that failed before anything worked.

Layout

core/ the generator — pure JS, 39 tests
foundry-module/ the Foundry module, with core/ vendored
paper/ a hand-written delve and both playtest logs
spike/ the harness that measured VANITY's Forge outside Foundry
samples/ generated output

Licence

MIT — see LICENSE.

S
Description
No description provided
Readme MIT
456 KiB
Languages
JavaScript 98.2%
Handlebars 1.3%
CSS 0.5%