mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-08 13:01:52 +00:00
2537aa6bf0
MakeAnalyticCornerSurface's SER / NER exits return TRUE without adding a surface, so the MakeFaceBrep that follows sees m_vSurfaces unchanged (none in the harness: it returns at once). The shim's pre-check treated every TRUE as a surface added and refused the corners whose edge curve is NULL, although upstream never copies those curves. Split P3A_TRUE into a surface exit and a status exit; a planar corner's status exit after SetCurve(NULL) still refuses when the corner already had one surface (MakeFaceBrep would copy the deleted curve). Nine generated corner cases of blend.fillet_corner_p3 now compare (rejected 28 -> 19), all passing. Every remaining refused case was run natively with the pre-check bypassed: each crashes in upstream (SIGSEGV), hangs in CreateExtendedSurface (HANG-9) or calls a member through a null solver. Runner headers say so; the p2 header no longer implies its rejections come from the find_concave refusal. HANG-9 gets an addendum for the two side-face triggers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011gJAwcLRBPQXYLmvXd3pWf