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

    Registry references the lifecycle helpers operate on. Supplied by the MaterialManager orchestrator as it owns the actual Set instances; the helpers never mutate state that isn't reachable through this context.

    interface LifecycleCtx {
        registeredMaterials: Set<
            Material<MaterialEventMap> & CameraAwareMaterial,
        >;
        ownedMaterials: Set<Material<MaterialEventMap>>;
        staticMaterials: Set<Material<MaterialEventMap>>;
        subscribedMaterials: WeakSet<Material<MaterialEventMap>>;
    }
    Index
    registeredMaterials: Set<Material<MaterialEventMap> & CameraAwareMaterial>
    ownedMaterials: Set<Material<MaterialEventMap>>
    staticMaterials: Set<Material<MaterialEventMap>>

    Materials tracked for disposal that take NO camera broadcast.

    The generic destination for anything register() finds without an updateCameraParams: counted in the stats snapshot, but never iterated by the camera broadcast — which is the point, since that loop calls updateCameraParams on every member. All four geometry types are camera-aware today (mesh joined them with the near fade, #1431), so the set is normally empty. Disposal is NOT what it is for — register() adds the same material to ownedMaterials, which the manager's teardown covers — so this must be cleared alongside the others purely to keep the stats count honest.

    subscribedMaterials: WeakSet<Material<MaterialEventMap>>