From a8696f7195facda001920d287fad719131f11424 Mon Sep 17 00:00:00 2001 From: Oleh Omelchenko Date: Tue, 30 Jun 2026 17:00:51 +0300 Subject: [PATCH] Editor: TODO to lift the wireframe drag-math into core (eng-council) --- src/app/components/CompositionWireframe.tsx | 4 ++++ 1 file changed, 4 insertions(+) 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;