@ifc-lite/parser 5.0.0 → 5.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.
Files changed (82) hide show
  1. package/dist/classification-resolver.d.ts +28 -2
  2. package/dist/classification-resolver.d.ts.map +1 -1
  3. package/dist/classification-resolver.js +49 -6
  4. package/dist/classification-resolver.js.map +1 -1
  5. package/dist/columnar-entity-preparation.d.ts +22 -0
  6. package/dist/columnar-entity-preparation.d.ts.map +1 -0
  7. package/dist/columnar-entity-preparation.js +192 -0
  8. package/dist/columnar-entity-preparation.js.map +1 -0
  9. package/dist/columnar-parser-root-attributes.d.ts +66 -0
  10. package/dist/columnar-parser-root-attributes.d.ts.map +1 -0
  11. package/dist/columnar-parser-root-attributes.js +245 -0
  12. package/dist/columnar-parser-root-attributes.js.map +1 -0
  13. package/dist/columnar-parser.d.ts +17 -63
  14. package/dist/columnar-parser.d.ts.map +1 -1
  15. package/dist/columnar-parser.js +371 -779
  16. package/dist/columnar-parser.js.map +1 -1
  17. package/dist/compact-entity-index-columns.d.ts +17 -0
  18. package/dist/compact-entity-index-columns.d.ts.map +1 -0
  19. package/dist/compact-entity-index-columns.js +15 -0
  20. package/dist/compact-entity-index-columns.js.map +1 -0
  21. package/dist/compact-entity-index-transport.d.ts +2 -12
  22. package/dist/compact-entity-index-transport.d.ts.map +1 -1
  23. package/dist/compact-entity-index-transport.js +1 -11
  24. package/dist/compact-entity-index-transport.js.map +1 -1
  25. package/dist/compact-entity-index.d.ts +7 -0
  26. package/dist/compact-entity-index.d.ts.map +1 -1
  27. package/dist/compact-entity-index.js +20 -32
  28. package/dist/compact-entity-index.js.map +1 -1
  29. package/dist/data-store-transport.d.ts +9 -16
  30. package/dist/data-store-transport.d.ts.map +1 -1
  31. package/dist/data-store-transport.js +14 -20
  32. package/dist/data-store-transport.js.map +1 -1
  33. package/dist/entity-refs-from-index.d.ts +10 -0
  34. package/dist/entity-refs-from-index.d.ts.map +1 -1
  35. package/dist/entity-refs-from-index.js +64 -49
  36. package/dist/entity-refs-from-index.js.map +1 -1
  37. package/dist/entity-scanner.d.ts +5 -0
  38. package/dist/entity-scanner.d.ts.map +1 -1
  39. package/dist/entity-scanner.js +20 -7
  40. package/dist/entity-scanner.js.map +1 -1
  41. package/dist/entity-type-byte-interner.d.ts +12 -0
  42. package/dist/entity-type-byte-interner.d.ts.map +1 -0
  43. package/dist/entity-type-byte-interner.js +66 -0
  44. package/dist/entity-type-byte-interner.js.map +1 -0
  45. package/dist/index.d.ts +4 -5
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +4 -5
  48. package/dist/index.js.map +1 -1
  49. package/dist/on-demand-extractors.d.ts +1 -1
  50. package/dist/on-demand-extractors.d.ts.map +1 -1
  51. package/dist/on-demand-georeferencing.d.ts +3 -3
  52. package/dist/on-demand-georeferencing.js +27 -4
  53. package/dist/on-demand-georeferencing.js.map +1 -1
  54. package/dist/parser.worker.d.ts +6 -3
  55. package/dist/parser.worker.d.ts.map +1 -1
  56. package/dist/parser.worker.js +36 -13
  57. package/dist/parser.worker.js.map +1 -1
  58. package/dist/prepass-source-fingerprint.d.ts +3 -0
  59. package/dist/prepass-source-fingerprint.d.ts.map +1 -0
  60. package/dist/prepass-source-fingerprint.js +13 -0
  61. package/dist/prepass-source-fingerprint.js.map +1 -0
  62. package/dist/select-entity-columns.d.ts +7 -0
  63. package/dist/select-entity-columns.d.ts.map +1 -0
  64. package/dist/select-entity-columns.js +43 -0
  65. package/dist/select-entity-columns.js.map +1 -0
  66. package/dist/spatial-hierarchy-builder.d.ts +6 -8
  67. package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
  68. package/dist/spatial-hierarchy-builder.js +4 -0
  69. package/dist/spatial-hierarchy-builder.js.map +1 -1
  70. package/dist/spatial-hierarchy-canonical-parent.d.ts +36 -0
  71. package/dist/spatial-hierarchy-canonical-parent.d.ts.map +1 -0
  72. package/dist/spatial-hierarchy-canonical-parent.js +63 -0
  73. package/dist/spatial-hierarchy-canonical-parent.js.map +1 -0
  74. package/dist/worker-index-publication.d.ts +43 -0
  75. package/dist/worker-index-publication.d.ts.map +1 -0
  76. package/dist/worker-index-publication.js +129 -0
  77. package/dist/worker-index-publication.js.map +1 -0
  78. package/dist/worker-parser.d.ts +5 -2
  79. package/dist/worker-parser.d.ts.map +1 -1
  80. package/dist/worker-parser.js +30 -12
  81. package/dist/worker-parser.js.map +1 -1
  82. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser.js","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnar-parser.js","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Plain-data column representation of a `CompactEntityIndex`. Holds the
