Original prompt — Tested Remotion bar race prompt — rankings over time
by MotionPrompts (own run)
Prompt
Banned list ✓Beat grid ✓Build method ✓Self-review ✓
<direction>
A 9-second bar race for app downloads: five fictional apps, four quarters. Bars reorder across four quarters; every position is interpolated between the two quarters' rankings with a smoothstep ease — no cuts, no jumps. The current leader is the accent colour; a Q1–Q4 badge tracks the period. Sample data, labelled on screen.
Banned: teleporting bars, 3D, glows, gradients, axis tricks, more than six racers (unreadable at this size).
</direction>
<structure>
Beat 1 (0–0.7s): title and Q1 state settle. Beats 2–4 (0.7–7.7s): one quarter transition each (~2.3s): values count toward the new quarter while ranks glide. When two bars cross, the falling bar dims to 40% and passes behind. Beat 5: final ranking holds; footer line explains the rule.
</structure>
<build>
One Remotion composition, 1280x720 landscape, 30fps. For each segment, compute both quarters' rank orders; each bar's row is fromRank + (toRank − fromRank) × smoothstep(local t). Values interpolate on the same t. zIndex follows current row so the rising bar crosses in front; labels sit on background pills so they stay legible mid-cross.
</build>
<gotchas>
Crossing labels are the whole problem in a bar race: without the dim-and-pass-behind rule, two names print on top of each other for half a second and the film looks broken. Check the crossing frames specifically, not just the settled ones.
</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.
A bar race where ranks are interpolated, not teleported: when two bars swap, the falling one dims and passes behind the rising one. Sample data, labelled on screen.
Run log
| Model | Claude (agent build) |
| Renderer / stack | Remotion + React |
| Iterations to final | 3 |
| Render time | 26s (final render) |
| Format | 1280×720 · landscape |
| Published | 2026-10-25 |
What broke (and the fix)
- First still, caught mid-swap at frame 200: the two crossing bars printed their names on top of each other — the classic bar-race failure, invisible if you only check settled frames.
- Fix one put the labels on background pills with z-order following the live ranking. Better, but the names still collided at the exact crossing. Fix two: the falling bar dims to 40% and passes behind the rising one, so the crossing reads as depth. That is the version in the film.
Related videos