@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 +7 -0
- package/dist/api-parity.d.ts +7 -0
- package/dist/api-parity.d.ts.map +1 -0
- package/dist/api-parity.js +2 -0
- package/dist/api-parity.js.map +1 -0
- package/dist/browser.d.ts +14 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +15 -1
- package/dist/browser.js.map +1 -1
- package/dist/core.d.ts +38 -0
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +36 -1
- package/dist/core.js.map +1 -1
- package/dist/native/index.js +719 -0
- package/dist/node.d.ts +16 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +54 -15
- package/dist/node.js.map +1 -1
- package/package.json +33 -5
- package/pkg/node/openrscad.d.ts +22 -0
- package/pkg/node/openrscad.js +102 -0
- package/pkg/node/openrscad_bg.wasm +0 -0
- package/pkg/node/openrscad_bg.wasm.d.ts +7 -2
- package/pkg/node/package.json +1 -1
- package/pkg/web/openrscad.d.ts +29 -2
- package/pkg/web/openrscad.js +99 -0
- package/pkg/web/openrscad_bg.wasm +0 -0
- package/pkg/web/openrscad_bg.wasm.d.ts +7 -2
- package/pkg/web/package.json +1 -1
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 @@
|
|
|
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
|
|
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
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/dist/browser.js.map
CHANGED
|
@@ -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,
|
|
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
|
package/dist/core.d.ts.map
CHANGED
|
@@ -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
|
-
|
|
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":"AAAA,iEAAiE;AACjE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,iFAAiF;AACjF,uEAAuE;AACvE,gFAAgF;AAChF,4EAA4E;AAwI5E,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAuB,EAAE;IAC3E,IAAI,CAAC;QACH,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;YAC1B,MAAM,EAAE,MAAM,CAAC,MAA6B;YAC5C,IAAI,EAAE,MAAM,CAAC,KAAK;YAClB,aAAa,EAAE,MAAM,CAAC,cAAc;YACpC,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAiB;YACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,iFAAiF;AACjF,uEAAuE;AACvE,gFAAgF;AAChF,4EAA4E;AAwI5E,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAuB,EAAE;IAC3E,IAAI,CAAC;QACH,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;YAC1B,MAAM,EAAE,MAAM,CAAC,MAA6B;YAC5C,IAAI,EAAE,MAAM,CAAC,KAAK;YAClB,aAAa,EAAE,MAAM,CAAC,cAAc;YACpC,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAiB;YACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AA0FF,SAAS,SAAS,CAAC,CAA4B;IAC7C,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB;IACjC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,MAAiB,EAAE,WAAgC;IACzE,SAAS,KAAK,CAAC,IAAmB;QAChC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO;YACL,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACjD,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtC,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3C,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,KAAK,UAAU,MAAM,CAAC,MAAc,EAAE,OAAsB,EAAE;QAC5D,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAChC,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,CACV,CAAC;QACF,IAAI,CAAC;YACH,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,KAAK;gBACb,aAAa,EAAE,CAAC,CAAC,cAAc;gBAC/B,WAAW,EAAE,CAAC,CAAC,YAAY;gBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,UAAU,EAAE,CAAC,CAAC,WAAW;gBACzB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAiB;gBAC9D,OAAO,EAAE;oBACP,SAAS,EAAE,CAAC,CAAC,iBAAiB;oBAC9B,OAAO,EAAE,CAAC,CAAC,eAAe;oBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB;gBACD,UAAU,EAAE;oBACV,SAAS,EAAE,CAAC,CAAC,oBAAoB;oBACjC,OAAO,EAAE,CAAC,CAAC,kBAAkB;oBAC7B,MAAM,EAAE,CAAC,CAAC,UAAU;iBACrB;gBACD,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,CAAC,CAAC,IAAI,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,KAAK,UAAU,aAAa,CAC1B,MAAc,EACd,MAAqB,EACrB,OAAsB,EAAE;QAExB,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC,SAAS,CACrB,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;IACJ,CAAC;IAaD,KAAK,UAAU,aAAa,CAC1B,MAAc,EACd,MAA2B,EAC3B,OAAyC,EAAE;QAE3C,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,GAAG,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAE,IAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAC7B,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,GAAG,CAAC,YAAY,IAAI,KAAK,EACzB,GAAG,CAAC,kBAAkB,IAAI,KAAK,EAC/B,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAC/B,CAAC;QACF,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,mFAAmF;IACnF,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,OAA2B,EAAE;QAE7B,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CACjC,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,IAAI,CAAC,YAAY,IAAI,KAAK,CAC3B,CAAC;QACF,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;8BAC0B;IAC1B,KAAK,UAAU,UAAU,CAAC,MAAc;QACtC,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,mEAAmE;IACnE,KAAK,UAAU,OAAO;QACpB,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,6EAA6E;IAC7E,KAAK,UAAU,UAAU;QACvB,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;0DAEsD;IACtD,KAAK,UAAU,WAAW,CAAC,OAAgC,EAAE;QAC3D,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;2EACuE;IACvE,KAAK,UAAU,WAAW,CAAC,KAAiB;QAC1C,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAsB,CAAC;IACrE,CAAC;IAED,iEAAiE;IACjE,KAAK,UAAU,UAAU;QACvB,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAe,CAAC;IACxD,CAAC;IAED,iEAAiE;IACjE,KAAK,UAAU,SAAS;QACtB,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,MAAM;QACN,WAAW;QACX,aAAa;QACb,aAAa;QACb,UAAU;QACV,OAAO;QACP,UAAU;QACV,WAAW;QACX,WAAW;QACX,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC"}
|