Each tape takes Screenshot stills at its key moment into demos/out/stills/, and every demo now records at 16px in a 1000x600 window with padding, readable at GitHub's width. The JEV demo widens its review column, and the fake service answers from the value alone.
- commit
- 80d71a0360e8c126fef16403a6d59dfc612adbae
- parent
- 50dbc93db640cae2d16af83309029bebbefb4c45
- author
- Dami <dami.etoile@gmail.com>
| M | Makefile | 7 | ++++--- |
| M | demos/ | 3 | +++ |
| M | demos/ | 2 | ++ |
| M | demos/ | 3 | +++ |
| M | demos/ | 2 | ++ |
| M | demos/ | 2 | ++ |
| M | demos/ | 4 | ++++ |
| M | demos/ | 3 | +++ |
| M | demos/ | 7 | +++++++ |
| M | demos/ | 8 | ++++---- |
| M | demos/ | 4 | ++++ |
| M | demos/ | 1 | + |
@@ -71,8 +71,9 @@ oracle:
7171 cd oracle && go test -count=1 ./...7272 7373 # Demo GIFs from the VHS tapes in demos/ into demos/out/ (gitignored),74-# plus smaller copies for the README in demos/out/media/ (12 fps, a75-# 64-color palette, the last frame held). Needs vhs 0.12+ (go install74+# PNG stills of key moments in demos/out/stills/, and smaller GIFs for75+# the README in demos/out/media/ (12 fps, a 64-color palette, the last76+# frame held). Needs vhs 0.12+ (go install7677 # github.com/charmbracelet/vhs@latest), ttyd and ffmpeg. The JEV demo7778 # talks to demos/fakejev, started here, never the real service.7879 # DEMOS=jev renders just one.@@ -82,7 +83,7 @@ FAKEJEV_ADDR := 127.0.0.1:8799
8283 demos: build8384 @for t in vhs ttyd ffmpeg; do command -v $$t >/dev/null || { echo "demos need $$t (vhs: go install github.com/charmbracelet/vhs@latest; ttyd, ffmpeg: brew install ttyd ffmpeg)"; exit 1; }; done8485 CGO_ENABLED=0 go build -o bin/fakejev ./demos/fakejev85- mkdir -p demos/out86+ mkdir -p demos/out/stills8687 bin/fakejev -addr $(FAKEJEV_ADDR) & pid=$$!; trap "kill $$pid" EXIT; \8788 export DEMOS_TTYD="$$(command -v ttyd)" PATH="$(CURDIR)/demos/lib:$$PATH"; \8889 cd demos && for d in $(DEMOS); do echo "vhs $$d.tape"; vhs -q $$d.tape || exit 1; done@@ -14,6 +14,7 @@ Ctrl+F
1414 Sleep 500ms1515 Type@150ms "acme"1616 Sleep 1.2s17+Screenshot out/stills/find-bar.png1718 Enter1819 Sleep 800ms1920 Enter@@ -29,3 +30,5 @@ Type@120ms "Acme Co."
2930 Sleep 1s3031 Alt+a3132 Sleep 3s33+Screenshot out/stills/replace-all.png34+Sleep 500ms@@ -25,3 +25,5 @@ Sleep 800ms
2525 Up@300ms 3 Left2626 Type "6" Enter2727 Sleep 3s28+Screenshot out/stills/first-steps-totals.png29+Sleep 500ms@@ -16,6 +16,11 @@ Type "Review" Tab Type "Complaint?" Tab Type "Sentiment" Tab Type "Urgency" Ente
1616 Type "Box arrived crushed" Enter1717 Type "Fast and friendly" Enter1818 Type "Wrong size, no reply" Enter19+Ctrl+K20+Type "column width"21+Sleep 500ms22+Enter23+Type "22" Enter1924 Ctrl+G2025 Type "B2" Enter2126 Type@25ms '=JEV.TEST(A2, "Is this a complaint?")' Tab@@ -30,3 +35,5 @@ Sleep 2.5s
3035 Escape3136 Right Down3237 Sleep 2.5s38+Screenshot out/stills/jev-results.png39+Sleep 500ms@@ -2,10 +2,10 @@
22 # palette the golden screens use (e2e/palette_test.go), and a pace that33 # reads well. Tapes run from demos/, so the binary is ../bin/012.44 Set Shell "bash"5-Set FontSize 186-Set Width 11207-Set Height 6408-Set Padding 165+Set FontSize 166+Set Width 10007+Set Height 6008+Set Padding 2099 Set LineHeight 1.151010 Set TypingSpeed 55ms1111 Set CursorBlink false@@ -17,6 +17,8 @@ Sleep 800ms
1717 Right@900ms 41818 Sleep 500ms1919 Right20+Sleep 800ms21+Screenshot out/stills/menu-format.png2022 Sleep 1.2s2123 Escape@300ms 22224 Sleep 600ms@@ -26,6 +28,8 @@ Type@120ms "freeze"
2628 Sleep 1.2s2729 Down@500ms 22830 Sleep 800ms31+Screenshot out/stills/palette-search.png32+Sleep 800ms2933 Enter3034 Sleep 1.5s3135 PageDown@@ -15,6 +15,7 @@ Right@300ms 3 Down
1515 Sleep 600ms1616 Ctrl+Shift+Down1717 Sleep 2s18+Screenshot out/stills/selection-stats.png1819 Ctrl+Shift+Right1920 Sleep 2s2021 Escape