brepjs 20.8.0 → 20.10.1

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 (106) hide show
  1. package/dist/2d.cjs +7 -7
  2. package/dist/2d.js +7 -7
  3. package/dist/{adjacencyFns-_RTYhwtD.cjs → adjacencyFns-DaKzrm6n.cjs} +3 -3
  4. package/dist/{adjacencyFns-BgJQQjdt.js → adjacencyFns-QlyPpWhd.js} +3 -3
  5. package/dist/{blueprint-wq2TU1XP.cjs → blueprint-BwUhy-0u.cjs} +7 -7
  6. package/dist/{blueprint-Bth4EVaO.js → blueprint-T5IMurrv.js} +7 -7
  7. package/dist/{blueprintFns-DQmNe1p6.js → blueprintFns-CZ_RJTYB.js} +3 -3
  8. package/dist/{blueprintFns-Dd0gm1rX.cjs → blueprintFns-DCWiQOnn.cjs} +3 -3
  9. package/dist/{blueprintSketcher-CSDqr27-.cjs → blueprintSketcher-DDA1AcP5.cjs} +4 -4
  10. package/dist/{blueprintSketcher-DNp87aQZ.js → blueprintSketcher-ZHeS6RGQ.js} +4 -4
  11. package/dist/{boolean2D-BAb4SnIL.js → boolean2D-CCYpepZs.js} +5 -5
  12. package/dist/{boolean2D-BkgOjMRt.cjs → boolean2D-CVkehTYy.cjs} +5 -5
  13. package/dist/brepjs.cjs +59 -93
  14. package/dist/brepjs.js +59 -94
  15. package/dist/{cameraFns-CKUN90f_.cjs → cameraFns-C4vnJuVn.cjs} +4 -4
  16. package/dist/{cameraFns-9AGyuZVp.js → cameraFns-CYdit3jH.js} +4 -4
  17. package/dist/core/errors.d.ts +3 -0
  18. package/dist/core.cjs +4 -4
  19. package/dist/core.js +4 -4
  20. package/dist/{cornerFinder-DJWo6h1Z.cjs → cornerFinder-B6d-A7bA.cjs} +1 -1
  21. package/dist/{cornerFinder-Cr_04etw.js → cornerFinder-pBdrMPZ0.js} +1 -1
  22. package/dist/{curveFns-CkA2WJP2.js → curveFns-BEHgd_lK.js} +2 -2
  23. package/dist/{curveFns-U7srQ3ZA.cjs → curveFns-MO2zNRPy.cjs} +2 -2
  24. package/dist/{drawFns-DlCxozRP.cjs → drawFns-BqQWEJAY.cjs} +14 -14
  25. package/dist/{drawFns-C6bmFijD.js → drawFns-CxsE55au.js} +14 -14
  26. package/dist/{errors-GVyCnpi0.cjs → errors-B9r_Dzs1.cjs} +3 -0
  27. package/dist/{errors-vxP5FT8B.js → errors-CUsZRWJ7.js} +3 -0
  28. package/dist/{faceFns-DSRREV5G.cjs → faceFns-FpT-Ap5E.cjs} +3 -3
  29. package/dist/{faceFns-BBk6XKJO.js → faceFns-pZvWlzpX.js} +3 -3
  30. package/dist/{healingFns-CEr0afli.js → healingFns-DO4iNGRY.js} +134 -13
  31. package/dist/{healingFns-C9G3yjOe.cjs → healingFns-x0-D6Rh1.cjs} +139 -12
  32. package/dist/{helpers-sDialr0f.js → helpers-B4k3UskG.js} +7 -7
  33. package/dist/{helpers-JuPoaP_b.cjs → helpers-Dzq_vAO5.cjs} +7 -7
  34. package/dist/{importFns-ClqPJCFR.cjs → importFns-CeHEdOsm.cjs} +3 -3
  35. package/dist/{importFns-DSUfSQn2.js → importFns-CmZ-MW_q.js} +3 -3
  36. package/dist/index.d.ts +1 -1
  37. package/dist/io.cjs +2 -2
  38. package/dist/io.js +2 -2
  39. package/dist/kernel/faultyEdges.d.ts +11 -0
  40. package/dist/kernel/occtWasm/constructionOps.d.ts +4 -2
  41. package/dist/kernel/occtWasm/helpers.d.ts +5 -0
  42. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  43. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +18 -2
  44. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  45. package/dist/kernel/occtWasm/occtWasmTypes.d.ts +2 -0
  46. package/dist/{loftFns-B8DSoG-F.js → loftFns--HPa9bzA.js} +2 -2
  47. package/dist/{loftFns-mkJeOaII.cjs → loftFns-BAdVToS1.cjs} +2 -2
  48. package/dist/{measureFns-PRM3gOjw.js → measureFns-BFUFjzym.js} +4 -4
  49. package/dist/{measureFns-BvNkzSR6.cjs → measureFns-DugGNpl1.cjs} +4 -4
  50. package/dist/measurement.cjs +2 -2
  51. package/dist/measurement.js +2 -2
  52. package/dist/{meshFns-CgbT3uuO.js → meshFns-U0q7DxYW.js} +4 -4
  53. package/dist/{meshFns-W7ZTKqiJ.cjs → meshFns-p-lwZsSo.cjs} +4 -4
  54. package/dist/ns/modifiers.d.ts +1 -1
  55. package/dist/{occtWasmAdapter-PzZJHUAd.js → occtWasmAdapter-ClvPe3OJ.js} +135 -13
  56. package/dist/{occtWasmAdapter-BSQeA69d.cjs → occtWasmAdapter-CsDULjij.cjs} +140 -12
  57. package/dist/operations.cjs +2 -2
  58. package/dist/operations.js +2 -2
  59. package/dist/{originTrackingFns-DJDTRJh3.cjs → originTrackingFns-BisDJwJu.cjs} +2 -2
  60. package/dist/{originTrackingFns-D8SNCDKj.js → originTrackingFns-CIeKNLsH.js} +2 -2
  61. package/dist/{planeOps-C9d2Y56B.cjs → planeOps-C7sRqzno.cjs} +1 -1
  62. package/dist/{planeOps-Dp0YvuFE.js → planeOps-DgG0vHN7.js} +1 -1
  63. package/dist/{primitiveFns-EtHyTqhw.cjs → primitiveFns-Cw9q1eOL.cjs} +5 -5
  64. package/dist/{primitiveFns-W3RYNJcm.js → primitiveFns-DdSWvgfC.js} +5 -5
  65. package/dist/{principalBoxFns-Cbtty-2_.js → principalBoxFns-CjY_nvEs.js} +4 -4
  66. package/dist/{principalBoxFns-CmZa7qHi.cjs → principalBoxFns-TMr0eTjD.cjs} +4 -4
  67. package/dist/projection.cjs +1 -1
  68. package/dist/projection.js +1 -1
  69. package/dist/query.cjs +2 -2
  70. package/dist/query.js +2 -2
  71. package/dist/{refResolveFns-BkciKtNP.js → refResolveFns-0B1rrAx8.js} +6 -6
  72. package/dist/{refResolveFns-D99Vqe7a.cjs → refResolveFns-DAP4mI9C.cjs} +6 -6
  73. package/dist/result.cjs +1 -1
  74. package/dist/result.js +1 -1
  75. package/dist/{shapeFns-B54CsPyk.cjs → shapeFns-Bebgp5OO.cjs} +3 -3
  76. package/dist/{shapeFns-DB3l3ULC.js → shapeFns-ioHfSlPu.js} +3 -3
  77. package/dist/shapeRef.cjs +1 -1
  78. package/dist/shapeRef.js +1 -1
  79. package/dist/{shapeTypes-CgbUTASh.js → shapeTypes-Cj2qNze9.js} +1 -1
  80. package/dist/{shapeTypes-D_anqiRe.cjs → shapeTypes-ExC90tMw.cjs} +1 -1
  81. package/dist/sketching.cjs +3 -3
  82. package/dist/sketching.js +3 -3
  83. package/dist/{solidBuilders-DE_na4G3.js → solidBuilders-Ci8YWRBI.js} +7 -7
  84. package/dist/{solidBuilders-CUd-korS.cjs → solidBuilders-kq8rSMtF.cjs} +7 -7
  85. package/dist/{surfaceBuilders-wdGNiImD.js → surfaceBuilders-ANbHa5lb.js} +4 -4
  86. package/dist/{surfaceBuilders-DOn2jWkh.cjs → surfaceBuilders-BNU35xbA.cjs} +4 -4
  87. package/dist/text.cjs +2 -2
  88. package/dist/text.js +2 -2
  89. package/dist/{textBlueprints-B_jwMuej.js → textBlueprints-8cjvJO_y.js} +9 -9
  90. package/dist/{textBlueprints-BQ60Rc96.cjs → textBlueprints-v-gM2QiP.cjs} +9 -9
  91. package/dist/{textMetrics-Dj3yfZNQ.js → textMetrics-BXB9uWYC.js} +2 -2
  92. package/dist/{textMetrics-Bm0a4kh7.cjs → textMetrics-DwwRGGEU.cjs} +2 -2
  93. package/dist/{threadFns-BuRPVenB.cjs → threadFns-C9MTJubY.cjs} +8 -8
  94. package/dist/{threadFns-DlL5VnMf.js → threadFns-D6rqmZ3W.js} +8 -8
  95. package/dist/topology/api.d.ts +2 -0
  96. package/dist/topology/modifierFns.d.ts +14 -0
  97. package/dist/topology/wrapperFns.d.ts +1 -0
  98. package/dist/topology.cjs +9 -9
  99. package/dist/topology.js +9 -9
  100. package/dist/{topologyQueryFns-6M_dbT1R.js → topologyQueryFns-C552gkmo.js} +2 -2
  101. package/dist/{topologyQueryFns-ENxs8uu2.cjs → topologyQueryFns-DYbxJ2Hy.cjs} +2 -2
  102. package/dist/{validityTypes-BPamqRZ8.cjs → validityTypes-BDbTFKtx.cjs} +2 -2
  103. package/dist/{validityTypes-BTuI0vcR.js → validityTypes-C5Zt145z.js} +2 -2
  104. package/dist/vectors.cjs +1 -1
  105. package/dist/vectors.js +1 -1
  106. package/package.json +2 -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-D_anqiRe.cjs");
