Builds on #105 (0xlillith's WIP: SmApiEvaluateCurve port, its shim and the
768 curve + 256 box fixtures), rebased onto current main's APIs.
- query::face::p1: SmFace/SmShell/SmRegion::CalculateBoundingBox (in/out
variants keep the partial union), SmFace::Point3DClassify on
query::face::p2::point_classify, SmFace::EdgeCurveOnClassify (sector
classification stubbed to query.face_p3), SmApiEvaluateCurve.
- Shim/FFI/runner: one B-rep op entry on the shared topology fixture
(FaceFu, Box, Point3d, EdgeOn); the runner patches m_pFU into the
edge-use import and owns face surfaces by their faces as upstream does.
- Wired UNPORTED(query.face_p1): topology::shell degeneracy boxes,
topology::brep_cache, mass::integrator face boxes, query::api_queries
face box. mass.integrator's empty-B-rep face API probes now defer to
topology.brep_p8 (SmBrep::CreateFaceFromSurface).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Build on query.face_p2 and shell data models. Preserve primary face uses and shell metadata in the shared native snapshot. Add lossless classification handle mapping and use the existing B-spline curve-on-surface constructor; retain explicit dispatch gaps for other surface kinds. Dependency runner edits are fixture integration and lint corrections, not algorithm changes.
Validation: cargo clippy -p solidcore --lib -- -D warnings passed, and git diff --check passed. Native differential, dependency runner and full certification remain pending; PR remains draft and no unit status is promoted.
Co-Authored-By: OpenAI Codex <noreply@openai.com>
WIP query.face_p1: first of six owned functions. Kernel check passed; C++ shim compilation and strict Clippy remain in progress. Other owned face/shell/region functions are not yet implemented. Keep the unit todo until complete differential and integration validation.
Co-Authored-By: OpenAI Codex <noreply@openai.com>