docs(issues): close #142 + #143 (indoor lighting); file #144 (dungeon still too dim)

#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) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-20 18:25:22 +02:00
parent 57c2ab735d
commit 653e7f380f

View file

@ -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