SmAdvSurfaceIntersector: singular point classification (Dupin
indicatrices), MakeDupin, the interior-curve global solve
(SolveBranch/LocalSolve/FindBestSubdivisionNode/BranchIsGaussSeparate)
and FindInteriorCurves, with shim, ffi binding and difftest runner.
Base SmGlobalSolver::SolveBranch is now a free function callable from
overrides; surface p2 wires its two intersector stubs.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FsWWaoeGNWKgzeGrF2Pkn5