docs(render): Phase W Stage 4 — verify ceiling-sealed / terrain-viewpoint / GL-state + ParentCellId

T4.4: annotate EnvCellRenderer.RegisterCell to document that ceilings are present by
construction. PrepareCellStructMeshData iterates ALL CellStruct.Polygons (floor + walls +
ceiling) with no surface filter; retail PView::DrawCells draws the same closed-box
drawing_bsp. No ceiling filtering confirmed.

T4.2: annotate TerrainModernRenderer.Draw to document that terrain projects from the
passed-in ICamera (uView + uProjection derive from the same camera as all other
renderers). No separate landscape viewpoint exists that could desync from the eye.

T4.5, T5.1, T5.2: pure verification — no code changes (see report).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-02 16:24:23 +02:00
parent a8b831c23b
commit 872dd34943
2 changed files with 12 additions and 0 deletions

View file

@ -312,6 +312,12 @@ public sealed unsafe class EnvCellRenderer : IDisposable
// 2. Trigger mesh prep for the cell geometry on ObjectMeshManager.
// This populates ObjectMeshManager._renderData[cellGeomId] when complete.
// Verified Phase W Stage 4 (T4.4): ceilings are present by construction.
// PrepareCellStructMeshData iterates ALL polygons in CellStruct.Polygons
// (floor + 4 walls + ceiling, as authored in the EnvCell dat mesh) with NO
// surface filter — every polygon that passes the ≥3-vertex check is added to
// the batch. Retail PView::DrawCells draws cell->structure->drawing_bsp which
// is the same closed-box structure. No ceiling polygons are dropped.
_ = _meshManager.PrepareEnvCellGeomMeshDataAsync(cellGeomId, envCell.EnvironmentId,
envCell.CellStructure, envCell.Surfaces);