name: reconstruction
description: "Guides SplaTAM offline RGB-D SLAM, reconstruction config edits,
evaluation, visualization, PLY export, post-SplaTAM optimization, and GT-pose
Gaussian splatting workflows."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 3-Clause
Reconstruction Sub-Skill
Use this sub-skill for SplaTAM reconstruction and saved-output workflows: offline SLAM, benchmark configs, checkpoint resume, post-SplaTAM optimization, Gaussian splatting with GT poses, novel-view evaluation, final/online visualization, and PLY export.
Route iPhone/NeRFCapture streaming and dataset collection to ../capture/SKILL.md. Capture-produced datasets return here for offline SLAM once the dataset layout is valid.
Required preconditions
- A SplaTAM checkout root with the repo script/config layout.
- A CUDA-capable PyTorch runtime and importable
diff_gaussian_rasterization.
- A dataset matching the chosen config family.
- W&B disabled or configured when using public benchmark configs that default to
use_wandb=True.
Run the root environment gate before expensive reconstruction:
python scripts/check_env.py --require-cuda --require-rasterizer
Read root data/config guidance before editing dataset paths.
Workflow routing
| Task | Entry point | Read |
|---|
| Run RGB-D SLAM/tracking/mapping on Replica, TUM, ScanNet, ScanNet++, Replica-V2, or iPhone dataset | python scripts/splatam.py <config.py> | references/workflows.md |
| Resume from saved checkpoint | scripts/splatam.py with load_checkpoint=True and checkpoint_time_idx | references/configuration.md |
| Export a completed run to PLY | python scripts/export_ply.py <config.py> | references/workflows.md |
| Validate a saved result before export/eval | Bundled sub-skills/reconstruction/scripts/check_result_bundle.py | references/workflows.md |
| Visualize reconstruction | python viz_scripts/final_recon.py <config.py> or python viz_scripts/online_recon.py <config.py> | references/workflows.md |
| Refine a SplaTAM checkpoint with post optimization | python scripts/post_splatam_opt.py <config.py> | references/workflows.md |
| Run Gaussian splatting from GT poses | python scripts/gaussian_splatting.py <config.py> | references/workflows.md |
| Train/test or novel-view evaluation | python scripts/eval_novel_view.py <config.py> | references/workflows.md |
Safe operating sequence
- Pick the closest public config family under the checkout's
configs/ tree.
- Copy the config to a working file before editing benchmark defaults.
- Set dataset paths, frame range,
run_name, and use_wandb deliberately.
- For smoke checks, reduce frame count and iteration counts; do not infer benchmark quality from a reduced run.
- Launch only after the root environment check passes.
- Validate
workdir/run_name/params.npz with the bundled result checker before export, visualization, or downstream reporting.
- Use the nearest troubleshooting reference for failures:
Bundled helper
Run this helper against a saved result directory:
python sub-skills/reconstruction/scripts/check_result_bundle.py \
--result-dir <workdir>/<run_name> --require-params
It checks the shape and presence of key params.npz arrays without importing CUDA or opening a viewer.