brepkit-wasm 1.0.7 → 1.0.8

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/brepkit_wasm.d.ts CHANGED
@@ -931,6 +931,16 @@ export class BrepKernel {
931
931
  * Returns an error if fewer than 3 segments are specified.
932
932
  */
933
933
  makeCircle(radius: number, segments: number): number;
934
+ /**
935
+ * Create a circular arc edge between two points.
936
+ *
937
+ * The arc lies on a circle with the given center, normal axis, and
938
+ * radius derived from `|start − center|`. The arc goes from start
939
+ * to end counter-clockwise when viewed along the normal.
940
+ *
941
+ * Returns an edge handle (`u32`).
942
+ */
943
+ makeCircleArc3d(start_x: number, start_y: number, start_z: number, end_x: number, end_y: number, end_z: number, center_x: number, center_y: number, center_z: number, axis_x: number, axis_y: number, axis_z: number): number;
934
944
  /**
935
945
  * Create a circular face on the XY plane (using NURBS arcs).
936
946
  *
@@ -1527,6 +1537,14 @@ export class BrepKernel {
1527
1537
  * have 16 elements, or the matrix is singular.
1528
1538
  */
1529
1539
  transformWire(wire: number, matrix: Float64Array): void;
1540
+ /**
1541
+ * Unify adjacent faces that lie on the same geometric surface.
1542
+ *
1543
+ * Merges co-surface face fragments (produced by boolean operations)
1544
+ * back into single faces, reducing face count and improving topology.
1545
+ * Returns the number of faces removed.
1546
+ */
1547
+ unifyFaces(solid: number): number;
1530
1548
  /**
1531
1549
  * Untrim a NURBS face by fitting a new surface to the trimmed region.
1532
1550
  *
@@ -2192,6 +2192,35 @@ export class BrepKernel {
2192
2192
  }
2193
2193
  return ret[0] >>> 0;
2194
2194
  }
2195
+ /**
2196
+ * Create a circular arc edge between two points.
2197
+ *
2198
+ * The arc lies on a circle with the given center, normal axis, and
2199
+ * radius derived from `|start − center|`. The arc goes from start
2200
+ * to end counter-clockwise when viewed along the normal.
2201
+ *
2202
+ * Returns an edge handle (`u32`).
2203
+ * @param {number} start_x
2204
+ * @param {number} start_y
2205
+ * @param {number} start_z
2206
+ * @param {number} end_x
2207
+ * @param {number} end_y
2208
+ * @param {number} end_z
2209
+ * @param {number} center_x
2210
+ * @param {number} center_y
2211
+ * @param {number} center_z
2212
+ * @param {number} axis_x
2213
+ * @param {number} axis_y
2214
+ * @param {number} axis_z
2215
+ * @returns {number}
2216
+ */
2217
+ makeCircleArc3d(start_x, start_y, start_z, end_x, end_y, end_z, center_x, center_y, center_z, axis_x, axis_y, axis_z) {
2218
+ const ret = wasm.brepkernel_makeCircleArc3d(this.__wbg_ptr, start_x, start_y, start_z, end_x, end_y, end_z, center_x, center_y, center_z, axis_x, axis_y, axis_z);
2219
+ if (ret[2]) {
2220
+ throw takeFromExternrefTable0(ret[1]);
2221
+ }
2222
+ return ret[0] >>> 0;
2223
+ }
2195
2224
  /**
2196
2225
  * Create a circular face on the XY plane (using NURBS arcs).
2197
2226
  *
@@ -3572,6 +3601,22 @@ export class BrepKernel {
3572
3601
  throw takeFromExternrefTable0(ret[0]);
3573
3602
  }
3574
3603
  }
3604
+ /**
3605
+ * Unify adjacent faces that lie on the same geometric surface.
3606
+ *
3607
+ * Merges co-surface face fragments (produced by boolean operations)
3608
+ * back into single faces, reducing face count and improving topology.
3609
+ * Returns the number of faces removed.
3610
+ * @param {number} solid
3611
+ * @returns {number}
3612
+ */
3613
+ unifyFaces(solid) {
3614
+ const ret = wasm.brepkernel_unifyFaces(this.__wbg_ptr, solid);
3615
+ if (ret[2]) {
3616
+ throw takeFromExternrefTable0(ret[1]);
3617
+ }
3618
+ return ret[0] >>> 0;
3619
+ }
3575
3620
  /**
3576
3621
  * Untrim a NURBS face by fitting a new surface to the trimmed region.
3577
3622
  *
Binary file
@@ -2194,6 +2194,35 @@ class BrepKernel {
2194
2194
  }
2195
2195
  return ret[0] >>> 0;
2196
2196
  }
2197
+ /**
2198
+ * Create a circular arc edge between two points.
2199
+ *
2200
+ * The arc lies on a circle with the given center, normal axis, and
2201
+ * radius derived from `|start − center|`. The arc goes from start
2202
+ * to end counter-clockwise when viewed along the normal.
2203
+ *
2204
+ * Returns an edge handle (`u32`).
2205
+ * @param {number} start_x
2206
+ * @param {number} start_y
2207
+ * @param {number} start_z
2208
+ * @param {number} end_x
2209
+ * @param {number} end_y
2210
+ * @param {number} end_z
2211
+ * @param {number} center_x
2212
+ * @param {number} center_y
2213
+ * @param {number} center_z
2214
+ * @param {number} axis_x
2215
+ * @param {number} axis_y
2216
+ * @param {number} axis_z
2217
+ * @returns {number}
2218
+ */
2219
+ makeCircleArc3d(start_x, start_y, start_z, end_x, end_y, end_z, center_x, center_y, center_z, axis_x, axis_y, axis_z) {
2220
+ const ret = wasm.brepkernel_makeCircleArc3d(this.__wbg_ptr, start_x, start_y, start_z, end_x, end_y, end_z, center_x, center_y, center_z, axis_x, axis_y, axis_z);
2221
+ if (ret[2]) {
2222
+ throw takeFromExternrefTable0(ret[1]);
2223
+ }
2224
+ return ret[0] >>> 0;
2225
+ }
2197
2226
  /**
2198
2227
  * Create a circular face on the XY plane (using NURBS arcs).
2199
2228
  *
@@ -3574,6 +3603,22 @@ class BrepKernel {
3574
3603
  throw takeFromExternrefTable0(ret[0]);
3575
3604
  }
3576
3605
  }
3606
+ /**
3607
+ * Unify adjacent faces that lie on the same geometric surface.
3608
+ *
3609
+ * Merges co-surface face fragments (produced by boolean operations)
3610
+ * back into single faces, reducing face count and improving topology.
3611
+ * Returns the number of faces removed.
3612
+ * @param {number} solid
3613
+ * @returns {number}
3614
+ */
3615
+ unifyFaces(solid) {
3616
+ const ret = wasm.brepkernel_unifyFaces(this.__wbg_ptr, solid);
3617
+ if (ret[2]) {
3618
+ throw takeFromExternrefTable0(ret[1]);
3619
+ }
3620
+ return ret[0] >>> 0;
3621
+ }
3577
3622
  /**
3578
3623
  * Untrim a NURBS face by fitting a new surface to the trimmed region.
3579
3624
  *
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "brepkit-wasm",
3
3
  "type": "module",
4
4
  "description": "WebAssembly bindings for brepkit — browser-native B-Rep solid modeling",
5
- "version": "1.0.7",
5
+ "version": "1.0.8",
6
6
  "license": "AGPL-3.0-only",
7
7
  "repository": {
8
8
  "type": "git",