brepjs 18.118.6 → 18.118.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.
Files changed (89) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-cSvOB_Ze.js → adjacencyFns-BcEHCYK3.js} +2 -2
  4. package/dist/{adjacencyFns-CpyYIeax.cjs → adjacencyFns-Crb9tLJd.cjs} +2 -2
  5. package/dist/{blueprint-BelsntLG.js → blueprint-nrz4fL3I.js} +5 -5
  6. package/dist/{blueprint-CsxL1j9L.cjs → blueprint-qWwhQGSr.cjs} +5 -5
  7. package/dist/{blueprintFns-CAut3zwQ.js → blueprintFns-BaWyLnF-.js} +2 -2
  8. package/dist/{blueprintFns-DT6M5_k_.cjs → blueprintFns-BhiWnHuR.cjs} +2 -2
  9. package/dist/{blueprintSketcher-CcZ_89uU.cjs → blueprintSketcher-D5AHgjkT.cjs} +3 -3
  10. package/dist/{blueprintSketcher-x4mNzlv3.js → blueprintSketcher-cgkF6uCj.js} +3 -3
  11. package/dist/{boolean2D-BLigmyIR.cjs → boolean2D-Bemx5WZV.cjs} +4 -4
  12. package/dist/{boolean2D-nGqoIZh4.js → boolean2D-CSZIZMaq.js} +4 -4
  13. package/dist/brepjs.cjs +26 -26
  14. package/dist/brepjs.js +26 -26
  15. package/dist/{cameraFns-C3Xf7-I7.cjs → cameraFns-taUY1CFZ.cjs} +2 -2
  16. package/dist/{cameraFns-DmLhH9Pr.js → cameraFns-xD28Tsqu.js} +2 -2
  17. package/dist/core/shapeTypes.d.ts +9 -0
  18. package/dist/core.cjs +1 -1
  19. package/dist/core.js +1 -1
  20. package/dist/{cornerFinder-C6IpCea0.cjs → cornerFinder-BDwDNTdN.cjs} +1 -1
  21. package/dist/{cornerFinder-BC2eaeW9.js → cornerFinder-DGI6Ud6N.js} +1 -1
  22. package/dist/{curveFns-D7d2foN-.cjs → curveFns-Bb3wuFj4.cjs} +1 -1
  23. package/dist/{curveFns-Ca020OZW.js → curveFns-Y1TTdL_y.js} +1 -1
  24. package/dist/{drawFns-Bz_jLHCa.cjs → drawFns-Bgug3W7c.cjs} +14 -14
  25. package/dist/{drawFns-BW8OeXum.js → drawFns-BksvLjN1.js} +14 -14
  26. package/dist/{faceFns-mARULpM7.cjs → faceFns-BhBJ_Hsb.cjs} +26 -2
  27. package/dist/{faceFns-yqC4gDSc.js → faceFns-Bm3-D75M.js} +21 -3
  28. package/dist/{healingFns-CV0xzJi6.cjs → healingFns-DoJQUwBN.cjs} +5 -5
  29. package/dist/{healingFns-D7uMxSHi.js → healingFns-g8JymEUi.js} +5 -5
  30. package/dist/{helpers-CEi8kRzi.cjs → helpers-DKfkqED3.cjs} +6 -6
  31. package/dist/{helpers-DcWisIKC.js → helpers-DzOME9UE.js} +6 -6
  32. package/dist/{importFns-B8II-pj-.js → importFns-BnQAQt7q.js} +2 -2
  33. package/dist/{importFns-DUniB9wl.cjs → importFns-D8i8O8di.cjs} +2 -2
  34. package/dist/io.cjs +2 -2
  35. package/dist/io.js +2 -2
  36. package/dist/kernel/brepkit/topologyOps.d.ts +1 -0
  37. package/dist/kernel/interfaces/topologyOps.d.ts +12 -0
  38. package/dist/kernel/occt/geometryQueryOps.d.ts +1 -0
  39. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  40. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +1 -0
  41. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  42. package/dist/kernel/occtWasm/topologyOps.d.ts +1 -0
  43. package/dist/{loftFns-oCtEZjxa.cjs → loftFns-BJiGxTys.cjs} +1 -1
  44. package/dist/{loftFns-B4ZJYoX2.js → loftFns-CK4PP1IR.js} +1 -1
  45. package/dist/{measureFns-CLWtxkh6.js → measureFns-1akKMnXO.js} +3 -3
  46. package/dist/{measureFns-BD9_NT7u.cjs → measureFns-DJ1SESSY.cjs} +3 -3
  47. package/dist/measurement.cjs +1 -1
  48. package/dist/measurement.js +1 -1
  49. package/dist/{meshFns-Cd2zde-k.js → meshFns-Dt93gFGp.js} +3 -3
  50. package/dist/{meshFns-Cim4Y6vz.cjs → meshFns-s-c0lABa.cjs} +3 -3
  51. package/dist/{occtWasmAdapter-Bj9dX3Lb.cjs → occtWasmAdapter-8wX1Z2-I.cjs} +6 -0
  52. package/dist/{occtWasmAdapter-wBLknH8f.js → occtWasmAdapter-nqo3wbVj.js} +6 -0
  53. package/dist/operations.cjs +2 -2
  54. package/dist/operations.js +2 -2
  55. package/dist/{primitiveFns-CHrrghJM.cjs → primitiveFns-BDdThy3-.cjs} +4 -4
  56. package/dist/{primitiveFns-DplUMAxU.js → primitiveFns-D-hFA6e9.js} +4 -4
  57. package/dist/projection.cjs +1 -1
  58. package/dist/projection.js +1 -1
  59. package/dist/query.cjs +2 -2
  60. package/dist/query.js +2 -2
  61. package/dist/{refResolveFns-TdGhQZUP.cjs → refResolveFns-CT1YEP-7.cjs} +6 -6
  62. package/dist/{refResolveFns-CJ58ZH-S.js → refResolveFns-xqQ8Z8vC.js} +6 -6
  63. package/dist/{shapeFns-DxbbLpGg.cjs → shapeFns-1aqO2bz4.cjs} +4 -4
  64. package/dist/{shapeFns-DjiKoRrd.js → shapeFns-Dqlpy8wm.js} +4 -4
  65. package/dist/shapeRef.cjs +1 -1
  66. package/dist/shapeRef.js +1 -1
  67. package/dist/{shapeTypes-BbUKvpaO.cjs → shapeTypes-B8a39SS3.cjs} +28 -3
  68. package/dist/{shapeTypes-Osdj5kMc.js → shapeTypes-D8Fprilr.js} +23 -4
  69. package/dist/sketching.cjs +3 -3
  70. package/dist/sketching.js +3 -3
  71. package/dist/{solidBuilders-B8hK3cdi.js → solidBuilders-B_N5miaY.js} +5 -5
  72. package/dist/{solidBuilders-BASH2bih.cjs → solidBuilders-CkkgC2se.cjs} +5 -5
  73. package/dist/{surfaceBuilders-CMUEd1bK.js → surfaceBuilders-B15_8txg.js} +2 -2
  74. package/dist/{surfaceBuilders-DDfVCOVg.cjs → surfaceBuilders-DUG4Y0qA.cjs} +2 -2
  75. package/dist/text.cjs +2 -2
  76. package/dist/text.js +2 -2
  77. package/dist/{textBlueprints-DdfGcHik.cjs → textBlueprints-BXtV_DY6.cjs} +12 -12
  78. package/dist/{textBlueprints-BKwbX7PZ.js → textBlueprints-BYz-7-MZ.js} +12 -12
  79. package/dist/{textMetrics-DNF4ITX5.cjs → textMetrics-DBdtpVNo.cjs} +1 -1
  80. package/dist/{textMetrics-DIVTsrHQ.js → textMetrics-yyHcpdUd.js} +1 -1
  81. package/dist/{threadFns-DbqB5RMq.js → threadFns-BM-VHcSJ.js} +7 -7
  82. package/dist/{threadFns-DetQVphJ.cjs → threadFns-C_BapeNn.cjs} +7 -7
  83. package/dist/topology/cast.d.ts +11 -0
  84. package/dist/topology/shapeFns.d.ts +1 -1
  85. package/dist/topology.cjs +9 -9
  86. package/dist/topology.js +9 -9
  87. package/dist/{topologyQueryFns-Cf2j9Zt0.cjs → topologyQueryFns-BJbOwoZm.cjs} +10 -10
  88. package/dist/{topologyQueryFns-DzOSCj5J.js → topologyQueryFns-DfThB5LA.js} +10 -10
  89. package/package.json +4 -2
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-BJbOwoZm.cjs");
4
4
  const require_types = require("./types-KjA8tY4Y.cjs");
