mirror of
https://github.com/storytold/filmcraft.git
synced 2026-10-14 19:26:59 -04:00
The engine already keeps one playhead per sequence while a project is open, and the project file's view already stores each sequence's zoom, scroll and track heights, but not its playhead: after saving and reopening, every sequence started at zero. ProjectView gains `playheads` (sequence id -> Tick), written beside the tabs and views and restored with them when "Restore open sequences when opening projects" is on. Files written before it have none and open as they did. Values from a file are not trusted: ids that are not sequences are dropped, playheads are clamped to 0..ProjectView::MAX_PLAYHEAD and snapped to a frame of their sequence. Tests: each_sequence_reopens_with_its_playhead_where_it_was_left (fails without the fix), hostile playheads in a_damaged_view_in_a_project_file_is_cleaned_up_or_ignored, a deleted sequence's playhead is not written, and the format round trip carries it. Also adds my contributor credit entry (people.toml). Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Qq8BK1LmohzE1ga4NgAdWM