AcademySoftwareFoundation / OpenTimelineIO

Open Source API and interchange format for editorial timeline information.
http://opentimeline.io
Apache License 2.0
1.47k stars 294 forks source link

Add AnyDictionary and AnyVector support for V2d and Box2d #1811

Open peter-targett opened 1 week ago

peter-targett commented 1 week ago

Fixes #1714

Summarize your change.

Add Imath V2d and Box2d types so they can be added as metadata in AnyDictionary and AnyVector containers.

Reference associated tests.

Add basic tests for V2d and Box2d to serializable object tests. Also, adapt the composable object test, to test metadata serialization.

codecov-commenter commented 1 week ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.66%. Comparing base (c0e97b0) to head (4ae2fec). Report is 29 commits behind head on main.

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811/graphs/tree.svg?width=650&height=150&src=pr&token=mfnfUB4h7u&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation)](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation) ```diff @@ Coverage Diff @@ ## main #1811 +/- ## ========================================== - Coverage 84.11% 81.66% -2.46% ========================================== Files 198 176 -22 Lines 22241 12679 -9562 Branches 4687 2791 -1896 ========================================== - Hits 18709 10354 -8355 + Misses 2610 1786 -824 + Partials 922 539 -383 ``` | [Flag](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation) | Coverage Δ | | |---|---|---| | [py-unittests](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation) | `81.66% <100.00%> (-2.46%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation#carryforward-flags-in-the-pull-request-comment) to find out more. | [Files with missing lines](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation) | Coverage Δ | | |---|---|---| | [...melineio/opentimelineio-bindings/otio\_bindings.cpp](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?src=pr&el=tree&filepath=src%2Fpy-opentimelineio%2Fopentimelineio-bindings%2Fotio_bindings.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation#diff-c3JjL3B5LW9wZW50aW1lbGluZWlvL29wZW50aW1lbGluZWlvLWJpbmRpbmdzL290aW9fYmluZGluZ3MuY3Bw) | `98.47% <100.00%> (+0.11%)` | :arrow_up: | | [...ntimelineio/opentimelineio-bindings/otio\_utils.cpp](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?src=pr&el=tree&filepath=src%2Fpy-opentimelineio%2Fopentimelineio-bindings%2Fotio_utils.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation#diff-c3JjL3B5LW9wZW50aW1lbGluZWlvL29wZW50aW1lbGluZWlvLWJpbmRpbmdzL290aW9fdXRpbHMuY3Bw) | `70.10% <100.00%> (+3.43%)` | :arrow_up: | | [tests/test\_composable.py](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?src=pr&el=tree&filepath=tests%2Ftest_composable.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation#diff-dGVzdHMvdGVzdF9jb21wb3NhYmxlLnB5) | `92.59% <100.00%> (ø)` | | | [tests/test\_serializable\_object.py](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?src=pr&el=tree&filepath=tests%2Ftest_serializable_object.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation#diff-dGVzdHMvdGVzdF9zZXJpYWxpemFibGVfb2JqZWN0LnB5) | `93.37% <100.00%> (+0.33%)` | :arrow_up: | ... and [120 files with indirect coverage changes](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation) ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?dropdown=coverage&src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation). Last update [ee3e317...4ae2fec](https://app.codecov.io/gh/AcademySoftwareFoundation/OpenTimelineIO/pull/1811?dropdown=coverage&src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=AcademySoftwareFoundation).