@ifc-lite/parser 9.1.0 → 9.4.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/README.md +35 -0
- package/dist/abort-error.d.ts +7 -0
- package/dist/abort-error.d.ts.map +1 -0
- package/dist/abort-error.js +17 -0
- package/dist/abort-error.js.map +1 -0
- package/dist/classification-overlay.d.ts +13 -0
- package/dist/classification-overlay.d.ts.map +1 -0
- package/dist/classification-overlay.js +65 -0
- package/dist/classification-overlay.js.map +1 -0
- package/dist/classification-resolver.d.ts +13 -9
- package/dist/classification-resolver.d.ts.map +1 -1
- package/dist/classification-resolver.js +109 -74
- package/dist/classification-resolver.js.map +1 -1
- package/dist/columnar-parser-attributes.d.ts +1 -1
- package/dist/columnar-parser-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-attributes.js +16 -6
- package/dist/columnar-parser-attributes.js.map +1 -1
- package/dist/columnar-parser-root-attributes.d.ts +15 -1
- package/dist/columnar-parser-root-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-root-attributes.js +26 -11
- package/dist/columnar-parser-root-attributes.js.map +1 -1
- package/dist/columnar-parser.d.ts +13 -15
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +11 -23
- package/dist/columnar-parser.js.map +1 -1
- package/dist/current-occurrence-quantities.d.ts +13 -0
- package/dist/current-occurrence-quantities.d.ts.map +1 -0
- package/dist/current-occurrence-quantities.js +69 -0
- package/dist/current-occurrence-quantities.js.map +1 -0
- package/dist/current-project-units.d.ts +11 -0
- package/dist/current-project-units.d.ts.map +1 -0
- package/dist/current-project-units.js +41 -0
- package/dist/current-project-units.js.map +1 -0
- package/dist/current-type-quantities.d.ts +13 -0
- package/dist/current-type-quantities.d.ts.map +1 -0
- package/dist/current-type-quantities.js +274 -0
- package/dist/current-type-quantities.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 +4 -4
- package/dist/data-store-transport.js.map +1 -1
- package/dist/document-resolver.d.ts +23 -0
- package/dist/document-resolver.d.ts.map +1 -0
- package/dist/document-resolver.js +122 -0
- package/dist/document-resolver.js.map +1 -0
- package/dist/effective-entity-record.d.ts +3 -2
- package/dist/effective-entity-record.d.ts.map +1 -1
- package/dist/effective-entity-record.js +5 -5
- package/dist/effective-entity-record.js.map +1 -1
- package/dist/effective-metadata-record.d.ts +23 -0
- package/dist/effective-metadata-record.d.ts.map +1 -0
- package/dist/effective-metadata-record.js +50 -0
- package/dist/effective-metadata-record.js.map +1 -0
- package/dist/effective-storey.d.ts.map +1 -1
- package/dist/effective-storey.js +5 -0
- package/dist/effective-storey.js.map +1 -1
- package/dist/entity-scanner.d.ts +6 -8
- package/dist/entity-scanner.d.ts.map +1 -1
- package/dist/entity-scanner.js +26 -13
- package/dist/entity-scanner.js.map +1 -1
- package/dist/georef-extractor.d.ts +1 -1
- package/dist/georef-extractor.d.ts.map +1 -1
- package/dist/georef-extractor.js +1 -1
- package/dist/georef-extractor.js.map +1 -1
- package/dist/ifc-schema.d.ts +2 -1
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +4 -3
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +9 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -12
- package/dist/index.js.map +1 -1
- package/dist/length-unit-source.d.ts +25 -0
- package/dist/length-unit-source.d.ts.map +1 -0
- package/dist/length-unit-source.js +14 -0
- package/dist/length-unit-source.js.map +1 -0
- package/dist/material-definitions.d.ts +10 -0
- package/dist/material-definitions.d.ts.map +1 -0
- package/dist/material-definitions.js +224 -0
- package/dist/material-definitions.js.map +1 -0
- package/dist/material-overlay.d.ts +38 -0
- package/dist/material-overlay.d.ts.map +1 -0
- package/dist/material-overlay.js +146 -0
- package/dist/material-overlay.js.map +1 -0
- package/dist/material-properties-extractor.d.ts +2 -11
- package/dist/material-properties-extractor.d.ts.map +1 -1
- package/dist/material-properties-extractor.js +21 -38
- package/dist/material-properties-extractor.js.map +1 -1
- package/dist/material-resolver.d.ts +6 -4
- package/dist/material-resolver.d.ts.map +1 -1
- package/dist/material-resolver.js +176 -386
- package/dist/material-resolver.js.map +1 -1
- package/dist/measure-unit-scale.d.ts +2 -0
- package/dist/measure-unit-scale.d.ts.map +1 -1
- package/dist/measure-unit-scale.js +7 -1
- package/dist/measure-unit-scale.js.map +1 -1
- package/dist/metadata-edit-value.d.ts +4 -0
- package/dist/metadata-edit-value.d.ts.map +1 -0
- package/dist/metadata-edit-value.js +57 -0
- package/dist/metadata-edit-value.js.map +1 -0
- package/dist/native-metadata-public.d.ts +9 -0
- package/dist/native-metadata-public.d.ts.map +1 -0
- package/dist/native-metadata-public.js +12 -0
- package/dist/native-metadata-public.js.map +1 -0
- package/dist/occurrence-quantity-read-error.d.ts +7 -0
- package/dist/occurrence-quantity-read-error.d.ts.map +1 -0
- package/dist/occurrence-quantity-read-error.js +13 -0
- package/dist/occurrence-quantity-read-error.js.map +1 -0
- package/dist/on-demand-extractors.d.ts +3 -38
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +4 -184
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/on-demand-georeferencing.d.ts.map +1 -1
- package/dist/on-demand-georeferencing.js +2 -0
- package/dist/on-demand-georeferencing.js.map +1 -1
- package/dist/parser-worker-trace.d.ts +18 -0
- package/dist/parser-worker-trace.d.ts.map +1 -0
- package/dist/parser-worker-trace.js +32 -0
- package/dist/parser-worker-trace.js.map +1 -0
- package/dist/parser.worker.d.ts.map +1 -1
- package/dist/parser.worker.js +34 -13
- package/dist/parser.worker.js.map +1 -1
- package/dist/project-units.d.ts +17 -4
- package/dist/project-units.d.ts.map +1 -1
- package/dist/project-units.js +104 -37
- package/dist/project-units.js.map +1 -1
- package/dist/property-complex-value.d.ts.map +1 -1
- package/dist/property-complex-value.js +1 -0
- package/dist/property-complex-value.js.map +1 -1
- package/dist/property-unit.d.ts +2 -0
- package/dist/property-unit.d.ts.map +1 -1
- package/dist/property-unit.js +4 -1
- package/dist/property-unit.js.map +1 -1
- package/dist/property-value-parser.d.ts +14 -1
- package/dist/property-value-parser.d.ts.map +1 -1
- package/dist/property-value-parser.js +42 -22
- package/dist/property-value-parser.js.map +1 -1
- package/dist/quantity-collect.d.ts +14 -2
- package/dist/quantity-collect.d.ts.map +1 -1
- package/dist/quantity-collect.js +19 -8
- package/dist/quantity-collect.js.map +1 -1
- package/dist/relationship-schema-slots.d.ts.map +1 -1
- package/dist/relationship-schema-slots.js +2 -1
- package/dist/relationship-schema-slots.js.map +1 -1
- package/dist/scan-worker-inline.d.ts.map +1 -1
- package/dist/scan-worker-inline.js +2 -1
- package/dist/scan-worker-inline.js.map +1 -1
- package/dist/schedule-extractor.d.ts +2 -1
- package/dist/schedule-extractor.d.ts.map +1 -1
- package/dist/schedule-extractor.js +11 -2
- package/dist/schedule-extractor.js.map +1 -1
- package/dist/schedule-serializer-builders.d.ts +7 -0
- package/dist/schedule-serializer-builders.d.ts.map +1 -1
- package/dist/schedule-serializer-builders.js +17 -17
- package/dist/schedule-serializer-builders.js.map +1 -1
- package/dist/schedule-serializer.d.ts +8 -3
- package/dist/schedule-serializer.d.ts.map +1 -1
- package/dist/schedule-serializer.js +36 -1
- package/dist/schedule-serializer.js.map +1 -1
- package/dist/schedule-task-products.d.ts +38 -0
- package/dist/schedule-task-products.d.ts.map +1 -0
- package/dist/schedule-task-products.js +69 -0
- package/dist/schedule-task-products.js.map +1 -0
- package/dist/schedule-types.d.ts +11 -1
- package/dist/schedule-types.d.ts.map +1 -1
- package/dist/schedule-types.js.map +1 -1
- package/dist/schema-entity-name.d.ts +14 -0
- package/dist/schema-entity-name.d.ts.map +1 -0
- package/dist/schema-entity-name.js +34 -0
- package/dist/schema-entity-name.js.map +1 -0
- package/dist/schema-exports.d.ts +7 -0
- package/dist/schema-exports.d.ts.map +1 -0
- package/dist/schema-exports.js +10 -0
- package/dist/schema-exports.js.map +1 -0
- package/dist/source-project-length-unit.d.ts +53 -0
- package/dist/source-project-length-unit.d.ts.map +1 -0
- package/dist/source-project-length-unit.js +201 -0
- package/dist/source-project-length-unit.js.map +1 -0
- package/dist/structural-extractor.js +2 -2
- package/dist/structural-extractor.js.map +1 -1
- package/dist/structural-load-extractor.d.ts +9 -3
- package/dist/structural-load-extractor.d.ts.map +1 -1
- package/dist/structural-load-extractor.js +26 -20
- package/dist/structural-load-extractor.js.map +1 -1
- package/dist/structural-step-values.d.ts +0 -9
- package/dist/structural-step-values.d.ts.map +1 -1
- package/dist/structural-step-values.js +13 -1
- package/dist/structural-step-values.js.map +1 -1
- package/dist/type-own-quantity-source.d.ts +37 -0
- package/dist/type-own-quantity-source.d.ts.map +1 -0
- package/dist/type-own-quantity-source.js +204 -0
- package/dist/type-own-quantity-source.js.map +1 -0
- package/dist/unit-extractor.d.ts +14 -1
- package/dist/unit-extractor.d.ts.map +1 -1
- package/dist/unit-extractor.js +34 -31
- package/dist/unit-extractor.js.map +1 -1
- package/dist/worker-parser.d.ts +7 -0
- package/dist/worker-parser.d.ts.map +1 -1
- package/dist/worker-parser.js +14 -16
- package/dist/worker-parser.js.map +1 -1
- package/package.json +6 -5
package/dist/unit-extractor.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { EntityExtractor } from './entity-extractor.js';
|
|
5
5
|
import { resolveOwningIfcProjectId } from './owning-project.js';
|
|
6
6
|
import { extractProjectUnits } from './project-units.js';
|
|
7
|
+
import { declared, defaulted, unknownUnitMessage } from './length-unit-source.js';
|
|
7
8
|
export { resolveOwningIfcProjectId } from './owning-project.js';
|
|
8
9
|
/**
|
|
9
10
|
* SI Prefix multipliers, keyed by the members of the `IfcSIPrefix` EXPRESS
|
|
@@ -17,7 +18,7 @@ export { resolveOwningIfcProjectId } from './owning-project.js';
|
|
|
17
18
|
* a private four-entry copy (MILLI/CENTI/DECI/KILO), so a MapUnit in any
|
|
18
19
|
* other prefix read back as plain metres.
|
|
19
20
|
*/
|
|
20
|
-
export const SI_PREFIX_MULTIPLIERS = {
|
|
21
|
+
export const SI_PREFIX_MULTIPLIERS = Object.freeze({
|
|
21
22
|
'ATTO': 1e-18,
|
|
22
23
|
'FEMTO': 1e-15,
|
|
23
24
|
'PICO': 1e-12,
|
|
@@ -34,7 +35,7 @@ export const SI_PREFIX_MULTIPLIERS = {
|
|
|
34
35
|
'TERA': 1e12,
|
|
35
36
|
'PETA': 1e15,
|
|
36
37
|
'EXA': 1e18,
|
|
37
|
-
};
|
|
38
|
+
});
|
|
38
39
|
/**
|
|
39
40
|
* Known conversion factors for imperial/conversion-based units to meters.
|
|
40
41
|
*
|
|
@@ -80,7 +81,7 @@ function warnUnknownUnit(entityIndex, reason) {
|
|
|
80
81
|
if (warnedEntityIndexes.has(entityIndex))
|
|
81
82
|
return;
|
|
82
83
|
warnedEntityIndexes.add(entityIndex);
|
|
83
|
-
console.warn(`[UnitExtractor] ${reason}
|
|
84
|
+
console.warn(`[UnitExtractor] ${unknownUnitMessage(reason)}`);
|
|
84
85
|
}
|
|
85
86
|
/**
|
|
86
87
|
* Extract length unit scale factor from IFC file
|
|
@@ -106,36 +107,45 @@ function warnUnknownUnit(entityIndex, reason) {
|
|
|
106
107
|
* @returns Scale factor to apply to length values (e.g., 0.001 for millimeters)
|
|
107
108
|
*/
|
|
108
109
|
export function extractLengthUnitScale(source, entityIndex, projectId) {
|
|
110
|
+
return resolveLengthUnit(source, entityIndex, projectId).scale;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* {@link extractLengthUnitScale} plus where the scale came from (#7395, see
|
|
114
|
+
* `LengthUnitSource`). A defaulted unit warns to the console once per
|
|
115
|
+
* `entityIndex`, as before, and is also sent to `onDiagnostic` when given.
|
|
116
|
+
*/
|
|
117
|
+
export function resolveLengthUnit(source, entityIndex, projectId, onDiagnostic) {
|
|
109
118
|
// Find IFCPROJECT
|
|
110
119
|
// @raw-entity-enumeration-ok source parser selects the file's IfcProject to establish its declared units
|
|
111
120
|
const projectIds = entityIndex.byType.get('IFCPROJECT') || [];
|
|
112
121
|
const resolvedProjectId = projectId ?? projectIds[0];
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
122
|
+
const resolved = resolvedProjectId === undefined
|
|
123
|
+
? defaulted('No IFCPROJECT found')
|
|
124
|
+
: resolveLengthUnitForProjectId(resolvedProjectId, source, entityIndex);
|
|
125
|
+
if (resolved.reason !== undefined) {
|
|
126
|
+
warnUnknownUnit(entityIndex, resolved.reason);
|
|
127
|
+
onDiagnostic?.(`units: ${unknownUnitMessage(resolved.reason)}`);
|
|
116
128
|
}
|
|
117
|
-
return
|
|
129
|
+
return resolved;
|
|
118
130
|
}
|
|
119
131
|
/**
|
|
120
|
-
* Same resolution as {@link
|
|
132
|
+
* Same resolution as {@link resolveLengthUnit}, but for an EXPLICIT
|
|
121
133
|
* `IFCPROJECT` id rather than always the first one found. Factored out so
|
|
122
134
|
* {@link resolveEntityLengthUnitScale} and other {@link resolveOwningIfcProjectId}
|
|
123
135
|
* callers can resolve the scale of a specific project in a multi-project
|
|
124
136
|
* file (a {@link MergedExporter} federated output — see that module)
|
|
125
137
|
* without duplicating the unit-chain walk.
|
|
126
138
|
*/
|
|
127
|
-
function
|
|
139
|
+
function resolveLengthUnitForProjectId(projectId, source, entityIndex) {
|
|
128
140
|
const extractor = new EntityExtractor(source);
|
|
129
141
|
// @raw-entity-enumeration-ok dereference the parsed IfcProject before reading UnitsInContext
|
|
130
142
|
const projectRef = entityIndex.byId.get(projectId);
|
|
131
143
|
if (!projectRef) {
|
|
132
|
-
|
|
133
|
-
return 1.0;
|
|
144
|
+
return defaulted('IFCPROJECT reference could not be resolved');
|
|
134
145
|
}
|
|
135
146
|
const projectEntity = extractor.extractEntity(projectRef);
|
|
136
147
|
if (!projectEntity) {
|
|
137
|
-
|
|
138
|
-
return 1.0;
|
|
148
|
+
return defaulted('IFCPROJECT entity could not be read');
|
|
139
149
|
}
|
|
140
150
|
// IFCPROJECT attributes:
|
|
141
151
|
// [0] GlobalId, [1] OwnerHistory, [2] Name, [3] Description, [4] ObjectType,
|
|
@@ -143,31 +153,26 @@ function extractLengthUnitScaleForProjectId(projectId, source, entityIndex) {
|
|
|
143
153
|
const attrs = projectEntity.attributes || [];
|
|
144
154
|
const unitsRef = attrs[8];
|
|
145
155
|
if (typeof unitsRef !== 'number') {
|
|
146
|
-
|
|
147
|
-
return 1.0;
|
|
156
|
+
return defaulted('No UnitsInContext reference');
|
|
148
157
|
}
|
|
149
158
|
// Resolve IFCUNITASSIGNMENT
|
|
150
159
|
// @raw-entity-enumeration-ok follow the source IfcUnitAssignment reference
|
|
151
160
|
const unitAssignmentRef = entityIndex.byId.get(unitsRef);
|
|
152
161
|
if (!unitAssignmentRef) {
|
|
153
|
-
|
|
154
|
-
return 1.0;
|
|
162
|
+
return defaulted('UnitsInContext reference could not be resolved');
|
|
155
163
|
}
|
|
156
164
|
const unitAssignment = extractor.extractEntity(unitAssignmentRef);
|
|
157
165
|
if (!unitAssignment || unitAssignment.type.toUpperCase() !== 'IFCUNITASSIGNMENT') {
|
|
158
|
-
|
|
159
|
-
return 1.0;
|
|
166
|
+
return defaulted('UnitsInContext did not resolve to an IFCUNITASSIGNMENT');
|
|
160
167
|
}
|
|
161
168
|
// Guard against missing attributes
|
|
162
169
|
if (!unitAssignment.attributes || !Array.isArray(unitAssignment.attributes)) {
|
|
163
|
-
|
|
164
|
-
return 1.0;
|
|
170
|
+
return defaulted('IFCUNITASSIGNMENT has no readable attributes');
|
|
165
171
|
}
|
|
166
172
|
// IFCUNITASSIGNMENT has a single attribute: Units (list of references)
|
|
167
173
|
const unitsList = unitAssignment.attributes[0];
|
|
168
174
|
if (!Array.isArray(unitsList)) {
|
|
169
|
-
|
|
170
|
-
return 1.0;
|
|
175
|
+
return defaulted('IFCUNITASSIGNMENT.Units is not a list');
|
|
171
176
|
}
|
|
172
177
|
// Search for length unit
|
|
173
178
|
for (const unitRef of unitsList) {
|
|
@@ -195,7 +200,7 @@ function extractLengthUnitScaleForProjectId(projectId, source, entityIndex) {
|
|
|
195
200
|
const prefix = unitAttrs[2];
|
|
196
201
|
if (prefix === null || prefix === undefined || prefix === '$') {
|
|
197
202
|
// No prefix = base meters
|
|
198
|
-
return 1.0;
|
|
203
|
+
return declared(1.0);
|
|
199
204
|
}
|
|
200
205
|
// Clean up enum value (remove dots)
|
|
201
206
|
const prefixStr = typeof prefix === 'string'
|
|
@@ -203,10 +208,9 @@ function extractLengthUnitScaleForProjectId(projectId, source, entityIndex) {
|
|
|
203
208
|
: '';
|
|
204
209
|
const multiplier = SI_PREFIX_MULTIPLIERS[prefixStr];
|
|
205
210
|
if (multiplier !== undefined) {
|
|
206
|
-
return multiplier;
|
|
211
|
+
return declared(multiplier);
|
|
207
212
|
}
|
|
208
|
-
|
|
209
|
-
return 1.0;
|
|
213
|
+
return defaulted(`Unrecognized SI prefix "${prefixStr}"`);
|
|
210
214
|
}
|
|
211
215
|
// Handle IFCCONVERSIONBASEDUNIT (imperial units)
|
|
212
216
|
if (unitType === 'IFCCONVERSIONBASEDUNIT') {
|
|
@@ -222,7 +226,7 @@ function extractLengthUnitScaleForProjectId(projectId, source, entityIndex) {
|
|
|
222
226
|
const nameUpper = unitName.toUpperCase();
|
|
223
227
|
const knownFactor = CONVERSION_BASED_UNIT_FACTORS[nameUpper];
|
|
224
228
|
if (knownFactor !== undefined) {
|
|
225
|
-
return knownFactor;
|
|
229
|
+
return declared(knownFactor);
|
|
226
230
|
}
|
|
227
231
|
}
|
|
228
232
|
// Try to extract from ConversionFactor (IFCMEASUREWITHUNIT reference)
|
|
@@ -279,7 +283,7 @@ function extractLengthUnitScaleForProjectId(projectId, source, entityIndex) {
|
|
|
279
283
|
}
|
|
280
284
|
}
|
|
281
285
|
}
|
|
282
|
-
return conversionValue * unitComponentScale;
|
|
286
|
+
return declared(conversionValue * unitComponentScale);
|
|
283
287
|
}
|
|
284
288
|
}
|
|
285
289
|
}
|
|
@@ -287,8 +291,7 @@ function extractLengthUnitScaleForProjectId(projectId, source, entityIndex) {
|
|
|
287
291
|
}
|
|
288
292
|
}
|
|
289
293
|
// No length unit found, default to meters
|
|
290
|
-
|
|
291
|
-
return 1.0;
|
|
294
|
+
return defaulted('No LENGTHUNIT found in IFCUNITASSIGNMENT');
|
|
292
295
|
}
|
|
293
296
|
/**
|
|
294
297
|
* Resolve the length unit scale that applies to ONE entity, correctly for a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-extractor.js","sourceRoot":"","sources":["../src/unit-extractor.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAsB,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"unit-extractor.js","sourceRoot":"","sources":["../src/unit-extractor.ts"],"names":[],"mappings":"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"}
|
package/dist/worker-parser.d.ts
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import type { IfcDataStore } from './columnar-parser.js';
|
|
19
19
|
import type { ParseOptions } from './index.js';
|
|
20
20
|
import type { ParserMemorySnapshot } from './data-store-transport.js';
|
|
21
|
+
import { type LoadTrace } from '@ifc-lite/load-trace';
|
|
21
22
|
export interface WorkerParserOptions extends ParseOptions {
|
|
22
23
|
/** Fresh per-request 16-byte prepass fingerprint cell; never awaited. */
|
|
23
24
|
sourceFingerprint?: SharedArrayBuffer;
|
|
@@ -39,6 +40,12 @@ export interface WorkerParserOptions extends ParseOptions {
|
|
|
39
40
|
* `abort(reason)` is passed through as-is, the default is an `AbortError`.
|
|
40
41
|
*/
|
|
41
42
|
signal?: AbortSignal;
|
|
43
|
+
/**
|
|
44
|
+
* The caller's load trace (#6979). Records `parser.worker` (spawn to settle)
|
|
45
|
+
* with the worker's own phase spans merged under it, plus the main-thread
|
|
46
|
+
* `parser.hydrate` / `parser.hydratePartial`. Absent or disabled: no-op.
|
|
47
|
+
*/
|
|
48
|
+
trace?: LoadTrace;
|
|
42
49
|
}
|
|
43
50
|
export declare class WorkerParser {
|
|
44
51
|
private worker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-parser.d.ts","sourceRoot":"","sources":["../src/worker-parser.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-parser.d.ts","sourceRoot":"","sources":["../src/worker-parser.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQtE,OAAO,EAAkF,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtI,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;IACzB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyC;IACvE;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAMT;IAEhB;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;gBAOjB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,GAAG,GAAG,MAAM,CAAA;KAAO;IAQtD;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;IA8MlG;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CACZ,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,IAAI;IAmBP;;;;;;;;;;;OAWG;IACH,SAAS,IAAI,IAAI;CAclB"}
|
package/dist/worker-parser.js
CHANGED
|
@@ -4,19 +4,8 @@
|
|
|
4
4
|
import { WorkerIndexReceiver } from './worker-index-publication.js';
|
|
5
5
|
import { contiguousSourceBytes } from './source-bytes.js';
|
|
6
6
|
import { restashWasmPanicLocation } from './wasm-panic-forward.js';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* when available (browsers, modern Node) so `err.name === 'AbortError'` matches
|
|
10
|
-
* the same check callers already use for `fetch`/`AbortController` cancellation.
|
|
11
|
-
*/
|
|
12
|
-
function makeAbortError(message = 'Parser worker terminated') {
|
|
13
|
-
if (typeof DOMException !== 'undefined') {
|
|
14
|
-
return new DOMException(message, 'AbortError');
|
|
15
|
-
}
|
|
16
|
-
const err = new Error(message);
|
|
17
|
-
err.name = 'AbortError';
|
|
18
|
-
return err;
|
|
19
|
-
}
|
|
7
|
+
import { makeAbortError } from './abort-error.js';
|
|
8
|
+
import { NOOP_LOAD_TRACE, accountWorkerMessages, enableWorkerTrace, isTraceSpansMessage } from '@ifc-lite/load-trace';
|
|
20
9
|
export class WorkerParser {
|
|
21
10
|
worker = null;
|
|
22
11
|
requestCounter = 0;
|
|
@@ -70,8 +59,10 @@ export class WorkerParser {
|
|
|
70
59
|
if (options.signal?.aborted) {
|
|
71
60
|
return Promise.reject(options.signal.reason ?? makeAbortError('Parse aborted before start'));
|
|
72
61
|
}
|
|
62
|
+
const trace = options.trace ?? NOOP_LOAD_TRACE;
|
|
73
63
|
return new Promise((resolve, reject) => {
|
|
74
64
|
const id = `parse_${Date.now()}_${++this.requestCounter}`;
|
|
65
|
+
const parseSpan = trace.begin('parser.worker');
|
|
75
66
|
let onSignalAbort = null;
|
|
76
67
|
let worker;
|
|
77
68
|
try {
|
|
@@ -89,7 +80,7 @@ export class WorkerParser {
|
|
|
89
80
|
// `this.worker` is only the `setEntityIndex` target: the most recently
|
|
90
81
|
// spawned worker. Every path below clears it only while it still points
|
|
91
82
|
// at THIS request's worker, so settling one request never detaches another.
|
|
92
|
-
this.worker = worker;
|
|
83
|
+
this.worker = accountWorkerMessages(worker, 'parser'); // #6957 message counters (no-op unless traced)
|
|
93
84
|
// Reject + terminate THIS request on demand, invoked by terminate() and by
|
|
94
85
|
// this request's own 'abort' listener. Removed from `activeCancels` in
|
|
95
86
|
// settle(), and the `settled` guard makes a stray late call a no-op.
|
|
@@ -124,6 +115,7 @@ export class WorkerParser {
|
|
|
124
115
|
};
|
|
125
116
|
const settle = (cleanup) => {
|
|
126
117
|
settled = true;
|
|
118
|
+
trace.end(parseSpan);
|
|
127
119
|
indexReceiver.clear();
|
|
128
120
|
worker.onmessage = null;
|
|
129
121
|
worker.onerror = null;
|
|
@@ -139,6 +131,11 @@ export class WorkerParser {
|
|
|
139
131
|
options.signal.addEventListener('abort', onSignalAbort, { once: true });
|
|
140
132
|
}
|
|
141
133
|
worker.onmessage = (event) => {
|
|
134
|
+
const raw = event.data;
|
|
135
|
+
if (isTraceSpansMessage(raw)) {
|
|
136
|
+
trace.merge(raw.payload, parseSpan);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
142
139
|
const msg = event.data;
|
|
143
140
|
if (!msg || msg.id !== id)
|
|
144
141
|
return;
|
|
@@ -154,7 +151,7 @@ export class WorkerParser {
|
|
|
154
151
|
indexReceiver.capturePartial(msg.payload);
|
|
155
152
|
if (!options.onSpatialReady)
|
|
156
153
|
return;
|
|
157
|
-
const partial = hydrate(msg.payload);
|
|
154
|
+
const partial = trace.span('parser.hydratePartial', () => hydrate(msg.payload));
|
|
158
155
|
options.onSpatialReady(partial);
|
|
159
156
|
}
|
|
160
157
|
catch (err) {
|
|
@@ -172,7 +169,7 @@ export class WorkerParser {
|
|
|
172
169
|
worker.terminate();
|
|
173
170
|
if (this.worker === worker)
|
|
174
171
|
this.worker = null;
|
|
175
|
-
const dataStore = hydrate(msg.payload);
|
|
172
|
+
const dataStore = trace.span('parser.hydrate', () => hydrate(msg.payload));
|
|
176
173
|
options.onMemorySnapshot?.(msg.memory);
|
|
177
174
|
settle(() => { });
|
|
178
175
|
resolve(dataStore);
|
|
@@ -238,6 +235,7 @@ export class WorkerParser {
|
|
|
238
235
|
console.warn('[WorkerParser] queued setEntityIndex failed:', err);
|
|
239
236
|
}
|
|
240
237
|
}
|
|
238
|
+
enableWorkerTrace(worker, trace, 'parser');
|
|
241
239
|
const input = {
|
|
242
240
|
type: 'parse',
|
|
243
241
|
sourceFingerprint: options.sourceFingerprint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-parser.js","sourceRoot":"","sources":["../src/worker-parser.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAsB/D,OAAO,EAAE,mBAAmB,EAA2B,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAC;AAK/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-parser.js","sourceRoot":"","sources":["../src/worker-parser.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": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"description": "IFC/STEP parser for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,15 +20,16 @@
|
|
|
20
20
|
"decimal.js": "^10.6.0",
|
|
21
21
|
"fflate": "^0.8.3",
|
|
22
22
|
"jszip": "^3.10.2",
|
|
23
|
+
"@ifc-lite/data": "^6.2.0",
|
|
23
24
|
"@ifc-lite/encoding": "^2.3.0",
|
|
24
|
-
"@ifc-lite/
|
|
25
|
-
"@ifc-lite/
|
|
26
|
-
"@ifc-lite/wasm": "^10.
|
|
25
|
+
"@ifc-lite/ifcx": "^4.4.0",
|
|
26
|
+
"@ifc-lite/load-trace": "^0.2.0",
|
|
27
|
+
"@ifc-lite/wasm": "^10.4.0",
|
|
27
28
|
"@ifc-lite/wasm-lifecycle": "^0.2.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"typescript": "^6.0.3",
|
|
31
|
-
"vitest": "^5.0.
|
|
32
|
+
"vitest": "^5.0.3"
|
|
32
33
|
},
|
|
33
34
|
"license": "MPL-2.0",
|
|
34
35
|
"author": "Louis True",
|