aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/design/2026-07-03-instrument-console-panels-spec.org14
-rw-r--r--todo.org3
2 files changed, 12 insertions, 5 deletions
diff --git a/docs/design/2026-07-03-instrument-console-panels-spec.org b/docs/design/2026-07-03-instrument-console-panels-spec.org
index 650fb77..cd0d1e5 100644
--- a/docs/design/2026-07-03-instrument-console-panels-spec.org
+++ b/docs/design/2026-07-03-instrument-console-panels-spec.org
@@ -123,13 +123,17 @@ visual or interaction, the prototype wins.
faceplate state word derivation, meter scale logic, arm state machines
for forget/disconnect), PanelModel restructure (sections, no tabs).
Engine gaps: radio verb, hidden join, ethernet rows, wired link speed.
-3. [ ] Net view rebuild: window_content.blp + gui.py single-page console
+3. [X] Net view rebuild: gui.py single-page console built in Python
(faceplate, engraved scrolled sections, console keys, cairo dial meters
with mode/hold tags, output well + dismiss), panel.css additions
- (engrave, lamps, dial, badges, arm tints). AT-SPI smoke rewritten for
- the console layout.
-4. [ ] Net interactions: join/hidden/forget/disconnect/radio switch/
- ethernet toggle/doctor stream/speed-test-drives-meters, toasts.
+ (engrave, lamps, dial, badges, arm tints). AT-SPI smoke + driver
+ rewritten for the console layout. Shipped with phase 4 (dotfiles
+ 800ef60): a view-only intermediate is a broken panel (rows and switches
+ that do nothing), so view + interactions landed together.
+4. [X] Net interactions: join/hidden/forget (arm terracotta)/disconnect
+ (arm gold)/radio switch/ethernet toggle/doctor stream/speed-test-drives-
+ meters, toasts. Verified live on velox (DOCTOR streams, SPEED TEST sweeps
+ both dials then HOLD). Shipped in dotfiles 800ef60 with phase 3.
5. [ ] Bluetooth panel: same treatment end to end (faceplate + power
switch, adapter chip, paired/nearby lamp rows, pair passkey flow,
rename via set-alias, forget arm, battery gauges + LOW BATT, DOCTOR /
diff --git a/todo.org b/todo.org
index 1b6be21..6b66a4c 100644
--- a/todo.org
+++ b/todo.org
@@ -29,6 +29,9 @@ The no-approvals speedrun build of the console design Craig approved through fiv
*** 2026-07-03 Fri @ 03:20:00 -0400 Phase 2 shipped: net GTK-free console layer + engine verbs
Dotfiles =81ec9c3= (TDD, 52 new tests, 581 net green). Pure presenter logic for the single-screen console, no view code touched: =viewmodel.net_faceplate= (state word + lamp + TUNNEL/AIRPLANE badges, wired-link-wins precedence), =network_console_rows= (ethernet pinned, radio-off note, active-then-signal sort, per-row lamp/caption/ladder/forget), =channel_headline= (wired device+speed / SSID+ladder+dBm / not-connected placeholder), =tunnel_console_rows=, dial-meter geometry (=meter_needle_deg= + =meter_scale= 100→1000 auto-relabel), =signal_bars=/=mbps_label=, and =panel.ArmState= (two-click arm-to-fire for forget/disconnect). Engine verbs: =manage.wifi_radio= (nmcli radio wifi on|off), =manage.device_up= (ethernet take-the-route), =sysio.link_speed_mbps= (/sys wired speed), =connections.ethernet_devices=, hidden flag on =manage.add=.
+
+*** 2026-07-03 Fri @ 06:02:32 -0400 Phases 3+4 shipped: net view rebuilt as the instrument console
+Dotfiles =800ef60= (1197+/250-). =gui.py= rewritten as the single-screen console — no tabs, no Blueprint template (the dial meters and arm-to-fire rows are too dynamic, so the tree is built in Python; =pages.py= + the =*.blp/*.ui= are now orphaned, Phase 6 dead-code). Faceplate (lamp/word/TUNNEL+AIRPLANE badges/wifi-radio switch/close), engraved CHANNEL headline, scrolled NETWORKS + TUNNELS lamp rows, CONSOLE keys, two cairo dial meters, output well + dismiss ✕, toast. Interactions all wired: open network joins / secured opens the password dialog, active row arm-disconnects (gold), ✕ arm-forgets (terracotta), tunnel toggles, ethernet row takes/yields the route, radio switch flips the wifi radio (refuses under airplane with the way out), + hidden joins a non-broadcast SSID, DOCTOR streams diagnose+repair into the well, SPEED TEST sweeps both dials with the live rate then pins the final with HOLD (location/ping/final/tips in the well). =panel.css= grew the console classes (lamps+glow, b-face, engrave, chan, lamp-row + arm tints, c-btn, meter/mode/hold, output steps, toast). AT-SPI smoke + driver rewritten (anchor on the DOCTOR key). Phases 3 and 4 landed together because a view-only intermediate is a non-functional panel. Verified live on velox: full render screenshotted, console smoke green (faceplate/keys/sections/tunnels/DOCTOR/dismiss/close), DOCTOR streams real diagnose steps, SPEED TEST drove RX 36.6↓ / TX 90.7↑ then HELD. 581 net tests + full make test green.
** DONE [#B] Net diagnostics: narrate every step :feature:network:solo:
CLOSED: [2026-07-02 Thu]
:PROPERTIES: