docs: update roadmap — mark overnight work complete, reorder backlog

This commit is contained in:
Aaron Wood 2026-04-11 12:10:41 -04:00
parent 2e1fff4c2d
commit 7cde985a21

View file

@ -8,39 +8,19 @@ A living document tracking planned features, improvements, and ideas. Items move
## In Progress / Next Up ## In Progress / Next Up
### Bugs & Quick Fixes
- [ ] **Dice overlay blocks interaction** — 3D dice canvas captures all pointer events; non-covered areas should remain interactive while dice are rolling
- [ ] **Fog slider alpha not wired** — AtmospherePanel intensity slider not connected to fog CSS opacity
### Spellcasting System *(major feature)*
Shadowdark uses no spell slots — spells are cast with a check (1d20 + INT/WIS vs DC 10 + tier). Failure exhausts the spell until rest. Full mechanics from the Player Quickstart:
- [ ] Spell database (Tier 12 complete from quickstart; extensible to Tier 35)
- [ ] Spellcasting check mechanic with success/fail/crit tracking
- [ ] Per-spell "exhausted until rest" state on failure
- [ ] Focus spell tracking — active focus indicator, maintenance check prompts
- [ ] Wizard mishap table on crit fail (d12, tier-dependent)
- [ ] Priest penance tracking on crit fail (spell locked until penance paid; cost by tier)
### Character Creation Improvements
- [ ] Stat rolling UI — 3d6 per stat with individual reroll buttons
- [ ] Background selection/roll — d20 table (Urchin, Soldier, Acolyte, etc.)
- [ ] HP calculation from class HD + CON on create and level up
- [ ] Starting gold display — 2d6 × 5 gp shown during creation
### Leveling & Progression ### Leveling & Progression
- [ ] XP threshold fix — next level = current level × 10 (10 XP for lvl 2, 20 for lvl 3, etc.) - [ ] **Talent roll UI on level up** — 2d6 on class table, with stacking support; currently talents are added manually
- [ ] Talent roll UI on level up — 2d6 on class table, with stacking support
- [ ] Title auto-update from class + alignment + level lookup table ### Gameplay Tools
- [ ] **Initiative tracker** — turn order display, DM-managed, synced via socket
- [ ] **Death timer** — dying state: 1d4 + CON rounds, d20 each turn to rise at 1 HP
- [ ] **Conditions / status effects** — poisoned, stunned, dying, etc. shown on character cards (DB tables exist from spellcasting work)
--- ---
## Planned ## Planned
### Gameplay Tools ### Gameplay Tools
- [ ] **Initiative tracker** — turn order display, DM-managed, synced via socket
- [ ] **Conditions / status effects** — poisoned, stunned, dying, etc. shown on character cards
- [ ] **Death timer** — dying state: 1d4 + CON rounds, d20 each turn to rise at 1 HP
- [ ] **Party loot / shared inventory** — campaign-level shared pool, DM-managed - [ ] **Party loot / shared inventory** — campaign-level shared pool, DM-managed
### Metrics & Analytics *(Prometheus + Grafana)* ### Metrics & Analytics *(Prometheus + Grafana)*
@ -79,6 +59,13 @@ Stack: Prometheus (metrics collection) + Grafana (dashboards). Server emits metr
--- ---
## Completed ## Completed
- [x] Dice overlay fix — canvas no longer blocks pointer events during animation
- [x] Fog intensity slider — wired to CSS opacity
- [x] Title auto-update — derived from class + alignment + level on every change
- [x] Spellcasting system — 34 Tier 1-2 spells, 1d20 cast checks, exhaustion, Wizard mishap table (d12 auto-apply with undo), Priest penance, rest to recover, focus indicator on DM cards
- [x] Character creation wizard — 4-step modal: name/class/ancestry → 3d6 stat rolling → background/alignment/deity → review (HP, gold, gear slots, title all derived)
## Completed (older)
- [x] Campaign CRUD with real-time sync (Socket.IO) - [x] Campaign CRUD with real-time sync (Socket.IO)
- [x] Character CRUD — stats, gear, talents, HP, XP, currency - [x] Character CRUD — stats, gear, talents, HP, XP, currency
- [x] Auto-calculated AC and derived attacks - [x] Auto-calculated AC and derived attacks