-
released this
2026-07-29 14:28:10 +00:00 | 0 commits to main since this releaseSub-project 1 of 4 in the workflow rethink. A capture now has an explicit lifecycle derived from the filesystem, and storage retention hangs off it.
Changed
- Completing a review reclaims that capture's intermediates. Signing a capture off in the publish quality gate — "Confirm unchanged" or uploading a cleaned PLY — deletes
frames/,colmap/,training/,brush_dataset/,rescue/probes/andshare/_tmp/. Kept, as before: everything inoutput/,pipeline.log,runs.jsonl, finished share bundles — andrescue/clips/*.mp4, which are a bisection-rescued capture's recorded origin, without whichresume/add-videocannot work. The reclaim is deferred while a run looks live (a WebUI job, or any working dir touched in the last hour — what a CLIresumelooks like from outside); the sign-off itself always stands. - A capture never reviewed is reclaimed after 30 days, on the next WebUI/app start, with a warning in the captures list from day 23. Configurable via
[lifecycle] unreviewed_grace_days;0disables it. The sweep only touches captures the WebUI actually lists — nested legacy layouts are left tomigrate-storage. export.copy_to_outputsis deprecated and defaults tofalse.outputs_dirwas a second, unmanaged copy of every PLY that nothing ever reclaimed.captures/<id>/output/is the only location now;doctorwarns while the key is stilltrue. Existing config files keep loading.- Compressed SOGs are kept at
output/scene.sogand reused — a repeat share of an unchanged capture goes from minutes of compression to seconds.
Added
-
autosplat migrate-storagebrings an existing backlog onto the retention policy. Scanscaptures/recursively so nested pre-Phase-9 rescue layouts are found, plus the deprecatedoutputs/copies, and prints one table of everything reclaimable. Preview by default,--applyexecutes.Never deleted, and always listed with the reason: an orphaned
outputs/entry (the only surviving copy of a capture that was removed), a failed capture, a capture that looks mid-rebuild, or a directory burying a nested capture's only PLY. It refuses to run at all whencaptures_dirandoutputs_dirnest inside one another.
Fixed
cleanup-intermediatesnever reclaimedrescue/orbrush_dataset/, and scanned non-recursively — so bisection-rescue leftovers and nested pre-Phase-9 capture layouts were invisible to it. On the maintainer's machine that was 11,2 of 19 GB.
Measured on the maintainer's real data: 27,8 GB → 13,1 GB, with orphaned scenes, failed captures and
rescue/clipsdeliberately untouched.Apple-Silicon only (macOS 15+). The DMG is signed and notarized.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Completing a review reclaims that capture's intermediates. Signing a capture off in the publish quality gate — "Confirm unchanged" or uploading a cleaned PLY — deletes