5 Commits
Author SHA1 Message Date
andrew d1384e8603 Dog loader: halve size (32x22) and drop the paw trail 2026-09-10 14:23:08 +03:00
andrew e8b1a2e83f Dog loader: render real GIF frames as truecolor half-blocks
- add ui/dog_art.py: 12 frames from 236205.gif (64x42, 128-color
  palette, transparent background), zlib+base64 embedded
- DogLoader draws half-block truecolor cells over the dimmed dashboard,
  transparent background, paw trail 🐾, 40 ms/frame (GIF speed)
- full-screen overlay + input blocking preserved
- tests: frame data + animation; docs updated
2026-09-10 14:12:11 +03:00
andrew d7d146e586 Full-screen dog loader overlay with dim background and input blocking
- DogLoader now covers the whole window (dock top + _loading layer),
  dims the dashboard behind it ($background 80%), draws a centered
  rounded panel with a running ASCII dog and a 🐾 paw trail
- block keyboard bindings (check_action) and drop focus while refreshing;
  restore focus to models table afterwards
- removed the docked progress line (covered by the overlay)
- docs updated; tests: full-screen coverage + input blocking
2026-09-10 13:30:00 +03:00
andrew 9f25d37b6e Add dog ASCII animation on statistics refresh (task #1)
- DogLoader widget: ASCII dog animating while data loads, shown as a
  centered overlay and a docked progress line on the dashboard
- shown on timer auto-refresh and manual refresh (r)
- bump version to 1.0.4; CHANGELOG + README updated
- tests: hidden when idle, shown during refresh, frame animation
2026-09-10 11:51:14 +03:00
andrew f95223b88b Initial import: selectel-ml-tui TUI for Selectel AI-router token usage 2026-09-02 16:38:03 +03:00