Commit Graph

10549 Commits

Author SHA1 Message Date
bherbruck cbbd152e39 fix: WR-211 opt-in flag ellipse_adjust_step_interval_keeps_turns (fork 5c0b5ed)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 18:16:19 -04:00
bherbruck b787d0ec6c Merge pull request #1841 from tangency-labs/difftest/face-closest-point-live
difftest: face closest point at box face centres through the bare library path (108 cases)
2026-10-30 18:15:38 -04:00
bherbruck 6ebdca5c5b Merge pull request #1814 from brett19/fix/torus-rail-on-axis
fix: opt-in torus rail point on the arc's axis (WR-592, fork 994f129)
2026-10-30 18:13:25 -04:00
bherbruck d150ecf9f4 Merge pull request #1813 from brett19/fix/loops-round-vertex
fix: loop ordering goes on round a vertex where loops touch (WR-591, opt-in, fork 9209e76)
2026-10-30 18:02:34 -04:00
bherbruck d1221ad807 Merge pull request #1674 from brett19/fix/1670-1671-owner-identity
fix(offset, primitive): offset results and sweep wires named by their geometry owners (#1670, #1671)
2026-10-30 17:51:53 -04:00
bherbruck 748390e6b7 Merge pull request #1786 from tangency-labs/fix/brep-p3-delete-removes-records
fix: DeleteFace and SqueezeEdge remove their arena records (brep_p3)
2026-10-30 17:42:45 -04:00
bherbruck b84bf3ca9b difftest: query.api_queries face closest point at box face centres, through the bare library path (108 cases)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 17:35:28 -04:00
bherbruck 448273d061 Merge pull request #1832 from tangency-labs/fix/brep-writer-caller-naming
fix: brep writer keeps owned surfaces under a caller's naming
2026-10-30 17:30:04 -04:00
bherbruck 1b5f01090c Merge pull request #1680 from brett19/difftest/arena-naming-imports
difftest: set arena naming on every imported B-rep
2026-10-30 17:27:59 -04:00
bherbruck 2e4f48e445 Merge pull request #1816 from brett19/fix/wr593-fillet-corner-tangent-edge-past-seam
fix: Nx1 corner takes a tangent edge past a tangent side edge as its corner edge (fork 1ff7353, WR-593) as opt-in flag
2026-10-30 17:25:42 -04:00
bherbruck c9f081fc40 Merge pull request #1831 from flyboy-byte/fixture/solidcraft-9486-partial-revolve-join
difftest: SolidCraft #9486 case (a partial revolve of a triangle on the axis, joined to a tile)
2026-10-30 17:25:34 -04:00
Brett Lawson 3b7c73abe0 Merge origin/main into fix/torus-rail-on-axis
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy
2026-10-30 22:24:25 +01:00
bherbruck dfea1b85b0 Merge pull request #1594 from brett19/feat/brep-attributes-blend
Part of #1462 (P3: blend)
2026-10-30 17:09:44 -04:00
bherbruck a2c0ebd42b Merge pull request #1702 from brett19/wire/curve-assert-valid
wire: topology.assert_valid — curve AssertValid (offset, projected, Hermite, curve-on-surface, curve-in-volume)
2026-10-30 17:09:36 -04:00
Brett Lawson d25ca410e8 Merge remote-tracking branch 'origin/main' into fix/loops-round-vertex 2026-10-30 22:08:10 +01:00
bherbruck efd48ba05a Merge pull request #1785 from brett19/fix/offset-fillet2-coincidence-hang
fix(offset): BuildOffsetOfFaceuse deletes the faces its lamina-edge test rejects (brepForFillet2 rounded outset hang)
2026-10-30 17:07:20 -04:00
bherbruck e758555880 Merge pull request #1595 from brett19/port/brep-transform-matrix
port: SmBrep::Transform with a 4x4 matrix and SmMatrix::SVDecompose (#1570)
2026-10-30 17:05:08 -04:00
bherbruck ed90486dcc fix: fillet corner insertion treats a removed patch-face record as deleted
The corner insertion recognised a patch face the fillet stitch had deleted by
reading its reset record (surface None). DeleteFace now removes the record,
so check for a missing record first; the same branch is taken, the same
dangling-surface registration as upstream's RegisterExistingSSI, which C++
stores but never dereferences. Fixes sweep4-brepForFillet2-all-r0.1.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 17:04:07 -04:00
bherbruck 136838774b Merge pull request #1753 from brett19/fork/wire-edge-faceuse-shell
fix: opt-in MakeEdgeTopology keeps the faceuse shell joining a wire (WR-585, fork be8ac73)
2026-10-30 16:57:39 -04:00
bherbruck 762ec05ff4 Merge pull request #1793 from tangency-labs/difftest/issue-1528-volume-query-operand-state
difftest: #1528 — a volume query on the operand writes the same caches in Rust and C++ (operand state)
2026-10-30 16:51:05 -04:00
bherbruck 46f8fed693 Merge pull request #1830 from tangency-labs/test/arc-flags-compose
test: WR-576 and WR-565 compose on linear-sweep arcs (#1507, #1477)
2026-10-30 16:48:46 -04:00
bherbruck 4e59bfa987 Merge pull request #1784 from brett19/fix/offset-round-divergences
fix: rounded offset deletes the offset face its lamina edge puts too near the original
2026-10-30 16:46:59 -04:00
bherbruck a41e38f4a1 test: issue_1474 counts live faces/edges/vertices (10/23/15); searches walk the lists
The old 13 counted 3 face records DeleteFace now removes; the round builds the
same body (live counts and volume bit-identical to main).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 16:38:40 -04:00
bherbruck 407304de80 fix: brep writer keeps owned surfaces under a caller's naming
BrepData::from_brep kept a face's surface only when its owner equalled the
caller's key_of(Face). A caller naming faces differently from the B-rep's
recorded owners (the smlib-api crate) had every surface dropped, and the read
failed with "surface index". Fall back to the B-rep's own owner identity of
the face (upstream GetOwner()==pFace); unowned surfaces are still skipped.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 16:37:00 -04:00
bherbruck 15e72dff9f Merge pull request #1358 from Sloptimum/fix/brep-p3-offset-turn-nurbs-hang
fix: topology.brep_p3 — the runner refuses the HANG-16 regime on the Rust side too (nightly fuzz00282 timeout)
2026-10-30 16:36:07 -04:00
bherbruck 7ebe7ff048 Merge pull request #1571 from momysnow/fix/1525
fix: a plane within a face's zone tolerance of a cylinder wall touches it along one line (opt-in, #1525)
2026-10-30 16:35:59 -04:00
bherbruck 901089a236 Merge pull request #1803 from brett19/fix/coincidence-checker-hang-extrusion-old
fix: resolve_overlapping_proto_edges stops an overlap group that re-forms forever (HANG-51)
2026-10-30 16:35:42 -04:00
bherbruck 7b0a52eee4 Merge pull request #1811 from momysnow/fix/1799
fix: a trimmed face's tight box is found inside its trim (opt-in, #1799)
2026-10-30 16:35:35 -04:00
Logan Night 8eb7321e72 difftest: SolidCraft #9486 case: point pr at this PR (the loader requires a /pull/ URL)
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-30 14:34:01 -06:00
Logan Night 44f1a66733 difftest: SolidCraft #9486 case (a partial revolve of a triangle on the axis, joined to a tile)
Two cases built from primitives (box, revolve): a 120 degree fan of a cone
standing on a tile's top face, and the same fan sunk 1 mm into the tile. Expected
volumes are closed form (30000 + 1600 pi and 30000 + 1296 pi). Both pass on main.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-30 14:32:43 -06:00
Brett Lawson 82fc7d62b6 Merge origin/main into difftest/arena-naming-imports
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy
2026-10-30 21:31:08 +01:00
bherbruck 2c903890a3 Merge origin/main into feat/brep-attributes-blend (green base for difftest-baseline)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 16:25:38 -04:00
bherbruck 0b779b232b Merge pull request #1824 from tangency-labs/difftest/p7-op13-real-faces
difftest: intersect.curve_class_p7 — compare face queries on real B-rep faces (op 13)
2026-10-30 16:24:40 -04:00
Brett Lawson 141b90a1ce Merge origin/main into wire/curve-assert-valid
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy
2026-10-30 21:21:36 +01:00
bherbruck fb5bbac446 Merge pull request #1780 from brett19/plan/offset-cpp-crash-records
plan: offset sweep C++ crash and hang records (UB-274, UB-67 addendum, HANG-51)
2026-10-30 16:20:20 -04:00
bherbruck 79e26a3f9e Merge pull request #1706 from brett19/wire/surface-assert-valid-offset-siv
wire: surface.surface_assert_valid — SmOffsetSurface and SmSrfInVolume AssertValid
2026-10-30 16:19:04 -04:00
Brett Lawson 5d2119b950 Merge #1784's branch: take its BuildOffsetOfFaceuse lamina delete fix
#1784 makes the same with_lease_returned change in offset_executive/p1.rs,
found from the extrudeHoles1 rounded outsets. Keep its version, so this PR
stacks on #1784 and adds the brepForFillet2 regression test and fixtures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy
2026-10-30 21:18:07 +01:00
bherbruck d677082f28 Merge pull request #1719 from altvnk/fix/1502-offset-seam-twin
test: original z=5 spherical-cap thickening regression (#1502)
2026-10-30 16:10:14 -04:00
Brett Lawson 589028bf10 Merge origin/main into port/brep-transform-matrix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy
2026-10-30 21:09:29 +01:00
Brett Lawson 9b7c1fffba Merge PR head 2026-10-30 21:09:29 +01:00
Brett Lawson 397ef3873b Merge origin/main into plan/offset-cpp-crash-records
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy
2026-10-30 21:09:12 +01:00
bherbruck 644fa5c6c9 difftest: method path instead of a redundant closure (clippy)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 16:09:10 -04:00
Brett Lawson 5f2916a075 Merge remote-tracking branch 'origin/main' into fix/offset-fillet2-coincidence-hang 2026-10-30 21:08:48 +01:00
Brett Lawson 4cd16cfb75 Merge remote-tracking branch 'origin/main' into fix/offset-round-divergences 2026-10-30 21:08:27 +01:00
bherbruck 8f2af6fea6 test: WR-576 and WR-565 compose on linear-sweep arcs (#1507, #1477)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 16:08:02 -04:00
bherbruck be497085a7 Merge pull request #1820 from tangency-labs/feat/sweep-screw
sweep: screw sweep with exact walls and axial cylinders (#1162, #1163)
2026-10-30 16:07:50 -04:00
bherbruck e5ab5a0249 Merge pull request #1495 from khanahmad4527/fix-1477-arc-sweep-cylinder
fix: linear sweep of an arc square to its plane makes a cylinder (fork 12918e9), behind UpstreamFixes
2026-10-30 16:05:43 -04:00
bherbruck e605641b18 Merge pull request #1796 from tangency-labs/test/issue-1441-offset-surface-export
test: an offset surface exports through ApproximateSurface (#1441)
2026-10-30 16:05:24 -04:00
bherbruck 895cc72b60 Merge pull request #1758 from tangency-labs/fix/wr578-offset-closes-loop-gaps
fix: offset closes loop gaps between offset faces (WR-578, opt-in)
2026-10-30 16:03:11 -04:00
bherbruck 091222f611 test: count live faces after DeleteFace removes records (issue_1170 = 15, issue_1073); GlueEdges backticks
The old 21 counted 6 deleted face records; the live body has 15 faces before
and after this PR (volumes bit-identical), and fillet_executive_p3's
corner-setback cases pass against C++.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-30 15:58:42 -04:00