UNPKG

leva-r3f-stats

Version:

A small plugin to display React Three Fiber stats in Leva

57 lines 1.92 kB
import { StatsData } from '../types'; import { RingBuffer } from '../utils/buffer'; type StatsListener = (data: StatsData) => void; type BufferKey = keyof Omit<StatsData, 'vsync' | 'isWebGPU' | 'gpuAccurate'>; interface PeakValues { triangles: number; drawCalls: number; lastReset: number; } declare class UnifiedStore { private listeners; private data; buffers: Record<BufferKey | 'gpuPercent', RingBuffer>; private peaks; private instanceCount; private updateScheduled; private pendingUpdates; subscribe(listener: StatsListener): () => void; update(newData: Partial<StatsData>): void; private flushUpdates; get(): StatsData; getPeaks(): PeakValues; resetPeaks(): void; resizeBuffers(size: number): void; reset(): void; registerInstance(): () => void; getInstanceCount(): number; } export declare const unifiedStore: UnifiedStore; export declare const statsStore: { subscribe: (fn: StatsListener) => () => void; update: (data: Partial<StatsData>) => void; get: () => StatsData; getPeaks: () => PeakValues; resetPeaks: () => void; reset: () => void; registerInstance: () => () => void; getInstanceCount: () => number; }; export declare const globalBuffers: Record<"fps" | "ms" | "memory" | "gpu" | "cpu" | "compute" | "triangles" | "drawCalls" | "gpuPercent", RingBuffer>; export declare const updateBufferSize: (size: number) => void; export declare const registerInstance: () => () => void; export declare const getInstanceCount: () => number; export declare function createInstanceBuffers(size: number): { destroy: () => void; fps: RingBuffer; ms: RingBuffer; memory: RingBuffer; gpu: RingBuffer; cpu: RingBuffer; compute: RingBuffer; triangles: RingBuffer; drawCalls: RingBuffer; gpuPercent: RingBuffer; }; export {}; //# sourceMappingURL=unifiedStore.d.ts.map