3
- const require_errors = require("./errors-GVyCnpi0.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-ENxs8uu2.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-CSDqr27-.cjs");
6
- const require_blueprint = require("./blueprint-wq2TU1XP.cjs");
7
- const require_boolean2D = require("./boolean2D-BkgOjMRt.cjs");
8
- const require_blueprintFns = require("./blueprintFns-Dd0gm1rX.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-ExC90tMw.cjs");
3
+ const require_errors = require("./errors-B9r_Dzs1.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-DYbxJ2Hy.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-DDA1AcP5.cjs");
6
+ const require_blueprint = require("./blueprint-BwUhy-0u.cjs");
7
+ const require_boolean2D = require("./boolean2D-CVkehTYy.cjs");
8
+ const require_blueprintFns = require("./blueprintFns-DCWiQOnn.cjs");
9
9
  // 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 { F as createKernelHandle, J as getKernel2D, c as createEdge } from "./shapeTypes-CgbUTASh.js";
2
- import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-vxP5FT8B.js";
3
- import { E as kernelCallRaw } from "./topologyQueryFns-6M_dbT1R.js";
4
- import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-DNp87aQZ.js";
5
- import { t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-Bth4EVaO.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-BAb4SnIL.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-DQmNe1p6.js";
1
+ import { F as createKernelHandle, J as getKernel2D, c as createEdge } from "./shapeTypes-Cj2qNze9.js";
2
+ import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-CUsZRWJ7.js";
3
+ import { E as kernelCallRaw } from "./topologyQueryFns-C552gkmo.js";
4
+ import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-ZHeS6RGQ.js";
5
+ import { t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-T5IMurrv.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-CCYpepZs.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-CZ_RJTYB.js";
8
8
  // src/core/curve2dHandle.ts
9
9
  /**
10
10
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-D_anqiRe.cjs");
2
- const require_occtWasmAdapter = require("./occtWasmAdapter-BSQeA69d.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-ENxs8uu2.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-ExC90tMw.cjs");
2
+ const require_occtWasmAdapter = require("./occtWasmAdapter-CsDULjij.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DYbxJ2Hy.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  // src/topology/adjacencyFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { E as GeometryCleanupError, K as getActiveKernelId, q as getKernel, r as castResultShapeWithKnownType, t as borrowShapeWithKnownType } from "./shapeTypes-CgbUTASh.js";
2
- import { O as isUnsupportedKernelOperationError } from "./occtWasmAdapter-PzZJHUAd.js";
3
- import { c as getFaces, f as getVertices, l as getOrCreateCache, s as getEdges } from "./topologyQueryFns-6M_dbT1R.js";
1
+ import { E as GeometryCleanupError, K as getActiveKernelId, q as getKernel, r as castResultShapeWithKnownType, t as borrowShapeWithKnownType } from "./shapeTypes-Cj2qNze9.js";
2
+ import { k as isUnsupportedKernelOperationError } from "./occtWasmAdapter-ClvPe3OJ.js";
3
+ import { c as getFaces, f as getVertices, l as getOrCreateCache, s as getEdges } from "./topologyQueryFns-C552gkmo.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
5
5
  // src/topology/adjacencyFns.ts
6
6
  /**
@@ -1,14 +1,14 @@
1
- const require_shapeTypes = require("./shapeTypes-D_anqiRe.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-ExC90tMw.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
- const require_errors = require("./errors-GVyCnpi0.cjs");
3
+ const require_errors = require("./errors-B9r_Dzs1.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  const require_types = require("./types-CjF9Rofr.cjs");
6
- const require_planeOps = require("./planeOps-C9d2Y56B.cjs");
7
- const require_faceFns = require("./faceFns-DSRREV5G.cjs");
8
- const require_curveFns = require("./curveFns-U7srQ3ZA.cjs");
6
+ const require_planeOps = require("./planeOps-C7sRqzno.cjs");
7
+ const require_faceFns = require("./faceFns-FpT-Ap5E.cjs");
8
+ const require_curveFns = require("./curveFns-MO2zNRPy.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
10
- const require_surfaceBuilders = require("./surfaceBuilders-DOn2jWkh.cjs");
11
- const require_helpers = require("./helpers-JuPoaP_b.cjs");
10
+ const require_surfaceBuilders = require("./surfaceBuilders-BNU35xbA.cjs");
11
+ const require_helpers = require("./helpers-Dzq_vAO5.cjs");
12
12
  // 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 { B as unregisterFromCleanup, J as getKernel2D, R as registerForCleanup, c as createEdge, p as createWire, q as getKernel } from "./shapeTypes-CgbUTASh.js";
1
+ import { B as unregisterFromCleanup, J as getKernel2D, R as registerForCleanup, c as createEdge, p as createWire, q as getKernel } from "./shapeTypes-Cj2qNze9.js";
2
2
  import { i as wasmIndex, n as bug } from "./bug-ClMTAJhe.js";
3
- import { E as ok, P as unwrap, d as validationError, g as err, n as computationError } from "./errors-vxP5FT8B.js";
3
+ import { E as ok, P as unwrap, d as validationError, g as err, n as computationError } from "./errors-CUsZRWJ7.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-iraOnb2p.js";
5
5
  import { r as toVec3 } from "./types-CKXsIm9-.js";
6
- import { r as makePlane } from "./planeOps-Dp0YvuFE.js";
7
- import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-BBk6XKJO.js";
8
- import { p as getOrientation } from "./curveFns-CkA2WJP2.js";
6
+ import { r as makePlane } from "./planeOps-DgG0vHN7.js";
7
+ import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-pZvWlzpX.js";
8
+ import { p as getOrientation } from "./curveFns-BEHgd_lK.js";
9
9
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
10
- import { r as makeFace } from "./surfaceBuilders-wdGNiImD.js";
11
- import { l as add2d, m as normalize2d$1, p as distance2d, t as getSingleFace, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-sDialr0f.js";
10
+ import { r as makeFace } from "./surfaceBuilders-ANbHa5lb.js";
11
+ import { l as add2d, m as normalize2d$1, p as distance2d, t as getSingleFace, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-B4k3UskG.js";
12
12
  // 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
- import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-vxP5FT8B.js";
2
- import { i as CompoundBlueprint } from "./blueprintSketcher-DNp87aQZ.js";
3
- import { t as Blueprint } from "./blueprint-Bth4EVaO.js";
1
+ import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-CUsZRWJ7.js";
2
+ import { i as CompoundBlueprint } from "./blueprintSketcher-ZHeS6RGQ.js";
3
+ import { t as Blueprint } from "./blueprint-T5IMurrv.js";
4
4
  // src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -1,6 +1,6 @@
1
- const require_errors = require("./errors-GVyCnpi0.cjs");
2
- const require_blueprintSketcher = require("./blueprintSketcher-CSDqr27-.cjs");
3
- const require_blueprint = require("./blueprint-wq2TU1XP.cjs");
1
+ const require_errors = require("./errors-B9r_Dzs1.cjs");
2
+ const require_blueprintSketcher = require("./blueprintSketcher-DDA1AcP5.cjs");
3
+ const require_blueprint = require("./blueprint-BwUhy-0u.cjs");
4
4
  // 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-D_anqiRe.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-ExC90tMw.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
- const require_errors = require("./errors-GVyCnpi0.cjs");
3
+ const require_errors = require("./errors-B9r_Dzs1.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
6
- const require_helpers = require("./helpers-JuPoaP_b.cjs");
7
- const require_blueprint = require("./blueprint-wq2TU1XP.cjs");
6
+ const require_helpers = require("./helpers-Dzq_vAO5.cjs");
7
+ const require_blueprint = require("./blueprint-BwUhy-0u.cjs");
8
8
  // node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -1,10 +1,10 @@
1
- import { J as getKernel2D, q as getKernel } from "./shapeTypes-CgbUTASh.js";
1
+ import { J as getKernel2D, q as getKernel } from "./shapeTypes-Cj2qNze9.js";
2
2
  import { i as wasmIndex, n as bug } from "./bug-ClMTAJhe.js";
3
- import { E as ok, P as unwrap, g as err, n as computationError, s as safeIndex, x as isOk } from "./errors-vxP5FT8B.js";
3
+ import { E as ok, P as unwrap, g as err, n as computationError, s as safeIndex, x as isOk } from "./errors-CUsZRWJ7.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-iraOnb2p.js";
5
5
  import { t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
6
- import { _ as rotate2d, d as cartesianToPolar, f as crossProduct2d, g as polarToCartesian, h as polarAngle2d, l as add2d, p as distance2d, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-sDialr0f.js";
7
- import { C as isPoint2D, b as normalize2d, c as make2dBezierCurve, d as make2dEllipseArc, g as approximateAsBSpline, h as make2dThreePointArc, l as make2dCircle, m as make2dTangentArc, n as asSVG, p as make2dSegmentCurve, r as viewbox, s as make2dArcFromCenter, t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-Bth4EVaO.js";
6
+ import { _ as rotate2d, d as cartesianToPolar, f as crossProduct2d, g as polarToCartesian, h as polarAngle2d, l as add2d, p as distance2d, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-B4k3UskG.js";
7
+ import { C as isPoint2D, b as normalize2d, c as make2dBezierCurve, d as make2dEllipseArc, g as approximateAsBSpline, h as make2dThreePointArc, l as make2dCircle, m as make2dTangentArc, n as asSVG, p as make2dSegmentCurve, r as viewbox, s as make2dArcFromCenter, t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-T5IMurrv.js";
8
8
  // node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -1,10 +1,10 @@
1
1
  import { i as wasmIndex, n as bug } from "./bug-ClMTAJhe.js";
2
- import { P as unwrap, s as safeIndex } from "./errors-vxP5FT8B.js";
2
+ import { P as unwrap, s as safeIndex } from "./errors-CUsZRWJ7.js";
3
3
  import { r as lastOrThrow } from "./arrayAccess-BpgouNir.js";
4
- import { v as zip } from "./surfaceBuilders-wdGNiImD.js";
5
- import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-DNp87aQZ.js";
6
- import { f as crossProduct2d, o as PRECISION_INTERSECTION, v as samePoint$1, x as subtract2d } from "./helpers-sDialr0f.js";
7
- import { S as removeDuplicatePoints, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-Bth4EVaO.js";
4
+ import { v as zip } from "./surfaceBuilders-ANbHa5lb.js";
5
+ import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-ZHeS6RGQ.js";
6
+ import { f as crossProduct2d, o as PRECISION_INTERSECTION, v as samePoint$1, x as subtract2d } from "./helpers-B4k3UskG.js";
7
+ import { S as removeDuplicatePoints, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-T5IMurrv.js";
8
8
  // 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_bug = require("./bug-CBcpIPuf.cjs");
2
- const require_errors = require("./errors-GVyCnpi0.cjs");
2
+ const require_errors = require("./errors-B9r_Dzs1.cjs");
3
3
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
4
- const require_surfaceBuilders = require("./surfaceBuilders-DOn2jWkh.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-CSDqr27-.cjs");
6
- const require_helpers = require("./helpers-JuPoaP_b.cjs");
7
- const require_blueprint = require("./blueprint-wq2TU1XP.cjs");
4
+ const require_surfaceBuilders = require("./surfaceBuilders-BNU35xbA.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-DDA1AcP5.cjs");
6
+ const require_helpers = require("./helpers-Dzq_vAO5.cjs");
7
+ const require_blueprint = require("./blueprint-BwUhy-0u.cjs");
8
8
  // 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,42 +1,42 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("./rolldown-runtime-BW-eSwOZ.cjs");
3
- const require_shapeTypes = require("./shapeTypes-D_anqiRe.cjs");
4
- const require_occtWasmAdapter = require("./occtWasmAdapter-BSQeA69d.cjs");
3
+ const require_shapeTypes = require("./shapeTypes-ExC90tMw.cjs");
4
+ const require_occtWasmAdapter = require("./occtWasmAdapter-CsDULjij.cjs");
5
5
  const require_bug = require("./bug-CBcpIPuf.cjs");
6
- const require_errors = require("./errors-GVyCnpi0.cjs");
7
- const require_topologyQueryFns = require("./topologyQueryFns-ENxs8uu2.cjs");
8
- const require_validityTypes = require("./validityTypes-BPamqRZ8.cjs");
6
+ const require_errors = require("./errors-B9r_Dzs1.cjs");
7
+ const require_topologyQueryFns = require("./topologyQueryFns-DYbxJ2Hy.cjs");
8
+ const require_validityTypes = require("./validityTypes-BDbTFKtx.cjs");
9
9
  const require_constants = require("./constants-oee0S_x6.cjs");
10
10
  const require_types = require("./types-CjF9Rofr.cjs");
11
11
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
12
- const require_planeOps = require("./planeOps-C9d2Y56B.cjs");
13
- const require_faceFns = require("./faceFns-DSRREV5G.cjs");
14
- const require_originTrackingFns = require("./originTrackingFns-DJDTRJh3.cjs");
15
- const require_solidBuilders = require("./solidBuilders-CUd-korS.cjs");
16
- const require_primitiveFns = require("./primitiveFns-EtHyTqhw.cjs");
17
- const require_shapeFns = require("./shapeFns-B54CsPyk.cjs");
18
- const require_curveFns = require("./curveFns-U7srQ3ZA.cjs");
19
- const require_meshFns = require("./meshFns-W7ZTKqiJ.cjs");
12
+ const require_planeOps = require("./planeOps-C7sRqzno.cjs");
13
+ const require_faceFns = require("./faceFns-FpT-Ap5E.cjs");
14
+ const require_originTrackingFns = require("./originTrackingFns-BisDJwJu.cjs");
15
+ const require_solidBuilders = require("./solidBuilders-kq8rSMtF.cjs");
16
+ const require_primitiveFns = require("./primitiveFns-Cw9q1eOL.cjs");
17
+ const require_shapeFns = require("./shapeFns-Bebgp5OO.cjs");
18
+ const require_curveFns = require("./curveFns-MO2zNRPy.cjs");
19
+ const require_meshFns = require("./meshFns-p-lwZsSo.cjs");
20
20
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
21
- const require_surfaceBuilders = require("./surfaceBuilders-DOn2jWkh.cjs");
22
- const require_healingFns = require("./healingFns-C9G3yjOe.cjs");
23
- const require_threadFns = require("./threadFns-BuRPVenB.cjs");
24
- const require_blueprintSketcher = require("./blueprintSketcher-CSDqr27-.cjs");
25
- const require_helpers = require("./helpers-JuPoaP_b.cjs");
26
- const require_blueprint = require("./blueprint-wq2TU1XP.cjs");
27
- const require_drawFns = require("./drawFns-DlCxozRP.cjs");
28
- const require_measureFns = require("./measureFns-BvNkzSR6.cjs");
29
- const require_cornerFinder = require("./cornerFinder-DJWo6h1Z.cjs");
30
- const require_boolean2D = require("./boolean2D-BkgOjMRt.cjs");
31
- const require_blueprintFns = require("./blueprintFns-Dd0gm1rX.cjs");
32
- const require_importFns = require("./importFns-ClqPJCFR.cjs");
33
- const require_textBlueprints = require("./textBlueprints-BQ60Rc96.cjs");
34
- const require_loftFns = require("./loftFns-mkJeOaII.cjs");
35
- const require_refResolveFns = require("./refResolveFns-D99Vqe7a.cjs");
36
- const require_adjacencyFns = require("./adjacencyFns-_RTYhwtD.cjs");
37
- const require_cameraFns = require("./cameraFns-CKUN90f_.cjs");
38
- const require_textMetrics = require("./textMetrics-Bm0a4kh7.cjs");
39
- const require_principalBoxFns = require("./principalBoxFns-CmZa7qHi.cjs");
21
+ const require_surfaceBuilders = require("./surfaceBuilders-BNU35xbA.cjs");
22
+ const require_healingFns = require("./healingFns-x0-D6Rh1.cjs");
23
+ const require_threadFns = require("./threadFns-C9MTJubY.cjs");
24
+ const require_blueprintSketcher = require("./blueprintSketcher-DDA1AcP5.cjs");
25
+ const require_helpers = require("./helpers-Dzq_vAO5.cjs");
26
+ const require_blueprint = require("./blueprint-BwUhy-0u.cjs");
27
+ const require_drawFns = require("./drawFns-BqQWEJAY.cjs");
28
+ const require_measureFns = require("./measureFns-DugGNpl1.cjs");
29
+ const require_cornerFinder = require("./cornerFinder-B6d-A7bA.cjs");
30
+ const require_boolean2D = require("./boolean2D-CVkehTYy.cjs");
31
+ const require_blueprintFns = require("./blueprintFns-DCWiQOnn.cjs");
32
+ const require_importFns = require("./importFns-CeHEdOsm.cjs");
33
+ const require_textBlueprints = require("./textBlueprints-v-gM2QiP.cjs");
34
+ const require_loftFns = require("./loftFns-BAdVToS1.cjs");
35
+ const require_refResolveFns = require("./refResolveFns-DAP4mI9C.cjs");
36
+ const require_adjacencyFns = require("./adjacencyFns-DaKzrm6n.cjs");
37
+ const require_cameraFns = require("./cameraFns-C4vnJuVn.cjs");
38
+ const require_textMetrics = require("./textMetrics-DwwRGGEU.cjs");
39
+ const require_principalBoxFns = require("./principalBoxFns-TMr0eTjD.cjs");
40
40
  const require_workerPool = require("./workerPool-D5tiNXrI.cjs");
41
41
  // src/kernel/types.ts
42
42
  /** Check if the kernel supports hidden-line-removal projection. */
@@ -2942,73 +2942,31 @@ function ellipseEdge(from, seg, ctx) {
2942
2942
  const p = ellipseArcParams(from, to.value, radii.value, phi, seg.largeArc, seg.clockwise);
2943
2943
  if (!p.ok) return p;
2944
2944
  const { center, theta1, theta2, rx, ry } = p.value;
2945
- let arc;
2946
- let psi;
2947
- if (rx >= ry) {
2948
- arc = require_surfaceBuilders.makeEllipseArc(rx, ry, theta1, theta2, v3(center), [
2949
- 0,
2950
- 0,
2951
- 1
2952
- ]);
2953
- psi = phi;
2954
- } else {
2955
- arc = require_surfaceBuilders.makeEllipseArc(ry, rx, theta1 - Math.PI / 2, theta2 - Math.PI / 2, v3(center), [
2956
- 0,
2957
- 0,
2958
- 1
2959
- ]);
2960
- psi = phi + Math.PI / 2;
2961
- }
2945
+ const tall = ry > rx;
2946
+ const psi = tall ? phi + Math.PI / 2 : phi;
2947
+ const shift = tall ? -Math.PI / 2 : 0;
2948
+ const arc = require_surfaceBuilders.makeEllipseArc(Math.max(rx, ry), Math.min(rx, ry), theta1 + shift, theta2 + shift, v3(center), [
2949
+ 0,
2950
+ 0,
2951
+ 1
2952
+ ], [
2953
+ Math.cos(psi),
2954
+ Math.sin(psi),
2955
+ 0
2956
+ ]);
2962
2957
  if (!arc.ok) return arc;
2963
2958
  let edge = arc.value;
2964
- if (Math.abs(psi) > EPS$2) try {
2959
+ if (seg.clockwise) try {
2965
2960
  var _usingCtx$7 = require_shapeTypes._usingCtx();
2966
- const rotated = rotateEdgeAbout(_usingCtx$7.u(edge), psi * 180 / Math.PI, center);
2967
- if (!rotated.ok) return rotated;
2968
- edge = rotated.value;
2961
+ const tmp = _usingCtx$7.u(edge);
2962
+ edge = require_curveFns.flipOrientation(tmp);
2969
2963
  } catch (_) {
2970
2964
  _usingCtx$7.e = _;
2971
2965
  } finally {
2972
2966
  _usingCtx$7.d();
2973
2967
  }
2974
- if (seg.clockwise) try {
2975
- var _usingCtx3 = require_shapeTypes._usingCtx();
2976
- const tmp = _usingCtx3.u(edge);
2977
- edge = require_curveFns.flipOrientation(tmp);
2978
- } catch (_) {
2979
- _usingCtx3.e = _;
2980
- } finally {
2981
- _usingCtx3.d();
2982
- }
2983
2968
  return require_errors.ok(edge);
2984
2969
  }
2985
- /** Rotate an edge about the Z axis at `center` (degrees) via a cheap location
2986
- * re-tag; returns a fresh, independently-disposable handle. Kernels without
2987
- * an edge-relocation path (brepkit) surface as a Result error, not a throw. */
2988
- function rotateEdgeAbout(edge, angleDeg, center) {
2989
- const kernel = require_shapeTypes.getKernel();
2990
- const { handle, dispose } = kernel.composeTransform([{
2991
- type: "rotate",
2992
- angle: angleDeg,
2993
- axis: [
2994
- 0,
2995
- 0,
2996
- 1
2997
- ],
2998
- center: [
2999
- center[0],
3000
- center[1],
3001
- 0
3002
- ]
3003
- }]);
3004
- try {
3005
- return require_errors.ok(require_shapeTypes.castShape(kernel.locate(edge.wrapped, handle)));
3006
- } catch (e) {
3007
- return require_errors.err(require_errors.kernelError("CSG_PATH_ELLIPSE_ROTATE", "Path: kernel cannot relocate ellipse-arc edges", e, { operation: "evalPath" }));
3008
- } finally {
3009
- dispose();
3010
- }
3011
- }
3012
2970
  function segmentEnd(seg, ctx) {
3013
2971
  return evalVec2(seg.to, ctx.env, `Path.${seg.kind}.to`);
3014
2972
  }
@@ -3074,13 +3032,13 @@ function buildSegmentWire(start, segments, ctx, scope, autoClose, where) {
3074
3032
  }
3075
3033
  function evalPath(node, ctx) {
3076
3034
  try {
3077
- var _usingCtx4 = require_shapeTypes._usingCtx();
3078
- const scope = _usingCtx4.u(new require_shapeTypes.DisposalScope());
3035
+ var _usingCtx3 = require_shapeTypes._usingCtx();
3036
+ const scope = _usingCtx3.u(new require_shapeTypes.DisposalScope());
3079
3037
  return buildSegmentWire(node.start, node.segments, ctx, scope, false, "Path");
3080
3038
  } catch (_) {
3081
- _usingCtx4.e = _;
3039
+ _usingCtx3.e = _;
3082
3040
  } finally {
3083
- _usingCtx4.d();
3041
+ _usingCtx3.d();
3084
3042
  }
3085
3043
  }
3086
3044
  // src/csg/evaluators/sweep.ts
@@ -7535,6 +7493,11 @@ function shell(shape, faces, thickness, options) {
7535
7493
  const resolvedFaces = resolveFaces(faces, s);
7536
7494
  return require_healingFns.shell(s, resolvedFaces, thickness, options?.tolerance);
7537
7495
  }
7496
+ /** Remove faces (a hole, pocket, boss, or fillet) and close the gap with the faces around them. */
7497
+ function removeFaces(shape, faces) {
7498
+ const s = resolve(shape);
7499
+ return require_healingFns.removeFaces(s, resolveFaces(faces, s));
7500
+ }
7538
7501
  /** Offset all faces of a valid solid by a given distance. */
7539
7502
  function offset(shape, distance, options) {
7540
7503
  return require_healingFns.offset(resolve(shape), distance, options?.tolerance);
@@ -8032,6 +7995,7 @@ function create3DModifiers(val) {
8032
7995
  return wrap3D(trustAsT(unwrapOrThrow(chamfer(asValidSolid(val), args[0], args[1]))));
8033
7996
  },
8034
7997
  shell: (faces, thickness, opts) => wrap3D(trustAsT(unwrapOrThrow(shell(asValidSolid(val), faces, thickness, opts)))),
7998
+ removeFaces: (faces) => wrap3D(trustAsT(unwrapOrThrow(removeFaces(asValidSolid(val), faces)))),
8035
7999
  offset: (distance, opts) => wrap3D(trustAsT(unwrapOrThrow(offset(asValidSolid(val), distance, opts)))),
8036
8000
  draft: (faces, opts) => wrap3D(trustAsT(unwrapOrThrow(draft(asValidSolid(val), faces, opts))))
8037
8001
  };
@@ -8832,6 +8796,7 @@ var modifiers_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
8832
8796
  fillet: () => fillet,
8833
8797
  heal: () => heal,
8834
8798
  offset: () => offset,
8799
+ removeFaces: () => removeFaces,
8835
8800
  shell: () => shell,
8836
8801
  simplify: () => simplify,
8837
8802
  thicken: () => thicken,
@@ -9486,6 +9451,7 @@ exports.registerShape = require_threadFns.registerShape;
9486
9451
  exports.registerVoxel = registerVoxel;
9487
9452
  exports.rejectAll = require_workerPool.rejectAll;
9488
9453
  exports.removeChild = require_threadFns.removeChild;
9454
+ exports.removeFaces = removeFaces;
9489
9455
  exports.removeHolesFromFace = require_faceFns.removeHolesFromFace;
9490
9456
  exports.repairMesh = repairMesh;
9491
9457
  exports.replayFrom = require_threadFns.replayFrom;