feat(demo): add VHS demo tape and generated GIF

Create docs/demo.tape scripting a ~15s pivot axis reassignment demo.
Hide shell startup and quit so the GIF opens directly on the TUI.
Set up git-lfs for docs/*.gif. Merge LFS hooks with existing beads hooks.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Edward Langley
2026-04-09 00:47:37 -07:00
parent 280339ea10
commit e00f2e032e
7 changed files with 77 additions and 0 deletions

View File

@ -22,3 +22,8 @@ if command -v bd >/dev/null 2>&1; then
if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
fi fi
# --- END BEADS INTEGRATION v1.0.0 --- # --- END BEADS INTEGRATION v1.0.0 ---
# --- BEGIN GIT LFS ---
command -v git-lfs >/dev/null 2>&1 || { printf >&2 "\n%s\n\n" "This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-checkout' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks')."; exit 2; }
git lfs post-checkout "$@"
# --- END GIT LFS ---

5
.beads/hooks/post-commit Executable file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env sh
# --- BEGIN GIT LFS ---
command -v git-lfs >/dev/null 2>&1 || { printf >&2 "\n%s\n\n" "This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-commit' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks')."; exit 2; }
git lfs post-commit "$@"
# --- END GIT LFS ---

View File

@ -22,3 +22,8 @@ if command -v bd >/dev/null 2>&1; then
if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
fi fi
# --- END BEADS INTEGRATION v1.0.0 --- # --- END BEADS INTEGRATION v1.0.0 ---
# --- BEGIN GIT LFS ---
command -v git-lfs >/dev/null 2>&1 || { printf >&2 "\n%s\n\n" "This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-merge' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks')."; exit 2; }
git lfs post-merge "$@"
# --- END GIT LFS ---

View File

@ -22,3 +22,8 @@ if command -v bd >/dev/null 2>&1; then
if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
fi fi
# --- END BEADS INTEGRATION v1.0.0 --- # --- END BEADS INTEGRATION v1.0.0 ---
# --- BEGIN GIT LFS ---
command -v git-lfs >/dev/null 2>&1 || { printf >&2 "\n%s\n\n" "This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'pre-push' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks')."; exit 2; }
git lfs pre-push "$@"
# --- END GIT LFS ---

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
docs/*.gif filter=lfs diff=lfs merge=lfs -text

3
docs/demo.gif Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c498e3c82201c36fcf45dfeffe9a36843c7b92eb816fe72fcf8a592c6171e981
size 305310

53
docs/demo.tape Normal file
View File

@ -0,0 +1,53 @@
# improvise demo — pivot axis reassignment
# Run: nix develop --command vhs docs/demo.tape
Output docs/demo.gif
Set FontSize 14
Set Width 1200
Set Height 650
Set Theme "Dracula"
# Hide the shell prompt and startup
Hide
Type "./result/bin/improvise examples/demo.improv"
Enter
Sleep 2s
Show
# Show the initial pivot: Product×Region on rows, Date_Month×Measure on columns
Sleep 2s
# Enter tile mode
Type "T"
Sleep 1s
# Navigate to Region tile (index 5: _Index, _Dim, Customer, Date, Product, Region)
Type "lllll"
Sleep 800ms
# Move Region from Row to Column axis
Type "c"
Sleep 2s
# Navigate back to Customer tile (index 2)
Type "hhh"
Sleep 600ms
# Move Customer from Page to Row axis
Type "r"
Sleep 2s
# Exit tile mode
Escape
Sleep 1500ms
# Transpose to show another arrangement
Type "t"
Sleep 2s
# Quit without recording the exit
Hide
Type ":q"
Enter
Sleep 500ms