@ifc-lite/sdk 6.3.0 → 6.4.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/cost-backend.d.ts.map +1 -1
- package/dist/cost-backend.js +15 -1
- package/dist/cost-backend.js.map +1 -1
- package/dist/cost-reference-scan.d.ts +12 -0
- package/dist/cost-reference-scan.d.ts.map +1 -0
- package/dist/cost-reference-scan.js +96 -0
- package/dist/cost-reference-scan.js.map +1 -0
- package/dist/cost-removal-reference-guard.d.ts +4 -0
- package/dist/cost-removal-reference-guard.d.ts.map +1 -0
- package/dist/cost-removal-reference-guard.js +37 -0
- package/dist/cost-removal-reference-guard.js.map +1 -0
- package/dist/cost-store-backend.d.ts +24 -0
- package/dist/cost-store-backend.d.ts.map +1 -0
- package/dist/cost-store-backend.js +368 -0
- package/dist/cost-store-backend.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/namespaces/query.d.ts +3 -2
- package/dist/namespaces/query.d.ts.map +1 -1
- package/dist/namespaces/query.js +24 -4
- package/dist/namespaces/query.js.map +1 -1
- package/dist/namespaces/store.d.ts +31 -0
- package/dist/namespaces/store.d.ts.map +1 -1
- package/dist/namespaces/store.js +49 -0
- package/dist/namespaces/store.js.map +1 -1
- package/dist/store-cost-types.d.ts +36 -0
- package/dist/store-cost-types.d.ts.map +1 -0
- package/dist/store-cost-types.js +5 -0
- package/dist/store-cost-types.js.map +1 -0
- package/dist/types.d.ts +15 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +10 -10
|
@@ -0,0 +1,368 @@
|
|
|
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
|
+
* `bim.store.addCost*` / `nestCostItems` / `assignCostItemsToSchedule` /
|
|
6
|
+
* `assignToCostItem` / `setCostItemValues` / `removeCostEntity` (#4857 PR A) —
|
|
7
|
+
* the host-agnostic implementation of `CostStoreBackendMethods`. A host
|
|
8
|
+
* (CLI/MCP headless backend, viewer adapter, sandbox bridge) wires this in by
|
|
9
|
+
* supplying a resolver for its own model bookkeeping; the reparent / append /
|
|
10
|
+
* safe-delete bookkeeping that needs to know what ALREADY references an
|
|
11
|
+
* entity is done here ONCE, by reading the same `bim.cost` graph every other
|
|
12
|
+
* cost consumer reads (mutation-aware, so a rel created earlier in the same
|
|
13
|
+
* session is seen by the next call) — the in-store builders themselves
|
|
14
|
+
* (`@ifc-lite/create`) stay pure and know nothing of the graph (see
|
|
15
|
+
* `in-store/cost.ts`'s module header for why that split exists).
|
|
16
|
+
*/
|
|
17
|
+
import { addCostItemToStore, addCostQuantityToStore, addCostScheduleToStore, addCostValueToStore, assignCostItemsToScheduleInStore, assignObjectsToCostItemInStore, attachCostValuesToItemInStore, nestCostItemsInStore, removeCostEntityInStore, } from '@ifc-lite/create';
|
|
18
|
+
import { effectiveCostReferenceOccurrences, effectiveCostReferrers } from './cost-reference-scan.js';
|
|
19
|
+
import { knownReferenceCount, knownReferrerIds } from './cost-removal-reference-guard.js';
|
|
20
|
+
/** First `IfcOwnerHistory` still live in the overlay, skipping ids the caller already tombstoned (else export dangles). */
|
|
21
|
+
export function resolveLiveOwnerHistoryId(store, editor) {
|
|
22
|
+
const candidates = store.entityIndex.byType.get('IFCOWNERHISTORY') ?? [];
|
|
23
|
+
return candidates.find((id) => editor.hasEntity(id)) ?? null;
|
|
24
|
+
}
|
|
25
|
+
function ref(modelId, expressId) { return { modelId, expressId }; }
|
|
26
|
+
const SUPPORTED_COST_SCHEMAS = new Set(['IFC2X3', 'IFC4', 'IFC4X3']);
|
|
27
|
+
function anchorOf(resolved) {
|
|
28
|
+
const raw = resolved.store.schemaVersion;
|
|
29
|
+
// `CostAnchor['schema']` only admits IFC2X3/IFC4/IFC4X3 — casting a real
|
|
30
|
+
// but unsupported schema (IFC5) straight through that type would silently
|
|
31
|
+
// let `assertCostSchema` (which only refuses IFC2X3) wave it past, and
|
|
32
|
+
// every builder would then write entities `extractCostOnDemand` reports as
|
|
33
|
+
// UNSUPPORTED_SCHEMA and cannot read back. Refuse it here, loudly, the
|
|
34
|
+
// same way IFC2X3 is refused.
|
|
35
|
+
if (raw !== undefined && !SUPPORTED_COST_SCHEMAS.has(raw)) {
|
|
36
|
+
throw new Error(`bim.store cost authoring: schema '${raw}' is not supported; use IFC4 or IFC4X3 (IFC2X3 is refused separately).`);
|
|
37
|
+
}
|
|
38
|
+
return { ownerHistoryId: resolved.ownerHistoryId, schema: raw ?? 'IFC4' };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Every `IfcRelNests`, keyed both by parent (RelatingObject) and — as the
|
|
42
|
+
* FULL LIST of every rel a child is a member of, not just one — by each
|
|
43
|
+
* child. A file can legally list the same child under more than one
|
|
44
|
+
* `IfcRelNests` (`MULTIPLE_NESTING_PARENTS` is a diagnostic, not a refusal),
|
|
45
|
+
* and a reparent has to detach it from ALL of them or it stays nested under
|
|
46
|
+
* whichever one this map happened to keep.
|
|
47
|
+
*/
|
|
48
|
+
function findNests(graph) {
|
|
49
|
+
const byParent = new Map();
|
|
50
|
+
const byChild = new Map();
|
|
51
|
+
for (const rel of graph.Relationships) {
|
|
52
|
+
if (rel.Type !== 'IfcRelNests' || !rel.RelatingObject || !rel.RelatedObjects)
|
|
53
|
+
continue;
|
|
54
|
+
const entry = {
|
|
55
|
+
relId: rel.ref.expressId,
|
|
56
|
+
relatingId: rel.RelatingObject.expressId,
|
|
57
|
+
relatedIds: rel.RelatedObjects.map(r => r.expressId),
|
|
58
|
+
};
|
|
59
|
+
const parentEntries = byParent.get(rel.RelatingObject.expressId);
|
|
60
|
+
if (parentEntries)
|
|
61
|
+
parentEntries.push(entry);
|
|
62
|
+
else
|
|
63
|
+
byParent.set(rel.RelatingObject.expressId, [entry]);
|
|
64
|
+
for (const child of entry.relatedIds) {
|
|
65
|
+
const list = byChild.get(child);
|
|
66
|
+
if (list)
|
|
67
|
+
list.push(entry);
|
|
68
|
+
else
|
|
69
|
+
byChild.set(child, [entry]);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return { byParent, byChild };
|
|
73
|
+
}
|
|
74
|
+
/** Whether `targetId` is reachable by walking DOWN (descendants) from `rootId` through `byParent`. */
|
|
75
|
+
function isDescendantOf(byParent, rootId, targetId) {
|
|
76
|
+
const seen = new Set();
|
|
77
|
+
const stack = [rootId];
|
|
78
|
+
while (stack.length > 0) {
|
|
79
|
+
const current = stack.pop();
|
|
80
|
+
if (seen.has(current))
|
|
81
|
+
continue;
|
|
82
|
+
seen.add(current);
|
|
83
|
+
for (const relationship of byParent.get(current) ?? []) {
|
|
84
|
+
for (const child of relationship.relatedIds) {
|
|
85
|
+
if (child === targetId)
|
|
86
|
+
return true;
|
|
87
|
+
stack.push(child);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The `IfcRelAssignsToControl` whose `RelatingControl` is `controlId` to
|
|
95
|
+
* append new assignments to (the first one found, if more than one exists —
|
|
96
|
+
* `IfcRelAssignsToControl` does not forbid a controller having several), with
|
|
97
|
+
* `relatedIds` the UNION across every one of them. Appending against the
|
|
98
|
+
* union, not just the primary rel's own list, is what keeps a caller from
|
|
99
|
+
* assigning an id that is already listed in a DIFFERENT rel for the same
|
|
100
|
+
* controller a second time.
|
|
101
|
+
*/
|
|
102
|
+
function findControlAssignment(graph, controlId) {
|
|
103
|
+
let primary;
|
|
104
|
+
const allMemberIds = new Set();
|
|
105
|
+
for (const rel of graph.Relationships) {
|
|
106
|
+
if (rel.Type !== 'IfcRelAssignsToControl' || rel.RelatingControl?.expressId !== controlId)
|
|
107
|
+
continue;
|
|
108
|
+
const related = (rel.RelatedObjects ?? []).map(r => r.expressId);
|
|
109
|
+
for (const id of related)
|
|
110
|
+
allMemberIds.add(id);
|
|
111
|
+
if (!primary)
|
|
112
|
+
primary = { relId: rel.ref.expressId, relatedIds: related };
|
|
113
|
+
}
|
|
114
|
+
return primary ? { relId: primary.relId, relatedIds: primary.relatedIds, allMemberIds: [...allMemberIds] } : undefined;
|
|
115
|
+
}
|
|
116
|
+
/** Every existing reference to `expressId` the cost graph currently reports — the safe-delete input. */
|
|
117
|
+
function buildRemovalReferrers(graph, expressId) {
|
|
118
|
+
const itemCostValues = new Map();
|
|
119
|
+
for (const item of graph.CostItems) {
|
|
120
|
+
const ids = (item.CostValues ?? []).map(r => r.expressId);
|
|
121
|
+
if (ids.includes(expressId))
|
|
122
|
+
itemCostValues.set(item.ref.expressId, ids);
|
|
123
|
+
}
|
|
124
|
+
const valueComponents = new Map();
|
|
125
|
+
const valueAppliedValueRef = new Map();
|
|
126
|
+
for (const value of graph.CostValues) {
|
|
127
|
+
const ids = (value.Components ?? []).map(r => r.expressId);
|
|
128
|
+
if (ids.includes(expressId))
|
|
129
|
+
valueComponents.set(value.ref.expressId, ids);
|
|
130
|
+
// AppliedValue's `Reference` branch is IfcCostValue.AppliedValue pointing
|
|
131
|
+
// at an IfcMeasureWithUnit (or another IfcAppliedValue) THROUGH
|
|
132
|
+
// AppliedValueRef — a single required-when-present attribute, not a list,
|
|
133
|
+
// but still a live reference this deletion must not leave dangling.
|
|
134
|
+
if (value.AppliedValue?.Kind === 'Reference' && value.AppliedValue.ref.expressId === expressId) {
|
|
135
|
+
valueAppliedValueRef.set(value.ref.expressId, expressId);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const nestRelatedObjects = new Map();
|
|
139
|
+
const assignmentRelatedObjects = new Map();
|
|
140
|
+
const nestsAsParent = [];
|
|
141
|
+
const assignmentsAsControl = [];
|
|
142
|
+
const otherRelationshipLists = [];
|
|
143
|
+
const otherRelationships = [];
|
|
144
|
+
for (const rel of graph.Relationships) {
|
|
145
|
+
const related = (rel.RelatedObjects ?? []).map(r => r.expressId);
|
|
146
|
+
if (rel.Type === 'IfcRelNests') {
|
|
147
|
+
if (related.includes(expressId))
|
|
148
|
+
nestRelatedObjects.set(rel.ref.expressId, related);
|
|
149
|
+
if (rel.RelatingObject?.expressId === expressId)
|
|
150
|
+
nestsAsParent.push(rel.ref.expressId);
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
if (rel.Type === 'IfcRelAssignsToControl') {
|
|
154
|
+
if (related.includes(expressId))
|
|
155
|
+
assignmentRelatedObjects.set(rel.ref.expressId, related);
|
|
156
|
+
if (rel.RelatingControl?.expressId === expressId)
|
|
157
|
+
assignmentsAsControl.push(rel.ref.expressId);
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
// Every OTHER cost relationship type the reader enumerates
|
|
161
|
+
// (IfcRelAssignsToProduct, IfcRelAssignsToProcess, IfcRelDeclares,
|
|
162
|
+
// IfcRelAssociatesAppliedValue, IfcRelSchedulesCostItems,
|
|
163
|
+
// IfcAppliedValueRelationship, and any future subtype the reader adds) —
|
|
164
|
+
// is scanned over every reference-bearing field. Required scalar endpoints
|
|
165
|
+
// remove the relationship; required lists retain their surviving members.
|
|
166
|
+
const scalarRefs = [
|
|
167
|
+
rel.RelatingObject, rel.RelatingControl, rel.RelatingProduct, rel.RelatingProcess,
|
|
168
|
+
rel.RelatingContext, rel.RelatingAppliedValue, rel.ComponentOfTotal,
|
|
169
|
+
];
|
|
170
|
+
if (scalarRefs.some(r => r?.expressId === expressId)) {
|
|
171
|
+
otherRelationships.push(rel.ref.expressId);
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
// Every list-shaped reference field this reader exposes on ANY cost
|
|
175
|
+
// relationship type, checked independently by (entity, attribute) — not
|
|
176
|
+
// gated by `rel.Type` alone. The three fields correspond to different
|
|
177
|
+
// EXPRESS attribute positions across the relationship types this reader
|
|
178
|
+
// enumerates (`RelatedDefinitions` at slot 5 for IfcRelDeclares,
|
|
179
|
+
// `Components` at slot 1 for IfcAppliedValueRelationship, `RelatedObjects`
|
|
180
|
+
// at slot 4 for the rest); a well-formed record only ever populates ONE
|
|
181
|
+
// of them. If a record somehow references the target through MORE than
|
|
182
|
+
// one — an unsupported/unexpected shape this reader's flat type can't
|
|
183
|
+
// rule out — a single precise per-slot rewrite would silently leave the
|
|
184
|
+
// OTHER field's reference dangling. Refuse the whole relationship
|
|
185
|
+
// (`otherRelationships`, tombstoned wholesale) instead of guessing which
|
|
186
|
+
// one to trust.
|
|
187
|
+
const listFieldMatches = [
|
|
188
|
+
{ attributeIndex: 5, relatedIds: (rel.RelatedDefinitions ?? []).map(r => r.expressId) },
|
|
189
|
+
{ attributeIndex: 1, relatedIds: (rel.Components ?? []).map(r => r.expressId) },
|
|
190
|
+
{ attributeIndex: 4, relatedIds: related },
|
|
191
|
+
].filter(candidate => candidate.relatedIds.includes(expressId));
|
|
192
|
+
if (listFieldMatches.length > 1) {
|
|
193
|
+
otherRelationships.push(rel.ref.expressId);
|
|
194
|
+
}
|
|
195
|
+
else if (listFieldMatches.length === 1) {
|
|
196
|
+
otherRelationshipLists.push({ relId: rel.ref.expressId, ...listFieldMatches[0] });
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return {
|
|
200
|
+
itemCostValues, valueComponents, valueAppliedValueRef, nestRelatedObjects, assignmentRelatedObjects,
|
|
201
|
+
nestsAsParent, assignmentsAsControl, otherRelationshipLists, otherRelationships,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/** The cost-graph kind `expressId` names, or `undefined` when it is not a cost entity at all. */
|
|
205
|
+
function costKindOf(graph, expressId) {
|
|
206
|
+
if (graph.CostSchedules.some(s => s.ref.expressId === expressId))
|
|
207
|
+
return 'IfcCostSchedule';
|
|
208
|
+
if (graph.CostItems.some(i => i.ref.expressId === expressId))
|
|
209
|
+
return 'IfcCostItem';
|
|
210
|
+
if (graph.CostValues.some(v => v.ref.expressId === expressId))
|
|
211
|
+
return 'IfcCostValue';
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
/** Values referenced ONLY by `itemId`'s own `CostValues` — the cascade-delete set for removing that item. */
|
|
215
|
+
/**
|
|
216
|
+
* Values referenced ONLY by `itemId`'s own `CostValues` — the cascade-delete
|
|
217
|
+
* set for removing that item. Routed through `buildRemovalReferrers` (the
|
|
218
|
+
* SAME generic scan `removeCostEntity` itself uses to decide what a direct
|
|
219
|
+
* deletion may not orphan) rather than a hand check of two fields: a value
|
|
220
|
+
* this item owns can also be referenced via `Components`, another value's
|
|
221
|
+
* `AppliedValueRef`, or any of the OTHER relationship types
|
|
222
|
+
* (`otherRelationships`) — missing any of those would cascade-delete a value
|
|
223
|
+
* something else still points at, leaving a dangling reference.
|
|
224
|
+
*/
|
|
225
|
+
function cascadeValuesForItem(graph, incoming, itemId) {
|
|
226
|
+
const item = graph.CostItems.find(i => i.ref.expressId === itemId);
|
|
227
|
+
const ownValues = (item?.CostValues ?? []).map(r => r.expressId);
|
|
228
|
+
return ownValues.filter((valueId) => {
|
|
229
|
+
const referrers = buildRemovalReferrers(graph, valueId);
|
|
230
|
+
const known = knownReferrerIds(referrers);
|
|
231
|
+
known.add(itemId);
|
|
232
|
+
const referencedElsewhere = [...(referrers.itemCostValues?.keys() ?? [])].some(id => id !== itemId)
|
|
233
|
+
|| (referrers.valueComponents?.size ?? 0) > 0
|
|
234
|
+
|| (referrers.valueAppliedValueRef?.size ?? 0) > 0
|
|
235
|
+
|| (referrers.nestRelatedObjects?.size ?? 0) > 0
|
|
236
|
+
|| (referrers.assignmentRelatedObjects?.size ?? 0) > 0
|
|
237
|
+
|| (referrers.nestsAsParent?.length ?? 0) > 0
|
|
238
|
+
|| (referrers.assignmentsAsControl?.length ?? 0) > 0
|
|
239
|
+
|| (referrers.otherRelationshipLists?.length ?? 0) > 0
|
|
240
|
+
|| (referrers.otherRelationships?.length ?? 0) > 0
|
|
241
|
+
|| (incoming.get(valueId) ?? []).some(id => !known.has(id));
|
|
242
|
+
return !referencedElsewhere;
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Build `bim.store`'s cost-authoring methods. `cost` is the model's
|
|
247
|
+
* `CostBackendMethods` (from `createCostBackend`) — reads through it are
|
|
248
|
+
* always mutation-aware (`includeMutations: true`) so a rel this session
|
|
249
|
+
* already authored is visible to the very next authoring call.
|
|
250
|
+
*/
|
|
251
|
+
export function createCostStoreBackend(resolve, cost, onRelationshipMutation) {
|
|
252
|
+
const graphOf = (modelId) => cost.data(modelId, { includeMutations: true });
|
|
253
|
+
return {
|
|
254
|
+
addCostSchedule(modelId, params) {
|
|
255
|
+
const resolved = resolve(modelId);
|
|
256
|
+
return ref(resolved.modelId, addCostScheduleToStore(resolved.editor, anchorOf(resolved), params));
|
|
257
|
+
},
|
|
258
|
+
addCostItem(modelId, params) {
|
|
259
|
+
const resolved = resolve(modelId);
|
|
260
|
+
return ref(resolved.modelId, addCostItemToStore(resolved.editor, anchorOf(resolved), params));
|
|
261
|
+
},
|
|
262
|
+
addCostValue(modelId, params) {
|
|
263
|
+
const resolved = resolve(modelId);
|
|
264
|
+
return ref(resolved.modelId, addCostValueToStore(resolved.editor, anchorOf(resolved), params));
|
|
265
|
+
},
|
|
266
|
+
addCostQuantity(modelId, params) {
|
|
267
|
+
const resolved = resolve(modelId);
|
|
268
|
+
return ref(resolved.modelId, addCostQuantityToStore(resolved.editor, anchorOf(resolved), params));
|
|
269
|
+
},
|
|
270
|
+
nestCostItems(modelId, parentExpressId, childExpressIds) {
|
|
271
|
+
const resolved = resolve(modelId);
|
|
272
|
+
const { byChild, byParent } = findNests(graphOf(resolved.modelId));
|
|
273
|
+
// Ancestor/descendant cycle guard: `nestCostItemsInStore` itself only
|
|
274
|
+
// refuses DIRECT self-nesting (parentId === a childId). A file can
|
|
275
|
+
// already nest A -> B; nestCostItems(B, [A]) is not self-nesting, but
|
|
276
|
+
// it creates the reverse edge without removing the original one,
|
|
277
|
+
// producing an A<->B cycle the cost extractor would then diagnose as
|
|
278
|
+
// NESTING_CYCLE. Refuse it here instead, by walking DOWN (descendants)
|
|
279
|
+
// from every requested child to see if the proposed parent is already
|
|
280
|
+
// reachable that way.
|
|
281
|
+
for (const childId of childExpressIds) {
|
|
282
|
+
if (isDescendantOf(byParent, childId, parentExpressId)) {
|
|
283
|
+
throw new Error(`nestCostItems: parentId #${parentExpressId} is already a descendant of childId #${childId} in the `
|
|
284
|
+
+ 'existing nesting hierarchy — nesting it here would create a cycle.');
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
const targetRelationships = byParent.get(parentExpressId) ?? [];
|
|
288
|
+
const existingTarget = targetRelationships[0];
|
|
289
|
+
const uniqueChildren = [...new Set(childExpressIds)];
|
|
290
|
+
const alreadyOnlyInTarget = existingTarget !== undefined && uniqueChildren.length > 0
|
|
291
|
+
&& uniqueChildren.every(childId => {
|
|
292
|
+
const memberships = byChild.get(childId) ?? [];
|
|
293
|
+
return memberships.length > 0 && memberships.every(rel => rel.relId === existingTarget?.relId);
|
|
294
|
+
});
|
|
295
|
+
if (alreadyOnlyInTarget)
|
|
296
|
+
return ref(resolved.modelId, existingTarget.relId);
|
|
297
|
+
const relId = nestCostItemsInStore(resolved.editor, anchorOf(resolved), parentExpressId, childExpressIds, byChild, existingTarget);
|
|
298
|
+
onRelationshipMutation?.(resolved.modelId);
|
|
299
|
+
return ref(resolved.modelId, relId);
|
|
300
|
+
},
|
|
301
|
+
assignCostItemsToSchedule(modelId, scheduleExpressId, itemExpressIds) {
|
|
302
|
+
const resolved = resolve(modelId);
|
|
303
|
+
const existing = findControlAssignment(graphOf(resolved.modelId), scheduleExpressId);
|
|
304
|
+
const alreadyMembers = new Set(existing?.allMemberIds ?? existing?.relatedIds ?? []);
|
|
305
|
+
const changed = !existing || [...new Set(itemExpressIds)].some(id => !alreadyMembers.has(id));
|
|
306
|
+
const relId = assignCostItemsToScheduleInStore(resolved.editor, anchorOf(resolved), scheduleExpressId, itemExpressIds, existing);
|
|
307
|
+
if (changed)
|
|
308
|
+
onRelationshipMutation?.(resolved.modelId);
|
|
309
|
+
return ref(resolved.modelId, relId);
|
|
310
|
+
},
|
|
311
|
+
assignToCostItem(modelId, costItemExpressId, objectExpressIds) {
|
|
312
|
+
const resolved = resolve(modelId);
|
|
313
|
+
const existing = findControlAssignment(graphOf(resolved.modelId), costItemExpressId);
|
|
314
|
+
const alreadyMembers = new Set(existing?.allMemberIds ?? existing?.relatedIds ?? []);
|
|
315
|
+
const changed = !existing || [...new Set(objectExpressIds)].some(id => !alreadyMembers.has(id));
|
|
316
|
+
const relId = assignObjectsToCostItemInStore(resolved.editor, anchorOf(resolved), costItemExpressId, objectExpressIds, existing);
|
|
317
|
+
if (changed)
|
|
318
|
+
onRelationshipMutation?.(resolved.modelId);
|
|
319
|
+
return ref(resolved.modelId, relId);
|
|
320
|
+
},
|
|
321
|
+
setCostItemValues(modelId, itemExpressId, valueExpressIds) {
|
|
322
|
+
const resolved = resolve(modelId);
|
|
323
|
+
const uniqueValueExpressIds = [...new Set(valueExpressIds)];
|
|
324
|
+
const current = graphOf(resolved.modelId).CostItems.find(item => item.ref.expressId === itemExpressId);
|
|
325
|
+
const currentIds = (current?.CostValues ?? []).map(value => value.expressId);
|
|
326
|
+
if (current && currentIds.length === uniqueValueExpressIds.length
|
|
327
|
+
&& currentIds.every((id, index) => id === uniqueValueExpressIds[index]))
|
|
328
|
+
return;
|
|
329
|
+
attachCostValuesToItemInStore(resolved.editor, anchorOf(resolved), itemExpressId, uniqueValueExpressIds);
|
|
330
|
+
onRelationshipMutation?.(resolved.modelId);
|
|
331
|
+
},
|
|
332
|
+
removeCostEntity(modelId, expressId, options) {
|
|
333
|
+
const resolved = resolve(modelId);
|
|
334
|
+
const graph = graphOf(resolved.modelId);
|
|
335
|
+
const kind = costKindOf(graph, expressId);
|
|
336
|
+
if (!kind) {
|
|
337
|
+
throw new Error(`removeCostEntity: #${expressId} is not an IfcCostSchedule/IfcCostItem/IfcCostValue in this model's cost `
|
|
338
|
+
+ 'graph — this method only removes cost entities; use bim.store.removeEntity for anything else.');
|
|
339
|
+
}
|
|
340
|
+
const referrers = buildRemovalReferrers(graph, expressId);
|
|
341
|
+
const itemValueIds = kind === 'IfcCostItem'
|
|
342
|
+
? (graph.CostItems.find(item => item.ref.expressId === expressId)?.CostValues ?? [])
|
|
343
|
+
.map(value => value.expressId)
|
|
344
|
+
: [];
|
|
345
|
+
const incoming = effectiveCostReferrers(resolved.store, resolved.mutationView, new Set([expressId, ...itemValueIds]));
|
|
346
|
+
const occurrences = effectiveCostReferenceOccurrences(resolved.store, resolved.mutationView, new Set([expressId]));
|
|
347
|
+
const known = knownReferrerIds(referrers);
|
|
348
|
+
const unexpected = [...(occurrences.get(expressId) ?? [])]
|
|
349
|
+
.filter(([id, count]) => !known.has(id) || count > knownReferenceCount(referrers, expressId, id))
|
|
350
|
+
.map(([id]) => id);
|
|
351
|
+
if (unexpected.length > 0) {
|
|
352
|
+
throw new Error(`removeCostEntity: #${expressId} is still referenced by unsupported entity `
|
|
353
|
+
+ `${unexpected.map(id => `#${id}`).join(', ')}; no safe detach rewrite is available.`);
|
|
354
|
+
}
|
|
355
|
+
const cascadeValueIds = kind === 'IfcCostItem'
|
|
356
|
+
? cascadeValuesForItem(graph, incoming, expressId)
|
|
357
|
+
: [];
|
|
358
|
+
removeCostEntityInStore(resolved.editor, anchorOf(resolved), expressId, referrers, { detach: options?.detach });
|
|
359
|
+
// `cascadeValueIds` is derived from the mutation-aware cost graph above
|
|
360
|
+
// and deliberately stays inside this backend. Exposing it through the
|
|
361
|
+
// public builder options let direct callers delete arbitrary entities.
|
|
362
|
+
for (const valueId of cascadeValueIds)
|
|
363
|
+
resolved.editor.removeEntity(valueId);
|
|
364
|
+
onRelationshipMutation?.(resolved.modelId);
|
|
365
|
+
},
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
//# sourceMappingURL=cost-store-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost-store-backend.js","sourceRoot":"","sources":["../src/cost-store-backend.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,9 @@ export { StructuralNamespace } from './namespaces/structural.js';
|
|
|
28
28
|
export { CostNamespace } from './namespaces/cost.js';
|
|
29
29
|
export { createCostBackend } from './cost-backend.js';
|
|
30
30
|
export type { CostModelResolver, ResolvedCostModel } from './cost-backend.js';
|
|
31
|
+
export { createCostStoreBackend, resolveLiveOwnerHistoryId } from './cost-store-backend.js';
|
|
32
|
+
export type { CostStoreModelResolution, CostStoreModelResolver } from './cost-store-backend.js';
|
|
33
|
+
export type { CostStoreBackendMethods } from './store-cost-types.js';
|
|
31
34
|
export { ClashNamespace } from './namespaces/clash.js';
|
|
32
35
|
export { SpacesNamespace } from './namespaces/spaces.js';
|
|
33
36
|
export { StyleNamespace, type ColorBatch } from './namespaces/style.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -84,6 +84,7 @@ export { ScheduleNamespace } from './namespaces/schedule.js';
|
|
|
84
84
|
export { StructuralNamespace } from './namespaces/structural.js';
|
|
85
85
|
export { CostNamespace } from './namespaces/cost.js';
|
|
86
86
|
export { createCostBackend } from './cost-backend.js';
|
|
87
|
+
export { createCostStoreBackend, resolveLiveOwnerHistoryId } from './cost-store-backend.js';
|
|
87
88
|
// Clash — geometric interference detection over caller-provided ClashElement[]
|
|
88
89
|
export { ClashNamespace } from './namespaces/clash.js';
|
|
89
90
|
export { SpacesNamespace } from './namespaces/spaces.js';
|
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;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAC/E,wEAAwE;AACxE,qEAAqE;AACrE,oEAAoE;AACpE,mEAAmE;AACnE,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE;IAC/B,iEAAiE;IACjE,mEAAmE;IACnE,kDAAkD;IAClD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,2DAA2D;IAC3D,uEAAuE;IACvE,yDAAyD;IACzD,mEAAmE;IACnE,mEAAmE;IACnE,sEAAsE;IACtE,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAuI5D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErF,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,4EAA4E;AAC5E,2EAA2E;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,gFAAgF;AAChF,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAS7B,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,qDAAqD;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,13 +102,14 @@ export declare class QueryNamespace {
|
|
|
102
102
|
quantity(ref: EntityRef, qsetNameOrQuantityName: string, quantityName?: string): number | null;
|
|
103
103
|
/** Get related entities by IFC relationship type */
|
|
104
104
|
related(ref: EntityRef, relType: string, direction: 'forward' | 'inverse'): EntityData[];
|
|
105
|
+
private decompositionRefs;
|
|
105
106
|
/** IfcRelContainedInSpatialStructure (inverse) — what spatial element contains this entity */
|
|
106
107
|
containedIn(ref: EntityRef): EntityData | null;
|
|
107
108
|
/** IfcRelContainedInSpatialStructure (forward) — elements contained in this spatial element */
|
|
108
109
|
contains(ref: EntityRef): EntityData[];
|
|
109
|
-
/** IfcRelAggregates (inverse) — the whole that this entity is a part of */
|
|
110
|
+
/** IfcRelAggregates / IfcRelNests (inverse) — the whole that this entity is a part of */
|
|
110
111
|
decomposedBy(ref: EntityRef): EntityData | null;
|
|
111
|
-
/** IfcRelAggregates (forward) — parts
|
|
112
|
+
/** IfcRelAggregates / IfcRelNests (forward) — parts of this entity */
|
|
112
113
|
decomposes(ref: EntityRef): EntityData[];
|
|
113
114
|
/** Navigate up to the building storey */
|
|
114
115
|
storey(ref: EntityRef): EntityData | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/namespaces/query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/namespaces/query.ts"],"names":[],"mappings":"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"}
|
package/dist/namespaces/query.js
CHANGED
|
@@ -218,6 +218,20 @@ export class QueryNamespace {
|
|
|
218
218
|
}
|
|
219
219
|
return result;
|
|
220
220
|
}
|
|
221
|
+
decompositionRefs(ref, direction) {
|
|
222
|
+
const result = [];
|
|
223
|
+
const seen = new Set();
|
|
224
|
+
for (const relType of ['IfcRelAggregates', 'IfcRelNests']) {
|
|
225
|
+
for (const related of this.backend.query.related(ref, relType, direction)) {
|
|
226
|
+
const key = `${related.modelId}:${related.expressId}`;
|
|
227
|
+
if (seen.has(key))
|
|
228
|
+
continue;
|
|
229
|
+
seen.add(key);
|
|
230
|
+
result.push(related);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return result;
|
|
234
|
+
}
|
|
221
235
|
/** IfcRelContainedInSpatialStructure (inverse) — what spatial element contains this entity */
|
|
222
236
|
containedIn(ref) {
|
|
223
237
|
const refs = this.backend.query.related(ref, 'IfcRelContainedInSpatialStructure', 'inverse');
|
|
@@ -229,16 +243,22 @@ export class QueryNamespace {
|
|
|
229
243
|
contains(ref) {
|
|
230
244
|
return this.related(ref, 'IfcRelContainedInSpatialStructure', 'forward');
|
|
231
245
|
}
|
|
232
|
-
/** IfcRelAggregates (inverse) — the whole that this entity is a part of */
|
|
246
|
+
/** IfcRelAggregates / IfcRelNests (inverse) — the whole that this entity is a part of */
|
|
233
247
|
decomposedBy(ref) {
|
|
234
|
-
const refs = this.
|
|
248
|
+
const refs = this.decompositionRefs(ref, 'inverse');
|
|
235
249
|
if (refs.length === 0)
|
|
236
250
|
return null;
|
|
237
251
|
return this.backend.query.entityData(refs[0]);
|
|
238
252
|
}
|
|
239
|
-
/** IfcRelAggregates (forward) — parts
|
|
253
|
+
/** IfcRelAggregates / IfcRelNests (forward) — parts of this entity */
|
|
240
254
|
decomposes(ref) {
|
|
241
|
-
|
|
255
|
+
const result = [];
|
|
256
|
+
for (const related of this.decompositionRefs(ref, 'forward')) {
|
|
257
|
+
const data = this.backend.query.entityData(related);
|
|
258
|
+
if (data)
|
|
259
|
+
result.push(data);
|
|
260
|
+
}
|
|
261
|
+
return result;
|
|
242
262
|
}
|
|
243
263
|
/** Navigate up to the building storey */
|
|
244
264
|
storey(ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/namespaces/query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/namespaces/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CostItemParams, CostQuantityParams, CostScheduleParams, CostValueParams } from '@ifc-lite/create';
|
|
1
2
|
import type { AddBeamInStoreParams, AddColumnInStoreParams, AddDoorInStoreParams, AddMemberInStoreParams, AddPlateInStoreParams, AddRoofInStoreParams, AddSlabInStoreParams, AddSpaceInStoreParams, AddWallInStoreParams, AddWindowInStoreParams, BimBackend, EntityRef } from '../types.js';
|
|
2
3
|
/**
|
|
3
4
|
* `bim.store` — document-level edits on a parsed model.
|
|
@@ -137,5 +138,35 @@ export declare class StoreNamespace {
|
|
|
137
138
|
* choose the PredefinedType to disambiguate the role.
|
|
138
139
|
*/
|
|
139
140
|
addMember(modelId: string, storeyExpressId: number, params: AddMemberInStoreParams): EntityRef;
|
|
141
|
+
/** Add an IfcCostSchedule. Refused for IFC2X3 (different attribute layout). */
|
|
142
|
+
addCostSchedule(modelId: string, params: CostScheduleParams): EntityRef;
|
|
143
|
+
/** Add an IfcCostItem. `CostValues`/`CostQuantities` are optional; an empty array is refused. */
|
|
144
|
+
addCostItem(modelId: string, params: CostItemParams): EntityRef;
|
|
145
|
+
/** Add an IfcCostValue. `AppliedValue` and `AppliedValueRef` are mutually exclusive. */
|
|
146
|
+
addCostValue(modelId: string, params: CostValueParams): EntityRef;
|
|
147
|
+
/** Add an IfcPhysicalSimpleQuantity for `IfcCostItem.CostQuantities`. */
|
|
148
|
+
addCostQuantity(modelId: string, params: CostQuantityParams): EntityRef;
|
|
149
|
+
/**
|
|
150
|
+
* Nest `childExpressIds` (IfcCostItem) under `parentExpressId` via
|
|
151
|
+
* IfcRelNests. A child already nested elsewhere is reparented: detached
|
|
152
|
+
* from its old rel (which is tombstoned if that empties it) first.
|
|
153
|
+
*/
|
|
154
|
+
nestCostItems(modelId: string, parentExpressId: number, childExpressIds: number[]): EntityRef;
|
|
155
|
+
/** Assign `itemExpressIds` to `scheduleExpressId`'s control via IfcRelAssignsToControl. */
|
|
156
|
+
assignCostItemsToSchedule(modelId: string, scheduleExpressId: number, itemExpressIds: number[]): EntityRef;
|
|
157
|
+
/** Assign `objectExpressIds` (products AND/OR tasks) to `costItemExpressId`'s control. */
|
|
158
|
+
assignToCostItem(modelId: string, costItemExpressId: number, objectExpressIds: number[]): EntityRef;
|
|
159
|
+
/** Replace an IfcCostItem's `CostValues`. Pass `[]` to clear it (written as `$`, never `()`). */
|
|
160
|
+
setCostItemValues(modelId: string, itemExpressId: number, valueExpressIds: number[]): void;
|
|
161
|
+
/**
|
|
162
|
+
* Safe-delete an IfcCostSchedule / IfcCostItem / IfcCostValue. Throws,
|
|
163
|
+
* naming referrers, if a value is still listed in another item's
|
|
164
|
+
* `CostValues` or another value's `Components` — pass `{ detach: true }`
|
|
165
|
+
* to rewrite those lists first. Deleting an item cascades to values it
|
|
166
|
+
* alone references.
|
|
167
|
+
*/
|
|
168
|
+
removeCostEntity(modelId: string, expressId: number, options?: {
|
|
169
|
+
detach?: boolean;
|
|
170
|
+
}): void;
|
|
140
171
|
}
|
|
141
172
|
//# sourceMappingURL=store.d.ts.map
|