1.6 KiB
PROTOTYPE — graph encoding & hourly drill-down (throwaway)
Answers wayfinder ticket Choose daily graph encoding and hourly drill-down on map Fenris TUI polish and hourly history. Not production code. Do not merge onto main.
Question
Which graph encoding best communicates hourly writes and a day's usage without misleading: daily bars vs one candle per day vs rolling hourly strip, with range -> selected day -> hourly detail -> back navigation.
Run
./run # or: python3 tui_prototype.py
Variants (switch with [ and ])
- A — Daily bars: one bar per local display day (bytes written), drill into 24 hourly bars with Enter / click.
- B — Daily candles: one candle per day derived from hourly values (open = first evidenced hour, close = last, high/low = max/min hourly). Same drill-down.
- C — Rolling hourly strip: continuous last-72-hours columns with day separators; click an hour for its readout (no day level).
Data states encoded (synthetic)
measured zero (0 B) · gap / no evidence · unallocated usage (measured, attribution unknown) · partial day ("so far") · deliberate-disable pause band · day before monitoring began.
Gaps never render as zero. Unallocated is a separate visual segment, never spread into hours.
Framework facts verified
Textual 8.2.8 (installed): no BarChart widget (roadmap-only), Sparkline is non-interactive. Bars/candles here are a custom Static renderable; mouse clicks map via widget-local x. No new dependencies.
Screenshots
screenshots/ holds SVG exports at 80x24 and 140x40 per variant. Regenerate with: python3 capture.py