The gesture is owned end-to-end by the dispatcher: the drag binding
routes to insertAction, which tracks the live bounds, paints the
preview through its overlay() surface, and commits via the insert
dep on release. <SceneCanvas> sources that dep from
useInsertDepSource; consumers wanting a custom node factory override
the dep (useDepSource('insert', …)) rather than the tool.
Grid snapping comes from the snap dep, also read by insertAction —
see SnapDep in interactions/actions/depSchema.ts.
Drag-to-draw rectangle tool.
The gesture is owned end-to-end by the dispatcher: the
dragbinding routes toinsertAction, which tracks the live bounds, paints the preview through itsoverlay()surface, and commits via theinsertdep on release.<SceneCanvas>sources that dep fromuseInsertDepSource; consumers wanting a custom node factory override the dep (useDepSource('insert', …)) rather than the tool.Grid snapping comes from the
snapdep, also read byinsertAction— seeSnapDepininteractions/actions/depSchema.ts.