Conversation
|
|
d5ded16 to
0c65eec
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2048 +/- ##
==========================================
+ Coverage 83.48% 83.52% +0.04%
==========================================
Files 182 182
Lines 13517 13533 +16
Branches 1254 1255 +1
==========================================
+ Hits 11284 11303 +19
+ Misses 2060 2057 -3
Partials 173 173
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
Advance the current child at every parent traversal step, matching range_of_child. Previously the third parent lookup used a stale descendant and returned NOT_A_CHILD_OF. Add C++ and Python regressions for nested compositions, accumulated offsets, and outer source-range clipping. Fixes AcademySoftwareFoundation#2043 Assisted-by: Codex / GPT-6 Signed-off-by: jinghuan <74035015+jhuanxx44@users.noreply.github.com>
0c65eec to
65cc72d
Compare
|
Hi @jhuanxx44 - thanks, this PR is looking pretty good. We'll arrange for an OTIO committer to review it. Out of curiosity, how did you come across this issue, and what lead you to contribute to OTIO? |
|
Hi @jminor, thanks for taking a look! I’m exploring a video editing project of my own and will need a timeline model, which is how I came across OTIO. Around the same time, I saw #2043, where you were looking for someone to verify a bug identified by an LLM-based review, and it seemed like something I could help with. To be upfront, I used Codex to help investigate and implement the change, hence the I’m happy to answer any questions from the committer and follow whatever conventions OTIO prefers for AI-assisted contributions. |
|
We're actually right in the midst of establishing our AI policy, and this PR matches very closely to what we're aiming for. Your timing is perfect. See details here: #2046 |
Link the Issue(s) this Pull Request is related to.
Fixes #2043
Summarize your change.
Composition::trimmed_range_of_childfails withNOT_A_CHILD_OF(exposed asNotAChildErrorin Python) when it traverses three or more parent compositions. The first iteration advancescurrent, but subsequent iterations leave it pointing to an earlier descendant, so the next parent cannot find it among its direct children.Advance
currentafter accumulating each parent range, matching the traversal inrange_of_child.Reference associated tests.
Stack → Track → Stack → Cliphierarchy with a nonzero track offset; checks both the error status and the returned range.Validated locally on macOS arm64 with AppleClang 21 and Python 3.14.6:
make test: 482 tests run, 2 existing skips.make lint,make manifest,clang-format --dry-run --Werroron the changed C++ files, andgit diff --checkpass.Assisted-by: Codex / GPT-6