aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-07-18 16:51:00 +0300
committerValentin Popov <valentin@popov.link>2026-07-18 16:51:00 +0300
commit7c9a6215eb61ede1996baa7ff25b97cf92a250ad (patch)
treeb0e2703ca9afe6f120ee1e607cde255d63619058
parent62c8423d8b7be5b5f39848960adfc52c3fbca50e (diff)
downloadfparkan-7c9a6215eb61ede1996baa7ff25b97cf92a250ad.tar.xz
fparkan-7c9a6215eb61ede1996baa7ff25b97cf92a250ad.zip
docs(terrain): record shade cache lifecycle
-rw-r--r--docs/tomes/05-render.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/tomes/05-render.md b/docs/tomes/05-render.md
index 1809857..d12cb85 100644
--- a/docs/tomes/05-render.md
+++ b/docs/tomes/05-render.md
@@ -1606,6 +1606,13 @@ 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.
+A read-only elevated AutoDemo probe confirms that this is a lifecycle boundary,
+not a permanently allocated table: the live `GetShade` singleton is initialized
+and its `Shade.wea` manager pointer is non-null, while its byte-offset `3244`
+cache pointer was null at the sampled instant. Therefore a future runtime
+implementation must treat cache availability as contextual and cannot dereference
+or prebuild the cache solely from constructor 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