@ifc-lite/wasm 6.2.0 → 6.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/package.json +1 -1
- package/pkg/ifc-lite.d.ts +29 -4
- package/pkg/ifc-lite.js +156 -4
- package/pkg/ifc-lite_bg.wasm +0 -0
package/package.json
CHANGED
package/pkg/ifc-lite.d.ts
CHANGED
|
@@ -305,6 +305,14 @@ export class IfcAPI {
|
|
|
305
305
|
* here.
|
|
306
306
|
*/
|
|
307
307
|
buildPrePassStreamingSharded(data: Uint8Array, on_event: Function, chunk_size: number, disabled_type_names: string[] | null | undefined, skip_type_geometry: boolean, index_ids: Uint32Array, index_starts: Uint32Array, index_lengths: Uint32Array, index_classes: Uint8Array): any;
|
|
308
|
+
/**
|
|
309
|
+
* Existing sharded prepass plus an exact full-source key in complete.
|
|
310
|
+
*/
|
|
311
|
+
buildPrePassStreamingShardedWithSourceFingerprint(data: Uint8Array, on_event: Function, chunk_size: number, disabled_type_names: string[] | null | undefined, skip_type_geometry: boolean, index_ids: Uint32Array, index_starts: Uint32Array, index_lengths: Uint32Array, index_classes: Uint8Array): any;
|
|
312
|
+
/**
|
|
313
|
+
* Existing streaming prepass plus an exact full-source key in complete.
|
|
314
|
+
*/
|
|
315
|
+
buildPrePassStreamingWithSourceFingerprint(data: Uint8Array, on_event: Function, chunk_size: number, disabled_type_names: string[] | null | undefined, skip_type_geometry: boolean): any;
|
|
308
316
|
/**
|
|
309
317
|
* Clear the cached entity index (call between loads when reusing
|
|
310
318
|
* the same `IfcAPI` instance — e.g. the parser worker keeps one
|
|
@@ -532,6 +540,10 @@ export class IfcAPI {
|
|
|
532
540
|
* comes from the meta event.
|
|
533
541
|
*/
|
|
534
542
|
finalizePrepassStyles(data: Uint8Array, orphan_ids: Uint32Array, orphan_colors: Float32Array, geom_ids: Uint32Array, geom_colors: Float32Array, colour_map_spans: Uint32Array, material_def_spans: Uint32Array, rel_material_spans: Uint32Array, void_spans: Uint32Array, fills_spans: Uint32Array, aggregate_spans: Uint32Array, plane_angle_to_radians: number): any;
|
|
543
|
+
/**
|
|
544
|
+
* Finalize prepass styles against the installed source and entity index.
|
|
545
|
+
*/
|
|
546
|
+
finalizePrepassStylesFromSource(orphan_ids: Uint32Array, orphan_colors: Float32Array, geom_ids: Uint32Array, geom_colors: Float32Array, colour_map_spans: Uint32Array, material_def_spans: Uint32Array, rel_material_spans: Uint32Array, void_spans: Uint32Array, fills_spans: Uint32Array, aggregate_spans: Uint32Array, plane_angle_to_radians: number): any;
|
|
535
547
|
/**
|
|
536
548
|
* Get WASM memory for zero-copy access
|
|
537
549
|
*/
|
|
@@ -597,8 +609,8 @@ export class IfcAPI {
|
|
|
597
609
|
* Process geometry for a subset of pre-scanned entities → flat
|
|
598
610
|
* MeshCollection. Takes raw bytes + pre-pass data from buildPrePassOnce.
|
|
599
611
|
* Thin wrapper over [`IfcAPI::produce_batch`]; converts each produced mesh
|
|
600
|
-
* to MeshDataJs (the IFC Z-up→WebGL Y-up
|
|
601
|
-
* there).
|
|
612
|
+
* to MeshDataJs (the IFC Z-up→WebGL Y-up rotation with preserved winding happens
|
|
613
|
+
* there). Flat indices preserve source order through this proper rotation.
|
|
602
614
|
*/
|
|
603
615
|
processGeometryBatch(data: Uint8Array, jobs_flat: Uint32Array, unit_scale: number, rtc_x: number, rtc_y: number, rtc_z: number, needs_shift: boolean, void_keys: Uint32Array, void_counts: Uint32Array, void_values: Uint32Array, style_ids: Uint32Array, style_colors: Uint8Array, plane_angle_to_radians?: number | null, material_element_ids?: Uint32Array | null, material_color_counts?: Uint32Array | null, material_colors_rgba?: Uint8Array | null): MeshCollection;
|
|
604
616
|
/**
|
|
@@ -654,6 +666,10 @@ export class IfcAPI {
|
|
|
654
666
|
* `spans` is `[id, start, len]` triples.
|
|
655
667
|
*/
|
|
656
668
|
resolveStyledItemsShard(data: Uint8Array, spans: Uint32Array): any;
|
|
669
|
+
/**
|
|
670
|
+
* Resolve styled-item spans against the installed source and entity index.
|
|
671
|
+
*/
|
|
672
|
+
resolveStyledItemsShardFromSource(spans: Uint32Array): any;
|
|
657
673
|
/**
|
|
658
674
|
* Fast entity scanning using SIMD-accelerated Rust scanner
|
|
659
675
|
* Returns array of entity references for data model parsing
|
|
@@ -705,6 +721,10 @@ export class IfcAPI {
|
|
|
705
721
|
* (#3430).
|
|
706
722
|
*/
|
|
707
723
|
scanEntityIndexShard(data: Uint8Array, range_start: number, range_end: number): any;
|
|
724
|
+
/**
|
|
725
|
+
* Scan a shard of the source installed by `setSourceBytes`.
|
|
726
|
+
*/
|
|
727
|
+
scanEntityIndexShardFromSource(start: number, end: number): any;
|
|
708
728
|
/**
|
|
709
729
|
* Fast geometry-only entity scanning
|
|
710
730
|
* Scans only entities that have geometry, skipping 99% of non-geometry entities
|
|
@@ -735,10 +755,10 @@ export class IfcAPI {
|
|
|
735
755
|
* even though the pre-pass worker built the same index minutes
|
|
736
756
|
* earlier.
|
|
737
757
|
*
|
|
738
|
-
*
|
|
758
|
+
* Adopts the three binding-owned columns into a compact [`ColumnarEntityIndex`]
|
|
739
759
|
* (sorted `u32` columns + binary search) instead of a per-worker
|
|
740
760
|
* `FxHashMap` — ~229 MB vs ~436 MB on a 19.1 M-entity model (#1682).
|
|
741
|
-
* [`ColumnarEntityIndex::
|
|
761
|
+
* [`ColumnarEntityIndex::from_owned_columns`] verifies the id ordering once
|
|
742
762
|
* (O(n)) and only argsorts if the producer did not emit sorted columns.
|
|
743
763
|
*
|
|
744
764
|
* `lengths[i]` is the byte length of entity `ids[i]`, so lookup returns
|
|
@@ -1976,6 +1996,8 @@ export interface InitOutput {
|
|
|
1976
1996
|
readonly ifcapi_buildPrePassOnce: (a: number, b: number, c: number) => number;
|
|
1977
1997
|
readonly ifcapi_buildPrePassStreaming: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
1978
1998
|
readonly ifcapi_buildPrePassStreamingSharded: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => void;
|
|
1999
|
+
readonly ifcapi_buildPrePassStreamingShardedWithSourceFingerprint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => void;
|
|
2000
|
+
readonly ifcapi_buildPrePassStreamingWithSourceFingerprint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
1979
2001
|
readonly ifcapi_clearPrePassCache: (a: number) => void;
|
|
1980
2002
|
readonly ifcapi_diagnoseGeometry: (a: number, b: number, c: number) => number;
|
|
1981
2003
|
readonly ifcapi_exportCsv: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
@@ -1995,6 +2017,7 @@ export interface InitOutput {
|
|
|
1995
2017
|
readonly ifcapi_exportUsd: (a: number, b: number, c: number, d: number) => void;
|
|
1996
2018
|
readonly ifcapi_extractProfiles: (a: number, b: number, c: number, d: number) => number;
|
|
1997
2019
|
readonly ifcapi_finalizePrepassStyles: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number) => void;
|
|
2020
|
+
readonly ifcapi_finalizePrepassStylesFromSource: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number) => void;
|
|
1998
2021
|
readonly ifcapi_getMemory: (a: number) => number;
|
|
1999
2022
|
readonly ifcapi_getPipelineDiagnostics: (a: number) => number;
|
|
2000
2023
|
readonly ifcapi_is_ready: (a: number) => number;
|
|
@@ -2009,9 +2032,11 @@ export interface InitOutput {
|
|
|
2009
2032
|
readonly ifcapi_processGeometryBatchPartitioned: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number) => number;
|
|
2010
2033
|
readonly ifcapi_processGeometryBatchPartitionedFromSource: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number) => number;
|
|
2011
2034
|
readonly ifcapi_resolveStyledItemsShard: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
2035
|
+
readonly ifcapi_resolveStyledItemsShardFromSource: (a: number, b: number, c: number, d: number) => void;
|
|
2012
2036
|
readonly ifcapi_scanEntitiesFast: (a: number, b: number, c: number) => number;
|
|
2013
2037
|
readonly ifcapi_scanEntitiesFastBytes: (a: number, b: number, c: number) => number;
|
|
2014
2038
|
readonly ifcapi_scanEntityIndexShard: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
2039
|
+
readonly ifcapi_scanEntityIndexShardFromSource: (a: number, b: number, c: number) => number;
|
|
2015
2040
|
readonly ifcapi_scanGeometryEntitiesFast: (a: number, b: number, c: number) => number;
|
|
2016
2041
|
readonly ifcapi_setComputeGeometryHashes: (a: number, b: number, c: number) => void;
|
|
2017
2042
|
readonly ifcapi_setEntityIndex: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
package/pkg/ifc-lite.js
CHANGED
|
@@ -770,6 +770,76 @@ export class IfcAPI {
|
|
|
770
770
|
heap[stack_pointer++] = undefined;
|
|
771
771
|
}
|
|
772
772
|
}
|
|
773
|
+
/**
|
|
774
|
+
* Existing sharded prepass plus an exact full-source key in complete.
|
|
775
|
+
* @param {Uint8Array} data
|
|
776
|
+
* @param {Function} on_event
|
|
777
|
+
* @param {number} chunk_size
|
|
778
|
+
* @param {string[] | null | undefined} disabled_type_names
|
|
779
|
+
* @param {boolean} skip_type_geometry
|
|
780
|
+
* @param {Uint32Array} index_ids
|
|
781
|
+
* @param {Uint32Array} index_starts
|
|
782
|
+
* @param {Uint32Array} index_lengths
|
|
783
|
+
* @param {Uint8Array} index_classes
|
|
784
|
+
* @returns {any}
|
|
785
|
+
*/
|
|
786
|
+
buildPrePassStreamingShardedWithSourceFingerprint(data, on_event, chunk_size, disabled_type_names, skip_type_geometry, index_ids, index_starts, index_lengths, index_classes) {
|
|
787
|
+
try {
|
|
788
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
789
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);
|
|
790
|
+
const len0 = WASM_VECTOR_LEN;
|
|
791
|
+
var ptr1 = isLikeNone(disabled_type_names) ? 0 : passArrayJsValueToWasm0(disabled_type_names, wasm.__wbindgen_export);
|
|
792
|
+
var len1 = WASM_VECTOR_LEN;
|
|
793
|
+
const ptr2 = passArray32ToWasm0(index_ids, wasm.__wbindgen_export);
|
|
794
|
+
const len2 = WASM_VECTOR_LEN;
|
|
795
|
+
const ptr3 = passArray32ToWasm0(index_starts, wasm.__wbindgen_export);
|
|
796
|
+
const len3 = WASM_VECTOR_LEN;
|
|
797
|
+
const ptr4 = passArray32ToWasm0(index_lengths, wasm.__wbindgen_export);
|
|
798
|
+
const len4 = WASM_VECTOR_LEN;
|
|
799
|
+
const ptr5 = passArray8ToWasm0(index_classes, wasm.__wbindgen_export);
|
|
800
|
+
const len5 = WASM_VECTOR_LEN;
|
|
801
|
+
wasm.ifcapi_buildPrePassStreamingShardedWithSourceFingerprint(retptr, this.__wbg_ptr, ptr0, len0, addBorrowedObject(on_event), chunk_size, ptr1, len1, skip_type_geometry, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5);
|
|
802
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
803
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
804
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
805
|
+
if (r2) {
|
|
806
|
+
throw takeObject(r1);
|
|
807
|
+
}
|
|
808
|
+
return takeObject(r0);
|
|
809
|
+
} finally {
|
|
810
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
811
|
+
heap[stack_pointer++] = undefined;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Existing streaming prepass plus an exact full-source key in complete.
|
|
816
|
+
* @param {Uint8Array} data
|
|
817
|
+
* @param {Function} on_event
|
|
818
|
+
* @param {number} chunk_size
|
|
819
|
+
* @param {string[] | null | undefined} disabled_type_names
|
|
820
|
+
* @param {boolean} skip_type_geometry
|
|
821
|
+
* @returns {any}
|
|
822
|
+
*/
|
|
823
|
+
buildPrePassStreamingWithSourceFingerprint(data, on_event, chunk_size, disabled_type_names, skip_type_geometry) {
|
|
824
|
+
try {
|
|
825
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
826
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);
|
|
827
|
+
const len0 = WASM_VECTOR_LEN;
|
|
828
|
+
var ptr1 = isLikeNone(disabled_type_names) ? 0 : passArrayJsValueToWasm0(disabled_type_names, wasm.__wbindgen_export);
|
|
829
|
+
var len1 = WASM_VECTOR_LEN;
|
|
830
|
+
wasm.ifcapi_buildPrePassStreamingWithSourceFingerprint(retptr, this.__wbg_ptr, ptr0, len0, addBorrowedObject(on_event), chunk_size, ptr1, len1, skip_type_geometry);
|
|
831
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
832
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
833
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
834
|
+
if (r2) {
|
|
835
|
+
throw takeObject(r1);
|
|
836
|
+
}
|
|
837
|
+
return takeObject(r0);
|
|
838
|
+
} finally {
|
|
839
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
840
|
+
heap[stack_pointer++] = undefined;
|
|
841
|
+
}
|
|
842
|
+
}
|
|
773
843
|
/**
|
|
774
844
|
* Clear the cached entity index (call between loads when reusing
|
|
775
845
|
* the same `IfcAPI` instance — e.g. the parser worker keeps one
|
|
@@ -1435,6 +1505,56 @@ export class IfcAPI {
|
|
|
1435
1505
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1436
1506
|
}
|
|
1437
1507
|
}
|
|
1508
|
+
/**
|
|
1509
|
+
* Finalize prepass styles against the installed source and entity index.
|
|
1510
|
+
* @param {Uint32Array} orphan_ids
|
|
1511
|
+
* @param {Float32Array} orphan_colors
|
|
1512
|
+
* @param {Uint32Array} geom_ids
|
|
1513
|
+
* @param {Float32Array} geom_colors
|
|
1514
|
+
* @param {Uint32Array} colour_map_spans
|
|
1515
|
+
* @param {Uint32Array} material_def_spans
|
|
1516
|
+
* @param {Uint32Array} rel_material_spans
|
|
1517
|
+
* @param {Uint32Array} void_spans
|
|
1518
|
+
* @param {Uint32Array} fills_spans
|
|
1519
|
+
* @param {Uint32Array} aggregate_spans
|
|
1520
|
+
* @param {number} plane_angle_to_radians
|
|
1521
|
+
* @returns {any}
|
|
1522
|
+
*/
|
|
1523
|
+
finalizePrepassStylesFromSource(orphan_ids, orphan_colors, geom_ids, geom_colors, colour_map_spans, material_def_spans, rel_material_spans, void_spans, fills_spans, aggregate_spans, plane_angle_to_radians) {
|
|
1524
|
+
try {
|
|
1525
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1526
|
+
const ptr0 = passArray32ToWasm0(orphan_ids, wasm.__wbindgen_export);
|
|
1527
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1528
|
+
const ptr1 = passArrayF32ToWasm0(orphan_colors, wasm.__wbindgen_export);
|
|
1529
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1530
|
+
const ptr2 = passArray32ToWasm0(geom_ids, wasm.__wbindgen_export);
|
|
1531
|
+
const len2 = WASM_VECTOR_LEN;
|
|
1532
|
+
const ptr3 = passArrayF32ToWasm0(geom_colors, wasm.__wbindgen_export);
|
|
1533
|
+
const len3 = WASM_VECTOR_LEN;
|
|
1534
|
+
const ptr4 = passArray32ToWasm0(colour_map_spans, wasm.__wbindgen_export);
|
|
1535
|
+
const len4 = WASM_VECTOR_LEN;
|
|
1536
|
+
const ptr5 = passArray32ToWasm0(material_def_spans, wasm.__wbindgen_export);
|
|
1537
|
+
const len5 = WASM_VECTOR_LEN;
|
|
1538
|
+
const ptr6 = passArray32ToWasm0(rel_material_spans, wasm.__wbindgen_export);
|
|
1539
|
+
const len6 = WASM_VECTOR_LEN;
|
|
1540
|
+
const ptr7 = passArray32ToWasm0(void_spans, wasm.__wbindgen_export);
|
|
1541
|
+
const len7 = WASM_VECTOR_LEN;
|
|
1542
|
+
const ptr8 = passArray32ToWasm0(fills_spans, wasm.__wbindgen_export);
|
|
1543
|
+
const len8 = WASM_VECTOR_LEN;
|
|
1544
|
+
const ptr9 = passArray32ToWasm0(aggregate_spans, wasm.__wbindgen_export);
|
|
1545
|
+
const len9 = WASM_VECTOR_LEN;
|
|
1546
|
+
wasm.ifcapi_finalizePrepassStylesFromSource(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9, plane_angle_to_radians);
|
|
1547
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1548
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1549
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1550
|
+
if (r2) {
|
|
1551
|
+
throw takeObject(r1);
|
|
1552
|
+
}
|
|
1553
|
+
return takeObject(r0);
|
|
1554
|
+
} finally {
|
|
1555
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1438
1558
|
/**
|
|
1439
1559
|
* Get WASM memory for zero-copy access
|
|
1440
1560
|
* @returns {any}
|
|
@@ -1549,8 +1669,8 @@ export class IfcAPI {
|
|
|
1549
1669
|
* Process geometry for a subset of pre-scanned entities → flat
|
|
1550
1670
|
* MeshCollection. Takes raw bytes + pre-pass data from buildPrePassOnce.
|
|
1551
1671
|
* Thin wrapper over [`IfcAPI::produce_batch`]; converts each produced mesh
|
|
1552
|
-
* to MeshDataJs (the IFC Z-up→WebGL Y-up
|
|
1553
|
-
* there).
|
|
1672
|
+
* to MeshDataJs (the IFC Z-up→WebGL Y-up rotation with preserved winding happens
|
|
1673
|
+
* there). Flat indices preserve source order through this proper rotation.
|
|
1554
1674
|
* @param {Uint8Array} data
|
|
1555
1675
|
* @param {Uint32Array} jobs_flat
|
|
1556
1676
|
* @param {number} unit_scale
|
|
@@ -1830,6 +1950,28 @@ export class IfcAPI {
|
|
|
1830
1950
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1831
1951
|
}
|
|
1832
1952
|
}
|
|
1953
|
+
/**
|
|
1954
|
+
* Resolve styled-item spans against the installed source and entity index.
|
|
1955
|
+
* @param {Uint32Array} spans
|
|
1956
|
+
* @returns {any}
|
|
1957
|
+
*/
|
|
1958
|
+
resolveStyledItemsShardFromSource(spans) {
|
|
1959
|
+
try {
|
|
1960
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1961
|
+
const ptr0 = passArray32ToWasm0(spans, wasm.__wbindgen_export);
|
|
1962
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1963
|
+
wasm.ifcapi_resolveStyledItemsShardFromSource(retptr, this.__wbg_ptr, ptr0, len0);
|
|
1964
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1965
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1966
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1967
|
+
if (r2) {
|
|
1968
|
+
throw takeObject(r1);
|
|
1969
|
+
}
|
|
1970
|
+
return takeObject(r0);
|
|
1971
|
+
} finally {
|
|
1972
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1973
|
+
}
|
|
1974
|
+
}
|
|
1833
1975
|
/**
|
|
1834
1976
|
* Fast entity scanning using SIMD-accelerated Rust scanner
|
|
1835
1977
|
* Returns array of entity references for data model parsing
|
|
@@ -1904,6 +2046,16 @@ export class IfcAPI {
|
|
|
1904
2046
|
const ret = wasm.ifcapi_scanEntityIndexShard(this.__wbg_ptr, ptr0, len0, range_start, range_end);
|
|
1905
2047
|
return takeObject(ret);
|
|
1906
2048
|
}
|
|
2049
|
+
/**
|
|
2050
|
+
* Scan a shard of the source installed by `setSourceBytes`.
|
|
2051
|
+
* @param {number} start
|
|
2052
|
+
* @param {number} end
|
|
2053
|
+
* @returns {any}
|
|
2054
|
+
*/
|
|
2055
|
+
scanEntityIndexShardFromSource(start, end) {
|
|
2056
|
+
const ret = wasm.ifcapi_scanEntityIndexShardFromSource(this.__wbg_ptr, start, end);
|
|
2057
|
+
return takeObject(ret);
|
|
2058
|
+
}
|
|
1907
2059
|
/**
|
|
1908
2060
|
* Fast geometry-only entity scanning
|
|
1909
2061
|
* Scans only entities that have geometry, skipping 99% of non-geometry entities
|
|
@@ -1944,10 +2096,10 @@ export class IfcAPI {
|
|
|
1944
2096
|
* even though the pre-pass worker built the same index minutes
|
|
1945
2097
|
* earlier.
|
|
1946
2098
|
*
|
|
1947
|
-
*
|
|
2099
|
+
* Adopts the three binding-owned columns into a compact [`ColumnarEntityIndex`]
|
|
1948
2100
|
* (sorted `u32` columns + binary search) instead of a per-worker
|
|
1949
2101
|
* `FxHashMap` — ~229 MB vs ~436 MB on a 19.1 M-entity model (#1682).
|
|
1950
|
-
* [`ColumnarEntityIndex::
|
|
2102
|
+
* [`ColumnarEntityIndex::from_owned_columns`] verifies the id ordering once
|
|
1951
2103
|
* (O(n)) and only argsorts if the producer did not emit sorted columns.
|
|
1952
2104
|
*
|
|
1953
2105
|
* `lengths[i]` is the byte length of entity `ids[i]`, so lookup returns
|
package/pkg/ifc-lite_bg.wasm
CHANGED
|
Binary file
|