Open bacchanalia opened 5 years ago
I think something must be a little off in the direction of the paths that come from B.difference
. If I reverse the result of the B.difference
it works:
ex3 = stroke $ B.union Winding $ rose 1 3 <> (reversePath $ B.difference Winding (circle 2) (circle 1.9))
Ah, right @fryguybob , that jogged my memory. There was this similar bug that is now fixed: https://github.com/diagrams/diagrams-contrib/issues/67 but in general it seems this is a known issue with cubicbezier
: https://github.com/kuribas/cubicbezier/issues/6 .
Since there hasn't been any movement on this on the cubicbezier side, I'd like to fix this on the diagrams side, but I'd like some feedback on what the desired behaviour is. I can think of two reasonable interpretations:
I think option (2) actually requires the improvements to segmentSegment discussed in diagrams-lib issue #323 in order to be able to map sections of output looks back to input loops.
In the following code ex3 should be the union of the the star with the ring, but instead union just returns the equivilent of ex2.