Add SettingsTab, StatusTab, DataTab and wire up DeviceController

- SettingsTab: chamber ID, master CSV mapping (families A-Z), wafer
  behavior toggle, light/dark mode toggle, Edit CSV Metadata dialog
- StatusTab: connection status card, wafer info, activity log (blank
  until Detect Wafer fires from the side rail)
- DataTab: empty state, ready for parsed data
- HomePage: side rail buttons dispatch device actions and jump to
  Status tab; selectedSideActionIndex defaults to -1 on startup
- DeviceController registered as QML context property in main.py
- LocalSettings: added status persistence fields
- Theme: added subheadingColor and disabledText
- Added serialcomm/ package and backend data/graph modules
- gitignore: restore clean version
This commit is contained in:
Jack.Le
2026-05-28 15:37:12 -07:00
parent 6d33da2eab
commit e306db6816
25 changed files with 2457 additions and 106 deletions
+4 -1
View File
@@ -1,2 +1,5 @@
# ===== Runtime Dependencies =====
PySide6
PySide6>=6.6.0
pyqtgraph>=0.13.0
numpy>=1.24.0
pyserial>=3.5