sleev 1.8.0 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,6 +18,59 @@ This CLI is developed in the `sleev` repository and released together with the
18
18
  gateway as one versioned unit; see that repo's `README.md` and `CLAUDE.md` for
19
19
  architecture and contributor docs.
20
20
 
21
+ ## Session charts
22
+
23
+ Pixel session charts are experimental and **disabled by default**. Enable with
24
+ `sleev experimental advanced-graphics enable`, then reopen the TUI. Use
25
+ `sleev experimental advanced-graphics status` or `disable` to inspect or turn it
26
+ off. This local setting does not require a running gateway. The accounting
27
+ correction applies regardless of this setting.
28
+
29
+ When enabled, session charts use pixel graphics only after the terminal confirms
30
+ Kitty or Sixel support and reports its cell size in pixels. Axes, request labels, and controls
31
+ remain native terminal text. The existing text chart is used when graphics or
32
+ pixel dimensions are unavailable, inside tmux/screen, and while overlays cover
33
+ the chart. Scrolling dashboards also use text until the plot fits directly in
34
+ the visible viewport.
35
+
36
+ Detection shares the Unix input loop, including over SSH; there is no separate
37
+ capability-probe reader. Native Windows currently uses the text chart: the
38
+ console backend cannot report pixel dimensions. Windows Terminal over SSH to
39
+ a Unix host can use Sixel when it reports support and cell dimensions.
40
+ `SLEEV_TUI_GRAPHICS=auto|kitty|sixel|text` selects the protocol preference;
41
+ the default is `auto`, which keeps text rendering until a positive capability
42
+ reply arrives. Terminal environment names alone do not enable pixels. Explicit
43
+ Kitty/Sixel overrides force the protocol; they do not bypass the experimental
44
+ setting. Overrides still require real pixel dimensions and do not
45
+ enable graphics inside tmux/screen.
46
+
47
+ Fit mode retains spikes and compression drops at pixel resolution. Hover's
48
+ request-range badge identifies the requests within that terminal column; the
49
+ crosshair and value badges inspect the **last request in the range**. Normal
50
+ zoom still uses one terminal column per request. Existing compare, pan, vertical
51
+ zoom, full-screen, and keyboard controls apply to both renderers.
52
+
53
+ The pixel chart scales to the visible requests and enabled series, with a small
54
+ margin above and below the data. Panning updates the range; Fit uses the entire
55
+ session. Hidden comparison data does not stretch the scale.
56
+
57
+ Unchanged pixel frames send no image data. Sixel hover updates repaint only
58
+ changed cell columns; resizing, moving the plot, or changing most of the image
59
+ replaces the full canvas. Encoded updates and the retained raster are each
60
+ bounded to 48 MiB. A second, equally bounded static raster is reused for hover;
61
+ request series are prepared only when data changes. Only the session plot uses
62
+ this renderer. Kitty uses lossless PNG with row prediction to limit terminal
63
+ traffic; Sixel uses a 32-color palette and deduplicates full-canvas colors before
64
+ quantization. Consecutive compatible pointer events are collapsed before graph
65
+ updates, preserving button and key boundaries.
66
+
67
+ Synthetic interaction timings (including the view and codecs, excluding terminal
68
+ I/O) can be reproduced with `cargo test -p sleev-tui --lib --release
69
+ fullscreen_chart_profile -- --ignored --nocapture`. The ignored `codec_profile`
70
+ benchmark breaks down raster, palette, and encoding costs. Fullscreen Sixel pans
71
+ remain more expensive than hover; terminal transport and emulator rendering add
72
+ to these CPU timings.
73
+
21
74
  ## Legal
22
75
 
23
76
  `sleev` is proprietary software owned by Sleev Labs Inc. It is published with