Units / surface
surface.surface_p10 partial
- Layer
- 30
- Upstream lines
- 2,172
- Functions
- 2
- Rust module
surface::surface::p10
Source: crates/solidcore/src/surface/surface/p10.rs
Upstream: source/SMLib/src/SmSurface.cpp
Notes
PARTIAL (PR #93): difftest 867 cases (67 fixture + 800 generated), 531 pass bit-identical, 0 failed, 336 deferred after merging surface_p4/surface_p5 (blocked by intersect.surface_drop_lib_p1 137, surface.surface_p6 139, surface.surface_point_solve_p3 60; formerly surface.surface_p5 118: SmSurface::DropPoint in the combination's range gap test; surface.surface_p6 115: SmSurface::LocalCurveIntersect in every leaf solve that reaches its guesses, SmSurface::ClassifyIntersectingRangeSolution; surface.surface_p4 72: sm_ClassifyCurveSurfaceXSectPoint for a leading point or two distant points; intersect.surface_drop_lib_p1 47: SmSurface::DropAndTrimCurve for a long range); --perturb 531/531 detected; max_rel_err=0; no absolute floors. The leaf solve compares its early exits (node outside face, disjoint/sliver domains, box and pseudo box misses, rays behind, intervals outside); the combination compares range merging (touching, overlapping, seam, closed curve ends), point merging, point/range culling with null, valid and invalid nodes, small ranges to points. Shim: library SmLSIGlobalSolver on hand-built surface cache trees; verbatim copy of the static combination with a recording stand-in for the static sm_ClassifyCurveSurfaceXSectPoint (cases reaching it are deferred in Rust). Wired UNPORTED(surface.surface_p10) in surface.surface_p2 (LsiGlobalSolver::local_solve); LsiGlobalSolver gained borrowed surface_cache/kernel fields (as CsiGlobalSolver, surface.surface_p9); surface_p9's implicit_iso is pub(super). Original: 2 fns; largest: sm_GlobalCurveIntersectCombineSolutions, SmLSIGlobalSolver::LocalSolve; cycle back-edges (call into later units; stub or co-port): intersect.surface_drop_lib_p1(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit Re-run after wiring its surface.surface_p6 stubs (LocalCurveIntersect, ClassifyIntersectingRangeSolution; PR #118): 867 cases, 579 pass, 288 deferred (intersect.surface_drop_curve 137, surface.surface_point_solve_p3 151), 0 failed. Re-run (PR #118 review, after main's surface_drop_curve): 867 cases, 677 pass, 190 deferred (intersect.surface_drop_curve 190), 0 failed. Re-run (PR #118, round 3: implicit_iso over a plane evaluates through the plane): 867 cases, 677 pass, 190 deferred (intersect.surface_drop_curve 190), 0 failed; --perturb SENSITIVE 677/677.
Difftest
- Cases
- 867
- Passed
- 677
- Deferred
- 190
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
intersect.surface_drop_curve partial | 190 |
Report JSON (per-case results)
Dependencies
Depends on: curve.curve_p2 green geom.extent1d green geom.extent2d green geom.extent3d green geom.global_solver partial geom.pseudo_box green geom.solution_array partial geom.tol green geom.vector2d green geom.vector3d green surface.surface_cache_p1 green surface.surface_p1 partial surface.surface_p2 partial surface.surface_p5 green
Soft dependencies: curve.curve_p3 green curve.curve_p4 partial curve.curve_p6 green curve.iso_curve green curve.line green geom.object partial geom.polar_box green geom.tree partial surface.surface_p4 green surface.surface_p6 green surface.surface_p7 partial
Dependents: none
Soft dependents: surface.surface_p8 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
sm_GlobalCurveIntersectCombineSolutions | SmSurface.cpp:15523 | 1423 | [global_curve_intersect_combine_solutions], [CombineContext] |
SmLSIGlobalSolver::LocalSolve | SmSurface.cpp:18075 | 749 | [LsiGlobalSolver::local_solve_branch] |
Module file-header table (2 rows)
| Rust | Upstream |
|---|---|
[LsiGlobalSolver::local_solve_branch] | SmLSIGlobalSolver::LocalSolve |
[global_curve_intersect_combine_solutions], [CombineContext] | sm_GlobalCurveIntersectCombineSolutions (static) |
Upstream tests reaching this unit
prog_test:my_test_surface_closest_point, prog_test:my_test_drop_point, prog_test:my_test_matrix, prog_test:my_test_reversed_line_join, SM_API_test:TestSmCreateRectangle, SM_API_test:TestSmCreateRegularPolygon