Repository navigation
Save fixed movie calibration in Tracker projects - #142
Merged
Merged
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are recorded for the scoped movie calibration and length-label persistence changes.
No open issues 🎉
What changed in this PR
Enables MoTrack to save edits to existing fixed movie calibration and length labels in standard Tracker projects, extending the audited movie writer while retaining timing, media and track-identity restrictions.
Changes:
- Supports fixed-calibration edits through linked saves, selected MOV archive members, paired saving/recovery and portable MOV export.
- Adds four actual-Tracker reference modes and regression checks for geometry, units, undo/redo and media preservation.
- Documents supported limits and pending current-revision acceptance; issues #65 and #78 remain open.
| File | Description |
|---|---|
tools/corpus.py |
Adds independent calibration expectations and reference-mode validation. |
tests/tracker_writer_test.cpp |
Tests calibration persistence and unsupported-state refusal. |
tests/test_corpus.py |
Checks that oracles reject incorrect geometry and units. |
tests/paired_workspace_test.cpp |
Exercises endpoint placement, undo/redo and paired calibration saves. |
tests/corpus/README.md |
Documents calibration reference modes and acceptance status. |
tests/corpus/manifest.json |
Enables calibration modes for pinned movie fixtures. |
tests/corpus_probe.cpp |
Adds calibration edits to linked, archive and package export probes. |
src/tracker_writer.cpp |
Allows existing fixed-calibration and length-label edits through shared validation. |
README.md |
Describes newly supported movie calibration saving. |
docs/upstream-issues.md |
Records scoped persistence progress and remaining tool acceptance work. |
docs/native-format.md |
Defines calibration export constraints and validation coverage. |
docs/migration-plan.md |
Updates implementation status and prior portable MOV acceptance evidence. |
Review effort: Balanced
This was referenced Nov 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change
Saving a movie after using MoTrack's axes or distance-calibration tools previously refused the standard Tracker output. Allow edits to an existing fixed calibration and its length label through the audited movie writer, including linked
.trk, selected MOV archive members, paired saving/recovery and portable MOV export. Timing, media bytes and track identity retain their existing restrictions.Four independent actual-Tracker reference modes verify origin (10,18), 90° rotation, scales (4,8), centimetre units and calculated positions. They preserve every movie byte/frame/time and the untouched archive tab, and require normal application load/save/fresh-process reopen plus native reimport. Negative tests reject consistently wrong coordinates or labels. Related: #65, #78; neither issue is closed by this scoped persistence change.
Validation
Tested and reviewed head:
9c864e0780361cd15b1343d5470c369df199232c.linked-movie-calibration,archive-movie-calibration,paired-archive-movie-calibrationandpackaged-movie-calibration, including all archive tabs, native reimport and the complete existing compatibility suite.Compatibility and review
The shared coordinate writer retains finite/invertible-transform, precision, lock and fixed-key checks. Tests cover history, native reopen after source removal, standalone AVI/MOV output with a strided clip, desktop endpoint placement/undo/redo/paired saving, destination preservation and keyed-movie-calibration refusal.
Keyed/partly fixed movie calibration, new/removed coordinate systems, numeric movie timing, track identity changes, filters and broader containers remain unfinished. No production UI strings or runtime dependencies are introduced.
docs/code-review.mdto the diff and relevant writer/corpus callers.