Legend Ledger is an unofficial, local-first digital character sheet and play companion for Legend in the Mist.
Build and manage Heroes, invoke tags directly from the sheet, roll actions and reactions, track statuses and story tags, develop themes, manage Fellowship, Camp & Sojourn, Promise, Moments of Fulfillment, and Quintessences — all without accounts or a server.
Legend Ledger follows the game's narrative-first spirit: standard rules are presented as useful defaults, not hard restrictions. Tables can still make rulings, add custom material, and play their own way.
This is an unofficial fan-made companion and is not affiliated with or endorsed by Son of Oak. It does not include the Core Book, Character Pack, pregen artwork, or rules text intended to replace the game books.
- Responsive character sheet for desktop, tablet, and mobile
- Multiple locally stored Heroes with switching, duplication, import, and export
- Hero creation with Origin, Adventure, Greatness, variable/custom Might, and flexible theme counts
- Power tags, weakness tags, Quests, Special Improvements, and theme development
- Quick, Detailed, Sacrifice, and Reaction roll support
- Direct tag/status invocation from the sheet with helpful and hindering polarity
- Burn-for-Power, rule-aware warnings, and table-ruling overrides instead of hard locks
- Backpack, scene story tags, statuses, world tags, and Chronicle tracking
- Fellowship themes, relationships, development, and Quality Time
- Camp & Sojourn workflows including Rest, Reflect, Camp Actions, and Safe Havens
- Promise, Moments of Fulfillment, Journey's End, Reforging, and Quintessences
- Scene/session use tracking for supported Specials and Quintessences
- Undo/redo and versioned Hero JSON exports
- Built-in How to Play reference folio
- Local-first storage with no account or backend required
Legend Ledger automates bookkeeping where that is useful, while leaving fictional judgment with the table.
The app may point out when a choice differs from the standard rules — for example, burning multiple tags or reusing a tag in an immediate reaction — but it generally does not prevent the choice. This keeps the sheet useful for house rules, edge cases, Narrator rulings, and intentionally non-RAW play.
The app intentionally does not adjudicate fictional relevance, Consequences, Quest interpretation, or every unusual Might interaction.
- Click/tap a tag or status to invoke its normal polarity.
- Shift/Alt-click, right-click, or long-press to invoke the opposite polarity.
- Invoking something opens the Action folio and adds it to the current roll.
- Click a contribution in the Action folio to flip its polarity.
- Use the scratch/burn control where appropriate, or remove a contribution with
×. Enterrolls while the action description is focused.Escclears the current action selection.Ctrl/Cmd+Zundoes;Ctrl/Cmd+Shift+ZorCtrl/Cmd+Yredoes.
Supported free-text fields can render lightweight game notation:
{power-tag}
{!weakness-tag}
{status-3}
{limit:5}
Rendered tags and statuses can be interacted with when they appear on the live sheet.
Legend Ledger is local-first:
- Character data is stored in browser
localStorage. - The project does not send character data to a server.
- Portraits are stored with character data, so very large images may exceed browser storage limits.
- Hero exports use the versioned
legend-ledger-heroJSON format.
Export important Heroes periodically if you rely on browser storage long-term.
- Node.js
- pnpm
pnpm install
pnpm devpnpm typecheck
pnpm lint
pnpm format:check
pnpm buildpnpm build runs the TypeScript check before creating the production bundle.
- Preact 10
- TypeScript 6
- Vite 8
- Oxlint
- Oxfmt
src/
components/ UI and game components
data/ themebooks and advancement catalogs
lib/ rules, storage, preferences, and text parsing
styles/ visual system and responsive layouts
App.tsx application state and orchestration
public/assets/ project artwork and attributed texture assets
Legend Ledger is primarily a player-facing companion. Dedicated Narrator/Challenge management, multiplayer synchronization, and full automation of every optional Way of Magic are outside the current scope.
Custom themes, tags, Specials, Quintessences, Might choices, and manual corrections remain available so unusual characters and table rulings can still be represented.
Third-party texture/icon attribution is documented in THIRD_PARTY_NOTICES.md.
No Foundry compendium content, pregenerated-character artwork, or game-book content intended to replace the official books is bundled.
See CONTRIBUTING.md for development and contribution guidance.
No project-wide license has been selected yet. Until one is added, the absence of a license should not be interpreted as permission to redistribute or reuse the original Legend Ledger source or artwork.