restore method
Replaces the timeline with copies of clips, so later in-place edits
can never reach back into an undo snapshot.
Implementation
void restore(List<VideoEditorClip> clips) {
_clips.clear();
_clips.addAll(clips.map((c) => c.copy()));
if (_selectedClipIndex >= _clips.length) {
_selectedClipIndex = _clips.isEmpty ? 0 : _clips.length - 1;
}
}