brepjs 18.118.6 → 18.118.7

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 (88) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-CpyYIeax.cjs → adjacencyFns-BmnrcGXe.cjs} +2 -2
  4. package/dist/{adjacencyFns-cSvOB_Ze.js → adjacencyFns-DGMGVQl7.js} +2 -2
  5. package/dist/{blueprint-CsxL1j9L.cjs → blueprint-8aYTu_pt.cjs} +5 -5
  6. package/dist/{blueprint-BelsntLG.js → blueprint-Cq4SoX4f.js} +5 -5
  7. package/dist/{blueprintFns-CAut3zwQ.js → blueprintFns-BFCNzqOo.js} +2 -2
  8. package/dist/{blueprintFns-DT6M5_k_.cjs → blueprintFns-DeFKRkeJ.cjs} +2 -2
  9. package/dist/{blueprintSketcher-CcZ_89uU.cjs → blueprintSketcher-BbT1WvI0.cjs} +3 -3
  10. package/dist/{blueprintSketcher-x4mNzlv3.js → blueprintSketcher-L_UQ6PjH.js} +3 -3
  11. package/dist/{boolean2D-nGqoIZh4.js → boolean2D-Bo8N_bkO.js} +4 -4
  12. package/dist/{boolean2D-BLigmyIR.cjs → boolean2D-gvWTFM1D.cjs} +4 -4
  13. package/dist/brepjs.cjs +26 -26
  14. package/dist/brepjs.js +26 -26
  15. package/dist/{cameraFns-C3Xf7-I7.cjs → cameraFns-BgMZW_YF.cjs} +2 -2
  16. package/dist/{cameraFns-DmLhH9Pr.js → cameraFns-CX0GX3TA.js} +2 -2
  17. package/dist/core.cjs +1 -1
  18. package/dist/core.js +1 -1
  19. package/dist/{cornerFinder-C6IpCea0.cjs → cornerFinder-Dg00ADRE.cjs} +1 -1
  20. package/dist/{cornerFinder-BC2eaeW9.js → cornerFinder-ug3d1MIj.js} +1 -1
  21. package/dist/{curveFns-D7d2foN-.cjs → curveFns-Bbq8YwiP.cjs} +1 -1
  22. package/dist/{curveFns-Ca020OZW.js → curveFns-QU4XEJMN.js} +1 -1
  23. package/dist/{drawFns-Bz_jLHCa.cjs → drawFns-BaoKhtS2.cjs} +14 -14
  24. package/dist/{drawFns-BW8OeXum.js → drawFns-t8qlCOhw.js} +14 -14
  25. package/dist/{faceFns-yqC4gDSc.js → faceFns-CnCX9BM_.js} +21 -3
  26. package/dist/{faceFns-mARULpM7.cjs → faceFns-DlUhG1i5.cjs} +26 -2
  27. package/dist/{healingFns-CV0xzJi6.cjs → healingFns-DS2jVC-6.cjs} +5 -5
  28. package/dist/{healingFns-D7uMxSHi.js → healingFns-DWODzlw2.js} +5 -5
  29. package/dist/{helpers-CEi8kRzi.cjs → helpers-CXHMPCPr.cjs} +6 -6
  30. package/dist/{helpers-DcWisIKC.js → helpers-nTMuqwBX.js} +6 -6
  31. package/dist/{importFns-B8II-pj-.js → importFns-JVnMjbVT.js} +2 -2
  32. package/dist/{importFns-DUniB9wl.cjs → importFns-Rtl8_piv.cjs} +2 -2
  33. package/dist/io.cjs +2 -2
  34. package/dist/io.js +2 -2
  35. package/dist/kernel/brepkit/topologyOps.d.ts +1 -0
  36. package/dist/kernel/interfaces/topologyOps.d.ts +12 -0
  37. package/dist/kernel/occt/geometryQueryOps.d.ts +1 -0
  38. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  39. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +1 -0
  40. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  41. package/dist/kernel/occtWasm/topologyOps.d.ts +1 -0
  42. package/dist/{loftFns-oCtEZjxa.cjs → loftFns-CYHPZMOq.cjs} +1 -1
  43. package/dist/{loftFns-B4ZJYoX2.js → loftFns-jXPjUwdV.js} +1 -1
  44. package/dist/{measureFns-BD9_NT7u.cjs → measureFns-BXpXVoE1.cjs} +3 -3
  45. package/dist/{measureFns-CLWtxkh6.js → measureFns-DDlmrOwH.js} +3 -3
  46. package/dist/measurement.cjs +1 -1
  47. package/dist/measurement.js +1 -1
  48. package/dist/{meshFns-Cd2zde-k.js → meshFns-BcvYEb05.js} +3 -3
  49. package/dist/{meshFns-Cim4Y6vz.cjs → meshFns-tNFtjrAg.cjs} +3 -3
  50. package/dist/{occtWasmAdapter-Bj9dX3Lb.cjs → occtWasmAdapter-8wX1Z2-I.cjs} +6 -0
  51. package/dist/{occtWasmAdapter-wBLknH8f.js → occtWasmAdapter-nqo3wbVj.js} +6 -0
  52. package/dist/operations.cjs +2 -2
  53. package/dist/operations.js +2 -2
  54. package/dist/{primitiveFns-DplUMAxU.js → primitiveFns-C1uYmrtf.js} +4 -4
  55. package/dist/{primitiveFns-CHrrghJM.cjs → primitiveFns-CTCpyACp.cjs} +4 -4
  56. package/dist/projection.cjs +1 -1
  57. package/dist/projection.js +1 -1
  58. package/dist/query.cjs +2 -2
  59. package/dist/query.js +2 -2
  60. package/dist/{refResolveFns-CJ58ZH-S.js → refResolveFns-BT4g71BY.js} +6 -6
  61. package/dist/{refResolveFns-TdGhQZUP.cjs → refResolveFns-BdEmu7yh.cjs} +6 -6
  62. package/dist/{shapeFns-DxbbLpGg.cjs → shapeFns-7T0gykWr.cjs} +4 -4
  63. package/dist/{shapeFns-DjiKoRrd.js → shapeFns-B0tRZG0L.js} +4 -4
  64. package/dist/shapeRef.cjs +1 -1
  65. package/dist/shapeRef.js +1 -1
  66. package/dist/{shapeTypes-BbUKvpaO.cjs → shapeTypes-OqAALhek.cjs} +4 -1
  67. package/dist/{shapeTypes-Osdj5kMc.js → shapeTypes-USExUZfW.js} +4 -1
  68. package/dist/sketching.cjs +3 -3
  69. package/dist/sketching.js +3 -3
  70. package/dist/{solidBuilders-B8hK3cdi.js → solidBuilders-DGhhY8ct.js} +5 -5
  71. package/dist/{solidBuilders-BASH2bih.cjs → solidBuilders-oBXWp32X.cjs} +5 -5
  72. package/dist/{surfaceBuilders-CMUEd1bK.js → surfaceBuilders-BPTkEKy4.js} +2 -2
  73. package/dist/{surfaceBuilders-DDfVCOVg.cjs → surfaceBuilders-_pFeqIF8.cjs} +2 -2
  74. package/dist/text.cjs +2 -2
  75. package/dist/text.js +2 -2
  76. package/dist/{textBlueprints-DdfGcHik.cjs → textBlueprints-BKi0ghsT.cjs} +12 -12
  77. package/dist/{textBlueprints-BKwbX7PZ.js → textBlueprints-lsM-HJ_1.js} +12 -12
  78. package/dist/{textMetrics-DNF4ITX5.cjs → textMetrics-66K6zyvX.cjs} +1 -1
  79. package/dist/{textMetrics-DIVTsrHQ.js → textMetrics-C89j257P.js} +1 -1
  80. package/dist/{threadFns-DetQVphJ.cjs → threadFns-CILCsLs1.cjs} +7 -7
  81. package/dist/{threadFns-DbqB5RMq.js → threadFns-oZG40DKL.js} +7 -7
  82. package/dist/topology/cast.d.ts +11 -0
  83. package/dist/topology/shapeFns.d.ts +1 -1
  84. package/dist/topology.cjs +9 -9
  85. package/dist/topology.js +9 -9
  86. package/dist/{topologyQueryFns-Cf2j9Zt0.cjs → topologyQueryFns-DK-ktEI-.cjs} +1 -1
  87. package/dist/{topologyQueryFns-DzOSCj5J.js → topologyQueryFns-Jg9SyAWe.js} +1 -1
  88. package/package.json +4 -2
package/dist/2d.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
6
- const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
7
- const require_boolean2D = require("./boolean2D-BLigmyIR.cjs");
8
- const require_blueprintFns = require("./blueprintFns-DT6M5_k_.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-DK-ktEI-.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-BbT1WvI0.cjs");
6
+ const require_blueprint = require("./blueprint-8aYTu_pt.cjs");
7
+ const require_boolean2D = require("./boolean2D-gvWTFM1D.cjs");
8
+ const require_blueprintFns = require("./blueprintFns-DeFKRkeJ.cjs");
9
9
  //#region src/core/curve2dHandle.ts
10
10
  /**
11
11
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
package/dist/2d.js CHANGED
@@ -1,10 +1,10 @@
1
- import { W as createKernelHandle, nt as getKernel2D, o as createEdge } from "./shapeTypes-Osdj5kMc.js";
1
+ import { W as createKernelHandle, nt as getKernel2D, o as createEdge } from "./shapeTypes-USExUZfW.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 { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-x4mNzlv3.js";
5
- import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-BelsntLG.js";
6
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-nGqoIZh4.js";
7
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-CAut3zwQ.js";
3
+ import { w as kernelCallRaw } from "./topologyQueryFns-Jg9SyAWe.js";
4
+ import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-L_UQ6PjH.js";
5
+ import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-Cq4SoX4f.js";
6
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-Bo8N_bkO.js";
7
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-BFCNzqOo.js";
8
8
  //#region src/core/curve2dHandle.ts
9
9
  /**
10
10
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
@@ -1,5 +1,5 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-DK-ktEI-.cjs");
3
3
  const require_constants = require("./constants-BOVyEYGH.cjs");
4
4
  //#region src/topology/adjacencyFns.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { i as castShapeWithKnownType, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
2
- import { l as getOrCreateCache } from "./topologyQueryFns-DzOSCj5J.js";
1
+ import { i as castShapeWithKnownType, tt as getKernel } from "./shapeTypes-USExUZfW.js";
2
+ import { l as getOrCreateCache } from "./topologyQueryFns-Jg9SyAWe.js";
3
3
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
4
4
  //#region src/topology/adjacencyFns.ts
5
5
  /**
@@ -1,14 +1,14 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_types = require("./types-KjA8tY4Y.cjs");
6
6
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
7
- const require_faceFns = require("./faceFns-mARULpM7.cjs");
8
- const require_curveFns = require("./curveFns-D7d2foN-.cjs");
7
+ const require_faceFns = require("./faceFns-DlUhG1i5.cjs");
8
+ const require_curveFns = require("./curveFns-Bbq8YwiP.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
10
- const require_surfaceBuilders = require("./surfaceBuilders-DDfVCOVg.cjs");
11
- const require_helpers = require("./helpers-CEi8kRzi.cjs");
10
+ const require_surfaceBuilders = require("./surfaceBuilders-_pFeqIF8.cjs");
11
+ const require_helpers = require("./helpers-CXHMPCPr.cjs");
12
12
  //#region src/2d/lib/definitions.ts
13
13
  /** Type guard that checks whether a value is a `Point2D`. */
