-
released this
2026-05-15 18:35:15 +00:00 | 150 commits to main since this releaseFirst public release of video-to-3d-gaussian-splat — a local 3D Gaussian-Splat pipeline for Mac Silicon. Pre-1.0, CLI-only. WebUI as v1.0.0.
Added — Phases 0–9.7 (complete scope)
- Phase 0 — Manual baseline: first end-to-end run establishing the full pipeline manually (ffmpeg → COLMAP → Brush → PLY). Calibration data for blur threshold, SfM parameters, and training steps.
- Phase 1 — CLI MVP:
autosplat process <video>runs the complete pipeline in one command. 15 Python modules undersrc/autosplat/. - Phase 2 — Watch-folder daemon:
autosplat watch <inbox>with persistentstate.json, atomic queue operations, crash-recovery on restart. - Phase 3 — Quality-gate + adaptive retry: gate before Brush training checks minimum camera count and point density. Automatic retry with
exhaustiveCOLMAP matcher hint on first failure. - Phase 4 — Obsidian capture-note auto-generation: opt-in via
[obsidian].enabled = true. Writes structured frontmatter note per capture. Preserves user-added content via marker-based tail split. - Phase 5 — Compress stage:
autosplat compress <ply>, SOG + SPZ + ksplat output viasplat-transformnpx backend. Real-world compression ratios: 82–91% size reduction. - Phase 6 — Spec-mandate sweep: preflight checks for all binary deps, OOM retry logic, skipped-frames guard, PLY min-size gate. Closes §9.2 + §5 of spec.
- Phase 7 — Pipeline visibility: Rich progress bar with wall-time-based ETA during Brush training.
autosplat statustable for queue + history. - Phase 8 — Obsidian polish: vault-agnostic config defaults, user frontmatter key preservation across pipeline re-runs.
- Phase 9 — Local SuperSplat auto-open: starts local SuperSplat static server + PLY HTTP server in parallel, auto-opens browser after training. CORS fix (Phase 9.6) discovered via manual smoke run — browser blocked cross-origin PLY fetch.
- Phase 9.7 — splat CLI real executable:
scripts/install_splat.shinstalls~/.local/bin/splatas a real Bash binary with subcommand-aware caffeinate wrap. Enablesnohup splat watch, tmux usage, background process management.
Tests
~175 unit tests across 15 test modules. 2 opt-in E2E tests (
AUTOSPLAT_E2E=1,AUTOSPLAT_COMPRESS_E2E=1). All unit tests pass in ~3s on Apple Silicon.Validated
8/11 real-world captures trained successfully in overnight run 2026-05-15. Failure modes are deterministic and structured — COLMAP SfM failure, quality-gate rejection, and compress-backend unavailability all produce explicit events and are visible via
autosplat status. No silent failures.Build Methodology
Pipeline built phase by phase using a Recon → Plan → Sub-Phase pattern. Each phase has a
docs/PHASE-N-RECON.md(problem space mapping) anddocs/PHASE-N-PLAN.md(acceptance criteria before code). Phases tagged in git on completion. Part of ongoing research into trace-based emergent coordination.License
Switched from MIT to AGPL-3.0-or-later (code) + CC BY-SA 4.0 (documentation). See LICENSE and LICENSE-DOCS.
Release Polish (Burst C.1)
- PII strip:
/Users/johannes/paths replaced with~/(docs) andPath.home()(Python) - examples/ generalized: location-specific capture names replaced with generic identifiers
*.sogadded to.gitignore- pyproject.toml: version bump 0.1.0 → 0.9.0, author identity updated, AGPL-3.0 license-id set
- Issue templates added (
.forgejo/issue_template/)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads