aboutsummaryrefslogtreecommitdiff
path: root/docs/tomes/05-render.md
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-07-18 16:43:54 +0300
committerValentin Popov <valentin@popov.link>2026-07-18 16:43:54 +0300
commit62c8423d8b7be5b5f39848960adfc52c3fbca50e (patch)
tree1aebc88e06ce4bfc6da5341553f97905c1e45a41 /docs/tomes/05-render.md
parente9c1a83c51070c4f8da76540c17c2393922b6fcc (diff)
downloadfparkan-62c8423d8b7be5b5f39848960adfc52c3fbca50e.tar.xz
fparkan-62c8423d8b7be5b5f39848960adfc52c3fbca50e.zip
docs(terrain): delimit shade cache records
Diffstat (limited to 'docs/tomes/05-render.md')
-rw-r--r--docs/tomes/05-render.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/tomes/05-render.md b/docs/tomes/05-render.md
index 7a6944f..1809857 100644
--- a/docs/tomes/05-render.md
+++ b/docs/tomes/05-render.md
@@ -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
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
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