Commit Graph

7 Commits

Author SHA1 Message Date
bherbruck 68f1e1fc28 difftest: surface.surface_p5 - CoverOtherCoincidentSurface on planes and analytic surfaces
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 02:27:27 -04:00
jijinbei 31aae90d9b shim: restore blank lines squeezed by #170
The migration in #170 collapsed every run of blank lines in the 48 files it
touched, including inside verbatim copies of upstream code (e.g.
curve_curve_p3.cpp), so they no longer diffed cleanly against upstream.
Restore exactly those 91 blank lines; nothing else changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 14:58:27 +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
Damian Grudzień c749924383 fix: wire surface solve back-edges with caller kernel
Connect the remaining heal.gap surface drop after integrating p4/p5. Forward the caller context through local, drop and patch solves and their geometry, intersection and topology callers. Replace the p6 reference shim stop marker with the existing verbatim p5 point-solve bodies in a shared header; the 17 newly executable cases now agree bit for bit. Update the topology gap test to verify the computed result and cache.

Co-Authored-By: Codex <noreply@openai.com>
2026-10-15 15:40:03 +02:00
froglemonade2 56c8f60106 Exact generator copies, ignored statuses, MaxDist coverage, plane iso curves defer
- BSplineCurve::clone_exact; SurfOfRevolution::clone_exact keeps the generator and the sweep circle exact
- curve_class_p1: the status of LocalPointSolve is ignored as SmCurveClass.cpp:1020
- surface_cache p1: the iso curve is used as returned, not cloned (knot fix-up)
- new op SmCurve::SurfaceMaxDistanceBetween in the surface_p5 shim/ffi/runner: line segments over planes
  compare the SurfaceEvaluate::drop_point_minimize wiring with C++; plane drops of points above the interior
  are generated (planes had been excluded by unit_scale and by the plane natural domain of +-1.2e6)
- an SmIsoCurve over an SmPlane evaluates the analytic override upstream; the Rust IsoCurve holds the NURB,
  so sm_SpLocalSolve boundary solves on planes disagreed at 1e-9: iso_curve_of defers on planes
  (curve.iso_curve), recorded in plan/findings.md
- findings: tags that no longer exist reworded

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 00:40:37 +02:00
froglemonade2 72d7d1040a surface.surface_p5: address review (drop EvaluateNormalSection co-port, full CoverOtherCoincidentSurface, ignored statuses, curve-bounded surfaces and upstream fixtures)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 18:58:08 +02:00
froglemonade2 40b33e882a surface.surface_p5: shim, ffi, difftest runner, tests, status partial
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 14:35:48 +02:00