Holds the lazily-computed 3D bounding box (projected from the
loaded scene's position_bounds metadata to the current display
dimensions) plus its derived bounding sphere and near-cull margin.
Invalidated on scene load / clear. Lazy ensure(scene) is called
by callers that need a value; first call walks the scene graph
once for userData.positionBounds, projects nD min/max through
the current sceneDimsManager.getDims().displayed, computes the
sphere + near-cull, and caches everything. On a HIT the result is
cached and subsequent calls are O(1) until invalidate() is
called. On a MISS (no position_bounds metadata anywhere in the
graph) nothing is cached — there is no negative caching, so every
subsequent call repeats the full scene-graph traversal until
metadata appears in the graph.
Pure with respect to SceneManager — the cache reads its inputs
from the supplied scene + the global sceneDimsManager singleton.
SceneManager owns one instance and threads it through clipping-
policy helpers.
Scene-bounds cache extracted from SceneManager.
Holds the lazily-computed 3D bounding box (projected from the loaded scene's
position_boundsmetadata to the current display dimensions) plus its derived bounding sphere and near-cull margin.Invalidated on scene load / clear. Lazy
ensure(scene)is called by callers that need a value; first call walks the scene graph once foruserData.positionBounds, projects nD min/max through the currentsceneDimsManager.getDims().displayed, computes the sphere + near-cull, and caches everything. On a HIT the result is cached and subsequent calls are O(1) untilinvalidate()is called. On a MISS (noposition_boundsmetadata anywhere in the graph) nothing is cached — there is no negative caching, so every subsequent call repeats the full scene-graph traversal until metadata appears in the graph.Pure with respect to SceneManager — the cache reads its inputs from the supplied scene + the global
sceneDimsManagersingleton. SceneManager owns one instance and threads it through clipping- policy helpers.