A Mirror window for sketch entities, holding both picks until OK (#734)

Sketch Mirror now opens a tool window with Entities and Mirror line inputs, so both picks stay visible and editable until OK, replacing the old click-then-right-click flow.
This commit is contained in:
William Dunn authored and GitHub committed 2026-10-13 13:29:26 -04:00
1 parent d437c21368
commit d4fd760b0d
8 files changed
+205 -19

No files matched your search

@@ -0,0 +1,45 @@
[
{"note": "sketch.mirror ran as a bare click flow: entities until a right-click, then one more click taken as the mirror line and committed at once. Nothing on screen said what was picked. It now opens a tool window carrying Entities and a Mirror line."},
{"start": "sketch.create"},
{"click": {"plane": "XY"}},
{"expect": {"sketching": true}},
{"start": "sketch.line"},
{"click": {"sketch": [0, -20]}},
{"click": {"sketch": [0, 20]}},
{"key": "Escape"},
{"start": "sketch.circle.center"},
{"click": {"sketch": [10, 0]}},
{"click": {"sketch": [13, 0]}},
{"key": "Escape"},
{"expect": {"sketch_curves": {"own": 2}, "errors": 0}},
{"note": "The press opens a window and commits nothing. Each pick is visible in its own input and nothing is created yet."},
{"start": "sketch.mirror"},
{"expect": {"dialog": "SketchModify(Mirror", "sketch_curves": {"own": 2}, "errors": 0}},
{"click": {"sketch": [13, 0]}},
{"click": {"handle": "dialog:Mirror line"}},
{"click": {"sketch": [0, 10]}},
{"expect": {"dialog": "SketchModify(Mirror", "sketch_curves": {"own": 2}, "errors": 0}},
{"note": "Escape leaves the sketch exactly as it was: the old click flow had already committed by this point."},
{"key": "Escape"},
{"expect": {"dialog": null, "errors": 0, "sketch_curves": {"own": 2}}},
{"note": "OK reflects the circle in the line: a 3 mm circle at x = 10 becomes a 3 mm circle at x = -10."},
{"start": "sketch.mirror"},
{"click": {"sketch": [13, 0]}},
{"click": {"handle": "dialog:Mirror line"}},
{"click": {"sketch": [0, 10]}},
{"click": {"handle": "dialog:OK"}},
{"expect": {"dialog": null, "errors": 0, "sketch_curves": {"own": 3}}},
{"expect": {"query": {"command": "sketch.inspect", "path": ["curves", 2, "radius"], "value": 3}}},
{"expect": {"query": {"command": "sketch.inspect", "path": ["curves", 2, "center_at", 0], "value": -10}}},
{"expect": {"query": {"command": "sketch.inspect", "path": ["curves", 2, "center_at", 1], "value": 0}}},
{"shot": "sketch_mirror_window"},
{"note": "Starting the command again and pressing Escape leaves the document and the undo history untouched."},
{"start": "sketch.mirror"},
{"expect": {"dialog": "SketchModify(Mirror"}},
{"key": "Escape"},
{"expect": {"dialog": null, "errors": 0}}
]