feat: port all six scenarios' NPC cast rosters into the data model
Populate cast[] (kind:'npc') for every Continuum scenario, transcribed
from the gm-utility NPC sources — normalising the two schemas (console
{id,name,ess,sec} and module {name,tag,secret}) into
{ id, name, kind, note, secret? }. 57 NPCs total. Pregens/PCs excluded
(separate character-sheet system).
No cast UI consumer yet — the design reserves scenario.cast for a future
cast dashboard, so this is a data-model port guarded by
tests/scenarios/cast.test.js (shape + unique ids). 131 tests pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
ce91b4ce98
commit
4096291b1d
@@ -59,7 +59,13 @@ jsdom. No new dependencies. Fully offline.
|
||||
clue `essential: true` (their source is a single curated spine); day-one and princes-bride carry
|
||||
the source's own essential/optional split.
|
||||
|
||||
- **All six scenarios' cast rosters ported** (NPCs, `kind: 'npc'`) via `extract-cast.mjs`, normalising
|
||||
the two source schemas (`{id,name,ess,sec}` consoles and `{name,tag,secret}` modules) to
|
||||
`{ id, name, kind, note, secret? }`. `tests/scenarios/cast.test.js` guards shape + unique ids.
|
||||
Note: the `cast` field has no UI consumer yet (the design reserves it for a future cast dashboard) —
|
||||
this is a data-model port. Pregens/PCs are intentionally excluded (separate character-sheet/handout system).
|
||||
|
||||
## Still deferred (backlog)
|
||||
|
||||
- Porting each scenario's **cast** into the data model (still `cast: []`).
|
||||
- A **cast dashboard** UI to surface `scenario.cast` (parallels `<clue-net>`).
|
||||
- A dedicated **BRP** dice pack — Day One currently borrows `coc-d100` (d100 roll-under).
|
||||
|
||||
Reference in New Issue
Block a user