@taulabs/openrscad-engine 0.11.0-beta.2 → 0.11.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,6 +24,13 @@ or Node tool.
24
24
  single-digit-millisecond.
25
25
  - **Self-contained.** No native dependencies, no threads, no `SharedArrayBuffer`
26
26
  — so **no COOP/COEP headers are needed**, even from a CDN.
27
+ - **Native on Node, automatically.** The `node` export condition binds a
28
+ prebuilt N-API addon when one of the platform packages
29
+ (`@taulabs/openrscad-engine-{darwin-arm64,darwin-x64,linux-x64-gnu,linux-arm64-gnu,win32-x64-msvc}`,
30
+ installed as optional dependencies) matches the host, and falls back to the
31
+ bundled wasm build otherwise. Both are built from one pipeline and held
32
+ byte-identical by CI; `backend` reports which one bound and `backendCause`
33
+ keeps the loader's failure chain when it fell back.
27
34
 
28
35
  > **Heads up — this is a 0.x release.**
29
36
  > - The JS API may change between minor versions. **Pin a version** (`"@taulabs/openrscad-engine": "~0.1.0"`, not `^0.1.0`) if you depend on it.
@@ -0,0 +1,7 @@
1
+ import type * as browser from "./browser.js";
2
+ import type * as node from "./node.js";
3
+ type AssignableTo<Actual extends Expected, Expected> = Actual;
4
+ export type NativeIsADropInForWasm = AssignableTo<typeof node, typeof browser>;
5
+ export type WasmIsADropInForNative = AssignableTo<typeof browser, typeof node>;
6
+ export {};
7
+ //# sourceMappingURL=api-parity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-parity.d.ts","sourceRoot":"","sources":["../src/api-parity.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAEvC,KAAK,YAAY,CAAC,MAAM,SAAS,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,OAAO,OAAO,CAAC,CAAC;AAC/E,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,OAAO,EAAE,OAAO,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api-parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-parity.js","sourceRoot":"","sources":["../src/api-parity.ts"],"names":[],"mappings":""}
package/dist/browser.d.ts CHANGED
@@ -1,7 +1,14 @@
1
+ import { type Backend } from "./core.js";
1
2
  /** Initialize the wasm module (idempotent — safe to call repeatedly). Pass a
2
3
  * URL/Request/etc. to load the `.wasm` from a custom location; omit it to
3
4
  * resolve `openrscad_bg.wasm` beside the glue module. */
4
5
  export declare function ensureReady(wasmUrl?: string | URL | Request): Promise<void>;
6
+ /** Always `"wasm"` here: the browser entry has no addon to bind. The Node entry
7
+ * is the one that can report `"native"`. */
8
+ export declare const backend: Backend;
9
+ /** Always `undefined` here — kept so the browser and Node entries stay
10
+ * interchangeable (`src/api-parity.ts`). */
11
+ export declare const backendCause: unknown;
5
12
  export declare const render: (source: string, opts?: import("./core.js").RenderOptions) => Promise<import("./core.js").RenderOutput>;
6
13
  export declare const renderToGlb: (source: string, opts?: import("./core.js").RenderToGlbOptions) => Promise<import("./core.js").ExportShape3DOutput>;
7
14
  export declare const exportShape2D: (source: string, format: "dxf" | "svg", opts?: import("./core.js").RenderOptions) => Promise<string>;
