@ifc-lite/parser 4.3.2 → 5.1.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 (162) hide show
  1. package/dist/attribute-helpers.d.ts +38 -4
  2. package/dist/attribute-helpers.d.ts.map +1 -1
  3. package/dist/attribute-helpers.js +71 -4
  4. package/dist/attribute-helpers.js.map +1 -1
  5. package/dist/classification-resolver.d.ts +28 -2
  6. package/dist/classification-resolver.d.ts.map +1 -1
  7. package/dist/classification-resolver.js +24 -6
  8. package/dist/classification-resolver.js.map +1 -1
  9. package/dist/columnar-parser-attributes.d.ts.map +1 -1
  10. package/dist/columnar-parser-attributes.js +35 -5
  11. package/dist/columnar-parser-attributes.js.map +1 -1
  12. package/dist/columnar-parser-indexes.d.ts.map +1 -1
  13. package/dist/columnar-parser-indexes.js +14 -2
  14. package/dist/columnar-parser-indexes.js.map +1 -1
  15. package/dist/columnar-parser-relationships.d.ts.map +1 -1
  16. package/dist/columnar-parser-relationships.js +6 -1
  17. package/dist/columnar-parser-relationships.js.map +1 -1
  18. package/dist/columnar-parser.d.ts +4 -2
  19. package/dist/columnar-parser.d.ts.map +1 -1
  20. package/dist/columnar-parser.js +18 -56
  21. package/dist/columnar-parser.js.map +1 -1
  22. package/dist/compact-entity-index-transport.d.ts +23 -0
  23. package/dist/compact-entity-index-transport.d.ts.map +1 -0
  24. package/dist/compact-entity-index-transport.js +28 -0
  25. package/dist/compact-entity-index-transport.js.map +1 -0
  26. package/dist/compact-entity-index.d.ts +1 -10
  27. package/dist/compact-entity-index.d.ts.map +1 -1
  28. package/dist/compact-entity-index.js +29 -26
  29. package/dist/compact-entity-index.js.map +1 -1
  30. package/dist/data-store-transport.d.ts +9 -26
  31. package/dist/data-store-transport.d.ts.map +1 -1
  32. package/dist/data-store-transport.js +16 -35
  33. package/dist/data-store-transport.js.map +1 -1
  34. package/dist/entity-extractor.d.ts.map +1 -1
  35. package/dist/entity-extractor.js +101 -6
  36. package/dist/entity-extractor.js.map +1 -1
  37. package/dist/entity-refs-from-index.d.ts.map +1 -1
  38. package/dist/entity-refs-from-index.js +24 -15
  39. package/dist/entity-refs-from-index.js.map +1 -1
  40. package/dist/entity-scanner.d.ts +63 -0
  41. package/dist/entity-scanner.d.ts.map +1 -1
  42. package/dist/entity-scanner.js +79 -2
  43. package/dist/entity-scanner.js.map +1 -1
  44. package/dist/express-id.d.ts +47 -0
  45. package/dist/express-id.d.ts.map +1 -0
  46. package/dist/express-id.js +57 -0
  47. package/dist/express-id.js.map +1 -0
  48. package/dist/generated/entities.d.ts +1 -1
  49. package/dist/generated/entities.d.ts.map +1 -1
  50. package/dist/generated/schema-registry.js +146 -146
  51. package/dist/generated/schema-registry.js.map +1 -1
  52. package/dist/georef-epset.d.ts +25 -0
  53. package/dist/georef-epset.d.ts.map +1 -0
  54. package/dist/georef-epset.js +214 -0
  55. package/dist/georef-epset.js.map +1 -0
  56. package/dist/georef-extractor.d.ts.map +1 -1
  57. package/dist/georef-extractor.js +38 -175
  58. package/dist/georef-extractor.js.map +1 -1
  59. package/dist/georef-map-conversion.d.ts +29 -0
  60. package/dist/georef-map-conversion.d.ts.map +1 -0
  61. package/dist/georef-map-conversion.js +75 -0
  62. package/dist/georef-map-conversion.js.map +1 -0
  63. package/dist/ifc-schema.d.ts +4 -2
  64. package/dist/ifc-schema.d.ts.map +1 -1
  65. package/dist/ifc-schema.js +15 -5
  66. package/dist/ifc-schema.js.map +1 -1
  67. package/dist/index.d.ts +5 -2
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +5 -2
  70. package/dist/index.js.map +1 -1
  71. package/dist/material-extractor.d.ts +2 -17
  72. package/dist/material-extractor.d.ts.map +1 -1
  73. package/dist/material-extractor.js +12 -37
  74. package/dist/material-extractor.js.map +1 -1
  75. package/dist/material-layer-reader.d.ts +45 -0
  76. package/dist/material-layer-reader.d.ts.map +1 -0
  77. package/dist/material-layer-reader.js +63 -0
  78. package/dist/material-layer-reader.js.map +1 -0
  79. package/dist/material-resolver.d.ts.map +1 -1
  80. package/dist/material-resolver.js +14 -14
  81. package/dist/material-resolver.js.map +1 -1
  82. package/dist/measure-unit-scale.d.ts +41 -0
  83. package/dist/measure-unit-scale.d.ts.map +1 -0
  84. package/dist/measure-unit-scale.js +53 -0
  85. package/dist/measure-unit-scale.js.map +1 -0
  86. package/dist/on-demand-extractors.d.ts +4 -20
  87. package/dist/on-demand-extractors.d.ts.map +1 -1
  88. package/dist/on-demand-extractors.js +54 -264
  89. package/dist/on-demand-extractors.js.map +1 -1
  90. package/dist/on-demand-georeferencing.d.ts +3 -3
  91. package/dist/on-demand-georeferencing.js +27 -4
  92. package/dist/on-demand-georeferencing.js.map +1 -1
  93. package/dist/owning-project.d.ts +54 -0
  94. package/dist/owning-project.d.ts.map +1 -0
  95. package/dist/owning-project.js +76 -0
  96. package/dist/owning-project.js.map +1 -0
  97. package/dist/parser.worker.d.ts +14 -0
  98. package/dist/parser.worker.d.ts.map +1 -1
  99. package/dist/parser.worker.js +16 -3
  100. package/dist/parser.worker.js.map +1 -1
  101. package/dist/project-units-symbols.d.ts +33 -0
  102. package/dist/project-units-symbols.d.ts.map +1 -0
  103. package/dist/project-units-symbols.js +265 -0
  104. package/dist/project-units-symbols.js.map +1 -0
  105. package/dist/project-units.d.ts +11 -19
  106. package/dist/project-units.d.ts.map +1 -1
  107. package/dist/project-units.js +9 -267
  108. package/dist/project-units.js.map +1 -1
  109. package/dist/property-set-merge.d.ts +65 -8
  110. package/dist/property-set-merge.d.ts.map +1 -1
  111. package/dist/property-set-merge.js +130 -29
  112. package/dist/property-set-merge.js.map +1 -1
  113. package/dist/property-value-parser.d.ts +55 -0
  114. package/dist/property-value-parser.d.ts.map +1 -0
  115. package/dist/property-value-parser.js +277 -0
  116. package/dist/property-value-parser.js.map +1 -0
  117. package/dist/quantity-collect.d.ts +42 -3
  118. package/dist/quantity-collect.d.ts.map +1 -1
  119. package/dist/quantity-collect.js +114 -7
  120. package/dist/quantity-collect.js.map +1 -1
  121. package/dist/query-backend-maps.d.ts +5 -8
  122. package/dist/query-backend-maps.d.ts.map +1 -1
  123. package/dist/query-backend-maps.js +155 -15
  124. package/dist/query-backend-maps.js.map +1 -1
  125. package/dist/relationship-extractor.d.ts.map +1 -1
  126. package/dist/relationship-extractor.js +18 -0
  127. package/dist/relationship-extractor.js.map +1 -1
  128. package/dist/scan-entities-balanced.d.ts +38 -0
  129. package/dist/scan-entities-balanced.d.ts.map +1 -0
  130. package/dist/scan-entities-balanced.js +258 -0
  131. package/dist/scan-entities-balanced.js.map +1 -0
  132. package/dist/scan-worker-inline.d.ts +17 -11
  133. package/dist/scan-worker-inline.d.ts.map +1 -1
  134. package/dist/scan-worker-inline.js +9 -235
  135. package/dist/scan-worker-inline.js.map +1 -1
  136. package/dist/scan-worker-source.d.ts +9 -0
  137. package/dist/scan-worker-source.d.ts.map +1 -0
  138. package/dist/scan-worker-source.js +383 -0
  139. package/dist/scan-worker-source.js.map +1 -0
  140. package/dist/spatial-hierarchy-builder.js +3 -3
  141. package/dist/spatial-hierarchy-builder.js.map +1 -1
  142. package/dist/step-lexing.d.ts +2 -0
  143. package/dist/step-lexing.d.ts.map +1 -1
  144. package/dist/step-lexing.js +116 -18
  145. package/dist/step-lexing.js.map +1 -1
  146. package/dist/step-trivia.d.ts +60 -0
  147. package/dist/step-trivia.d.ts.map +1 -0
  148. package/dist/step-trivia.js +63 -0
  149. package/dist/step-trivia.js.map +1 -0
  150. package/dist/tokenizer.d.ts +20 -21
  151. package/dist/tokenizer.d.ts.map +1 -1
  152. package/dist/tokenizer.js +164 -203
  153. package/dist/tokenizer.js.map +1 -1
  154. package/dist/unit-extractor.d.ts +43 -1
  155. package/dist/unit-extractor.d.ts.map +1 -1
  156. package/dist/unit-extractor.js +63 -4
  157. package/dist/unit-extractor.js.map +1 -1
  158. package/dist/worker-parser.d.ts +11 -1
  159. package/dist/worker-parser.d.ts.map +1 -1
  160. package/dist/worker-parser.js +25 -5
  161. package/dist/worker-parser.js.map +1 -1
  162. package/package.json +6 -6
