effectcraft/crates/engine
bflatastic 8ef1a28bc4 Viewer: drop Project items, files and effects onto the comp (#85, #88)
The Composition viewer ignored drags from other panels. Now, as in After
Effects:

- A Project item dropped on the viewer becomes a layer centred where it
  lands (above the selected layer, like any new layer); while dragging, the
  viewer is outlined and the layer's frame follows the pointer.
- Media Browser files do the same; files dropped from the OS file manager
  do too when the platform reports where the pointer is during the drag
  (otherwise they import as before).
- An effect from Effects & Presets goes on the layer under the pointer,
  which is outlined while dragging.

layer.addItem and layer.newModel take `position` ([x, y] comp px).
file.import takes `addToComp` with `time`, `index` and `position`;
mediaBrowser.import shares it (file::add_to_comp): layered files go in as
their comps, the comp they were dropped in stays open, and items that
can't be layers are reported in `errors`. viewer::layer_at is the hit
test pick() and the drop share.

Tests: ui_drag_drop.rs (project item and effect dropped on the viewer)
and imported_files_go_into_the_comp_where_they_were_dropped (engine).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 02:31:13 +07:00
..
presets M9.6: text animation depth (selectors, animator properties, per-char 3D, path text, presets) 2026-10-02 00:01:19 -04:00
scripts M13.1: ScriptUI frontend (dialogs, palettes, dockable panels), script menus, example plug-in, docs 2026-10-03 04:24:01 -04:00
src Viewer: drop Project items, files and effects onto the comp (#85, #88) 2026-10-07 02:31:13 +07:00
Cargo.toml M13.35: Roto Brush trained model — swappable segment module, MobileSAM in pure Rust 2026-10-05 17:55:02 +07:00