Change Parameters dialog (params_dialog.rs): favourites, user parameters (unit, expression, value, comment; add, rename, delete) and model parameters grouped by sketch or feature, live validation and preview while typing, CSV/JSON import and export; parameter-name autocomplete (Tab) in every expression box: dialogs, inline sketch dimensions, manipulator values

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
This commit is contained in:
bherbruckandClaude Opus 5.5 committed 2026-10-08 02:38:58 +00:00
1 parent 0da4c756c8
commit d729918034
6 files changed
+543

No files matched your search

+9
View File
@@ -18,6 +18,7 @@ pub mod icons;
#[cfg(test)]
mod menu_tests;
pub mod palette;
pub mod params_dialog;
pub mod preview;
pub mod selection;
pub mod sketch_dims;
@@ -121,6 +122,8 @@ pub struct SolveApp {
pub viewport: viewport::ViewportState,
pub tool: Option<tools::Tool>,
pub dialog: Option<dialogs::Dialog>,
/// The Change Parameters window, when open.
pub params: Option<params_dialog::ParamsDialog>,
pub palette: palette::Palette,
/// Context menus, rename box and Properties window.
pub menu: context_menu::MenuState,
@@ -155,6 +158,7 @@ impl SolveApp {
viewport: viewport::ViewportState::default(),
tool: None,
dialog: None,
params: None,
palette: palette::Palette::default(),
menu: context_menu::MenuState::default(),
tree: browser::TreeState::default(),
@@ -256,6 +260,10 @@ impl SolveApp {
}
return;
}
if id == "ChangeParameterCommand" {
params_dialog::open(self);
return;
}
if id == "SketchStop" {
self.finish_sketch();
return;
@@ -548,6 +556,7 @@ impl SolveApp {
viewport::show(self, ui);
});
dialogs::show(self, ui.ctx());
params_dialog::show(self, ui.ctx());
context_menu::show(self, ui.ctx());
palette::popup(self, ui.ctx());
self.frame_ms = now_ms() - t0;