@@ -12,5 +19,11 @@ export declare const exportShape3D: {
12
19
  export declare const parameters: (source: string) => Promise<string>;
13
20
  export declare const version: () => Promise<string>;
14
21
  export declare const clearCache: () => Promise<void>;
15
- export type { Diagnostic, ExportGlbOptions, ExportShape3DFormat, ExportShape3DOutput, RenderOptions, RenderOutput, RenderToGlbOptions, } from "./core.js";
22
+ export declare const exportCache: (opts?: {
23
+ sinceEpoch?: number;
24
+ }) => Promise<Uint8Array>;
25
+ export declare const importCache: (bytes: Uint8Array) => Promise<import("./core.js").CacheImportReport>;
26
+ export declare const cacheStats: () => Promise<import("./core.js").CacheStats>;
27
+ export declare const cacheKeys: () => Promise<BigUint64Array>;
28
+ export type { Backend, CacheImportReport, CacheStats, Diagnostic, ExportGlbOptions, ExportShape3DFormat, ExportShape3DOutput, RenderOptions, RenderOutput, RenderToGlbOptions, } from "./core.js";
16
29
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAmBA;;0DAE0D;AAC1D,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E;AAcD,eAAO,MAAM,MAAM,yGAAa,CAAC;AACjC,eAAO,MAAM,WAAW,qHAAkB,CAAC;AAC3C,eAAO,MAAM,aAAa,sGAAoB,CAAC;AAC/C,eAAO,MAAM,aAAa;;;CAAoB,CAAC;AAC/C,eAAO,MAAM,UAAU,qCAAiB,CAAC;AACzC,eAAO,MAAM,OAAO,uBAAc,CAAC;AACnC,eAAO,MAAM,UAAU,qBAAiB,CAAC;AAEzC,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,kBAAkB,GACnB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAW,KAAK,OAAO,EAAkB,MAAM,WAAW,CAAC;AAIlE;;0DAE0D;AAC1D,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E;AAgBD;6CAC6C;AAC7C,eAAO,MAAM,OAAO,EAAE,OAAgB,CAAC;AAEvC;6CAC6C;AAC7C,eAAO,MAAM,YAAY,EAAE,OAAmB,CAAC;AAI/C,eAAO,MAAM,MAAM,yGAAa,CAAC;AACjC,eAAO,MAAM,WAAW,qHAAkB,CAAC;AAC3C,eAAO,MAAM,aAAa,sGAAoB,CAAC;AAC/C,eAAO,MAAM,aAAa;;;CAAoB,CAAC;AAC/C,eAAO,MAAM,UAAU,qCAAiB,CAAC;AACzC,eAAO,MAAM,OAAO,uBAAc,CAAC;AACnC,eAAO,MAAM,UAAU,qBAAiB,CAAC;AACzC,eAAO,MAAM,WAAW;cAiB0tU,CAAC;yBAjBzsU,CAAC;AAC3C,eAAO,MAAM,WAAW,uEAAkB,CAAC;AAC3C,eAAO,MAAM,UAAU,+CAAiB,CAAC;AACzC,eAAO,MAAM,SAAS,+BAAgB,CAAC;AAEvC,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,kBAAkB,GACnB,MAAM,WAAW,CAAC"}
package/dist/browser.js CHANGED
@@ -4,7 +4,7 @@
4
4
  // `ensureReady(wasmUrl?)` up front to control when — and from where — the
5
5
  // `.wasm` loads (preload it, or point at a custom/CDN URL); otherwise the first
6
6
  // `render()` initializes it, resolving `openrscad_bg.wasm` next to the glue module.
7
- import init, { render_with_files as rawRenderWithFiles, export_2d as rawExport2d, export_3d as rawExport3d, render_to_glb as rawRenderToGlb, parameters as rawParameters, version as rawVersion, clear_cache as rawClearCache, } from "../pkg/web/openrscad.js";
7
+ import init, { render_with_files as rawRenderWithFiles, export_2d as rawExport2d, export_3d as rawExport3d, render_to_glb as rawRenderToGlb, parameters as rawParameters, version as rawVersion, clear_cache as rawClearCache, cache_export as rawCacheExport, cache_import as rawCacheImport, cache_stats as rawCacheStats, cache_keys as rawCacheKeys, } from "../pkg/web/openrscad.js";
8
8
  import { makeApi } from "./core.js";
9
9
  let ready = null;
10
10
  /** Initialize the wasm module (idempotent — safe to call repeatedly). Pass a
@@ -21,7 +21,17 @@ const engine = {
21
21
  parameters: rawParameters,
22
22
  version: rawVersion,
23
23
  clear_cache: rawClearCache,
24
+ cache_export: rawCacheExport,
25
+ cache_import: rawCacheImport,
26
+ cache_stats: rawCacheStats,
27
+ cache_keys: rawCacheKeys,
24
28
  };
29
+ /** Always `"wasm"` here: the browser entry has no addon to bind. The Node entry
30
+ * is the one that can report `"native"`. */
31
+ export const backend = "wasm";
32
+ /** Always `undefined` here — kept so the browser and Node entries stay
33
+ * interchangeable (`src/api-parity.ts`). */
34
+ export const backendCause = undefined;
25
35
  const api = makeApi(engine, ensureReady);
26
36
  export const render = api.render;
27
37
  export const renderToGlb = api.renderToGlb;
@@ -30,4 +40,8 @@ export const exportShape3D = api.exportShape3D;
30
40
  export const parameters = api.parameters;
31
41
  export const version = api.version;
32
42
  export const clearCache = api.clearCache;
43
+ export const exportCache = api.exportCache;
44
+ export const importCache = api.importCache;
45
+ export const cacheStats = api.cacheStats;
46
+ export const cacheKeys = api.cacheKeys;
33
47
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,oFAAoF;AACpF,OAAO,IAAI,EAAE,EACX,iBAAiB,IAAI,kBAAkB,EACvC,SAAS,IAAI,WAAW,EACxB,SAAS,IAAI,WAAW,EACxB,aAAa,IAAI,cAAc,EAC/B,UAAU,IAAI,aAAa,EAC3B,OAAO,IAAI,UAAU,EACrB,WAAW,IAAI,aAAa,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAEpD,IAAI,KAAK,GAAyB,IAAI,CAAC;AAEvC;;0DAE0D;AAC1D,MAAM,UAAU,WAAW,CAAC,OAAgC;IAC1D,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,MAAM,GAAG;IACb,iBAAiB,EAAE,kBAAkB;IACrC,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,cAAc;IAC7B,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,aAAa;CACH,CAAC;AAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,oFAAoF;AACpF,OAAO,IAAI,EAAE,EACX,iBAAiB,IAAI,kBAAkB,EACvC,SAAS,IAAI,WAAW,EACxB,SAAS,IAAI,WAAW,EACxB,aAAa,IAAI,cAAc,EAC/B,UAAU,IAAI,aAAa,EAC3B,OAAO,IAAI,UAAU,EACrB,WAAW,IAAI,aAAa,EAC5B,YAAY,IAAI,cAAc,EAC9B,YAAY,IAAI,cAAc,EAC9B,WAAW,IAAI,aAAa,EAC5B,UAAU,IAAI,YAAY,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AAElE,IAAI,KAAK,GAAyB,IAAI,CAAC;AAEvC;;0DAE0D;AAC1D,MAAM,UAAU,WAAW,CAAC,OAAgC;IAC1D,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,MAAM,GAAG;IACb,iBAAiB,EAAE,kBAAkB;IACrC,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,cAAc;IAC7B,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;CACD,CAAC;AAE1B;6CAC6C;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAY,MAAM,CAAC;AAEvC;6CAC6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAY,SAAS,CAAC;AAE/C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC"}
package/dist/core.d.ts CHANGED
@@ -131,6 +131,9 @@ interface RawExportResult {
131
131
  take_bytes(): Uint8Array<ArrayBuffer>;
132
132
  free(): void;
133
133
  }
134
+ /** Which engine binding a module bound: the N-API addon, or the WebAssembly
135
+ * build. Only the Node entry can report `"native"`. */
136
+ export type Backend = "native" | "wasm";
134
137
  /** The generated wasm-bindgen exports this facade wraps. */
135
138
  export interface RawEngine {
136
139
  render_with_files(source: string, names: string[], values: string[], fileNames: string[], fileContents: string[], binNames: string[], binData: string[], fontBlobs: string[]): RawResult;
@@ -140,6 +143,35 @@ export interface RawEngine {
140
143
  parameters(source: string): string;
141
144
  version(): string;
142
145
  clear_cache(): void;
146
+ cache_export(sinceEpoch: number): Uint8Array;
147
+ cache_import(bytes: Uint8Array): string;
148
+ cache_stats(): string;
149
+ cache_keys(): BigUint64Array;
150
+ }
151
+ /** Outcome of `importCache`. */
152
+ export interface CacheImportReport {
153
+ /** Entries added. */
154
+ imported: number;
155
+ /** Entries whose key was already resident (kept as-is). */
156
+ skipped: number;
157
+ /** Resident entries after the import. */
158
+ entries: number;
159
+ /** Resident mesh payload bytes after the import. */
160
+ bytes: number;
161
+ }
162
+ /** Resident geometry-cache accounting plus the envelope every exported blob
163
+ * carries (a blob is only importable by an engine with the same envelope). */
164
+ export interface CacheStats {
165
+ entries: number;
166
+ bytes: number;
167
+ /** Pass back to `exportCache({ sinceEpoch })` to receive only newer entries. */
168
+ epoch: number;
169
+ entryCap: number;
170
+ byteCap: number;
171
+ engineVersion: string;
172
+ kernelId: string;
173
+ hashAlgo: string;
174
+ formatVersion: number;
143
175
  }
144
176
  /** Build the public API from the raw engine bindings and an init hook. */
145
177
  export declare function makeApi(engine: RawEngine, ensureReady: () => Promise<void>): {
@@ -153,6 +185,12 @@ export declare function makeApi(engine: RawEngine, ensureReady: () => Promise<vo
153
185
  parameters: (source: string) => Promise<string>;
154
186
  version: () => Promise<string>;
155
187
  clearCache: () => Promise<void>;
188
+ exportCache: (opts?: {
189
+ sinceEpoch?: number;
190
+ }) => Promise<Uint8Array>;
191
+ importCache: (bytes: Uint8Array) => Promise<CacheImportReport>;
192
+ cacheStats: () => Promise<CacheStats>;
193
+ cacheKeys: () => Promise<BigUint64Array>;
156
194
  };
157
195
  export {};
158
196
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/core.js CHANGED
@@ -128,6 +128,41 @@ export function makeApi(engine, ensureReady) {
128
128
  await ensureReady();
129
129
  engine.clear_cache();
130
130
  }
131
- return { render, renderToGlb, exportShape2D, exportShape3D, parameters, version, clearCache };
131
+ /** Serialize the resident geometry cache as an opaque, versioned blob for the
132
+ * host to persist. `sinceEpoch` (from `cacheStats().epoch`, default 0 = all)
133
+ * restricts it to entries added since that epoch. */
134
+ async function exportCache(opts = {}) {
135
+ await ensureReady();
136
+ return engine.cache_export(opts.sinceEpoch ?? 0);
137
+ }
138
+ /** Rehydrate entries from an `exportCache` blob produced by the same engine
139
+ * version and kernel. Rejects (throws) foreign or malformed blobs. */
140
+ async function importCache(bytes) {
141
+ await ensureReady();
142
+ return JSON.parse(engine.cache_import(bytes));
143
+ }
144
+ /** Resident-cache accounting and the engine's cache envelope. */
145
+ async function cacheStats() {
146
+ await ensureReady();
147
+ return JSON.parse(engine.cache_stats());
148
+ }
149
+ /** Every resident structural key, ascending (parity tooling). */
150
+ async function cacheKeys() {
151
+ await ensureReady();
152
+ return engine.cache_keys();
153
+ }
154
+ return {
155
+ render,
156
+ renderToGlb,
157
+ exportShape2D,
158
+ exportShape3D,
159
+ parameters,
160
+ version,
161
+ clearCache,
162
+ exportCache,
163
+ importCache,
164
+ cacheStats,
165
+ cacheKeys,
166
+ };
132
167
  }
133
168
  //# sourceMappingURL=core.js.map
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}