@fluritheme/fluri
Version:
Interactive snowfall for websites: DOM-aware snow accumulation, mouse interactions, snow physics, Canvas 2D rendering, and Christmas effects.
21 lines • 810 B
TypeScript
import type { Surface, Vec2 } from '../types.js';
export interface SurfaceHit {
surface: Surface;
t: number;
x: number;
point: Vec2;
normal: Vec2;
}
/** Swept intersections prevent high-speed clumps crossing a one-pixel shelf. */
export declare function sweptSurfaceHit(surface: Surface, start: Vec2, end: Vec2, radius?: number): SurfaceHit | undefined;
/** Grid cells contain shelf bounds, never individual flake state. Rebuild on dirty geometry. */
export declare class SurfaceIndex {
readonly cellSize: number;
private readonly cells;
private readonly oversized;
private surfaces;
constructor(cellSize?: number);
rebuild(surfaces: readonly Surface[]): void;
query(start: Vec2, end: Vec2, radius?: number): Surface[];
}
//# sourceMappingURL=collisions.d.ts.map