docs: record Instrument phase 4 (DA-12 adoption); BL-DS-P4 closed

This commit is contained in:
2026-06-11 11:17:04 -04:00
parent 7977ab74ee
commit 9537112854
2 changed files with 55 additions and 7 deletions

View File

@@ -281,6 +281,51 @@ editable cells (right-click history still works); IOModbus register grids keep t
own pick-list delegate until Phase 6.
Plan: `docs/superpowers/plans/2026-06-10-instrument-phase3-component-kit.md`.
### BL-DS-P4 — Instrument design system Phase 4 (DA-12 adoption) · P2 · DONE
*Completed 2026-06-11.*
DA-12 fully adopted on the Instrument system. Shipped: spec §5.2 toolbar (`← Suite`
button replacing the shell's ☰ Suite action for DA-12, brand marks + kit `ConnectionChip`,
confirm-guarded "Station commands ▾" menu holding Set Clock/Reboot, primary
Connect/Disconnect far right driving `controller.stop()`); Station tab migrated to the kit
`SettingsList` (spec §5.5 groups Identity/Communication/Sensors/Alarms & beeper/OP05 + an
Advanced fallback so unknown wire labels never disappear; curated metadata in
`da12/ui/station_settings_meta.py`; wire-governed read-only; subnet keeps its modal via
the new custom-row `settingActivated` path; in-cell ⓘ markers retired for row tooltips);
Sensors/Alarm Limits/Statistics/Calibration adopt the delegate kit (column kinds, §1.2
status tags + `ALARM_ROW_ROLE` full-row treatment for alarm-class codes only — the old
whole-row warn tint is gone BY SPEC, warnings show in the status tag; units header rows;
summary strips; limits Enabled column is now a toggle; §5.6 write feedback as
resolve-on-echo since the protocol has no NAK); history dialog restyled per §5.10 (surface
plot, hair grid, mono faint ticks, 1.6px signal series, dashed limit lines with lows at
55% opacity, top legend, LIVE TREND header strip, theme-switch repaint).
BL-DS-P3 carry-overs closed here: live refills no longer clobber an open editor
(`TableTab.set_rows` + `SettingsList.set_value` skip the editing cell, regression-tested);
group-band bar yields column 0 to the selection/alarm edge bar and uses `Metrics.EDGE_BAR_W`;
`SettingsDelegate` exported; sensors severity moved off item brushes onto
`STATUS_ROLE`/`ALARM_ROW_ROLE`; history-via-double-click decided (right-click is canonical;
double-click still works on read-only cells); write feedback wired through `tab.delegate`.
Visual smoke findings fixed in-phase: default window 1100→1280 wide (the §5.2 toolbar
needs ~1180px before Qt's overflow chevron hides the primary action), transparent toolbar
label/spacer backgrounds, limit-line legend markers stay hidden after redraws.
Also: the group-band edge-bar precedence is shared code, so DA-07's channel grid quietly
picks up the same improvement.
- Plan: `docs/superpowers/plans/2026-06-11-instrument-phase4-da12-adoption.md`.
### BL-DS4 — SIM disconnect has no toolbar reconnect path · P3 · TODO
*Added 2026-06-11 (deferred from BL-DS-P4).*
After Disconnect in `--simulate`, the Connect… button opens the COM-port dialog; there is
no way back to the simulator without returning to the launcher. Cosmetic/dev-mode only —
real-hardware users always reconnect to a COM port.
### BL-DS5 — Toolbar responsiveness below ~1180px · P3 · TODO
*Added 2026-06-11 (deferred from BL-DS-P4).*
The §5.2 toolbar relies on Qt's overflow chevron when the window is narrowed below ~1180px.
A deliberate compaction (icon-only actions, collapsing labels) is a Phase 5/6 candidate
alongside DA-07/IOModbus toolbar adoption.
### BL-DS3 — Phase 3 microcaps via code, not QSS · P3 · DONE
*Added 2026-06-10.*
Qt ignores `text-transform` in QSS — the microcaps styles (tabs, column headers, group

View File

@@ -9,7 +9,7 @@ standalone `.exe`) and docs. DA-12 is now **module #1 of the `cim_suite` monorep
— the suite shell (card launcher + `SuiteWindow`) and shared `core` package exist.
**DA-07 ("eLink") was rebuilt as module #2** and **IOModbus as module #3** (a
config-driven Modbus RTU master — same five-layer pattern, against its own simulator;
see Phases 89 below). **818 tests pass across `tests/core`, `tests/da12`,
see Phases 89 below). **960 tests pass across `tests/core`, `tests/da12`,
`tests/da07`, `tests/iomodbus`, and `tests/shell`; ruff is clean.**
What remains is **verification against real DA-12, DA-07, and Modbus hardware**
guided by `docs/HARDWARE-VERIFICATION.md`.
@@ -164,6 +164,7 @@ A standalone build also runs with no Python/VB6/OCX installed:
| 11 — Instrument design system Phase 1 (foundation) | ✅ | Two-theme token system (light/dark), IBM Plex Sans/Mono fonts bundled, regenerated QSS from the token layer, theme manager with persistence, all painters migrated to live tokens, launcher dark/light toggle. Phases 26 (frameless chrome, component kit, per-module adoption, launcher redesign) pending — see `docs/superpowers/specs/2026-06-10-instrument-design-system-rollout-design.md`. |
| 12 — Instrument design system Phase 2 (window chrome) | ✅ | Merged 2026-06-10. Frameless SuiteWindow (PySideSix-Frameless-Window 0.8.1) with the Instrument title bar (logo, breadcrumb, theme toggle, 42px window buttons); 2px brand accent strip; declarative StatusFooter adopted by DA-12/DA-07/IOModbus (legacy ConnPill QSS retired); Instrument chrome + breadcrumb titles on all 13 child dialogs; chrome-framed confirm/info/warning dialogs replacing QMessageBox. Frozen-exe selftest re-verified with the new frameless dependency (all three modules exit=0; no extra hiddenimports needed). Manual Windows 11 snap/drag/DPI checklist outstanding — tracked in `docs/superpowers/plans/2026-06-10-instrument-phase2-chrome.md` Task 11 Step 3. Phases 36 pending. |
| 13 — Instrument design system Phase 3 (component kit) | ✅ | Merged 2026-06-10. The core component kit at `cim_suite/core/ui/kit/`: InstrumentDelegate (cell kinds, §1.2 status tags, edge bars, alarm tint, hover pencil chip, styled editor + validators, Tab-move, write-feedback flash), suite-wide single-click editing via TableTab (checkable columns now render as ToggleSwitches), UnitsHeaderView (microcaps headers + units line; ⓘ markers retired from headers), InstrumentTabWidget (microcaps tabs, closes BL-DS3), SummaryStrip, SettingsList, ActivityLogCard, Sidebar, tinted SVG icons. Bonus: fixed the QSS suppression of item-brush backgrounds and two pre-existing rebuild write-storms (hardware-relevant; see BL-DS-P3). Frozen-exe selftest re-verified (all three modules exit=0 with the bundled SVGs + QtSvg). Module adoption is Phases 46; the Phase 2 manual Win11 snap/DPI checklist remains the only open chrome item. Plan: `docs/superpowers/plans/2026-06-10-instrument-phase3-component-kit.md`. |
| 14 — Instrument design system Phase 4 (DA-12 adoption) | ✅ | Merged 2026-06-11. DA-12 fully adopted on the Instrument system. §5.2 toolbar (`← Suite` button, `ConnectionChip`, confirm-guarded "Station commands ▾" menu, primary Connect/Disconnect); Station tab → `SettingsList` with spec §5.5 groups (Identity/Communication/Sensors/Alarms & beeper/OP05/Advanced) driven by curated metadata in `da12/ui/station_settings_meta.py`; Sensors/Alarm Limits/Statistics/Calibration adopt the delegate kit (status tags, `ALARM_ROW_ROLE` alarm-only row tint, units headers, summary strips, toggle for Enabled, resolve-on-echo write feedback); history dialog restyled per §5.10. BL-DS-P3 carry-overs closed: live-refill editor guard, group-band edge-bar precedence (DA-07 picks this up too), `SettingsDelegate` exported. Two follow-ups deferred: [BL-DS4](#bl-ds4--sim-disconnect-has-no-toolbar-reconnect-path--p3--todo) (SIM reconnect path) and [BL-DS5](#bl-ds5--toolbar-responsiveness-below-1180px--p3--todo) (toolbar compaction). Phases 5 (DA-07) and 6 (IOModbus + launcher) remain. See [BL-DS-P4](BACKLOG.md#bl-ds-p4--instrument-design-system-phase-4-da-12-adoption--p2--done). 960 tests pass; ruff clean. |
## What I could NOT do without hardware (your turn)
@@ -225,9 +226,11 @@ act on into a tracked backlog item.)*
## Next direction
The monorepo reshape is done and the first three VB6 tools are rebuilt: DA-12
(module #1), DA-07 (module #2), and IOModbus (module #3). The outstanding milestone
is **hardware verification** of all three (`docs/HARDWARE-VERIFICATION.md`). Further
VB6 tools follow the same pattern — drop the source into
`cim_suite/modules/<app>/legacy/`, then spec → plan → implement; `core` grows only as
real sharing reveals itself. Design and sequencing: **`docs/SUITE-ARCHITECTURE.md`**.
The monorepo reshape is done, the first three VB6 tools are rebuilt (DA-12, DA-07,
IOModbus), and **DA-12 is now fully adopted on the Instrument design system** (Phase 4,
2026-06-11 — [BL-DS-P4](BACKLOG.md#bl-ds-p4--instrument-design-system-phase-4-da-12-adoption--p2--done)).
Next design-system work: **Phase 5** (DA-07 adoption) and **Phase 6** (IOModbus + launcher).
The outstanding hardware milestone is **verification** of all three modules
(`docs/HARDWARE-VERIFICATION.md`). Further VB6 tools follow the same pattern — drop the
source into `cim_suite/modules/<app>/legacy/`, then spec → plan → implement; `core` grows
only as real sharing reveals itself. Design and sequencing: **`docs/SUITE-ARCHITECTURE.md`**.