Improve editor placement and selection workflows (#543)

* feat: expose accepted canvas node selections

* feat(editor): replace bulk delete alert with dialog

* fix(editor): allow immediate selection after opening placement

* feat(spawn): preview model during placement

* feat(editor): add cross-project selection clipboard

* fix(editor): harden placement and clipboard previews

* fix(editor): preserve carried clipboard state

* fix(editor): replace active paste drafts safely
This commit is contained in:
Aymeric Rabot
2026-07-24 15:35:10 +02:00
committed by GitHub
parent b95d737eb6
commit 99812cd4cb
20 changed files with 932 additions and 157 deletions
+11
View File
@@ -41,6 +41,17 @@ interface NodeEvent<T extends AnyNode = AnyNode> {
Grid events only carry `position` and `nativeEvent` (no `node`).
## Selection Intent Events
`selection:canvas-node-click` fires after the editor accepts a 2D or 3D node
click and resolves the node that selection actually targets. Hosts can use it
for contextual navigation without reacting to programmatic `setSelection`
calls. The payload is the resolved `AnyNode`.
`selection:find-node` is the explicit reveal intent emitted by the node action
menu. Hosts and plugins that own catalogs or panels listen to it and reveal the
node's related controls or presets.
## Emitting
Renderers emit via `useNodeEvents` — never call `emitter.emit` directly in a renderer: