Vector boolean operations for paperjs
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Vector boolean operations on paperjs objects. This is mostly written for clarity (I hope it is clear) and compatibility, not optimised for performance, and has to be tested heavily for stability.

(Looking up to Java's Area path boolean algorithms for stability, but the code is too complex —mainly because the operations are stored and enumerable, such as quadraticCurveTo, cubicCurveTo etc.; and is largely undocumented to directly adapt from)


  • paperjs Path and CompoundPath objects
  • Boolean Union
  • Boolean Intersection
  • Boolean Subtraction
  • Resolving a self-intersecting Path

Not supported yet ( which I would like to see supported )

  • Boolean operations between self-intersecting Paths
  • Paths are clones of each other that ovelap exactly on top of each other!

This is meant to be integrated into the paperjs library in the near future.

This has been integrated into paperjs library.

Harikrishnan Gopalakrishnan

Paperjs Copyright (c) 2011, Juerg Lehni & Jonathan Puckey