• v1.3.0 c338fa7695

    jkaindl released this 2026-05-24 16:22:03 +00:00 | 89 commits to main since this release

    v1.3.0 — Multi-Video Rescue

    When a single drone pass can't be reconstructed (180° turn, 360° spin,
    rotation-heavy footage), v1.2.0 told you to re-shoot. v1.3.0 lets you
    combine multiple passes into one capture — and ships the shoot rules
    that say when this works.

    Added

    • Multi-video capturesautosplat process v1.mp4 v2.mp4 [...]
      combines frames from N videos into one capture; COLMAP solves the
      combined set. Each video gets a per-source frame-naming prefix
      (<stem>_frame_NNNNN.jpg) so passes don't clobber each other. WebUI's
      new-capture form accepts a multi-line textarea.
    • autosplat add-video <capture_dir> <video> — append another pass
      to an existing capture and rebuild frames + SfM + training with the
      larger set. Mirrored in the WebUI as an "Add video" form on the
      capture detail page.
    • --target-frames N CLI flag (on process + resume) — per-run
      override for preprocess.target_frames. Useful for long videos where
      the default cap of 250 subsamples too aggressively (a 30-min
      walkthrough otherwise drops to 1 frame every 7s).
    • docs/CAPTURE-GUIDE.md — empirical shoot rules from v1.2.0
      smoke testing. Translation > rotation, smooth turns, ≥80% overlap,
      textured surfaces, even lighting. Includes case data from real
      failed captures so users can interpret their own quality-gate output.

    Fixed / improved

    • Path | list[Path] union type throughout run_pipeline,
      JobRunner, and the adaptive-retry wrapper. Every existing
      single-video caller stays unchanged.
    • No special-case for "add to single-video capture." When you add a
      video, all frames re-extract with the consistent per-source naming.
      Trades one re-preprocess run (~1-2 min) for zero migration logic.
    • No multi-video schema for pipeline.log-readers older than v1.3.0
      — the new videos: [...] field is additive; readers expecting
      video: str still see the legacy form when only one video was used.

    Tests

    265 unit tests (263 passed, 2 opt-in E2E skipped) — +19 over v1.2.0.
    ruff check src/ tests/ → "All checks passed!".

    Downloads