@willmotil indeed.
Here’s a gist that should be mostly complete:
I doubt it works out of the box, but it should be really close. Basically you pump a reference set of DecalFaces into Faces and then AddDecal does the work of clipping and appending that source data into a resolved set (as unindexed TRIANGLE_LIST).