@ifc-lite/export 4.7.4 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/entity-subgraph.d.ts +56 -0
  2. package/dist/entity-subgraph.d.ts.map +1 -0
  3. package/dist/entity-subgraph.js +138 -0
  4. package/dist/entity-subgraph.js.map +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/lod0-generator.d.ts.map +1 -1
  10. package/dist/lod0-generator.js +4 -1
  11. package/dist/lod0-generator.js.map +1 -1
  12. package/dist/merged-empty-containers.d.ts +12 -8
  13. package/dist/merged-empty-containers.d.ts.map +1 -1
  14. package/dist/merged-empty-containers.js +8 -4
  15. package/dist/merged-empty-containers.js.map +1 -1
  16. package/dist/merged-exporter.d.ts +1 -1
  17. package/dist/merged-exporter.d.ts.map +1 -1
  18. package/dist/merged-exporter.js +25 -28
  19. package/dist/merged-exporter.js.map +1 -1
  20. package/dist/merged-guid.d.ts +4 -0
  21. package/dist/merged-guid.d.ts.map +1 -1
  22. package/dist/merged-guid.js +14 -0
  23. package/dist/merged-guid.js.map +1 -1
  24. package/dist/merged-inverse-claims.d.ts +154 -0
  25. package/dist/merged-inverse-claims.d.ts.map +1 -0
  26. package/dist/merged-inverse-claims.js +306 -0
  27. package/dist/merged-inverse-claims.js.map +1 -0
  28. package/dist/merged-planner-guids.d.ts +32 -0
  29. package/dist/merged-planner-guids.d.ts.map +1 -0
  30. package/dist/merged-planner-guids.js +79 -0
  31. package/dist/merged-planner-guids.js.map +1 -0
  32. package/dist/merged-subcontext.d.ts.map +1 -1
  33. package/dist/merged-subcontext.js +1 -0
  34. package/dist/merged-subcontext.js.map +1 -1
  35. package/dist/parquet-exporter.d.ts.map +1 -1
  36. package/dist/parquet-exporter.js +2 -0
  37. package/dist/parquet-exporter.js.map +1 -1
  38. package/dist/property-value-serialization.d.ts.map +1 -1
  39. package/dist/property-value-serialization.js +2 -1
  40. package/dist/property-value-serialization.js.map +1 -1
  41. package/dist/reference-collector.js +3 -0
  42. package/dist/reference-collector.js.map +1 -1
  43. package/dist/related-entities.d.ts.map +1 -1
  44. package/dist/related-entities.js +6 -0
  45. package/dist/related-entities.js.map +1 -1
  46. package/dist/remesh-context-roots.d.ts +36 -0
  47. package/dist/remesh-context-roots.d.ts.map +1 -0
  48. package/dist/remesh-context-roots.js +126 -0
  49. package/dist/remesh-context-roots.js.map +1 -0
  50. package/dist/step-collection.js +1 -1
  51. package/dist/step-collection.js.map +1 -1
  52. package/dist/step-export-types.d.ts +2 -0
  53. package/dist/step-export-types.d.ts.map +1 -1
  54. package/dist/step-omission-predicates.d.ts +8 -0
  55. package/dist/step-omission-predicates.d.ts.map +1 -1
  56. package/dist/step-omission-predicates.js +11 -1
  57. package/dist/step-omission-predicates.js.map +1 -1
  58. package/dist/step-overlay-entities.d.ts.map +1 -1
  59. package/dist/step-overlay-entities.js +23 -1
  60. package/dist/step-overlay-entities.js.map +1 -1
  61. package/dist/step-pass-builder.d.ts.map +1 -1
  62. package/dist/step-pass-builder.js +1 -0
  63. package/dist/step-pass-builder.js.map +1 -1
  64. package/dist/step-property-set-collection.d.ts +2 -0
  65. package/dist/step-property-set-collection.d.ts.map +1 -1
  66. package/dist/step-property-set-collection.js +42 -21
  67. package/dist/step-property-set-collection.js.map +1 -1
  68. package/dist/step-property-set-generators.d.ts +1 -1
  69. package/dist/step-property-set-generators.d.ts.map +1 -1
  70. package/dist/step-property-set-generators.js +19 -2
  71. package/dist/step-property-set-generators.js.map +1 -1
  72. package/dist/step-property-set-index.js +5 -2
  73. package/dist/step-property-set-index.js.map +1 -1
  74. package/dist/step-property-sets.d.ts.map +1 -1
  75. package/dist/step-property-sets.js +5 -2
  76. package/dist/step-property-sets.js.map +1 -1
  77. package/dist/step-pset-copy-on-write.d.ts +75 -0
  78. package/dist/step-pset-copy-on-write.d.ts.map +1 -0
  79. package/dist/step-pset-copy-on-write.js +146 -0
  80. package/dist/step-pset-copy-on-write.js.map +1 -0
  81. package/dist/step-source-iteration.d.ts.map +1 -1
  82. package/dist/step-source-iteration.js +7 -0
  83. package/dist/step-source-iteration.js.map +1 -1
  84. package/package.json +8 -8
  85. package/dist/merged-decomposition-parents.d.ts +0 -99
  86. package/dist/merged-decomposition-parents.d.ts.map +0 -1
  87. package/dist/merged-decomposition-parents.js +0 -142
  88. package/dist/merged-decomposition-parents.js.map +0 -1
