@ifc-lite/cli 0.26.0 → 0.27.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/commands/ask.d.ts +8 -0
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +10 -9
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/bsdd.d.ts.map +1 -1
- package/dist/commands/bsdd.js +49 -13
- package/dist/commands/bsdd.js.map +1 -1
- package/dist/commands/diff-classification-label.d.ts +12 -0
- package/dist/commands/diff-classification-label.d.ts.map +1 -0
- package/dist/commands/diff-classification-label.js +20 -0
- package/dist/commands/diff-classification-label.js.map +1 -0
- package/dist/commands/diff-engine.d.ts.map +1 -1
- package/dist/commands/diff-engine.js +33 -11
- package/dist/commands/diff-engine.js.map +1 -1
- package/dist/commands/diff-test-helpers.d.ts +12 -0
- package/dist/commands/diff-test-helpers.d.ts.map +1 -1
- package/dist/commands/diff-test-helpers.js +68 -0
- package/dist/commands/diff-test-helpers.js.map +1 -1
- package/dist/commands/diff-unit-scale-fixtures.d.ts +34 -0
- package/dist/commands/diff-unit-scale-fixtures.d.ts.map +1 -0
- package/dist/commands/diff-unit-scale-fixtures.js +94 -0
- package/dist/commands/diff-unit-scale-fixtures.js.map +1 -0
- package/dist/commands/export.d.ts +11 -0
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +9 -14
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/merge.d.ts.map +1 -1
- package/dist/commands/merge.js +8 -0
- package/dist/commands/merge.js.map +1 -1
- package/dist/commands/query-aggregation.d.ts +27 -4
- package/dist/commands/query-aggregation.d.ts.map +1 -1
- package/dist/commands/query-aggregation.js +67 -6
- package/dist/commands/query-aggregation.js.map +1 -1
- package/dist/commands/query-output.d.ts +7 -0
- package/dist/commands/query-output.d.ts.map +1 -1
- package/dist/commands/query-output.js +63 -27
- package/dist/commands/query-output.js.map +1 -1
- package/dist/commands/query-storey.d.ts +24 -0
- package/dist/commands/query-storey.d.ts.map +1 -0
- package/dist/commands/query-storey.js +71 -0
- package/dist/commands/query-storey.js.map +1 -0
- package/dist/commands/query.d.ts +2 -25
- package/dist/commands/query.d.ts.map +1 -1
- package/dist/commands/query.js +39 -158
- package/dist/commands/query.js.map +1 -1
- package/dist/commands/schedule-aggregate.d.ts +51 -0
- package/dist/commands/schedule-aggregate.d.ts.map +1 -0
- package/dist/commands/schedule-aggregate.js +121 -0
- package/dist/commands/schedule-aggregate.js.map +1 -0
- package/dist/commands/schedule-columns.d.ts +15 -0
- package/dist/commands/schedule-columns.d.ts.map +1 -0
- package/dist/commands/schedule-columns.js +63 -0
- package/dist/commands/schedule-columns.js.map +1 -0
- package/dist/commands/schedule-group.d.ts +65 -0
- package/dist/commands/schedule-group.d.ts.map +1 -0
- package/dist/commands/schedule-group.js +0 -0
- package/dist/commands/schedule-group.js.map +1 -0
- package/dist/commands/schedule-presets.d.ts +21 -0
- package/dist/commands/schedule-presets.d.ts.map +1 -0
- package/dist/commands/schedule-presets.js +62 -0
- package/dist/commands/schedule-presets.js.map +1 -0
- package/dist/commands/schedule-render-html.d.ts +13 -0
- package/dist/commands/schedule-render-html.d.ts.map +1 -0
- package/dist/commands/schedule-render-html.js +100 -0
- package/dist/commands/schedule-render-html.js.map +1 -0
- package/dist/commands/schedule-render-md.d.ts +12 -0
- package/dist/commands/schedule-render-md.d.ts.map +1 -0
- package/dist/commands/schedule-render-md.js +77 -0
- package/dist/commands/schedule-render-md.js.map +1 -0
- package/dist/commands/schedule-render.d.ts +51 -0
- package/dist/commands/schedule-render.d.ts.map +1 -0
- package/dist/commands/schedule-render.js +205 -0
- package/dist/commands/schedule-render.js.map +1 -0
- package/dist/commands/schedule-spec.d.ts +29 -0
- package/dist/commands/schedule-spec.d.ts.map +1 -0
- package/dist/commands/schedule-spec.js +111 -0
- package/dist/commands/schedule-spec.js.map +1 -0
- package/dist/commands/schedule.d.ts +23 -0
- package/dist/commands/schedule.d.ts.map +1 -0
- package/dist/commands/schedule.js +249 -0
- package/dist/commands/schedule.js.map +1 -0
- package/dist/commands/schema.d.ts.map +1 -1
- package/dist/commands/schema.js +192 -17
- package/dist/commands/schema.js.map +1 -1
- package/dist/commands/stats-aggregation.d.ts +31 -6
- package/dist/commands/stats-aggregation.d.ts.map +1 -1
- package/dist/commands/stats-aggregation.js +79 -11
- package/dist/commands/stats-aggregation.js.map +1 -1
- package/dist/commands/stats.d.ts.map +1 -1
- package/dist/commands/stats.js +4 -4
- package/dist/commands/stats.js.map +1 -1
- package/dist/commands/validate.d.ts +7 -4
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +9 -6
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/where-filter.d.ts +42 -0
- package/dist/commands/where-filter.d.ts.map +1 -0
- package/dist/commands/where-filter.js +88 -0
- package/dist/commands/where-filter.js.map +1 -0
- package/dist/energy-export.d.ts.map +1 -1
- package/dist/energy-export.js +12 -2
- package/dist/energy-export.js.map +1 -1
- package/dist/geometry-report.d.ts.map +1 -1
- package/dist/geometry-report.js +15 -3
- package/dist/geometry-report.js.map +1 -1
- package/dist/headless-backend.d.ts +20 -5
- package/dist/headless-backend.d.ts.map +1 -1
- package/dist/headless-backend.js +131 -90
- package/dist/headless-backend.js.map +1 -1
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/output.d.ts +13 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +21 -0
- package/dist/output.js.map +1 -1
- package/dist/property-filter-match.d.ts +12 -0
- package/dist/property-filter-match.d.ts.map +1 -0
- package/dist/property-filter-match.js +17 -0
- package/dist/property-filter-match.js.map +1 -0
- package/dist/query-overlay-relations.d.ts +29 -0
- package/dist/query-overlay-relations.d.ts.map +1 -0
- package/dist/query-overlay-relations.js +88 -0
- package/dist/query-overlay-relations.js.map +1 -0
- package/dist/query-overlay.d.ts +44 -0
- package/dist/query-overlay.d.ts.map +1 -0
- package/dist/query-overlay.js +100 -0
- package/dist/query-overlay.js.map +1 -0
- package/package.json +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry-report.js","sourceRoot":"","sources":["../src/geometry-report.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAS/D,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAC9B,uEAAuE,CAAC;AAE1E,MAAM,UAAU,oBAAoB,CAAC,CAAsB;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CACR,wBAAwB,CAAC,CAAC,gBAAgB,WAAW,CAAC,CAAC,oBAAoB,aAAa,CACzF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CACR,wBAAwB,CAAC,CAAC,cAAc,CAAC,KAAK,GAAG;QAC/C,gBAAgB,CAAC,CAAC,cAAc,CAAC,WAAW,cAAc,CAAC,CAAC,cAAc,CAAC,QAAQ,IAAI;QACvF,mBAAmB,CAAC,CAAC,cAAc,CAAC,cAAc,GAAG,CACxD,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAEpD,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,
|
|
1
|
+
{"version":3,"file":"geometry-report.js","sourceRoot":"","sources":["../src/geometry-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { BimBackend, BimEventType, ModelBackendMethods, QueryBackendMethods, SelectionBackendMethods, VisibilityBackendMethods, ViewerBackendMethods, MutateBackendMethods, StoreBackendMethods, SpacesBackendMethods, StyleBackendMethods, SpatialBackendMethods, ExportBackendMethods, LensBackendMethods, FilesBackendMethods, ScheduleBackendMethods } from '@ifc-lite/sdk';
|
|
9
9
|
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
10
|
+
import { normalizeBooleanValue } from '@ifc-lite/query';
|
|
10
11
|
import { expandTypes, isQueryableObjectType } from '@ifc-lite/parser';
|
|
11
12
|
export { expandTypes };
|
|
12
13
|
/**
|
|
@@ -20,8 +21,13 @@ export declare const isProductType: typeof isQueryableObjectType;
|
|
|
20
21
|
/**
|
|
21
22
|
* Normalize boolean-like values for comparison.
|
|
22
23
|
* IFC STEP files store booleans as .T./.F., but users pass true/false.
|
|
24
|
+
*
|
|
25
|
+
* Re-exported from `@ifc-lite/query` for existing importers of this module;
|
|
26
|
+
* the actual comparison the query filter runs lives there too
|
|
27
|
+
* (`compareFilterValue`), shared with the viewer and MCP `QueryBackendMethods`
|
|
28
|
+
* implementations so the three can't drift apart on `where()` semantics again.
|
|
23
29
|
*/
|
|
24
|
-
export
|
|
30
|
+
export { normalizeBooleanValue };
|
|
25
31
|
export declare function normalizePropertyValue(value: unknown): string | number | boolean | null;
|
|
26
32
|
export declare class HeadlessBackend implements BimBackend {
|
|
27
33
|
readonly model: ModelBackendMethods;
|
|
@@ -40,9 +46,20 @@ export declare class HeadlessBackend implements BimBackend {
|
|
|
40
46
|
readonly style: StyleBackendMethods;
|
|
41
47
|
private dataStore;
|
|
42
48
|
private modelName;
|
|
49
|
+
/** Every spelling of the one model this backend answers for, written once:
|
|
50
|
+
* the schedule assert, the `bim.mutate.*` guard and the `bim.store.add*`
|
|
51
|
+
* ref-minting sites all have to give the SAME answer, or a ref is minted
|
|
52
|
+
* under an id the very next write refuses (#3764). */
|
|
53
|
+
private readonly acceptedModelIds;
|
|
43
54
|
private mutationView;
|
|
44
55
|
private storeEditor;
|
|
45
56
|
constructor(store: IfcDataStore, modelName: string);
|
|
57
|
+
/** Whether `modelId` names the one model this backend holds. */
|
|
58
|
+
private acceptsModelId;
|
|
59
|
+
/** The accepted spellings as an error-message clause: `'default' or 'a.ifc'`. */
|
|
60
|
+
private acceptedModelIdList;
|
|
61
|
+
/** Refuse an unknown model id loudly, at whichever surface was handed it. */
|
|
62
|
+
private assertKnownModelId;
|
|
46
63
|
private createStyleAdapter;
|
|
47
64
|
private createSpacesAdapter;
|
|
48
65
|
subscribe(_event: BimEventType, _handler: (data: unknown) => void): () => void;
|
|
@@ -53,10 +70,8 @@ export declare class HeadlessBackend implements BimBackend {
|
|
|
53
70
|
private createViewerAdapter;
|
|
54
71
|
private createMutateAdapter;
|
|
55
72
|
/**
|
|
56
|
-
* The overlay every write goes through, created on first use
|
|
57
|
-
*
|
|
58
|
-
* Built by `getOrCreateStoreEditor` so the property and quantity extractors
|
|
59
|
-
* are wired exactly once, whichever adapter writes first.
|
|
73
|
+
* The overlay every write goes through, created on first use by
|
|
74
|
+
* `getOrCreateStoreEditor` so its extractors are wired exactly once.
|
|
60
75
|
*/
|
|
61
76
|
private getOrCreateMutationView;
|
|
62
77
|
private getOrCreateStoreEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend.d.ts","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EAavB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"headless-backend.d.ts","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EAavB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA6BrD,OAAO,EAAsD,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE5G,OAAO,EASL,WAAW,EAGX,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,WAAW,EAAE,CAAC;AAavB;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,8BAAwB,CAAC;AAEnD;;;;;;;;GAQG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAcvF;AAED,qBAAa,eAAgB,YAAW,UAAU;IAChD,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAEpC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B;;;2DAGuD;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,WAAW,CAA4B;gBAEnC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM;IAoBlD,gEAAgE;IAChE,OAAO,CAAC,cAAc;IAItB,iFAAiF;IACjF,OAAO,CAAC,mBAAmB;IAI3B,6EAA6E;IAC7E,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,mBAAmB;IAU3B,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAI9E,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,kBAAkB;IAsM1B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,mBAAmB;IAe3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,kBAAkB;IA6F1B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,mBAAmB;IAiH3B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,qBAAqB;CAyB9B"}
|
package/dist/headless-backend.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
-
import { createHeadlessMutateAdapter } from '@ifc-lite/sdk';
|
|
4
|
+
import { createEffectiveEntityCheck, createHeadlessMutateAdapter } from '@ifc-lite/sdk';
|
|
5
5
|
import { MutablePropertyView, StoreEditor } from '@ifc-lite/mutations';
|
|
6
6
|
import { addBeamToStore, addColumnToStore, addDoorToStore, addMemberToStore, addPlateToStore, addRoofToStore, applyStylesInStore, addSlabToStore, addSpaceToStore, addWallToStore, addWindowToStore, resolveSpatialAnchor, generateSpaces, listStoreys, } from '@ifc-lite/create';
|
|
7
|
-
import { EntityNode } from '@ifc-lite/query';
|
|
7
|
+
import { EntityNode, findPropertyInSets, findQuantityInSets, normalizeBooleanValue } from '@ifc-lite/query';
|
|
8
8
|
import { extractAllEntityAttributes, extractClassificationsOnDemand, extractMaterialsOnDemand, extractPropertiesOnDemand, extractQuantitiesOnDemand, extractTypePropertiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, expandTypes, QUERY_REL_TYPE_MAP, extractScheduleOnDemand, isQueryableObjectType, } from '@ifc-lite/parser';
|
|
9
9
|
import { escapeCsvCell, exportToStep, StepExporter } from '@ifc-lite/export';
|
|
10
|
+
import { edgeSurvives } from '@ifc-lite/data';
|
|
10
11
|
import { exportHbjson, exportDfjson } from './energy-export.js';
|
|
12
|
+
import { foldQueuedRelated } from './query-overlay-relations.js';
|
|
13
|
+
import { overlayEntityData, overlayProperties, overlayQuantities, foldNewEntities } from './query-overlay.js';
|
|
14
|
+
import { matchesPropertyFilter } from './property-filter-match.js';
|
|
11
15
|
// `expandTypes` used to be defined here; it now comes from `@ifc-lite/parser`,
|
|
12
16
|
// shared with the other query backends (see `query-backend-maps.ts`). Re-exported
|
|
13
17
|
// so this module's consumers are unaffected by where it lives.
|
|
@@ -32,14 +36,13 @@ export const isProductType = isQueryableObjectType;
|
|
|
32
36
|
/**
|
|
33
37
|
* Normalize boolean-like values for comparison.
|
|
34
38
|
* IFC STEP files store booleans as .T./.F., but users pass true/false.
|
|
39
|
+
*
|
|
40
|
+
* Re-exported from `@ifc-lite/query` for existing importers of this module;
|
|
41
|
+
* the actual comparison the query filter runs lives there too
|
|
42
|
+
* (`compareFilterValue`), shared with the viewer and MCP `QueryBackendMethods`
|
|
43
|
+
* implementations so the three can't drift apart on `where()` semantics again.
|
|
35
44
|
*/
|
|
36
|
-
export
|
|
37
|
-
if (value === true || value === '.T.' || value === 'true' || value === 'TRUE')
|
|
38
|
-
return 'true';
|
|
39
|
-
if (value === false || value === '.F.' || value === 'false' || value === 'FALSE')
|
|
40
|
-
return 'false';
|
|
41
|
-
return value;
|
|
42
|
-
}
|
|
45
|
+
export { normalizeBooleanValue };
|
|
43
46
|
export function normalizePropertyValue(value) {
|
|
44
47
|
if (value == null)
|
|
45
48
|
return null;
|
|
@@ -74,11 +77,17 @@ export class HeadlessBackend {
|
|
|
74
77
|
style;
|
|
75
78
|
dataStore;
|
|
76
79
|
modelName;
|
|
80
|
+
/** Every spelling of the one model this backend answers for, written once:
|
|
81
|
+
* the schedule assert, the `bim.mutate.*` guard and the `bim.store.add*`
|
|
82
|
+
* ref-minting sites all have to give the SAME answer, or a ref is minted
|
|
83
|
+
* under an id the very next write refuses (#3764). */
|
|
84
|
+
acceptedModelIds;
|
|
77
85
|
mutationView = null;
|
|
78
86
|
storeEditor = null;
|
|
79
87
|
constructor(store, modelName) {
|
|
80
88
|
this.dataStore = store;
|
|
81
89
|
this.modelName = modelName;
|
|
90
|
+
this.acceptedModelIds = modelName === MODEL_ID ? [MODEL_ID] : [MODEL_ID, modelName];
|
|
82
91
|
this.model = this.createModelAdapter();
|
|
83
92
|
this.query = this.createQueryAdapter();
|
|
84
93
|
this.selection = this.createSelectionAdapter();
|
|
@@ -94,6 +103,20 @@ export class HeadlessBackend {
|
|
|
94
103
|
this.spaces = this.createSpacesAdapter();
|
|
95
104
|
this.style = this.createStyleAdapter();
|
|
96
105
|
}
|
|
106
|
+
/** Whether `modelId` names the one model this backend holds. */
|
|
107
|
+
acceptsModelId(modelId) {
|
|
108
|
+
return this.acceptedModelIds.includes(modelId);
|
|
109
|
+
}
|
|
110
|
+
/** The accepted spellings as an error-message clause: `'default' or 'a.ifc'`. */
|
|
111
|
+
acceptedModelIdList() {
|
|
112
|
+
return this.acceptedModelIds.map(id => `'${id}'`).join(' or ');
|
|
113
|
+
}
|
|
114
|
+
/** Refuse an unknown model id loudly, at whichever surface was handed it. */
|
|
115
|
+
assertKnownModelId(modelId) {
|
|
116
|
+
if (this.acceptsModelId(modelId))
|
|
117
|
+
return;
|
|
118
|
+
throw new Error(`Unknown modelId '${modelId}': this backend answers for ${this.acceptedModelIdList()}`);
|
|
119
|
+
}
|
|
97
120
|
createStyleAdapter() {
|
|
98
121
|
return {
|
|
99
122
|
// Same arrangement as the spaces adapter: the work happens in
|
|
@@ -138,10 +161,14 @@ export class HeadlessBackend {
|
|
|
138
161
|
}
|
|
139
162
|
createQueryAdapter() {
|
|
140
163
|
const store = this.dataStore;
|
|
164
|
+
// Lazy — a read-only session's `related()` stays on the store-only path.
|
|
165
|
+
const getMutationView = () => this.mutationView;
|
|
141
166
|
function getEntityData(ref) {
|
|
142
|
-
|
|
167
|
+
const overlay = overlayEntityData(getMutationView(), ref);
|
|
168
|
+
if (overlay !== undefined)
|
|
169
|
+
return overlay;
|
|
143
170
|
if (!store.entityIndex.byId.has(ref.expressId))
|
|
144
|
-
return null;
|
|
171
|
+
return null; // not parsed either
|
|
145
172
|
const node = new EntityNode(store, ref.expressId);
|
|
146
173
|
const type = node.type;
|
|
147
174
|
if (!type || type === 'Unknown')
|
|
@@ -156,6 +183,9 @@ export class HeadlessBackend {
|
|
|
156
183
|
};
|
|
157
184
|
}
|
|
158
185
|
function getProperties(ref) {
|
|
186
|
+
const overlay = overlayProperties(getMutationView(), ref);
|
|
187
|
+
if (overlay !== undefined)
|
|
188
|
+
return overlay;
|
|
159
189
|
const node = new EntityNode(store, ref.expressId);
|
|
160
190
|
return node.properties().map((pset) => ({
|
|
161
191
|
name: pset.name,
|
|
@@ -168,6 +198,9 @@ export class HeadlessBackend {
|
|
|
168
198
|
}));
|
|
169
199
|
}
|
|
170
200
|
function getQuantities(ref) {
|
|
201
|
+
const overlay = overlayQuantities(getMutationView(), ref);
|
|
202
|
+
if (overlay !== undefined)
|
|
203
|
+
return overlay;
|
|
171
204
|
const node = new EntityNode(store, ref.expressId);
|
|
172
205
|
return node.quantities().map(qset => ({
|
|
173
206
|
name: qset.name,
|
|
@@ -181,10 +214,11 @@ export class HeadlessBackend {
|
|
|
181
214
|
return {
|
|
182
215
|
entities(descriptor) {
|
|
183
216
|
const results = [];
|
|
217
|
+
const view = getMutationView();
|
|
184
218
|
let entityIds;
|
|
185
219
|
if (descriptor.types && descriptor.types.length > 0) {
|
|
186
220
|
entityIds = [];
|
|
187
|
-
for (const type of expandTypes(descriptor.types)) {
|
|
221
|
+
for (const type of expandTypes(descriptor.types, store.schemaVersion)) {
|
|
188
222
|
const typeIds = store.entityIndex.byType.get(type) ?? [];
|
|
189
223
|
for (const id of typeIds)
|
|
190
224
|
entityIds.push(id);
|
|
@@ -202,6 +236,8 @@ export class HeadlessBackend {
|
|
|
202
236
|
for (const expressId of entityIds) {
|
|
203
237
|
if (expressId === 0)
|
|
204
238
|
continue;
|
|
239
|
+
if (view?.isDeleted(expressId))
|
|
240
|
+
continue; // tombstoned this session
|
|
205
241
|
const node = new EntityNode(store, expressId);
|
|
206
242
|
results.push({
|
|
207
243
|
ref: { modelId: MODEL_ID, expressId },
|
|
@@ -212,6 +248,8 @@ export class HeadlessBackend {
|
|
|
212
248
|
objectType: node.objectType,
|
|
213
249
|
});
|
|
214
250
|
}
|
|
251
|
+
if (view)
|
|
252
|
+
results.push(...foldNewEntities(view, descriptor.types, (t) => expandTypes(t, store.schemaVersion), isProductType, MODEL_ID));
|
|
215
253
|
let filtered = results;
|
|
216
254
|
if (descriptor.filters && descriptor.filters.length > 0) {
|
|
217
255
|
const propsCache = new Map();
|
|
@@ -226,50 +264,20 @@ export class HeadlessBackend {
|
|
|
226
264
|
for (const filter of descriptor.filters) {
|
|
227
265
|
filtered = filtered.filter(entity => {
|
|
228
266
|
const props = getCachedProps(entity.ref);
|
|
229
|
-
|
|
230
|
-
if (!pset)
|
|
231
|
-
return false;
|
|
232
|
-
const prop = pset.properties.find(p => p.name === filter.propName);
|
|
233
|
-
if (!prop)
|
|
234
|
-
return false;
|
|
235
|
-
if (filter.operator === 'exists')
|
|
236
|
-
return true;
|
|
237
|
-
const val = prop.value;
|
|
238
|
-
const filterVal = filter.value;
|
|
239
|
-
// Normalize booleans: .T./.F./true/false all compare equally
|
|
240
|
-
const normVal = normalizeBooleanValue(val);
|
|
241
|
-
const normFilterVal = normalizeBooleanValue(filterVal);
|
|
242
|
-
switch (filter.operator) {
|
|
243
|
-
case '=': return String(normVal) === String(normFilterVal);
|
|
244
|
-
case '!=': return String(normVal) !== String(normFilterVal);
|
|
245
|
-
case '>': return Number(normVal) > Number(normFilterVal);
|
|
246
|
-
case '<': return Number(normVal) < Number(normFilterVal);
|
|
247
|
-
case '>=': return Number(normVal) >= Number(normFilterVal);
|
|
248
|
-
case '<=': return Number(normVal) <= Number(normFilterVal);
|
|
249
|
-
case 'contains': return String(normVal).toLowerCase().includes(String(normFilterVal).toLowerCase());
|
|
250
|
-
default: return false;
|
|
251
|
-
}
|
|
267
|
+
return matchesPropertyFilter(props, filter);
|
|
252
268
|
});
|
|
253
269
|
}
|
|
254
270
|
}
|
|
255
|
-
// `!= null` alone lets a NaN offset/limit through (
|
|
256
|
-
//
|
|
257
|
-
//
|
|
258
|
-
//
|
|
259
|
-
//
|
|
260
|
-
//
|
|
261
|
-
//
|
|
262
|
-
//
|
|
263
|
-
//
|
|
264
|
-
//
|
|
265
|
-
//
|
|
266
|
-
// NOTE this does NOT cover @ifc-lite/mcp. That package has its own
|
|
267
|
-
// backend (`packages/mcp/src/backend-query.ts`), a parallel
|
|
268
|
-
// implementation rather than a shared import, and its equivalent lines
|
|
269
|
-
// still read `descriptor.limit && descriptor.limit > 0` — so a NaN is
|
|
270
|
-
// silently ignored there and `limit: 0` is a no-op. Same defect,
|
|
271
|
-
// different package, its own tests and release cadence; tracked as a
|
|
272
|
-
// separate change rather than folded into this CLI-scoped PR.
|
|
271
|
+
// `!= null` alone lets a NaN offset/limit through (neither null nor
|
|
272
|
+
// undefined); a bare `> 0` then silently drops it (every NaN
|
|
273
|
+
// comparison is false) instead of rejecting it, and by the same
|
|
274
|
+
// reasoning silently ignored a deliberate `limit: 0`. Reject
|
|
275
|
+
// non-finite/negative values loudly instead of quietly serving the
|
|
276
|
+
// wrong slice. The CLI's own `--limit`/`--offset` flags are validated
|
|
277
|
+
// before reaching this descriptor, so this guards direct SDK callers
|
|
278
|
+
// (`@ifc-lite/mcp`'s parallel `backend-query.ts` ported the identical
|
|
279
|
+
// fix independently — same defect shape, own tests and release
|
|
280
|
+
// cadence).
|
|
273
281
|
if (descriptor.offset != null) {
|
|
274
282
|
if (!Number.isFinite(descriptor.offset) || descriptor.offset < 0) {
|
|
275
283
|
throw new TypeError(`Invalid offset: ${descriptor.offset} (must be a non-negative finite number)`);
|
|
@@ -324,12 +332,37 @@ export class HeadlessBackend {
|
|
|
324
332
|
relationships(ref) {
|
|
325
333
|
return extractRelationshipsOnDemand(store, ref.expressId);
|
|
326
334
|
},
|
|
335
|
+
// Folds queued `IfcRel…` creates in (query-overlay-relations.ts, mirrors #2014).
|
|
327
336
|
related(ref, relType, direction) {
|
|
328
337
|
const relEnum = QUERY_REL_TYPE_MAP[relType];
|
|
329
338
|
if (relEnum === undefined)
|
|
330
339
|
return [];
|
|
331
|
-
const
|
|
332
|
-
|
|
340
|
+
const view = getMutationView();
|
|
341
|
+
if (view?.isDeleted(ref.expressId))
|
|
342
|
+
return []; // deleted relates to nothing
|
|
343
|
+
const half = direction === 'forward' ? store.relationships.forward : store.relationships.inverse;
|
|
344
|
+
const out = [];
|
|
345
|
+
const seen = new Set();
|
|
346
|
+
const take = (id) => {
|
|
347
|
+
if (view?.isDeleted(id) || seen.has(id))
|
|
348
|
+
return;
|
|
349
|
+
seen.add(id);
|
|
350
|
+
out.push(id);
|
|
351
|
+
};
|
|
352
|
+
// Two `IfcRel*` instances can name the same triple; the graph keeps
|
|
353
|
+
// only one as `relationshipId` and folds the rest into
|
|
354
|
+
// `shadowedRelationshipIds` (#3760). `edgeSurvives` (shared with the
|
|
355
|
+
// MCP backend, #3782 review) treats the connection as alive as long
|
|
356
|
+
// as any one of them still exists.
|
|
357
|
+
const isDeleted = view ? (id) => view.isDeleted(id) : () => false;
|
|
358
|
+
for (const edge of half.getEdges(ref.expressId, relEnum)) {
|
|
359
|
+
if (edgeSurvives(edge, isDeleted))
|
|
360
|
+
take(edge.target);
|
|
361
|
+
}
|
|
362
|
+
if (view)
|
|
363
|
+
for (const t of foldQueuedRelated(view.getNewEntities(), (id) => view.isDeleted(id), relType, direction, ref.expressId))
|
|
364
|
+
take(t);
|
|
365
|
+
return out.map((expressId) => ({ modelId: ref.modelId, expressId }));
|
|
333
366
|
},
|
|
334
367
|
};
|
|
335
368
|
}
|
|
@@ -361,33 +394,34 @@ export class HeadlessBackend {
|
|
|
361
394
|
};
|
|
362
395
|
}
|
|
363
396
|
createMutateAdapter() {
|
|
364
|
-
return createHeadlessMutateAdapter(() => this.getOrCreateMutationView()
|
|
397
|
+
return createHeadlessMutateAdapter(() => this.getOrCreateMutationView(), createEffectiveEntityCheck({
|
|
398
|
+
acceptedModelIds: this.acceptedModelIds,
|
|
399
|
+
// Both halves of the source index, the union every other "is it in
|
|
400
|
+
// the source model" site takes: `deferPropertyAtomIndex` keeps property
|
|
401
|
+
// atoms out of `byId`, and they are exported like any other entity.
|
|
402
|
+
hasSourceEntity: id => this.dataStore.entityIndex.byId.has(id)
|
|
403
|
+
|| this.dataStore.deferredEntityIndex?.has(id) === true,
|
|
404
|
+
overlay: () => this.mutationView,
|
|
405
|
+
}));
|
|
365
406
|
}
|
|
366
407
|
/**
|
|
367
|
-
* The overlay every write goes through, created on first use
|
|
368
|
-
*
|
|
369
|
-
* Built by `getOrCreateStoreEditor` so the property and quantity extractors
|
|
370
|
-
* are wired exactly once, whichever adapter writes first.
|
|
408
|
+
* The overlay every write goes through, created on first use by
|
|
409
|
+
* `getOrCreateStoreEditor` so its extractors are wired exactly once.
|
|
371
410
|
*/
|
|
372
411
|
getOrCreateMutationView() {
|
|
373
412
|
this.getOrCreateStoreEditor();
|
|
374
|
-
// Non-null immediately after:
|
|
375
|
-
// together and never clears them.
|
|
413
|
+
// Non-null immediately after: both fields are assigned together and never cleared.
|
|
376
414
|
return this.mutationView;
|
|
377
415
|
}
|
|
378
416
|
getOrCreateStoreEditor() {
|
|
379
417
|
if (this.storeEditor)
|
|
380
418
|
return this.storeEditor;
|
|
381
419
|
this.mutationView = new MutablePropertyView(this.dataStore.properties || null, MODEL_ID);
|
|
382
|
-
// Give the overlay a base to merge against
|
|
383
|
-
//
|
|
384
|
-
//
|
|
385
|
-
//
|
|
386
|
-
// `
|
|
387
|
-
// original records, so editing one property would drop every sibling
|
|
388
|
-
// property in that pset on save. Same wiring, same reason, as
|
|
389
|
-
// `packages/mcp/src/headless-backend.ts` and
|
|
390
|
-
// `apps/viewer/src/utils/configureMutationView.ts` (#2000, #2004).
|
|
420
|
+
// Give the overlay a base to merge against — the columnar parser serves
|
|
421
|
+
// properties on demand, so without this `getForEntity` would answer with
|
|
422
|
+
// only the one edited pset and `StepExporter` would drop every sibling
|
|
423
|
+
// property on save. Same wiring as `packages/mcp/src/headless-backend.ts`
|
|
424
|
+
// and `apps/viewer/src/utils/configureMutationView.ts` (#2000, #2004).
|
|
391
425
|
if (this.dataStore.source?.length > 0) {
|
|
392
426
|
this.mutationView.setOnDemandExtractor((entityId) => extractPropertiesOnDemand(this.dataStore, entityId));
|
|
393
427
|
this.mutationView.setQuantityExtractor((entityId) => extractQuantitiesOnDemand(this.dataStore, entityId));
|
|
@@ -398,8 +432,14 @@ export class HeadlessBackend {
|
|
|
398
432
|
createStoreAdapter() {
|
|
399
433
|
const get = () => this.getOrCreateStoreEditor();
|
|
400
434
|
const dataStore = () => this.dataStore;
|
|
435
|
+
// Every `add*` mints an `EntityRef` carrying the model id it was called
|
|
436
|
+
// with, and `bim.mutate.*` refuses one this backend does not answer for.
|
|
437
|
+
// Checking here, before the entity exists, is what keeps the two from
|
|
438
|
+
// disagreeing: no ref is handed back that the next call rejects.
|
|
439
|
+
const assertModel = (modelId) => this.assertKnownModelId(modelId);
|
|
401
440
|
return {
|
|
402
441
|
addEntity(modelId, def) {
|
|
442
|
+
assertModel(modelId);
|
|
403
443
|
const ref = get().addEntity(def.type, def.attributes);
|
|
404
444
|
return { modelId, expressId: ref.expressId };
|
|
405
445
|
},
|
|
@@ -410,60 +450,70 @@ export class HeadlessBackend {
|
|
|
410
450
|
get().setPositionalAttribute(ref.expressId, index, value);
|
|
411
451
|
},
|
|
412
452
|
addColumn(modelId, storeyExpressId, params) {
|
|
453
|
+
assertModel(modelId);
|
|
413
454
|
const editor = get();
|
|
414
455
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
415
456
|
const result = addColumnToStore(editor, anchor, params);
|
|
416
457
|
return { modelId, expressId: result.columnId };
|
|
417
458
|
},
|
|
418
459
|
addWall(modelId, storeyExpressId, params) {
|
|
460
|
+
assertModel(modelId);
|
|
419
461
|
const editor = get();
|
|
420
462
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
421
463
|
const result = addWallToStore(editor, anchor, params);
|
|
422
464
|
return { modelId, expressId: result.wallId };
|
|
423
465
|
},
|
|
424
466
|
addSlab(modelId, storeyExpressId, params) {
|
|
467
|
+
assertModel(modelId);
|
|
425
468
|
const editor = get();
|
|
426
469
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
427
470
|
const result = addSlabToStore(editor, anchor, params);
|
|
428
471
|
return { modelId, expressId: result.slabId };
|
|
429
472
|
},
|
|
430
473
|
addBeam(modelId, storeyExpressId, params) {
|
|
474
|
+
assertModel(modelId);
|
|
431
475
|
const editor = get();
|
|
432
476
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
433
477
|
const result = addBeamToStore(editor, anchor, params);
|
|
434
478
|
return { modelId, expressId: result.beamId };
|
|
435
479
|
},
|
|
436
480
|
addDoor(modelId, storeyExpressId, params) {
|
|
481
|
+
assertModel(modelId);
|
|
437
482
|
const editor = get();
|
|
438
483
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
439
484
|
const result = addDoorToStore(editor, anchor, params);
|
|
440
485
|
return { modelId, expressId: result.doorId };
|
|
441
486
|
},
|
|
442
487
|
addWindow(modelId, storeyExpressId, params) {
|
|
488
|
+
assertModel(modelId);
|
|
443
489
|
const editor = get();
|
|
444
490
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
445
491
|
const result = addWindowToStore(editor, anchor, params);
|
|
446
492
|
return { modelId, expressId: result.windowId };
|
|
447
493
|
},
|
|
448
494
|
addSpace(modelId, storeyExpressId, params) {
|
|
495
|
+
assertModel(modelId);
|
|
449
496
|
const editor = get();
|
|
450
497
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
451
498
|
const result = addSpaceToStore(editor, anchor, params);
|
|
452
499
|
return { modelId, expressId: result.spaceId };
|
|
453
500
|
},
|
|
454
501
|
addRoof(modelId, storeyExpressId, params) {
|
|
502
|
+
assertModel(modelId);
|
|
455
503
|
const editor = get();
|
|
456
504
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
457
505
|
const result = addRoofToStore(editor, anchor, params);
|
|
458
506
|
return { modelId, expressId: result.roofId };
|
|
459
507
|
},
|
|
460
508
|
addPlate(modelId, storeyExpressId, params) {
|
|
509
|
+
assertModel(modelId);
|
|
461
510
|
const editor = get();
|
|
462
511
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
463
512
|
const result = addPlateToStore(editor, anchor, params);
|
|
464
513
|
return { modelId, expressId: result.plateId };
|
|
465
514
|
},
|
|
466
515
|
addMember(modelId, storeyExpressId, params) {
|
|
516
|
+
assertModel(modelId);
|
|
467
517
|
const editor = get();
|
|
468
518
|
const anchor = resolveSpatialAnchor(dataStore(), storeyExpressId);
|
|
469
519
|
const result = addMemberToStore(editor, anchor, params);
|
|
@@ -507,20 +557,14 @@ export class HeadlessBackend {
|
|
|
507
557
|
const setName = col.slice(0, dotIdx);
|
|
508
558
|
const valueName = col.slice(dotIdx + 1);
|
|
509
559
|
if (props) {
|
|
510
|
-
const
|
|
511
|
-
if (
|
|
512
|
-
|
|
513
|
-
if (prop?.value != null)
|
|
514
|
-
return String(prop.value);
|
|
515
|
-
}
|
|
560
|
+
const prop = findPropertyInSets(props, setName, valueName);
|
|
561
|
+
if (prop?.value != null)
|
|
562
|
+
return String(prop.value);
|
|
516
563
|
}
|
|
517
564
|
if (qsets) {
|
|
518
|
-
const
|
|
519
|
-
if (
|
|
520
|
-
|
|
521
|
-
if (qty?.value != null)
|
|
522
|
-
return String(qty.value);
|
|
523
|
-
}
|
|
565
|
+
const qty = findQuantityInSets(qsets, setName, valueName);
|
|
566
|
+
if (qty?.value != null)
|
|
567
|
+
return String(qty.value);
|
|
524
568
|
}
|
|
525
569
|
}
|
|
526
570
|
return '';
|
|
@@ -614,15 +658,12 @@ export class HeadlessBackend {
|
|
|
614
658
|
}
|
|
615
659
|
createScheduleAdapter() {
|
|
616
660
|
const store = this.dataStore;
|
|
617
|
-
const modelName = this.modelName;
|
|
618
661
|
let cached = null;
|
|
662
|
+
// Unknown ids surface a clear error instead of silently returning the wrong
|
|
663
|
+
// data, and they surface the SAME error the write guard gives.
|
|
619
664
|
const assertModel = (modelId) => {
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
// the wrong data.
|
|
623
|
-
if (modelId && modelId !== MODEL_ID && modelId !== modelName) {
|
|
624
|
-
throw new Error(`Unknown modelId '${modelId}' — headless backend only has '${MODEL_ID}'`);
|
|
625
|
-
}
|
|
665
|
+
if (modelId)
|
|
666
|
+
this.assertKnownModelId(modelId);
|
|
626
667
|
};
|
|
627
668
|
const extract = (modelId) => {
|
|
628
669
|
assertModel(modelId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend.js","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headless-backend.js","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"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"}
|