You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make the chat-spinner line come alive during model activity:
▛ Elucidating ●○○ ↑ 1.2k ↓ 0.3k (1.4s) (Press ESC to stop)
- braille_spinner.go: add SetWave(true) so the verb label is colored
per character from hawkRandomPalette, with the color phase shifted
by Tick() so the bright peak sweeps across the word. In wave mode
three trailing dots (○/●) ride after the verb; one is highlighted
in hawk orange and cycles 0→1→2 each tick, like a typing indicator.
- chat_model.go: add per-turn turnInputTokens/turnOutputTokens fields
and a usageUpdateMsg{usage *engine.StreamUsage} message.
- chat.go: forward 'usage' stream events to the TUI (was a no-op for
stream-json print mode only) and reset the per-turn counters each
time the spinner starts (Enter pressed, queued message, slash loop).
- chat_view.go: append a renderTokenCounters(input, output) segment
to the spinner line. Uses ↑ (soft blue) for input and ↓ (soft
amber) for output, formatted via formatModelTableContext. Hidden
until the first usage event lands so it doesn't pop in empty.
- braille_spinner_test.go: TestHawkRandomSolidLabel now opts out
of wave mode; new TestHawkWaveLabel_MultipleColorsPerChar and
TestHawkWaveAnimatedDots_PresentInFrame lock the new behavior in.
0 commit comments