Placement API

Svelte Placement controller binding, preview snippet, and cancellation props.

Pass a core PlacementController<T> to Placement. The component listens at window scope and renders preview(snapshot) inside an absolute wrapper. The controller mutates wrapper geometry and data-allowed directly, so the snippet must not apply pointer-follow transforms through Svelte state.

cancelOnOutside, cancelOnSecondaryButton, and cancelOnEscape default to true. Creation and persistence belong in the controller’s onCommit callback.