engine: geometry.stitch, imported surfaces stitched for meshing (#507)

geometry.stitch {name, surface, tolerance} records a stitch; the
surfaces keep what was read (TaggedSurface::original) and are stitched
again from it whenever a surface is imported, the model opened, or a
stitch added or deleted (geometry.stitch.delete). Opening a model also
warns about merges that no longer apply.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
jyvikoandClaude Opus 5.5 authored and Irakli Kourtis committed 2026-10-16 12:07:16 -04:00
1 parent 12b3128f53
commit 4e6fd59409
15 files changed
+259 -8

No files matched your search

+8
View File
@@ -309,6 +309,14 @@ pub static CATALOGUE: &[Capability] = &[
"Prepare",
"Absorb tiny and sliver faces into a neighbour for meshing, one picked or every one Check Geometry found",
),
covering(
"geometry.stitch",
"Stitch",
Geometry,
"Prepare",
"Close an imported surface's gaps under a tolerance: open points welded, T-junctions split",
&["geometry.stitch.delete"],
),
soon("geometry.midsurface", "Midsurface", Geometry, "Prepare", "M8", "Extract midsurfaces of thin parts for shell meshes"),
// ---- Mesh ----
soon("mesh.size.global", "Global Size", Mesh, "Size", "M2", "One element size for the whole part"),