Move/Copy like Fusion: opens with nothing moved and a full triad at the bodies' centre (X/Y/Z arrows, plane squares, rotation rings, free-drag centre ball; snapped drags, Alt/Ctrl free), Move Type (Free Move, Translate, Rotate, Point to Point, Point to Position), X/Y/Z distances and angles with live preview, a pivot input; the triad is one shared module (gizmo.rs); UI scenario s27

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
This commit is contained in:
bherbruckandClaude Opus 5.5 committed 2026-10-08 14:14:29 +00:00
1 parent fba397ff65
commit 2b9ed16cc8
8 files changed
+794 -28

No files matched your search

+2 -1
View File
@@ -48,7 +48,8 @@ scenarios!(
s22_sheet_metal_fold,
s23_configurations,
s24_motion_study,
s25_autosave_recovery
s25_autosave_recovery,
s27_move_triad
);
/// Scenarios written ahead of their fixes or features (the user's open bugs): run with
@@ -0,0 +1,20 @@
[
{"note": "Move opens with nothing moved; the triad's X arrow moves +20 X only; a ring turns 90 degrees"},
{"call": "engine.execute", "params": {"command": "PrimitiveBox", "params": {"length": 20, "width": 30, "height": 10}}},
{"call": "ui.view", "params": {"view": "iso"}},
{"start": "FusionMoveCommand"},
{"click": {"world": [10, 15, 10]}},
{"key": "Enter"},
{"expect": {"errors": 0, "dialog": null, "bbox": {"body": "Body1", "min": [0, 0, 0], "max": [20, 30, 10]}}},
{"start": "FusionMoveCommand"},
{"click": {"world": [10, 15, 10]}},
{"drag": [{"gizmo": "x"}, {"gizmo": "x", "by": [20, 0, 0]}]},
{"key": "Enter"},
{"expect": {"errors": 0, "dialog": null, "bbox": {"body": "Body1", "min": [20, 0, 0], "max": [40, 30, 10]}}},
{"start": "FusionMoveCommand"},
{"click": {"world": [30, 15, 10]}},
{"drag": [{"gizmo": "rz", "turn": 60}, {"gizmo": "rz", "turn": 150}], "steps": 12},
{"key": "Enter"},
{"expect": {"errors": 0, "dialog": null, "bbox": {"body": "Body1", "min": [15, 5, 0], "max": [45, 25, 10]}}},
{"shot": "s27_move_triad"}
]