effectcraft/crates/ui-egui/tests
Claude 657f34d40b
Layers: with several layers selected, value edits, stopwatches and viewer Scale / Rotate change them all (#355, #491)
With several layers selected, After Effects applies a property edit to the same property of
every selected layer; we changed only the layer whose row was edited (the Properties panel
showed only the first selected layer), so a stopwatch switched on one layer and later moves
of the others had nothing to keyframe (#355), and scaling or rotating a selection changed
one layer (#491).

- Engine: `prop.set`, `prop.toggleAnimation` and `prop.toggleKey` take `selected: true`:
  the change also goes to the same property (by match path, `transform/scale`,
  `effects/<effect>#n/<param>`) of every other selected, unlocked layer whose value has the
  same kind, in one undo step (a scrub keeps folding into it through its `merge` key). With
  `offset: true` (a scrub) each layer changes by the same amount from its own value; a typed
  value sets them all. Position with Separate Dimensions is handled per layer.
- The Timeline, Properties and Effect Controls panels pass `selected` (and `offset` while a
  value is dragged). The Properties panel heads "(N) Selected Objects" (zh-CN / zh-TW / ja /
  uk rows).
- Viewer: a bounding-box handle drag scales every selected layer by the same ratio about its
  own anchor point; the Rotation tool turns them all by the same angle (one undo step).

Tests: engine test (stopwatch, scrub offset, typed value, keyframe button, one undo step,
unselected layers untouched); kittests: the Properties panel with three layers selected
(header, stopwatch on all three undone in one step, a scrub moving all three by the same
amount) and a handle drag scaling two selected layers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiAJeFttZp83Fh7YuzAR5f
2026-10-10 21:23:36 +00:00
..
render_queue_snapshot.rs M10.2: Render Queue completeness (render settings, output module, templates, logs, overflow, notify) 2026-10-03 04:55:31 -04:00
ui_3d.rs Viewer: the 3D Renderer menu shows the comp's renderer and switches it (#307) 2026-10-10 19:16:36 +00:00
ui_agent_audit.rs Release gate: the agent-audit test builds in release mode 2026-10-06 08:37:01 +07:00
ui_angles.rs UI: clicking into a value or inline text field selects all of it (#170) 2026-10-07 14:23:18 +07:00
ui_audio_scrub.rs Tests: four failures on Windows (autosave paths, GPU viewer adapter, audio preview race) 2026-10-10 16:36:52 +05:30
ui_blank_context_menus.rs Timeline: property names have the property menu (#407) 2026-10-09 22:52:56 +07:00
ui_camera_tracker.rs Let pan and zoom work while 3D Camera Tracker points are shown (#505) 2026-10-10 19:31:51 +02:00
ui_color_hex.rs UI: one After Effects-style colour picker with a hex field for every colour input 2026-10-10 19:26:20 +01:00
ui_drag_drop.rs Import: numbered stills import as stills unless the Sequence option is on; dropped folders make sequences (#431) 2026-10-10 19:48:25 +00:00
ui_effect_controls.rs Effect Controls: file parameters get Choose…, Apply Color LUT asks for its LUT on apply, and text parameters get a field (#514, #473) 2026-10-10 19:48:25 +00:00
ui_font_search.rs UI: add inline font family search in Character and Properties 2026-10-10 17:14:06 +03:00
ui_fx_editors.rs M3.15: Timeline tabs per open comp; Project double-click opens; tab drag insertion mark 2026-10-05 11:58:19 +07:00
ui_gpu.rs Tests: four failures on Windows (autosave paths, GPU viewer adapter, audio preview race) 2026-10-10 16:36:52 +05:30
ui_inline_edit.rs UI: Arabic, Hebrew, Indic and Thai names can be typed and are drawn (#394) 2026-10-10 00:53:21 +07:00
ui_keyframes.rs Layers: with several layers selected, value edits, stopwatches and viewer Scale / Rotate change them all (#355, #491) 2026-10-10 21:23:36 +00:00
ui_large_project.rs M13.14: performance section with before/after numbers; test tidy 2026-10-03 12:17:46 -04:00
ui_live_preview.rs UI: keep live previews updating during rapid edits 2026-10-09 19:06:17 +03:00
ui_locked_color.rs Locked viewer: re-convert pixels when the display profile or output simulation changes (#546) 2026-10-10 19:12:02 +02:00
ui_menus.rs Relink missing footage by scanning a folder for compatible files. 2026-10-10 04:37:44 +11:00
ui_panel_focus.rs Dock: a panel dropped on a stacked panel becomes a tab in its frame, as in After Effects (#302) 2026-10-10 21:22:38 +00:00
ui_panels.rs Merge branch 'fix/f3': community issue fixes 2026-10-10 19:48:24 +00:00
ui_parameter_spacing.rs UI: Effect Controls and the Timeline have no parameter row separators, as in After Effects (#402) 2026-10-09 22:13:31 +07:00
ui_preview_align.rs M4.12: never crash: hostile input in New Comp from Selection, an empty work area in Cache Frames When Idle 2026-10-05 06:30:46 +07:00
ui_project_delete.rs Project: a Cut is read with the modifiers held where it is in the frame (#484) 2026-10-09 19:55:48 -04:00
ui_project_rows.rs #360: the Project row menu's New Comp from Selection uses the whole selection 2026-10-10 19:16:03 +00:00
ui_ram_preview.rs Cache bars: cached frames show at 1/3 resolution (#595) 2026-10-10 19:32:18 +00:00
ui_render_queue.rs Render Queue: clicking the Output To file name opens a save dialog (#192) 2026-10-07 20:29:29 +07:00
ui_script_console.rs M14.4: scripting tests for layer/comp settings, import + save, console snapshot; Project.saveAs 2026-10-02 22:18:11 -04:00
ui_scriptui.rs Plug-ins: Ease Presets moves out of core into a bundled ScriptUI panel 2026-10-09 21:03:12 +07:00
ui_scrolling.rs Settings: the dialog no longer scrolls sideways (#284) 2026-10-09 18:34:27 +07:00
ui_settings_info.rs G2: return to Settings after dismissing GPU Information 2026-10-10 08:46:03 +10:00
ui_tabs.rs Dock: a panel dropped on a stacked panel becomes a tab in its frame, as in After Effects (#302) 2026-10-10 21:22:38 +00:00
ui_tail.rs M13.5: Layer Style dialog 2026-10-03 00:11:19 -04:00
ui_text_edit.rs UI: Commit text edit session when switching away from Type tool 2026-10-09 12:17:13 +07:00
ui_timeline_shapes.rs Shapes: Tools bar Tool Creates Shape / Mask and Fill / Stroke Options (#227) 2026-10-08 13:03:38 +07:00
ui_timeline_switches.rs Labels: label menus show each label's colour (#290) 2026-10-09 17:21:12 +07:00
ui_timeline_zoom.rs Merge branch 'fix/f4': community issue fixes 2026-10-10 20:00:37 +00:00
ui_tracker.rs M12.3: tracker panel + apply 2026-10-02 08:52:20 -04:00
ui_viewer.rs Layers: with several layers selected, value edits, stopwatches and viewer Scale / Rotate change them all (#355, #491) 2026-10-10 21:23:36 +00:00
ui_viewers.rs Viewer: a locked viewer keeps its comp when the Project panel opens another (#156) 2026-10-07 13:44:46 +07:00
ui_visual_review.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
ui_web_gpu_storage.rs M4.14: content-keyed RAM preview frames; proxies in the disk cache's content key 2026-10-05 14:39:17 +07:00
ui_web_job_gpu.rs Export: a Render Queue job renders every frame on the project's renderer (#414) 2026-10-09 22:26:17 +07:00
ui_web_offload.rs M4.14: content-keyed RAM preview frames; proxies in the disk cache's content key 2026-10-05 14:39:17 +07:00
ui_workflow_selection.rs Timeline: Shift-clicking layer bars selects the range (#284) 2026-10-09 16:59:53 +07:00
viewer_passive_display.rs Viewer: passive Composition viewers apply the monitor color conversion (#547) 2026-10-10 19:11:00 +02:00