Skip to content

Commit 7eea677

Browse files
committed
Add animated Void terminal demos and a capture studio
1 parent b46a83a commit 7eea677

9 files changed

Lines changed: 1500 additions & 0 deletions

File tree

‎docs/.vitepress/theme/Home.vue‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import Spacer from '@components/shared/Spacer.vue';
55
import { useData } from 'vitepress';
66
import bg from './hero-bg.jpg';
77
import Hero from './Hero.vue';
8+
import TerminalDemos from './terminal/TerminalDemos.vue';
89
910
const { frontmatter } = useData();
1011
</script>
@@ -20,6 +21,10 @@ const { frontmatter } = useData();
2021

2122
<Spacer />
2223

24+
<TerminalDemos />
25+
26+
<Spacer />
27+
2328
<FeatureGrid />
2429

2530
<Spacer />
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Void terminal demos
2+
3+
`TerminalDemos.vue` is the shared Vue component used by `Home.vue` and the `/terminal-demos` recording page. `TerminalPlayer.vue` can also play one `TerminalDemo` directly. The player uses a single animation clock, pauses offscreen or in a hidden tab, and shows a static final frame for reduced motion. Explicit Play still allows a visitor to run a demo.
4+
5+
The studio includes pause, replay, scrubbing, a final-frame button, 0.75×–2× speed, and an optional cycle through all three flows. Clean capture hides the controls and starts the selected demo after three seconds. Use CleanShot's area recording on the terminal. `R` replays with the same lead-in, `Space` pauses/resumes, and `Esc` exits clean capture. Controls are outside the recording area.
6+
7+
Links preserve `?demo=deploy|install|recover&speed=1|1.5|2|0.75`. Add `&capture=1` to open just the terminal. The demos are local scripted output; they make no CLI calls and require no Cloudflare credentials.
8+
9+
`demos.ts` contains sample values and shortened timings. These are representative, condensed workflows, not claims about actual deployment speed. Installation assumes Cloudflare login, PostgreSQL, OAuth, and credentials were prepared; recovery assumes a linked Void platform project with compatible migration state. Sample `.example` domains and deployment IDs are fictional.
10+
11+
When updating transcripts, compare wording and phases to:
12+
13+
- `packages/void/src/cli/deploy.ts`: `runFullDeploy`, `applyDeployEvent`, and the final note.
14+
- `packages/void/src/cli/platform-lifecycle.ts`: install prompts and completion.
15+
- `packages/void/src/cli/platform-installer.ts`: progress messages.
16+
- `packages/void/src/cli/logs.ts` and `rollback.ts`: request formatting and rollback prompts.
17+
- `packages/prompts`: the shared Vite+ glyphs, spinner, colors, and boxes.
18+
19+
Keep transient spinner updates on the same line ID and remove prompt options after selection. Do not invent resource guarantees or hide required credentials in the surrounding explanatory copy. The deploy sample targets an already connected Void platform; it is not a direct Cloudflare deployment.
20+
21+
Verify with `node --test docs/.vitepress/theme/terminal/timeline.test.ts`, `vp run build:docs`, and browser playback of all three flows. The unit tests cover pause/speed continuity, replay, backward seeking, Unicode typing, and aligned box edges. No framework or terminal-emulator dependency is added to the website.

0 commit comments

Comments
 (0)