Nothing broke — the first render shipped. All five rows land with both bars on the same 0–10 scale (ours wins 4 of 5; the rival honestly takes PRICE 8–7) and the 30%/final stills are clean.
Original promptTested
Comparison chart — HyperFrames prompt (us vs them, animated)
Banned list —Beat grid —Build method —Self-review —
<direction>
A 9-second animated comparison chart film (1280x720, 30fps): BrightBox versus Typical Rival. House style: near-black #0a0a0a, white type, ONE orange accent #ff5c1a, Arial/Helvetica bold, no webfonts. Five feature rows, each with two bars: ours in accent, the rival in grey. Both products are fictional; scores are illustrative, labelled "FICTIONAL COMPARISON — ILLUSTRATIVE SCORES" on screen. The film ends on BRIGHTBOX WINS 4 OF 5.
Banned: real brands, real prices, fake review stars, glows, gradients, claiming a test that was never run.
</direction>
<structure>
0.0-0.8s: headline "BrightBox VS Typical Rival" + "FICTIONAL COMPARISON" kicker in. 0.8-5.6s: five feature rows land one by one; each row's two bars grow from the left, ours in accent. 5.6-7.2s: verdict line "BRIGHTBOX WINS 4 OF 5 — COMPARE HONESTLY. THEN CHOOSE." lands. 7.2-9.0s: hold with the footer "FICTIONAL COMPARISON — ILLUSTRATIVE SCORES, NO TEST WAS RUN".
</structure>
<build>
One HyperFrames composition, 1280x720, seek-driven GSAP timeline, paused. Rows are absolutely positioned; bars grow by scaleX from transform-origin left; the tally is an object tween. Render at 30fps.
</build>
<gotchas>
- Keep both bars in every row on the same scale, or the comparison is rigged by the chart itself.
- Row labels must be short: long feature names collide with the bars at this width.
- The fictional-comparison label must be on screen from the first row, not saved for the footer.
</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.
Both products are fictional and the scores are illustrative — the film says so in the kicker and the footer, because a comparison chart that hides that is an ad pretending to be data.