Files
ttrpg-character-builder/docs/adr/001-core.md
T
Ivan Fontosh d1f180ee0a 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>
2026-09-12 14:49:31 +08:00

40 lines
1.1 KiB
Markdown

# 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.