@ifc-lite/parser 5.0.0 → 5.2.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 +28 -2
- package/dist/classification-resolver.d.ts.map +1 -1
- package/dist/classification-resolver.js +49 -6
- package/dist/classification-resolver.js.map +1 -1
- package/dist/columnar-entity-preparation.d.ts +22 -0
- package/dist/columnar-entity-preparation.d.ts.map +1 -0
- package/dist/columnar-entity-preparation.js +192 -0
- package/dist/columnar-entity-preparation.js.map +1 -0
- 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 +17 -63
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +371 -779
- 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 +7 -0
- package/dist/compact-entity-index.d.ts.map +1 -1
- package/dist/compact-entity-index.js +20 -32
- package/dist/compact-entity-index.js.map +1 -1
- package/dist/data-store-transport.d.ts +9 -16
- package/dist/data-store-transport.d.ts.map +1 -1
- package/dist/data-store-transport.js +14 -20
- package/dist/data-store-transport.js.map +1 -1
- 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 +64 -49
- 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 +20 -7
- 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/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/on-demand-extractors.d.ts +1 -1
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-georeferencing.d.ts +3 -3
- package/dist/on-demand-georeferencing.js +27 -4
- package/dist/on-demand-georeferencing.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 +36 -13
- 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/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-builder.d.ts +6 -8
- package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
- package/dist/spatial-hierarchy-builder.js +4 -0
- package/dist/spatial-hierarchy-builder.js.map +1 -1
- package/dist/spatial-hierarchy-canonical-parent.d.ts +36 -0
- package/dist/spatial-hierarchy-canonical-parent.d.ts.map +1 -0
- package/dist/spatial-hierarchy-canonical-parent.js +63 -0
- package/dist/spatial-hierarchy-canonical-parent.js.map +1 -0
- 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 +30 -12
- package/dist/worker-parser.js.map +1 -1
- package/package.json +2 -2
|
@@ -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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"}
|
|
@@ -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,22 +30,21 @@ 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
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
order.sort((a, b) => ids[a] - ids[b]);
|
|
33
|
+
const intern = new EntityTypeByteInterner();
|
|
34
|
+
const contiguous = source instanceof Uint8Array ? source : undefined;
|
|
35
|
+
// Current pre-pass columns are already ID-ordered (#1682). Only allocate
|
|
36
|
+
// and sort a permutation for producers that actually send unsorted IDs.
|
|
37
|
+
// Keep equal IDs in their input order, matching the stable typed-array sort.
|
|
38
|
+
let order;
|
|
39
|
+
for (let i = 1; i < n; i++) {
|
|
40
|
+
if (ids[i] < ids[i - 1]) {
|
|
41
|
+
order = Uint32Array.from({ length: n }, (_, index) => index);
|
|
42
|
+
order.sort((a, b) => ids[a] - ids[b]);
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
55
46
|
for (let oi = 0; oi < n; oi++) {
|
|
56
|
-
const i = order[oi];
|
|
47
|
+
const i = order ? order[oi] : oi;
|
|
57
48
|
const start = starts[i];
|
|
58
49
|
const len = lengths[i];
|
|
59
50
|
// Reject spans that walk off the end of the source. Clamping
|
|
@@ -63,13 +54,13 @@ export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
|
63
54
|
if (start > sourceLen || start + len > sourceLen) {
|
|
64
55
|
throw new Error(`buildEntityRefsFromIndex: out-of-bounds span at index ${i} (id=${ids[i]}, start=${start}, len=${len}, source=${sourceLen})`);
|
|
65
56
|
}
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
const record = bytes.slice(start, start + len);
|
|
70
|
-
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;
|
|
71
62
|
// Skip past `#<digits>=` to find the type token.
|
|
72
|
-
let p = 0;
|
|
63
|
+
let p = contiguous ? start : 0;
|
|
73
64
|
while (p < limit && record[p] !== EQ)
|
|
74
65
|
p++;
|
|
75
66
|
p++;
|
|
@@ -78,6 +69,7 @@ export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
|
78
69
|
|| record[p] === FORM_FEED || record[p] === VTAB))
|
|
79
70
|
p++;
|
|
80
71
|
const typeStart = p;
|
|
72
|
+
let typeHash = 0x811c9dc5;
|
|
81
73
|
while (p < limit
|
|
82
74
|
&& record[p] !== LPAREN
|
|
83
75
|
&& record[p] !== SPACE
|
|
@@ -85,26 +77,49 @@ export function buildEntityRefsFromIndex(source, ids, starts, lengths) {
|
|
|
85
77
|
&& record[p] !== LF
|
|
86
78
|
&& record[p] !== CR
|
|
87
79
|
&& record[p] !== FORM_FEED
|
|
88
|
-
&& record[p] !== VTAB)
|
|
80
|
+
&& record[p] !== VTAB) {
|
|
81
|
+
typeHash = Math.imul(typeHash ^ record[p], 0x01000193);
|
|
89
82
|
p++;
|
|
90
|
-
const typeEnd = p;
|
|
91
|
-
const key = bytesToAsciiKey(record, typeStart, typeEnd);
|
|
92
|
-
let interned = intern.get(key);
|
|
93
|
-
if (interned === undefined) {
|
|
94
|
-
intern.set(key, key);
|
|
95
|
-
interned = key;
|
|
96
83
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
byteOffset: start,
|
|
101
|
-
byteLength: len,
|
|
102
|
-
// Line numbers aren't computed here — the columnar parser only uses
|
|
103
|
-
// them in diagnostic output. Skipping the newline-counting pass saves
|
|
104
|
-
// ~500 ms on 14 M entities. Set to 0 as a sentinel "unknown".
|
|
105
|
-
lineNumber: 0,
|
|
106
|
-
};
|
|
84
|
+
const typeEnd = p;
|
|
85
|
+
const interned = intern.intern(record, typeStart, typeEnd, typeHash);
|
|
86
|
+
visit(oi, ids[i], interned, start, len);
|
|
107
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
|
+
});
|
|
108
94
|
return refs;
|
|
109
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
|
+
}
|
|
110
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;AAqKD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhE"}
|
package/dist/entity-scanner.js
CHANGED
|
@@ -2,17 +2,25 @@
|
|
|
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
4
|
import { safeUtf8Decode } from '@ifc-lite/data';
|
|
5
|
-
import { buildEntityRefsFromIndex } from './entity-refs-from-index.js';
|
|
5
|
+
import { buildEntityRefsFromIndex, buildEntityColumnsFromIndex } from './entity-refs-from-index.js';
|
|
6
6
|
import { MAX_EXPRESS_ID } from './express-id.js';
|
|
7
7
|
import { scanEntitiesInWorker } from './scan-worker-inline.js';
|
|
8
8
|
import { StepTokenizer } from './tokenizer.js';
|
|
9
9
|
const HUGE_STRING_SCAN_BYTES = 256 * 1024 * 1024;
|
|
10
|
+
/** Internal columnar consumer; public scanIfcEntities still returns EntityRef[]. */
|
|
11
|
+
export function scanColumnarEntities(buffer, options = {}) {
|
|
12
|
+
return scanEntities(buffer, options, true);
|
|
13
|
+
}
|
|
10
14
|
export async function scanIfcEntities(buffer, options = {}) {
|
|
15
|
+
return scanEntities(buffer, options, false);
|
|
16
|
+
}
|
|
17
|
+
async function scanEntities(buffer, options, keepColumns) {
|
|
11
18
|
const uint8Buffer = new Uint8Array(buffer);
|
|
12
19
|
const fileSizeMB = buffer.byteLength / (1024 * 1024);
|
|
13
20
|
options.onProgress?.({ phase: 'scanning', percent: 0 });
|
|
14
21
|
const scanStartTime = performance.now();
|
|
15
22
|
let entityRefs = [];
|
|
23
|
+
let entityColumns;
|
|
16
24
|
let processed = 0;
|
|
17
25
|
let scanPath = 'tokenizer';
|
|
18
26
|
let oversizedIdCount = 0;
|
|
@@ -20,8 +28,11 @@ export async function scanIfcEntities(buffer, options = {}) {
|
|
|
20
28
|
let preScanCountUnreported = false;
|
|
21
29
|
if (options.preScannedEntityIndex) {
|
|
22
30
|
const { ids, starts, lengths } = options.preScannedEntityIndex;
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
if (keepColumns)
|
|
32
|
+
entityColumns = buildEntityColumnsFromIndex(uint8Buffer, ids, starts, lengths);
|
|
33
|
+
else
|
|
34
|
+
entityRefs = buildEntityRefsFromIndex(uint8Buffer, ids, starts, lengths);
|
|
35
|
+
processed = ids.length;
|
|
25
36
|
scanPath = 'pre-scanned';
|
|
26
37
|
// `undefined` means this producer does not report, which the field's own
|
|
27
38
|
// doc says is NOT the claim `0` makes. Coercing it here would turn "not
|
|
@@ -36,7 +47,9 @@ export async function scanIfcEntities(buffer, options = {}) {
|
|
|
36
47
|
// existing diagnostic below rather than a second channel (#3790).
|
|
37
48
|
malformedRecordCount = options.preScannedEntityIndex.malformedRecordCount ?? 0;
|
|
38
49
|
}
|
|
39
|
-
if (
|
|
50
|
+
if (processed === 0)
|
|
51
|
+
entityColumns = undefined;
|
|
52
|
+
if (processed === 0 && !options.disableWorkerScan && typeof Worker !== 'undefined') {
|
|
40
53
|
try {
|
|
41
54
|
const scan = await scanEntitiesInWorker(buffer);
|
|
42
55
|
entityRefs = scan.refs;
|
|
@@ -54,7 +67,7 @@ export async function scanIfcEntities(buffer, options = {}) {
|
|
|
54
67
|
}
|
|
55
68
|
}
|
|
56
69
|
const wasmScanFn = selectWasmScanFunction(options.wasmApi, uint8Buffer);
|
|
57
|
-
if (
|
|
70
|
+
if (processed === 0 && wasmScanFn) {
|
|
58
71
|
try {
|
|
59
72
|
entityRefs = normalizeWasmEntityRefs(wasmScanFn());
|
|
60
73
|
processed = entityRefs.length;
|
|
@@ -76,7 +89,7 @@ export async function scanIfcEntities(buffer, options = {}) {
|
|
|
76
89
|
processed = 0;
|
|
77
90
|
}
|
|
78
91
|
}
|
|
79
|
-
if (
|
|
92
|
+
if (processed === 0) {
|
|
80
93
|
const tokenizer = new StepTokenizer(uint8Buffer);
|
|
81
94
|
const yieldInterval = 5000;
|
|
82
95
|
const estimatedTotalEntities = Math.max(fileSizeMB * 13500, 10000);
|
|
@@ -145,7 +158,7 @@ export async function scanIfcEntities(buffer, options = {}) {
|
|
|
145
158
|
const elapsedMs = performance.now() - scanStartTime;
|
|
146
159
|
options.onDiagnostic?.(`scan complete: entities=${processed} elapsed=${elapsedMs.toFixed(0)}ms`);
|
|
147
160
|
options.onProgress?.({ phase: 'scanning', percent: 100 });
|
|
148
|
-
return { entityRefs, processed, elapsedMs, scanPath, oversizedIdCount, malformedRecordCount };
|
|
161
|
+
return { entityRefs, ...(entityColumns && processed > 0 && scanPath === 'pre-scanned' ? { entityColumns } : {}), processed, elapsedMs, scanPath, oversizedIdCount, malformedRecordCount };
|
|
149
162
|
}
|
|
150
163
|
/**
|
|
151
164
|
* Whether the byte-level WASM scan may run for a source of this size.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-scanner.js","sourceRoot":"","sources":["../src/entity-scanner.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-scanner.js","sourceRoot":"","sources":["../src/entity-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Scan-scoped byte interning (#3985). A hash selects candidates, never identity.
|
|
2
|
+
* Repeated normal tokens allocate no string; adversarial collisions switch to
|
|
3
|
+
* native string-key lookup after a bounded number of byte comparisons.
|
|
4
|
+
*/
|
|
5
|
+
export declare class EntityTypeByteInterner {
|
|
6
|
+
private readonly buckets;
|
|
7
|
+
private readonly overflow;
|
|
8
|
+
intern(bytes: Uint8Array, start: number, end: number, hash: number): string;
|
|
9
|
+
private internString;
|
|
10
|
+
private readString;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=entity-type-byte-interner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-type-byte-interner.d.ts","sourceRoot":"","sources":["../src/entity-type-byte-interner.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IA+B3E,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;CAOnB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
const MAX_COLLISION_BUCKET = 8;
|
|
5
|
+
const MAX_FAST_BUCKETS = 4096;
|
|
6
|
+
/** Scan-scoped byte interning (#3985). A hash selects candidates, never identity.
|
|
7
|
+
* Repeated normal tokens allocate no string; adversarial collisions switch to
|
|
8
|
+
* native string-key lookup after a bounded number of byte comparisons.
|
|
9
|
+
*/
|
|
10
|
+
export class EntityTypeByteInterner {
|
|
11
|
+
buckets = new Map();
|
|
12
|
+
overflow = new Map();
|
|
13
|
+
intern(bytes, start, end, hash) {
|
|
14
|
+
const bucket = this.buckets.get(hash);
|
|
15
|
+
if (bucket instanceof Map)
|
|
16
|
+
return this.internString(bucket, bytes, start, end);
|
|
17
|
+
if (bucket) {
|
|
18
|
+
const length = end - start;
|
|
19
|
+
for (const candidate of bucket) {
|
|
20
|
+
if (candidate.length !== length)
|
|
21
|
+
continue;
|
|
22
|
+
let i = 0;
|
|
23
|
+
while (i < length && candidate.charCodeAt(i) === bytes[start + i])
|
|
24
|
+
i++;
|
|
25
|
+
if (i === length)
|
|
26
|
+
return candidate;
|
|
27
|
+
}
|
|
28
|
+
const value = this.readString(bytes, start, end);
|
|
29
|
+
if (bucket.length < MAX_COLLISION_BUCKET)
|
|
30
|
+
bucket.push(value);
|
|
31
|
+
else {
|
|
32
|
+
const strings = new Map();
|
|
33
|
+
for (const candidate of bucket)
|
|
34
|
+
strings.set(candidate, candidate);
|
|
35
|
+
strings.set(value, value);
|
|
36
|
+
this.buckets.set(hash, strings);
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
// A source containing millions of different type spellings must not gain
|
|
41
|
+
// an extra array/map per spelling compared with the original interner.
|
|
42
|
+
if (this.buckets.size >= MAX_FAST_BUCKETS) {
|
|
43
|
+
return this.internString(this.overflow, bytes, start, end);
|
|
44
|
+
}
|
|
45
|
+
const value = this.readString(bytes, start, end);
|
|
46
|
+
this.buckets.set(hash, [value]);
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
internString(strings, bytes, start, end) {
|
|
50
|
+
const value = this.readString(bytes, start, end);
|
|
51
|
+
const previous = strings.get(value);
|
|
52
|
+
if (previous !== undefined)
|
|
53
|
+
return previous;
|
|
54
|
+
strings.set(value, value);
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
readString(bytes, start, end) {
|
|
58
|
+
// Deliberately byte→char, matching the existing scanner's raw token
|
|
59
|
+
// spelling for mixed case, unknown names and non-ASCII bytes.
|
|
60
|
+
let value = '';
|
|
61
|
+
for (let i = start; i < end; i++)
|
|
62
|
+
value += String.fromCharCode(bytes[i]);
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=entity-type-byte-interner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-type-byte-interner.js","sourceRoot":"","sources":["../src/entity-type-byte-interner.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export { extractLengthUnitScale, resolveEntityLengthUnitScale, resolveOwningIfcP
|
|
|
21
21
|
export { extractProjectUnits, measureUnit, ProjectUnits, type ResolvedUnit, type MeasureUnit, } from './project-units.js';
|
|
22
22
|
export { quantitySiScale } from './quantity-collect.js';
|
|
23
23
|
export { scaleMeasureValue, scaledPropertyValue, roundToScale } from './measure-unit-scale.js';
|
|
24
|
-
export { ColumnarParser, type IfcDataStore, type EntityByIdIndex, extractPropertiesOnDemand, extractQuantitiesOnDemand, extractEntityAttributesOnDemand, extractAllEntityAttributes, getRawNamedAttributes, extractRootAttributesFromEntity, extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, mergeInheritedPropertySets, mergeInheritedQuantitySets, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGeoreferencingOnDemand, type ClassificationInfo, type MaterialInfo, type MaterialLayerInfo, type MaterialProfileInfo, type MaterialConstituentInfo, type MaterialPsetGroup, type MaterialLeaf, type MaterialUsage, type TypePropertyInfo, type TypeQuantityInfo, type DocumentInfo, type EntityRelationships, type GroupMember } from './columnar-parser.js';
|
|
24
|
+
export { ColumnarParser, type IfcDataStore, type EntityByIdIndex, extractPropertiesOnDemand, extractQuantitiesOnDemand, extractEntityAttributesOnDemand, extractAllEntityAttributes, getRawNamedAttributes, extractRootAttributesFromEntity, extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, mergeInheritedPropertySets, mergeInheritedQuantitySets, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGeoreferencingOnDemand, type ClassificationInfo, type ClassificationSystemNames, type MaterialInfo, type MaterialLayerInfo, type MaterialProfileInfo, type MaterialConstituentInfo, type MaterialPsetGroup, type MaterialLeaf, type MaterialUsage, type TypePropertyInfo, type TypeQuantityInfo, type DocumentInfo, type EntityRelationships, type GroupMember } from './columnar-parser.js';
|
|
25
25
|
export type { IfcStoreBase, IfcSourceHeader, SpatialHierarchy, EntityTable } from '@ifc-lite/data';
|
|
26
26
|
export { parseSourceHeader } from './source-header.js';
|
|
27
27
|
export { attachDataStoreAccessors, type IfcStoreData } from './data-store-accessors.js';
|
|
@@ -62,10 +62,9 @@ export interface ParseOptions {
|
|
|
62
62
|
/**
|
|
63
63
|
* Pre-built entity index from another worker (typically the streaming
|
|
64
64
|
* geometry pre-pass). When supplied, `parseColumnar` skips both the
|
|
65
|
-
* worker-based and WASM scans and
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* heavy WASM contention with the geometry workers.
|
|
65
|
+
* worker-based and WASM scans and retains the numeric columns through
|
|
66
|
+
* entity categorization. Only records needed for metadata extraction
|
|
67
|
+
* materialize EntityRefs; every record remains addressable in the store.
|
|
69
68
|
*/
|
|
70
69
|
preScannedEntityIndex?: PreScannedEntityIndex;
|
|
71
70
|
}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -94,8 +94,8 @@ import { EntityIndexBuilder } from './entity-index.js';
|
|
|
94
94
|
import { EntityExtractor } from './entity-extractor.js';
|
|
95
95
|
import { PropertyExtractor } from './property-extractor.js';
|
|
96
96
|
import { RelationshipExtractor } from './relationship-extractor.js';
|
|
97
|
-
import {
|
|
98
|
-
import { scanIfcEntities } from './entity-scanner.js';
|
|
97
|
+
import { parseColumnarInput } from './columnar-parser.js';
|
|
98
|
+
import { scanIfcEntities, scanColumnarEntities } from './entity-scanner.js';
|
|
99
99
|
/**
|
|
100
100
|
* Main parser class
|
|
101
101
|
*/
|
|
@@ -165,11 +165,10 @@ export class IfcParser {
|
|
|
165
165
|
* in-process path passes a regular ArrayBuffer.
|
|
166
166
|
*/
|
|
167
167
|
async parseColumnar(buffer, options = {}) {
|
|
168
|
-
const { entityRefs, processed, elapsedMs, scanPath } = await
|
|
168
|
+
const { entityRefs, entityColumns, processed, elapsedMs, scanPath } = await scanColumnarEntities(buffer, options);
|
|
169
169
|
console.log(`[IfcParser] Fast scan: ${processed} entities in ${elapsedMs.toFixed(0)}ms (path=${scanPath})`);
|
|
170
170
|
// Build columnar structures with on-demand property extraction
|
|
171
|
-
const
|
|
172
|
-
const dataStore = await columnarParser.parseLite(buffer, entityRefs, options);
|
|
171
|
+
const dataStore = await parseColumnarInput(buffer, entityColumns ?? entityRefs, options);
|
|
173
172
|
return dataStore;
|
|
174
173
|
}
|
|
175
174
|
}
|