Replace ShiftHighCrossingVerticals with SimplifyEdgePaths in layout pipeline

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-04-06 10:26:53 +03:00
parent 541a2c3a12
commit 927fd9c9d6

View File

@@ -261,9 +261,7 @@ public sealed class ElkSharpLayeredLayoutEngine : IElkLayoutEngine
// 2. Iterative multi-strategy optimizer (replaces refiner + avoid crossings + diag elim + simplify + tighten)
routedEdges = ElkEdgeRouterIterative.Optimize(routedEdges, finalNodes, options, cancellationToken);
routedEdges = ElkEdgePostProcessor.SpreadOuterCorridors(routedEdges, finalNodes);
var minLC = finalNodes.Where(n => n.Kind is not "Start" and not "End").ToArray() is { Length: > 0 } svc
? Math.Min(svc.Average(n => n.Width), svc.Average(n => n.Height)) / 2d : 50d;
routedEdges = ElkEdgePostProcessor.ShiftHighCrossingVerticals(routedEdges, finalNodes, minLC);
routedEdges = ElkEdgePostProcessorSimplify.SimplifyEdgePaths(routedEdges, finalNodes);
ElkLayoutDiagnostics.LogProgress("ElkSharp layout optimize returned");
return Task.FromResult(new ElkLayoutResult