@@ -0,0 +1,306 @@
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 { filterHiddenRefsFromRelationshipLine } from './reference-collector.js';
5
+ import { readStepSlots, replaceStepArgument } from './step-argument-parser.js';
6
+ /** Shorthand for a row: `inverse` on attribute `claimed`, related to attribute `partner`. */
7
+ const rule = (inverse, claimed, partner, extra = {}) => ({ inverse, claimed, partner, ...extra });
8
+ /**
9
+ * Rows every schema shares (#5923): containment, voids and fills, coverings,
10
+ * flow control, ports, services and structural activity. Each is `SET [0:1]`
11
+ * (or exactly one) on the claimed side in IFC2X3, IFC4 and IFC4X3.
12
+ */
13
+ const SHARED_ROWS = [
14
+ ['IFCRELCONTAINEDINSPATIALSTRUCTURE', [rule('ContainedInStructure', 4, 5)]],
15
+ ['IFCRELVOIDSELEMENT', [rule('VoidsElements', 5, 4)]],
16
+ ['IFCRELFILLSELEMENT', [rule('FillsVoids', 5, 4)]],
17
+ ['IFCRELPROJECTSELEMENT', [rule('ProjectsElements', 5, 4)]],
18
+ ['IFCRELCOVERSSPACES', [rule('CoversSpaces', 5, 4)]],
19
+ ['IFCRELFLOWCONTROLELEMENTS', [rule('AssignedToFlowElement', 4, 5), rule('HasControlElements', 5, 4)]],
20
+ ['IFCRELCONNECTSPORTS', [rule('ConnectedTo', 4, 5), rule('ConnectedFrom', 5, 4)]],
21
+ ['IFCRELSERVICESBUILDINGS', [rule('ServicesBuildings', 4, 5)]],
22
+ ];
23
+ /**
24
+ * Relationship type (uppercase) → its single-valued inverses, per OUTPUT
25
+ * schema, list-side rules first. Every row is checked against the EXPRESS
26
+ * schemas in `merged-inverse-claims.test.ts`, which also lists the one
27
+ * single-valued relationship inverse left out and why.
28
+ *
29
+ * IFC2X3: `IfcObjectDefinition.Decomposes : SET [0:1] OF IfcRelDecomposes`,
30
+ * and IfcRelAggregates and IfcRelNests are both IfcRelDecomposes, so one
31
+ * nesting and one aggregation parent together are already two (#5726).
32
+ * `IfcPropertySetDefinition.PropertyDefinitionOf : SET [0:1] OF
33
+ * IfcRelDefinesByProperties` (#5774). A type has one IfcRelDefinesByType
34
+ * (`ObjectTypeOf`), and `IfcObject.WR1` (a WHERE rule, not an inverse bound)
35
+ * allows an object one. IFC4 and later split `Nests : SET [0:1] OF IfcRelNests`
36
+ * off `Decomposes : SET [0:1] OF IfcRelAggregates`, name the typing inverses
37
+ * `IsTypedBy`/`Types`, and relax the property-set side to
38
+ * `DefinesOccurrence : SET [0:?]`, so a property set may be shared by several
39
+ * IfcRelDefinesByProperties there.
40
+ */
41
+ const PROPERTY_DEFINITION_OF = rule('PropertyDefinitionOf', 5, 4);
42
+ const IFC2X3_RULES = new Map([
43
+ ...SHARED_ROWS,
44
+ ['IFCRELAGGREGATES', [rule('Decomposes', 5, 4)]],
45
+ ['IFCRELNESTS', [rule('Decomposes', 5, 4)]],
46
+ ['IFCRELDEFINESBYPROPERTIES', [PROPERTY_DEFINITION_OF]],
47
+ // `IfcRelOverridesProperties.WR1`: `SIZEOF(RelatedObjects) = 1`.
48
+ ['IFCRELOVERRIDESPROPERTIES', [{ ...PROPERTY_DEFINITION_OF, onePartner: true }]],
49
+ ['IFCRELDEFINESBYTYPE', [rule('IsDefinedBy', 4, 5, { where: 'IfcObject.WR1' }), rule('ObjectTypeOf', 5, 4)]],
50
+ ['IFCRELCOVERSBLDGELEMENTS', [rule('Covers', 5, 4)]],
51
+ ['IFCRELCONNECTSPORTTOELEMENT', [rule('ContainedIn', 4, 5)]],
52
+ ['IFCRELCONNECTSSTRUCTURALACTIVITY', [rule('AssignedToStructuralItem', 5, 4)]],
53
+ ['IFCRELASSIGNSTOGROUP', [rule('IsGroupedBy', 6, 4)]],
54
+ ['IFCRELASSIGNSTASKS', [rule('ScheduleTimeControlAssigned', 7, 6)]],
55
+ ]);
56
+ const IFC4_ROWS = [
57
+ ...SHARED_ROWS,
58
+ ['IFCRELAGGREGATES', [rule('Decomposes', 5, 4)]],
59
+ ['IFCRELNESTS', [rule('Nests', 5, 4)]],
60
+ ['IFCRELDEFINESBYTYPE', [rule('IsTypedBy', 4, 5), rule('Types', 5, 4)]],
61
+ ['IFCRELDEFINESBYOBJECT', [rule('IsDeclaredBy', 4, 5)]],
62
+ ['IFCRELDECLARES', [rule('HasContext', 5, 4)]],
63
+ ['IFCRELCOVERSBLDGELEMENTS', [rule('CoversElements', 5, 4)]],
64
+ ['IFCRELCONNECTSPORTTOELEMENT', [rule('ContainedIn', 4, 5)]],
65
+ ['IFCRELCONNECTSSTRUCTURALACTIVITY', [rule('AssignedToStructuralItem', 5, 4)]],
66
+ ];
67
+ const IFC4_RULES = new Map(IFC4_ROWS);
68
+ const IFC4X3_RULES = new Map([...IFC4_ROWS, ['IFCRELADHERESTOELEMENT', [rule('AdheresToElement', 5, 4)]]]);
69
+ /** The rule table of an output schema (IFC5 falls back to IFC4X3's). */
70
+ export function inverseRules(outputSchema) {
71
+ return outputSchema === 'IFC2X3' ? IFC2X3_RULES : outputSchema === 'IFC4' ? IFC4_RULES : IFC4X3_RULES;
72
+ }
73
+ /**
74
+ * Which final ids already fill each single-valued inverse in the merge output.
75
+ * One instance per merge, grown model by model in merge order.
76
+ */
77
+ export class InverseClaims {
78
+ /** Relationship type (uppercase) → the rules it is claimed under. */
79
+ rules;
80
+ /** Claimed through a list side (RelatedObjects, RelatedElements): the ids alone. */
81
+ members = new Map();
82
+ /** Claimed through a single side (RelatingPropertyDefinition): the rel that owns each. */
83
+ owners = new Map();
84
+ /** Final rel id → partner ids a later, folded rel adds to its partner list. */
85
+ folds = new Map();
86
+ /** Later rels withheld with partners no owner could take: final rel id → how many. */
87
+ unfolded = new Map();
88
+ /** `only` narrows the claimed relationship types (the #5725 drop planner's view). */
89
+ constructor(outputSchema, only = () => true) {
90
+ this.rules = new Map([...inverseRules(outputSchema)].filter(([relType]) => only(relType)));
91
+ }
92
+ membersOf(inverse) {
93
+ let ids = this.members.get(inverse);
94
+ if (ids === undefined)
95
+ this.members.set(inverse, (ids = new Set()));
96
+ return ids;
97
+ }
98
+ ownersOf(inverse) {
99
+ let owners = this.owners.get(inverse);
100
+ if (owners === undefined)
101
+ this.owners.set(inverse, (owners = new Map()));
102
+ return owners;
103
+ }
104
+ /** Move `ids` onto `owner`'s partner list, in place of a rel that would have been a second one. */
105
+ fold(owner, ids) {
106
+ for (const id of ids)
107
+ owner.partners.add(id);
108
+ const fold = this.folds.get(owner.rel);
109
+ if (fold === undefined)
110
+ this.folds.set(owner.rel, { partnerIndex: owner.partnerIndex, ids: [...ids] });
111
+ else
112
+ fold.ids.push(...ids);
113
+ }
114
+ }
115
+ /**
116
+ * Keep one written rel per entity and single-valued inverse across a merge
117
+ * (#5471, #5726, #5774).
118
+ *
119
+ * Called once per model in merge order, after all of that model's unification
120
+ * and container drops. `claims` holds what the output already says: every rel
121
+ * the model will write records its claims. A rel that will not be written
122
+ * (skipped, outside the visibility closure, or with a hidden or dropped
123
+ * single-valued side) claims nothing, and neither does a member narrowed out
124
+ * of it, so a later model's rel stays in place for an entity whose primary rel
125
+ * is not in the output.
126
+ *
127
+ * With `dedupe`, a later rel naming an already-claimed entity is resolved by
128
+ * the claimed side's shape:
129
+ * - a LIST side (an object's parent, #5471): the claimed members are stripped
130
+ * into `relMemberStrip` for {@link applyRelMemberStrip}, and a rel left with
131
+ * none is skipped. The first parent wins. A unified member with no parent yet
132
+ * is kept, since that rel is then its only parentage statement (#3550).
133
+ * - a SINGLE side (a property set's one definer, #5774): the rel is skipped.
134
+ * If its partner side is a list naming objects the owning rel does not, those
135
+ * are folded into the owning rel ({@link InverseClaims.fold}, written by
136
+ * {@link applyInverseFolds}), so the entity keeps one rel and loses no member.
137
+ * Where no fold is possible (a single partner, an owner of another rel type,
138
+ * or a partner list a WHERE rule bounds to one) the first rel wins, and
139
+ * {@link applyInverseFolds} reports the objects that lost the relationship.
140
+ */
141
+ export function claimInverses(input, claims, findEntitiesByType, extractStepAttribute) {
142
+ const { dataStore, sharedRemap, idOffset, skipEntityIds, relMemberStrip, isEmitted, isIncluded, dedupe } = input;
143
+ const finalId = (ref) => sharedRemap.get(ref) ?? ref + idOffset;
144
+ for (const [relType, rules] of claims.rules) {
145
+ const indices = [...new Set(rules.flatMap(rule => [rule.claimed, rule.partner]))];
146
+ for (const relId of findEntitiesByType(dataStore, relType)) {
147
+ if (skipEntityIds.has(relId) || !isIncluded(relId))
148
+ continue;
149
+ const sides = new Map();
150
+ let written = true;
151
+ for (const index of indices) {
152
+ const side = readSide(extractStepAttribute(relId, dataStore, index), isEmitted);
153
+ if (side === 'withheld')
154
+ written = false;
155
+ else if (side !== null)
156
+ sides.set(index, side);
157
+ }
158
+ if (!written)
159
+ continue;
160
+ const strip = new Set();
161
+ const live = (index) => (sides.get(index)?.refs ?? []).filter(ref => !strip.has(ref));
162
+ let skip = false;
163
+ let fold;
164
+ const newOwners = [];
165
+ // List sides first: what they strip is no longer a partner a single side can fold.
166
+ for (const rule of [...rules].sort((a, b) => Number(!sides.get(a.claimed)?.list) - Number(!sides.get(b.claimed)?.list))) {
167
+ const claimed = sides.get(rule.claimed);
168
+ if (claimed === undefined)
169
+ continue;
170
+ if (claimed.list) {
171
+ const members = live(rule.claimed);
172
+ const claimedIds = claims.membersOf(rule.inverse);
173
+ const redundant = dedupe ? members.filter(ref => claimedIds.has(finalId(ref))) : [];
174
+ for (const ref of redundant)
175
+ strip.add(ref);
176
+ if (redundant.length > 0 && redundant.length === members.length)
177
+ skip = true;
178
+ }
179
+ else {
180
+ const owners = claims.ownersOf(rule.inverse);
181
+ const owner = owners.get(finalId(claimed.refs[0]));
182
+ if (owner === undefined)
183
+ newOwners.push([owners, claimed.refs[0], rule]);
184
+ else if (dedupe) {
185
+ skip = true;
186
+ const fresh = [...new Set(live(rule.partner).map(finalId))].filter(id => !owner.partners.has(id));
187
+ const foldable = sides.get(rule.partner)?.list && owner.relType === relType && !rule.onePartner;
188
+ if (fresh.length > 0 && foldable)
189
+ fold = { owner, ids: fresh };
190
+ else if (fresh.length > 0)
191
+ claims.unfolded.set(finalId(relId), fresh.length);
192
+ }
193
+ }
194
+ if (skip)
195
+ break;
196
+ }
197
+ if (fold !== undefined)
198
+ claims.fold(fold.owner, fold.ids);
199
+ if (skip && fold === undefined) {
200
+ skipEntityIds.add(relId);
201
+ continue;
202
+ }
203
+ // Kept, or folded into its owner: either way its surviving members are now written.
204
+ for (const rule of rules) {
205
+ if (sides.get(rule.claimed)?.list)
206
+ for (const ref of live(rule.claimed))
207
+ claims.membersOf(rule.inverse).add(finalId(ref));
208
+ }
209
+ if (skip) {
210
+ skipEntityIds.add(relId);
211
+ continue;
212
+ }
213
+ if (strip.size > 0)
214
+ relMemberStrip.set(relId, strip);
215
+ for (const [owners, ref, rule] of newOwners) {
216
+ owners.set(finalId(ref), { rel: finalId(relId), relType, partnerIndex: rule.partner, partners: new Set(live(rule.partner).map(finalId)) });
217
+ }
218
+ }
219
+ }
220
+ }
221
+ /**
222
+ * One rel attribute as the output will carry it: `null` when it names nothing
223
+ * (`$`, a value), `'withheld'` when the line is not written because of it (a
224
+ * single ref, or every member of a list, that is not emitted).
225
+ */
226
+ function readSide(attr, isEmitted) {
227
+ if (!attr)
228
+ return null;
229
+ const trimmed = attr.trim();
230
+ const list = trimmed.startsWith('(');
231
+ // A single side is claimable only as a bare ref: an IFC4 IfcPropertySetDefinitionSet(...) is not one entity.
232
+ if (!list && !/^#\d+$/.test(trimmed))
233
+ return null;
234
+ const all = listRefs(trimmed);
235
+ if (all.length === 0)
236
+ return null;
237
+ const refs = all.filter(isEmitted);
238
+ return refs.length === 0 ? 'withheld' : { list, refs };
239
+ }
240
+ /** The `#id`s in one STEP attribute, in order; `[]` for a missing one. */
241
+ function listRefs(attr) {
242
+ const refs = [];
243
+ const refRegex = /#(\d+)/g;
244
+ let match;
245
+ while ((match = refRegex.exec(attr)) !== null)
246
+ refs.push(parseInt(match[1], 10));
247
+ return refs;
248
+ }
249
+ /**
250
+ * Render-time counterpart of {@link claimInverses}: drop the claimed members
251
+ * of a partially redundant rel that already fill that inverse in the output.
252
+ * Reuses the same list/scalar-aware ref filter the `visibleOnly`/deletion
253
+ * dangling-ref path uses. Must run in LOCAL id space, before any id
254
+ * offset/remap — `localId` and the ids inside `relMemberStrip` are both local
255
+ * to the model being rendered.
256
+ *
257
+ * Returns `entityText` unchanged when `localId` has no strip entry, and
258
+ * `null` when the filter would withhold the whole line — a strip set built
259
+ * by {@link claimInverses} is a strict subset of the claimed list, so for
260
+ * well-formed input the filter only narrows, but a degenerate file (a
261
+ * stripped member id that also appears as a single-valued ref, e.g.
262
+ * self-aggregation) can null the line. The caller must withhold it, like
263
+ * every other user of the filter: every edge the line declared is already
264
+ * declared by the primary model, and emitting the unfiltered bytes instead
265
+ * would reintroduce the duplicate membership this module exists to remove.
266
+ */
267
+ export function applyRelMemberStrip(entityText, localId, relMemberStrip) {
268
+ const toStrip = relMemberStrip.get(localId);
269
+ if (toStrip === undefined)
270
+ return entityText;
271
+ return filterHiddenRefsFromRelationshipLine(entityText, id => toStrip.has(id));
272
+ }
273
+ /**
274
+ * Write the folds of {@link claimInverses} into the rendered output: each
275
+ * owning rel's partner list gains the members of the later rels folded into
276
+ * it. Runs once, on the final lines (final id space), after every model is
277
+ * rendered, since an owner may be written before the rel that folds into it.
278
+ * Returns a warning per later rel whose objects lost the relationship: one
279
+ * no owner could take (a different rel type, or a partner list bounded to
280
+ * one), and one folded into an owner that did not reach the output as a line
281
+ * with a partner list.
282
+ */
283
+ export function applyInverseFolds(lines, claims) {
284
+ const lost = [...claims.unfolded].map(([rel, count]) => `A later model's relationship (merged id #${rel}) was not written: an earlier model already wrote one for the same merged entity, and it could not take the ${count} other object(s) the later one named, so those objects lost that relationship.`);
285
+ if (claims.folds.size === 0)
286
+ return lost;
287
+ const pending = new Map(claims.folds);
288
+ for (let i = 0; i < lines.length && pending.size > 0; i++) {
289
+ const rel = Number(/^#(\d+)=/.exec(lines[i])?.[1]);
290
+ const fold = pending.get(rel);
291
+ if (fold === undefined)
292
+ continue;
293
+ const list = readStepSlots(lines[i])?.slots[fold.partnerIndex]?.trim();
294
+ if (list === undefined || !list.startsWith('(') || !list.endsWith(')'))
295
+ continue;
296
+ const inner = list.slice(1, -1).trim();
297
+ const added = fold.ids.map(ref => `#${ref}`).join(',');
298
+ const next = replaceStepArgument(lines[i], fold.partnerIndex, `(${inner === '' ? added : `${inner},${added}`})`);
299
+ if (next === null)
300
+ continue;
301
+ lines[i] = next;
302
+ pending.delete(rel);
303
+ }
304
+ return [...lost, ...[...pending].map(([rel, { ids }]) => `Could not add ${ids.length} object(s) to relationship #${rel}, which a later model's duplicate relationship was merged into; those objects lost that relationship.`)];
305
+ }
306
+ //# sourceMappingURL=merged-inverse-claims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merged-inverse-claims.js","sourceRoot":"","sources":["../src/merged-inverse-claims.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /** One model as {@link PlannerGuids.plan} sees it, in merge order. */
2
+ export interface PlannerGuidModel {
3
+ /** Rooted entities in emit order: local id → GlobalId (`planModel`'s `localGuids`, `readLocalGuids`). */
4
+ guids: ReadonlyMap<number, string>;
5
+ /** Uppercase STEP type of a local id. */
6
+ typeOf: (localId: number) => string;
7
+ isFirst: boolean;
8
+ compatible: boolean;
9
+ offset: number;
10
+ /** Unit scale the model's entities are recorded with (`ModelMode.effectiveScale`). */
11
+ effectiveScale: number;
12
+ /** Written with its source GlobalId unchanged: false when exported across schemas. */
13
+ keepsGuids: boolean;
14
+ /** Left out before GlobalId reconciliation: the unified IfcProject, a spatially unified container. */
15
+ unifiedEarlier: (localId: number) => boolean;
16
+ /** In the output at all (visibility closure). */
17
+ isIncluded: (localId: number) => boolean;
18
+ }
19
+ /** The emit pass's GlobalId records, replayed conservatively across one merge. */
20
+ export declare class PlannerGuids {
21
+ private readonly isPrimaryUnit;
22
+ private readonly isContainer;
23
+ private readonly records;
24
+ constructor(isPrimaryUnit: (scale: number) => boolean, isContainer: (typeUpper: string) => boolean);
25
+ /**
26
+ * `planModel`'s GlobalId step for one model, then the records its writes
27
+ * leave. Returns local id → final id for the entities the emit pass is sure
28
+ * to unify by GlobalId. Call once per model, in merge order.
29
+ */
30
+ plan(model: PlannerGuidModel): Map<number, number>;
31
+ }
32
+ //# sourceMappingURL=merged-planner-guids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merged-planner-guids.d.ts","sourceRoot":"","sources":["../src/merged-planner-guids.ts"],"names":[],"mappings":"AA2CA,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,yGAAyG;IACzG,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yCAAyC;IACzC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,sFAAsF;IACtF,UAAU,EAAE,OAAO,CAAC;IACpB,sGAAsG;IACtG,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,iDAAiD;IACjD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1C;AAED,kFAAkF;AAClF,qBAAa,YAAY;IAIrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJ9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAGtC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACzC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO;IAG9D;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAsBnD"}
@@ -0,0 +1,79 @@
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
+ * The GlobalId half of the `dropEmptyContainers` planner's claim pass (#5937).
6
+ *
7
+ * The planner has to know, before anything is written, which aggregation edges
8
+ * the emit pass's one-parent claim pass (#5471, #5725) will withhold. That
9
+ * pass resolves ids through GlobalId reconciliation (`planModel`): a later
10
+ * model's entity that repeats a GlobalId an earlier model WROTE is unified
11
+ * onto it. The planner used to resolve through spatial unification only, so an
12
+ * edge withheld because its child unified by GlobalId still counted, and its
13
+ * container was written empty.
14
+ *
15
+ * {@link PlannerGuids} replays that reconciliation from what the planner can
16
+ * know up front. It must never unify two entities the emit pass keeps apart:
17
+ * then the planner would withhold an edge the emit pass writes, and could drop
18
+ * the parent of a full container (the WR41 invariant). So wherever the emit
19
+ * pass's verdict depends on something the planner cannot see, the GlobalId is
20
+ * marked UNKNOWN and nothing resolves through it afterwards. Missing a
21
+ * unification only keeps a container, which is #3643's behaviour before #5725.
22
+ * UNKNOWN covers:
23
+ * - a model exported across schemas: conversion may replace an entity with an
24
+ * IFCPROXY that carries a fresh GlobalId, so the source one is not recorded;
25
+ * - a relationship: the claim pass itself may withhold it;
26
+ * - an entity whose own GlobalId was already UNKNOWN.
27
+ * A GlobalId one model writes twice is recorded as the emit pass records it:
28
+ * the last copy in index order.
29
+ *
30
+ * Containers are the one thing written or not by the plan being made. A
31
+ * container unifies here only onto a container (and anything else only onto
32
+ * anything else), and only where `canonicalContainers` in
33
+ * `merged-empty-containers.ts` puts both on one node, so a container this pass
34
+ * treats as written but the plan drops takes every copy it was unified with
35
+ * along: the edges to them are withheld by the drop either way.
36
+ */
37
+ import { isRelationshipType } from './merged-guid.js';
38
+ /** The emit pass's GlobalId records, replayed conservatively across one merge. */
39
+ export class PlannerGuids {
40
+ isPrimaryUnit;
41
+ isContainer;
42
+ records = new Map();
43
+ constructor(isPrimaryUnit, isContainer) {
44
+ this.isPrimaryUnit = isPrimaryUnit;
45
+ this.isContainer = isContainer;
46
+ }
47
+ /**
48
+ * `planModel`'s GlobalId step for one model, then the records its writes
49
+ * leave. Returns local id → final id for the entities the emit pass is sure
50
+ * to unify by GlobalId. Call once per model, in merge order.
51
+ */
52
+ plan(model) {
53
+ const unified = new Map();
54
+ const settled = new Set();
55
+ for (const [id, guid] of model.guids) {
56
+ if (model.unifiedEarlier(id) || !this.records.has(guid))
57
+ continue;
58
+ const type = model.typeOf(id);
59
+ // An earlier record exists: the emit pass unifies or re-stamps, and never records this GlobalId again.
60
+ settled.add(id);
61
+ const prior = this.records.get(guid);
62
+ const canUnify = !model.isFirst && model.compatible && prior !== null && this.isPrimaryUnit(prior.scale) && !isRelationshipType(type);
63
+ if (canUnify && prior.container === this.isContainer(type))
64
+ unified.set(id, prior.finalId);
65
+ }
66
+ const written = new Map();
67
+ for (const [id, guid] of model.guids) {
68
+ if (settled.has(id) || model.unifiedEarlier(id) || !model.isIncluded(id))
69
+ continue;
70
+ const type = model.typeOf(id);
71
+ const known = model.keepsGuids && !isRelationshipType(type);
72
+ written.set(guid, known ? { finalId: id + model.offset, scale: model.effectiveScale, container: this.isContainer(type) } : null);
73
+ }
74
+ for (const [guid, record] of written)
75
+ this.records.set(guid, record);
76
+ return unified;
77
+ }
78
+ }
79
+ //# sourceMappingURL=merged-planner-guids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merged-planner-guids.js","sourceRoot":"","sources":["../src/merged-planner-guids.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAwBtD,kFAAkF;AAClF,MAAM,OAAO,YAAY;IAIJ;IACA;IAJF,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEzD,YACmB,aAAyC,EACzC,WAA2C;QAD3C,kBAAa,GAAb,aAAa,CAA4B;QACzC,gBAAW,GAAX,WAAW,CAAgC;IAC3D,CAAC;IAEJ;;;;OAIG;IACH,IAAI,CAAC,KAAuB;QAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAClE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,uGAAuG;YACvG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACtI,IAAI,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC9C,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAE,SAAS;YACnF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnI,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"merged-subcontext.d.ts","sourceRoot":"","sources":["../src/merged-subcontext.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgFrD,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAQ5G;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACzD,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,IAAI,CAYN"}
1
+ {"version":3,"file":"merged-subcontext.d.ts","sourceRoot":"","sources":["../src/merged-subcontext.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiFrD,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAQ5G;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACzD,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,IAAI,CAYN"}
@@ -21,6 +21,7 @@ function decodeEntity(dataStore, expressId) {
21
21
  const source = dataStore.source;
22
22
  if (!source)
23
23
  return null;
24
+ // @raw-entity-enumeration-ok decode one source subcontext's STEP byte span during an overlay-free merge
24
25
  const ref = dataStore.entityIndex.byId.get(expressId);
25
26
  if (!ref)
26
27
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"merged-subcontext.js","sourceRoot":"","sources":["../src/merged-subcontext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merged-subcontext.js","sourceRoot":"","sources":["../src/merged-subcontext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-exporter.d.ts","sourceRoot":"","sources":["../src/parquet-exporter.ts"],"names":[],"mappings":"AAIA,uDAAuD;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAW/D,MAAM,WAAW,oBAAoB;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;;;;;;;;OAUG;gBACS,KAAK,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,mBAAmB;IAMpG;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACG,SAAS,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+BxE;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAkB3C,aAAa;YAoDb,eAAe;YAkDf,eAAe;YAmCf,kBAAkB;YAIlB,YAAY;YAkBZ,iBAAiB;YA+DjB,gBAAgB;YA6BhB,WAAW;YAyCX,qBAAqB;IAwFnC,OAAO,CAAC,aAAa;YA6BP,SAAS;YAMT,gBAAgB;CAOjC;AA8BD,OAAO,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"parquet-exporter.d.ts","sourceRoot":"","sources":["../src/parquet-exporter.ts"],"names":[],"mappings":"AAIA,uDAAuD;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAW/D,MAAM,WAAW,oBAAoB;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;;;;;;;;OAUG;gBACS,KAAK,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,mBAAmB;IAMpG;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACG,SAAS,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+BxE;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAkB3C,aAAa;YAoDb,eAAe;YAkDf,eAAe;YAmCf,kBAAkB;YAIlB,YAAY;YAkBZ,iBAAiB;YA+DjB,gBAAgB;YA6BhB,WAAW;YAyCX,qBAAqB;IA0FnC,OAAO,CAAC,aAAa;YA6BP,SAAS;YAMT,gBAAgB;CAOjC;AA8BD,OAAO,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -387,12 +387,14 @@ export class ParquetExporter {
387
387
  }
388
388
  };
389
389
  traverse(spatialHierarchy.project);
390
+ // @raw-entity-enumeration-ok source-only branch: a supplied mutationView takes the effective relationship-row path above
390
391
  for (const [storeyId, elementIds] of spatialHierarchy.byStorey) {
391
392
  const buildingId = storeyToBuilding.get(storeyId) ?? -1;
392
393
  const siteId = buildingId >= 0 ? (buildingToSite.get(buildingId) ?? -1) : -1;
393
394
  for (const elementId of elementIds) {
394
395
  // Check if element is in a space by iterating bySpace
395
396
  let spaceId = -1;
397
+ // @raw-entity-enumeration-ok source-only branch: live sessions return before this parsed hierarchy walk
396
398
  for (const [sid, spaceElementIds] of spatialHierarchy.bySpace) {
397
399
  if (spaceElementIds.includes(elementId)) {
398
400
  spaceId = sid;
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-exporter.js","sourceRoot":"","sources":["../src/parquet-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parquet-exporter.js","sourceRoot":"","sources":["../src/parquet-exporter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"property-value-serialization.d.ts","sourceRoot":"","sources":["../src/property-value-serialization.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAkB,MAAM,gBAAgB,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAgFtF"}
1
+ {"version":3,"file":"property-value-serialization.d.ts","sourceRoot":"","sources":["../src/property-value-serialization.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAkB,MAAM,gBAAgB,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAiFtF"}
@@ -124,7 +124,8 @@ export function serializePropertyValue(value, type) {
124
124
  }
125
125
  return '$';
126
126
  // Includes `Reference`, which no extraction path produces (an
127
- // `IfcPropertyReferenceValue` comes back as a String holding `#id`) and
127
+ // `IfcPropertyReferenceValue` comes back as a String holding the
128
+ // referenced object's Name, or `#id` when it has none, #5475) and
128
129
  // which this function could not express anyway: an entity reference is a
129
130
  // different property CLASS, not a different `NominalValue` token.
130
131
  default: