wuwi and Claude Opus 5
bcff17812f
Draw the whole serve right-handed, and let the pull wind it up
...
The racket kept changing hands because the art disagreed with itself: p_idle,
p_bounce and p_toss held it in his LEFT hand while p_smash and p_swing used his
right, so every new frame copied whichever reference it was handed. The idle, the
bounce pair, the toss and the four wind-up frames are all regenerated with the
side named — drawn from behind, his right hand is the right-hand side of the
image, and only the racket HEAD crosses behind his back.
What separates the four wind-up stages is how far the racket has fallen, and that
needed the racket head pinned to a body landmark per frame — above his head,
beside his ear, between his shoulder blades, at the back of his thighs. Described
as "further into it each time" it drew four near-identical poses twice running.
They are wired late in the pull, Oliver's call: frame 1 owns the first half and
the three coiled frames are packed into the top half.
assets/_derive.py is deleted. Fixing generated art by mangling it afterwards is
always worse than regenerating; three guards in _regen.py turn the bad rolls that
used to install silently into automatic re-rolls — a portrait reference canvas
(the generator answered with a 2x2 grid), a non-magenta background (a green sheet
keyed away four racket heads), and a mirrored frame.
The bounce pair is one drawing from one sheet now, differing only in the free
hand, so BOUNCE_IDLE moved to his left side and was re-measured off the sprite.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-01 00:49:28 +02:00
..
2026-07-30 16:23:04 +02:00
2026-07-14 16:11:12 +02:00
2026-07-31 21:03:47 +02:00
2026-07-27 05:28:04 +03:00
2026-08-01 00:49:28 +02:00
2026-08-01 00:49:28 +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-08-01 00:49:28 +02:00
2026-08-01 00:49:28 +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-08-01 00:49:28 +02:00
2026-08-01 00:49:28 +02:00
2026-08-01 00:49:28 +02:00
2026-08-01 00:49:28 +02:00
2026-08-01 00:49:28 +02:00
2026-08-01 00:49:28 +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-08-01 00:49:28 +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