import { CellComplex } from '../geometry/cell-complex.js'; export interface Cell600Options { /** Circumradius (distance from center to each vertex). Default 1. */ radius?: number; } /** Combinatorics of the unit-circumradius 600-cell, computed once. */ export interface Cell600Data { /** 120 packed 4D vertices at circumradius 1. */ vertices: Float64Array; /** Adjacency lists (12 neighbors per vertex). */ neighbors: number[][]; /** 720 edges. */ edges: Uint32Array; /** 1200 triangular faces. */ triangles: Uint32Array; /** 600 tetrahedral cells. */ tets: Uint32Array; } /** * The 600-cell's structure at unit circumradius: 120 vertices — the eight * ±eᵢ, the sixteen (±½,±½,±½,±½), and the ninety-six even permutations of * ½(±φ, ±1, ±1/φ, 0) — with edges as nearest-neighbor pairs (distance 1/φ), * faces as adjacent triples, and the 600 tetrahedral cells as 4-cliques. */ export declare function cell600Data(): Cell600Data; /** * Builds the 600-cell: 120 vertices, 720 edges, 1200 triangular faces, * 600 tetrahedral cells — the finest of the regular polychora, and * natively sliceable since its cells are already tetrahedra. * * @param options - Circumradius of the returned polychoron. * * @example * 720 edges projected at once — a denser figure than the other regular * polychora, so it reads best from further back: * ```ts * const cell600 = new ProjectedEdges3D( * create600Cell(), * new PerspectiveProjection({ fromDim: 4, viewDistance: 3.2 }) * ); * scene.add(cell600.object); * * onFrame((t) => * cell600.update( * new TransformN(4, rotationFromPlanes(4, [{ i: 1, j: 3, angle: t * 0.3 }])) * ) * ); * ``` * * @example * Its cells are already tetrahedra, so it slices without preparation — * unlike a cubic complex, which a slicer needs tetrahedralized first: * ```ts * const cell600 = create600Cell(); * cell600.cellCount(3); // 600 * ``` */ export declare function create600Cell(options?: Cell600Options): CellComplex; //# sourceMappingURL=cell600.d.ts.map