3
+ * four numeric backing arrays plus a copied type-string list. Numeric backing
4
+ * remains valid until its owner detaches it. Transport may transfer a retired
5
+ * index; cache consumers must neither mutate nor detach the borrowed columns.
6
+ */
7
+ export interface CompactEntityIndexColumns {
8
+ expressIds: Uint32Array;
9
+ byteOffsets: Uint32Array;
10
+ byteLengths: Uint32Array;
11
+ typeIndices: Uint16Array;
12
+ typeStrings: string[];
13
+ }
14
+ /** Intern `type` into the parallel string table/lookup pair, returning the
15
+ * index the `Uint16Array` type column stores. */
16
+ export declare function internType(typeStrings: string[], typeStringMap: Map<string, number>, type: string): number;
17
+ //# sourceMappingURL=compact-entity-index-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact-entity-index-columns.d.ts","sourceRoot":"","sources":["../src/compact-entity-index-columns.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;kDACkD;AAClD,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ1G"}
@@ -0,0 +1,15 @@
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
+ /** Intern `type` into the parallel string table/lookup pair, returning the
5
+ * index the `Uint16Array` type column stores. */
6
+ export function internType(typeStrings, typeStringMap, type) {
7
+ let index = typeStringMap.get(type);
8
+ if (index === undefined) {
9
+ index = typeStrings.length;
10
+ typeStrings.push(type);
11
+ typeStringMap.set(type, index);
12
+ }
13
+ return index;
14
+ }
15
+ //# sourceMappingURL=compact-entity-index-columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact-entity-index-columns.js","sourceRoot":"","sources":["../src/compact-entity-index-columns.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAgB/D;kDACkD;AAClD,MAAM,UAAU,UAAU,CAAC,WAAqB,EAAE,aAAkC,EAAE,IAAY;IAChG,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;QAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -6,18 +6,8 @@
6
6
  * the `IfcDataStore` as a whole, so it stands on its own as a cohesive unit.
7
7
  */
8
8
  import { CompactEntityIndex } from './compact-entity-index.js';
