Complete frontend rewrite from vanilla HTML/CSS/JS to React 19 + TypeScript + Tailwind CSS v4. Frontend (frontend/commander-ai-lab-ui/): - Vite + React 19 + TypeScript + Tailwind CSS v4 + React Router - 7 pages: BatchSim, Collection, Decks, AutoGen, Simulator, Coach, Training - Reusable components: Spinner, StatusBadge, CardImage, ManaSymbols, EmptyState - Full typed API client layer (8 modules matching all backend endpoints) - Recharts for mana curves, win rate charts, progress bars - Lucide icons throughout - Custom dark theme with MTG mana color tokens - Code splitting (recharts + react in separate chunks) Backend (lab_api.py): - SPA-aware static file serving with catch-all for client-side routing - Fallback to legacy ui/ folder if React dist not built - Updated startup log with SPA route list Build system: - .gitignore added (was missing - removes pyc, db, node_modules, etc.) - build-full-installer-v2.py: v23 with Node.js check + React build step - Vite build config with manual chunks for optimal loading Also includes: V3 deck generator fixes, coach improvements, DeepSeek sim modules
101 lines
1.7 KiB
Plaintext
101 lines
1.7 KiB
Plaintext
[metadata]
|
|
Name=Tricky Terrain
|
|
[Commander]
|
|
1 Omo, Queen of Vesuva
|
|
[Main]
|
|
1 Acidic Slime
|
|
1 Aggressive Biomancy
|
|
1 Apex Devastator
|
|
1 Arcane Denial
|
|
1 Arcane Signet
|
|
1 Avenger of Zendikar
|
|
1 Basilisk Gate
|
|
1 Beast Within
|
|
1 Blast Zone
|
|
1 Chromatic Lantern
|
|
1 Cloudpost
|
|
1 Command Tower
|
|
1 Copy Land
|
|
1 Curse of the Swine
|
|
1 Dark Depths
|
|
1 Desert of the Indomitable
|
|
1 Desert of the Mindful
|
|
1 Desert Warfare
|
|
1 Dreamroot Cascade
|
|
1 Drown in Dreams
|
|
1 Dryad of the Ilysian Grove
|
|
1 Elvish Rejuvenator
|
|
1 Eureka Moment
|
|
1 Evacuation
|
|
1 Expedition Map
|
|
1 Finale of Revelation
|
|
1 Flooded Grove
|
|
1 Floriferous Vinewall
|
|
1 Fog Bank
|
|
1 Glimmerpost
|
|
1 Growth Spiral
|
|
1 Harmonize
|
|
1 Hashep Oasis
|
|
1 Hidden Cataract
|
|
1 Hidden Nursery
|
|
1 Horizon of Progress
|
|
1 Hour of Promise
|
|
1 Hydra Broodmaster
|
|
1 Hydroid Krasis
|
|
1 Jyoti, Moag Ancient
|
|
1 Lair of the Hydra
|
|
1 Lazotep Quarry
|
|
1 Lumbering Falls
|
|
1 Lush Oasis
|
|
1 Magus of the Candelabra
|
|
1 Mana Reflection
|
|
1 March from Velis Vel
|
|
1 Mirage Mirror
|
|
1 Nissa, Steward of Elements
|
|
1 Oblivion Stone
|
|
1 Overflowing Basin
|
|
1 Planar Nexus
|
|
1 Poison Dart Frog
|
|
1 Pongify
|
|
1 Propaganda
|
|
1 Quandrix Campus
|
|
1 Rampaging Baloths
|
|
1 Rampant Frogantua
|
|
1 Ramunap Excavator
|
|
1 Replication Technique
|
|
1 Sage of the Maze
|
|
1 Satyr Wayfinder
|
|
1 Scute Swarm
|
|
1 Seer's Sundial
|
|
1 Simic Growth Chamber
|
|
1 Simic Guildgate
|
|
1 Skullwinder
|
|
1 Sol Ring
|
|
1 Summary Dismissal
|
|
1 Sunken Palace
|
|
1 Sylvan Scrying
|
|
1 Talon Gates of Madara
|
|
1 Tatyova, Benthic Druid
|
|
1 Temple of Mystery
|
|
1 Terastodon
|
|
1 Thespian's Stage
|
|
1 Thornwood Falls
|
|
1 Treasure Cruise
|
|
1 Trenchpost
|
|
1 Ulvenwald Hydra
|
|
1 Urban Evolution
|
|
1 Uro, Titan of Nature's Wrath
|
|
1 Urza's Mine
|
|
1 Urza's Power Plant
|
|
1 Urza's Tower
|
|
1 Vesuva
|
|
1 Vineglimmer Snarl
|
|
1 Vivien Reid
|
|
1 Volatile Fault
|
|
1 Wonderscape Sage
|
|
1 Yavimaya Coast
|
|
1 Yavimaya, Cradle of Growth
|
|
3 Plains
|
|
2 Island
|
|
2 Forest
|