diff --git a/src/app/components/CompositionWireframe.tsx b/src/app/components/CompositionWireframe.tsx index c8f6cb0..a1c56df 100644 --- a/src/app/components/CompositionWireframe.tsx +++ b/src/app/components/CompositionWireframe.tsx @@ -282,6 +282,10 @@ function WireframeTree({ tree }: { tree: ViewNode }) { [tree, rectOf], ); + // TODO: the drag-math cluster (edgeOf + dropTargetNode + this zone classifier) is pure + // decision logic — given pointer, child rects, orientation and paths it returns a commit or + // null — but lives in the component, tested only through happy-dom rect stubs. Lift it into a + // core function tested without a DOM when a second draggable surface appears (eng-council). const resolveDrop = useCallback( (x: number, y: number, source: ViewNode, pair: boolean): DropResolution | null => { const sourcePath = source.path;