@ifc-lite/parser 7.0.0 → 8.0.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 (87) hide show
  1. package/dist/columnar-parser-attributes.d.ts +1 -1
  2. package/dist/columnar-parser-attributes.d.ts.map +1 -1
  3. package/dist/columnar-parser-attributes.js +36 -1
  4. package/dist/columnar-parser-attributes.js.map +1 -1
  5. package/dist/columnar-parser-indexes.d.ts.map +1 -1
  6. package/dist/columnar-parser-indexes.js +24 -1
  7. package/dist/columnar-parser-indexes.js.map +1 -1
  8. package/dist/columnar-parser-relationships.d.ts +2 -1
  9. package/dist/columnar-parser-relationships.d.ts.map +1 -1
  10. package/dist/columnar-parser-relationships.js +2 -2
  11. package/dist/columnar-parser-relationships.js.map +1 -1
  12. package/dist/columnar-parser-root-attributes.d.ts +2 -5
  13. package/dist/columnar-parser-root-attributes.d.ts.map +1 -1
  14. package/dist/columnar-parser-root-attributes.js +22 -2
  15. package/dist/columnar-parser-root-attributes.js.map +1 -1
  16. package/dist/columnar-parser.d.ts +5 -1
  17. package/dist/columnar-parser.d.ts.map +1 -1
  18. package/dist/columnar-parser.js +19 -56
  19. package/dist/columnar-parser.js.map +1 -1
  20. package/dist/cost-evaluator.d.ts.map +1 -1
  21. package/dist/cost-evaluator.js +6 -4
  22. package/dist/cost-evaluator.js.map +1 -1
  23. package/dist/cost-extractor.d.ts +2 -1
  24. package/dist/cost-extractor.d.ts.map +1 -1
  25. package/dist/cost-extractor.js +22 -5
  26. package/dist/cost-extractor.js.map +1 -1
  27. package/dist/cost-overlay.d.ts +104 -0
  28. package/dist/cost-overlay.d.ts.map +1 -0
  29. package/dist/cost-overlay.js +5 -0
  30. package/dist/cost-overlay.js.map +1 -0
  31. package/dist/cost-reader.d.ts +45 -2
  32. package/dist/cost-reader.d.ts.map +1 -1
  33. package/dist/cost-reader.js +168 -11
  34. package/dist/cost-reader.js.map +1 -1
  35. package/dist/cost-types.d.ts +9 -1
  36. package/dist/cost-types.d.ts.map +1 -1
  37. package/dist/cost.d.ts +1 -0
  38. package/dist/cost.d.ts.map +1 -1
  39. package/dist/cost.js.map +1 -1
  40. package/dist/effective-entity-record.d.ts +35 -0
  41. package/dist/effective-entity-record.d.ts.map +1 -0
  42. package/dist/effective-entity-record.js +43 -0
  43. package/dist/effective-entity-record.js.map +1 -0
  44. package/dist/effective-relationship-overlay.d.ts +31 -0
  45. package/dist/effective-relationship-overlay.d.ts.map +1 -0
  46. package/dist/effective-relationship-overlay.js +111 -0
  47. package/dist/effective-relationship-overlay.js.map +1 -0
  48. package/dist/exact-relationship-edges.d.ts +46 -0
  49. package/dist/exact-relationship-edges.d.ts.map +1 -0
  50. package/dist/exact-relationship-edges.js +88 -0
  51. package/dist/exact-relationship-edges.js.map +1 -0
  52. package/dist/identity-hints.d.ts +32 -0
  53. package/dist/identity-hints.d.ts.map +1 -0
  54. package/dist/identity-hints.js +130 -0
  55. package/dist/identity-hints.js.map +1 -0
  56. package/dist/ifc-schema.d.ts +2 -0
  57. package/dist/ifc-schema.d.ts.map +1 -1
  58. package/dist/ifc-schema.js +13 -0
  59. package/dist/ifc-schema.js.map +1 -1
  60. package/dist/index.d.ts +6 -3
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +6 -3
  63. package/dist/index.js.map +1 -1
  64. package/dist/on-demand-extractors.d.ts +6 -31
  65. package/dist/on-demand-extractors.d.ts.map +1 -1
  66. package/dist/on-demand-extractors.js +18 -11
  67. package/dist/on-demand-extractors.js.map +1 -1
  68. package/dist/project-units.d.ts.map +1 -1
  69. package/dist/project-units.js +8 -2
  70. package/dist/project-units.js.map +1 -1
  71. package/dist/property-unit.d.ts +24 -0
  72. package/dist/property-unit.d.ts.map +1 -0
  73. package/dist/property-unit.js +29 -0
  74. package/dist/property-unit.js.map +1 -0
  75. package/dist/query-backend-maps.d.ts +5 -8
  76. package/dist/query-backend-maps.d.ts.map +1 -1
  77. package/dist/query-backend-maps.js +8 -15
  78. package/dist/query-backend-maps.js.map +1 -1
  79. package/dist/relationship-schema-slots.d.ts +8 -8
  80. package/dist/relationship-schema-slots.d.ts.map +1 -1
  81. package/dist/relationship-schema-slots.js +31 -18
  82. package/dist/relationship-schema-slots.js.map +1 -1
  83. package/dist/worker-parser.d.ts +29 -1
  84. package/dist/worker-parser.d.ts.map +1 -1
  85. package/dist/worker-parser.js +80 -7
  86. package/dist/worker-parser.js.map +1 -1
  87. package/package.json +7 -7
