Merge pull request #117 from CypherNaught-0x/feat/profiles-by-curve-ids

Profiles can be picked by the curves around them, and point picks are stored that way
This commit is contained in:
bherbruck authored and GitHub committed 2026-10-11 09:28:43 -04:00
commit ce46faa19d
11 files changed
+343 -61

No files matched your search

+9
View File
@@ -83,3 +83,12 @@ constraint while you drag.
Closed loops become profiles automatically, including regions split by crossing lines and
islands inside outlines. Extrude, revolve, sweep and loft pick profiles.
A feature remembers a picked profile by the curves around it, not by where it was clicked:
`"profiles": [{"curves": ["l1", "l2", "a1", "l3"]}]` (or `[{"curves": ["c1"]}]` for a circle)
picks the region whose outer loop is made of exactly those curves, or the pieces of them that
other curves cut off. It is found again on every recompute, so the feature keeps the same region
when a parameter moves the geometry. Islands inside the region are its holes. When no region, or
more than one (both halves of a circle cut by a line), is bounded by exactly those curves, the
feature reports an error rather than taking another region. Profiles picked by index or by point
(`[{"point": [x, y]}]`) are stored the same way when the feature is made.