Switch to JSON store so Electron runs without native sqlite rebuild.
Auto-seeds 10 presets on first launch; visual designer with palette, drag, resize, and bricks CRUD. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+5
-23
@@ -2,38 +2,20 @@
|
||||
|
||||
## Decision
|
||||
|
||||
Electron + React + TypeScript + Vite; SQLite with JSON documents for systems/characters; portable `app/shared` contract for future TTRPG Player + mobile.
|
||||
Electron + React + TypeScript + Vite; JSON file store (`userData/store.json`) for systems/characters; portable `app/shared` contract for future TTRPG Player + mobile.
|
||||
|
||||
## Rationale
|
||||
|
||||
Matches TTRPG Player packaging targets; offline-first; no Postgres.
|
||||
Offline-first; avoids native module rebuild (better-sqlite3) requiring Visual Studio on Windows.
|
||||
|
||||
# ADR-002: Formula DSL
|
||||
|
||||
## Decision
|
||||
|
||||
Custom minimal expression language (`floor`, `ceil`, `round`, `min`, `max`, `clamp`, arithmetic, `attr.*` / `skill.*` / `resource.*` / `derived.*`).
|
||||
|
||||
## Rationale
|
||||
|
||||
Same evaluator can be copied into the player; explicit rounding; no heavy CEL/JSONata dependency.
|
||||
Custom minimal expression language with explicit rounding; portable to the player.
|
||||
|
||||
# ADR-003: Schema freeze via snapshotHash
|
||||
|
||||
## Decision
|
||||
|
||||
Player binds store `snapshotHash` (content-addressed) rather than inline full schema per character.
|
||||
|
||||
## Rationale
|
||||
|
||||
Implements freeze-on-bind without bloating `players.json`.
|
||||
Player binds store `snapshotHash` rather than inline full schema per character.
|
||||
|
||||
# ADR-004: Spells from dnd.su
|
||||
|
||||
## Decision
|
||||
|
||||
Provide an import pipeline for PHB-labelled spells from dnd.su at product owner request, with README/IP disclaimer. Prefer SRD stubs in default presets.
|
||||
|
||||
## Rationale
|
||||
|
||||
Owner requested PHB coverage; redistribution risk acknowledged.
|
||||
Import pipeline for PHB-labelled spells at product owner request, with IP disclaimer. Default presets ship SRD stubs.
|
||||
|
||||
Reference in New Issue
Block a user