ui: element faces and edges as element:side lists

A Sides field kind: element faces or edges typed as element:side with
ranges (1-20:3, 25:1), no row cap, and Use selection for picked faces.
Set and mesh-tag forms use it instead of a JSON box (#449).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
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 02:30:24 -04:00
1 parent 9b705f5334
commit f8b92fcd89
6 files changed
+192 -6

No files matched your search

+10 -4
View File
@@ -58,8 +58,14 @@ pub const SET: &[Field] = &[
labels("elements", "Elements", LabelOf::Element)
.help("Mesh element labels; Use selection takes the picked elements.")
.hint("labels: 1, 2, 10-20"),
json("faces", "Element faces").help("Element faces, as a JSON list of element label and local face number.").hint("[{\"element\", \"face\"}]"),
json("edges", "Element edges").help("Element edges, as a JSON list of element label and local edge number.").hint("[{\"element\", \"edge\"}]"),
sides("faces", "Element faces", Side::Face)
.help(
"Element faces as element:face (local face number), ranges of elements sharing one: 1-20:3, 25:1. Use selection takes the picked faces.",
)
.hint("element:face, e.g. 1-20:3, 25:1"),
sides("edges", "Element edges", Side::Edge)
.help("Element edges as element:edge (local edge number), ranges of elements sharing one: 1-20:3, 25:1.")
.hint("element:edge, e.g. 1-20:3"),
];
const ELASTIC: Field = variants(
@@ -1468,8 +1474,8 @@ pub const TAG: &[Field] = &[
.help("The geometry the mesh entities are tagged with.")
.req(),
labels("elements", "Elements", LabelOf::Element).help("Element labels."),
json("faces", "Element faces").help("Element faces, as JSON."),
json("edges", "Element edges").help("Element edges, as JSON."),
sides("faces", "Element faces", Side::Face).help("Element faces as element:face: 1-20:3, 25:1.").hint("element:face"),
sides("edges", "Element edges", Side::Edge).help("Element edges as element:edge: 1-20:3, 25:1.").hint("element:edge"),
labels("nodes", "Nodes", LabelOf::Node).help("Node labels."),
];