Boolean operators for 2d geometries

Is there a lib or plugin I can use to merge (union) 2 pieces of 2d shapes (like a circle and a rectangle), without self-intersections? I’ve already tried ThreeBSP, but it doesn’t work, only with 3d objects that have volume (like boxes and spheres)



Seems to be exactly what I need! Thank you!

Another option: [Closed] How to split/separate a single ShapeGeometry into individual Geometries base on faces?