Recover the brute's serve and fall sheets, which I overwrote
Re-running --variant to rewrite a spec re-seeded EVERY placeholder from the
master, and placeholders are copies of the lean red-shirted man the poses came
from. That silently replaced a finished brute's bounce, toss, strike and four
fall frames with racket-zombie art. I restored z_br1..4 by hand afterwards and
did not notice the other seven were gone — so three subsequent passes were
regenerating sheets that already existed and had been good since this morning.
Recovered from 0e92c72, and variant() now refuses to seed over a frame that is
already there: a placeholder is a stand-in for art that does not exist yet, and
nothing else.
Then colour-matched every brute frame onto z_br1 rather than generating: five
moved from failing the palette gate to passing, with no generator calls at all.
That is the point of the correction being arithmetic — it applies retroactively
to art already on disk.
WHERE THE BRUTE HONESTLY STANDS:
HEALTHY 11/11 — stance, shuffle pair, forehand, bounce, toss, strike, and
the full fall. Consistent, colour-matched, done.
ARM OFF the play and serve frames read; the four FALL frames are standing
figures of the wrong build entirely.
HEADLESS not headless — z_brw2 still has its head, and is near-identical to
the arm-off frame it was drawn from. The `changed` gate passed it
because SOMETHING moved; it does not know that the something has to
be the head.
So about a third of the brute is right and it is the third that matters least —
the healthy row was always the easy one. The wound stages are the job.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
No files matched your search
@@ -150,7 +150,12 @@ def variant(key, who):
|
||||
# score it against a copy of the master, two steps better than the stage it follows.
|
||||
if newart:
|
||||
for src, dst in zip(pose_refs, sprites):
|
||||
seed(src, dst)
|
||||
# NEVER OVERWRITE ART THAT EXISTS. Re-running --variant to rewrite a spec used to
|
||||
# re-seed every placeholder from the master, which quietly replaced a finished brute's
|
||||
# serve and fall sheets with copies of the lean man they were drawn from. A
|
||||
# placeholder is only ever a stand-in for a frame that is not there yet.
|
||||
if not os.path.exists(os.path.join(HERE, dst + '.png')):
|
||||
seed(src, dst)
|
||||
spec = dict(sprites=sprites, ref_only=list(refs), check='loose', anchor=0, subject=subject)
|
||||
spec['newart' if newart else 'state'] = True
|
||||
if stride: spec['stride'] = stride
|
||||
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 36 KiB |