http://127.0.0.1:8801) for agent routingAll three (full / mini / ribbon), or full only? Recommend: full first, mini second, ribbon third — sequence them.
Two side-by-side waveforms (you / agent). Live (mic + TTS sampling), decorative (animated placeholder), or mixed (live for "you", decorative for "agent")?
Mockup has 5 buttons (connect / record / send / play / end). Current has 4. What does "play" do — replay last response, start playback of queued message, or toggle TTS globally?
untitledSDK BaseFrame defines the green/orange terminal palette. Reskin BaseFrame globally (affects pinger, pocketViewer, all SDK widgets), override locally inside ecoute2 only, or add a theme parameter to BaseFrame?
When user toggles to mini, does the full window resize/reflow, or does a new compact window spawn? Affects state continuity.
Gradient circle with first letter of agent handle, picass0 portrait, or static color-coded blob per agent?
Add RADIX palette constants. Swap font to system sans-serif. Outer corner radius 12px.
3 traffic dots + "ecoute2" + teal "voice" badge + agent select + voice select.
Two columns separated by divider, blue bars for "you", green for "agent". Custom QWidget paintEvent.
connect (●) / record (⏺) / send (▶) / play (▷) / end (■). 32px circles with state colors.
Green dot + "connected -- {agent} via localMesh" left, "whisper + edge-tts" right.
280px compact. 28px gradient avatar + name + status, single waveform, 3 micro-buttons.
320x40 above-taskbar floating bar. Status dot + name + slim wave + 2-3 micro-buttons. Translucent backdrop blur.
Hotkey to cycle, state preserved across views, geometry persisted.
Connect, record, transcribe, agent response, TTS, waveform animation. Cycle voices. Cycle views.