ui: draw size controls in the viewport, pick their faces (#435)

Faces and bodies under a size control are tinted, a box drawn as its
edges and a sphere as a translucent ball, each labelled with its name
and size. The Local Size form takes the selected faces.

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 17:08:27 -04:00
1 parent b62be1ada6
commit 030799dfc8
4 files changed
+73 -4

No files matched your search

+2 -2
View File
@@ -856,7 +856,7 @@ pub enum Target {
/// `to_surface`: pick the source face, then the target surface.
ExtrudeFaces,
/// The selected geometry faces as `faces: [{body, face}]`, in place of a sphere or labels
/// (the faces Relax Nodes relaxes).
/// (the faces Relax Nodes relaxes, the faces a local size refines).
Faces,
}
@@ -870,7 +870,7 @@ pub fn target(id: &str, params: &Value) -> Option<Target> {
"geometry.datum.point" | "geometry.datum.point.edit" => Some(Target::DatumPoint),
"mesh.cells" => Some(Target::Bodies),
"mesh.hex.extrude" => Some(Target::ExtrudeFaces),
"mesh.node.relax" => Some(Target::Faces),
"mesh.node.relax" | "mesh.size.set" => Some(Target::Faces),
"model.boundary_condition.create" | "model.boundary_condition.edit" => Some(Target::TargetSet),
"model.section.create" | "model.section.edit" | "model.coupling.create" | "model.coupling.edit" | "interaction.rigid_wall" => {
Some(Target::Set)