fix(workflow): stop the coloured knob leaving a barb at each shoulder tip - #6632
Conversation
… tip The connection knob is a recolour of one stretch of the card outline, so its path has to be the outline's own path. Two things pulled it off: Its span was cut at the exact point the bulge falls under the visibility threshold, which is not one of the points the silhouette sampled — so the knob sat on a grid of its own. And a span clamped its first and last control points to the bare perimeter tangent, where the silhouette derives every control point from the samples either side of it, so those two segments bowed differently from the curve they were painted over. The knob was left still flat where the silhouette had already begun its descent, and the uncovered sliver of dark stroke read as a small spur poking off the shoulder. It is clearest on the Error output's outer shoulder, against the card's bottom-right corner. Measure the span against the interval the silhouette resamples the bulge over rather than in whole pixels, and sample a step wide on each side before trimming back, so every emitted segment has the neighbours the silhouette had. The knob's commands now come out identical to the silhouette's, which the tests pin — including for merged intervals and odd tab lengths, where measuring in whole pixels would still have landed half a step off. The painted footprint is unchanged.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryLow Risk Overview
Mount tests add Reviewed by Cursor Bugbot for commit d43332c. Configure here. |
Greptile SummaryThe PR aligns colored connection-knob paths with the workflow-block silhouette’s sampling grid and control points, preventing dark stroke remnants at knob shoulders.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| packages/workflow-renderer/src/workflow-block/workflow-block-border.tsx | Updates bulge-boundary quantization and span construction so colored knob Bézier segments match the underlying silhouette. |
| packages/workflow-renderer/src/workflow-block/workflow-block-border-mount.test.tsx | Adds regression coverage asserting that knob Bézier commands occur verbatim in the silhouette across normal and merged intervals. |
Reviews (2): Last reviewed commit: "fix(workflow): stop the coloured knob le..." | Re-trigger Greptile
Summary
Type of Change
Testing
Dumped the real painted path from a mounted
WorkflowBlockBorderand rendered it at 175x, before and after — the spur is gone from both shoulders and the shape is otherwise identical.Two tests pin the invariant that every coloured knob's bezier commands appear verbatim in the silhouette. Both fail on the unfixed code. The second covers merged resample intervals and an odd tab length, where measuring the span in whole pixels would still have landed half a step off.
Known limit, unchanged by this PR: a knob is painted from its own bulge alone while the silhouette takes the max over all of them, so two bulges tall enough to overlap genuinely part company. No port layout the editor builds puts them that close.
Not yet checked on a running canvas — only in the extracted path render.
Checklist