Skip to main content

Crate suture_driver_otio

Crate suture_driver_otio 

Source
Expand description

OTIO semantic driver — timeline-level diff and merge for OpenTimelineIO files.

§Architecture

OpenTimelineIO (OTIO) files are JSON documents describing video editing timelines. The key challenge is identity: OTIO doesn’t require unique IDs for elements, so we use content-based identity heuristics.

Identity strategy:

  • Clips: Identified by media_reference.target_url + source_range.start_time (fallback: name + source_range). This means renaming a clip without changing its source preserves identity.
  • Tracks/Stacks: Identified by name + kind + position in parent.
  • Transitions: Identified by name + position in parent.
  • Timeline: Always identity element (there’s only one root).

The merge operates at the JSON level: it parses the OTIO JSON, compares element trees using content-based identity, performs a three-way merge, and serializes the result back to JSON.

Structs§

ChangeDescription
Clip
LegacyOtioDriver
Legacy OtioDriver that supports the old API.
OtioDriver
RationalTime
SerializableCollection
Stack
TimeRange
Timeline
Track
Transition

Enums§

OtioError
OtioNode
All recognized OTIO node types. Unknown types are stored as opaque JSON.
TimelineElement

Type Aliases§

Result