diff --git a/.dev/2026-06-15-diffusion-pipeline-reliability.md b/.dev/2026-06-15-diffusion-pipeline-reliability.md index 22786c3..e63eac6 100644 --- a/.dev/2026-06-15-diffusion-pipeline-reliability.md +++ b/.dev/2026-06-15-diffusion-pipeline-reliability.md @@ -101,8 +101,26 @@ Campaign = seeds **7, 69, 59** (`game-web/game.js CAMPAIGN`), all previously bak the broken rev-2 (`a12bcbb`). Seed 7 done. Re-baking 69 + 59 through rev-3 (depths re-exported headless, old frames backed up to `compare/old_bake_/`). +## Iteration 4 — QA sweep + strength tune (2026-06-16) + +Systematic QA of all 208 baked campaign frames (not just spot-checks): +- **Closed walls (83): zero phantom doors.** Ranked every closed frame by + center-vs-flanking-wall darkness; even the worst (r6_W forge, r11_E crypt, r0_W + den) are genuine solid walls — the dark center is lighting falloff / a real + stone mass, not a recess. The closed-body prompt fix holds campaign-wide. +- **Open frames (125): median 0.18%% blown.** Low-contrast flags were false + positives (atmospheric dark throne halls). One real pattern: deep-corridor + frames — mostly **crypt** — blew out a white ceiling band at the top edge + (r9_N 27.7%%, r13_N 21%%, r11_N 18%%). +- **Root cause + fix:** the depth's near-ceiling top edge is gray ~209 (bright); + at strength 0.85 the ControlNet forced it to overexposed white, amplified by + crypt's "pale light". GPU A/B on r9_N: **strength 0.70 → 0.0%% blown** (vs 27.7%% + at 0.85) with geometry intact; de-paling the prompt did nothing (cfg-1 negatives + inert). Verified r0_N closed wall stays solid at 0.70 → one global strength is + safe. **Set `bake_atlas.py --strength 0.85 → 0.70` (commit b661989).** Campaign + re-baked at 0.70; 0.85 frames archived under `tools/out/compare/str85_/`. + ### Optional later -- Lower strength A/B (0.7) for more natural texture if any frame reads stiff. - The single-frame retry-on-empty in bake_atlas would avoid the occasional ComfyUI miss. ## Open levers if still hit-and-miss after strength tuning