The C++ backend of IGL supports 2D cases in SDF and winding number (except for fast-winding number). However, the bindings have the assert that raises the following error on the 2D data:
ValueError: Invalid mesh vertices, v must have shape [#vertices, 3] but got v.shape = [25, 2]