Fix EndSink highway: skip group when no horizontal overlap exists

DetectEndSinkGroups was forming highways for edges at different Y
levels with NO shared corridor. The fallback (line 1585) used
min-MaxX as collector when overlap detection failed, creating a
false highway that truncated individual edge paths.

Fix: skip the group entirely when TryResolveHorizontalOverlapInterval
returns false. Edges at different Y levels render independently.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-04-02 13:58:03 +03:00
parent 6b027a7742
commit 959afb6d21

View File

@@ -1582,8 +1582,9 @@ public sealed class WorkflowRenderSvgRenderer
out var corridorStartX,
out var collectorX))
{
collectorX = corridorIntervals.Min(interval => interval.MaxX);
corridorStartX = corridorIntervals.Max(interval => interval.MinX);
// No shared horizontal overlap — don't form a highway.
// Edges at different Y levels should render independently.
continue;
}
if (collectorX <= corridorStartX + 18d)