The production site ran a divergent, more-evolved fork from /root/briggen-dev/ttrpg
that never made it back to git (3D physical dice + themes, extended dice notation,
world wiki with wikilinks/backlinks/GM-only visibility, quest hierarchies, session
replay, route-level code splitting, extra server hardening, useResyncedState). This
merges that fork (reconstructed from its true fork point 235cdec) with the local
262-finding audit-fix pass, resolving 104 conflicts across every subsystem.
Policy: the fork's architecture is the baseline (every prod feature kept); the audit's
correctness fixes are ported into it (no regressions). Hard invariants held:
- No auto-rolled dice — every roll originates from an explicit user click (NpcsPage,
compendium, tracker, director all add combatants at initiative 0).
- One append-only Dexie history (v14–v19) that converges databases from EITHER fork
idempotently; v19 re-runs both sides' character backfills.
- Unified client/server wire protocol (union of both message sets).
Notable reconciliations: PF2e AC/Class DC/armor/agile/striking folded into the fork's
gear model; wave-caster/psychic slot tables + Magus/Summoner never-Legendary ladder
verified against AoN; concentration split into boolean + concentratingOn; dual offline
indicators deduped; Node-25 localStorage shadowing fixed in the test setup.
Verified green: tsc (client+server), eslint, 1312 unit, 42 e2e, 5 realtime e2e,
client+server builds; 3D dice confirmed live (WebGL canvas mounts) in the merged build.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
21 lines
270 B
Plaintext
21 lines
270 B
Plaintext
node_modules
|
|
dist
|
|
dev-dist
|
|
*.local
|
|
.DS_Store
|
|
playwright-report
|
|
test-results
|
|
.vite
|
|
|
|
# Editor
|
|
.vscode/*
|
|
!.vscode/extensions.json
|
|
.idea
|
|
|
|
# Transient harness lock (not part of the project)
|
|
.claude/scheduled_tasks.lock
|
|
|
|
# Local runtime + build artifacts
|
|
/data/
|
|
*.tsbuildinfo
|