OptionalcascadeWhen set, setPose(id, ...) on a container node cascades the translation
to every descendant. Scene v1 stores absolute poses, so dragging a
container needs to translate its children to keep them visually attached
to their parent. Pass 'rect' to use the built-in translateRectPose
(works for any TPose extends { x: number; y: number }); pass a custom
(pose, dx, dy) => pose for non-rect pose shapes. Omit to leave setPose
primitive — containers move but their descendants don't follow.
OptionalcommitFactory for new objects. Returning null aborts the insert.
OptionalinsertLayer to place inserted nodes on. Defaults to the trivial-form layer.
OptionallayoutsLayout strategies keyed by container node id. When a container is
configured here, move runs its layout-aware pass on drag (reflow on
enter, reflow leftovers on exit, reparent + write reflowed poses on
commit). Containers without an entry behave as plain parents. Pass
either a static map, or a getLayout(id) function for dynamic
resolution.
OptionalposeProject a pose to an AABB for hitTestArea. Default: identity (works
when TPose carries top-level x/y/width/height). Override for non-rect
poses.
OptionalselectionSelection source for AreaSelectAdapter.getSelection / setSelection.
Pass the result of useSelection() (or its adapterMethods). When
omitted, getSelection returns [] and setSelection is a noop —
fine for read-only or selection-less canvases, but the marquee gesture
won't update any external selection state.
Optional extras for the synthesized adapter. Pass
commitInsertto wire the insert gesture into a Scene-owned canvas; the returned object becomes a leaf on the layer named bylayer(default'default').