# Code map The public API / CLI / Space separation follows the organization of [TencentARC/GAE-GeometricAutoEncoder](https://github.com/TencentARC/GAE-GeometricAutoEncoder) (reference inspected 2026-10-15). PURE remains a reconstruction/post-training project; no GAE generation model or sampling code is included. | Path | Responsibility | | --- | --- | | `pure/hub.py` | `PURE`, `PUREConfig`, strict HF loading, lossless saving | | `pure/processing.py` | RGB preprocessing and consecutive video frames | | `pure/pipeline.py` | Shared inference → optional sky masks → exports | | `pure/sky.py` | Pinned SegFormer RGB sky segmentation | | `pure/export.py` | Full filtered PLY, preview GLB, videos and camera files | | `pure/models/` | Pi3 v2 / DA3 Giant / VGGT adapters | | `pure/_vendor/` | Upstream network components, with original notices | | `pure/loss.py`, `pure/utils/` | Original public PURE objective and geometry | | `pure/training/` | Teacher caches, optimization, DDP and checkpoint resume | | `scripts/demo/reconstruct.py` | Model-folder or Hub inference CLI | | `scripts/train/train.py` | Training CLI; forwards to the existing tested engine | | `scripts/data/prepare_cache.py` | Training-cache preparation CLI | | `scripts/hub/convert_weights.py` | Three lossless model-folder conversions | | `scripts/hub/upload.py` | Explicit upload of converted model folders | | `configs/` | Training configurations | | `app.py` | Gradio GPU Space; uses the same pipeline as the CLI | | `tests/` | Training, adapter, serialization, preprocessing and export checks | | `recovery/` | Original recovery evidence; not imported at runtime | Existing `scripts/train.py`, `scripts/infer.py`, `scripts/prepare_cache.py` and Pi3 aliases remain available. Training checkpoint keys are unchanged. The new `PURE` API wraps a backbone, while HF weight files retain the backbone's original keys. To resume the training CLI from a single converted Safetensors file, use `--checkpoint hf_models/pi3/model.safetensors` with the matching training config. Training optimizer state remains in training checkpoints, not model folders.