Commit Graph

4 Commits

Author SHA1 Message Date
Andreas e3b91106ec topology.edgeuse_p3: partial; fix gen0007 (gap length not exported), wire step-offs and gap constructors, clippy fixes, WR-96
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 04:10:03 +02:00
bherbruck d043b35b17 Merge origin/main into unit/topology.loopuse
Resolve plan conflicts (keep both sides; loopuse's IsClosed3d bug renumbered
WR-88 -> WR-93 since heal.gap took WR-88). Carry the loop use orientation in
the topology.edge, topology.vertex and heal.gap export copies and importers.
Wire SmVertex/SmEdge::IsConnectedTo to the now-merged topology.vertex and
topology.edge ports; the shim runs those 99 cases (null-deref guarded).
topology.loopuse: 8854 cases, 7950 pass, 0 failed, 904 deferred.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BY8UpXKuMci15rAWGXsbsm
2026-10-15 12:30:16 -04:00
bherbruck 6c0488e3bb topology.loopuse: review fixes (IsClosed3d over-tolerance branch)
- Closed3d op takes an optional edge_tol that sets every edge tolerance
  (SmEdge::m_sZoneTol3d / Edge::tolerance, stored as fabs) first;
  fixtures/topology.loopuse/tolerance_limit.json (1984 cases) reaches the
  over-tolerance branch of SmLoopuse::IsClosed3d 176 times, incl. the
  bCheckAllGaps == FALSE early stop.
- Shim closed3d_safe predicts the early stop from SmTol::GetXSectTol3d of
  the two zone tolerances, as upstream.
- fixtures/topology.loopuse/review_adversarial.json: 4712-case subset of
  the reviewer's sweep.
- drop_point stub docs: return any point DropPoint writes (bSuccess ignored).
- WR-88 confirmation text, unit notes, findings.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BY8UpXKuMci15rAWGXsbsm
2026-10-15 07:28:35 -04:00
bherbruck a04e7d53a5 port: topology.loopuse (SmLoop / SmLoopuse)
Ports the SmLoop and SmLoopuse members owned by the unit into
topology::loopuse (member walks, closure and connectivity predicates,
FlipLoopOrientation, CollectEdgeuses, GetUVCornerBoundaries,
IsMissingSeamAtVertices), adds Loopuse::orientation, wires the co-ports
of topology.edgeuse_p1, topology.face_p2, query.loop and the
GetOrientation stub of topology.vertexuse, and adds the shim, FFI
binding, difftest runner and fixtures. The shared B-rep export carries
each loop use's orientation.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BY8UpXKuMci15rAWGXsbsm
2026-10-15 06:05:09 -04:00