Frontend: Uncapped hit decision UI #7
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add frontend UI for the uncapped hit interactive decision workflow implemented in #6. The backend emits
decision_requiredevents with 5 new phases that need corresponding UI prompts.Backend WebSocket Events
The backend already emits and handles these events:
Events the frontend receives (
decision_required)The
decision_requiredevent includes aphasefield and adatapayload:awaiting_uncapped_lead_advancehit_type,hit_location,lead_runner_base,lead_target_base,lead_runner_lineup_id,auto_runnersawaiting_uncapped_defensive_throwlead_runner_base,lead_target_base,lead_runner_lineup_id,hit_locationawaiting_uncapped_trail_advancetrail_runner_base,trail_target_base,trail_runner_lineup_id,hit_locationawaiting_uncapped_throw_targetlead_runner_*,trail_runner_*,hit_locationawaiting_uncapped_safe_outd20_roll,runner(lead/trail),runner_base,target_base,runner_lineup_id,hit_locationEvents the frontend emits
submit_uncapped_lead_advance{ game_id, advance: bool }submit_uncapped_defensive_throw{ game_id, will_throw: bool }submit_uncapped_trail_advance{ game_id, advance: bool }submit_uncapped_throw_target{ game_id, target: "lead" | "trail" }submit_uncapped_safe_out{ game_id, result: "safe" | "out" }UI Requirements
1. Lead Runner Advance Prompt (Offensive)
2. Defensive Throw Prompt (Defensive)
3. Trail Runner Advance Prompt (Offensive)
4. Throw Target Prompt (Defensive)
5. Safe/Out Declaration (Offensive)
Design Notes
game_state_updatebroadcast fires after each step, so the state includespending_uncapped_hitwith all accumulated decisions for display contextRelates to
frontend-sba/components/