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
92 lines
1.7 KiB
Plaintext
92 lines
1.7 KiB
Plaintext
[metadata]
|
|
Name=Veloci-Ramp-Tor
|
|
[Commander]
|
|
1 Pantlaza, Sun-Favored
|
|
[Main]
|
|
1 Akroma's Will
|
|
1 Apex Altisaur
|
|
1 Arch of Orazca
|
|
1 Arcane Signet
|
|
1 Atzocan Seer
|
|
1 Bellowing Aegisaur
|
|
1 Bronzebeak Foragers
|
|
1 Canopy Vista
|
|
1 Chandra's Ignition
|
|
1 Cinder Glade
|
|
1 Clifftop Retreat
|
|
1 Command Tower
|
|
1 Cultivate
|
|
1 Curious Altisaur
|
|
1 Deathgorge Scavenger
|
|
1 Descendants' Path
|
|
1 Dinosaur Egg
|
|
1 Drover of the Mighty
|
|
1 Earthshaker Dreadmaw
|
|
1 Etali, Primal Storm
|
|
1 Evolving Wilds
|
|
1 Exotic Orchard
|
|
1 Farseek
|
|
1 Fiery Confluence
|
|
1 Fortified Village
|
|
1 From the Rubble
|
|
1 Furycalm Snarl
|
|
1 Game Trail
|
|
1 Generous Gift
|
|
1 Itzquinth, Firstborn of Gishath
|
|
1 Ixalli's Lorekeeper
|
|
1 Jungle Shrine
|
|
1 Kessig Wolf Run
|
|
1 Kinjalli's Sunwing
|
|
1 Lifecrafter's Bestiary
|
|
1 Majestic Heliopterus
|
|
1 Marauding Raptor
|
|
1 Migration Path
|
|
1 Mosswort Bridge
|
|
1 Myriad Landscape
|
|
1 Otepec Huntmaster
|
|
1 Path of Ancestry
|
|
1 Path to Exile
|
|
1 Progenitor's Icon
|
|
1 Quartzwood Crasher
|
|
1 Raging Regisaur
|
|
1 Raging Swordtooth
|
|
1 Rampaging Brontodon
|
|
1 Rampant Growth
|
|
1 Ranging Raptors
|
|
1 Regal Behemoth
|
|
1 Regisaur Alpha
|
|
1 Return of the Wildspeaker
|
|
1 Rhythm of the Wild
|
|
1 Ripjaw Raptor
|
|
1 Rishkar's Expertise
|
|
1 Rogue's Passage
|
|
1 Runic Armasaur
|
|
1 Savage Stomp
|
|
1 Scion of Calamity
|
|
1 Secluded Courtyard
|
|
1 Shifting Ceratops
|
|
1 Sol Ring
|
|
1 Sunfrill Imitator
|
|
1 Temple Altisaur
|
|
1 Temple of the False God
|
|
1 Terramorphic Expanse
|
|
1 Thrashing Brontodon
|
|
1 Thriving Bluff
|
|
1 Thriving Grove
|
|
1 Thriving Heath
|
|
1 Thunderherd Migration
|
|
1 Thundering Spineback
|
|
1 Topiary Stomper
|
|
1 Unclaimed Territory
|
|
1 Verdant Sun's Avatar
|
|
1 Wakening Sun's Avatar
|
|
1 Wayta, Trainer Prodigy
|
|
1 Wayward Swordtooth
|
|
1 Wrathful Raptors
|
|
1 Xenagos, God of Revels
|
|
1 Zacama, Primal Calamity
|
|
1 Zetalpa, Primal Dawn
|
|
6 Mountain
|
|
5 Forest
|
|
5 Plains
|