@bldrs-ai/conway 1.509.1435 → 1.511.1441
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 +410 -16
- package/compiled/examples/cli-bundled.cjs +544 -18
- package/compiled/examples/cli-step-bundled.cjs +312 -16
- package/compiled/examples/validator-bundled.cjs +410 -16
- package/compiled/src/compat/web-ifc/ifc_api.d.ts +33 -0
- package/compiled/src/compat/web-ifc/ifc_api.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api.js +47 -0
- package/compiled/src/compat/web-ifc/ifc_api_deferred_open.test.js +29 -0
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough.d.ts +8 -0
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough_factory.d.ts +14 -0
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough_factory.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough_factory.js +33 -0
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.d.ts +7 -0
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.js +16 -0
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts +64 -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 +293 -30
- package/compiled/src/compat/web-ifc/ifc_api_streamed_open.test.js +29 -0
- package/compiled/src/ifc/ifc_demand_extraction.test.js +12 -1
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +35 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +142 -2
- package/compiled/src/ifc/ifc_step_parser.d.ts +23 -1
- package/compiled/src/ifc/ifc_step_parser.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_step_parser.js +23 -1
- package/compiled/src/ifc/ifc_stream_open.d.ts +28 -1
- package/compiled/src/ifc/ifc_stream_open.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_stream_open.js +44 -1
- package/compiled/src/ifc/ifc_stream_open.test.js +10 -1
- package/compiled/src/index.d.ts +3 -2
- package/compiled/src/index.d.ts.map +1 -1
- package/compiled/src/index.js +3 -2
- package/compiled/src/namespace_surface.test.js +3 -0
- package/compiled/src/step/parsing/byte_source.d.ts +98 -0
- package/compiled/src/step/parsing/byte_source.d.ts.map +1 -1
- package/compiled/src/step/parsing/byte_source.js +71 -0
- package/compiled/src/step/parsing/byte_source.test.d.ts +2 -0
- package/compiled/src/step/parsing/byte_source.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/byte_source.test.js +47 -0
- package/compiled/src/step/parsing/byte_source_node.d.ts +41 -0
- package/compiled/src/step/parsing/byte_source_node.d.ts.map +1 -0
- package/compiled/src/step/parsing/byte_source_node.js +54 -0
- package/compiled/src/step/parsing/express_ref_scan.d.ts +20 -0
- package/compiled/src/step/parsing/express_ref_scan.d.ts.map +1 -0
- package/compiled/src/step/parsing/express_ref_scan.js +91 -0
- package/compiled/src/step/parsing/express_ref_scan.test.d.ts +2 -0
- package/compiled/src/step/parsing/express_ref_scan.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/express_ref_scan.test.js +28 -0
- package/compiled/src/step/parsing/step_parser.d.ts +7 -4
- package/compiled/src/step/parsing/step_parser.d.ts.map +1 -1
- package/compiled/src/step/parsing/step_parser.js +25 -6
- package/compiled/src/step/parsing/streaming_index_builder.d.ts +3 -3
- package/compiled/src/step/parsing/streaming_index_builder.d.ts.map +1 -1
- package/compiled/src/step/parsing/streaming_index_builder.js +27 -7
- package/compiled/src/step/parsing/streaming_index_builder_async.test.js +13 -1
- package/compiled/src/step/step_buffer_provider.d.ts +44 -0
- package/compiled/src/step/step_buffer_provider.d.ts.map +1 -1
- package/compiled/src/step/step_buffer_provider.js +56 -8
- package/compiled/src/step/step_buffer_provider.test.js +14 -0
- package/compiled/src/step/step_entity_base.d.ts +15 -0
- package/compiled/src/step/step_entity_base.d.ts.map +1 -1
- package/compiled/src/step/step_entity_base.js +33 -0
- package/compiled/src/step/step_model_base.d.ts +62 -0
- package/compiled/src/step/step_model_base.d.ts.map +1 -1
- package/compiled/src/step/step_model_base.js +136 -0
- package/compiled/src/stream/index.d.ts +3 -2
- package/compiled/src/stream/index.d.ts.map +1 -1
- package/compiled/src/stream/index.js +3 -2
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ConwayGeometry, } from "../../index.js";
|
|
2
2
|
import IfcStepModel from "../../ifc/ifc_step_model.js";
|
|
3
|
+
import { WindowedStepBufferProvider } from "../../step/step_buffer_provider.js";
|
|
3
4
|
import * as glmatrix from "gl-matrix";
|
|
4
5
|
import { LARGE_COORDINATE_BUDGET_M, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, composeTransformF64, deriveCoordinationF64 } from "./coordination_f64.js";
|
|
5
6
|
import { IfcProperties } from "./ifc_properties.js";
|
|
@@ -9,8 +10,8 @@ import { formatModelLine } from "../../core/progress_log.js";
|
|
|
9
10
|
import { extractModelInfo } from "../../loaders/loading_utilities.js";
|
|
10
11
|
import IfcStepParser from "../../ifc/ifc_step_parser.js";
|
|
11
12
|
import ParsingBuffer from "../../parsing/parsing_buffer.js";
|
|
12
|
-
import { BufferByteSource } from "../../step/parsing/byte_source.js";
|
|
13
|
-
import { buildIndexStreamingAsync, } from "../../step/parsing/streaming_index_builder.js";
|
|
13
|
+
import { BufferByteSource, StoreByteSource } from "../../step/parsing/byte_source.js";
|
|
14
|
+
import { buildIndexStreamingAsync, buildColumnarIndexStreamingAsync, } from "../../step/parsing/streaming_index_builder.js";
|
|
14
15
|
import { ColumnarIndexSink } from "../../step/parsing/columnar_index.js";
|
|
15
16
|
import { ifcPreviewAdapter, StreamedPreviewChannel, } from "./streamed_preview_channel.js";
|
|
16
17
|
import { ExtractResult } from "../../index.js";
|
|
@@ -30,6 +31,11 @@ const DEFERRED_DRAIN_BATCH = 256;
|
|
|
30
31
|
* the source buffer, which the model keeps resident here). */
|
|
31
32
|
// eslint-disable-next-line no-magic-numbers
|
|
32
33
|
const STREAMED_PARSE_POOL_BYTES = 1024 * 1024;
|
|
34
|
+
/* Store-backed open pays an await per window slide (`File.slice`).
|
|
35
|
+
* 1 MiB on an 860 MB IFC is ~1700 trips; 16 MiB is ~100. The window
|
|
36
|
+
* is scratch — it does not stay resident after parse. */
|
|
37
|
+
// eslint-disable-next-line no-magic-numbers
|
|
38
|
+
const STORE_PARSE_POOL_BYTES = 16 * 1024 * 1024;
|
|
33
39
|
/**
|
|
34
40
|
* The proxy for IFC from the shim.
|
|
35
41
|
*/
|
|
@@ -47,6 +53,8 @@ export class IfcApiProxyIfc {
|
|
|
47
53
|
this.fs = undefined;
|
|
48
54
|
/** Was this model opened without extraction (DEFER_GEOMETRY)? */
|
|
49
55
|
this.deferredMode_ = false;
|
|
56
|
+
/** True once beginPhase('geometry') has fired for this deferred pump. */
|
|
57
|
+
this.geometryPhaseStarted_ = false;
|
|
50
58
|
/**
|
|
51
59
|
* Deferred capture watermarks: entity localID -> how many of its
|
|
52
60
|
* placed instances (in scene-walk order) have been captured. Shared
|
|
@@ -95,6 +103,7 @@ export class IfcApiProxyIfc {
|
|
|
95
103
|
this.conwaywasm = loadState.conwaywasm;
|
|
96
104
|
this.conwayGeometry_ = loadState.conwayGeometry;
|
|
97
105
|
this.deferredMode_ = loadState.deferred === true;
|
|
106
|
+
this.progressTracker_ = loadState.tracker;
|
|
98
107
|
const statistics = Logger.getStatistics(modelID);
|
|
99
108
|
const { allTimeStart, stepHeader, model, scene, conwayGeometry, geometryTimeInMs: executionTimeInMs, } = loadState;
|
|
100
109
|
// get linear scaling factor
|
|
@@ -265,6 +274,22 @@ export class IfcApiProxyIfc {
|
|
|
265
274
|
const loadState = await IfcApiProxyIfc.parseColumnarAndExtractAsync(modelID, data, new ConwayGeometry(wasmModule), settings, true);
|
|
266
275
|
return new IfcApiProxyIfc(modelID, data, wasmModule, settings, loadState);
|
|
267
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* M1b store-backed open: parse through a moving window over `store`
|
|
279
|
+
* and keep the model windowed from birth — the source is never held
|
|
280
|
+
* as one `ArrayBuffer`. Geometry extract pages product closures
|
|
281
|
+
* through {@link extractGeometryBatchAsync}.
|
|
282
|
+
*
|
|
283
|
+
* @param modelID The model ID being opened.
|
|
284
|
+
* @param store External store holding the source bytes.
|
|
285
|
+
* @param wasmModule The wasm module.
|
|
286
|
+
* @param settings Loader settings (ON_PROGRESS is honored).
|
|
287
|
+
* @return {Promise<IfcApiProxyIfc>} The constructed proxy.
|
|
288
|
+
*/
|
|
289
|
+
static async createFromStore(modelID, store, wasmModule, settings) {
|
|
290
|
+
const loadState = await IfcApiProxyIfc.parseColumnarFromStore(modelID, store, new ConwayGeometry(wasmModule), settings, settings?.DEFER_GEOMETRY === true);
|
|
291
|
+
return new IfcApiProxyIfc(modelID, new Uint8Array(0), wasmModule, settings, loadState);
|
|
292
|
+
}
|
|
268
293
|
/**
|
|
269
294
|
* Log + record the header parse result on the model statistics.
|
|
270
295
|
*
|
|
@@ -536,6 +561,7 @@ export class IfcApiProxyIfc {
|
|
|
536
561
|
scene: conwayGeometry.scene,
|
|
537
562
|
conwayGeometry,
|
|
538
563
|
geometryTimeInMs: 0,
|
|
564
|
+
tracker,
|
|
539
565
|
};
|
|
540
566
|
}
|
|
541
567
|
tracker?.beginPhase("geometry", "products");
|
|
@@ -565,6 +591,125 @@ export class IfcApiProxyIfc {
|
|
|
565
591
|
geometryTimeInMs: endTime - startTime,
|
|
566
592
|
};
|
|
567
593
|
}
|
|
594
|
+
/**
|
|
595
|
+
* Windowed-from-birth twin of parseColumnarAndExtractAsync: the
|
|
596
|
+
* source stays in `store`, parse windows are filled through it, and
|
|
597
|
+
* the model never holds a resident copy. Preview-during-parse is
|
|
598
|
+
* skipped (that channel needs a resident prefix). Deferred opens
|
|
599
|
+
* page prep closures before prepareDemandExtraction; non-deferred
|
|
600
|
+
* opens drain the demand pump with per-product residency.
|
|
601
|
+
*
|
|
602
|
+
* @param modelID The model ID being opened.
|
|
603
|
+
* @param store External store holding the source bytes.
|
|
604
|
+
* @param conwaywasm The conway geometry wasm wrapper.
|
|
605
|
+
* @param settings Loader settings (ON_PROGRESS is honored).
|
|
606
|
+
* @param deferGeometry Skip extraction (Share demand pump).
|
|
607
|
+
* @return {Promise<IfcProxyLoadState>} Everything the constructor tail needs.
|
|
608
|
+
*/
|
|
609
|
+
static async parseColumnarFromStore(modelID, store, conwaywasm, settings, deferGeometry = false) {
|
|
610
|
+
const tracker = IfcApiProxyIfc.makeTracker(settings);
|
|
611
|
+
const allTimeStart = Date.now();
|
|
612
|
+
const parser = IfcStepParser.Instance;
|
|
613
|
+
const fileSize = store.byteLength;
|
|
614
|
+
tracker?.beginPhase("headerParse", "bytes", fileSize);
|
|
615
|
+
const headerLen = Math.min(fileSize, STORE_PARSE_POOL_BYTES);
|
|
616
|
+
const headerBytes = await store.read(0, headerLen);
|
|
617
|
+
const [stepHeader, result0] = parser.parseHeader(new ParsingBuffer(headerBytes));
|
|
618
|
+
Logger.createStatistics(modelID);
|
|
619
|
+
const statistics = Logger.getStatistics(modelID);
|
|
620
|
+
IfcApiProxyIfc.reportHeaderParseResult(result0, new ParsingBuffer(headerBytes), modelID);
|
|
621
|
+
const modelInfo = extractModelInfo(stepHeader, fileSize);
|
|
622
|
+
Logger.info(formatModelLine(modelInfo));
|
|
623
|
+
settings?.ON_MODEL_INFO?.(modelInfo);
|
|
624
|
+
tracker?.beginPhase("dataParse", "bytes", fileSize);
|
|
625
|
+
const parseTick = tracker !== void 0 ?
|
|
626
|
+
(cursorBytes) => tracker.update(cursorBytes) : void 0;
|
|
627
|
+
const parseStartTime = Date.now();
|
|
628
|
+
const { result, columns } = await buildColumnarIndexStreamingAsync(new StoreByteSource(store), parser, STORE_PARSE_POOL_BYTES, void 0, parseTick);
|
|
629
|
+
const parseEndTime = Date.now();
|
|
630
|
+
tracker?.endPhase(fileSize);
|
|
631
|
+
if (result !== ParseResult.COMPLETE) {
|
|
632
|
+
Logger.warning(`[OpenModelStream]: streamed parse result ${result}`);
|
|
633
|
+
statistics?.setLoadStatus("PARSE_FAIL");
|
|
634
|
+
throw new Error("Streamed parse did not complete");
|
|
635
|
+
}
|
|
636
|
+
const provider = new WindowedStepBufferProvider(store);
|
|
637
|
+
const model = new IfcStepModel(void 0, columns, provider);
|
|
638
|
+
statistics?.setParseTime(parseEndTime - parseStartTime);
|
|
639
|
+
const conwayGeometry = new IfcGeometryExtraction(conwaywasm, model);
|
|
640
|
+
const prepPins = await conwayGeometry.ensureResidentForDemandPrep();
|
|
641
|
+
try {
|
|
642
|
+
conwayGeometry.prepareDemandExtraction();
|
|
643
|
+
}
|
|
644
|
+
finally {
|
|
645
|
+
model.unpinLocalIDs(prepPins);
|
|
646
|
+
}
|
|
647
|
+
if (deferGeometry) {
|
|
648
|
+
statistics?.setProductCount(model.typeCount(IfcProduct));
|
|
649
|
+
return {
|
|
650
|
+
conwaywasm,
|
|
651
|
+
deferred: true,
|
|
652
|
+
allTimeStart,
|
|
653
|
+
stepHeader,
|
|
654
|
+
model,
|
|
655
|
+
scene: conwayGeometry.scene,
|
|
656
|
+
conwayGeometry,
|
|
657
|
+
geometryTimeInMs: 0,
|
|
658
|
+
tracker,
|
|
659
|
+
};
|
|
660
|
+
}
|
|
661
|
+
tracker?.beginPhase("geometry", "products");
|
|
662
|
+
const startTime = Date.now();
|
|
663
|
+
const aggregateTargets = conwayGeometry.aggregateTargetLocalIDs();
|
|
664
|
+
let completed = 0;
|
|
665
|
+
tracker?.setPhaseTotal(model.typeCount(IfcProduct));
|
|
666
|
+
for (const product of model.types(IfcProduct)) {
|
|
667
|
+
if (aggregateTargets.has(product.localID)) {
|
|
668
|
+
continue;
|
|
669
|
+
}
|
|
670
|
+
const pins = await conwayGeometry.ensureResidentForProductExtract(product.localID);
|
|
671
|
+
try {
|
|
672
|
+
conwayGeometry.extractProductGeometryByLocalID(product.localID);
|
|
673
|
+
}
|
|
674
|
+
catch (error) {
|
|
675
|
+
Logger.error(`Error extracting product ${product.expressID}: ` +
|
|
676
|
+
`${error instanceof Error ? error.message : String(error)}`);
|
|
677
|
+
}
|
|
678
|
+
finally {
|
|
679
|
+
model.unpinLocalIDs(pins);
|
|
680
|
+
}
|
|
681
|
+
++completed;
|
|
682
|
+
tracker?.update(completed);
|
|
683
|
+
}
|
|
684
|
+
for (const relAggregate of model.types(IfcRelAggregates)) {
|
|
685
|
+
const pins = await conwayGeometry.ensureResidentForAggregateExtract(relAggregate);
|
|
686
|
+
try {
|
|
687
|
+
conwayGeometry.extractRelAggregateGeometry(relAggregate);
|
|
688
|
+
}
|
|
689
|
+
catch (error) {
|
|
690
|
+
Logger.error(`Error extracting aggregate ${relAggregate.expressID}: ` +
|
|
691
|
+
`${error instanceof Error ? error.message : String(error)}`);
|
|
692
|
+
}
|
|
693
|
+
finally {
|
|
694
|
+
model.unpinLocalIDs(pins);
|
|
695
|
+
}
|
|
696
|
+
++completed;
|
|
697
|
+
tracker?.update(completed);
|
|
698
|
+
}
|
|
699
|
+
const endTime = Date.now();
|
|
700
|
+
tracker?.endPhase();
|
|
701
|
+
statistics?.setProductCount(model.typeCount(IfcProduct));
|
|
702
|
+
statistics?.setGeometryTypeCounts(conwayGeometry.geometryTypeCounts);
|
|
703
|
+
return {
|
|
704
|
+
conwaywasm,
|
|
705
|
+
allTimeStart,
|
|
706
|
+
stepHeader,
|
|
707
|
+
model,
|
|
708
|
+
scene: conwayGeometry.scene,
|
|
709
|
+
conwayGeometry,
|
|
710
|
+
geometryTimeInMs: endTime - startTime,
|
|
711
|
+
};
|
|
712
|
+
}
|
|
568
713
|
/**
|
|
569
714
|
*
|
|
570
715
|
* @param input - FILE_HEADER from step header
|
|
@@ -1103,37 +1248,146 @@ export class IfcApiProxyIfc {
|
|
|
1103
1248
|
if (!this.deferredMode_) {
|
|
1104
1249
|
return { extracted: 0, remaining: 0 };
|
|
1105
1250
|
}
|
|
1106
|
-
if (this.
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1251
|
+
if (this.model[0].isSourceExternal) {
|
|
1252
|
+
throw new Error("ExtractGeometryBatch is synchronous and cannot page a windowed " +
|
|
1253
|
+
"source \u2014 use ExtractGeometryBatchAsync");
|
|
1254
|
+
}
|
|
1255
|
+
this.ensureDemandWorklists_();
|
|
1256
|
+
return this.pumpGeometryBatch_(batchSize, meshCallback);
|
|
1257
|
+
}
|
|
1258
|
+
/**
|
|
1259
|
+
* Async twin of {@link extractGeometryBatch}: pages each product's
|
|
1260
|
+
* `#ref` closure before extracting it, so a model opened through
|
|
1261
|
+
* {@link IfcApiProxyIfc.createFromStore} (windowed from birth) can
|
|
1262
|
+
* be pumped. Safe on a resident source (prefetch is a no-op).
|
|
1263
|
+
*
|
|
1264
|
+
* @param batchSize Max products to extract this call (min 1).
|
|
1265
|
+
* @param meshCallback Receives each newly-extracted product's mesh.
|
|
1266
|
+
* @return {Promise<object>} `{extracted, remaining}`.
|
|
1267
|
+
*/
|
|
1268
|
+
async extractGeometryBatchAsync(batchSize, meshCallback) {
|
|
1269
|
+
if (!this.deferredMode_) {
|
|
1270
|
+
return { extracted: 0, remaining: 0 };
|
|
1271
|
+
}
|
|
1272
|
+
this.ensureDemandWorklists_();
|
|
1273
|
+
if (!this.model[0].isSourceExternal) {
|
|
1274
|
+
return this.pumpGeometryBatch_(batchSize, meshCallback);
|
|
1275
|
+
}
|
|
1276
|
+
const products = this.demandProducts_ ?? [];
|
|
1277
|
+
const aggregates = this.demandAggregates_ ?? [];
|
|
1278
|
+
const totalWork = products.length + aggregates.length;
|
|
1279
|
+
const budget = Math.max(batchSize, 1);
|
|
1280
|
+
let extracted = 0;
|
|
1281
|
+
if (this.progressTracker_ !== void 0 && !this.geometryPhaseStarted_) {
|
|
1282
|
+
this.progressTracker_.beginPhase("geometry", "products", totalWork);
|
|
1283
|
+
this.geometryPhaseStarted_ = true;
|
|
1284
|
+
}
|
|
1285
|
+
const productEnd = Math.min(this.demandCursor_ + budget, products.length);
|
|
1286
|
+
for (; this.demandCursor_ < productEnd; ++this.demandCursor_) {
|
|
1287
|
+
const localID = products[this.demandCursor_];
|
|
1288
|
+
const pins = await this.conwayGeometry_.ensureResidentForProductExtract(localID);
|
|
1289
|
+
try {
|
|
1290
|
+
if (this.conwayGeometry_.extractProductGeometryByLocalID(localID)) {
|
|
1291
|
+
++extracted;
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
catch (error) {
|
|
1295
|
+
Logger.error(`Error extracting product localID ${localID}: ` +
|
|
1296
|
+
`${error instanceof Error ? error.message : String(error)}`);
|
|
1297
|
+
}
|
|
1298
|
+
finally {
|
|
1299
|
+
this.model[0].unpinLocalIDs(pins);
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
if (this.demandCursor_ >= products.length &&
|
|
1303
|
+
this.demandAggregatesCursor_ < aggregates.length) {
|
|
1304
|
+
const aggregatesEnd = Math.min(this.demandAggregatesCursor_ + (budget - extracted), aggregates.length);
|
|
1305
|
+
for (; this.demandAggregatesCursor_ < aggregatesEnd; ++this.demandAggregatesCursor_) {
|
|
1306
|
+
const relAggregate = aggregates[this.demandAggregatesCursor_];
|
|
1307
|
+
const pins = await this.conwayGeometry_.ensureResidentForAggregateExtract(relAggregate);
|
|
1308
|
+
try {
|
|
1309
|
+
this.conwayGeometry_.extractRelAggregateGeometry(relAggregate);
|
|
1310
|
+
++extracted;
|
|
1311
|
+
}
|
|
1312
|
+
catch (error) {
|
|
1313
|
+
Logger.error(`Error extracting aggregate ${relAggregate.expressID}: ` +
|
|
1314
|
+
`${error instanceof Error ? error.message : String(error)}`);
|
|
1315
|
+
}
|
|
1316
|
+
finally {
|
|
1317
|
+
this.model[0].unpinLocalIDs(pins);
|
|
1120
1318
|
}
|
|
1121
|
-
products.push(product.localID);
|
|
1122
1319
|
}
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1320
|
+
}
|
|
1321
|
+
if (meshCallback !== void 0) {
|
|
1322
|
+
this.streamNewMeshes_(meshCallback);
|
|
1323
|
+
}
|
|
1324
|
+
const remaining = (products.length - this.demandCursor_) +
|
|
1325
|
+
(aggregates.length - this.demandAggregatesCursor_);
|
|
1326
|
+
if (this.progressTracker_ !== void 0) {
|
|
1327
|
+
const completed = totalWork - remaining;
|
|
1328
|
+
if (remaining === 0) {
|
|
1329
|
+
this.progressTracker_.endPhase(totalWork);
|
|
1126
1330
|
}
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1331
|
+
else {
|
|
1332
|
+
this.progressTracker_.update(completed);
|
|
1333
|
+
}
|
|
1334
|
+
}
|
|
1335
|
+
return { extracted, remaining };
|
|
1336
|
+
}
|
|
1337
|
+
/**
|
|
1338
|
+
* Enumerate the deferred worklists once (file-order products, then
|
|
1339
|
+
* rel-aggregates). Shared by the sync and async pumps.
|
|
1340
|
+
*/
|
|
1341
|
+
ensureDemandWorklists_() {
|
|
1342
|
+
if (this.demandProducts_ !== void 0) {
|
|
1343
|
+
return;
|
|
1344
|
+
}
|
|
1345
|
+
// Aggregate-target products are extracted ONLY by the
|
|
1346
|
+
// rel-aggregates pass below (with the relating object's master
|
|
1347
|
+
// rel-voids), never by the per-product pass: extracting them here
|
|
1348
|
+
// first would emit their instances with the uncut/placeholder
|
|
1349
|
+
// content and the pass's later replacement would never reach an
|
|
1350
|
+
// incremental consumer (it copies at delivery), while the pass's
|
|
1351
|
+
// second scene instance would draw over the first (see
|
|
1352
|
+
// aggregateTargetLocalIDs).
|
|
1353
|
+
const aggregateTargets = this.conwayGeometry_.aggregateTargetLocalIDs();
|
|
1354
|
+
const products = [];
|
|
1355
|
+
for (const product of this.model[0].types(IfcProduct)) {
|
|
1356
|
+
if (aggregateTargets.has(product.localID)) {
|
|
1357
|
+
continue;
|
|
1358
|
+
}
|
|
1359
|
+
products.push(product.localID);
|
|
1360
|
+
}
|
|
1361
|
+
const aggregates = [];
|
|
1362
|
+
for (const relAggregate of this.model[0].types(IfcRelAggregates)) {
|
|
1363
|
+
aggregates.push(relAggregate);
|
|
1364
|
+
}
|
|
1365
|
+
this.demandProducts_ = products;
|
|
1366
|
+
this.demandAggregates_ = aggregates;
|
|
1367
|
+
this.demandCursor_ = 0;
|
|
1368
|
+
this.demandAggregatesCursor_ = 0;
|
|
1369
|
+
}
|
|
1370
|
+
/**
|
|
1371
|
+
* Synchronous extract of the next batch. Caller must have paged
|
|
1372
|
+
* ranges if the source is windowed.
|
|
1373
|
+
*
|
|
1374
|
+
* @param batchSize Max products this call.
|
|
1375
|
+
* @param meshCallback Optional mesh consumer.
|
|
1376
|
+
* @return {object} `{extracted, remaining}`.
|
|
1377
|
+
*/
|
|
1378
|
+
pumpGeometryBatch_(batchSize, meshCallback) {
|
|
1379
|
+
const products = this.demandProducts_ ?? [];
|
|
1380
|
+
const aggregates = this.demandAggregates_ ?? [];
|
|
1381
|
+
const totalWork = products.length + aggregates.length;
|
|
1382
|
+
if (this.progressTracker_ !== void 0 && !this.geometryPhaseStarted_) {
|
|
1383
|
+
this.progressTracker_.beginPhase("geometry", "products", totalWork);
|
|
1384
|
+
this.geometryPhaseStarted_ = true;
|
|
1131
1385
|
}
|
|
1132
1386
|
const budget = Math.max(batchSize, 1);
|
|
1133
|
-
const end = Math.min(this.demandCursor_ + budget,
|
|
1387
|
+
const end = Math.min(this.demandCursor_ + budget, products.length);
|
|
1134
1388
|
let extracted = 0;
|
|
1135
1389
|
for (; this.demandCursor_ < end; ++this.demandCursor_) {
|
|
1136
|
-
const localID =
|
|
1390
|
+
const localID = products[this.demandCursor_];
|
|
1137
1391
|
if (this.conwayGeometry_.extractProductGeometryByLocalID(localID)) {
|
|
1138
1392
|
++extracted;
|
|
1139
1393
|
}
|
|
@@ -1143,8 +1397,7 @@ export class IfcApiProxyIfc {
|
|
|
1143
1397
|
// the same per-call budget — batch-by-batch, not as one end-of-load
|
|
1144
1398
|
// stall — so aggregate parts stream in cut, exactly once, with
|
|
1145
1399
|
// final content (see demandAggregates_).
|
|
1146
|
-
|
|
1147
|
-
if (this.demandCursor_ >= this.demandProducts_.length &&
|
|
1400
|
+
if (this.demandCursor_ >= products.length &&
|
|
1148
1401
|
this.demandAggregatesCursor_ < aggregates.length) {
|
|
1149
1402
|
const aggregatesEnd = Math.min(this.demandAggregatesCursor_ + (budget - extracted), aggregates.length);
|
|
1150
1403
|
for (; this.demandAggregatesCursor_ < aggregatesEnd; ++this.demandAggregatesCursor_) {
|
|
@@ -1155,10 +1408,20 @@ export class IfcApiProxyIfc {
|
|
|
1155
1408
|
if (meshCallback !== void 0) {
|
|
1156
1409
|
this.streamNewMeshes_(meshCallback);
|
|
1157
1410
|
}
|
|
1411
|
+
const remaining = (products.length - this.demandCursor_) +
|
|
1412
|
+
(aggregates.length - this.demandAggregatesCursor_);
|
|
1413
|
+
if (this.progressTracker_ !== void 0) {
|
|
1414
|
+
const completed = totalWork - remaining;
|
|
1415
|
+
if (remaining === 0) {
|
|
1416
|
+
this.progressTracker_.endPhase(totalWork);
|
|
1417
|
+
}
|
|
1418
|
+
else {
|
|
1419
|
+
this.progressTracker_.update(completed);
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1158
1422
|
return {
|
|
1159
1423
|
extracted,
|
|
1160
|
-
remaining
|
|
1161
|
-
(aggregates.length - this.demandAggregatesCursor_),
|
|
1424
|
+
remaining,
|
|
1162
1425
|
};
|
|
1163
1426
|
}
|
|
1164
1427
|
/**
|
|
@@ -97,4 +97,33 @@ describe("OpenModelStreamed", () => {
|
|
|
97
97
|
const garbage = new Uint8Array([0, 1, 2, 3, 42, 255, 254, 253]);
|
|
98
98
|
expect(await api.OpenModelStreamed(garbage, SETTINGS)).toBe(-1);
|
|
99
99
|
}, 120000);
|
|
100
|
+
test("OpenModelStream parses from a store without a resident buffer", async () => {
|
|
101
|
+
const store = new InMemoryStepByteStore(buffer);
|
|
102
|
+
const modelID = await api.OpenModelStream(store, SETTINGS);
|
|
103
|
+
expect(modelID).toBeGreaterThanOrEqual(0);
|
|
104
|
+
const passthrough = api.getPassthrough(modelID);
|
|
105
|
+
expect(passthrough.sourceIsExternal).toBe(true);
|
|
106
|
+
const streamedID = await api.OpenModelStreamed(buffer, SETTINGS);
|
|
107
|
+
expect(captureMeshes(modelID)).toEqual(captureMeshes(streamedID));
|
|
108
|
+
api.CloseModel(modelID);
|
|
109
|
+
api.CloseModel(streamedID);
|
|
110
|
+
}, 240000);
|
|
111
|
+
test("OpenModelStream + DEFER_GEOMETRY pumps via ExtractGeometryBatchAsync", async () => {
|
|
112
|
+
const store = new InMemoryStepByteStore(buffer);
|
|
113
|
+
const deferredID = await api.OpenModelStream(store, { ...SETTINGS, DEFER_GEOMETRY: true });
|
|
114
|
+
expect(deferredID).toBeGreaterThanOrEqual(0);
|
|
115
|
+
const captured = [];
|
|
116
|
+
for (;;) {
|
|
117
|
+
const { extracted, remaining } = await api.ExtractGeometryBatchAsync(deferredID, 8, (mesh) => {
|
|
118
|
+
captured.push({ expressID: mesh.expressID });
|
|
119
|
+
});
|
|
120
|
+
if (remaining === 0 && extracted === 0) {
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
expect(captured.length).toBeGreaterThan(0);
|
|
125
|
+
expect(() => api.ExtractGeometryBatch(deferredID, 8))
|
|
126
|
+
.toThrow(/ExtractGeometryBatchAsync/);
|
|
127
|
+
api.CloseModel(deferredID);
|
|
128
|
+
}, 240000);
|
|
100
129
|
});
|
|
@@ -11,7 +11,7 @@ import IfcStepParser from "./ifc_step_parser.js";
|
|
|
11
11
|
import ParsingBuffer from "../parsing/parsing_buffer.js";
|
|
12
12
|
import { ConwayGeometry } from "../../dependencies/conway-geom/index.js";
|
|
13
13
|
import { ExtractResult } from "../core/shared_constants.js";
|
|
14
|
-
import { IfcProduct } from "./ifc4_gen/index.js";
|
|
14
|
+
import { IfcProduct, IfcStyledItem } from "./ifc4_gen/index.js";
|
|
15
15
|
let conwayGeometry;
|
|
16
16
|
/**
|
|
17
17
|
* Parse a fresh model from index.ifc (models are stateful; each extraction
|
|
@@ -108,4 +108,15 @@ describe("per-product demand extraction (Phase B2)", () => {
|
|
|
108
108
|
expect(first instanceof IfcProduct).toBe(false);
|
|
109
109
|
expect(extraction.extractProductGeometryByLocalID(0)).toBe(false);
|
|
110
110
|
});
|
|
111
|
+
test("styled-item Item local IDs resolve without hydrating the item", () => {
|
|
112
|
+
const model = freshModel();
|
|
113
|
+
let checked = 0;
|
|
114
|
+
for (const styledItem of model.types(IfcStyledItem)) {
|
|
115
|
+
const viaIndex = styledItem.extractReferenceLocalID(0, 0, 1, true);
|
|
116
|
+
const viaItem = styledItem.Item?.localID ?? null;
|
|
117
|
+
expect(viaIndex).toBe(viaItem);
|
|
118
|
+
++checked;
|
|
119
|
+
}
|
|
120
|
+
expect(checked).toBeGreaterThan(0);
|
|
121
|
+
});
|
|
111
122
|
});
|
|
@@ -1084,6 +1084,41 @@ export declare class IfcGeometryExtraction {
|
|
|
1084
1084
|
* extracted; false if it wasn't a product.
|
|
1085
1085
|
*/
|
|
1086
1086
|
extractProductGeometryByLocalID(localID: number): boolean;
|
|
1087
|
+
/**
|
|
1088
|
+
* Page in every record {@link prepareDemandExtraction} will read, so
|
|
1089
|
+
* the relationship sweeps succeed on a windowed source. Call before
|
|
1090
|
+
* the first prepare on a model whose source is external.
|
|
1091
|
+
*
|
|
1092
|
+
* Pins the prep-type records themselves (and a 1-hop of product /
|
|
1093
|
+
* material records the relationship getters hydrate). Does **not**
|
|
1094
|
+
* BFS-pin styled-item Item closures — those are facesets, and
|
|
1095
|
+
* walking them here pulled most of the file into the windowed LRU
|
|
1096
|
+
* before the first product extract.
|
|
1097
|
+
*
|
|
1098
|
+
* @return {Promise<Set<number>>} Pinned local IDs — caller must
|
|
1099
|
+
* {@link StepModelBase.unpinLocalIDs} after prepare/extract.
|
|
1100
|
+
*/
|
|
1101
|
+
ensureResidentForDemandPrep(): Promise<Set<number>>;
|
|
1102
|
+
/**
|
|
1103
|
+
* Page in the `#ref` closure a per-product extract will acquire,
|
|
1104
|
+
* including this product's voids, bound materials and styled items
|
|
1105
|
+
* (those are inverse — not written in the product record).
|
|
1106
|
+
*
|
|
1107
|
+
* @param localID The product's local ID.
|
|
1108
|
+
* @return {Promise<Set<number>>} Pinned local IDs — caller must unpin
|
|
1109
|
+
* after extract.
|
|
1110
|
+
*/
|
|
1111
|
+
ensureResidentForProductExtract(localID: number, seen?: Set<number>): Promise<Set<number>>;
|
|
1112
|
+
/**
|
|
1113
|
+
* Page in the records {@link extractRelAggregateGeometry} will
|
|
1114
|
+
* acquire: the relationship, the relating product (and its voids)
|
|
1115
|
+
* and every related product.
|
|
1116
|
+
*
|
|
1117
|
+
* @param relAggregate The relationship to prefetch.
|
|
1118
|
+
* @return {Promise<Set<number>>} Pinned local IDs — caller must unpin
|
|
1119
|
+
* after extract.
|
|
1120
|
+
*/
|
|
1121
|
+
ensureResidentForAggregateExtract(relAggregate: IfcRelAggregates): Promise<Set<number>>;
|
|
1087
1122
|
/**
|
|
1088
1123
|
* The whole-model walk's SECOND product pass, shared with the demand
|
|
1089
1124
|
* pump: for every IfcRelAggregates, re-extract the related products
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"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"}
|