okgeometry-api 1.11.0 → 1.14.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.
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-base64.js","sourceRoot":"","sources":["../src/wasm-base64.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,kv/wEAAkv/wE,CAAC"}
1
+ {"version":3,"file":"wasm-base64.js","sourceRoot":"","sources":["../src/wasm-base64.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,sy57EAAsy57E,CAAC"}
@@ -34,6 +34,16 @@ export function arc_point_at(cx: number, cy: number, cz: number, nx: number, ny:
34
34
  * @returns {string}
35
35
  */
36
36
  export function brep_boolean_op(a_json: string, b_json: string, op: string, tolerance: number): string;
37
+ /**
38
+ * Closest BREP face to a 3D point. Returns [faceIndex, u, v, distance,
39
+ * isNurbs] ((u, v) in the surface's KNOT domain) or empty on failure.
40
+ * @param {string} json
41
+ * @param {number} x
42
+ * @param {number} y
43
+ * @param {number} z
44
+ * @returns {Float64Array}
45
+ */
46
+ export function brep_closest_face(json: string, x: number, y: number, z: number): Float64Array;
37
47
  /**
38
48
  * All BREP edges as polylines: [num_polylines, n1, x,y,z..., n2, ...].
39
49
  * @param {string} json
@@ -41,6 +51,23 @@ export function brep_boolean_op(a_json: string, b_json: string, op: string, tole
41
51
  * @returns {Float64Array}
42
52
  */
43
53
  export function brep_edges(json: string, tolerance: number): Float64Array;
54
+ /**
55
+ * Extract one face as a standalone single-face TRIMMED sheet BREP (trim
56
+ * loops, pcurves, edges and vertices preserved). Returns JSON, empty on
57
+ * failure.
58
+ * @param {string} json
59
+ * @param {number} face_index
60
+ * @returns {string}
61
+ */
62
+ export function brep_extract_face(json: string, face_index: number): string;
63
+ /**
64
+ * ALL faces as standalone single-face trimmed sheet BREPs, in one crossing
65
+ * (the source JSON is parsed once). Returns a JSON ARRAY aligned with face
66
+ * indices; faces that fail to extract are `null`.
67
+ * @param {string} json
68
+ * @returns {string}
69
+ */
70
+ export function brep_extract_faces(json: string): string;
44
71
  /**
45
72
  * Extrude a profile curve into a BREP (closed profile → capped solid,
46
73
  * open profile → sheet). Returns JSON.
@@ -52,6 +79,17 @@ export function brep_edges(json: string, tolerance: number): Float64Array;
52
79
  * @returns {string}
53
80
  */
54
81
  export function brep_extrude_curve(curve_data: Float64Array, dx: number, dy: number, dz: number, height: number): string;
82
+ /**
83
+ * Exact (u, v) of a point on a specific BREP face (closest-point Newton for
84
+ * NURBS, frame projection for planes). Returns [u, v, distance, isNurbs].
85
+ * @param {string} json
86
+ * @param {number} face_index
87
+ * @param {number} x
88
+ * @param {number} y
89
+ * @param {number} z
90
+ * @returns {Float64Array}
91
+ */
92
+ export function brep_face_closest_uv(json: string, face_index: number, x: number, y: number, z: number): Float64Array;
55
93
  /**
56
94
  * Iso-parametric curve of a NURBS face's backing surface (untrimmed).
57
95
  * Returns curve data, or empty for planar faces.
@@ -62,6 +100,30 @@ export function brep_extrude_curve(curve_data: Float64Array, dx: number, dy: num
62
100
  * @returns {Float64Array}
63
101
  */
64
102
  export function brep_face_iso_curve(json: string, face_index: number, t: number, u_dir: boolean): Float64Array;
103
+ /**
104
+ * Exact isocurve(s) of a BREP face at KNOT-domain parameter `t`, CLIPPED to
105
+ * the face's trimmed region. `u_dir = true` runs along u at fixed v = t.
106
+ * Line pieces (planar faces) are encoded as degree-1 NURBS.
107
+ * Packing: [curveCount, (bufLen, curveData…)·curveCount] where curveData is
108
+ * the standard NURBS curve encoding.
109
+ * @param {string} json
110
+ * @param {number} face_index
111
+ * @param {number} t
112
+ * @param {boolean} u_dir
113
+ * @returns {Float64Array}
114
+ */
115
+ export function brep_face_iso_curves_trimmed(json: string, face_index: number, t: number, u_dir: boolean): Float64Array;
116
+ /**
117
+ * Like `brep_face_iso_curves_trimmed`, but `t` is NORMALIZED [0, 1] across
118
+ * the face's trim extent in the fixed direction — callers don't need the
119
+ * surface knot domain. Same packing.
120
+ * @param {string} json
121
+ * @param {number} face_index
122
+ * @param {number} t
123
+ * @param {boolean} u_dir
124
+ * @returns {Float64Array}
125
+ */
126
+ export function brep_face_iso_curves_trimmed_normalized(json: string, face_index: number, t: number, u_dir: boolean): Float64Array;
65
127
  /**
66
128
  * Geometric backing of a face.
67
129
  * Returns [0, ox,oy,oz, ux,uy,uz, vx,vy,vz] for planes,
@@ -71,6 +133,23 @@ export function brep_face_iso_curve(json: string, face_index: number, t: number,
71
133
  * @returns {Float64Array}
72
134
  */
73
135
  export function brep_face_surface(json: string, face_index: number): Float64Array;
136
+ /**
137
+ * Underlying surface of a face CROPPED to its trim extent, ALWAYS as a NURBS
138
+ * surface (planar faces become exact degree-1 patches). Returns surface
139
+ * data, empty on failure.
140
+ * @param {string} json
141
+ * @param {number} face_index
142
+ * @returns {Float64Array}
143
+ */
144
+ export function brep_face_surface_cropped(json: string, face_index: number): Float64Array;
145
+ /**
146
+ * Batch variant of `brep_face_surface_cropped` for all faces in one
147
+ * crossing. Packing: [faceCount, (bufLen, surfaceData…)·faceCount], aligned
148
+ * with face indices — a face that fails to crop gets bufLen 0.
149
+ * @param {string} json
150
+ * @returns {Float64Array}
151
+ */
152
+ export function brep_face_surfaces_cropped(json: string): Float64Array;
74
153
  /**
75
154
  * Tessellate a single BREP face. Returns the standard mesh buffer.
76
155
  * @param {string} json
@@ -79,6 +158,25 @@ export function brep_face_surface(json: string, face_index: number): Float64Arra
79
158
  * @returns {Float64Array}
80
159
  */
81
160
  export function brep_face_tessellate(json: string, face_index: number, tolerance: number): Float64Array;
161
+ /**
162
+ * UV bounding box of a face's trim loops in surface parameter space:
163
+ * [u_min, u_max, v_min, v_max]. Empty on failure.
164
+ * @param {string} json
165
+ * @param {number} face_index
166
+ * @returns {Float64Array}
167
+ */
168
+ export function brep_face_trim_bounds(json: string, face_index: number): Float64Array;
169
+ /**
170
+ * Convert a closed manifold triangle mesh into a planar-face BREP.
171
+ * `normal_angle_tol_deg` ≤ 0 selects the default (≈0.057°); `max_faces` 0 =
172
+ * default guard (4096). Returns BREP JSON or {"error": ...}.
173
+ * @param {number} vertex_count
174
+ * @param {Float64Array} buffer
175
+ * @param {number} normal_angle_tol_deg
176
+ * @param {number} max_faces
177
+ * @returns {string}
178
+ */
179
+ export function brep_from_mesh_buffer(vertex_count: number, buffer: Float64Array, normal_angle_tol_deg: number, max_faces: number): string;
82
180
  /**
83
181
  * BREP structure summary: [face_count, edge_count, vertex_count, is_closed].
84
182
  * @param {string} json
@@ -124,6 +222,17 @@ export function brep_revolve_curve(curve_data: Float64Array, ox: number, oy: num
124
222
  * @returns {string}
125
223
  */
126
224
  export function brep_sheet_from_surface(surface_data: Float64Array): string;
225
+ /**
226
+ * Split a closed solid BREP by a sheet BREP into BOTH capped halves.
227
+ * Returns {"negative": <brep|null>, "positive": <brep|null>} or {"error":...}.
228
+ * Sides follow the sheet normal (negative = behind it), matching
229
+ * `mesh_solid_split_by_surface`.
230
+ * @param {string} solid_json
231
+ * @param {string} sheet_json
232
+ * @param {number} tolerance
233
+ * @returns {string}
234
+ */
235
+ export function brep_split_solid_by_sheet_op(solid_json: string, sheet_json: string, tolerance: number): string;
127
236
  /**
128
237
  * Tessellate a BREP into the standard mesh buffer
129
238
  * [vertexCount, positions..., indices...]. Crack-free across shared edges.
@@ -132,6 +241,18 @@ export function brep_sheet_from_surface(surface_data: Float64Array): string;
132
241
  * @returns {Float64Array}
133
242
  */
134
243
  export function brep_tessellate(json: string, tolerance: number): Float64Array;
244
+ /**
245
+ * Tessellate a BREP with per-face triangle ranges for face-level picking.
246
+ * `tolerance <= 0` selects the deterministic auto display tolerance (from the
247
+ * BREP's own extent), so triangle indices from a previously produced
248
+ * auto-tolerance display mesh stay valid across calls.
249
+ * Packing: [vertexCount, indexCount, rangeCount,
250
+ * positions(3·vc), indices(ic), (face, firstTri, triCount)·rc].
251
+ * @param {string} json
252
+ * @param {number} tolerance
253
+ * @returns {Float64Array}
254
+ */
255
+ export function brep_tessellate_with_face_ranges(json: string, tolerance: number): Float64Array;
135
256
  /**
136
257
  * Apply a row-major 4x4 matrix to a BREP. Returns transformed JSON.
137
258
  * @param {string} json
@@ -966,6 +1087,22 @@ export function mesh_get_edge_vertex_pairs(vertex_count: number, buffer: Float64
966
1087
  * @returns {number}
967
1088
  */
968
1089
  export function mesh_get_face_area(vertex_count: number, buffer: Float64Array, face_index: number): number;
1090
+ /**
1091
+ * Boundary loops of the coplanar connected face group containing `face_index`.
1092
+ *
1093
+ * Boundary edges are the directed triangle edges whose reversed twin is not
1094
+ * present within the group; chaining them preserves the group's winding.
1095
+ * Consecutive collinear points (T-junction subdivisions) are collapsed so
1096
+ * consumers receive clean polygon corners.
1097
+ *
1098
+ * Output format: [loopCount, (pointCount, x, y, z, ...) per loop].
1099
+ * Loops are implicitly closed (last point connects back to the first).
1100
+ * @param {number} vertex_count
1101
+ * @param {Float64Array} buffer
1102
+ * @param {number} face_index
1103
+ * @returns {Float64Array}
1104
+ */
1105
+ export function mesh_get_face_boundary_loops(vertex_count: number, buffer: Float64Array, face_index: number): Float64Array;
969
1106
  /**
970
1107
  * Face centroid as [x, y, z].
971
1108
  * @param {number} vertex_count
@@ -1207,6 +1344,20 @@ export function mesh_solid_split_by_surface(vertex_count_a: number, buffer_a: Fl
1207
1344
  * @returns {Float64Array}
1208
1345
  */
1209
1346
  export function mesh_solid_split_plane(vertex_count: number, buffer: Float64Array, nx: number, ny: number, nz: number, d: number, operation: string): Float64Array;
1347
+ /**
1348
+ * One-shot production path: closed manifold triangle mesh ÷ NURBS surface →
1349
+ * both halves as exact capped BREPs, in a single WASM crossing (mesh→BREP
1350
+ * conversion, sheet construction and the parametric split all run kernel-side).
1351
+ * Returns {"negative": <brep|null>, "positive": <brep|null>} or {"error":...}.
1352
+ * @param {number} vertex_count
1353
+ * @param {Float64Array} buffer
1354
+ * @param {Float64Array} surface_data
1355
+ * @param {number} tolerance
1356
+ * @param {number} normal_angle_tol_deg
1357
+ * @param {number} max_faces
1358
+ * @returns {string}
1359
+ */
1360
+ export function mesh_split_by_surface_to_brep(vertex_count: number, buffer: Float64Array, surface_data: Float64Array, tolerance: number, normal_angle_tol_deg: number, max_faces: number): string;
1210
1361
  /**
1211
1362
  * Trim an OPEN host surface by all closed cutter meshes in one WASM call.
1212
1363
  *
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-bindings.d.ts","sourceRoot":"","sources":["../src/wasm-bindings.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasm-bindings.d.ts","sourceRoot":"","sources":["../src/wasm-bindings.js"],"names":[],"mappings":"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"}
@@ -61,6 +61,23 @@ export function brep_boolean_op(a_json, b_json, op, tolerance) {
61
61
  wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
62
62
  }
63
63
  }
64
+ /**
65
+ * Closest BREP face to a 3D point. Returns [faceIndex, u, v, distance,
66
+ * isNurbs] ((u, v) in the surface's KNOT domain) or empty on failure.
67
+ * @param {string} json
68
+ * @param {number} x
69
+ * @param {number} y
70
+ * @param {number} z
71
+ * @returns {Float64Array}
72
+ */
73
+ export function brep_closest_face(json, x, y, z) {
74
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
75
+ const len0 = WASM_VECTOR_LEN;
76
+ const ret = wasm.brep_closest_face(ptr0, len0, x, y, z);
77
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
78
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
79
+ return v2;
80
+ }
64
81
  /**
65
82
  * All BREP edges as polylines: [num_polylines, n1, x,y,z..., n2, ...].
66
83
  * @param {string} json
@@ -75,6 +92,51 @@ export function brep_edges(json, tolerance) {
75
92
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
76
93
  return v2;
77
94
  }
95
+ /**
96
+ * Extract one face as a standalone single-face TRIMMED sheet BREP (trim
97
+ * loops, pcurves, edges and vertices preserved). Returns JSON, empty on
98
+ * failure.
99
+ * @param {string} json
100
+ * @param {number} face_index
101
+ * @returns {string}
102
+ */
103
+ export function brep_extract_face(json, face_index) {
104
+ let deferred2_0;
105
+ let deferred2_1;
106
+ try {
107
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
108
+ const len0 = WASM_VECTOR_LEN;
109
+ const ret = wasm.brep_extract_face(ptr0, len0, face_index);
110
+ deferred2_0 = ret[0];
111
+ deferred2_1 = ret[1];
112
+ return getStringFromWasm0(ret[0], ret[1]);
113
+ }
114
+ finally {
115
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
116
+ }
117
+ }
118
+ /**
119
+ * ALL faces as standalone single-face trimmed sheet BREPs, in one crossing
120
+ * (the source JSON is parsed once). Returns a JSON ARRAY aligned with face
121
+ * indices; faces that fail to extract are `null`.
122
+ * @param {string} json
123
+ * @returns {string}
124
+ */
125
+ export function brep_extract_faces(json) {
126
+ let deferred2_0;
127
+ let deferred2_1;
128
+ try {
129
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
130
+ const len0 = WASM_VECTOR_LEN;
131
+ const ret = wasm.brep_extract_faces(ptr0, len0);
132
+ deferred2_0 = ret[0];
133
+ deferred2_1 = ret[1];
134
+ return getStringFromWasm0(ret[0], ret[1]);
135
+ }
136
+ finally {
137
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
138
+ }
139
+ }
78
140
  /**
79
141
  * Extrude a profile curve into a BREP (closed profile → capped solid,
80
142
  * open profile → sheet). Returns JSON.
@@ -100,6 +162,24 @@ export function brep_extrude_curve(curve_data, dx, dy, dz, height) {
100
162
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
101
163
  }
102
164
  }
165
+ /**
166
+ * Exact (u, v) of a point on a specific BREP face (closest-point Newton for
167
+ * NURBS, frame projection for planes). Returns [u, v, distance, isNurbs].
168
+ * @param {string} json
169
+ * @param {number} face_index
170
+ * @param {number} x
171
+ * @param {number} y
172
+ * @param {number} z
173
+ * @returns {Float64Array}
174
+ */
175
+ export function brep_face_closest_uv(json, face_index, x, y, z) {
176
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
177
+ const len0 = WASM_VECTOR_LEN;
178
+ const ret = wasm.brep_face_closest_uv(ptr0, len0, face_index, x, y, z);
179
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
180
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
181
+ return v2;
182
+ }
103
183
  /**
104
184
  * Iso-parametric curve of a NURBS face's backing surface (untrimmed).
105
185
  * Returns curve data, or empty for planar faces.
@@ -117,6 +197,44 @@ export function brep_face_iso_curve(json, face_index, t, u_dir) {
117
197
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
118
198
  return v2;
119
199
  }
200
+ /**
201
+ * Exact isocurve(s) of a BREP face at KNOT-domain parameter `t`, CLIPPED to
202
+ * the face's trimmed region. `u_dir = true` runs along u at fixed v = t.
203
+ * Line pieces (planar faces) are encoded as degree-1 NURBS.
204
+ * Packing: [curveCount, (bufLen, curveData…)·curveCount] where curveData is
205
+ * the standard NURBS curve encoding.
206
+ * @param {string} json
207
+ * @param {number} face_index
208
+ * @param {number} t
209
+ * @param {boolean} u_dir
210
+ * @returns {Float64Array}
211
+ */
212
+ export function brep_face_iso_curves_trimmed(json, face_index, t, u_dir) {
213
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
214
+ const len0 = WASM_VECTOR_LEN;
215
+ const ret = wasm.brep_face_iso_curves_trimmed(ptr0, len0, face_index, t, u_dir);
216
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
217
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
218
+ return v2;
219
+ }
220
+ /**
221
+ * Like `brep_face_iso_curves_trimmed`, but `t` is NORMALIZED [0, 1] across
222
+ * the face's trim extent in the fixed direction — callers don't need the
223
+ * surface knot domain. Same packing.
224
+ * @param {string} json
225
+ * @param {number} face_index
226
+ * @param {number} t
227
+ * @param {boolean} u_dir
228
+ * @returns {Float64Array}
229
+ */
230
+ export function brep_face_iso_curves_trimmed_normalized(json, face_index, t, u_dir) {
231
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
232
+ const len0 = WASM_VECTOR_LEN;
233
+ const ret = wasm.brep_face_iso_curves_trimmed_normalized(ptr0, len0, face_index, t, u_dir);
234
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
235
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
236
+ return v2;
237
+ }
120
238
  /**
121
239
  * Geometric backing of a face.
122
240
  * Returns [0, ox,oy,oz, ux,uy,uz, vx,vy,vz] for planes,
@@ -133,6 +251,37 @@ export function brep_face_surface(json, face_index) {
133
251
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
134
252
  return v2;
135
253
  }
254
+ /**
255
+ * Underlying surface of a face CROPPED to its trim extent, ALWAYS as a NURBS
256
+ * surface (planar faces become exact degree-1 patches). Returns surface
257
+ * data, empty on failure.
258
+ * @param {string} json
259
+ * @param {number} face_index
260
+ * @returns {Float64Array}
261
+ */
262
+ export function brep_face_surface_cropped(json, face_index) {
263
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
264
+ const len0 = WASM_VECTOR_LEN;
265
+ const ret = wasm.brep_face_surface_cropped(ptr0, len0, face_index);
266
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
267
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
268
+ return v2;
269
+ }
270
+ /**
271
+ * Batch variant of `brep_face_surface_cropped` for all faces in one
272
+ * crossing. Packing: [faceCount, (bufLen, surfaceData…)·faceCount], aligned
273
+ * with face indices — a face that fails to crop gets bufLen 0.
274
+ * @param {string} json
275
+ * @returns {Float64Array}
276
+ */
277
+ export function brep_face_surfaces_cropped(json) {
278
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
279
+ const len0 = WASM_VECTOR_LEN;
280
+ const ret = wasm.brep_face_surfaces_cropped(ptr0, len0);
281
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
282
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
283
+ return v2;
284
+ }
136
285
  /**
137
286
  * Tessellate a single BREP face. Returns the standard mesh buffer.
138
287
  * @param {string} json
@@ -148,6 +297,46 @@ export function brep_face_tessellate(json, face_index, tolerance) {
148
297
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
149
298
  return v2;
150
299
  }
300
+ /**
301
+ * UV bounding box of a face's trim loops in surface parameter space:
302
+ * [u_min, u_max, v_min, v_max]. Empty on failure.
303
+ * @param {string} json
304
+ * @param {number} face_index
305
+ * @returns {Float64Array}
306
+ */
307
+ export function brep_face_trim_bounds(json, face_index) {
308
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
309
+ const len0 = WASM_VECTOR_LEN;
310
+ const ret = wasm.brep_face_trim_bounds(ptr0, len0, face_index);
311
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
312
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
313
+ return v2;
314
+ }
315
+ /**
316
+ * Convert a closed manifold triangle mesh into a planar-face BREP.
317
+ * `normal_angle_tol_deg` ≤ 0 selects the default (≈0.057°); `max_faces` 0 =
318
+ * default guard (4096). Returns BREP JSON or {"error": ...}.
319
+ * @param {number} vertex_count
320
+ * @param {Float64Array} buffer
321
+ * @param {number} normal_angle_tol_deg
322
+ * @param {number} max_faces
323
+ * @returns {string}
324
+ */
325
+ export function brep_from_mesh_buffer(vertex_count, buffer, normal_angle_tol_deg, max_faces) {
326
+ let deferred2_0;
327
+ let deferred2_1;
328
+ try {
329
+ const ptr0 = passArrayF64ToWasm0(buffer, wasm.__wbindgen_malloc);
330
+ const len0 = WASM_VECTOR_LEN;
331
+ const ret = wasm.brep_from_mesh_buffer(vertex_count, ptr0, len0, normal_angle_tol_deg, max_faces);
332
+ deferred2_0 = ret[0];
333
+ deferred2_1 = ret[1];
334
+ return getStringFromWasm0(ret[0], ret[1]);
335
+ }
336
+ finally {
337
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
338
+ }
339
+ }
151
340
  /**
152
341
  * BREP structure summary: [face_count, edge_count, vertex_count, is_closed].
153
342
  * @param {string} json
@@ -258,6 +447,33 @@ export function brep_sheet_from_surface(surface_data) {
258
447
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
259
448
  }
260
449
  }
450
+ /**
451
+ * Split a closed solid BREP by a sheet BREP into BOTH capped halves.
452
+ * Returns {"negative": <brep|null>, "positive": <brep|null>} or {"error":...}.
453
+ * Sides follow the sheet normal (negative = behind it), matching
454
+ * `mesh_solid_split_by_surface`.
455
+ * @param {string} solid_json
456
+ * @param {string} sheet_json
457
+ * @param {number} tolerance
458
+ * @returns {string}
459
+ */
460
+ export function brep_split_solid_by_sheet_op(solid_json, sheet_json, tolerance) {
461
+ let deferred3_0;
462
+ let deferred3_1;
463
+ try {
464
+ const ptr0 = passStringToWasm0(solid_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
465
+ const len0 = WASM_VECTOR_LEN;
466
+ const ptr1 = passStringToWasm0(sheet_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
467
+ const len1 = WASM_VECTOR_LEN;
468
+ const ret = wasm.brep_split_solid_by_sheet_op(ptr0, len0, ptr1, len1, tolerance);
469
+ deferred3_0 = ret[0];
470
+ deferred3_1 = ret[1];
471
+ return getStringFromWasm0(ret[0], ret[1]);
472
+ }
473
+ finally {
474
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
475
+ }
476
+ }
261
477
  /**
262
478
  * Tessellate a BREP into the standard mesh buffer
263
479
  * [vertexCount, positions..., indices...]. Crack-free across shared edges.
@@ -273,6 +489,25 @@ export function brep_tessellate(json, tolerance) {
273
489
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
274
490
  return v2;
275
491
  }
492
+ /**
493
+ * Tessellate a BREP with per-face triangle ranges for face-level picking.
494
+ * `tolerance <= 0` selects the deterministic auto display tolerance (from the
495
+ * BREP's own extent), so triangle indices from a previously produced
496
+ * auto-tolerance display mesh stay valid across calls.
497
+ * Packing: [vertexCount, indexCount, rangeCount,
498
+ * positions(3·vc), indices(ic), (face, firstTri, triCount)·rc].
499
+ * @param {string} json
500
+ * @param {number} tolerance
501
+ * @returns {Float64Array}
502
+ */
503
+ export function brep_tessellate_with_face_ranges(json, tolerance) {
504
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
505
+ const len0 = WASM_VECTOR_LEN;
506
+ const ret = wasm.brep_tessellate_with_face_ranges(ptr0, len0, tolerance);
507
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
508
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
509
+ return v2;
510
+ }
276
511
  /**
277
512
  * Apply a row-major 4x4 matrix to a BREP. Returns transformed JSON.
278
513
  * @param {string} json
@@ -1864,6 +2099,29 @@ export function mesh_get_face_area(vertex_count, buffer, face_index) {
1864
2099
  const ret = wasm.mesh_get_face_area(vertex_count, ptr0, len0, face_index);
1865
2100
  return ret;
1866
2101
  }
2102
+ /**
2103
+ * Boundary loops of the coplanar connected face group containing `face_index`.
2104
+ *
2105
+ * Boundary edges are the directed triangle edges whose reversed twin is not
2106
+ * present within the group; chaining them preserves the group's winding.
2107
+ * Consecutive collinear points (T-junction subdivisions) are collapsed so
2108
+ * consumers receive clean polygon corners.
2109
+ *
2110
+ * Output format: [loopCount, (pointCount, x, y, z, ...) per loop].
2111
+ * Loops are implicitly closed (last point connects back to the first).
2112
+ * @param {number} vertex_count
2113
+ * @param {Float64Array} buffer
2114
+ * @param {number} face_index
2115
+ * @returns {Float64Array}
2116
+ */
2117
+ export function mesh_get_face_boundary_loops(vertex_count, buffer, face_index) {
2118
+ const ptr0 = passArrayF64ToWasm0(buffer, wasm.__wbindgen_malloc);
2119
+ const len0 = WASM_VECTOR_LEN;
2120
+ const ret = wasm.mesh_get_face_boundary_loops(vertex_count, ptr0, len0, face_index);
2121
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2122
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2123
+ return v2;
2124
+ }
1867
2125
  /**
1868
2126
  * Face centroid as [x, y, z].
1869
2127
  * @param {number} vertex_count
@@ -2293,6 +2551,36 @@ export function mesh_solid_split_plane(vertex_count, buffer, nx, ny, nz, d, oper
2293
2551
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2294
2552
  return v3;
2295
2553
  }
2554
+ /**
2555
+ * One-shot production path: closed manifold triangle mesh ÷ NURBS surface →
2556
+ * both halves as exact capped BREPs, in a single WASM crossing (mesh→BREP
2557
+ * conversion, sheet construction and the parametric split all run kernel-side).
2558
+ * Returns {"negative": <brep|null>, "positive": <brep|null>} or {"error":...}.
2559
+ * @param {number} vertex_count
2560
+ * @param {Float64Array} buffer
2561
+ * @param {Float64Array} surface_data
2562
+ * @param {number} tolerance
2563
+ * @param {number} normal_angle_tol_deg
2564
+ * @param {number} max_faces
2565
+ * @returns {string}
2566
+ */
2567
+ export function mesh_split_by_surface_to_brep(vertex_count, buffer, surface_data, tolerance, normal_angle_tol_deg, max_faces) {
2568
+ let deferred3_0;
2569
+ let deferred3_1;
2570
+ try {
2571
+ const ptr0 = passArrayF64ToWasm0(buffer, wasm.__wbindgen_malloc);
2572
+ const len0 = WASM_VECTOR_LEN;
2573
+ const ptr1 = passArrayF64ToWasm0(surface_data, wasm.__wbindgen_malloc);
2574
+ const len1 = WASM_VECTOR_LEN;
2575
+ const ret = wasm.mesh_split_by_surface_to_brep(vertex_count, ptr0, len0, ptr1, len1, tolerance, normal_angle_tol_deg, max_faces);
2576
+ deferred3_0 = ret[0];
2577
+ deferred3_1 = ret[1];
2578
+ return getStringFromWasm0(ret[0], ret[1]);
2579
+ }
2580
+ finally {
2581
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
2582
+ }
2583
+ }
2296
2584
  /**
2297
2585
  * Trim an OPEN host surface by all closed cutter meshes in one WASM call.
2298
2586
  *