import type { OrbFrame, ProjectedPoint } from './types.js'; /** * Creates an empty drawable geometry frame. * * @returns A fresh mutable frame with no dots or lines. */ export declare function createFrame(): OrbFrame; /** * Adds a visible particle to a frame, discarding near-transparent particles early. * * @param frame Destination geometry. * @param point Projected particle position and depth. * @param radius Particle radius in canvas pixels. * @param alpha Opacity; values at or below `0.015` are ignored. * @param tone Optional HSL hue for colourful modes. */ export declare function addDot(frame: OrbFrame, point: ProjectedPoint, radius: number, alpha?: number, tone?: number): void; /** * Adds a visible line segment to a frame, discarding near-transparent lines early. * * @param frame Destination geometry. * @param from Line start. * @param to Line end. * @param alpha Opacity; values at or below `0.015` are ignored. * @param width Stroke width in canvas pixels. * @param tone Optional HSL hue. */ export declare function addLine(frame: OrbFrame, from: ProjectedPoint, to: ProjectedPoint, alpha: number, width: number, tone?: number): void; /** * Adds a filled rectangular mark to a frame. * * @param frame Destination geometry. * @param rect Rectangle position, dimensions and depth. * @param alpha Opacity; values at or below `0.015` are ignored. * @param tone Optional HSL hue. */ export declare function addRect(frame: OrbFrame, rect: { x: number; y: number; width: number; height: number; z?: number; }, alpha?: number, tone?: number): void; /** * Adds a stroked circular arc to a frame. * * @param frame Destination geometry. * @param arc Arc centre, radius, angles, width and depth. * @param alpha Opacity; values at or below `0.015` are ignored. * @param tone Optional HSL hue. */ export declare function addArc(frame: OrbFrame, arc: { x: number; y: number; radius: number; startAngle: number; endAngle: number; width: number; z?: number; cap?: 'round' | 'butt'; }, alpha?: number, tone?: number): void; /** * Converts projected depth from `-1`–`1` to a normalized `0`–`1` value. * * @param point Projected point whose depth to normalize. * @returns Depth normalized from `z` in `[-1, 1]` to `[0, 1]`. */ export declare function depth(point: ProjectedPoint): number; //# sourceMappingURL=frame.d.ts.map