Surfaces from nested boundaries

I’ve searched but can’t find a solution (or anyone asking the same question, which I thought strange).

How can we turn these curves:

nested boundaries.gh (4.7 KB)

Into these surfaces?

(This is just test geometry, the method should be absolutely watertight regardless of how many levels of nesting or curve contortion there are. Curves never overlap.)

This is equivalent to Rhino Hatch command (Hatch objects can be cast to Surfaces)

Except the Hatch GH component does not do island detection.

(Thread provoked by problem found here: Terrain generation for laser cutting - #35 by Tom_Newsom)

Boundary Surface work on that

I have a component in Nautilus that do that also.

And if someone needs a more useful tool, Clipper (1 and 2) are sorting curves in a PolyTree.

Well now I feel foolish!