okgeometry-api 1.18.0 → 1.19.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.
@@ -1333,6 +1333,13 @@ export function sculpt_session_dab(id: number, cx: number, cy: number, cz: numbe
1333
1333
  */
1334
1334
  export function sculpt_session_end_stroke(id: number): void;
1335
1335
 
1336
+ /**
1337
+ * Smooth face group around a seed triangle (dihedral flood fill, same
1338
+ * semantics as the mesh-level query push-pull uses). Returns the group's
1339
+ * triangle indices; empty when the session/seed is invalid.
1340
+ */
1341
+ export function sculpt_session_face_group(id: number, seed_triangle: number, max_angle_deg: number): Uint32Array;
1342
+
1336
1343
  /**
1337
1344
  * Session stats: `[vertexCount, triangleCount, averageEdgeLength, undoDepth,
1338
1345
  * redoDepth]`; empty if the session does not exist.
@@ -1385,6 +1392,14 @@ export function sculpt_session_render_data(id: number): Float32Array;
1385
1392
  */
1386
1393
  export function sculpt_session_subdivide(id: number): number;
1387
1394
 
1395
+ /**
1396
+ * Locally refine the given triangles 1:4 with crack-free conforming
1397
+ * neighbor splits (red-green refinement). Returns 1 on success, 0 when
1398
+ * refused (bad input or safety cap). Clears session undo history; callers
1399
+ * must refetch `sculpt_session_render_data` afterwards.
1400
+ */
1401
+ export function sculpt_session_subdivide_faces(id: number, triangles: Uint32Array): number;
1402
+
1388
1403
  /**
1389
1404
  * Undo the last stroke. Returns the render patch restoring the previous
1390
1405
  * positions; empty when there is nothing to undo.
@@ -1623,6 +1638,7 @@ export interface InitOutput {
1623
1638
  readonly sculpt_session_create: (a: number, b: number, c: number) => number;
1624
1639
  readonly sculpt_session_dab: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number];
1625
1640
  readonly sculpt_session_end_stroke: (a: number) => void;
1641
+ readonly sculpt_session_face_group: (a: number, b: number, c: number) => [number, number];
1626
1642
  readonly sculpt_session_info: (a: number) => [number, number];
1627
1643
  readonly sculpt_session_mask_fill: (a: number, b: number) => [number, number];
1628
1644
  readonly sculpt_session_mask_invert: (a: number) => [number, number];
@@ -1632,6 +1648,7 @@ export interface InitOutput {
1632
1648
  readonly sculpt_session_release: (a: number) => void;
1633
1649
  readonly sculpt_session_render_data: (a: number) => [number, number];
1634
1650
  readonly sculpt_session_subdivide: (a: number) => number;
1651
+ readonly sculpt_session_subdivide_faces: (a: number, b: number, c: number) => number;
1635
1652
  readonly sculpt_session_undo: (a: number) => [number, number];
1636
1653
  readonly sweep_curves: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
1637
1654
  readonly sweep_polylines: (a: number, b: number, c: number, d: number, e: number) => [number, number];
@@ -3951,6 +3951,22 @@ export function sculpt_session_end_stroke(id) {
3951
3951
  wasm.sculpt_session_end_stroke(id);
3952
3952
  }
3953
3953
 
3954
+ /**
3955
+ * Smooth face group around a seed triangle (dihedral flood fill, same
3956
+ * semantics as the mesh-level query push-pull uses). Returns the group's
3957
+ * triangle indices; empty when the session/seed is invalid.
3958
+ * @param {number} id
3959
+ * @param {number} seed_triangle
3960
+ * @param {number} max_angle_deg
3961
+ * @returns {Uint32Array}
3962
+ */
3963
+ export function sculpt_session_face_group(id, seed_triangle, max_angle_deg) {
3964
+ const ret = wasm.sculpt_session_face_group(id, seed_triangle, max_angle_deg);
3965
+ var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
3966
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
3967
+ return v1;
3968
+ }
3969
+
3954
3970
  /**
3955
3971
  * Session stats: `[vertexCount, triangleCount, averageEdgeLength, undoDepth,
3956
3972
  * redoDepth]`; empty if the session does not exist.
@@ -4067,6 +4083,22 @@ export function sculpt_session_subdivide(id) {
4067
4083
  return ret >>> 0;
4068
4084
  }
4069
4085
 
4086
+ /**
4087
+ * Locally refine the given triangles 1:4 with crack-free conforming
4088
+ * neighbor splits (red-green refinement). Returns 1 on success, 0 when
4089
+ * refused (bad input or safety cap). Clears session undo history; callers
4090
+ * must refetch `sculpt_session_render_data` afterwards.
4091
+ * @param {number} id
4092
+ * @param {Uint32Array} triangles
4093
+ * @returns {number}
4094
+ */
4095
+ export function sculpt_session_subdivide_faces(id, triangles) {
4096
+ const ptr0 = passArray32ToWasm0(triangles, wasm.__wbindgen_malloc);
4097
+ const len0 = WASM_VECTOR_LEN;
4098
+ const ret = wasm.sculpt_session_subdivide_faces(id, ptr0, len0);
4099
+ return ret >>> 0;
4100
+ }
4101
+
4070
4102
  /**
4071
4103
  * Undo the last stroke. Returns the render patch restoring the previous
4072
4104
  * positions; empty when there is nothing to undo.
@@ -4241,6 +4273,11 @@ function getArrayF64FromWasm0(ptr, len) {
4241
4273
  return getFloat64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);
4242
4274
  }
4243
4275
 
4276
+ function getArrayU32FromWasm0(ptr, len) {
4277
+ ptr = ptr >>> 0;
4278
+ return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
4279
+ }
4280
+
4244
4281
  function getArrayU8FromWasm0(ptr, len) {
4245
4282
  ptr = ptr >>> 0;
4246
4283
  return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
@@ -4267,6 +4304,14 @@ function getStringFromWasm0(ptr, len) {
4267
4304
  return decodeText(ptr, len);
4268
4305
  }
4269
4306
 
4307
+ let cachedUint32ArrayMemory0 = null;
4308
+ function getUint32ArrayMemory0() {
4309
+ if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {
4310
+ cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);
4311
+ }
4312
+ return cachedUint32ArrayMemory0;
4313
+ }
4314
+
4270
4315
  let cachedUint8ArrayMemory0 = null;
4271
4316
  function getUint8ArrayMemory0() {
4272
4317
  if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
@@ -4275,6 +4320,13 @@ function getUint8ArrayMemory0() {
4275
4320
  return cachedUint8ArrayMemory0;
4276
4321
  }
4277
4322
 
4323
+ function passArray32ToWasm0(arg, malloc) {
4324
+ const ptr = malloc(arg.length * 4, 4) >>> 0;
4325
+ getUint32ArrayMemory0().set(arg, ptr / 4);
4326
+ WASM_VECTOR_LEN = arg.length;
4327
+ return ptr;
4328
+ }
4329
+
4278
4330
  function passArray8ToWasm0(arg, malloc) {
4279
4331
  const ptr = malloc(arg.length * 1, 1) >>> 0;
4280
4332
  getUint8ArrayMemory0().set(arg, ptr / 1);
@@ -4361,6 +4413,7 @@ function __wbg_finalize_init(instance, module) {
4361
4413
  wasmModule = module;
4362
4414
  cachedFloat32ArrayMemory0 = null;
4363
4415
  cachedFloat64ArrayMemory0 = null;
4416
+ cachedUint32ArrayMemory0 = null;
4364
4417
  cachedUint8ArrayMemory0 = null;
4365
4418
  wasm.__wbindgen_start();
4366
4419
  return wasm;