@@ -69,6 +69,6 @@ export declare function readRefList(buffer: Uint8Array, pos: number, end: number
69
69
  */
70
70
  export declare function batchExtractGlobalIdAndName(buffer: Uint8Array, refs: EntityRef[], yieldIfNeeded?: () => Promise<void>): Promise<Map<number, {
71
71
  globalId: string;
72
- name: string;
72
+ name: string | undefined;
73
73
  }>>;
74
74
  //# sourceMappingURL=columnar-parser-attributes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser-attributes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAuDzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAWT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAyBhG;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCxF;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAuB5F;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC7C,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,SAAS,EAAE,EACjB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAuF1D"}
1
+ {"version":3,"file":"columnar-parser-attributes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgB5C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAuDzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAWT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAyBhG;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCxF;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAuB5F;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC7C,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,SAAS,EAAE,EACjB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC,CAAC,CA+GtE"}
@@ -4,6 +4,17 @@
4
4
  import { decodeIfcString } from '@ifc-lite/encoding';
5
5
  import { isIndexableExpressId } from './express-id.js';
6
6
  import { opensComment, skipComment, skipTrivia } from './step-lexing.js';
7
+ import { EntityExtractor } from './entity-extractor.js';
8
+ /** Does `ref`'s byte range contain a `/*` comment opener? Cheap linear scan,
9
+ * only run on a record `findQuotedAttrRange` already failed to read. */
10
+ function hasCommentOpener(buffer, ref) {
11
+ const end = ref.byteOffset + ref.byteLength - 1;
12
+ for (let p = ref.byteOffset; p < end; p++) {
13
+ if (buffer[p] === 0x2f && buffer[p + 1] === 0x2a)
14
+ return true;
15
+ }
16
+ return false;
17
+ }
7
18
  /**
8
19
  * Find the byte range of a quoted string at a specific attribute position in STEP entity bytes.
9
20
  * Returns [start, end) byte offsets (excluding quotes), or null if not found.
@@ -249,6 +260,13 @@ export async function batchExtractGlobalIdAndName(buffer, refs, yieldIfNeeded) {
249
260
  // Phase 1: Scan byte ranges for GlobalId and Name positions (no string allocation)
250
261
  const gidRanges = []; // [start, end) for each entity
251
262
  const nameRanges = [];
263
+ // `null` ($) vs `[start, start]` ('') both concatenate to zero bytes
264
+ // below, so capture the distinction here before it's lost (#4930).
265
+ const nameFound = [];
266
+ // `findQuotedAttrRange` has no `/* … */` trivia skip (pre-existing, both
267
+ // attrs), so a comment before GlobalId/Name is a false miss here — flag
268
+ // it for the slow-path re-parse below rather than trusting `null`.
269
+ const commentSuspect = [];
252
270
  const validIndices = []; // indices into refs for entities with valid ranges
253
271
  for (let i = 0; i < refs.length; i++) {
254
272
  if (yieldIfNeeded && (i & (CHUNK_SIZE - 1)) === 0) {
@@ -259,6 +277,8 @@ export async function batchExtractGlobalIdAndName(buffer, refs, yieldIfNeeded) {
259
277
  const nameRange = findQuotedAttrRange(buffer, ref.byteOffset, ref.byteLength, 2);
260
278
  gidRanges.push(gidRange ?? [0, 0]);
261
279
  nameRanges.push(nameRange ?? [0, 0]);
280
+ nameFound.push(nameRange !== null);
281
+ commentSuspect.push((gidRange === null || nameRange === null) && hasCommentOpener(buffer, ref));
262
282
  validIndices.push(i);
263
283
  }
264
284
  // Phase 2: Concatenate all GlobalId bytes into one buffer, decode once
@@ -314,7 +334,22 @@ export async function batchExtractGlobalIdAndName(buffer, refs, yieldIfNeeded) {
314
334
  // name like `John''s Wall` would render with the literal doubled quote.
315
335
  result.set(ref.expressId, {
316
336
  globalId: gids[i] || '',
317
- name: rawName ? decodeIfcString(rawName.replace(/''/g, "'")) : '',
337
+ name: nameFound[i]
338
+ ? (rawName ? decodeIfcString(rawName.replace(/''/g, "'")) : '')
339
+ : undefined,
340
+ });
341
+ }
342
+ // Phase 5: re-parse the (rare) comment-blind misses with the real
343
+ // tokenizer instead of trusting the fast path's false "absent".
344
+ let fallback;
345
+ for (let i = 0; i < validIndices.length; i++) {
346
+ if (!commentSuspect[i])
347
+ continue;
348
+ const ref = refs[validIndices[i]];
349
+ const attrs = (fallback ??= new EntityExtractor(buffer)).extractEntity(ref)?.attributes ?? [];
350
+ result.set(ref.expressId, {
351
+ globalId: typeof attrs[0] === 'string' ? attrs[0] : '',
352
+ name: typeof attrs[2] === 'string' ? attrs[2] : undefined,
318
353
  });
319
354
  }
320
355
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnar-parser-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser-indexes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACH,gBAAgB,EAChB,YAAY,EACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC9D,CAAC;AAaF,eAAO,MAAM,cAAc,aAWzB,CAAC;AAIH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA2DzD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAGnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAS1D,CAAC;AAGF,eAAO,MAAM,aAAa,aAOxB,CAAC;AAGH,eAAO,MAAM,kBAAkB,aAE7B,CAAC;AAGH,eAAO,MAAM,qBAAqB,aAGhC,CAAC;AAkBH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAEnD,CAAC;AAGF,eAAO,MAAM,kBAAkB,aAAsH,CAAC;AAGtJ,eAAO,MAAM,qBAAqB,aAQhC,CAAC;AAEH,eAAO,MAAM,wBAAwB,aAGnC,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D"}
1
+ {"version":3,"file":"columnar-parser-indexes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACH,gBAAgB,EAChB,YAAY,EACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC9D,CAAC;AAaF,eAAO,MAAM,cAAc,aAWzB,CAAC;AAMH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAgFzD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAGnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAS1D,CAAC;AAGF,eAAO,MAAM,aAAa,aAOxB,CAAC;AAGH,eAAO,MAAM,kBAAkB,aAE7B,CAAC;AAGH,eAAO,MAAM,qBAAqB,aAGhC,CAAC;AAkBH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAEnD,CAAC;AAGF,eAAO,MAAM,kBAAkB,aAAsH,CAAC;AAGtJ,eAAO,MAAM,qBAAqB,aAQhC,CAAC;AAEH,eAAO,MAAM,wBAAwB,aAGnC,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D"}
@@ -27,7 +27,9 @@ export const GEOMETRY_TYPES = new Set([
27
27
  'IFCSITE', 'IFCBUILDING', 'IFCBUILDINGSTOREY', 'IFCCOVERING',
28
28
  ]);
29
29
  // Map IFC relationship type strings to RelationshipType enum
30
- // MUST cover ALL RelationshipType enum values (15 types total)
30
+ // Every schema-resolvable concrete IfcRelationship class has an exact bucket.
31
+ // The schema-union completeness test below this module's callers prevents a
32
+ // newly generated class from silently falling through (#4205).
31
33
  export const REL_TYPE_MAP = {
32
34
  'IFCRELCONTAINEDINSPATIALSTRUCTURE': RelationshipType.ContainsElements,
33
35
  'IFCRELAGGREGATES': RelationshipType.Aggregates,
@@ -41,16 +43,33 @@ export const REL_TYPE_MAP = {
41
43
  'IFCRELNESTS': RelationshipType.Aggregates,
42
44
  'IFCRELDEFINESBYPROPERTIES': RelationshipType.DefinesByProperties,
43
45
  'IFCRELDEFINESBYTYPE': RelationshipType.DefinesByType,
46
+ 'IFCRELDEFINESBYOBJECT': RelationshipType.DefinesByObject,
47
+ 'IFCRELDEFINESBYTEMPLATE': RelationshipType.DefinesByTemplate,
48
+ 'IFCRELOVERRIDESPROPERTIES': RelationshipType.OverridesProperties,
44
49
  'IFCRELASSOCIATESMATERIAL': RelationshipType.AssociatesMaterial,
45
50
  'IFCRELASSOCIATESCLASSIFICATION': RelationshipType.AssociatesClassification,
46
51
  'IFCRELASSOCIATESDOCUMENT': RelationshipType.AssociatesDocument,
52
+ 'IFCRELASSOCIATESAPPLIEDVALUE': RelationshipType.AssociatesAppliedValue,
53
+ 'IFCRELASSOCIATESPROFILEDEF': RelationshipType.AssociatesProfileDef,
54
+ 'IFCRELASSOCIATESPROFILEPROPERTIES': RelationshipType.AssociatesProfileProperties,
47
55
  'IFCRELVOIDSELEMENT': RelationshipType.VoidsElement,
48
56
  'IFCRELFILLSELEMENT': RelationshipType.FillsElement,
49
57
  'IFCRELCONNECTSPATHELEMENTS': RelationshipType.ConnectsPathElements,
50
58
  'IFCRELCONNECTSELEMENTS': RelationshipType.ConnectsElements,
51
59
  'IFCRELCONNECTSPORTTOELEMENT': RelationshipType.ConnectsPortToElement,
52
60
  'IFCRELCONNECTSPORTS': RelationshipType.ConnectsPorts,
61
+ 'IFCRELCONNECTSSTRUCTURALACTIVITY': RelationshipType.ConnectsStructuralActivity,
62
+ 'IFCRELCONNECTSSTRUCTURALMEMBER': RelationshipType.ConnectsStructuralMember,
63
+ 'IFCRELCONNECTSWITHECCENTRICITY': RelationshipType.ConnectsWithEccentricity,
64
+ 'IFCRELCONNECTSWITHREALIZINGELEMENTS': RelationshipType.ConnectsWithRealizingElements,
65
+ // IfcRelConnectsStructuralElement exists only in IFC2X3. Its distinct
66
+ // structural-member endpoint and relationship identity must not be
67
+ // folded into IfcRelConnectsStructuralMember.
68
+ 'IFCRELCONNECTSSTRUCTURALELEMENT': RelationshipType.ConnectsStructuralElement,
53
69
  'IFCRELSPACEBOUNDARY': RelationshipType.SpaceBoundary,
70
+ 'IFCRELSPACEBOUNDARY1STLEVEL': RelationshipType.SpaceBoundary1stLevel,
71
+ 'IFCRELSPACEBOUNDARY2NDLEVEL': RelationshipType.SpaceBoundary2ndLevel,
72
+ 'IFCRELINTERACTIONREQUIREMENTS': RelationshipType.InteractionRequirements,
54
73
  'IFCRELASSIGNSTOGROUP': RelationshipType.AssignsToGroup,
55
74
  // Subtype of IfcRelAssignsToGroup (adds a Factor); same RelatingGroup /
56
75
  // RelatedObjects membership semantics, so it shares this PRIMARY edge
@@ -61,7 +80,11 @@ export const REL_TYPE_MAP = {
61
80
  // Factor value up on the relationship entity itself (#4205).
62
81
  'IFCRELASSIGNSTOGROUPBYFACTOR': RelationshipType.AssignsToGroup,
63
82
  'IFCRELASSIGNSTOPRODUCT': RelationshipType.AssignsToProduct,
83
+ 'IFCRELASSIGNSTASKS': RelationshipType.AssignsTasks,
84
+ 'IFCRELASSIGNSTOPROJECTORDER': RelationshipType.AssignsToProjectOrder,
85
+ 'IFCRELSCHEDULESCOSTITEMS': RelationshipType.SchedulesCostItems,
64
86
  'IFCRELREFERENCEDINSPATIALSTRUCTURE': RelationshipType.ReferencedInSpatialStructure,
87
+ 'IFCRELOCCUPIESSPACES': RelationshipType.OccupiesSpaces,
65
88
  // Previously not indexed at all (#4205) — each gets its own dedicated
66
89
  // edge type since no existing consumer folded it into a broader bucket
67
90
  // to preserve; the slot positions come from `getRelationshipSlotPlan`,
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser-indexes.js","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnar-parser-indexes.js","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { IfcDataStore } from './columnar-parser.js';
1
2
  /**
2
3
  * Extract relatingObject and relatedObjects from a relationship entity using
3
4
  * byte-level scanning. No TextDecoder needed — only extracts numeric entity
@@ -11,7 +12,7 @@
11
12
  * only documents which shape a class uses, it does not gate how the value is
12
13
  * read.
13
14
  */
14
- export declare function extractRelFast(buffer: Uint8Array, byteOffset: number, byteLength: number, typeUpper: string): {
15
+ export declare function extractRelFast(buffer: Uint8Array, byteOffset: number, byteLength: number, typeUpper: string, schemaVersion?: IfcDataStore['schemaVersion']): {
15
16
  relatingObject: number;
16
17
  relatedObjects: number[];
17
18
  } | null;
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser-relationships.d.ts","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CA0C7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB;IAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAkB7D"}
1
+ {"version":3,"file":"columnar-parser-relationships.d.ts","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GAC9C;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CA0C7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB;IAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAkB7D"}
@@ -22,8 +22,8 @@ import { getRelationshipSlotPlan } from './relationship-schema-slots.js';
22
22
  * only documents which shape a class uses, it does not gate how the value is
23
23
  * read.
24
24
  */
25
- export function extractRelFast(buffer, byteOffset, byteLength, typeUpper) {
26
- const plan = getRelationshipSlotPlan(typeUpper);
25
+ export function extractRelFast(buffer, byteOffset, byteLength, typeUpper, schemaVersion) {
26
+ const plan = getRelationshipSlotPlan(typeUpper, schemaVersion);
27
27
  if (!plan)
28
28
  return null;
29
29
  const end = byteOffset + byteLength;
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser-relationships.js","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnar-parser-relationships.js","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type SchemaVersionWithRegistry } from './generated/schema-registry-by-version.js';
1
2
  import type { EntityRef } from './types.js';
2
3
  import type { IfcEntity, IfcAttributeValue } from '@ifc-lite/data';
3
4
  import type { IfcDataStore } from './columnar-parser.js';
@@ -25,11 +26,7 @@ export declare function extractAllEntityAttributes(store: IfcDataStore, entityId
25
26
  name: string;
26
27
  value: string | number | boolean;
27
28
  }>;
28
- /**
29
- * Returns named raw attribute pairs for an entity, filtered to display-relevant attributes.
30
- * Skips structural/reference attributes using the IFC schema. Used by query layer for coercion.
31
- */
32
- export declare function getRawNamedAttributes(entity: IfcEntity): Array<{
29
+ export declare function getRawNamedAttributes(entity: IfcEntity, schemaVersion?: SchemaVersionWithRegistry): Array<{
33
30
  name: string;
34
31
  raw: IfcAttributeValue;
35
32
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser-root-attributes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-root-attributes.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEnG;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC3C,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAa1F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAoG3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,SAAS,GAClB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAYjD;AAoCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC3C,MAAM,EAAE,SAAS,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CA0B1F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAKtD"}
1
+ {"version":3,"file":"columnar-parser-root-attributes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-root-attributes.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAoD,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE7I,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEnG;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC3C,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAa1F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAoG3D;AAmBD,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,SAAS,EACjB,aAAa,CAAC,EAAE,yBAAyB,GAC1C,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAkBjD;AAoCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC3C,MAAM,EAAE,SAAS,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CA0B1F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAKtD"}
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import { EntityExtractor } from './entity-extractor.js';
14
14
  import { getAttributeNames, getAttributeNamesAcrossSchemas } from './ifc-schema.js';
15
+ import { getSchemaRegistryForVersion } from './generated/schema-registry-by-version.js';
15
16
  import { SKIP_DISPLAY_ATTRS } from './columnar-parser-indexes.js';
16
17
  export function getEntityRefFromStore(store, expressId) {
17
18
  return store.entityIndex.byId.get(expressId) ?? store.deferredEntityIndex?.get(expressId);
@@ -149,9 +150,28 @@ export function extractAllEntityAttributes(store, entityId) {
149
150
  * Returns named raw attribute pairs for an entity, filtered to display-relevant attributes.
150
151
  * Skips structural/reference attributes using the IFC schema. Used by query layer for coercion.
151
152
  */
152
- export function getRawNamedAttributes(entity) {
153
+ /** STEP type names are UPPERCASE and registry keys are PascalCase; index each registry once instead of scanning it per entity. */
154
+ const REGISTRY_BY_UPPER = new WeakMap();
155
+ function registryEntity(registry, typeName) {
156
+ const direct = registry.entities[typeName];
157
+ if (direct)
158
+ return direct;
159
+ let byUpper = REGISTRY_BY_UPPER.get(registry);
160
+ if (!byUpper) {
161
+ byUpper = new Map(Object.values(registry.entities).map((candidate) => [candidate.name.toUpperCase(), candidate]));
162
+ REGISTRY_BY_UPPER.set(registry, byUpper);
163
+ }
164
+ return byUpper.get(typeName.toUpperCase());
165
+ }
166
+ export function getRawNamedAttributes(entity, schemaVersion) {
153
167
  const attrs = entity.attributes || [];
154
- const attrNames = getAttributeNames(entity.type);
168
+ // This reader is shared by EntityNode.allAttributes() and must recognize
169
+ // IFC2X3-only and IFC4X3-only classes as well as the IFC4 codegen pin.
170
+ // The schema-union helper preserves the pinned result when available and
171
+ // supplies the missing names for the other bundled schemas.
172
+ const exact = schemaVersion ? registryEntity(getSchemaRegistryForVersion(schemaVersion), entity.type) : undefined;
173
+ const declared = exact?.allAttributes?.map((attribute) => attribute.name);
174
+ const attrNames = declared && declared.length > 0 ? declared : getAttributeNamesAcrossSchemas(entity.type);
155
175
  const result = [];
156
176
  const len = Math.min(attrs.length, attrNames.length);
157
177
  for (let i = 0; i < len; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser-root-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-root-attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnar-parser-root-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-root-attributes.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,8 @@ export declare class ColumnarParser {
129
129
  value: PropertyValue;
130
130
  values?: string[];
131
131
  dataType?: string;
132
+ unit?: string;
133
+ unitSiScale?: number;
132
134
  }>;
133
135
  }>;
134
136
  /**
@@ -158,6 +160,8 @@ export declare function extractPropertiesOnDemand(store: IfcDataStore, entityId:
158
160
  value: PropertyValue;
159
161
  values?: string[];
160
162
  dataType?: string;
163
+ unit?: string;
164
+ unitSiScale?: number;
161
165
  }>;
162
166
  }>;
163
167
  /**
@@ -173,7 +177,7 @@ export declare function extractQuantitiesOnDemand(store: IfcDataStore, entityId:
173
177
  value: number;
174
178
  }>;
175
179
  }>;
176
- export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
180
+ export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractExactRelatedIds, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
177
181
  export { mergeInheritedPropertySets, mergeInheritedQuantitySets } from './property-set-merge.js';
178
182
  export type { ClassificationInfo, ClassificationSystemNames, MaterialInfo, MaterialLayerInfo, MaterialProfileInfo, MaterialConstituentInfo, MaterialPsetGroup, MaterialLeaf, MaterialUsage, TypePropertyInfo, TypeQuantityInfo, DocumentInfo, EntityRelationships, GroupMember, GeorefInfo, } from './on-demand-extractors.js';
179
183
  //# sourceMappingURL=columnar-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser.d.ts","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnar-parser.d.ts","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  import { SpatialHierarchyBuilder } from './spatial-hierarchy-builder.js';
5
5
  import { EntityExtractor } from './entity-extractor.js';
6
6
  import { extractLengthUnitScale } from './unit-extractor.js';
7
- import { parsePropertyValueWithComplex } from './on-demand-extractors.js';
7
+ import { extractPsetsFromIds } from './on-demand-extractors.js';
8
8
  import { readQuantitySet } from './quantity-collect.js';
9
9
  import { prepareColumnarEntities } from './columnar-entity-preparation.js';
10
10
  import { yieldToEventLoop } from './yield-to-event-loop.js';
@@ -53,6 +53,12 @@ export async function parseColumnarInput(buffer, input, options = {}) {
53
53
  // from a substring scan of the raw bytes — exporter product names in
54
54
  // FILE_NAME free text carry schema tokens too (issue #3278).
55
55
  const schemaVersion = detectSchemaVersion(uint8Buffer, sourceHeader);
56
+ // Headerless synthetic inputs historically accepted the union of the
57
+ // bundled schemas. Keep that compatibility while real IFC files use
58
+ // their declared schema's relationship layouts.
59
+ const relationshipSchemaVersion = sourceHeader
60
+ ? schemaVersion
61
+ : undefined;
56
62
  // Initialize builders (entity table capacity set after categorization below)
57
63
  const strings = new StringTable();
58
64
  const propertyTableBuilder = new PropertyTableBuilder(strings);
@@ -94,7 +100,9 @@ export async function parseColumnarInput(buffer, input, options = {}) {
94
100
  // (instead of per-entity calls), and pure byte scanning for relationships.
95
101
  options.onProgress?.({ phase: 'parsing entities', percent: 10 });
96
102
  const extractor = new EntityExtractor(uint8Buffer);
97
- // Spatial entities: small count, use extractEntity for full accuracy
103
+ // Spatial entities: small count, use extractEntity for full accuracy.
104
+ // `name` stays `undefined` for a STEP `$` rather than defaulting to
105
+ // '', distinct from an explicit empty string (#4930).
98
106
  const parsedEntityData = new Map();
99
107
  for (const ref of spatialRefs) {
100
108
  const entity = extractor.extractEntity(ref);
@@ -102,7 +110,7 @@ export async function parseColumnarInput(buffer, input, options = {}) {
102
110
  const attrs = entity.attributes || [];
103
111
  parsedEntityData.set(ref.expressId, {
104
112
  globalId: typeof attrs[0] === 'string' ? attrs[0] : '',
105
- name: typeof attrs[2] === 'string' ? attrs[2] : '',
113
+ name: typeof attrs[2] === 'string' ? attrs[2] : undefined,
106
114
  });
107
115
  }
108
116
  }
@@ -156,7 +164,7 @@ export async function parseColumnarInput(buffer, input, options = {}) {
156
164
  await yieldIfNeeded();
157
165
  const ref = relationshipRefs[i];
158
166
  const typeUpper = getTypeUpper(ref.type);
159
- const rel = extractRelFast(uint8Buffer, ref.byteOffset, ref.byteLength, typeUpper);
167
+ const rel = extractRelFast(uint8Buffer, ref.byteOffset, ref.byteLength, typeUpper, relationshipSchemaVersion);
160
168
  if (rel) {
161
169
  const relType = REL_TYPE_MAP[typeUpper];
162
170
  if (relType) {
@@ -186,7 +194,7 @@ export async function parseColumnarInput(buffer, input, options = {}) {
186
194
  const addEntityBatch = (refs, hasGeometry, isType) => {
187
195
  for (const ref of refs) {
188
196
  const entityData = parsedEntityData.get(ref.expressId);
189
- entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name || '', '', // description
197
+ entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name, '', // description
190
198
  '', // objectType
191
199
  hasGeometry, isType);
192
200
  }
@@ -249,14 +257,14 @@ export async function parseColumnarInput(buffer, input, options = {}) {
249
257
  };
250
258
  for (const ref of spatialRefs) {
251
259
  const entityData = parsedEntityData.get(ref.expressId);
252
- entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name || '', '', // description
260
+ entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name, '', // description
253
261
  '', // objectType
254
262
  hasOwnRepresentationSlot(getTypeUpper(ref.type))
255
263
  && hasAttrValueAt(uint8Buffer, ref.byteOffset, ref.byteLength, 6), false);
256
264
  }
257
265
  for (const ref of geometryRefs) {
258
266
  const entityData = parsedEntityData.get(ref.expressId);
259
- entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name || '', '', // description
267
+ entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name, '', // description
260
268
  '', // objectType
261
269
  hasOwnRepresentationSlot(getTypeUpper(ref.type))
262
270
  && hasAttrValueAt(uint8Buffer, ref.byteOffset, ref.byteLength, 6), false);
@@ -265,7 +273,7 @@ export async function parseColumnarInput(buffer, input, options = {}) {
265
273
  addEntityBatch(relationshipRefs, false, false);
266
274
  for (const ref of otherRelevantRefs) {
267
275
  const entityData = parsedEntityData.get(ref.expressId);
268
- entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name || '', '', // description
276
+ entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name, '', // description
269
277
  '', // objectType
270
278
  hasOwnRepresentationSlot(getTypeUpper(ref.type))
271
279
  && hasAttrValueAt(uint8Buffer, ref.byteOffset, ref.byteLength, 6), false);
@@ -276,7 +284,7 @@ export async function parseColumnarInput(buffer, input, options = {}) {
276
284
  for (const ref of groupRefs) {
277
285
  const entityData = parsedEntityData.get(ref.expressId);
278
286
  const extra = groupExtra.get(ref.expressId);
279
- entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name || '', extra?.description || '', extra?.objectType || '', false, false);
287
+ entityTableBuilder.add(ref.expressId, ref.type, entityData?.globalId || '', entityData?.name, extra?.description || '', extra?.objectType || '', false, false);
280
288
  }
281
289
  logPhase('add entity batches');
282
290
  const entityTable = entityTableBuilder.build();
@@ -512,52 +520,7 @@ export class ColumnarParser {
512
520
  if (!psetIds || psetIds.length === 0) {
513
521
  return [];
514
522
  }
515
- const extractor = new EntityExtractor(store.source);
516
- const result = [];
517
- for (const psetId of psetIds) {
518
- const psetRef = getEntityRefFromStore(store, psetId);
519
- if (!psetRef)
520
- continue;
521
- const psetEntity = extractor.extractEntity(psetRef);
522
- if (!psetEntity)
523
- continue;
524
- const psetAttrs = psetEntity.attributes || [];
525
- const psetGlobalId = typeof psetAttrs[0] === 'string' ? psetAttrs[0] : undefined;
526
- const psetName = typeof psetAttrs[2] === 'string' ? psetAttrs[2] : ''; // not `PropertySet #<id>` (#3530)
527
- const hasProperties = psetAttrs[4];
528
- const properties = [];
529
- if (Array.isArray(hasProperties)) {
530
- for (const propRef of hasProperties) {
531
- if (typeof propRef !== 'number')
532
- continue;
533
- const propEntityRef = getEntityRefFromStore(store, propRef);
534
- if (!propEntityRef)
535
- continue;
536
- const propEntity = extractor.extractEntity(propEntityRef);
537
- if (!propEntity)
538
- continue;
539
- const propAttrs = propEntity.attributes || [];
540
- const propName = typeof propAttrs[0] === 'string' ? propAttrs[0] : '';
541
- if (!propName)
542
- continue;
543
- const parsed = parsePropertyValueWithComplex(store, extractor, propEntity);
544
- const entry = {
545
- name: propName,
546
- type: parsed.type,
547
- value: parsed.value,
548
- };
549
- if (parsed.values)
550
- entry.values = parsed.values;
551
- if (parsed.dataType)
552
- entry.dataType = parsed.dataType;
553
- properties.push(entry);
554
- }
555
- }
556
- if (properties.length > 0 || psetName) {
557
- result.push({ name: psetName, globalId: psetGlobalId, properties });
558
- }
559
- }
560
- return result;
523
+ return extractPsetsFromIds(store, new EntityExtractor(store.source), psetIds);
561
524
  }
562
525
  /**
563
526
  * Extract quantities for a single entity ON-DEMAND
@@ -603,6 +566,6 @@ export function extractQuantitiesOnDemand(store, entityId) {
603
566
  return parser.extractQuantitiesOnDemand(store, entityId);
604
567
  }
605
568
  // Re-export on-demand extraction functions from focused module
606
- export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
569
+ export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractExactRelatedIds, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
607
570
  export { mergeInheritedPropertySets, mergeInheritedQuantitySets } from './property-set-merge.js';
608
571
  //# sourceMappingURL=columnar-parser.js.map