Cal Corum
58b5deb88e
CLAUDE: Connect gameplay loop - dice rolling and play resolution
Frontend changes to complete gameplay loop connection:
- Fixed useGameActions.ts submitManualOutcome() signature to match backend API
- Added play_resolved WebSocket event handler to useWebSocket.ts
- Fixed game page handleSubmitOutcome() to call submitManualOutcome() correctly
- Added missing imports (readonly, PlayResult) to useWebSocket.ts
Backend handlers already implemented (Phase 3E-Final):
- roll_dice: Rolls dice and broadcasts results to game room
- submit_manual_outcome: Validates outcome, resolves play, broadcasts result
- play_resolved: Emitted after successful play resolution
Workflow now complete:
1. User clicks "Roll Dice" → frontend emits roll_dice event
2. Backend rolls dice → broadcasts dice_rolled event
3. Frontend displays dice results → user reads card
4. User selects outcome → frontend emits submit_manual_outcome
5. Backend validates & resolves → broadcasts play_resolved event
6. Frontend displays play result → updates game state
Ready for end-to-end testing of complete at-bat workflow.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>