Files
OneCAD/crates/ui-egui/tests/scenarios/sketch_offset_window.json
T
William Dunn beca7eb126 A tool window for sketch Offset, with a typed Distance, Flip and Chain (#731)
Sketch Offset gets its own tool window with a typed Distance, Flip and Chain, as a variant of the sketch modify window.
2026-10-13 12:46:24 -04:00

83 lines
3.4 KiB
JSON

[
{"note": "#162 item 1 (\"the size of the offset seems random\"): sketch.offset gets a tool window carrying Curves, Distance, Flip and Chain, instead of a bare click-pick that measured the distance off the second click."},
{"start": "sketch.create"},
{"click": {"plane": "XY"}},
{"expect": {"sketching": true}},
{"start": "sketch.circle.center"},
{"click": {"sketch": [0, 0]}},
{"click": {"sketch": [10, 0]}},
{"key": "Escape"},
{"expect": {"sketch_curves": {"own": 1}, "errors": 0}},
{"note": "Starting the command opens the window and commits nothing."},
{"start": "sketch.offset"},
{"expect": {"dialog": "Offset", "sketch_curves": {"own": 1}, "errors": 0}},
{"click": {"sketch": [10, 0]}},
{"expect": {"dialog": "Offset", "sketch_curves": {"own": 1}, "errors": 0}},
{"note": "The typed number reaches the command unchanged: a 10 mm circle offset 3 mm is a 7 mm circle."},
{"click": {"handle": "dialog:Distance"}},
{"key": "A", "cmd": true},
{"text": "3"},
{"key": "Enter"},
{"expect": {"dialog": null, "errors": 0, "sketch_curves": {"own": 2}}},
{"expect": {"query": {"command": "sketch.inspect", "path": ["curves", 1, "radius"], "value": 7}}},
{"note": "Flip reverses the side: the same 3 mm grows the circle to 13 mm."},
{"start": "sketch.offset"},
{"click": {"sketch": [10, 0]}},
{"click": {"handle": "dialog:Flip"}},
{"click": {"handle": "dialog:Distance"}},
{"key": "A", "cmd": true},
{"text": "3"},
{"key": "Enter"},
{"expect": {"dialog": null, "errors": 0, "sketch_curves": {"own": 3}}},
{"expect": {"query": {"command": "sketch.inspect", "path": ["curves", 2, "radius"], "value": 13}}},
{"shot": "sketch_offset_circle"},
{"start": "sketch.finish"},
{"note": "Chain on (the default): one picked edge of a rectangle offsets the whole connected chain, four curves. The inner rectangle is 34 by 24, so the offset came from the typed 3 mm on every side."},
{"start": "sketch.create"},
{"click": {"plane": "XZ"}},
{"start": "sketch.rectangle.two_point"},
{"click": {"sketch": [0, 0]}},
{"click": {"sketch": [40, 30]}},
{"key": "Escape"},
{"expect": {"sketch_curves": {"own": 4}, "errors": 0}},
{"start": "sketch.offset"},
{"click": {"sketch": [20, 0]}},
{"expect": {"dialog": "Offset", "sketch_curves": {"own": 4}}},
{"click": {"handle": "dialog:Distance"}},
{"key": "A", "cmd": true},
{"text": "3"},
{"key": "Enter"},
{"expect": {"dialog": null, "errors": 0, "sketch_curves": {"own": 8}}},
{"expect": {"query": {"command": "sketch.inspect", "path": ["profiles", 1, "area_mm2"], "value": 816}}},
{"shot": "sketch_offset_chain"},
{"start": "sketch.finish"},
{"note": "Chain cleared: the same pick offsets that one curve, so the sketch gains one."},
{"start": "sketch.create"},
{"click": {"plane": "YZ"}},
{"start": "sketch.rectangle.two_point"},
{"click": {"sketch": [0, 0]}},
{"click": {"sketch": [40, 30]}},
{"key": "Escape"},
{"expect": {"sketch_curves": {"own": 4}, "errors": 0}},
{"start": "sketch.offset"},
{"click": {"sketch": [20, 0]}},
{"click": {"handle": "dialog:Chain"}},
{"click": {"handle": "dialog:Distance"}},
{"key": "A", "cmd": true},
{"text": "3"},
{"key": "Enter"},
{"expect": {"dialog": null, "errors": 0, "sketch_curves": {"own": 5}}},
{"note": "Escape closes the window and leaves the sketch exactly as it was."},
{"start": "sketch.offset"},
{"click": {"sketch": [20, 0]}},
{"expect": {"dialog": "Offset"}},
{"key": "Escape"},
{"expect": {"dialog": null, "errors": 0, "sketch_curves": {"own": 5}}}
]