@fluritheme/spider
Version:
A tiny, expressive spider for your website. Delicate webs that follow DOM layers, blinking eyes, and playful pointer reactions.
30 lines • 1.05 kB
TypeScript
import { type Point } from './geometry.js';
import type { SilkAnchor } from './silk.js';
export type SilkKind = 'frame' | 'capture' | 'tie';
export interface SilkCurve {
from: Point;
to: Point;
sag: number;
}
export interface WeaveTask extends SilkCurve {
lay: boolean;
length: number;
kind: SilkKind;
grain: number;
route?: {
curve: SilkCurve;
start: number;
end: number;
};
}
export interface WebPlan {
tasks: WeaveTask[];
style: 'drape' | 'fan' | 'bridge';
ink: string;
}
export declare const distance: (a: Point, b: Point) => number;
export declare function curvePoint(from: Point, to: Point, sag: number, t: number): Point;
export declare function taskPoint(task: WeaveTask, t: number): Point;
/** Site geometry sets the footprint; a private seed varies tension, branching, gaps and spacing. */
export declare function buildWeb(origin: Point, anchors: readonly SilkAnchor[], density: number, span: number, seed: number): WebPlan | null;
//# sourceMappingURL=weaving.d.ts.map