Rust port in nurbs::srf_tool::p2 (shares p1's index helpers, now pub(super)),
C++ shim, FFI wrapper, difftest runner with 102 fixture cases from upstream
test surfaces plus 3000 generated cases (random and knot-inserted surfaces).
difftest: 3102 cases, all pass, max_rel_err 0, perturb SENSITIVE.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V8ohWGLCzFPoZriCeSSero