Files
wehub-resource-sync 19dc5d82a0
Rust / build (push) Failing after 1s
Rust / docker (push) Failing after 0s
chore: import upstream snapshot with attribution
2026-07-13 12:29:44 +08:00

107 lines
2.9 KiB
VHS

# vhs tape for the rustnet demo GIF.
#
# Render with: scripts/record-rustnet-demo.sh
# (wraps `vhs demo.tape` with setcap, background traffic, and
# gifsicle optimization).
#
# Manual render: vhs demo.tape (writes assets/rustnet.gif).
# 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
# The tape then runs the binary unprivileged, so the Security sidebar
# shows the sandboxed non-root posture instead of a root warning.
#
# Pacing principles (from the ratatui showcase review):
# - never show the blank state: stay hidden until the table is populated
# - fewer beats, longer dwell on each screen; short overall (~28s)
# - larger text, less padding: FontSize 16 / Padding 10 — the responsive
# column hiding keeps the table clean at the narrower cell count, and
# the sidebar toggle beat shows columns flowing back in
# - navigations should read as zooming/expanding, not screen replacement
# - filtering is left to the README screenshots; the GIF shows fewer
# things for longer
#
# Storyboard (~28s, 6 beats):
# 1. Reveal Overview with live traffic, let it breathe.
# 2. Walk two rows slowly.
# 3. Toggle the System sidebar off and on (i) — columns reflow to fill.
# 4. Group by process (a), expand the selected group (Space), walk into
# its connections.
# 5. Enter zooms into Details: the continuity strip shows the grouped
# neighbors; j flips through them without leaving the tab. Esc back.
# 6. Jump to Graph (4), dwell, then back to Overview (1).
#
# Sized for the README: 1600x900 at FontSize 16 yields ~164 terminal
# columns — enough for the near-full column set alongside the System
# sidebar (GitHub scales the GIF down to the README width; wide captures
# stay sharp on click-through/retina). Narrower canvases push the table
# to its degraded column floor, which hides most of the data.
Output assets/rustnet.gif
Set Theme "Catppuccin Mocha"
Set FontSize 16
Set Width 1600
Set Height 900
Set Padding 10
Set TypingSpeed 50ms
Set Framerate 24
Set PlaybackSpeed 1.0
# Stay hidden until capture has warmed up so the reveal is a busy table,
# never the empty/loading state.
Hide
Type "clear"
Enter
Type "target/release/rustnet -i any"
Enter
Sleep 5s
Show
# 1. Overview with live traffic.
Sleep 3500ms
# 2. Walk two rows.
Down
Sleep 1s
Down
Sleep 1500ms
# 3. System sidebar toggle: the table reflows and extra columns appear.
Type "i"
Sleep 2500ms
Type "i"
Sleep 1500ms
# 4. Group by process and step into the expanded group.
Type "a"
Sleep 2s
Space
Sleep 1500ms
Down
Sleep 800ms
Down
Sleep 1s
# 5. Details: the strip at the top continues the grouped list; j flips
# through the neighbors without leaving the tab.
Enter
Sleep 3500ms
Down
Sleep 1200ms
Down
Sleep 2s
Escape
Sleep 1500ms
# 6. Graph, then close the loop on Overview.
Type "4"
Sleep 3s
Type "1"
Sleep 2s
Hide
Type "q"
Sleep 200ms
Type "q"