Files
solvecraft/harness/cpp
Brett Lawson 2537aa6bf0 Narrow fillet_corner_p3 MakeFaceBrep refusal to analytic surfaces actually made
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
2026-10-26 16:21:59 +01:00
..