@@ -5,7 +5,7 @@ import { SpatialHierarchyBuilder } from './spatial-hierarchy-builder.js';
5
5
  import { EntityExtractor } from './entity-extractor.js';
6
6
  import { extractLengthUnitScale } from './unit-extractor.js';
7
7
  import { getAttributeNames, getAttributeNamesAcrossSchemas, getInheritanceChain } from './ifc-schema.js';
8
- import { parsePropertyValue } from './on-demand-extractors.js';
8
+ import { parsePropertyValueWithComplex } from './on-demand-extractors.js';
9
9
  import { readQuantitySet } from './quantity-collect.js';
10
10
  import { buildCompactEntityIndexAsync } from './compact-entity-index.js';
11
11
  import { yieldToEventLoop } from './yield-to-event-loop.js';
@@ -16,6 +16,12 @@ import { GEOMETRY_TYPES, REL_TYPE_MAP, SPATIAL_TYPES, HIERARCHY_REL_TYPES, PROPE
16
16
  import { extractRelFast, extractPropertyRelFast } from './columnar-parser-relationships.js';
17
17
  import { detectSchemaVersion, parseSourceHeader } from './source-header.js';
18
18
  import { contiguousSourceBytes } from './source-bytes.js';
19
+ /** Appends `ref` to `map.get(objId)`, skipping a repeat — these maps win over the deduped graph (#3760/#3782). */
20
+ function addOnDemandRef(map, objId, ref) {
21
+ const list = map.get(objId) ?? map.set(objId, []).get(objId);
22
+ if (!list.includes(ref))
23
+ list.push(ref);
24
+ }
19
25
  export class ColumnarParser {
20
26
  /**
21
27
  * Parse IFC file into columnar data store
@@ -219,33 +225,6 @@ export class ColumnarParser {
219
225
  otherRelevantRefs.push(ref);
220
226
  }
221
227
  logPhase(`categorize ${totalEntities} → spatial:${spatialRefs.length} geom:${geometryRefs.length} rel:${relationshipRefs.length} propRel:${propertyRelRefs.length} propContainers:${propertyContainerRefs.length} propAtoms:${propertyAtomRefs.length} assocRel:${associationRelRefs.length} type:${typeObjectRefs.length} group:${groupRefs.length} other:${otherRelevantRefs.length}`);
222
- // Pre-scan association rels to discover relatingRef target IDs (e.g.
223
- // IfcClassificationReference, IfcMaterial, IfcDocumentReference). These
224
- // entities are typically categorised as CAT_SKIP and would otherwise be
225
- // missing from the compact index, making on-demand extraction fail.
226
- const associationTargetIds = new Set();
227
- for (const ref of associationRelRefs) {
228
- const result = extractPropertyRelFast(uint8Buffer, ref.byteOffset, ref.byteLength);
229
- if (result)
230
- for (const id of result.relatingDefs)
231
- associationTargetIds.add(id);
232
- }
233
- // Collect EntityRefs for association targets that aren't already categorised.
234
- // Single O(n) pass over entityRefs filtered to the (small) target ID set.
235
- const alreadyIndexedIds = new Set();
236
- for (const arr of [spatialRefs, geometryRefs, relationshipRefs, propertyRelRefs,
237
- propertyContainerRefs, associationRelRefs, typeObjectRefs, groupRefs, otherRelevantRefs,
238
- ...(deferPropertyAtomIndex ? [] : [propertyAtomRefs])]) {
239
- for (const r of arr)
240
- alreadyIndexedIds.add(r.expressId);
241
- }
242
- const extraAssocRefs = [];
243
- for (const ref of entityRefs) {
244
- if (associationTargetIds.has(ref.expressId) && !alreadyIndexedIds.has(ref.expressId)) {
245
- extraAssocRefs.push(ref);
246
- }
247
- }
248
- logPhase(`association target pre-scan: ${associationTargetIds.size} targets, ${extraAssocRefs.length} extra refs`);
249
228
  // ALL entity refs must be indexed in byId so that on-demand extraction
250
229
  // can look up any entity by expressId (e.g. IfcUnitAssignment,
251
230
  // IfcGeometricRepresentationContext, IfcSiUnit, IfcLocalPlacement, etc.).
@@ -256,10 +235,8 @@ export class ColumnarParser {
256
235
  return cat !== CAT_PROPERTY_ENTITY || PROPERTY_CONTAINER_TYPES.has(getTypeUpper(ref.type));
257
236
  })
258
237
  : entityRefs;
259
- emitDiagnostic(`index input: indexedRefs=${indexedRefs.length} deferredPropertyAtoms=${deferPropertyAtomIndex ? propertyAtomRefs.length : 0} extraAssocTargets=${extraAssocRefs.length}`);
260
- // Build compact entity index from only the refs that survive lite parsing.
261
- // This avoids spending huge-file startup time indexing millions of skipped
262
- // representation/helper entities that the viewer never queries.
238
+ emitDiagnostic(`index input: indexedRefs=${indexedRefs.length} deferredPropertyAtoms=${deferPropertyAtomIndex ? propertyAtomRefs.length : 0}`);
239
+ // Keep every indexed entity available for on-demand reference resolution.
263
240
  const compactByIdIndex = await buildCompactEntityIndexAsync(indexedRefs);
264
241
  logPhase('compact entity index');
265
242
  // Create entity table builder with EXACT capacity (not totalEntities which
@@ -480,12 +457,7 @@ export class ColumnarParser {
480
457
  if (isPropSet || isQtySet) {
481
458
  const targetMap = isPropSet ? onDemandPropertyMap : onDemandQuantityMap;
482
459
  for (const objId of relatedObjects) {
483
- let list = targetMap.get(objId);
484
- if (!list) {
485
- list = [];
486
- targetMap.set(objId, list);
487
- }
488
- list.push(relatingDef);
460
+ addOnDemandRef(targetMap, objId, relatingDef);
489
461
  }
490
462
  }
491
463
  }
@@ -519,12 +491,7 @@ export class ColumnarParser {
519
491
  const typeUpper = getTypeUpper(ref.type);
520
492
  if (typeUpper === 'IFCRELASSOCIATESCLASSIFICATION') {
521
493
  for (const objId of relatedObjects) {
522
- let list = onDemandClassificationMap.get(objId);
523
- if (!list) {
524
- list = [];
525
- onDemandClassificationMap.set(objId, list);
526
- }
527
- list.push(relatingRef);
494
+ addOnDemandRef(onDemandClassificationMap, objId, relatingRef);
528
495
  relationshipGraphBuilder.addEdge(relatingRef, objId, RelationshipType.AssociatesClassification, ref.expressId);
529
496
  }
530
497
  }
@@ -538,8 +505,8 @@ export class ColumnarParser {
538
505
  relIds = [];
539
506
  materialRelIds.set(objId, relIds);
540
507
  }
541
- // Insert in rel-express-id order (lists are tiny) so
542
- // list[0] is the deterministic primary.
508
+ // Deliberately NOT deduped (#3782 review): buildMaterialUsageIndex
509
+ // already dedupes downstream (seenPerMaterial), per material-fraction-and-associations.test.ts.
543
510
  let at = relIds.length;
544
511
  while (at > 0 && relIds[at - 1] > ref.expressId)
545
512
  at--;
@@ -550,12 +517,7 @@ export class ColumnarParser {
550
517
  }
551
518
  else if (typeUpper === 'IFCRELASSOCIATESDOCUMENT') {
552
519
  for (const objId of relatedObjects) {
553
- let list = onDemandDocumentMap.get(objId);
554
- if (!list) {
555
- list = [];
556
- onDemandDocumentMap.set(objId, list);
557
- }
558
- list.push(relatingRef);
520
+ addOnDemandRef(onDemandDocumentMap, objId, relatingRef);
559
521
  relationshipGraphBuilder.addEdge(relatingRef, objId, RelationshipType.AssociatesDocument, ref.expressId);
560
522
  }
561
523
  }
@@ -624,7 +586,7 @@ export class ColumnarParser {
624
586
  continue;
625
587
  const psetAttrs = psetEntity.attributes || [];
626
588
  const psetGlobalId = typeof psetAttrs[0] === 'string' ? psetAttrs[0] : undefined;
627
- const psetName = typeof psetAttrs[2] === 'string' ? psetAttrs[2] : `PropertySet #${psetId}`;
589
+ const psetName = typeof psetAttrs[2] === 'string' ? psetAttrs[2] : ''; // not `PropertySet #<id>` (#3530)
628
590
  const hasProperties = psetAttrs[4];
629
591
  const properties = [];
630
592
  if (Array.isArray(hasProperties)) {
@@ -641,7 +603,7 @@ export class ColumnarParser {
641
603
  const propName = typeof propAttrs[0] === 'string' ? propAttrs[0] : '';
642
604
  if (!propName)
643
605
  continue;
644
- const parsed = parsePropertyValue(propEntity);
606
+ const parsed = parsePropertyValueWithComplex(store, extractor, propEntity);
645
607
  const entry = {
646
608
  name: propName,
647
609
  type: parsed.type,
@@ -680,7 +642,7 @@ export class ColumnarParser {
680
642
  const qsetRef = getEntityRefFromStore(store, qsetId);
681
643
  if (!qsetRef)
682
644
  continue;
683
- const qset = readQuantitySet(store, extractor, qsetRef, qsetId);
645
+ const qset = readQuantitySet(store, extractor, qsetRef);
684
646
  if (qset)
685
647
  result.push(qset);
686
648
  }
@@ -934,5 +896,5 @@ export function pickLongName(entity) {
934
896
  }
935
897
  // Re-export on-demand extraction functions from focused module
936
898
  export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
937
- export { mergeInheritedPropertySets } from './property-set-merge.js';
899
+ export { mergeInheritedPropertySets, mergeInheritedQuantitySets } from './property-set-merge.js';
938
900
  //# sourceMappingURL=columnar-parser.js.map
@@ -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,23 @@
1
+ /**
2
+ * Worker-boundary transport for `CompactEntityIndex`.
3
+ *
4
+ * Split out of `data-store-transport.ts`: this is the one piece of that
5
+ * module that deals with a single class (`CompactEntityIndex`) rather than
6
+ * the `IfcDataStore` as a whole, so it stands on its own as a cohesive unit.
7
+ */
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
+ }
21
+ export declare function compactEntityIndexToColumns(index: CompactEntityIndex): CompactEntityIndexColumns;
22
+ export declare function compactEntityIndexFromColumns(columns: CompactEntityIndexColumns): CompactEntityIndex;
23
+ //# sourceMappingURL=compact-entity-index-transport.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,28 @@
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
+ * Worker-boundary transport for `CompactEntityIndex`.
6
+ *
7
+ * Split out of `data-store-transport.ts`: this is the one piece of that
8
+ * module that deals with a single class (`CompactEntityIndex`) rather than
9
+ * the `IfcDataStore` as a whole, so it stands on its own as a cohesive unit.
10
+ */
11
+ import { CompactEntityIndex } from './compact-entity-index.js';
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
+ };
24
+ }
25
+ export function compactEntityIndexFromColumns(columns) {
26
+ return new CompactEntityIndex(columns.expressIds, columns.byteOffsets, columns.byteLengths, columns.typeIndices, columns.typeStrings);
27
+ }
28
+ //# sourceMappingURL=compact-entity-index-transport.js.map
@@ -0,0 +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,13 +1,3 @@
1
- /**
2
- * CompactEntityIndex - Memory-efficient entity index using typed arrays
3
- *
4
- * Replaces Map<number, EntityRef> with sorted typed arrays for O(log n) lookup.
5
- * For 8.4M entities, this saves ~400MB of Map overhead:
6
- * - Map: ~56 bytes/entry overhead (key + value + hash table) = ~470MB
7
- * - Typed arrays: ~16 bytes/entry (4 Uint32Arrays) = ~134MB
8
- *
9
- * Provides the same Map-like interface via get()/has() for drop-in compatibility.
10
- */
11
1
  import type { EntityRef } from './types.js';
