Fix modelling regressions and reconcile WIP UI work

This commit is contained in:
bherbruck committed 2026-10-10 15:37:00 -04:00
1 parent 49bd89de13
commit d6cdec40da
67 files changed
+1793 -260

No files matched your search

@@ -1,7 +1,4 @@
[
{
"pending": "#40: offsets of projected geometry get new ids on recompute, the lid's lip fails"
},
{
"note": "Acceptance (#27): the board grows 60 \u2192 70 mm; the lid's lip (offsets of the case's projected rim) follows."
},
@@ -87,6 +87,70 @@
}
}
},
{
"call": "engine.execute",
"params": {
"command": "parameters.change",
"params": {
"name": "wall",
"expression": "2.4 mm"
}
}
},
{
"expect": {
"errors": 0,
"bodies": 2
}
},
{
"call": "engine.execute",
"params": {
"command": "parameters.change",
"params": {
"name": "height",
"expression": "30 mm"
}
}
},
{
"expect": {
"errors": 0,
"bodies": 2
}
},
{
"call": "engine.execute",
"params": {
"command": "parameters.change",
"params": {
"name": "height",
"expression": "25 mm"
}
}
},
{
"expect": {
"errors": 0,
"bodies": 2
}
},
{
"call": "engine.execute",
"params": {
"command": "parameters.change",
"params": {
"name": "wall",
"expression": "2 mm"
}
}
},
{
"expect": {
"errors": 0,
"bodies": 2
}
},
{
"call": "engine.execute",
"params": {
@@ -1,7 +1,4 @@
[
{
"pending": "#41: a snap fit stays at its old point when its wall moves (a floating body)"
},
{
"note": "Acceptance (#27): the board grows 40 \u2192 50 mm deep; the snap fit stays on the moved front wall."
},
@@ -50,6 +50,7 @@
]
}
},
{"click": {"sketch": [20, -8]}},
{
"text": "50"
},
@@ -40,6 +40,7 @@
]
}
},
{"click": {"sketch": [20, -8]}},
{
"text": "40"
},
@@ -76,6 +76,14 @@
{
"key": "Enter"
},
{
"call": "ui.set",
"params": {
"hiddenBodies": [
"Body1"
]
}
},
{
"start": "sketch.create"
},
@@ -84,6 +92,12 @@
"plane": "XZ"
}
},
{
"call": "ui.set",
"params": {
"hiddenBodies": []
}
},
{
"start": "sketch.rectangle.two_point"
},
@@ -99,7 +113,7 @@
"click": {
"sketch": [
50,
10
-10
]
}
},
@@ -116,16 +130,13 @@
}
},
{
"start": "solid.extrude"
"call": "ui.view",
"params": {
"view": "fit"
}
},
{
"click": {
"world": [
40,
0,
5
]
}
"start": "solid.extrude"
},
{
"text": "20"
@@ -199,7 +210,7 @@
"max": [
null,
null,
20
30
]
}
}
@@ -231,4 +242,4 @@
{
"shot": "s07_driven"
}
]
]
@@ -40,6 +40,7 @@
]
}
},
{"click": {"sketch": [20, -8]}},
{
"text": "40"
},
@@ -95,6 +95,14 @@
]
}
},
{
"click": {
"sketch": [
20,
-8
]
}
},
{
"text": "40"
},
@@ -109,6 +117,14 @@
]
}
},
{
"click": {
"sketch": [
48,
12
]
}
},
{
"text": "25"
},
@@ -123,6 +139,14 @@
]
}
},
{
"click": {
"sketch": [
30,
20
]
}
},
{
"text": "10"
},
@@ -219,4 +243,4 @@
{
"shot": "s11_done"
}
]
]
@@ -76,6 +76,14 @@
{
"key": "Enter"
},
{
"call": "ui.set",
"params": {
"hiddenBodies": [
"Body1"
]
}
},
{
"start": "sketch.create"
},
@@ -84,6 +92,12 @@
"plane": "XZ"
}
},
{
"call": "ui.set",
"params": {
"hiddenBodies": []
}
},
{
"start": "sketch.rectangle.two_point"
},
@@ -99,7 +113,7 @@
"click": {
"sketch": [
50,
10
-10
]
}
},
@@ -116,16 +130,13 @@
}
},
{
"start": "solid.extrude"
"call": "ui.view",
"params": {
"view": "fit"
}
},
{
"click": {
"world": [
40,
0,
5
]
}
"start": "solid.extrude"
},
{
"text": "20"
@@ -236,4 +247,4 @@
{
"shot": "s20_section_driven"
}
]
]
@@ -43,6 +43,7 @@
]
}
},
{"click": {"sketch": [20, -8]}},
{
"text": "40"
},
@@ -76,6 +76,14 @@
{
"key": "Enter"
},
{
"call": "ui.set",
"params": {
"hiddenBodies": [
"Body1"
]
}
},
{
"start": "sketch.create"
},
@@ -84,6 +92,12 @@
"plane": "XZ"
}
},
{
"call": "ui.set",
"params": {
"hiddenBodies": []
}
},
{
"start": "sketch.rectangle.two_point"
},
@@ -99,7 +113,7 @@
"click": {
"sketch": [
50,
10
-10
]
}
},
@@ -116,16 +130,13 @@
}
},
{
"start": "solid.extrude"
"call": "ui.view",
"params": {
"view": "fit"
}
},
{
"click": {
"world": [
40,
0,
5
]
}
"start": "solid.extrude"
},
{
"text": "20"
@@ -240,4 +251,4 @@
{
"shot": "s26_drive_typed"
}
]
]
@@ -102,7 +102,7 @@
"click": {
"sketch": [
52,
10
-10
]
}
},
@@ -187,7 +187,7 @@
"click": {
"sketch": [
48,
25
15
]
}
},
@@ -239,4 +239,4 @@
{
"shot": "s27_cut"
}
]
]
@@ -1,7 +1,4 @@
[
{
"pending": "every chevron works; the browser has no Joints folder (solvecraft-shell)"
},
{
"note": "Browser chevrons expand and collapse every kind of node (folders, components, groups, the origin, named views, document settings). Model: two components with a body each, a joint, a sketch, an offset plane, a named view."
},
@@ -82,6 +79,14 @@
{
"key": "Enter"
},
{
"call": "ui.set",
"params": {
"hiddenBodies": [
"Body1"
]
}
},
{
"start": "sketch.create"
},
@@ -90,6 +95,12 @@
"plane": "XZ"
}
},
{
"call": "ui.set",
"params": {
"hiddenBodies": []
}
},
{
"start": "sketch.rectangle.two_point"
},
@@ -105,7 +116,7 @@
"click": {
"sketch": [
50,
10
-10
]
}
},
@@ -122,16 +133,13 @@
}
},
{
"start": "solid.extrude"
"call": "ui.view",
"params": {
"view": "fit"
}
},
{
"click": {
"world": [
40,
0,
5
]
}
"start": "solid.extrude"
},
{
"text": "20"
@@ -0,0 +1,103 @@
[
{
"note": "User bug 1/4 (\"big square\"): with the root active, Create Sketch on a moved component's face puts the sketch on the face where it is shown, its projected loop on the face's edges (not at the component's own coordinates)."
},
{
"call": "engine.execute",
"params": {
"command": "component.create",
"params": {
"name": "C"
}
}
},
{
"call": "engine.execute",
"params": {
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20
}
}
},
{
"call": "engine.execute",
"params": {
"command": "component.activate",
"params": {
"component": "root"
}
}
},
{
"call": "engine.execute",
"params": {
"command": "occurrence.move",
"params": {
"occurrence": "C:1",
"translate": [
100,
0,
0
]
}
}
},
{
"call": "ui.view",
"params": {
"view": "fit"
}
},
{
"start": "sketch.create"
},
{
"click": {
"world": [
120,
15,
20
]
}
},
{
"expect": {
"sketching": true
}
},
{
"expect": {
"sketch_curves": {
"linked": 4,
"own": 0
}
}
},
{
"expect": {
"sketch_world": {
"sketch": "Sketch1",
"point": "p1",
"at": [
140,
0,
20
]
}
}
},
{
"shot": "s43_root_sketch_on_moved_face"
},
{
"start": "sketch.finish"
},
{
"expect": {
"errors": 0
}
}
]
@@ -1,7 +1,4 @@
[
{
"pending": "a root-active sketch on a face of a moved component lands in body-local coordinates (solvecraft-dialogs)"
},
{
"note": "A box in a new component, the component moved +100 in x, the root active: a sketch on the box's top face projects the face's edges where the face is (x 100-140), not at the body's own coordinates (x 0-40)."
},
@@ -1,7 +1,7 @@
[
{"note": "With Y up (#3) the view cube turns with the world: its TOP is world +Y and clicking it looks down −Y in the standard plan orientation; FRONT looks along −Z."},
{"note": "With Y up (#3) the view cube turns with the world: its TOP is world +Y and clicking it looks down −Y in the standard plan orientation; FRONT looks along −Z."},
{"call": "engine.execute", "params": {"command": "solid.box", "params": {"length": 40, "width": 30, "height": 20}}},
{"call": "ui.set", "params": {"upAxis": "y"}},
{"call": "ui.prefs", "params": {"up_axis": "y"}},
{"call": "ui.view", "params": {"view": "home"}},
{"move": {"cube": [0, 0, 1]}},
{"expect": {"shown_handles": ["cube_hover:top"]}},