@ifc-lite/geometry 4.0.1 → 4.2.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 +6 -3
- package/dist/diagnostics.d.ts +42 -3
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +37 -8
- package/dist/diagnostics.js.map +1 -1
- package/dist/energy-export-bridge.d.ts +35 -0
- package/dist/energy-export-bridge.d.ts.map +1 -0
- package/dist/energy-export-bridge.js +31 -0
- package/dist/energy-export-bridge.js.map +1 -0
- package/dist/geometry-coordinate.d.ts.map +1 -1
- package/dist/geometry-coordinate.js +11 -0
- package/dist/geometry-coordinate.js.map +1 -1
- package/dist/geometry-parallel.d.ts +2 -1
- package/dist/geometry-parallel.d.ts.map +1 -1
- package/dist/geometry-parallel.js +29 -85
- package/dist/geometry-parallel.js.map +1 -1
- package/dist/geometry.worker.d.ts +7 -0
- package/dist/geometry.worker.d.ts.map +1 -1
- package/dist/geometry.worker.js +6 -5
- package/dist/geometry.worker.js.map +1 -1
- package/dist/hbjson-stats.d.ts +28 -0
- package/dist/hbjson-stats.d.ts.map +1 -0
- package/dist/hbjson-stats.js +5 -0
- package/dist/hbjson-stats.js.map +1 -0
- package/dist/ifc-lite-bridge.d.ts +11 -14
- package/dist/ifc-lite-bridge.d.ts.map +1 -1
- package/dist/ifc-lite-bridge.js +12 -16
- package/dist/ifc-lite-bridge.js.map +1 -1
- package/dist/index.d.ts +23 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -63
- package/dist/index.js.map +1 -1
- package/dist/packed-instanced-decoder.d.ts +20 -3
- package/dist/packed-instanced-decoder.d.ts.map +1 -1
- package/dist/packed-instanced-decoder.js +122 -17
- package/dist/packed-instanced-decoder.js.map +1 -1
- package/dist/shard-stitch.d.ts +110 -0
- package/dist/shard-stitch.d.ts.map +1 -0
- package/dist/shard-stitch.js +112 -0
- package/dist/shard-stitch.js.map +1 -0
- package/dist/symbolic-types.d.ts +89 -0
- package/dist/symbolic-types.d.ts.map +1 -0
- package/dist/symbolic-types.js +5 -0
- package/dist/symbolic-types.js.map +1 -0
- package/dist/types.d.ts +15 -77
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -1
- package/dist/types.js.map +1 -1
- package/dist/wasm-asset-error.d.ts +17 -0
- package/dist/wasm-asset-error.d.ts.map +1 -1
- package/dist/wasm-asset-error.js +32 -0
- package/dist/wasm-asset-error.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
* SPIKE: stitch N speculative shard scans into the full entity index —
|
|
6
|
+
* byte-identical to the single-threaded scan. Port of the native
|
|
7
|
+
* `parallel_scan::stitch`: shard 0 is authoritative (header-aware start); for
|
|
8
|
+
* shard i>0 the previous shard's validated `handoff` is a real entity start, so
|
|
9
|
+
* binary-search shard i's `starts` for it and drop the speculative prefix before
|
|
10
|
+
* it. Concatenates the validated slices in shard order (= file order), so
|
|
11
|
+
* last-wins on a duplicate id is preserved when the worker rebuilds its map.
|
|
12
|
+
*
|
|
13
|
+
* Returns null on the rare "handoff not found" case (speculative overshoot / a
|
|
14
|
+
* record spanning a whole shard), which needs the serial-rescan fallback the JS
|
|
15
|
+
* spike doesn't implement — the caller falls back to the pre-pass's own index.
|
|
16
|
+
*/
|
|
17
|
+
export function stitchShards(shards) {
|
|
18
|
+
const n = shards.length;
|
|
19
|
+
// Phase 1 — locate each shard's validated slice (binary-search the previous
|
|
20
|
+
// shard's handoff) WITHOUT copying, so the output size is exact before any
|
|
21
|
+
// allocation. Exactness matters: the id/start/length columns are allocated
|
|
22
|
+
// SAB-backed below and handed to every worker as full-buffer views, so a
|
|
23
|
+
// cap-sized buffer would let consumers read past the last real record.
|
|
24
|
+
const sliceFrom = new Array(n).fill(0);
|
|
25
|
+
let used = 1;
|
|
26
|
+
let w = shards[0].ids.length; // shard 0 is authoritative, take every record
|
|
27
|
+
// Shard 0 started at the header-skip boundary, so every refusal it made is
|
|
28
|
+
// one a serial scan makes too. Later shards are attributed in the loop.
|
|
29
|
+
let oversizedIdCount = shards[0].oversizedIdStarts.length;
|
|
30
|
+
// Same authority argument as the refusals above: shard 0 starts at the
|
|
31
|
+
// header-skip boundary, so a stop it reports is one a serial scan makes too.
|
|
32
|
+
let malformedStopped = shards[0].malformedStart !== undefined;
|
|
33
|
+
let expectedStart = shards[0].handoff; // -1 => no more real entities
|
|
34
|
+
for (let i = 1; i < n; i++) {
|
|
35
|
+
// -1 means the previous shard hit EOF: every later shard is speculative
|
|
36
|
+
// end to end, so its records AND its refusals are dropped by breaking.
|
|
37
|
+
if (expectedStart < 0)
|
|
38
|
+
break;
|
|
39
|
+
// starts is strictly increasing → binary-search for expectedStart.
|
|
40
|
+
const starts = shards[i].starts;
|
|
41
|
+
let lo = 0;
|
|
42
|
+
let hi = starts.length - 1;
|
|
43
|
+
let p = -1;
|
|
44
|
+
while (lo <= hi) {
|
|
45
|
+
const mid = (lo + hi) >>> 1;
|
|
46
|
+
const v = starts[mid];
|
|
47
|
+
if (v === expectedStart) {
|
|
48
|
+
p = mid;
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
if (v < expectedStart)
|
|
52
|
+
lo = mid + 1;
|
|
53
|
+
else
|
|
54
|
+
hi = mid - 1;
|
|
55
|
+
}
|
|
56
|
+
if (p < 0) {
|
|
57
|
+
// Handoff not present in this shard — fallback path (not implemented here).
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
sliceFrom[i] = p;
|
|
61
|
+
w += starts.length - p;
|
|
62
|
+
// Refusals are cut at the SAME boundary as the records: scanner positions
|
|
63
|
+
// only advance, so everything below `expectedStart` came from the
|
|
64
|
+
// speculative prefix just dropped, and everything from it on is what a
|
|
65
|
+
// serial scan over those bytes produces.
|
|
66
|
+
const refusals = shards[i].oversizedIdStarts;
|
|
67
|
+
for (let k = 0; k < refusals.length; k++) {
|
|
68
|
+
if (refusals[k] >= expectedStart)
|
|
69
|
+
oversizedIdCount++;
|
|
70
|
+
}
|
|
71
|
+
// Cut at the SAME boundary, for the same reason: a stop below
|
|
72
|
+
// `expectedStart` was produced by the speculative prefix just dropped, so
|
|
73
|
+
// it describes bytes this stitch is not taking from this shard.
|
|
74
|
+
const stop = shards[i].malformedStart;
|
|
75
|
+
if (stop !== undefined && stop >= expectedStart)
|
|
76
|
+
malformedStopped = true;
|
|
77
|
+
expectedStart = shards[i].handoff;
|
|
78
|
+
used = i + 1;
|
|
79
|
+
}
|
|
80
|
+
// Phase 2 — single concatenation copy, straight into SharedArrayBuffer-backed
|
|
81
|
+
// columns. The stitched index used to be copied THREE times per column on the
|
|
82
|
+
// main thread (cap-array stitch → `.slice()` to contiguous → `.set()` into
|
|
83
|
+
// fresh SABs in deliverEntityIndex); writing the stitch output into SABs
|
|
84
|
+
// directly makes index delivery zero-copy (~450 MB of critical-path memcpy
|
|
85
|
+
// saved on a 19M-entity file). `classes` stays plain: its only consumer past
|
|
86
|
+
// the span-extraction loop is the pre-pass worker, which takes it by transfer.
|
|
87
|
+
const sabAvailable = typeof SharedArrayBuffer !== 'undefined';
|
|
88
|
+
const u32Column = (len) => new Uint32Array(sabAvailable ? new SharedArrayBuffer(len * 4) : new ArrayBuffer(len * 4));
|
|
89
|
+
const outIds = u32Column(w);
|
|
90
|
+
const outStarts = u32Column(w);
|
|
91
|
+
const outLengths = u32Column(w);
|
|
92
|
+
const outClasses = new Uint8Array(w);
|
|
93
|
+
let o = 0;
|
|
94
|
+
for (let i = 0; i < used; i++) {
|
|
95
|
+
const s = shards[i];
|
|
96
|
+
const p = sliceFrom[i];
|
|
97
|
+
outIds.set(p === 0 ? s.ids : s.ids.subarray(p), o);
|
|
98
|
+
outStarts.set(p === 0 ? s.starts : s.starts.subarray(p), o);
|
|
99
|
+
outLengths.set(p === 0 ? s.lengths : s.lengths.subarray(p), o);
|
|
100
|
+
outClasses.set(p === 0 ? s.classes : s.classes.subarray(p), o);
|
|
101
|
+
o += s.ids.length - p;
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
ids: outIds,
|
|
105
|
+
starts: outStarts,
|
|
106
|
+
lengths: outLengths,
|
|
107
|
+
classes: outClasses,
|
|
108
|
+
oversizedIdCount,
|
|
109
|
+
malformedRecordCount: malformedStopped ? 1 : undefined,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=shard-stitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shard-stitch.js","sourceRoot":"","sources":["../src/shard-stitch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The symbolic-representation type family, split out of `types.ts` (#3199).
|
|
3
|
+
*
|
|
4
|
+
* Moved rather than trimmed: `types.ts` sat EXACTLY at its module-size budget,
|
|
5
|
+
* and the TS allowlist is explicit that budgets ratchet DOWN by default -- a
|
|
6
|
+
* raise is sanctioned but deliberate, and wants a per-file justification in the
|
|
7
|
+
* PR, which a split does not. This family is self-contained -- nothing
|
|
8
|
+
* imports it from `types.ts`, and the names the package root exposes come from
|
|
9
|
+
* `ifc-lite-bridge.ts` -- so it is the natural seam. `types.ts` re-exports it,
|
|
10
|
+
* so the public surface is unchanged.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Representation identifier types for symbolic representations
|
|
14
|
+
*/
|
|
15
|
+
export type SymbolicRepIdentifier = 'Plan' | 'Annotation' | 'FootPrint' | 'Axis';
|
|
16
|
+
/**
|
|
17
|
+
* A 2D polyline from symbolic representations
|
|
18
|
+
* Used for door swings, window cuts, equipment symbols, etc.
|
|
19
|
+
*/
|
|
20
|
+
export interface SymbolicPolyline {
|
|
21
|
+
/** Express ID of the parent IFC element */
|
|
22
|
+
expressId: number;
|
|
23
|
+
/** IFC type name (e.g., "IfcDoor", "IfcWindow") */
|
|
24
|
+
ifcType: string;
|
|
25
|
+
/** 2D points as Float32Array [x1, y1, x2, y2, ...] */
|
|
26
|
+
points: Float32Array;
|
|
27
|
+
/** Number of points in the polyline */
|
|
28
|
+
pointCount: number;
|
|
29
|
+
/** Whether this is a closed loop */
|
|
30
|
+
isClosed: boolean;
|
|
31
|
+
/** Representation identifier ("Plan", "Annotation", etc.) */
|
|
32
|
+
repIdentifier: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A 2D circle or arc from symbolic representations
|
|
36
|
+
*/
|
|
37
|
+
export interface SymbolicCircle {
|
|
38
|
+
/** Express ID of the parent IFC element */
|
|
39
|
+
expressId: number;
|
|
40
|
+
/** IFC type name */
|
|
41
|
+
ifcType: string;
|
|
42
|
+
/** Center X coordinate */
|
|
43
|
+
centerX: number;
|
|
44
|
+
/** Center Y coordinate */
|
|
45
|
+
centerY: number;
|
|
46
|
+
/** Radius */
|
|
47
|
+
radius: number;
|
|
48
|
+
/** Start angle in radians (0 for full circle) */
|
|
49
|
+
startAngle: number;
|
|
50
|
+
/** End angle in radians (2π for full circle) */
|
|
51
|
+
endAngle: number;
|
|
52
|
+
/** Whether this is a full circle */
|
|
53
|
+
isFullCircle: boolean;
|
|
54
|
+
/** Representation identifier */
|
|
55
|
+
repIdentifier: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Collection of symbolic representations from an IFC model
|
|
59
|
+
* These are pre-authored 2D representations for architectural drawings
|
|
60
|
+
*/
|
|
61
|
+
export interface SymbolicRepresentationCollection {
|
|
62
|
+
/** Number of polylines */
|
|
63
|
+
polylineCount: number;
|
|
64
|
+
/** Number of circles/arcs */
|
|
65
|
+
circleCount: number;
|
|
66
|
+
/** Total count of all symbolic items */
|
|
67
|
+
totalCount: number;
|
|
68
|
+
/** Check if collection is empty */
|
|
69
|
+
isEmpty: boolean;
|
|
70
|
+
/** Get polyline at index */
|
|
71
|
+
getPolyline(index: number): SymbolicPolyline | undefined;
|
|
72
|
+
/** Get circle at index */
|
|
73
|
+
getCircle(index: number): SymbolicCircle | undefined;
|
|
74
|
+
/** Get all express IDs that have symbolic representations */
|
|
75
|
+
getExpressIds(): Uint32Array;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Converted symbolic data for use in drawing generation
|
|
79
|
+
* Organized by express ID for easy lookup
|
|
80
|
+
*/
|
|
81
|
+
export interface SymbolicDataByEntity {
|
|
82
|
+
/** Map from expressId to polylines for that entity */
|
|
83
|
+
polylines: Map<number, SymbolicPolyline[]>;
|
|
84
|
+
/** Map from expressId to circles for that entity */
|
|
85
|
+
circles: Map<number, SymbolicCircle[]>;
|
|
86
|
+
/** Set of express IDs that have symbolic representations */
|
|
87
|
+
expressIds: Set<number>;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=symbolic-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbolic-types.d.ts","sourceRoot":"","sources":["../src/symbolic-types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC;AAEjF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,EAAE,YAAY,CAAC;IACrB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,gCAAgC;IAC/C,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACzD,0BAA0B;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACrD,6DAA6D;IAC7D,aAAa,IAAI,WAAW,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3C,oDAAoD;IACpD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACvC,4DAA4D;IAC5D,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbolic-types.js","sourceRoot":"","sources":["../src/symbolic-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D"}
|
package/dist/types.d.ts
CHANGED
|
@@ -48,6 +48,20 @@ export interface MeshData {
|
|
|
48
48
|
* for every vertex, so picking/selection resolves to the correct individual
|
|
49
49
|
* entity even though many entities share a single GPU batch. */
|
|
50
50
|
entityIds?: Uint32Array;
|
|
51
|
+
/** The `IfcRepresentationItem` this mesh came from, so a host can drill from
|
|
52
|
+
* a rendered piece to its entity (#2985). ALWAYS a representation item;
|
|
53
|
+
* `materialId` carries the other case and the two are NEVER both set.
|
|
54
|
+
* Absent where identity is merged away (single-mesh fallback, cached
|
|
55
|
+
* `IfcMappedItem`, GPU instancing) (#3199). */
|
|
56
|
+
geometryItemId?: number;
|
|
57
|
+
/** The `IfcMaterial` layer this mesh slices. DISJOINT from `geometryItemId`,
|
|
58
|
+
* which used to carry it — so following that field for a layered wall landed
|
|
59
|
+
* on the wrong entity. `geometryClass === 3` cannot substitute (#3199).
|
|
60
|
+
* Same id space as `expressId`: a federated viewer session re-homes it
|
|
61
|
+
* alongside `expressId` and `geometryItemId` (`applyFederationOffsetToMesh`
|
|
62
|
+
* in `apps/viewer/src/hooks/useIfcLoader.ts`), so a value read off this
|
|
63
|
+
* field is always safe to resolve the same way as `expressId` (#3525). */
|
|
64
|
+
materialId?: number;
|
|
51
65
|
/** Per-vertex texture coordinates (u, v pairs, 1:1 with positions), present
|
|
52
66
|
* only for textured meshes (issue #961). */
|
|
53
67
|
uvs?: Float32Array;
|
|
@@ -351,81 +365,5 @@ export interface GeometryResult {
|
|
|
351
365
|
*/
|
|
352
366
|
instancedGeometryVolumes?: Map<number, number>;
|
|
353
367
|
}
|
|
354
|
-
|
|
355
|
-
* Representation identifier types for symbolic representations
|
|
356
|
-
*/
|
|
357
|
-
export type SymbolicRepIdentifier = 'Plan' | 'Annotation' | 'FootPrint' | 'Axis';
|
|
358
|
-
/**
|
|
359
|
-
* A 2D polyline from symbolic representations
|
|
360
|
-
* Used for door swings, window cuts, equipment symbols, etc.
|
|
361
|
-
*/
|
|
362
|
-
export interface SymbolicPolyline {
|
|
363
|
-
/** Express ID of the parent IFC element */
|
|
364
|
-
expressId: number;
|
|
365
|
-
/** IFC type name (e.g., "IfcDoor", "IfcWindow") */
|
|
366
|
-
ifcType: string;
|
|
367
|
-
/** 2D points as Float32Array [x1, y1, x2, y2, ...] */
|
|
368
|
-
points: Float32Array;
|
|
369
|
-
/** Number of points in the polyline */
|
|
370
|
-
pointCount: number;
|
|
371
|
-
/** Whether this is a closed loop */
|
|
372
|
-
isClosed: boolean;
|
|
373
|
-
/** Representation identifier ("Plan", "Annotation", etc.) */
|
|
374
|
-
repIdentifier: string;
|
|
375
|
-
}
|
|
376
|
-
/**
|
|
377
|
-
* A 2D circle or arc from symbolic representations
|
|
378
|
-
*/
|
|
379
|
-
export interface SymbolicCircle {
|
|
380
|
-
/** Express ID of the parent IFC element */
|
|
381
|
-
expressId: number;
|
|
382
|
-
/** IFC type name */
|
|
383
|
-
ifcType: string;
|
|
384
|
-
/** Center X coordinate */
|
|
385
|
-
centerX: number;
|
|
386
|
-
/** Center Y coordinate */
|
|
387
|
-
centerY: number;
|
|
388
|
-
/** Radius */
|
|
389
|
-
radius: number;
|
|
390
|
-
/** Start angle in radians (0 for full circle) */
|
|
391
|
-
startAngle: number;
|
|
392
|
-
/** End angle in radians (2π for full circle) */
|
|
393
|
-
endAngle: number;
|
|
394
|
-
/** Whether this is a full circle */
|
|
395
|
-
isFullCircle: boolean;
|
|
396
|
-
/** Representation identifier */
|
|
397
|
-
repIdentifier: string;
|
|
398
|
-
}
|
|
399
|
-
/**
|
|
400
|
-
* Collection of symbolic representations from an IFC model
|
|
401
|
-
* These are pre-authored 2D representations for architectural drawings
|
|
402
|
-
*/
|
|
403
|
-
export interface SymbolicRepresentationCollection {
|
|
404
|
-
/** Number of polylines */
|
|
405
|
-
polylineCount: number;
|
|
406
|
-
/** Number of circles/arcs */
|
|
407
|
-
circleCount: number;
|
|
408
|
-
/** Total count of all symbolic items */
|
|
409
|
-
totalCount: number;
|
|
410
|
-
/** Check if collection is empty */
|
|
411
|
-
isEmpty: boolean;
|
|
412
|
-
/** Get polyline at index */
|
|
413
|
-
getPolyline(index: number): SymbolicPolyline | undefined;
|
|
414
|
-
/** Get circle at index */
|
|
415
|
-
getCircle(index: number): SymbolicCircle | undefined;
|
|
416
|
-
/** Get all express IDs that have symbolic representations */
|
|
417
|
-
getExpressIds(): Uint32Array;
|
|
418
|
-
}
|
|
419
|
-
/**
|
|
420
|
-
* Converted symbolic data for use in drawing generation
|
|
421
|
-
* Organized by express ID for easy lookup
|
|
422
|
-
*/
|
|
423
|
-
export interface SymbolicDataByEntity {
|
|
424
|
-
/** Map from expressId to polylines for that entity */
|
|
425
|
-
polylines: Map<number, SymbolicPolyline[]>;
|
|
426
|
-
/** Map from expressId to circles for that entity */
|
|
427
|
-
circles: Map<number, SymbolicCircle[]>;
|
|
428
|
-
/** Set of express IDs that have symbolic representations */
|
|
429
|
-
expressIds: Set<number>;
|
|
430
|
-
}
|
|
368
|
+
export * from './symbolic-types.js';
|
|
431
369
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB;;;iFAG6E;IAC7E,OAAO,EAAE,WAAW,CAAC;IACrB;;qEAEiE;IACjE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;6EAIyE;IACzE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;;;qEAGiE;IACjE,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB;iDAC6C;IAC7C,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB;;6DAEyD;IACzD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;;8EAI0E;IAC1E,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;2CAIuC;IACvC,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B;;;;0EAIsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;uDAcmD;IACnD,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B;;;;;;;;;;;;;;;;;qBAiBiB;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;8EAU0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;4CAKwC;IACxC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;;;;;;;2EAOuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;8CAK0C;IAC1C,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC/E;;;mEAG+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd;;kBAEc;IACd,MAAM,EAAE,QAAQ,CAAC;IACjB;+EAC2E;IAC3E,cAAc,EAAE,YAAY,CAAC;IAC7B,oEAAoE;IACpE,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC;;iEAE6D;IAC7D,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,UAAU,GAAG,kBAAkB,CAAC;AAEhF,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,IAAI,CAAC;CACX;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sEAAsE;IACtE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,IAAI,CAAC;IAClB,cAAc,EAAE,IAAI,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;IACpB,2HAA2H;IAC3H,mBAAmB,EAAE,OAAO,CAAC;IAC7B,4FAA4F;IAC5F,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,kIAAkI;IAClI,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,KAAK,EAAE;QACL,SAAS,EAAE,YAAY,CAAC;QACxB,iEAAiE;QACjE,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,yDAAyD;QACzD,eAAe,CAAC,EAAE,UAAU,CAAC;QAC7B,2CAA2C;QAC3C,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE;YAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;KACxE,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
-
|
|
4
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
5
|
+
// SYMBOLIC REPRESENTATION TYPES
|
|
6
|
+
// For Plan, Annotation, FootPrint representations (2D curves for drawings)
|
|
7
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
8
|
+
// The symbolic-representation family lives in its own module (#3199); re-exported
|
|
9
|
+
// here so every existing `from './types.js'` import keeps working unchanged.
|
|
10
|
+
export * from './symbolic-types.js';
|
|
5
11
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;+DAE+D"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAuX/D,8EAA8E;AAC9E,gCAAgC;AAChC,2EAA2E;AAC3E,8EAA8E;AAE9E,kFAAkF;AAClF,6EAA6E;AAC7E,cAAc,qBAAqB,CAAC"}
|
|
@@ -58,6 +58,23 @@ export type WasmAssetUnavailableKind = 'wasm-asset' | 'worker-script';
|
|
|
58
58
|
* loop without fixing them.
|
|
59
59
|
*/
|
|
60
60
|
export declare function isWasmAssetUnavailableError(err: unknown): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* True when `err`'s message is the worker-script version-skew signature
|
|
63
|
+
* synthesized by `geometry-parallel.ts`'s pre-pass or process-worker `onerror`
|
|
64
|
+
* handlers (`Pre-pass worker failed: worker script failed to load (possibly a
|
|
65
|
+
* stale deployment)` / `Geometry worker failed: …` — same suffix). This is a
|
|
66
|
+
* DIFFERENT (and deliberately narrower) test than
|
|
67
|
+
* {@link isWasmAssetUnavailableError}: that one matches the wasm-binary
|
|
68
|
+
* MIME/404 signature (#1363) and is used both to trigger a reload from an
|
|
69
|
+
* arbitrary unclassified error AND, by a host, to decide whether an already-
|
|
70
|
+
* recovered exception is safe to drop from error tracking. The worker-script
|
|
71
|
+
* variant never carries a wasm/MIME/status token (see the messageless
|
|
72
|
+
* `ErrorEvent` this wraps), so `isWasmAssetUnavailableError` structurally
|
|
73
|
+
* cannot see it; this function exists so a host-side classifier that only has
|
|
74
|
+
* the final message text (not the `kind` on the `WASM_ASSET_UNAVAILABLE_EVENT`
|
|
75
|
+
* detail) can still recognize the same recovered condition.
|
|
76
|
+
*/
|
|
77
|
+
export declare function isWorkerScriptSkewMessage(err: unknown): boolean;
|
|
61
78
|
/**
|
|
62
79
|
* If `err` is the version-skew signature, broadcast
|
|
63
80
|
* {@link WASM_ASSET_UNAVAILABLE_EVENT} on `globalThis` so an opted-in host can
|
|
@@ -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;AAkBD;;;;;;;;;;;;;;;;;;;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;AAgBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE/D;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
|
@@ -89,6 +89,38 @@ export function isWasmAssetUnavailableError(err) {
|
|
|
89
89
|
}
|
|
90
90
|
return false;
|
|
91
91
|
}
|
|
92
|
+
// The literal detail text `geometry-parallel.ts`'s worker `onerror` handlers
|
|
93
|
+
// (pre-pass AND the process-worker pool — both wrap it as `Pre-pass worker
|
|
94
|
+
// failed: ${detail}` / `Geometry worker failed: ${detail}`) synthesize ONLY
|
|
95
|
+
// when the worker never posted a message and the ErrorEvent itself carried no
|
|
96
|
+
// `.message`/`.filename` — i.e. exactly the condition under which
|
|
97
|
+
// `notifyIfWorkerScriptUnavailable` below dispatches
|
|
98
|
+
// `WASM_ASSET_UNAVAILABLE_EVENT` with `kind: 'worker-script'` and the host
|
|
99
|
+
// reloads. It carries none of the wasm/MIME/status-code tokens
|
|
100
|
+
// `isWasmAssetUnavailableError` looks for, so a caller that re-derives
|
|
101
|
+
// classification from the message text alone (rather than trusting the
|
|
102
|
+
// `kind` the library already assigned) misses it entirely — see
|
|
103
|
+
// `isWorkerScriptSkewMessage` below.
|
|
104
|
+
const WORKER_SCRIPT_SKEW_SIGNATURE = 'worker script failed to load (possibly a stale deployment)';
|
|
105
|
+
/**
|
|
106
|
+
* True when `err`'s message is the worker-script version-skew signature
|
|
107
|
+
* synthesized by `geometry-parallel.ts`'s pre-pass or process-worker `onerror`
|
|
108
|
+
* handlers (`Pre-pass worker failed: worker script failed to load (possibly a
|
|
109
|
+
* stale deployment)` / `Geometry worker failed: …` — same suffix). This is a
|
|
110
|
+
* DIFFERENT (and deliberately narrower) test than
|
|
111
|
+
* {@link isWasmAssetUnavailableError}: that one matches the wasm-binary
|
|
112
|
+
* MIME/404 signature (#1363) and is used both to trigger a reload from an
|
|
113
|
+
* arbitrary unclassified error AND, by a host, to decide whether an already-
|
|
114
|
+
* recovered exception is safe to drop from error tracking. The worker-script
|
|
115
|
+
* variant never carries a wasm/MIME/status token (see the messageless
|
|
116
|
+
* `ErrorEvent` this wraps), so `isWasmAssetUnavailableError` structurally
|
|
117
|
+
* cannot see it; this function exists so a host-side classifier that only has
|
|
118
|
+
* the final message text (not the `kind` on the `WASM_ASSET_UNAVAILABLE_EVENT`
|
|
119
|
+
* detail) can still recognize the same recovered condition.
|
|
120
|
+
*/
|
|
121
|
+
export function isWorkerScriptSkewMessage(err) {
|
|
122
|
+
return messageOf(err).includes(WORKER_SCRIPT_SKEW_SIGNATURE);
|
|
123
|
+
}
|
|
92
124
|
function domDispatcher() {
|
|
93
125
|
const g = globalThis;
|
|
94
126
|
return typeof g.dispatchEvent === 'function' && typeof g.CustomEvent === 'function'
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/geometry",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.2.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",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@ifc-lite/data": "^
|
|
22
|
-
"@ifc-lite/wasm": "^6.0
|
|
21
|
+
"@ifc-lite/data": "^4.0.0",
|
|
22
|
+
"@ifc-lite/wasm": "^6.2.0"
|
|
23
23
|
},
|
|
24
24
|
"optionalDependencies": {
|
|
25
25
|
"@tauri-apps/api": "^2.11.1"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@tauri-apps/api": "^2.11.1",
|
|
29
29
|
"typescript": "^6.0.3",
|
|
30
|
-
"vitest": "^4.1.
|
|
30
|
+
"vitest": "^4.1.11"
|
|
31
31
|
},
|
|
32
32
|
"license": "MPL-2.0",
|
|
33
33
|
"author": "Louis True",
|