Assume one has a constrained Delaunay triangulation like in here:'
https://www.researchgate.net/figure/Results-of-three-steps-constrained-Delaunay-triangulation-in-a-simple-vague-region-a_fig8_225854833

I know exactly how to process a and get c.
But if you have a shape like C, how can you detect whether an edge/face is inside one of the close contours so that you can delete it?
Assuming your constrained curves are manifold and oriented: For each constrained edge, iterate through all edges sharing that edge's start vertex, starting from the next edge CCW of that edge, in CCW order. Delete all edges until you hit another constrained edge.