docs(research): Phase 2 verification — floor renders, fix landed
User visually confirmed floors render in Holtburg Inn after the WB TryGet<Setup> guard. Probe re-capture: 0 [wb-error] lines (was 385), 0 NULL_RESULT (was 55), Holtburg 123/123 cells complete (was 97/123). Documents the nine pre-existing indoor bugs the user observed during verification (see-through floor, indoor collision, stairs, walls, clicking, indoor lighting artifacts, stabs-don't-react-to-atmospheric- lighting, slope terrain lighting). All pre-existing; filed for follow-up phases via docs/ISSUES.md. Phase 2 complete. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b838eccb38
commit
73288657fd
1 changed files with 62 additions and 0 deletions
|
|
@ -0,0 +1,62 @@
|
|||
# Indoor Cell Rendering — Phase 2 Verification
|
||||
|
||||
**Date:** 2026-05-19
|
||||
**Outcome:** ✅ Floor renders in Holtburg Inn. User visually confirmed.
|
||||
**Predecessor:** [Phase 2 cause report](2026-05-19-indoor-cell-rendering-cause.md).
|
||||
|
||||
---
|
||||
|
||||
## Probe re-capture
|
||||
|
||||
After applying the one-line WB fix at [`ObjectMeshManager.cs:1230`](../../references/WorldBuilder/Chorizite.OpenGLSDLBackend/Lib/ObjectMeshManager.cs:1230):
|
||||
|
||||
| Metric | Pre-fix | Post-fix |
|
||||
|---|---|---|
|
||||
| `[wb-error]` lines | 385 | **0** |
|
||||
| `[indoor-upload] NULL_RESULT` | 55 | **0** |
|
||||
| `[indoor-upload] FAILED` | 0 | 0 |
|
||||
| Total `[indoor-upload] requested` | — | 1157 |
|
||||
| Total `[indoor-upload] completed` | — | **1157** |
|
||||
| Holtburg (`0xA9B4`) requested | 123 | 123 |
|
||||
| Holtburg (`0xA9B4`) completed | 97 | **123** |
|
||||
| Holtburg (`0xA9B4`) missing | 26 | **0** |
|
||||
|
||||
100% success rate on EnvCell uploads. Zero swallowed exceptions. Zero null returns.
|
||||
|
||||
## Visual confirmation
|
||||
|
||||
User walked into Holtburg Inn (and other nearby buildings whose cells were previously failing) and confirmed:
|
||||
|
||||
> "Yes floors are rendering now inside houses."
|
||||
|
||||
The previously-failing cells (`0xA9B40100`, `0xA9B40111`, `0xA9B40112`, `0xA9B40117`, `0xA9B4011B`, etc.) now upload successfully, the dispatcher finds their render data, and the floor / wall / ceiling geometry renders.
|
||||
|
||||
## Regressions checked
|
||||
|
||||
- Outdoor terrain still renders correctly. ✓
|
||||
- Outdoor scenery (trees, rocks, stabs) still render. ✓
|
||||
- NPCs, mobs, world entities still render. ✓
|
||||
- Build clean, no new warnings. ✓
|
||||
- No new test failures. ✓
|
||||
|
||||
## Other observations during the walk
|
||||
|
||||
The user reported **other indoor-related bugs** that are now observable because the floor is rendering. These are all **pre-existing** (not caused by this Phase 2 fix) but were hidden by the missing-floor bug. They are filed as separate issues for follow-up phases:
|
||||
|
||||
1. See-through floor — other buildings visible "below" / "through" the rendered floor (depth/stab-culling).
|
||||
2. Spot lights on walls indoors (point-light positioning).
|
||||
3. Camera on 2nd floor goes very dark (per-cell ambient or trigger).
|
||||
4. Static building stabs don't react to atmospheric lighting changes (shader path).
|
||||
5. Some slope terrain lit incorrectly (terrain normal calculation).
|
||||
6. Collision "blocked by air" indoors (cell BSP misalignment).
|
||||
7. Walking up stairs broken (stair-step physics on EnvCell geometry).
|
||||
8. Pass through walls from outside→in (one-sided wall collision).
|
||||
9. Click selection penetrates walls (WorldPicker raycast not testing cell BSP).
|
||||
|
||||
These nine items are tracked in `docs/ISSUES.md` with proposed phase groupings. None block Phase 2 closure.
|
||||
|
||||
## Conclusion
|
||||
|
||||
**Phase 2 of the indoor cell rendering fix is complete.** The single-root-cause exception was identified via the diagnostic chain shipped in Phase 1 + Phase 2, and resolved with a one-line guard at the WB call site that prevented blind `TryGet<Setup>` deserialization of GfxObj-typed stab ids.
|
||||
|
||||
Total runtime for Phase 2: ~4 client launches.
|
||||
Loading…
Add table
Add a link
Reference in a new issue