Port the complete override with contained identities and bounded recursion.
Reuse the virtual curve validator, preserve the pinned default-label behavior,
and add native construction, guards and a separate generated case stream.
Rust targeted tests, workspace Clippy without cpp, and wasm checks pass.
Native validation remains pending SSH key-agent access; no green claim is made.
Co-Authored-By: Codex <noreply@openai.com>
Ports the virtual SmSurface::AssertValid (sm_AssertTestSurface1/4/5/6) with the
SmBSplineSurface, SmPlane, SmCone, SmCylinder, SmSphere, SmTorus,
SmSurfOfRevolution and SmAxis2Placement checks and their helpers into
surface::surface::assert_valid, as the new unit surface.surface_assert_valid.
Adds AssertArray::find_report/remove_at and calculate_continuities_reached
(the minimum continuity reached when CalculateContinuities fails part-way).
Difftest against the real C++ surfaces: 1500 cases, 1428 pass, 72 rejected,
0 deferred. Regression tests for each valid kind and each corruption's exact
upstream test number and message. Finding recorded for iso curves at a knot
of multiplicity above the degree.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy