@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.
Files changed (44) hide show
  1. package/dist/diagnostics.d.ts +20 -0
  2. package/dist/diagnostics.d.ts.map +1 -1
  3. package/dist/diagnostics.js +18 -0
  4. package/dist/diagnostics.js.map +1 -1
  5. package/dist/geometry-native.d.ts +26 -3
  6. package/dist/geometry-native.d.ts.map +1 -1
  7. package/dist/geometry-native.js +82 -11
  8. package/dist/geometry-native.js.map +1 -1
  9. package/dist/geometry-parallel.d.ts +34 -0
  10. package/dist/geometry-parallel.d.ts.map +1 -1
  11. package/dist/geometry-parallel.js +119 -52
  12. package/dist/geometry-parallel.js.map +1 -1
  13. package/dist/geometry.worker.d.ts +0 -8
  14. package/dist/geometry.worker.d.ts.map +1 -1
  15. package/dist/geometry.worker.js +33 -19
  16. package/dist/geometry.worker.js.map +1 -1
  17. package/dist/ifc-lite-bridge.d.ts +19 -0
  18. package/dist/ifc-lite-bridge.d.ts.map +1 -1
  19. package/dist/ifc-lite-bridge.js +58 -8
  20. package/dist/ifc-lite-bridge.js.map +1 -1
  21. package/dist/index.d.ts +21 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +50 -78
  24. package/dist/index.js.map +1 -1
  25. package/dist/native-bridge-conversion.d.ts.map +1 -1
  26. package/dist/native-bridge-conversion.js +42 -8
  27. package/dist/native-bridge-conversion.js.map +1 -1
  28. package/dist/packed-geometry-decoder.d.ts.map +1 -1
  29. package/dist/packed-geometry-decoder.js +17 -0
  30. package/dist/packed-geometry-decoder.js.map +1 -1
  31. package/dist/wasm-asset-error.d.ts.map +1 -1
  32. package/dist/wasm-asset-error.js +6 -2
  33. package/dist/wasm-asset-error.js.map +1 -1
  34. package/dist/wasm-instance-free.d.ts +12 -0
  35. package/dist/wasm-instance-free.d.ts.map +1 -0
  36. package/dist/wasm-instance-free.js +41 -0
  37. package/dist/wasm-instance-free.js.map +1 -0
  38. package/dist/wasm-runtime-trap.d.ts.map +1 -1
  39. package/dist/wasm-runtime-trap.js +5 -2
  40. package/dist/wasm-runtime-trap.js.map +1 -1
  41. package/dist/wasm-shared-module.d.ts.map +1 -1
  42. package/dist/wasm-shared-module.js +7 -1
  43. package/dist/wasm-shared-module.js.map +1 -1
  44. 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
- expressId: mesh.expressId,
22
- ifcType: mesh.ifcType,
23
- positions: positions.subarray(mesh.positionsOffset, mesh.positionsOffset + mesh.positionsLen),
24
- normals: normals.subarray(mesh.normalsOffset, mesh.normalsOffset + mesh.normalsLen),
25
- indices: indices.subarray(mesh.indicesOffset, mesh.indicesOffset + mesh.indicesLen),
26
- color: mesh.color,
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;QAClC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7F,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;QACnF,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;QACnF,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,SAAkD,EAClD,gBAAwB;IAExB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAA4B;IACtE,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;KAChD,CAAC;AACJ,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,CA6Ef"}
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":"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"}
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;AAcD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,kBAAkB,EAAE,OAAO,GAC1B,OAAO,CAiBT"}
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"}
@@ -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
- /* CustomEvent unavailable best effort, nothing more to do */
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":"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"}
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,OAAO,GAAG,EAAE,CAAC;QACb,+DAA+D;QAC/D,uEAAuE;QACvE,2EAA2E;QAC3E,oCAAoC;QACpC,OAAO,CAAC,IAAI,CAAC,kEAAkE,EAAE,GAAG,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,+BAA+B,CAC7C,GAAY,EACZ,kBAA2B;IAE3B,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,GAAG,GACP,OAAO,GAAG,KAAK,QAAQ;QACrB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,OAAQ,GAA6B,CAAC,OAAO,KAAK,QAAQ;YACzE,CAAC,CAAC,CAAE,GAA2B,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,EAAE,CAAC;IACX,IAAI,GAAG;QAAE,OAAO,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACrC,wBAAwB,CACtB,0FAA0F,EAC1F,eAAe,CAChB,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -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,CAUjE"}
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
- /* CustomEvent unavailable best effort, nothing more to do */
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,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC"}
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,CA0CpC;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"}
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":"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"}
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.6.0",
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.0",
17
- "@ifc-lite/wasm": "^4.3.0"
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
  }