@ifc-lite/parser 5.2.0 → 6.2.1
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/columnar-entity-preparation.d.ts +3 -0
- package/dist/columnar-entity-preparation.d.ts.map +1 -1
- package/dist/columnar-entity-preparation.js +101 -11
- package/dist/columnar-entity-preparation.js.map +1 -1
- package/dist/columnar-parser-indexes.d.ts +17 -1
- package/dist/columnar-parser-indexes.d.ts.map +1 -1
- package/dist/columnar-parser-indexes.js +31 -21
- package/dist/columnar-parser-indexes.js.map +1 -1
- package/dist/columnar-parser.d.ts +10 -1
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +14 -2
- package/dist/columnar-parser.js.map +1 -1
- package/dist/cost-extractor.d.ts +10 -0
- package/dist/cost-extractor.d.ts.map +1 -0
- package/dist/cost-extractor.js +369 -0
- package/dist/cost-extractor.js.map +1 -0
- package/dist/cost-schedule-2x3.d.ts +31 -0
- package/dist/cost-schedule-2x3.d.ts.map +1 -0
- package/dist/cost-schedule-2x3.js +75 -0
- package/dist/cost-schedule-2x3.js.map +1 -0
- package/dist/cost-types.d.ts +105 -0
- package/dist/cost-types.d.ts.map +1 -0
- package/dist/cost-types.js +5 -0
- package/dist/cost-types.js.map +1 -0
- package/dist/data-store-transport.d.ts +1 -0
- package/dist/data-store-transport.d.ts.map +1 -1
- package/dist/data-store-transport.js +5 -29
- package/dist/data-store-transport.js.map +1 -1
- package/dist/drop-census.d.ts +136 -0
- package/dist/drop-census.d.ts.map +1 -0
- package/dist/drop-census.js +53 -0
- package/dist/drop-census.js.map +1 -0
- package/dist/entity-scanner.d.ts.map +1 -1
- package/dist/entity-scanner.js +10 -5
- package/dist/entity-scanner.js.map +1 -1
- package/dist/generated/ifc2x3/schema-registry.d.ts +50 -0
- package/dist/generated/ifc2x3/schema-registry.d.ts.map +1 -0
- package/dist/generated/ifc2x3/schema-registry.js +50052 -0
- package/dist/generated/ifc2x3/schema-registry.js.map +1 -0
- package/dist/generated/ifc4x3/schema-registry.d.ts +50 -0
- package/dist/generated/ifc4x3/schema-registry.d.ts.map +1 -0
- package/dist/generated/ifc4x3/schema-registry.js +71299 -0
- package/dist/generated/ifc4x3/schema-registry.js.map +1 -0
- package/dist/generated/schema-registry-by-version.d.ts +61 -0
- package/dist/generated/schema-registry-by-version.d.ts.map +1 -0
- package/dist/generated/schema-registry-by-version.js +86 -0
- package/dist/generated/schema-registry-by-version.js.map +1 -0
- package/dist/georef-extractor.js +5 -5
- package/dist/georef-extractor.js.map +1 -1
- package/dist/group-assignment-factor.d.ts +13 -0
- package/dist/group-assignment-factor.d.ts.map +1 -0
- package/dist/group-assignment-factor.js +30 -0
- package/dist/group-assignment-factor.js.map +1 -0
- package/dist/ifczip.d.ts +7 -1
- package/dist/ifczip.d.ts.map +1 -1
- package/dist/ifczip.js +80 -14
- package/dist/ifczip.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/on-demand-extractors.d.ts +1 -0
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +2 -1
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/property-value-parser.d.ts +10 -0
- package/dist/property-value-parser.d.ts.map +1 -1
- package/dist/property-value-parser.js +40 -1
- package/dist/property-value-parser.js.map +1 -1
- package/dist/scan-entities-balanced.d.ts.map +1 -1
- package/dist/scan-entities-balanced.js +11 -6
- package/dist/scan-entities-balanced.js.map +1 -1
- package/dist/scan-worker-lexing.d.ts +14 -0
- package/dist/scan-worker-lexing.d.ts.map +1 -0
- package/dist/scan-worker-lexing.js +106 -0
- package/dist/scan-worker-lexing.js.map +1 -0
- package/dist/scan-worker-source.d.ts +1 -1
- package/dist/scan-worker-source.d.ts.map +1 -1
- package/dist/scan-worker-source.js +64 -59
- package/dist/scan-worker-source.js.map +1 -1
- package/dist/schedule-extractor.d.ts +2 -80
- package/dist/schedule-extractor.d.ts.map +1 -1
- package/dist/schedule-extractor.js +100 -225
- package/dist/schedule-extractor.js.map +1 -1
- package/dist/schedule-serializer-builders.d.ts +28 -0
- package/dist/schedule-serializer-builders.d.ts.map +1 -0
- package/dist/schedule-serializer-builders.js +163 -0
- package/dist/schedule-serializer-builders.js.map +1 -0
- package/dist/schedule-serializer.d.ts +6 -0
- package/dist/schedule-serializer.d.ts.map +1 -1
- package/dist/schedule-serializer.js +26 -165
- package/dist/schedule-serializer.js.map +1 -1
- package/dist/schedule-types.d.ts +211 -0
- package/dist/schedule-types.d.ts.map +1 -0
- package/dist/schedule-types.js +221 -0
- package/dist/schedule-types.js.map +1 -0
- package/dist/spatial-hierarchy-ambiguity.d.ts +39 -0
- package/dist/spatial-hierarchy-ambiguity.d.ts.map +1 -0
- package/dist/spatial-hierarchy-ambiguity.js +25 -0
- package/dist/spatial-hierarchy-ambiguity.js.map +1 -0
- package/dist/spatial-hierarchy-attributes.d.ts +54 -0
- package/dist/spatial-hierarchy-attributes.d.ts.map +1 -0
- package/dist/spatial-hierarchy-attributes.js +145 -0
- package/dist/spatial-hierarchy-attributes.js.map +1 -0
- package/dist/spatial-hierarchy-builder.d.ts +0 -30
- package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
- package/dist/spatial-hierarchy-builder.js +45 -167
- package/dist/spatial-hierarchy-builder.js.map +1 -1
- package/dist/spatial-hierarchy-canonical-parent.d.ts +52 -2
- package/dist/spatial-hierarchy-canonical-parent.d.ts.map +1 -1
- package/dist/spatial-hierarchy-canonical-parent.js +153 -4
- package/dist/spatial-hierarchy-canonical-parent.js.map +1 -1
- package/dist/step-lexing.d.ts +1 -1
- package/dist/step-lexing.d.ts.map +1 -1
- package/dist/step-lexing.js +1 -56
- package/dist/step-lexing.js.map +1 -1
- package/dist/step-record-boundary.d.ts +28 -0
- package/dist/step-record-boundary.d.ts.map +1 -0
- package/dist/step-record-boundary.js +133 -0
- package/dist/step-record-boundary.js.map +1 -0
- package/dist/step-record-boundary.vectors.d.ts +102 -0
- package/dist/step-record-boundary.vectors.d.ts.map +1 -0
- package/dist/step-record-boundary.vectors.js +131 -0
- package/dist/step-record-boundary.vectors.js.map +1 -0
- package/dist/structural-extractor.d.ts +9 -0
- package/dist/structural-extractor.d.ts.map +1 -0
- package/dist/structural-extractor.js +310 -0
- package/dist/structural-extractor.js.map +1 -0
- package/dist/structural-load-extractor.d.ts +147 -0
- package/dist/structural-load-extractor.d.ts.map +1 -0
- package/dist/structural-load-extractor.js +178 -0
- package/dist/structural-load-extractor.js.map +1 -0
- package/dist/structural-step-values.d.ts +51 -0
- package/dist/structural-step-values.d.ts.map +1 -0
- package/dist/structural-step-values.js +109 -0
- package/dist/structural-step-values.js.map +1 -0
- package/dist/structural-types.d.ts +145 -0
- package/dist/structural-types.d.ts.map +1 -0
- package/dist/structural-types.js +5 -0
- package/dist/structural-types.js.map +1 -0
- package/dist/tokenizer.d.ts +11 -5
- package/dist/tokenizer.d.ts.map +1 -1
- package/dist/tokenizer.js +78 -21
- package/dist/tokenizer.js.map +1 -1
- package/dist/wasm-init-retry.d.ts +6 -42
- package/dist/wasm-init-retry.d.ts.map +1 -1
- package/dist/wasm-init-retry.js +6 -99
- package/dist/wasm-init-retry.js.map +1 -1
- package/dist/wasm-panic-forward.d.ts +7 -63
- package/dist/wasm-panic-forward.d.ts.map +1 -1
- package/dist/wasm-panic-forward.js +7 -100
- package/dist/wasm-panic-forward.js.map +1 -1
- package/package.json +5 -4
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { EntityRef } from './types.js';
|
|
2
2
|
import type { ScannedEntityColumns } from './entity-refs-from-index.js';
|
|
3
|
+
import { type DropCensus } from './drop-census.js';
|
|
3
4
|
export type ColumnarEntityInput = EntityRef[] | ScannedEntityColumns;
|
|
5
|
+
export declare function assertRootDerivationIsLive(): void;
|
|
4
6
|
/** Shared categorization for scanned objects and pre-pass columns. #3985 */
|
|
5
7
|
export declare function prepareColumnarEntities(input: ColumnarEntityInput, deferPropertyAtomIndex: boolean, yieldIfNeeded: () => Promise<void>): Promise<{
|
|
6
8
|
byType: Map<string, number[]>;
|
|
7
9
|
getTypeUpper: (type: string) => string;
|
|
8
10
|
indexedCount: number;
|
|
9
11
|
propertyAtomCount: number;
|
|
12
|
+
dropCensus: DropCensus;
|
|
10
13
|
spatialRefs: EntityRef[];
|
|
11
14
|
geometryRefs: EntityRef[];
|
|
12
15
|
relationshipRefs: EntityRef[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-entity-preparation.d.ts","sourceRoot":"","sources":["../src/columnar-entity-preparation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"columnar-entity-preparation.d.ts","sourceRoot":"","sources":["../src/columnar-entity-preparation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AASxE,OAAO,EAAmB,KAAK,UAAU,EAAqB,MAAM,kBAAkB,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG,SAAS,EAAE,GAAG,oBAAoB,CAAC;AAgBrE,wBAAgB,0BAA0B,IAAI,IAAI,CAYjD;AAED,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,sBAAsB,EAAE,OAAO,EAC/B,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;;yBASN,MAAM;;;;;;;;;;;;;;;GAkOnC"}
|
|
@@ -4,10 +4,38 @@
|
|
|
4
4
|
import { compactEntityIndexFromColumns } from './compact-entity-index-transport.js';
|
|
5
5
|
import { buildCompactEntityIndexAsync } from './compact-entity-index.js';
|
|
6
6
|
import { selectEntityColumns } from './select-entity-columns.js';
|
|
7
|
-
import { getInheritanceChain } from './ifc-schema.js';
|
|
7
|
+
import { getInheritanceChain, isKnownType } from './ifc-schema.js';
|
|
8
8
|
import { GEOMETRY_TYPES, SPATIAL_TYPES, HIERARCHY_REL_TYPES, PROPERTY_REL_TYPES, PROPERTY_ENTITY_TYPES, PROPERTY_CONTAINER_TYPES, ASSOCIATION_REL_TYPES, isIfcTypeLikeEntity, } from './columnar-parser-indexes.js';
|
|
9
|
+
import { buildDropCensus } from './drop-census.js';
|
|
10
|
+
// Fail loud, once, if the schema registry cannot derive IfcRoot descent at
|
|
11
|
+
// all — a broken/empty generated registry would otherwise make every
|
|
12
|
+
// `isSubtypeOfAny(upper, ROOT_TYPES)` check silently return false, and
|
|
13
|
+
// every non-product, non-group IfcRoot entity would fall to CAT_SKIP with
|
|
14
|
+
// no error (#4204). IFCWALL is a stand-in for "the registry loaded and its
|
|
15
|
+
// inheritance chain reaches the root at all", not a claim about walls
|
|
16
|
+
// specifically.
|
|
17
|
+
//
|
|
18
|
+
// Exported (only) so `test/root-derivation-guard-4204.test.ts` can call it
|
|
19
|
+
// directly against a mocked `ifc-schema.js` and prove the throw path
|
|
20
|
+
// actually fires — the module-level `rootDerivationVerified` latch means a
|
|
21
|
+
// real parse elsewhere in the same test file would otherwise make this a
|
|
22
|
+
// permanent no-op.
|
|
23
|
+
let rootDerivationVerified = false;
|
|
24
|
+
export function assertRootDerivationIsLive() {
|
|
25
|
+
if (rootDerivationVerified)
|
|
26
|
+
return;
|
|
27
|
+
const chain = getInheritanceChain('IFCWALL').map(c => c.toUpperCase());
|
|
28
|
+
if (!chain.includes('IFCROOT')) {
|
|
29
|
+
throw new Error('IfcRoot-descendant retention (#4204) derives from the schema registry, and its ' +
|
|
30
|
+
"sanity check failed: getInheritanceChain('IFCWALL') did not reach IFCROOT " +
|
|
31
|
+
`(got: [${chain.join(', ')}]). This would silently CAT_SKIP every IfcRoot ` +
|
|
32
|
+
'descendant instead of retaining it — refusing to parse rather than drop entities silently.');
|
|
33
|
+
}
|
|
34
|
+
rootDerivationVerified = true;
|
|
35
|
+
}
|
|
9
36
|
/** Shared categorization for scanned objects and pre-pass columns. #3985 */
|
|
10
37
|
export async function prepareColumnarEntities(input, deferPropertyAtomIndex, yieldIfNeeded) {
|
|
38
|
+
assertRootDerivationIsLive();
|
|
11
39
|
// Single pass: build byType index AND categorize entities simultaneously.
|
|
12
40
|
// Uses a type-name cache to avoid calling .toUpperCase() on 4.4M refs
|
|
13
41
|
// (only ~776 unique type names in IFC4).
|
|
@@ -39,14 +67,31 @@ export async function prepareColumnarEntities(input, deferPropertyAtomIndex, yie
|
|
|
39
67
|
'IFCCLASSIFICATION', 'IFCCLASSIFICATIONREFERENCE',
|
|
40
68
|
'IFCDOCUMENTINFORMATION', 'IFCDOCUMENTREFERENCE',
|
|
41
69
|
]);
|
|
42
|
-
// Schema-driven inclusion: every
|
|
43
|
-
// EntityTable. The previous
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
|
|
70
|
+
// Schema-driven inclusion: every IfcRoot descendant belongs in the
|
|
71
|
+
// EntityTable — not just IfcProduct subtypes. The previous rule tested
|
|
72
|
+
// IFCPRODUCT specifically plus an `IFCREL` name-prefix test, so anything
|
|
73
|
+
// rooted but neither a product nor named "IfcRel*" (IfcTask, IfcActor,
|
|
74
|
+
// IfcCostItem, IfcResource, IfcStructural*, IfcProjectLibrary,
|
|
75
|
+
// IfcPropertySetTemplate, …) fell through to CAT_SKIP and stayed
|
|
76
|
+
// unaddressable: `getGlobalId`/`getTypeName` answered '' / 'Unknown' for
|
|
77
|
+
// them (#4204).
|
|
78
|
+
//
|
|
79
|
+
// IfcRelationship is itself an IfcRoot subtype, so for every entity the
|
|
80
|
+
// schema registry actually knows, `isSubtypeOfAny(upper, ROOT_TYPES)`
|
|
81
|
+
// alone covers what the old `IFCREL` prefix test covered. But it does
|
|
82
|
+
// NOT fully subsume that test lexically: `IfcRelaxation` is a real
|
|
83
|
+
// IFC2X3 entity (a prestressing/material-property resource, not a
|
|
84
|
+
// relationship — `entities-ifc2x3.ts` records `parent: undefined,
|
|
85
|
+
// source: "Ifc2x3.MaterialPropertyResource"`) that happens to start
|
|
86
|
+
// with "IfcRel" and matched the old rule lexically without ever being
|
|
87
|
+
// an IfcRoot descendant. And any name absent from the bundled registry
|
|
88
|
+
// — a vendor extension such as `IfcRelSomethingCustom` — makes
|
|
89
|
+
// `getInheritanceChain` return `[]`, so the schema-derived check alone
|
|
90
|
+
// answers `false` for it even though the old lexical test retained it.
|
|
91
|
+
// Keep both: the schema-derived check for its added coverage, the
|
|
92
|
+
// `IFCREL` prefix as the safety net for names the registry can't
|
|
93
|
+
// resolve.
|
|
94
|
+
const ROOT_TYPES = new Set(['IFCROOT']);
|
|
50
95
|
// IfcGroup family (IfcZone, IfcSystem, IfcDistributionSystem,
|
|
51
96
|
// IfcBuildingSystem, IfcDistributionCircuit, …). These are NOT
|
|
52
97
|
// IfcProduct subtypes, so without an explicit branch they fall through
|
|
@@ -87,7 +132,7 @@ export async function prepareColumnarEntities(input, deferPropertyAtomIndex, yie
|
|
|
87
132
|
else if (isSubtypeOfAny(upper, GROUP_ROOTS))
|
|
88
133
|
cat = CAT_GROUP;
|
|
89
134
|
else if (RELEVANT_NON_PRODUCT_HELPERS.has(upper)
|
|
90
|
-
|| isSubtypeOfAny(upper,
|
|
135
|
+
|| isSubtypeOfAny(upper, ROOT_TYPES)
|
|
91
136
|
|| upper.startsWith('IFCREL'))
|
|
92
137
|
cat = CAT_RELEVANT;
|
|
93
138
|
else
|
|
@@ -110,12 +155,48 @@ export async function prepareColumnarEntities(input, deferPropertyAtomIndex, yie
|
|
|
110
155
|
const typeObjectRefs = [];
|
|
111
156
|
const otherRelevantRefs = [];
|
|
112
157
|
const groupRefs = [];
|
|
158
|
+
// Semantic drop census (#4208) accumulators. Labels mirror the CAT_*
|
|
159
|
+
// constants above by index — keep the two in sync.
|
|
160
|
+
const CAT_LABELS = [
|
|
161
|
+
'skip', 'spatial', 'geometry', 'hierarchy-rel', 'property-rel',
|
|
162
|
+
'property-entity', 'association-rel', 'type-object', 'relevant', 'group',
|
|
163
|
+
];
|
|
164
|
+
const censusScannedByType = new Map();
|
|
165
|
+
const censusCategoryByType = new Map();
|
|
166
|
+
const censusKnownByType = new Map();
|
|
167
|
+
const censusRootDescendantByType = new Map();
|
|
168
|
+
const censusRelSeenTypes = new Set();
|
|
169
|
+
const censusRelUnindexedTypes = new Set();
|
|
113
170
|
for (let i = 0; i < count; i++) {
|
|
114
171
|
if ((i & 0x3FF) === 0)
|
|
115
172
|
await yieldIfNeeded();
|
|
116
173
|
const type = refs ? refs[i].type : columns.typeStrings[columns.typeIndices[i]];
|
|
117
174
|
const id = refs ? refs[i].expressId : columns.expressIds[i];
|
|
118
175
|
const cat = getCategory(type);
|
|
176
|
+
// Every scanned record is counted for the drop census regardless of
|
|
177
|
+
// deferral or CAT_SKIP — a census that only sees what survived
|
|
178
|
+
// categorisation couldn't tell "dropped" from "never scanned".
|
|
179
|
+
const censusTypeKey = getTypeUpper(type);
|
|
180
|
+
const prevScanned = censusScannedByType.get(censusTypeKey);
|
|
181
|
+
if (prevScanned === undefined) {
|
|
182
|
+
censusScannedByType.set(censusTypeKey, 1);
|
|
183
|
+
censusCategoryByType.set(censusTypeKey, CAT_LABELS[cat]);
|
|
184
|
+
censusKnownByType.set(censusTypeKey, isKnownType(censusTypeKey));
|
|
185
|
+
// Same inheritance walk `isSubtypeOfAny` uses above, reused here to
|
|
186
|
+
// tell "a resource record with no GlobalId" (never IfcRoot) apart
|
|
187
|
+
// from "an entity with its own identity that still got dropped" —
|
|
188
|
+
// see ClassCensusEntry.isRootDescendant in drop-census.ts.
|
|
189
|
+
censusRootDescendantByType.set(censusTypeKey, getInheritanceChain(censusTypeKey).some(ancestor => ancestor.toUpperCase() === 'IFCROOT'));
|
|
190
|
+
if (censusTypeKey.startsWith('IFCREL')) {
|
|
191
|
+
censusRelSeenTypes.add(censusTypeKey);
|
|
192
|
+
if (cat !== CAT_HIERARCHY_REL && cat !== CAT_PROPERTY_REL && cat !== CAT_ASSOCIATION_REL) {
|
|
193
|
+
censusRelUnindexedTypes.add(censusTypeKey);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
censusScannedByType.set(censusTypeKey, prevScanned + 1);
|
|
199
|
+
}
|
|
119
200
|
const atom = cat === CAT_PROPERTY_ENTITY && !PROPERTY_CONTAINER_TYPES.has(getTypeUpper(type));
|
|
120
201
|
if (!deferPropertyAtomIndex || !atom) {
|
|
121
202
|
const typeKey = getTypeUpper(type);
|
|
@@ -166,8 +247,17 @@ export async function prepareColumnarEntities(input, deferPropertyAtomIndex, yie
|
|
|
166
247
|
const isPrimary = (type) => !deferPropertyAtomIndex
|
|
167
248
|
|| getCategory(type) !== CAT_PROPERTY_ENTITY || PROPERTY_CONTAINER_TYPES.has(getTypeUpper(type));
|
|
168
249
|
const indexedCount = count - (deferPropertyAtomIndex ? propertyAtomCount : 0);
|
|
250
|
+
const dropCensus = buildDropCensus({
|
|
251
|
+
scannedByType: censusScannedByType,
|
|
252
|
+
categoryByType: censusCategoryByType,
|
|
253
|
+
knownByType: censusKnownByType,
|
|
254
|
+
rootDescendantByType: censusRootDescendantByType,
|
|
255
|
+
alwaysRelevantTypes: RELEVANT_NON_PRODUCT_HELPERS,
|
|
256
|
+
relSeenTypes: censusRelSeenTypes,
|
|
257
|
+
relUnindexedTypes: censusRelUnindexedTypes,
|
|
258
|
+
});
|
|
169
259
|
return {
|
|
170
|
-
byType, getTypeUpper, indexedCount, propertyAtomCount,
|
|
260
|
+
byType, getTypeUpper, indexedCount, propertyAtomCount, dropCensus,
|
|
171
261
|
spatialRefs, geometryRefs, relationshipRefs, propertyRelRefs,
|
|
172
262
|
propertyContainerRefs, associationRelRefs, typeObjectRefs, otherRelevantRefs, groupRefs,
|
|
173
263
|
async buildPrimaryIndex() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-entity-preparation.js","sourceRoot":"","sources":["../src/columnar-entity-preparation.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAI/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"columnar-entity-preparation.js","sourceRoot":"","sources":["../src/columnar-entity-preparation.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,24 @@ export type EntityByIdIndex = {
|
|
|
22
22
|
[Symbol.iterator](): IterableIterator<[number, EntityRef]>;
|
|
23
23
|
};
|
|
24
24
|
export declare const GEOMETRY_TYPES: Set<string>;
|
|
25
|
-
export declare const RELATIONSHIP_TYPES: Set<string>;
|
|
26
25
|
export declare const REL_TYPE_MAP: Record<string, RelationshipType>;
|
|
26
|
+
/**
|
|
27
|
+
* A second, distinct edge recorded IN ADDITION TO the primary one above for
|
|
28
|
+
* the two IfcRelationship subtypes that {@link REL_TYPE_MAP} intentionally
|
|
29
|
+
* folds into a broader bucket for backward compatibility. Absent from this
|
|
30
|
+
* map means "no second edge" — every STEP keyword handled here still gets
|
|
31
|
+
* its primary edge from `REL_TYPE_MAP`. Consumed by the relationship-parsing
|
|
32
|
+
* loop in `columnar-parser.ts` right after the primary-edge loop.
|
|
33
|
+
*
|
|
34
|
+
* Keeping both a broad bucket (existing consumers keep working unchanged)
|
|
35
|
+
* and a precise one (a new consumer can ask for exactly this STEP class) is
|
|
36
|
+
* cheaper and lower-risk than migrating every existing Aggregates/AssignsToGroup
|
|
37
|
+
* consumer to also check the narrower type — see #4205, which named
|
|
38
|
+
* `spatial-hierarchy-builder.ts`, `decomposition.ts`, `owning-project.ts` and
|
|
39
|
+
* the IDS `partOf`/ancestors bridge as call sites that must keep seeing
|
|
40
|
+
* IfcRelNests through the Aggregates bucket.
|
|
41
|
+
*/
|
|
42
|
+
export declare const SECONDARY_REL_TYPE_MAP: Record<string, RelationshipType>;
|
|
27
43
|
export declare const QUANTITY_TYPE_MAP: Record<string, QuantityType>;
|
|
28
44
|
export declare const SPATIAL_TYPES: Set<string>;
|
|
29
45
|
export declare const HIERARCHY_REL_TYPES: Set<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-indexes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACH,gBAAgB,EAChB,YAAY,EACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC9D,CAAC;AAaF,eAAO,MAAM,cAAc,aAWzB,CAAC;AAIH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"columnar-parser-indexes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACH,gBAAgB,EAChB,YAAY,EACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC9D,CAAC;AAaF,eAAO,MAAM,cAAc,aAWzB,CAAC;AAIH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAkCzD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAGnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAS1D,CAAC;AAGF,eAAO,MAAM,aAAa,aAOxB,CAAC;AAGH,eAAO,MAAM,mBAAmB,aAqB9B,CAAC;AAGH,eAAO,MAAM,kBAAkB,aAE7B,CAAC;AAGH,eAAO,MAAM,qBAAqB,aAGhC,CAAC;AAGH,eAAO,MAAM,kBAAkB,aAAsH,CAAC;AAGtJ,eAAO,MAAM,qBAAqB,aAQhC,CAAC;AAEH,eAAO,MAAM,wBAAwB,aAGnC,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D"}
|
|
@@ -25,25 +25,6 @@ export const GEOMETRY_TYPES = new Set([
|
|
|
25
25
|
'IFCFLOWCONTROLLER', 'IFCFLOWFITTING', 'IFCSPACE', 'IFCOPENINGELEMENT',
|
|
26
26
|
'IFCSITE', 'IFCBUILDING', 'IFCBUILDINGSTOREY', 'IFCCOVERING',
|
|
27
27
|
]);
|
|
28
|
-
// IMPORTANT: This set MUST include ALL RelationshipType enum values to prevent semantic loss
|
|
29
|
-
// Missing types will be skipped during parsing, causing incomplete relationship graphs
|
|
30
|
-
export const RELATIONSHIP_TYPES = new Set([
|
|
31
|
-
'IFCRELCONTAINEDINSPATIALSTRUCTURE', 'IFCRELAGGREGATES',
|
|
32
|
-
'IFCRELDEFINESBYPROPERTIES', 'IFCRELDEFINESBYTYPE',
|
|
33
|
-
'IFCRELASSOCIATESMATERIAL', 'IFCRELASSOCIATESCLASSIFICATION',
|
|
34
|
-
'IFCRELASSOCIATESDOCUMENT',
|
|
35
|
-
'IFCRELVOIDSELEMENT', 'IFCRELFILLSELEMENT',
|
|
36
|
-
'IFCRELCONNECTSPATHELEMENTS', 'IFCRELCONNECTSELEMENTS',
|
|
37
|
-
'IFCRELCONNECTSPORTTOELEMENT', 'IFCRELCONNECTSPORTS',
|
|
38
|
-
'IFCRELSPACEBOUNDARY',
|
|
39
|
-
// IfcRelAssignsToGroupByFactor is a subtype of IfcRelAssignsToGroup
|
|
40
|
-
// (adds a proportional Factor attribute, e.g. zone occupancy share) and
|
|
41
|
-
// is written to STEP with its own distinct entity keyword — it does not
|
|
42
|
-
// match the 'IFCRELASSIGNSTOGROUP' string, so it needs its own entry or
|
|
43
|
-
// every membership assigned through it is silently invisible.
|
|
44
|
-
'IFCRELASSIGNSTOGROUP', 'IFCRELASSIGNSTOGROUPBYFACTOR', 'IFCRELASSIGNSTOPRODUCT',
|
|
45
|
-
'IFCRELREFERENCEDINSPATIALSTRUCTURE',
|
|
46
|
-
]);
|
|
47
28
|
// Map IFC relationship type strings to RelationshipType enum
|
|
48
29
|
// MUST cover ALL RelationshipType enum values (15 types total)
|
|
49
30
|
export const REL_TYPE_MAP = {
|
|
@@ -51,7 +32,11 @@ export const REL_TYPE_MAP = {
|
|
|
51
32
|
'IFCRELAGGREGATES': RelationshipType.Aggregates,
|
|
52
33
|
// IfcRelNests is semantically a decomposition relationship; map it
|
|
53
34
|
// onto the same edge bucket so partOf checks for either traverse
|
|
54
|
-
// the same graph.
|
|
35
|
+
// the same graph. This is the PRIMARY edge only — SECONDARY_REL_TYPE_MAP
|
|
36
|
+
// below also records every IfcRelNests edge under the distinct
|
|
37
|
+
// RelationshipType.Nests, so a caller that needs to tell "nested" apart
|
|
38
|
+
// from "aggregated" can, without disturbing anything that already reads
|
|
39
|
+
// the Aggregates bucket (#4205).
|
|
55
40
|
'IFCRELNESTS': RelationshipType.Aggregates,
|
|
56
41
|
'IFCRELDEFINESBYPROPERTIES': RelationshipType.DefinesByProperties,
|
|
57
42
|
'IFCRELDEFINESBYTYPE': RelationshipType.DefinesByType,
|
|
@@ -67,11 +52,36 @@ export const REL_TYPE_MAP = {
|
|
|
67
52
|
'IFCRELSPACEBOUNDARY': RelationshipType.SpaceBoundary,
|
|
68
53
|
'IFCRELASSIGNSTOGROUP': RelationshipType.AssignsToGroup,
|
|
69
54
|
// Subtype of IfcRelAssignsToGroup (adds a Factor); same RelatingGroup /
|
|
70
|
-
// RelatedObjects membership semantics, so it shares
|
|
55
|
+
// RelatedObjects membership semantics, so it shares this PRIMARY edge
|
|
56
|
+
// type — existing group-membership traversal (extractGroupMembersOnDemand,
|
|
57
|
+
// extractRelationshipsOnDemand) is unchanged. SECONDARY_REL_TYPE_MAP below
|
|
58
|
+
// also records it under the distinct RelationshipType.AssignsToGroupByFactor
|
|
59
|
+
// so a caller can tell it apart from a plain assignment and look its
|
|
60
|
+
// Factor value up on the relationship entity itself (#4205).
|
|
71
61
|
'IFCRELASSIGNSTOGROUPBYFACTOR': RelationshipType.AssignsToGroup,
|
|
72
62
|
'IFCRELASSIGNSTOPRODUCT': RelationshipType.AssignsToProduct,
|
|
73
63
|
'IFCRELREFERENCEDINSPATIALSTRUCTURE': RelationshipType.ReferencedInSpatialStructure,
|
|
74
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* A second, distinct edge recorded IN ADDITION TO the primary one above for
|
|
67
|
+
* the two IfcRelationship subtypes that {@link REL_TYPE_MAP} intentionally
|
|
68
|
+
* folds into a broader bucket for backward compatibility. Absent from this
|
|
69
|
+
* map means "no second edge" — every STEP keyword handled here still gets
|
|
70
|
+
* its primary edge from `REL_TYPE_MAP`. Consumed by the relationship-parsing
|
|
71
|
+
* loop in `columnar-parser.ts` right after the primary-edge loop.
|
|
72
|
+
*
|
|
73
|
+
* Keeping both a broad bucket (existing consumers keep working unchanged)
|
|
74
|
+
* and a precise one (a new consumer can ask for exactly this STEP class) is
|
|
75
|
+
* cheaper and lower-risk than migrating every existing Aggregates/AssignsToGroup
|
|
76
|
+
* consumer to also check the narrower type — see #4205, which named
|
|
77
|
+
* `spatial-hierarchy-builder.ts`, `decomposition.ts`, `owning-project.ts` and
|
|
78
|
+
* the IDS `partOf`/ancestors bridge as call sites that must keep seeing
|
|
79
|
+
* IfcRelNests through the Aggregates bucket.
|
|
80
|
+
*/
|
|
81
|
+
export const SECONDARY_REL_TYPE_MAP = {
|
|
82
|
+
'IFCRELNESTS': RelationshipType.Nests,
|
|
83
|
+
'IFCRELASSIGNSTOGROUPBYFACTOR': RelationshipType.AssignsToGroupByFactor,
|
|
84
|
+
};
|
|
75
85
|
export const QUANTITY_TYPE_MAP = {
|
|
76
86
|
'IFCQUANTITYLENGTH': QuantityType.Length,
|
|
77
87
|
'IFCQUANTITYAREA': QuantityType.Area,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-indexes.js","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EACH,gBAAgB,EAChB,YAAY,GACf,MAAM,gBAAgB,CAAC;AAmBxB,2CAA2C;AAC3C,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,0EAA0E;AAC1E,mEAAmE;AACnE,yEAAyE;AACzE,kEAAkE;AAClE,qEAAqE;AACrE,oEAAoE;AACpE,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAClC,YAAY;IACZ,qEAAqE;IACrE,mEAAmE;IACnE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;IACnE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB;IAC/D,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW;IACjE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,yBAAyB;IACpE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3D,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB;IACtE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa;CAC/D,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"columnar-parser-indexes.js","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { EntityRef } from './types.js';
|
|
8
8
|
import { type ColumnarEntityInput } from './columnar-entity-preparation.js';
|
|
9
|
+
import type { DropCensus } from './drop-census.js';
|
|
9
10
|
import { StringTable, EntityTableBuilder, PropertyTableBuilder, RelationshipGraphBuilder } from '@ifc-lite/data';
|
|
10
11
|
import type { QuantityTable, PropertyValue, IfcStoreBase } from '@ifc-lite/data';
|
|
11
12
|
import type { EntityByIdIndex } from './columnar-parser-indexes.js';
|
|
@@ -30,6 +31,14 @@ export interface IfcDataStore extends IfcStoreBase {
|
|
|
30
31
|
byType: Map<string, number[]>;
|
|
31
32
|
};
|
|
32
33
|
deferredEntityIndex?: EntityByIdIndex;
|
|
34
|
+
/**
|
|
35
|
+
* Semantic drop census (#4208): per-class scanned/retained counts, the
|
|
36
|
+
* classes the categoriser skipped, classes unknown to the schema
|
|
37
|
+
* registry, and IFCREL* classes seen but not indexed as relationship
|
|
38
|
+
* edges. Always present after a parse — its absence (not a zero count)
|
|
39
|
+
* is what means "the census did not run".
|
|
40
|
+
*/
|
|
41
|
+
dropCensus?: DropCensus;
|
|
33
42
|
strings: StringTable;
|
|
34
43
|
entities: ReturnType<EntityTableBuilder['build']>;
|
|
35
44
|
properties: ReturnType<PropertyTableBuilder['build']>;
|
|
@@ -164,7 +173,7 @@ export declare function extractQuantitiesOnDemand(store: IfcDataStore, entityId:
|
|
|
164
173
|
value: number;
|
|
165
174
|
}>;
|
|
166
175
|
}>;
|
|
167
|
-
export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
|
|
176
|
+
export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
|
|
168
177
|
export { mergeInheritedPropertySets, mergeInheritedQuantitySets } from './property-set-merge.js';
|
|
169
178
|
export type { ClassificationInfo, ClassificationSystemNames, MaterialInfo, MaterialLayerInfo, MaterialProfileInfo, MaterialConstituentInfo, MaterialPsetGroup, MaterialLeaf, MaterialUsage, TypePropertyInfo, TypeQuantityInfo, DocumentInfo, EntityRelationships, GroupMember, GeorefInfo, } from './on-demand-extractors.js';
|
|
170
179
|
//# sourceMappingURL=columnar-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser.d.ts","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"columnar-parser.d.ts","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/columnar-parser.js
CHANGED
|
@@ -11,7 +11,7 @@ import { yieldToEventLoop } from './yield-to-event-loop.js';
|
|
|
11
11
|
import { StringTable, EntityTableBuilder, PropertyTableBuilder, QuantityTableBuilder, RelationshipGraphBuilder, RelationshipType, } from '@ifc-lite/data';
|
|
12
12
|
import { BufferEntitySource } from './entity-source.js';
|
|
13
13
|
import { batchExtractGlobalIdAndName } from './columnar-parser-attributes.js';
|
|
14
|
-
import { REL_TYPE_MAP, } from './columnar-parser-indexes.js';
|
|
14
|
+
import { REL_TYPE_MAP, SECONDARY_REL_TYPE_MAP, } from './columnar-parser-indexes.js';
|
|
15
15
|
import { extractRelFast, extractPropertyRelFast } from './columnar-parser-relationships.js';
|
|
16
16
|
import { detectSchemaVersion, parseSourceHeader } from './source-header.js';
|
|
17
17
|
import { contiguousSourceBytes } from './source-bytes.js';
|
|
@@ -163,6 +163,17 @@ export async function parseColumnarInput(buffer, input, options = {}) {
|
|
|
163
163
|
relationshipGraphBuilder.addEdge(rel.relatingObject, targetId, relType, ref.expressId);
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
+
// A second, distinct edge for STEP classes REL_TYPE_MAP folds
|
|
167
|
+
// into a broader bucket (IfcRelNests -> also Nests,
|
|
168
|
+
// IfcRelAssignsToGroupByFactor -> also AssignsToGroupByFactor)
|
|
169
|
+
// so a caller can ask for exactly that class without losing
|
|
170
|
+
// any existing consumer of the broader one (#4205).
|
|
171
|
+
const secondaryRelType = SECONDARY_REL_TYPE_MAP[typeUpper];
|
|
172
|
+
if (secondaryRelType) {
|
|
173
|
+
for (const targetId of rel.relatedObjects) {
|
|
174
|
+
relationshipGraphBuilder.addEdge(rel.relatingObject, targetId, secondaryRelType, ref.expressId);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
166
177
|
}
|
|
167
178
|
}
|
|
168
179
|
logPhase('byte-level relationships');
|
|
@@ -242,6 +253,7 @@ export async function parseColumnarInput(buffer, input, options = {}) {
|
|
|
242
253
|
parseTime: performance.now() - startTime,
|
|
243
254
|
source,
|
|
244
255
|
entityIndex,
|
|
256
|
+
dropCensus: prepared.dropCensus,
|
|
245
257
|
strings,
|
|
246
258
|
entities: entityTable,
|
|
247
259
|
properties: propertyTable,
|
|
@@ -516,6 +528,6 @@ export function extractQuantitiesOnDemand(store, entityId) {
|
|
|
516
528
|
return parser.extractQuantitiesOnDemand(store, entityId);
|
|
517
529
|
}
|
|
518
530
|
// Re-export on-demand extraction functions from focused module
|
|
519
|
-
export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
|
|
531
|
+
export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
|
|
520
532
|
export { mergeInheritedPropertySets, mergeInheritedQuantitySets } from './property-set-merge.js';
|
|
521
533
|
//# sourceMappingURL=columnar-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser.js","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnar-parser.js","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IfcDataStore } from './columnar-parser.js';
|
|
2
|
+
import type { CostExtraction } from './cost-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Extract all costing data from a parsed IFC store.
|
|
5
|
+
*
|
|
6
|
+
* Walks every IfcCostItem / IfcCostSchedule / IfcRelNests /
|
|
7
|
+
* IfcRelAssignsToControl entity and assembles a connected CostExtraction.
|
|
8
|
+
*/
|
|
9
|
+
export declare function extractCostOnDemand(store: IfcDataStore): CostExtraction;
|
|
10
|
+
//# sourceMappingURL=cost-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost-extractor.d.ts","sourceRoot":"","sources":["../src/cost-extractor.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,iBAAiB,CAAC;AA6LzB;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,CA+IvE"}
|