Repository navigation
Shotdrift 0.2.2 fixes cases where incomplete or unmeasurable videos could appear to pass.
- Preserve short segments as unknown; reject empty, unknown, and truncated coverage.
- Detect out-and-back movement in static checks; blank footage cannot claim a requested move.
- Emit strict JSON with coverage and measurability; validate numerical inputs.
- Fail calibration when the required real media are missing; support hashed manifests.
- Include runnable tests and demo scripts in the source distribution.
Validation: 115 core tests passed locally, seven synthetic controls, FFmpeg CLI demos, and source-distribution tests. Python 3.9, 3.12 and 3.13 CI accompanies this release.
Compatibility: unmeasured shot paths may be null; unavailable measurements are null, not NaN; JSON adds coverage/verdict/ok. Truncated results no longer pass. See README for exit codes and migration details.
Limits: this measures 2D image motion, not a physical 3D camera solve. The original real calibration corpus was unavailable for this audit, and generated-video accuracy is not newly established.