5
5
  //#region src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -58,6 +58,24 @@ function downcast(shape) {
58
58
  }
59
59
  }
60
60
  /**
61
+ * Return an independently-disposable copy of a generic KernelShape.
62
+ *
63
+ * Like {@link downcast}, but the result can be disposed without affecting the
64
+ * source — `downcast` is only a cast and aliases the source handle on the
65
+ * occt-wasm arena kernel. Use when cloning a shape (e.g. a sketch wire) that
66
+ * outlives, or is disposed apart from, its origin.
67
+ *
68
+ * @returns Ok with the copied shape, or Err if the shape is null.
69
+ */
70
+ function copyShape(shape) {
71
+ if (require_shapeTypes.getKernel().isNull(shape)) return require_errors.err(require_errors.typeCastError("NULL_SHAPE", "Cannot copy a null shape"));
72
+ try {
73
+ return require_errors.ok(require_shapeTypes.getKernel().copyShape(shape));
74
+ } catch (e) {
75
+ return require_errors.err(require_errors.typeCastError("NO_WRAPPER", "Could not copy this shape", e));
76
+ }
77
+ }
78
+ /**
61
79
  * Cast a raw kernel shape to its corresponding branded brepjs type (Vertex, Edge, Face, etc.).
62
80
  *
63
81
  * Performs downcast + branded handle creation in one step.
@@ -239,6 +257,12 @@ Object.defineProperty(exports, "classifyPointOnFace", {
239
257
  return classifyPointOnFace;
240
258
  }
241
259
  });
260
+ Object.defineProperty(exports, "copyShape", {
261
+ enumerable: true,
262
+ get: function() {
263
+ return copyShape;
264
+ }
265
+ });
242
266
  Object.defineProperty(exports, "downcast", {
243
267
  enumerable: true,
244
268
  get: function() {
@@ -1,6 +1,6 @@
1
- import { n as castShape, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { nt as getKernel, r as castShape } from "./shapeTypes-D8Fprilr.js";
2
2
  import { A as ok, R as unwrap, b as err, l as typeCastError } from "./errors-DNWJsfVU.js";
3
- import { a as getCachedSurfaceType } from "./topologyQueryFns-DzOSCj5J.js";
3
+ import { a as getCachedSurfaceType } from "./topologyQueryFns-DfThB5LA.js";
4
4
  import { r as toVec3 } from "./types-D24Y27N0.js";
5
5
  //#region src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -58,6 +58,24 @@ function downcast(shape) {
58
58
  }
59
59
  }
60
60
  /**
61
+ * Return an independently-disposable copy of a generic KernelShape.
62
+ *
63
+ * Like {@link downcast}, but the result can be disposed without affecting the
64
+ * source — `downcast` is only a cast and aliases the source handle on the
65
+ * occt-wasm arena kernel. Use when cloning a shape (e.g. a sketch wire) that
66
+ * outlives, or is disposed apart from, its origin.
67
+ *
68
+ * @returns Ok with the copied shape, or Err if the shape is null.
69
+ */
70
+ function copyShape(shape) {
71
+ if (getKernel().isNull(shape)) return err(typeCastError("NULL_SHAPE", "Cannot copy a null shape"));
72
+ try {
73
+ return ok(getKernel().copyShape(shape));
74
+ } catch (e) {
75
+ return err(typeCastError("NO_WRAPPER", "Could not copy this shape", e));
76
+ }
77
+ }
78
+ /**
61
79
  * Cast a raw kernel shape to its corresponding branded brepjs type (Vertex, Edge, Face, etc.).
62
80
  *
63
81
  * Performs downcast + branded handle creation in one step.
@@ -220,4 +238,4 @@ function innerWires(face) {
220
238
  return Array.from(iterTopo(face.wrapped, "wire")).map((w) => castShape(unwrap(downcast(w)))).filter((w) => !getKernel().isSame(w.wrapped, outer.wrapped));
221
239
  }
222
240
  //#endregion
223
- export { shapeType as S, cast as _, faceOrientation as a, isCompSolid as b, innerWires as c, pointOnSurface as d, projectPointOnFace as f, asTopo as g, uvCoordinates as h, faceGeomType as i, normalAt as l, uvBounds as m, faceAxis as n, flipFaceOrientation as o, removeHolesFromFace as p, faceCenter as r, getSurfaceType as s, classifyPointOnFace as t, outerWire as u, downcast as v, iterTopo as x, fromBREP as y };
241
+ export { shapeType as C, iterTopo as S, cast as _, faceOrientation as a, fromBREP as b, innerWires as c, pointOnSurface as d, projectPointOnFace as f, asTopo as g, uvCoordinates as h, faceGeomType as i, normalAt as l, uvBounds as m, faceAxis as n, flipFaceOrientation as o, removeHolesFromFace as p, faceCenter as r, getSurfaceType as s, classifyPointOnFace as t, outerWire as u, copyShape as v, isCompSolid as x, downcast as y };
@@ -1,11 +1,11 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-BJbOwoZm.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
- const require_faceFns = require("./faceFns-mARULpM7.cjs");
6
- const require_shapeFns = require("./shapeFns-DxbbLpGg.cjs");
5
+ const require_faceFns = require("./faceFns-BhBJ_Hsb.cjs");
6
+ const require_shapeFns = require("./shapeFns-1aqO2bz4.cjs");
7
7
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
8
- const require_solidBuilders = require("./solidBuilders-BASH2bih.cjs");
8
+ const require_solidBuilders = require("./solidBuilders-CkkgC2se.cjs");
9
9
  //#region src/topology/threeHelpers.ts
10
10
  /**
11
11
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,11 +1,11 @@
1
- import { C as isWire, I as getShapeKind, _ as isFace, f as disposeDowncastSource, n as castShape, p as disposeResultShape, t as castResultShape, tt as getKernel, x as isSolid, y as isShape3D } from "./shapeTypes-Osdj5kMc.js";
1
+ import { L as getShapeKind, S as isSolid, b as isShape3D, m as disposeResultShape, nt as getKernel, p as disposeDowncastSource, r as castShape, t as castResultShape, v as isFace, w as isWire } from "./shapeTypes-D8Fprilr.js";
2
2
  import { A as ok, T as isOk, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DNWJsfVU.js";
3
- import { c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-DzOSCj5J.js";
3
+ import { c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-DfThB5LA.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
- import { v as downcast } from "./faceFns-yqC4gDSc.js";
6
- import { _ as collectInputFaceHashes, y as propagateAllMetadata } from "./shapeFns-DjiKoRrd.js";
5
+ import { y as downcast } from "./faceFns-Bm3-D75M.js";
6
+ import { _ as collectInputFaceHashes, y as propagateAllMetadata } from "./shapeFns-Dqlpy8wm.js";
7
7
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
8
- import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-B8hK3cdi.js";
8
+ import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-B_N5miaY.js";
9
9
  //#region src/topology/threeHelpers.ts
10
10
  /**
11
11
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-BJbOwoZm.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
- const require_faceFns = require("./faceFns-mARULpM7.cjs");
7
- const require_shapeFns = require("./shapeFns-DxbbLpGg.cjs");
8
- const require_curveFns = require("./curveFns-D7d2foN-.cjs");
9
- const require_measureFns = require("./measureFns-BD9_NT7u.cjs");
6
+ const require_faceFns = require("./faceFns-BhBJ_Hsb.cjs");
7
+ const require_shapeFns = require("./shapeFns-1aqO2bz4.cjs");
8
+ const require_curveFns = require("./curveFns-Bb3wuFj4.cjs");
9
+ const require_measureFns = require("./measureFns-DJ1SESSY.cjs");
10
10
  //#region src/utils/vec2d.ts
11
11
  /** Precision for curve intersection and parameter operations. */
