What shipped
The dice system has been redesigned from the ground up. Previously, rolling dice meant sending a message to the AI DM and waiting for it to parse your intent. Now rolls are fast, direct, and server-resolved.
Engine migration — The dice parser is now backed by @dice-roller/rpg-dice-roller, a battle-tested notation library. We support standard notation (2d6+3), advantage rolls (2d20kh1), FATE dice (4dF), exploding dice (4d6!), and success-counting pools (5d6>=4).
Dice sidebar panel — A new two-tab panel replaces the old roll history slide-out:
- Roll tab — 7 die buttons (d4 through d%), count and modifier steppers, live formula preview, advantage/disadvantage toggle for d20
- History tab — Up to 50 rolls, reverse-chronological, each with a one-click re-roll button
/roll slash command — Type /roll or /r in any chat input to roll 1d20. Type /roll 2d6+3 for specific notation. The text is intercepted before it reaches the AI — the result appears directly in chat as a mechanic card.
Server-authoritative rolls — Every roll goes through rollAudit.record on the server. The result is written to the database and broadcast to all session participants via the dice Ably channel. No client-side dice resolution — the server is the single source of truth.
What's next
3D dice canvas animation and per-session dice skin themes are next in the dice epic.