Files
solvecraft/harness/cpp
PixelSoftwareStudios 61dbdafbec query.brep: wire the back-edges into the B-rep box, lock and classification
Real calls replace the UNPORTED(query.brep) stubs of SmBrep::
CalculateBoundingBox (topology.brep_p1/p9/p10, heal.stitch_p1/p2,
blend.hcr, mass.integrator, query.api_queries incl. the tight box),
SmLockBrepBox (topology.brep_p1, and topology.brep_p5's SqueezeFace whose
stubs named topology.brep_p1) and SmTemporaryBrepTransform
(boolean.merge_p1: boxes before any transform, as upstream, then
TemporaryBrepShift::apply). Kernels are threaded where a caller had none;
ignored statuses stay ignored. topology.brep_p6 stops after its real box
at an OMITTED marker for its own remainder (SmBrep.cpp:27966-28583).

Callers that cannot reach a ported function keep returning Unported
under a DISPATCH GAP comment naming it: Point3DClassify (merge_p1/p4/p5,
proto_topology_p3, api_queries), the ShellRayWorld defaults, p9 RayFire,
p10 MergeCurvesOnSurface and geom.object's SmShape over B-rep keys.

Runner fixes for the newly reached paths, from bherbruck's #332:
geom.a_object attaches a built cache (SetCacheObj), boolean.merge_p4 owns
imported geometry as its adapter keys it, boolean.topology_intersector_p1
keys its cache by its notification keys, mass.integrator builds the
shim's wire-edge B-rep. topology.brep_p2 builds its RayFire cache.

Fixture coverage, also prompted by #332: a shared B-rep kind with up to
600 vertices and 150 wire segments at given tolerances (reaches the
500-vertex/100-edge approximation shortcut and non-default tolerance
expansion); attribute ids and sort indices carried as exact 32-bit
halves (full ULONG width); the classification guard accepts any finite
point and tolerance (negative and huge tolerances, 1e100 points).

difftest: PARTIAL query.brep cases=1170 passed=923 failed=0 deferred=247;
perturb 923/923. 0 failed in every touched unit; geom.a_object PASS
2040/2040 (was 1909); more passes in merge_p1 (+11), merge_p4 (+50),
topology_intersector_p1/p2 (+6/+5), stitch_p1/p2 (+3/+31),
offset_executive_p1 (+1), api_queries (+126), topology.brep_p1 (+71).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 18:16:09 -07:00
..