Commit Graph

7 Commits

Author SHA1 Message Date
Brett Lawson f609e53236 wire: SmTol::MapTo2d curve-on-surface branch; sphere and torus tessellation diagonals compared
map_to_2d_on_curve evaluates the UV curve of a curve on this very surface
object (std::ptr::eq with the base surface) instead of returning Unported.
The surface_p9 analytic-surface stub was unreachable: the diagonal
SmCrvOnSurf already holds the analytic surface. Eight sphere and torus
diagonal cases (shim kinds 5 and 6) compare against C++.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011gJAwcLRBPQXYLmvXd3pWf
2026-10-26 14:55:17 +01:00
Thijs Damsma 1cf5fb0dad surface: cone DropPointFast/iso callbacks, torus GSI special cases (#76, SSI corpus)
- Cone DropPointFast: the inherited SmSurfOfRevolution::DropPointFast with the
  cone's EvaluateSTEPPoint and LocalPointSolve (as sphere/torus).
- FindTessellationSplits/CreateIsoBoundaries: iso curves from the cone/sphere/torus
  CreateIsoParametricCurve; implicit iso curves evaluate those kinds through the
  surface; SmLine iso lengths use the SmLine ApproximateLength override.
- Torus GlobalSurfaceIntersect: the inherited IntersectWithSphere/Cone/
  SurfOfRevolution with the torus's ConvertUVFromNURBSToSTEP (Revolved for Torus,
  surf_of_revolution::p3::intersect_revolved).
- surface_p9 difftest: cylinder and canonical-cone kinds.
- topology.edgeuse_p1 -> green (deferred 50 -> 0).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H9QwJFBTKLZ9FFK3nVd1X4
2026-10-22 12:12:51 +02:00
lillith 6838bb1f76 Merge latest main and validate revolution surface dispatch
Use the newly ported revolution surface's virtual iso constructor and B-spline
base. Add 18 direct canonical-cylinder comparisons against the real C++ class.
Refresh cache reports after the upstream dispatch changes and retain explicit
CSI and classification deferrals.

All required local gates pass; full differential validation covers 133 units
with 85 green, 48 partial and zero failed. Part 9 compares 727/778 cases exactly.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
2026-10-14 20:10:40 +02:00
lillith dbcd3248f5 port: fix surface.surface_p9 review regressions and merge upstream main
Use EFF_ZERO for default degeneracy checks and forward maximum side lengths,
including negatives, to bisection tessellation. Add boundary, subdomain, tiny-scale
and real analytic plane comparisons, narrow the C++ undefined-count guard, and
wire surface-cache block subdivision with the caller Kernel.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
2026-10-14 18:35:21 +02:00
lillith 653e9cc7cc fix: certify CSI fixture setup and satisfy strict harness lint
Co-Authored-By: OpenAI Codex <noreply@openai.com>
2026-10-13 13:27:12 +02:00
lillith 9ac877c56c fix: match reference solver tree count and test supported path
Co-Authored-By: OpenAI Codex <noreply@openai.com>
2026-10-13 12:52:07 +02:00
lillith 2b6bcd6ac3 port: surface tessellation splits, iso boundaries and CSI leaf driver
Co-Authored-By: OpenAI Codex <noreply@openai.com>
2026-10-13 12:42:52 +02:00