Sharp corners for tight doglegs (both segments < 30px)

When both segments at a bend point are under 30px, the curved corner
radius creates a visible S-curve artifact. Using r=0 (sharp 90-degree
corner) eliminates the kink. Smooth curves reserved for longer segments.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-04-02 16:18:21 +03:00
parent c273104473
commit 6c70c6bd20

View File

@@ -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)}");