Summer Steam Capsule Gradient Banding Fails Readability Squint After HDR Regrade - How to Fix
Problem: During July–August 2026 October Next Fest prep, art lifts sky/ground luminance for a “summer” HDR regrade. The 1232×706 main capsule looks smooth at 100% on a 4K monitor, February safe-zone Z still passes, but the 616×353 squint shows posterized gradient bands, detect_capsule_gradient_banding.sh exits 1 (banding_row_spikes too high), and BUILD_RECEIPT cannot honestly set summer_capsule_gradient_ok: true.
Who is affected now: Marketing + Blender compositor teams following summer capsule gradient art pass and Blender summer capsule gradient preflight (Guide #47). This is ramp banding recovery after HDR lift, not crop/safe-zone failure (February Z), not three-swatch ΔE alone (palette lock), and not false-bloom downscale (winter HDR tone art pass).
Fastest safe fix: Stop store upload → re-export with 0.5–0.8% noise on gradient layers only (Blender File Output sRGB 8-bit) → re-run B3 squint + B4 detect + B5 phone contrast → rewrite summer_capsule_gradient_receipt_v1.json → promote summer_capsule_gradient_ok: true.
Direct answer
Banding that appears only at half-res means the ramp was flattened too hard (8-bit / wrong dither / Display-P3→sRGB mishandle). Fix the export, not the store JPEG quality alone. Do not flip summer_capsule_gradient_ok while B3 is RED—shoppers see ~616×353, not your PSD zoom.
Why this issue spikes in July–August 2026
- Summer sky lifts push wide HDR ramps into posterization on Steam grid downscale.
- Judging at full resolution hides steps that appear after
-resize 616x353!. - Noise applied to the whole capsule softens art without fixing the ramp (or kills title sharpness).
- 16-bit PNG upload or Display P3 export without conversion creates unexpected banding in Steam’s pipeline.
- Safe-zone GREEN theater — Z crop pass ≠ B banding pass.
Symptoms and search phrases
- “Steam capsule banding after HDR regrade”
detect_capsule_gradient_banding.shFAIL: banding row spikes- B3 RED / “more than 3 steps” on sky behind title
- Capsule fine on desktop, striped on phone store grid
summer_capsule_gradient_okfalse whileoctober_rc_label_oktrue- Discord screenshots of “posterized sky” on wishlist page
Root causes (check in order)
- No ramp dither — ColorRamp / Gradient Texture flattened clean into 8-bit.
- Full-capsule sharpen/noise — wrong layer; banding remains.
- Squint never run — only 100% 4K review.
- Script threshold uncalibrated — B4 fails on good art or passes bad art.
- Title contrast fight — B5 darkening skipped after dither.
- Crop confusion — treating February Z failure as banding (wrong receipt).
Beginner path (first 20 minutes)
Prerequisites: ImageMagick magick, write access to release-evidence/marketing/, current capsule_main_1232x706_*.png, Guide #47 or Photoshop/Krita equivalent.
- Prove the failure at half-res:
magick release-evidence/marketing/capsule_main_1232x706_summer_v2.png \
-resize 616x353! \
release-evidence/marketing/capsule_616x353_squint.png
Open capsule_616x353_squint.png at 100%. Count sky/ground steps behind the title.
-
If >3 steps, reopen the master in Blender (or PSD): add 0.5–0.8% noise only on the gradient/sky layer, flatten to sRGB 8-bit PNG, re-export
…_summer_v3.pngvia Compositor File Output (Guide #47 B2). -
Re-run squint (B3). Target ≤3 steps.
-
Run banding detect (B4):
chmod +x release-evidence/marketing/scripts/detect_capsule_gradient_banding.sh
./release-evidence/marketing/scripts/detect_capsule_gradient_banding.sh \
release-evidence/marketing/capsule_main_1232x706_summer_v3.png
-
Check 360px phone mock title contrast ≥4.5:1 (B5)—darken only behind the title bbox if needed.
-
Rewrite receipt + BUILD_RECEIPT (below). Do not upload on B3 RED.
Developer path (recovery gates)
| Step | Action | Pass when |
|---|---|---|
| R1 | Isolate banding vs crop | February Z still GREEN; failure is ramp steps |
| R2 | Ramp-only dither re-export | New PNG path logged in receipt |
| R3 | B3 squint | squint_step_count ≤ 3 |
| R4 | B4 script | banding_row_spikes ≤ team max (default 12) |
| R5 | B5 phone contrast | Title/logo ≥4.5:1 |
| R6 | Receipt + BUILD_RECEIPT | summer_capsule_gradient_ok: true |
R1 — Do not “fix” crop when ramps fail
If logos sit in the outer 8% or safe-zone overlays fail, stop and run February Z. This help assumes layout OK, ramps bad.
R2 — Blender recovery export
- Compositor File Output: PNG, sRGB, 8-bit after dither.
- Noise on sky/ground ramp only.
- Path example:
release-evidence/marketing/capsule_main_1232x706_summer_v3.png. - Cross-check palette lock—if ΔE > 8 from intentional summer lift, document
palette_waiver(B1 YELLOW→GREEN with note).
R6 — Receipt rewrite
{
"schema": "summer_capsule_gradient_receipt_v1",
"iso_week": "2026-W29",
"fest_name": "Steam Next Fest October 2026",
"build_label": "fest-demo-2026-10-rc1",
"recovery": {
"reason": "B3_RED_after_hdr_sky_lift",
"fix": "ramp_only_dither_0.6pct_reexport_v3"
},
"gates": {
"B1": "GREEN",
"B2": "GREEN",
"B3": "GREEN",
"B4": "GREEN",
"B5": "GREEN",
"B6": "GREEN"
},
"metrics": {
"squint_step_count": 2,
"banding_row_spikes": 9
},
"evidence": {
"capsule_path": "release-evidence/marketing/capsule_main_1232x706_summer_v3.png",
"squint_path": "release-evidence/marketing/capsule_616x353_squint.png",
"banding_script_log": "release-evidence/marketing/banding_detect_log.txt"
},
"summer_capsule_gradient_ok": true
}
Promote:
{
"summer_capsule_gradient_ok": true,
"capsule_gradient_ok": true,
"summer_capsule_gradient_receipt": "release-evidence/marketing/summer_capsule_gradient_receipt_v1.json"
}
jq -e '.summer_capsule_gradient_ok == true' release-evidence/BUILD_RECEIPT.json
jq -e '.summer_capsule_gradient_ok == true' release-evidence/marketing/summer_capsule_gradient_receipt_v1.json
Verification checklist
| Check | Pass |
|---|---|
| Half-res squint | ≤3 steps on primary band |
| Banding script | Exit 0; spikes logged |
| Phone mock | Title readable ≥4.5:1 |
| Receipt path | Exists; matches export filename |
| BUILD_RECEIPT | summer_capsule_gradient_ok: true |
| Orthogonal | october_rc_label_ok not used as substitute |
Prevention
- Run Guide #47 before locking October capsule assets.
- Add CI banding job on
capsule_main_*.pngpaths (summer gradient blog). - Never declare store GREEN from full-res only.
- Keep February Z and summer B receipts separate.
- Schedule pass after every intentional HDR sky lift—not only first summer freeze night.
Common mistakes
- Uploading while B3 is RED “to hit summer freeze.”
- Sharpening the whole capsule after dither.
- Flipping BUILD_RECEIPT without re-running detect.
- Treating sale-sticker crush or JP/KR overflow as banding (Summer Sale sticker / multilingual typography cousins).
- Confusing winter HDR false bloom (screenshot/capsule tone) with store capsule ramp banding.
Related GamineAI reads
- Summer Steam capsule gradient band readability pass
- Blender summer capsule gradient preflight (Guide #47)
- February fest capsule safe-zone Z
- Palette lock worksheet
- October RC label before summer freeze
- Steamworks store assets
Store grid lies when the PSD looks fine—recover with ramp-only dither, prove B3–B5 at half-res, rewrite summer_capsule_gradient_receipt_v1.json, then latch summer_capsule_gradient_ok.