Banned list —Beat grid —Build method —Self-review —
<direction>
A 9-second launch-day film for a fictional tool, HyperFrames 1280x720 at 30fps. House style: near-black #0a0a0a background, panels #141414, borders #2a2a2a, text #ffffff/#c9c9c9, ONE accent #ff5c1a, Arial/Helvetica bold, no webfonts. This run's accent: #ff5c1a. Energy comes from a supporter counter racing up and early-feedback quotes — every number is labelled set dressing inside the film itself. No gradients, no stock photos, no real brand logos, no lorem ipsum, no purple/blue tech gradient.
</direction>
<structure>
0.0-1.2s — Kicker "LAUNCH DAY — SnipVault". The line "WE'RE LIVE." slams in.
1.2-3.4s — A feature panel rises: three short rows of what the product does, each with an accent tick.
3.4-5.6s — A supporter counter animates from 0 to 512 with the label "SUPPORTERS TODAY — AND COUNTING (SAMPLE NUMBER)".
5.6-7.6s — Two quote cards slide in, headed "EARLY FEEDBACK — SAMPLE QUOTES", with fictional names. Never present them as real testimonials.
7.6-9.0s — End card: wordmark, "TRY IT TODAY" pill, fine print stating the product and numbers are fictional set dressing for the film.
</structure>
<build>
One paused GSAP timeline on window.__timelines["main"]. Counter = a plain object tween with onUpdate writing toLocaleString text. Quote cards are plain panels; stagger their entrances by 0.25s so the eye reads them one at a time.
</build>
<gotchas>
- The sample framing must be IN the visible film (headings and fine print), not only in the page around it — a clipped repost must still be honest.
- Keep quote text short enough to fit its card at the set font size; the inspector's text_box_overflow check will catch greed.
</gotchas>
Before you finish: step through the timeline at five points and fix anything that overlaps, clips the frame, or drifts off the beat grid.
Tested end-to-end. If you adapt it for a real launch, replace the sample quotes with real, permissioned ones and the counter with your real number — the format works either way.