Commit Graph

18 Commits

Author SHA1 Message Date
jyviko 2a09b99431 kernel: the test target compiles: the last tests on the record and SMLib
mesh memo (one remembered mesh per tolerance), history (a bare body from a record), tests.rs
(no coarse-missing field, lumps for touching shells), outline (the foot found by the planar
faces in its plane), chamfer sides (the rim from the record's edges), seam faces, coplanar
and issue 679 and pinch tests (the boolean is SMLib's: the diagnostics assertions go, every
volume, shell and validity check stays), boolean history (a cut of two pieces through the
boolean), integration tests naming solidcraft_kernel::MeshTolerance.
Deleted, testing internals that are gone: boolean_history_tests' glue_merges_across_the_seam
and faces_pushed_apart (coplanar::glue, boolean_apart), planar_fallback (polybool's
planar_boolean) and bore_union_of_a_bore_in_two_arcs_has_no_history (coplanar::bore_union);
issue_851's the_sphere_at_a_box_corner_is_the_planar_corner_builders (blend_vertex); pinch's
prism_boolean shell check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017itGh5fpMEousnZ91cYcVt
2026-10-27 02:28:50 -04:00
jyviko 42997a62ed WIP kernel: Body::mesh(&MeshTolerance) as the one mesher (does not build yet)
Body::mesh / mesh_plan / mesh_of and MeshTolerance (chord, display, display_of, export_of)
replace tessellate, tessellate_with, display_mesh*, display_plan*, reference_display_mesh_angular;
every caller in kernel, doc, engine, io, ui-egui, gpu and the CLI renamed mechanically; the
truck-mesher fallback, mesh_shells*, refined* removed; Body::new orients from the planner;
truck-meshalgo dropped from Cargo.toml with the tests of its hooks. Still to fix: trait imports
in tess/*, splitface/lumps/preview/step_in/boolean_record meshalgo uses, measure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017itGh5fpMEousnZ91cYcVt
2026-10-27 02:28:47 -04:00
jyviko a1ebe8df3a solidcraft-smlib: Brep::bounds, the exact box, and the fork pinned at 530ee93
Over the fork's new smlib_brep_bounds (SmBrep::CalculateTightBoundingBox): the box of a body
from its exact curves and surfaces, for measuring without a mesh on the SMLib kernel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017itGh5fpMEousnZ91cYcVt
2026-10-27 02:28:47 -04:00
rlartot c5b637600c Chamfer: one pick follows a straight edge's curved tangent chain at any part size (#2672) (#3295)
* claim: #2672

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* Chamfer: one pick follows a straight edge's curved tangent chain at any size (#2672)

chamfer_tool built a single-edge cutter for a straight edge even when the
edge runs on tangentially into an arc (a slot side into its end). The
cutter's overshoot (max(2*distance, 1% of the part size)) is probed for
material beyond the edge ends; on a small part the probe hit the arc's
material and the cutter was refused, so the blend followed the whole
chain. Past a bounding-box diagonal of about 200 mm the overshoot cleared
the arc, the cutter was accepted, and only the straight edge was chamfered,
silently.

A straight edge whose smooth chain contains a curved edge no longer gets a
cutter; it takes the chain-following blend, as at small sizes and as a
fillet does.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 11:21:32 +00:00
Mateusz Sych 8a562f2719 Mesh faces whose boundary touches itself within tolerance (#1648) (#1850)
A face pinched to a point, where its boundary touches itself or another of its loops within
TOLERANCE (a sphere touching a box's edge leaves one on the box), had a constraint refused by the
CDT, and the fallback cut across the face: it came out with no triangles or without those at the
pinch. When a constraint is refused, the vendored truck-meshalgo now puts every boundary point
within TOLERANCE of a segment into it (at most 8192) and triangulates the face again. Faces whose
segments all go in mesh as before.

The regression tests live in crates/kernel/src/thin_face_tests.rs, and the #1648 property test in
boolean_props.rs is no longer ignored. Robustness seeds 20 and 55 are recorded with their Linux
values.

Co-authored-by: MateuszSychXpl <151755914+MateuszSychXpl@users.noreply.github.com>
2026-10-20 08:28:21 +00:00
fkirill 54b00fa7b1 Chamfer straight lips at tangent wall junctions (#2408) (#2490)
Thanks @fkirill.
2026-10-19 18:04:24 -04:00
fkirill 42e991069f Fix shelling revolved barrels (#2421) (#2486)
* claim: #2421

* claim: #2421

* Fix shelling circular-meridian barrels (#2421)
2026-10-19 16:09:11 -04:00
cronos bd4eb42c2d Pin analytic robustness and edge-contact scale regressions (#1950)
* test: pin analytic robustness and edge-contact scale regressions

* test: freeze patterned-bore reference after body grouping change
2026-10-19 16:05:00 -04:00
SiroArt 71534117af Mesh a face thinner than the tolerance instead of leaving a hole (#2712)
Thanks @SiroArt.
2026-10-18 21:56:28 -04:00
Mateusz Sych 4a70c03deb Revolve: a profile that comes back to the axis along a curve revolves right, and cuts with it work (#1853) (#1866)
Thanks @SychPL.
2026-10-17 13:38:41 -04:00
Moritz 9be8bb5e6b Fix Steam Frame STEP trims and spline projection (#1974) (#2043)
Thanks @moritzuehling.
2026-10-17 13:33:17 -04:00
H. Conrad 6bde126a5c test: save the proptest seed for the grid union face that does not mesh (#1813)
Thanks @Ian-cmd-ops.
2026-10-17 06:23:17 -04:00
H. Conrad 221e841d32 Kernel/refine mesh for curved meeting (#1812)
Thanks @Ian-cmd-ops.
2026-10-17 04:07:33 -04:00
Nathan Dane 64966bab88 Implement the reviewed UI icon system and durable review workflow (#853)
Thanks @Nathan-Dane.
2026-10-17 04:07:16 -04:00
bherbruck a9beb437b3 Boolean property tests: nightly only, and the cases they found as ignored tests (#1650)
Pushes to main skip boolean_props (random inputs); the nightly property-tests job runs it. The three shrunk cases are ignored tests with their issues (#1647, #1648, #1649), and proptest's failure file is named outright.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 04:35:53 -04:00
H. Conrad dcffab09b1 Tessellation: point-in-trim tests skip runs of segments the ray canno… (#1309)
Thanks @Ian-cmd-ops.
2026-10-16 01:54:29 -04:00
H. Conrad d29ca29578 Perf/mesh collision (#1307)
Thanks @Ian-cmd-ops.
2026-10-16 01:12:39 -04:00
H. Conrad c5b7009ce3 ci: nightly property tests with more cases (#1498)
Thanks @Ian-cmd-ops.
2026-10-16 00:13:48 -04:00