fn triangulate_surface(points: &[Point3D]) -> (Vec<Triangle>, Vec<bool>)Expand description
2D Delaunay triangulation of surface points
This matches MATLAB’s approach: tri = delaunay(x, y)
Triangulates on x,y coordinates, treating z as a height field.
Points must have unique (x,y) coordinates (caller should deduplicate first).
Returns (triangles, boundary_flags) where boundary_flags[i] is true if vertex i is on the convex hull boundary (matching MATLAB’s freeBoundary).