From 653e7f380f13268576dafcb720edb033a480267a Mon Sep 17 00:00:00 2001 From: Erik Date: Sat, 20 Jun 2026 18:25:22 +0200 Subject: [PATCH] docs(issues): close #142 + #143 (indoor lighting); file #144 (dungeon still too dim) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #142 + #143 resolved this session — interiors + the meeting-hall portal now match retail (user-confirmed). The #142 diagnosed cause (per-frame sun/ambient regime) was a red herring; the real bug was the EnvCellRenderer landblock-key lookup (0d8b827) that starved every interior wall of point lights. #143's portal light rides the weenie-light path + the dynamic D3D 1/d attenuation (57c2ab7). #144: dungeons improved (torch cells light up now) but torch-sparse stretches + overall brightness still trail retail. Needs a side-by-side cdb capture of retail's dungeon (active lights + ambient) — candidates: per-vertex bake under-lit on low-poly walls, 0.2 sealed ambient too dark, or retail leans harder on dynamics. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/ISSUES.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) 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