The two legacy blend oracle guards probed both GetSampleValues calls
and reported SM_ERR whenever either failed, encoding the old
fail-on-first-sampling-error behaviour and never running the native
blend - nine cases (8x surface.surface_p8, Mouse_edge_edge_blend_3_1_2_1)
reported guard agreements instead of comparisons. Ordinary
GetSampleValues failures are defined upstream: native continues with
partial vector arrays. Remove both sampling-failure guards; keep the
UB-157 refusal for the proven out-of-bounds rail-2 reparameterization
only. p6.rs/p8.rs comments record the verified shared-buffer fact:
native GetSampleValues calls ReSet before SetSize, so the shared blend
parameter buffer is zeroed, not inherited from the first sampler -
Rust independent zero-padded buffers already matched.
Verified locally with the C++ reference: all nine named cases pass
(max_rel_err=0); surface.surface_p8 2108/2108 pass deferred=0;
topology.brep_p1 partial unchanged (2604 pass, 6 deferred, pre-existing
Endcap_heal known mismatch).
Co-Authored-By: GPT-6.1 Sol Fast <noreply@openai.com>
125 shims carried private copies of the same small helpers (put_vec, st,
nl_status, Rd, dump_crv, read_nurb, ...). Move the most common, byte-identical
form of each into three headers grouped by the upstream API they need, and have
those shims pull them in with `using sc::<name>;`. Shims with a different
variant keep their own copy; files touched by open PRs are left alone.
`the_context()` stays per shim (its function-local SmContext must not be shared).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FBLgPenT24P1dunqnZR1Dj
Plane fallback line interval, InvertPointNearSingularity tolerance and
DropPoint result, sm_ExtractIsoCurve tolerance, ignored statuses
(GlobalCurveIntersect combine, SpLocal add, CreateBlendSurface,
coincidence evaluations with only_upper_half), non-zero tangents in
sm_IntersectSrfBndryCrv, GlobalPointSolve_0 wired with the kernel and the
surface handle, UB-116 -> UB-119 and HANG-14 -> HANG-15, volume_p1 and the
units whose surface_p8 deferrals are gone promoted to green.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>