This is a very useful library for a project I'm prototyping, but I saw some unexpected behavior while attempting to perform a difference operation. I included an image of the paths, including the desired and actual results.
Start with an L-shape:
[[{"X":96,"Y":32},{"X":128,"Y":32},{"X":128,"Y":96},{"X":32,"Y":96},{"X":32,"Y":64},{"X":96,"Y":64}]]
Attempt to cut this box away:
[[{"X":128,"Y":96},{"X":64,"Y":96},{"X":64,"Y":64},{"X":128,"Y":64}]]
End up with this, which has a width 0 bridge connecting two squares:
[[{"X":128,"Y":64},{"X":64,"Y":64},{"X":64,"Y":96},{"X":32,"Y":96},{"X":32,"Y":64},{"X":96,"Y":64},{"X":96,"Y":32},{"X":128,"Y":32}]]
What I would expect is just the two squares:
[[{"X":128,"Y":32},{"X":128,"Y":64},{"X":96,"Y":64},{"X":96,"Y":32}],[{"X":64,"Y":96},{"X":32,"Y":96},{"X":32,"Y":64},{"X":64,"Y":64}]]
If I perform a similar operation rotated 180 degrees I see the same undesired bridge, but this is not the case for if the paths are rotated 90 or 270 degrees.
Hi, Thanks for reporting. This issue is true in 6.2.1.2. The upcoming 6.4.2.1 fixes this problem.
6.2.1.2:
[[{"X":128,"Y":64},{"X":64,"Y":64},{"X":64,"Y":96},{"X":32,"Y":96},{"X":32,"Y":64},{"X":96,"Y":64},{"X":96,"Y":32},{"X":128,"Y":32}]]
6.4.2.1:
[[{"X":128,"Y":32},{"X":128,"Y":64},{"X":96,"Y":64},{"X":96,"Y":32}]]