Thanks! I’ve used that in the past, when working on curve evaluation and editing for geometry nodes last year. I think the section on B-splines has been expanded since I last looked at it. That’s a great explanation.
Good to hear! There is some discussion going on over here: Better curve surface support. Generally the implementation of surfaces in Blender is quite old, and it is also stored in the same Curve
data-block used for the existing/legacy curve object type. I’d push for a proper data-block for surfaces, and a bit of a rewrite.
Beyond that, I’m sure it’s possible to improve the evaluation of NURBS curves, and that would be a smaller project. If you have some time soon, and experience with C++, we’re working on evaluation for the new Curves
data-block, and a better implementation of NURBS evaluation could be helpful there. Exposing the knot vector to the Python API for the new curves type is another potential thing to do soon, though it’s a bit early for that at the moment.
Yeah, beyond being proprietary, it’s also not a library, just a separate application.