brepjs 18.84.0 → 18.85.0

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 (91) hide show
  1. package/README.md +13 -3
  2. package/dist/2d/lib/definitions.d.ts +4 -1
  3. package/dist/2d.cjs +6 -6
  4. package/dist/2d.js +6 -6
  5. package/dist/{blueprint-krPp-yxy.js → blueprint-BL2TdtBX.js} +5 -5
  6. package/dist/{blueprint-TE6QbbrL.cjs → blueprint-KrNFTiyX.cjs} +5 -5
  7. package/dist/{blueprintFns-Cnx8Pwsc.js → blueprintFns-DCA97w4C.js} +2 -2
  8. package/dist/{blueprintFns-BHzvNR9P.cjs → blueprintFns-Dp0_BOuL.cjs} +2 -2
  9. package/dist/{blueprintSketcher-BgQ4HUQS.cjs → blueprintSketcher-ChpPo7tq.cjs} +3 -3
  10. package/dist/{blueprintSketcher-BgJ92ofq.js → blueprintSketcher-CxFmYBvh.js} +3 -3
  11. package/dist/{boolean2D-C5RQKxsG.js → boolean2D-CIohnI9l.js} +4 -4
  12. package/dist/{boolean2D-Bm57seK7.cjs → boolean2D-RC6jXv4x.cjs} +4 -4
  13. package/dist/brepjs.cjs +40 -26
  14. package/dist/brepjs.js +45 -31
  15. package/dist/{cameraFns-Dr6husIP.js → cameraFns-BA7CVtWJ.js} +2 -2
  16. package/dist/{cameraFns-CyH0eFkv.cjs → cameraFns-IL7qYFaG.cjs} +2 -2
  17. package/dist/core/kernelBoundary.d.ts +12 -3
  18. package/dist/core/planeOps.d.ts +4 -1
  19. package/dist/core/shapeTypeCache.d.ts +8 -2
  20. package/dist/core/typeDiscriminants.d.ts +1 -0
  21. package/dist/core.cjs +1 -1
  22. package/dist/core.js +1 -1
  23. package/dist/{cornerFinder-CEbdh48G.js → cornerFinder-7M1wdtcY.js} +1 -1
  24. package/dist/{cornerFinder-DXhDNSVO.cjs → cornerFinder-DKyR_u8g.cjs} +1 -1
  25. package/dist/{curveFns-ZfGUUd8h.cjs → curveFns-D3k8aHIE.cjs} +1 -1
  26. package/dist/{curveFns-BMvOjgAe.js → curveFns-DT1yMgBI.js} +1 -1
  27. package/dist/{drawFns-NN_2dIb7.js → drawFns-C63kOWvC.js} +12 -12
  28. package/dist/{drawFns-DwxukBbB.cjs → drawFns-C766Umy1.cjs} +12 -12
  29. package/dist/{faceFns-CfCwtCKM.js → faceFns-CmhEEB-L.js} +2 -2
  30. package/dist/{faceFns-CEhhzLpI.cjs → faceFns-DSdVqqVP.cjs} +2 -2
  31. package/dist/{healingFns-4FJFU89Q.cjs → healingFns-B1axWCr3.cjs} +5 -5
  32. package/dist/{healingFns-Db0sWtJD.js → healingFns-Cxi24K_n.js} +5 -5
  33. package/dist/{helpers-BMg3VK6f.js → helpers-CKjmUSf0.js} +6 -6
  34. package/dist/{helpers-BsPWHGEz.cjs → helpers-Cvrmxw4s.cjs} +6 -6
  35. package/dist/{importFns-DAxR2wFw.js → importFns-CDaNqu4H.js} +2 -2
  36. package/dist/{importFns-YD2jjXSP.cjs → importFns-D09lb1dB.cjs} +2 -2
  37. package/dist/index.d.ts +2 -2
  38. package/dist/io.cjs +2 -2
  39. package/dist/io.js +2 -2
  40. package/dist/kernel/brepkit/kernel2dOps.d.ts +1 -1
  41. package/dist/{loftFns-D4xbMwPh.cjs → loftFns-C664R57e.cjs} +1 -1
  42. package/dist/{loftFns-BLwuVjwA.js → loftFns-C8Ep9McS.js} +1 -1
  43. package/dist/{measureFns-Bsu3HKAh.cjs → measureFns-BtPAmRfH.cjs} +3 -3
  44. package/dist/{measureFns-DcU_ZNtw.js → measureFns-D0e8tGSP.js} +3 -3
  45. package/dist/measurement/measureCache.d.ts +1 -0
  46. package/dist/measurement.cjs +1 -1
  47. package/dist/measurement.js +1 -1
  48. package/dist/{meshFns-C_r1wsG-.cjs → meshFns-7IXB_Bua.cjs} +3 -3
  49. package/dist/{meshFns-4yXoFw_7.js → meshFns-CtchqgDR.js} +3 -3
  50. package/dist/operations/exporters.d.ts +1 -0
  51. package/dist/operations.cjs +2 -2
  52. package/dist/operations.js +2 -2
  53. package/dist/{primitiveFns-CdBx3Q-K.cjs → primitiveFns-Bdqm8wjI.cjs} +4 -4
  54. package/dist/{primitiveFns-Cbg94cAE.js → primitiveFns-D7R24hoz.js} +4 -4
  55. package/dist/projection.cjs +1 -1
  56. package/dist/projection.js +1 -1
  57. package/dist/query.cjs +2 -2
  58. package/dist/query.js +2 -2
  59. package/dist/{shapeFns-C0K2yQlH.js → shapeFns-B0lN3o3r.js} +2 -2
  60. package/dist/{shapeFns-C00nTg4m.cjs → shapeFns-CeSEceUG.cjs} +2 -2
  61. package/dist/shapeRef.cjs +1 -1
  62. package/dist/shapeRef.js +1 -1
  63. package/dist/{shapeRefFns-DuGh1xIA.cjs → shapeRefFns-BsX2j-n3.cjs} +4 -4
  64. package/dist/{shapeRefFns-BEm9-eG3.js → shapeRefFns-C4JSc_jF.js} +4 -4
  65. package/dist/{shapeTypes-CL5wYLDw.js → shapeTypes-BIcALNFv.js} +50 -4
  66. package/dist/{shapeTypes-BHoIVN7I.cjs → shapeTypes-DwNTiXjG.cjs} +50 -4
  67. package/dist/sketching/compoundSketch.d.ts +8 -2
  68. package/dist/sketching/sketch.d.ts +8 -3
  69. package/dist/sketching/sketchFns.d.ts +12 -4
  70. package/dist/sketching/sketches.d.ts +24 -5
  71. package/dist/sketching.cjs +3 -3
  72. package/dist/sketching.js +3 -3
  73. package/dist/{solidBuilders-C73RAr6j.cjs → solidBuilders-B_5FgvuK.cjs} +5 -5
  74. package/dist/{solidBuilders-Bp_Gf3y_.js → solidBuilders-Bb5_uC7F.js} +5 -5
  75. package/dist/{surfaceBuilders-DObQZa60.js → surfaceBuilders-BQx3TjMH.js} +2 -2
  76. package/dist/{surfaceBuilders-7QLWQwje.cjs → surfaceBuilders-DvpxHHIm.cjs} +2 -2
  77. package/dist/text.cjs +2 -2
  78. package/dist/text.js +2 -2
  79. package/dist/{textBlueprints-FGsoRUZ4.cjs → textBlueprints-CKFmYJHD.cjs} +70 -19
  80. package/dist/{textBlueprints-Dvp_j93V.js → textBlueprints-CU7MHMR8.js} +70 -19
  81. package/dist/{textMetrics-rFF3uFYC.js → textMetrics-BDTWvvyd.js} +1 -1
  82. package/dist/{textMetrics-BZbM75gl.cjs → textMetrics-BYHtOFYW.cjs} +1 -1
  83. package/dist/{threadFns-CYXs_rE1.js → threadFns-BWAL8cAZ.js} +6 -6
  84. package/dist/{threadFns-BNidejyc.cjs → threadFns-BsRDNoSm.cjs} +6 -6
  85. package/dist/topology/api.d.ts +4 -0
  86. package/dist/topology.cjs +8 -8
  87. package/dist/topology.js +8 -8
  88. package/dist/{topologyQueryFns-BtyNquQX.js → topologyQueryFns-0BIOC7YH.js} +1 -1
  89. package/dist/{topologyQueryFns-CJYc4A0j.cjs → topologyQueryFns-a2i0YhGF.cjs} +1 -1
  90. package/dist/utils/vec2d.d.ts +4 -1
  91. package/package.json +3 -1
