feat: strengthen modeling, configuration, and assembly workflows
Preserve linked sketch identities through deterministic face projection and resizing. Fix origin-corner picking, persistent inline navigation, appearance editing, configuration styles, component properties, contact sweeps, sheet exports, analytic STEP offsets, and bounded rolling-ball fit accuracy. Validated with full cargo xtask ci, native workflow screenshots, repeated enclosure replays, and analytic geometry regressions.
This commit is contained in:
1 parent
22672585c9
commit
d71bdb78ec
54 files changed
+4179
-316
No files matched your search
@@ -110,7 +110,15 @@
|
||||
"file": "Untitled-Body1.dxf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget": "Export Bend Table\u2026"
|
||||
},
|
||||
{
|
||||
"expect": {
|
||||
"file": "Untitled-Body1.csv"
|
||||
}
|
||||
},
|
||||
{
|
||||
"shot": "s08_flat"
|
||||
}
|
||||
]
|
||||
]
|
||||
@@ -78,14 +78,10 @@
|
||||
},
|
||||
{
|
||||
"expect": {
|
||||
"sketch_world": {
|
||||
"sketch": "Sketch1",
|
||||
"point": "p1",
|
||||
"at": [
|
||||
140,
|
||||
0,
|
||||
20
|
||||
]
|
||||
"linked_world_range": {
|
||||
"x": [100, 140],
|
||||
"y": [0, 30],
|
||||
"z": [20, 20]
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -100,4 +96,4 @@
|
||||
"errors": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
@@ -0,0 +1,17 @@
|
||||
[
|
||||
{"note": "Appearance from the Browser targets its body, filters library names, and removal survives OK and can be undone."},
|
||||
{"call": "engine.execute", "params": {"command": "solid.box", "params": {"length": 30, "width": 20, "height": 10}}},
|
||||
{"call": "engine.execute", "params": {"command": "appearance.assign", "params": {"bodies": ["Body1"], "color": "#abcdef", "appearance": "Tinted glass", "opacity": 0.25}}},
|
||||
{"call": "ui.menu", "params": {"x": 300, "y": 300, "target": {"type": "body", "name": "Body1"}}},
|
||||
{"call": "ui.menuPick", "params": {"item": "Appearance"}},
|
||||
{"expect": {"dialog": "Appearance", "shown": "Remove override"}},
|
||||
{"click": {"handle": "appearance:search"}},
|
||||
{"text": "no-such-appearance"},
|
||||
{"expect": {"shown": "No matching appearances"}},
|
||||
{"shot": "appearance_library_search"},
|
||||
{"widget": "Remove override"},
|
||||
{"widget": "OK"},
|
||||
{"expect": {"dialog": null, "query": {"command": "appearance.list", "path": ["bodies"], "value": {}}}},
|
||||
{"call": "engine.execute", "params": {"command": "edit.undo", "params": {}}},
|
||||
{"expect": {"query": {"command": "appearance.list", "path": ["bodies", "Body1", "opacity"], "value": 0.25}}}
|
||||
]
|
||||
@@ -0,0 +1,21 @@
|
||||
[
|
||||
{"note":"Configure a body's appearance in the table, apply the edited active row, and render the result."},
|
||||
{"call":"engine.execute","params":{"command":"solid.box","params":{"length":40,"width":20,"height":10,"body_name":"Block"}}},
|
||||
{"call":"engine.execute","params":{"command":"material.assign","params":{"bodies":["Block"],"material":"Steel"}}},
|
||||
{"start":"config.table"},
|
||||
{"widget":"Add Column"},
|
||||
{"widget":"Block (appearance)"},
|
||||
{"expect":{"shown":"Appearance: Block"}},
|
||||
{"widget":"Library"},
|
||||
{"widget":"ABS - Red"},
|
||||
{"widget":"Apply"},
|
||||
{"shot":"configuration_red"},
|
||||
{"expect":{"errors":0,"bodies":1,"query":{"command":"appearance.list","path":["bodies","Block","color"],"value":"#c42828"}}},
|
||||
{"widget":"Library"},
|
||||
{"widget":"Follow material"},
|
||||
{"widget":"Apply"},
|
||||
{"shot":"configuration_default"},
|
||||
{"expect":{"errors":0,"bodies":1,"query":{"command":"appearance.list","path":["bodies","Block"],"value":null}}},
|
||||
{"expect":{"query":{"command":"appearance.list","params":{"body":"Block"},"path":["body","appearance","name"],"value":"Steel"}}},
|
||||
{"expect":{"query":{"command":"config.table","path":["matches"],"value":true}}}
|
||||
]
|
||||
Reference in new issue
Block a user