@ifc-lite/parser 8.2.0 → 9.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 (61) hide show
  1. package/dist/columnar-parser.d.ts +5 -19
  2. package/dist/columnar-parser.d.ts.map +1 -1
  3. package/dist/data-store-transport.d.ts +1 -0
  4. package/dist/data-store-transport.d.ts.map +1 -1
  5. package/dist/data-store-transport.js +6 -0
  6. package/dist/data-store-transport.js.map +1 -1
  7. package/dist/effective-spatial-members.d.ts +11 -0
  8. package/dist/effective-spatial-members.d.ts.map +1 -0
  9. package/dist/effective-spatial-members.js +32 -0
  10. package/dist/effective-spatial-members.js.map +1 -0
  11. package/dist/effective-storey.d.ts +5 -0
  12. package/dist/effective-storey.d.ts.map +1 -0
  13. package/dist/effective-storey.js +64 -0
  14. package/dist/effective-storey.js.map +1 -0
  15. package/dist/index.d.ts +5 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +3 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/material-associations.d.ts +24 -0
  20. package/dist/material-associations.d.ts.map +1 -0
  21. package/dist/material-associations.js +67 -0
  22. package/dist/material-associations.js.map +1 -0
  23. package/dist/material-properties-extractor.d.ts +37 -0
  24. package/dist/material-properties-extractor.d.ts.map +1 -0
  25. package/dist/material-properties-extractor.js +217 -0
  26. package/dist/material-properties-extractor.js.map +1 -0
  27. package/dist/material-resolver.d.ts +1 -9
  28. package/dist/material-resolver.d.ts.map +1 -1
  29. package/dist/material-resolver.js +23 -67
  30. package/dist/material-resolver.js.map +1 -1
  31. package/dist/on-demand-extractors.d.ts +6 -61
  32. package/dist/on-demand-extractors.d.ts.map +1 -1
  33. package/dist/on-demand-extractors.js +15 -166
  34. package/dist/on-demand-extractors.js.map +1 -1
  35. package/dist/owning-project.d.ts.map +1 -1
  36. package/dist/owning-project.js +1 -0
  37. package/dist/owning-project.js.map +1 -1
  38. package/dist/property-complex-value.d.ts +34 -0
  39. package/dist/property-complex-value.d.ts.map +1 -0
  40. package/dist/property-complex-value.js +111 -0
  41. package/dist/property-complex-value.js.map +1 -0
  42. package/dist/property-reference-value.d.ts +15 -0
  43. package/dist/property-reference-value.d.ts.map +1 -0
  44. package/dist/property-reference-value.js +34 -0
  45. package/dist/property-reference-value.js.map +1 -0
  46. package/dist/property-value-parser.d.ts +20 -21
  47. package/dist/property-value-parser.d.ts.map +1 -1
  48. package/dist/property-value-parser.js +32 -97
  49. package/dist/property-value-parser.js.map +1 -1
  50. package/dist/source-header.d.ts.map +1 -1
  51. package/dist/source-header.js +18 -8
  52. package/dist/source-header.js.map +1 -1
  53. package/dist/structural-extractor-values.d.ts +18 -0
  54. package/dist/structural-extractor-values.d.ts.map +1 -0
  55. package/dist/structural-extractor-values.js +50 -0
  56. package/dist/structural-extractor-values.js.map +1 -0
  57. package/dist/structural-extractor.d.ts +16 -1
  58. package/dist/structural-extractor.d.ts.map +1 -1
  59. package/dist/structural-extractor.js +70 -74
  60. package/dist/structural-extractor.js.map +1 -1
  61. package/package.json +6 -6
@@ -6,7 +6,6 @@
6
6
  * rather than pre-building all data upfront during initial parse.
7
7
  */
8
8
  import { EntityExtractor } from './entity-extractor.js';
9
- import type { PropertyValue } from '@ifc-lite/data';
10
9
  import type { IfcDataStore } from './columnar-parser.js';
11
10
  import { type CollectedQuantity } from './quantity-collect.js';
