Still unreleased, but module.json is at 0.6.5 now. initiativeWarning checked the field before the prose, so a hand-edited file carrying both printed the warning twice — the exact fault the migration was meant to end. Prose is checked first now and always wins. The play sheet was the only surface that did not render `avoid`, so three legacy rosters whose warning lived there — church, forest and temple at nightmare — lost it entirely: the helper suppressed its fallback on finding prose the play sheet never showed. It renders `avoid` now, which it should have anyway; it is how the table gets past a fight without having one, which is table-facing by definition. All five surfaces now render both prose fields, so "the prose already says it" means the same thing everywhere. Replayed all 64 rosters in their pre-field form through every surface: 26 need a warning, 130 of 130 checks say it exactly once. The current packs give the same result. commit() no longer mutates st before the write — it passes an incremented copy, so a failed write really does leave the state as it was, which is what the retry warning promises. The single-flight guard moved into stage.mjs as singleFlight() and has four tests: overlapping calls never run together, the second is refused rather than queued, the guard clears afterwards, and a throw does not wedge it. It closes the window within one client only; two GM browsers still race, and that needs a world-level lock rather than a module variable. 41 core tests, 60 adapter tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
38 lines
1.1 KiB
JSON
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.5",
|
|
"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"
|
|
} |