12
2
  /**
13
3
  * Compact read-only entity index backed by sorted typed arrays.
@@ -30,6 +20,7 @@ export declare class CompactEntityIndex {
30
20
  readonly size: number;
31
21
  /** LRU cache for recently accessed EntityRefs */
32
22
  private lruCache;
23
+ private lruKeys;
33
24
  private readonly lruMaxSize;
34
25
  constructor(expressIds: Uint32Array, byteOffsets: Uint32Array, byteLengths: Uint32Array, typeIndices: Uint16Array, typeStrings: string[], lruMaxSize?: number);
35
26
  /**
@@ -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,7 +1,21 @@
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
+ /** 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. */
6
+ import { checkedExpressId } from './express-id.js';
4
7
  import { yieldToEventLoop } from './yield-to-event-loop.js';
8
+ /** Intern `type` into the parallel string table/lookup pair, returning the
9
+ * index the `Uint16Array` type column stores. */
10
+ function internType(typeStrings, typeStringMap, type) {
11
+ let index = typeStringMap.get(type);
12
+ if (index === undefined) {
13
+ index = typeStrings.length;
14
+ typeStrings.push(type);
15
+ typeStringMap.set(type, index);
16
+ }
17
+ return index;
18
+ }
5
19
  /**
6
20
  * Compact read-only entity index backed by sorted typed arrays.
7
21
  * Implements the same interface as Map<number, EntityRef> for lookups.
@@ -23,6 +37,7 @@ export class CompactEntityIndex {
23
37
  size;
24
38
  /** LRU cache for recently accessed EntityRefs */
