Curve networks can be converted into surfaces with a process based on Developable Surfaces from Arbitrary Sketched Boundaries. Every surface mesh made this way is developable at creation i.e. it can be flattened from a 3D shape into a 2D plane without stretching or distortion.

The starting point for developing is a single face extracted from a larger curve network. At this stage, only the boundaries of the face are defined, there is no knowledge about the surface geometry.

Next all freeform curve edges are segmented into lines. All existing line edges are kept as is. The segmentation interval matches the spacing of the connectivity elements used in the construction process.

A convex hull of the segmented face is created with Quickhull algorithm. Or in a planar 2D case, with Delaunay triangulation.

If the input polyline lies completely on the convex hull, it can be used to split the hull into exactly two 'envelopes'. The smoother one i.e. the surface with more consistent dihedral angles across all internal edges will be selected as the final surface.

If the hull can't be split into two envelopes, a piecewise approach is used, where developable sections of the surface are searched one by one and combined in the end.

The subsurfaces are separated from the original convex hull by interior triangles, i.e. triangles who don't have any edges on the input polyline. Once some suitable surfaces are found, they are substracted from the original polyline and the process repeats with the remaining section.

The search happens on a tree of partial surface elements. A branch with the highest potential for a valid solution is expanded first, until success or failure.

Once an acceptable solution is found, the surface can be flattened by rotating both sides of each internal edge until their face normals align.