docs(terrain): delimit shade cache records

This commit is contained in:
2026-07-18 17:43:54 +04:00
parent e9c1a83c51
commit 62c8423d8b
+12
View File
@@ -1594,6 +1594,18 @@ without conflating it with `Land1.wea`/`Land2.wea`. The AutoDemo inspector now
reports 128 slots and 392 `0x0010` batch boundaries. The meanings of remaining reports 128 slots and 392 `0x0010` batch boundaries. The meanings of remaining
flags, this cache mapping, and the final blend operation remain unassigned. flags, this cache mapping, and the final blend operation remain unassigned.
The cache boundary is now mechanically separated from the WEAR loader. In the
`GetShade` object, the `Shade.wea` manager is stored at byte offset `3092`, but
the dispatcher calls a distinct object at byte offset `3244`. Its virtual slot
`+16` receives every type-11 key repeatedly with mode values `512`, `16`,
`20497`, and `20752`, and returns a runtime record rather than a WEAR row. The
dispatcher reads that record's flags at `+60`, a secondary selector at `+24`,
an optional byte at `+88`, a referenced state block at `+104`, three signed
shorts at `+108`, and another selector at `+112`. Those fields are inputs to
visibility tests, primitive construction and texture/secondary passes, but the
cache builder and bit meanings are still not recovered; the Vulkan path must
not map any of them to invented pipeline state.
The static Vulkan bridge now carries each contiguous face run as a separate The static Vulkan bridge now carries each contiguous face run as a separate
draw range keyed by the original packed `material_tag`; it neither reorders draw range keyed by the original packed `material_tag`; it neither reorders
triangles nor collapses the high byte. For the first usable visual layer, the triangles nor collapses the high byte. For the first usable visual layer, the