ui: arc-length displacement limit as typed fields

The step form's displacement limit was a raw JSON box; it is now a group
of node, direction and displacement fields (#449).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
jyvikoandClaude Opus 5.5 authored and Irakli Kourtis committed 2026-10-16 00:50:12 -04:00
1 parent 7a5363e07b
commit ead489592c
1 file changed
+12 -3
+12 -3
View File
@@ -684,9 +684,18 @@ const PROCEDURE: Field = variants(
.help("Cylindrical: displacements only. Spherical: displacements and load factor.")
.def("\"cylindrical\""),
positive("max_load_factor", "Max load factor", D::None).help("Stop when the load factor reaches this.").def("1"),
json("displacement_limit", "Displacement limit")
.help("Stop when a node's displacement reaches a value, as JSON.")
.hint("{\"node\": 1, \"direction\": 3, \"displacement\": -10}"),
group(
"displacement_limit",
"Displacement limit",
&[
int("node", "Node", 1, u32::MAX as i64).help("The label of the node watched.").req(),
int("direction", "Direction", 1, 3).help("1, 2, 3: its translation along X, Y, Z.").req().def("3"),
num("displacement", "Displacement", D::Length)
.help("The step stops when that translation reaches this size (its sign is ignored).")
.req(),
],
)
.help("Stop when a node's displacement reaches a value; at the max load factor when empty."),
],
)
.help("Follow the load-displacement path through limit points (snap-through), with the load factor as an unknown."),