KoalaTrapLord
3f5d6d12e8
feat: 4-player Commander Battleground UI (issues #138–#151)
...
* chore: add battleground UI task tracker (2026-03-28)
* feat(#142 ): add [NonSerialized] battleground runtime state to CardModel
* feat(#143 ): add LoadArtCrop and LoadCardRaw (RawImage) to ImageCache
* feat(#148 ): add GameStateManager singleton and GameState/SeatState POCOs
* feat(#138 ): add BattlegroundController scene orchestrator
* feat(#139 ): add LifeTrackerWidget, CommanderDamageRow, PoisonCounter
* feat(#140 ): add PhaseTrackerWidget and PhaseStepButton
* feat(#141 ): add TurnOrderBar and TurnOrderPill
* feat(#142 ): add CardZone and CardView battlefield zone components
* feat(#143 ): add CommanderZoneWidget with art crop, cast counter, and tax display
* feat(#144 ): add TokenModel POCO, TokenPanelController, and TokenRowView
* chore: mark issues 1-8 as complete in task tracker
* feat(#146 ): add StackZoneController, StackItemView, and ManaPoolDisplay
* feat(#147 #150 #151 ): add LobbySetupModal, ZoneViewerModal, EliminationHandler; add Play Live button to SimulationController
* feat(#151 ): add Play Live button to SimulationController
* feat(#149 ): add GameWebSocketClient with reconnect, ping, and main-thread dispatch
* fix: add PostGameAction to ApiClient + update TODO.md all issues complete
- ApiClient.cs: add PostGameAction() wrapper → POST /api/game/action
(fixes compile error in HumanActionBar.cs)
- TODO.md: mark issues #145 , #146 , #147 , #149 , #150 , #151 as ✅
all 14 battleground issues now committed
* feat(game): add routes/game.py + wire lab_api + fix GameWebSocketClient game_id URL
- routes/game.py: POST /api/game/start, POST /api/game/action (new)
- lab_api.py: import + register game_router
- GameWebSocketClient.cs: read game_id from PlayerPrefs, build
ws://{host}/ws/game/{game_id} — fixes URL mismatch with ws_game.py
* fix(lobby): wire OnConfirm to POST /api/game/start, save game_id to PlayerPrefs
- OnConfirm() now calls ApiClient.PostGameStart() with 4-seat config
- On success: saves BattleSeats + GameId + WsUrl to PlayerPrefs,
loads Battleground scene
- On failure: shows inline error label (red), re-enables Confirm button
- Added StartGameRequest/Response POCOs matching routes/game.py schema
- Added _errorLabel [SerializeField] for user-facing error feedback
2026-03-29 05:35:29 -04:00
rgriffith
ce80b6d9c5
feat: implement SimulationController, fix API paths, wire Simulator scene
2026-03-19 07:46:44 +00:00
Computer
d8e355de2b
fix: append to Build Settings instead of overwrite, add Build All Scenes tool
2026-03-19 07:34:01 +00:00
KoalaTrapLord
85224f082e
fix: handle wrapped JSON object from /api/ml/models endpoint
...
The API returns {"models":[...]} rather than a bare array.
Added MlModelsResponse wrapper class and updated LoadModelHistory
to unwrap the list before iterating, preventing the deserialization
exception in TrainingController.
2026-03-19 02:57:46 -04:00
KoalaTrapLord
cad2f00ec7
Fix all Unity C# errors: 4 truncated Editor scripts + 11 controller/model compilation fixes
2026-03-19 05:53:04 +00:00
KoalaTrapLord
6b50c6ee7d
Add PreconListWrapper and CollectionResponse classes to DeckGeneratorController
2026-03-19 01:40:50 -04:00
KoalaTrapLord
a501a9755d
fix(unity): resolve all 32 C# compilation errors
...
- CardModel: add missing `id` field
- CardModel: `imageUrl` → `imageUri` (match JSON property name)
- DeckModel: `commanderName` → `commander` (match JSON property name)
- PreconDeck: `imageUrl` → `imageUri`
- Add missing `PreconListWrapper` model class
- Add `using UnityEngine.Networking` to CollectionController,
DeckGeneratorController, PreconController
- Remove double StartCoroutine() wrapping on ApiClient calls
(GetRaw/PatchRaw/Delete/PostRaw already return Coroutine)
Affected: CollectionController, DeckBuilderController,
DeckGeneratorController, ScannerController, CoachController
2026-03-19 05:13:00 +00:00
KoalaTrapLord
94b20f1347
Add GetRaw, PatchRaw, Delete methods to ApiClient.cs
2026-03-19 01:01:18 -04:00
KoalaTrapLord
81a1bc9022
Fix DeckBuilderController.cs: fix truncated for loop, remove stray line at EOF
2026-03-19 00:48:43 -04:00
KoalaTrapLord
432a16e87d
Add missing using UnityEngine.Networking for UnityWebRequest.EscapeURL
2026-03-19 00:11:51 -04:00
KoalaTrapLord
c5a1f65e13
Fix DeckBuilderController.cs: add truncated methods (BuildManaCurve, BuildColorPie, ShowError, PromptSave, OnExportToSim)
2026-03-19 00:11:03 -04:00
KoalaTrapLord
a988779bb4
ScannerController: add WebGL file upload fallback ( #54 )
2026-03-18 22:46:59 -04:00
KoalaTrapLord
7901fef495
CoachController: add streaming, precon refresh tab, mobile layout (U9 #54 )
2026-03-18 22:39:47 -04:00
KoalaTrapLord
d21928da53
Add PreconController.cs - precon browser scene (U12)
2026-03-18 16:57:01 -04:00
KoalaTrapLord
9b1654a81e
Add CoachController.cs - AI coach chat + analytics dashboard (U9)
2026-03-18 16:29:50 -04:00
KoalaTrapLord
69fe6cbffd
Add MobileInputHandler for touch controls, safe area, responsive UI ( closes #58 )
2026-03-18 15:18:09 -04:00
KoalaTrapLord
643529e874
Add WebGLBridge for WebGL build support, CORS, file input fallback ( closes #57 )
2026-03-18 15:15:36 -04:00
KoalaTrapLord
9746a41178
Add CardController with flip, hover, glow, drag, mobile gestures ( closes #56 )
2026-03-18 15:12:41 -04:00
KoalaTrapLord
ec9719659a
Add TrainingController for ML training dashboard ( closes #55 )
2026-03-18 14:37:18 -04:00
KoalaTrapLord
52dcf95c59
Add ScannerController for scanning and card handling
...
Implement ScannerController for camera scanning and card management.
2026-03-18 14:16:34 -04:00
KoalaTrapLord
ff3b134cb9
Implement DeckGeneratorController for deck generation
...
This script handles the UI and logic for the DeckGenerator scene, allowing users to select a commander, set strategies and budgets, generate a deck, and view results.
2026-03-18 13:55:47 -04:00
KoalaTrapLord
a71abfa7d0
Implement DeckBuilderController for deck management
...
This file implements the DeckBuilderController class, which manages the deck building UI, including deck list, card search, and commander selection functionalities.
2026-03-18 13:36:47 -04:00
KoalaTrapLord
57b0598717
Unity U5: Add CollectionController.cs — card grid, search, filter, sort, detail panel ( #50 )
...
Implement CollectionController for managing card collection UI, including search, filter, sort, paginImplements all tasks in #50 :
- Infinite scroll card grid using CardPrefab instances with object pooling
- Async Scryfall card image loading via ImageCache.GetSprite()
- Search bar wired to GET /api/collection?search=...
- Filter sidebar: color, type, set, rarity, owned/missing dropdowns
- Sort dropdown: name, CMC, color, type, price
- Card detail panel with flip animation trigger and full card view
- "Add to Deck" button routes to DeckBuilder with card stored in PlayerPrefs
- Pagination / load-more button with page info label
- Mobile: filter drawer auto-hides on narrow screens, collapsible via toggle buttonation, and card detail display.
2026-03-18 12:50:59 -04:00
KoalaTrapLord
5550c27744
Unity: Add ImageCache.cs singleton for card art Sprite caching ( #50 )
2026-03-18 02:06:08 -04:00
KoalaTrapLord
986c501410
Unity U4: Add MainMenuController.cs - server URL, health check, nav ( #49 )
...
Implements MainMenuController for managing server connection and scene navigation.
2026-03-18 02:05:15 -04:00
KoalaTrapLord
d3431ff246
Unity U3: Add CommanderMeta.cs ( closes #48 )
2026-03-18 02:03:38 -04:00
KoalaTrapLord
36dba9e90a
Unity U3: Add PreconModel.cs ( #48 )
2026-03-18 02:02:59 -04:00
KoalaTrapLord
b9369af52f
Unity U3: Add CollectionResponse.cs ( #48 )
2026-03-18 02:02:20 -04:00
KoalaTrapLord
6dd1de894c
Unity U3: Add DeckGenResponse.cs + GeneratedDeckCard ( #48 )
...
This file defines the DeckGenResponse class and its associated GeneratedDeckCard class, which map to the response structure from the /api/deckgen/v3 endpoint.
2026-03-18 02:01:35 -04:00
KoalaTrapLord
3f1bcb4d12
Unity U3: Add CoachResponse.cs ( #48 )
...
This class maps to the response of the POST /api/coach/chat endpoint, including properties for reply, deck report, and suggestions.
2026-03-18 02:00:43 -04:00
KoalaTrapLord
52762ee0aa
Unity U3: Add SimStatusModel.cs + SimStartResponse ( #48 )
...
This file defines the SimStatusModel and SimStartResponse classes for mapping JSON responses from the API.
2026-03-18 01:59:58 -04:00
KoalaTrapLord
af8e59ed9a
Unity U3: Add DeckModel.cs ( #48 )
2026-03-18 01:59:09 -04:00
KoalaTrapLord
0923b75d79
Unity U3: Add CardModel.cs with Newtonsoft.Json snake_case mapping ( #48 )
...
This class represents a Magic: The Gathering card with various properties such as name, oracle ID, mana cost, and more.
2026-03-18 01:58:24 -04:00
KoalaTrapLord
20172c90b4
Unity U2: Implement all FastAPI endpoint methods in ApiClient.cs ( closes #47 )
2026-03-18 01:56:33 -04:00
KoalaTrapLord
3d6365cfb4
Unity: Add Scripts/Animation/.gitkeep ( #46 )
2026-03-18 01:50:00 -04:00
KoalaTrapLord
397d02240e
Unity: Add Scripts/UI/.gitkeep ( #46 )
2026-03-18 01:49:37 -04:00
KoalaTrapLord
0c842b97fd
Unity: Add Scripts/Models/.gitkeep ( #46 )
2026-03-18 01:49:16 -04:00
KoalaTrapLord
a5b9d70f04
Unity U2: Add ApiClient.cs singleton HTTP client for FastAPI backend (Epic #45 )
2026-03-18 00:55:40 -04:00