12
11
  import type { GeoreferenceInfo } from './georef-extractor.js';
@@ -28,16 +27,7 @@ export interface TypePropertyInfo {
28
27
  properties: Array<{
29
28
  name: string;
30
29
  globalId?: string;
31
- properties: Array<{
32
- name: string;
33
- type: number;
34
- value: PropertyValue;
35
- values?: string[];
36
- dataType?: string;
37
- dataTypeMixed?: true;
38
- unit?: string;
39
- unitSiScale?: number;
40
- }>;
30
+ properties: Array<ExtractedProperty>;
41
31
  }>;
42
32
  }
43
33
  /**
@@ -68,40 +58,13 @@ export interface DocumentInfo {
68
58
  confidentiality?: string;
69
59
  }
70
60
  export type { GeoreferenceInfo as GeorefInfo };
71
- /**
72
- * Property sets attached to a material via IfcMaterialProperties (e.g.
73
- * Pset_MaterialConcrete). Grouped per underlying IfcMaterial so the UI can
74
- * show which material each set belongs to. See {@link extractMaterialPropertiesOnDemand}.
75
- */
76
- export interface MaterialPsetGroup {
77
- materialId: number;
78
- materialName: string;
79
- psets: Array<{
80
- name: string;
81
- properties: Array<{
82
- name: string;
83
- type: number;
84
- value: PropertyValue;
85
- values?: string[];
86
- dataType?: string;
87
- dataTypeMixed?: true;
88
- }>;
89
- }>;
90
- }
91
61
  export { parsePropertyValue, extractNumericValue, resolveComplexPropertyValue, parsePropertyValueWithComplex, } from './property-value-parser.js';
62
+ import { type ExtractedProperty } from './property-value-parser.js';
92
63
  /** Extract property sets from IDs, shared by instance- and type-level extraction. */
93
64
  export declare function extractPsetsFromIds(store: IfcDataStore, extractor: EntityExtractor, psetIds: number[]): Array<{
94
65
  name: string;
95
66
  globalId?: string;
96
- properties: Array<{
97
- name: string;
98
- type: number;
99
- value: PropertyValue;
100
- values?: string[];
101
- dataType?: string;
102
- unit?: string;
103
- unitSiScale?: number;
104
- }>;
67
+ properties: Array<ExtractedProperty>;
105
68
  }>;
106
69
  /**
107
70
  * Extract type-level properties for a single entity ON-DEMAND.
@@ -119,14 +82,7 @@ export declare function extractTypePropertiesOnDemand(store: IfcDataStore, entit
119
82
  export declare function extractTypeEntityOwnProperties(store: IfcDataStore, typeEntityId: number): Array<{
120
83
  name: string;
121
84
  globalId?: string;
122
- properties: Array<{
123
- name: string;
124
- type: number;
125
- value: PropertyValue;
126
- values?: string[];
127
- dataType?: string;
128
- dataTypeMixed?: true;
129
- }>;
85
+ properties: Array<ExtractedProperty>;
130
86
  }>;
131
87
  /**
132
88
  * Extract quantity sets (IfcElementQuantity) from a list of set IDs using the
@@ -183,17 +139,6 @@ export interface GroupMember {
183
139
  export declare function extractGroupMembersOnDemand(store: IfcDataStore, groupId: number): GroupMember[];
184
140
  export { extractGroupAssignmentFactorOnDemand } from './group-assignment-factor.js';
185
141
  export { extractGeoreferencingOnDemand } from './on-demand-georeferencing.js';
186
- /**
187
- * Material property sets associated with a selected element, resolved through
188
- * its material association. Fans out a layer/profile/constituent set to its
189
- * member IfcMaterials (where Pset_Material* typically lives) and also checks
190
- * the set definition itself. Returns one group per material that has psets.
191
- */
192
- export declare function extractMaterialPropertiesOnDemand(store: IfcDataStore, entityId: number): MaterialPsetGroup[];
193
- /**
194
- * Material property sets for a directly-selected material entity (the Materials
195
- * hierarchy tab). Includes the material's own psets plus, when it is a set
196
- * definition, those of its member materials.
197
- */
198
- export declare function extractMaterialPropertiesForMaterialId(store: IfcDataStore, materialId: number): MaterialPsetGroup[];
142
+ export { extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId } from './material-properties-extractor.js';
143
+ export type { MaterialPropertiesView, MaterialPsetGroup } from './material-properties-extractor.js';
199
144
  //# sourceMappingURL=on-demand-extractors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"on-demand-extractors.d.ts","sourceRoot":"","sources":["../src/on-demand-extractors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"on-demand-extractors.d.ts","sourceRoot":"","sources":["../src/on-demand-extractors.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,6 @@ export { extractExactRelatedIds } from './exact-relationship-edges.js';
