Commit Graph

3 Commits

Author SHA1 Message Date
jijinbei 4418ba3204 shim: share flg(SmBoolean), put_ivl and put_mat through sc_sm.h
Adds the three helpers to sc_sm.h, copied from the per-shim copies they
replace, and switches 19 shims to the shared flg/put_mat/put_vec/put_ivl/st/
put_dom. Shims touched by open PRs are left alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 11:00:12 +09:00
jijinbei 875291c4d9 shim: share identical C++ helpers through sc_sm.h, sc_nlib.h, sc_gw.h
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
2026-10-17 06:43:03 +09:00
Andreas 10aefa3fe0 port: surface.unbend_volume (partial)
Port SmUnbendVolume (29 fns plus the component constructor) into
surface::unbend_volume, with its shim, ffi wrapper, difftest runner and
374 edge-case fixtures. Wire the unbend overrides into the Volume
dispatch (VolumeKind::Unbend now carries the members).

Co-port SmVolume::EvaluatePoint (Volume::evaluate_point) and
SmVolume::IsPointInParamDomain from surface.volume_p2, and point the
SmCrvInVolume::EvaluatePoint stub at the former.

difftest: 1874 cases, 1807 bit-identical, 67 deferred
(surface.surface_p8 66, surface.volume_p2 1); 30,374-case run clean;
--perturb SENSITIVE. surface.volume_p1 deferred 39 -> 2;
curve.crv_in_volume surface.volume_p2 deferred 33 -> 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 22:47:36 +02:00