Text tool. Drag-rect insertion is owned end-to-end by the dispatcher's
insertAction (kind: 'text'); click-on-selected-text-node enters edit
mode via the enterTextEdit action.
Consumers must register both the insert dep (e.g. through
SceneCanvas's useInsertDepSource) and the textEdit dep
(enterTextEditAction's contract — see
src/interactions/actions/defaults/enterTextEdit.ts). Custom node
factories and hit gating belong on those deps, not on the tool.
Text tool. Drag-rect insertion is owned end-to-end by the dispatcher's
insertAction(kind:'text'); click-on-selected-text-node enters edit mode via theenterTextEditaction.Consumers must register both the
insertdep (e.g. throughSceneCanvas'suseInsertDepSource) and thetextEditdep (enterTextEditAction's contract — seesrc/interactions/actions/defaults/enterTextEdit.ts). Custom node factories and hit gating belong on those deps, not on the tool.