18
18
  export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand } from './classification-resolver.js';
19
19
  export { extractMaterialsOnDemand, extractAllMaterialsOnDemand } from './material-resolver.js';
20
20
  export { resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, } from './material-resolver.js';
21
- import { resolveAllMaterialDefIds as resolveAllMaterialDefIdsImpl, collectMaterialLeaves as collectMaterialLeavesImpl, getMaterialDisplay as getMaterialDisplayImpl, } from './material-resolver.js';
22
21
  // ============================================================================
23
22
  // Property Value Parsing Helpers
24
23
  // ============================================================================
@@ -26,7 +25,7 @@ import { resolveAllMaterialDefIds as resolveAllMaterialDefIdsImpl, collectMateri
26
25
  // Moved to ./property-value-parser.ts to stay under the module-size budget;
27
26
  // re-exported here so every existing import of this module keeps resolving.
28
27
  export { parsePropertyValue, extractNumericValue, resolveComplexPropertyValue, parsePropertyValueWithComplex, } from './property-value-parser.js';
29
- import { parsePropertyValueWithComplex } from './property-value-parser.js';
28
+ import { copyParsedExtras, parsePropertyValueWithComplex } from './property-value-parser.js';
30
29
  import { resolvePropertyUnit } from './property-unit.js';
31
30
  // ============================================================================
32
31
  // Property Set Extraction Helpers
@@ -35,6 +34,7 @@ import { resolvePropertyUnit } from './property-unit.js';
35
34
  export function extractPsetsFromIds(store, extractor, psetIds) {
36
35
  const result = [];
37
36
  for (const psetId of psetIds) {
37
+ // @raw-entity-enumeration-ok one requested set id is decoded from its source STEP span
38
38
  const psetRef = store.entityIndex.byId.get(psetId) ?? store.deferredEntityIndex?.get(psetId);
39
39
  if (!psetRef)
40
40
  continue;
@@ -53,6 +53,7 @@ export function extractPsetsFromIds(store, extractor, psetIds) {
53
53
  for (const propRef of hasProperties) {
54
54
  if (typeof propRef !== 'number')
55
55
  continue;
56
+ // @raw-entity-enumeration-ok one referenced property id is decoded from its source STEP span
56
57
  const propEntityRef = store.entityIndex.byId.get(propRef) ?? store.deferredEntityIndex?.get(propRef);
57
58
  if (!propEntityRef)
58
59
  continue;
@@ -69,12 +70,7 @@ export function extractPsetsFromIds(store, extractor, psetIds) {
69
70
  type: parsed.type,
70
71
  value: parsed.value,
71
72
  };
72
- if (parsed.values)
73
- entry.values = parsed.values;
74
- if (parsed.dataType)
75
- entry.dataType = parsed.dataType;
76
- if (parsed.dataTypeMixed)
77
- entry.dataTypeMixed = true;
73
+ copyParsedExtras(entry, parsed);
78
74
  const unit = resolvePropertyUnit(store, extractor, propEntity.type, propAttrs, parsed.dataType);
79
75
  if (unit)
80
76
  entry.unit = unit.symbol;
@@ -112,6 +108,7 @@ export function extractTypePropertiesOnDemand(store, entityId) {
112
108
  if (typeIds.length === 0)
113
109
  return null;
114
110
  const typeId = typeIds[0]; // An element typically has one type
111
+ // @raw-entity-enumeration-ok typeIds came from this selected entity's relationship lookup
115
112
  const typeRef = store.entityIndex.byId.get(typeId);
116
113
  if (!typeRef)
117
114
  return null;
@@ -159,6 +156,7 @@ export function extractTypePropertiesOnDemand(store, entityId) {
159
156
  * Returns the type's own property sets from attribute index 5 + any via IfcRelDefinesByProperties.
160
157
  */
161
158
  export function extractTypeEntityOwnProperties(store, typeEntityId) {
159
+ // @raw-entity-enumeration-ok the caller selected this one source type entity by id
162
160
  const ref = store.entityIndex.byId.get(typeEntityId);
163
161
  if (!ref || !store.source?.length)
164
162
  return [];
@@ -199,6 +197,7 @@ export function extractTypeEntityOwnProperties(store, typeEntityId) {
199
197
  export function extractQsetsFromIds(store, extractor, qsetIds) {
200
198
  const result = [];
201
199
  for (const qsetId of qsetIds) {
200
+ // @raw-entity-enumeration-ok one requested quantity-set id is decoded from its source STEP span
202
201
  const qsetRef = store.entityIndex.byId.get(qsetId);
203
202
  if (!qsetRef)
204
203
  continue;
@@ -234,6 +233,7 @@ export function extractTypeQuantitiesOnDemand(store, entityId) {
234
233
  if (typeIds.length === 0)
235
234
  return null;
236
235
  const typeId = typeIds[0];
236
+ // @raw-entity-enumeration-ok typeIds came from this selected entity's relationship lookup
237
237
  const typeRef = store.entityIndex.byId.get(typeId);
238
238
  if (!typeRef)
239
239
  return null;
@@ -315,6 +315,7 @@ export function extractDocumentsOnDemand(store, entityId) {
315
315
  const extractor = new EntityExtractor(store.source);
316
316
  const results = [];
317
317
  for (const docId of docRefIds) {
318
+ // @raw-entity-enumeration-ok one relationship-selected document id is decoded from its source STEP span
318
319
  const docRef = store.entityIndex.byId.get(docId);
319
320
  if (!docRef)
320
321
  continue;
@@ -334,6 +335,7 @@ export function extractDocumentsOnDemand(store, entityId) {
334
335
  };
335
336
  // Walk to IfcDocumentInformation if ReferencedDocument is set (IFC4 attr[4])
336
337
  if (typeof attrs[4] === 'number') {
338
+ // @raw-entity-enumeration-ok follow this document's one ReferencedDocument source id
337
339
  const docInfoRef = store.entityIndex.byId.get(attrs[4]);
338
340
  if (docInfoRef) {
339
341
  const docInfoEntity = extractor.extractEntity(docInfoRef);
@@ -399,6 +401,7 @@ export function extractRelationshipsOnDemand(store, entityId) {
399
401
  return result;
400
402
  result.relations = extractExactRelationshipEdges(store, entityId);
401
403
  const getEntityInfo = (id) => {
404
+ // @raw-entity-enumeration-ok graph already selected this related id; source index supplies its STEP class only
402
405
  const ref = store.entityIndex.byId.get(id);
403
406
  // Canonical IfcPascalCase (e.g. "IfcZone") for display + case-sensitive
404
407
  // consumers; `ref.type` is the raw STEP token ("IFCZONE"). Groups now
@@ -456,6 +459,7 @@ export function extractGroupMembersOnDemand(store, groupId) {
456
459
  const memberIds = store.relationships.getRelated(groupId, RelationshipType.AssignsToGroup, 'forward');
457
460
  const members = [];
458
461
  for (const id of memberIds) {
462
+ // @raw-entity-enumeration-ok graph already selected this group member id; source index supplies its STEP class only
459
463
  const ref = store.entityIndex.byId.get(id);
460
464
  // Canonical IfcPascalCase (e.g. "IfcSpace") — `ref.type` is the raw STEP
461
465
  // token ("IFCSPACE"), which would break case-sensitive class checks in
@@ -482,162 +486,7 @@ export { extractGroupAssignmentFactorOnDemand } from './group-assignment-factor.
482
486
  // ./on-demand-georeferencing.ts, re-exported here so every existing import
483
487
  // of this module keeps resolving.
484
488
  export { extractGeoreferencingOnDemand } from './on-demand-georeferencing.js';
485
- const materialPropertyIndexCache = new WeakMap();
486
- /** Resolve an entity ref from the primary index, falling back to deferred atoms. */
487
- function refFromStore(store, id) {
488
- return store.entityIndex.byId.get(id) ?? store.deferredEntityIndex?.get(id);
489
- }
490
- /**
491
- * Resolve the (materialId, propsList, psetName) triple for a *MaterialProperties
492
- * entity, dispatching on its concrete class rather than guessing attribute
493
- * positions. The two generic forms that carry an IfcProperty list are handled:
494
- * - IfcMaterialProperties (IFC4+): [Name, Description, Properties, Material]
495
- * - IfcExtendedMaterialProperties (IFC2x3): [Material, ExtendedProperties, Description, Name]
496
- * The typed IFC2x3 subtypes (IfcMechanicalMaterialProperties, IfcThermalMaterialProperties,
497
- * …) expose domain-specific scalar fields instead of a generic property list and
498
- * are not surfaced (returns null) — they are not the Pset_Material* this targets.
499
- */
500
- function readMaterialPropsEntity(typeKey, attrs, entityType) {
501
- let materialId;
502
- let propsList;
503
- let name;
504
- if (typeKey === 'IFCMATERIALPROPERTIES') {
505
- name = attrs[0];
506
- propsList = attrs[2];
507
- materialId = attrs[3];
508
- }
509
- else if (typeKey === 'IFCEXTENDEDMATERIALPROPERTIES') {
510
- materialId = attrs[0];
511
- propsList = attrs[1];
512
- name = attrs[3];
513
- }
514
- else {
515
- return null; // typed IFC2x3 scalar subtype — no generic property list
516
- }
517
- if (typeof materialId !== 'number' || !Array.isArray(propsList))
518
- return null;
519
- const psetName = typeof name === 'string' && name ? name : (entityType || 'Material Properties');
520
- return { materialId, propsList, psetName };
521
- }
522
- /**
523
- * Build (and memoise) the model-wide map of materialId -> property sets defined
524
- * via IfcMaterialProperties / IfcExtendedMaterialProperties. These reference the
525
- * material directly (not through IfcRelDefinesByProperties), so they are found by
526
- * scanning every *MaterialProperties entity once.
527
- */
528
- function getMaterialPropertyIndex(store) {
529
- const cached = materialPropertyIndexCache.get(store);
530
- if (cached)
531
- return cached;
532
- const index = new Map();
533
- if (!store.source?.length || !store.entityIndex?.byType) {
534
- materialPropertyIndexCache.set(store, index);
535
- return index;
536
- }
537
- const extractor = new EntityExtractor(store.source);
538
- for (const [typeKey, ids] of store.entityIndex.byType) {
539
- if (!typeKey.endsWith('MATERIALPROPERTIES'))
540
- continue;
541
- for (const matPropsId of ids) {
542
- const ref = refFromStore(store, matPropsId);
543
- if (!ref)
544
- continue;
545
- const entity = extractor.extractEntity(ref);
546
- const attrs = entity?.attributes;
547
- if (!attrs)
548
- continue;
549
- const parsed = readMaterialPropsEntity(typeKey, attrs, entity.type);
550
- if (!parsed)
551
- continue;
552
- const properties = [];
553
- for (const propRef of parsed.propsList) {
554
- if (typeof propRef !== 'number')
555
- continue;
556
- const propEntityRef = refFromStore(store, propRef);
557
- if (!propEntityRef)
558
- continue;
559
- const propEntity = extractor.extractEntity(propEntityRef);
560
- if (!propEntity)
561
- continue;
562
- const propAttrs = propEntity.attributes || [];
563
- const propName = typeof propAttrs[0] === 'string' ? propAttrs[0] : '';
564
- if (!propName)
565
- continue;
566
- const pv = parsePropertyValueWithComplex(store, extractor, propEntity);
567
- const entry = {
568
- name: propName,
569
- type: pv.type,
570
- value: pv.value,
571
- };
572
- if (pv.values)
573
- entry.values = pv.values;
574
- if (pv.dataType)
575
- entry.dataType = pv.dataType;
576
- if (pv.dataTypeMixed)
577
- entry.dataTypeMixed = true;
578
- properties.push(entry);
579
- }
580
- if (properties.length === 0)
581
- continue;
582
- let list = index.get(parsed.materialId);
583
- if (!list) {
584
- list = [];
585
- index.set(parsed.materialId, list);
586
- }
587
- list.push({ name: parsed.psetName, properties });
588
- }
589
- }
590
- materialPropertyIndexCache.set(store, index);
591
- return index;
592
- }
593
- /** Build pset groups for a set of candidate material ids using the reverse index. */
594
- function buildMaterialPsetGroups(store, materialIds) {
595
- const index = getMaterialPropertyIndex(store);
596
- if (index.size === 0)
597
- return [];
598
- const groups = [];
599
- const seen = new Set();
600
- for (const matId of materialIds) {
601
- if (seen.has(matId))
602
- continue;
603
- seen.add(matId);
604
- const entries = index.get(matId);
605
- if (!entries || entries.length === 0)
606
- continue;
607
- const { name } = getMaterialDisplayImpl(store, matId);
608
- groups.push({
609
- materialId: matId,
610
- materialName: name,
611
- psets: entries.map((e) => ({ name: e.name, properties: e.properties })),
612
- });
613
- }
614
- return groups;
615
- }
616
- /**
617
- * Material property sets associated with a selected element, resolved through
618
- * its material association. Fans out a layer/profile/constituent set to its
619
- * member IfcMaterials (where Pset_Material* typically lives) and also checks
620
- * the set definition itself. Returns one group per material that has psets.
621
- */
622
- export function extractMaterialPropertiesOnDemand(store, entityId) {
623
- // Every association, not just the primary — psets on a second
624
- // IfcRelAssociatesMaterial's definition were previously invisible.
625
- const defIds = resolveAllMaterialDefIdsImpl(store, entityId);
626
- if (defIds.length === 0)
627
- return [];
628
- const ids = [];
629
- for (const defId of defIds) {
630
- ids.push(defId, ...collectMaterialLeavesImpl(store, defId).map((l) => l.id));
631
- }
632
- return buildMaterialPsetGroups(store, ids);
633
- }
634
- /**
635
- * Material property sets for a directly-selected material entity (the Materials
636
- * hierarchy tab). Includes the material's own psets plus, when it is a set
637
- * definition, those of its member materials.
638
- */
639
- export function extractMaterialPropertiesForMaterialId(store, materialId) {
640
- const leafIds = collectMaterialLeavesImpl(store, materialId).map((l) => l.id);
641
- return buildMaterialPsetGroups(store, [materialId, ...leafIds]);
642
- }
489
+ // Material property sets are isolated here because their reverse index is a
490
+ // separate concern from the other on-demand entity extractors.
491
+ export { extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId } from './material-properties-extractor.js';
643
492
  //# sourceMappingURL=on-demand-extractors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"on-demand-extractors.js","sourceRoot":"","sources":["../src/on-demand-extractors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"on-demand-extractors.js","sourceRoot":"","sources":["../src/on-demand-extractors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"owning-project.d.ts","sourceRoot":"","sources":["../src/owning-project.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;CACrG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE;IAAE,IAAI,EAAE;QAAE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,EACvG,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAqCpB"}
1
+ {"version":3,"file":"owning-project.d.ts","sourceRoot":"","sources":["../src/owning-project.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;CACrG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE;IAAE,IAAI,EAAE;QAAE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,EACvG,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAsCpB"}
@@ -35,6 +35,7 @@ import { RelationshipType } from '@ifc-lite/data';
35
35
  * `undefined`, matching prior single-project behaviour.
36
36
  */
37
37
  export function resolveOwningIfcProjectId(entityIndex, relationships, expressId) {
38
+ // @raw-entity-enumeration-ok file-level unit resolution checks the source projects; live entity membership is not inferred from this count
38
39
  const projectIds = entityIndex.byType.get('IFCPROJECT') || [];
39
40
  if (projectIds.length <= 1)
40
41
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"owning-project.js","sourceRoot":"","sources":["../src/owning-project.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAa/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAuG,EACvG,aAAwC,EACxC,SAAiB;IAEjB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAErC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,OAAO,GAAuB,SAAS,CAAC;IAE5C,yEAAyE;IACzE,4EAA4E;IAC5E,uDAAuD;IACvD,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC,CAAC,oBAAoB;QAChE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACnG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,oEAAoE;QACpE,mEAAmE;QACnE,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACpG,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"owning-project.js","sourceRoot":"","sources":["../src/owning-project.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAa/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAuG,EACvG,aAAwC,EACxC,SAAiB;IAEjB,2IAA2I;IAC3I,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAErC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,OAAO,GAAuB,SAAS,CAAC;IAE5C,yEAAyE;IACzE,4EAA4E;IAC5E,uDAAuD;IACvD,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC,CAAC,oBAAoB;QAChE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACnG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,oEAAoE;QACpE,mEAAmE;QACnE,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACpG,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * `IfcComplexProperty` decoding. Split out of `property-value-parser.ts` for
3
+ * the module-size budget; `parsePropertyValueWithComplex` there dispatches
4
+ * here, and each nested member is decoded back through it.
5
+ */
6
+ import type { IfcEntity } from './types.js';
7
+ import type { EntityExtractor } from './entity-extractor.js';
8
+ import type { IfcDataStore } from './columnar-parser.js';
9
+ import { type ParsedIfcPropertyValue } from './property-value-parser.js';
10
+ /**
11
+ * Resolve an `IfcComplexProperty`'s nested `HasProperties` (EXPRESS:
12
+ * `[Name, Description, UsageName, HasProperties]`, index 3) into a display
13
+ * value plus a flat `values` candidate list, recursing into any further
14
+ * nested `IfcComplexProperty`. Without this, `parsePropertyValue`'s
15
+ * default branch reads attribute index 2 as if it were a `NominalValue`,
16
+ * which for `IfcComplexProperty` is `UsageName` — a label, not a value — and
17
+ * every nested property silently vanishes from the panel/query output.
18
+ *
19
+ * `members` keeps each nested property by its own `Name`, decoded the same
20
+ * way and with its own explicit unit, so a rule's `memberPath` can address
21
+ * one member (#5475).
22
+ *
23
+ * Hitting {@link MAX_COMPLEX_PROPERTY_DEPTH} with a non-empty `HasProperties`
24
+ * still unread appends {@link complexPropertyTruncationMarker}; a bare
25
+ * `UsageName` there is a plausible, well-formed value indistinguishable from
26
+ * a complex property that genuinely has no nested content (issue #3972). The
27
+ * empty-`UsageName` case matters most — before #3972 it produced an empty
28
+ * display, the caller loop `continue`d past it, and the whole nested member
29
+ * vanished while its parent fell back to showing its OWN `UsageName`, so the
30
+ * reader saw a real value attributed to the wrong nesting level. An absent or
31
+ * empty `HasProperties` is NOT a truncation and keeps the bare `UsageName`.
32
+ */
33
+ export declare function resolveComplexPropertyValue(store: IfcDataStore, extractor: EntityExtractor, propEntity: IfcEntity, depth?: number): ParsedIfcPropertyValue;
34
+ //# sourceMappingURL=property-complex-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-complex-value.d.ts","sourceRoot":"","sources":["../src/property-complex-value.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,4BAA4B,CAAC;AA2BpC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACvC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,SAAS,EACrB,KAAK,SAAI,GACV,sBAAsB,CA4DxB"}