Skip to content

fix: harden threads, sketch constraints, and modeling history - #47

Merged
jackControls merged 1 commit into
mainfrom
fix/modeling-hardening-followup
Aug 20, 2026
Merged

fix: harden threads, sketch constraints, and modeling history#47
jackControls merged 1 commit into
mainfrom
fix/modeling-hardening-followup

Conversation

@jackControls

Copy link
Copy Markdown
Owner

Summary

  • implement ISO metric thread tolerance envelopes with recommended internal 6H and external 6g defaults, plus continuous analytic helical OCCT geometry for internal and external modeled threads
  • harden sketch snapping, inference, dimensions, midpoint/curve constraints, fillet profile reconstruction, and short-line workflows
  • make feature-history insertion, multi-selection/deletion, hole placement previews, and native viewport representations consistent
  • stage the OCCT Boolean and healing libraries required by local macOS app bundles

Why

Follow-up testing after #44 exposed several production edge cases:

  • coarse grid snapping could outrank exact geometric inference
  • consumed sketch edges and midpoint constraints could lose their intended analytic relationship
  • modeled and cosmetic thread representations could drift, produce incomplete geometry, or use inconsistent tolerance dimensions
  • new operations did not always respect the build cursor or multi-selection state
  • local macOS bundles did not directly stage every newly required native OCCT library

This change keeps exact geometry and feature history authoritative while making preview-only rendering follow the owning model feature.

User impact

  • more reliable small and constrained sketches, including 0.5 mm segments, intersections, midpoint-on-edge behavior, and editable dimensions
  • faster and more robust internal/external thread generation with ISO tolerance-class dimensions
  • correct feature insertion at the history marker, improved batch history actions, and steadier hole/thread previews
  • portable local macOS builds with the native Boolean/healing dependencies included

Validation

  • cargo fmt --all -- --check
  • git diff --check
  • cargo test --workspace — 395 passed, 2 ignored
  • native OCCT test suite — 22/22 passed
  • internal and external thread browser end-to-end checks
  • production frontend build
  • macOS native OCCT app build, signature/portability audit, and launch smoke test

@jackControls
jackControls merged commit 351cef6 into main Aug 20, 2026
4 checks passed

@jeffglousher jeffglousher left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Right follow-up to #44 — ISO 6H/6g envelopes match the published limits, external thread stays on an analytic cylinder, and history/preview stay consistent with the owning feature. Approved.

jeffglousher added a commit to jeffglousher/noBS-CAD that referenced this pull request Aug 20, 2026
jackControls#47 persists chained H/V as Perpendicular. The raw mm^2 Dot residual then dwarfed the drag pin, LM stalled, and move_point reverted the corner. Normalize Perp to cos(angle) like Parallel already does.
jackControls pushed a commit that referenced this pull request Aug 20, 2026
#47 persists chained H/V as Perpendicular. The raw mm^2 Dot residual then dwarfed the drag pin, LM stalled, and move_point reverted the corner. Normalize Perp to cos(angle) like Parallel already does.
@jackControls
jackControls deleted the fix/modeling-hardening-followup branch August 21, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants