brepjs 20.5.0 → 20.6.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.
Files changed (113) hide show
  1. package/README.md +1 -0
  2. package/dist/2d.cjs +9 -11
  3. package/dist/2d.js +9 -11
  4. package/dist/{adjacencyFns-1rxgJ6Hw.cjs → adjacencyFns-CmNvIFu1.cjs} +5 -6
  5. package/dist/{adjacencyFns-DeyXahej.js → adjacencyFns-DO9_F2YJ.js} +5 -6
  6. package/dist/{arrayAccess-DrUGPADn.js → arrayAccess-BpgouNir.js} +1 -2
  7. package/dist/{arrayAccess-e4H9cBfh.cjs → arrayAccess-DpJYARwv.cjs} +1 -2
  8. package/dist/{blueprint-Yyoiz-U1.cjs → blueprint-Ci2Mw5v-.cjs} +24 -37
  9. package/dist/{blueprint-rwJjYPzo.js → blueprint-DHKul4EN.js} +24 -37
  10. package/dist/{blueprintFns-Ce6OoPSX.cjs → blueprintFns-CbJPSd5r.cjs} +5 -7
  11. package/dist/{blueprintFns-Q3Sq-Fse.js → blueprintFns-D68_PxRl.js} +5 -7
  12. package/dist/{blueprintSketcher-FywUpRiV.js → blueprintSketcher-j9vJAniE.js} +19 -31
  13. package/dist/{blueprintSketcher-CzKbxeTk.cjs → blueprintSketcher-pVbM0BHf.cjs} +19 -31
  14. package/dist/{boolean2D-D8igCYc9.js → boolean2D-D6Oc8tBx.js} +13 -19
  15. package/dist/{boolean2D-BzZ9iBSn.cjs → boolean2D-Dq29HCr9.cjs} +13 -19
  16. package/dist/brepjs.cjs +113 -187
  17. package/dist/brepjs.js +113 -188
  18. package/dist/{bug-O02CsAmt.cjs → bug-CBcpIPuf.cjs} +2 -4
  19. package/dist/{bug-BdOHwn_e.js → bug-ClMTAJhe.js} +2 -4
  20. package/dist/{cameraFns-RHCb1F1s.cjs → cameraFns-BMXugx7m.cjs} +8 -11
  21. package/dist/{cameraFns-Cs6v3bWQ.js → cameraFns-DVZkA2eq.js} +8 -11
  22. package/dist/{constants-ITRzCnCp.js → constants-iraOnb2p.js} +1 -2
  23. package/dist/{constants-BOVyEYGH.cjs → constants-oee0S_x6.cjs} +1 -2
  24. package/dist/core.cjs +8 -8
  25. package/dist/core.js +8 -8
  26. package/dist/{cornerFinder-Dlae8IX5.js → cornerFinder-DSnn8gRP.js} +4 -5
  27. package/dist/{cornerFinder-Cji_BK-R.cjs → cornerFinder-DshfhGHG.cjs} +4 -5
  28. package/dist/{curveFns-KS1BWGhF.js → curveFns-CEb6TLxC.js} +3 -4
  29. package/dist/{curveFns-6-ULFrEB.cjs → curveFns-Cxq5lFqU.cjs} +3 -4
  30. package/dist/{drawFns-Ddlgp9gQ.cjs → drawFns-CH0q-0JP.cjs} +32 -45
  31. package/dist/{drawFns-3yRVBDgI.js → drawFns-DMhKXGgG.js} +32 -45
  32. package/dist/{errors-Zb3jBa0u.js → errors-B3espUT6.js} +3 -5
  33. package/dist/{errors-jwhfQJZK.cjs → errors-DoMAp7mQ.cjs} +3 -5
  34. package/dist/{faceFns-CZeHWke7.cjs → faceFns-B8ctN5Te.cjs} +6 -8
  35. package/dist/{faceFns-CTlJC5IY.js → faceFns-C-wc4fX-.js} +6 -8
  36. package/dist/{faceRoleFns-CWU1-Pm8.js → faceRoleFns-BPxzQF-n.js} +1 -2
  37. package/dist/{faceRoleFns-CtH_48MO.cjs → faceRoleFns-Db5bYj4Q.cjs} +1 -2
  38. package/dist/{healingFns-Ct3gEMvk.js → healingFns-CJfuZMw2.js} +16 -25
  39. package/dist/{healingFns-DwSpJZfg.cjs → healingFns-D3mNy1rp.cjs} +16 -25
  40. package/dist/{helpers-BN1mVMuZ.js → helpers-BXoAMWe3.js} +15 -21
  41. package/dist/{helpers-NRZVshPb.cjs → helpers-BhHbDu6-.cjs} +15 -21
  42. package/dist/{importFns-BEi-HsSw.cjs → importFns-DHaw1x5R.cjs} +12 -19
  43. package/dist/{importFns-0kHGg-b8.js → importFns-YZyGYu_M.js} +12 -19
  44. package/dist/io.cjs +2 -2
  45. package/dist/io.js +2 -2
  46. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  47. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -2
  48. package/dist/{loftFns-B5mq1WDh.js → loftFns-CTTia_cZ.js} +7 -10
  49. package/dist/{loftFns-DL9UsQhd.cjs → loftFns-DVr6PaTM.cjs} +7 -10
  50. package/dist/{measureFns-CyDVZomf.js → measureFns-BmdVG0_8.js} +6 -8
  51. package/dist/{measureFns-D_GpQw5z.cjs → measureFns-C6wgH_1a.cjs} +6 -8
  52. package/dist/measurement.cjs +2 -2
  53. package/dist/measurement.js +2 -2
  54. package/dist/{meshFns-CAxkaRTm.cjs → meshFns-r_p0RRoO.cjs} +6 -8
  55. package/dist/{meshFns-COlno8TY.js → meshFns-uNRS602U.js} +6 -8
  56. package/dist/{occtWasmAdapter-CA6PmIIj.cjs → occtWasmAdapter-CxSY6Ty2.cjs} +37 -56
  57. package/dist/{occtWasmAdapter-BX10fyla.js → occtWasmAdapter-cnV8J7Y-.js} +37 -56
  58. package/dist/operations.cjs +2 -2
  59. package/dist/operations.js +2 -2
  60. package/dist/{originTrackingFns-DiHy5BZC.js → originTrackingFns-BIa3TdgX.js} +4 -5
  61. package/dist/{originTrackingFns-CWo6NWHK.cjs → originTrackingFns-DgJ-MTtE.cjs} +4 -5
  62. package/dist/{planeOps-DJuclNxa.cjs → planeOps-BDt05NAD.cjs} +5 -6
  63. package/dist/{planeOps-Cxws4Tiu.js → planeOps-BkwaqhUj.js} +5 -6
  64. package/dist/{primitiveFns-ZV3aMbqG.cjs → primitiveFns-CktCbLBo.cjs} +8 -10
  65. package/dist/{primitiveFns-CGJzS4MO.js → primitiveFns-h_zOAbmf.js} +8 -10
  66. package/dist/{principalBoxFns-5FSbxAj-.cjs → principalBoxFns-28BQIeo8.cjs} +7 -8
  67. package/dist/{principalBoxFns-BJgGEoik.js → principalBoxFns-DkP-681E.js} +7 -8
  68. package/dist/projection.cjs +1 -1
  69. package/dist/projection.js +1 -2
  70. package/dist/query.cjs +2 -2
  71. package/dist/query.js +2 -2
  72. package/dist/{refResolveFns-CpVZoeOT.js → refResolveFns-DUDJqfOM.js} +14 -21
  73. package/dist/{refResolveFns-Ct52Uw7R.cjs → refResolveFns-fSzDZ1rx.cjs} +14 -21
  74. package/dist/result.cjs +2 -2
  75. package/dist/result.js +2 -2
  76. package/dist/{rolldown-runtime-C0BPl7ul.cjs → rolldown-runtime-BW-eSwOZ.cjs} +1 -2
  77. package/dist/{shapeFns--1wNlcc_.js → shapeFns-B5hzkmwe.js} +5 -6
  78. package/dist/{shapeFns-C2j6oZ2u.cjs → shapeFns-DKDlt3k2.cjs} +5 -6
  79. package/dist/shapeRef.cjs +1 -1
  80. package/dist/shapeRef.js +1 -2
  81. package/dist/{shapeTypes-CqNJoSam.js → shapeTypes-Bva18qvE.js} +81 -160
  82. package/dist/{shapeTypes-DH2ShBU_.cjs → shapeTypes-CkxvJRpq.cjs} +81 -160
  83. package/dist/sketching.cjs +4 -5
  84. package/dist/sketching.js +4 -5
  85. package/dist/{solidBuilders-CgicU3le.cjs → solidBuilders-BFEnqrU0.cjs} +17 -23
  86. package/dist/{solidBuilders-IstbiWju.js → solidBuilders-BpTN-NfM.js} +17 -23
  87. package/dist/{surfaceBuilders-vYgSvgI6.cjs → surfaceBuilders-CTk2lGlw.cjs} +8 -12
  88. package/dist/{surfaceBuilders-8nLk2PWk.js → surfaceBuilders-DAZCPa5O.js} +8 -12
  89. package/dist/text.cjs +2 -2
  90. package/dist/text.js +2 -2
  91. package/dist/{textBlueprints-fa7VHJZz.cjs → textBlueprints-DbEWBdhF.cjs} +24 -32
  92. package/dist/{textBlueprints-C13NAA3C.js → textBlueprints-DuwP72D6.js} +23 -31
  93. package/dist/{textMetrics--cikHkGX.cjs → textMetrics-CbNBlPsl.cjs} +4 -6
  94. package/dist/{textMetrics-Dcc63qRm.js → textMetrics-q6RSXX9Z.js} +4 -6
  95. package/dist/{threadFns-BUQPg_vI.cjs → threadFns-5FXCN-9R.cjs} +21 -33
  96. package/dist/{threadFns-3U9x4v_M.js → threadFns-BcsScbp4.js} +21 -33
  97. package/dist/topology.cjs +9 -9
  98. package/dist/topology.js +9 -9
  99. package/dist/{topologyQueryFns-q2bGyuEV.cjs → topologyQueryFns-C6HwYYpi.cjs} +6 -9
  100. package/dist/{topologyQueryFns-DnfjQgP7.js → topologyQueryFns-CY6YiGsk.js} +6 -9
  101. package/dist/{types-D24Y27N0.js → types-CKXsIm9-.js} +1 -2
  102. package/dist/{types-KjA8tY4Y.cjs → types-CjF9Rofr.cjs} +1 -2
  103. package/dist/{validityTypes-r0A2YdNq.cjs → validityTypes-D0IDDMbY.cjs} +3 -4
  104. package/dist/{validityTypes-t7JpS0Ki.js → validityTypes-MiXYsBZi.js} +3 -4
  105. package/dist/{vecOps-CCnJt-yH.cjs → vecOps-CrGEPPQM.cjs} +1 -2
  106. package/dist/{vecOps-SKPRvPH-.js → vecOps-S-m9H_fe.js} +1 -2
  107. package/dist/vectors.cjs +4 -4
  108. package/dist/vectors.js +4 -4
  109. package/dist/worker.cjs +1 -1
  110. package/dist/worker.js +1 -2
  111. package/dist/{workerPool-XcYX2UZ0.js → workerPool-Bc5hmJc4.js} +5 -10
  112. package/dist/{workerPool-D30NsiIW.cjs → workerPool-D5tiNXrI.cjs} +5 -10
  113. package/package.json +10 -10
@@ -1,5 +1,5 @@
1
- import { i as wasmIndex, t as BrepBugError } from "./bug-BdOHwn_e.js";
2
- //#region src/kernel/capabilities.ts
1
+ import { i as wasmIndex, t as BrepBugError } from "./bug-ClMTAJhe.js";
2
+ // src/kernel/capabilities.ts
3
3
  /** Default for an exact B-rep kernel (OCCT family, brepkit). */
4
4
  var EXACT_BREP_CAPABILITIES = {
5
5
  exact: true,
@@ -18,8 +18,7 @@ var DEFAULT_CAPABILITIES = {
18
18
  exactMeasurement: true,
19
19
  tessellationModel: "none"
20
20
  };
21
- //#endregion
22
- //#region src/kernel/unsupported.ts
21
+ // src/kernel/unsupported.ts
23
22
  /**
24
23
  * Shared error for "this kernel doesn't implement this operation" — a stubbed
25
24
  * adapter method (occt's brepkit-only stubs, occt-wasm's not-yet-implemented) or
@@ -41,8 +40,7 @@ var UnsupportedKernelOperationError = class extends Error {
41
40
  function isUnsupportedKernelOperationError(error) {
42
41
  return error instanceof Error && Reflect.get(error, UNSUPPORTED_MARKER) === true;
43
42
  }
44
- //#endregion
45
- //#region src/kernel/hullGeometry.ts
43
+ // src/kernel/hullGeometry.ts
46
44
  function sub(a, b) {
47
45
  return {
48
46
  x: a.x - b.x,
@@ -293,8 +291,7 @@ function quickHull(inputPoints, tolerance) {
293
291
  points
294
292
  };
295
293
  }
296
- //#endregion
297
- //#region src/kernel/geometry2d.ts
294
+ // src/kernel/geometry2d.ts
298
295
  /* v8 ignore file -- excluded from coverage reports; prevents V8 instrumentation
299
296
  overhead that causes 2D-heavy tests to timeout under coverage mode. */
300
297
  function evaluateCurve2d$1(c, t) {
@@ -1119,8 +1116,7 @@ function evaluateBSpline2d(c, t) {
1119
1116
  }
1120
1117
  return d[p];
1121
1118
  }
1122
- //#endregion
1123
- //#region src/kernel/stlBuilder.ts
1119
+ // src/kernel/stlBuilder.ts
1124
1120
  /**
1125
1121
  * Kernel-agnostic STL serializers.
1126
1122
  *
@@ -1224,8 +1220,7 @@ function buildAsciiSTL(vertices, triangles) {
1224
1220
  lines.push("endsolid brepjs");
1225
1221
  return lines.join("\n") + "\n";
1226
1222
  }
1227
- //#endregion
1228
- //#region src/kernel/occtWasm/helpers.ts
1223
+ // src/kernel/occtWasm/helpers.ts
1229
1224
  var noop = () => {};
1230
1225
  /** Build an opaque kernel handle for an arena-allocated WASM shape. */
1231
1226
  function handle(type, id) {
@@ -1358,8 +1353,7 @@ function parseEvolution(evo) {
1358
1353
  evo.delete();
1359
1354
  }
1360
1355
  }
1361
- //#endregion
1362
- //#region src/kernel/occtWasm/adapterShims.ts
1356
+ // src/kernel/occtWasm/adapterShims.ts
1363
1357
  function wrapKernelExceptions(kernel, mod) {
1364
1358
  return new Proxy(kernel, { get(target, prop, receiver) {
1365
1359
  const val = Reflect.get(target, prop, receiver);
@@ -1411,8 +1405,7 @@ function buildOcShim(module, k) {
1411
1405
  }
1412
1406
  });
1413
1407
  }
1414
- //#endregion
1415
- //#region src/kernel/occtWasm/booleanOps.ts
1408
+ // src/kernel/occtWasm/booleanOps.ts
1416
1409
  var BOOLEAN_OP_CODE = {
1417
1410
  fuse: 0,
1418
1411
  cut: 1,
@@ -1626,8 +1619,7 @@ function checkBoolean(k, shape, tool, _op) {
1626
1619
  function meshBoolean(_positionsA, _indicesA, _positionsB, _indicesB, _op, _tolerance) {
1627
1620
  throw new Error("occt-wasm: meshBoolean is not supported (use brepkit for mesh booleans)");
1628
1621
  }
1629
- //#endregion
1630
- //#region src/kernel/occtWasm/primitiveOps.ts
1622
+ // src/kernel/occtWasm/primitiveOps.ts
1631
1623
  /**
1632
1624
  * Apply an id-remapping positioning step (rotate/translate), releasing the
1633
1625
  * orphaned source slot. rotate/translate return fresh arena slots on occt-wasm;
@@ -1673,8 +1665,7 @@ function makeBoxFromCorners(k, p1, p2) {
1673
1665
  function makeRectangle(k, width, height) {
1674
1666
  return handle("face", k.makeRectangle(width, height));
1675
1667
  }
1676
- //#endregion
1677
- //#region src/kernel/occtWasm/topologyOps.ts
1668
+ // src/kernel/occtWasm/topologyOps.ts
1678
1669
  function iterShapes(k, shape, type) {
1679
1670
  const vec = k.getSubShapes(unwrap(shape), type);
1680
1671
  const results = [];
@@ -1772,8 +1763,7 @@ function sew(k, Module, shapes, tolerance) {
1772
1763
  vec.delete();
1773
1764
  }
1774
1765
  }
1775
- //#endregion
1776
- //#region src/kernel/occtWasm/repairOps.ts
1766
+ // src/kernel/occtWasm/repairOps.ts
1777
1767
  var HEAL_TOLERANCE = 1e-6;
1778
1768
  function isValid(k, shape) {
1779
1769
  return k.isValid(unwrap(shape));
@@ -1803,8 +1793,7 @@ function fixFaceOrientations(k, shape) {
1803
1793
  function fixShape(k, shape) {
1804
1794
  return wrapResult(k, k.fixShape(unwrap(shape)));
1805
1795
  }
1806
- //#endregion
1807
- //#region src/kernel/occtWasm/meshOps.ts
1796
+ // src/kernel/occtWasm/meshOps.ts
1808
1797
  function mesh(k, Module, shape, options) {
1809
1798
  const meshData = k.tessellate(unwrap(shape), options.tolerance, options.angularTolerance);
1810
1799
  try {
@@ -1895,8 +1884,7 @@ function hasTriangulation(k, shape) {
1895
1884
  function meshShape(k, shape, tolerance, angularTolerance) {
1896
1885
  k.meshShape(unwrap(shape), tolerance, angularTolerance).delete();
1897
1886
  }
1898
- //#endregion
1899
- //#region src/kernel/occtWasm/curveOps.ts
1887
+ // src/kernel/occtWasm/curveOps.ts
1900
1888
  var CURVE_TYPE_MAP = {
1901
1889
  line: "LINE",
1902
1890
  circle: "CIRCLE",
@@ -2046,8 +2034,7 @@ function getNurbsCurveData(k, edge) {
2046
2034
  return null;
2047
2035
  }
2048
2036
  }
2049
- //#endregion
2050
- //#region src/kernel/occtWasm/surfaceOps.ts
2037
+ // src/kernel/occtWasm/surfaceOps.ts
2051
2038
  function vertexPosition(k, vertex) {
2052
2039
  const vec = k.vertexPosition(unwrap(vertex));
2053
2040
  try {
@@ -2327,8 +2314,7 @@ function projectEdges(k, Module, shape, cameraOrigin, cameraDirection, cameraXAx
2327
2314
  }
2328
2315
  };
2329
2316
  }
2330
- //#endregion
2331
- //#region src/kernel/occtWasm/measureOps.ts
2317
+ // src/kernel/occtWasm/measureOps.ts
2332
2318
  function volume(k, shape) {
2333
2319
  return k.getVolume(unwrap(shape));
2334
2320
  }
@@ -2457,13 +2443,18 @@ function collectDistanceSamples(k, mod, shapeId) {
2457
2443
  try {
2458
2444
  const n = verts.size();
2459
2445
  for (let i = 0; i < n; i++) {
2460
- const p = k.vertexPosition(verts.get(i));
2461
- out.push([
2462
- p.get(0),
2463
- p.get(1),
2464
- p.get(2)
2465
- ]);
2466
- p.delete();
2446
+ const vertexId = verts.get(i);
2447
+ try {
2448
+ const p = k.vertexPosition(vertexId);
2449
+ out.push([
2450
+ p.get(0),
2451
+ p.get(1),
2452
+ p.get(2)
2453
+ ]);
2454
+ p.delete();
2455
+ } finally {
2456
+ k.release(vertexId);
2457
+ }
2467
2458
  }
2468
2459
  } finally {
2469
2460
  verts.delete();
@@ -2752,8 +2743,7 @@ function surfaceCurvature(k, face, u, v) {
2752
2743
  minDirection
2753
2744
  };
2754
2745
  }
2755
- //#endregion
2756
- //#region src/kernel/occtWasm/modifierOps.ts
2746
+ // src/kernel/occtWasm/modifierOps.ts
2757
2747
  var HASH_UPPER_BOUND = 2147483647;
2758
2748
  function fillet(k, Module, shape, edges, radius) {
2759
2749
  const r = resolveUniformRadius(edges, radius);
@@ -2889,8 +2879,7 @@ function simplify(k, shape) {
2889
2879
  function reverseShape(k, shape) {
2890
2880
  return wrapResult(k, k.reverseShape(unwrap(shape)));
2891
2881
  }
2892
- //#endregion
2893
- //#region src/kernel/occtWasm/sweepOps.ts
2882
+ // src/kernel/occtWasm/sweepOps.ts
2894
2883
  var SWEEP_MODE_FIXED = 0;
2895
2884
  var SWEEP_MODE_FRENET = 1;
2896
2885
  var SWEEP_MODE_AUXILIARY = 3;
@@ -3077,8 +3066,7 @@ function draftPrism(k, shape, _face, _baseFace, height, angleDeg, _fuse) {
3077
3066
  const h = height ?? 10;
3078
3067
  return wrapResult(k, k.draftPrism(unwrap(shape), 0, 0, h, angleDeg));
3079
3068
  }
3080
- //#endregion
3081
- //#region src/kernel/occtWasm/transformOps.ts
3069
+ // src/kernel/occtWasm/transformOps.ts
3082
3070
  function composeTransform(ops) {
3083
3071
  let matrix = [
3084
3072
  1,
@@ -3381,8 +3369,7 @@ function transformBatch(k, entries) {
3381
3369
  }
3382
3370
  });
3383
3371
  }
3384
- //#endregion
3385
- //#region src/kernel/occtWasm/ioOps.ts
3372
+ // src/kernel/occtWasm/ioOps.ts
3386
3373
  function computePositionBounds(positions, vCount) {
3387
3374
  if (vCount === 0) return {
3388
3375
  min: [
@@ -3697,8 +3684,7 @@ function exportSTEPConfigured(k, Module, shapes, _options) {
3697
3684
  doc.delete();
3698
3685
  }
3699
3686
  }
3700
- //#endregion
3701
- //#region src/kernel/occtWasm/constructionOps.ts
3687
+ // src/kernel/occtWasm/constructionOps.ts
3702
3688
  function makeVertex(k, x, y, z) {
3703
3689
  return handle("vertex", k.makeVertex(x, y, z));
3704
3690
  }
@@ -3982,8 +3968,7 @@ function createAxis3(ox, oy, oz, zx, zy, zz, xx, xy, xz) {
3982
3968
  delete: noop
3983
3969
  };
3984
3970
  }
3985
- //#endregion
3986
- //#region src/kernel/occtWasm/kernel2dOps.ts
3971
+ // src/kernel/occtWasm/kernel2dOps.ts
3987
3972
  function c2d(h) {
3988
3973
  return h;
3989
3974
  }
@@ -4666,8 +4651,7 @@ function buildCurves3d(k, wire) {
4666
4651
  function fixWireOnFace(k, wire, face, tolerance) {
4667
4652
  return handle("wire", k.fixWireOnFace(unwrap(wire), unwrap(face), tolerance));
4668
4653
  }
4669
- //#endregion
4670
- //#region src/kernel/occtWasm/evolutionOps.ts
4654
+ // src/kernel/occtWasm/evolutionOps.ts
4671
4655
  /**
4672
4656
  * Parse an EvolutionData result from the WASM kernel into a ShapeEvolution.
4673
4657
  * The C++ facade returns flat vectors of [inputHash, count, out1, out2, ..., inputHash, count, ...].
@@ -4945,8 +4929,7 @@ function applyComposedTransformWithHistory(transformFn, iterShapesFn, hashCodeFn
4945
4929
  }
4946
4930
  };
4947
4931
  }
4948
- //#endregion
4949
- //#region src/kernel/occtWasm/hullOps.ts
4932
+ // src/kernel/occtWasm/hullOps.ts
4950
4933
  function hullFromPoints(k, Module, points, tolerance) {
4951
4934
  if (points.length < 4) throw new Error("hullFromPoints: need at least 4 points");
4952
4935
  const { points: hullPoints, faces } = quickHull(points, tolerance);
@@ -4983,8 +4966,7 @@ function hull(k, Module, shapes, tolerance) {
4983
4966
  if (points.length < 4) throw new Error("hull: fewer than 4 vertices extracted from input shapes");
4984
4967
  return hullFromPoints(k, Module, points, tolerance);
4985
4968
  }
4986
- //#endregion
4987
- //#region src/kernel/occtWasm/occtWasmAdapter.ts
4969
+ // src/kernel/occtWasm/occtWasmAdapter.ts
4988
4970
  /**
4989
4971
  * Parse an EvolutionData result from the WASM kernel into a ShapeEvolution.
4990
4972
  *
@@ -5839,5 +5821,4 @@ var OcctWasmAdapter = class OcctWasmAdapter {
5839
5821
  return getNurbsCurveData(this.k, edge);
5840
5822
  }
5841
5823
  };
5842
- //#endregion
5843
5824
  export { EXACT_BREP_CAPABILITIES as A, serializeCurve2d$1 as C, UnsupportedKernelOperationError as D, quickHull as E, isUnsupportedKernelOperationError as O, scaleCurve2d$1 as S, translateCurve2d$1 as T, makeEllipse2d$1 as _, buildBinarySTL as a, mirrorAtPoint as b, curveBounds as c, evaluateCurve2d$1 as d, intersectCurves2dFn as f, makeCircle2d$1 as g, makeBezier2d$1 as h, buildAsciiSTL as i, DEFAULT_CAPABILITIES as k, curveTypeName as l, makeArc2dThreePoints$1 as m, DEFAULT_STL_ANGULAR_TOLERANCE as n, addCurveToBBox as o, makeArc2dTangent$1 as p, DEFAULT_STL_TOLERANCE as r, createBBox2d as s, OcctWasmAdapter as t, deserializeCurve2d$1 as u, makeLine2d$1 as v, tangentCurve2d as w, rotateCurve2d$1 as x, mirrorAcrossAxis as y };
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_threadFns = require("./threadFns-BUQPg_vI.cjs");
3
- const require_loftFns = require("./loftFns-DL9UsQhd.cjs");
2
+ const require_threadFns = require("./threadFns-5FXCN-9R.cjs");
3
+ const require_loftFns = require("./loftFns-DVr6PaTM.cjs");
4
4
  exports.addChild = require_threadFns.addChild;
5
5
  exports.addJoint = require_threadFns.addJoint;
6
6
  exports.addStep = require_threadFns.addStep;
@@ -1,3 +1,3 @@
1
- import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, H as circularPattern, I as createAssemblyNode, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-3U9x4v_M.js";
2
- import { c as twistExtrude, o as supportExtrude, r as complexExtrude, s as sweep } from "./loftFns-B5mq1WDh.js";
1
+ import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, H as circularPattern, I as createAssemblyNode, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-BcsScbp4.js";
2
+ import { c as twistExtrude, o as supportExtrude, r as complexExtrude, s as sweep } from "./loftFns-CTTia_cZ.js";
3
3
  export { addChild, addJoint, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, cylindricalJoint, exportAssemblySTEP, exportURDF, findNode, findStep, forwardKinematics, getShape as getHistoryShape, gridPattern, importURDF, inverseKinematics, jointTrajectory, jointTransform, jointsFromDH, linearPattern, mechanismDOF, modifyStep, planarJoint, prismaticJoint, registerOperation, registerShape, removeChild, replayFrom, replayHistory, revoluteJoint, setJointValue, setJointValues, sphericalJoint, stepCount, stepsFrom, supportExtrude, sweep, thread, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,7 +1,7 @@
1
- import { q as getKernel } from "./shapeTypes-CqNJoSam.js";
2
- import { C as subShapeHashes, c as getFaces, l as getOrCreateCache, r as getCacheEntry } from "./topologyQueryFns-DnfjQgP7.js";
3
- import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
4
- //#region src/topology/metadata/originTrackingFns.ts
1
+ import { q as getKernel } from "./shapeTypes-Bva18qvE.js";
2
+ import { C as subShapeHashes, c as getFaces, l as getOrCreateCache, r as getCacheEntry } from "./topologyQueryFns-CY6YiGsk.js";
3
+ import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
4
+ // src/topology/metadata/originTrackingFns.ts
5
5
  /**
6
6
  * Face origin tracking — tag faces with integer origins and propagate
7
7
  * them through kernel operations via ShapeEvolution records.
@@ -199,5 +199,4 @@ function propagateOriginsByHash(inputs, result) {
199
199
  cache.faceOrigins = resultMap;
200
200
  }
201
201
  }
202
- //#endregion
203
202
  export { setShapeOrigin as i, propagateOriginsByHash as n, propagateOriginsFromEvolution as r, getFaceOrigins as t };
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-DH2ShBU_.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-q2bGyuEV.cjs");
3
- const require_constants = require("./constants-BOVyEYGH.cjs");
4
- //#region src/topology/metadata/originTrackingFns.ts
1
+ const require_shapeTypes = require("./shapeTypes-CkxvJRpq.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-C6HwYYpi.cjs");
3
+ const require_constants = require("./constants-oee0S_x6.cjs");
4
+ // src/topology/metadata/originTrackingFns.ts
5
5
  /**
6
6
  * Face origin tracking — tag faces with integer origins and propagate
7
7
  * them through kernel operations via ShapeEvolution records.
@@ -199,7 +199,6 @@ function propagateOriginsByHash(inputs, result) {
199
199
  cache.faceOrigins = resultMap;
200
200
  }
201
201
  }
202
- //#endregion
203
202
  Object.defineProperty(exports, "getFaceOrigins", {
204
203
  enumerable: true,
205
204
  get: function() {
@@ -1,8 +1,8 @@
1
- const require_errors = require("./errors-jwhfQJZK.cjs");
2
- const require_constants = require("./constants-BOVyEYGH.cjs");
3
- const require_types = require("./types-KjA8tY4Y.cjs");
4
- const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
5
- //#region src/core/planeOps.ts
1
+ const require_errors = require("./errors-DoMAp7mQ.cjs");
2
+ const require_constants = require("./constants-oee0S_x6.cjs");
3
+ const require_types = require("./types-CjF9Rofr.cjs");
4
+ const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
5
+ // src/core/planeOps.ts
6
6
  /**
7
7
  * Create a {@link Plane} from an origin, optional X direction, and a normal.
8
8
  *
@@ -274,7 +274,6 @@ function pivotPlane(plane, angleDeg, axis = [
274
274
  zDir: newZDir
275
275
  };
276
276
  }
277
- //#endregion
278
277
  Object.defineProperty(exports, "createNamedPlane", {
279
278
  enumerable: true,
280
279
  get: function() {
@@ -1,8 +1,8 @@
1
- import { E as ok, P as unwrap, d as validationError, g as err } from "./errors-Zb3jBa0u.js";
2
- import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
3
- import { r as toVec3 } from "./types-D24Y27N0.js";
4
- import { d as vecNormalize, h as vecScale, m as vecRotate, r as vecCross, s as vecIsZero, t as vecAdd } from "./vecOps-SKPRvPH-.js";
5
- //#region src/core/planeOps.ts
1
+ import { E as ok, P as unwrap, d as validationError, g as err } from "./errors-B3espUT6.js";
2
+ import { t as DEG2RAD } from "./constants-iraOnb2p.js";
3
+ import { r as toVec3 } from "./types-CKXsIm9-.js";
4
+ import { d as vecNormalize, h as vecScale, m as vecRotate, r as vecCross, s as vecIsZero, t as vecAdd } from "./vecOps-S-m9H_fe.js";
5
+ // src/core/planeOps.ts
6
6
  /**
7
7
  * Create a {@link Plane} from an origin, optional X direction, and a normal.
8
8
  *
@@ -274,5 +274,4 @@ function pivotPlane(plane, angleDeg, axis = [
274
274
  zDir: newZDir
275
275
  };
276
276
  }
277
- //#endregion
278
277
  export { planeToWorld as a, pivotPlane as i, createPlane as n, resolvePlane as o, makePlane as r, translatePlane as s, createNamedPlane as t };
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-DH2ShBU_.cjs");
2
- const require_errors = require("./errors-jwhfQJZK.cjs");
3
- const require_validityTypes = require("./validityTypes-r0A2YdNq.cjs");
4
- const require_constants = require("./constants-BOVyEYGH.cjs");
5
- const require_solidBuilders = require("./solidBuilders-CgicU3le.cjs");
6
- const require_surfaceBuilders = require("./surfaceBuilders-vYgSvgI6.cjs");
7
- //#region src/topology/transformFns.ts
1
+ const require_shapeTypes = require("./shapeTypes-CkxvJRpq.cjs");
2
+ const require_errors = require("./errors-DoMAp7mQ.cjs");
3
+ const require_validityTypes = require("./validityTypes-D0IDDMbY.cjs");
4
+ const require_constants = require("./constants-oee0S_x6.cjs");
5
+ const require_solidBuilders = require("./solidBuilders-BFEnqrU0.cjs");
6
+ const require_surfaceBuilders = require("./surfaceBuilders-CTk2lGlw.cjs");
7
+ // src/topology/transformFns.ts
8
8
  /**
9
9
  * Immutable shape transforms — translate, rotate, scale, mirror, applyMatrix.
10
10
  * All functions return new shapes without disposing inputs.
@@ -269,8 +269,7 @@ function transformCopy(shape, composed) {
269
269
  require_solidBuilders.propagateAllMetadata(evolution, [shape], result);
270
270
  return result;
271
271
  }
272
- //#endregion
273
- //#region src/topology/primitiveFns.ts
272
+ // src/topology/primitiveFns.ts
274
273
  /**
275
274
  * Create a box with the given dimensions.
276
275
  *
@@ -593,7 +592,6 @@ function sewShells(facesOrShells, ignoreType) {
593
592
  function addHoles(f, holes) {
594
593
  return require_surfaceBuilders.addHolesInFace(f, holes);
595
594
  }
596
- //#endregion
597
595
  Object.defineProperty(exports, "addHoles", {
598
596
  enumerable: true,
599
597
  get: function() {
@@ -1,10 +1,10 @@
1
- import { E as GeometryCleanupError, G as _usingCtx, d as createSolid, n as castResultShape, q as getKernel } from "./shapeTypes-CqNJoSam.js";
2
- import { E as ok, d as validationError, g as err, m as andThen, t as BrepErrorCode } from "./errors-Zb3jBa0u.js";
3
- import { n as isClosedWire } from "./validityTypes-t7JpS0Ki.js";
4
- import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
- import { C as propagateAllMetadata, S as hasAnyMetadata, T as propagateMetadataThroughRelocation, a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces, w as propagateMetadataByHash, x as collectInputFaceHashes } from "./solidBuilders-IstbiWju.js";
6
- import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-8nLk2PWk.js";
7
- //#region src/topology/transformFns.ts
1
+ import { E as GeometryCleanupError, G as _usingCtx, d as createSolid, n as castResultShape, q as getKernel } from "./shapeTypes-Bva18qvE.js";
2
+ import { E as ok, d as validationError, g as err, m as andThen, t as BrepErrorCode } from "./errors-B3espUT6.js";
3
+ import { n as isClosedWire } from "./validityTypes-MiXYsBZi.js";
4
+ import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-iraOnb2p.js";
5
+ import { C as propagateAllMetadata, S as hasAnyMetadata, T as propagateMetadataThroughRelocation, a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces, w as propagateMetadataByHash, x as collectInputFaceHashes } from "./solidBuilders-BpTN-NfM.js";
6
+ import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-DAZCPa5O.js";
7
+ // src/topology/transformFns.ts
8
8
  /**
9
9
  * Immutable shape transforms — translate, rotate, scale, mirror, applyMatrix.
10
10
  * All functions return new shapes without disposing inputs.
@@ -269,8 +269,7 @@ function transformCopy(shape, composed) {
269
269
  propagateAllMetadata(evolution, [shape], result);
270
270
  return result;
271
271
  }
272
- //#endregion
273
- //#region src/topology/primitiveFns.ts
272
+ // src/topology/primitiveFns.ts
274
273
  /**
275
274
  * Create a box with the given dimensions.
276
275
  *
@@ -593,5 +592,4 @@ function sewShells(facesOrShells, ignoreType) {
593
592
  function addHoles(f, holes) {
594
593
  return addHolesInFace(f, holes);
595
594
  }
596
- //#endregion
597
595
  export { locate as A, threePointArc as C, wireLoop as D, wire as E, transformCopy as F, translate as I, resize as M, rotate as N, applyMatrix as O, scale as P, tangentArc as S, vertex as T, polygon as _, circle as a, sphere as b, cylinder as c, ellipsoid as d, face as f, offsetFace as g, line as h, bsplineApprox as i, mirror as j, composeTransforms as k, ellipse as l, helix as m, bezier as n, compound as o, filledFace as p, box as r, cone as s, addHoles as t, ellipseArc as u, sewShells as v, torus as w, subFace as x, solid as y };
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-DH2ShBU_.cjs");
2
- const require_bug = require("./bug-O02CsAmt.cjs");
3
- const require_errors = require("./errors-jwhfQJZK.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-q2bGyuEV.cjs");
5
- const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
- const require_measureFns = require("./measureFns-D_GpQw5z.cjs");
7
- //#region src/measurement/principalBoxFns.ts
1
+ const require_shapeTypes = require("./shapeTypes-CkxvJRpq.cjs");
2
+ const require_bug = require("./bug-CBcpIPuf.cjs");
3
+ const require_errors = require("./errors-DoMAp7mQ.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-C6HwYYpi.cjs");
5
+ const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
6
+ const require_measureFns = require("./measureFns-C6wgH_1a.cjs");
7
+ // src/measurement/principalBoxFns.ts
8
8
  /**
9
9
  * Principal-axes bounding box: a solid's extent measured in the frame of its
10
10
  * principal axes of inertia instead of the world axes.
@@ -203,7 +203,6 @@ function principalBoundingBox(shape) {
203
203
  require_measureFns.setCachedMeasurement(shape.wrapped, "principal", result);
204
204
  return require_errors.ok(result);
205
205
  }
206
- //#endregion
207
206
  Object.defineProperty(exports, "principalBoundingBox", {
208
207
  enumerable: true,
209
208
  get: function() {
@@ -1,10 +1,10 @@
1
- import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-CqNJoSam.js";
2
- import { i as wasmIndex } from "./bug-BdOHwn_e.js";
3
- import { E as ok, d as validationError, g as err, t as BrepErrorCode, u as unsupportedError } from "./errors-Zb3jBa0u.js";
4
- import { E as kernelCallRaw, S as subShapeCount } from "./topologyQueryFns-DnfjQgP7.js";
5
- import { r as vecCross } from "./vecOps-SKPRvPH-.js";
6
- import { f as getCachedMeasurement, p as setCachedMeasurement } from "./measureFns-CyDVZomf.js";
7
- //#region src/measurement/principalBoxFns.ts
1
+ import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-Bva18qvE.js";
2
+ import { i as wasmIndex } from "./bug-ClMTAJhe.js";
3
+ import { E as ok, d as validationError, g as err, t as BrepErrorCode, u as unsupportedError } from "./errors-B3espUT6.js";
4
+ import { E as kernelCallRaw, S as subShapeCount } from "./topologyQueryFns-CY6YiGsk.js";
5
+ import { r as vecCross } from "./vecOps-S-m9H_fe.js";
6
+ import { f as getCachedMeasurement, p as setCachedMeasurement } from "./measureFns-BmdVG0_8.js";
7
+ // src/measurement/principalBoxFns.ts
8
8
  /**
9
9
  * Principal-axes bounding box: a solid's extent measured in the frame of its
10
10
  * principal axes of inertia instead of the world axes.
@@ -203,5 +203,4 @@ function principalBoundingBox(shape) {
203
203
  setCachedMeasurement(shape.wrapped, "principal", result);
204
204
  return ok(result);
205
205
  }
206
- //#endregion
207
206
  export { principalBoundingBox as t };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-RHCb1F1s.cjs");
2
+ const require_cameraFns = require("./cameraFns-BMXugx7m.cjs");
3
3
  exports.PROJECTION_PLANES = require_cameraFns.PROJECTION_PLANES;
4
4
  exports.cameraFromPlane = require_cameraFns.cameraFromPlane;
5
5
  exports.cameraLookAt = require_cameraFns.cameraLookAt;
@@ -1,2 +1 @@
1
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-Cs6v3bWQ.js";
2
- export { PROJECTION_PLANES, cameraFromPlane, cameraLookAt, createCamera, isProjectionPlane, makeProjectedEdges, projectEdges };
1
+ export { o as PROJECTION_PLANES, t as cameraFromPlane, n as cameraLookAt, r as createCamera, s as isProjectionPlane, a as makeProjectedEdges, i as projectEdges } from "./cameraFns-DVZkA2eq.js";
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-NRZVshPb.cjs");
3
- const require_cornerFinder = require("./cornerFinder-Cji_BK-R.cjs");
2
+ const require_helpers = require("./helpers-BhHbDu6-.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-DshfhGHG.cjs");
4
4
  exports.cornerFinder = require_cornerFinder.cornerFinder;
5
5
  exports.edgeFinder = require_helpers.edgeFinder;
6
6
  exports.faceFinder = require_helpers.faceFinder;
package/dist/query.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BN1mVMuZ.js";
2
- import { t as cornerFinder } from "./cornerFinder-Dlae8IX5.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BXoAMWe3.js";
2
+ import { t as cornerFinder } from "./cornerFinder-DSnn8gRP.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,11 +1,11 @@
1
- import { g as disposeTransientSubShape, o as castShapeWithKnownType, q as getKernel } from "./shapeTypes-CqNJoSam.js";
2
- import { c as getFaces, w as vertexPosition } from "./topologyQueryFns-DnfjQgP7.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-CTlJC5IY.js";
4
- import { t as getFaceRoles } from "./faceRoleFns-CWU1-Pm8.js";
5
- import { n as getHashCode } from "./shapeFns--1wNlcc_.js";
6
- import { n as measureArea, s as measureLength } from "./measureFns-CyDVZomf.js";
7
- import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-DeyXahej.js";
8
- //#region src/topology/shapeRef/scoring.ts
1
+ import { g as disposeTransientSubShape, o as castShapeWithKnownType, q as getKernel } from "./shapeTypes-Bva18qvE.js";
2
+ import { c as getFaces, w as vertexPosition } from "./topologyQueryFns-CY6YiGsk.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-C-wc4fX-.js";
4
+ import { t as getFaceRoles } from "./faceRoleFns-BPxzQF-n.js";
5
+ import { n as getHashCode } from "./shapeFns-B5hzkmwe.js";
6
+ import { n as measureArea, s as measureLength } from "./measureFns-BmdVG0_8.js";
7
+ import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-DO9_F2YJ.js";
8
+ // src/topology/shapeRef/scoring.ts
9
9
  /**
10
10
  * Default face scorer combining surface type, normal alignment, centroid proximity,
11
11
  * and area similarity.
@@ -47,8 +47,7 @@ function defaultScorer(hint, face) {
47
47
  }
48
48
  return score;
49
49
  }
50
- //#endregion
51
- //#region src/topology/shapeRef/shapeRefFns.ts
50
+ // src/topology/shapeRef/shapeRefFns.ts
52
51
  /** Snapshot the geometric properties of a face for later matching. */
53
52
  function captureHint(face) {
54
53
  const surfaceType = faceGeomType(face);
@@ -294,8 +293,7 @@ function resolveRef(ref, roles, currentShape, scorer) {
294
293
  reason: "not-found"
295
294
  };
296
295
  }
297
- //#endregion
298
- //#region src/topology/shapeRef/roleLookup.ts
296
+ // src/topology/shapeRef/roleLookup.ts
299
297
  /** Euclidean distance between two points. */
300
298
  function distance(a, b) {
301
299
  const dx = a[0] - b[0];
@@ -335,8 +333,7 @@ function facesForRole(shape, origin, role, roles) {
335
333
  if (hashes === void 0 || hashes.length === 0) return [];
336
334
  return getFaces(shape).filter((f) => hashes.includes(getHashCode(f)));
337
335
  }
338
- //#endregion
339
- //#region src/topology/shapeRef/edgeRefFns.ts
336
+ // src/topology/shapeRef/edgeRefFns.ts
340
337
  function captureEdgeHint(edge) {
341
338
  const lengthResult = measureLength(edge);
342
339
  return {
@@ -447,8 +444,7 @@ function resolveEdgeRef(ref, roles, shape) {
447
444
  reason: "not-found"
448
445
  };
449
446
  }
450
- //#endregion
451
- //#region src/topology/shapeRef/vertexRefFns.ts
447
+ // src/topology/shapeRef/vertexRefFns.ts
452
448
  /** A corner needs at least this many faces to pin a unique point. */
453
449
  var MIN_VERTEX_FACES = 3;
454
450
  /** Hint distances closer than this are indistinguishable (→ ambiguous). */
@@ -564,8 +560,7 @@ function resolveVertexRef(ref, roles, shape) {
564
560
  reason: "not-found"
565
561
  };
566
562
  }
567
- //#endregion
568
- //#region src/topology/shapeRef/derivedFaceRefFns.ts
563
+ // src/topology/shapeRef/derivedFaceRefFns.ts
569
564
  /** A face re-derives a bridged face when its normal is nearly identical. */
570
565
  var NORMAL_MATCH = .99;
571
566
  /** A generated face's normal has a positive component along BOTH bridged normals. */
@@ -681,8 +676,7 @@ function resolveDerivedFaceRef(ref, roles, shape) {
681
676
  reason: "not-found"
682
677
  };
683
678
  }
684
- //#endregion
685
- //#region src/topology/shapeRef/refResolveFns.ts
679
+ // src/topology/shapeRef/refResolveFns.ts
686
680
  function isRefObject(v) {
687
681
  return typeof v === "object" && v !== null && "origin" in v;
688
682
  }
@@ -806,5 +800,4 @@ function resolveRefParams(params, shape) {
806
800
  for (const [key, value] of Object.entries(params)) out[key] = resolveValue(value);
807
801
  return out;
808
802
  }
809
- //#endregion
810
803
  export { createRef as _, isVertexRef as a, defaultScorer as b, resolveRefParams as c, createVertexRef as d, resolveVertexRef as f, captureHint as g, assignRoles as h, isLineageRef as i, createDerivedFaceRef as l, resolveEdgeRef as m, isEdgeRef as n, resolveLineageRef as o, createEdgeRef as p, isFaceRef as r, resolveRefIn as s, isDerivedFaceRef as t, resolveDerivedFaceRef as u, resolveRef as v, updateRoles as y };