@ifc-lite/parser 3.8.0 → 3.8.2
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/README.md +16 -7
- package/dist/entity-extractor.d.ts.map +1 -1
- package/dist/entity-extractor.js +6 -2
- package/dist/entity-extractor.js.map +1 -1
- package/dist/entity-scanner.d.ts +13 -0
- package/dist/entity-scanner.d.ts.map +1 -1
- package/dist/entity-scanner.js +19 -0
- package/dist/entity-scanner.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @ifc-lite/parser
|
|
2
2
|
|
|
3
|
-
High-performance IFC parser. Tokenizes STEP files at high throughput, builds columnar TypedArray storage, and ships full type-safe coverage of all 776 IFC4 entities. IFC4X3 files are detected and parsed at runtime
|
|
3
|
+
High-performance IFC parser. Tokenizes STEP files at high throughput, builds columnar TypedArray storage, and ships full type-safe coverage of all 776 IFC4 entities. IFC2X3, IFC4, and IFC4X3 files are detected and parsed at runtime; IFC5 (IFCX) files are handled via `parseAuto`.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -31,13 +31,22 @@ materials, classifications, documents, and attributes.
|
|
|
31
31
|
```typescript
|
|
32
32
|
const store = await parser.parseColumnar(buffer);
|
|
33
33
|
|
|
34
|
-
// store.entities
|
|
35
|
-
// store.properties
|
|
36
|
-
// store.quantities
|
|
37
|
-
// store.spatialHierarchy.byStorey
|
|
34
|
+
// store.entities - typed access by expressId
|
|
35
|
+
// store.properties - flattened pset table
|
|
36
|
+
// store.quantities - flattened qset table
|
|
37
|
+
// store.spatialHierarchy.byStorey - Map<storeyId, elementIds[]>
|
|
38
38
|
console.log(`${store.entityCount} entities, schema ${store.schemaVersion}`);
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
+
To handle IFC5 (IFCX) files with the same entry point, use `parseAuto`:
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
import { parseAuto } from '@ifc-lite/parser';
|
|
45
|
+
|
|
46
|
+
const result = await parseAuto(buffer);
|
|
47
|
+
// result.format is 'ifc' (STEP -> IfcDataStore) or 'ifcx' (JSON -> IfcxParseResult + meshes)
|
|
48
|
+
```
|
|
49
|
+
|
|
41
50
|
## Type-safe entity access
|
|
42
51
|
|
|
43
52
|
All 776 IFC4 entities ship as TypeScript types via the generated schema.
|
|
@@ -81,7 +90,7 @@ const material = extractMaterialsOnDemand(store, wallId);
|
|
|
81
90
|
// { name: 'Concrete C30/37', layers: [{ name: 'Concrete', thickness: 0.15 }, ...] }
|
|
82
91
|
|
|
83
92
|
const classifications = extractClassificationsOnDemand(store, wallId);
|
|
84
|
-
// [{ system: 'Uniclass 2015',
|
|
93
|
+
// [{ system: 'Uniclass 2015', identification: 'Pr_60_10_32', name: 'External walls', ... }]
|
|
85
94
|
```
|
|
86
95
|
|
|
87
96
|
## Georeferencing
|
|
@@ -112,7 +121,7 @@ if (georef?.hasGeoreference) {
|
|
|
112
121
|
|
|
113
122
|
## API
|
|
114
123
|
|
|
115
|
-
See the [Parsing Guide](https://
|
|
124
|
+
See the [Parsing Guide](https://ifclite.dev/docs/guide/parsing/) and [API Reference](https://ifclite.dev/docs/api/typescript/#ifc-liteparser).
|
|
116
125
|
|
|
117
126
|
## License
|
|
118
127
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../src/entity-extractor.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvD,YAAY,EAAE,SAAS,EAAE,CAAC;AAO1B,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAsC/C,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../src/entity-extractor.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvD,YAAY,EAAE,SAAS,EAAE,CAAC;AAO1B,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAsC/C,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,mBAAmB;CA8G5B"}
|
package/dist/entity-extractor.js
CHANGED
|
@@ -113,8 +113,12 @@ export class EntityExtractor {
|
|
|
113
113
|
return null;
|
|
114
114
|
}
|
|
115
115
|
// TypedValue: IFCTYPENAME(value) - must check before list check
|
|
116
|
-
// Pattern: identifier followed by parentheses (e.g., IFCNORMALISEDRATIOMEASURE(0.5))
|
|
117
|
-
|
|
116
|
+
// Pattern: identifier followed by parentheses (e.g., IFCNORMALISEDRATIOMEASURE(0.5)).
|
|
117
|
+
// The `s` (dotall) flag lets `.+` span line terminators so a wrapped value —
|
|
118
|
+
// e.g. an IFCLABEL/IFCTEXT string an authoring tool broke across physical
|
|
119
|
+
// lines — is still unwrapped. Without it the match fails and the raw
|
|
120
|
+
// `IFCLABEL('...')` literal (mis-typed as a plain string) leaks to callers.
|
|
121
|
+
const typedValueMatch = value.match(/^([A-Z][A-Z0-9_]*)\((.+)\)$/is);
|
|
118
122
|
if (typedValueMatch) {
|
|
119
123
|
const typeName = typedValueMatch[1];
|
|
120
124
|
const innerValue = typedValueMatch[2].trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../src/entity-extractor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../src/entity-extractor.ts"],"names":[],"mappings":"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"}
|
package/dist/entity-scanner.d.ts
CHANGED
|
@@ -26,4 +26,17 @@ export interface EntityScanResult {
|
|
|
26
26
|
scanPath: EntityScanPath;
|
|
27
27
|
}
|
|
28
28
|
export declare function scanIfcEntities(buffer: ArrayBuffer | SharedArrayBuffer, options?: EntityScanOptions): Promise<EntityScanResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the byte-level WASM scan may run for a source of this size.
|
|
31
|
+
*
|
|
32
|
+
* `scanEntitiesFastBytes` copies the whole buffer into wasm32 linear memory
|
|
33
|
+
* and builds the entity index alongside it, inside a 4GB address space. Above
|
|
34
|
+
* this ceiling the allocator aborts with a bare `unreachable executed` trap —
|
|
35
|
+
* the scan can never succeed, so attempting it only burns seconds and logs a
|
|
36
|
+
* frightening wasm panic before the JS tokeniser fallback runs anyway.
|
|
37
|
+
* Mirrors the geometry prepass's 2.5GB huge-file heuristic (#1630): the file
|
|
38
|
+
* copy plus the index for a 2.5GB source stays under the ceiling; beyond it
|
|
39
|
+
* the copy alone leaves no headroom.
|
|
40
|
+
*/
|
|
41
|
+
export declare function wasmBytesScanAllowed(byteLength: number): boolean;
|
|
29
42
|
//# sourceMappingURL=entity-scanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-scanner.d.ts","sourceRoot":"","sources":["../src/entity-scanner.ts"],"names":[],"mappings":"AAQA,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;CACtB;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;CAC1B;AAMD,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAuE3B"}
|
|
1
|
+
{"version":3,"file":"entity-scanner.d.ts","sourceRoot":"","sources":["../src/entity-scanner.ts"],"names":[],"mappings":"AAQA,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;CACtB;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;CAC1B;AAMD,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAuE3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhE"}
|
package/dist/entity-scanner.js
CHANGED
|
@@ -70,10 +70,29 @@ export async function scanIfcEntities(buffer, options = {}) {
|
|
|
70
70
|
options.onProgress?.({ phase: 'scanning', percent: 100 });
|
|
71
71
|
return { entityRefs, processed, elapsedMs, scanPath };
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Whether the byte-level WASM scan may run for a source of this size.
|
|
75
|
+
*
|
|
76
|
+
* `scanEntitiesFastBytes` copies the whole buffer into wasm32 linear memory
|
|
77
|
+
* and builds the entity index alongside it, inside a 4GB address space. Above
|
|
78
|
+
* this ceiling the allocator aborts with a bare `unreachable executed` trap —
|
|
79
|
+
* the scan can never succeed, so attempting it only burns seconds and logs a
|
|
80
|
+
* frightening wasm panic before the JS tokeniser fallback runs anyway.
|
|
81
|
+
* Mirrors the geometry prepass's 2.5GB huge-file heuristic (#1630): the file
|
|
82
|
+
* copy plus the index for a 2.5GB source stays under the ceiling; beyond it
|
|
83
|
+
* the copy alone leaves no headroom.
|
|
84
|
+
*/
|
|
85
|
+
export function wasmBytesScanAllowed(byteLength) {
|
|
86
|
+
return byteLength < 2_500_000_000;
|
|
87
|
+
}
|
|
73
88
|
function selectWasmScanFunction(api, uint8Buffer) {
|
|
74
89
|
if (!api)
|
|
75
90
|
return null;
|
|
76
91
|
if (typeof api.scanEntitiesFastBytes === 'function') {
|
|
92
|
+
if (!wasmBytesScanAllowed(uint8Buffer.byteLength)) {
|
|
93
|
+
console.warn('[parser] scanEntitiesFastBytes skipped: source is %d MB, exceeds the wasm32 memory ceiling - falling back to JS tokeniser.', Math.round(uint8Buffer.byteLength / (1024 * 1024)));
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
77
96
|
return () => api.scanEntitiesFastBytes?.(uint8Buffer);
|
|
78
97
|
}
|
|
79
98
|
// Only the FULL Rust scan is acceptable here — a filtered scan would build
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-scanner.js","sourceRoot":"","sources":["../src/entity-scanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity-scanner.js","sourceRoot":"","sources":["../src/entity-scanner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/parser",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.2",
|
|
4
4
|
"description": "IFC/STEP parser for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"jszip": "^3.10.0",
|
|
21
|
-
"@ifc-lite/data": "^2.5.
|
|
22
|
-
"@ifc-lite/encoding": "^1.14.
|
|
23
|
-
"@ifc-lite/ifcx": "^2.2.
|
|
24
|
-
"@ifc-lite/wasm": "^3.0.
|
|
21
|
+
"@ifc-lite/data": "^2.5.2",
|
|
22
|
+
"@ifc-lite/encoding": "^1.14.10",
|
|
23
|
+
"@ifc-lite/ifcx": "^2.2.2",
|
|
24
|
+
"@ifc-lite/wasm": "^3.0.14"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"typescript": "^6.0.3",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"url": "https://github.com/LTplus-AG/ifc-lite.git",
|
|
35
35
|
"directory": "packages/parser"
|
|
36
36
|
},
|
|
37
|
-
"homepage": "https://
|
|
37
|
+
"homepage": "https://ifclite.dev/docs/",
|
|
38
38
|
"bugs": "https://github.com/LTplus-AG/ifc-lite/issues",
|
|
39
39
|
"keywords": [
|
|
40
40
|
"ifc",
|