@ifc-lite/export 4.4.0 → 4.7.2

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 (197) hide show
  1. package/README.md +5 -5
  2. package/dist/appearance-dependencies.d.ts.map +1 -1
  3. package/dist/appearance-dependencies.js +1 -0
  4. package/dist/appearance-dependencies.js.map +1 -1
  5. package/dist/attribute-real-slots.d.ts.map +1 -1
  6. package/dist/attribute-real-slots.js +7 -1
  7. package/dist/attribute-real-slots.js.map +1 -1
  8. package/dist/attribute-slot-types.d.ts +8 -2
  9. package/dist/attribute-slot-types.d.ts.map +1 -1
  10. package/dist/attribute-slot-types.js +12 -8
  11. package/dist/attribute-slot-types.js.map +1 -1
  12. package/dist/demesh-prune.d.ts.map +1 -1
  13. package/dist/demesh-prune.js +1 -0
  14. package/dist/demesh-prune.js.map +1 -1
  15. package/dist/demesh-writer.d.ts.map +1 -1
  16. package/dist/demesh-writer.js +1 -0
  17. package/dist/demesh-writer.js.map +1 -1
  18. package/dist/effective-appearance-record.d.ts.map +1 -1
  19. package/dist/effective-appearance-record.js +10 -17
  20. package/dist/effective-appearance-record.js.map +1 -1
  21. package/dist/effective-index.d.ts.map +1 -1
  22. package/dist/effective-index.js +2 -0
  23. package/dist/effective-index.js.map +1 -1
  24. package/dist/effective-source-record.d.ts +25 -0
  25. package/dist/effective-source-record.d.ts.map +1 -1
  26. package/dist/effective-source-record.js +45 -0
  27. package/dist/effective-source-record.js.map +1 -1
  28. package/dist/entity-iteration.d.ts.map +1 -1
  29. package/dist/entity-iteration.js +1 -0
  30. package/dist/entity-iteration.js.map +1 -1
  31. package/dist/entity-type-sets.js +2 -2
  32. package/dist/entity-type-sets.js.map +1 -1
  33. package/dist/generated/ifc4-required-slots.d.ts +17 -0
  34. package/dist/generated/ifc4-required-slots.d.ts.map +1 -0
  35. package/dist/generated/ifc4-required-slots.js +619 -0
  36. package/dist/generated/ifc4-required-slots.js.map +1 -0
  37. package/dist/georef-closure.d.ts.map +1 -1
  38. package/dist/georef-closure.js +5 -0
  39. package/dist/georef-closure.js.map +1 -1
  40. package/dist/ifc5-effective-rows.d.ts +16 -0
  41. package/dist/ifc5-effective-rows.d.ts.map +1 -0
  42. package/dist/ifc5-effective-rows.js +90 -0
  43. package/dist/ifc5-effective-rows.js.map +1 -0
  44. package/dist/ifc5-export-helpers.d.ts +19 -0
  45. package/dist/ifc5-export-helpers.d.ts.map +1 -1
  46. package/dist/ifc5-export-helpers.js +16 -0
  47. package/dist/ifc5-export-helpers.js.map +1 -1
  48. package/dist/ifc5-exporter.d.ts +9 -11
  49. package/dist/ifc5-exporter.d.ts.map +1 -1
  50. package/dist/ifc5-exporter.js +38 -95
  51. package/dist/ifc5-exporter.js.map +1 -1
  52. package/dist/ifc5-pset-properties.d.ts +61 -0
  53. package/dist/ifc5-pset-properties.d.ts.map +1 -0
  54. package/dist/ifc5-pset-properties.js +100 -0
  55. package/dist/ifc5-pset-properties.js.map +1 -0
  56. package/dist/ifc5-tree-scope.js +3 -0
  57. package/dist/ifc5-tree-scope.js.map +1 -1
  58. package/dist/index.d.ts +2 -1
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +2 -1
  61. package/dist/index.js.map +1 -1
  62. package/dist/lod0-generator.d.ts.map +1 -1
  63. package/dist/lod0-generator.js +2 -0
  64. package/dist/lod0-generator.js.map +1 -1
  65. package/dist/merged-context.d.ts.map +1 -1
  66. package/dist/merged-context.js +3 -0
  67. package/dist/merged-context.js.map +1 -1
  68. package/dist/merged-exporter.d.ts +3 -17
  69. package/dist/merged-exporter.d.ts.map +1 -1
  70. package/dist/merged-exporter.js +50 -46
  71. package/dist/merged-exporter.js.map +1 -1
  72. package/dist/merged-header.d.ts +11 -0
  73. package/dist/merged-header.d.ts.map +1 -0
  74. package/dist/merged-header.js +23 -0
  75. package/dist/merged-header.js.map +1 -0
  76. package/dist/nonrel-positional-ref-narrowing.d.ts +3 -0
  77. package/dist/nonrel-positional-ref-narrowing.d.ts.map +1 -0
  78. package/dist/nonrel-positional-ref-narrowing.js +194 -0
  79. package/dist/nonrel-positional-ref-narrowing.js.map +1 -0
  80. package/dist/nonrel-ref-list-types.d.ts +13 -0
  81. package/dist/nonrel-ref-list-types.d.ts.map +1 -0
  82. package/dist/nonrel-ref-list-types.js +162 -0
  83. package/dist/nonrel-ref-list-types.js.map +1 -0
  84. package/dist/parquet-created-entity-rows.d.ts +20 -0
  85. package/dist/parquet-created-entity-rows.d.ts.map +1 -0
  86. package/dist/parquet-created-entity-rows.js +40 -0
  87. package/dist/parquet-created-entity-rows.js.map +1 -0
  88. package/dist/parquet-exporter-ondemand.d.ts +3 -2
  89. package/dist/parquet-exporter-ondemand.d.ts.map +1 -1
  90. package/dist/parquet-exporter-ondemand.js +15 -6
  91. package/dist/parquet-exporter-ondemand.js.map +1 -1
  92. package/dist/parquet-exporter.d.ts +5 -12
  93. package/dist/parquet-exporter.d.ts.map +1 -1
  94. package/dist/parquet-exporter.js +35 -62
  95. package/dist/parquet-exporter.js.map +1 -1
  96. package/dist/parquet-relationship-rows.d.ts +11 -0
  97. package/dist/parquet-relationship-rows.d.ts.map +1 -0
  98. package/dist/parquet-relationship-rows.js +57 -0
  99. package/dist/parquet-relationship-rows.js.map +1 -0
  100. package/dist/reference-collector.d.ts +17 -1
  101. package/dist/reference-collector.d.ts.map +1 -1
  102. package/dist/reference-collector.js +30 -1
  103. package/dist/reference-collector.js.map +1 -1
  104. package/dist/registry-entity-names.d.ts +3 -0
  105. package/dist/registry-entity-names.d.ts.map +1 -0
  106. package/dist/registry-entity-names.js +38 -0
  107. package/dist/registry-entity-names.js.map +1 -0
  108. package/dist/relationship-slot-bounds.d.ts +14 -0
  109. package/dist/relationship-slot-bounds.d.ts.map +1 -0
  110. package/dist/relationship-slot-bounds.js +64 -0
  111. package/dist/relationship-slot-bounds.js.map +1 -0
  112. package/dist/retype.d.ts.map +1 -1
  113. package/dist/retype.js +5 -2
  114. package/dist/retype.js.map +1 -1
  115. package/dist/schema-conversion-loss-report.d.ts +97 -0
  116. package/dist/schema-conversion-loss-report.d.ts.map +1 -0
  117. package/dist/schema-conversion-loss-report.js +116 -0
  118. package/dist/schema-conversion-loss-report.js.map +1 -0
  119. package/dist/schema-converter-attr-remap.d.ts +8 -0
  120. package/dist/schema-converter-attr-remap.d.ts.map +1 -1
  121. package/dist/schema-converter-attr-remap.js +14 -1
  122. package/dist/schema-converter-attr-remap.js.map +1 -1
  123. package/dist/schema-converter-enums.d.ts +27 -0
  124. package/dist/schema-converter-enums.d.ts.map +1 -0
  125. package/dist/schema-converter-enums.js +117 -0
  126. package/dist/schema-converter-enums.js.map +1 -0
  127. package/dist/schema-converter-ifc4-slots.d.ts +36 -0
  128. package/dist/schema-converter-ifc4-slots.d.ts.map +1 -0
  129. package/dist/schema-converter-ifc4-slots.js +70 -0
  130. package/dist/schema-converter-ifc4-slots.js.map +1 -0
  131. package/dist/schema-converter.d.ts +41 -19
  132. package/dist/schema-converter.d.ts.map +1 -1
  133. package/dist/schema-converter.js +73 -42
  134. package/dist/schema-converter.js.map +1 -1
  135. package/dist/schema-enum-policy.d.ts +48 -0
  136. package/dist/schema-enum-policy.d.ts.map +1 -0
  137. package/dist/schema-enum-policy.js +26 -0
  138. package/dist/schema-enum-policy.js.map +1 -0
  139. package/dist/schema-untranslatable.d.ts +84 -2
  140. package/dist/schema-untranslatable.d.ts.map +1 -1
  141. package/dist/schema-untranslatable.js +98 -3
  142. package/dist/schema-untranslatable.js.map +1 -1
  143. package/dist/step-collection.js +1 -1
  144. package/dist/step-collection.js.map +1 -1
  145. package/dist/step-export-types.d.ts +13 -3
  146. package/dist/step-export-types.d.ts.map +1 -1
  147. package/dist/step-exporter.d.ts.map +1 -1
  148. package/dist/step-exporter.js +4 -2
  149. package/dist/step-exporter.js.map +1 -1
  150. package/dist/step-georeferencing.js +2 -0
  151. package/dist/step-georeferencing.js.map +1 -1
  152. package/dist/step-header.d.ts.map +1 -1
  153. package/dist/step-header.js +1 -0
  154. package/dist/step-header.js.map +1 -1
  155. package/dist/step-map-unit.d.ts.map +1 -1
  156. package/dist/step-map-unit.js +4 -0
  157. package/dist/step-map-unit.js.map +1 -1
  158. package/dist/step-overlay-entities.d.ts.map +1 -1
  159. package/dist/step-overlay-entities.js +5 -1
  160. package/dist/step-overlay-entities.js.map +1 -1
  161. package/dist/step-pass-builder.d.ts.map +1 -1
  162. package/dist/step-pass-builder.js +8 -1
  163. package/dist/step-pass-builder.js.map +1 -1
  164. package/dist/step-property-set-generators.d.ts.map +1 -1
  165. package/dist/step-property-set-generators.js +17 -0
  166. package/dist/step-property-set-generators.js.map +1 -1
  167. package/dist/step-property-set-index.d.ts +4 -10
  168. package/dist/step-property-set-index.d.ts.map +1 -1
  169. package/dist/step-property-set-index.js +52 -8
  170. package/dist/step-property-set-index.js.map +1 -1
  171. package/dist/step-property-set-readers.d.ts.map +1 -1
  172. package/dist/step-property-set-readers.js +4 -0
  173. package/dist/step-property-set-readers.js.map +1 -1
  174. package/dist/step-ref-scan.d.ts +6 -0
  175. package/dist/step-ref-scan.d.ts.map +1 -0
  176. package/dist/step-ref-scan.js +52 -0
  177. package/dist/step-ref-scan.js.map +1 -0
  178. package/dist/step-serialization.d.ts.map +1 -1
  179. package/dist/step-serialization.js +18 -2
  180. package/dist/step-serialization.js.map +1 -1
  181. package/dist/step-shared-atom-retention.d.ts +5 -0
  182. package/dist/step-shared-atom-retention.d.ts.map +1 -0
  183. package/dist/step-shared-atom-retention.js +60 -0
  184. package/dist/step-shared-atom-retention.js.map +1 -0
  185. package/dist/step-source-iteration.d.ts +1 -1
  186. package/dist/step-source-iteration.d.ts.map +1 -1
  187. package/dist/step-source-iteration.js +50 -45
  188. package/dist/step-source-iteration.js.map +1 -1
  189. package/dist/style-closure.d.ts.map +1 -1
  190. package/dist/style-closure.js +11 -0
  191. package/dist/style-closure.js.map +1 -1
  192. package/dist/subset-entity-reader.d.ts.map +1 -1
  193. package/dist/subset-entity-reader.js +3 -2
  194. package/dist/subset-entity-reader.js.map +1 -1
  195. package/dist/subset-roots.js +2 -2
  196. package/dist/subset-roots.js.map +1 -1
  197. package/package.json +10 -10
