Players can spend a fate point to re-roll, add +10, or add a degree of
success to their most recent roll. Spends are persisted to the player's
sheet via a new atomic POST /api/players/:name/spend-fate endpoint
(read-modify-write that preserves password and other tabInfo).
- rollHelpers.applyFateToTest: shared recompute for a test result
- useFate hook: loads current/total fate, spends + persists
- FateControls: shared current/total display + Re-roll/+10/+DoS buttons
- SkillRoller and the combat roller each track their last roll and
replace it in history when fate is spent; combat also recomputes hits.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>