Convex corners were being miter-joined (lines extended to a point)
because IntersectsUnbounded always finds an intersection for non-parallel
lines. Now checks the cross product of original line directions to detect
convex corners and inserts an arc instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>