@ifc-lite/wasm 6.5.0 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -157,6 +157,22 @@ for source identity, coordinate frames, budgets and host acceptance requirements
157
157
 
158
158
  `IfcAPI.preparePdfVectorPage` validates bounded ordered PDF vector graphics states
159
159
  and preserves source operator identity, calibrated transforms and paint state.
160
- Unsupported content remains an explicit blocker. It emits no IFC entities and
161
- makes no flattened-geometry fidelity claim; see the
162
- [preparation contract](../../docs/api/wasm.md#pdf-vector-graphics-state-preparation).
160
+ Content the planner cannot convert (text, images, clips, transparency,
161
+ patterns, unqualified dashed strokes, curved/hairline strokes, unknown operators) is returned
162
+ as a fidelity report with counts, page extents and visibility, and an
163
+ `exact`/`rasterOnly` verdict; `IfcAPI.planPdfFillAnnotation` plans a partial
164
+ page only when the request quotes that report's digest as the user's
165
+ acceptance. It emits no IFC entities and makes no flattened-geometry fidelity
166
+ claim; see the
167
+ [preparation contract](../../docs/api/wasm.md#pdf-vector-graphics-state-preparation-and-fidelity-report).
168
+ Qualified positive dash patterns on open and closed straight subpaths preserve
169
+ phase, odd-array repetition, subpath reset, joins across vertices and run caps.
170
+ The closing edge participates in the pattern. PDF 1.0–1.7 retain caps where the
171
+ first and last on-dash pieces meet at the closure seam; PDF 2.0 joins them.
172
+ PDF.js's effective format version is bound into the page DTO; an unknown version
173
+ reports `dashVersion`, and a PDF 1.x dash covering the complete closed perimeter
174
+ reports `dashTopology`. Explicit close-path and close-and-stroke operators share
175
+ the versioned behavior.
176
+ Combined fill and dashed-stroke paints can still refuse atomically when
177
+ multiple run boundaries produce crossings outside the current fill-region
178
+ qualifier.
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "IFC-Lite Contributors"
6
6
  ],
7
7
  "description": "WebAssembly bindings for IFC-Lite",
8
- "version": "6.5.0",
8
+ "version": "8.0.1",
9
9
  "license": "MPL-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/pkg/ifc-lite.d.ts CHANGED
@@ -365,8 +365,17 @@ export class IfcAPI {
365
365
  *
366
366
  * `hidden` / `isolated` are express-id visibility filters; `hidden_types_csv` is a
367
367
  * comma-separated list of IFC type names whose class toggle is off (e.g.
368
- * `"IfcOpeningElement,IfcSpace"`). `include_metadata` attaches counts + per-node
369
- * `expressId`. Per-mesh RTC origin rides the node translation (precision-safe).
368
+ * `"IfcOpeningElement,IfcSpace"`). `isolated` carries the isolation allowlist's
369
+ * null-vs-empty distinction across the wasm boundary: omit it (`undefined`) for
370
+ * "no isolation filter" (every mesh is a candidate); pass an empty `Uint32Array`
371
+ * for "isolation is ACTIVE and currently matches nothing" (every mesh is
372
+ * excluded). Collapsing the two — as a bare `Uint32Array` parameter would force a
373
+ * caller to do — silently exports the whole model when a filter matches nothing
374
+ * (#4328 follow-up: reachable by filtering the Class tab to a type present only
375
+ * in a federated model's secondary member, then exporting "Visible Only"). A
376
+ * non-empty `Uint32Array` is the ordinary allowlist. `include_metadata` attaches
377
+ * counts + per-node `expressId`. Per-mesh RTC origin rides the node translation
378
+ * (precision-safe).
370
379
  * `lit` emits standard PBR materials that shade from normals; omitted or
371
380
  * `true` ⇒ lit (the default), `false` ⇒ flat `KHR_materials_unlit` (the
372
381
  * historical look — #1321). Optional at the boundary so older 5-arg callers
@@ -381,7 +390,7 @@ export class IfcAPI {
381
390
  * CLI/MCP wrappers; making the boundary itself refuse means SDK/viewer/
382
391
  * direct callers inherit it too (the TS guards stay as defense-in-depth).
383
392
  */
384
- exportGlb(content: Uint8Array, include_metadata: boolean, hidden: Uint32Array, isolated: Uint32Array, hidden_types_csv: string, lit?: boolean | null, emissive?: boolean | null): Uint8Array;
393
+ exportGlb(content: Uint8Array, include_metadata: boolean, hidden: Uint32Array, isolated: Uint32Array | null | undefined, hidden_types_csv: string, lit?: boolean | null, emissive?: boolean | null): Uint8Array;
385
394
  /**
386
395
  * Assemble a **GLB** from already-produced meshes (the viewer's `MeshData`, flattened)
387
396
  * — no re-meshing. Per mesh `i`: `vertex_counts[i]` verts + `index_counts[i]` indices
@@ -390,11 +399,13 @@ export class IfcAPI {
390
399
  * per-mesh local). The caller passes exactly the meshes it wants emitted.
391
400
  *
392
401
  * Fails CLOSED: if the declared vertex/index counts run past the flattened
393
- * `positions` / `indices`, there are fewer `index_counts` than meshes, or `normals`
394
- * is empty or too short to cover every vertex, this throws an `Error` whose message
395
- * starts with `MALFORMED_MESH_INPUT` instead of silently emitting a GLB with those
396
- * meshes dropped. (The viewer always passes fully-backed, normal-covered arrays, so
397
- * this only fires on a caller bug.)
402
+ * `positions` / `indices`, there are fewer `index_counts` than meshes, `normals`
403
+ * is empty or too short to cover every vertex, or an index names a vertex its own
404
+ * mesh does not have (glTF 2.0 3.7.2.1), this throws an `Error` whose message
405
+ * starts with `MALFORMED_MESH_INPUT` instead of silently emitting a GLB with
406
+ * those meshes dropped, or one carrying the out-of-range index straight into the
407
+ * BIN chunk. (The viewer always passes fully-backed, normal-covered, in-range
408
+ * arrays, so this only fires on a caller bug.)
398
409
  */
399
410
  exportGlbFromMeshes(positions: Float32Array, normals: Float32Array, indices: Uint32Array, vertex_counts: Uint32Array, index_counts: Uint32Array, colors: Float32Array, origins: Float64Array, express_ids: Uint32Array, include_metadata: boolean, lit?: boolean | null, emissive?: boolean | null): Uint8Array;
400
411
  /**
@@ -473,6 +484,14 @@ export class IfcAPI {
473
484
  * `altitude_mode` (`"clampToGround"` default ⇒ rest on terrain, ignoring
474
485
  * `altitude`; `"absolute"` ⇒ place at `altitude` metres MSL) selects the
475
486
  * KML vertical placement (#1427).
487
+ *
488
+ * Fails CLOSED: when no triangle survives (an empty visible set, or meshes
489
+ * whose only triangles are degenerate and collapse in the vertex dedup)
490
+ * this throws an `Error` whose message starts with `NO_RENDER_GEOMETRY`;
491
+ * a declared vertex/index count running past its buffer throws
492
+ * `MALFORMED_MESH_INPUT`, as `exportGlbFromMeshes` does. Both used to ship
493
+ * as a small "successful" archive: the first around a COLLADA document
494
+ * the 1.4.1 schema rejects, the second with every later mesh missing.
476
495
  */
477
496
  exportKmzFromMeshes(positions: Float32Array, normals: Float32Array, indices: Uint32Array, vertex_counts: Uint32Array, index_counts: Uint32Array, colors: Float32Array, origins: Float64Array, latitude: number, longitude: number, altitude: number, x_axis_abscissa: number | null | undefined, x_axis_ordinate: number | null | undefined, name: string, altitude_mode?: string | null): Uint8Array;
478
497
  /**
@@ -489,14 +508,21 @@ export class IfcAPI {
489
508
  * V8 max-string ceiling (~512 MB); decode with `TextDecoder` when a string
490
509
  * is genuinely needed.
491
510
  *
492
- * `hidden` / `isolated` are express-id filters mirroring the viewer's visibility
493
- * state (empty `isolated` all visible). Instanced type-library shapes are skipped.
511
+ * `hidden` is an express-id filter mirroring the viewer's visibility state.
512
+ * `isolated` carries the isolation allowlist's null-vs-empty distinction across
513
+ * the wasm boundary: omit it (`undefined`) for "no isolation filter" (every mesh
514
+ * is a candidate); pass an empty `Uint32Array` for "isolation is ACTIVE and
515
+ * currently matches nothing" (every mesh is excluded). Collapsing the two — as a
516
+ * bare `Uint32Array` parameter would force a caller to do — silently exports the
517
+ * whole model when a filter matches nothing (the OBJ twin of #4328/#4364, fixed
518
+ * for GLB in `export_glb`). A non-empty `Uint32Array` is the ordinary allowlist.
519
+ * Instanced type-library shapes are skipped regardless of the filter.
494
520
  *
495
521
  * ```javascript
496
- * const obj = api.exportObj(ifcContent, true, new Uint32Array(), new Uint32Array());
522
+ * const obj = api.exportObj(ifcContent, true, new Uint32Array(), undefined);
497
523
  * ```
498
524
  */
499
- exportObj(content: Uint8Array, include_normals: boolean, hidden: Uint32Array, isolated: Uint32Array): Uint8Array;
525
+ exportObj(content: Uint8Array, include_normals: boolean, hidden: Uint32Array, isolated?: Uint32Array | null): Uint8Array;
500
526
  /**
501
527
  * Re-serialize the model in `content` to STEP/IFC UTF-8 bytes.
502
528
  *
@@ -651,13 +677,23 @@ export class IfcAPI {
651
677
  */
652
678
  planPageAppearance(content: Uint8Array, request_json: string, rgba: Uint8Array): Uint8Array;
653
679
  /**
654
- * Plan a complete opaque polygonal PDF fill page as canonical IfcAnnotation
655
- * geometry. Painted strokes, curves and unsupported states refuse atomically.
680
+ * Plan an opaque polygonal PDF fill page as canonical IfcAnnotation
681
+ * geometry with a provenance property set. An exact page plans directly; a
682
+ * page with visible omissions needs the accepted fidelity report digest.
656
683
  */
657
684
  planPdfFillAnnotation(source: Uint8Array, request_json: string): Uint8Array;
658
685
  /**
659
- * Prepare bounded ordered PDF vector graphics states. No IFC entities or
660
- * flattened geometry are produced; unsupported content prevents qualification.
686
+ * Registered RGB point-cloud observations (#4381). `request_json.source`
687
+ * is `{kind:'points', …}`; `positions` (3n f64, source-frame metres) and
688
+ * `colors` (3n RGB8) are the payload, `normals` (3n f32, oriented) and
689
+ * `stations` (n indices into `source.viewpoints`) are empty when absent.
690
+ * `rgba` carries only the target's existing rasters. Same output as
691
+ * `planMeshTransfer`; `transfer.source` records the orientation used.
692
+ */
693
+ planPointTransfer(content: Uint8Array, request_json: string, rgba: Uint8Array, positions: Float64Array, colors: Uint8Array, normals: Float32Array, stations: Uint32Array): Uint8Array;
694
+ /**
695
+ * Prepare bounded ordered PDF vector graphics states and the page fidelity
696
+ * report (convertible paths, omissions with extent, exact/raster-only).
661
697
  */
662
698
  preparePdfVectorPage(request_json: string): Uint8Array;
663
699
  /**
@@ -2095,6 +2131,7 @@ export interface InitOutput {
2095
2131
  readonly ifcapi_planMeshTransfer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
2096
2132
  readonly ifcapi_planPageAppearance: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
2097
2133
  readonly ifcapi_planPdfFillAnnotation: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
2134
+ readonly ifcapi_planPointTransfer: (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) => void;
2098
2135
  readonly ifcapi_preparePdfVectorPage: (a: number, b: number, c: number, d: number) => void;
2099
2136
  readonly ifcapi_processGeometryBatch: (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;
2100
2137
  readonly ifcapi_processGeometryBatchFromSource: (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;
package/pkg/ifc-lite.js CHANGED
@@ -991,8 +991,17 @@ export class IfcAPI {
991
991
  *
992
992
  * `hidden` / `isolated` are express-id visibility filters; `hidden_types_csv` is a
993
993
  * comma-separated list of IFC type names whose class toggle is off (e.g.
994
- * `"IfcOpeningElement,IfcSpace"`). `include_metadata` attaches counts + per-node
995
- * `expressId`. Per-mesh RTC origin rides the node translation (precision-safe).
994
+ * `"IfcOpeningElement,IfcSpace"`). `isolated` carries the isolation allowlist's
995
+ * null-vs-empty distinction across the wasm boundary: omit it (`undefined`) for
996
+ * "no isolation filter" (every mesh is a candidate); pass an empty `Uint32Array`
997
+ * for "isolation is ACTIVE and currently matches nothing" (every mesh is
998
+ * excluded). Collapsing the two — as a bare `Uint32Array` parameter would force a
999
+ * caller to do — silently exports the whole model when a filter matches nothing
1000
+ * (#4328 follow-up: reachable by filtering the Class tab to a type present only
1001
+ * in a federated model's secondary member, then exporting "Visible Only"). A
1002
+ * non-empty `Uint32Array` is the ordinary allowlist. `include_metadata` attaches
1003
+ * counts + per-node `expressId`. Per-mesh RTC origin rides the node translation
1004
+ * (precision-safe).
996
1005
  * `lit` emits standard PBR materials that shade from normals; omitted or
997
1006
  * `true` ⇒ lit (the default), `false` ⇒ flat `KHR_materials_unlit` (the
998
1007
  * historical look — #1321). Optional at the boundary so older 5-arg callers
@@ -1009,7 +1018,7 @@ export class IfcAPI {
1009
1018
  * @param {Uint8Array} content
1010
1019
  * @param {boolean} include_metadata
1011
1020
  * @param {Uint32Array} hidden
1012
- * @param {Uint32Array} isolated
1021
+ * @param {Uint32Array | null | undefined} isolated
1013
1022
  * @param {string} hidden_types_csv
1014
1023
  * @param {boolean | null} [lit]
1015
1024
  * @param {boolean | null} [emissive]
@@ -1022,8 +1031,8 @@ export class IfcAPI {
1022
1031
  const len0 = WASM_VECTOR_LEN;
1023
1032
  const ptr1 = passArray32ToWasm0(hidden, wasm.__wbindgen_export);
1024
1033
  const len1 = WASM_VECTOR_LEN;
1025
- const ptr2 = passArray32ToWasm0(isolated, wasm.__wbindgen_export);
1026
- const len2 = WASM_VECTOR_LEN;
1034
+ var ptr2 = isLikeNone(isolated) ? 0 : passArray32ToWasm0(isolated, wasm.__wbindgen_export);
1035
+ var len2 = WASM_VECTOR_LEN;
1027
1036
  const ptr3 = passStringToWasm0(hidden_types_csv, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1028
1037
  const len3 = WASM_VECTOR_LEN;
1029
1038
  wasm.ifcapi_exportGlb(retptr, this.__wbg_ptr, ptr0, len0, include_metadata, ptr1, len1, ptr2, len2, ptr3, len3, isLikeNone(lit) ? 0xFFFFFF : lit ? 1 : 0, isLikeNone(emissive) ? 0xFFFFFF : emissive ? 1 : 0);
@@ -1049,11 +1058,13 @@ export class IfcAPI {
1049
1058
  * per-mesh local). The caller passes exactly the meshes it wants emitted.
1050
1059
  *
1051
1060
  * Fails CLOSED: if the declared vertex/index counts run past the flattened
1052
- * `positions` / `indices`, there are fewer `index_counts` than meshes, or `normals`
1053
- * is empty or too short to cover every vertex, this throws an `Error` whose message
1054
- * starts with `MALFORMED_MESH_INPUT` instead of silently emitting a GLB with those
1055
- * meshes dropped. (The viewer always passes fully-backed, normal-covered arrays, so
1056
- * this only fires on a caller bug.)
1061
+ * `positions` / `indices`, there are fewer `index_counts` than meshes, `normals`
1062
+ * is empty or too short to cover every vertex, or an index names a vertex its own
1063
+ * mesh does not have (glTF 2.0 3.7.2.1), this throws an `Error` whose message
1064
+ * starts with `MALFORMED_MESH_INPUT` instead of silently emitting a GLB with
1065
+ * those meshes dropped, or one carrying the out-of-range index straight into the
1066
+ * BIN chunk. (The viewer always passes fully-backed, normal-covered, in-range
1067
+ * arrays, so this only fires on a caller bug.)
1057
1068
  * @param {Float32Array} positions
1058
1069
  * @param {Float32Array} normals
1059
1070
  * @param {Uint32Array} indices
@@ -1295,6 +1306,14 @@ export class IfcAPI {
1295
1306
  * `altitude_mode` (`"clampToGround"` default ⇒ rest on terrain, ignoring
1296
1307
  * `altitude`; `"absolute"` ⇒ place at `altitude` metres MSL) selects the
1297
1308
  * KML vertical placement (#1427).
1309
+ *
1310
+ * Fails CLOSED: when no triangle survives (an empty visible set, or meshes
1311
+ * whose only triangles are degenerate and collapse in the vertex dedup)
1312
+ * this throws an `Error` whose message starts with `NO_RENDER_GEOMETRY`;
1313
+ * a declared vertex/index count running past its buffer throws
1314
+ * `MALFORMED_MESH_INPUT`, as `exportGlbFromMeshes` does. Both used to ship
1315
+ * as a small "successful" archive: the first around a COLLADA document
1316
+ * the 1.4.1 schema rejects, the second with every later mesh missing.
1298
1317
  * @param {Float32Array} positions
1299
1318
  * @param {Float32Array} normals
1300
1319
  * @param {Uint32Array} indices
@@ -1335,6 +1354,11 @@ export class IfcAPI {
1335
1354
  wasm.ifcapi_exportKmzFromMeshes(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, latitude, longitude, altitude, !isLikeNone(x_axis_abscissa), isLikeNone(x_axis_abscissa) ? 0 : x_axis_abscissa, !isLikeNone(x_axis_ordinate), isLikeNone(x_axis_ordinate) ? 0 : x_axis_ordinate, ptr7, len7, ptr8, len8);
1336
1355
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1337
1356
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1357
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1358
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
1359
+ if (r3) {
1360
+ throw takeObject(r2);
1361
+ }
1338
1362
  var v10 = getArrayU8FromWasm0(r0, r1).slice();
1339
1363
  wasm.__wbindgen_export4(r0, r1 * 1, 1);
1340
1364
  return v10;
@@ -1378,16 +1402,23 @@ export class IfcAPI {
1378
1402
  * V8 max-string ceiling (~512 MB); decode with `TextDecoder` when a string
1379
1403
  * is genuinely needed.
1380
1404
  *
1381
- * `hidden` / `isolated` are express-id filters mirroring the viewer's visibility
1382
- * state (empty `isolated` all visible). Instanced type-library shapes are skipped.
1405
+ * `hidden` is an express-id filter mirroring the viewer's visibility state.
1406
+ * `isolated` carries the isolation allowlist's null-vs-empty distinction across
1407
+ * the wasm boundary: omit it (`undefined`) for "no isolation filter" (every mesh
1408
+ * is a candidate); pass an empty `Uint32Array` for "isolation is ACTIVE and
1409
+ * currently matches nothing" (every mesh is excluded). Collapsing the two — as a
1410
+ * bare `Uint32Array` parameter would force a caller to do — silently exports the
1411
+ * whole model when a filter matches nothing (the OBJ twin of #4328/#4364, fixed
1412
+ * for GLB in `export_glb`). A non-empty `Uint32Array` is the ordinary allowlist.
1413
+ * Instanced type-library shapes are skipped regardless of the filter.
1383
1414
  *
1384
1415
  * ```javascript
1385
- * const obj = api.exportObj(ifcContent, true, new Uint32Array(), new Uint32Array());
1416
+ * const obj = api.exportObj(ifcContent, true, new Uint32Array(), undefined);
1386
1417
  * ```
1387
1418
  * @param {Uint8Array} content
1388
1419
  * @param {boolean} include_normals
1389
1420
  * @param {Uint32Array} hidden
1390
- * @param {Uint32Array} isolated
1421
+ * @param {Uint32Array | null} [isolated]
1391
1422
  * @returns {Uint8Array}
1392
1423
  */
1393
1424
  exportObj(content, include_normals, hidden, isolated) {
@@ -1397,8 +1428,8 @@ export class IfcAPI {
1397
1428
  const len0 = WASM_VECTOR_LEN;
1398
1429
  const ptr1 = passArray32ToWasm0(hidden, wasm.__wbindgen_export);
1399
1430
  const len1 = WASM_VECTOR_LEN;
1400
- const ptr2 = passArray32ToWasm0(isolated, wasm.__wbindgen_export);
1401
- const len2 = WASM_VECTOR_LEN;
1431
+ var ptr2 = isLikeNone(isolated) ? 0 : passArray32ToWasm0(isolated, wasm.__wbindgen_export);
1432
+ var len2 = WASM_VECTOR_LEN;
1402
1433
  wasm.ifcapi_exportObj(retptr, this.__wbg_ptr, ptr0, len0, include_normals, ptr1, len1, ptr2, len2);
1403
1434
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1404
1435
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
@@ -1882,8 +1913,9 @@ export class IfcAPI {
1882
1913
  }
1883
1914
  }
1884
1915
  /**
1885
- * Plan a complete opaque polygonal PDF fill page as canonical IfcAnnotation
1886
- * geometry. Painted strokes, curves and unsupported states refuse atomically.
1916
+ * Plan an opaque polygonal PDF fill page as canonical IfcAnnotation
1917
+ * geometry with a provenance property set. An exact page plans directly; a
1918
+ * page with visible omissions needs the accepted fidelity report digest.
1887
1919
  * @param {Uint8Array} source
1888
1920
  * @param {string} request_json
1889
1921
  * @returns {Uint8Array}
@@ -1911,8 +1943,56 @@ export class IfcAPI {
1911
1943
  }
1912
1944
  }
1913
1945
  /**
1914
- * Prepare bounded ordered PDF vector graphics states. No IFC entities or
1915
- * flattened geometry are produced; unsupported content prevents qualification.
1946
+ * Registered RGB point-cloud observations (#4381). `request_json.source`
1947
+ * is `{kind:'points', …}`; `positions` (3n f64, source-frame metres) and
1948
+ * `colors` (3n RGB8) are the payload, `normals` (3n f32, oriented) and
1949
+ * `stations` (n indices into `source.viewpoints`) are empty when absent.
1950
+ * `rgba` carries only the target's existing rasters. Same output as
1951
+ * `planMeshTransfer`; `transfer.source` records the orientation used.
1952
+ * @param {Uint8Array} content
1953
+ * @param {string} request_json
1954
+ * @param {Uint8Array} rgba
1955
+ * @param {Float64Array} positions
1956
+ * @param {Uint8Array} colors
1957
+ * @param {Float32Array} normals
1958
+ * @param {Uint32Array} stations
1959
+ * @returns {Uint8Array}
1960
+ */
1961
+ planPointTransfer(content, request_json, rgba, positions, colors, normals, stations) {
1962
+ try {
1963
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1964
+ const ptr0 = passArray8ToWasm0(content, wasm.__wbindgen_export);
1965
+ const len0 = WASM_VECTOR_LEN;
1966
+ const ptr1 = passStringToWasm0(request_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1967
+ const len1 = WASM_VECTOR_LEN;
1968
+ const ptr2 = passArray8ToWasm0(rgba, wasm.__wbindgen_export);
1969
+ const len2 = WASM_VECTOR_LEN;
1970
+ const ptr3 = passArrayF64ToWasm0(positions, wasm.__wbindgen_export);
1971
+ const len3 = WASM_VECTOR_LEN;
1972
+ const ptr4 = passArray8ToWasm0(colors, wasm.__wbindgen_export);
1973
+ const len4 = WASM_VECTOR_LEN;
1974
+ const ptr5 = passArrayF32ToWasm0(normals, wasm.__wbindgen_export);
1975
+ const len5 = WASM_VECTOR_LEN;
1976
+ const ptr6 = passArray32ToWasm0(stations, wasm.__wbindgen_export);
1977
+ const len6 = WASM_VECTOR_LEN;
1978
+ wasm.ifcapi_planPointTransfer(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6);
1979
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1980
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1981
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1982
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
1983
+ if (r3) {
1984
+ throw takeObject(r2);
1985
+ }
1986
+ var v8 = getArrayU8FromWasm0(r0, r1).slice();
1987
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1988
+ return v8;
1989
+ } finally {
1990
+ wasm.__wbindgen_add_to_stack_pointer(16);
1991
+ }
1992
+ }
1993
+ /**
1994
+ * Prepare bounded ordered PDF vector graphics states and the page fidelity
1995
+ * report (convertible paths, omissions with extent, exact/raster-only).
1916
1996
  * @param {string} request_json
1917
1997
  * @returns {Uint8Array}
1918
1998
  */
Binary file