lesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filterlesson 3 of 3 · fifty assets, one brand — locks, seeds, and the qa filterfifty assets, one brand — locks, seeds, and the qa filter
Checkpoint
One last thing before we move on. pass this to mark the lesson done, or skip and keep moving.
Final studio drill: the full batch QA, exactly as it runs before a
client review. Write qa_verdict(asset)
applying three checks in this
order — first failure wins, one reason per cut:
asset["watermark"]is True →"CUT: watermark"- aspect is not
"4:5"→"CUT: wrong aspect ({aspect})" - distance from the asset's dominant hex to the nearest kit color
(largest per-channel difference, as in the last drill) is over
32 →
"CUT: off-palette (d={d})" - otherwise →
"PASS"
Print {id}: {verdict} per asset, then a final line
shipped {n}/{total}. Expected output:
C01: PASS
C02: CUT: watermark
C03: CUT: off-palette (d=81)
C04: CUT: wrong aspect (16:9)
C05: PASS
C06: CUT: watermark
shipped 2/6
(Note C04: its dominant color is a fine off-white — it dies on the crop check before palette is even consulted. Order matters.)