Files
domcyrus--rustnet/screenshots.tape
T
Marco Cadetg 7f41fbc476 feat(ui): TUI restyle, theme presets, and config file (#563)
* feat(ui): theme presets, config file, and TUI restyle
* fix(ui): flat status bar alerts and sandbox-aware copy hints
* feat(ui): rename --theme classic to vivid
* feat(ui): darken gray text tiers on light terminal backgrounds
2026-08-20 20:46:54 +02:00

112 lines
2.9 KiB
VHS

# vhs tape for the rustnet README screenshots.
#
# Render with: scripts/record-rustnet-demo.sh
# (which runs both demo.tape and this tape, then cleans the throwaway GIF).
#
# Manual render: vhs screenshots.tape
# Pre-build the release binary and grant it capture capabilities first:
# cargo build --release
# sudo setcap 'cap_net_raw,cap_bpf,cap_perfmon+eip' target/release/rustnet
#
# Walks every tab and emits PNGs under assets/screenshots/.
# Sized larger than demo.tape (1600x1000, FontSize 16) for crisper README
# rendering. The GIF Output is a throwaway and is deleted by the script.
#
# Beats and outputs:
# 1. Overview -> assets/screenshots/overview.png
# 2. Filter mode (/port:443) -> assets/screenshots/filter.png
# 3. Process grouping (a, Space) -> assets/screenshots/grouping.png
# 4. Details from a grouped child -> assets/screenshots/details.png
# (shows the continuity strip + "grouped by process" badge)
# 5. Graph (4) -> assets/screenshots/graph.png
# 6. Activity (3) -> assets/screenshots/interfaces.png
#
# The font is pinned deliberately. The traffic graphs are drawn with Unicode
# Braille (U+2800..U+28FF), and VHS's default family is plain "JetBrains Mono",
# which is often not installed. Fontconfig then substitutes silently and every
# graph cell renders as fallback tofu, turning the waves into a solid block.
# The Nerd Font Mono variant has Braille coverage and keeps every glyph one
# cell wide, so the table columns stay aligned.
# Arch: sudo pacman -S ttf-jetbrains-mono-nerd
# Verify: fc-list ':charset=2840' family
Output assets/screenshots/_throwaway.gif
Set Theme "Catppuccin Mocha"
Set FontFamily "JetBrainsMono Nerd Font Mono"
Set FontSize 16
Set Width 1600
Set Height 1000
Set Padding 20
Set TypingSpeed 50ms
Set Framerate 24
Set PlaybackSpeed 1.0
# Stay hidden until capture has warmed up so no shot catches the
# empty/loading state.
Hide
Type "clear"
Enter
Type "target/release/rustnet -i any"
Enter
Sleep 5s
Show
# 1. Overview
Sleep 3s
Down
Sleep 500ms
Down
Sleep 500ms
Screenshot "assets/screenshots/overview.png"
Sleep 500ms
# 2. Filter mode
Type "/"
Sleep 400ms
Type "port:443"
Sleep 1500ms
Screenshot "assets/screenshots/filter.png"
Sleep 500ms
Escape
Sleep 800ms
# 3. Process grouping: expand the selected group and step onto a child.
Type "a"
Sleep 1500ms
Space
Sleep 1000ms
Down
Sleep 400ms
Down
Sleep 1000ms
Screenshot "assets/screenshots/grouping.png"
Sleep 500ms
# 4. Details from the grouped child: continuity strip + grouped badge.
Enter
Sleep 2500ms
Screenshot "assets/screenshots/details.png"
Sleep 500ms
Escape
Sleep 800ms
Type "a"
Sleep 800ms
# 5. Graph
Type "4"
Sleep 2500ms
Screenshot "assets/screenshots/graph.png"
Sleep 500ms
# 6. Activity
Type "3"
Sleep 2500ms
Screenshot "assets/screenshots/interfaces.png"
Sleep 500ms
Hide
Type "q"
Sleep 200ms
Type "q"