[ {"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}} ]