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:
@@ -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)}");
|
||||
|
||||
Reference in New Issue
Block a user