@ifc-lite/geometry 7.5.2 → 7.7.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/README.md +10 -0
- package/dist/analytic-descriptions.d.ts +54 -0
- package/dist/analytic-descriptions.d.ts.map +1 -0
- package/dist/analytic-descriptions.js +5 -0
- package/dist/analytic-descriptions.js.map +1 -0
- package/dist/byte-streaming-prepass-result.d.ts +3 -0
- package/dist/byte-streaming-prepass-result.d.ts.map +1 -1
- package/dist/domain-export-call.d.ts +4 -0
- package/dist/domain-export-call.d.ts.map +1 -0
- package/dist/domain-export-call.js +19 -0
- package/dist/domain-export-call.js.map +1 -0
- package/dist/geometry-coordinate.d.ts.map +1 -1
- package/dist/geometry-coordinate.js +3 -0
- package/dist/geometry-coordinate.js.map +1 -1
- package/dist/geometry-parallel.d.ts.map +1 -1
- package/dist/geometry-parallel.js +12 -41
- package/dist/geometry-parallel.js.map +1 -1
- package/dist/geometry.worker.d.ts +3 -0
- package/dist/geometry.worker.d.ts.map +1 -1
- package/dist/geometry.worker.js +31 -17
- package/dist/geometry.worker.js.map +1 -1
- package/dist/huge-file-error.d.ts +1 -2
- package/dist/huge-file-error.d.ts.map +1 -1
- package/dist/huge-file-error.js +4 -5
- package/dist/huge-file-error.js.map +1 -1
- package/dist/ifc-lite-bridge.d.ts +12 -16
- package/dist/ifc-lite-bridge.d.ts.map +1 -1
- package/dist/ifc-lite-bridge.js +21 -28
- package/dist/ifc-lite-bridge.js.map +1 -1
- package/dist/index.d.ts +13 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -37
- package/dist/index.js.map +1 -1
- package/dist/map-normalization-capability.d.ts +7 -0
- package/dist/map-normalization-capability.d.ts.map +1 -0
- package/dist/map-normalization-capability.js +32 -0
- package/dist/map-normalization-capability.js.map +1 -0
- package/dist/mesh-specular.d.ts +15 -0
- package/dist/mesh-specular.d.ts.map +1 -0
- package/dist/mesh-specular.js +20 -0
- package/dist/mesh-specular.js.map +1 -0
- package/dist/native-bridge.d.ts +1 -0
- package/dist/native-bridge.d.ts.map +1 -1
- package/dist/native-bridge.js +1 -0
- package/dist/native-bridge.js.map +1 -1
- package/dist/packed-instanced-decoder.d.ts +9 -0
- package/dist/packed-instanced-decoder.d.ts.map +1 -1
- package/dist/packed-instanced-decoder.js +12 -1
- package/dist/packed-instanced-decoder.js.map +1 -1
- package/dist/platform-bridge.d.ts +2 -0
- package/dist/platform-bridge.d.ts.map +1 -1
- package/dist/platform-bridge.js.map +1 -1
- package/dist/remesh/index.d.ts +7 -0
- package/dist/remesh/index.d.ts.map +1 -0
- package/dist/remesh/index.js +10 -0
- package/dist/remesh/index.js.map +1 -0
- package/dist/remesh/remesh-client.d.ts +60 -0
- package/dist/remesh/remesh-client.d.ts.map +1 -0
- package/dist/remesh/remesh-client.js +135 -0
- package/dist/remesh/remesh-client.js.map +1 -0
- package/dist/remesh/remesh-core.d.ts +96 -0
- package/dist/remesh/remesh-core.d.ts.map +1 -0
- package/dist/remesh/remesh-core.js +112 -0
- package/dist/remesh/remesh-core.js.map +1 -0
- package/dist/remesh/remesh-protocol.d.ts +56 -0
- package/dist/remesh/remesh-protocol.d.ts.map +1 -0
- package/dist/remesh/remesh-protocol.js +32 -0
- package/dist/remesh/remesh-protocol.js.map +1 -0
- package/dist/remesh/remesh.worker.d.ts +2 -0
- package/dist/remesh/remesh.worker.d.ts.map +1 -0
- package/dist/remesh/remesh.worker.js +117 -0
- package/dist/remesh/remesh.worker.js.map +1 -0
- package/dist/shard-style-merge.d.ts +27 -0
- package/dist/shard-style-merge.d.ts.map +1 -0
- package/dist/shard-style-merge.js +54 -0
- package/dist/shard-style-merge.js.map +1 -0
- package/dist/style-finishes.d.ts +25 -0
- package/dist/style-finishes.d.ts.map +1 -0
- package/dist/style-finishes.js +32 -0
- package/dist/style-finishes.js.map +1 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/worker-prepass-source.d.ts +9 -0
- package/dist/worker-prepass-source.d.ts.map +1 -1
- package/dist/worker-prepass-source.js.map +1 -1
- package/package.json +10 -5
package/dist/geometry.worker.js
CHANGED
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { attachCanonicalMeshMetadata } from './canonical-mesh-metadata.js';
|
|
5
5
|
import { ownedWasmBuffer } from './wasm-owned-buffer.js';
|
|
6
|
+
import { readSpecularMaterial } from './mesh-specular.js';
|
|
6
7
|
import { publishPrepassFingerprint, runPrepassWithFingerprint } from './prepass-source-fingerprint.js';
|
|
7
8
|
import { canReuseWorkerSource } from './worker-prepass-source.js';
|
|
9
|
+
import { applyStyleFinishes } from './style-finishes.js';
|
|
8
10
|
import init, { initSync, IfcAPI } from '@ifc-lite/wasm';
|
|
9
11
|
import { initWasmWithRetry } from './wasm-init-retry.js';
|
|
10
12
|
import { largeFilePrepassError } from './huge-file-error.js';
|
|
13
|
+
import { isWasmRuntimeTrap } from './wasm-runtime-trap.js';
|
|
11
14
|
import { freeWasmInstanceQuietly } from './wasm-instance-free.js';
|
|
12
15
|
import { mergeGeometryDiagnostics, buildGeometryWorkerCompleteMessage, } from './diagnostics.js';
|
|
13
16
|
import { extractGeometryFingerprints, writeGeometryAabbAt, } from './geometry-fingerprints.js';
|
|
@@ -234,10 +237,12 @@ function materialiseSharedBytes(sharedBuffer) {
|
|
|
234
237
|
* materialises a *file-sized* copy in this worker. The shard entry points are
|
|
235
238
|
* called once per slice, so the notice is latched — once per worker, not once
|
|
236
239
|
* per shard. The streaming-prepass paths warn on their own (they run once per
|
|
237
|
-
* load);
|
|
240
|
+
* load); shard/finalise retries first reject runtime traps, then warn once.
|
|
238
241
|
*/
|
|
239
242
|
let sabViewFallbackWarned = false;
|
|
240
|
-
function
|
|
243
|
+
function prepareSabViewRetry(context, err) {
|
|
244
|
+
if (isWasmRuntimeTrap(err))
|
|
245
|
+
throw err;
|
|
241
246
|
if (sabViewFallbackWarned)
|
|
242
247
|
return;
|
|
243
248
|
sabViewFallbackWarned = true;
|
|
@@ -273,6 +278,7 @@ function startSession(input) {
|
|
|
273
278
|
voidValues: input.voidValues,
|
|
274
279
|
styleIds: input.styleIds,
|
|
275
280
|
styleColors: input.styleColors,
|
|
281
|
+
styleFinishes: undefined,
|
|
276
282
|
planeAngleToRadians: input.planeAngleToRadians,
|
|
277
283
|
materialElementIds: input.materialElementIds,
|
|
278
284
|
materialColorCounts: input.materialColorCounts,
|
|
@@ -391,9 +397,7 @@ function collectMeshes(session, collection) {
|
|
|
391
397
|
// would copy a fresh Float32Array out of WASM per access.
|
|
392
398
|
const color = mesh.color;
|
|
393
399
|
// Optional SurfaceColour for the GLB exporter's "Shading" mode —
|
|
394
|
-
// parity with the single-thread converter in geometry-coordinate.ts
|
|
395
|
-
// (the worker path silently dropped it, degrading "Shading" export
|
|
396
|
-
// on the DEFAULT load path — alignment audit).
|
|
400
|
+
// parity with the single-thread converter in geometry-coordinate.ts.
|
|
397
401
|
const shadingArray = mesh.shadingColor;
|
|
398
402
|
const shadingColor = shadingArray && shadingArray.length === 4
|
|
399
403
|
? [shadingArray[0], shadingArray[1], shadingArray[2], shadingArray[3]]
|
|
@@ -406,8 +410,7 @@ function collectMeshes(session, collection) {
|
|
|
406
410
|
const origin = originArr && originArr.length === 3 && (originArr[0] || originArr[1] || originArr[2])
|
|
407
411
|
? [originArr[0], originArr[1], originArr[2]]
|
|
408
412
|
: undefined;
|
|
409
|
-
// Local (pre-placement) AABB + placement transform (
|
|
410
|
-
// absent on older wasm bundles (no getter) or when not captured.
|
|
413
|
+
// Local (pre-placement) AABB + placement transform (#1474); absent w/o a getter or when not captured.
|
|
411
414
|
const localBoundsArr = mesh.localBounds;
|
|
412
415
|
const localBounds = localBoundsArr && localBoundsArr.length === 6
|
|
413
416
|
? {
|
|
@@ -417,6 +420,7 @@ function collectMeshes(session, collection) {
|
|
|
417
420
|
: undefined;
|
|
418
421
|
const localToWorldArr = mesh.localToWorld;
|
|
419
422
|
const localToWorld = localToWorldArr && localToWorldArr.length === 16 ? Array.from(localToWorldArr) : undefined;
|
|
423
|
+
const specularMaterial = readSpecularMaterial(mesh); // #5582
|
|
420
424
|
const meshData = {
|
|
421
425
|
expressId: mesh.expressId,
|
|
422
426
|
ifcType: mesh.ifcType,
|
|
@@ -429,6 +433,7 @@ function collectMeshes(session, collection) {
|
|
|
429
433
|
geometryClass: mesh.geometryClass ?? 0, // 0=occurrence 1=orphan type 2=instanced type; older wasm lacks all three getters here
|
|
430
434
|
...(mesh.geometryItemId !== undefined ? { geometryItemId: mesh.geometryItemId } : {}), // #3199: two DISJOINT ids, TWO
|
|
431
435
|
...(mesh.materialId !== undefined ? { materialId: mesh.materialId } : {}), // spreads as in convertMeshCollectionToBatch
|
|
436
|
+
...(specularMaterial ? { material: specularMaterial } : {}), // #5582
|
|
432
437
|
};
|
|
433
438
|
session.pendingTransfers.push(ownedWasmBuffer(positions), ownedWasmBuffer(normals), ownedWasmBuffer(indices));
|
|
434
439
|
session.cumulativeMeshBytes += positions.byteLength + normals.byteLength + indices.byteLength;
|
|
@@ -550,6 +555,7 @@ async function processBatch(session, jobs) {
|
|
|
550
555
|
// re-installs the copy from the materialised buffer.
|
|
551
556
|
cachedSourceBytes = session.localBytes;
|
|
552
557
|
applySourceBytesToApi();
|
|
558
|
+
applyStyleFinishes(ifcApi, session.styleIds, session.styleFinishes);
|
|
553
559
|
// Instanced-only path: produce geometry ONCE via a partitioned batch, which
|
|
554
560
|
// splits each batch into flat meshes (transparent + type-template + textured)
|
|
555
561
|
// and an IFNS instancing shard (opaque, untextured ordinary occurrences). The
|
|
@@ -592,7 +598,7 @@ async function processBatch(session, jobs) {
|
|
|
592
598
|
// entities could therefore blow the silent-window budget invisibly
|
|
593
599
|
// (#1097, secondary window). Ping liveness before we recurse / re-init.
|
|
594
600
|
postWorkerHeartbeat();
|
|
595
|
-
if (!session.sabFallbackTaken && session.localBytes.buffer instanceof SharedArrayBuffer) {
|
|
601
|
+
if (!isWasmRuntimeTrap(err) && !session.sabFallbackTaken && session.localBytes.buffer instanceof SharedArrayBuffer) {
|
|
596
602
|
session.sabFallbackTaken = true;
|
|
597
603
|
console.warn(`[Worker] processGeometryBatch rejected SAB view (${msg}), falling back to copy`);
|
|
598
604
|
session.localBytes = materialiseSharedBytes(session.sharedBuffer);
|
|
@@ -718,7 +724,7 @@ async function handleMessage(e) {
|
|
|
718
724
|
}
|
|
719
725
|
catch (err) {
|
|
720
726
|
// SAB-view rejection fallback (see scan-shard above).
|
|
721
|
-
|
|
727
|
+
prepareSabViewRetry('resolve-styles-shard', err);
|
|
722
728
|
res = styleApi.resolveStyledItemsShard(materialiseSharedBytes(sharedBuffer), spans);
|
|
723
729
|
}
|
|
724
730
|
self.postMessage({
|
|
@@ -728,9 +734,12 @@ async function handleMessage(e) {
|
|
|
728
734
|
orphanColors: res.orphanColors,
|
|
729
735
|
geomIds: res.geomIds,
|
|
730
736
|
geomColors: res.geomColors,
|
|
731
|
-
|
|
737
|
+
geomFinishes: res.geomFinishes,
|
|
738
|
+
}, [res.orphanIds.buffer, res.orphanColors.buffer, res.geomIds.buffer, res.geomColors.buffer, ...(res.geomFinishes ? [res.geomFinishes.buffer] : [])]);
|
|
732
739
|
}
|
|
733
740
|
catch (err) {
|
|
741
|
+
if (isWasmRuntimeTrap(err))
|
|
742
|
+
throw err;
|
|
734
743
|
self.postMessage({
|
|
735
744
|
type: 'styles-shard-result',
|
|
736
745
|
sliceIndex,
|
|
@@ -763,6 +772,8 @@ async function handleMessage(e) {
|
|
|
763
772
|
catch (err) {
|
|
764
773
|
if (isColumnLengthRefusal(err))
|
|
765
774
|
throw err;
|
|
775
|
+
if (isWasmRuntimeTrap(err))
|
|
776
|
+
throw largeFilePrepassError(err, sharedBuffer.byteLength) ?? err;
|
|
766
777
|
const msg = err instanceof Error ? err.message : String(err);
|
|
767
778
|
console.warn(`[Worker] Sharded streaming prepass with SAB view failed (${msg}), retrying with copy`);
|
|
768
779
|
try {
|
|
@@ -785,6 +796,9 @@ async function handleMessage(e) {
|
|
|
785
796
|
const ifcApi = await ensureInit();
|
|
786
797
|
const m = e.data;
|
|
787
798
|
const finalizeApi = ifcApi;
|
|
799
|
+
// #5582: finalize has no finishes argument and consumes this stash, so
|
|
800
|
+
// it is installed before each attempt (the SAB retry below too).
|
|
801
|
+
const stashFinishes = () => m.geomFinishes && finalizeApi.setPrepassGeometryFinishes?.(m.geomIds, m.geomFinishes);
|
|
788
802
|
const args = [
|
|
789
803
|
m.orphanIds, m.orphanColors, m.geomIds, m.geomColors,
|
|
790
804
|
m.colourMapSpans, m.materialDefSpans, m.relMaterialSpans,
|
|
@@ -794,6 +808,7 @@ async function handleMessage(e) {
|
|
|
794
808
|
const callFinalize = (bytes) => sourceBytesApplied && canReuseWorkerSource(installedSourceSessionId, m.sourceSessionId) && sourceApi.finalizePrepassStylesFromSource
|
|
795
809
|
? sourceApi.finalizePrepassStylesFromSource(...args)
|
|
796
810
|
: finalizeApi.finalizePrepassStyles(bytes, ...args);
|
|
811
|
+
stashFinishes();
|
|
797
812
|
let payload;
|
|
798
813
|
try {
|
|
799
814
|
payload = callFinalize(viewSharedBytes(m.sharedBuffer));
|
|
@@ -802,7 +817,8 @@ async function handleMessage(e) {
|
|
|
802
817
|
if (isColumnLengthRefusal(err))
|
|
803
818
|
throw err;
|
|
804
819
|
// SAB-view rejection fallback (see scan-shard above).
|
|
805
|
-
|
|
820
|
+
prepareSabViewRetry('finalize-prepass-styles', err);
|
|
821
|
+
stashFinishes();
|
|
806
822
|
payload = finalizeApi.finalizePrepassStyles(materialiseSharedBytes(m.sharedBuffer), ...args);
|
|
807
823
|
}
|
|
808
824
|
self.postMessage({ type: 'styles-final', payload });
|
|
@@ -810,8 +826,6 @@ async function handleMessage(e) {
|
|
|
810
826
|
}
|
|
811
827
|
if (e.data.type === 'prepass-streaming') {
|
|
812
828
|
const ifcApi = await ensureInit();
|
|
813
|
-
// Heartbeat: lets the host watchdog know the worker is alive even
|
|
814
|
-
// before the first chunk lands.
|
|
815
829
|
self.postMessage({ type: 'prepass-progress', phase: 'parsing' });
|
|
816
830
|
const sharedBuffer = e.data.sharedBuffer;
|
|
817
831
|
const sourceFingerprint = e.data.sourceFingerprint;
|
|
@@ -829,18 +843,17 @@ async function handleMessage(e) {
|
|
|
829
843
|
};
|
|
830
844
|
const runPrepass = (bytes) => runPrepassWithFingerprint(ifcApi, [bytes, onEvent, chunkSize, disabledTypes, skipTypeGeometry], sourceFingerprint);
|
|
831
845
|
try {
|
|
832
|
-
// Zero-copy SAB view first; wasm-bindgen copies it into linear memory.
|
|
833
846
|
runPrepass(viewSharedBytes(sharedBuffer));
|
|
834
847
|
}
|
|
835
848
|
catch (err) {
|
|
849
|
+
if (isWasmRuntimeTrap(err))
|
|
850
|
+
throw largeFilePrepassError(err, sharedBuffer.byteLength) ?? err;
|
|
836
851
|
const msg = err instanceof Error ? err.message : String(err);
|
|
837
852
|
console.warn(`[Worker] Streaming prepass with SAB view failed (${msg}), retrying with copy`);
|
|
838
853
|
try {
|
|
839
854
|
runPrepass(materialiseSharedBytes(sharedBuffer));
|
|
840
855
|
}
|
|
841
856
|
catch (retryErr) {
|
|
842
|
-
// Both paths trapped — on a very large model this is the wasm32 4GB
|
|
843
|
-
// limit; surface an actionable error instead of `unreachable executed`.
|
|
844
857
|
throw largeFilePrepassError(retryErr, sharedBuffer.byteLength) ?? retryErr;
|
|
845
858
|
}
|
|
846
859
|
}
|
|
@@ -874,7 +887,7 @@ async function handleMessage(e) {
|
|
|
874
887
|
catch (err) {
|
|
875
888
|
// Some runtimes reject SAB-backed views at the wasm boundary (same
|
|
876
889
|
// fallback the streaming pre-pass ships) — retry with a copy.
|
|
877
|
-
|
|
890
|
+
prepareSabViewRetry('scan-entity-index-shard', err);
|
|
878
891
|
sourceBytesApplied = false;
|
|
879
892
|
shard = scan(materialiseSharedBytes(sharedBuffer));
|
|
880
893
|
}
|
|
@@ -973,6 +986,7 @@ async function handleMessage(e) {
|
|
|
973
986
|
return;
|
|
974
987
|
activeSession.styleIds = e.data.styleIds;
|
|
975
988
|
activeSession.styleColors = e.data.styleColors;
|
|
989
|
+
activeSession.styleFinishes = e.data.styleFinishes;
|
|
976
990
|
activeSession.voidKeys = e.data.voidKeys;
|
|
977
991
|
activeSession.voidCounts = e.data.voidCounts;
|
|
978
992
|
activeSession.voidValues = e.data.voidValues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.worker.js","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geometry.worker.js","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* `RuntimeError: unreachable executed` — `console_error_panic_hook` prints to
|
|
7
7
|
* the console but does not re-type the exception, so the message alone can't
|
|
8
8
|
* prove OOM. This is intentionally a heuristic (large file + an OOM-shaped
|
|
9
|
-
* trap
|
|
10
|
-
* in-memory copy attempts trapped — overwhelmingly the 4GB ceiling). To make
|
|
9
|
+
* trap — the failure can be memory pressure or the 4GB ceiling). To make
|
|
11
10
|
* sure it never SILENTLY masks a genuine panic/assert on a large model, the
|
|
12
11
|
* mapped error preserves the original trap: verbatim in the message tail and as
|
|
13
12
|
* `.cause` for programmatic inspection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huge-file-error.d.ts","sourceRoot":"","sources":["../src/huge-file-error.ts"],"names":[],"mappings":"AAsBA
|
|
1
|
+
{"version":3,"file":"huge-file-error.d.ts","sourceRoot":"","sources":["../src/huge-file-error.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAYpF"}
|
package/dist/huge-file-error.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* wasm linear memory AND builds the entity index alongside it. On wasm32 the
|
|
10
10
|
* address space is capped at 4GB, so a ~3GB+ file cannot fit — the allocator
|
|
11
11
|
* aborts with a bare `unreachable executed` / `RuntimeError`. This maps that to
|
|
12
|
-
* a clear message
|
|
12
|
+
* a clear message suggesting smaller inputs or the native CLI/server.
|
|
13
13
|
*/
|
|
14
14
|
/** Below this the failure is treated as unrelated to size (caller rethrows). */
|
|
15
15
|
const HUGE_FILE_GB_THRESHOLD = 2.5;
|
|
@@ -23,8 +23,7 @@ const OOM_SIGNATURE = /unreachable|out of memory|memory access|RuntimeError|allo
|
|
|
23
23
|
* `RuntimeError: unreachable executed` — `console_error_panic_hook` prints to
|
|
24
24
|
* the console but does not re-type the exception, so the message alone can't
|
|
25
25
|
* prove OOM. This is intentionally a heuristic (large file + an OOM-shaped
|
|
26
|
-
* trap
|
|
27
|
-
* in-memory copy attempts trapped — overwhelmingly the 4GB ceiling). To make
|
|
26
|
+
* trap — the failure can be memory pressure or the 4GB ceiling). To make
|
|
28
27
|
* sure it never SILENTLY masks a genuine panic/assert on a large model, the
|
|
29
28
|
* mapped error preserves the original trap: verbatim in the message tail and as
|
|
30
29
|
* `.cause` for programmatic inspection.
|
|
@@ -33,8 +32,8 @@ export function largeFilePrepassError(err, byteLength) {
|
|
|
33
32
|
const sizeGB = byteLength / 1e9;
|
|
34
33
|
const raw = err instanceof Error ? err.message : String(err);
|
|
35
34
|
if (sizeGB >= HUGE_FILE_GB_THRESHOLD && OOM_SIGNATURE.test(raw)) {
|
|
36
|
-
return new Error(`This model is ${sizeGB.toFixed(1)} GB
|
|
37
|
-
`
|
|
35
|
+
return new Error(`This model is ${sizeGB.toFixed(1)} GB and may exceed available WebAssembly memory ` +
|
|
36
|
+
`(32-bit address space). Try a smaller model or use the native ifc-lite CLI/server. ` +
|
|
38
37
|
`(underlying wasm trap: ${raw})`, { cause: err });
|
|
39
38
|
}
|
|
40
39
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huge-file-error.js","sourceRoot":"","sources":["../src/huge-file-error.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;GASG;AAEH,gFAAgF;AAChF,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,0EAA0E;AAC1E,MAAM,aAAa,GACjB,6GAA6G,CAAC;AAEhH
|
|
1
|
+
{"version":3,"file":"huge-file-error.js","sourceRoot":"","sources":["../src/huge-file-error.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;GASG;AAEH,gFAAgF;AAChF,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,0EAA0E;AAC1E,MAAM,aAAa,GACjB,6GAA6G,CAAC;AAEhH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY,EAAE,UAAkB;IACpE,MAAM,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC;IAChC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,MAAM,IAAI,sBAAsB,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,KAAK,CACd,iBAAiB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,kDAAkD;YAClF,qFAAqF;YACrF,0BAA0B,GAAG,GAAG,EAClC,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { KmzAltitudeMode, TessellationQuality } from './types.js';
|
|
|
2
2
|
import type { RtcFrame } from './rtc-frame.js';
|
|
3
3
|
import type { HbjsonStats } from './hbjson-stats.js';
|
|
4
4
|
import type { GeometryDiagnostics } from './diagnostics.js';
|
|
5
|
+
import type { ExtrusionDefinitions, SweptDiskDescriptions } from './analytic-descriptions.js';
|
|
5
6
|
import { IfcAPI, SymbolicRepresentationCollection, SymbolicPolyline, SymbolicCircle, ProfileCollection, ProfileEntryJs, GridAxisCollection, GridAxisJs } from '@ifc-lite/wasm';
|
|
6
7
|
export type { SymbolicRepresentationCollection, SymbolicPolyline, SymbolicCircle, ProfileCollection, ProfileEntryJs, GridAxisCollection, GridAxisJs, };
|
|
7
8
|
export declare class IfcLiteBridge {
|
|
@@ -42,22 +43,11 @@ export declare class IfcLiteBridge {
|
|
|
42
43
|
*/
|
|
43
44
|
private skipSmallCuts;
|
|
44
45
|
private isWasmRuntimeError;
|
|
45
|
-
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* other) builds a clean one and works; the trap itself propagates to the
|
|
51
|
-
* caller unchanged, so the failing operation still fails loudly with its own
|
|
52
|
-
* stack.
|
|
53
|
-
*
|
|
54
|
-
* This deliberately does NOT latch any realm-wide state. The previous
|
|
55
|
-
* behaviour stored one Error in a module global and refused every later
|
|
56
|
-
* `init()` in the document, which bricked every unrelated main-thread
|
|
57
|
-
* consumer (model load, grid / drawing meshers, the other exporters) after a
|
|
58
|
-
* single failed export — while bridges that happened to be initialized
|
|
59
|
-
* already kept running, so the "unrecoverable" claim contradicted itself.
|
|
60
|
-
*/
|
|
46
|
+
/** After a runtime trap, drop this bridge's potentially wedged IfcAPI and
|
|
47
|
+
* its per-load caches behind mutexes (#1898). The caller still gets the
|
|
48
|
+
* original error; a later init() builds a fresh handle. Do not latch a
|
|
49
|
+
* realm-wide failure: that previously bricked unrelated consumers even
|
|
50
|
+
* while their already-initialized bridges continued working. */
|
|
61
51
|
private recordWasmRuntimeTrap;
|
|
62
52
|
/**
|
|
63
53
|
* Free the WASM handle if one exists, best-effort, then drop the JS-side
|
|
@@ -137,6 +127,10 @@ export declare class IfcLiteBridge {
|
|
|
137
127
|
* @param modelIndex Federation model index (use 0 for single-model files).
|
|
138
128
|
*/
|
|
139
129
|
extractProfiles(content: string, modelIndex?: number): ProfileCollection;
|
|
130
|
+
/** Exact authored swept-disk definitions and measurements in IFC world metres. */
|
|
131
|
+
extractSweptDiskDescriptions(content: Uint8Array, ids?: Uint32Array): SweptDiskDescriptions;
|
|
132
|
+
/** Exact authored extrusion sources and their world-space product occurrences. */
|
|
133
|
+
extractExtrusionDefinitions(content: Uint8Array, ids?: Uint32Array): ExtrusionDefinitions;
|
|
140
134
|
/**
|
|
141
135
|
* Export the render geometry in `content` as a Wavefront OBJ string.
|
|
142
136
|
* `isolated`: `undefined` ⇒ no filter; empty `Uint32Array` ⇒ active but matching nothing.
|
|
@@ -163,6 +157,8 @@ export declare class IfcLiteBridge {
|
|
|
163
157
|
exportCsv(content: Uint8Array, mode?: 'entities' | 'properties' | 'quantities' | 'spatial', delimiter?: string, includeProperties?: boolean): Uint8Array;
|
|
164
158
|
/** Export structured JSON (array of entity objects with typed property values). */
|
|
165
159
|
exportJson(content: Uint8Array, pretty?: boolean, includeProperties?: boolean, includeQuantities?: boolean): Uint8Array;
|
|
160
|
+
/** Plan coordinate compatibility patches; all domain math remains in Rust. */
|
|
161
|
+
planMapConversionNormalization(content: Uint8Array): string;
|
|
166
162
|
/**
|
|
167
163
|
* Re-serialize the model in `content` to a STEP/IFC string (P1: base
|
|
168
164
|
* re-serialization + reference-closed subset). Empty `schema` preserves the source;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc-lite-bridge.d.ts","sourceRoot":"","sources":["../src/ifc-lite-bridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ifc-lite-bridge.d.ts","sourceRoot":"","sources":["../src/ifc-lite-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/ifc-lite-bridge.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* Replaces web-ifc-bridge.ts with native IFC-Lite implementation (1.9x faster)
|
|
7
7
|
*/
|
|
8
8
|
import { createLogger } from '@ifc-lite/data';
|
|
9
|
+
import { runDomainExport } from './domain-export-call.js';
|
|
9
10
|
import * as energyExport from './energy-export-bridge.js';
|
|
10
11
|
import { getStartedSharedWasmModule } from './wasm-shared-module.js';
|
|
11
12
|
import { isWasmRuntimeTrap, notifyWasmRuntimeUnrecoverable, wasmRuntimeUnrecoverableError, } from './wasm-runtime-trap.js';
|
|
@@ -52,22 +53,11 @@ export class IfcLiteBridge {
|
|
|
52
53
|
isWasmRuntimeError(error) {
|
|
53
54
|
return isWasmRuntimeTrap(error);
|
|
54
55
|
}
|
|
55
|
-
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* other) builds a clean one and works; the trap itself propagates to the
|
|
61
|
-
* caller unchanged, so the failing operation still fails loudly with its own
|
|
62
|
-
* stack.
|
|
63
|
-
*
|
|
64
|
-
* This deliberately does NOT latch any realm-wide state. The previous
|
|
65
|
-
* behaviour stored one Error in a module global and refused every later
|
|
66
|
-
* `init()` in the document, which bricked every unrelated main-thread
|
|
67
|
-
* consumer (model load, grid / drawing meshers, the other exporters) after a
|
|
68
|
-
* single failed export — while bridges that happened to be initialized
|
|
69
|
-
* already kept running, so the "unrecoverable" claim contradicted itself.
|
|
70
|
-
*/
|
|
56
|
+
/** After a runtime trap, drop this bridge's potentially wedged IfcAPI and
|
|
57
|
+
* its per-load caches behind mutexes (#1898). The caller still gets the
|
|
58
|
+
* original error; a later init() builds a fresh handle. Do not latch a
|
|
59
|
+
* realm-wide failure: that previously bricked unrelated consumers even
|
|
60
|
+
* while their already-initialized bridges continued working. */
|
|
71
61
|
recordWasmRuntimeTrap() {
|
|
72
62
|
this.disposeBestEffort();
|
|
73
63
|
}
|
|
@@ -385,6 +375,14 @@ export class IfcLiteBridge {
|
|
|
385
375
|
throw error;
|
|
386
376
|
}
|
|
387
377
|
}
|
|
378
|
+
/** Exact authored swept-disk definitions and measurements in IFC world metres. */
|
|
379
|
+
extractSweptDiskDescriptions(content, ids) {
|
|
380
|
+
return this.runExport('extractSweptDiskDescriptions', content, (api) => api.extractSweptDiskDescriptions(content, ids));
|
|
381
|
+
}
|
|
382
|
+
/** Exact authored extrusion sources and their world-space product occurrences. */
|
|
383
|
+
extractExtrusionDefinitions(content, ids) {
|
|
384
|
+
return this.runExport('extractExtrusionDefinitions', content, (api) => api.extrusionDefinitions(content, ids));
|
|
385
|
+
}
|
|
388
386
|
/**
|
|
389
387
|
* Export the render geometry in `content` as a Wavefront OBJ string.
|
|
390
388
|
* `isolated`: `undefined` ⇒ no filter; empty `Uint32Array` ⇒ active but matching nothing.
|
|
@@ -434,6 +432,10 @@ export class IfcLiteBridge {
|
|
|
434
432
|
exportJson(content, pretty = false, includeProperties = true, includeQuantities = true) {
|
|
435
433
|
return this.runExport('exportJson', content, (api) => api.exportJson(content, pretty, includeProperties, includeQuantities));
|
|
436
434
|
}
|
|
435
|
+
/** Plan coordinate compatibility patches; all domain math remains in Rust. */
|
|
436
|
+
planMapConversionNormalization(content) {
|
|
437
|
+
return this.runExport('planMapConversionNormalization', content, api => api.planMapConversionNormalization(content));
|
|
438
|
+
}
|
|
437
439
|
/**
|
|
438
440
|
* Re-serialize the model in `content` to a STEP/IFC string (P1: base
|
|
439
441
|
* re-serialization + reference-closed subset). Empty `schema` preserves the source;
|
|
@@ -555,19 +557,10 @@ export class IfcLiteBridge {
|
|
|
555
557
|
* logging + fatal-wasm-error marking, mirroring the other bridge entry points.
|
|
556
558
|
*/
|
|
557
559
|
runExport(op, content, run) {
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
}
|
|
561
|
-
try {
|
|
562
|
-
return run(this.ifcApi);
|
|
563
|
-
}
|
|
564
|
-
catch (error) {
|
|
565
|
-
log.error(`Failed to ${op}`, error, { operation: op, data: { contentLength: content.length } });
|
|
566
|
-
if (this.isWasmRuntimeError(error)) {
|
|
560
|
+
return runDomainExport(this.ifcApi, op, content, run, error => {
|
|
561
|
+
if (this.isWasmRuntimeError(error))
|
|
567
562
|
this.recordWasmRuntimeTrap();
|
|
568
|
-
|
|
569
|
-
throw error;
|
|
570
|
-
}
|
|
563
|
+
});
|
|
571
564
|
}
|
|
572
565
|
/**
|
|
573
566
|
* Get IFC-Lite API instance
|