I wrote a NURBS geometry kernel from scratch in C++ — no OpenCASCADE, no Parasolid, pure math