9
- /**
10
- * Plain-data column representation of a `CompactEntityIndex`. Holds the
11
- * five backing arrays plus the deduplicated type-string list. All four
12
- * typed arrays are transferable.
13
- */
14
- export interface CompactEntityIndexColumns {
15
- expressIds: Uint32Array;
16
- byteOffsets: Uint32Array;
17
- byteLengths: Uint32Array;
18
- typeIndices: Uint16Array;
19
- typeStrings: string[];
20
- }
9
+ import type { CompactEntityIndexColumns } from './compact-entity-index-columns.js';
10
+ export type { CompactEntityIndexColumns } from './compact-entity-index-columns.js';
21
11
  export declare function compactEntityIndexToColumns(index: CompactEntityIndex): CompactEntityIndexColumns;
22
12
  export declare function compactEntityIndexFromColumns(columns: CompactEntityIndexColumns): CompactEntityIndex;
23
13
  //# sourceMappingURL=compact-entity-index-transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compact-entity-index-transport.d.ts","sourceRoot":"","sources":["../src/compact-entity-index-transport.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,kBAAkB,GAAG,yBAAyB,CAkBhG;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CAQpG"}
1
+ {"version":3,"file":"compact-entity-index-transport.d.ts","sourceRoot":"","sources":["../src/compact-entity-index-transport.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,kBAAkB,GAAG,yBAAyB,CAEhG;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CAQpG"}
@@ -10,17 +10,7 @@
10
10
  */
11
11
  import { CompactEntityIndex } from './compact-entity-index.js';
12
12
  export function compactEntityIndexToColumns(index) {
13
- // CompactEntityIndex stores its arrays as private fields; access them
14
- // through the prototype's documented columns. We rely on the public
15
- // constructor's parameter order to define this contract.
16
- const internal = index;
17
- return {
18
- expressIds: internal.expressIds,
19
- byteOffsets: internal.byteOffsets,
20
- byteLengths: internal.byteLengths,
21
- typeIndices: internal.typeIndices,
22
- typeStrings: internal.typeStrings.slice(),
23
- };
13
+ return index.getColumns();
24
14
  }
25
15
  export function compactEntityIndexFromColumns(columns) {
26
16
  return new CompactEntityIndex(columns.expressIds, columns.byteOffsets, columns.byteLengths, columns.typeIndices, columns.typeStrings);
@@ -1 +1 @@
1
- {"version":3,"file":"compact-entity-index-transport.js","sourceRoot":"","sources":["../src/compact-entity-index-transport.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAe/D,MAAM,UAAU,2BAA2B,CAAC,KAAyB;IACnE,sEAAsE;IACtE,oEAAoE;IACpE,yDAAyD;IACzD,MAAM,QAAQ,GAAG,KAMhB,CAAC;IACF,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAkC;IAC9E,OAAO,IAAI,kBAAkB,CAC3B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"compact-entity-index-transport.js","sourceRoot":"","sources":["../src/compact-entity-index-transport.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAK/D,MAAM,UAAU,2BAA2B,CAAC,KAAyB;IACnE,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAkC;IAC9E,OAAO,IAAI,kBAAkB,CAC3B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CACpB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { EntityRef } from './types.js';
2
+ import { type CompactEntityIndexColumns } from './compact-entity-index-columns.js';
2
3
  /**
3
4
  * Compact read-only entity index backed by sorted typed arrays.
4
5
  * Implements the same interface as Map<number, EntityRef> for lookups.
@@ -20,8 +21,12 @@ export declare class CompactEntityIndex {
20
21
  readonly size: number;
21
22
  /** LRU cache for recently accessed EntityRefs */
22
23
  private lruCache;
24
+ private lruKeys;
23
25
  private readonly lruMaxSize;
24
26
  constructor(expressIds: Uint32Array, byteOffsets: Uint32Array, byteLengths: Uint32Array, typeIndices: Uint16Array, typeStrings: string[], lruMaxSize?: number);
27
+ /** Borrow numeric backing, valid until its owner detaches it; do not mutate.
28
+ * Cache consumers must not detach. Transport may transfer a retired index. */
29
+ getColumns(): CompactEntityIndexColumns;
25
30
  /**
26
31
  * Binary search for an expressId in the sorted array.
27
32
  * Returns the array index or -1 if not found.
@@ -68,6 +73,8 @@ export declare class CompactEntityIndex {
68
73
  * forEach (Map-compatible interface).
69
74
  */
70
75
  forEach(callback: (value: EntityRef, key: number) => void): void;
76
+ /** Highest indexed ID in constant time; zero for an empty index. */
77
+ get maxExpressId(): number;
71
78
  /**
72
79
  * Clear the LRU cache (e.g., on model unload).
73
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compact-entity-index.d.ts","sourceRoot":"","sources":["../src/compact-entity-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compact-entity-index.d.ts","sourceRoot":"","sources":["../src/compact-entity-index.ts"],"names":[],"mappings":"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"}
@@ -1,29 +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
- /**
5
- * CompactEntityIndex - Memory-efficient entity index using typed arrays
6
- *
7
- * Replaces Map<number, EntityRef> with sorted typed arrays for O(log n) lookup.
8
- * For 8.4M entities, this saves ~400MB of Map overhead:
9
- * - Map: ~56 bytes/entry overhead (key + value + hash table) = ~470MB
10
- * - Typed arrays: ~16 bytes/entry (4 Uint32Arrays) = ~134MB
11
- *
12
- * Provides the same Map-like interface via get()/has() for drop-in compatibility.
13
- */
4
+ /** Sorted entity columns avoid the per-entry overhead of Map<number, EntityRef>.
5
+ * Lookups use binary search with a bounded LRU for recently read references. */
14
6
  import { checkedExpressId } from './express-id.js';
7
+ import { internType } from './compact-entity-index-columns.js';
15
8
  import { yieldToEventLoop } from './yield-to-event-loop.js';
16
- /** Intern `type` into the parallel string table/lookup pair, returning the
17
- * index the `Uint16Array` type column stores. */
18
- function internType(typeStrings, typeStringMap, type) {
19
- let index = typeStringMap.get(type);
20
- if (index === undefined) {
21
- index = typeStrings.length;
22
- typeStrings.push(type);
23
- typeStringMap.set(type, index);
24
- }
25
- return index;
26
- }
27
9
  /**
28
10
  * Compact read-only entity index backed by sorted typed arrays.
29
11
  * Implements the same interface as Map<number, EntityRef> for lookups.
@@ -45,6 +27,7 @@ export class CompactEntityIndex {
45
27
  size;
46
28
  /** LRU cache for recently accessed EntityRefs */
47
29
  lruCache;
30
+ lruKeys;
48
31
  lruMaxSize;
49
32
  constructor(expressIds, byteOffsets, byteLengths, typeIndices, typeStrings, lruMaxSize = 1024) {
50
33
  this.expressIds = expressIds;
@@ -61,6 +44,12 @@ export class CompactEntityIndex {
61
44
  this.typeStringMap.set(typeStrings[i], i);
62
45
  }
63
46
  }
47
+ /** Borrow numeric backing, valid until its owner detaches it; do not mutate.
48
+ * Cache consumers must not detach. Transport may transfer a retired index. */
49
+ getColumns() {
50
+ const { expressIds, byteOffsets, byteLengths, typeIndices, typeStrings } = this;
51
+ return { expressIds, byteOffsets, byteLengths, typeIndices, typeStrings: typeStrings.slice() };
52
+ }
64
53
  /**
65
54
  * Binary search for an expressId in the sorted array.
66
55
  * Returns the array index or -1 if not found.
@@ -108,8 +97,10 @@ export class CompactEntityIndex {
108
97
  // Add to LRU cache
109
98
  this.lruCache.set(expressId, ref);
110
99
  if (this.lruCache.size > this.lruMaxSize) {
111
- // Delete oldest entry (first key in insertion order)
112
- const firstKey = this.lruCache.keys().next().value;
100
+ // #3983: keep a live cursor. Restarting at the Map's deleted prefix for
101
+ // every eviction makes a large sequential scan quadratic in Firefox.
102
+ this.lruKeys ??= this.lruCache.keys();
103
+ const firstKey = this.lruKeys.next().value;
113
104
  if (firstKey !== undefined) {
114
105
  this.lruCache.delete(firstKey);
115
106
  }
@@ -204,11 +195,16 @@ export class CompactEntityIndex {
204
195
  callback(ref, expressId);
205
196
  }
206
197
  }
198
+ /** Highest indexed ID in constant time; zero for an empty index. */
199
+ get maxExpressId() {
200
+ return this.expressIds[this.size - 1] ?? 0;
201
+ }
207
202
  /**
208
203
  * Clear the LRU cache (e.g., on model unload).
209
204
  */
210
205
  clearCache() {
211
206
  this.lruCache.clear();
207
+ this.lruKeys = undefined;
212
208
  }
213
209
  /**
214
210
  * Estimate memory usage in bytes.
@@ -350,15 +346,7 @@ export function buildCompactEntityIndex(entityRefs, lruMaxSize) {
350
346
  return new CompactEntityIndex(expressIds, byteOffsets, byteLengths, typeIndices, typeStrings, lruMaxSize);
351
347
  }
352
348
  export async function buildCompactEntityIndexAsync(entityRefs, lruMaxSize, chunkSize = 8192,
353
- // Phase 3c: 8ms was the previous default but caused the parser tail
354
- // to balloon under stream-time contention. Each yield under load
355
- // costs 10-50ms wall-clock (event-loop backlogged with geometry
356
- // batches), and 1700 yields × 4ms avg = 6.5s of pure overhead
357
- // (measured: compact entity index 196ms uncontended → 6700ms
358
- // contended). 50ms budget cuts yields to ~270 → ~1s overhead, saving
359
- // ~5s on the parser path. Trade-off: parser worker briefly
360
- // unresponsive between yields, but it's a worker thread so this only
361
- // affects message processing back to main, which is buffered anyway.
349
+ // A worker-local time budget bounds event-loop handoffs under stream contention.
362
350
  budgetMs = 50) {
363
351
  const count = entityRefs.length;
364
352
  let chunkStart = performance.now();
@@ -1 +1 @@
1
- {"version":3,"file":"compact-entity-index.js","sourceRoot":"","sources":["../src/compact-entity-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compact-entity-index.js","sourceRoot":"","sources":["../src/compact-entity-index.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,14 @@
1
1
  /**
2
- * Worker-boundary transport for `IfcDataStore`.
3
- *
4
- * `IfcDataStore` carries closures (`entities.getName`, `relationships.getRelated`,
5
- * `spatialHierarchy.getPath`, …) that the structured-clone algorithm strips
6
- * silently. This module separates the clone-safe column data from the
7
- * closures: `toTransport` returns a POJO + transferable list to ship across
8
- * a `postMessage` boundary; `fromTransport` reconstructs a live `IfcDataStore`
9
- * with closures rebuilt on the receiving thread.
10
- *
11
- * The `source` buffer is intentionally NOT included in the transferable list
12
- * because both the parser worker and the geometry workers read from the same
13
- * `SharedArrayBuffer` upstream of the parser. Callers are responsible for
14
- * keeping a `Uint8Array` view of that SAB on the main thread and supplying
15
- * it to `fromTransport`.
2
+ * Worker transport splits clone-safe columns from live store accessors.
3
+ * toTransport serializes columns; fromTransport rebuilds their closures.
4
+ * Source bytes stay in the shared buffer, supplied separately by the receiver.
16
5
  */
17
6
  import { type EntityTable, type EntityTableColumns, type PropertyTable, type PropertyTableColumns, type QuantityTable, type QuantityTableColumns, type RelationshipGraph, type RelationshipGraphColumns, type SpatialHierarchy } from '@ifc-lite/data';
18
7
  import { type CompactEntityIndexColumns } from './compact-entity-index-transport.js';
19
8
  import type { EntityRef } from './types.js';
20
9
  import { type IfcSourceBytes } from './source-bytes.js';
21
10
  import type { IfcDataStore } from './columnar-parser.js';
11
+ import type { GeoreferenceInfo } from './georef-extractor.js';
22
12
  export type { CompactEntityIndexColumns };
23
13
  interface SerializedSpatialNode {
24
14
  expressId: number;
@@ -55,6 +45,9 @@ export interface ParserMemorySnapshot {
55
45
  parseTimeMs: number;
56
46
  }
57
47
  export interface DataStoreTransport {
48
+ /** Worker-prepared render data (#3983); absent on older transports. */
49
+ sourceContentKey?: string | null;
50
+ georeferencing?: GeoreferenceInfo | null;
58
51
  fileSize: number;
59
52
  schemaVersion: IfcDataStore['schemaVersion'];
60
53
  sourceHeader?: IfcDataStore['sourceHeader'];
@@ -105,13 +98,13 @@ export declare function collectTransferables(payload: DataStoreTransport): Trans
105
98
  * thread both view the same upstream `SharedArrayBuffer`. Callers must
106
99
  * reattach `source` on the receiving side when calling `fromTransport`.
107
100
  */
108
- export declare function toTransport(store: IfcDataStore): DataStoreTransportEnvelope;
101
+ export declare function toTransport(store: IfcDataStore, indexOverride?: DataStoreTransport['entityIndex']): DataStoreTransportEnvelope;
109
102
  /**
110
103
  * Reconstruct a live `IfcDataStore` (closures rebuilt) from a
111
104
  * `DataStoreTransport` payload and the `source` buffer view that lives on
112
105
  * the receiving thread.
113
106
  */
114
- export declare function fromTransport(payload: DataStoreTransport, source: Uint8Array | IfcSourceBytes): IfcDataStore;
107
+ export declare function fromTransport(payload: DataStoreTransport, source: Uint8Array | IfcSourceBytes, byTypeOverride?: Map<string, number[]>): IfcDataStore;
115
108
  /**
116
109
  * Convenience: compute the byte-size of the transferable payload so the
117
110
  * receiver can record it in the memory accounting snapshot.
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-transport.d.ts","sourceRoot":"","sources":["../src/data-store-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-store-transport.d.ts","sourceRoot":"","sources":["../src/data-store-transport.ts"],"names":[],"mappings":"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"}
@@ -2,26 +2,16 @@
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
- * Worker-boundary transport for `IfcDataStore`.
6
- *
7
- * `IfcDataStore` carries closures (`entities.getName`, `relationships.getRelated`,
8
- * `spatialHierarchy.getPath`, …) that the structured-clone algorithm strips
9
- * silently. This module separates the clone-safe column data from the
10
- * closures: `toTransport` returns a POJO + transferable list to ship across
11
- * a `postMessage` boundary; `fromTransport` reconstructs a live `IfcDataStore`
12
- * with closures rebuilt on the receiving thread.
13
- *
14
- * The `source` buffer is intentionally NOT included in the transferable list
15
- * because both the parser worker and the geometry workers read from the same
16
- * `SharedArrayBuffer` upstream of the parser. Callers are responsible for
17
- * keeping a `Uint8Array` view of that SAB on the main thread and supplying
18
- * it to `fromTransport`.
5
+ * Worker transport splits clone-safe columns from live store accessors.
6
+ * toTransport serializes columns; fromTransport rebuilds their closures.
7
+ * Source bytes stay in the shared buffer, supplied separately by the receiver.
19
8
  */
20
9
  import { StringTable, entityTableFromColumns, entityTableToColumns, propertyTableFromColumns, propertyTableToColumns, quantityTableFromColumns, quantityTableToColumns, relationshipGraphFromColumns, relationshipGraphToColumns, findStoreyByElevation, } from '@ifc-lite/data';
21
10
  import { CompactEntityIndex } from './compact-entity-index.js';
22
11
  import { compactEntityIndexFromColumns, compactEntityIndexToColumns, } from './compact-entity-index-transport.js';
23
12
  import { asSourceBytes } from './source-bytes.js';
24
13
  import { attachDataStoreAccessors } from './data-store-accessors.js';
14
+ import { oncePerStore } from './on-demand-cache.js';
25
15
  function serializeSpatialNode(node) {
26
16
  return {
27
17
  expressId: node.expressId,
@@ -222,9 +212,9 @@ function sumBytes(payload) {
222
212
  * thread both view the same upstream `SharedArrayBuffer`. Callers must
223
213
  * reattach `source` on the receiving side when calling `fromTransport`.
224
214
  */
225
- export function toTransport(store) {
215
+ export function toTransport(store, indexOverride) {
226
216
  const byTypeEntries = [];
227
- for (const [key, value] of store.entityIndex.byType) {
217
+ for (const [key, value] of indexOverride ? [] : store.entityIndex.byType) {
228
218
  byTypeEntries.push([key, [...value]]);
229
219
  }
230
220
  const compactById = store.entityIndex.byId;
@@ -238,7 +228,7 @@ export function toTransport(store) {
238
228
  entityCount: store.entityCount,
239
229
  parseTime: store.parseTime,
240
230
  lengthUnitScale: store.lengthUnitScale,
241
- entityIndex: {
231
+ entityIndex: indexOverride ?? {
242
232
  byId: compactEntityIndexToColumns(compactById),
243
233
  byType: byTypeEntries,
244
234
  },
@@ -276,14 +266,14 @@ export function toTransport(store) {
276
266
  * `DataStoreTransport` payload and the `source` buffer view that lives on
277
267
  * the receiving thread.
278
268
  */
279
- export function fromTransport(payload, source) {
269
+ export function fromTransport(payload, source, byTypeOverride) {
280
270
  const strings = StringTable.fromArray(payload.strings);
281
271
  const entities = entityTableFromColumns(payload.entities, strings);
282
272
  const properties = propertyTableFromColumns(payload.properties, strings);
283
273
  const quantities = quantityTableFromColumns(payload.quantities, strings);
284
274
  const relationships = relationshipGraphFromColumns(payload.relationships);
285
275
  const byIdIndex = compactEntityIndexFromColumns(payload.entityIndex.byId);
286
- const byType = new Map(payload.entityIndex.byType.map(([k, v]) => [k, [...v]]));
276
+ const byType = byTypeOverride ?? new Map(payload.entityIndex.byType.map(([k, v]) => [k, [...v]]));
287
277
  const deferredEntityIndex = payload.deferredEntityIndex
288
278
  ? compactEntityIndexFromColumns(payload.deferredEntityIndex)
289
279
  : undefined;
@@ -298,7 +288,7 @@ export function fromTransport(payload, source) {
298
288
  const onDemandQuantityMap = new Map(payload.onDemandQuantityMap.map(([k, v]) => [k, [...v]]));
299
289
  // Lazy accessors are wired by the shared helper so the fresh-parse, transport,
300
290
  // and cache-restore paths can never drift (see data-store-accessors.ts).
301
- return attachDataStoreAccessors({
291
+ const store = attachDataStoreAccessors({
302
292
  fileSize: payload.fileSize,
303
293
  schemaVersion: payload.schemaVersion,
304
294
  sourceHeader: payload.sourceHeader,
@@ -320,6 +310,10 @@ export function fromTransport(payload, source) {
320
310
  onDemandMaterialMap: new Map(payload.onDemandMaterialMap),
321
311
  onDemandDocumentMap: new Map(payload.onDemandDocumentMap.map(([k, v]) => [k, [...v]])),
322
312
  });
313
+ if (payload.georeferencing !== undefined) {
314
+ oncePerStore(store, 'georef', () => payload.georeferencing);
315
+ }
316
+ return store;
323
317
  }
324
318
  /**
325
319
  * Convenience: compute the byte-size of the transferable payload so the