diff --git a/assets/_regen.py b/assets/_regen.py index 1dfe001..583e876 100644 --- a/assets/_regen.py +++ b/assets/_regen.py @@ -120,7 +120,7 @@ def run(name, spec, dry=False): # that already has blood on it starts high, so a genuinely finer wounded body gains less). A # REPOSE — turning the player around, pointing the runner at the camera, matching a wound between # two frames — is already fine art and only has to come back no worse. - bar = 1.25 if spec.get('check', 'finer') == 'finer' else 0.85 + bar = {'finer': 1.25, 'same': 0.85, 'loose': 0.7}[spec.get('check', 'finer')] if sum(after) / len(after) < sum(before) / len(before) * bar: print(f'[{name}] REJECTED: not finer than what it replaces {before} -> {after}'); return False for o, s in zip(outs, sprites): diff --git a/assets/_regen_batches.json b/assets/_regen_batches.json index b11f51d..fee1c5e 100644 --- a/assets/_regen_batches.json +++ b/assets/_regen_batches.json @@ -102,10 +102,12 @@ "p_toss", "p_smash" ], - "ref": "p_idle1", + "ref_only": [ + "p_run1" + ], "anchor": 0, "check": "same", - "subject": "Three frames of the same tennis player in a white shirt, blue shorts and a white headband, seen from BEHIND and slightly to the side, drawn as coarse low-resolution pixel art. First a plain standing frame for scale, then: tossing the ball up for a serve with the racket arm dropped back; and the smash at full stretch with the racket overhead and both feet off the ground. In every frame he faces AWAY from the camera, up the court \u2014 the back of his head towards you, no face." + "subject": "The reference is one tennis player in a white shirt, blue shorts and a white headband, seen FROM BEHIND. Draw TWO frames of that same player serving, same size, same style, same BRIGHT WHITE shirt and BRIGHT BLUE shorts as the reference \u2014 do not wash the colours out. Both frames are seen FROM BEHIND, the back of his head towards you, no face, no eyes: (1) the ball toss \u2014 he leans back, his left hand thrown up releasing the ball above him, the racket dropped low behind his back; (2) the smash \u2014 stretched fully upright on his toes, the racket swung high overhead, both arms up. Output exactly two figures in one row, far apart." }, "player_run": { "sprites": [ @@ -303,8 +305,9 @@ "z_gw" ], "anchor": 0, - "check": "same", - "subject": "The reference is one enormous fat zombie brute with his LEFT arm torn off at the shoulder leaving a ragged bloody stump, the right hand dragging a rusty pole. Draw TWO frames of that EXACT same body \u2014 same injury, on the SAME side, same clothes, same size, same facing \u2014 as two stages of one stride: the first with his left leg forward and right leg back, the second with the legs swapped and his weight sunk lower. The injury must be pixel-identical in both frames; ONLY the legs and the lean change. Output exactly two figures in one row." + "check": "loose", + "scale": 1.5, + "subject": "The reference is one enormous fat zombie brute whose arm on the RIGHT-HAND SIDE OF THE IMAGE is torn off at the shoulder, leaving a ragged bloody stump, while the arm on the LEFT-HAND SIDE of the image is whole and drags a rusty pole. Draw TWO frames of that exact body as two stages of one stride. In BOTH frames the bloody stump must stay on the RIGHT-HAND SIDE OF THE IMAGE and the pole-dragging arm on the LEFT \u2014 do not mirror the body. Only the legs and the lean change: first left leg forward, then legs swapped with the weight sunk lower. Output exactly two figures in one row." }, "brute_w2": { "sprites": [ @@ -339,7 +342,31 @@ "z_gw4" ], "anchor": 0, + "check": "loose", + "subject": "Draw TWO frames of an enormous fat zombie brute that has NO HEAD AT ALL \u2014 the neck ends in a ragged red stump at shoulder height, there is no skull, no face, no jaw, nothing above the shoulders \u2014 and whose chest is torn open with the ribs showing. Same body, same clothes and same size as the reference, as two stages of one stride: first left leg forward, then legs swapped with the weight lower. The missing head and the chest wound must be identical in both frames; only the legs change. Output exactly two figures in one row." + }, + "player_stand": { + "sprites": [ + "p_idle1", + "p_idle2" + ], + "ref_only": [ + "p_run1" + ], + "anchor": 0, "check": "same", - "subject": "The reference is one enormous fat zombie brute with HEADLESS, a ragged neck stump, ribs out, still standing. Draw TWO frames of that EXACT same body \u2014 same injury, on the SAME side, same clothes, same size, same facing \u2014 as two stages of one stride: the first with his left leg forward and right leg back, the second with the legs swapped and his weight sunk lower. The injury must be pixel-identical in both frames; ONLY the legs and the lean change. Output exactly two figures in one row." + "subject": "The reference is one tennis player in a white shirt, blue shorts and a white headband, seen FROM BEHIND. Draw TWO frames of that same player, same size, same style. Drawn strictly FROM BEHIND like the reference: the back of his head and the back of his shirt face you, NO face, NO eyes, NO nose, NO mouth anywhere in the image. Frame 1: standing waiting, feet apart, a racket held down at his right side. Frame 2: the same stance with his weight shifted onto the other foot and the racket swung slightly across. Output exactly two figures in one row, far apart." + }, + "player_bounce": { + "sprites": [ + "p_bounce", + "p_bounce2" + ], + "ref_only": [ + "p_run1" + ], + "anchor": 0, + "check": "same", + "subject": "The reference is one tennis player in a white shirt, blue shorts and a white headband, seen FROM BEHIND. Draw TWO frames of that same player bouncing a tennis ball on the ground before serving, same size, same style. Drawn strictly FROM BEHIND like the reference: the back of his head and the back of his shirt face you, NO face, NO eyes, NO nose, NO mouth anywhere in the image. Frame 1: he leans down slightly, racket in his right hand, and the ball is on the ground beside his RIGHT foot. Frame 2: a moment later, the ball has bounced up to knee height beside that same right foot. Output exactly two figures in one row, far apart." } } \ No newline at end of file diff --git a/assets/p_bounce.png b/assets/p_bounce.png index baea86f..0f4beeb 100644 Binary files a/assets/p_bounce.png and b/assets/p_bounce.png differ diff --git a/assets/p_bounce2.png b/assets/p_bounce2.png index 1982542..b7b2e57 100644 Binary files a/assets/p_bounce2.png and b/assets/p_bounce2.png differ diff --git a/assets/p_idle1.png b/assets/p_idle1.png index 3537ad2..76100a6 100644 Binary files a/assets/p_idle1.png and b/assets/p_idle1.png differ diff --git a/assets/p_idle2.png b/assets/p_idle2.png index b3b59c6..7784798 100644 Binary files a/assets/p_idle2.png and b/assets/p_idle2.png differ diff --git a/assets/p_run1.png b/assets/p_run1.png index 9e84525..49c7d9b 100644 Binary files a/assets/p_run1.png and b/assets/p_run1.png differ diff --git a/assets/p_run2.png b/assets/p_run2.png index f34342a..e326827 100644 Binary files a/assets/p_run2.png and b/assets/p_run2.png differ diff --git a/assets/p_run3.png b/assets/p_run3.png index 09421d2..fa4f701 100644 Binary files a/assets/p_run3.png and b/assets/p_run3.png differ diff --git a/assets/p_run4.png b/assets/p_run4.png index 698481f..399f77b 100644 Binary files a/assets/p_run4.png and b/assets/p_run4.png differ diff --git a/assets/p_smash.png b/assets/p_smash.png index abec71c..d6ab20a 100644 Binary files a/assets/p_smash.png and b/assets/p_smash.png differ diff --git a/assets/p_toss.png b/assets/p_toss.png index 3d0c156..3f010ad 100644 Binary files a/assets/p_toss.png and b/assets/p_toss.png differ diff --git a/assets/z_f1.png b/assets/z_f1.png index 70810d8..f417de8 100644 Binary files a/assets/z_f1.png and b/assets/z_f1.png differ diff --git a/assets/z_f2.png b/assets/z_f2.png index 3881101..17c8a26 100644 Binary files a/assets/z_f2.png and b/assets/z_f2.png differ diff --git a/assets/z_f3.png b/assets/z_f3.png index c9be44d..2483b5d 100644 Binary files a/assets/z_f3.png and b/assets/z_f3.png differ diff --git a/assets/z_f4.png b/assets/z_f4.png index d2b6a50..95d1a70 100644 Binary files a/assets/z_f4.png and b/assets/z_f4.png differ diff --git a/assets/z_gw.png b/assets/z_gw.png index ebe8ced..5410466 100644 Binary files a/assets/z_gw.png and b/assets/z_gw.png differ diff --git a/assets/z_gw2.png b/assets/z_gw2.png index 2b9729d..db2ca4c 100644 Binary files a/assets/z_gw2.png and b/assets/z_gw2.png differ diff --git a/assets/z_gw2b.png b/assets/z_gw2b.png index 21a0c99..ce33907 100644 Binary files a/assets/z_gw2b.png and b/assets/z_gw2b.png differ diff --git a/assets/z_gw3.png b/assets/z_gw3.png index 5931453..15db685 100644 Binary files a/assets/z_gw3.png and b/assets/z_gw3.png differ diff --git a/assets/z_gw3b.png b/assets/z_gw3b.png index d476815..5a3cd26 100644 Binary files a/assets/z_gw3b.png and b/assets/z_gw3b.png differ diff --git a/assets/z_gw4.png b/assets/z_gw4.png index 4d8784e..03c723b 100644 Binary files a/assets/z_gw4.png and b/assets/z_gw4.png differ diff --git a/assets/z_gw4b.png b/assets/z_gw4b.png index 4be8405..c84dccb 100644 Binary files a/assets/z_gw4b.png and b/assets/z_gw4b.png differ diff --git a/assets/z_gwb.png b/assets/z_gwb.png index d13f253..a3166b5 100644 Binary files a/assets/z_gwb.png and b/assets/z_gwb.png differ diff --git a/index.html b/index.html index 14ed24b..e67caf2 100644 --- a/index.html +++ b/index.html @@ -97,6 +97,6 @@
- +