detachAll method

void detachAll(
  1. SessionExit exit
)

THE teardown site: every behavior's release, dispatched on exit, then the session-common resources, being the scroll subscription and the dragged row's eviction pin. A new behavior joins teardown by one edit here.

The commit's make-room SNAP is deliberately absent: it must precede the mutation, so the commit script owns it. The pointer channel is controller-owned and nulled by the caller.

Implementation

void detachAll(SessionExit exit) {
  autoScroller.detach(exit);
  pointerSpace.unbindScroll();
  dwell.detach(exit);
  makeRoomDriver?.detach(exit);
  settler?.detach(exit);
  renderPort.unpinNode(draggedKey);
}