Original grayscale color banding study Use Bun 1.3.11 and sharp 0.34.5 in an isolated directory Copy color-banding-study.ts build-color-banding-assets.ts verify-color-banding.py and this file there Install the pinned sharp package from its normal package registry bun add sharp@0.34.5 bun build-color-banding-assets.ts . python3 verify-color-banding.py . The builder writes uncompressed grayscale PNGs with sRGB rendering intent zero The source range is sixteen to thirty two in byte normalized units across 1024 columns and 160 identical target rows The source16 mode rounds the target multiplied by 257 The nearest mode rounds to eight bit values The noise mode adds two independent fixed xorshift32 uniform draws as their difference before eight bit rounding with seed seventeen The later upconversion multiplies already rounded eight bit values by 257 The inspection copies stretch each decoded original sample range sixteen to thirty two onto zero to 255 with clipping and nearest integer rounding The WEBP cover is a presentation aid and is not used for measurements The Python verifier reads saved PNG chunks checks CRCs decompresses IDAT and independently computes every expected sample and CSV count PNG container hashes cover the authored writer outputs and source scripts No AI generation video codec display calibration or unknown image restoration was performed