This is a great question! I miss this on core Processing for PShapes very much…
In Processing Java/Python modes you can have it using a library like Geomerative (installing it from the Add Library… panel in the IDE).
But it can be quite some trouble (drawing with its primitives, or importing SVG).
UPDATE: This was originally posted in the Processing category, now it was moved to p5.js.
From the libraries example:
shp1 = RShape.createRing(0, 0, 120, 50);
shp2 = RShape.createStar(0, 0, 100.0, 80.0, 20);
cursorShape = new RShape(shp2);
cursorShape.translate(mouseX - width/2, mouseY - height/2);
// Only intersection() does not work for shapes with more than one path
shp3 = RG.diff( shp1, cursorShape );
strokeWeight( 3 );
fill( 220 , 0 , 0 , 30 );
stroke( 120 , 0 , 0 );
fill( 0 , 220 , 0 , 30 );
stroke( 0 , 120 , 0 );
fill( 220 );
stroke( 120 );