@ssgoi/core
Version:
Core animation engine for SSGOI - Native app-like page transitions with spring physics
31 lines • 1.18 kB
TypeScript
import { Integrator, IntegratorState } from './types';
import { SpringIntegratorConfig } from './spring-integrator';
/**
* Follower spring configuration
*/
export interface FollowerSpringConfig {
stiffness: number;
damping: number;
/** Position threshold for settling detection @default 0.01 */
restDelta?: number;
/** Velocity threshold for settling detection @default 0.01 */
restSpeed?: number;
}
export interface DoubleSpringIntegratorConfig extends SpringIntegratorConfig {
/**
* Follower spring configuration
* - number (0-1): stiffness ratio (smaller = stronger ease-in)
* - { stiffness, damping }: custom follower spring config
*/
follower?: number | FollowerSpringConfig;
}
export declare class DoubleSpringIntegrator implements Integrator {
private readonly leader;
private readonly follower;
private readonly restDelta;
private readonly restSpeed;
constructor(config: DoubleSpringIntegratorConfig);
step(state: IntegratorState, target: number, dt: number): IntegratorState;
isSettled(state: IntegratorState, target: number): boolean;
}
//# sourceMappingURL=double-spring-integrator.d.ts.map