@ifc-lite/ifcx 4.2.1 → 4.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/README.md CHANGED
@@ -79,6 +79,14 @@ const ifcx = exporter.export({ includeGeometry: true });
79
79
  // ifcx.content → IFCX JSON string, save as .ifcx
80
80
  ```
81
81
 
82
+ For the low-level `IfcxWriter`, `spatialHierarchy` is a parsed snapshot. If a
83
+ `mutationView` changes an `IfcRelAggregates`, `IfcRelNests`, or
84
+ `IfcRelContainedInSpatialStructure` record, supply `effectiveSpatialEdges`
85
+ containing the **complete** current spatial edge set (`sourceId`, `targetId`,
86
+ `relationshipType`). The writer uses those edges to build `children` and raises
87
+ an error if it detects such an edit without them. `applyMutations: false` uses
88
+ the parsed hierarchy.
89
+
82
90
  ## API
83
91
 
84
92
  See the [Parsing Guide](https://ifclite.dev/docs/guide/parsing/) and [API Reference](https://ifclite.dev/docs/api/typescript/#ifc-liteifcx).
@@ -0,0 +1,8 @@
1
+ import { type EntityTable } from '@ifc-lite/data';
2
+ import type { MutablePropertyView } from '@ifc-lite/mutations';
3
+ import type { IfcxExportData } from './writer.js';
4
+ export declare function indexSpatialEdges(edges: NonNullable<IfcxExportData['effectiveSpatialEdges']>): Map<number, number[]>;
5
+ /** Parsed hierarchy has no relationship ids or editable endpoints. Fail
6
+ * visibly when it cannot describe the effective session. */
7
+ export declare function hasSpatialRelationshipEdits(entities: EntityTable, view: MutablePropertyView): boolean;
8
+ //# sourceMappingURL=writer-spatial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer-spatial.d.ts","sourceRoot":"","sources":["../src/writer-spatial.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,GAC1D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASvB;AAED;6DAC6D;AAC7D,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CA4BrG"}
@@ -0,0 +1,59 @@
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
+ import { IfcTypeEnumToString } from '@ifc-lite/data';
5
+ function isSpatialRelationship(type) {
6
+ const upper = type?.toUpperCase();
7
+ return upper === 'IFCRELAGGREGATES' || upper === 'IFCRELNESTS'
8
+ || upper === 'IFCRELCONTAINEDINSPATIALSTRUCTURE';
9
+ }
10
+ export function indexSpatialEdges(edges) {
11
+ const children = new Map();
12
+ for (const edge of edges) {
13
+ if (!isSpatialRelationship(edge.relationshipType))
14
+ continue;
15
+ const targets = children.get(edge.sourceId) ?? [];
16
+ targets.push(edge.targetId);
17
+ children.set(edge.sourceId, targets);
18
+ }
19
+ return children;
20
+ }
21
+ /** Parsed hierarchy has no relationship ids or editable endpoints. Fail
22
+ * visibly when it cannot describe the effective session. */
23
+ export function hasSpatialRelationshipEdits(entities, view) {
24
+ // The public input also accepts older property-only view adapters; they
25
+ // have no structural edits to inspect (writerEntities uses the same gate).
26
+ if (typeof view.getNewEntities !== 'function' || typeof view.getTombstones !== 'function')
27
+ return false;
28
+ const sourceSpatialTypes = new Map();
29
+ // @raw-entity-enumeration-ok source class lookup detects edited source relationships before writing effective rows
30
+ for (let row = 0; row < entities.count; row++) {
31
+ const id = entities.expressId[row];
32
+ const type = entities.getTypeName?.(id)
33
+ ?? IfcTypeEnumToString(entities.typeEnum[row]);
34
+ if (isSpatialRelationship(type))
35
+ sourceSpatialTypes.set(id, type);
36
+ }
37
+ for (const entity of view.getNewEntities()) {
38
+ if (isSpatialRelationship(entity.type))
39
+ return true;
40
+ }
41
+ for (const id of view.getTombstones()) {
42
+ if (sourceSpatialTypes.has(id))
43
+ return true;
44
+ }
45
+ for (const [id, change] of view.getTypeMutations()) {
46
+ if (sourceSpatialTypes.has(id) || isSpatialRelationship(change.newType))
47
+ return true;
48
+ }
49
+ for (const id of view.getAttributeMutationsByEntity().keys()) {
50
+ if (sourceSpatialTypes.has(id))
51
+ return true;
52
+ }
53
+ for (const id of sourceSpatialTypes.keys()) {
54
+ if (view.getPositionalMutationsForEntity(id)?.size)
55
+ return true;
56
+ }
57
+ return false;
58
+ }
59
+ //# sourceMappingURL=writer-spatial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer-spatial.js","sourceRoot":"","sources":["../src/writer-spatial.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,mBAAmB,EAAsC,MAAM,gBAAgB,CAAC;AAIzF,SAAS,qBAAqB,CAAC,IAAwB;IACrD,MAAM,KAAK,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;IAClC,OAAO,KAAK,KAAK,kBAAkB,IAAI,KAAK,KAAK,aAAa;WACzD,KAAK,KAAK,mCAAmC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAA2D;IAE3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAAE,SAAS;QAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;6DAC6D;AAC7D,MAAM,UAAU,2BAA2B,CAAC,QAAqB,EAAE,IAAyB;IAC1F,wEAAwE;IACxE,2EAA2E;IAC3E,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACxG,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,mHAAmH;IACnH,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;eAClC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAgB,CAAC,CAAC;QAChE,IAAI,qBAAqB,CAAC,IAAI,CAAC;YAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QAC3C,IAAI,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACtC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9C,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACnD,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IACvF,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9C,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC,EAAE,IAAI;YAAE,OAAO,IAAI,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/writer.d.ts CHANGED
@@ -27,6 +27,17 @@ export interface IfcxExportData {
27
27
  properties?: PropertyTable;
28
28
  /** Spatial hierarchy */
29
29
  spatialHierarchy?: SpatialHierarchy;
30
+ /**
31
+ * Complete effective spatial relationship edges for an edited session.
32
+ * A caller with source STEP records can derive these from the parser's
33
+ * effective relationship overlay. This replaces the parsed hierarchy when
34
+ * applyMutations is true; pass the entire spatial edge set, not only edits.
35
+ */
36
+ effectiveSpatialEdges?: ReadonlyArray<{
37
+ sourceId: number;
38
+ targetId: number;
39
+ relationshipType: string;
40
+ }>;
30
41
  /** String table for lookups */
31
42
  strings?: {
32
43
  get(idx: number): string;
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAe,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK/D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4EAA4E;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,uDAAuD;IACvD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,+BAA+B;IAC/B,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,kDAAkD;IAClD,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAiB;gBAEjB,IAAI,EAAE,cAAc;IAIhC;;OAEG;IACH,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAgCzD;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAuFpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA8B9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAIR"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM/D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4EAA4E;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,uDAAuD;IACvD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAC;QACpC,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;IACH,+BAA+B;IAC/B,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,kDAAkD;IAClD,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAiB;gBAEjB,IAAI,EAAE,cAAc;IAIhC;;OAEG;IACH,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAgCzD;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8FpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA8B9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyC5B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAIR"}
package/dist/writer.js CHANGED
@@ -4,6 +4,7 @@
4
4
  import { IFCX_VERSION } from '@ifc-lite/data';
5
5
  import { collectRequiredImports } from './writer-imports.js';
6
6
  import { writerEntities } from './writer-entities.js';
7
+ import { hasSpatialRelationshipEdits, indexSpatialEdges } from './writer-spatial.js';
7
8
  /**
8
9
  * IFCX file writer
9
10
  */
@@ -61,6 +62,13 @@ export class IfcxWriter {
61
62
  const nodes = [];
62
63
  const { spatialHierarchy, mutationView, idToPath } = this.data;
63
64
  const rows = writerEntities(this.data, options.applyMutations !== false);
65
+ const effectiveSpatial = options.applyMutations !== false
66
+ ? this.data.effectiveSpatialEdges : undefined;
67
+ if (mutationView && options.applyMutations !== false
68
+ && !effectiveSpatial && hasSpatialRelationshipEdits(this.data.entities, mutationView)) {
69
+ throw new Error('IFCX export needs effectiveSpatialEdges for edited spatial relationships');
70
+ }
71
+ const effectiveChildren = effectiveSpatial && indexSpatialEdges(effectiveSpatial);
64
72
  // Single source of truth for expressId -> path, built once up front so that
65
73
  // an entity's own path and any *reference* to that entity as a child
66
74
  // (see getChildrenForEntity) can never diverge. Previously the child-ref
@@ -122,7 +130,7 @@ export class IfcxWriter {
122
130
  attributes: Object.keys(attributes).length > 0 ? attributes : undefined,
123
131
  };
124
132
  // Add children based on spatial hierarchy
125
- const children = this.getChildrenForEntity(expressId, spatialHierarchy, resolvedPaths);
133
+ const children = this.getChildrenForEntity(expressId, spatialHierarchy, resolvedPaths, effectiveChildren);
126
134
  if (Object.keys(children).length > 0) {
127
135
  node.children = children;
128
136
  }
@@ -161,15 +169,22 @@ export class IfcxWriter {
161
169
  /**
162
170
  * Get children relationships for an entity
163
171
  */
164
- getChildrenForEntity(entityId, spatialHierarchy, resolvedPaths) {
172
+ getChildrenForEntity(entityId, spatialHierarchy, resolvedPaths, effectiveChildren) {
165
173
  const children = {};
166
- if (!spatialHierarchy)
174
+ if (!spatialHierarchy && !effectiveChildren)
167
175
  return children;
168
176
  // Check if this entity has contained elements
169
- const containedElements = spatialHierarchy.byStorey.get(entityId) ||
170
- spatialHierarchy.byBuilding.get(entityId) ||
171
- spatialHierarchy.bySite.get(entityId) ||
172
- spatialHierarchy.bySpace.get(entityId);
177
+ // @raw-entity-enumeration-ok parsed hierarchy is the source-only/default path; effectiveSpatialEdges replaces it for live relationships
178
+ const sourceChildren = effectiveChildren ? [] : [
179
+ ...(spatialHierarchy?.byStorey.get(entityId) ?? []),
180
+ // @raw-entity-enumeration-ok source hierarchy only when complete effective edges are absent
181
+ ...(spatialHierarchy?.byBuilding.get(entityId) ?? []),
182
+ // @raw-entity-enumeration-ok source hierarchy only when complete effective edges are absent
183
+ ...(spatialHierarchy?.bySite.get(entityId) ?? []),
184
+ // @raw-entity-enumeration-ok source hierarchy only when complete effective edges are absent
185
+ ...(spatialHierarchy?.bySpace.get(entityId) ?? []),
186
+ ];
187
+ const containedElements = effectiveChildren ? effectiveChildren.get(entityId) ?? [] : sourceChildren;
173
188
  if (containedElements) {
174
189
  for (const childId of containedElements) {
175
190
  // Resolve from the same expressId -> path map used to assign the
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/ifcx",
3
- "version": "4.2.1",
3
+ "version": "4.3.0",
4
4
  "description": "IFC5 (IFCX) parser for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,12 +14,12 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@noble/hashes": "^2.4.0",
17
- "@ifc-lite/mutations": "^2.8.0",
18
- "@ifc-lite/pointcloud": "^0.11.0",
19
- "@ifc-lite/data": "^6.0.0"
17
+ "@ifc-lite/mutations": "^3.0.0",
18
+ "@ifc-lite/data": "^6.1.0",
19
+ "@ifc-lite/pointcloud": "^0.11.0"
20
20
  },
21
21
  "devDependencies": {
22
- "tsx": "^4.23.13",
22
+ "tsx": "^4.23.15",
23
23
  "typescript": "^6.0.3"
24
24
  },
25
25
  "license": "MPL-2.0",