Re: [svgwg] SVG 2 spec section 13.5.7 (probably) incorrect for miter-clip (and arcs?) (#745)

I:

1. Am not a person entrusted with writing specs and
2. Have not yet implemented the arcs part of my project. 

However, I've done enough research about recent thinking about these joins to know that solutions with continuity of result relative to continuity of parameter -- [often demonstrated with an animation](http://tavmjong.free.fr/SVG/LINEJOIN_STUDY/) -- tend to "win" over other options. So about this from earlier: 

> For the arcs line join, the equivalent should be specified although this not as nice as the transition between clipping perpendicular to the circular arc (as specified) does not smoothly transition to a bevel but this should lead to a rather small discontinuity (if animated).

Thinking about this, here is an illustration of a "full" arcs join with its bevel line: 

![a1](https://user-images.githubusercontent.com/6175836/67260596-0088bb80-f451-11e9-8d21-0c6005db56cf.png)

If the Miter Limit corresponds to a line where both points of the "clip line" intersect the curve to the left of the bevel line, that's easy: just use the bevel line. If both points of the clip line intersect the curve to the right of the bevel line that's also easy: use that line. The question is what to do when the intersection points are on different sides of the bevel line. 

If the best result is a continuous one the solution seems pretty straightforward: For the point "behind" (in this case to the left of) the bevel line, substitute its bevel point. So in the "virtual animation" the chosen line is the clip line until one end reaches the bevel line, then that point stays and the other point continues back (according to the clip line) until it reaches its bevel point, and lower values stay like that. 

-- 
GitHub Notification of comment by skef
Please view or discuss this issue at https://github.com/w3c/svgwg/issues/745#issuecomment-544810789 using your GitHub account

Received on Tuesday, 22 October 2019 05:32:00 UTC