// tunnelTime — 2026-05-07 / 08
Documentation hub for the radix widget series. Each widget below has its own docs page with embedded mockup, decisions to make, and work orders. Below the widgets — supporting context and reference URLs from the same session window.
widgets
pocketViewer
Frameless image viewer. Global hotkey toggle, 3×2 placement grid, fade-out timer.
4 decisions
PyQt5 · 547 lines
ecoute2
Async voice mailbox. Whisper STT, ElevenLabs/edge-tts, localMesh routing. Three views: full / mini / ribbon.
6 decisions
PyQt5 · 688 lines · untitledSDK
pinger
Test control panel. Pingle pings, retro Mini-Mac, scrollStack, HALT switch.
5 decisions
PyQt5 · 330 lines · untitledSDK
theMesh
Operator-facing widget over localMesh. Service health, agent registry, message composer, GO/HALT.
blocked · architecture decision
backend: localMesh on Rocky :8801
shared decisions across widgets
Three of the four widgets above (pocketViewer, ecoute2, pinger) ride on untitledSDK and the operator owes a coordinated answer on BaseFrame reskin scope:
- Reskin BaseFrame globally — Win95/terminal palette → radix slate. Touches every SDK widget. One change, broad impact.
- Override locally per widget — each rebuild ships its own styles. Loses SDK consistency.
- Add a theme parameter to BaseFrame — opt-in per widget. Most flexible, most code.
reference — radix mockups
reference — supporting docs
external
tunnelTime hub // aldrigger3120 // 2026-05-08