Per-frame result a MoveBehavior.onMove can return.
transform is the new uniform-group-transform channel: the gesture applies
it to every dragged id, eliminating multi-select drift.
pose is the legacy channel: a primary-id-only override. The hook routes
it through a back-compat shim that derives a translate transform from
the pose diff against origin.get(primaryId). Prefer transform in new
behaviors; pose will be removed after one release cycle.
snap announces a visual snap target; unchanged from the legacy contract.
Per-frame result a
MoveBehavior.onMovecan return.transformis the new uniform-group-transform channel: the gesture applies it to every dragged id, eliminating multi-select drift.poseis the legacy channel: a primary-id-only override. The hook routes it through a back-compat shim that derives atranslatetransform from the pose diff againstorigin.get(primaryId). Prefertransformin new behaviors;posewill be removed after one release cycle.snapannounces a visual snap target; unchanged from the legacy contract.