strat-gameplay-webapp/frontend-sba/components/Gameplay
Cal Corum fa3fadd14c CLAUDE: Implement uncapped hit decision UI + backend bugfixes (Issue #7)
Frontend: Full 5-phase interactive wizard for uncapped hit decisions
(lead advance, defensive throw, trail advance, throw target, safe/out)
with mobile-first design, offense/defense role switching, and auto-
clearing on workflow completion.

Backend fixes:
- Remove nested asyncio.Lock acquisition causing deadlocks in all
  submit_uncapped_* methods and initiate_uncapped_hit (non-re-entrant)
- Preserve pending_manual_roll during interactive workflows
- Add league_id to all dice_system.roll_d20() calls
- Extract D20Roll.roll int for state serialization
- Fix batter-runner not advancing when non-targeted in throw
- Fix rollback_plays not recalculating scores from remaining plays

Files: 10 modified, 1 new (UncappedHitWizard.vue)
Tests: 2481/2481 passing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 13:54:57 -06:00
..
DiceRoller.vue CLAUDE: Redesign dice display with team colors and consolidate player cards 2026-01-24 00:16:32 -06:00
DiceShapes.vue CLAUDE: Redesign dice display with team colors and consolidate player cards 2026-01-24 00:16:32 -06:00
GameplayPanel.vue CLAUDE: Implement uncapped hit decision UI + backend bugfixes (Issue #7) 2026-02-12 13:54:57 -06:00
ManualOutcomeEntry.vue CLAUDE: Limit flyball hit locations to outfield positions only 2025-11-27 21:36:54 -06:00
OutcomeWizard.vue CLAUDE: Complete in-game UI overhaul with player cards and outcome wizard 2026-01-23 15:23:38 -06:00
PlayResult.vue CLAUDE: Phases 3.5, F1-F5 Complete - Statistics & Frontend Components 2025-11-14 09:52:30 -06:00
UncappedHitWizard.vue CLAUDE: Implement uncapped hit decision UI + backend bugfixes (Issue #7) 2026-02-12 13:54:57 -06:00
XCheckWizard.vue CLAUDE: Add XCheckWizard component and result constants (step 6) 2026-02-07 17:36:23 -06:00