@@ -1,15 +1,17 @@
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
- import { IfcTypeEnumToString, PropertyValueType, IFCX_VERSION, } from '@ifc-lite/data';
4
+ import { IFCX_VERSION } from '@ifc-lite/data';
5
5
  import { convertEntityType } from './schema-converter.js';
6
6
  import { getEffectiveEntityIndex } from './effective-index.js';
7
7
  import { Ifc5AppearanceWriter } from './ifc5-appearance.js';
8
8
  import { IFCX_APPEARANCE_SCHEMAS } from '@ifc-lite/ifcx';
9
9
  import { buildMaterialAttribute } from './ifc5-material.js';
10
- import { collectRequiredImports, generateUuid, IFC5_KNOWN_PROP_NAMES, stepTypeToClassName, stripNodePathPrefix, } from './ifc5-export-helpers.js';
10
+ import { collectRequiredImports, generateUuid, stepTypeToClassName, stripNodePathPrefix } from './ifc5-export-helpers.js';
11
+ import { writePsetProperties } from './ifc5-pset-properties.js';
11
12
  import { addClassificationAttribute } from './ifc5-classification.js';
12
13
  import { buildIfc5TreeScope } from './ifc5-tree-scope.js';
14
+ import { ifc5EntityRows } from './ifc5-effective-rows.js';
13
15
  // ============================================================================
