Part of #945
Phase 2: Roll history panel
Scope
A roll history panel inside the Owlbear extension showing the last N rolls for the current session. Persisted in localStorage — no Owlbear room state API, no backend. Stateless per session (resets on browser close).
Acceptance Criteria
Implementation Notes
- Use
localStorage keyed by a fixed extension ID — no user auth needed
- If Owlbear's iframe sandbox blocks
localStorage, fall back to in-memory state (log the limitation in the README)
- Phase 2 shared roll log (visible to all players via
OBR.room.setMetadata) is explicitly deferred — this phase is local-only history
- When Phase 3 shared log is eventually designed, evaluate
OBR.room.setMetadata as the persistence layer (purpose-built for per-room state, no backend needed)
Out of Scope
- Shared roll log visible to other players in the room (Phase 3)
- Game system selector
- Owlbear room state API
Part of #945
Phase 2: Roll history panel
Scope
A roll history panel inside the Owlbear extension showing the last N rolls for the current session. Persisted in
localStorage— no Owlbear room state API, no backend. Stateless per session (resets on browser close).Acceptance Criteria
Implementation Notes
localStoragekeyed by a fixed extension ID — no user auth neededlocalStorage, fall back to in-memory state (log the limitation in the README)OBR.room.setMetadata) is explicitly deferred — this phase is local-only historyOBR.room.setMetadataas the persistence layer (purpose-built for per-room state, no backend needed)Out of Scope