Inside the Vision Training Pipeline: How we build and fine‑tune MTG card vision models

TL;DR We convert local card images into concise vision descriptions and embeddings (via a local Ollama server), turn those descriptions into a structured fine‑tuning dataset (JSONL), then fine‑tune a Gemma 3 model using LoRA adapters. The process supports incremental training: the embedding builders are parallelized, training uses checkpoints, and adapters are exported for serving with Ollama or GGUF. Goals and high level contract Input: a set of local card images in plus the canonical card meta