25
39
  lruCache;
40
+ lruKeys;
26
41
  lruMaxSize;
27
42
  constructor(expressIds, byteOffsets, byteLengths, typeIndices, typeStrings, lruMaxSize = 1024) {
28
43
  this.expressIds = expressIds;
@@ -86,8 +101,10 @@ export class CompactEntityIndex {
86
101
  // Add to LRU cache
87
102
  this.lruCache.set(expressId, ref);
88
103
  if (this.lruCache.size > this.lruMaxSize) {
89
- // Delete oldest entry (first key in insertion order)
90
- const firstKey = this.lruCache.keys().next().value;
104
+ // #3983: keep a live cursor. Restarting at the Map's deleted prefix for
105
+ // every eviction makes a large sequential scan quadratic in Firefox.
106
+ this.lruKeys ??= this.lruCache.keys();
107
+ const firstKey = this.lruKeys.next().value;
91
108
  if (firstKey !== undefined) {
92
109
  this.lruCache.delete(firstKey);
93
110
  }
@@ -187,6 +204,7 @@ export class CompactEntityIndex {
187
204
  */
188
205
  clearCache() {
189
206
  this.lruCache.clear();
207
+ this.lruKeys = undefined;
190
208
  }
191
209
  /**
192
210
  * Estimate memory usage in bytes.
@@ -229,20 +247,17 @@ export class CompactEntityIndexBuilder {
229
247
  this.typeIndices = new Uint16Array(estimatedCount);
230
248
  }
231
249
  add(expressId, type, byteOffset, byteLength) {
250
+ // Checked before the slot is claimed, so a caught throw cannot leave a
251
+ // zero-filled phantom entry behind for build() to emit.
252
+ const id = checkedExpressId(expressId);
232
253
  if (this.count >= this.capacity) {
233
254
  this.grow();
234
255
  }
235
256
  const i = this.count++;
236
- this.expressIds[i] = expressId;
257
+ this.expressIds[i] = id;
237
258
  this.byteOffsets[i] = byteOffset;
238
259
  this.byteLengths[i] = byteLength;
239
- let typeIdx = this.typeStringMap.get(type);
240
- if (typeIdx === undefined) {
241
- typeIdx = this.typeStrings.length;
242
- this.typeStrings.push(type);
243
- this.typeStringMap.set(type, typeIdx);
244
- }
245
- this.typeIndices[i] = typeIdx;
260
+ this.typeIndices[i] = internType(this.typeStrings, this.typeStringMap, type);
246
261
  }
247
262
  grow() {
248
263
  const newCap = Math.max(this.capacity * 2, 1024);
@@ -323,16 +338,10 @@ export function buildCompactEntityIndex(entityRefs, lruMaxSize) {
323
338
  const typeIndices = new Uint16Array(count);
324
339
  for (let i = 0; i < count; i++) {
325
340
  const ref = sorted[i];
326
- expressIds[i] = ref.expressId;
341
+ expressIds[i] = checkedExpressId(ref.expressId);
327
342
  byteOffsets[i] = ref.byteOffset;
328
343
  byteLengths[i] = ref.byteLength;
329
- let typeIdx = typeStringMap.get(ref.type);
330
- if (typeIdx === undefined) {
331
- typeIdx = typeStrings.length;
332
- typeStrings.push(ref.type);
333
- typeStringMap.set(ref.type, typeIdx);
334
- }
335
- typeIndices[i] = typeIdx;
344
+ typeIndices[i] = internType(typeStrings, typeStringMap, ref.type);
336
345
  }
337
346
  return new CompactEntityIndex(expressIds, byteOffsets, byteLengths, typeIndices, typeStrings, lruMaxSize);
338
347
  }
@@ -374,16 +383,10 @@ budgetMs = 50) {
374
383
  chunkStart = performance.now();
375
384
  }
376
385
  const ref = sorted[i];
377
- expressIds[i] = ref.expressId;
386
+ expressIds[i] = checkedExpressId(ref.expressId);
378
387
  byteOffsets[i] = ref.byteOffset;
379
388
  byteLengths[i] = ref.byteLength;
380
- let typeIdx = typeStringMap.get(ref.type);
381
- if (typeIdx === undefined) {
382
- typeIdx = typeStrings.length;
383
- typeStrings.push(ref.type);
384
- typeStringMap.set(ref.type, typeIdx);
385
- }
386
- typeIndices[i] = typeIdx;
389
+ typeIndices[i] = internType(typeStrings, typeStringMap, ref.type);
387
390
  }
388
391
  return new CompactEntityIndex(expressIds, byteOffsets, byteLengths, typeIndices, typeStrings, lruMaxSize);
389
392
  }
@@ -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,35 +1,15 @@
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';
7
+ import { type CompactEntityIndexColumns } from './compact-entity-index-transport.js';
18
8
  import type { EntityRef } from './types.js';
19
9
  import { type IfcSourceBytes } from './source-bytes.js';
20
10
  import type { IfcDataStore } from './columnar-parser.js';
21
- /**
22
- * Plain-data column representation of a `CompactEntityIndex`. Holds the
23
- * five backing arrays plus the deduplicated type-string list. All four
24
- * typed arrays are transferable.
25
- */
26
- export interface CompactEntityIndexColumns {
27
- expressIds: Uint32Array;
28
- byteOffsets: Uint32Array;
29
- byteLengths: Uint32Array;
30
- typeIndices: Uint16Array;
31
- typeStrings: string[];
32
- }
11
+ import type { GeoreferenceInfo } from './georef-extractor.js';
12
+ export type { CompactEntityIndexColumns };
33
13
  interface SerializedSpatialNode {
34
14
  expressId: number;
35
15
  type: number;
@@ -65,6 +45,9 @@ export interface ParserMemorySnapshot {
65
45
  parseTimeMs: number;
66
46
  }
67
47
  export interface DataStoreTransport {
48
+ /** Worker-prepared render data (#3983); absent on older transports. */
49
+ sourceContentKey?: string | null;
50
+ georeferencing?: GeoreferenceInfo | null;
68
51
  fileSize: number;
69
52
  schemaVersion: IfcDataStore['schemaVersion'];
70
53
  sourceHeader?: IfcDataStore['sourceHeader'];