14
14
  function isPoint2D(point) {
@@ -1,14 +1,14 @@
1
- import { Y as unregisterFromCleanup, d as createWire, nt as getKernel2D, o as createEdge, q as registerForCleanup, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { Y as unregisterFromCleanup, d as createWire, nt as getKernel2D, o as createEdge, q as registerForCleanup, tt as getKernel } from "./shapeTypes-USExUZfW.js";
2
2
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, R as unwrap, b as err, d as validationError, h as bug, n as computationError } from "./errors-DNWJsfVU.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { r as toVec3 } from "./types-D24Y27N0.js";
6
6
  import { r as makePlane } from "./planeOps-DSjjtrjg.js";
7
- import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-yqC4gDSc.js";
8
- import { p as getOrientation } from "./curveFns-Ca020OZW.js";
7
+ import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-CnCX9BM_.js";
8
+ import { p as getOrientation } from "./curveFns-QU4XEJMN.js";
9
9
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
10
- import { r as makeFace } from "./surfaceBuilders-CMUEd1bK.js";
11
- import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-DcWisIKC.js";
10
+ import { r as makeFace } from "./surfaceBuilders-BPTkEKy4.js";
11
+ import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-nTMuqwBX.js";
12
12
  //#region src/2d/lib/definitions.ts
13
13
  /** Type guard that checks whether a value is a `Point2D`. */
14
14
  function isPoint2D(point) {
@@ -1,6 +1,6 @@
1
1
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
2
- import { i as CompoundBlueprint } from "./blueprintSketcher-x4mNzlv3.js";
3
- import { t as Blueprint } from "./blueprint-BelsntLG.js";
2
+ import { i as CompoundBlueprint } from "./blueprintSketcher-L_UQ6PjH.js";
3
+ import { t as Blueprint } from "./blueprint-Cq4SoX4f.js";
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -1,6 +1,6 @@
1
1
  const require_errors = require("./errors-CXJtc4I7.cjs");
2
- const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
3
- const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
2
+ const require_blueprintSketcher = require("./blueprintSketcher-BbT1WvI0.cjs");
3
+ const require_blueprint = require("./blueprint-8aYTu_pt.cjs");
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
6
- const require_helpers = require("./helpers-CEi8kRzi.cjs");
7
- const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
6
+ const require_helpers = require("./helpers-CXHMPCPr.cjs");
7
+ const require_blueprint = require("./blueprint-8aYTu_pt.cjs");
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -1,10 +1,10 @@
1
- import { nt as getKernel2D, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { nt as getKernel2D, tt as getKernel } from "./shapeTypes-USExUZfW.js";
2
2
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, R as unwrap, T as isOk, b as err, h as bug, n as computationError, s as safeIndex } from "./errors-DNWJsfVU.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
6
- import { _ as samePoint, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, v as scalarMultiply2d } from "./helpers-DcWisIKC.js";
7
- import { _ as Curve2D, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-BelsntLG.js";
6
+ import { _ as samePoint, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, v as scalarMultiply2d } from "./helpers-nTMuqwBX.js";
7
+ import { _ as Curve2D, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-Cq4SoX4f.js";
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -1,10 +1,10 @@
1
1
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
2
2
  import { R as unwrap, h as bug, s as safeIndex } from "./errors-DNWJsfVU.js";
3
3
  import { r as lastOrThrow } from "./arrayAccess-DrUGPADn.js";
4
- import { v as zip } from "./surfaceBuilders-CMUEd1bK.js";
5
- import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-x4mNzlv3.js";
6
- import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-DcWisIKC.js";
7
- import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-BelsntLG.js";
4
+ import { v as zip } from "./surfaceBuilders-BPTkEKy4.js";
5
+ import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-L_UQ6PjH.js";
6
+ import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-nTMuqwBX.js";
7
+ import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-Cq4SoX4f.js";
8
8
  //#region src/2d/blueprints/cannedBlueprints.ts
9
9
  /**
10
10
  * Create a regular polygon blueprint inscribed in a circle of the given radius.
@@ -1,10 +1,10 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
4
- const require_surfaceBuilders = require("./surfaceBuilders-DDfVCOVg.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
6
- const require_helpers = require("./helpers-CEi8kRzi.cjs");
7
- const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
4
+ const require_surfaceBuilders = require("./surfaceBuilders-_pFeqIF8.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-BbT1WvI0.cjs");
6
+ const require_helpers = require("./helpers-CXHMPCPr.cjs");
7
+ const require_blueprint = require("./blueprint-8aYTu_pt.cjs");
8
8
  //#region src/2d/blueprints/cannedBlueprints.ts
9
9
  /**
10
10
  * Create a regular polygon blueprint inscribed in a circle of the given radius.
package/dist/brepjs.cjs CHANGED
@@ -1,38 +1,38 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-DdfGcHik.cjs");
3
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
4
- const require_occtWasmAdapter = require("./occtWasmAdapter-Bj9dX3Lb.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-BKi0ghsT.cjs");
3
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
4
+ const require_occtWasmAdapter = require("./occtWasmAdapter-8wX1Z2-I.cjs");
5
5
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
6
6
  const require_errors = require("./errors-CXJtc4I7.cjs");
7
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
7
+ const require_topologyQueryFns = require("./topologyQueryFns-DK-ktEI-.cjs");
8
8
  const require_constants = require("./constants-BOVyEYGH.cjs");
9
9
  const require_types = require("./types-KjA8tY4Y.cjs");
10
10
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
11
11
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
12
- const require_faceFns = require("./faceFns-mARULpM7.cjs");
13
- const require_shapeFns = require("./shapeFns-DxbbLpGg.cjs");
14
- const require_curveFns = require("./curveFns-D7d2foN-.cjs");
15
- const require_meshFns = require("./meshFns-Cim4Y6vz.cjs");
12
+ const require_faceFns = require("./faceFns-DlUhG1i5.cjs");
13
+ const require_shapeFns = require("./shapeFns-7T0gykWr.cjs");
14
+ const require_curveFns = require("./curveFns-Bbq8YwiP.cjs");
15
+ const require_meshFns = require("./meshFns-tNFtjrAg.cjs");
16
16
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
17
- const require_surfaceBuilders = require("./surfaceBuilders-DDfVCOVg.cjs");
18
- const require_solidBuilders = require("./solidBuilders-BASH2bih.cjs");
19
- const require_healingFns = require("./healingFns-CV0xzJi6.cjs");
20
- const require_threadFns = require("./threadFns-DetQVphJ.cjs");
21
- const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
22
- const require_helpers = require("./helpers-CEi8kRzi.cjs");
23
- const require_drawFns = require("./drawFns-Bz_jLHCa.cjs");
24
- const require_measureFns = require("./measureFns-BD9_NT7u.cjs");
25
- const require_cornerFinder = require("./cornerFinder-C6IpCea0.cjs");
26
- const require_boolean2D = require("./boolean2D-BLigmyIR.cjs");
27
- const require_blueprintFns = require("./blueprintFns-DT6M5_k_.cjs");
28
- const require_importFns = require("./importFns-DUniB9wl.cjs");
29
- const require_loftFns = require("./loftFns-oCtEZjxa.cjs");
30
- const require_cameraFns = require("./cameraFns-C3Xf7-I7.cjs");
31
- const require_textMetrics = require("./textMetrics-DNF4ITX5.cjs");
32
- const require_adjacencyFns = require("./adjacencyFns-CpyYIeax.cjs");
33
- const require_refResolveFns = require("./refResolveFns-TdGhQZUP.cjs");
17
+ const require_surfaceBuilders = require("./surfaceBuilders-_pFeqIF8.cjs");
18
+ const require_solidBuilders = require("./solidBuilders-oBXWp32X.cjs");
19
+ const require_healingFns = require("./healingFns-DS2jVC-6.cjs");
20
+ const require_threadFns = require("./threadFns-CILCsLs1.cjs");
21
+ const require_blueprintSketcher = require("./blueprintSketcher-BbT1WvI0.cjs");
22
+ const require_helpers = require("./helpers-CXHMPCPr.cjs");
23
+ const require_drawFns = require("./drawFns-BaoKhtS2.cjs");
24
+ const require_measureFns = require("./measureFns-BXpXVoE1.cjs");
25
+ const require_cornerFinder = require("./cornerFinder-Dg00ADRE.cjs");
26
+ const require_boolean2D = require("./boolean2D-gvWTFM1D.cjs");
27
+ const require_blueprintFns = require("./blueprintFns-DeFKRkeJ.cjs");
28
+ const require_importFns = require("./importFns-Rtl8_piv.cjs");
29
+ const require_loftFns = require("./loftFns-CYHPZMOq.cjs");
30
+ const require_cameraFns = require("./cameraFns-BgMZW_YF.cjs");
31
+ const require_textMetrics = require("./textMetrics-66K6zyvX.cjs");
32
+ const require_adjacencyFns = require("./adjacencyFns-BmnrcGXe.cjs");
33
+ const require_refResolveFns = require("./refResolveFns-BdEmu7yh.cjs");
34
34
  const require_workerPool = require("./workerPool-D30NsiIW.cjs");
35
- const require_primitiveFns = require("./primitiveFns-CHrrghJM.cjs");
35
+ const require_primitiveFns = require("./primitiveFns-CTCpyACp.cjs");
36
36
  //#region src/topology/shapeBooleans.ts
37
37
  var BOPAlgo_GlueShift = 1;
38
38
  var BOPAlgo_GlueFull = 2;
package/dist/brepjs.js CHANGED
@@ -1,37 +1,37 @@
1
- import { $ as _usingCtx, A as isValidSolid, B as is2D, C as isWire, D as isOrientedFace, E as isManifoldShell, F as validSolid, G as getDisposalStats, H as DisposalScope, I as getShapeKind, J as resetDisposalStats, K as isLive, M as orientedFace, N as planarFace, O as isPlanarFace, P as planarWire, Q as withScopeResultAsync, R as as2D, S as isVertex, T as isClosedWire, U as createHandle, V as is3D, W as createKernelHandle, X as withScope, Z as withScopeResult, _ as isFace, _t as getPerformanceStats, a as createCompound, at as init, b as isShell, bt as qualityDeflection, c as createShell, ct as prewarm, d as createWire, dt as withKernel, et as getActiveKernelId, ft as withQuality, g as isEdge, gt as BrepkitAdapter, h as isCompound, ht as supportsProjection, it as getKernelTier, j as manifoldShell, k as isPlanarWire, l as createSolid, lt as registerKernel, mt as supportsConstraintSketch, n as castShape, o as createEdge, ot as initFromManifold, p as disposeResultShape, pt as withTier, r as castShape3D, rt as getKernelCapabilities, s as createFace, st as initFromOC, t as castResultShape, tt as getKernel, u as createVertex, ut as registerKernelTier, v as isShape1D, vt as resetPerformanceStats, w as closedWire, x as isSolid, y as isShape3D, yt as currentQuality, z as as3D } from "./shapeTypes-Osdj5kMc.js";
2
- import { D as DEFAULT_CAPABILITIES, O as EXACT_BREP_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-wBLknH8f.js";
1
+ import { $ as _usingCtx, A as isValidSolid, B as is2D, C as isWire, D as isOrientedFace, E as isManifoldShell, F as validSolid, G as getDisposalStats, H as DisposalScope, I as getShapeKind, J as resetDisposalStats, K as isLive, M as orientedFace, N as planarFace, O as isPlanarFace, P as planarWire, Q as withScopeResultAsync, R as as2D, S as isVertex, T as isClosedWire, U as createHandle, V as is3D, W as createKernelHandle, X as withScope, Z as withScopeResult, _ as isFace, _t as getPerformanceStats, a as createCompound, at as init, b as isShell, bt as qualityDeflection, c as createShell, ct as prewarm, d as createWire, dt as withKernel, et as getActiveKernelId, ft as withQuality, g as isEdge, gt as BrepkitAdapter, h as isCompound, ht as supportsProjection, it as getKernelTier, j as manifoldShell, k as isPlanarWire, l as createSolid, lt as registerKernel, mt as supportsConstraintSketch, n as castShape, o as createEdge, ot as initFromManifold, p as disposeResultShape, pt as withTier, r as castShape3D, rt as getKernelCapabilities, s as createFace, st as initFromOC, t as castResultShape, tt as getKernel, u as createVertex, ut as registerKernelTier, v as isShape1D, vt as resetPerformanceStats, w as closedWire, x as isSolid, y as isShape3D, yt as currentQuality, z as as3D } from "./shapeTypes-USExUZfW.js";
2
+ import { D as DEFAULT_CAPABILITIES, O as EXACT_BREP_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-nqo3wbVj.js";
3
3
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
4
4
  import { A as ok, B as unwrapOr, C as fromNullable, D as mapBoth, E as map, F as tapErr, H as zip, I as tryCatch, L as tryCatchAsync, M as orElse, N as pipeline, O as mapErr, P as tap, R as unwrap, S as flatten, T as isOk, V as unwrapOrElse, _ as all, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, j as or, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
5
- import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-DzOSCj5J.js";
5
+ import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-Jg9SyAWe.js";
6
6
  import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
7
7
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
8
8
  import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-SKPRvPH-.js";
9
9
  import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-DSjjtrjg.js";
10
- import { S as shapeType, _ as cast, a as faceOrientation, b as isCompSolid, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-yqC4gDSc.js";
11
- import { A as tagFaces, C as colorShape, D as getFaceTags, E as findFacesByTag, M as setShapeOrigin, O as getTagMetadata, S as colorFaces, T as getShapeColor, a as isSameShape, c as applyMatrix$1, d as mirror$2, f as resize, g as translate$2, h as transformCopy$1, i as isEqualShape, j as getFaceOrigins, k as setTagMetadata, l as composeTransforms, m as scale$3, n as getHashCode, o as simplify$1, p as rotate$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as locate$1, v as hasAnyMetadata, w as getFaceColor, x as propagateMetadataThroughRelocation } from "./shapeFns-DjiKoRrd.js";
12
- import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-Ca020OZW.js";
13
- import { a as meshEdges$1, c as meshMultiLOD, d as createMeshCache, i as mesh$1, l as buildMeshCacheKey, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as clearMeshCache } from "./meshFns-Cd2zde-k.js";
10
+ import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-CnCX9BM_.js";
11
+ import { A as tagFaces, C as colorShape, D as getFaceTags, E as findFacesByTag, M as setShapeOrigin, O as getTagMetadata, S as colorFaces, T as getShapeColor, a as isSameShape, c as applyMatrix$1, d as mirror$2, f as resize, g as translate$2, h as transformCopy$1, i as isEqualShape, j as getFaceOrigins, k as setTagMetadata, l as composeTransforms, m as scale$3, n as getHashCode, o as simplify$1, p as rotate$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as locate$1, v as hasAnyMetadata, w as getFaceColor, x as propagateMetadataThroughRelocation } from "./shapeFns-B0tRZG0L.js";
12
+ import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-QU4XEJMN.js";
13
+ import { a as meshEdges$1, c as meshMultiLOD, d as createMeshCache, i as mesh$1, l as buildMeshCacheKey, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as clearMeshCache } from "./meshFns-BcvYEb05.js";
14
14
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
15
- import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-CMUEd1bK.js";
16
- import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-B8hK3cdi.js";
17
- import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, M as toLODGeometryData, N as toLODGeometryLevels, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-D7uMxSHi.js";
18
- import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatMultiply, G as circularPattern, H as removeChild, I as quatRotate, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, Y as createAssembly, _ as exportURDF, a as deserializeHistory, 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, p as serializeHistory, 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";
19
- import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-x4mNzlv3.js";
20
- import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DcWisIKC.js";
21
- import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-BW8OeXum.js";
22
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-CLWtxkh6.js";
23
- import { t as cornerFinder } from "./cornerFinder-BC2eaeW9.js";
24
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-nGqoIZh4.js";
25
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-CAut3zwQ.js";
26
- 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";
27
- import { a as revolve$1, c as multiSectionSweep, d as twistExtrude, i as extrudeAll, l as supportExtrude, n as loftAll, o as complexExtrude, r as extrude$1, s as guidedSweep, t as loft$1, u as sweep$1 } from "./loftFns-B4ZJYoX2.js";
28
- import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-BKwbX7PZ.js";
29
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-DmLhH9Pr.js";
30
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-DIVTsrHQ.js";
31
- import { a as sharedEdges, c as wiresOfFace, i as facesOfVertex, n as edgesOfFace, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-cSvOB_Ze.js";
32
- 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";
15
+ import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-BPTkEKy4.js";
16
+ import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-DGhhY8ct.js";
17
+ import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, M as toLODGeometryData, N as toLODGeometryLevels, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-DWODzlw2.js";
18
+ import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatMultiply, G as circularPattern, H as removeChild, I as quatRotate, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, Y as createAssembly, _ as exportURDF, a as deserializeHistory, 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, p as serializeHistory, 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-oZG40DKL.js";
19
+ import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-L_UQ6PjH.js";
20
+ import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-nTMuqwBX.js";
21
+ import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-t8qlCOhw.js";
22
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-DDlmrOwH.js";
23
+ import { t as cornerFinder } from "./cornerFinder-ug3d1MIj.js";
24
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-Bo8N_bkO.js";
25
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-BFCNzqOo.js";
26
+ 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-JVnMjbVT.js";
27
+ import { a as revolve$1, c as multiSectionSweep, d as twistExtrude, i as extrudeAll, l as supportExtrude, n as loftAll, o as complexExtrude, r as extrude$1, s as guidedSweep, t as loft$1, u as sweep$1 } from "./loftFns-jXPjUwdV.js";
28
+ import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-lsM-HJ_1.js";
29
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-CX0GX3TA.js";
30
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-C89j257P.js";
31
+ import { a as sharedEdges, c as wiresOfFace, i as facesOfVertex, n as edgesOfFace, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-DGMGVQl7.js";
32
+ 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-BT4g71BY.js";
33
33
  import { _ as isSuccessResponse, a as createWorkerClient, c as enqueueTask, d as rejectAll, f as isBatchRequest, g as isOperationRequest, h as isInitRequest, i as registerHandler, l as isEmpty$1, m as isErrorResponse, n as createOperationRegistry, o as createTaskQueue, p as isDisposeRequest, r as createWorkerHandler, s as dequeueTask, t as createWorkerPool, u as pendingCount } from "./workerPool-XcYX2UZ0.js";
34
- import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus$1, x as subFace, y as solid } from "./primitiveFns-DplUMAxU.js";
34
+ import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus$1, x as subFace, y as solid } from "./primitiveFns-C1uYmrtf.js";
35
35
  //#region \0rolldown/runtime.js
36
36
  var __defProp = Object.defineProperty;
37
37
  var __exportAll = (all, no_symbols) => {
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DK-ktEI-.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
5
5
  //#region src/projection/projectionPlanes.ts
6
6
  /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
@@ -1,6 +1,6 @@
1
- import { n as castShape, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { n as castShape, tt as getKernel } from "./shapeTypes-USExUZfW.js";
2
2
  import { A as ok, b as err, d as validationError } from "./errors-DNWJsfVU.js";
3
- import { s as getEdges } from "./topologyQueryFns-DzOSCj5J.js";
3
+ import { s as getEdges } from "./topologyQueryFns-Jg9SyAWe.js";
4
4
  import { c as vecLength, d as vecNormalize, g as vecSub, r as vecCross } from "./vecOps-SKPRvPH-.js";
5
5
  //#region src/projection/projectionPlanes.ts
6
6
  /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
package/dist/core.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_types = require("./types-KjA8tY4Y.cjs");
package/dist/core.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as isValidSolid, B as is2D, C as isWire, D as isOrientedFace, E as isManifoldShell, F as validSolid, H as DisposalScope, I as getShapeKind, K as isLive, M as orientedFace, Q as withScopeResultAsync, S as isVertex, T as isClosedWire, U as createHandle, V as is3D, W as createKernelHandle, X as withScope, Z as withScopeResult, _ as isFace, b as isShell, g as isEdge, h as isCompound, j as manifoldShell, n as castShape, v as isShape1D, w as closedWire, x as isSolid, y as isShape3D } from "./shapeTypes-Osdj5kMc.js";
1
+ import { A as isValidSolid, B as is2D, C as isWire, D as isOrientedFace, E as isManifoldShell, F as validSolid, H as DisposalScope, I as getShapeKind, K as isLive, M as orientedFace, Q as withScopeResultAsync, S as isVertex, T as isClosedWire, U as createHandle, V as is3D, W as createKernelHandle, X as withScope, Z as withScopeResult, _ as isFace, b as isShell, g as isEdge, h as isCompound, j as manifoldShell, n as castShape, v as isShape1D, w as closedWire, x as isSolid, y as isShape3D } from "./shapeTypes-USExUZfW.js";
2
2
  import { A as ok, B as unwrapOr, E as map, I as tryCatch, L as tryCatchAsync, O as mapErr, R as unwrap, T as isOk, V as unwrapOrElse, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
3
3
  import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
4
4
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
@@ -1,6 +1,6 @@
1
1
  const require_constants = require("./constants-BOVyEYGH.cjs");
2
2
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
3
- const require_helpers = require("./helpers-CEi8kRzi.cjs");
3
+ const require_helpers = require("./helpers-CXHMPCPr.cjs");
4
4
  //#region src/query/cornerFinder.ts
5
5
  var PI_2 = 2 * Math.PI;
6
6
  function positiveHalfAngle(angle) {
@@ -1,6 +1,6 @@
1
1
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
2
2
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
3
- import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-DcWisIKC.js";
3
+ import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-nTMuqwBX.js";
4
4
  //#region src/query/cornerFinder.ts
5
5
  var PI_2 = 2 * Math.PI;
6
6
  function positiveHalfAngle(angle) {
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/topology/curveFns.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { C as isWire, g as isEdge, p as disposeResultShape, t as castResultShape, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { C as isWire, g as isEdge, p as disposeResultShape, t as castResultShape, tt as getKernel } from "./shapeTypes-USExUZfW.js";
2
2
  import { A as ok, b as err, l as typeCastError } from "./errors-DNWJsfVU.js";
3
3
  //#region src/topology/curveFns.ts
4
4
  /**
@@ -1,22 +1,22 @@
1
- const require_textBlueprints = require("./textBlueprints-DdfGcHik.cjs");
2
- const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-BKi0ghsT.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-OqAALhek.cjs");
3
3
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
4
4
  const require_errors = require("./errors-CXJtc4I7.cjs");
5
- const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
5
+ const require_topologyQueryFns = require("./topologyQueryFns-DK-ktEI-.cjs");
6
6
  const require_constants = require("./constants-BOVyEYGH.cjs");
7
7
  const require_types = require("./types-KjA8tY4Y.cjs");
8
8
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
9
9
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
10
- const require_faceFns = require("./faceFns-mARULpM7.cjs");
11
- const require_curveFns = require("./curveFns-D7d2foN-.cjs");
10
+ const require_faceFns = require("./faceFns-DlUhG1i5.cjs");
11
+ const require_curveFns = require("./curveFns-Bbq8YwiP.cjs");
12
12
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
13
- const require_surfaceBuilders = require("./surfaceBuilders-DDfVCOVg.cjs");
14
- const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
15
- const require_helpers = require("./helpers-CEi8kRzi.cjs");
16
- const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
17
- const require_cornerFinder = require("./cornerFinder-C6IpCea0.cjs");
18
- const require_boolean2D = require("./boolean2D-BLigmyIR.cjs");
19
- const require_cameraFns = require("./cameraFns-C3Xf7-I7.cjs");
13
+ const require_surfaceBuilders = require("./surfaceBuilders-_pFeqIF8.cjs");
14
+ const require_blueprintSketcher = require("./blueprintSketcher-BbT1WvI0.cjs");
15
+ const require_helpers = require("./helpers-CXHMPCPr.cjs");
16
+ const require_blueprint = require("./blueprint-8aYTu_pt.cjs");
17
+ const require_cornerFinder = require("./cornerFinder-Dg00ADRE.cjs");
18
+ const require_boolean2D = require("./boolean2D-gvWTFM1D.cjs");
19
+ const require_cameraFns = require("./cameraFns-BgMZW_YF.cjs");
20
20
  //#region src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -185,7 +185,7 @@ var FaceSketcher = class extends require_blueprintSketcher.BaseSketcher2d {
185
185
  _bounds;
186
186
  constructor(face, origin = [0, 0]) {
187
187
  super(origin);
188
- this.face = require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.downcast(face.wrapped)));
188
+ this.face = require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.copyShape(face.wrapped)));
189
189
  this._bounds = require_faceFns.uvBounds(face);
190
190
  }
191
191
  _convertToUV([x, y]) {
@@ -1259,7 +1259,7 @@ function drawFaceOutline(face) {
1259
1259
  try {
1260
1260
  var _usingCtx3 = require_shapeTypes._usingCtx();
1261
1261
  const scope = _usingCtx3.u(new require_shapeTypes.DisposalScope());
1262
- const clonedFace = scope.register(require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.downcast(face.wrapped))));
1262
+ const clonedFace = scope.register(require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.copyShape(face.wrapped))));
1263
1263
  const stitchedCurves = stitchCurves(require_topologyQueryFns.getEdges(scope.register(require_faceFns.outerWire(clonedFace))).map((e) => require_blueprint.edgeToCurve(e, face))).map((s) => new require_blueprint.Blueprint(s));
1264
1264
  if (stitchedCurves.length === 0) return new Drawing();
1265
1265
  if (stitchedCurves.length === 1) return new Drawing(stitchedCurves[0]);
@@ -1,22 +1,22 @@
1
- import { $ as _usingCtx, H as DisposalScope, d as createWire, o as createEdge, s as createFace, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { $ as _usingCtx, H as DisposalScope, d as createWire, o as createEdge, s as createFace, tt as getKernel } from "./shapeTypes-USExUZfW.js";
2
2
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
3
3
  import { R as unwrap, h as bug, s as safeIndex } from "./errors-DNWJsfVU.js";
4
- import { s as getEdges } from "./topologyQueryFns-DzOSCj5J.js";
4
+ import { s as getEdges } from "./topologyQueryFns-Jg9SyAWe.js";
5
5
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
6
6
  import { r as toVec3 } from "./types-D24Y27N0.js";
7
7
  import { d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-SKPRvPH-.js";
8
8
  import { a as planeToWorld, o as resolvePlane } from "./planeOps-DSjjtrjg.js";
9
- import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u as outerWire, v as downcast } from "./faceFns-yqC4gDSc.js";
10
- import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-Ca020OZW.js";
9
+ import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u as outerWire, v as copyShape, y as downcast } from "./faceFns-CnCX9BM_.js";
10
+ import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-QU4XEJMN.js";
11
11
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
12
- import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-CMUEd1bK.js";
13
- import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-x4mNzlv3.js";
14
- import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-DcWisIKC.js";
15
- import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-BelsntLG.js";
16
- import { t as cornerFinder } from "./cornerFinder-BC2eaeW9.js";
17
- import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-nGqoIZh4.js";
18
- import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-BKwbX7PZ.js";
19
- import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-DmLhH9Pr.js";
12
+ import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-BPTkEKy4.js";
13
+ import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-L_UQ6PjH.js";
14
+ import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-nTMuqwBX.js";
15
+ import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-Cq4SoX4f.js";
16
+ import { t as cornerFinder } from "./cornerFinder-ug3d1MIj.js";
17
+ import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-Bo8N_bkO.js";
18
+ import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-lsM-HJ_1.js";
19
+ import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-CX0GX3TA.js";
20
20
  //#region src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -185,7 +185,7 @@ var FaceSketcher = class extends BaseSketcher2d {
185
185
  _bounds;
186
186
  constructor(face, origin = [0, 0]) {
187
187
  super(origin);
188
- this.face = createFace(unwrap(downcast(face.wrapped)));
188
+ this.face = createFace(unwrap(copyShape(face.wrapped)));
189
189
  this._bounds = uvBounds(face);
190
190
  }
191
191
  _convertToUV([x, y]) {
@@ -1259,7 +1259,7 @@ function drawFaceOutline(face) {
1259
1259
  try {
1260
1260
  var _usingCtx3 = _usingCtx();
1261
1261
  const scope = _usingCtx3.u(new DisposalScope());
1262
- const clonedFace = scope.register(createFace(unwrap(downcast(face.wrapped))));
1262
+ const clonedFace = scope.register(createFace(unwrap(copyShape(face.wrapped))));
1263
1263
  const stitchedCurves = stitchCurves(getEdges(scope.register(outerWire(clonedFace))).map((e) => edgeToCurve(e, face))).map((s) => new Blueprint(s));
1264
1264
  if (stitchedCurves.length === 0) return new Drawing();
1265
1265
  if (stitchedCurves.length === 1) return new Drawing(stitchedCurves[0]);
@@ -1,6 +1,6 @@
1
- import { n as castShape, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
1
+ import { n as castShape, tt as getKernel } from "./shapeTypes-USExUZfW.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-Jg9SyAWe.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 };