@ssgoi/core
Version:
Core animation engine for SSGOI - Native app-like page transitions with spring physics
38 lines • 1.18 kB
TypeScript
/**
* Ticker - Singleton requestAnimationFrame manager
* Prevents multiple RAF calls by batching all animation updates into a single loop
* Inspired by GSAP's ticker with mobile optimizations
*/
type TickerCallback = (deltaTime: number, elapsed: number) => void;
declare class Ticker {
private listeners;
private rafId;
private isRunning;
private startTime;
private lastUpdate;
private elapsed;
private lagThreshold;
private adjustedLag;
private maxDeltaTime;
private gap;
private nextTime;
private tick;
subscribe(callback: TickerCallback): () => void;
unsubscribe(callback: TickerCallback): void;
/**
* Configure lag smoothing behavior
* @param threshold - Time threshold to detect lag (default: 500ms)
* @param adjustedLag - Max time jump when lag detected (default: 33ms)
*/
lagSmoothing(threshold: number, adjustedLag: number): void;
/**
* Set maximum FPS
* @param fps - Target FPS (default: 240)
*/
fps(fps: number): void;
getListenerCount(): number;
getElapsed(): number;
}
export declare const ticker: Ticker;
export {};
//# sourceMappingURL=ticker.d.ts.map