The background voted on the pixel grid: 309 sprites un-chunked at no cost
Oliver put two pictures side by side — z_rufall3 as the fam_ru sheet drew it, and z_rufall3 as it shipped — and they were not even close. The sheets were never the problem: every one of the eleven family rolls came back FINE, and the pipeline pixelated seven of them on the way down. _fine.block_size() scores b x b blocks by uniformity, and it scored ALL of them. key() zeroes the background, a zeroed block is uniform at every b, and on a 9-row family sheet the background is ~85% of the bounding box — so the detector's 0.82 bar was cleared by the background alone, at any block size it tried. Measured on the ru sheet: 0.0% of ink blocks uniform at b=11, 99.2% of empty ones, overall 0.821. Detected block: 11. _zsheet then honestly snapped 428 px figures down to 39 art px and scaled them back up — the pixelation was MANUFACTURED there, not drawn. br survived at 0.775 (its ink coverage is 4 points higher) and the whole per-family chunkiness table — br fine, ch/ru/sh/st at 6 px blocks — was ink-coverage noise around one threshold. The fix is one line where every caller routes through: background-only blocks get no vote. Then every family re-cut from the sheets already on disk — no new rolls, no tokens — and all eleven came down at art block 1. br's re-cut is the regression check: byte-identical result. Dimensions drift at most 3 px, so nothing on court changes size. SPRV 112 -> 113 so phones drop the year-long cache on the chunky art. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
129a001109
commit
c4c9f0aac2
313 files changed
+8
-2
No files matched your search
@@ -68,6 +68,12 @@ def block_size(a):
|
||||
for y in range(0, h - b, b):
|
||||
for x in range(0, w - b, b):
|
||||
blk = sub[y:y+b, x:x+b].reshape(-1, 4)
|
||||
# ONLY BLOCKS THAT TOUCH THE ART GET A VOTE. key() zeroes the background, so an
|
||||
# empty block is uniform at EVERY b — and on a 9-row family sheet the background is
|
||||
# ~85% of the bounding box, so it alone cleared the 0.82 bar and reported b=11 for
|
||||
# sheets whose figures were drawn fine. _zsheet then snapped those figures down 11x
|
||||
# and back up: that is where the pixelated families came from, not the model.
|
||||
if not blk[:, 3].any(): continue
|
||||
tot += 1
|
||||
if (blk == blk[0]).all(): ok += 1
|
||||
if tot and ok / tot > 0.82: best = b
|
||||
|
||||
Reference in new issue
Block a user