# ZeroGPU migration plan This is a deployment plan, not a claim that the current Docker Space runs on ZeroGPU. ## Current constraint `Simam3D` is a Docker Space. Hugging Face ZeroGPU currently targets Gradio SDK Spaces, so changing the hardware selector on this repository is not enough. The current Docker Space remains the reproducible target for DA3 experiments when metered GPU capacity is available. ## Separate variant steps 1. Create a Gradio-SDK Space variant from the tested `app.py` and `simam3d_core.py` modules. 2. Change the Space metadata from `sdk: docker` to `sdk: gradio` and remove Docker-only installation assumptions. 3. Use the platform-managed `gradio`, `spaces`, and `huggingface_hub` packages; do not pin those packages in the ZeroGPU requirements. 4. Keep model inference behind the optional `spaces.GPU` boundary and set a bounded duration for depth requests. 5. Validate the ZeroGPU-supported Python/Torch matrix before selecting the runtime; the current Docker requirements are intentionally independent. 6. Run the same dependency-free geometry and manifest tests (currently 34) and compare manifests between Docker and ZeroGPU runs. For the current Docker image, DA3 is intentionally opt-in: build with `SIMAM3D_INSTALL_DA3=1` only after selecting a compatible upstream revision. The default build remains V2-first and does not require the DA3 Git package. ## Acceptance checks - A V2 single-image request returns depth, GLB, PLY, fused PLY, Gaussian PLY, metadata, uncertainty map, turntable GIF, evidence card, reveal card, and manifest. - The manifest records the ZeroGPU runtime, exact software versions, input hashes, pose source, confidence source, and fusion settings. - DA3 remains an explicit opt-in experiment and its failure cannot prevent the V2 baseline from returning an artifact. Reference: https://huggingface.co/docs/hub/spaces-zerogpu