docs: record Instrument phase 4 (DA-12 adoption); BL-DS-P4 closed
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 8–9 below). **818 tests pass across `tests/core`, `tests/da12`,
|
||||
see Phases 8–9 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 2–6 (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 3–6 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 4–6; 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`**.
|
||||
|
||||
Reference in New Issue
Block a user