Opus 5.5 checks its own GSAP animation frame by frame with Playwright
The author had Opus 5.5 write a GSAP timeline and then measure it frame by frame with Playwright, catching a 1.7px overshoot and fixing it to 0.0% in two cycles.
I had opus 5.5 check its own animation frame by frame. it caught a 1.7px overshoot that nobody would ever see most ai motion demos stop the moment something looks smooth. this one doesn't stop until the numbers match. 320ms for the cards. 240ms for the title. 180ms for metadata. a 70ms stagger between elements. no "make it feel premium" anywhere in the prompt. just numbers. the interesting part starts after opus writes the code. it doesn't trust the first render. playwright steps through the timeline one frame at a time and measures what actually moved. the loop: → opus writes the gsap timeline from the spec → playwright captures 59 frames at 60fps → every 4th frame goes onto a contact sheet → the checker finds 7.1% overshoot where the spec says 0 → opus changes one line: back.out(1.4) → power3.out → re-render, re-measure, 0.0%. done in 2 cycles my favorite detail: the checker measured the stagger at 67ms, not 70. not a bug. at 60fps a frame is 16.7ms, so 70ms lands on frame 4. real numbers have a grid. the model isn't asked whether it feels right. it's asked when each element started, where it stopped, and how far it overshot. 1.7 pixels. invisible on its own. but that kind of bounce is exactly why an animation feels slightly cheap and you can't say why. the fix isn't a longer prompt. it's giving the model a clock and a ruler. next time someone says "make it smoother," ask them which frame.
This post quotes another post: x.com/genuenci/status/2106475874333675862