Fix extrusion hole assignment for nested sketch regions - #76
Open
WC3D wants to merge 4 commits into
Open
Conversation
Expand the sketch toolbar with new geometry and editing commands: Draw tools: center-point circle, two-point circle, corner/center rectangle, inscribed/circumscribed/edge polygon with a side-count stepper, and placed sketch text. Create / Transform: offset paths, mirror across an axis or selected segment, and rectangular/circular patterns driven by a small options panel. Inspect: dimension tool with driving length dimensions, reference distance dimensions between point/midpoint/intersection anchors, and horizontal/vertical/fixed constraints with a lightweight solver. Supporting changes: planar region detection so extrudes can target overlapping profiles (with region-aware OCCT extrude + healing), geometry libs for the new tools, .skf persistence for constraints/ dimensions/texts, and unit plus real-kernel e2e tests.
This was referenced Aug 25, 2026
A CSS extraction pass dropped 33 rules for classes that existed upstream but were restyled by the sketch menu work: selectable extrusion regions, sketch points (incl. fixed state), constrained segments, segment dimension labels, drag/curve handles, measurement points, polygon side stepper, constraint inspector, image resize handle, grid settings, and toolbar disabled states. Without them, selected extrusion profiles gave no visual feedback.
WC3D
force-pushed
the
fix/extrude-nested-regions
branch
from
August 25, 2026 07:49
057adf1 to
b6167af
Compare
The closed-profile hit-target overlay sat above the region fill layer in the sketch SVG, so with Select active every click inside a profile started a whole-shape drag instead of toggling that region's extrusion selection. Region fills now receive clicks as intended; whole-shape dragging still works via marquee selection and selected-shape handles.
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.
WC3D
force-pushed
the
fix/extrude-nested-regions
branch
from
August 25, 2026 08:05
b6167af to
2b44ea2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a sketch contains profiles inside other profiles (a circle within a rectangle, overlapping outlines, or a partially unselected region), the fallback mesh extrusion inferred hole nesting from outline areas. That heuristic mis-grouped geometry — for example turning sibling regions into holes — so sketches within a sketch could extrude incorrectly after modifying or clearing region selection.
Holes are now assigned per selected region: each region carries its own outer boundary and hole paths, and every selected region extrudes exactly as shown in the sketch workspace.
Review just the last commit (
057adf1). Unit + real-kernel e2e suites pass.