brepjs 20.12.7 → 20.12.9

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 (99) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-hMihivxC.js → adjacencyFns-1Cmjb2ot.js} +3 -3
  4. package/dist/{adjacencyFns-mMmTBUBY.cjs → adjacencyFns-CfhGIMeR.cjs} +3 -3
  5. package/dist/{blueprint-BS50D3J_.js → blueprint-BVcuEefs.js} +5 -5
  6. package/dist/{blueprint-17RUHsoP.cjs → blueprint-DbJVzU9F.cjs} +5 -5
  7. package/dist/{blueprintFns-Dw5_4_Bk.cjs → blueprintFns-DePTHG1I.cjs} +2 -2
  8. package/dist/{blueprintFns-zy5lo2IF.js → blueprintFns-mD4pDyFP.js} +2 -2
  9. package/dist/{blueprintSketcher-BG--DxWB.cjs → blueprintSketcher-B5CFmhjg.cjs} +3 -3
  10. package/dist/{blueprintSketcher-C1WCI6E0.js → blueprintSketcher-BrGmq-65.js} +3 -3
  11. package/dist/{boolean2D-CsdyfjFE.js → boolean2D-BrHrY60M.js} +4 -4
  12. package/dist/{boolean2D-7SQ3B0pC.cjs → boolean2D-CFKg1FJ_.cjs} +4 -4
  13. package/dist/{solidBuilders-DdG4NPHM.cjs → booleanFns-C640CeaY.cjs} +11 -217
  14. package/dist/{solidBuilders-Bmr59cGp.js → booleanFns-CKDyqKz0.js} +10 -156
  15. package/dist/brepjs.cjs +325 -168
  16. package/dist/brepjs.js +282 -125
  17. package/dist/{cameraFns-BVWyAscu.js → cameraFns-DIbua1lC.js} +3 -3
  18. package/dist/{cameraFns-BAtzhCYM.cjs → cameraFns-hXUKJkLg.cjs} +3 -3
  19. package/dist/core.cjs +2 -2
  20. package/dist/core.js +2 -2
  21. package/dist/{cornerFinder-Dv_2rmaY.js → cornerFinder-BYDkloVc.js} +1 -1
  22. package/dist/{cornerFinder-e4Wc7_yp.cjs → cornerFinder-ByBGU0r7.cjs} +1 -1
  23. package/dist/{curveFns-BAM7QHrP.cjs → curveFns-Cqgtmhr0.cjs} +1 -1
  24. package/dist/{curveFns-CEI-rouh.js → curveFns-DphpaoQ4.js} +1 -1
  25. package/dist/{drawFns-Cl1i8B_B.js → drawFns-Ch3ah8K9.js} +12 -12
  26. package/dist/{drawFns-d-RvC6u6.cjs → drawFns-GwVZX47o.cjs} +12 -12
  27. package/dist/{faceFns-C-2ttg8X.cjs → faceFns-BDqVGEoB.cjs} +2 -2
  28. package/dist/{faceFns-Q87HCJrp.js → faceFns-D4cDeMRf.js} +2 -2
  29. package/dist/{healingFns-Cm4NkKD8.js → healingFns--vBKh5pa.js} +5 -5
  30. package/dist/{healingFns-DZkO5okn.cjs → healingFns-Fu7Xl8fu.cjs} +29 -29
  31. package/dist/{helpers-DpGcM2qZ.js → helpers-CroIo2SI.js} +6 -6
  32. package/dist/{helpers-BdGGaLhF.cjs → helpers-Wnq-YPWv.cjs} +6 -6
  33. package/dist/{importFns-Bp-p0jiP.js → importFns-D5Bt_44J.js} +314 -15
  34. package/dist/{importFns-DLiP26NW.cjs → importFns-tHr15Lhm.cjs} +319 -14
  35. package/dist/io/igesSupport.d.ts +6 -0
  36. package/dist/io/importFns.d.ts +15 -5
  37. package/dist/io/ioUtils.d.ts +15 -3
  38. package/dist/io/meshNesting.d.ts +11 -0
  39. package/dist/io/threemfImportFns.d.ts +6 -3
  40. package/dist/io.cjs +2 -2
  41. package/dist/io.js +2 -2
  42. package/dist/kernel/occtWasm/evolutionOps.d.ts +4 -3
  43. package/dist/kernel/occtWasm/helpers.d.ts +14 -3
  44. package/dist/kernel/occtWasm/ioOps.d.ts +13 -13
  45. package/dist/kernel/occtWasm/modifierOps.d.ts +5 -3
  46. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  47. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +1 -1
  48. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  49. package/dist/kernel/occtWasm/occtWasmTypes.d.ts +37 -2
  50. package/dist/{loftFns-DQ7Z29n3.js → loftFns-Bh_RuF7a.js} +1 -1
  51. package/dist/{loftFns-DGV1z2NJ.cjs → loftFns-T0GxcPlB.cjs} +1 -1
  52. package/dist/{measureFns-BrdCH4cH.js → measureFns-C3TZ5Fj9.js} +3 -3
  53. package/dist/{measureFns-BdSjw5fr.cjs → measureFns-DGm6ndQY.cjs} +3 -3
  54. package/dist/measurement.cjs +2 -2
  55. package/dist/measurement.js +2 -2
  56. package/dist/{meshFns-BeubBqEI.cjs → meshFns-DDgZ3vpr.cjs} +25 -5
  57. package/dist/{meshFns-UE8tByyw.js → meshFns-Go1XSyUh.js} +20 -6
  58. package/dist/{occtWasmAdapter-D3qerQTq.cjs → occtWasmAdapter-CZPZnpCe.cjs} +297 -85
  59. package/dist/{occtWasmAdapter-DA7oMgcQ.js → occtWasmAdapter-EM3EhKwk.js} +297 -85
  60. package/dist/operations.cjs +2 -2
  61. package/dist/operations.js +2 -2
  62. package/dist/{primitiveFns-3-gs-FUX.js → primitiveFns-CeRc4Sls.js} +5 -4
  63. package/dist/{primitiveFns-CLGVLwG8.cjs → primitiveFns-Dg_XWYtp.cjs} +19 -18
  64. package/dist/{principalBoxFns-CiXzjOkr.cjs → principalBoxFns-B5zdek3y.cjs} +3 -3
  65. package/dist/{principalBoxFns-RMZItjfR.js → principalBoxFns-BuK-ueAB.js} +3 -3
  66. package/dist/projection.cjs +1 -1
  67. package/dist/projection.js +1 -1
  68. package/dist/query.cjs +2 -2
  69. package/dist/query.js +2 -2
  70. package/dist/{refResolveFns-DNX0bCrP.cjs → refResolveFns-CFwsYCKA.cjs} +6 -6
  71. package/dist/{refResolveFns-kJg2iCad.js → refResolveFns-WRcvVhV-.js} +6 -6
  72. package/dist/{shapeFns-CZ6VF1yd.js → shapeFns-CYjU8PsF.js} +2 -2
  73. package/dist/{shapeFns-SgIrOjN4.cjs → shapeFns-DuxfaqTw.cjs} +2 -2
  74. package/dist/shapeRef.cjs +1 -1
  75. package/dist/shapeRef.js +1 -1
  76. package/dist/{shapeTypes-MUEH4XuH.cjs → shapeTypes--7XBFlOD.cjs} +1 -1
  77. package/dist/{shapeTypes-BNGu103j.js → shapeTypes-DvzbSivn.js} +1 -1
  78. package/dist/sketching.cjs +3 -3
  79. package/dist/sketching.js +3 -3
  80. package/dist/{originTrackingFns-c2qgRZ_9.js → solidBuilders-BqSVC4cB.js} +150 -3
  81. package/dist/{originTrackingFns-rEKOAP65.cjs → solidBuilders-D0bIZX9K.cjs} +209 -2
  82. package/dist/{surfaceBuilders-DI376ai0.js → surfaceBuilders--HOoTQad.js} +3 -3
  83. package/dist/{surfaceBuilders-DOmDVuMs.cjs → surfaceBuilders-CPQHyL_5.cjs} +3 -3
  84. package/dist/text.cjs +2 -2
  85. package/dist/text.js +2 -2
  86. package/dist/{textBlueprints-B7Vhr0xu.cjs → textBlueprints-B4HzJzZM.cjs} +9 -8
  87. package/dist/{textBlueprints-CE0oxB43.js → textBlueprints-plsbHqiI.js} +8 -7
  88. package/dist/{textMetrics-C6_kSht6.cjs → textMetrics-CBwUIDI7.cjs} +1 -1
  89. package/dist/{textMetrics-_VGqdewQ.js → textMetrics-IIS6DUTr.js} +1 -1
  90. package/dist/{threadFns-CHdY-4Cz.js → threadFns-CmZFykpi.js} +7 -7
  91. package/dist/{threadFns-1H60LrFX.cjs → threadFns-e8_26ZYw.cjs} +9 -9
  92. package/dist/topology/meshFns.d.ts +3 -0
  93. package/dist/topology.cjs +11 -11
  94. package/dist/topology.js +9 -9
  95. package/dist/{topologyQueryFns-CltEv7Pi.js → topologyQueryFns-BUzMuIs5.js} +1 -1
  96. package/dist/{topologyQueryFns-C_fXO6xL.cjs → topologyQueryFns-NszVx8a0.cjs} +1 -1
  97. package/dist/{validityTypes-GanLrmvY.js → validityTypes-CdY06B8c.js} +1 -1
  98. package/dist/{validityTypes-CGX2ES81.cjs → validityTypes-Ds4zNICF.cjs} +1 -1
  99. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, v as isEdge } from "./shapeTypes-BNGu103j.js";
