feat(offset): open on the live preview for pre-selected objects; signed typed distance

With objects already selected, OFFSET opens at the side step with the
preview following the cursor instead of asking for a distance first
(#422). At the side step a typed distance places the offset at once on
the cursor's side, and a negative one on the other side; Enter at the
start repeats the last distance (#418). Erase and Layer, which lived on
the skipped distance step, are offered there too. With nothing selected
the distance-first flow is unchanged.

The opposite side is found by mirroring the cursor through its nearest
point on the outline, capped at half the offset distance so it cannot
cross a narrow gap back to the cursor's own side. Two new prompts are
added to the catalog and every locale.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Christopher OverbeckandClaude Opus 5.5 committed 2026-10-02 15:35:54 -05:00
1 parent 3f54f2f494
commit 51abbd897c
27 files changed
+365 -109

No files matched your search

+2 -1
View File
@@ -1268,7 +1268,8 @@ impl OpenCADStudio {
})
.collect();
// Pick-first (#422): with offsettable objects already selected,
// skip the pick step and go straight to distance / side.
// skip the distance and pick steps and open on the live side
// preview.
let preselected: Vec<_> = self.tabs[i]
.scene
.selected_entities()