diff --git a/src/Router/StellaOps.Gateway.WebService/appsettings.json b/src/Router/StellaOps.Gateway.WebService/appsettings.json index 129252b1c..6f2a47df1 100644 --- a/src/Router/StellaOps.Gateway.WebService/appsettings.json +++ b/src/Router/StellaOps.Gateway.WebService/appsettings.json @@ -30,7 +30,7 @@ } }, "Routing": { - "DefaultTimeout": "30s", + "DefaultTimeout": "60s", "MaxRequestBodySize": "100MB", "StreamingEnabled": true, "PreferLocalRegion": true, diff --git a/src/__Libraries/StellaOps.ElkSharp/ElkEdgeRouterIterative.WinnerRefinement.Hybrid.cs b/src/__Libraries/StellaOps.ElkSharp/ElkEdgeRouterIterative.WinnerRefinement.Hybrid.cs index 47a8e8ad9..9211fa15b 100644 --- a/src/__Libraries/StellaOps.ElkSharp/ElkEdgeRouterIterative.WinnerRefinement.Hybrid.cs +++ b/src/__Libraries/StellaOps.ElkSharp/ElkEdgeRouterIterative.WinnerRefinement.Hybrid.cs @@ -319,30 +319,13 @@ internal static partial class ElkEdgeRouterIterative var src = cpath[0]; var tgt = cpath[^1]; var stubX = src.X + 24d; - var tgtNode = nodesById.TryGetValue(edge.TargetNodeId ?? string.Empty, out var tn) ? tn : null; - - // Both corridors go ABOVE the graph but with large vertical - // separation (2x nodeSizeClearance) so they're visually distinct. + // Large vertical separation (2x nodeSizeClearance) between + // corridors so they're visually distinct. Simple vertical + // drop to target — no right-side wrapping that congests + // the area near the End node. var localCorridorY = baseCorridorY - (corridorFixed * (nodeSizeClearance * 2d)); List newPath; - if (tgtNode is not null && tgtNode.Kind is "End") - { - // Enter End from the right side at a distinct Y position. - var rightApproachX = tgtNode.X + tgtNode.Width + 24d + (corridorFixed * (nodeSizeClearance + 4d)); - var slotFraction = corridorFixed == 0 ? 0.33d : 0.67d; - var entryY = tgtNode.Y + (tgtNode.Height * slotFraction); - newPath = - [ - src, - new() { X = stubX, Y = src.Y }, - new() { X = stubX, Y = localCorridorY }, - new() { X = rightApproachX, Y = localCorridorY }, - new() { X = rightApproachX, Y = entryY }, - new() { X = tgtNode.X + tgtNode.Width, Y = entryY }, - ]; - } - else { newPath = [