Initial TTRPG character meta-builder with visual sheet editor.
Offline Electron app seeds 10 system presets, supports create-from-scratch designer with palette/drag/resize/bricks, and exports .ttrpg-system.json for the player. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# ADR-001: Stack and storage
|
||||
|
||||
## Decision
|
||||
|
||||
Electron + React + TypeScript + Vite; SQLite with JSON documents for systems/characters; portable `app/shared` contract for future TTRPG Player + mobile.
|
||||
|
||||
## Rationale
|
||||
|
||||
Matches TTRPG Player packaging targets; offline-first; no Postgres.
|
||||
|
||||
# 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.
|
||||
|
||||
# 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`.
|
||||
|
||||
# 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.
|
||||
Reference in New Issue
Block a user