// generated by diplomat-tool import type { MeshBounds } from "./MeshBounds.mjs" import type { MeshConfig } from "./MeshConfig.mjs" import type { NucleationError } from "./NucleationError.mjs" import type { ResourcePack } from "./ResourcePack.mjs" import type { Schematic } from "./Schematic.mjs" import type { pointer, codepoint } from "./diplomat-runtime.d.ts"; /** * A single mesh output. Wraps {@link crate::meshing::MeshResult}. */ export class MeshResult { /** @internal */ get ffiValue(): pointer; /** @internal */ constructor(); /** * Mesh an entire schematic in one pass (old ABI: `schematic_to_mesh`). */ static create(schematic: Schematic, pack: ResourcePack, config: MeshConfig): MeshResult; /** * Mesh a schematic with USDZ-compatible output (old ABI: `schematic_to_usdz`). */ static createUsdz(schematic: Schematic, pack: ResourcePack, config: MeshConfig): MeshResult; /** * A schematic plus a run timeline, as an animated GLB, base64-encoded. * * `timeline_json` is what `TickSimulation::animation_timeline_json` * produces, and `schematic` the scene it starts from * (`selection_schematic_b64`). Static rather than a method on a mesh * because the animation is built from the schematic and the timeline * together — there is no intermediate `MeshResult` to hang it off. */ static animatedGlbB64(schematic: Schematic, pack: ResourcePack, timelineJson: string): string; /** * The mesh as a binary GLB, base64-encoded. */ glbDataB64(): string; /** * The mesh as a USDZ archive, base64-encoded. */ usdzDataB64(): string; /** * The mesh serialized in the NUCM cache format, base64-encoded. */ nucmDataB64(): string; /** * Total number of vertices in the mesh. */ vertexCount(): number; /** * Total number of triangles in the mesh. */ triangleCount(): number; /** * Whether the mesh contains any transparent or translucent geometry. */ hasTransparency(): boolean; /** * Axis-aligned bounding box of the mesh, in world units. */ bounds(): MeshBounds; }