Repository navigation
fix(annotations): refit frame text whenever the Auto frame changes shape - #1262
Conversation
applySettingsPatch refitted frame annotations only when the patch carried aspectRatio. Under Auto, the default format, the frame shape also follows the device frame, the padding and the camera layout, so a Frame style change (Monitor: 1.747 to 1.343 on a 16:9 take) left a text box at its share of a narrower frame: the compositor wrapped its words and the box cut them, in the preview and the export. Refit whenever the resolved shape changes, whatever key the patch carries.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
|
Perf: no per-frame or per-scene-build cost. The check runs only on a settings write (slider moves included), never in Measured in Node, per settings write under Auto:
|
A text annotation now keeps its words when a Frame style or padding change reshapes the Auto frame. Found in the v2.1.0-rc.1 Windows pass (#1258): the title wrapped and was clipped, in the preview and the export.
Cause
applySettingsPatchrefitted frame annotations only when the patch carriedaspectRatio.autoFormatAspect). Monitor takes a 16:9 take from 1.747 to 1.343.Fix
refitFrameAnnotationsalready returns early when the shape is unchanged.applySettingsPatch, so both get it.Not a regression of this cycle. v2.0.0 has the same gate (
useEditorSettings.tsat the tag), with frame-space text and Auto shaped by the device frame.Proof on exported frames. Same 1920×1080 take, a 64 px bold title on a plate, fitted under Auto with no frame, then Frame = Monitor. Both documents exported by the installed 2.1.0-rc.1 CLI (the renderer is untouched here), 1450×1080, frame at 1.5 s:
Tests.
settingsPatch.test.ts: a device frame and a padding change under Auto (both fail before the fix), and a fixed format left alone.Not covered. Under Auto the frame also reshapes when clips change (a crop of the first clip, a new first clip); those paths still do not refit. The live editor preview was not driven by hand; it draws the same document through the same compositor.
🤖 Generated with Claude Code
Summary by CodeRabbit