strat-gameplay-webapp/frontend-sba/components/Lineup
Cal Corum e058bc4a6c CLAUDE: RosterLink refactor for bench players with cached player data
- Add player_positions JSONB column to roster_links (migration 006)
- Add player_data JSONB column to cache name/image/headshot (migration 007)
- Add is_pitcher/is_batter computed properties for two-way player support
- Update lineup submission to populate RosterLink with all players + positions
- Update get_bench handler to use cached data (no runtime API calls)
- Add BenchPlayer type to frontend with proper filtering
- Add new Lineup components: InlineSubstitutionPanel, LineupSlotRow,
  PositionSelector, UnifiedLineupTab
- Add integration tests for get_bench_players

Bench players now load instantly without API dependency, and properly
filter batters vs pitchers (including CP closer position).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 22:15:12 -06:00
..
InlineSubstitutionPanel.vue CLAUDE: RosterLink refactor for bench players with cached player data 2026-01-17 22:15:12 -06:00
LineupSlotRow.vue CLAUDE: RosterLink refactor for bench players with cached player data 2026-01-17 22:15:12 -06:00
PositionSelector.vue CLAUDE: RosterLink refactor for bench players with cached player data 2026-01-17 22:15:12 -06:00
UnifiedLineupTab.vue CLAUDE: RosterLink refactor for bench players with cached player data 2026-01-17 22:15:12 -06:00