2. Data Model (vv-core)
The project model, ids, keyframes, edits and undo, persistence and OTIO interchange.
Entities
The whole document is one plain struct, vv_core::Project ( model.rs). There is no node graph: ev...
IDs & IdMap
Entities are referenced by id, never by pointer or index into a Vec that could shift. The core r...
Keyframes & Transforms
Every animatable parameter is a Keyframed<T>: a sorted Vec<(FrameIdx, T, Interpolation)> plus a...
Commands, Undo/Redo
Undo uses the command pattern ( command.rs). Each command captures, when applied, the state it ne...
Persistence
A project is saved as one human-readable RON file, written straight from the Project struct by s...
OTIO Import/Export
Timelines travel to and from other NLEs as OpenTimelineIO JSON ( vv_core::otio), tested against D...