Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D shapes and paths. It functions as a vector animation framework and a headless vector graphics engine, allowing for the execution of graphics operations in both browser and server-side environments.
The project features a dedicated SVG import and export engine to convert between native vector items and the SVG format. It includes a specialized boolean path operation toolkit for uniting, subtracting, and intersecting vector paths to create complex geometric shapes.
The library covers a broad range of capabilities including computational geometry, scene-graph based object modeling, and graphic layer management. It provides tools for vector path smoothing, curve flattening, and hit detection for interactive element intersection.
The software supports headless logic execution in non-browser environments through the use of DOM shims.