Skip to content

v2.48.0

Choose a tag to compare

@samuelgursky samuelgursky released this 12 Jun 01:26

Edit-engine hardening: trustworthy execute readback ahead of the first real-cut pilot. Live-validated end-to-end on a disposable synthetic-media project (24/24 checks).

Added

  • timeline_versioning(action="diff_timelines", params={from_timeline, to_timeline}): structural diff (added / removed / moved / trimmed + summary) between two live timelines by name — read-only, no archived snapshots needed. Built for edit-engine variants, which are new-name timelines with no shared version chain. The item walk and snapshot comparison were factored out of the version-snapshot path (capture_timeline_clip_usage / compare_usage_snapshots) and reused.
  • execute_tighten readback now includes structural_diff (source vs variant); execute_selects readback includes a usage_summary (per-track-type item counts — a diff against a source timeline is meaningless for a fresh assembly).

Fixed

  • execute_swap audio accounting: the lift was video-only while the replacement appended linked video+audio, so item counts drifted on every swap. The lift is now scoped to the target's video track plus its linked audio tracks (GetLinkedItems, with a media-id track-scan fallback; items with no linked audio and audio-only timelines are handled gracefully). Readback reports per-track-type track_counts before/after plus an audio_accounting block, so swap symmetry is verifiable: the live pilot shows video 2→2, audio 2→2 with one video and one audio item lifted.

Validation

  • The live edit-engine harness gained four checks (tighten structural diff, diff_timelines agreement with readback, swap track-count symmetry, explicit linked-audio lift) — 24/24 green on Resolve Studio with synthetic media; original timelines untouched.
  • 16 new unit tests (live-diff capture/compare on mocks, swap audio-track helpers); offline suite at 1159.