Files
vanity-delve/foundry-module/module.json
T
slaguru666andClaude Opus 5 9d220a3428 v0.6.4 — one classifier for both surfaces, and tests for it
The foe block broke twice in two releases, both times because each
surface decided for itself, in its own hand-written ternary, which of
the cases it was in. classifyFoes() in the new module/foes.mjs makes that
choice once — forged, planned, unavailable, none — and both surfaces
switch on it. foes.mjs is Foundry-free on purpose, so foundry-module/
test.mjs can run it under plain node with no shim. Fourteen tests, each
one a case that shipped broken or nearly did.

enter() now survives a Forge that throws. It had no catch, so a failure
left the scene raised, no cards posted and the turn not advanced, and a
retry would stage the area twice — while the comment above it claimed
the branch handled exactly that. A failed stage stops before the turn
advances, since there is nothing to run; a failed population keeps going,
because the scene is up and the planned roster stands in.

An area with combat heat but neither actors nor a roster used to render
nothing at all. It now says so and points at the decision and fallback.

The "say so before initiative" addendum is gone from all three renderers.
It was gated on the literal word ONLY, and the palace, port and village
battle rosters already end with that exact phrase, so it printed twice.
The packs that need the instruction carry it themselves.

Also: draft() spreads params before the pack, like raiseDungeon; and
packById validates the cached pack rather than trusting it, so the
fail-closed rule holds at boot too.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 00:05:26 +01:00

38 lines
1.1 KiB
JSON

{
"id": "vanity-delve",
"title": "DELVE — a dungeon layer for VANITY",
"description": "Generates a coherent delve and sequences VANITY's Forge to stage it, one area at a time.",
"version": "0.6.4",
"compatibility": {
"minimum": "13",
"verified": "14.365"
},
"relationships": {
"systems": [
{
"id": "vanity",
"type": "system",
"manifest": "https://raw.githubusercontent.com/slaguru666/Vanity/main/system.json",
"compatibility": {
"minimum": "0.10.4"
}
}
]
},
"esmodules": [
"module/vanity-delve.mjs"
],
"styles": [
"styles/vanity-delve.css"
],
"authors": [
{
"name": "slaguru666"
}
],
"manifest": "https://github.com/slaguru666/vanity-delve/releases/latest/download/module.json",
"download": "https://github.com/slaguru666/vanity-delve/releases/latest/download/vanity-delve.zip",
"url": "https://github.com/slaguru666/vanity-delve",
"readme": "https://github.com/slaguru666/vanity-delve/blob/main/foundry-module/README.md",
"license": "https://github.com/slaguru666/vanity-delve/blob/main/LICENSE"
}