- root pyproject.toml replaces requirements.txt and requirements-worker.txt
(worker = root + ffmpeg-python which root already had); test deps moved
to [dependency-groups] dev
- core/gpu/pyproject.toml replaces core/gpu/requirements.txt; uses
[tool.uv.sources] to pin torch/torchvision and paddlepaddle-gpu to their
CUDA index URLs, replacing the manual reinstall dance from old comments
- Dockerfiles use uv sync --frozen against uv.lock for reproducible builds;
PATH includes /app/.venv/bin so k8s manifests' bare uvicorn/celery
commands resolve without wrapping in uv run
- core/gpu/run.sh local mode now does uv sync + uv run python server.py;
errors out cleanly if uv is missing
- vite: alias @vue-flow/core and uplot to detection-app's node_modules
so they resolve when imported through the symlinked soleprint-ui
framework (Vite follows the symlink and would otherwise look up
from ui/framework/, where node_modules doesn't exist)
- kind-config.yaml.tpl: match the new port layout (gateway on 30080
via 127.0.0.1, redis on 6382), avoiding port-80 conflict with Caddy;
keeps the extraMount for /mnt/media so MinIO can seed from host