docs: CORRECTION -- bUseOperatorStack is ON in the game's data assets

The handoff said "No strate asset has the box ticked -- that is my call and I
still haven't made it." Stale, and I reasoned from it all session. Jahni: "the
data assets in game have the switch on."

Everything downstream flips. The operator stack is the PRODUCTION density path,
so the measured perf regression is one players feel, and any unsound
EffectOverBox is a live hole rather than a latent one. The two correctness fixes
committed today (7dbdf51, eaa44bf) both say "nothing in the running game was
affected" in their bodies -- that sentence is wrong. Those commits are pushed
and stay as written; OPSTACK-PROGRESS 2026-08-16 (h) is the correction of record.

Concrete consequence: 7dbdf51 did not fail in practice only because this
Perlin's empirical sup (~1.0-1.1) happened to stay under the margin the wrong
bound left (1.27 for shafts, 1.40 for maze) -- not because the code was right.
And eaa44bf is worth checking against the real assets: if any strate has
ColumnMinRadius > ColumnMaxRadius or ShaftMinRadius > ShaftMaxRadius, it WAS
producing tiles with no geometry and no collision.

Process failure worth keeping: the flag lives in .uasset binary data, which is
not greppable from here, so the docs carried a hand-written claim about it that
nobody re-checked. A fact that lives outside the repo cannot be maintained
inside it -- record what it was and when it was checked, never assert it as
current. Rule added to the handoff.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-16 17:12:01 +02:00
parent 21f62c4a70
commit 8ef4d7dc09
2 changed files with 56 additions and 3 deletions
+20 -3
View File
@@ -70,9 +70,26 @@ bit** against its original density function. The `switch` and the stack are two
interchangeable implementations.
Everything sits behind `UVoxelStrateDefinition::bUseOperatorStack`; the ported list lives **only** in
`UVoxelStrateManager::UsesOperatorStackForChunk` (all 8). **No strate asset has the box ticked**
that is my call and I still haven't made it. `GetDensityAt` and `ClassifyTile` build the stack
through the **same** factory, `VF_BuildOpStackForChunk` — a second copy would be a hole, not a bug.
`UVoxelStrateManager::UsesOperatorStackForChunk` (all 8). `GetDensityAt` and `ClassifyTile` build the
stack through the **same** factory, `VF_BuildOpStackForChunk` — a second copy would be a hole.
> ### ⚠️⚠️ CORRECTED 2026-08-16 — **THE FLAG IS ON IN THE GAME'S DATA ASSETS.**
>
> This section used to say *"No strate asset has the box ticked — that is my call and I still
> haven't made it."* **That is false and was believed for a whole session.** Jahni: *"the data assets
> in game have the switch on."*
>
> **Everything downstream of that premise flips:**
> - The operator stack is **the production density path**, not a dormant twin. The measured perf
> regression is a regression players feel, not a lab result.
> - Any unsoundness in an op's `EffectOverBox` is a **live** hole, not a latent one. Two were found
> and fixed on 2026-08-16 (`7dbdf51`, `eaa44bf`) and **both of those commit messages say "nothing
> in the running game was affected" — that sentence is WRONG, for this reason.** See
> `OPSTACK-PROGRESS.md` 2026-08-16 (h) for the corrected severity.
> - The T1.d prize is already being collected in-game; `CODEX-TASK-001`'s counters measure how much.
>
> **Never state the flag's state from memory again — it lives in `.uasset` data, which is not
> greppable from here. Ask, or read it in the editor.**
### ✅ T1.d — the tile-skipping prize — is real and measured **in the harness** (not yet in the game)