feat: add in-memory dice roll history (Closes #17) #74

Merged
shahondin1624 merged 1 commits from feature/issue-17-dice-roll-history into main 2026-03-13 14:21:44 +01:00

Summary

  • Add DiceRollHistory class storing last 20 rolls in reverse chronological order (label, pool size, results, successes, sequence number)
  • Add DiceRollHistoryDialog showing all history entries with roll numbers, pool sizes, hit counts, and individual die results
  • Add History toolbar icon in the top app bar for quick access
  • Wire CharacterSheetPage to record each dice roll via onRecordRoll callback
  • History is in-memory only, not persisted across restarts (as specified)

Test plan

  • 95 tests total, 18 pre-existing failures unchanged
  • 9 DiceRollHistory unit tests: ordering, capacity (max 20), clearing, defensive copy
  • History icon visible in toolbar
  • Dice rolls recorded when rolling from attribute/talent cards
  • Clear button removes all entries

Closes #17

## Summary - Add `DiceRollHistory` class storing last 20 rolls in reverse chronological order (label, pool size, results, successes, sequence number) - Add `DiceRollHistoryDialog` showing all history entries with roll numbers, pool sizes, hit counts, and individual die results - Add History toolbar icon in the top app bar for quick access - Wire CharacterSheetPage to record each dice roll via `onRecordRoll` callback - History is in-memory only, not persisted across restarts (as specified) ## Test plan - [x] 95 tests total, 18 pre-existing failures unchanged - [x] 9 DiceRollHistory unit tests: ordering, capacity (max 20), clearing, defensive copy - [x] History icon visible in toolbar - [x] Dice rolls recorded when rolling from attribute/talent cards - [x] Clear button removes all entries Closes #17
shahondin1624 added 1 commit 2026-03-13 14:21:39 +01:00
DiceRollHistory stores the last 20 rolls in reverse chronological
order (label, pool size, results, successes, sequence number). A
History icon in the top app bar opens a dialog listing all rolls.
CharacterSheetPage records each dice roll via onRecordRoll callback.
Includes 9 unit tests for history ordering, capacity, and clearing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shahondin1624 merged commit 7a020cbdc5 into main 2026-03-13 14:21:44 +01:00
shahondin1624 deleted branch feature/issue-17-dice-roll-history 2026-03-13 14:21:44 +01:00
Sign in to join this conversation.