v0.8.0 — Image timing, reviewed masks and continuous comparisons
Pre-releaseA1 Stitcher 0.8 adds image-based timing, reviewed obstruction proposals, multiband seams and continuous reference comparisons.
- Compare moving shots:
benchmarkproduces six fixed views and per-frame measurements over a contiguous range, with explicit source mapping and tracking coverage. - Fit image timing:
sync-calibraterefines gyro offset and row readout. Fits must pass temporal holdouts; incompatible camera modes, gyro profiles and row settings are rejected. - Review camera masks:
mask-proposecreates native overlays;mask-approveenables reviewed exclusions. Forced replacements check alternate-lens clipping/contrast and fail when no usable view exists. - Blend broader brightness differences: opt-in
--seam multibandpreserves native detail, bounds gain changes and tapers corrections inside valid overlap.
The README and agent skill describe every new option and the importance of source/archive differences. Native 8K, 16-bit processing, 10-bit HEVC and automatic Metal remain the finishing defaults. Experimental timing, masks and multiband remain explicit choices.
Final matched 20-second comparisons reduced the p95 motion diagnostic by about 36% on the fitting interval and 24% on a separate recording. These are image-track measurements, not a universal image-quality score.
Validation includes 342 passing local tests, 66 actual Metal cases, Rockybot Python 3.12/3.13 CI, an outside-checkout 8K/10-bit wheel proof with GPX, and longer source-matched Studio comparisons. Measured results and limits separate motion, geometry, brightness, technical verification and sampled visual review.
Alpha: Studio remains smoother on the tested intervals. Complete moving-propeller segmentation, severe occlusion, flare and broader camera qualification remain open. Keep INSV originals. No footage, per-camera profiles, vendor binaries or models are distributed. The project has no vendor runtime dependency.
Install the attached wheel with Python 3.12+ and FFmpeg, or use the tagged GitHub source. No PyPI publication is implied.