@ifc-lite/parser 5.1.0 → 6.1.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/classification-resolver.d.ts.map +1 -1
- package/dist/classification-resolver.js +35 -10
- package/dist/classification-resolver.js.map +1 -1
- package/dist/columnar-entity-preparation.d.ts +25 -0
- package/dist/columnar-entity-preparation.d.ts.map +1 -0
- package/dist/columnar-entity-preparation.js +282 -0
- package/dist/columnar-entity-preparation.js.map +1 -0
- 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-root-attributes.d.ts +66 -0
- package/dist/columnar-parser-root-attributes.d.ts.map +1 -0
- package/dist/columnar-parser-root-attributes.js +245 -0
- package/dist/columnar-parser-root-attributes.js.map +1 -0
- package/dist/columnar-parser.d.ts +26 -63
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +384 -751
- package/dist/columnar-parser.js.map +1 -1
- package/dist/compact-entity-index-columns.d.ts +17 -0
- package/dist/compact-entity-index-columns.d.ts.map +1 -0
- package/dist/compact-entity-index-columns.js +15 -0
- package/dist/compact-entity-index-columns.js.map +1 -0
- package/dist/compact-entity-index-transport.d.ts +2 -12
- package/dist/compact-entity-index-transport.d.ts.map +1 -1
- package/dist/compact-entity-index-transport.js +1 -11
- package/dist/compact-entity-index-transport.js.map +1 -1
- package/dist/compact-entity-index.d.ts +6 -0
- package/dist/compact-entity-index.d.ts.map +1 -1
- package/dist/compact-entity-index.js +12 -20
- package/dist/compact-entity-index.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 +3 -2
- package/dist/data-store-transport.d.ts.map +1 -1
- package/dist/data-store-transport.js +10 -34
- 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-refs-from-index.d.ts +10 -0
- package/dist/entity-refs-from-index.d.ts.map +1 -1
- package/dist/entity-refs-from-index.js +52 -36
- package/dist/entity-refs-from-index.js.map +1 -1
- package/dist/entity-scanner.d.ts +5 -0
- package/dist/entity-scanner.d.ts.map +1 -1
- package/dist/entity-scanner.js +30 -12
- package/dist/entity-scanner.js.map +1 -1
- package/dist/entity-type-byte-interner.d.ts +12 -0
- package/dist/entity-type-byte-interner.d.ts.map +1 -0
- package/dist/entity-type-byte-interner.js +66 -0
- package/dist/entity-type-byte-interner.js.map +1 -0
- 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/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 +6 -0
- package/dist/ifczip.d.ts.map +1 -1
- package/dist/ifczip.js +20 -11
- package/dist/ifczip.js.map +1 -1
- package/dist/index.d.ts +10 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -7
- 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/parser.worker.d.ts +6 -3
- package/dist/parser.worker.d.ts.map +1 -1
- package/dist/parser.worker.js +24 -12
- package/dist/parser.worker.js.map +1 -1
- package/dist/prepass-source-fingerprint.d.ts +3 -0
- package/dist/prepass-source-fingerprint.d.ts.map +1 -0
- package/dist/prepass-source-fingerprint.js +13 -0
- package/dist/prepass-source-fingerprint.js.map +1 -0
- 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 +8 -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 +101 -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 +61 -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/select-entity-columns.d.ts +7 -0
- package/dist/select-entity-columns.d.ts.map +1 -0
- package/dist/select-entity-columns.js +43 -0
- package/dist/select-entity-columns.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 +6 -38
- package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
- package/dist/spatial-hierarchy-builder.js +48 -166
- package/dist/spatial-hierarchy-builder.js.map +1 -1
- package/dist/spatial-hierarchy-canonical-parent.d.ts +86 -0
- package/dist/spatial-hierarchy-canonical-parent.d.ts.map +1 -0
- package/dist/spatial-hierarchy-canonical-parent.js +212 -0
- package/dist/spatial-hierarchy-canonical-parent.js.map +1 -0
- 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 +108 -0
- package/dist/step-record-boundary.js.map +1 -0
- package/dist/step-record-boundary.vectors.d.ts +58 -0
- package/dist/step-record-boundary.vectors.d.ts.map +1 -0
- package/dist/step-record-boundary.vectors.js +80 -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 +75 -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/dist/worker-index-publication.d.ts +43 -0
- package/dist/worker-index-publication.d.ts.map +1 -0
- package/dist/worker-index-publication.js +129 -0
- package/dist/worker-index-publication.js.map +1 -0
- package/dist/worker-parser.d.ts +5 -2
- package/dist/worker-parser.d.ts.map +1 -1
- package/dist/worker-parser.js +22 -10
- package/dist/worker-parser.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-store-transport.d.ts","sourceRoot":"","sources":["../src/data-store-transport.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"data-store-transport.d.ts","sourceRoot":"","sources":["../src/data-store-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* toTransport serializes columns; fromTransport rebuilds their closures.
|
|
7
7
|
* Source bytes stay in the shared buffer, supplied separately by the receiver.
|
|
8
8
|
*/
|
|
9
|
-
import { StringTable, entityTableFromColumns, entityTableToColumns, propertyTableFromColumns, propertyTableToColumns, quantityTableFromColumns, quantityTableToColumns, relationshipGraphFromColumns, relationshipGraphToColumns, findStoreyByElevation, } from '@ifc-lite/data';
|
|
9
|
+
import { StringTable, entityTableFromColumns, entityTableToColumns, propertyTableFromColumns, propertyTableToColumns, quantityTableFromColumns, quantityTableToColumns, relationshipGraphFromColumns, relationshipGraphToColumns, findStoreyByElevation, spatialLookups, } from '@ifc-lite/data';
|
|
10
10
|
import { CompactEntityIndex } from './compact-entity-index.js';
|
|
11
11
|
import { compactEntityIndexFromColumns, compactEntityIndexToColumns, } from './compact-entity-index-transport.js';
|
|
12
12
|
import { asSourceBytes } from './source-bytes.js';
|
|
@@ -47,6 +47,7 @@ export function spatialHierarchyToColumns(hierarchy) {
|
|
|
47
47
|
elementToContainer: hierarchy.elementToContainer
|
|
48
48
|
? [...hierarchy.elementToContainer.entries()]
|
|
49
49
|
: undefined,
|
|
50
|
+
ambiguousStorey: hierarchy.ambiguousStorey ? [...hierarchy.ambiguousStorey] : undefined, // #4311
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
export function spatialHierarchyFromColumns(columns) {
|
|
@@ -61,15 +62,7 @@ export function spatialHierarchyFromColumns(columns) {
|
|
|
61
62
|
const elementToContainer = columns.elementToContainer
|
|
62
63
|
? new Map(columns.elementToContainer)
|
|
63
64
|
: undefined;
|
|
64
|
-
|
|
65
|
-
// queries. Only this direction is shipped over the wire because it is
|
|
66
|
-
// O(unique-spaces) and trivially derivable from `bySpace`.
|
|
67
|
-
const elementToSpace = new Map();
|
|
68
|
-
for (const [spaceId, elementIds] of bySpace) {
|
|
69
|
-
for (const elementId of elementIds) {
|
|
70
|
-
elementToSpace.set(elementId, spaceId);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
65
|
+
const ambiguousStorey = columns.ambiguousStorey ? new Set(columns.ambiguousStorey) : undefined; // #4311
|
|
73
66
|
return {
|
|
74
67
|
project,
|
|
75
68
|
byStorey,
|
|
@@ -80,6 +73,7 @@ export function spatialHierarchyFromColumns(columns) {
|
|
|
80
73
|
storeyHeights,
|
|
81
74
|
elementToStorey,
|
|
82
75
|
elementToContainer,
|
|
76
|
+
ambiguousStorey, // #4311
|
|
83
77
|
getStoreyElements(storeyId) {
|
|
84
78
|
return byStorey.get(storeyId) ?? [];
|
|
85
79
|
},
|
|
@@ -90,25 +84,7 @@ export function spatialHierarchyFromColumns(columns) {
|
|
|
90
84
|
// worker boundary.
|
|
91
85
|
return findStoreyByElevation(storeyElevations, z);
|
|
92
86
|
},
|
|
93
|
-
|
|
94
|
-
return elementToSpace.get(elementId) ?? null;
|
|
95
|
-
},
|
|
96
|
-
getPath(elementId) {
|
|
97
|
-
const path = [];
|
|
98
|
-
const walk = (node) => {
|
|
99
|
-
path.push(node);
|
|
100
|
-
if (node.elements.includes(elementId))
|
|
101
|
-
return true;
|
|
102
|
-
for (const child of node.children) {
|
|
103
|
-
if (walk(child))
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
path.pop();
|
|
107
|
-
return false;
|
|
108
|
-
};
|
|
109
|
-
walk(project);
|
|
110
|
-
return path;
|
|
111
|
-
},
|
|
87
|
+
...spatialLookups(project, bySpace, elementToContainer),
|
|
112
88
|
};
|
|
113
89
|
}
|
|
114
90
|
/**
|
|
@@ -212,9 +188,9 @@ function sumBytes(payload) {
|
|
|
212
188
|
* thread both view the same upstream `SharedArrayBuffer`. Callers must
|
|
213
189
|
* reattach `source` on the receiving side when calling `fromTransport`.
|
|
214
190
|
*/
|
|
215
|
-
export function toTransport(store) {
|
|
191
|
+
export function toTransport(store, indexOverride) {
|
|
216
192
|
const byTypeEntries = [];
|
|
217
|
-
for (const [key, value] of store.entityIndex.byType) {
|
|
193
|
+
for (const [key, value] of indexOverride ? [] : store.entityIndex.byType) {
|
|
218
194
|
byTypeEntries.push([key, [...value]]);
|
|
219
195
|
}
|
|
220
196
|
const compactById = store.entityIndex.byId;
|
|
@@ -228,7 +204,7 @@ export function toTransport(store) {
|
|
|
228
204
|
entityCount: store.entityCount,
|
|
229
205
|
parseTime: store.parseTime,
|
|
230
206
|
lengthUnitScale: store.lengthUnitScale,
|
|
231
|
-
entityIndex: {
|
|
207
|
+
entityIndex: indexOverride ?? {
|
|
232
208
|
byId: compactEntityIndexToColumns(compactById),
|
|
233
209
|
byType: byTypeEntries,
|
|
234
210
|
},
|
|
@@ -266,14 +242,14 @@ export function toTransport(store) {
|
|
|
266
242
|
* `DataStoreTransport` payload and the `source` buffer view that lives on
|
|
267
243
|
* the receiving thread.
|
|
268
244
|
*/
|
|
269
|
-
export function fromTransport(payload, source) {
|
|
245
|
+
export function fromTransport(payload, source, byTypeOverride) {
|
|
270
246
|
const strings = StringTable.fromArray(payload.strings);
|
|
271
247
|
const entities = entityTableFromColumns(payload.entities, strings);
|
|
272
248
|
const properties = propertyTableFromColumns(payload.properties, strings);
|
|
273
249
|
const quantities = quantityTableFromColumns(payload.quantities, strings);
|
|
274
250
|
const relationships = relationshipGraphFromColumns(payload.relationships);
|
|
275
251
|
const byIdIndex = compactEntityIndexFromColumns(payload.entityIndex.byId);
|
|
276
|
-
const byType = new Map(payload.entityIndex.byType.map(([k, v]) => [k, [...v]]));
|
|
252
|
+
const byType = byTypeOverride ?? new Map(payload.entityIndex.byType.map(([k, v]) => [k, [...v]]));
|
|
277
253
|
const deferredEntityIndex = payload.deferredEntityIndex
|
|
278
254
|
? compactEntityIndexFromColumns(payload.deferredEntityIndex)
|
|
279
255
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-store-transport.js","sourceRoot":"","sources":["../src/data-store-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-store-transport.js","sourceRoot":"","sources":["../src/data-store-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic drop census (#4208).
|
|
3
|
+
*
|
|
4
|
+
* The TypeScript parser categorises every scanned STEP record into one of a
|
|
5
|
+
* fixed set of buckets (`columnar-parser.ts`'s `CAT_*` constants). Anything
|
|
6
|
+
* that lands in `CAT_SKIP` never enters the `EntityTable`, the property
|
|
7
|
+
* graph, or the relationship graph — it is retrievable by expressId (it is
|
|
8
|
+
* still indexed in `byType`/`byId`) but semantically invisible everywhere
|
|
9
|
+
* else. Nothing previously counted how many records fell into that bucket,
|
|
10
|
+
* or which classes they were, so a schema-registry gap (a new IFC4x3 class,
|
|
11
|
+
* a vendor extension, a typo'd keyword) silently disappeared with no signal
|
|
12
|
+
* anywhere in the loader.
|
|
13
|
+
*
|
|
14
|
+
* This module turns the per-record category the parser already computes
|
|
15
|
+
* into a report: how many records were scanned per class, how many were
|
|
16
|
+
* retained, which classes were skipped, which classes weren't even
|
|
17
|
+
* recognised by the schema registry, and which `IFCREL*` classes were seen
|
|
18
|
+
* on the wire but never routed into a relationship-graph bucket.
|
|
19
|
+
*
|
|
20
|
+
* `buildDropCensus` is a pure function over already-collected counts so it
|
|
21
|
+
* can be unit-tested without parsing a real file, and so a completed parse
|
|
22
|
+
* can never fail to attach one silently: the caller either has counts (and
|
|
23
|
+
* calls this) or has nothing to report (and must say so explicitly, not by
|
|
24
|
+
* omission) — see `IfcDataStore.dropCensus` in `columnar-parser.ts`.
|
|
25
|
+
*/
|
|
26
|
+
/** The parser's semantic retention categories, as stable string labels. */
|
|
27
|
+
export type DropCategory = 'skip' | 'spatial' | 'geometry' | 'hierarchy-rel' | 'property-rel' | 'property-entity' | 'association-rel' | 'type-object' | 'relevant' | 'group';
|
|
28
|
+
export interface ClassCensusEntry {
|
|
29
|
+
/** Uppercase STEP keyword, e.g. `IFCWALL`. */
|
|
30
|
+
type: string;
|
|
31
|
+
/** Records of this class encountered while scanning the file. */
|
|
32
|
+
scanned: number;
|
|
33
|
+
/** Records of this class that entered a downstream table/graph (0 for `skip`). */
|
|
34
|
+
retained: number;
|
|
35
|
+
category: DropCategory;
|
|
36
|
+
/** Whether the type is recognised by the bundled IFC2X3/IFC4/IFC4X3 schema registry. */
|
|
37
|
+
knownInSchema: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the type's EXPRESS inheritance chain includes `IfcRoot` — i.e.
|
|
40
|
+
* whether instances of this class carry a `GlobalId` and are addressable
|
|
41
|
+
* as first-class entities. Geometry/placement/style resource classes
|
|
42
|
+
* (`IfcCartesianPoint`, `IfcAxis2Placement3D`, `IfcIndexedPolygonalFace`,
|
|
43
|
+
* …) are never `IfcRoot` descendants and are *expected* to fall to
|
|
44
|
+
* `CAT_SKIP` on every real IFC file — tessellated geometry alone can
|
|
45
|
+
* outnumber every other record in the file. An `IfcRoot` descendant
|
|
46
|
+
* falling to `CAT_SKIP` is a different story: it has an identity the
|
|
47
|
+
* model author gave it, and dropping it is the kind of regression this
|
|
48
|
+
* census exists to catch (see the `skipped-class` vs
|
|
49
|
+
* `skipped-class-expected` split this field drives in
|
|
50
|
+
* `@ifc-lite/mcp`'s `validation.ts` and `@ifc-lite/cli`'s `info.ts`).
|
|
51
|
+
*/
|
|
52
|
+
isRootDescendant: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface DropCensus {
|
|
55
|
+
/**
|
|
56
|
+
* Always `true` when this object exists. Distinguishes "the census ran
|
|
57
|
+
* and found nothing" (an object with `ran: true`, `totalScanned > 0`,
|
|
58
|
+
* empty drop lists) from "the census never ran" (the field is absent) —
|
|
59
|
+
* callers must check for the field's presence, not just its contents.
|
|
60
|
+
*/
|
|
61
|
+
ran: true;
|
|
62
|
+
totalScanned: number;
|
|
63
|
+
totalRetained: number;
|
|
64
|
+
totalSkipped: number;
|
|
65
|
+
/** Every class seen, scanned-count descending. */
|
|
66
|
+
byClass: ClassCensusEntry[];
|
|
67
|
+
/** Subset of `byClass` with category `skip`. */
|
|
68
|
+
skippedClasses: ClassCensusEntry[];
|
|
69
|
+
/**
|
|
70
|
+
* Subset of `skippedClasses` that are NOT `IfcRoot` descendants — records
|
|
71
|
+
* with no `GlobalId` (geometry, placement, and style resources). This
|
|
72
|
+
* bucket fires on essentially every real IFC file and is not, by itself,
|
|
73
|
+
* evidence of a problem.
|
|
74
|
+
*/
|
|
75
|
+
expectedSkippedClasses: ClassCensusEntry[];
|
|
76
|
+
/**
|
|
77
|
+
* Subset of `skippedClasses` that ARE `IfcRoot` descendants — a class
|
|
78
|
+
* with its own identity (`GlobalId`) that nonetheless never entered the
|
|
79
|
+
* entity table. This is the subset worth alarming on: it is the shape of
|
|
80
|
+
* the #4208 `IfcCovering`-fell-out-of-`GEOMETRY_TYPES` incident
|
|
81
|
+
* (documented in `columnar-entity-preparation.ts`), not universal
|
|
82
|
+
* tessellation noise.
|
|
83
|
+
*/
|
|
84
|
+
unexpectedSkippedClasses: ClassCensusEntry[];
|
|
85
|
+
/** Subset of `byClass` not recognised by the schema registry at all. */
|
|
86
|
+
unknownClasses: ClassCensusEntry[];
|
|
87
|
+
/** Count of distinct `IFCREL*` classes seen on the wire. */
|
|
88
|
+
relClassesSeen: number;
|
|
89
|
+
/** Count of distinct `IFCREL*` classes routed into a relationship-graph bucket. */
|
|
90
|
+
relClassesIndexed: number;
|
|
91
|
+
/** `IFCREL*` classes seen but never indexed as a relationship-graph edge. */
|
|
92
|
+
unindexedRelClasses: ClassCensusEntry[];
|
|
93
|
+
}
|
|
94
|
+
export interface DropCensusInput {
|
|
95
|
+
/** Records scanned, keyed by uppercase STEP type. */
|
|
96
|
+
scannedByType: Map<string, number>;
|
|
97
|
+
/** Retention category assigned to each uppercase STEP type. */
|
|
98
|
+
categoryByType: Map<string, DropCategory>;
|
|
99
|
+
/** Whether each uppercase STEP type is known to the schema registry. */
|
|
100
|
+
knownByType: Map<string, boolean>;
|
|
101
|
+
/**
|
|
102
|
+
* Whether each uppercase STEP type's inheritance chain includes
|
|
103
|
+
* `IfcRoot`. Drives the `expectedSkippedClasses` /
|
|
104
|
+
* `unexpectedSkippedClasses` split — see {@link ClassCensusEntry.isRootDescendant}.
|
|
105
|
+
*/
|
|
106
|
+
rootDescendantByType: Map<string, boolean>;
|
|
107
|
+
/**
|
|
108
|
+
* Uppercase STEP types the categoriser explicitly intends to retain
|
|
109
|
+
* even though they are not `IfcProduct`/`IfcRoot` descendants — e.g.
|
|
110
|
+
* `columnar-entity-preparation.ts`'s `RELEVANT_NON_PRODUCT_HELPERS`
|
|
111
|
+
* (`IFCMATERIAL`, `IFCSIUNIT`, `IFCCLASSIFICATION`, …). None of these
|
|
112
|
+
* reach `IfcRoot` in the schema's inheritance chain, so on
|
|
113
|
+
* `isRootDescendant` alone a regression that dropped one of them from
|
|
114
|
+
* that set would compute `isRootDescendant: false` and land in
|
|
115
|
+
* `expectedSkippedClasses` at `info` severity — indistinguishable from
|
|
116
|
+
* routine geometry/placement noise. Membership here means "the code
|
|
117
|
+
* intends to retain this class regardless of root-descendancy", so a
|
|
118
|
+
* skip is `unexpectedSkippedClasses` regardless of that check. Passing
|
|
119
|
+
* the set the categoriser already maintains (rather than a second,
|
|
120
|
+
* separately-hand-maintained list here) keeps the two in sync by
|
|
121
|
+
* construction.
|
|
122
|
+
*/
|
|
123
|
+
alwaysRelevantTypes: Set<string>;
|
|
124
|
+
/** Distinct `IFCREL*` uppercase types seen. */
|
|
125
|
+
relSeenTypes: Set<string>;
|
|
126
|
+
/** Distinct `IFCREL*` uppercase types seen but not indexed as an edge. */
|
|
127
|
+
relUnindexedTypes: Set<string>;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Build a `DropCensus` from counts collected during a parse. Pure and
|
|
131
|
+
* total: an empty `scannedByType` produces a census with `totalScanned: 0`
|
|
132
|
+
* and empty lists — still `ran: true` — rather than throwing or returning
|
|
133
|
+
* nothing, so "examined zero records" is always reported honestly.
|
|
134
|
+
*/
|
|
135
|
+
export declare function buildDropCensus(input: DropCensusInput): DropCensus;
|
|
136
|
+
//# sourceMappingURL=drop-census.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-census.d.ts","sourceRoot":"","sources":["../src/drop-census.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAClB,MAAM,GACN,SAAS,GACT,UAAU,GACV,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,UAAU,GACV,OAAO,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC7B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,wFAAwF;IACxF,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;;OAaG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACvB;;;;;OAKG;IACH,GAAG,EAAE,IAAI,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,gDAAgD;IAChD,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC;;;;;OAKG;IACH,sBAAsB,EAAE,gBAAgB,EAAE,CAAC;IAC3C;;;;;;;OAOG;IACH,wBAAwB,EAAE,gBAAgB,EAAE,CAAC;IAC7C,wEAAwE;IACxE,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC5B,qDAAqD;IACrD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,+DAA+D;IAC/D,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,wEAAwE;IACxE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;;;OAIG;IACH,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,+CAA+C;IAC/C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,0EAA0E;IAC1E,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAgDlE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
* Build a `DropCensus` from counts collected during a parse. Pure and
|
|
6
|
+
* total: an empty `scannedByType` produces a census with `totalScanned: 0`
|
|
7
|
+
* and empty lists — still `ran: true` — rather than throwing or returning
|
|
8
|
+
* nothing, so "examined zero records" is always reported honestly.
|
|
9
|
+
*/
|
|
10
|
+
export function buildDropCensus(input) {
|
|
11
|
+
const byClass = [];
|
|
12
|
+
let totalScanned = 0;
|
|
13
|
+
let totalSkipped = 0;
|
|
14
|
+
for (const [type, scanned] of input.scannedByType) {
|
|
15
|
+
const category = input.categoryByType.get(type) ?? 'skip';
|
|
16
|
+
const retained = category === 'skip' ? 0 : scanned;
|
|
17
|
+
totalScanned += scanned;
|
|
18
|
+
if (category === 'skip')
|
|
19
|
+
totalSkipped += scanned;
|
|
20
|
+
byClass.push({
|
|
21
|
+
type,
|
|
22
|
+
scanned,
|
|
23
|
+
retained,
|
|
24
|
+
category,
|
|
25
|
+
knownInSchema: input.knownByType.get(type) ?? false,
|
|
26
|
+
isRootDescendant: input.rootDescendantByType.get(type) ?? false,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
byClass.sort((a, b) => b.scanned - a.scanned || a.type.localeCompare(b.type));
|
|
30
|
+
const skippedClasses = byClass.filter(c => c.category === 'skip');
|
|
31
|
+
// A class is "unexpected" if it's an IfcRoot descendant OR the
|
|
32
|
+
// categoriser explicitly intends to retain it (alwaysRelevantTypes) —
|
|
33
|
+
// see the field doc on DropCensusInput.alwaysRelevantTypes.
|
|
34
|
+
const expectedSkippedClasses = skippedClasses.filter(c => !c.isRootDescendant && !input.alwaysRelevantTypes.has(c.type));
|
|
35
|
+
const unexpectedSkippedClasses = skippedClasses.filter(c => c.isRootDescendant || input.alwaysRelevantTypes.has(c.type));
|
|
36
|
+
const unknownClasses = byClass.filter(c => !c.knownInSchema);
|
|
37
|
+
const unindexedRelClasses = byClass.filter(c => input.relUnindexedTypes.has(c.type));
|
|
38
|
+
return {
|
|
39
|
+
ran: true,
|
|
40
|
+
totalScanned,
|
|
41
|
+
totalRetained: totalScanned - totalSkipped,
|
|
42
|
+
totalSkipped,
|
|
43
|
+
byClass,
|
|
44
|
+
skippedClasses,
|
|
45
|
+
expectedSkippedClasses,
|
|
46
|
+
unexpectedSkippedClasses,
|
|
47
|
+
unknownClasses,
|
|
48
|
+
relClassesSeen: input.relSeenTypes.size,
|
|
49
|
+
relClassesIndexed: input.relSeenTypes.size - input.relUnindexedTypes.size,
|
|
50
|
+
unindexedRelClasses,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=drop-census.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-census.js","sourceRoot":"","sources":["../src/drop-census.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAiJ/D;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAsB;IAClD,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAC1D,MAAM,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACnD,YAAY,IAAI,OAAO,CAAC;QACxB,IAAI,QAAQ,KAAK,MAAM;YAAE,YAAY,IAAI,OAAO,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC;YACT,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK;YACnD,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK;SAClE,CAAC,CAAC;IACP,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAClE,+DAA+D;IAC/D,sEAAsE;IACtE,4DAA4D;IAC5D,MAAM,sBAAsB,GAAG,cAAc,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CACrE,CAAC;IACF,MAAM,wBAAwB,GAAG,cAAc,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CACnE,CAAC;IACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAErF,OAAO;QACH,GAAG,EAAE,IAAI;QACT,YAAY;QACZ,aAAa,EAAE,YAAY,GAAG,YAAY;QAC1C,YAAY;QACZ,OAAO;QACP,cAAc;QACd,sBAAsB;QACtB,wBAAwB;QACxB,cAAc;QACd,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI;QACvC,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI;QACzE,mBAAmB;KACtB,CAAC;AACN,CAAC"}
|
|
@@ -14,6 +14,16 @@
|
|
|
14
14
|
* allocate one JS string per unique type.
|
|
15
15
|
*/
|
|
16
16
|
import type { EntityRef } from './types.js';
|
|
17
|
+
import type { CompactEntityIndexColumns } from './compact-entity-index-transport.js';
|
|
17
18
|
import { type IfcSourceBytes } from './source-bytes.js';
|
|
19
|
+
/** Scan-time type IDs retain every spelling before compact-index narrowing. */
|
|
20
|
+
export type ScannedEntityColumns = Omit<CompactEntityIndexColumns, 'typeIndices'> & {
|
|
21
|
+
typeIndices: Uint16Array | Uint32Array;
|
|
22
|
+
};
|
|
18
23
|
export declare function buildEntityRefsFromIndex(source: Uint8Array | IfcSourceBytes, ids: Uint32Array, starts: Uint32Array, lengths: Uint32Array): EntityRef[];
|
|
24
|
+
/** #3985: retain columns instead of allocating a helper object for every record.
|
|
25
|
+
* Own the output: callers may mutate/release their pre-pass columns after scan.
|
|
26
|
+
* The public EntityRef[] adapter above uses exactly the same lexical walk.
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildEntityColumnsFromIndex(source: Uint8Array | IfcSourceBytes, ids: Uint32Array, starts: Uint32Array, lengths: Uint32Array): ScannedEntityColumns;
|
|
19
29
|
//# sourceMappingURL=entity-refs-from-index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-refs-from-index.d.ts","sourceRoot":"","sources":["../src/entity-refs-from-index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-refs-from-index.d.ts","sourceRoot":"","sources":["../src/entity-refs-from-index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEvE,+EAA+E;AAC/E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,GAAG;IAClF,WAAW,EAAE,WAAW,GAAG,WAAW,CAAC;CACxC,CAAC;AAwGF,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,GACnB,SAAS,EAAE,CAMb;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,GACnB,oBAAoB,CAuBtB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
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 { EntityTypeByteInterner } from './entity-type-byte-interner.js';
|
|
4
5
|
import { asSourceBytes } from './source-bytes.js';
|
|
5
6
|
const EQ = 0x3d;
|
|
6
7
|
const LPAREN = 0x28;
|
|
@@ -15,17 +16,8 @@ const CR = 0x0d;
|
|
|
15
16
|
// correctly -- same rule, two byte sets, one wrong answer.
|
|
16
17
|
const FORM_FEED = 0x0c;
|
|
17
18
|
const VTAB = 0x0b;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// ASCII string from a byte range without allocating an intermediate
|
|
21
|
-
// typed-array slice. Type names are ≤ ~30 chars so the loop is tight.
|
|
22
|
-
let s = '';
|
|
23
|
-
for (let i = start; i < end; i++) {
|
|
24
|
-
s += String.fromCharCode(bytes[i]);
|
|
25
|
-
}
|
|
26
|
-
return s;
|
|
27
|
-
}
|
|
28
|
-
export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
19
|
+
/** The shared record walk owns validation, stable ordering and type lexing. */
|
|
20
|
+
function visitEntityIndex(source, ids, starts, lengths, visit) {
|
|
29
21
|
const bytes = asSourceBytes(source);
|
|
30
22
|
const n = ids.length;
|
|
31
23
|
// Fail fast on malformed input from the transport layer rather than
|
|
@@ -38,8 +30,8 @@ export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
|
38
30
|
throw new Error(`buildEntityRefsFromIndex: column-length mismatch (ids=${n}, starts=${starts.length}, lengths=${lengths.length}); pre-pass entity-index is corrupted`);
|
|
39
31
|
}
|
|
40
32
|
const sourceLen = bytes.byteLength;
|
|
41
|
-
const
|
|
42
|
-
const
|
|
33
|
+
const intern = new EntityTypeByteInterner();
|
|
34
|
+
const contiguous = source instanceof Uint8Array ? source : undefined;
|
|
43
35
|
// Current pre-pass columns are already ID-ordered (#1682). Only allocate
|
|
44
36
|
// and sort a permutation for producers that actually send unsorted IDs.
|
|
45
37
|
// Keep equal IDs in their input order, matching the stable typed-array sort.
|
|
@@ -62,13 +54,13 @@ export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
|
62
54
|
if (start > sourceLen || start + len > sourceLen) {
|
|
63
55
|
throw new Error(`buildEntityRefsFromIndex: out-of-bounds span at index ${i} (id=${ids[i]}, start=${start}, len=${len}, source=${sourceLen})`);
|
|
64
56
|
}
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
const record = bytes.slice(start, start + len);
|
|
69
|
-
const limit = record.length;
|
|
57
|
+
// The parser already supplies a contiguous view. Keep offsets in that
|
|
58
|
+
// view to avoid constructing one temporary subarray per record. Blocked
|
|
59
|
+
// source accessors retain their existing one-record read pattern.
|
|
60
|
+
const record = contiguous ?? bytes.slice(start, start + len);
|
|
61
|
+
const limit = contiguous ? start + len : record.length;
|
|
70
62
|
// Skip past `#<digits>=` to find the type token.
|
|
71
|
-
let p = 0;
|
|
63
|
+
let p = contiguous ? start : 0;
|
|
72
64
|
while (p < limit && record[p] !== EQ)
|
|
73
65
|
p++;
|
|
74
66
|
p++;
|
|
@@ -77,6 +69,7 @@ export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
|
77
69
|
|| record[p] === FORM_FEED || record[p] === VTAB))
|
|
78
70
|
p++;
|
|
79
71
|
const typeStart = p;
|
|
72
|
+
let typeHash = 0x811c9dc5;
|
|
80
73
|
while (p < limit
|
|
81
74
|
&& record[p] !== LPAREN
|
|
82
75
|
&& record[p] !== SPACE
|
|
@@ -84,26 +77,49 @@ export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
|
84
77
|
&& record[p] !== LF
|
|
85
78
|
&& record[p] !== CR
|
|
86
79
|
&& record[p] !== FORM_FEED
|
|
87
|
-
&& record[p] !== VTAB)
|
|
80
|
+
&& record[p] !== VTAB) {
|
|
81
|
+
typeHash = Math.imul(typeHash ^ record[p], 0x01000193);
|
|
88
82
|
p++;
|
|
89
|
-
const typeEnd = p;
|
|
90
|
-
const key = bytesToAsciiKey(record, typeStart, typeEnd);
|
|
91
|
-
let interned = intern.get(key);
|
|
92
|
-
if (interned === undefined) {
|
|
93
|
-
intern.set(key, key);
|
|
94
|
-
interned = key;
|
|
95
83
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
byteOffset: start,
|
|
100
|
-
byteLength: len,
|
|
101
|
-
// Line numbers aren't computed here — the columnar parser only uses
|
|
102
|
-
// them in diagnostic output. Skipping the newline-counting pass saves
|
|
103
|
-
// ~500 ms on 14 M entities. Set to 0 as a sentinel "unknown".
|
|
104
|
-
lineNumber: 0,
|
|
105
|
-
};
|
|
84
|
+
const typeEnd = p;
|
|
85
|
+
const interned = intern.intern(record, typeStart, typeEnd, typeHash);
|
|
86
|
+
visit(oi, ids[i], interned, start, len);
|
|
106
87
|
}
|
|
88
|
+
}
|
|
89
|
+
export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
90
|
+
const refs = new Array(ids.length);
|
|
91
|
+
visitEntityIndex(source, ids, starts, lengths, (row, expressId, type, byteOffset, byteLength) => {
|
|
92
|
+
refs[row] = { expressId, type, byteOffset, byteLength, lineNumber: 0 };
|
|
93
|
+
});
|
|
107
94
|
return refs;
|
|
108
95
|
}
|
|
96
|
+
/** #3985: retain columns instead of allocating a helper object for every record.
|
|
97
|
+
* Own the output: callers may mutate/release their pre-pass columns after scan.
|
|
98
|
+
* The public EntityRef[] adapter above uses exactly the same lexical walk.
|
|
99
|
+
*/
|
|
100
|
+
export function buildEntityColumnsFromIndex(source, ids, starts, lengths) {
|
|
101
|
+
const expressIds = new Uint32Array(ids.length);
|
|
102
|
+
const byteOffsets = new Uint32Array(ids.length);
|
|
103
|
+
const byteLengths = new Uint32Array(ids.length);
|
|
104
|
+
let typeIndices = new Uint16Array(ids.length);
|
|
105
|
+
const typeStrings = [];
|
|
106
|
+
const types = new Map();
|
|
107
|
+
visitEntityIndex(source, ids, starts, lengths, (row, id, type, start, length) => {
|
|
108
|
+
let typeIndex = types.get(type);
|
|
109
|
+
if (typeIndex === undefined) {
|
|
110
|
+
typeIndex = typeStrings.length;
|
|
111
|
+
typeStrings.push(type);
|
|
112
|
+
types.set(type, typeIndex);
|
|
113
|
+
// Unrecognized type names are file-supplied too. Keep their original
|
|
114
|
+
// names for categorization even beyond the final compact u16 surface.
|
|
115
|
+
if (typeIndex === 0x10000)
|
|
116
|
+
typeIndices = Uint32Array.from(typeIndices);
|
|
117
|
+
}
|
|
118
|
+
expressIds[row] = id;
|
|
119
|
+
byteOffsets[row] = start;
|
|
120
|
+
byteLengths[row] = length;
|
|
121
|
+
typeIndices[row] = typeIndex;
|
|
122
|
+
});
|
|
123
|
+
return { expressIds, byteOffsets, byteLengths, typeIndices, typeStrings };
|
|
124
|
+
}
|
|
109
125
|
//# sourceMappingURL=entity-refs-from-index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-refs-from-index.js","sourceRoot":"","sources":["../src/entity-refs-from-index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAmB/D,OAAO,EAAE,aAAa,EAAuB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-refs-from-index.js","sourceRoot":"","sources":["../src/entity-refs-from-index.ts"],"names":[],"mappings":"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"}
|
package/dist/entity-scanner.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ScannedEntityColumns } from './entity-refs-from-index.js';
|
|
1
2
|
import type { EntityRef } from './types.js';
|
|
2
3
|
export type EntityScanPath = 'worker' | 'wasm' | 'tokenizer' | 'pre-scanned';
|
|
3
4
|
export interface PreScannedEntityIndex {
|
|
@@ -88,6 +89,10 @@ export interface EntityScanResult {
|
|
|
88
89
|
*/
|
|
89
90
|
malformedRecordCount: number;
|
|
90
91
|
}
|
|
92
|
+
/** Internal columnar consumer; public scanIfcEntities still returns EntityRef[]. */
|
|
93
|
+
export declare function scanColumnarEntities(buffer: ArrayBuffer | SharedArrayBuffer, options?: EntityScanOptions): Promise<EntityScanResult & {
|
|
94
|
+
entityColumns?: ScannedEntityColumns;
|
|
95
|
+
}>;
|
|
91
96
|
export declare function scanIfcEntities(buffer: ArrayBuffer | SharedArrayBuffer, options?: EntityScanOptions): Promise<EntityScanResult>;
|
|
92
97
|
/**
|
|
93
98
|
* Whether the byte-level WASM scan may run for a source of this size.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-scanner.d.ts","sourceRoot":"","sources":["../src/entity-scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity-scanner.d.ts","sourceRoot":"","sources":["../src/entity-scanner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyD,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAI/H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IACtD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CACjD;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;IACzB;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAMD,oFAAoF;AACpF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,GAAG;IAAE,aAAa,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAEtE;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AA0KD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhE"}
|