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
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-B8a39SS3.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-BJbOwoZm.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-D5AHgjkT.cjs");
6
+ const require_blueprint = require("./blueprint-qWwhQGSr.cjs");
7
+ const require_boolean2D = require("./boolean2D-Bemx5WZV.cjs");
8
+ const require_blueprintFns = require("./blueprintFns-BhiWnHuR.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 { G as createKernelHandle, rt as getKernel2D, s as createEdge } 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 { 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-DfThB5LA.js";
4
+ import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-cgkF6uCj.js";
5
+ import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-nrz4fL3I.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-CSZIZMaq.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-BaWyLnF-.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
- import { i as castShapeWithKnownType, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
2
- import { l as getOrCreateCache } from "./topologyQueryFns-DzOSCj5J.js";
1
+ import { a as castShapeWithKnownType, nt as getKernel } from "./shapeTypes-D8Fprilr.js";
2
+ import { l as getOrCreateCache } from "./topologyQueryFns-DfThB5LA.js";
3
3
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
4
4
  //#region src/topology/adjacencyFns.ts
5
5
  /**
@@ -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-B8a39SS3.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-BJbOwoZm.cjs");
3
3
  const require_constants = require("./constants-BOVyEYGH.cjs");
4
4
  //#region src/topology/adjacencyFns.ts
5
5
  /**
@@ -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 { J as registerForCleanup, X as unregisterFromCleanup, f as createWire, nt as getKernel, rt as getKernel2D, s as createEdge } from "./shapeTypes-D8Fprilr.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-Bm3-D75M.js";
8
+ import { p as getOrientation } from "./curveFns-Y1TTdL_y.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-B15_8txg.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-DzOME9UE.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,14 +1,14 @@
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_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-BhBJ_Hsb.cjs");
8
+ const require_curveFns = require("./curveFns-Bb3wuFj4.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-DUG4Y0qA.cjs");
11
+ const require_helpers = require("./helpers-DKfkqED3.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,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-cgkF6uCj.js";
3
+ import { t as Blueprint } from "./blueprint-nrz4fL3I.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-D5AHgjkT.cjs");
3
+ const require_blueprint = require("./blueprint-qWwhQGSr.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-B8a39SS3.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-DKfkqED3.cjs");
7
+ const require_blueprint = require("./blueprint-qWwhQGSr.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 getKernel, rt as getKernel2D } from "./shapeTypes-D8Fprilr.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-DzOME9UE.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-nrz4fL3I.js";
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -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-DUG4Y0qA.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-D5AHgjkT.cjs");
6
+ const require_helpers = require("./helpers-DKfkqED3.cjs");
7
+ const require_blueprint = require("./blueprint-qWwhQGSr.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.
@@ -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-B15_8txg.js";
5
+ import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-cgkF6uCj.js";
6
+ import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-DzOME9UE.js";
7
+ import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-nrz4fL3I.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.
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-BXtV_DY6.cjs");
3
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.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-BJbOwoZm.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-BhBJ_Hsb.cjs");
13
+ const require_shapeFns = require("./shapeFns-1aqO2bz4.cjs");
14
+ const require_curveFns = require("./curveFns-Bb3wuFj4.cjs");
15
+ const require_meshFns = require("./meshFns-s-c0lABa.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-DUG4Y0qA.cjs");
18
+ const require_solidBuilders = require("./solidBuilders-CkkgC2se.cjs");
19
+ const require_healingFns = require("./healingFns-DoJQUwBN.cjs");
20
+ const require_threadFns = require("./threadFns-C_BapeNn.cjs");
21
+ const require_blueprintSketcher = require("./blueprintSketcher-D5AHgjkT.cjs");
22
+ const require_helpers = require("./helpers-DKfkqED3.cjs");
23
+ const require_drawFns = require("./drawFns-Bgug3W7c.cjs");
24
+ const require_measureFns = require("./measureFns-DJ1SESSY.cjs");
25
+ const require_cornerFinder = require("./cornerFinder-BDwDNTdN.cjs");
26
+ const require_boolean2D = require("./boolean2D-Bemx5WZV.cjs");
27
+ const require_blueprintFns = require("./blueprintFns-BhiWnHuR.cjs");
28
+ const require_importFns = require("./importFns-D8i8O8di.cjs");
29
+ const require_loftFns = require("./loftFns-BJiGxTys.cjs");
30
+ const require_cameraFns = require("./cameraFns-taUY1CFZ.cjs");
31
+ const require_textMetrics = require("./textMetrics-DBdtpVNo.cjs");
32
+ const require_adjacencyFns = require("./adjacencyFns-Crb9tLJd.cjs");
33
+ const require_refResolveFns = require("./refResolveFns-CT1YEP-7.cjs");
34
34
  const require_workerPool = require("./workerPool-D30NsiIW.cjs");
35
- const require_primitiveFns = require("./primitiveFns-CHrrghJM.cjs");
35
+ const require_primitiveFns = require("./primitiveFns-BDdThy3-.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 withScopeResultAsync, A as isPlanarWire, B as as3D, C as isVertex, D as isManifoldShell, E as isClosedWire, F as planarWire, G as createKernelHandle, H as is3D, I as validSolid, K as getDisposalStats, L as getShapeKind, M as manifoldShell, N as orientedFace, O as isOrientedFace, P as planarFace, Q as withScopeResult, S as isSolid, T as closedWire, U as DisposalScope, V as is2D, W as createHandle, Y as resetDisposalStats, Z as withScope, _ as isEdge, _t as BrepkitAdapter, at as getKernelTier, b as isShape3D, bt as currentQuality, c as createFace, ct as initFromOC, d as createVertex, dt as registerKernelTier, et as _usingCtx, f as createWire, ft as withKernel, g as isCompound, gt as supportsProjection, ht as supportsConstraintSketch, i as castShape3D, it as getKernelCapabilities, j as isValidSolid, k as isPlanarFace, l as createShell, lt as prewarm, m as disposeResultShape, mt as withTier, nt as getKernel, o as createCompound, ot as init, pt as withQuality, q as isLive, r as castShape, s as createEdge, st as initFromManifold, t as castResultShape, tt as getActiveKernelId, u as createSolid, ut as registerKernel, v as isFace, vt as getPerformanceStats, w as isWire, x as isShell, xt as qualityDeflection, y as isShape1D, yt as resetPerformanceStats, z as as2D } from "./shapeTypes-D8Fprilr.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-DfThB5LA.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-Bm3-D75M.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-Dqlpy8wm.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-Y1TTdL_y.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-Dt93gFGp.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-B15_8txg.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-B_N5miaY.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-g8JymEUi.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-BM-VHcSJ.js";
19
+ import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-cgkF6uCj.js";
20
+ import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DzOME9UE.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-BksvLjN1.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-1akKMnXO.js";
23
+ import { t as cornerFinder } from "./cornerFinder-DGI6Ud6N.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-CSZIZMaq.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-BaWyLnF-.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-BnQAQt7q.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-CK4PP1IR.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-BYz-7-MZ.js";
29
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-xD28Tsqu.js";
30
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-yyHcpdUd.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-BcEHCYK3.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-xqQ8Z8vC.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-D-hFA6e9.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-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_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 { nt as getKernel, r as castShape } from "./shapeTypes-D8Fprilr.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-DfThB5LA.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. */
@@ -164,3 +164,12 @@ export declare function disposeResultShape(handle: ShapeHandle): void;
164
164
  * Used internally by topology extractors for bulk sub-shape iteration.
165
165
  */
166
166
  export declare function castShapeWithKnownType<D extends Dimension = '3D'>(ocShape: KernelShape, knownType: ShapeType, dim?: D): AnyShape<D>;
167
+ /**
168
+ * The result-owning counterpart to {@link castShapeWithKnownType}: casts a
169
+ * freshly-iterated sub-shape and releases the orphaned pre-downcast handle.
170
+ * Use for a raw sub-shape the caller owns outright — e.g. each element of
171
+ * `iterShapes` — where only the branded downcast result is retained. Identity
172
+ * downcast kernels (manifold/brepkit) skip the release via the guard in
173
+ * {@link disposeDowncastSource}.
174
+ */
175
+ export declare function castResultShapeWithKnownType<D extends Dimension = '3D'>(ocShape: KernelShape, knownType: ShapeType, dim?: D): AnyShape<D>;
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-B8a39SS3.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 { $ as withScopeResultAsync, C as isVertex, D as isManifoldShell, E as isClosedWire, G as createKernelHandle, H as is3D, I as validSolid, L as getShapeKind, M as manifoldShell, N as orientedFace, O as isOrientedFace, Q as withScopeResult, S as isSolid, T as closedWire, U as DisposalScope, V as is2D, W as createHandle, Z as withScope, _ as isEdge, b as isShape3D, g as isCompound, j as isValidSolid, q as isLive, r as castShape, v as isFace, w as isWire, x as isShell, y as isShape1D } from "./shapeTypes-D8Fprilr.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-DKfkqED3.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-DzOME9UE.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-B8a39SS3.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 { _ as isEdge, m as disposeResultShape, nt as getKernel, t as castResultShape, w as isWire } from "./shapeTypes-D8Fprilr.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-BXtV_DY6.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-B8a39SS3.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-BJbOwoZm.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-BhBJ_Hsb.cjs");
11
+ const require_curveFns = require("./curveFns-Bb3wuFj4.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-DUG4Y0qA.cjs");
14
+ const require_blueprintSketcher = require("./blueprintSketcher-D5AHgjkT.cjs");
15
+ const require_helpers = require("./helpers-DKfkqED3.cjs");
16
+ const require_blueprint = require("./blueprint-qWwhQGSr.cjs");
17
+ const require_cornerFinder = require("./cornerFinder-BDwDNTdN.cjs");
18
+ const require_boolean2D = require("./boolean2D-Bemx5WZV.cjs");
19
+ const require_cameraFns = require("./cameraFns-taUY1CFZ.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 { U as DisposalScope, c as createFace, et as _usingCtx, f as createWire, nt as getKernel, s as createEdge } from "./shapeTypes-D8Fprilr.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-DfThB5LA.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-Bm3-D75M.js";
10
+ import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-Y1TTdL_y.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-B15_8txg.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-cgkF6uCj.js";
14
+ import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-DzOME9UE.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-nrz4fL3I.js";
16
+ import { t as cornerFinder } from "./cornerFinder-DGI6Ud6N.js";
17
+ import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CSZIZMaq.js";
18
+ import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-BYz-7-MZ.js";
19
+ import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-xD28Tsqu.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]);