UNPKG

@bitbybit-dev/core

Version:

Bit By Bit Developers Core CAD API to Program Geometry

42 lines (41 loc) 1.56 kB
import { OCCTWorkerManager } from "@bitbybit-dev/occt-worker"; import { JSCADWorkerManager } from "@bitbybit-dev/jscad-worker"; import { ManifoldWorkerManager } from "@bitbybit-dev/manifold-worker"; import type { WorkerInstances, WorkerOptions } from "./worker-utils"; /** * Options for initializing bitbybit */ export interface InitBitByBitOptions extends WorkerOptions { /** Pre-created worker instances. If not provided, workers will be created from CDN. */ workers?: WorkerInstances; } /** * Interface for worker managers that engine-specific BitByBitBase classes must implement */ export interface BitByBitWorkerManagers { occtWorkerManager: OCCTWorkerManager; jscadWorkerManager: JSCADWorkerManager; manifoldWorkerManager: ManifoldWorkerManager; } /** * Result of kernel initialization */ export interface InitKernelsResult { message: string; initializedKernels: string[]; } /** * Waits for all enabled kernels to be initialized. * This is engine-agnostic and can be used by all engine packages. * * @param managers - The worker managers from BitByBitBase * @param options - Which kernels are enabled */ export declare function waitForKernelInitialization(managers: BitByBitWorkerManagers, options: WorkerOptions): Promise<InitKernelsResult>; /** * Creates worker instances based on options. * If workers are provided in options, uses those. Otherwise creates from CDN. * * @param options - Initialization options */ export declare function getOrCreateWorkers(options: InitBitByBitOptions): WorkerInstances;