@ifc-lite/export 2.1.0 → 2.3.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.
package/dist/glb.d.ts CHANGED
@@ -8,6 +8,16 @@ type ParsedGlb = {
8
8
  bin: Uint8Array;
9
9
  };
10
10
  export declare function parseGLB(glb: Uint8Array): ParsedGlb;
11
+ /**
12
+ * Count the meshes declared in an IFC-Lite-generated GLB. Zero means the export
13
+ * carries no render geometry — a structurally valid but empty GLB. The
14
+ * CLI / MCP exporters use this to fail loud instead of writing an empty file as
15
+ * "success" (e.g. malformed-but-parseable input, or a filter whose matched
16
+ * entities have no triangulated representation). Only the GLB JSON metadata chunk
17
+ * is parsed; the multi-GB binary mesh buffer (the separate BIN chunk) is not, so
18
+ * the cost is bounded by the metadata size and dwarfed by the meshing it follows.
19
+ */
20
+ export declare function countGlbMeshes(glb: Uint8Array): number;
11
21
  export declare function extractGlbMapping(glb: Uint8Array): Record<string, {
12
22
  node: number;
13
23
  mesh: number;
package/dist/glb.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"glb.d.ts","sourceRoot":"","sources":["../src/glb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AAEH,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,UAAU,CAAC;CACjB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CA6BnD;AAiBD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAajG;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ,EAAE,CAiF9D"}
1
+ {"version":3,"file":"glb.d.ts","sourceRoot":"","sources":["../src/glb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AAEH,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,UAAU,CAAC;CACjB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CA6BnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAWtD;AAiBD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAajG;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ,EAAE,CAiF9D"}
package/dist/glb.js CHANGED
@@ -34,6 +34,28 @@ export function parseGLB(glb) {
34
34
  throw new Error('Invalid GLB: missing JSON or BIN chunk');
35
35
  return { json, bin };
36
36
  }
37
+ /**
38
+ * Count the meshes declared in an IFC-Lite-generated GLB. Zero means the export
39
+ * carries no render geometry — a structurally valid but empty GLB. The
40
+ * CLI / MCP exporters use this to fail loud instead of writing an empty file as
41
+ * "success" (e.g. malformed-but-parseable input, or a filter whose matched
42
+ * entities have no triangulated representation). Only the GLB JSON metadata chunk
43
+ * is parsed; the multi-GB binary mesh buffer (the separate BIN chunk) is not, so
44
+ * the cost is bounded by the metadata size and dwarfed by the meshing it follows.
45
+ */
46
+ export function countGlbMeshes(glb) {
47
+ let json;
48
+ try {
49
+ ({ json } = parseGLB(glb));
50
+ }
51
+ catch {
52
+ // A malformed / truncated / non-GLB buffer has no countable meshes. Return 0
53
+ // so callers treat it as an empty export (and fail loud) rather than crashing
54
+ // on the parse with an opaque stack trace.
55
+ return 0;
56
+ }
57
+ return Array.isArray(json?.meshes) ? json.meshes.length : 0;
58
+ }
37
59
  function componentTypeSize(componentType) {
38
60
  // Only types we emit
39
61
  if (componentType === 5126)
package/dist/glb.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"glb.js","sourceRoot":"","sources":["../src/glb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glb.js","sourceRoot":"","sources":["../src/glb.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,5 +10,5 @@ export { Ifc5Exporter, IFC5_KNOWN_PROP_NAMES, type Ifc5ExportOptions, type Ifc5E
10
10
  export type { Vec3, LodInput, Lod0Element, Lod0Json, Lod1MetaJson, GenerateLod1Result } from './lod-geometry-types.js';
11
11
  export { generateLod0 } from './lod0-generator.js';
12
12
  export { generateLod1, type GenerateLod1Options } from './lod1-generator.js';
13
- export { parseGLB, extractGlbMapping, parseGLBToMeshData } from './glb.js';
13
+ export { parseGLB, extractGlbMapping, parseGLBToMeshData, countGlbMeshes } from './glb.js';
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKnF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClJ,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxH,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKnF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClJ,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxH,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -18,5 +18,5 @@ export { convertEntityType, convertStepLine, needsConversion, describeConversion
18
18
  export { Ifc5Exporter, IFC5_KNOWN_PROP_NAMES } from './ifc5-exporter.js';
19
19
  export { generateLod0 } from './lod0-generator.js';
20
20
  export { generateLod1 } from './lod1-generator.js';
21
- export { parseGLB, extractGlbMapping, parseGLBToMeshData } from './glb.js';
21
+ export { parseGLB, extractGlbMapping, parseGLBToMeshData, countGlbMeshes } from './glb.js';
22
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAA6B,MAAM,uBAAuB,CAAC;AACnF,uEAAuE;AACvE,mGAAmG;AACnG,8EAA8E;AAC9E,gDAAgD;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0E,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,cAAc,EAA8F,MAAM,sBAAsB,CAAC;AAClJ,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAiD,MAAM,oBAAoB,CAAC;AAIxH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAA6B,MAAM,uBAAuB,CAAC;AACnF,uEAAuE;AACvE,mGAAmG;AACnG,8EAA8E;AAC9E,gDAAgD;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0E,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,cAAc,EAA8F,MAAM,sBAAsB,CAAC;AAClJ,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAiD,MAAM,oBAAoB,CAAC;AAIxH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
@@ -6,6 +6,7 @@
6
6
  * structure unification, and infrastructure deduplication.
7
7
  */
8
8
  import type { IfcDataStore } from '@ifc-lite/parser';
9
+ import type { MutablePropertyView } from '@ifc-lite/mutations';
9
10
  /**
10
11
  * A model to be included in the merge, with its data store and metadata.
11
12
  */
@@ -27,6 +28,18 @@ export interface MergeModelInput {
27
28
  * federated as its own project (different unit). See {@link MergedExporter}.
28
29
  */
29
30
  lengthUnitScale?: number;
31
+ /**
32
+ * Pending edits for this model — property / attribute / quantity / retype /
33
+ * positional mutations and overlay-created entities. When present and
34
+ * non-empty, {@link MergedExporter.exportAsync} bakes them into the model
35
+ * (via {@link StepExporter}) before merging, so federated export round-trips
36
+ * edits exactly like single-model export. Empty or absent views cost nothing.
37
+ *
38
+ * Only honoured by the async `exportAsync` path: baking re-parses the edited
39
+ * bytes, which needs the async parser. The synchronous {@link MergedExporter.export}
40
+ * throws if any model carries pending edits.
41
+ */
42
+ mutationView?: MutablePropertyView;
30
43
  }
31
44
  /**
32
45
  * Options for merged STEP export
@@ -164,6 +177,17 @@ export declare class MergedExporter {
164
177
  * responsive during large merged exports.
165
178
  */
166
179
  exportAsync(options: MergeExportOptions): Promise<MergeExportResult>;
180
+ /**
181
+ * Bake each model's pending edits into its source bytes before merging.
182
+ *
183
+ * A model with a non-empty {@link MergeModelInput.mutationView} is run through
184
+ * {@link StepExporter} in its own source schema (mutations applied, geometry +
185
+ * quantities kept), and the resulting bytes are re-parsed into a fresh data
186
+ * store. The merge pipeline then sees the edited entities as ordinary source,
187
+ * so unit-aware federation, GlobalId reconciliation and id offsetting are
188
+ * unaffected. Models without edits pass through untouched (no export/parse cost).
189
+ */
190
+ private bakeMutatedModels;
167
191
  /**
168
192
  * Assemble the result stats, including any federation conformance warnings.
169
193
  */
@@ -1 +1 @@
1
- {"version":3,"file":"merged-exporter.d.ts","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merged-exporter.d.ts","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AA6H/D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,SAAS,EAAE,YAAY,CAAC;IACxB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAsBD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,eAAe,CAAC,EAAE,YAAY,CAAC;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAE9C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,0DAA0D;IAC1D,wBAAwB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAE3D,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;IAC/C,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,OAAO,EAAE,UAAU,CAAC;IACpB,iBAAiB;IACjB,KAAK,EAAE;QACL,8BAA8B;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,mCAAmC;QACnC,gBAAgB,EAAE,MAAM,CAAC;QACzB,yBAAyB;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB;;;WAGG;QACH,mBAAmB,EAAE,MAAM,CAAC;QAC5B;;;;WAIG;QACH,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,eAAe,EAAE;IAOrC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB;IA6DtD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqG1E;;;;;;;;;OASG;YACW,iBAAiB;IAkC/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAWnB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAwBvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAQxB,4EAA4E;IAC5E,OAAO,CAAC,eAAe;IAOvB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,SAAS;IA+EjB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAkDpB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAetB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAUvB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAsDvB;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAelC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IA2E5B;;;;;;;;;OASG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CA0D7B"}
@@ -1,13 +1,14 @@
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 { generateHeader, deterministicGlobalId } from '@ifc-lite/parser';
4
+ import { generateHeader, deterministicGlobalId, IfcParser } from '@ifc-lite/parser';
5
5
  import { decodeIfcString } from '@ifc-lite/encoding';
6
6
  import { safeUtf8Decode } from '@ifc-lite/data';
7
7
  import { collectReferencedEntityIds, getVisibleEntityIds, collectStyleEntities } from './reference-collector.js';
8
8
  import { convertStepLine, needsConversion } from './schema-converter.js';
9
9
  import { assembleStepBytes } from './step-serialization.js';
10
10
  import { getCompleteEntityIndex, getMaxExpressId } from './entity-iteration.js';
11
+ import { StepExporter } from './step-exporter.js';
11
12
  /** Entity types forming shared infrastructure (deduplicated across models). */
12
13
  const SHARED_INFRASTRUCTURE_TYPES = new Set([
13
14
  'IFCUNITASSIGNMENT',
@@ -70,6 +71,28 @@ function isRelationshipType(typeUpper) {
70
71
  }
71
72
  /** Relative tolerance for comparing two length unit scale factors. */
72
73
  const UNIT_SCALE_TOLERANCE = 1e-6;
74
+ /**
75
+ * True when a mutation view carries pending edits the exporter would bake.
76
+ *
77
+ * Keys off the view's *current overlay footprint* (`hasPendingChanges`), not the
78
+ * append-only mutation history: the history never shrinks, so an
79
+ * edited-then-undone model would keep reporting changes and force a redundant
80
+ * re-bake. `hasPendingChanges` is a conservative over-approximation (the safe
81
+ * direction here — under-reporting would silently drop edits). Falls back to the
82
+ * legacy history/new-entity check for views that predate the method.
83
+ */
84
+ function viewHasMutations(view) {
85
+ if (!view)
86
+ return false;
87
+ if (typeof view.hasPendingChanges === 'function')
88
+ return view.hasPendingChanges();
89
+ // Legacy fallback (older MutablePropertyView without hasPendingChanges).
90
+ const muts = typeof view.getMutations === 'function' ? view.getMutations() : [];
91
+ if (muts.length > 0)
92
+ return true;
93
+ const created = typeof view.getNewEntities === 'function' ? view.getNewEntities() : [];
94
+ return created.length > 0;
95
+ }
73
96
  /**
74
97
  * Merges multiple IFC models into a single STEP file.
75
98
  *
@@ -118,7 +141,14 @@ export class MergedExporter {
118
141
  const onProgress = options.onProgress;
119
142
  const schema = (options.schema || 'IFC4');
120
143
  const header = this.buildHeader(options, schema);
121
- const setup = this.buildMergeSetup(options);
144
+ // Baking edits into source bytes needs the async parser, so the sync path
145
+ // cannot honour them. Fail loudly rather than silently dropping the edits.
146
+ if (this.models.some(m => viewHasMutations(m.mutationView))) {
147
+ throw new Error('MergedExporter.export() cannot apply pending edits — baking needs the async parser. ' +
148
+ 'Use exportAsync() for merged export with mutations.');
149
+ }
150
+ const models = this.models;
151
+ const setup = this.buildMergeSetup(options, models);
122
152
  const allEntityLines = [];
123
153
  // Tracks every GlobalId already emitted → its final express id + unit scale,
124
154
  // so later models can unify against (shared unit) or stay unique from
@@ -126,7 +156,7 @@ export class MergedExporter {
126
156
  const guidToFinalId = new Map();
127
157
  let isFirstModel = true;
128
158
  let federatedModelCount = 0;
129
- for (const model of this.models) {
159
+ for (const model of models) {
130
160
  const offset = setup.modelOffsets.get(model.id);
131
161
  const source = model.dataStore.source;
132
162
  if (!source || source.length === 0)
@@ -173,12 +203,16 @@ export class MergedExporter {
173
203
  // See export(): merged files emit an ifc-lite provenance header by policy
174
204
  // (no single source header to preserve across federated models).
175
205
  const header = this.buildHeader(options, schema);
176
- const setup = this.buildMergeSetup(options);
206
+ // Bake each model's pending edits into its source bytes before merging, so
207
+ // federated export round-trips mutations like single-model export. Models
208
+ // without edits pass through unchanged (no export/parse cost).
209
+ const models = await this.bakeMutatedModels();
210
+ const setup = this.buildMergeSetup(options, models);
177
211
  const allEntityLines = [];
178
212
  const guidToFinalId = new Map();
179
213
  // First pass: count total entities for progress
180
214
  let totalEntities = 0;
181
- for (const model of this.models) {
215
+ for (const model of models) {
182
216
  totalEntities += getCompleteEntityIndex(model.dataStore).size;
183
217
  }
184
218
  let isFirstModel = true;
@@ -187,7 +221,7 @@ export class MergedExporter {
187
221
  const YIELD_INTERVAL = 2000;
188
222
  if (onProgress)
189
223
  onProgress({ phase: 'preparing', percent: 0, entitiesProcessed: 0, entitiesTotal: totalEntities });
190
- for (const model of this.models) {
224
+ for (const model of models) {
191
225
  const offset = setup.modelOffsets.get(model.id);
192
226
  const source = model.dataStore.source;
193
227
  if (!source || source.length === 0)
@@ -251,6 +285,49 @@ export class MergedExporter {
251
285
  stats: this.buildStats(allEntityLines.length, content.byteLength, federatedModelCount),
252
286
  };
253
287
  }
288
+ /**
289
+ * Bake each model's pending edits into its source bytes before merging.
290
+ *
291
+ * A model with a non-empty {@link MergeModelInput.mutationView} is run through
292
+ * {@link StepExporter} in its own source schema (mutations applied, geometry +
293
+ * quantities kept), and the resulting bytes are re-parsed into a fresh data
294
+ * store. The merge pipeline then sees the edited entities as ordinary source,
295
+ * so unit-aware federation, GlobalId reconciliation and id offsetting are
296
+ * unaffected. Models without edits pass through untouched (no export/parse cost).
297
+ */
298
+ async bakeMutatedModels() {
299
+ const baked = [];
300
+ let parser = null;
301
+ for (const model of this.models) {
302
+ if (!viewHasMutations(model.mutationView)) {
303
+ baked.push(model);
304
+ continue;
305
+ }
306
+ const sourceSchema = model.dataStore.schemaVersion || 'IFC4';
307
+ // Export in the SOURCE schema so no schema conversion happens here — the
308
+ // merge loop still converts to the requested target schema per entity.
309
+ const exported = new StepExporter(model.dataStore, model.mutationView).export({
310
+ schema: sourceSchema,
311
+ applyMutations: true,
312
+ includeGeometry: true,
313
+ includeQuantities: true,
314
+ });
315
+ parser = parser ?? new IfcParser();
316
+ // slice() yields an exact-length ArrayBuffer-backed copy for the parser.
317
+ const reparsed = await parser.parseColumnar(exported.content.slice().buffer, {
318
+ disableWorkerScan: true,
319
+ });
320
+ baked.push({
321
+ id: model.id,
322
+ name: model.name,
323
+ dataStore: reparsed,
324
+ // Keep the caller's explicit unit scale (else the original store's) so
325
+ // unit-aware federation is unaffected by the bake round-trip.
326
+ lengthUnitScale: model.lengthUnitScale ?? model.dataStore.lengthUnitScale,
327
+ });
328
+ }
329
+ return baked;
330
+ }
254
331
  /**
255
332
  * Assemble the result stats, including any federation conformance warnings.
256
333
  */
@@ -285,17 +362,18 @@ export class MergedExporter {
285
362
  * Compute the model-independent state shared by export()/exportAsync():
286
363
  * per-model id offsets and the primary model's project/infra/spatial/unit info.
287
364
  */
288
- buildMergeSetup(options) {
365
+ buildMergeSetup(options, models) {
289
366
  // Determine ID offsets. Span the COMPLETE entity set (incl. deferred
290
367
  // property atoms) so the next model's offset clears every id this model
291
- // will emit — otherwise a deferred atom at a high id collides.
368
+ // will emit — otherwise a deferred atom at a high id collides. Computed over
369
+ // the (possibly baked) model list so mutation-created entities are covered.
292
370
  let nextAvailableId = 1;
293
371
  const modelOffsets = new Map();
294
- for (const model of this.models) {
372
+ for (const model of models) {
295
373
  modelOffsets.set(model.id, nextAvailableId - 1); // start at nextAvailableId
296
374
  nextAvailableId += getMaxExpressId(getCompleteEntityIndex(model.dataStore));
297
375
  }
298
- const firstModel = this.models[0];
376
+ const firstModel = models[0];
299
377
  return {
300
378
  modelOffsets,
301
379
  firstModelOffset: modelOffsets.get(firstModel.id),
@@ -1 +1 @@
1
- {"version":3,"file":"merged-exporter.js","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merged-exporter.js","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,9 @@ export declare function convertEntityType(entityType: string, fromSchema: IfcSch
13
13
  *
14
14
  * Handles:
15
15
  * 1. Entity type name conversion
16
- * 2. Attribute count adjustment (trimming trailing attrs for older schemas)
16
+ * 2. Attribute count adjustment: trimming trailing attrs for older schemas, and
17
+ * padding trailing `$` for newer schemas that ADDED attributes (e.g. the
18
+ * PredefinedType IFC4 introduced on IfcWall/IfcBeam/IfcOpeningElement/…).
17
19
  * 3. Skipping entities that have no valid representation in the target schema
18
20
  *
19
21
  * @param line - Raw STEP entity line (e.g., "#1=IFCWALL('guid',...);")
@@ -1 +1 @@
1
- {"version":3,"file":"schema-converter.d.ts","sourceRoot":"","sources":["../src/schema-converter.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AA0JrE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CAQR;AA2DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CA8BR;AAsFD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CAqBR"}
1
+ {"version":3,"file":"schema-converter.d.ts","sourceRoot":"","sources":["../src/schema-converter.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AA0JrE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CAQR;AA6HD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CA0DR;AAsFD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CAqBR"}
@@ -19,6 +19,7 @@
19
19
  * and adjusts attribute counts via regex replacement on raw STEP lines.
20
20
  */
21
21
  import { generateIfcGuid } from '@ifc-lite/encoding';
22
+ import { ENTITIES_IFC2X3, ENTITIES_IFC4, ENTITIES_IFC4X3 } from '@ifc-lite/data';
22
23
  /**
23
24
  * Entity type name mappings between schema versions.
24
25
  *
@@ -231,12 +232,93 @@ function chainMaps(map1, map2) {
231
232
  }
232
233
  return result;
233
234
  }
235
+ // Lazily-built UPPERCASE entity name → ordered positional attribute NAMES, per
236
+ // schema, from the generated buildingSMART tables. `IfcEntityInfo.attributes` is
237
+ // the full inherited+direct positional list (verified to match STEP counts:
238
+ // IfcWall 8→9, IfcDoor 10→13, IfcMaterial 1→3, …).
239
+ const ATTR_NAME_TABLES = new Map();
240
+ function attrNameTable(schema) {
241
+ let table = ATTR_NAME_TABLES.get(schema);
242
+ if (table)
243
+ return table;
244
+ let entities = null;
245
+ if (schema === 'IFC2X3')
246
+ entities = ENTITIES_IFC2X3;
247
+ else if (schema === 'IFC4')
248
+ entities = ENTITIES_IFC4;
249
+ else if (schema === 'IFC4X3')
250
+ entities = ENTITIES_IFC4X3;
251
+ else
252
+ return null; // IFC5 has no generated table — skip count adjustment
253
+ table = new Map();
254
+ for (const e of entities)
255
+ table.set(e.name.toUpperCase(), e.attributes);
256
+ ATTR_NAME_TABLES.set(schema, table);
257
+ return table;
258
+ }
259
+ /**
260
+ * True when `src` is a STRICT prefix of `tgt` by attribute name — i.e. the
261
+ * target only *appended* attributes. Trailing-`$` padding is only safe then;
262
+ * many entities insert/reorder attributes mid-list (e.g. IfcMaterialProperties,
263
+ * IfcApproval, IfcTask), where padding would shift values into the wrong slots.
264
+ */
265
+ function isStrictAttrPrefix(src, tgt) {
266
+ if (src.length >= tgt.length)
267
+ return false;
268
+ for (let i = 0; i < src.length; i++) {
269
+ if (src[i] !== tgt[i])
270
+ return false;
271
+ }
272
+ return true;
273
+ }
274
+ /** Ordinal rank of a schema version (older → newer) for direction checks. */
275
+ function schemaRank(schema) {
276
+ switch (schema) {
277
+ case 'IFC2X3': return 0;
278
+ case 'IFC4': return 1;
279
+ case 'IFC4X3': return 2;
280
+ case 'IFC5': return 3;
281
+ default: return 0;
282
+ }
283
+ }
284
+ /** Count top-level (comma-separated) STEP attributes, respecting nested
285
+ * parentheses and single-quoted strings. Empty list → 0. */
286
+ function countTopLevelAttributes(attrsRaw) {
287
+ if (!attrsRaw.trim())
288
+ return 0;
289
+ let count = 1;
290
+ let depth = 0;
291
+ let inString = false;
292
+ for (let i = 0; i < attrsRaw.length; i++) {
293
+ const ch = attrsRaw[i];
294
+ if (ch === "'" && !inString)
295
+ inString = true;
296
+ else if (ch === "'" && inString) {
297
+ if (i + 1 < attrsRaw.length && attrsRaw[i + 1] === "'") {
298
+ i++;
299
+ continue;
300
+ }
301
+ inString = false;
302
+ }
303
+ else if (!inString) {
304
+ if (ch === '(')
305
+ depth++;
306
+ else if (ch === ')')
307
+ depth--;
308
+ else if (ch === ',' && depth === 0)
309
+ count++;
310
+ }
311
+ }
312
+ return count;
313
+ }
234
314
  /**
235
315
  * Convert a raw STEP entity line from one schema version to another.
236
316
  *
237
317
  * Handles:
238
318
  * 1. Entity type name conversion
239
- * 2. Attribute count adjustment (trimming trailing attrs for older schemas)
319
+ * 2. Attribute count adjustment: trimming trailing attrs for older schemas, and
320
+ * padding trailing `$` for newer schemas that ADDED attributes (e.g. the
321
+ * PredefinedType IFC4 introduced on IfcWall/IfcBeam/IfcOpeningElement/…).
240
322
  * 3. Skipping entities that have no valid representation in the target schema
241
323
  *
242
324
  * @param line - Raw STEP entity line (e.g., "#1=IFCWALL('guid',...);")
@@ -247,8 +329,11 @@ function chainMaps(map1, map2) {
247
329
  export function convertStepLine(line, fromSchema, toSchema) {
248
330
  if (fromSchema === toSchema)
249
331
  return line;
250
- // Parse: #ID=TYPE(attrs);
251
- const match = line.match(/^(#\d+=)(\w+)\((.*)?\);?\s*$/);
332
+ // Parse: #ID=TYPE(attrs); — tolerate whitespace around `=` and before the
333
+ // type (some exporters, e.g. Tekla, write `#34498= IFCOPENINGELEMENT(...)`).
334
+ // Without this those lines passed through unconverted, so neither type renames
335
+ // nor attribute-count adjustment applied and the output stayed schema-invalid.
336
+ const match = line.match(/^\s*(#\d+=)\s*(\w+)\((.*)?\);?\s*$/);
252
337
  if (!match)
253
338
  return line; // not a STEP entity line, pass through
254
339
  const prefix = match[1]; // "#123="
@@ -269,6 +354,30 @@ export function convertStepLine(line, fromSchema, toSchema) {
269
354
  finalAttrs = trimAttributes(attrsRaw, maxAttrs);
270
355
  }
271
356
  }
357
+ // Pad trailing optional attributes when UPGRADING to a newer schema that
358
+ // APPENDED attributes (e.g. IFC2X3 → IFC4 added PredefinedType to IfcWall /
359
+ // IfcBeam / IfcOpeningElement / …). Without this the upgraded entity is short
360
+ // an attribute and invalid under the new schema, which strict readers reject.
361
+ //
362
+ // CRITICAL: only pad when the source attribute name-list is a strict PREFIX of
363
+ // the target's. Many entities insert/reorder attributes mid-list (e.g.
364
+ // IfcMaterialProperties [Material] → [Name, Description, Properties, Material],
365
+ // IfcApproval, IfcTask); blindly appending `$` there would shift values into the
366
+ // wrong (and type-invalid) slots. A prefix check distinguishes a safe append
367
+ // from a corrupting insertion — the headline targets are all prefix-safe. The
368
+ // appended attributes are optional, so `$` is valid. Scoped to upconversion so
369
+ // it never touches the downconversion trim path above.
370
+ if (schemaRank(toSchema) > schemaRank(fromSchema)) {
371
+ // Source attrs keyed on the ORIGINAL type; target on the (possibly renamed) type.
372
+ const srcAttrs = attrNameTable(fromSchema)?.get(entityType);
373
+ const tgtAttrs = attrNameTable(toSchema)?.get(newType);
374
+ if (srcAttrs && tgtAttrs && isStrictAttrPrefix(srcAttrs, tgtAttrs)) {
375
+ const currentCount = countTopLevelAttributes(finalAttrs);
376
+ if (currentCount > 0 && currentCount < tgtAttrs.length) {
377
+ finalAttrs = `${finalAttrs}${',$'.repeat(tgtAttrs.length - currentCount)}`;
378
+ }
379
+ }
380
+ }
272
381
  return `${prefix}${newType}(${finalAttrs});`;
273
382
  }
274
383
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema-converter.js","sourceRoot":"","sources":["../src/schema-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-converter.js","sourceRoot":"","sources":["../src/schema-converter.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AAIrG;;;;;;GAMG;AAEH,8EAA8E;AAC9E,yEAAyE;AACzE,6DAA6D;AAC7D,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,gFAAgF;IAChF,8DAA8D;IAC9D,8CAA8C;IAC9C,CAAC,8BAA8B,EAAE,8BAA8B,CAAC;IAChE,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACvC,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;CACnD,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,CAAC,8BAA8B,EAAE,8BAA8B,CAAC;IAChE,CAAC,eAAe,EAAE,oBAAoB,CAAC;IACvC,6DAA6D;IAC7D,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACzC,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IAC/C,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IAC9C,CAAC,sBAAsB,EAAE,yBAAyB,CAAC;IACnD,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACzC,CAAC,mBAAmB,EAAE,YAAY,CAAC;IACnC,CAAC,WAAW,EAAE,yBAAyB,CAAC;IACxC,CAAC,aAAa,EAAE,SAAS,CAAC;IAC1B,CAAC,SAAS,EAAE,yBAAyB,CAAC;IACtC,gDAAgD;IAChD,CAAC,aAAa,EAAE,aAAa,CAAC;IAC9B,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACxC,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IAC9C,CAAC,WAAW,EAAE,aAAa,CAAC;IAC5B,CAAC,eAAe,EAAE,mBAAmB,CAAC;IACtC,CAAC,SAAS,EAAE,aAAa,CAAC;IAC1B,CAAC,aAAa,EAAE,mBAAmB,CAAC;IACpC,CAAC,YAAY,EAAE,aAAa,CAAC;IAC7B,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IACvC,CAAC,mBAAmB,EAAE,aAAa,CAAC;IACpC,CAAC,eAAe,EAAE,mBAAmB,CAAC;IACtC,6CAA6C;IAC7C,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;CAC/C,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;AAClD,uDAAuD;AACvD,oFAAoF;CACrF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,gEAAgE;IAChE,CAAC,aAAa,EAAE,aAAa,CAAC;IAC9B,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACxC,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IAC9C,CAAC,WAAW,EAAE,aAAa,CAAC;IAC5B,CAAC,eAAe,EAAE,mBAAmB,CAAC;IACtC,CAAC,SAAS,EAAE,aAAa,CAAC;IAC1B,CAAC,aAAa,EAAE,mBAAmB,CAAC;IACpC,CAAC,YAAY,EAAE,aAAa,CAAC;IAC7B,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IACvC,CAAC,mBAAmB,EAAE,aAAa,CAAC;IACpC,CAAC,eAAe,EAAE,mBAAmB,CAAC;IACtC,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IAC9C,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IAC/C,CAAC,sBAAsB,EAAE,yBAAyB,CAAC;IACnD,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;IAChD,CAAC,sBAAsB,EAAE,YAAY,CAAC;IACtC,CAAC,sBAAsB,EAAE,yBAAyB,CAAC;IACnD,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IAC/C,CAAC,aAAa,EAAE,SAAS,CAAC;IAC1B,CAAC,SAAS,EAAE,yBAAyB,CAAC;IACtC,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;IAChD,CAAC,SAAS,EAAE,yBAAyB,CAAC;IACtC,CAAC,WAAW,EAAE,yBAAyB,CAAC;IACxC,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IAC9C,CAAC,SAAS,EAAE,yBAAyB,CAAC;IACtC,CAAC,WAAW,EAAE,yBAAyB,CAAC;IACxC,CAAC,6BAA6B,EAAE,UAAU,CAAC;IAC3C,CAAC,uBAAuB,EAAE,UAAU,CAAC;IACrC,CAAC,aAAa,EAAE,UAAU,CAAC;IAC3B,CAAC,cAAc,EAAE,UAAU,CAAC;IAC5B,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAChC,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;IACxC,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;IACxC,CAAC,sCAAsC,EAAE,4BAA4B,CAAC;IACtE,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;IACxD,CAAC,gCAAgC,EAAE,wBAAwB,CAAC;CAC7D,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,CAAC,SAAS,EAAE,CAAC,CAAC;IACd,CAAC,SAAS,EAAE,CAAC,CAAC;IACd,CAAC,WAAW,EAAE,CAAC,CAAC;IAChB,CAAC,SAAS,EAAE,CAAC,CAAC;IACd,CAAC,UAAU,EAAE,CAAC,CAAC;IACf,CAAC,SAAS,EAAE,CAAC,CAAC;IACd,CAAC,YAAY,EAAE,CAAC,CAAC;IACjB,CAAC,WAAW,EAAE,CAAC,CAAC;IAChB,CAAC,UAAU,EAAE,CAAC,CAAC;IACf,CAAC,YAAY,EAAE,CAAC,CAAC;IACjB,CAAC,SAAS,EAAE,EAAE,CAAC;IACf,CAAC,aAAa,EAAE,CAAC,CAAC;IAClB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxB,CAAC,SAAS,EAAE,EAAE,CAAC;IACf,CAAC,WAAW,EAAE,EAAE,CAAC;IACjB,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC3B,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC9B,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrB,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrB,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1B,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC3B,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC7B,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChC,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC7B,CAAC,4BAA4B,EAAE,CAAC,CAAC;IACjC,CAAC,+BAA+B,EAAE,CAAC,CAAC;IACpC,CAAC,+BAA+B,EAAE,CAAC,CAAC;CACrC,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,UAA4B,EAC5B,QAA0B;IAE1B,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC;IAE/C,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAEvC,4CAA4C;IAC5C,MAAM,GAAG,GAAG,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,IAAsB,EACtB,EAAoB;IAEpB,qBAAqB;IACrB,IAAI,IAAI,KAAK,QAAQ,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,cAAc,CAAC;IAC9D,IAAI,IAAI,KAAK,MAAM,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC;IAC9D,IAAI,IAAI,KAAK,MAAM,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC;IAC9D,IAAI,IAAI,KAAK,QAAQ,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,cAAc,CAAC;IAE9D,wDAAwD;IACxD,IAAI,IAAI,KAAK,MAAM,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,aAAa;IAClE,IAAI,IAAI,KAAK,QAAQ,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,CAAC,aAAa;IAClE,IAAI,IAAI,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,cAAc,CAAC;IAC5D,IAAI,IAAI,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,cAAc,CAAC;IAE5D,uDAAuD;IACvD,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,uDAAuD;IACvD,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAChB,IAAyB,EACzB,IAAyB;IAEzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,0DAA0D;IAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,wDAAwD;IACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+EAA+E;AAC/E,iFAAiF;AACjF,4EAA4E;AAC5E,mDAAmD;AACnD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoD,CAAC;AACrF,SAAS,aAAa,CAAC,MAAwB;IAC7C,IAAI,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,QAAQ,GAAoC,IAAI,CAAC;IACrD,IAAI,MAAM,KAAK,QAAQ;QAAE,QAAQ,GAAG,eAAe,CAAC;SAC/C,IAAI,MAAM,KAAK,MAAM;QAAE,QAAQ,GAAG,aAAa,CAAC;SAChD,IAAI,MAAM,KAAK,QAAQ;QAAE,QAAQ,GAAG,eAAe,CAAC;;QACpD,OAAO,IAAI,CAAC,CAAC,sDAAsD;IACxE,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IACxE,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,GAAsB,EAAE,GAAsB;IACxE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CAAC,MAAwB;IAC1C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QACtB,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED;6DAC6D;AAC7D,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,IAAI,CAAC;aACxC,IAAI,EAAE,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC1E,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACnB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACxB,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;gBAAE,KAAK,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,UAA4B,EAC5B,QAA0B;IAE1B,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzC,2EAA2E;IAC3E,6EAA6E;IAC7E,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,uCAAuC;IAEhE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,UAAU;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhC,sBAAsB;IACtB,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEpE,0EAA0E;IAC1E,qFAAqF;IACrF,IAAI,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,GAAG,MAAM,aAAa,eAAe,EAAE,QAAQ,UAAU,4BAA4B,CAAC;IAC/F,CAAC;IAED,kDAAkD;IAClD,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,EAAE;IACF,+EAA+E;IAC/E,uEAAuE;IACvE,gFAAgF;IAChF,iFAAiF;IACjF,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,uDAAuD;IACvD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,kFAAkF;QAClF,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,QAAQ,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnE,MAAM,YAAY,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvD,UAAU,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,MAAM,GAAG,OAAO,IAAI,UAAU,IAAI,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,UAAkB,EAAE,QAA0B;IACtE,mEAAmE;IACnE,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6EAA6E;IAC7E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,kBAAkB;QAClB,wBAAwB;QACxB,sBAAsB;QACtB,qBAAqB;KACtB,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,QAAgB,EAAE,QAAgB;IACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IAEtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEvB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;YAClC,6BAA6B;YAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvD,OAAO,IAAI,IAAI,CAAC;gBAChB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,EAAE,CAAC;YACR,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,EAAE,CAAC;YACR,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpB,mBAAmB;IACnB,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,UAA4B,EAC5B,QAA0B;IAE1B,OAAO,UAAU,KAAK,QAAQ,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAA4B,EAC5B,QAA0B;IAE1B,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,sBAAsB,CAAC;IAE3D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAClF,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC9E,QAAQ,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,cAAc,UAAU,MAAM,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAClE,CAAC,CAAC,cAAc,UAAU,MAAM,QAAQ,EAAE,CAAC;AAC/C,CAAC"}
@@ -88,6 +88,11 @@ export declare class StepExporter {
88
88
  private mutationView;
89
89
  private nextExpressId;
90
90
  private entityExtractor;
91
+ /** Lazily-resolved fallback `#id` of an IfcOwnerHistory that survives the
92
+ * current export closure (or `$` when the file has none). */
93
+ private ownerHistoryFallbackRef;
94
+ /** Per-host cache of an element's own OwnerHistory ref (`#id` or null). */
95
+ private ownerHistoryByEntity;
91
96
  constructor(dataStore: IfcDataStore, mutationView?: MutablePropertyView);
92
97
  /**
93
98
  * Export to STEP format
@@ -102,6 +107,26 @@ export declare class StepExporter {
102
107
  * Export only property/quantity changes (lightweight export)
103
108
  */
104
109
  exportPropertiesOnly(options: Omit<StepExportOptions, 'includeGeometry'>): StepExportResult;
110
+ /**
111
+ * Resolve a STEP reference to an existing IfcOwnerHistory for the
112
+ * IfcPropertySet / IfcRelDefinesByProperties / IfcElementQuantity entities we
113
+ * generate for `hostEntityId`'s mutations. OwnerHistory is optional in IFC4 but
114
+ * MANDATORY in IFC2X3 (IfcRoot.OwnerHistory), so emitting `$` yields an invalid
115
+ * IFC2X3 file that strict readers (e.g. BIM Vision) reject.
116
+ *
117
+ * Prefer the host element's OWN owner history: it is the semantically correct
118
+ * owner and — being reachable from an exported root — is guaranteed to survive a
119
+ * `visibleOnly` closure. Fall back to any owner history still inside the export
120
+ * (closure-aware) so we never reference one a `visibleOnly` / isolated export
121
+ * dropped, then to `$` only when the file has none.
122
+ */
123
+ private resolveOwnerHistoryRef;
124
+ /**
125
+ * Read an element's own OwnerHistory reference (`#id`), or null when the
126
+ * element omits one (`$`) or cannot be parsed. OwnerHistory is the second
127
+ * attribute of every IfcRoot subtype, immediately after the GlobalId string.
128
+ */
129
+ private getOwnerHistoryRefOfEntity;
105
130
  /**
106
131
  * Generate STEP entities for property sets
107
132
  */
@@ -167,6 +192,20 @@ export declare class StepExporter {
167
192
  /**
168
193
  * Get IDs of properties in a property set
169
194
  */
195
+ /**
196
+ * Un-skip property/quantity atoms that a surviving (non-skipped, and — under
197
+ * visible-only export — still-included) IfcPropertySet / IfcElementQuantity
198
+ * still references.
199
+ *
200
+ * When a property is edited, the modified pset is replaced and its member atoms
201
+ * are added to `skipIds` wholesale. Because exporters deduplicate shared
202
+ * Pset_*Common atoms (e.g. a single IsExternal / IsLoadBearing value referenced
203
+ * by many psets), that wholesale skip can drop an atom another pset still needs.
204
+ * This pass restores any such atom: the edited pset still emits its replacement
205
+ * with the new value, while the shared atom stays for the psets that keep their
206
+ * original value.
207
+ */
208
+ private retainSharedAtoms;
170
209
  private getPropertyIdsInSet;
171
210
  /**
172
211
  * Check whether an entity is an IFC type object (e.g. IfcWallType).
@@ -1 +1 @@
1
- {"version":3,"file":"step-exporter.d.ts","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-exporter.d.ts","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,11 @@ export class StepExporter {
17
17
  mutationView;
18
18
  nextExpressId;
19
19
  entityExtractor;
20
+ /** Lazily-resolved fallback `#id` of an IfcOwnerHistory that survives the
21
+ * current export closure (or `$` when the file has none). */
22
+ ownerHistoryFallbackRef;
23
+ /** Per-host cache of an element's own OwnerHistory ref (`#id` or null). */
24
+ ownerHistoryByEntity = new Map();
20
25
  constructor(dataStore, mutationView) {
21
26
  this.dataStore = dataStore;
22
27
  this.mutationView = mutationView || null;
@@ -403,6 +408,12 @@ export class StepExporter {
403
408
  // them back, so the forward closure misses them.
404
409
  collectStyleEntities(allowedEntityIds, this.dataStore.source, { byId: completeIndex, byType: this.dataStore.entityIndex.byType });
405
410
  }
411
+ // A modified pset is replaced wholesale, which skips ALL of its member atoms.
412
+ // But IFC exporters deduplicate identical Pset_*Common atoms (e.g. one
413
+ // IsExternal IfcPropertySingleValue shared by dozens of psets), so skipping a
414
+ // shared atom would orphan every OTHER pset that still references it, leaving
415
+ // dangling refs and an invalid file. Keep any atom a surviving container needs.
416
+ this.retainSharedAtoms(skipPropertySetIds, allowedEntityIds);
406
417
  // Export original entities from source buffer, SKIPPING modified property sets
407
418
  if (!options.deltaOnly && this.dataStore.source) {
408
419
  const source = this.dataStore.source;
@@ -491,7 +502,7 @@ export class StepExporter {
491
502
  }
492
503
  // Generate new property entities for mutations (these REPLACE the skipped ones)
493
504
  for (const { entityId, psets } of newPropertySets) {
494
- const newEntities = this.generatePropertySetEntities(entityId, psets, typeOwnedPsetNamesByEntity.get(entityId));
505
+ const newEntities = this.generatePropertySetEntities(entityId, psets, allowedEntityIds, typeOwnedPsetNamesByEntity.get(entityId));
495
506
  entities.push(...newEntities.lines);
496
507
  newEntityCount += newEntities.count;
497
508
  const typeOwnedPsetNames = typeOwnedPsetNamesByEntity.get(entityId);
@@ -513,7 +524,7 @@ export class StepExporter {
513
524
  }
514
525
  // Generate new quantity entities for mutations
515
526
  for (const { entityId, qsets } of newQuantitySets) {
516
- const newEntities = this.generateQuantitySetEntities(entityId, qsets);
527
+ const newEntities = this.generateQuantitySetEntities(entityId, qsets, allowedEntityIds);
517
528
  entities.push(...newEntities.lines);
518
529
  newEntityCount += newEntities.count;
519
530
  }
@@ -624,10 +635,61 @@ export class StepExporter {
624
635
  deltaOnly: true,
625
636
  });
626
637
  }
638
+ /**
639
+ * Resolve a STEP reference to an existing IfcOwnerHistory for the
640
+ * IfcPropertySet / IfcRelDefinesByProperties / IfcElementQuantity entities we
641
+ * generate for `hostEntityId`'s mutations. OwnerHistory is optional in IFC4 but
642
+ * MANDATORY in IFC2X3 (IfcRoot.OwnerHistory), so emitting `$` yields an invalid
643
+ * IFC2X3 file that strict readers (e.g. BIM Vision) reject.
644
+ *
645
+ * Prefer the host element's OWN owner history: it is the semantically correct
646
+ * owner and — being reachable from an exported root — is guaranteed to survive a
647
+ * `visibleOnly` closure. Fall back to any owner history still inside the export
648
+ * (closure-aware) so we never reference one a `visibleOnly` / isolated export
649
+ * dropped, then to `$` only when the file has none.
650
+ */
651
+ resolveOwnerHistoryRef(hostEntityId, allowedEntityIds) {
652
+ const own = this.getOwnerHistoryRefOfEntity(hostEntityId);
653
+ if (own !== null) {
654
+ const ownId = parseInt(own.slice(1), 10);
655
+ if (allowedEntityIds === null || allowedEntityIds.has(ownId))
656
+ return own;
657
+ }
658
+ if (this.ownerHistoryFallbackRef === undefined) {
659
+ const ids = this.dataStore.entityIndex.byType.get('IFCOWNERHISTORY') ?? [];
660
+ const surviving = allowedEntityIds === null
661
+ ? ids[0]
662
+ : ids.find((id) => allowedEntityIds.has(id));
663
+ this.ownerHistoryFallbackRef = surviving !== undefined ? `#${surviving}` : '$';
664
+ }
665
+ return this.ownerHistoryFallbackRef;
666
+ }
667
+ /**
668
+ * Read an element's own OwnerHistory reference (`#id`), or null when the
669
+ * element omits one (`$`) or cannot be parsed. OwnerHistory is the second
670
+ * attribute of every IfcRoot subtype, immediately after the GlobalId string.
671
+ */
672
+ getOwnerHistoryRefOfEntity(entityId) {
673
+ const cached = this.ownerHistoryByEntity.get(entityId);
674
+ if (cached !== undefined)
675
+ return cached;
676
+ let result = null;
677
+ const entityRef = this.dataStore.entityIndex.byId.get(entityId);
678
+ if (entityRef && this.dataStore.source && entityRef.byteLength > 0) {
679
+ const entityText = safeUtf8Decode(this.dataStore.source, entityRef.byteOffset, entityRef.byteOffset + entityRef.byteLength);
680
+ // #ID=IFCWALL('GlobalId',#owner,...): GlobalId is a quoted STEP string
681
+ // (doubled '' escapes); OwnerHistory is the ref/`$` right after it.
682
+ const match = entityText.match(/=\s*IFC\w+\s*\(\s*'(?:[^']|'')*'\s*,\s*#(\d+)/i);
683
+ if (match)
684
+ result = `#${match[1]}`;
685
+ }
686
+ this.ownerHistoryByEntity.set(entityId, result);
687
+ return result;
688
+ }
627
689
  /**
628
690
  * Generate STEP entities for property sets
629
691
  */
630
- generatePropertySetEntities(entityId, psets, typeOwnedPsetNames) {
692
+ generatePropertySetEntities(entityId, psets, allowedEntityIds, typeOwnedPsetNames) {
631
693
  const lines = [];
632
694
  let count = 0;
633
695
  const generatedTypeOwnedPsetIds = new Map();
@@ -650,8 +712,8 @@ export class StepExporter {
650
712
  count++;
651
713
  const propRefs = propertyIds.map(id => `#${id}`).join(',');
652
714
  const globalId = this.generateGlobalId();
653
- // #ID=IFCPROPERTYSET('GlobalId',$,'Name',$,(#props));
654
- const psetLine = `#${psetId}=IFCPROPERTYSET('${globalId}',$,'${escapeStepString(pset.name)}',$,(${propRefs}));`;
715
+ // #ID=IFCPROPERTYSET('GlobalId',#ownerHistory,'Name',$,(#props));
716
+ const psetLine = `#${psetId}=IFCPROPERTYSET('${globalId}',${this.resolveOwnerHistoryRef(entityId, allowedEntityIds)},'${escapeStepString(pset.name)}',$,(${propRefs}));`;
655
717
  lines.push(psetLine);
656
718
  if (typeOwnedPsetNames?.has(pset.name)) {
657
719
  generatedTypeOwnedPsetIds.set(pset.name, psetId);
@@ -661,8 +723,8 @@ export class StepExporter {
661
723
  const relId = this.nextExpressId++;
662
724
  count++;
663
725
  const relGlobalId = this.generateGlobalId();
664
- // #ID=IFCRELDEFINESBYPROPERTIES('GlobalId',$,$,$,(#entity),#pset);
665
- const relLine = `#${relId}=IFCRELDEFINESBYPROPERTIES('${relGlobalId}',$,$,$,(#${entityId}),#${psetId});`;
726
+ // #ID=IFCRELDEFINESBYPROPERTIES('GlobalId',#ownerHistory,$,$,(#entity),#pset);
727
+ const relLine = `#${relId}=IFCRELDEFINESBYPROPERTIES('${relGlobalId}',${this.resolveOwnerHistoryRef(entityId, allowedEntityIds)},$,$,(#${entityId}),#${psetId});`;
666
728
  lines.push(relLine);
667
729
  }
668
730
  }
@@ -671,7 +733,7 @@ export class StepExporter {
671
733
  /**
672
734
  * Generate STEP entities for quantity sets (IfcElementQuantity)
673
735
  */
674
- generateQuantitySetEntities(entityId, qsets) {
736
+ generateQuantitySetEntities(entityId, qsets, allowedEntityIds) {
675
737
  const lines = [];
676
738
  let count = 0;
677
739
  for (const qset of qsets) {
@@ -691,14 +753,14 @@ export class StepExporter {
691
753
  count++;
692
754
  const quantRefs = quantityIds.map(id => `#${id}`).join(',');
693
755
  const globalId = this.generateGlobalId();
694
- // #ID=IFCELEMENTQUANTITY('GlobalId',$,'Name',$,$,(#quants));
695
- const qsetLine = `#${qsetId}=IFCELEMENTQUANTITY('${globalId}',$,'${escapeStepString(qset.name)}',$,$,(${quantRefs}));`;
756
+ // #ID=IFCELEMENTQUANTITY('GlobalId',#ownerHistory,'Name',$,$,(#quants));
757
+ const qsetLine = `#${qsetId}=IFCELEMENTQUANTITY('${globalId}',${this.resolveOwnerHistoryRef(entityId, allowedEntityIds)},'${escapeStepString(qset.name)}',$,$,(${quantRefs}));`;
696
758
  lines.push(qsetLine);
697
759
  // Create IfcRelDefinesByProperties to link qset to entity
698
760
  const relId = this.nextExpressId++;
699
761
  count++;
700
762
  const relGlobalId = this.generateGlobalId();
701
- const relLine = `#${relId}=IFCRELDEFINESBYPROPERTIES('${relGlobalId}',$,$,$,(#${entityId}),#${qsetId});`;
763
+ const relLine = `#${relId}=IFCRELDEFINESBYPROPERTIES('${relGlobalId}',${this.resolveOwnerHistoryRef(entityId, allowedEntityIds)},$,$,(#${entityId}),#${qsetId});`;
702
764
  lines.push(relLine);
703
765
  }
704
766
  return { lines, count };
@@ -1006,6 +1068,40 @@ export class StepExporter {
1006
1068
  /**
1007
1069
  * Get IDs of properties in a property set
1008
1070
  */
1071
+ /**
1072
+ * Un-skip property/quantity atoms that a surviving (non-skipped, and — under
1073
+ * visible-only export — still-included) IfcPropertySet / IfcElementQuantity
1074
+ * still references.
1075
+ *
1076
+ * When a property is edited, the modified pset is replaced and its member atoms
1077
+ * are added to `skipIds` wholesale. Because exporters deduplicate shared
1078
+ * Pset_*Common atoms (e.g. a single IsExternal / IsLoadBearing value referenced
1079
+ * by many psets), that wholesale skip can drop an atom another pset still needs.
1080
+ * This pass restores any such atom: the edited pset still emits its replacement
1081
+ * with the new value, while the shared atom stays for the psets that keep their
1082
+ * original value.
1083
+ */
1084
+ retainSharedAtoms(skipIds, allowedEntityIds) {
1085
+ if (skipIds.size === 0)
1086
+ return;
1087
+ const byType = this.dataStore.entityIndex.byType;
1088
+ const containerIds = [
1089
+ ...(byType.get('IFCPROPERTYSET') ?? []),
1090
+ ...(byType.get('IFCELEMENTQUANTITY') ?? []),
1091
+ ];
1092
+ for (const containerId of containerIds) {
1093
+ // Skipped containers are being dropped/replaced — their atoms may go.
1094
+ if (skipIds.has(containerId))
1095
+ continue;
1096
+ // Under visible-only export a container outside the closure is not emitted,
1097
+ // so it cannot keep an atom alive.
1098
+ if (allowedEntityIds !== null && !allowedEntityIds.has(containerId))
1099
+ continue;
1100
+ for (const atomId of this.getPropertyIdsInSet(containerId)) {
1101
+ skipIds.delete(atomId);
1102
+ }
1103
+ }
1104
+ }
1009
1105
  getPropertyIdsInSet(psetId) {
1010
1106
  const entityRef = this.dataStore.entityIndex.byId.get(psetId);
1011
1107
  if (!entityRef || !this.dataStore.source)
@@ -1 +1 @@
1
- {"version":3,"file":"step-exporter.js","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-exporter.js","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/export",
3
- "version": "2.1.0",
3
+ "version": "2.3.0",
4
4
  "description": "Export formats for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,11 +16,11 @@
16
16
  "parquet-wasm": "^0.7.1",
17
17
  "apache-arrow": "^21.1.0",
18
18
  "jszip": "^3.10.0",
19
- "@ifc-lite/geometry": "^2.11.0",
19
+ "@ifc-lite/geometry": "^2.13.0",
20
20
  "@ifc-lite/data": "^2.2.0",
21
21
  "@ifc-lite/encoding": "^1.14.7",
22
- "@ifc-lite/mutations": "^1.16.0",
23
- "@ifc-lite/parser": "^3.4.0"
22
+ "@ifc-lite/parser": "^3.5.1",
23
+ "@ifc-lite/mutations": "^1.17.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "typescript": "^6.0.3",