@@ -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-BsPWHGEz.cjs");
3
+ const require_helpers = require("./helpers-Cvrmxw4s.cjs");
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-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.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 { Z as getKernel, f as isEdge, t as castShape, y as isWire } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, f as isEdge, t as castShape, y as isWire } from "./shapeTypes-BIcALNFv.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
- import { R as DisposalScope, Y as _usingCtx, Z as getKernel, a as createEdge, o as createFace, u as createWire } from "./shapeTypes-CL5wYLDw.js";
1
+ import { R as DisposalScope, Y as _usingCtx, Z as getKernel, a as createEdge, o as createFace, u as createWire } from "./shapeTypes-BIcALNFv.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-BtyNquQX.js";
4
+ import { s as getEdges } from "./topologyQueryFns-0BIOC7YH.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-CfCwtCKM.js";
10
- import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-BMvOjgAe.js";
9
+ import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u as outerWire, v as downcast } from "./faceFns-CmhEEB-L.js";
10
+ import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-DT1yMgBI.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-DObQZa60.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-BgJ92ofq.js";
14
- import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-BMg3VK6f.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-krPp-yxy.js";
16
- import { t as cornerFinder } from "./cornerFinder-CEbdh48G.js";
17
- import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-C5RQKxsG.js";
18
- import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-Dvp_j93V.js";
19
- import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-Dr6husIP.js";
12
+ import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-BQx3TjMH.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-CxFmYBvh.js";
14
+ import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-CKjmUSf0.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-BL2TdtBX.js";
16
+ import { t as cornerFinder } from "./cornerFinder-7M1wdtcY.js";
17
+ import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CIohnI9l.js";
18
+ import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-CU7MHMR8.js";
19
+ import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-BA7CVtWJ.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.
@@ -1,22 +1,22 @@
1
- const require_textBlueprints = require("./textBlueprints-FGsoRUZ4.cjs");
2
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-CKFmYJHD.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.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-CJYc4A0j.cjs");
5
+ const require_topologyQueryFns = require("./topologyQueryFns-a2i0YhGF.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-CEhhzLpI.cjs");
11
- const require_curveFns = require("./curveFns-ZfGUUd8h.cjs");
10
+ const require_faceFns = require("./faceFns-DSdVqqVP.cjs");
11
+ const require_curveFns = require("./curveFns-D3k8aHIE.cjs");
12
12
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
13
- const require_surfaceBuilders = require("./surfaceBuilders-7QLWQwje.cjs");
14
- const require_blueprintSketcher = require("./blueprintSketcher-BgQ4HUQS.cjs");
15
- const require_helpers = require("./helpers-BsPWHGEz.cjs");
16
- const require_blueprint = require("./blueprint-TE6QbbrL.cjs");
17
- const require_cornerFinder = require("./cornerFinder-DXhDNSVO.cjs");
18
- const require_boolean2D = require("./boolean2D-Bm57seK7.cjs");
19
- const require_cameraFns = require("./cameraFns-CyH0eFkv.cjs");
13
+ const require_surfaceBuilders = require("./surfaceBuilders-DvpxHHIm.cjs");
14
+ const require_blueprintSketcher = require("./blueprintSketcher-ChpPo7tq.cjs");
15
+ const require_helpers = require("./helpers-Cvrmxw4s.cjs");
16
+ const require_blueprint = require("./blueprint-KrNFTiyX.cjs");
17
+ const require_cornerFinder = require("./cornerFinder-DKyR_u8g.cjs");
18
+ const require_boolean2D = require("./boolean2D-RC6jXv4x.cjs");
19
+ const require_cameraFns = require("./cameraFns-IL7qYFaG.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.
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-BIcALNFv.js";
2
2
  import { A as ok, R as unwrap, b as err, l as typeCastError } from "./errors-DNWJsfVU.js";
3
- import { a as getCachedSurfaceType } from "./topologyQueryFns-BtyNquQX.js";
3
+ import { a as getCachedSurfaceType } from "./topologyQueryFns-0BIOC7YH.js";
4
4
  import { r as toVec3 } from "./types-D24Y27N0.js";
5
5
  //#region src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CJYc4A0j.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-a2i0YhGF.cjs");
4
4
  const require_types = require("./types-KjA8tY4Y.cjs");
5
5
  //#region src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -1,11 +1,11 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CJYc4A0j.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-a2i0YhGF.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
- const require_faceFns = require("./faceFns-CEhhzLpI.cjs");
6
- const require_shapeFns = require("./shapeFns-C00nTg4m.cjs");
5
+ const require_faceFns = require("./faceFns-DSdVqqVP.cjs");
6
+ const require_shapeFns = require("./shapeFns-CeSEceUG.cjs");
7
7
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
8
- const require_solidBuilders = require("./solidBuilders-C73RAr6j.cjs");
8
+ const require_solidBuilders = require("./solidBuilders-B_5FgvuK.cjs");
9
9
  //#region src/topology/threeHelpers.ts
10
10
  /**
11
11
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,11 +1,11 @@
1
- import { Z as getKernel, _ as isSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, y as isWire } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, _ as isSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, y as isWire } from "./shapeTypes-BIcALNFv.js";
2
2
  import { A as ok, T as isOk, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DNWJsfVU.js";
3
- import { c as getFaces, i as getCachedIsValid, l as getOrCreateCache, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-BtyNquQX.js";
3
+ import { c as getFaces, i as getCachedIsValid, l as getOrCreateCache, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-0BIOC7YH.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
- import { v as downcast } from "./faceFns-CfCwtCKM.js";
6
- import { _ as propagateAllMetadata, g as collectInputFaceHashes } from "./shapeFns-C0K2yQlH.js";
5
+ import { v as downcast } from "./faceFns-CmhEEB-L.js";
6
+ import { _ as propagateAllMetadata, g as collectInputFaceHashes } from "./shapeFns-B0lN3o3r.js";
7
7
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
8
- import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-Bp_Gf3y_.js";
8
+ import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-Bb5_uC7F.js";
9
9
  //#region src/topology/threeHelpers.ts
10
10
  /**
11
11
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,12 +1,12 @@
1
- import { Z as getKernel, p as isFace } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, p as isFace } from "./shapeTypes-BIcALNFv.js";
2
2
  import { A as ok, T as isOk, b as err, h as bug, o as queryError } from "./errors-DNWJsfVU.js";
3
- import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-BtyNquQX.js";
3
+ import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-0BIOC7YH.js";
4
4
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { a as vecDot, d as vecNormalize } from "./vecOps-SKPRvPH-.js";
6
- import { l as normalAt, s as getSurfaceType } from "./faceFns-CfCwtCKM.js";
7
- import { a as isSameShape, n as getHashCode } from "./shapeFns-C0K2yQlH.js";
8
- import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-BMvOjgAe.js";
9
- import { n as measureArea } from "./measureFns-DcU_ZNtw.js";
6
+ import { l as normalAt, s as getSurfaceType } from "./faceFns-CmhEEB-L.js";
7
+ import { a as isSameShape, n as getHashCode } from "./shapeFns-B0lN3o3r.js";
8
+ import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-DT1yMgBI.js";
9
+ import { n as measureArea } from "./measureFns-D0e8tGSP.js";
10
10
  //#region src/utils/vec2d.ts
11
11
  /** Precision for curve intersection and parameter operations. */
12
12
  var PRECISION_INTERSECTION = 1e-9;
@@ -1,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CJYc4A0j.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-a2i0YhGF.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
- const require_faceFns = require("./faceFns-CEhhzLpI.cjs");
7
- const require_shapeFns = require("./shapeFns-C00nTg4m.cjs");
8
- const require_curveFns = require("./curveFns-ZfGUUd8h.cjs");
9
- const require_measureFns = require("./measureFns-Bsu3HKAh.cjs");
6
+ const require_faceFns = require("./faceFns-DSdVqqVP.cjs");
7
+ const require_shapeFns = require("./shapeFns-CeSEceUG.cjs");
8
+ const require_curveFns = require("./curveFns-D3k8aHIE.cjs");
9
+ const require_measureFns = require("./measureFns-BtPAmRfH.cjs");
10
10
  //#region src/utils/vec2d.ts
11
11
  /** Precision for curve intersection and parameter operations. */
12
12
  var PRECISION_INTERSECTION = 1e-9;
@@ -1,8 +1,8 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-BIcALNFv.js";
2
2
  import { n as wasmIndex, t as vec3At$1 } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, b as err, r as ioError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
4
4
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
5
- import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-krPp-yxy.js";
5
+ import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-BL2TdtBX.js";
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
@@ -1,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
5
- const require_blueprint = require("./blueprint-TE6QbbrL.cjs");
5
+ const require_blueprint = require("./blueprint-KrNFTiyX.cjs");
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
package/dist/index.d.ts CHANGED
@@ -95,7 +95,7 @@ export { getSurfaceType, faceGeomType, faceOrientation, flipFaceOrientation, uvB
95
95
  export { exportSTEP, exportSTL, exportIGES, meshMultiLOD, type ShapeMesh, type EdgeMesh, type MeshOptions, type MultiLODMesh, } from './topology/meshFns.js';
96
96
  export { clearMeshCache, createMeshCache, type MeshCacheContext } from './topology/meshCache.js';
97
97
  export { toBufferGeometryData, toLineGeometryData, toGroupedBufferGeometryData, type BufferGeometryData, type LineGeometryData, type GroupedBufferGeometryData, type BufferGeometryGroup, toLODGeometryData, type LODGeometryData, } from './topology/threeHelpers.js';
98
- export { fuseAll, cutAll, booleanPipeline, type BooleanOptions, type BooleanPipelineStep, } from './topology/booleanFns.js';
98
+ export { booleanPipeline, type BooleanOptions, type BooleanPipelineStep, } from './topology/booleanFns.js';
99
99
  export { fuseAllBisect, cutAllBisect, type BatchBisectResult, type BatchBisectTelemetry, } from './topology/booleanBatchFns.js';
100
100
  export { type PipelineOp } from './topology/booleanFns.js';
101
101
  export { checkBoolean } from './topology/booleanDiagnosticFns.js';
@@ -141,7 +141,7 @@ export type { Shapeable, WrappedMarker, FinderFn, FilletRadius, ChamferDistance,
141
141
  export { resolve, resolve3D } from './topology/apiTypes.js';
142
142
  export { box, cylinder, sphere, cone, torus, ellipsoid, line, circle, ellipse, helix, threePointArc, ellipseArc, bsplineApprox, bezier, tangentArc, wire, wireLoop, face, filledFace, subFace, polygon, vertex, compound, solid, offsetFace, sewShells, addHoles, type BoxOptions, type CylinderOptions, type SphereOptions, type ConeOptions, type TorusOptions, type EllipsoidOptions, type CircleOptions, type EllipseOptions, type HelixOptions, type EllipseArcOptions, } from './topology/primitiveFns.js';
143
143
  export { fill } from './topology/surfaceBuilders.js';
144
- export { translate, rotate, mirror, scale, clone, applyMatrix, composeTransforms, transformCopy, type TransformOp, type ComposedTransform, fuse, cut, intersect, section, sectionToFace, split, slice, fillet, chamfer, shell, offset, thicken, draft, heal, simplify, mesh, meshEdges, describe, toBREP, fromBREP, isValid, isEmpty, type RotateOptions, type MirrorOptions, type ScaleOptions, } from './topology/api.js';
144
+ export { translate, rotate, mirror, scale, clone, applyMatrix, composeTransforms, transformCopy, type TransformOp, type ComposedTransform, fuse, cut, fuseAll, cutAll, intersect, section, sectionToFace, split, slice, fillet, chamfer, shell, offset, thicken, draft, heal, simplify, mesh, meshEdges, describe, toBREP, fromBREP, isValid, isEmpty, type RotateOptions, type MirrorOptions, type ScaleOptions, } from './topology/api.js';
145
145
  export { extrude, revolve, loft, type RevolveOptions, type LoftOptions as CleanLoftOptions, type SweepOptions as CleanSweepOptions, } from './operations/api.js';
146
146
  export { loftAll, type LoftAllEntry } from './operations/loftFns.js';
147
147
  export { thread, type ThreadOptions } from './operations/threadFns.js';
package/dist/io.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_meshFns = require("./meshFns-C_r1wsG-.cjs");
3
- const require_importFns = require("./importFns-YD2jjXSP.cjs");
2
+ const require_meshFns = require("./meshFns-7IXB_Bua.cjs");
3
+ const require_importFns = require("./importFns-D09lb1dB.cjs");
4
4
  exports.blueprintToDXF = require_importFns.blueprintToDXF;
5
5
  exports.exportDXF = require_importFns.exportDXF;
6
6
  exports.exportGlb = require_importFns.exportGlb;
package/dist/io.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-4yXoFw_7.js";
2
- import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-DAxR2wFw.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-CtchqgDR.js";
2
+ import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-CDaNqu4H.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -26,7 +26,7 @@ export declare function getCurve2dBounds(curve: Curve2dHandle): {
26
26
  };
27
27
  export declare function getCurve2dType(curve: Curve2dHandle): string;
28
28
  export declare function trimCurve2d(curve: Curve2dHandle, start: number, end: number): Curve2dHandle;
29
- export declare function reverseCurve2d(_curve: Curve2dHandle): void;
29
+ export declare function reverseCurve2d(curve: Curve2dHandle): void;
30
30
  export declare function copyCurve2d(curve: Curve2dHandle): Curve2dHandle;
31
31
  export declare function offsetCurve2d(curve: Curve2dHandle, offset: number): Curve2dHandle;
32
32
  export declare function translateCurve2d(curve: Curve2dHandle, dx: number, dy: number): Curve2dHandle;
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_types = require("./types-KjA8tY4Y.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
@@ -1,4 +1,4 @@
1
- import { Z as getKernel, c as createSolid, h as isShape3D, t as castShape, y as isWire } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, c as createSolid, h as isShape3D, t as castShape, y as isWire } from "./shapeTypes-BIcALNFv.js";
2
2
  import { A as ok, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DNWJsfVU.js";
3
3
  import { r as toVec3 } from "./types-D24Y27N0.js";
4
4
  import { c as vecLength, d as vecNormalize, t as vecAdd } from "./vecOps-SKPRvPH-.js";
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CJYc4A0j.cjs");
4
- const require_faceFns = require("./faceFns-CEhhzLpI.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-a2i0YhGF.cjs");
4
+ const require_faceFns = require("./faceFns-DSdVqqVP.cjs");
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,7 +1,7 @@
1
- import { Z as getKernel } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel } from "./shapeTypes-BIcALNFv.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-BtyNquQX.js";
4
- import { m as uvBounds } from "./faceFns-CfCwtCKM.js";
3
+ import { w as kernelCallRaw } from "./topologyQueryFns-0BIOC7YH.js";
4
+ import { m as uvBounds } from "./faceFns-CmhEEB-L.js";
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -9,4 +9,5 @@ export interface MeasurementValueMap {
9
9
  export type MeasurementKey = keyof MeasurementValueMap;
10
10
  export declare function getCachedMeasurement<K extends MeasurementKey>(shape: object, key: K): MeasurementValueMap[K] | undefined;
11
11
  export declare function setCachedMeasurement<K extends MeasurementKey>(shape: object, key: K, value: MeasurementValueMap[K]): void;
12
+ /** @testOnly Exercised by tests/measureCache.test.ts. */
12
13
  export declare function clearMeasurementCache(shape?: object): void;
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_measureFns = require("./measureFns-Bsu3HKAh.cjs");
2
+ const require_measureFns = require("./measureFns-BtPAmRfH.cjs");
3
3
  exports.createDistanceQuery = require_measureFns.createDistanceQuery;
4
4
  exports.measureArea = require_measureFns.measureArea;
5
5
  exports.measureDistance = require_measureFns.measureDistance;
@@ -1,2 +1,2 @@
1
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-DcU_ZNtw.js";
1
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-D0e8tGSP.js";
2
2
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps };
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CJYc4A0j.cjs");
4
- const require_shapeFns = require("./shapeFns-C00nTg4m.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-a2i0YhGF.cjs");
4
+ const require_shapeFns = require("./shapeFns-CeSEceUG.cjs");
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,7 +1,7 @@
1
- import { Z as getKernel, gt as qualityDeflection } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, gt as qualityDeflection } from "./shapeTypes-BIcALNFv.js";
2
2
  import { A as ok, b as err, r as ioError } from "./errors-DNWJsfVU.js";
3
- import { d as getSolids, n as getBounds } from "./topologyQueryFns-BtyNquQX.js";
4
- import { O as getFaceOrigins } from "./shapeFns-C0K2yQlH.js";
3
+ import { d as getSolids, n as getBounds } from "./topologyQueryFns-0BIOC7YH.js";
4
+ import { O as getFaceOrigins } from "./shapeFns-B0lN3o3r.js";
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -51,6 +51,7 @@ export declare function createAssembly(shapes?: ShapeOptions[]): AssemblyExporte
51
51
  * ```
52
52
  *
53
53
  * @see {@link exporterFns!exportAssemblySTEP | exportAssemblySTEP} for the functional API equivalent.
54
+ * @testOnly Exercised by tests/operations-exporters.test.ts.
54
55
  */
55
56
  export declare function exportSTEP(shapes?: ShapeOptions[], { unit, modelUnit }?: {
56
57
  unit?: SupportedUnit;
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_threadFns = require("./threadFns-BNidejyc.cjs");
3
- const require_loftFns = require("./loftFns-D4xbMwPh.cjs");
2
+ const require_threadFns = require("./threadFns-BsRDNoSm.cjs");
3
+ const require_loftFns = require("./loftFns-C664R57e.cjs");
4
4
  exports.addChild = require_threadFns.addChild;
5
5
  exports.addJoint = require_threadFns.addJoint;
6
6
  exports.addStep = require_threadFns.addStep;
@@ -1,3 +1,3 @@
1
- import { A as setJointValue, B as findNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as gridPattern, H as updateNode, I as addChild, J as createAssembly, K as linearPattern, L as collectShapes, M as sphericalJoint, O as prismaticJoint, R as countNodes, S as addJoint, T as jointTransform, U as walkAssembly, V as removeChild, W as circularPattern, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, q as exportAssemblySTEP, 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 createAssemblyNode } from "./threadFns-CYXs_rE1.js";
2
- import { d as twistExtrude, l as supportExtrude, o as complexExtrude, u as sweep } from "./loftFns-BLwuVjwA.js";
1
+ import { A as setJointValue, B as findNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as gridPattern, H as updateNode, I as addChild, J as createAssembly, K as linearPattern, L as collectShapes, M as sphericalJoint, O as prismaticJoint, R as countNodes, S as addJoint, T as jointTransform, U as walkAssembly, V as removeChild, W as circularPattern, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, q as exportAssemblySTEP, 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 createAssemblyNode } from "./threadFns-BWAL8cAZ.js";
2
+ import { d as twistExtrude, l as supportExtrude, o as complexExtrude, u as sweep } from "./loftFns-C8Ep9McS.js";
3
3
  export { addChild, addJoint, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, cylindricalJoint, exportAssemblySTEP, exportURDF, findNode, findStep, forwardKinematics, getShape as getHistoryShape, gridPattern, importURDF, inverseKinematics, jointTrajectory, jointTransform, jointsFromDH, linearPattern, mechanismDOF, modifyStep, planarJoint, prismaticJoint, registerOperation, registerShape, removeChild, replayFrom, replayHistory, revoluteJoint, setJointValue, setJointValues, sphericalJoint, stepCount, stepsFrom, supportExtrude, sweep, thread, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_constants = require("./constants-BOVyEYGH.cjs");
4
- const require_shapeFns = require("./shapeFns-C00nTg4m.cjs");
5
- const require_surfaceBuilders = require("./surfaceBuilders-7QLWQwje.cjs");
6
- const require_solidBuilders = require("./solidBuilders-C73RAr6j.cjs");
4
+ const require_shapeFns = require("./shapeFns-CeSEceUG.cjs");
5
+ const require_surfaceBuilders = require("./surfaceBuilders-DvpxHHIm.cjs");
6
+ const require_solidBuilders = require("./solidBuilders-B_5FgvuK.cjs");
7
7
  //#region src/topology/primitiveFns.ts
8
8
  /**
9
9
  * Create a box with the given dimensions.
@@ -1,9 +1,9 @@
1
- import { Z as getKernel, c as createSolid, x as isClosedWire } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, c as createSolid, x as isClosedWire } from "./shapeTypes-BIcALNFv.js";
2
2
  import { A as ok, b as err, d as validationError, v as andThen } from "./errors-DNWJsfVU.js";
3
3
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
4
- import { h as translate } from "./shapeFns-C0K2yQlH.js";
5
- import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-DObQZa60.js";
6
- import { a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces } from "./solidBuilders-Bp_Gf3y_.js";
4
+ import { h as translate } from "./shapeFns-B0lN3o3r.js";
5
+ import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-BQx3TjMH.js";
6
+ import { a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces } from "./solidBuilders-Bb5_uC7F.js";
7
7
  //#region src/topology/primitiveFns.ts
8
8
  /**
9
9
  * Create a box with the given dimensions.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-CyH0eFkv.cjs");
2
+ const require_cameraFns = require("./cameraFns-IL7qYFaG.cjs");
3
3
  exports.PROJECTION_PLANES = require_cameraFns.PROJECTION_PLANES;
4
4
  exports.cameraFromPlane = require_cameraFns.cameraFromPlane;
5
5
  exports.cameraLookAt = require_cameraFns.cameraLookAt;
@@ -1,2 +1,2 @@
1
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-Dr6husIP.js";
1
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-BA7CVtWJ.js";
2
2
  export { PROJECTION_PLANES, cameraFromPlane, cameraLookAt, createCamera, isProjectionPlane, makeProjectedEdges, projectEdges };
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-BsPWHGEz.cjs");
3
- const require_cornerFinder = require("./cornerFinder-DXhDNSVO.cjs");
2
+ const require_helpers = require("./helpers-Cvrmxw4s.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-DKyR_u8g.cjs");
4
4
  exports.cornerFinder = require_cornerFinder.cornerFinder;
5
5
  exports.edgeFinder = require_helpers.edgeFinder;
6
6
  exports.faceFinder = require_helpers.faceFinder;
package/dist/query.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BMg3VK6f.js";
2
- import { t as cornerFinder } from "./cornerFinder-CEbdh48G.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-CKjmUSf0.js";
2
+ import { t as cornerFinder } from "./cornerFinder-7M1wdtcY.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-CL5wYLDw.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-BIcALNFv.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-BtyNquQX.js";
3
+ import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-0BIOC7YH.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BHoIVN7I.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwNTiXjG.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CJYc4A0j.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-a2i0YhGF.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeRefFns = require("./shapeRefFns-DuGh1xIA.cjs");
2
+ const require_shapeRefFns = require("./shapeRefFns-BsX2j-n3.cjs");
3
3
  exports.assignRoles = require_shapeRefFns.assignRoles;
4
4
  exports.captureHint = require_shapeRefFns.captureHint;
5
5
  exports.createRef = require_shapeRefFns.createRef;
package/dist/shapeRef.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-BEm9-eG3.js";
1
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-C4JSc_jF.js";
2
2
  export { assignRoles, captureHint, createRef, defaultScorer, resolveRef, updateRoles };
@@ -1,8 +1,8 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-CJYc4A0j.cjs");
3
- const require_faceFns = require("./faceFns-CEhhzLpI.cjs");
4
- const require_shapeFns = require("./shapeFns-C00nTg4m.cjs");
5
- const require_measureFns = require("./measureFns-Bsu3HKAh.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-a2i0YhGF.cjs");
3
+ const require_faceFns = require("./faceFns-DSdVqqVP.cjs");
4
+ const require_shapeFns = require("./shapeFns-CeSEceUG.cjs");
5
+ const require_measureFns = require("./measureFns-BtPAmRfH.cjs");
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,8 +1,8 @@
1
1
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
2
- import { c as getFaces } from "./topologyQueryFns-BtyNquQX.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-CfCwtCKM.js";
4
- import { n as getHashCode } from "./shapeFns-C0K2yQlH.js";
5
- import { n as measureArea } from "./measureFns-DcU_ZNtw.js";
2
+ import { c as getFaces } from "./topologyQueryFns-0BIOC7YH.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-CmhEEB-L.js";
4
+ import { n as getHashCode } from "./shapeFns-B0lN3o3r.js";
5
+ import { n as measureArea } from "./measureFns-D0e8tGSP.js";
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -8541,11 +8541,16 @@ function makeEllipse2d(cx, cy, major, minor, xDirX, xDirY, sense) {
8541
8541
  return makeEllipse2d$2(cx, cy, major, minor, xDirX, xDirY, sense);
8542
8542
  }
8543
8543
  function makeEllipseArc2d(cx, cy, major, minor, start, end, xDirX, xDirY, sense) {
8544
+ const ellipse = makeEllipse2d$2(cx, cy, major, minor, xDirX, xDirY, sense);
8545
+ const ccw = sense !== false;
8546
+ const tStart = ccw ? start : -start;
8547
+ let tEnd = ccw ? end : -end;
8548
+ if (tEnd < tStart - 1e-9) tEnd += 2 * Math.PI;
8544
8549
  return {
8545
8550
  __bk2d: "trimmed",
8546
- basis: makeEllipse2d$2(cx, cy, major, minor, xDirX, xDirY, sense),
8547
- tStart: start,
8548
- tEnd: end
8551
+ basis: ellipse,
8552
+ tStart,
8553
+ tEnd
8549
8554
  };
8550
8555
  }
8551
8556
  function makeBezier2d(points) {
@@ -8597,6 +8602,45 @@ function trimCurve2d(curve, start, end) {
8597
8602
  tEnd: end
8598
8603
  };
8599
8604
  }
8605
+ function reverseCurve2d(curve) {
8606
+ const c = curve;
8607
+ switch (c.__bk2d) {
8608
+ case "line": {
8609
+ const m = c;
8610
+ m.ox += m.dx * m.len;
8611
+ m.oy += m.dy * m.len;
8612
+ m.dx = -m.dx;
8613
+ m.dy = -m.dy;
8614
+ break;
8615
+ }
8616
+ case "circle":
8617
+ case "ellipse": {
8618
+ const m = c;
8619
+ m.sense = !m.sense;
8620
+ break;
8621
+ }
8622
+ case "trimmed": {
8623
+ const m = c;
8624
+ [m.tStart, m.tEnd] = [m.tEnd, m.tStart];
8625
+ break;
8626
+ }
8627
+ case "bezier": {
8628
+ const m = c;
8629
+ m.poles = [...m.poles].reverse();
8630
+ break;
8631
+ }
8632
+ case "bspline": {
8633
+ const m = c;
8634
+ m.poles = [...m.poles].reverse();
8635
+ const lo = m.knots[0];
8636
+ const hi = m.knots[m.knots.length - 1];
8637
+ if (lo !== void 0 && hi !== void 0) m.knots = m.knots.map((k) => lo + hi - k).reverse();
8638
+ if (Array.isArray(m.weights)) m.weights = [...m.weights].reverse();
8639
+ break;
8640
+ }
8641
+ default: break;
8642
+ }
8643
+ }
8600
8644
  function copyCurve2d(curve) {
8601
8645
  return JSON.parse(JSON.stringify(curve));
8602
8646
  }
@@ -9264,7 +9308,9 @@ function makeKernel2dOps(bk) {
9264
9308
  getCurve2dBounds: (curve) => getCurve2dBounds(curve),
9265
9309
  getCurve2dType: (curve) => getCurve2dType(curve),
9266
9310
  trimCurve2d: (curve, start, end) => trimCurve2d(curve, start, end),
9267
- reverseCurve2d: (curve) => {},
9311
+ reverseCurve2d: (curve) => {
9312
+ reverseCurve2d(curve);
9313
+ },
9268
9314
  copyCurve2d: (curve) => copyCurve2d(curve),
9269
9315
  offsetCurve2d: (curve, off) => offsetCurve2d(curve, off),
9270
9316
  translateCurve2d: (curve, dx, dy) => translateCurve2d(curve, dx, dy),