// terminal-typewriter — terminal typewriter trigger // A dark terminal window centered; "$ acme deploy --prod" is typed out character by character (2f/char, frame-deterministic // substring), with a block cursor blinking in a 12f square wave → rests 12f after typing → on the enter frame: the whole scene // pushes in over 6f with Easing.in(cubic), scale 1→3.2 driving toward the command line (blur added on the last 2f) hard-cutting to // FakeDashboard A full-screen, settling 1.06→1 over 4f. Ends with ≥40f of true stillness. import React from 'react'; import { useCurrentFrame, interpolate, Easing } from 'remotion'; import { G, FakeDashboard } from '../../_fixtures/Fixtures'; const CMD = 'acme deploy --prod'; // Timeline (30fps, 145f total) const T = { typeStart: 10, // starts typing typeEnd: 10 + CMD.length * 2, // 46: 18 chars × 2f enter: 58, // enter after a 12f rest pushEnd: 64, // 6f push ends, hard-cut frame settleEnd: 68, // dashboard settles 1.06→1 over 4f total: 145, // true stillness from f68, 77f }; // Terminal window geometry const TW = 1100; const TH = 620; const TL = (1920 - TW) / 2; // 410 const TT = (1080 - TH) / 2; // 230 const TITLEBAR = 52; const PAD = 34; // Command-line baseline (push-in focus): center of the second text line below the title bar const FOCUS_X = 960; const FOCUS_Y = TT + TITLEBAR + PAD + 92; // ≈ 408 const TerminalWindow: React.FC<{ chars: number; cursorOn: boolean }> = ({ chars, cursorOn }) => (