14
16
  // Exporter
15
17
  // ============================================================================
@@ -67,8 +69,8 @@ export class Ifc5Exporter {
67
69
  // cannot reappear either as its own node or as another node's child
68
70
  // reference (#2046).
69
71
  const effective = getEffectiveEntityIndex(this.dataStore, this.mutationView, options.applyMutations !== false);
70
- // Build visible set
71
- const visibleIds = this.buildVisibleSet(options);
72
+ const rows = ifc5EntityRows(this.dataStore, this.mutationView, options.applyMutations !== false);
73
+ const visibleIds = this.buildVisibleSet(options, rows);
72
74
  // One effective graph drives membership and parent selection, including overlay endpoint edits.
73
75
  const treeScope = buildIfc5TreeScope(this.dataStore, effective, options.applyMutations !== false ? this.mutationView : null);
74
76
  const treeIds = options.onlyTreeEntities !== false ? treeScope.treeIds : null;
@@ -87,7 +89,7 @@ export class Ifc5Exporter {
87
89
  || (visibleIds !== null && !visibleIds.has(id))
88
90
  || (treeIds !== null && !treeIds.has(id));
89
91
  // Build UUID paths and child-name maps from spatial hierarchy
90
- this.buildEntityMaps(isOmitted, treeScope, options.stripPathPrefix);
92
+ this.buildEntityMaps(rows, isOmitted, treeScope, options.stripPathPrefix);
91
93
  // Build mesh lookup by expressId
92
94
  const meshByEntity = this.buildMeshLookup(options);
93
95
  const appearance = new Ifc5AppearanceWriter(new Set(this.entityUuids.values()), options.textureSources);
@@ -97,17 +99,16 @@ export class Ifc5Exporter {
97
99
  const emittedIds = new Set();
98
100
  let propertyCount = 0;
99
101
  let meshCount = 0;
100
- const { entities, strings } = this.dataStore;
102
+ const sinks = { unrepresentedPropertySets: [], propertyCollisions: [] };
101
103
  // Find the project entity so we can create a root node pointing to it
102
104
  let projectExpressId = null;
103
- for (let i = 0; i < entities.count; i++) {
104
- const expressId = entities.expressId[i];
105
+ for (const row of rows) {
106
+ const expressId = row.expressId;
105
107
  // Overlay tombstone (an entity `MutablePropertyView.deleteEntity()`
106
108
  // removed), visibility filter, or spatial tree filter — see `isOmitted`.
107
109
  if (isOmitted(expressId))
108
110
  continue;
109
- const typeEnum = entities.typeEnum[i];
110
- const typeName = IfcTypeEnumToString(typeEnum) || 'IfcElement';
111
+ const typeName = row.type === 'IFCUNCLASSIFIED' ? 'IfcElement' : row.type;
111
112
  // Convert entity type to IFC5 (aligned with IFC4X3)
112
113
  const ifc5Type = convertEntityType(typeName.toUpperCase(), sourceSchema, 'IFC5');
113
114
  // Convert back to PascalCase for IFCX
@@ -125,23 +126,18 @@ export class Ifc5Exporter {
125
126
  uri: `https://identifier.buildingsmart.org/uri/buildingsmart/ifc/5/class/${ifc5Class}`,
126
127
  };
127
128
  // Name → bsi::ifc::prop::Name (IFC5 uses prop namespace, not bsi::ifc::name)
128
- const name = strings.get(entities.name[i])
129
- || this.spatialNodeNames.get(expressId);
129
+ const name = row.name || this.spatialNodeNames.get(expressId);
130
130
  if (name) {
131
131
  attributes['bsi::ifc::prop::Name'] = name;
132
132
  }
133
133
  // Description → bsi::ifc::prop::Description
134
- const description = strings.get(entities.description[i]);
134
+ const description = row.description;
135
135
  if (description) {
136
136
  attributes['bsi::ifc::prop::Description'] = description;
137
137
  }
138
138
  // Properties
139
139
  if (options.includeProperties !== false) {
140
- const props = this.getPropertiesForEntity(expressId, options);
141
- for (const [key, value] of Object.entries(props)) {
142
- attributes[key] = value;
143
- propertyCount++;
144
- }
140
+ propertyCount += this.writePropertiesForEntity(attributes, expressId, options, sinks);
145
141
  }
146
142
  // Material (bsi::ifc::material) — see ifc5-material.ts.
147
143
  if (options.includeProperties !== false) {
@@ -188,9 +184,7 @@ export class Ifc5Exporter {
188
184
  if (projectExpressId !== null) {
189
185
  const projectUuid = this.entityUuids.get(projectExpressId);
190
186
  if (projectUuid) {
191
- const projectName = this.childNames.get(projectExpressId)
192
- || strings.get(entities.name[this.findEntityIndex(projectExpressId)])
193
- || 'Project';
187
+ const projectName = this.childNames.get(projectExpressId) || 'Project';
194
188
  rootChildren[projectName] = projectUuid;
195
189
  }
196
190
  }
@@ -247,18 +241,12 @@ export class Ifc5Exporter {
247
241
  propertyCount,
248
242
  meshCount,
249
243
  fileSize: new TextEncoder().encode(content).length,
244
+ skippedCount: sinks.unrepresentedPropertySets.length,
245
+ unrepresentedPropertySets: sinks.unrepresentedPropertySets,
246
+ propertyCollisions: sinks.propertyCollisions,
250
247
  },
251
248
  };
252
249
  }
253
- /** Find the entity table index for a given expressId. */
254
- findEntityIndex(expressId) {
255
- const { entities } = this.dataStore;
256
- for (let i = 0; i < entities.count; i++) {
257
- if (entities.expressId[i] === expressId)
258
- return i;
259
- }
260
- return 0;
261
- }
262
250
  // --------------------------------------------------------------------------
263
251
  // Path building
264
252
  // --------------------------------------------------------------------------
@@ -277,8 +265,7 @@ export class Ifc5Exporter {
277
265
  * check alone, so the maps can never describe a node `export` never wrote.
278
266
  * @param stripPathPrefix see {@link Ifc5ExportOptions.stripPathPrefix}.
279
267
  */
280
- buildEntityMaps(isOmitted, treeScope, stripPathPrefix) {
281
- const { entities, strings } = this.dataStore;
268
+ buildEntityMaps(rows, isOmitted, treeScope, stripPathPrefix) {
282
269
  // --- 1. Assign UUID paths ---
283
270
  // An omitted entity gets no UUID entry. `getChildrenForEntity`'s `addChild`
284
271
  // looks up `entityUuids.get(childId)` and skips silently when absent, so
@@ -287,12 +274,12 @@ export class Ifc5Exporter {
287
274
  // (computed once from the parsed source, not re-derived per export) may
288
275
  // still list it as contained (#2046, #2047).
289
276
  this.entityUuids.clear();
290
- for (let i = 0; i < entities.count; i++) {
291
- const id = entities.expressId[i];
277
+ for (const row of rows) {
278
+ const id = row.expressId;
292
279
  if (isOmitted(id))
293
280
  continue;
294
281
  // Use IFC GlobalId if available, otherwise generate a deterministic UUID
295
- const globalId = strings.get(entities.globalId[i]);
282
+ const globalId = row.globalId;
296
283
  this.entityUuids.set(id, globalId ? stripNodePathPrefix(globalId, stripPathPrefix) : generateUuid(id));
297
284
  }
298
285
  // --- 2. Build parent→children and spatial maps ---
@@ -304,17 +291,16 @@ export class Ifc5Exporter {
304
291
  // --- 3. Compute unique child names ---
305
292
  // Build entity name lookup
306
293
  const entityNameById = new Map();
307
- for (let i = 0; i < entities.count; i++) {
308
- const id = entities.expressId[i];
294
+ for (const row of rows) {
295
+ const id = row.expressId;
309
296
  if (isOmitted(id))
310
297
  continue;
311
- let name = strings.get(entities.name[i]) || '';
298
+ let name = row.name;
312
299
  if (!name)
313
300
  name = this.spatialNodeNames.get(id) || '';
314
301
  if (!name) {
315
- const typeName = IfcTypeEnumToString(entities.typeEnum[i]);
316
- if (typeName !== 'Unknown')
317
- name = typeName;
302
+ if (row.type !== 'IFCUNCLASSIFIED')
303
+ name = stepTypeToClassName(row.type);
318
304
  }
319
305
  entityNameById.set(id, name);
320
306
  }
@@ -372,8 +358,8 @@ export class Ifc5Exporter {
372
358
  this.childrenOf.set(effectiveParent, []);
373
359
  this.childrenOf.get(effectiveParent).push(childId);
374
360
  }
375
- for (let i = 0; i < entities.count; i++) {
376
- const id = entities.expressId[i];
361
+ for (const row of rows) {
362
+ const id = row.expressId;
377
363
  if (isOmitted(id))
378
364
  continue;
379
365
  if (!parentOf.has(id)) {
@@ -401,54 +387,12 @@ export class Ifc5Exporter {
401
387
  // --------------------------------------------------------------------------
402
388
  // Properties
403
389
  // --------------------------------------------------------------------------
404
- /**
405
- * Get properties for an entity, converted to IFCX attribute format.
406
- */
407
- getPropertiesForEntity(entityId, options) {
408
- const result = {};
409
- // Prefer mutation view if available
410
- if (this.mutationView && options.applyMutations !== false) {
411
- const psets = this.mutationView.getForEntity(entityId);
412
- for (const pset of psets) {
413
- for (const prop of pset.properties) {
414
- if (options.onlyKnownProperties !== false && !IFC5_KNOWN_PROP_NAMES.has(prop.name))
415
- continue;
416
- const key = `bsi::ifc::prop::${prop.name}`;
417
- result[key] = this.convertPropertyValue(prop.value, prop.type);
418
- }
419
- }
420
- }
421
- else if (this.dataStore.properties) {
422
- const psets = this.dataStore.properties.getForEntity(entityId);
423
- for (const pset of psets) {
424
- for (const prop of pset.properties) {
425
- if (options.onlyKnownProperties !== false && !IFC5_KNOWN_PROP_NAMES.has(prop.name))
426
- continue;
427
- const key = `bsi::ifc::prop::${prop.name}`;
428
- result[key] = this.convertPropertyValue(prop.value, prop.type);
429
- }
430
- }
431
- }
432
- return result;
433
- }
434
- /**
435
- * Convert a property value to IFCX-compatible format.
436
- * IFCX uses native JSON types rather than IFC wrapped types.
437
- */
438
- convertPropertyValue(value, type) {
439
- if (value === null || value === undefined)
440
- return null;
441
- switch (type) {
442
- case PropertyValueType.Real:
443
- return Number(value);
444
- case PropertyValueType.Integer:
445
- return Math.round(Number(value));
446
- case PropertyValueType.Boolean:
447
- case PropertyValueType.Logical:
448
- return Boolean(value);
449
- default:
450
- return value;
451
- }
390
+ /** Write an entity's psets as IFCX attributes (see `ifc5-pset-properties.ts`, #5201, #5376). */
391
+ writePropertiesForEntity(attributes, entityId, options, sinks) {
392
+ const psets = this.mutationView && options.applyMutations !== false
393
+ ? this.mutationView.getForEntity(entityId)
394
+ : this.dataStore.properties?.getForEntity(entityId) ?? [];
395
+ return writePsetProperties(attributes, entityId, psets, options.onlyKnownProperties !== false, sinks);
452
396
  }
453
397
  // --------------------------------------------------------------------------
454
398
  // Children
@@ -543,15 +487,14 @@ export class Ifc5Exporter {
543
487
  /**
544
488
  * Build visible entity set if visibility filtering is requested.
545
489
  */
546
- buildVisibleSet(options) {
490
+ buildVisibleSet(options, rows) {
547
491
  if (!options.visibleOnly)
548
492
  return null;
549
493
  const hidden = options.hiddenEntityIds ?? new Set();
550
494
  const isolated = options.isolatedEntityIds ?? null;
551
495
  const visible = new Set();
552
- const { entities } = this.dataStore;
553
- for (let i = 0; i < entities.count; i++) {
554
- const id = entities.expressId[i];
496
+ for (const row of rows) {
497
+ const id = row.expressId;
555
498
  if (isolated) {
556
499
  // When isolation is active, only isolated entities are visible
557
500
  if (isolated.has(id))
@@ -1 +1 @@
1
- {"version":3,"file":"ifc5-exporter.js","sourceRoot":"","sources":["../src/ifc5-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ifc5-exporter.js","sourceRoot":"","sources":["../src/ifc5-exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Property-set properties as IFCX attributes (#5376).
3
+ *
4
+ * The official IFC5 property schema (`prop@v5a.ifcx`) defines a FLAT key per
5
+ * property name, `bsi::ifc::prop::<Name>`, with no pset component, and only
6
+ * for a short list of names ({@link IFC5_KNOWN_PROP_NAMES}). Written as the
7
+ * only key, two psets on one entity that share a property name wrote the same
8
+ * key and the last one silently won. On import, every flat key landed in one
9
+ * catch-all set, so which pset a property came from was never recoverable.
10
+ *
11
+ * Two keys, each where it belongs:
12
+ * - `bsi::ifc::prop::<Name>` for names the official schema defines, because a
13
+ * standard IFCX consumer looks the property up there. When two psets
14
+ * disagree on that one value, the collision is REPORTED
15
+ * ({@link PropertyCollision}), since the flat key can hold only one.
16
+ * - `bsi::ifc::v5a::<Pset>::<Name>` with a typed value, for every property
17
+ * when the caller asked for full fidelity (`onlyKnownProperties: false`).
18
+ * This is the pset-qualified form the collab snapshots and MCP draft ops
19
+ * already write and every IFCX reader here already parses, so nothing is
20
+ * lost and import restores the pset. It has no official schema, which is
21
+ * why the default (`onlyKnownProperties: true`, official keys only) does
22
+ * not write it.
23
+ */
24
+ import { PropertyValueType } from '@ifc-lite/data';
25
+ import { type UnrepresentedPropertySet } from './ifc5-export-helpers.js';
26
+ /** A flat official-schema key two psets on one entity disagreed on (#5376). */
27
+ export interface PropertyCollision {
28
+ entityId: number;
29
+ /** The property name, i.e. the `bsi::ifc::prop::<Name>` suffix. */
30
+ propertyName: string;
31
+ /** The psets that wrote it, in write order; the last one's value is in the flat key. */
32
+ psetNames: string[];
33
+ /**
34
+ * True when a value is missing from the file: only the flat key was written
35
+ * (`onlyKnownProperties: true`). False when every pset's value also went
36
+ * out under its `bsi::ifc::v5a::<Pset>::<Name>` key.
37
+ */
38
+ valueLost: boolean;
39
+ }
40
+ interface PsetLike {
41
+ name: string;
42
+ properties: ReadonlyArray<{
43
+ name: string;
44
+ value: unknown;
45
+ type: PropertyValueType;
46
+ }>;
47
+ }
48
+ /** Sinks this pass reports into, shared across the whole export. */
49
+ export interface PsetPropertySinks {
50
+ unrepresentedPropertySets: UnrepresentedPropertySet[];
51
+ propertyCollisions: PropertyCollision[];
52
+ }
53
+ /** IFCX uses native JSON types rather than IFC wrapped types. */
54
+ export declare function toIfcxValue(value: unknown, type: PropertyValueType): unknown;
55
+ /**
56
+ * Write one entity's psets into `attributes`. Returns how many property
57
+ * values it wrote (a property written under both keys counts once).
58
+ */
59
+ export declare function writePsetProperties(attributes: Record<string, unknown>, entityId: number, psets: readonly PsetLike[], onlyKnownProperties: boolean, sinks: PsetPropertySinks): number;
60
+ export {};
61
+ //# sourceMappingURL=ifc5-pset-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifc5-pset-properties.d.ts","sourceRoot":"","sources":["../src/ifc5-pset-properties.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAA4C,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEnH,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;CACtF;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC;IACtD,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAa5E;AAQD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,mBAAmB,EAAE,OAAO,EAC5B,KAAK,EAAE,iBAAiB,GACvB,MAAM,CAsCR"}
@@ -0,0 +1,100 @@
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
+ * Property-set properties as IFCX attributes (#5376).
6
+ *
7
+ * The official IFC5 property schema (`prop@v5a.ifcx`) defines a FLAT key per
8
+ * property name, `bsi::ifc::prop::<Name>`, with no pset component, and only
9
+ * for a short list of names ({@link IFC5_KNOWN_PROP_NAMES}). Written as the
10
+ * only key, two psets on one entity that share a property name wrote the same
11
+ * key and the last one silently won. On import, every flat key landed in one
12
+ * catch-all set, so which pset a property came from was never recoverable.
13
+ *
14
+ * Two keys, each where it belongs:
15
+ * - `bsi::ifc::prop::<Name>` for names the official schema defines, because a
16
+ * standard IFCX consumer looks the property up there. When two psets
17
+ * disagree on that one value, the collision is REPORTED
18
+ * ({@link PropertyCollision}), since the flat key can hold only one.
19
+ * - `bsi::ifc::v5a::<Pset>::<Name>` with a typed value, for every property
20
+ * when the caller asked for full fidelity (`onlyKnownProperties: false`).
21
+ * This is the pset-qualified form the collab snapshots and MCP draft ops
22
+ * already write and every IFCX reader here already parses, so nothing is
23
+ * lost and import restores the pset. It has no official schema, which is
24
+ * why the default (`onlyKnownProperties: true`, official keys only) does
25
+ * not write it.
26
+ */
27
+ import { PropertyValueType } from '@ifc-lite/data';
28
+ import { PROPERTY_TYPE_NAMES, V5A_ATTR_PREFIX } from '@ifc-lite/ifcx';
29
+ import { IFC5_KNOWN_PROP_NAMES, recordIfEmptyPset } from './ifc5-export-helpers.js';
30
+ /** IFCX uses native JSON types rather than IFC wrapped types. */
31
+ export function toIfcxValue(value, type) {
32
+ if (value === null || value === undefined)
33
+ return null;
34
+ switch (type) {
35
+ case PropertyValueType.Real:
36
+ return Number(value);
37
+ case PropertyValueType.Integer:
38
+ return Math.round(Number(value));
39
+ case PropertyValueType.Boolean:
40
+ case PropertyValueType.Logical:
41
+ return Boolean(value);
42
+ default:
43
+ return value;
44
+ }
45
+ }
46
+ /** A typed record carries a scalar; a list or object value rides as JSON text. */
47
+ function typedScalar(value) {
48
+ if (value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean')
49
+ return value;
50
+ return JSON.stringify(value);
51
+ }
52
+ /**
53
+ * Write one entity's psets into `attributes`. Returns how many property
54
+ * values it wrote (a property written under both keys counts once).
55
+ */
56
+ export function writePsetProperties(attributes, entityId, psets, onlyKnownProperties, sinks) {
57
+ let written = 0;
58
+ const flatWriters = new Map();
59
+ for (const pset of psets) {
60
+ if (recordIfEmptyPset(pset, entityId, sinks.unrepresentedPropertySets))
61
+ continue;
62
+ for (const prop of pset.properties) {
63
+ const known = IFC5_KNOWN_PROP_NAMES.has(prop.name);
64
+ if (onlyKnownProperties && !known)
65
+ continue;
66
+ const value = toIfcxValue(prop.value, prop.type);
67
+ if (!onlyKnownProperties) {
68
+ const typed = { type: PROPERTY_TYPE_NAMES[prop.type] ?? 'IfcLabel', value: typedScalar(value) };
69
+ attributes[`${V5A_ATTR_PREFIX}${pset.name}::${prop.name}`] = typed;
70
+ }
71
+ if (known) {
72
+ const flatKey = `bsi::ifc::prop::${prop.name}`;
73
+ const seen = flatWriters.get(flatKey);
74
+ if (seen) {
75
+ seen.psets.push(pset.name);
76
+ if (JSON.stringify(seen.value) !== JSON.stringify(value))
77
+ seen.conflict = true;
78
+ seen.value = value;
79
+ }
80
+ else {
81
+ flatWriters.set(flatKey, { psets: [pset.name], value, conflict: false });
82
+ }
83
+ attributes[flatKey] = value;
84
+ }
85
+ written++;
86
+ }
87
+ }
88
+ for (const [flatKey, writer] of flatWriters) {
89
+ if (!writer.conflict)
90
+ continue;
91
+ sinks.propertyCollisions.push({
92
+ entityId,
93
+ propertyName: flatKey.slice('bsi::ifc::prop::'.length),
94
+ psetNames: writer.psets,
95
+ valueLost: onlyKnownProperties,
96
+ });
97
+ }
98
+ return written;
99
+ }
100
+ //# sourceMappingURL=ifc5-pset-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifc5-pset-properties.js","sourceRoot":"","sources":["../src/ifc5-pset-properties.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,7 @@ function addRawEdges(dataStore, graph, effective, view) {
110
110
  for (const [id, relation] of orderedRelations) {
111
111
  const rawDecomposition = relation.type === RelationshipType.Aggregates || relation.type === RelationshipType.Nests;
112
112
  const rawContainment = relation.type === RelationshipType.ContainsElements;
113
+ // @raw-entity-enumeration-ok parsed graph edge provides a source-class fallback; effective.typeOf below applies live retypes
113
114
  const rawType = relation.type === RelationshipType.Nests ? 'IFCRELNESTS'
114
115
  : rawDecomposition ? 'IFCRELAGGREGATES' : rawContainment
115
116
  ? 'IFCRELCONTAINEDINSPATIALSTRUCTURE' : dataStore.entityIndex.byId.get(id)?.type ?? '';
@@ -173,6 +174,7 @@ function addRawEdges(dataStore, graph, effective, view) {
173
174
  }
174
175
  }
175
176
  function buildEffectiveTreeGraph(dataStore, effective, view) {
177
+ // @raw-entity-enumeration-ok source relationship presence stays authoritative even after tombstones, preventing stale-tree fallback
176
178
  const sourceTypes = dataStore.entityIndex.byType;
177
179
  const graph = {
178
180
  decomposition: newEdges(), containment: newEdges(),
@@ -207,6 +209,7 @@ function buildEffectiveTreeGraph(dataStore, effective, view) {
207
209
  if (containment)
208
210
  graph.hasContainmentRecords = true;
209
211
  const createdEntity = created.get(id);
212
+ // @raw-entity-enumeration-ok effective iteration chose this surviving id; source bytes supply its pre-edit attributes
210
213
  const sourceRef = createdEntity ? undefined : dataStore.entityIndex.byId.get(id);
211
214
  const sourceEntity = sourceRef ? extractor.extractEntity(sourceRef) : null;
212
215
  const attributes = effectiveAttributes(id, sourceEntity?.attributes, createdEntity, view);
@@ -1 +1 @@
1
- {"version":3,"file":"ifc5-tree-scope.js","sourceRoot":"","sources":["../src/ifc5-tree-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ifc5-tree-scope.js","sourceRoot":"","sources":["../src/ifc5-tree-scope.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export { MergedExporter, type MergeModelInput, type MergeExportOptions, type Mer
10
10
  export { collectReferencedEntityIds, getVisibleEntityIds } from './reference-collector.js';
11
11
  export { collectStyleEntities } from './style-closure.js';
12
12
  export { convertEntityType, convertStepLine, needsConversion, describeConversion, type IfcSchemaVersion } from './schema-converter.js';
13
+ export { analyzeConversionLoss, classifyEntityTypeConversion, type ConversionLossReport, type ConversionLossEntry, type EntityConversionInfo, type EntityConversionKind, } from './schema-conversion-loss-report.js';
13
14
  export { Ifc5Exporter, type Ifc5ExportOptions, type Ifc5ExportResult } from './ifc5-exporter.js';
14
15
  export { IFC5_KNOWN_PROP_NAMES, stripNodePathPrefix } from './ifc5-export-helpers.js';
15
16
  export type { Vec3, LodInput, Lod0Element, Lod0Json, Lod1MetaJson, GenerateLod1Result } from './lod-geometry-types.js';
@@ -25,5 +26,5 @@ export { escapeCsvCell, guardSpreadsheetFormula, type CsvCellOptions } from './c
25
26
  export { tableToCsv, csvCellOf, type TableToCsvOptions, type TableColumn } from './csv-table.js';
26
27
  export { planAuthoredResourceCleanup } from './authored-resource-cleanup.js';
27
28
  export { captureAppearanceDependencies } from './appearance-dependencies.js';
28
- export { effectiveSourceRecord, type EffectiveSourceRecord } from './effective-source-record.js';
29
+ export { effectiveSourceRecord, type EffectiveSourceRecord, effectiveCreatedRecord } from './effective-source-record.js';
29
30
  //# sourceMappingURL=index.d.ts.map