wuwi and Claude Opus 5
b1f8ea3240
Wind the serve up with the pull, and stop the frames flickering
...
Four new frames (p_pull1..4) turn the slingshot drag into the serve's wind-up:
racket above the head, behind the head, behind the back, fully coiled, picked off
pullFrac — the same 0..1 that sets the shot's power — so the gesture and the man
are one movement and the release snaps to the smash.
The two bounce frames are one drawing now. p_bounce2 is p_bounce with the free
arm sheared up 12px and nothing else touched, so the swap cannot flicker, and it
follows the ball instead of its rising phase; BOUNCE_IDLE was re-measured off the
sprite so the ball tops out under the palm. p_toss had the tossed ball drawn into
it — cut, canvas height kept, because the game scales him off img.height.
The runner: hip centres sat -2.0/+7.1/-6.0/-0.1 px off the sprite centre, a 13px
lateral jump at 12 frames a second, and Oliver's diagnosis was right that all four
frames leaned the same way and lifted the same leg. Frames 3 and 4 mirrored, all
four padded to one width with the hip on the centre line.
assets/_derive.py holds the three derivations, since "the same drawing with one
small difference" is the one thing the generator cannot draw.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-07-31 23:51:30 +02:00
..
2026-07-30 16:23:04 +02:00
2026-07-14 16:11:12 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 21:03:47 +02:00
2026-07-27 05:28:04 +03:00
2026-07-31 23:51:30 +02:00
2026-07-31 22:46:19 +02:00
2026-07-12 17:30:46 +02:00
2026-07-17 22:13:59 +02:00
2026-07-30 12:55:35 +02:00
2026-07-30 13:50:47 +02:00
2026-07-28 10:34:43 +03:00
2026-07-27 05:28:04 +03:00
2026-07-11 14:55:21 +02:00
2026-07-31 19:05:31 +02:00
2026-07-12 10:19:21 +02:00
2026-07-31 21:29:41 +02:00
2026-07-12 17:30:46 +02:00
2026-07-17 22:13:59 +02:00
2026-07-30 14:56:00 +02:00
2026-07-31 20:10:20 +02:00
2026-07-28 10:34:43 +03:00
2026-07-27 18:09:18 +03:00
2026-07-17 21:17:17 +02:00
2026-07-17 20:39:07 +02:00
2026-07-31 20:52:52 +02:00
2026-07-31 18:57:03 +02:00
2026-07-31 19:57:45 +02:00
2026-07-11 13:38:28 +02:00
2026-07-31 21:29:41 +02:00
2026-07-12 17:30:46 +02:00
2026-07-27 05:28:04 +03:00
2026-07-27 10:20:43 +03:00
2026-07-27 10:20:43 +03:00
2026-07-17 21:17:17 +02:00
2026-07-27 05:28:04 +03:00
2026-07-27 05:58:18 +03:00
2026-07-30 14:56:00 +02:00
2026-07-27 05:28:04 +03:00
2026-07-30 13:50:47 +02:00
2026-07-31 20:05:44 +02:00
2026-07-11 14:55:21 +02:00
2026-07-11 10:22:10 +02:00
2026-07-11 13:56:18 +02:00
2026-07-11 15:11:30 +02:00
2026-07-31 20:36:25 +02:00
2026-07-11 10:22:10 +02:00
2026-07-11 13:56:18 +02:00
2026-07-31 21:03:47 +02:00
2026-07-31 19:02:15 +02:00
2026-07-31 21:29:41 +02:00
2026-07-12 10:19:21 +02:00
2026-07-14 16:11:12 +02:00
2026-07-31 20:10:20 +02:00
2026-07-12 10:19:21 +02:00
2026-07-12 10:19:21 +02:00
2026-07-11 15:58:18 +02:00
2026-07-14 16:11:12 +02:00
2026-07-31 20:42:12 +02:00
2026-07-31 19:57:45 +02:00
2026-07-31 20:52:52 +02:00
2026-07-11 16:26:49 +02:00
2026-07-31 21:03:47 +02:00
2026-07-11 16:26:49 +02:00
2026-07-30 16:23:04 +02:00
2026-07-27 05:58:18 +03:00
2026-07-27 05:58:18 +03:00
2026-07-27 05:58:18 +03:00
2026-07-27 05:58:18 +03:00
2026-07-27 05:28:04 +03:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 23:05:18 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:47:29 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 22:46:19 +02:00
2026-07-31 22:46:19 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 22:46:19 +02:00
2026-07-31 22:46:19 +02:00
2026-07-31 22:46:19 +02:00
2026-07-31 22:46:19 +02:00
2026-07-31 23:05:18 +02:00
2026-07-31 22:36:13 +02:00
2026-07-31 22:36:13 +02:00
2026-07-31 23:51:30 +02:00
2026-07-14 16:11:12 +02:00
2026-07-14 16:11:12 +02:00
2026-07-14 16:11:12 +02:00
2026-07-14 16:11:12 +02:00
2026-07-14 16:11:12 +02:00
2026-07-14 16:11:12 +02:00
2026-07-12 17:48:39 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:57:26 +02:00
2026-07-31 21:57:26 +02:00
2026-07-30 14:56:00 +02:00
2026-07-28 10:34:43 +03:00
2026-07-28 10:34:43 +03:00
2026-07-30 09:33:37 +02:00
2026-07-12 10:19:21 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:52:34 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 23:51:30 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 21:43:58 +02:00
2026-07-31 23:05:18 +02:00
2026-07-31 23:06:52 +02:00
2026-07-31 23:06:52 +02:00
2026-07-31 23:06:52 +02:00
2026-07-31 23:06:52 +02:00
2026-07-31 23:06:52 +02:00
2026-07-31 23:05:18 +02:00
2026-07-31 23:10:52 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-30 16:23:04 +02:00
2026-07-31 20:05:44 +02:00
2026-07-31 20:05:44 +02:00
2026-07-31 21:57:26 +02:00
2026-07-31 21:57:26 +02:00
2026-07-31 21:57:26 +02:00
2026-07-31 21:57:26 +02:00
2026-07-31 21:57:26 +02:00