import type { HomogeneousProjection, HomogeneousProjectionPointN, ProjectionFibreN } from './types.js'; export type CoordinateProjectionAxes = readonly [number, number, number]; export interface CoordinateProjectionOptions { readonly fromDim: number; /** Three distinct source axes, in output x/y/z order. */ readonly axes: CoordinateProjectionAxes; } /** * Exact coordinate-subspace projection ℝⁿ → ℝ³. * * Unlike `OrthographicProjection`, which always retains axes `[0, 1, 2]`, * this map makes the three retained coordinates explicit. It is useful for * coordinated views such as XYW without permuting or copying source data. */ export declare class CoordinateProjection implements HomogeneousProjection { readonly fromDim: number; readonly axes: CoordinateProjectionAxes; constructor({ fromDim, axes }: CoordinateProjectionOptions); projectPoint(point: ArrayLike): [number, number, number]; projectPositions(source: Float64Array, count: number, destination: Float32Array): void; homogeneousMatrix(): Float64Array; projectHomogeneousPoint(point: ArrayLike): HomogeneousProjectionPointN; projectHomogeneousPositions(source: Float64Array, count: number, destination: Float64Array, validity?: Uint8Array): void; inverseFibre(point: ArrayLike): ProjectionFibreN; } //# sourceMappingURL=coordinate.d.ts.map