feat: LAN Battlefield App Integration with AI Pipeline (#196)
* feat: LAN Battlefield App integration with Commander-AI-Lab AI pipeline Add the LAN Battlefield App as a browser client (lan-client/) that connects to the Commander-AI-Lab backend for ML-powered AI opponents, 3-category deck selection, and enhanced player panels. Phase 1 - Foundation: - Remove floating mana pool display (keep internal tracking) - Add energy, experience, rad, emblems fields to game state - No-op renderManaPool(), showManaPool(), setupManaPoolDrag() Phase 2 - Backend Connection (ai-bridge.js): - BackendConnector: REST + WebSocket connectivity with retry/timeout - GameStateBridge: Serializes engine.js state for /api/policy/decide - MacroActionMapper: Translates 8 ML macro-actions to engine.js calls - DeckSourceClient: Fetches precon/EDHREC decks from backend API Phase 3 - Deck System: - 3-tab deck selector (Precons / EDHREC / My Decks) replaces dropdown - Precon grouping by set with collapsible sections and filtering - EDHREC search integration (stub, ready for backend implementation) - My Decks textarea import placeholder Phase 4 - AI Integration: - runAiTurn() priority chain: ML Pipeline > Forge > Local Heuristic - _runMlAiTurn() async turn loop with multi-phase decision requests - Backend session initialization on game start - Automatic fallback to local AI on any ML pipeline error Phase 5 - Enhanced Player Panels (player-panels.js): - Collapsible panels with localStorage persistence - Commander damage progress bars with warning/critical thresholds - Poison, energy, experience, rad counter widgets - Emblem tracking with add/remove Phase 6 - Polish: - Script loading order: precons > engine > ai-bridge > panels > ui - Backend auto-detection on page load with status indicator - Connection status display on setup screen Closes #184, Closes #185, Closes #186, Closes #187, Closes #188, Closes #189 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: refine LAN battlefield integration with full JSDoc, proper phase IDs - Add comprehensive JSDoc comments to all ai-bridge.js classes - Use optional chaining for PHASES lookup in GameStateBridge - Direct addLogEntry calls in player-panels.js (loaded after engine.js) - Remove leftover mana pool CSS that was missed in initial pass - Minor style.css cleanup for consistency Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
1 parent
e2568c731c
commit
4214831e59
6 files changed
+33276
No files matched your search
+25612
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user