docs(audit): C2 is FULLY closed -- the live-edit half was fixed too

Was about to spec a Codex fix for OC_Chunk / BM_Chunk / FChunkBiomeCache,
which three docs still list as open. Checked the sites first. All of them
already carry a layout-version guard:

  CP_Chunk -> CP_Version      OC_Chunk -> OC_Version
  BM_Chunk -> BM_Version      TC_BiomeCache -> TC_SeenVersion

FChunkBiomeCache::Invalidate() exists precisely because the validity box says
nothing about the FBiomeContext its cells were classified against, and all four
thread_local instances call it on a version change. The only other two
instances in the tree (VoxelContentManager ~445, the height-stack test) are
function-local, constructed per task, so staleness is impossible there.

Seventh time in this project a confident premise reversed on reading. It cost
a doc edit instead of a Codex run and a build cycle.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-16 16:11:54 +02:00
parent eb317d9933
commit b426cfcb0d
2 changed files with 31 additions and 3 deletions
+24
View File
@@ -221,6 +221,30 @@ evaluates the second chunk against **the room list baked from the first chunk's
(so "which archetype owns this chunk" stays unambiguous), which switches the blend off entirely.
The one configuration the tests never build is the default one.
#### ✅✅ SECTION FULLY CLOSED 2026-08-16 — the live-edit half was fixed too. Do not re-open.
The text above still reads as though `OC_Chunk`, `BM_Chunk` and `FChunkBiomeCache` were open. **They
are not.** Checked site by site on 2026-08-16, while about to spec a fix for them — the premise
reversed on reading, for the seventh time in this project. Every per-chunk cache in the plugin now
carries the layout version:
| cache | guard | site |
|---|---|---|
| `CP_Chunk` (density params + op stack) | `CP_Version` vs `GetLayoutVersion()` | `VoxelGenerator.cpp` ~613 |
| `OC_Chunk` (`GetSurfaceHeightAt` oracle) | `OC_Version` | ~2626 |
| `BM_Chunk` (`GetBiomeMaterialAt`) | `BM_Version` | ~3470 |
| `TC_BiomeCache` (the `ClassifyTile` grid) | `TC_SeenVersion` | ~2724 |
`FChunkBiomeCache` gained an explicit `Invalidate()` (`VoxelBiomeTypes.h` ~253) precisely because its
validity box says nothing about the `FBiomeContext` its cells were classified against; **all four**
`thread_local` instances call it on a version change. The only other two instances in the tree —
`VoxelContentManager.cpp` ~445 and the height-stack test — are **function-local**, constructed fresh
per task, so no staleness is possible by construction.
⇒ Both the determinism half and the live-edit half of C2 are closed. The remaining audit item on
this theme is **C9's library half** (`sinf`/`cosf` are not IEEE-754 specified), which is unrelated
and still open with 0 measured exposure.
#### ✅ FIXED 2026-07-28 (the SDF-cache half) — pending build
The params now travel into the key, and the shape of the fix is worth recording because the obvious