feat(wafer-map): add threshold legend overlay and scrollbar polish

- Add color legend (Low/In-range/High + Auto/Manual mode)
  as a floating overlay in WaferMapView
- Expose thresholdAuto on SessionController/SessionModel
  to drive the legend's Auto · / Manual · label
- Style ReadoutPanel scrollbar (always-visible, 8px thumb)
  and reserve 14px gap so cards don't overlap it
This commit is contained in:
jack
2026-07-11 21:57:57 -07:00
parent f9c6639a66
commit 35cee98579
6 changed files with 216 additions and 120 deletions
@@ -182,6 +182,11 @@ class SessionController(QObject):
"""Resolved band half-width (frame 1σ in auto mode, else margin)."""
return self._last.margin if self._last else 1.0
@Property(bool, notify=frameUpdated)
def thresholdAuto(self) -> bool:
"""Whether the current band is auto-derived (frame mean ± 1σ) or manual."""
return self._model.auto
@Property(dict, notify=frameUpdated)
def stats(self) -> dict:
if not self._last:
@@ -26,6 +26,10 @@ class SessionModel:
def set_thresholds(self, config: ThresholdConfig) -> None:
self._config = config
@property
def auto(self) -> bool:
return self._config.auto
def reset(self) -> None:
self._stability.reset()