Describe the dimension, pixel-preservation and extreme-input scenarios and
their synthetic-frame helper to address the review's documentation warning.
Test logic and the crop/resize implementation are unchanged.
AI assistance: OpenAI Codex (GPT-6).
"Warn User When Executing Files" said the cursor, not the user, was warned.
The other 27 rows give the same English term one Japanese spelling in the
menu table and another in the UI table (track/tracking, Region of Interest,
Time Remapping, Separate Dimensions, Stabilize Motion, Hold, Brightness,
Vector Layer, Small Screen, Straight, Expression and a few more), or read
awkwardly ("({}) Selected Objects", "Interpret Unlabeled Alpha As"). Each
now follows the spelling the rest of the file already uses. Only Japanese
values change; no key or English text does.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K5NRZNWfaSLBWVzV8hivyS
Dragging an integer setting applied every step, so UI Scale resized the
interface under the pointer mid-drag. A dragged value now shows in its
field and applies when the button is released (a typed one already
waited for Enter).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The test opened its project before the window existed, so its 'GPU' frames could be the ones the CPU composited while the compositor was built. It now waits for the compositor (ui_gpu::wait_for_compositor, made pub(crate)) and then opens the project, as the PR does for ui_gpu.rs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A docked ScriptUI panel only ever saw its preferredSize: the host drew
it in a scroll area at max(dock, preferred) and the script's window never
learned the dock. scriptui.resize now gives a window a size: the script's
window takes it, lays itself out again and runs onResizing / onResize.
The dock host sends it whenever the panel's dock size changes, so
window.size is the dock's, as in After Effects.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Clicking an effect, Layer Style, mask or shape item row in the Timeline
always replaced the selection, so one animation preset couldn't hold
several effects and styles. Shift or Cmd/Ctrl now adds the group to the
selection, or takes a selected one out, as property rows and Effect
Controls headers already do.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The equal-radii and zero fallback branches wrote a bare number where the
uniform branch (and every other Value field) writes `{a, k}`; external
players may reject that form even though our importer reads it. Write
`{"a": 0, "k": value}` in both branches and update the export assertions.