import * as THREE from "three"; import { Module } from "./Module"; import { ECSContext } from "../core/ecs"; import { GroupOperation, Primitive, Pivot } from "../core/schema"; export type MeshDefinition = { type: "none" | "image" | "primitive" | "box" | "sphere" | "cylinder" | "hollowCylinder" | "cone" | "pyramid" | "hemisphere" | "icosahedron" | "displacedPlane" | "extrudedPolygon" | "roundedBox" | "wedge" | "lathe" | "star"; params: Record; }; /** * Calculate the offset needed to move geometry from center to specified pivot point */ export declare function calculatePivotOffset(pivot: Pivot | undefined, dimensions: { width?: number; height?: number; depth?: number; }): THREE.Vector3; export declare function applyGroupOperationToGeometry(geometry: THREE.BufferGeometry, operation: Extract): THREE.BufferGeometry; export declare class MeshModule extends Module { constructor(ctx: ECSContext, factories: Record THREE.BufferGeometry>); resolve(def: string): number; resolve(def: MeshDefinition): number; resolve(def: Primitive["geometry"]): number; } export declare const meshModule: (ctx: ECSContext) => MeshModule; //# sourceMappingURL=mesh.d.ts.map