feat(diagnostics): warn on cutoffs and rapids crossing clamps

This commit is contained in:
aj committed 2026-10-13 18:15:49 -04:00
1 parent 3014ab3480
commit d7187f65c7
14 files changed
+376 -21

No files matched your search

+10 -2
View File
@@ -98,8 +98,8 @@ vertices cannot mutate the snapshot, report, or live geometry.
## Capture once, analyze off-thread
```csharp
// UI thread, while parts/drawings are stable:
var snapshot = PlateOverlapAnalyzer.Capture(parts, plate.ClampZones.ToArray(), cancellationToken);
// UI thread, while the plate and drawings are stable:
var snapshot = PlateOverlapAnalyzer.CapturePlate(plate, cancellationToken: cancellationToken);
// Worker thread, no access to live Part/Drawing/Program objects:
var report = await Task.Run(
@@ -159,6 +159,14 @@ triangulation, or `Collision.Check` call is not internally interruptible.
A report with any issue has `IsComplete == false`, even if `Pairs` is empty.
- No part, drawing, quantity, pose, cutting state, or selection is modified.
For a full plate, `PlateOverlapAnalyzer.CapturePlate(plate)` also captures active
clamps and nominal manual cut-off definitions. `CutOffClampFindings` is a separate
list of zero-area line/rectangle contacts, not `Pairs` or material overlap. The
view marks these with an X and a cut-off number/clamp ID, including contacts whose
current regenerated program has been trimmed. Removed clamps produce no contact.
Editing definitions, sheet size/quadrant or zones stales the result; posting runs
its own fresh check with per-attempt consent.
## Interpretation and limits
Regions are the kernel's convex, hole-subtracted fragments, not merged connected