OptionaldesiredAnchor?: { x: number; y: number }Anchor to use on the DESIRED face (bundle distribution or the ridden eport offset); other candidate faces use their centers.
OptionalfixedCenter?: { x: number; y: number }VR-7: the FIXED endpoint's true geometry (center + half), so a fully jammed moved-face sweep can re-anchor the fixed end on a perpendicular face (the 12px-corridor drop from the owner screenshots).
OptionalfixedHalf?: { h: number; w: number }
Attachment-level drag policy (supersedes resolveDragRoute inside onDrag; resolveDragRoute remains the bends-only surface the flipped round-1 oracles pin). Adds two behaviors the second e2e run demanded: (1) when the desired face cannot route (its stub sealed in by a neighbor: the "c.adcs crosses imager" failure came from an UNCHECKED fallback after a router null), CANDIDATE FACES are tried in order (desired, original, remaining two) before any unchecked fallback; (2) the anchor on the desired face can be a distributed bundle position rather than the face center.