1
+ import { T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, v as isEdge } from "./shapeTypes-DvzbSivn.js";
2
2
  import { E as ok, g as err, l as typeCastError } from "./errors-BTccWbtE.js";
3
3
  // src/topology/curveFns.ts
4
4
  /**
@@ -1,22 +1,22 @@
1
- import { G as _usingCtx, N as DisposalScope, c as createEdge, l as createFace, p as createWire, q as getKernel } from "./shapeTypes-BNGu103j.js";
1
+ import { G as _usingCtx, N as DisposalScope, c as createEdge, l as createFace, p as createWire, q as getKernel } from "./shapeTypes-DvzbSivn.js";
2
2
  import { i as wasmIndex, n as bug } from "./bug-ClMTAJhe.js";
3
3
  import { P as unwrap, s as safeIndex } from "./errors-BTccWbtE.js";
4
- import { s as getEdges } from "./topologyQueryFns-CltEv7Pi.js";
4
+ import { s as getEdges } from "./topologyQueryFns-BUzMuIs5.js";
5
5
  import { t as DEG2RAD } from "./constants-iraOnb2p.js";
6
6
  import { r as toVec3 } from "./types-CKXsIm9-.js";
7
7
  import { d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-S-m9H_fe.js";
8
8
  import { a as planeToWorld, o as resolvePlane } from "./planeOps-D3yDuMux.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-Q87HCJrp.js";
10
- import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-CEI-rouh.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-D4cDeMRf.js";
10
+ import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-DphpaoQ4.js";
11
11
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
12
- import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-DI376ai0.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-C1WCI6E0.js";
14
- import { b as squareDistance2d, l as add2d, s as PRECISION_OFFSET, v as samePoint$1, x as subtract2d } from "./helpers-DpGcM2qZ.js";
15
- import { _ as approximateAsSvgCompatibleCurve, a as edgeToCurve, f as make2dInerpolatedBSplineCurve, i as curvesAsEdgesOnPlane, l as make2dCircle, p as make2dSegmentCurve, s as make2dArcFromCenter, t as Blueprint, u as make2dEllipse, v as Curve2D, x as BoundingBox2d, y as deserializeCurve2D } from "./blueprint-BS50D3J_.js";
16
- import { t as cornerFinder } from "./cornerFinder-Dv_2rmaY.js";
17
- import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CsdyfjFE.js";
18
- import { _ as wrapSketchData, a as Sketches, o as Sketch, t as textBlueprints, v as wrapSketchDataArray } from "./textBlueprints-CE0oxB43.js";
19
- import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-BVWyAscu.js";
12
+ import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders--HOoTQad.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-BrGmq-65.js";
14
+ import { b as squareDistance2d, l as add2d, s as PRECISION_OFFSET, v as samePoint$1, x as subtract2d } from "./helpers-CroIo2SI.js";
15
+ import { _ as approximateAsSvgCompatibleCurve, a as edgeToCurve, f as make2dInerpolatedBSplineCurve, i as curvesAsEdgesOnPlane, l as make2dCircle, p as make2dSegmentCurve, s as make2dArcFromCenter, t as Blueprint, u as make2dEllipse, v as Curve2D, x as BoundingBox2d, y as deserializeCurve2D } from "./blueprint-BVcuEefs.js";
16
+ import { t as cornerFinder } from "./cornerFinder-BYDkloVc.js";
17
+ import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BrHrY60M.js";
18
+ import { _ as wrapSketchData, a as Sketches, o as Sketch, t as textBlueprints, v as wrapSketchDataArray } from "./textBlueprints-plsbHqiI.js";
19
+ import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-DIbua1lC.js";
20
20
  // src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -1,22 +1,22 @@
1
- const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
1
+ const require_shapeTypes = require("./shapeTypes--7XBFlOD.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-C_fXO6xL.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-NszVx8a0.cjs");
5
5
  const require_constants = require("./constants-oee0S_x6.cjs");
6
6
  const require_types = require("./types-CjF9Rofr.cjs");
7
7
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
8
8
  const require_planeOps = require("./planeOps-DZfLToKZ.cjs");
9
- const require_faceFns = require("./faceFns-C-2ttg8X.cjs");
10
- const require_curveFns = require("./curveFns-BAM7QHrP.cjs");
9
+ const require_faceFns = require("./faceFns-BDqVGEoB.cjs");
10
+ const require_curveFns = require("./curveFns-Cqgtmhr0.cjs");
11
11
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
12
- const require_surfaceBuilders = require("./surfaceBuilders-DOmDVuMs.cjs");
13
- const require_blueprintSketcher = require("./blueprintSketcher-BG--DxWB.cjs");
14
- const require_helpers = require("./helpers-BdGGaLhF.cjs");
15
- const require_blueprint = require("./blueprint-17RUHsoP.cjs");
16
- const require_cornerFinder = require("./cornerFinder-e4Wc7_yp.cjs");
17
- const require_boolean2D = require("./boolean2D-7SQ3B0pC.cjs");
18
- const require_textBlueprints = require("./textBlueprints-B7Vhr0xu.cjs");
19
- const require_cameraFns = require("./cameraFns-BAtzhCYM.cjs");
12
+ const require_surfaceBuilders = require("./surfaceBuilders-CPQHyL_5.cjs");
13
+ const require_blueprintSketcher = require("./blueprintSketcher-B5CFmhjg.cjs");
14
+ const require_helpers = require("./helpers-Wnq-YPWv.cjs");
15
+ const require_blueprint = require("./blueprint-DbJVzU9F.cjs");
16
+ const require_cornerFinder = require("./cornerFinder-ByBGU0r7.cjs");
17
+ const require_boolean2D = require("./boolean2D-CFKg1FJ_.cjs");
18
+ const require_textBlueprints = require("./textBlueprints-B4HzJzZM.cjs");
19
+ const require_cameraFns = require("./cameraFns-hXUKJkLg.cjs");
20
20
  // src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
1
+ const require_shapeTypes = require("./shapeTypes--7XBFlOD.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-C_fXO6xL.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-NszVx8a0.cjs");
4
4
  const require_types = require("./types-CjF9Rofr.cjs");
5
5
  // src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -1,6 +1,6 @@
1
- import { O as getOrQueryType, i as castShape, q as getKernel } from "./shapeTypes-BNGu103j.js";
1
+ import { O as getOrQueryType, i as castShape, q as getKernel } from "./shapeTypes-DvzbSivn.js";
2
2
  import { E as ok, P as unwrap, g as err, l as typeCastError } from "./errors-BTccWbtE.js";
3
- import { a as getCachedSurfaceType } from "./topologyQueryFns-CltEv7Pi.js";
3
+ import { a as getCachedSurfaceType } from "./topologyQueryFns-BUzMuIs5.js";
4
4
  import { r as toVec3 } from "./types-CKXsIm9-.js";
5
5
  // src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -1,10 +1,10 @@
1
- import { C as isSolid, D as getShapeKind, T as isWire, Y as getKernelCapabilities, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType, x as isShape3D, y as isFace } from "./shapeTypes-BNGu103j.js";
2
- import { j as isUnsupportedKernelOperationError, n as faultyEdgeIndexesOf } from "./occtWasmAdapter-DA7oMgcQ.js";
1
+ import { C as isSolid, D as getShapeKind, T as isWire, Y as getKernelCapabilities, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType, x as isShape3D, y as isFace } from "./shapeTypes-DvzbSivn.js";
2
+ import { j as isUnsupportedKernelOperationError, n as faultyEdgeIndexesOf } from "./occtWasmAdapter-EM3EhKwk.js";
3
3
  import { E as ok, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode, u as unsupportedError, x as isOk } from "./errors-BTccWbtE.js";
4
- import { C as subShapeHashes, O as getSuggestionForCode, c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-CltEv7Pi.js";
4
+ import { C as subShapeHashes, O as getSuggestionForCode, c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-BUzMuIs5.js";
5
5
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
6
- import { y as downcast } from "./faceFns-Q87HCJrp.js";
7
- import { C as propagateAllMetadata, f as cut, h as fuseAll, m as fuse, p as cutAll, w as propagateMetadataByHash, x as collectInputFaceHashes } from "./solidBuilders-Bmr59cGp.js";
6
+ import { y as downcast } from "./faceFns-D4cDeMRf.js";
7
+ import { a as fuseAll, d as collectInputFaceHashes, i as fuse, m as propagateMetadataByHash, n as cut, p as propagateAllMetadata, r as cutAll } from "./booleanFns-CKDyqKz0.js";
8
8
  import { t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
9
9
  // src/topology/threeHelpers.ts
10
10
  /**
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
2
- const require_occtWasmAdapter = require("./occtWasmAdapter-D3qerQTq.cjs");
1
+ const require_shapeTypes = require("./shapeTypes--7XBFlOD.cjs");
2
+ const require_occtWasmAdapter = require("./occtWasmAdapter-CZPZnpCe.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-C_fXO6xL.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-NszVx8a0.cjs");
5
5
  const require_constants = require("./constants-oee0S_x6.cjs");
6
- const require_faceFns = require("./faceFns-C-2ttg8X.cjs");
7
- const require_solidBuilders = require("./solidBuilders-DdG4NPHM.cjs");
6
+ const require_faceFns = require("./faceFns-BDqVGEoB.cjs");
7
+ const require_booleanFns = require("./booleanFns-C640CeaY.cjs");
8
8
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
9
9
  // src/topology/threeHelpers.ts
10
10
  /**
@@ -257,7 +257,7 @@ function finalizeShape3D(evolution, resultShape, inputs, not3dCode, not3dMessage
257
257
  require_shapeTypes.disposeResultShape(cast);
258
258
  return require_errors.err(require_errors.kernelError(not3dCode, not3dMessage));
259
259
  }
260
- require_solidBuilders.propagateAllMetadata(evolution, inputs, cast);
260
+ require_booleanFns.propagateAllMetadata(evolution, inputs, cast);
261
261
  return require_errors.ok(cast);
262
262
  }
263
263
  /**
@@ -298,10 +298,10 @@ function thicken(shape, thickness) {
298
298
  const check = validateNotNull$1(shape, "thicken: shape");
299
299
  if (require_errors.isErr(check)) return check;
300
300
  try {
301
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
301
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([shape]);
302
302
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().thickenWithHistory(shape.wrapped, thickness, inputFaceHashes, require_constants.HASH_CODE_MAX);
303
303
  const cast = require_shapeTypes.castResultShape(resultShape);
304
- require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
304
+ require_booleanFns.propagateAllMetadata(evolution, [shape], cast);
305
305
  return require_errors.ok(cast);
306
306
  } catch (e) {
307
307
  const raw = e instanceof Error ? e.message : String(e);
@@ -362,7 +362,7 @@ function fillet(shape, edges, radius, { trackEvolution = true } = {}) {
362
362
  }
363
363
  return require_errors.ok(cast);
364
364
  }
365
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
365
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([shape]);
366
366
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().filletWithHistory(shape.wrapped, edgeShapes, kernelRadius, inputFaceHashes, require_constants.HASH_CODE_MAX);
367
367
  return finalizeShape3D(evolution, resultShape, [shape], require_errors.BrepErrorCode.FILLET_NOT_3D, "Fillet result is not a 3D shape");
368
368
  } catch (e) {
@@ -417,7 +417,7 @@ function chamfer(shape, edges, distance) {
417
417
  filteredEdges = [...selectedEdges];
418
418
  kernelDistance = distance;
419
419
  }
420
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
420
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([shape]);
421
421
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().chamferWithHistory(shape.wrapped, filteredEdges.map((e) => e.wrapped), kernelDistance, inputFaceHashes, require_constants.HASH_CODE_MAX);
422
422
  return finalizeShape3D(evolution, resultShape, [shape], require_errors.BrepErrorCode.CHAMFER_NOT_3D, "Chamfer result is not a 3D shape");
423
423
  } catch (e) {
@@ -440,7 +440,7 @@ function acceptThickResult(input, cast, evolution, spec, propagateMetadata = tru
440
440
  require_shapeTypes.disposeResultShape(cast);
441
441
  return checked;
442
442
  }
443
- if (evolution && propagateMetadata) require_solidBuilders.propagateAllMetadata(evolution, [input], cast);
443
+ if (evolution && propagateMetadata) require_booleanFns.propagateAllMetadata(evolution, [input], cast);
444
444
  return require_errors.ok(cast);
445
445
  }
446
446
  /**
@@ -539,7 +539,7 @@ function draft(shape, faces, pullDirection, neutralPlane, angle) {
539
539
  try {
540
540
  const { filteredFaces, kernelAngle } = resolveDraftCallback(faces, angle);
541
541
  if (filteredFaces.length === 0) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.DRAFT_NO_FACES, "No faces with valid draft angle", void 0, void 0, "Check that the angle callback returns non-zero values between -90 and 90 degrees"));
542
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
542
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([shape]);
543
543
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().draftWithHistory(shape.wrapped, filteredFaces.map((f) => f.wrapped), [
544
544
  pullDirection[0],
545
545
  pullDirection[1],
@@ -704,7 +704,7 @@ function removeFaces(shape, faces) {
704
704
  keptFaceIndexes: kept
705
705
  }, "Remove the whole feature, or leave out the faces listed in metadata.keptFaceIndexes"));
706
706
  }
707
- require_solidBuilders.propagateMetadataByHash([shape], result);
707
+ require_booleanFns.propagateMetadataByHash([shape], result);
708
708
  return require_errors.ok(result);
709
709
  }
710
710
  // src/topology/chamferAngleFns.ts
@@ -778,10 +778,10 @@ function getNurbsSurfaceData(face) {
778
778
  }
779
779
  // src/topology/booleanBatchFns.ts
780
780
  var REAL_OPS = {
781
- cut: require_solidBuilders.cut,
782
- cutAll: require_solidBuilders.cutAll,
783
- fuse: require_solidBuilders.fuse,
784
- fuseAll: require_solidBuilders.fuseAll
781
+ cut: require_booleanFns.cut,
782
+ cutAll: require_booleanFns.cutAll,
783
+ fuse: require_booleanFns.fuse,
784
+ fuseAll: require_booleanFns.fuseAll
785
785
  };
786
786
  function freezeTelemetry(t) {
787
787
  return {
@@ -971,7 +971,7 @@ function fuseWithEvolution(a, b, { optimisation = "none", simplify = false, sign
971
971
  if (require_errors.isErr(checkA)) return checkA;
972
972
  const checkB = validateShape3D(b, "fuseWithEvolution: second operand");
973
973
  if (require_errors.isErr(checkB)) return checkB;
974
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([a, b]);
974
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([a, b]);
975
975
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().fuseWithHistory(a.wrapped, b.wrapped, inputFaceHashes, require_constants.HASH_CODE_MAX, {
976
976
  optimisation,
977
977
  simplify,
@@ -979,7 +979,7 @@ function fuseWithEvolution(a, b, { optimisation = "none", simplify = false, sign
979
979
  });
980
980
  const fuseResult = castToShape3D(resultShape, "FUSE_NOT_3D", "Fuse did not produce a 3D shape", "Common causes: overlapping coplanar faces, zero-thickness geometry, or non-manifold input. Try autoHeal() on inputs first.");
981
981
  if (fuseResult.ok) {
982
- require_solidBuilders.propagateAllMetadata(evolution, [a, b], fuseResult.value);
982
+ require_booleanFns.propagateAllMetadata(evolution, [a, b], fuseResult.value);
983
983
  return require_errors.ok({
984
984
  shape: fuseResult.value,
985
985
  evolution
@@ -993,7 +993,7 @@ function cutWithEvolution(base, tool, { optimisation = "none", simplify = false,
993
993
  if (require_errors.isErr(checkBase)) return checkBase;
994
994
  const checkTool = validateShape3D(tool, "cutWithEvolution: tool");
995
995
  if (require_errors.isErr(checkTool)) return checkTool;
996
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([base, tool]);
996
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([base, tool]);
997
997
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().cutWithHistory(base.wrapped, tool.wrapped, inputFaceHashes, require_constants.HASH_CODE_MAX, {
998
998
  optimisation,
999
999
  simplify,
@@ -1001,7 +1001,7 @@ function cutWithEvolution(base, tool, { optimisation = "none", simplify = false,
1001
1001
  });
1002
1002
  const cutResult = castToShape3D(resultShape, "CUT_NOT_3D", "Cut did not produce a 3D shape", "Common causes: tool does not fully intersect the base, or produces a zero-thickness sliver. Ensure the tool extends through the shape.");
1003
1003
  if (cutResult.ok) {
1004
- require_solidBuilders.propagateAllMetadata(evolution, [base, tool], cutResult.value);
1004
+ require_booleanFns.propagateAllMetadata(evolution, [base, tool], cutResult.value);
1005
1005
  return require_errors.ok({
1006
1006
  shape: cutResult.value,
1007
1007
  evolution
@@ -1015,14 +1015,14 @@ function intersectWithEvolution(a, b, { simplify = false, signal, fuzzyValue } =
1015
1015
  if (require_errors.isErr(checkA)) return checkA;
1016
1016
  const checkB = validateShape3D(b, "intersectWithEvolution: second operand");
1017
1017
  if (require_errors.isErr(checkB)) return checkB;
1018
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([a, b]);
1018
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([a, b]);
1019
1019
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().intersectWithHistory(a.wrapped, b.wrapped, inputFaceHashes, require_constants.HASH_CODE_MAX, {
1020
1020
  simplify,
1021
1021
  fuzzyValue
1022
1022
  });
1023
1023
  const intResult = castToShape3D(resultShape, "INTERSECT_NOT_3D", "Intersect did not produce a 3D shape", "Shapes may not overlap. Verify they share a common volume before intersecting.");
1024
1024
  if (intResult.ok) {
1025
- require_solidBuilders.propagateAllMetadata(evolution, [a, b], intResult.value);
1025
+ require_booleanFns.propagateAllMetadata(evolution, [a, b], intResult.value);
1026
1026
  return require_errors.ok({
1027
1027
  shape: intResult.value,
1028
1028
  evolution
@@ -1057,14 +1057,14 @@ function filletWithEvolution(shape, edges, radius) {
1057
1057
  filteredEdges = [...selectedEdges];
1058
1058
  kernelRadius = radius;
1059
1059
  }
1060
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
1060
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([shape]);
1061
1061
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().filletWithHistory(shape.wrapped, filteredEdges.map((e) => e.wrapped), kernelRadius, inputFaceHashes, require_constants.HASH_CODE_MAX);
1062
1062
  const cast = require_shapeTypes.castResultShape(resultShape);
1063
1063
  if (!require_shapeTypes.isShape3D(cast)) {
1064
1064
  require_shapeTypes.disposeResultShape(cast);
1065
1065
  return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.FILLET_NOT_3D, "Fillet result is not a 3D shape"));
1066
1066
  }
1067
- require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
1067
+ require_booleanFns.propagateAllMetadata(evolution, [shape], cast);
1068
1068
  return require_errors.ok({
1069
1069
  shape: cast,
1070
1070
  evolution
@@ -1105,14 +1105,14 @@ function chamferWithEvolution(shape, edges, distance) {
1105
1105
  filteredEdges = [...selectedEdges];
1106
1106
  kernelDistance = distance;
1107
1107
  }
1108
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
1108
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([shape]);
1109
1109
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().chamferWithHistory(shape.wrapped, filteredEdges.map((e) => e.wrapped), kernelDistance, inputFaceHashes, require_constants.HASH_CODE_MAX);
1110
1110
  const cast = require_shapeTypes.castResultShape(resultShape);
1111
1111
  if (!require_shapeTypes.isShape3D(cast)) {
1112
1112
  require_shapeTypes.disposeResultShape(cast);
1113
1113
  return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.CHAMFER_NOT_3D, "Chamfer result is not a 3D shape"));
1114
1114
  }
1115
- require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
1115
+ require_booleanFns.propagateAllMetadata(evolution, [shape], cast);
1116
1116
  return require_errors.ok({
1117
1117
  shape: cast,
1118
1118
  evolution
@@ -1141,14 +1141,14 @@ function shellWithEvolution(shape, faces, thickness, tolerance = .001) {
1141
1141
  if (thickness <= 0) return require_errors.err(require_errors.validationError("INVALID_THICKNESS", "Shell thickness must be positive"));
1142
1142
  if (faces.length === 0) return require_errors.err(require_errors.validationError("NO_FACES", "At least one face must be specified for shell"));
1143
1143
  try {
1144
- const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
1144
+ const inputFaceHashes = require_booleanFns.collectInputFaceHashes([shape]);
1145
1145
  const { shape: resultShape, evolution } = require_shapeTypes.getKernel().shellWithHistory(shape.wrapped, faces.map((f) => f.wrapped), thickness, inputFaceHashes, require_constants.HASH_CODE_MAX, tolerance);
1146
1146
  const cast = require_shapeTypes.castResultShape(resultShape);
1147
1147
  if (!require_shapeTypes.isShape3D(cast)) {
1148
1148
  require_shapeTypes.disposeResultShape(cast);
1149
1149
  return require_errors.err(require_errors.kernelError("SHELL_RESULT_NOT_3D", "Shell result is not a 3D shape"));
1150
1150
  }
1151
- require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
1151
+ require_booleanFns.propagateAllMetadata(evolution, [shape], cast);
1152
1152
  return require_errors.ok({
1153
1153
  shape: cast,
1154
1154
  evolution
@@ -1,12 +1,12 @@
1
- import { q as getKernel, y as isFace } from "./shapeTypes-BNGu103j.js";
1
+ import { q as getKernel, y as isFace } from "./shapeTypes-DvzbSivn.js";
2
2
  import { E as ok, g as err, o as queryError, x as isOk } from "./errors-BTccWbtE.js";
3
- import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-CltEv7Pi.js";
3
+ import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-BUzMuIs5.js";
4
4
  import { t as DEG2RAD } from "./constants-iraOnb2p.js";
5
5
  import { a as vecDot, d as vecNormalize } from "./vecOps-S-m9H_fe.js";
6
- import { l as normalAt, s as getSurfaceType } from "./faceFns-Q87HCJrp.js";
7
- import { a as isSameShape, n as getHashCode } from "./shapeFns-CZ6VF1yd.js";
8
- import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-CEI-rouh.js";
9
- import { n as measureArea } from "./measureFns-BrdCH4cH.js";
6
+ import { l as normalAt, s as getSurfaceType } from "./faceFns-D4cDeMRf.js";
7
+ import { a as isSameShape, n as getHashCode } from "./shapeFns-CYjU8PsF.js";
8
+ import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-DphpaoQ4.js";
9
+ import { n as measureArea } from "./measureFns-C3TZ5Fj9.js";
10
10
  // src/utils/vec2d.ts
11
11
  /** Precision for curve intersection and parameter operations. */
12
12
  var PRECISION_INTERSECTION = 1e-9;
@@ -1,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
1
+ const require_shapeTypes = require("./shapeTypes--7XBFlOD.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-C_fXO6xL.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-NszVx8a0.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
6
- const require_faceFns = require("./faceFns-C-2ttg8X.cjs");
7
- const require_shapeFns = require("./shapeFns-SgIrOjN4.cjs");
8
- const require_curveFns = require("./curveFns-BAM7QHrP.cjs");
9
- const require_measureFns = require("./measureFns-BdSjw5fr.cjs");
6
+ const require_faceFns = require("./faceFns-BDqVGEoB.cjs");
7
+ const require_shapeFns = require("./shapeFns-DuxfaqTw.cjs");
8
+ const require_curveFns = require("./curveFns-Cqgtmhr0.cjs");
9
+ const require_measureFns = require("./measureFns-DGm6ndQY.cjs");
10
10
  // src/utils/vec2d.ts
11
11
  /** Precision for curve intersection and parameter operations. */
12
12
  var PRECISION_INTERSECTION = 1e-9;