diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 1d365fcb..289b6cb7 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -46,9 +46,28 @@ Copy this block when adding a new issue: --- -## #142 — Windowed-building interiors read "like outdoors" (indoor lighting regime is per-frame, not per-stage) +## #144 — Dungeon interiors still read too dim vs retail (torch-sparse stretches + per-vertex bake) **Status:** OPEN +**Severity:** MEDIUM (dungeons "better but not good enough" — user, 2026-06-20) +**Filed:** 2026-06-20 +**Component:** render — indoor lighting (dungeon) + +**Description (user, 2026-06-20):** After the indoor-lighting fixes (`0d8b827`/`57c2ab7`) dungeons are much better lit than the old flat-0.2 dark, but still not good enough vs retail. The `0x0007` Town Network dungeon HAS torches (the log shows 62 orange + 57 cream `intensity=100` lights selected, plus the viewer fill + magenta portals), so torch cells light up — but torch-sparse corridors (e.g. cell `0x0149`) are lit only by the viewer fill on the 0.2 ambient, and the overall brightness still trails retail. + +**Root cause / status (candidates, UNVERIFIED — do not guess):** (a) the per-vertex Gouraud bake on low-poly dungeon walls under-lights torch cells (torches evaluated only at the few cell-struct corners — AP-35 residual); (b) the sealed-dungeon flat 0.2 ambient may be too dark vs retail; (c) retail may lean harder on the viewer light or carry more/brighter dynamics. **Approach:** side-by-side cdb capture of retail's dungeon (`world_lights` active set + `world_lights.ambient_color` + the viewer-light intensity) at the SAME spot, compared to acdream's `[light]`/`[light-detail]` there. + +**Files:** `mesh_modern.vert pointContribution` (per-vertex bake); `LightManager` (viewer light); `GameWindow.UpdateSunFromSky` (0.2 sealed ambient); `EnvCellRenderer.GetCellLightSet`. + +**Research:** memory `reference_retail_ambient_values.md` (2026-06-20 resolution note); cdb toolchain (CLAUDE.md). + +**Acceptance:** dungeon brightness/warmth matches retail side-by-side (torch cells AND torch-sparse stretches). + +--- + +## #142 — Windowed-building interiors read "like outdoors" (indoor lighting regime is per-frame, not per-stage) + +**Status:** DONE (2026-06-20) — `ef5049f` (per-instance sun gate) + `0d8b827`. The diagnosed cause (per-frame sun/ambient regime) was a RED HERRING: the ambient + sun were already retail-faithful. The REAL bug was a landblock-key lookup in `EnvCellRenderer.GetCellLightSet` (`cellId & 0xFFFF0000` vs the streaming key `0xXXYYFFFF`) that starved EVERY interior wall of point lights. Once fixed, interiors lit correctly (+ the retail viewer light + weenie fixture lights). User-confirmed "looks like retail now." (Move to Recently closed on next ISSUES tidy.) **Severity:** MEDIUM (visible — windowed town buildings + look-ins are sun-lit/flat instead of torch-lit warm vs retail) **Filed:** 2026-06-20 **Component:** render — indoor lighting regime (sun + ambient) @@ -67,7 +86,7 @@ Copy this block when adding a new issue: ## #143 — Portal swirl doesn't light the room (no dynamic-light registration) -**Status:** OPEN +**Status:** DONE (2026-06-20) — `0d8b827` (the portal weenie's magenta `Setup.Light`, intensity100/falloff6/(0.784,0,0.784), now registers via the weenie-light path + reaches the walls via the landblock-key fix) + `57c2ab7` (dynamic lights take retail's D3D `1/d` attenuation + range×1.5 so the portal spreads softly instead of pooling). User-confirmed "looks good." (Move to Recently closed on next ISSUES tidy.) **Severity:** LOW-MEDIUM (visible — retail's portal swirl tints the room; acdream's casts no light) **Filed:** 2026-06-20 **Component:** render — dynamic point lights