Commit Graph

3 Commits

Author SHA1 Message Date
Henrik Lampe 3b617cac85 fix: keep production ray preparation in one solve
Use live topology reads and cache-first face classification while retaining exact evaluation geometry. Forward constructor identities into stitching region queries and compare primitive geometry, tolerances, trims and rays against SMLib.

Co-Authored-By: Codex <noreply@openai.com>
2026-10-23 17:26:15 +02:00
bherbruck b8ba30df44 topology.brep_p8: UB-119 deferrals, FindEdge wiring, api_primitives shim fix, plan
- Plane-fit refusals of FindOuterLoops' zero-area loop (UB-119) pass through
  the face builders and defer as cpp-guard:ub-119 in the runners.
- geom.tools: FindEdge's DropPoint wired to curve.curve_p6.
- primitive.api_primitives shim: put_brep takes the out-parameter by reference
  (it was read before the call wrote it); the runner counts the B-rep's lists.
- plan: brep_p8 partial, findings rewritten, brep_p6 blocker noted.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pfe7dodPG5rpuN9B8QcnuX
2026-10-20 23:09:17 -04:00
bherbruck f694723535 primitive.api_primitives: port SmApiPrimitives.cpp with shim, ffi, runner and fixtures
Surface overloads (plane, cylinder, cone, torus) are ported in full; the
B-rep entry points validate as upstream and defer to the unported
SmPrimitiveCreation / SmBrep units. Upstream crashes and hangs found by
the C++ reference run are recorded as UB-158..161 and HANG-16 and fenced
off by the ffi guard.

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