Files
Fenris/prototype/graph-encoding/README.md
T

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