Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Module utils/object-visibility

    Ancestor-aware ("effective") visibility for scene-graph nodes.

    object.visible is a LOCAL flag: THREE hides a subtree by clearing the flag on one ancestor and leaves every descendant's own flag untouched. Anything that asks "does this node actually render / is it worth spending work on?" must therefore walk the parent chain. Two independent places got this wrong in different ways, so the walk lives here once:

    • a layer authored visible=false (or toggled off in the layers panel) hides the LAYER object, while an LOD level underneath keeps visible === true;
    • the LOD registry hides a LEVEL, which can itself be a GROUP (partition tiles), while the member meshes underneath keep visible === true.

    Consumers: the LOD-group registry's load gate (never fetch a hidden layer's lazy levels), the LOD eviction policy (a hidden level is evictable), the pick pass, and the depth-sort scheduler.

    VisibilityNode
    isEffectivelyVisible