Discard Three's cached RenderObject for the given mesh's material
combination. Safe to call every commit cycle when the GPU buffer
pool reports a rebuild.
The dispose-based RenderObject eviction is WebGPU-only and a
no-op on the classic WebGL backend (the production default),
where dispatching dispose would otherwise destroy the material's
compiled GL program and force a per-commit shader recompile — see
the module note and configureRenderObjectEviction. When
eviction is disabled no dispose is dispatched on either the main
or the pick material.
The pick-mesh geometry re-point below is UNCONDITIONAL on both
backends — it is a pure reference update needed for pick
correctness, not a RenderObject eviction.
The mesh's material is the receiver; if the mesh uses an array
of materials (Luxar doesn't today, but be defensive), every entry
is signaled.
Discard Three's cached
RenderObjectfor the given mesh's material combination. Safe to call every commit cycle when the GPU buffer pool reports a rebuild.The dispose-based RenderObject eviction is WebGPU-only and a no-op on the classic WebGL backend (the production default), where dispatching
disposewould otherwise destroy the material's compiled GL program and force a per-commit shader recompile — see the module note and configureRenderObjectEviction. When eviction is disabled nodisposeis dispatched on either the main or the pick material.The pick-mesh geometry re-point below is UNCONDITIONAL on both backends — it is a pure reference update needed for pick correctness, not a RenderObject eviction.
The mesh's
materialis the receiver; if the mesh uses an array of materials (Luxar doesn't today, but be defensive), every entry is signaled.