Skill 18 · Hyperframes Animation
Subchapter 18.40
blueprints/typewriter-reveal.mdMarkdown6 KBView on GitHub
intent: A live text caret types (and edits) a line as a human would, then either collapses it to a point and pops a brand payoff, or holds it under a persistent brand mark while a sub-line types/swaps into the final CTA — making “someone is typing this” the engine of the shot.
roles served
duration: 3.6–7s (Brand_Outro 3.6–6.0s · Hook 5.5–7s)
shot structure (one consolidated template; [slots] are product-agnostic)
Scene 1 (0.0–~2.0s): On a solid [bg color] field, a blinking text-input caret | sits at the line start, then [primary line] TYPES on character-by-character with the caret trailing.
[hook line] owns the frame. (Sub-variant: the line types inside UI chrome — a rounded [input/pill] — and the whole assembly continuously TRANSLATES leftward + scales slightly so the active caret stays pinned near frame-center while earlier words scroll off and clip past the left edge — a ticker push.)[logo mark] (+ optional [wordmark]) is already centered/upper and STAYS fully visible for the entire shot; an entry flourish plays on the mark itself (e.g. [checkmark/icon] strokes into the mark, or thin concentric rings ripple outward from it), and the typed [tagline / product label] is the SUB-LINE beneath the mark.Scene 2 (~2.0–4.5s): The typed line is MODIFIED in place — the active text is edited rather than re-shot.
[word A] → [word B]), or the fill/caret snaps to [accent color] on the final word. Holds briefly.Scene 3 — resolve:
[bg]. Then (remainder) a centered [brand element] SPRING-POPS in:
[mark/icon] pops, then slides aside as a [wordmark] UNMASKS / slides out from behind it; both settle into a centered lockup.[UI control] (e.g. button) pops; a [cursor] sweeps in from a corner and homes onto it; on contact a ~150ms state-FLIP — base cross-fades to [accent color], icon inverts, and a soft radial GLOW blooms outward and persists.[CTA] resolves in the sub-line slot — TYPED in with a caret and/or shown as a [CTA in accent-color button] beside plain text; an optional [accent color] GLOW ring / halo settles around the persistent mark. Holds to end. Final frame: [logo mark] + (glow ring) + [CTA].motion vocabulary: blinking text caret; character-by-character type-on; backspace-and-retype OR in-place hard-cut/mask-wipe text swap; optional leftward ticker push (assembly translates to keep caret centered); persistent centered hero mark (never vanishes) with entry flourish (icon stroke-draw, concentric ripple rings) and small idle move (rotate / sparkle); X-collapse / scale-to-0 zoom-out of the typed line; spring-pop brand reveal; wordmark unmask-slide into lockup; cursor sweep + UI state-flip + radial glow bloom; accent glow/halo ring settle; pill/button CTA reveal; hold.
rule mapping (per motion verb → rules/<id>.md)
context-sensitive-cursor (caret color-switch + blink)discrete-text-sequence (typing/typos/holds/backspace); recipe gsap-effects (typewriter)discrete-text-sequencediscrete-text-sequence (whole-text state swaps)techniques.md clip-path reveal (run in reverse)camera-cursor-tracking (viewport follows a moving caret)svg-path-drawcursor-click-ripple (ripple bloom)sine-wave-loop (idle)scale-swap-transition (closest fit — it morphs/collapses elements at a shared center; approximation, since a standalone collapse-and-vanish without the paired same-center brand pop isn’t its exact case)spring-pop-entrance (alt physics-press-reaction)scale-swap-transition (morph two elements at same center)techniques.md clip-path reveal (unmask); slide via spring-pop-entrancecursor-click-ripple (cursor→target press + ripple)hacker-flip-3dasr-keyword-glow (accent glow); ring expansion via center-outward-expansionspring-pop-entrance (alt scale-swap-transition)camera modifier: none required — camera is static for both roles. The Hook ticker push is an ELEMENT translate (the typed assembly slides leftward to keep the caret centered), not a camera move → modeled by camera-cursor-tracking rather than a true camera rule.