/** * Per-frame visibility + streaming counters. The VisibilitySystem fills the culling and * timing fields; the AssetStreamingSystem fills the asset fields. Everything is a plain * number so a HUD or the devtools hub can read it without adapters. */ export interface VisibilityStats { totalObjects: number; consideredForRender: number; rejectedByFrustum: number; rejectedByDistance: number; rejectedByOcclusion: number; drawCallsAvoided: number; visible: number; preloaded: number; assetsQueued: number; assetsLoading: number; assetsLoaded: number; assetsUnloaded: number; streamedBytes: number; spatialQueryMs: number; cullingMs: number; } export declare function createVisibilityStats(): VisibilityStats; export declare function resetCullingStats(stats: VisibilityStats): void; /** High-resolution clock that degrades to a monotonic-ish fallback when `performance` is absent. */ export declare function nowMs(): number;