diff --git a/src/Workflow/__Libraries/StellaOps.Workflow.Renderer.Svg/WorkflowRenderSvgRenderer.cs b/src/Workflow/__Libraries/StellaOps.Workflow.Renderer.Svg/WorkflowRenderSvgRenderer.cs index 812e3558e..b4d518bae 100644 --- a/src/Workflow/__Libraries/StellaOps.Workflow.Renderer.Svg/WorkflowRenderSvgRenderer.cs +++ b/src/Workflow/__Libraries/StellaOps.Workflow.Renderer.Svg/WorkflowRenderSvgRenderer.cs @@ -2089,6 +2089,13 @@ public sealed class WorkflowRenderSvgRenderer var lenOut = Math.Sqrt((dxOut * dxOut) + (dyOut * dyOut)); var r = Math.Min(radius, Math.Min(lenIn / 3d, lenOut / 3d)); + // Sharp corner for tight doglegs: when both segments are short, + // a curved corner creates a visible S-curve. Sharp is cleaner. + if (lenIn < 30d && lenOut < 30d) + { + r = 0d; + } + if (r < 0.5d || lenIn < 1d || lenOut < 1d) { builder.Append($" L {Format(curr.X + offsetX)},{Format(curr.Y + offsetY)}");