Make the regen pipeline check the kit, and fix the swing and toss
Every roll drifts the palette and nothing measured it: a white headband on six frames, pale grey shorts on the toss twice, brick-red shirts and brown shoes on the swing all sailed past --tries. check: "same"/"loose" skips colour_match, and colour_match is a global mean/sd fit far too weak to pull brick-red back to red — a nearest-colour palette lock is worse still, it drags the duller reds into the racket's browns. So _regen.py measures three numbers and a batch opts in with palette_ref: redness (r minus mean(g,b) over saturated warm pixels — brightness alone cannot tell brick-red from red), shorts brightness (charcoal 61 vs the drift's 83), and the near-white fraction that is the shoes and socks (brown drops it to 0.9%, pale shorts push it to 7.9%, correct frames sit at 2.8%). Frames known to be right cluster tightly on all three; every drifted frame fell outside on at least one. It rejected five bad rolls in a row, then passed a good one. The swing also kept re-inheriting its own drift: ref_sheet is built from [lead] + the sprites being replaced, so it was showing the generator the very brick-red frame it was about to overwrite. Copying a canonical frame over the targets first breaks the loop — it passed on the next roll. Swing is now a real backswing and follow-through (silhouettes differ by 1.0, racket low behind vs up over the shoulder), both at full standing height, and the toss and smash wear charcoal shorts again. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
494bab1b69
commit
af30db2ff3
10 files changed
+72
-10
No files matched your search
@@ -151,7 +151,7 @@ export function proj(x, y, z) {
|
||||
|
||||
// ---------------------------------------------------------------- sprites ----
|
||||
// assets/<name>.png; game falls back to code-drawn figures until sprites load.
|
||||
const SPRV = 76; // asset cache-buster — bump with main.js?v=N (see the img.src note below)
|
||||
const SPRV = 77; // asset cache-buster — bump with main.js?v=N (see the img.src note below)
|
||||
const SPR = {};
|
||||
for (const n of ['p_idle1','p_idle2','p_bounce','p_bounce2','p_toss','p_smash','p_run1','p_run2','p_run3','p_run4','p_swing1','p_swing2','p_die1','p_die2','p_die3','p_die4','p_die5',
|
||||
'p_pull', // the serve wind-up: the racket dropping behind him while the pull is drawn
|
||||
|
||||
Reference in new issue
Block a user