v0.14.3 — frame rate was wrong by 2x on mixed-format projects
Second bug found dogfooding the same real music video.
A 3840x2160 timeline at 23.98 fps, in a project holding one 25p drone clip, parsed as 50.0 fps. The parser overwrote its frame rate from every <format> in resources, so whichever came last in the file won — it never resolved the sequence's own format attribute.
The wrong header was the visible symptom. The real problem is downstream: Timecode.frame_rate drives total_frames and to_smpte(), so every seconds-to-frames conversion was off by that factor.
164 seconds -> 8200 frames (wrong, at 50.0)
164 seconds -> 3932 frames (right, at 23.976)
Anything placing a cut or a marker on a specific frame was computing against a rate the timeline never had. Snapping a cut to a beat would have landed on the wrong frame.
The sequence's format is now resolved to its <format> element and that rate wins, applied before any Timecode is constructed. An unresolvable format falls back to the first declared, which is conventionally the sequence's own.
Closes #15.
Full Changelog: v0.14.2...v0.14.3