12
12
  var PRECISION_INTERSECTION = 1e-9;
@@ -1,12 +1,12 @@
1
- import { _ as isFace, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { nt as getKernel, v as isFace } from "./shapeTypes-D8Fprilr.js";
2
2
  import { A as ok, T as isOk, b as err, h as bug, o as queryError } from "./errors-DNWJsfVU.js";
3
- import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-DzOSCj5J.js";
3
+ import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-DfThB5LA.js";
4
4
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { a as vecDot, d as vecNormalize } from "./vecOps-SKPRvPH-.js";
6
- import { l as normalAt, s as getSurfaceType } from "./faceFns-yqC4gDSc.js";
7
- import { a as isSameShape, n as getHashCode } from "./shapeFns-DjiKoRrd.js";
8
- import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-Ca020OZW.js";
9
- import { n as measureArea } from "./measureFns-CLWtxkh6.js";
6
+ import { l as normalAt, s as getSurfaceType } from "./faceFns-Bm3-D75M.js";
7
+ import { a as isSameShape, n as getHashCode } from "./shapeFns-Dqlpy8wm.js";
8
+ import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-Y1TTdL_y.js";
9
+ import { n as measureArea } from "./measureFns-1akKMnXO.js";
10
10
  //#region src/utils/vec2d.ts
11
11
  /** Precision for curve intersection and parameter operations. */
12
12
  var PRECISION_INTERSECTION = 1e-9;
@@ -1,8 +1,8 @@
1
- import { n as castShape, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { nt as getKernel, r as castShape } from "./shapeTypes-D8Fprilr.js";
2
2
  import { n as wasmIndex, t as vec3At$1 } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, b as err, r as ioError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
4
4
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
5
- import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-BelsntLG.js";
5
+ import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-nrz4fL3I.js";
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
@@ -1,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
5
- const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
5
+ const require_blueprint = require("./blueprint-qWwhQGSr.cjs");
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
package/dist/io.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_meshFns = require("./meshFns-Cim4Y6vz.cjs");
3
- const require_importFns = require("./importFns-DUniB9wl.cjs");
2
+ const require_meshFns = require("./meshFns-s-c0lABa.cjs");
3
+ const require_importFns = require("./importFns-D8i8O8di.cjs");
4
4
  exports.blueprintToDXF = require_importFns.blueprintToDXF;
5
5
  exports.exportDXF = require_importFns.exportDXF;
6
6
  exports.exportGlb = require_importFns.exportGlb;
package/dist/io.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-Cd2zde-k.js";
2
- import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-B8II-pj-.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-Dt93gFGp.js";
2
+ import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-BnQAQt7q.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -21,6 +21,7 @@ export declare function makeTopologyOps(bk: BrepkitKernel): {
21
21
  isSame: (a: any, b: any) => boolean;
22
22
  isEqual: (a: any, b: any) => boolean;
23
23
  downcast: (shape: any, type: ShapeType | undefined) => any;
24
+ copyShape: (shape: any) => any;
24
25
  hashCode: (shape: any, upperBound: number) => number;
25
26
  isNull: (shape: any) => boolean;
26
27
  shapeOrientation: (shape: any) => ShapeOrientation;
@@ -12,6 +12,18 @@ export interface KernelTopologyOps {
12
12
  isEqual(a: KernelShape, b: KernelShape): boolean;
13
13
  /** Downcast a shape to a more specific type (e.g., TopoDS_Shape → TopoDS_Edge). */
14
14
  downcast(shape: KernelShape, type?: ShapeType): KernelShape;
15
+ /**
16
+ * Return an independently-disposable duplicate of a shape.
17
+ *
18
+ * `downcast` is a *cast*, not a copy: on the occt-wasm arena kernel a
19
+ * same-type downcast returns the very same handle id, so disposing the
20
+ * "copy" would free the source. `copyShape` guarantees a handle that can be
21
+ * disposed without affecting the source — a real geometric copy where a
22
+ * primitive exists (occt-wasm `k.copy`), or the safe existing duplicate on
23
+ * kernels that never free handles individually (brepkit/manifold) or share
24
+ * refcounted geometry (occt Embind).
25
+ */
26
+ copyShape(shape: KernelShape): KernelShape;
15
27
  /** Compute a hash code for a shape (used for face tracking). */
16
28
  hashCode(shape: KernelShape, upperBound: number): number;
17
29
  /** Check if a shape handle is null. */
@@ -102,6 +102,7 @@ export declare function makeGeometryQueryOps(oc: KernelInstance): {
102
102
  curveParameters: (shape: any) => [number, number];
103
103
  shapeOrientation: (shape: any) => ShapeOrientation;
104
104
  downcast: (shape: any, type: import('../types.js').ShapeType | undefined) => any;
105
+ copyShape: (shape: any) => any;
105
106
  hashCode: (shape: any, upperBound: number) => number;
106
107
  isNull: (shape: any) => boolean;
107
108
  hasTriangulation: (shape: any) => boolean;
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_occtWasmAdapter = require("../../occtWasmAdapter-Bj9dX3Lb.cjs");
2
+ const require_occtWasmAdapter = require("../../occtWasmAdapter-8wX1Z2-I.cjs");
3
3
  exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
@@ -267,6 +267,7 @@ export declare class OcctWasmAdapter implements KernelAdapter {
267
267
  isSame(a: KernelShape, b: KernelShape): boolean;
268
268
  isEqual(a: KernelShape, b: KernelShape): boolean;
269
269
  downcast(shape: KernelShape, type?: ShapeType): KernelShape;
270
+ copyShape(shape: KernelShape): KernelShape;
270
271
  hashCode(shape: KernelShape, upperBound: number): number;
271
272
  isNull(shape: KernelShape): boolean;
272
273
  shapeOrientation(shape: KernelShape): ShapeOrientation;
@@ -1,2 +1,2 @@
1
- import { t as OcctWasmAdapter } from "../../occtWasmAdapter-wBLknH8f.js";
1
+ import { t as OcctWasmAdapter } from "../../occtWasmAdapter-nqo3wbVj.js";
2
2
  export { OcctWasmAdapter };
@@ -5,6 +5,7 @@ export declare function shapeType(k: OcctKernelWasm, shape: KernelShape): ShapeT
5
5
  export declare function isSame(k: OcctKernelWasm, a: KernelShape, b: KernelShape): boolean;
6
6
  export declare function isEqual(k: OcctKernelWasm, a: KernelShape, b: KernelShape): boolean;
7
7
  export declare function downcast(k: OcctKernelWasm, shape: KernelShape, type?: ShapeType): KernelShape;
8
+ export declare function copyShape(k: OcctKernelWasm, shape: KernelShape): KernelShape;
8
9
  export declare function hashCode(k: OcctKernelWasm, shape: KernelShape, upperBound: number): number;
9
10
  export declare function isNull(k: OcctKernelWasm, shape: KernelShape): boolean;
10
11
  export declare function shapeOrientation(k: OcctKernelWasm, shape: KernelShape): ShapeOrientation;
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_types = require("./types-KjA8tY4Y.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
@@ -1,4 +1,4 @@
1
- import { C as isWire, f as disposeDowncastSource, l as createSolid, p as disposeResultShape, t as castResultShape, tt as getKernel, y as isShape3D } from "./shapeTypes-Osdj5kMc.js";
1
+ import { b as isShape3D, m as disposeResultShape, nt as getKernel, p as disposeDowncastSource, t as castResultShape, u as createSolid, w as isWire } from "./shapeTypes-D8Fprilr.js";
2
2
  import { A as ok, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DNWJsfVU.js";
3
3
  import { r as toVec3 } from "./types-D24Y27N0.js";
4
4
  import { c as vecLength, d as vecNormalize, t as vecAdd } from "./vecOps-SKPRvPH-.js";
@@ -1,7 +1,7 @@
1
- import { tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { nt as getKernel } from "./shapeTypes-D8Fprilr.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { w as kernelCallRaw } from "./topologyQueryFns-DzOSCj5J.js";
4
- import { m as uvBounds } from "./faceFns-yqC4gDSc.js";
3
+ import { w as kernelCallRaw } from "./topologyQueryFns-DfThB5LA.js";
4
+ import { m as uvBounds } from "./faceFns-Bm3-D75M.js";
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
4
- const require_faceFns = require("./faceFns-mARULpM7.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-BJbOwoZm.cjs");
4
+ const require_faceFns = require("./faceFns-BhBJ_Hsb.cjs");
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_measureFns = require("./measureFns-BD9_NT7u.cjs");
2
+ const require_measureFns = require("./measureFns-DJ1SESSY.cjs");
3
3
  exports.createDistanceQuery = require_measureFns.createDistanceQuery;
4
4
  exports.measureArea = require_measureFns.measureArea;
5
5
  exports.measureDistance = require_measureFns.measureDistance;
@@ -1,2 +1,2 @@
1
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-CLWtxkh6.js";
1
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-1akKMnXO.js";
2
2
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps };
@@ -1,7 +1,7 @@
1
- import { bt as qualityDeflection, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { nt as getKernel, xt as qualityDeflection } from "./shapeTypes-D8Fprilr.js";
2
2
  import { A as ok, b as err, r as ioError } from "./errors-DNWJsfVU.js";
3
- import { d as getSolids, n as getBounds } from "./topologyQueryFns-DzOSCj5J.js";
4
- import { j as getFaceOrigins } from "./shapeFns-DjiKoRrd.js";
3
+ import { d as getSolids, n as getBounds } from "./topologyQueryFns-DfThB5LA.js";
4
+ import { j as getFaceOrigins } from "./shapeFns-Dqlpy8wm.js";
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
4
- const require_shapeFns = require("./shapeFns-DxbbLpGg.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-BJbOwoZm.cjs");
4
+ const require_shapeFns = require("./shapeFns-1aqO2bz4.cjs");
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1503,6 +1503,9 @@ function downcast(k, shape, type) {
1503
1503
  if (type) return handle(type, k.downcast(unwrap(shape), type));
1504
1504
  return shape;
1505
1505
  }
1506
+ function copyShape(k, shape) {
1507
+ return wrapResult(k, k.copy(unwrap(shape)));
1508
+ }
1506
1509
  function hashCode(k, shape, upperBound) {
1507
1510
  return k.hashCode(unwrap(shape), upperBound);
1508
1511
  }
@@ -5016,6 +5019,9 @@ var OcctWasmAdapter = class OcctWasmAdapter {
5016
5019
  downcast(shape, type) {
5017
5020
  return downcast(this.k, shape, type);
5018
5021
  }
5022
+ copyShape(shape) {
5023
+ return copyShape(this.k, shape);
5024
+ }
5019
5025
  hashCode(shape, upperBound) {
5020
5026
  return hashCode(this.k, shape, upperBound);
5021
5027
  }
@@ -1503,6 +1503,9 @@ function downcast(k, shape, type) {
1503
1503
  if (type) return handle(type, k.downcast(unwrap(shape), type));
1504
1504
  return shape;
1505
1505
  }
1506
+ function copyShape(k, shape) {
1507
+ return wrapResult(k, k.copy(unwrap(shape)));
1508
+ }
1506
1509
  function hashCode(k, shape, upperBound) {
1507
1510
  return k.hashCode(unwrap(shape), upperBound);
1508
1511
  }
@@ -5016,6 +5019,9 @@ var OcctWasmAdapter = class OcctWasmAdapter {
5016
5019
  downcast(shape, type) {
5017
5020
  return downcast(this.k, shape, type);
5018
5021
  }
5022
+ copyShape(shape) {
5023
+ return copyShape(this.k, shape);
5024
+ }
5019
5025
  hashCode(shape, upperBound) {
5020
5026
  return hashCode(this.k, shape, upperBound);
5021
5027
  }
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_threadFns = require("./threadFns-DetQVphJ.cjs");
3
- const require_loftFns = require("./loftFns-oCtEZjxa.cjs");
2
+ const require_threadFns = require("./threadFns-C_BapeNn.cjs");
3
+ const require_loftFns = require("./loftFns-BJiGxTys.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 createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as circularPattern, H as removeChild, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, O as prismaticJoint, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, 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, q as linearPattern, 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 countNodes } from "./threadFns-DbqB5RMq.js";
2
- import { d as twistExtrude, l as supportExtrude, o as complexExtrude, u as sweep } from "./loftFns-B4ZJYoX2.js";
1
+ import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as circularPattern, H as removeChild, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, O as prismaticJoint, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, 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, q as linearPattern, 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 countNodes } from "./threadFns-BM-VHcSJ.js";
2
+ import { d as twistExtrude, l as supportExtrude, o as complexExtrude, u as sweep } from "./loftFns-CK4PP1IR.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,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_constants = require("./constants-BOVyEYGH.cjs");
4
- const require_shapeFns = require("./shapeFns-DxbbLpGg.cjs");
5
- const require_surfaceBuilders = require("./surfaceBuilders-DDfVCOVg.cjs");
6
- const require_solidBuilders = require("./solidBuilders-BASH2bih.cjs");
4
+ const require_shapeFns = require("./shapeFns-1aqO2bz4.cjs");
5
+ const require_surfaceBuilders = require("./surfaceBuilders-DUG4Y0qA.cjs");
6
+ const require_solidBuilders = require("./solidBuilders-CkkgC2se.cjs");
7
7
  //#region src/topology/primitiveFns.ts
8
8
  /**
9
9
  * Create a box with the given dimensions.
@@ -1,9 +1,9 @@
1
- import { T as isClosedWire, l as createSolid, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { E as isClosedWire, nt as getKernel, u as createSolid } from "./shapeTypes-D8Fprilr.js";
2
2
  import { A as ok, b as err, d as validationError, v as andThen } from "./errors-DNWJsfVU.js";
3
3
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
4
- import { g as translate } from "./shapeFns-DjiKoRrd.js";
5
- 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-CMUEd1bK.js";
6
- import { 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 } from "./solidBuilders-B8hK3cdi.js";
4
+ import { g as translate } from "./shapeFns-Dqlpy8wm.js";
5
+ 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-B15_8txg.js";
6
+ import { 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 } from "./solidBuilders-B_N5miaY.js";
7
7
  //#region src/topology/primitiveFns.ts
8
8
  /**
9
9
  * Create a box with the given dimensions.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-C3Xf7-I7.cjs");
2
+ const require_cameraFns = require("./cameraFns-taUY1CFZ.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,2 @@
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-DmLhH9Pr.js";
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-xD28Tsqu.js";
2
2
  export { PROJECTION_PLANES, cameraFromPlane, cameraLookAt, createCamera, isProjectionPlane, makeProjectedEdges, projectEdges };
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-CEi8kRzi.cjs");
3
- const require_cornerFinder = require("./cornerFinder-C6IpCea0.cjs");
2
+ const require_helpers = require("./helpers-DKfkqED3.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-BDwDNTdN.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-DcWisIKC.js";
2
- import { t as cornerFinder } from "./cornerFinder-BC2eaeW9.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DzOME9UE.js";
2
+ import { t as cornerFinder } from "./cornerFinder-DGI6Ud6N.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
3
- const require_faceFns = require("./faceFns-mARULpM7.cjs");
4
- const require_shapeFns = require("./shapeFns-DxbbLpGg.cjs");
5
- const require_measureFns = require("./measureFns-BD9_NT7u.cjs");
6
- const require_adjacencyFns = require("./adjacencyFns-CpyYIeax.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-BJbOwoZm.cjs");
3
+ const require_faceFns = require("./faceFns-BhBJ_Hsb.cjs");
4
+ const require_shapeFns = require("./shapeFns-1aqO2bz4.cjs");
5
+ const require_measureFns = require("./measureFns-DJ1SESSY.cjs");
6
+ const require_adjacencyFns = require("./adjacencyFns-Crb9tLJd.cjs");
7
7
  //#region src/topology/shapeRef/scoring.ts
8
8
  /**
9
9
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,9 +1,9 @@
1
- import { i as castShapeWithKnownType, m as disposeTransientSubShape, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
2
- import { S as vertexPosition, c as getFaces } from "./topologyQueryFns-DzOSCj5J.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-yqC4gDSc.js";
4
- import { n as getHashCode } from "./shapeFns-DjiKoRrd.js";
5
- import { n as measureArea, s as measureLength } from "./measureFns-CLWtxkh6.js";
6
- import { a as sharedEdges, i as facesOfVertex, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-cSvOB_Ze.js";
1
+ import { a as castShapeWithKnownType, h as disposeTransientSubShape, nt as getKernel } from "./shapeTypes-D8Fprilr.js";
2
+ import { S as vertexPosition, c as getFaces } from "./topologyQueryFns-DfThB5LA.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-Bm3-D75M.js";
4
+ import { n as getHashCode } from "./shapeFns-Dqlpy8wm.js";
5
+ import { n as measureArea, s as measureLength } from "./measureFns-1akKMnXO.js";
6
+ import { a as sharedEdges, i as facesOfVertex, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-BcEHCYK3.js";
7
7
  //#region src/topology/shapeRef/scoring.ts
8
8
  /**
9
9
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-BJbOwoZm.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -750,9 +750,9 @@ function transformCopy(shape, composed) {
750
750
  * - Topology query functions from `./topologyQueryFns.js`
751
751
  * - Origin tracking functions from `./metadata/originTrackingFns.js`
752
752
  */
753
- /** Clone a shape (deep copy via kernel topology downcast). */
753
+ /** Clone a shape (an independently-disposable deep copy). */
754
754
  function clone(shape) {
755
- return require_topologyQueryFns.kernelCall(() => require_shapeTypes.getKernel().downcast(shape.wrapped), require_errors.BrepErrorCode.CLONE_FAILED, "Failed to clone shape");
755
+ return require_topologyQueryFns.kernelCall(() => require_shapeTypes.getKernel().copyShape(shape.wrapped), require_errors.BrepErrorCode.CLONE_FAILED, "Failed to clone shape");
756
756
  }
757
757
  /** Serialize a shape to BREP string format. */
758
758
  function toBREP(shape) {
@@ -1,6 +1,6 @@
1
- import { t as castResultShape, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { nt as getKernel, t as castResultShape } from "./shapeTypes-D8Fprilr.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-DzOSCj5J.js";
3
+ import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-DfThB5LA.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -750,9 +750,9 @@ function transformCopy(shape, composed) {
750
750
  * - Topology query functions from `./topologyQueryFns.js`
751
751
  * - Origin tracking functions from `./metadata/originTrackingFns.js`
752
752
  */
753
- /** Clone a shape (deep copy via kernel topology downcast). */
753
+ /** Clone a shape (an independently-disposable deep copy). */
754
754
  function clone(shape) {
755
- return kernelCall(() => getKernel().downcast(shape.wrapped), BrepErrorCode.CLONE_FAILED, "Failed to clone shape");
755
+ return kernelCall(() => getKernel().copyShape(shape.wrapped), BrepErrorCode.CLONE_FAILED, "Failed to clone shape");
756
756
  }
757
757
  /** Serialize a shape to BREP string format. */
758
758
  function toBREP(shape) {
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_refResolveFns = require("./refResolveFns-TdGhQZUP.cjs");
2
+ const require_refResolveFns = require("./refResolveFns-CT1YEP-7.cjs");
3
3
  exports.assignRoles = require_refResolveFns.assignRoles;
4
4
  exports.captureHint = require_refResolveFns.captureHint;
5
5
  exports.createDerivedFaceRef = require_refResolveFns.createDerivedFaceRef;
package/dist/shapeRef.js CHANGED
@@ -1,2 +1,2 @@
1
- import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-CJ58ZH-S.js";
1
+ import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-xqQ8Z8vC.js";
2
2
  export { assignRoles, captureHint, createDerivedFaceRef, createEdgeRef, createRef, createVertexRef, defaultScorer, isDerivedFaceRef, isEdgeRef, isFaceRef, isLineageRef, isVertexRef, resolveDerivedFaceRef, resolveEdgeRef, resolveLineageRef, resolveRef, resolveRefIn, resolveRefParams, resolveVertexRef, updateRoles };