TOAD & Fischland on Mac OS X

Porting the code for boolean operations on paths in Paper.js to C++ turned out too hard.

But there are quite a few documented algorithms available for this:

1974 "Reentrant polygon clipping", Sutherland and Hodgemann (convex clip polygon)
1980 "Polygon comparison using graph representation", Weiler
1982 "Plane-sweep algorithms for intersecting geometric figures", Nievergelt and Preparata
1983 "An analysis and algorithm for polygon clipping", Liang and Barsky
1989 "An algorithm for computing the union, intersection or different of two polygons", Margalit and Knott
1989 "Algorithm for clipping arbitrary polygons", Andereev
1992 "A generic solution to polygon clipping", Vatti
1998 "Efficient clipping of arbitrary polygons", Greiner and Hormann
2005 "A new algorithm for Boolean operations on general polygons", Yu Peng et al.
2007 "An algorithm for polygon clipping, for determining polygon intersections and unions", Liu et al.
2009 "A new algorithm for computing Boolean operations on polygons", F. Martínez et al.
2012 "An efficient algorithm for clipping operation based on trapezoidal meshes and sweep-line technique", Wang et al.
2013 "A simple Algorithm for Boolean operations on polygons", F. Martínez et al.

And I picked the most recent and F. Martínez was kind enough to mail me a copy of their C++ library which I'm now going to adapt to TOAD's data structures and bézier splines.