@bldrs-ai/conway 1.548.1514 → 1.553.1520
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/compiled/examples/browser-bundled.cjs +23 -2
- package/compiled/examples/cli-bundled.cjs +156 -18
- package/compiled/examples/cli-step-bundled.cjs +28 -4
- package/compiled/examples/validator-bundled.cjs +23 -2
- package/compiled/src/AP214E3_2010/ap214_command_line_main.js +4 -1
- package/compiled/src/AP214E3_2010/ap214_regression_main.js +47 -4
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts +33 -0
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.js +80 -20
- package/compiled/src/core/wasm_heap.d.ts +5 -4
- package/compiled/src/core/wasm_heap.d.ts.map +1 -1
- package/compiled/src/core/wasm_heap.js +5 -4
- package/compiled/src/ifc/ifc_command_line_main.js +12 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +55 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +170 -20
- package/compiled/src/ifc/ifc_regression_main.js +97 -6
- package/compiled/src/ifc/ifc_rel_aggregate_extraction.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_rel_aggregate_extraction.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_rel_aggregate_extraction.test.js +115 -0
- package/compiled/src/loaders/conway_model_loader.d.ts.map +1 -1
- package/compiled/src/loaders/conway_model_loader.js +26 -0
- package/compiled/src/memory/memory.d.ts.map +1 -1
- package/compiled/src/memory/memory.js +25 -1
- package/compiled/src/memory/memory_stats.test.d.ts +2 -0
- package/compiled/src/memory/memory_stats.test.d.ts.map +1 -0
- package/compiled/src/memory/memory_stats.test.js +115 -0
- package/compiled/src/scripts/bless_perf_snapshot.test.js +44 -6
- package/compiled/src/scripts/perf_csv_quoting.test.js +113 -23
- package/compiled/src/statistics/statistics.d.ts +18 -0
- package/compiled/src/statistics/statistics.d.ts.map +1 -1
- package/compiled/src/statistics/statistics.js +22 -0
- package/compiled/src/statistics/statistics_wasm_heap.test.d.ts +2 -0
- package/compiled/src/statistics/statistics_wasm_heap.test.d.ts.map +1 -0
- package/compiled/src/statistics/statistics_wasm_heap.test.js +60 -0
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -30,7 +30,7 @@ var import_node_process = require("node:process");
|
|
|
30
30
|
var readline = __toESM(require("node:readline"), 1);
|
|
31
31
|
|
|
32
32
|
// compiled/src/version/version.js
|
|
33
|
-
var versionString = "Conway v1.
|
|
33
|
+
var versionString = "Conway v1.553.1520";
|
|
34
34
|
|
|
35
35
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
36
36
|
var wasmType = "";
|
|
@@ -145,6 +145,27 @@ var Statistics = class {
|
|
|
145
145
|
setGeometryMemory(value) {
|
|
146
146
|
this.geometryMemory = value;
|
|
147
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Wasm linear-memory high-water mark in MB, from wasmHeapByteLength.
|
|
150
|
+
*
|
|
151
|
+
* @return {number | undefined} - wasm heap high-water, or undefined
|
|
152
|
+
*/
|
|
153
|
+
getWasmHeapPeak() {
|
|
154
|
+
return this.wasmHeapPeak;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* The wasm heap only ever grows, so a single reading of it IS the peak —
|
|
158
|
+
* no sampling loop and no forced GC. It is a different quantity from
|
|
159
|
+
* geometryMemory, and by a wide margin: on MB-Khaya an 8 MB live geometry
|
|
160
|
+
* payload sits under an 85 MB wasm heap, the gap being allocator overhead,
|
|
161
|
+
* fragmentation and the intermediate buffers a boolean leaves behind (see
|
|
162
|
+
* src/ifc/geometry_residency.ts). Neither substitutes for the other.
|
|
163
|
+
*
|
|
164
|
+
* @param value - wasm heap high-water in MB
|
|
165
|
+
*/
|
|
166
|
+
setWasmHeapPeak(value) {
|
|
167
|
+
this.wasmHeapPeak = value;
|
|
168
|
+
}
|
|
148
169
|
/**
|
|
149
170
|
*
|
|
150
171
|
* @return {string | undefined} - preprocessor version or undefined
|
|
@@ -278,7 +299,7 @@ var Statistics = class {
|
|
|
278
299
|
const products = this.productCount !== void 0 ? `Products: ${this.productCount}, ` : "";
|
|
279
300
|
const breakdown = this.formatGeometryTypeCounts();
|
|
280
301
|
const geometryTypes = breakdown !== void 0 ? `, Geometry Types: ${breakdown}` : "";
|
|
281
|
-
return `[${dateString}]: Load Status: ${this.loadStatus}, Project Name: ${this.projectName}, Version: ${versionStr}, Conway Version: ${conwayVersionNumber}-${wasmType}, Parse Time: ${this.parseTime} ms, Geometry Time: ${this.geometryTime} ms, Total Time: ${this.totalTime} ms, Geometry Memory: ${this.geometryMemory?.toFixed(3)} MB, ` + products + `Memory Statistics: ${this.memoryStatistics}, Preprocessor Version: ${this.preprocessorVersion}, Originating System: ${this.originatingSystem}` + geometryTypes;
|
|
302
|
+
return `[${dateString}]: Load Status: ${this.loadStatus}, Project Name: ${this.projectName}, Version: ${versionStr}, Conway Version: ${conwayVersionNumber}-${wasmType}, Parse Time: ${this.parseTime} ms, Geometry Time: ${this.geometryTime} ms, Total Time: ${this.totalTime} ms, Geometry Memory: ${this.geometryMemory?.toFixed(3)} MB, WASM Heap High-Water: ${this.wasmHeapPeak?.toFixed(3)} MB, ` + products + `Memory Statistics: ${this.memoryStatistics}, Preprocessor Version: ${this.preprocessorVersion}, Originating System: ${this.originatingSystem}` + geometryTypes;
|
|
282
303
|
}
|
|
283
304
|
};
|
|
284
305
|
|
|
@@ -14965,7 +14965,7 @@ ${t5.join("\n")}` : "";
|
|
|
14965
14965
|
var import_process = require("process");
|
|
14966
14966
|
|
|
14967
14967
|
// compiled/src/version/version.js
|
|
14968
|
-
var versionString = "Conway v1.
|
|
14968
|
+
var versionString = "Conway v1.553.1520";
|
|
14969
14969
|
|
|
14970
14970
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
14971
14971
|
function pThreadsAllowed() {
|
|
@@ -15819,6 +15819,27 @@ var Statistics = class {
|
|
|
15819
15819
|
setGeometryMemory(value) {
|
|
15820
15820
|
this.geometryMemory = value;
|
|
15821
15821
|
}
|
|
15822
|
+
/**
|
|
15823
|
+
* Wasm linear-memory high-water mark in MB, from wasmHeapByteLength.
|
|
15824
|
+
*
|
|
15825
|
+
* @return {number | undefined} - wasm heap high-water, or undefined
|
|
15826
|
+
*/
|
|
15827
|
+
getWasmHeapPeak() {
|
|
15828
|
+
return this.wasmHeapPeak;
|
|
15829
|
+
}
|
|
15830
|
+
/**
|
|
15831
|
+
* The wasm heap only ever grows, so a single reading of it IS the peak —
|
|
15832
|
+
* no sampling loop and no forced GC. It is a different quantity from
|
|
15833
|
+
* geometryMemory, and by a wide margin: on MB-Khaya an 8 MB live geometry
|
|
15834
|
+
* payload sits under an 85 MB wasm heap, the gap being allocator overhead,
|
|
15835
|
+
* fragmentation and the intermediate buffers a boolean leaves behind (see
|
|
15836
|
+
* src/ifc/geometry_residency.ts). Neither substitutes for the other.
|
|
15837
|
+
*
|
|
15838
|
+
* @param value - wasm heap high-water in MB
|
|
15839
|
+
*/
|
|
15840
|
+
setWasmHeapPeak(value) {
|
|
15841
|
+
this.wasmHeapPeak = value;
|
|
15842
|
+
}
|
|
15822
15843
|
/**
|
|
15823
15844
|
*
|
|
15824
15845
|
* @return {string | undefined} - preprocessor version or undefined
|
|
@@ -15952,7 +15973,7 @@ var Statistics = class {
|
|
|
15952
15973
|
const products = this.productCount !== void 0 ? `Products: ${this.productCount}, ` : "";
|
|
15953
15974
|
const breakdown = this.formatGeometryTypeCounts();
|
|
15954
15975
|
const geometryTypes = breakdown !== void 0 ? `, Geometry Types: ${breakdown}` : "";
|
|
15955
|
-
return `[${dateString}]: Load Status: ${this.loadStatus}, Project Name: ${this.projectName}, Version: ${versionStr}, Conway Version: ${conwayVersionNumber}-${wasmType}, Parse Time: ${this.parseTime} ms, Geometry Time: ${this.geometryTime} ms, Total Time: ${this.totalTime} ms, Geometry Memory: ${this.geometryMemory?.toFixed(3)} MB, ` + products + `Memory Statistics: ${this.memoryStatistics}, Preprocessor Version: ${this.preprocessorVersion}, Originating System: ${this.originatingSystem}` + geometryTypes;
|
|
15976
|
+
return `[${dateString}]: Load Status: ${this.loadStatus}, Project Name: ${this.projectName}, Version: ${versionStr}, Conway Version: ${conwayVersionNumber}-${wasmType}, Parse Time: ${this.parseTime} ms, Geometry Time: ${this.geometryTime} ms, Total Time: ${this.totalTime} ms, Geometry Memory: ${this.geometryMemory?.toFixed(3)} MB, WASM Heap High-Water: ${this.wasmHeapPeak?.toFixed(3)} MB, ` + products + `Memory Statistics: ${this.memoryStatistics}, Preprocessor Version: ${this.preprocessorVersion}, Originating System: ${this.originatingSystem}` + geometryTypes;
|
|
15956
15977
|
}
|
|
15957
15978
|
};
|
|
15958
15979
|
|
|
@@ -16324,7 +16345,10 @@ var Memory = class {
|
|
|
16324
16345
|
const rss = (memoryUsage.rss / 1024 / 1024).toFixed(3);
|
|
16325
16346
|
const heapTotal = (memoryUsage.heapTotal / 1024 / 1024).toFixed(3);
|
|
16326
16347
|
const heapUsed = (memoryUsage.heapUsed / 1024 / 1024).toFixed(3);
|
|
16327
|
-
|
|
16348
|
+
const external = (memoryUsage.external / 1024 / 1024).toFixed(3);
|
|
16349
|
+
const arrayBuffers = (memoryUsage.arrayBuffers / 1024 / 1024).toFixed(3);
|
|
16350
|
+
const peakRss = (process.resourceUsage().maxRSS / 1024).toFixed(3);
|
|
16351
|
+
return `Node Memory Usage: RSS ${rss} MB, Heap Total: ${heapTotal} MB, Heap Used: ${heapUsed} MB, Peak RSS: ${peakRss} MB, External: ${external} MB, ArrayBuffers: ${arrayBuffers} MB`;
|
|
16328
16352
|
}
|
|
16329
16353
|
};
|
|
16330
16354
|
|
|
@@ -27012,6 +27036,10 @@ function wasmHeapView(wasmModule, arrayType, pointer, elementCount) {
|
|
|
27012
27036
|
const numBytes = elementCount * arrayType.BYTES_PER_ELEMENT;
|
|
27013
27037
|
return new arrayType(reconcileHeapBuffer(wasmModule, address, numBytes), address, elementCount);
|
|
27014
27038
|
}
|
|
27039
|
+
function wasmHeapByteLength(wasmModule) {
|
|
27040
|
+
refreshHeapViews(wasmModule);
|
|
27041
|
+
return currentHeapBuffer(wasmModule)?.byteLength ?? 0;
|
|
27042
|
+
}
|
|
27015
27043
|
function arrayToWasmHeap(wasmModule, array) {
|
|
27016
27044
|
const numBytes = array.length * array.BYTES_PER_ELEMENT;
|
|
27017
27045
|
const arrayPtr = wasmModule._malloc(numBytes) >>> 0;
|
|
@@ -93924,10 +93952,21 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93924
93952
|
if (relating !== null && relating !== void 0) {
|
|
93925
93953
|
await this.ensureResidentForProductExtract(relating.localID, pinned, leafSpans);
|
|
93926
93954
|
}
|
|
93927
|
-
const
|
|
93928
|
-
if (
|
|
93929
|
-
|
|
93930
|
-
|
|
93955
|
+
const relatedExpressIDs = this.relatedObjectExpressIDs_(relAggregate);
|
|
93956
|
+
if (relatedExpressIDs === void 0) {
|
|
93957
|
+
const related = relAggregate.RelatedObjects;
|
|
93958
|
+
if (related !== null && related !== void 0) {
|
|
93959
|
+
for (const product of related) {
|
|
93960
|
+
await this.ensureResidentForProductExtract(product.localID, pinned, leafSpans);
|
|
93961
|
+
}
|
|
93962
|
+
}
|
|
93963
|
+
} else {
|
|
93964
|
+
for (const relatedExpressID of relatedExpressIDs) {
|
|
93965
|
+
const relatedLocalID = this.model.resolveExpressID(relatedExpressID);
|
|
93966
|
+
if (relatedLocalID === void 0) {
|
|
93967
|
+
continue;
|
|
93968
|
+
}
|
|
93969
|
+
await this.ensureResidentForProductExtract(relatedLocalID, pinned, leafSpans);
|
|
93931
93970
|
}
|
|
93932
93971
|
}
|
|
93933
93972
|
return pinned;
|
|
@@ -93955,6 +93994,46 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93955
93994
|
this.extractRelAggregateGeometry(relAggregate);
|
|
93956
93995
|
}
|
|
93957
93996
|
}
|
|
93997
|
+
/**
|
|
93998
|
+
* Express IDs of one IfcRelAggregates' RelatedObjects, read straight off
|
|
93999
|
+
* the relationship's own record.
|
|
94000
|
+
*
|
|
94001
|
+
* Deliberately NOT `relAggregate.RelatedObjects`: that generated getter
|
|
94002
|
+
* memoizes the materialised entity array onto the relationship as
|
|
94003
|
+
* `RelatedObjects_` (IfcRelAggregates.gen.ts), so every related product
|
|
94004
|
+
* stays reachable for as long as the relationship does — and each product
|
|
94005
|
+
* in turn memoizes the tessellation subtree its own getters walk
|
|
94006
|
+
* (IfcPolyLoop.Polygon_, IfcCartesianPoint.Coordinates_, ...). The
|
|
94007
|
+
* per-product graphs therefore SUM instead of overlapping. On SKYLARK250,
|
|
94008
|
+
* whose 1,992 products are all aggregate targets, that is 2.7 GB of a
|
|
94009
|
+
* 5.4 GB peak (conway#549 §4). Resolving one product at a time from IDs
|
|
94010
|
+
* lets each graph die with its iteration, exactly as the ordinary product
|
|
94011
|
+
* loop's iterator already does.
|
|
94012
|
+
*
|
|
94013
|
+
* The scan mirrors the getter's own parse — `forEachReferenceInField`
|
|
94014
|
+
* runs the same optional/array-token walk over the same field
|
|
94015
|
+
* coordinates — so it sees the same entries in the same order.
|
|
94016
|
+
*
|
|
94017
|
+
* @param relAggregate The relationship to read.
|
|
94018
|
+
* @return {number[] | undefined} The related objects' express IDs in
|
|
94019
|
+
* record order, or undefined when the list holds an entry that is not a
|
|
94020
|
+
* `#N` reference — an inline entity, `$`, or junk. Only the generated
|
|
94021
|
+
* getter can resolve (or reject) those, so the caller falls back to it
|
|
94022
|
+
* rather than guessing.
|
|
94023
|
+
*/
|
|
94024
|
+
relatedObjectExpressIDs_(relAggregate) {
|
|
94025
|
+
const expressIDs = [];
|
|
94026
|
+
let allReferences = true;
|
|
94027
|
+
relAggregate.forEachReferenceInField(REL_AGGREGATES_RELATED_OFFSET, REL_AGGREGATES_RELATED_BASE, REL_AGGREGATES_RELATED_DEPTH, (expressID) => {
|
|
94028
|
+
if (expressID === void 0) {
|
|
94029
|
+
allReferences = false;
|
|
94030
|
+
return false;
|
|
94031
|
+
}
|
|
94032
|
+
expressIDs.push(expressID);
|
|
94033
|
+
return true;
|
|
94034
|
+
});
|
|
94035
|
+
return allReferences ? expressIDs : void 0;
|
|
94036
|
+
}
|
|
93958
94037
|
/**
|
|
93959
94038
|
* Extract one IfcRelAggregates' related products with the relating
|
|
93960
94039
|
* object's ("master") rel-voids — the shared per-item body of the
|
|
@@ -93966,17 +94045,63 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93966
94045
|
* @param relAggregate The rel-aggregates relationship to process.
|
|
93967
94046
|
*/
|
|
93968
94047
|
extractRelAggregateGeometry(relAggregate) {
|
|
94048
|
+
const stepper = this.extractRelAggregateGeometryIncremental(relAggregate);
|
|
94049
|
+
let step = stepper.next();
|
|
94050
|
+
while (step.done !== true) {
|
|
94051
|
+
step = stepper.next();
|
|
94052
|
+
}
|
|
94053
|
+
}
|
|
94054
|
+
/**
|
|
94055
|
+
* Incremental twin of {@link extractRelAggregateGeometry}: identical
|
|
94056
|
+
* extraction, suspending after each related product so a driver can
|
|
94057
|
+
* report progress and yield to the event loop *inside* the relationship.
|
|
94058
|
+
*
|
|
94059
|
+
* Without this the whole rel-aggregates pass is a single unyielding call.
|
|
94060
|
+
* On SKYLARK250 all 2,002 of the cooperative walk's suspension points
|
|
94061
|
+
* fire in 16 ms — every product is an aggregate target, so the product
|
|
94062
|
+
* loop skips them all — and the remaining ~60 s of real work runs inside
|
|
94063
|
+
* two `extractRelAggregateGeometry` calls with no suspension point at
|
|
94064
|
+
* all. That is the browser-tab hang in conway#549 §7, and it is
|
|
94065
|
+
* independent of the memory fix: a small model with one big aggregate
|
|
94066
|
+
* freezes the same way.
|
|
94067
|
+
*
|
|
94068
|
+
* Suspending here cannot show a caller a half-built product: the split is
|
|
94069
|
+
* BETWEEN products, and each product's scene content is complete before
|
|
94070
|
+
* the yield. Nor does it reorder emission — the products are visited in
|
|
94071
|
+
* record order either way. Aggregate targets are skipped by the product
|
|
94072
|
+
* pass (see aggregateTargetLocalIDs) and by the pump's product worklist,
|
|
94073
|
+
* so a consumer that streams meshes mid-relationship sees the
|
|
94074
|
+
* not-yet-reached products as absent rather than as uncut placeholders.
|
|
94075
|
+
*
|
|
94076
|
+
* @param relAggregate The rel-aggregates relationship to process.
|
|
94077
|
+
* @yields {number} The number of related products extracted so far from
|
|
94078
|
+
* THIS relationship, after each one.
|
|
94079
|
+
*/
|
|
94080
|
+
*extractRelAggregateGeometryIncremental(relAggregate) {
|
|
94081
|
+
let masterRelVoids;
|
|
93969
94082
|
try {
|
|
93970
94083
|
const relatingObject = relAggregate.RelatingObject;
|
|
93971
|
-
|
|
93972
|
-
const
|
|
93973
|
-
|
|
93974
|
-
|
|
93975
|
-
|
|
94084
|
+
masterRelVoids = relatingObject instanceof IfcProduct ? this.extractRelVoids(relatingObject) : void 0;
|
|
94085
|
+
const relatedExpressIDs = this.relatedObjectExpressIDs_(relAggregate);
|
|
94086
|
+
let extractedCount = 0;
|
|
94087
|
+
if (relatedExpressIDs === void 0) {
|
|
94088
|
+
for (const productRepresentation of relAggregate.RelatedObjects) {
|
|
94089
|
+
if (productRepresentation instanceof IfcProduct) {
|
|
94090
|
+
this.extractProductGeometry(productRepresentation, masterRelVoids);
|
|
94091
|
+
yield ++extractedCount;
|
|
94092
|
+
}
|
|
94093
|
+
}
|
|
94094
|
+
} else {
|
|
94095
|
+
for (const relatedExpressID of relatedExpressIDs) {
|
|
94096
|
+
const relatedObject = this.model.getTypedElementByExpressID(relatedExpressID, IfcObjectDefinition);
|
|
94097
|
+
if (relatedObject === void 0) {
|
|
94098
|
+
throw new Error("Value in STEP was incorrectly typed");
|
|
94099
|
+
}
|
|
94100
|
+
if (relatedObject instanceof IfcProduct) {
|
|
94101
|
+
this.extractProductGeometry(relatedObject, masterRelVoids);
|
|
94102
|
+
yield ++extractedCount;
|
|
94103
|
+
}
|
|
93976
94104
|
}
|
|
93977
|
-
}
|
|
93978
|
-
if (masterRelVoids !== void 0) {
|
|
93979
|
-
masterRelVoids[0].delete();
|
|
93980
94105
|
}
|
|
93981
94106
|
} catch (ex) {
|
|
93982
94107
|
if (ex instanceof Error) {
|
|
@@ -93989,6 +94114,10 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93989
94114
|
} else {
|
|
93990
94115
|
logger_default.error("Unknown exception processing IfcRelAssociateMaterials.");
|
|
93991
94116
|
}
|
|
94117
|
+
} finally {
|
|
94118
|
+
if (masterRelVoids !== void 0) {
|
|
94119
|
+
masterRelVoids[0].delete();
|
|
94120
|
+
}
|
|
93992
94121
|
}
|
|
93993
94122
|
}
|
|
93994
94123
|
/**
|
|
@@ -94193,9 +94322,9 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
94193
94322
|
}
|
|
94194
94323
|
this.prepareExtractionMaps_();
|
|
94195
94324
|
const products = this.model.types(IfcProduct);
|
|
94196
|
-
const totalItems = this.model.typeCount(IfcProduct) + this.model.typeCount(IfcRelAggregates);
|
|
94197
|
-
let completedItems = 0;
|
|
94198
94325
|
const aggregateTargets = this.aggregateTargetLocalIDs();
|
|
94326
|
+
let totalItems = this.model.typeCount(IfcProduct) + this.model.typeCount(IfcRelAggregates) + aggregateTargets.size;
|
|
94327
|
+
let completedItems = 0;
|
|
94199
94328
|
for (const product of products) {
|
|
94200
94329
|
yield [++completedItems, totalItems];
|
|
94201
94330
|
if (aggregateTargets.has(product.localID)) {
|
|
@@ -94218,7 +94347,12 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
94218
94347
|
const relAggregates = this.model.types(IfcRelAggregates);
|
|
94219
94348
|
for (const relAggregate of relAggregates) {
|
|
94220
94349
|
yield [++completedItems, totalItems];
|
|
94221
|
-
|
|
94350
|
+
const aggregateBase = completedItems;
|
|
94351
|
+
for (const extractedInAggregate of this.extractRelAggregateGeometryIncremental(relAggregate)) {
|
|
94352
|
+
completedItems = aggregateBase + extractedInAggregate;
|
|
94353
|
+
totalItems = Math.max(totalItems, completedItems);
|
|
94354
|
+
yield [completedItems, totalItems];
|
|
94355
|
+
}
|
|
94222
94356
|
}
|
|
94223
94357
|
if (RegressionCaptureState.memoization !== MemoizationCapture.FULL) {
|
|
94224
94358
|
this.model.geometry.deleteTemporaries();
|
|
@@ -95344,6 +95478,10 @@ function geometryExtraction(model, limitCSGDepth = true, maxCSGDepth = 20, onPro
|
|
|
95344
95478
|
const ONE_KB = 1024;
|
|
95345
95479
|
const ONE_MB = ONE_KB * ONE_KB;
|
|
95346
95480
|
statistics?.setGeometryMemory(conwayModel.model.geometry.calculateGeometrySize() / ONE_MB);
|
|
95481
|
+
const wasmModule = conwaywasm.wasmModule;
|
|
95482
|
+
if (wasmModule !== void 0) {
|
|
95483
|
+
statistics?.setWasmHeapPeak(wasmHeapByteLength(wasmModule) / ONE_MB);
|
|
95484
|
+
}
|
|
95347
95485
|
const ifcProjectName = conwayModel.getIfcProjectName();
|
|
95348
95486
|
if (ifcProjectName !== null) {
|
|
95349
95487
|
statistics?.setProjectName(ifcProjectName);
|
|
@@ -15943,7 +15943,7 @@ var ParsingBuffer = class {
|
|
|
15943
15943
|
};
|
|
15944
15944
|
|
|
15945
15945
|
// compiled/src/version/version.js
|
|
15946
|
-
var versionString = "Conway v1.
|
|
15946
|
+
var versionString = "Conway v1.553.1520";
|
|
15947
15947
|
|
|
15948
15948
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
15949
15949
|
function pThreadsAllowed() {
|
|
@@ -16797,6 +16797,27 @@ var Statistics = class {
|
|
|
16797
16797
|
setGeometryMemory(value) {
|
|
16798
16798
|
this.geometryMemory = value;
|
|
16799
16799
|
}
|
|
16800
|
+
/**
|
|
16801
|
+
* Wasm linear-memory high-water mark in MB, from wasmHeapByteLength.
|
|
16802
|
+
*
|
|
16803
|
+
* @return {number | undefined} - wasm heap high-water, or undefined
|
|
16804
|
+
*/
|
|
16805
|
+
getWasmHeapPeak() {
|
|
16806
|
+
return this.wasmHeapPeak;
|
|
16807
|
+
}
|
|
16808
|
+
/**
|
|
16809
|
+
* The wasm heap only ever grows, so a single reading of it IS the peak —
|
|
16810
|
+
* no sampling loop and no forced GC. It is a different quantity from
|
|
16811
|
+
* geometryMemory, and by a wide margin: on MB-Khaya an 8 MB live geometry
|
|
16812
|
+
* payload sits under an 85 MB wasm heap, the gap being allocator overhead,
|
|
16813
|
+
* fragmentation and the intermediate buffers a boolean leaves behind (see
|
|
16814
|
+
* src/ifc/geometry_residency.ts). Neither substitutes for the other.
|
|
16815
|
+
*
|
|
16816
|
+
* @param value - wasm heap high-water in MB
|
|
16817
|
+
*/
|
|
16818
|
+
setWasmHeapPeak(value) {
|
|
16819
|
+
this.wasmHeapPeak = value;
|
|
16820
|
+
}
|
|
16800
16821
|
/**
|
|
16801
16822
|
*
|
|
16802
16823
|
* @return {string | undefined} - preprocessor version or undefined
|
|
@@ -16930,7 +16951,7 @@ var Statistics = class {
|
|
|
16930
16951
|
const products = this.productCount !== void 0 ? `Products: ${this.productCount}, ` : "";
|
|
16931
16952
|
const breakdown = this.formatGeometryTypeCounts();
|
|
16932
16953
|
const geometryTypes = breakdown !== void 0 ? `, Geometry Types: ${breakdown}` : "";
|
|
16933
|
-
return `[${dateString}]: Load Status: ${this.loadStatus}, Project Name: ${this.projectName}, Version: ${versionStr}, Conway Version: ${conwayVersionNumber}-${wasmType}, Parse Time: ${this.parseTime} ms, Geometry Time: ${this.geometryTime} ms, Total Time: ${this.totalTime} ms, Geometry Memory: ${this.geometryMemory?.toFixed(3)} MB, ` + products + `Memory Statistics: ${this.memoryStatistics}, Preprocessor Version: ${this.preprocessorVersion}, Originating System: ${this.originatingSystem}` + geometryTypes;
|
|
16954
|
+
return `[${dateString}]: Load Status: ${this.loadStatus}, Project Name: ${this.projectName}, Version: ${versionStr}, Conway Version: ${conwayVersionNumber}-${wasmType}, Parse Time: ${this.parseTime} ms, Geometry Time: ${this.geometryTime} ms, Total Time: ${this.totalTime} ms, Geometry Memory: ${this.geometryMemory?.toFixed(3)} MB, WASM Heap High-Water: ${this.wasmHeapPeak?.toFixed(3)} MB, ` + products + `Memory Statistics: ${this.memoryStatistics}, Preprocessor Version: ${this.preprocessorVersion}, Originating System: ${this.originatingSystem}` + geometryTypes;
|
|
16934
16955
|
}
|
|
16935
16956
|
};
|
|
16936
16957
|
|
|
@@ -17302,7 +17323,10 @@ var Memory = class {
|
|
|
17302
17323
|
const rss = (memoryUsage.rss / 1024 / 1024).toFixed(3);
|
|
17303
17324
|
const heapTotal = (memoryUsage.heapTotal / 1024 / 1024).toFixed(3);
|
|
17304
17325
|
const heapUsed = (memoryUsage.heapUsed / 1024 / 1024).toFixed(3);
|
|
17305
|
-
|
|
17326
|
+
const external = (memoryUsage.external / 1024 / 1024).toFixed(3);
|
|
17327
|
+
const arrayBuffers = (memoryUsage.arrayBuffers / 1024 / 1024).toFixed(3);
|
|
17328
|
+
const peakRss = (process.resourceUsage().maxRSS / 1024).toFixed(3);
|
|
17329
|
+
return `Node Memory Usage: RSS ${rss} MB, Heap Total: ${heapTotal} MB, Heap Used: ${heapUsed} MB, Peak RSS: ${peakRss} MB, External: ${external} MB, ArrayBuffers: ${arrayBuffers} MB`;
|
|
17306
17330
|
}
|
|
17307
17331
|
};
|
|
17308
17332
|
|
|
@@ -86173,7 +86197,7 @@ function geometryExtraction(model, limitCSGDepth = true, maxCSGDepth = 20) {
|
|
|
86173
86197
|
const ONE_MB = ONE_KB * ONE_KB;
|
|
86174
86198
|
const wasmModule = conwaywasm.wasmModule;
|
|
86175
86199
|
if (wasmModule !== void 0) {
|
|
86176
|
-
|
|
86200
|
+
statistics?.setWasmHeapPeak(wasmHeapByteLength(wasmModule) / ONE_MB);
|
|
86177
86201
|
}
|
|
86178
86202
|
statistics?.setGeometryMemory(conwayModel.model.geometry.calculateGeometrySize() / ONE_MB);
|
|
86179
86203
|
model.invalidate(true);
|
|
@@ -944,7 +944,7 @@ var EntityTypesIfcCount = 909;
|
|
|
944
944
|
var entity_types_ifc_gen_default = EntityTypesIfc;
|
|
945
945
|
|
|
946
946
|
// compiled/src/version/version.js
|
|
947
|
-
var versionString = "Conway v1.
|
|
947
|
+
var versionString = "Conway v1.553.1520";
|
|
948
948
|
|
|
949
949
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
950
950
|
var wasmType = "";
|
|
@@ -1059,6 +1059,27 @@ var Statistics = class {
|
|
|
1059
1059
|
setGeometryMemory(value) {
|
|
1060
1060
|
this.geometryMemory = value;
|
|
1061
1061
|
}
|
|
1062
|
+
/**
|
|
1063
|
+
* Wasm linear-memory high-water mark in MB, from wasmHeapByteLength.
|
|
1064
|
+
*
|
|
1065
|
+
* @return {number | undefined} - wasm heap high-water, or undefined
|
|
1066
|
+
*/
|
|
1067
|
+
getWasmHeapPeak() {
|
|
1068
|
+
return this.wasmHeapPeak;
|
|
1069
|
+
}
|
|
1070
|
+
/**
|
|
1071
|
+
* The wasm heap only ever grows, so a single reading of it IS the peak —
|
|
1072
|
+
* no sampling loop and no forced GC. It is a different quantity from
|
|
1073
|
+
* geometryMemory, and by a wide margin: on MB-Khaya an 8 MB live geometry
|
|
1074
|
+
* payload sits under an 85 MB wasm heap, the gap being allocator overhead,
|
|
1075
|
+
* fragmentation and the intermediate buffers a boolean leaves behind (see
|
|
1076
|
+
* src/ifc/geometry_residency.ts). Neither substitutes for the other.
|
|
1077
|
+
*
|
|
1078
|
+
* @param value - wasm heap high-water in MB
|
|
1079
|
+
*/
|
|
1080
|
+
setWasmHeapPeak(value) {
|
|
1081
|
+
this.wasmHeapPeak = value;
|
|
1082
|
+
}
|
|
1062
1083
|
/**
|
|
1063
1084
|
*
|
|
1064
1085
|
* @return {string | undefined} - preprocessor version or undefined
|
|
@@ -1192,7 +1213,7 @@ var Statistics = class {
|
|
|
1192
1213
|
const products = this.productCount !== void 0 ? `Products: ${this.productCount}, ` : "";
|
|
1193
1214
|
const breakdown = this.formatGeometryTypeCounts();
|
|
1194
1215
|
const geometryTypes = breakdown !== void 0 ? `, Geometry Types: ${breakdown}` : "";
|
|
1195
|
-
return `[${dateString}]: Load Status: ${this.loadStatus}, Project Name: ${this.projectName}, Version: ${versionStr}, Conway Version: ${conwayVersionNumber}-${wasmType}, Parse Time: ${this.parseTime} ms, Geometry Time: ${this.geometryTime} ms, Total Time: ${this.totalTime} ms, Geometry Memory: ${this.geometryMemory?.toFixed(3)} MB, ` + products + `Memory Statistics: ${this.memoryStatistics}, Preprocessor Version: ${this.preprocessorVersion}, Originating System: ${this.originatingSystem}` + geometryTypes;
|
|
1216
|
+
return `[${dateString}]: Load Status: ${this.loadStatus}, Project Name: ${this.projectName}, Version: ${versionStr}, Conway Version: ${conwayVersionNumber}-${wasmType}, Parse Time: ${this.parseTime} ms, Geometry Time: ${this.geometryTime} ms, Total Time: ${this.totalTime} ms, Geometry Memory: ${this.geometryMemory?.toFixed(3)} MB, WASM Heap High-Water: ${this.wasmHeapPeak?.toFixed(3)} MB, ` + products + `Memory Statistics: ${this.memoryStatistics}, Preprocessor Version: ${this.preprocessorVersion}, Originating System: ${this.originatingSystem}` + geometryTypes;
|
|
1196
1217
|
}
|
|
1197
1218
|
};
|
|
1198
1219
|
|
|
@@ -405,12 +405,15 @@ function geometryExtraction(model, limitCSGDepth = true, maxCSGDepth = 20) {
|
|
|
405
405
|
statistics?.setGeometryTime(executionTimeInMs);
|
|
406
406
|
const ONE_KB = 1024;
|
|
407
407
|
const ONE_MB = ONE_KB * ONE_KB;
|
|
408
|
+
// Recorded on the statistics rather than logged on its own line, so the one
|
|
409
|
+
// spelling of this number reaches the benchmark's `peakWasmHeapMb` column
|
|
410
|
+
// through the same load-status line as every other measurement (#552).
|
|
408
411
|
// Measured through wasmHeapByteLength rather than HEAPU8.length: the
|
|
409
412
|
// module's cached view can be a growth step behind the real heap (#485), and
|
|
410
413
|
// a high-water figure that under-reports is worse than none.
|
|
411
414
|
const wasmModule = conwaywasm.wasmModule;
|
|
412
415
|
if (wasmModule !== void 0) {
|
|
413
|
-
|
|
416
|
+
statistics?.setWasmHeapPeak(wasmHeapByteLength(wasmModule) / ONE_MB);
|
|
414
417
|
}
|
|
415
418
|
statistics?.setGeometryMemory(conwayModel.model.geometry.calculateGeometrySize() / (ONE_MB));
|
|
416
419
|
model.invalidate(true);
|
|
@@ -9,6 +9,7 @@ import fsPromises from "fs/promises";
|
|
|
9
9
|
import path from "path";
|
|
10
10
|
import crypto from "crypto";
|
|
11
11
|
import { ConwayGeometry } from "../../dependencies/conway-geom/index.js";
|
|
12
|
+
import { wasmHeapByteLength } from "../core/wasm_heap.js";
|
|
12
13
|
import Logger from "../logging/logger.js";
|
|
13
14
|
import Environment from "../utilities/environment.js";
|
|
14
15
|
import { ExtractResult } from "../core/shared_constants.js";
|
|
@@ -35,22 +36,40 @@ function csvSafeString(from) {
|
|
|
35
36
|
// Bytes per megabyte for memory-stat formatting in the perf CSV.
|
|
36
37
|
// eslint-disable-next-line no-magic-numbers
|
|
37
38
|
const BYTES_PER_MB = 1024 * 1024;
|
|
39
|
+
// Kilobytes per megabyte, for resourceUsage().maxRSS which reports kB.
|
|
40
|
+
// eslint-disable-next-line no-magic-numbers
|
|
41
|
+
const KB_PER_MB = 1024;
|
|
38
42
|
// Fixed-point precision for perf MB values.
|
|
39
43
|
// eslint-disable-next-line no-magic-numbers
|
|
40
44
|
const PERF_MB_PRECISION = 2;
|
|
45
|
+
/** Placeholder for a column this row has no measurement for. */
|
|
46
|
+
const UNMEASURED = "N/A";
|
|
41
47
|
/**
|
|
42
48
|
* Write a single-row per-file perf CSV at the given path, matching the
|
|
43
49
|
* column layout of the IFC regression child so the batch aggregator can
|
|
44
50
|
* merge STEP and IFC rows into one perf CSV. No-op when perfPath is empty.
|
|
45
51
|
*
|
|
52
|
+
* `peakRssMb` is the process high-water mark; `rssMb`, `heapUsedMb`,
|
|
53
|
+
* `heapTotalMb`, `externalMb` and `arrayBuffersMb` are single instants
|
|
54
|
+
* sampled at write time, and `geometryMemoryMb` is conway's own vertex+index
|
|
55
|
+
* payload rather than a process metric. `arrayBuffersMb` is a subset of
|
|
56
|
+
* `externalMb`, and neither sees the wasm heap. See the fuller
|
|
57
|
+
* column-by-column note on the IFC child's copy of this function
|
|
58
|
+
* (`src/ifc/ifc_regression_main.ts`), which is the writer these columns have
|
|
59
|
+
* to stay identical to.
|
|
60
|
+
*
|
|
46
61
|
* @param perfPath Path to write the CSV to. Empty string disables.
|
|
47
62
|
* @param stepFile Source STEP file path (basename used as the row key).
|
|
48
63
|
* @param status OK or FAIL.
|
|
49
64
|
* @param parseTimeMs Parse stage duration in ms.
|
|
50
65
|
* @param geometryTimeMs Geometry extraction duration in ms.
|
|
51
66
|
* @param totalTimeMs Sum of parse + geometry in ms.
|
|
67
|
+
* @param geometryMemoryBytes Geometry payload conway allocated, in bytes, or
|
|
68
|
+
* undefined where no geometry was extracted (written as N/A).
|
|
69
|
+
* @param wasmHeapBytes Wasm linear-memory high-water in bytes, or undefined
|
|
70
|
+
* where the module was never brought up (written as N/A).
|
|
52
71
|
*/
|
|
53
|
-
async function writePerfCsvIfRequested(perfPath, stepFile, status, parseTimeMs, geometryTimeMs, totalTimeMs) {
|
|
72
|
+
async function writePerfCsvIfRequested(perfPath, stepFile, status, parseTimeMs, geometryTimeMs, totalTimeMs, geometryMemoryBytes, wasmHeapBytes) {
|
|
54
73
|
if (perfPath.length === 0) {
|
|
55
74
|
return;
|
|
56
75
|
}
|
|
@@ -58,10 +77,23 @@ async function writePerfCsvIfRequested(perfPath, stepFile, status, parseTimeMs,
|
|
|
58
77
|
const rssMb = (mem.rss / BYTES_PER_MB).toFixed(PERF_MB_PRECISION);
|
|
59
78
|
const heapUsedMb = (mem.heapUsed / BYTES_PER_MB).toFixed(PERF_MB_PRECISION);
|
|
60
79
|
const heapTotalMb = (mem.heapTotal / BYTES_PER_MB).toFixed(PERF_MB_PRECISION);
|
|
80
|
+
const externalMb = (mem.external / BYTES_PER_MB).toFixed(PERF_MB_PRECISION);
|
|
81
|
+
const arrayBuffersMb = (mem.arrayBuffers / BYTES_PER_MB).toFixed(PERF_MB_PRECISION);
|
|
82
|
+
// maxRSS is reported in kilobytes, unlike memoryUsage() which is in bytes.
|
|
83
|
+
const peakRssMb = (process.resourceUsage().maxRSS / KB_PER_MB).toFixed(PERF_MB_PRECISION);
|
|
84
|
+
const geometryMemoryMb = geometryMemoryBytes !== void 0 ?
|
|
85
|
+
(geometryMemoryBytes / BYTES_PER_MB).toFixed(PERF_MB_PRECISION) :
|
|
86
|
+
UNMEASURED;
|
|
87
|
+
const peakWasmHeapMb = wasmHeapBytes !== void 0 ?
|
|
88
|
+
(wasmHeapBytes / BYTES_PER_MB).toFixed(PERF_MB_PRECISION) :
|
|
89
|
+
UNMEASURED;
|
|
61
90
|
const fileName = csvSafeString(path.basename(stepFile));
|
|
62
|
-
const header = "file,status,parseTimeMs,geometryTimeMs,totalTimeMs,
|
|
91
|
+
const header = "file,status,parseTimeMs,geometryTimeMs,totalTimeMs,geometryMemoryMb," +
|
|
92
|
+
"peakWasmHeapMb,rssMb,peakRssMb,heapUsedMb,heapTotalMb,externalMb," +
|
|
93
|
+
"arrayBuffersMb\n";
|
|
63
94
|
const row = `${fileName},${status},${parseTimeMs},${geometryTimeMs},${totalTimeMs},` +
|
|
64
|
-
`${
|
|
95
|
+
`${geometryMemoryMb},${peakWasmHeapMb},${rssMb},${peakRssMb},` +
|
|
96
|
+
`${heapUsedMb},${heapTotalMb},${externalMb},${arrayBuffersMb}\n`;
|
|
65
97
|
try {
|
|
66
98
|
await fsPromises.writeFile(perfPath, header + row);
|
|
67
99
|
}
|
|
@@ -206,7 +238,18 @@ function doWork() {
|
|
|
206
238
|
const geometryTimeMs = geomEndMs - geomStartMs;
|
|
207
239
|
const totalTimeMs = geomEndMs - parseStartMs;
|
|
208
240
|
const perfStatus = extraction === void 0 ? "FAIL" : "OK";
|
|
209
|
-
|
|
241
|
+
// Sized before anything downstream can release meshes, and only on
|
|
242
|
+
// the OK path: a failed extraction leaves a partial cache whose size
|
|
243
|
+
// is not this model's geometry footprint.
|
|
244
|
+
const geometryMemoryBytes = extraction !== void 0 ?
|
|
245
|
+
model.geometry.calculateGeometrySize() : void 0;
|
|
246
|
+
// The heap is grow-only, so this is the run's high-water mark even
|
|
247
|
+
// though it is read once, after the fact. conwayGeom is the engine
|
|
248
|
+
// every extraction in this process runs against.
|
|
249
|
+
const wasmModule = conwayGeom.wasmModule;
|
|
250
|
+
const wasmHeapBytes = wasmModule !== void 0 ?
|
|
251
|
+
wasmHeapByteLength(wasmModule) : void 0;
|
|
252
|
+
await writePerfCsvIfRequested(perfPath, stepFile, perfStatus, parseTimeMs, geometryTimeMs, totalTimeMs, geometryMemoryBytes, wasmHeapBytes);
|
|
210
253
|
// AFTP sizing pass: no-op unless the wasm module was built with
|
|
211
254
|
// CONWAY_ALLOC_TELEMETRY (see conway-geom structures/alloc_telemetry.h).
|
|
212
255
|
conwayGeom.dumpAllocTelemetry(path.basename(stepFile));
|
|
@@ -128,6 +128,28 @@ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough {
|
|
|
128
128
|
private demandAggregates_?;
|
|
129
129
|
/** Cursor into demandAggregates_ — items before it are extracted. */
|
|
130
130
|
private demandAggregatesCursor_;
|
|
131
|
+
/**
|
|
132
|
+
* The relationship at demandAggregatesCursor_, part-way through its
|
|
133
|
+
* related products. A batch budget subdivides ONE relationship rather
|
|
134
|
+
* than being spent whole on it: an aggregate-structured model puts all
|
|
135
|
+
* of its geometry in this pass, so budgeting per relationship makes the
|
|
136
|
+
* budget meaningless and gives the caller a single unyielding call for
|
|
137
|
+
* the whole model (conway#549 §7 — SKYLARK250 gets two budget units for
|
|
138
|
+
* 1,992 products). Undefined between relationships.
|
|
139
|
+
*/
|
|
140
|
+
private demandAggregateStepper_?;
|
|
141
|
+
/**
|
|
142
|
+
* Source pins and leaf spans held for the relationship
|
|
143
|
+
* demandAggregateStepper_ is walking, released when it finishes. They
|
|
144
|
+
* have to outlive the batch that started it: the pins are what keep the
|
|
145
|
+
* relationship's products readable, and re-running the prefetch per batch
|
|
146
|
+
* would re-walk every related product's closure per batch. This holds the
|
|
147
|
+
* same pins for the same span of work as before — that span just no
|
|
148
|
+
* longer has to fit in one pump call.
|
|
149
|
+
*/
|
|
150
|
+
private demandAggregatePins_?;
|
|
151
|
+
/** Leaf byte ranges pinned alongside demandAggregatePins_. */
|
|
152
|
+
private demandAggregateSpans_?;
|
|
131
153
|
/**
|
|
132
154
|
* Coordination matrix the deferred capture derived (or adopted from
|
|
133
155
|
* the parse-time preview channel). Kept OFF the model tuple's slot 5
|
|
@@ -755,6 +777,17 @@ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough {
|
|
|
755
777
|
*/
|
|
756
778
|
private recentreEnabled_;
|
|
757
779
|
private checkShardPreconditions_;
|
|
780
|
+
/**
|
|
781
|
+
* Finish with the relationship demandAggregateStepper_ is on: close a
|
|
782
|
+
* stepper that has not run out (its finally frees the master rel-voids
|
|
783
|
+
* vector, which is native memory), and drop the source pins the async
|
|
784
|
+
* prefetch took for it.
|
|
785
|
+
*
|
|
786
|
+
* Safe to call when nothing is in flight — that is the whole point of
|
|
787
|
+
* calling it from the worklist installers, where a stepper left over from
|
|
788
|
+
* a previous walk would otherwise hold both.
|
|
789
|
+
*/
|
|
790
|
+
private releaseDemandAggregate_;
|
|
758
791
|
private pumpGeometryBatch_;
|
|
759
792
|
/**
|
|
760
793
|
* Walk the scene and emit every not-yet-captured placed instance as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_api_proxy_ifc.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/ifc_api_proxy_ifc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAQ/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,MAAM,EACP,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,qBAAqB,EAA8B,MAAM,iCAAiC,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAqBrD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AA2DzE;;;;;GAKG;AACH,UAAU,iBAAiB;IACzB,UAAU,EAAE,cAAc,CAAA;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;uEACmE;IACnE,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC;;qEAEiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,eAAe,CAAA;IACtB,cAAc,EAAE,qBAAqB,CAAA;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,OAAO,CAAC,EAAE,eAAe,CAAA;CAC1B;AA6CD,qBAAa,cAAe,YAAW,sBAAsB;
|
|
1
|
+
{"version":3,"file":"ifc_api_proxy_ifc.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/ifc_api_proxy_ifc.ts"],"names":[],"mappings":"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"}
|