Commit Graph

4 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
bherbruck 373a6ad325 query.tess: review fixes (plane NURB in BuildTree, SmPlane shim, clippy)
- BuildTree on an SmPlane / SmSurfOfRevolution face makes the missing NURB
  first, as upstream's GetOrCreateGwNurbPointer does (the top node had a zero
  uv domain on plane faces).
- Shim, FFI validator and runner build a bounded SmPlane (surface kind 1);
  12% of generated cases use one. 48 adversarial review fixtures added.
- difftest poly_of: fix clippy needless_pass_by_value / indexing_slicing.
- get_tree reports errors under its own operation path.

difftest: 676 cases, 665 bit-identical, 0 failed, 11 deferred
(intersect.curve_class_p4); --perturb 665/665 detected.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BY8UpXKuMci15rAWGXsbsm
2026-10-14 22:34:17 -04:00
bherbruck d2de7cd75a port: query.tess (SmTessSrfCache, tess drivers, poly attrs)
Ports SmTessSrfCache (TestAgainstTolerances with silhouette retest,
BuildTreeWithSubdivision, BuildTree, ImplantUVSegment, MarkFaceContainment),
the surface tessellation drivers and SmPolyToEUVUAttr; wires the
UNPORTED(query.tess) subdivision-surface split in SurfaceCache::SubdivideNode,
adds a TestAgainstTolerances dispatch hook to SubdivideToTolerances/BuildTree,
plus shim, ffi, difftest runner and fixtures.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BY8UpXKuMci15rAWGXsbsm
2026-10-14 21:14:35 -04:00