@ifc-lite/geometry 3.6.0 → 3.8.0
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/dist/diagnostics.d.ts +20 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +18 -0
- package/dist/diagnostics.js.map +1 -1
- package/dist/geometry-native.d.ts +26 -3
- package/dist/geometry-native.d.ts.map +1 -1
- package/dist/geometry-native.js +82 -11
- package/dist/geometry-native.js.map +1 -1
- package/dist/geometry-parallel.d.ts +34 -0
- package/dist/geometry-parallel.d.ts.map +1 -1
- package/dist/geometry-parallel.js +119 -52
- package/dist/geometry-parallel.js.map +1 -1
- package/dist/geometry.worker.d.ts +0 -8
- package/dist/geometry.worker.d.ts.map +1 -1
- package/dist/geometry.worker.js +33 -19
- package/dist/geometry.worker.js.map +1 -1
- package/dist/ifc-lite-bridge.d.ts +19 -0
- package/dist/ifc-lite-bridge.d.ts.map +1 -1
- package/dist/ifc-lite-bridge.js +58 -8
- package/dist/ifc-lite-bridge.js.map +1 -1
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -78
- package/dist/index.js.map +1 -1
- package/dist/native-bridge-conversion.d.ts.map +1 -1
- package/dist/native-bridge-conversion.js +42 -8
- package/dist/native-bridge-conversion.js.map +1 -1
- package/dist/packed-geometry-decoder.d.ts.map +1 -1
- package/dist/packed-geometry-decoder.js +17 -0
- package/dist/packed-geometry-decoder.js.map +1 -1
- package/dist/wasm-asset-error.d.ts.map +1 -1
- package/dist/wasm-asset-error.js +6 -2
- package/dist/wasm-asset-error.js.map +1 -1
- package/dist/wasm-instance-free.d.ts +12 -0
- package/dist/wasm-instance-free.d.ts.map +1 -0
- package/dist/wasm-instance-free.js +41 -0
- package/dist/wasm-instance-free.js.map +1 -0
- package/dist/wasm-runtime-trap.d.ts.map +1 -1
- package/dist/wasm-runtime-trap.js +5 -2
- package/dist/wasm-runtime-trap.js.map +1 -1
- package/dist/wasm-shared-module.d.ts.map +1 -1
- package/dist/wasm-shared-module.js +7 -1
- package/dist/wasm-shared-module.js.map +1 -1
- package/package.json +4 -3
|
@@ -11,20 +11,54 @@ export function convertNativeMesh(native) {
|
|
|
11
11
|
color: native.color,
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Whether `[offset, offset + length)` is a real range inside a pool of
|
|
16
|
+
* `poolLength` elements. Both bounds must be non-negative integers: a NaN or
|
|
17
|
+
* negative value would pass a bare `offset + length > poolLength` comparison
|
|
18
|
+
* and then be silently reinterpreted by `subarray`.
|
|
19
|
+
*/
|
|
20
|
+
function isPoolRange(offset, length, poolLength) {
|
|
21
|
+
return (Number.isInteger(offset) &&
|
|
22
|
+
Number.isInteger(length) &&
|
|
23
|
+
offset >= 0 &&
|
|
24
|
+
length >= 0 &&
|
|
25
|
+
offset + length <= poolLength);
|
|
26
|
+
}
|
|
14
27
|
export function convertPackedNativeBatch(native) {
|
|
15
28
|
// Copy each packed numeric array once, then hand meshes cheap subarray views
|
|
16
29
|
// instead of slicing and copying per mesh.
|
|
17
30
|
const positions = Float32Array.from(native.positions);
|
|
18
31
|
const normals = Float32Array.from(native.normals);
|
|
19
32
|
const indices = Uint32Array.from(native.indices);
|
|
20
|
-
return native.meshes.map((mesh) =>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
33
|
+
return native.meshes.map((mesh, meshIndex) => {
|
|
34
|
+
// Validate each mesh's pool ranges before subarray — a malformed offset
|
|
35
|
+
// would otherwise silently clip (subarray saturates), yielding
|
|
36
|
+
// truncated-or-borrowed geometry indistinguishable from a real mesh.
|
|
37
|
+
// Mirrors the guard on the binary packed-cache-shard decoder
|
|
38
|
+
// (packed-geometry-decoder.ts) for the same offset/length table shape.
|
|
39
|
+
//
|
|
40
|
+
// An upper-bound check alone is NOT enough here. The binary decoder's
|
|
41
|
+
// offsets come from `getUint32`, so they are non-negative integers by
|
|
42
|
+
// construction; these arrive as plain JS numbers on an IPC payload.
|
|
43
|
+
// `NaN + len > length` is false, so NaN would pass and
|
|
44
|
+
// `subarray(NaN, NaN)` returns an EMPTY view — a mesh reported as
|
|
45
|
+
// converted while carrying no geometry. A negative offset also passes,
|
|
46
|
+
// and makes `subarray` count from the END of the pool. Require a
|
|
47
|
+
// non-negative integer for each before comparing.
|
|
48
|
+
if (!isPoolRange(mesh.positionsOffset, mesh.positionsLen, positions.length) ||
|
|
49
|
+
!isPoolRange(mesh.normalsOffset, mesh.normalsLen, normals.length) ||
|
|
50
|
+
!isPoolRange(mesh.indicesOffset, mesh.indicesLen, indices.length)) {
|
|
51
|
+
throw new Error(`Native packed geometry batch mesh ${meshIndex} pool offset out of bounds`);
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
expressId: mesh.expressId,
|
|
55
|
+
ifcType: mesh.ifcType,
|
|
56
|
+
positions: positions.subarray(mesh.positionsOffset, mesh.positionsOffset + mesh.positionsLen),
|
|
57
|
+
normals: normals.subarray(mesh.normalsOffset, mesh.normalsOffset + mesh.normalsLen),
|
|
58
|
+
indices: indices.subarray(mesh.indicesOffset, mesh.indicesOffset + mesh.indicesLen),
|
|
59
|
+
color: mesh.color,
|
|
60
|
+
};
|
|
61
|
+
});
|
|
28
62
|
}
|
|
29
63
|
export function convertNativeBatchTelemetry(telemetry, jsReceivedTimeMs) {
|
|
30
64
|
if (!telemetry) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-bridge-conversion.js","sourceRoot":"","sources":["../src/native-bridge-conversion.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA0E/D,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;QAC7C,OAAO,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,OAAO,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QACxC,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAiC;IACxE,6EAA6E;IAC7E,2CAA2C;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"native-bridge-conversion.js","sourceRoot":"","sources":["../src/native-bridge-conversion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packed-geometry-decoder.d.ts","sourceRoot":"","sources":["../src/packed-geometry-decoder.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAkB3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACpB,aAAa,
|
|
1
|
+
{"version":3,"file":"packed-geometry-decoder.d.ts","sourceRoot":"","sources":["../src/packed-geometry-decoder.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAkB3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACpB,aAAa,CAkGf"}
|
|
@@ -35,6 +35,10 @@ export function toArrayBuffer(payload) {
|
|
|
35
35
|
*/
|
|
36
36
|
export function decodePackedGeometryCacheShard(payload, jsReceivedTimeMs, batchSequence) {
|
|
37
37
|
const buffer = toArrayBuffer(payload);
|
|
38
|
+
const headerBytes = 8 * Uint32Array.BYTES_PER_ELEMENT;
|
|
39
|
+
if (buffer.byteLength < headerBytes) {
|
|
40
|
+
throw new Error('Packed geometry cache shard too small for header');
|
|
41
|
+
}
|
|
38
42
|
const header = new Uint32Array(buffer, 0, 8);
|
|
39
43
|
const [magic, version, meshCount, positionsLen, normalsLen, indicesLen, processed, total] = header;
|
|
40
44
|
if (magic !== 0x49464342) {
|
|
@@ -53,6 +57,10 @@ export function decodePackedGeometryCacheShard(payload, jsReceivedTimeMs, batchS
|
|
|
53
57
|
const positionsOffset = dataByteOffset;
|
|
54
58
|
const normalsOffset = positionsOffset + positionsByteLength;
|
|
55
59
|
const indicesOffset = normalsOffset + normalsByteLength;
|
|
60
|
+
const expectedBytes = indicesOffset + indicesByteLength;
|
|
61
|
+
if (buffer.byteLength < expectedBytes) {
|
|
62
|
+
throw new Error(`Packed geometry cache shard truncated: have ${buffer.byteLength}, need ${expectedBytes}`);
|
|
63
|
+
}
|
|
56
64
|
const positions = new Float32Array(buffer, positionsOffset, positionsLen);
|
|
57
65
|
const normals = new Float32Array(buffer, normalsOffset, normalsLen);
|
|
58
66
|
const indices = new Uint32Array(buffer, indicesOffset, indicesLen);
|
|
@@ -73,6 +81,15 @@ export function decodePackedGeometryCacheShard(payload, jsReceivedTimeMs, batchS
|
|
|
73
81
|
meshView.getFloat32(base + 36, true),
|
|
74
82
|
meshView.getFloat32(base + 40, true),
|
|
75
83
|
];
|
|
84
|
+
// Validate each mesh's pool ranges before subarray — a malformed/wrapped
|
|
85
|
+
// offset would otherwise silently clip (subarray saturates), yielding
|
|
86
|
+
// truncated-or-borrowed geometry indistinguishable from a real mesh
|
|
87
|
+
// (mirrors the same guard in packed-instanced-decoder.ts).
|
|
88
|
+
if (positionsOffsetWords + positionsLengthWords > positionsLen ||
|
|
89
|
+
normalsOffsetWords + normalsLengthWords > normalsLen ||
|
|
90
|
+
indicesOffsetWords + indicesLengthWords > indicesLen) {
|
|
91
|
+
throw new Error(`Packed geometry cache shard mesh ${meshIndex} pool offset out of bounds`);
|
|
92
|
+
}
|
|
76
93
|
meshes.push({
|
|
77
94
|
expressId,
|
|
78
95
|
positions: positions.subarray(positionsOffsetWords, positionsOffsetWords + positionsLengthWords),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packed-geometry-decoder.js","sourceRoot":"","sources":["../src/packed-geometry-decoder.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAY/D;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;QAClC,IACE,OAAO,CAAC,UAAU,KAAK,CAAC;eACrB,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,UAAU;eAChD,OAAO,CAAC,MAAM,YAAY,WAAW,EACxC,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC,IAAI,CAAC,OAAmB,CAAC,CAAC,MAAM,CAAC;IACrD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,OAAO,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAgB,EAChB,gBAAwB,EACxB,aAAqB;IAErB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;IACnG,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,CAAC,CAAC;IACzB,MAAM,cAAc,GAAG,SAAS,GAAG,oBAAoB,CAAC;IACxD,MAAM,cAAc,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC,GAAG,WAAW,CAAC,iBAAiB,CAAC;IACzF,MAAM,mBAAmB,GAAG,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC;IAC1E,MAAM,iBAAiB,GAAG,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC;IACtE,MAAM,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC;IACrE,MAAM,eAAe,GAAG,cAAc,CAAC;IACvC,MAAM,aAAa,GAAG,eAAe,GAAG,mBAAmB,CAAC;IAC5D,MAAM,aAAa,GAAG,aAAa,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"packed-geometry-decoder.js","sourceRoot":"","sources":["../src/packed-geometry-decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-asset-error.d.ts","sourceRoot":"","sources":["../src/wasm-asset-error.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,eAAe,CAAC;AAYtE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAmCjE;AAaD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIlE;
|
|
1
|
+
{"version":3,"file":"wasm-asset-error.d.ts","sourceRoot":"","sources":["../src/wasm-asset-error.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,eAAe,CAAC;AAYtE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAmCjE;AAaD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIlE;AAkBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,kBAAkB,EAAE,OAAO,GAC1B,OAAO,CAiBT"}
|
package/dist/wasm-asset-error.js
CHANGED
|
@@ -115,8 +115,12 @@ function dispatchAssetUnavailable(message, kind) {
|
|
|
115
115
|
try {
|
|
116
116
|
target.dispatchEvent(new CustomEvent(WASM_ASSET_UNAVAILABLE_EVENT, { detail: { message, kind } }));
|
|
117
117
|
}
|
|
118
|
-
catch {
|
|
119
|
-
|
|
118
|
+
catch (err) {
|
|
119
|
+
// `domDispatcher()` already established that `CustomEvent` and
|
|
120
|
+
// `dispatchEvent` exist, so this is a host we did not anticipate. Best
|
|
121
|
+
// effort: the host will not hear about the missing asset, which is exactly
|
|
122
|
+
// the kind of silence worth a line.
|
|
123
|
+
console.warn('[ifc-lite] could not broadcast the wasm-asset-unavailable event:', err);
|
|
120
124
|
}
|
|
121
125
|
}
|
|
122
126
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-asset-error.js","sourceRoot":"","sources":["../src/wasm-asset-error.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,gCAAgC,CAAC;AAc7E,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QAChD,MAAM,CAAC,GAAI,GAA6B,CAAC,OAAO,CAAC;QACjD,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAY;IACtD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAEvB,6EAA6E;IAC7E,IAAI,mFAAmF,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gEAAgE;IAChE,6EAA6E;IAC7E,2EAA2E;IAC3E,aAAa;IACb,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,uDAAuD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,4CAA4C;IAC5C,IACE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7B,gFAAgF,CAAC,IAAI,CAAC,GAAG,CAAC,EAC1F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,IACE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,kGAAkG,CAAC,IAAI,CAAC,GAAG,CAAC,EAC5G,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAMD,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,UAA2E,CAAC;IACtF,OAAO,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,UAAU;QACjF,CAAC,CAAE,CAAmB;QACtB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACvD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,wBAAwB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,IAA8B;IAC/E,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC;QACH,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAC7E,CAAC;IACJ,CAAC;IAAC,
|
|
1
|
+
{"version":3,"file":"wasm-asset-error.js","sourceRoot":"","sources":["../src/wasm-asset-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Free `instance`, tolerating a wrapper that is already invalid.
|
|
3
|
+
*
|
|
4
|
+
* Logged **once per module instance** — i.e. once per worker. The callers are
|
|
5
|
+
* the per-entity and per-batch recovery paths, which one bad model can drive
|
|
6
|
+
* thousands of times in a single load; a per-occurrence line there is a flood,
|
|
7
|
+
* not diagnostics.
|
|
8
|
+
*/
|
|
9
|
+
export declare function freeWasmInstanceQuietly(instance: {
|
|
10
|
+
free: () => void;
|
|
11
|
+
} | null | undefined): void;
|
|
12
|
+
//# sourceMappingURL=wasm-instance-free.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-instance-free.d.ts","sourceRoot":"","sources":["../src/wasm-instance-free.ts"],"names":[],"mappings":"AAuBA;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAY/F"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* Dropping a wasm-bindgen wrapper on the geometry worker's error-recovery path.
|
|
6
|
+
*
|
|
7
|
+
* The recovery in `processBatch` abandons the engine instance that just failed
|
|
8
|
+
* and lets `ensureInit` install a fresh one. It calls `free()` first because the
|
|
9
|
+
* abandoned instance holds a file-sized source copy (`setSourceBytes`), so
|
|
10
|
+
* waiting for GC would transiently double the source in this worker's
|
|
11
|
+
* never-shrinking wasm heap — on exactly the memory-stressed models that trigger
|
|
12
|
+
* recovery in the first place.
|
|
13
|
+
*
|
|
14
|
+
* `free()` can legitimately throw: wasm-bindgen raises on a wrapper whose
|
|
15
|
+
* pointer is already null, and every call into an instance that trapped raises
|
|
16
|
+
* too — which is the common case here, because a trap is what we are recovering
|
|
17
|
+
* from. A throw therefore means the block was NOT returned to the wasm allocator
|
|
18
|
+
* and the very pressure `free()` exists to avoid is present but invisible.
|
|
19
|
+
*/
|
|
20
|
+
let freeFailureLogged = false;
|
|
21
|
+
/**
|
|
22
|
+
* Free `instance`, tolerating a wrapper that is already invalid.
|
|
23
|
+
*
|
|
24
|
+
* Logged **once per module instance** — i.e. once per worker. The callers are
|
|
25
|
+
* the per-entity and per-batch recovery paths, which one bad model can drive
|
|
26
|
+
* thousands of times in a single load; a per-occurrence line there is a flood,
|
|
27
|
+
* not diagnostics.
|
|
28
|
+
*/
|
|
29
|
+
export function freeWasmInstanceQuietly(instance) {
|
|
30
|
+
try {
|
|
31
|
+
instance?.free();
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
if (freeFailureLogged)
|
|
35
|
+
return;
|
|
36
|
+
freeFailureLogged = true;
|
|
37
|
+
console.warn('[Worker] Freeing the failed engine instance threw, so its file-sized source copy stays ' +
|
|
38
|
+
'in the wasm heap until GC (logged once per worker):', err);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=wasm-instance-free.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-instance-free.js","sourceRoot":"","sources":["../src/wasm-instance-free.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;GAeG;AAEH,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAiD;IACvF,IAAI,CAAC;QACH,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,iBAAiB;YAAE,OAAO;QAC9B,iBAAiB,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,IAAI,CACV,yFAAyF;YACvF,qDAAqD,EACvD,GAAG,CACJ,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-runtime-trap.d.ts","sourceRoot":"","sources":["../src/wasm-runtime-trap.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,+BAA+B,CAAC;AAE5E;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,uCAAuC,CAAC;AAYrF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAErE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CAQtF;AAaD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"wasm-runtime-trap.d.ts","sourceRoot":"","sources":["../src/wasm-runtime-trap.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,+BAA+B,CAAC;AAE5E;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,uCAAuC,CAAC;AAYrF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAErE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CAQtF;AAaD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAgBjE"}
|
|
@@ -127,8 +127,11 @@ export function notifyWasmRuntimeUnrecoverable(err) {
|
|
|
127
127
|
try {
|
|
128
128
|
target.dispatchEvent(new CustomEvent(WASM_RUNTIME_UNRECOVERABLE_EVENT, { detail: { message: messageOf(err) } }));
|
|
129
129
|
}
|
|
130
|
-
catch {
|
|
131
|
-
|
|
130
|
+
catch (dispatchErr) {
|
|
131
|
+
// `domDispatcher()` already established that `CustomEvent` and
|
|
132
|
+
// `dispatchEvent` exist. Best effort — but the host now has no way to learn
|
|
133
|
+
// the engine is gone, so do not stay quiet about it.
|
|
134
|
+
console.warn('[ifc-lite] could not broadcast the wasm-runtime-unrecoverable event:', dispatchErr);
|
|
132
135
|
}
|
|
133
136
|
}
|
|
134
137
|
//# sourceMappingURL=wasm-runtime-trap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-runtime-trap.js","sourceRoot":"","sources":["../src/wasm-runtime-trap.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,4BAA4B,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,oCAAoC,CAAC;AAErF,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QAChD,MAAM,CAAC,GAAI,GAA6B,CAAC,OAAO,CAAC;QACjD,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,GAAG,YAAY,WAAW,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/F,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAQ,GAA0B,CAAC,IAAI,KAAK,cAAc,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,GAAY;IAC1D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAc,EAAE,SAAiB;IAC7E,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,IAAI,KAAK,CACd,GAAG,+BAA+B,4DAA4D;QAC5F,GAAG,SAAS,8EAA8E;QAC1F,qCAAqC,GAAG,GAAG,EAC7C,EAAE,KAAK,EAAE,CACV,CAAC;AACJ,CAAC;AAMD,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,UAA2E,CAAC;IACtF,OAAO,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,UAAU;QACjF,CAAC,CAAE,CAAmB;QACtB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,GAAY;IACzD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC;QACH,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAC3F,CAAC;IACJ,CAAC;IAAC,
|
|
1
|
+
{"version":3,"file":"wasm-runtime-trap.js","sourceRoot":"","sources":["../src/wasm-runtime-trap.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,4BAA4B,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,oCAAoC,CAAC;AAErF,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QAChD,MAAM,CAAC,GAAI,GAA6B,CAAC,OAAO,CAAC;QACjD,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,GAAG,YAAY,WAAW,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/F,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAQ,GAA0B,CAAC,IAAI,KAAK,cAAc,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,GAAY;IAC1D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAc,EAAE,SAAiB;IAC7E,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,IAAI,KAAK,CACd,GAAG,+BAA+B,4DAA4D;QAC5F,GAAG,SAAS,8EAA8E;QAC1F,qCAAqC,GAAG,GAAG,EAC7C,EAAE,KAAK,EAAE,CACV,CAAC;AACJ,CAAC;AAMD,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,UAA2E,CAAC;IACtF,OAAO,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,UAAU;QACjF,CAAC,CAAE,CAAmB;QACtB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,GAAY;IACzD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC;QACH,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAC3F,CAAC;IACJ,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACrB,+DAA+D;QAC/D,4EAA4E;QAC5E,qDAAqD;QACrD,OAAO,CAAC,IAAI,CACV,sEAAsE,EACtE,WAAW,CACZ,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-shared-module.d.ts","sourceRoot":"","sources":["../src/wasm-shared-module.ts"],"names":[],"mappings":"AAoDA;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"wasm-shared-module.d.ts","sourceRoot":"","sources":["../src/wasm-shared-module.ts"],"names":[],"mappings":"AAoDA;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAgDpC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAK3C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAM9D"}
|
|
@@ -74,9 +74,15 @@ export async function compileSharedWasmModule(explicitUrl) {
|
|
|
74
74
|
// for every consumer).
|
|
75
75
|
return await WebAssembly.compileStreaming(fetch(url));
|
|
76
76
|
}
|
|
77
|
-
catch {
|
|
77
|
+
catch (err) {
|
|
78
78
|
// Some static hosts serve `.wasm` with the wrong MIME type, which
|
|
79
79
|
// rejects compileStreaming — fall through to the buffer path.
|
|
80
|
+
//
|
|
81
|
+
// Worth a line even though the fallback works: the streaming fetch is
|
|
82
|
+
// already spent, so the buffer path downloads the ~1.3 MB binary a
|
|
83
|
+
// SECOND time, and nothing else reports that. Once per URL per realm
|
|
84
|
+
// (this runs inside the single-flight memo).
|
|
85
|
+
console.warn('[stream] wasm compileStreaming rejected; refetching for the buffer path:', err);
|
|
80
86
|
}
|
|
81
87
|
}
|
|
82
88
|
const resp = await fetch(url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-shared-module.js","sourceRoot":"","sources":["../src/wasm-shared-module.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAA8C,CAAC;AAEvF,SAAS,cAAc,CAAC,WAAoB;IAC1C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,IAAI,CAAC;QACH,sEAAsE;QACtE,0EAA0E;QAC1E,2EAA2E;QAC3E,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QACpE,EAAE;QACF,iEAAiE;QACjE,wDAAwD;QACxD,wEAAwE;QACxE,OAAO,IAAI,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAoB;IAEpB,IAAI,OAAO,WAAW,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,KAAK,IAAwC,EAAE;QACxD,IAAI,CAAC;YACH,IAAI,OAAO,WAAW,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACH,oEAAoE;oBACpE,uBAAuB;oBACvB,OAAO,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxD,CAAC;gBAAC,
|
|
1
|
+
{"version":3,"file":"wasm-shared-module.js","sourceRoot":"","sources":["../src/wasm-shared-module.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/geometry",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "Geometry processing bridge for IFC-Lite - exact-arithmetic CSG, streamed across workers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@ifc-lite/data": "^3.2.
|
|
17
|
-
"@ifc-lite/wasm": "^4.
|
|
16
|
+
"@ifc-lite/data": "^3.2.3",
|
|
17
|
+
"@ifc-lite/wasm": "^4.4.0"
|
|
18
18
|
},
|
|
19
19
|
"optionalDependencies": {
|
|
20
20
|
"@tauri-apps/api": "^2.11.1"
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
],
|
|
50
50
|
"scripts": {
|
|
51
51
|
"build": "pnpm exec tsc && node -e \"const fs=require('fs');for(const f of ['dist/index.js','dist/geometry-parallel.js']){if(!fs.existsSync(f))continue;fs.writeFileSync(f,fs.readFileSync(f,'utf8').replace(/geometry\\.worker\\.ts/g,'geometry.worker.js'))}\"",
|
|
52
|
+
"typecheck": "node ../../scripts/typecheck-tests.mjs",
|
|
52
53
|
"dev": "pnpm exec tsc --watch",
|
|
53
54
|
"test": "vitest run"
|
|
54
55
|
}
|