From 7f32a1317e0bd31e3380ecb0fbce4c7ea45f5e01 Mon Sep 17 00:00:00 2001 From: michaellans Date: Thu, 2 Jul 2026 12:31:34 -0700 Subject: [PATCH 01/12] initial ui and logic for exact bounds in dialog --- .../gui/windows/ind_lim_vrange_dialog.py | 66 +++++++++++++++++-- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/src/badger/gui/windows/ind_lim_vrange_dialog.py b/src/badger/gui/windows/ind_lim_vrange_dialog.py index 6f0c0db3..0bc0e39e 100644 --- a/src/badger/gui/windows/ind_lim_vrange_dialog.py +++ b/src/badger/gui/windows/ind_lim_vrange_dialog.py @@ -103,6 +103,7 @@ def init_ui(self): "ratio wrt current value", "ratio wrt full range", "delta around current value", + "exact bounds", ] ) cb.setCurrentIndex(self.configs.get("limit_option_idx", 0)) @@ -155,9 +156,40 @@ def init_ui(self): hbox_delta.addWidget(lbl) hbox_delta.addWidget(sb_delta, 1) + # Absolute bounds config (used in non-relative mode) + bounds_config = QWidget() + vbox_bounds = QVBoxLayout(bounds_config) + vbox_bounds.setContentsMargins(0, 0, 0, 0) + + hbox_bounds_lower = QHBoxLayout() + hbox_bounds_lower.setContentsMargins(0, 0, 0, 0) + lbl_lower = QLabel("Lower") + self.sb_bounds_lower = sb_bounds_lower = QDoubleSpinBox() + sb_bounds_lower.setMinimum(float(self.configs.get("hard_lower_bound", -1e14))) + sb_bounds_lower.setMaximum(float(self.configs.get("hard_upper_bound", 1e14))) + sb_bounds_lower.setDecimals(6) + sb_bounds_lower.setValue(float(self.configs.get("lower_bound", 0.0))) + hbox_bounds_lower.addWidget(lbl_lower) + hbox_bounds_lower.addWidget(sb_bounds_lower, 1) + + hbox_bounds_upper = QHBoxLayout() + hbox_bounds_upper.setContentsMargins(0, 0, 0, 0) + lbl_upper = QLabel("Upper") + self.sb_bounds_upper = sb_bounds_upper = QDoubleSpinBox() + sb_bounds_upper.setMinimum(float(self.configs.get("hard_lower_bound", -1e14))) + sb_bounds_upper.setMaximum(float(self.configs.get("hard_upper_bound", 1e14))) + sb_bounds_upper.setDecimals(6) + sb_bounds_upper.setValue(float(self.configs.get("upper_bound", 0.0))) + hbox_bounds_upper.addWidget(lbl_upper) + hbox_bounds_upper.addWidget(sb_bounds_upper, 1) + + vbox_bounds.addLayout(hbox_bounds_lower) + vbox_bounds.addLayout(hbox_bounds_upper) + stacks.addWidget(ratio_curr_config) stacks.addWidget(ratio_full_config) stacks.addWidget(delta_config) + stacks.addWidget(bounds_config) stacks.setCurrentIndex(self.configs.get("limit_option_idx", 0)) vbox_config.addWidget(stacks) @@ -214,6 +246,8 @@ def config_logic(self): self.sb_ratio_curr.valueChanged.connect(self.ratio_curr_changed) self.sb_ratio_full.valueChanged.connect(self.ratio_full_changed) self.sb_delta.valueChanged.connect(self.delta_changed) + self.sb_bounds_lower.valueChanged.connect(self.bounds_lower_changed) + self.sb_bounds_upper.valueChanged.connect(self.bounds_upper_changed) self.update_bounds_preview() def _clip(self, value: float, lower: float, upper: float) -> float: @@ -229,6 +263,13 @@ def update_bounds_preview(self) -> None: hard_upper = self.configs.get("upper_bound", 0) option_idx = self.cb.currentIndex() + if option_idx == 0: + ratio = self.sb_ratio_curr.value() + sign = math.copysign(1.0, curr) if curr != 0 else 0.0 + bounds = [ + curr * (1 - 0.5 * sign * ratio), + curr * (1 + 0.5 * sign * ratio), + ] if option_idx == 1: ratio = self.sb_ratio_full.value() delta = 0.5 * ratio * (hard_upper - hard_lower) @@ -237,11 +278,15 @@ def update_bounds_preview(self) -> None: delta = self.sb_delta.value() bounds = [curr - delta, curr + delta] else: - ratio = self.sb_ratio_curr.value() - sign = math.copysign(1.0, curr) if curr != 0 else 0.0 + hard_lower = float( + self.configs.get("hard_lower_bound", self.sb_bounds_lower.value()) + ) + hard_upper = float( + self.configs.get("hard_upper_bound", self.sb_bounds_upper.value()) + ) bounds = [ - curr * (1 - 0.5 * sign * ratio), - curr * (1 + 0.5 * sign * ratio), + float(self.sb_bounds_lower.value()), + float(self.sb_bounds_upper.value()), ] bounds = [ @@ -275,6 +320,11 @@ def update_config(self): self.configs["ratio_full"] = self.sb_ratio_full.value() if "delta" not in self.configs: self.configs["delta"] = self.sb_delta.value() + + lower = float(self.sb_bounds_lower.value()) + upper = float(self.sb_bounds_upper.value()) + self.configs["lower_bound"] = min(lower, upper) + self.configs["upper_bound"] = max(lower, upper) except ValueError: pass # Optionally handle invalid input @@ -290,6 +340,14 @@ def delta_changed(self, delta): self.configs["delta"] = delta self.update_bounds_preview() + def bounds_lower_changed(self, lower): + self.configs["lower_bound"] = lower + self.update_bounds_preview() + + def bounds_upper_changed(self, upper): + self.configs["upper_bound"] = upper + self.update_bounds_preview() + def set(self): self.update_config() self.apply_config(self.name, self.configs) From d65dca0c736c7af5867fa5a88c0f04f510241759 Mon Sep 17 00:00:00 2001 From: michaellans Date: Fri, 31 Jul 2026 15:33:25 -0700 Subject: [PATCH 02/12] add exact bounds option to bounds config and dialog window --- src/badger/gui/mini/components/var_table.py | 5 +- src/badger/gui/mini/pages/routine_page.py | 50 +++++++++++++++---- .../gui/windows/ind_lim_vrange_dialog.py | 46 +++++++++-------- 3 files changed, 66 insertions(+), 35 deletions(-) diff --git a/src/badger/gui/mini/components/var_table.py b/src/badger/gui/mini/components/var_table.py index ac353204..c1360a80 100644 --- a/src/badger/gui/mini/components/var_table.py +++ b/src/badger/gui/mini/components/var_table.py @@ -227,7 +227,6 @@ def __init__( lower, upper = bounds delta = 0.5 * abs(upper - lower) - is_centered = self._is_centered(value, lower, upper) if is_clipped: lower_delta = abs(value - lower) @@ -235,7 +234,7 @@ def __init__( delta = max(lower_delta, upper_delta) self.line_edit = QLineEdit( - f"±{delta:.3f}{'*' if is_clipped or not is_centered else ''}" + f"±{delta:.3f}{'*' if is_clipped else ''}" ) self.line_edit.setReadOnly(True) self.line_edit.setAlignment( @@ -264,7 +263,7 @@ def __init__( layout.addWidget(self.line_edit) layout.addWidget(self._button_stack) - if is_clipped or not is_centered: + if is_clipped: self.setToolTip("Requested bounds are clipped by hardware limits") def set_selected(self, is_selected: bool): diff --git a/src/badger/gui/mini/pages/routine_page.py b/src/badger/gui/mini/pages/routine_page.py index 4bed3b91..a8ddf985 100644 --- a/src/badger/gui/mini/pages/routine_page.py +++ b/src/badger/gui/mini/pages/routine_page.py @@ -1456,6 +1456,7 @@ def set_ind_vrange(self, vname, config): "ratio_full": config["ratio_full"], "ratio_curr": config["ratio_curr"], "delta": config["delta"], + "exact_bounds": config["exact_bounds"], } option_idx = option["limit_option_idx"] @@ -1463,17 +1464,24 @@ def set_ind_vrange(self, vname, config): env = self.create_env() curr = env.get_variables([vname])[vname] - # 0: ratio with current value, 1: ratio with full range, 2: delta around current value + # set bounds based on selected option if option_idx == 1: + # ratio with full range ratio = option["ratio_full"] delta = 0.5 * ratio * (hard_bounds[1] - hard_bounds[0]) bounds = [curr - delta, curr + delta] new_bounds = np.clip(bounds, hard_bounds[0], hard_bounds[1]).tolist() elif option_idx == 2: + # delta around current value delta = option["delta"] bounds = [curr - delta, curr + delta] new_bounds = np.clip(bounds, hard_bounds[0], hard_bounds[1]).tolist() + elif option_idx == 3: + # set exact bounds + bounds = option.get("exact_bounds", hard_bounds) + new_bounds = np.clip(bounds, hard_bounds[0], hard_bounds[1]).tolist() else: + # ratio around current value ratio = option["ratio_curr"] sign = np.sign(curr) bounds = [ @@ -1532,16 +1540,25 @@ def adjust_variable_range_options(self, ratio: float, var_name: str = None): # get copy of selected vrange option option = copy.copy(self.ratio_var_ranges.get(vname, self.limit_option)) option_idx = option["limit_option_idx"] - - if option_idx == 1: - key = "ratio_full" - elif option_idx == 2: - key = "delta" + if option_idx == 3: + # exact bounds: scale span by ratio around the current center. + exact_bounds = list(option.get("exact_bounds") or [0.0, 0.0]) + lo, hi = sorted(exact_bounds) + center = 0.5 * (lo + hi) + half_span = 0.5 * (hi - lo) * ratio + option["exact_bounds"] = [center - half_span, center + half_span] else: - key = "ratio_curr" + # relative bounds options + if option_idx == 1: + key = "ratio_full" + elif option_idx == 2: + key = "delta" + else: + key = "ratio_curr" + + # update selected option with multiplication by ratio + option[key] = option[key] * ratio - # update selected option with multiplication by ratio - option[key] = option[key] * ratio self.ratio_var_ranges[vname] = option # recalculate bounds @@ -1623,7 +1640,7 @@ def calc_auto_bounds(self): limit_option = self.limit_option option_idx = limit_option["limit_option_idx"] - # 0: ratio with current value, 1: ratio with full range, 2: delta around current value + # 0: ratio with current value, 1: ratio with full range, 2: delta around current value, 3: exact bounds if option_idx == 1: ratio = limit_option["ratio_full"] hard_bounds = vrange[name] @@ -1641,6 +1658,14 @@ def calc_auto_bounds(self): clipped[name] = bounds != new_bounds vrange[name] = new_bounds logger.info(f"Auto bounds for {name} (delta): {new_bounds}") + elif option_idx == 3: + exact_bounds = limit_option.get("exact_bounds") + hard_bounds = vrange[name] + bounds = sorted(exact_bounds) if exact_bounds else list(hard_bounds) + new_bounds = np.clip(bounds, hard_bounds[0], hard_bounds[1]).tolist() + clipped[name] = bounds != new_bounds + vrange[name] = new_bounds + logger.info(f"Auto bounds for {name} (exact): {new_bounds}") else: ratio = limit_option["ratio_curr"] hard_bounds = vrange[name] @@ -1744,10 +1769,15 @@ def handle_var_config(self, vname): except KeyError: option = self.limit_option + current_bounds = self.env_box.var_table.bounds.get(vname, bounds) + if current_bounds is None or len(current_bounds) != 2: + current_bounds = bounds + configs = { "current_value": curr, "lower_bound": bounds[0], "upper_bound": bounds[1], + "current_bounds": current_bounds, **option, } diff --git a/src/badger/gui/windows/ind_lim_vrange_dialog.py b/src/badger/gui/windows/ind_lim_vrange_dialog.py index 0bc0e39e..db475f75 100644 --- a/src/badger/gui/windows/ind_lim_vrange_dialog.py +++ b/src/badger/gui/windows/ind_lim_vrange_dialog.py @@ -161,14 +161,26 @@ def init_ui(self): vbox_bounds = QVBoxLayout(bounds_config) vbox_bounds.setContentsMargins(0, 0, 0, 0) + # Get hard limits (full variable range) + hard_lower = float(self.configs.get("lower_bound", -1e10)) + hard_upper = float(self.configs.get("upper_bound", 1e10)) + + # Get exact bounds if previously set + if "exact_bounds" not in self.configs: + self.configs["exact_bounds"] = self.configs.get( + "current_bounds", [hard_lower, hard_upper] + ) + exact_bounds = self.configs["exact_bounds"] + hbox_bounds_lower = QHBoxLayout() hbox_bounds_lower.setContentsMargins(0, 0, 0, 0) lbl_lower = QLabel("Lower") self.sb_bounds_lower = sb_bounds_lower = QDoubleSpinBox() - sb_bounds_lower.setMinimum(float(self.configs.get("hard_lower_bound", -1e14))) - sb_bounds_lower.setMaximum(float(self.configs.get("hard_upper_bound", 1e14))) + sb_bounds_lower.setMinimum(hard_lower) + sb_bounds_lower.setMaximum(hard_upper) sb_bounds_lower.setDecimals(6) - sb_bounds_lower.setValue(float(self.configs.get("lower_bound", 0.0))) + sb_bounds_lower.setSingleStep((hard_upper - hard_lower) / 20) + sb_bounds_lower.setValue(exact_bounds[0]) hbox_bounds_lower.addWidget(lbl_lower) hbox_bounds_lower.addWidget(sb_bounds_lower, 1) @@ -176,10 +188,11 @@ def init_ui(self): hbox_bounds_upper.setContentsMargins(0, 0, 0, 0) lbl_upper = QLabel("Upper") self.sb_bounds_upper = sb_bounds_upper = QDoubleSpinBox() - sb_bounds_upper.setMinimum(float(self.configs.get("hard_lower_bound", -1e14))) - sb_bounds_upper.setMaximum(float(self.configs.get("hard_upper_bound", 1e14))) + sb_bounds_upper.setMinimum(hard_lower) + sb_bounds_upper.setMaximum(hard_upper) sb_bounds_upper.setDecimals(6) - sb_bounds_upper.setValue(float(self.configs.get("upper_bound", 0.0))) + sb_bounds_upper.setSingleStep((hard_upper - hard_lower) / 20) + sb_bounds_upper.setValue(exact_bounds[1]) hbox_bounds_upper.addWidget(lbl_upper) hbox_bounds_upper.addWidget(sb_bounds_upper, 1) @@ -270,7 +283,7 @@ def update_bounds_preview(self) -> None: curr * (1 - 0.5 * sign * ratio), curr * (1 + 0.5 * sign * ratio), ] - if option_idx == 1: + elif option_idx == 1: ratio = self.sb_ratio_full.value() delta = 0.5 * ratio * (hard_upper - hard_lower) bounds = [curr - delta, curr + delta] @@ -278,12 +291,6 @@ def update_bounds_preview(self) -> None: delta = self.sb_delta.value() bounds = [curr - delta, curr + delta] else: - hard_lower = float( - self.configs.get("hard_lower_bound", self.sb_bounds_lower.value()) - ) - hard_upper = float( - self.configs.get("hard_upper_bound", self.sb_bounds_upper.value()) - ) bounds = [ float(self.sb_bounds_lower.value()), float(self.sb_bounds_upper.value()), @@ -307,10 +314,6 @@ def update_bounds_preview(self) -> None: def update_config(self): try: - # lower = float(self.lbl_hard_lower.text()) - # upper = float(self.lbl_hard_upper.text()) - # self.configs["lower_bound"] = lower - # self.configs["upper_bound"] = upper # Fill in default values if not exist if "limit_option_idx" not in self.configs: self.configs["limit_option_idx"] = self.cb.currentIndex() @@ -320,11 +323,10 @@ def update_config(self): self.configs["ratio_full"] = self.sb_ratio_full.value() if "delta" not in self.configs: self.configs["delta"] = self.sb_delta.value() - lower = float(self.sb_bounds_lower.value()) upper = float(self.sb_bounds_upper.value()) - self.configs["lower_bound"] = min(lower, upper) - self.configs["upper_bound"] = max(lower, upper) + # Keep exact bounds ordered to avoid invalid [lower, upper] ranges. + self.configs["exact_bounds"] = [min(lower, upper), max(lower, upper)] except ValueError: pass # Optionally handle invalid input @@ -341,11 +343,11 @@ def delta_changed(self, delta): self.update_bounds_preview() def bounds_lower_changed(self, lower): - self.configs["lower_bound"] = lower + self.configs["exact_bounds"][0] = lower self.update_bounds_preview() def bounds_upper_changed(self, upper): - self.configs["upper_bound"] = upper + self.configs["exact_bounds"][1] = upper self.update_bounds_preview() def set(self): From afec5db0b00f943293d03089691808ff46940cce Mon Sep 17 00:00:00 2001 From: michaellans Date: Thu, 6 Aug 2026 14:23:55 -0700 Subject: [PATCH 03/12] display current bounds in dialog --- src/badger/gui/windows/ind_lim_vrange_dialog.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/badger/gui/windows/ind_lim_vrange_dialog.py b/src/badger/gui/windows/ind_lim_vrange_dialog.py index db475f75..a3240716 100644 --- a/src/badger/gui/windows/ind_lim_vrange_dialog.py +++ b/src/badger/gui/windows/ind_lim_vrange_dialog.py @@ -48,6 +48,7 @@ def init_ui(self): info_group = QFrame() vbox_info = QVBoxLayout(info_group) vbox_info.setContentsMargins(2, 2, 2, 2) + vbox_info.setSpacing(2) # Current value row hbox_current = QHBoxLayout() @@ -69,6 +70,22 @@ def init_ui(self): # Add the rows to the info group vbox_info.addLayout(hbox_current) + if "current_bounds" in self.configs: + # Display current bounds + hbox_bounds = QHBoxLayout() + hbox_bounds.setContentsMargins(0, 0, 0, 0) + lbl_bounds = QLabel("Current bounds:") + lbl_bounds.setFixedWidth(128) + current_bounds = self.configs["current_bounds"] + bounds_text = f"[{current_bounds[0]:.5f}, {current_bounds[1]:.5f}]" + lbl_current_bounds = QLabel(bounds_text) + lbl_current_bounds.setStyleSheet("color: #788D9C;") + hbox_bounds.addWidget(lbl_bounds) + hbox_bounds.addStretch() + hbox_bounds.addWidget(lbl_current_bounds) + hbox_bounds.addSpacing(8) + vbox_info.addLayout(hbox_bounds) + # Add the info group to the main layout vbox.addWidget(info_group) From 7afd4f71c91b7954decf5d16bb1dfeb4a0e5b41e Mon Sep 17 00:00:00 2001 From: michaellans Date: Thu, 6 Aug 2026 16:00:40 -0700 Subject: [PATCH 04/12] clarify fallback logic for missing keys when trying to get config bounds --- src/badger/gui/mini/pages/routine_page.py | 1 + src/badger/gui/windows/ind_lim_vrange_dialog.py | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/badger/gui/mini/pages/routine_page.py b/src/badger/gui/mini/pages/routine_page.py index a8ddf985..29d73cc9 100644 --- a/src/badger/gui/mini/pages/routine_page.py +++ b/src/badger/gui/mini/pages/routine_page.py @@ -1771,6 +1771,7 @@ def handle_var_config(self, vname): current_bounds = self.env_box.var_table.bounds.get(vname, bounds) if current_bounds is None or len(current_bounds) != 2: + # default to env bounds if bounds not set current_bounds = bounds configs = { diff --git a/src/badger/gui/windows/ind_lim_vrange_dialog.py b/src/badger/gui/windows/ind_lim_vrange_dialog.py index a3240716..d0b591b1 100644 --- a/src/badger/gui/windows/ind_lim_vrange_dialog.py +++ b/src/badger/gui/windows/ind_lim_vrange_dialog.py @@ -182,12 +182,14 @@ def init_ui(self): hard_lower = float(self.configs.get("lower_bound", -1e10)) hard_upper = float(self.configs.get("upper_bound", 1e10)) - # Get exact bounds if previously set - if "exact_bounds" not in self.configs: - self.configs["exact_bounds"] = self.configs.get( - "current_bounds", [hard_lower, hard_upper] + # Get exact bounds from configs, or use current or hard bounds if not specified. + exact_bounds = list( + self.configs.get( + "exact_bounds", + self.configs.get("current_bounds", [hard_lower, hard_upper]), ) - exact_bounds = self.configs["exact_bounds"] + ) + self.configs["exact_bounds"] = exact_bounds hbox_bounds_lower = QHBoxLayout() hbox_bounds_lower.setContentsMargins(0, 0, 0, 0) @@ -196,7 +198,7 @@ def init_ui(self): sb_bounds_lower.setMinimum(hard_lower) sb_bounds_lower.setMaximum(hard_upper) sb_bounds_lower.setDecimals(6) - sb_bounds_lower.setSingleStep((hard_upper - hard_lower) / 20) + sb_bounds_lower.setSingleStep((hard_upper - hard_lower) / 50) sb_bounds_lower.setValue(exact_bounds[0]) hbox_bounds_lower.addWidget(lbl_lower) hbox_bounds_lower.addWidget(sb_bounds_lower, 1) @@ -208,7 +210,7 @@ def init_ui(self): sb_bounds_upper.setMinimum(hard_lower) sb_bounds_upper.setMaximum(hard_upper) sb_bounds_upper.setDecimals(6) - sb_bounds_upper.setSingleStep((hard_upper - hard_lower) / 20) + sb_bounds_upper.setSingleStep((hard_upper - hard_lower) / 50) sb_bounds_upper.setValue(exact_bounds[1]) hbox_bounds_upper.addWidget(lbl_upper) hbox_bounds_upper.addWidget(sb_bounds_upper, 1) From 94827d509096c6636346afb2252b0b06e28a4a0f Mon Sep 17 00:00:00 2001 From: michaellans Date: Fri, 7 Aug 2026 15:41:56 -0700 Subject: [PATCH 05/12] update main gui routine_page for exact bounds dialog option --- src/badger/gui/components/routine_page.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/badger/gui/components/routine_page.py b/src/badger/gui/components/routine_page.py index c7215d0c..f697ca5b 100644 --- a/src/badger/gui/components/routine_page.py +++ b/src/badger/gui/components/routine_page.py @@ -56,6 +56,7 @@ LessThanConstraint, MinimizeObjective, MaximizeObjective, + ContinuousVariable, ) from pydantic import ValidationError @@ -1526,6 +1527,7 @@ def set_ind_vrange(self, vname, config): "ratio_full": config["ratio_full"], "ratio_curr": config["ratio_curr"], "delta": config["delta"], + "exact_bounds": config.get("exact_bounds", hard_bounds), } option_idx = option["limit_option_idx"] @@ -1533,7 +1535,7 @@ def set_ind_vrange(self, vname, config): env = self.create_env() curr = env.get_variables([vname])[vname] - # 0: ratio with current value, 1: ratio with full range, 2: delta around current value + # 0: ratio with current value, 1: ratio with full range, 2: delta around current value, 3: exact bounds if option_idx == 1: ratio = option["ratio_full"] delta = 0.5 * ratio * (hard_bounds[1] - hard_bounds[0]) @@ -1543,6 +1545,9 @@ def set_ind_vrange(self, vname, config): delta = option["delta"] bounds = [curr - delta, curr + delta] bounds = np.clip(bounds, hard_bounds[0], hard_bounds[1]).tolist() + elif option_idx == 3: + bounds = sorted(option.get("exact_bounds", hard_bounds)) + bounds = np.clip(bounds, hard_bounds[0], hard_bounds[1]).tolist() else: ratio = option["ratio_curr"] sign = np.sign(curr) @@ -1629,7 +1634,7 @@ def calc_auto_bounds(self): limit_option = self.limit_option option_idx = limit_option["limit_option_idx"] - # 0: ratio with current value, 1: ratio with full range, 2: delta around current value + # 0: ratio with current value, 1: ratio with full range, 2: delta around current value, 3: exact bounds if option_idx == 1: ratio = limit_option["ratio_full"] hard_bounds = vrange[name] @@ -1645,6 +1650,13 @@ def calc_auto_bounds(self): bounds = np.clip(bounds, hard_bounds[0], hard_bounds[1]).tolist() vrange[name] = bounds logger.info(f"Auto bounds for {name} (delta): {bounds}") + elif option_idx == 3: + hard_bounds = vrange[name] + exact_bounds = limit_option.get("exact_bounds") + bounds = sorted(exact_bounds) if exact_bounds else list(hard_bounds) + bounds = np.clip(bounds, hard_bounds[0], hard_bounds[1]).tolist() + vrange[name] = bounds + logger.info(f"Auto bounds for {name} (exact): {bounds}") else: ratio = limit_option["ratio_curr"] hard_bounds = vrange[name] @@ -1744,10 +1756,17 @@ def handle_var_config(self, vname): except KeyError: option = self.limit_option + current_bounds = self.env_box.var_table.bounds.get(vname, bounds) + if current_bounds is None: + current_bounds = bounds + if isinstance(current_bounds, ContinuousVariable): + current_bounds = current_bounds.domain + configs = { "current_value": curr, "lower_bound": bounds[0], "upper_bound": bounds[1], + "current_bounds": current_bounds, **option, } From 573512f933d87be132cf3da8d3602fee81445219 Mon Sep 17 00:00:00 2001 From: michaellans Date: Fri, 7 Aug 2026 17:59:26 -0700 Subject: [PATCH 06/12] linting --- src/badger/gui/mini/components/var_table.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/badger/gui/mini/components/var_table.py b/src/badger/gui/mini/components/var_table.py index c1360a80..f4cc9a23 100644 --- a/src/badger/gui/mini/components/var_table.py +++ b/src/badger/gui/mini/components/var_table.py @@ -233,9 +233,7 @@ def __init__( upper_delta = abs(upper - value) delta = max(lower_delta, upper_delta) - self.line_edit = QLineEdit( - f"±{delta:.3f}{'*' if is_clipped else ''}" - ) + self.line_edit = QLineEdit(f"±{delta:.3f}{'*' if is_clipped else ''}") self.line_edit.setReadOnly(True) self.line_edit.setAlignment( Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignVCenter From 588c3eee8cfd441a44995314aa7e8b3b408ba0a5 Mon Sep 17 00:00:00 2001 From: michaellans Date: Mon, 10 Aug 2026 18:22:20 -0700 Subject: [PATCH 07/12] minor bug fix from testing --- src/badger/gui/mini/pages/routine_page.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/badger/gui/mini/pages/routine_page.py b/src/badger/gui/mini/pages/routine_page.py index 29d73cc9..b2cdf8da 100644 --- a/src/badger/gui/mini/pages/routine_page.py +++ b/src/badger/gui/mini/pages/routine_page.py @@ -39,6 +39,7 @@ LessThanConstraint, MaximizeObjective, MinimizeObjective, + ContinuousVariable, ) from pydantic import ValidationError @@ -1542,7 +1543,7 @@ def adjust_variable_range_options(self, ratio: float, var_name: str = None): option_idx = option["limit_option_idx"] if option_idx == 3: # exact bounds: scale span by ratio around the current center. - exact_bounds = list(option.get("exact_bounds") or [0.0, 0.0]) + exact_bounds = list(option.get("exact_bounds", [0.0, 0.0])) lo, hi = sorted(exact_bounds) center = 0.5 * (lo + hi) half_span = 0.5 * (hi - lo) * ratio @@ -1770,9 +1771,11 @@ def handle_var_config(self, vname): option = self.limit_option current_bounds = self.env_box.var_table.bounds.get(vname, bounds) - if current_bounds is None or len(current_bounds) != 2: + if current_bounds is None: # default to env bounds if bounds not set current_bounds = bounds + if isinstance(current_bounds, ContinuousVariable): + current_bounds = current_bounds.domain configs = { "current_value": curr, From b367eb2ea5abed1ac64d2fd192c8192c63daaba6 Mon Sep 17 00:00:00 2001 From: michaellans Date: Mon, 21 Sep 2026 09:44:27 -0700 Subject: [PATCH 08/12] Update comments and function docstrings for variable range options --- documentation/docs/guides/minimode.md | 7 ++- documentation/docs/guides/templates.md | 12 +++-- .../img/guides/minimode-variable-dialog.png | Bin 0 -> 227125 bytes src/badger/gui/components/routine_page.py | 17 +++++++ src/badger/gui/mini/pages/routine_page.py | 42 +++++++++++++++++- 5 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 documentation/static/img/guides/minimode-variable-dialog.png diff --git a/documentation/docs/guides/minimode.md b/documentation/docs/guides/minimode.md index 9aabdc2e..5c2710ed 100644 --- a/documentation/docs/guides/minimode.md +++ b/documentation/docs/guides/minimode.md @@ -95,12 +95,17 @@ When "Show checked only" is unchecked, the table scrolls to display the first se ### Variable Range Dialog -![Mini Mode Variable Dialog](/img/guides/minimode-variable2.png) +![Mini Mode Variable Dialog](/img/guides/minimode-variable-dialog.png) Clicking the gear icon on a variable row opens a dialog with: - The current value of the variable +- The current low and high bounds for the variable - Options for range selection method + - ratio wrt current value: Bounds are calculated as a fraction of the current value on either side of the current value + - ratio wrt full range: Bounds are calculated as a fraction of the full range on either side of the current value + - delta around current value: Bounds are calculated as a delta on either side of the current value + - exact bounds: the input numerical bounds are used - A **bounds preview bar** showing what the resulting bounds will be - Hard limits displayed (but not editable) diff --git a/documentation/docs/guides/templates.md b/documentation/docs/guides/templates.md index f5173a71..d2f69b58 100644 --- a/documentation/docs/guides/templates.md +++ b/documentation/docs/guides/templates.md @@ -42,7 +42,7 @@ vocs: # XOPT VOCS vrange_limit_options: {} # for each variable: - # variable: {limit_option_idx: 0 or 1 or 2, ratio_curr: ratio (float), ratio_full: ratio (float), delta: abs value (float)} + # variable: {limit_option_idx: 0 or 1 or 2 or 3, ratio_curr: ratio (float), ratio_full: ratio (float), delta: abs value (float), exact_bounds: [lower, upper] (list[float, float])} # # For example: # QUAD:LTUH:620:BCTRL: @@ -50,14 +50,18 @@ vrange_limit_options: {} # ratio_curr: 0.1 # ratio_full: 0.1 # delta: 1.2 + # exact_bounds: [45.0, 57.0] # Will set the variable range for QUAD:LTUH:620:BCTRL to a delta (option 2) of +- 1.2 from the current value of the variable. # # Note that ratio_curr is the ratio with respect to the current value, # ratio_full is the ratio with respect to the full variable range, and - # delta is an absolute delta around the current value. Include values - # for all three options even if you do not plan to use them. + # delta is an absolute delta around the current value. # limit_option_idx sets the desired option: 0 will use ratio_curr, - # 1 is ratio_full, 2 is delta. + # 1 is ratio_full, 2 is delta, 3 will use exact_bounds + # + # The first three methods will calculate bounds around the current variable value when the template + # is loaded based on the selected option. If limit_option_idx == 3 for exact_bounds, + # the specified bounds will be used regardless of the current value of the variable. relative_to_current: true # (bool) true or false. If true, variable ranges will be set # for each variable based on vrange_limit_options. If False, variable diff --git a/documentation/static/img/guides/minimode-variable-dialog.png b/documentation/static/img/guides/minimode-variable-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..fc003e900751e08fa23a56fb5232365cc30a80d0 GIT binary patch literal 227125 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�D%!Sk8&nJ8J0>xKUY>iVR;`cJ-fj>fskEopr>L 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 None: """ Scale variable ranges by ratio and recalculate bounds + Variable range options: + - `option_idx == 1`, bounds are calculated as a fraction of the full + variable range. + - `option_idx == 2`, bounds are calculated as a delta on either side of the + current value. + - `option_idx == 3`, the stored exact numerical bounds are used. + - Otherwise, (`option_idx == 0`) the ratio_curr mode calculated bounds as a + fraction of the current value around the current point. + Parameters ---------- ratio : float @@ -1617,7 +1628,32 @@ def update_init_table(self, force=False): self.clear_init_table(reset_actions=False) self._fill_init_table() - def calc_auto_bounds(self): + def calc_auto_bounds(self) -> tuple[dict, dict]: + """ + Compute auto-derived bounds for all selected variables. + + Returns + ------- + vrange, clipped: tuple[dict[str, list[float, float]], dict[str, bool]] + A tuple of dictionaires. Each dictionary is keyed by variable name. + `vrange` is a dict of [low, high] bounds for each variable. + `clipped` gives a bool for each variable indicating whether or not the + calculated bounds were clipped by hard limits. + + + The method of calculation is determined for each variable by that variable's + configured `limit_option_idx`, stored in `self.ratio_var_ranges[var_name]`. + - For `option_idx == 1`, bounds are calculated as a fraction of the full + variable range. + - For `option_idx == 2`, bounds are calculated as a delta on either side of the + current value. + - For `option_idx == 3`, the stored exact numerical bounds are used. + - Otherwise, (`option_idx == 0`) the ratio_curr mode calculated bounds as a + fraction of the current value around the current point. + In every case, the resulting bounds are + clipped to the variable's hard limits and the `clipped` dictionary records + whether a bound was reduced by that clip. + """ logger.info("Calculating auto bounds for selected variables.") vname_selected = [] vrange = {} @@ -1642,6 +1678,8 @@ def calc_auto_bounds(self): option_idx = limit_option["limit_option_idx"] # 0: ratio with current value, 1: ratio with full range, 2: delta around current value, 3: exact bounds + # Note that options 0, 1, and 2 are recalculated relative to current variable value, option 3 will not + # recalculate, this function just makes sure they are within the hard limits for the variable. if option_idx == 1: ratio = limit_option["ratio_full"] hard_bounds = vrange[name] From 96c8cc8f96c3ed922d1a1cf7f110f0ceb142c153 Mon Sep 17 00:00:00 2001 From: michaellans Date: Mon, 21 Sep 2026 10:01:22 -0700 Subject: [PATCH 09/12] update comments and docstrings for variable range options --- documentation/docs/guides/minimode.md | 2 +- documentation/docs/guides/templates.md | 4 +++- src/badger/gui/components/routine_page.py | 22 +++++++++++++++++++++- src/badger/gui/mini/pages/routine_page.py | 22 +++++++++++++++++++++- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/documentation/docs/guides/minimode.md b/documentation/docs/guides/minimode.md index 5c2710ed..55bf7063 100644 --- a/documentation/docs/guides/minimode.md +++ b/documentation/docs/guides/minimode.md @@ -105,7 +105,7 @@ Clicking the gear icon on a variable row opens a dialog with: - ratio wrt current value: Bounds are calculated as a fraction of the current value on either side of the current value - ratio wrt full range: Bounds are calculated as a fraction of the full range on either side of the current value - delta around current value: Bounds are calculated as a delta on either side of the current value - - exact bounds: the input numerical bounds are used + - exact bounds: the input numerical bounds are used. - A **bounds preview bar** showing what the resulting bounds will be - Hard limits displayed (but not editable) diff --git a/documentation/docs/guides/templates.md b/documentation/docs/guides/templates.md index d2f69b58..f00fecd7 100644 --- a/documentation/docs/guides/templates.md +++ b/documentation/docs/guides/templates.md @@ -61,7 +61,9 @@ vrange_limit_options: {} # # The first three methods will calculate bounds around the current variable value when the template # is loaded based on the selected option. If limit_option_idx == 3 for exact_bounds, - # the specified bounds will be used regardless of the current value of the variable. + # the specified bounds will be used regardless of the current value of the variable. If the + # exact_bounds option is selected without specifying numerical bounds in vrange_limit_options, + # the GUI will use the hard bounds defined above in vocs/variables as a fallback. relative_to_current: true # (bool) true or false. If true, variable ranges will be set # for each variable based on vrange_limit_options. If False, variable diff --git a/src/badger/gui/components/routine_page.py b/src/badger/gui/components/routine_page.py index c1a6c1a6..1e0f55bb 100644 --- a/src/badger/gui/components/routine_page.py +++ b/src/badger/gui/components/routine_page.py @@ -1517,7 +1517,27 @@ def set_vrange(self, set_all=True): for vname in vname_selected: self.ratio_var_ranges[vname] = copy.deepcopy(self.limit_option) - def set_ind_vrange(self, vname, config): + def set_ind_vrange(self, vname: str, config: dict) -> None: + """ + Apply a variable-specific range policy to a single environment variable. + + The selected mode is determined by ``config["limit_option_idx"]`` and can + represent a fixed percentage of the current value, a percentage of the full + hard-range width, a fixed absolute delta around the current value, or an exact + bound pair. The method reads the live environment value for ``vname``, computes + the candidate bounds, clips them to the hard limits from ``config["lower_bound"]`` + and ``config["upper_bound"]``, and applies the result to the GUI variable table. + Initial points for that variable are recalculated with the new bounds. + + Parameters + ---------- + vname : str + Name of the variable whose bounds should be updated. + config : dict + Bounds configuration for the variable, including the hard limits, + ``limit_option_idx``, ``ratio_full``, ``ratio_curr``, ``delta``, and + ``exact_bounds``. + """ logger.info( f"Setting individual variable range for {vname} with config: {config}" ) diff --git a/src/badger/gui/mini/pages/routine_page.py b/src/badger/gui/mini/pages/routine_page.py index 49239968..c1319f1f 100644 --- a/src/badger/gui/mini/pages/routine_page.py +++ b/src/badger/gui/mini/pages/routine_page.py @@ -1447,7 +1447,27 @@ def set_vrange(self, set_all=True): self.ratio_var_ranges[vname] = copy.deepcopy(self.limit_option) self.env_box.var_table.set_scan_range_options() - def set_ind_vrange(self, vname, config): + def set_ind_vrange(self, vname: str, config: dict) -> None: + """ + Apply a variable-specific range policy to a single environment variable. + + The selected mode is determined by ``config["limit_option_idx"]`` and can + represent a fixed percentage of the current value, a percentage of the full + hard-range width, a fixed absolute delta around the current value, or an exact + bound pair. The method reads the live environment value for ``vname``, computes + the candidate bounds, clips them to the hard limits from ``config["lower_bound"]`` + and ``config["upper_bound"]``, and applies the result to the GUI variable table. + Initial points for that variable are recalculated with the new bounds. + + Parameters + ---------- + vname : str + Name of the variable whose bounds should be updated. + config : dict + Bounds configuration for the variable, including the hard limits, + ``limit_option_idx``, ``ratio_full``, ``ratio_curr``, ``delta``, and + ``exact_bounds``. + """ logger.info( f"Setting individual variable range for {vname} with config: {config}" ) From fbc0545418c6e079fe0eb65e20544b8b536f2126 Mon Sep 17 00:00:00 2001 From: michaellans Date: Mon, 21 Sep 2026 10:36:50 -0700 Subject: [PATCH 10/12] update template documentation for relative_to_current and variable ranges --- documentation/docs/guides/templates.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/documentation/docs/guides/templates.md b/documentation/docs/guides/templates.md index f00fecd7..988c4c8a 100644 --- a/documentation/docs/guides/templates.md +++ b/documentation/docs/guides/templates.md @@ -36,8 +36,10 @@ vocs: # XOPT VOCS # Important note about variable bounds: the bounds set here will be used # if relative_to_current is set to false. If relative_to_current is true, - # these bounds will not be used and the bounds for each variable will be - # determined based on the vrange_limit_options below. + # the bounds for each variable will be determined based on the + # vrange_limit_options below and the value of each variable when the template + # is loaded. In that case, bounds specified here will be used as hard + # variable limits. vrange_limit_options: {} @@ -66,7 +68,9 @@ vrange_limit_options: {} # the GUI will use the hard bounds defined above in vocs/variables as a fallback. relative_to_current: true # (bool) true or false. If true, variable ranges will be set - # for each variable based on vrange_limit_options. If False, variable + # for each variable based on vrange_limit_options, and initial points will be calculated + # automatically when the variable is added. The upper and lower bounds specified in the + # vocs/variables dictionary will be used as hard bounds. If False, variable # ranges will be set to the specified upper and lower bounds from the # variables dictionary in vocs. initial_point_actions: [{}] # list of dictionaries From 526e6824c638702bf390d2f851db5e0ec6369f57 Mon Sep 17 00:00:00 2001 From: michaellans Date: Mon, 21 Sep 2026 11:34:27 -0700 Subject: [PATCH 11/12] add info on variable ranges to gui-usage.md doc --- documentation/docs/guides/gui-usage.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/documentation/docs/guides/gui-usage.md b/documentation/docs/guides/gui-usage.md index f860e807..fb95962e 100644 --- a/documentation/docs/guides/gui-usage.md +++ b/documentation/docs/guides/gui-usage.md @@ -115,6 +115,8 @@ While the optimization is running, the values of the variables, objectives, and #### Specify variable range Each optimzation variable must have defined bounds that specify the valid search space. These ranges serve dual purposes: they constrain the optimization algorithm to explore only physically meaningful parameter values, and they enforce safety limits to prevent damage to the equipment. Variable ranges are defined in the Environment + VOCS section. +There are a few ways to adjust variable ranges in the GUI. The main Badger GUI features a "Set Variable Range" button above the table, which lets you choose a range option and apply it to all variables. Ranges for each variable can be adjusted independently by clicking the gear icon button at the right side of each row in the variable table. This will launch a dialog window to adjust the range option for that variable. The individual range dialog includes three relative options, as well as an option for 'exact_bounds'. These options can be used interchangeably to apply relative or explicit numerical bounds per variable as desired. Relative bounds are calcualted based on the selected option and current value when set. + ![Variable Range](/img/gui/variablerange.png) #### Incorporate algorithm parameters From 6965c65dc218ecbfc3ab80ec284d652caa6970f8 Mon Sep 17 00:00:00 2001 From: michaellans Date: Mon, 21 Sep 2026 11:38:24 -0700 Subject: [PATCH 12/12] Adjust gui-usage.md variable range documentation for clarity --- documentation/docs/guides/gui-usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/docs/guides/gui-usage.md b/documentation/docs/guides/gui-usage.md index fb95962e..b152f2ae 100644 --- a/documentation/docs/guides/gui-usage.md +++ b/documentation/docs/guides/gui-usage.md @@ -115,7 +115,7 @@ While the optimization is running, the values of the variables, objectives, and #### Specify variable range Each optimzation variable must have defined bounds that specify the valid search space. These ranges serve dual purposes: they constrain the optimization algorithm to explore only physically meaningful parameter values, and they enforce safety limits to prevent damage to the equipment. Variable ranges are defined in the Environment + VOCS section. -There are a few ways to adjust variable ranges in the GUI. The main Badger GUI features a "Set Variable Range" button above the table, which lets you choose a range option and apply it to all variables. Ranges for each variable can be adjusted independently by clicking the gear icon button at the right side of each row in the variable table. This will launch a dialog window to adjust the range option for that variable. The individual range dialog includes three relative options, as well as an option for 'exact_bounds'. These options can be used interchangeably to apply relative or explicit numerical bounds per variable as desired. Relative bounds are calcualted based on the selected option and current value when set. +Use **Set Variable Range** above the table to apply a range option to all variables, or click a row's gear button to adjust one variable. The individual range dialog offers three relative options and `exact_bounds`; relative bounds are calculated from the selected option and the variable's current value. ![Variable Range](/img/gui/variablerange.png)