Starts from wip/intersect.surface_drop_lib_p3 @ 4190d481. Conflicts:
reports and plan/modules.toml take main's; fillet docs drop the wired
DropCurve stub; query::face::p2 shares one B-rep snapshot between the
gap caches (main) and the made UV trim curves (WIP). Not compiled yet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- runner: the record's m_sFailStatus is 0 for SM_SUCCESS (1000), as the shim's st
(110 success records disagreed once the offset surface landed)
- intersect.surface_drop_lib_p2 SetProperties: EvaluateDirectionalDerivs on the
offset is status-ignored upstream (fails at a pole): sOffsetPD stays UNDEF
- intersect.surface_drop_curve harness: a start list sharing a node with the curve
list (DoTrace/TraceCurve2, WR-182) is reported as -3 on both sides
- offset_executive test: the face prefix now gets past DropCurve
- stale DropCurve-unported docs in difftest runners
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Guard common and handwritten entrypoints through native cleanup and callback restoration. Add exclusion, recursive forwarding and exception-unwind probes; p2 adds its concurrent cross-wrapper regression with the port.
Co-Authored-By: GPT-6.1-Sol <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
Brings in intersect.surface_drop_curve (#107). Thread the kernel into
its LocalPointSolve call, update the hooks test (LocalPointSolve_1 is
ported), and build its difftest planes with their NURB made on both
sides: a C++ SmPlane keeps the NURB its const queries make, which
changes later LocalPointSolve_1 steps, while the Rust plane never keeps
one (plan/findings.md). surface_drop_curve: 527 pass, 20 deferred.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BY8UpXKuMci15rAWGXsbsm