it has a few issue, the biggest is it can create t junction when recombing the meshes, looking to see if there's a suitable solution. Also moved from the slice modifier to the polyops.slice makes it considerably faster.
try this (convex only though so concave would need to split into convex then recombined after being wrapped individually)... -- creates a ray point along the edge fn getEdgeRay msh edg = ( ze = edg - 1; a = (mod ze 3) + 1; b = mod a 3; fverts = getface msh (ze/3 + 1); v0 = getvert msh fverts[a]; v1 = getvert msh fverts[b +…