Skip to content

Fix extrusion hole assignment for nested sketch regions - #88

Open
WC3D wants to merge 1 commit into
Formsmith746:mainfrom
WC3D:fix/extrusion-hole-assignment-main
Open

Fix extrusion hole assignment for nested sketch regions#88
WC3D wants to merge 1 commit into
Formsmith746:mainfrom
WC3D:fix/extrusion-hole-assignment-main

Conversation

@WC3D

@WC3D WC3D commented Sep 2, 2026

Copy link
Copy Markdown

When a sketch contains nested profiles, the fallback mesh extrusion independently inferred hole nesting from outline areas. That duplicated region logic and could mis-group outlines, producing incorrect extrusion geometry.

The fallback extrusion now uses the existing cadSketchRegions result as the source of truth, assigning each region's hole paths directly to its outer boundary.

This is the holes/extrusion fix from #76, separated from the sketch menu changes in #74 and based directly on main.

Validation:

  • npm run typecheck
  • npm test -- --run tests/unit/sketchCadProfile.test.ts
  • npm run test:e2e -- --run tests/e2e/sketchCadExtrusion.e2e.ts

Assign holes to outlines per selected region instead of inferring
nesting from outline areas. The area heuristic mis-grouped profiles
inside a sketch (for example an overlapping or unselected inner
profile), so editing a sketch and toggling region selection could
produce wrong geometry. Regions now carry their own outer/hole
paths, and each selected region extrudes exactly as shown.
mhaeu pushed a commit to mhaeu/SketchForge-3D that referenced this pull request Sep 9, 2026
Assign holes to outlines per selected region instead of inferring
nesting from outline areas. The area heuristic mis-grouped profiles
inside a sketch (for example an overlapping or unselected inner
profile), so editing a sketch and toggling region selection could
produce wrong geometry. Regions now carry their own outer/hole
paths, and each selected region extrudes exactly as shown.

Applied-from: Formsmith746#88 (upstream nicht gemergt)
Applied-by: Claude Opus 5 <noreply@anthropic.com>
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.

1 participant