PROJECT.md: the art pipeline, corrected — and the brute stays parked

A day went into sprite consistency and most of it was spent solving the problem
in the wrong place. Written down so the next session starts from the answer
instead of rediscovering it.

The boundary everything else follows:
  the generator, GIVEN REFERENCE IMAGES  ->  identity, pose, composition
  the pipeline, DETERMINISTICALLY        ->  exact colour
  the gates                              ->  layout accidents only

With the proof, because it is the part that is hard to believe until measured:
the brute's serve sheet came back with his build, his garments and his DARK
TONES pixel-identical to the reference and his big pale shirt two shades
brighter. The model was looking straight at the character. Every call
re-renders and re-rendering re-lights. No prompt fixes that.

And the rule underneath all of it — A REFERENCE BEATS A DESCRIPTION, at every
level. The racket zombie's sheet was made from the character as an IMAGE plus
the poses as IMAGES and landed first time; the brute's three sheets each
re-derived the character from the same paragraph and produced three different
brutes. Corollary worth having: every corrective sentence in a prompt is
compensating for a reference you did not supply. When a prompt grows a third
"do NOT" clause, add an image instead.

Also written down: correct-then-check, calibrate-before-you-gate (with the
numbers every threshold was calibrated on), the five gates and what each one
actually measures, six traps that each shipped something silently before they
were caught, and three things still open — including that `changed` passed a
headless brute that still had its head, because it knows something moved and
not what.

The brute is PARKED: out of ZFAMS, 31 frames on disk, nine batches in the JSON,
one line away from live. Its healthy eleven are good; its wound stages are not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5 committed 2026-08-12 14:54:09 +02:00
1 parent 759488dd44
commit e674677f4e
2 files changed
+122

No files matched your search

+11
View File
@@ -197,6 +197,17 @@ he ran, where the ball died. That triple diagnosed every defect in the contact c
fine (`check: 'same'`) can be rejected for not out-detailing a redraw; `'loose'` is the right bar
for that job, and resetting the placeholder to the coarse original resets the bar.
## The art pipeline
Everything learned generating this mode's sprites is in **PROJECT.md, "THE ART PIPELINE, corrected"**
— read it before touching `assets/_regen.py`, `_fine.py` or `_master.py`. The one-line version: the
generator does identity and pose given REFERENCE IMAGES, the pipeline does exact colour with
arithmetic, and the gates only catch layout accidents. A day was spent discovering that the middle
one is not a prompting problem.
The match opponent's own art is complete — 33 frames, three wound stages, the serve and the fall —
and `assets/_master.py` turns that pose set into the master sheets a new opponent is restyled from.
## Do not
- Re-add regicide to the match (killing the body with a smash) — removed deliberately; it made every