brepjs 13.4.0 → 14.1.2

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 (125) hide show
  1. package/dist/2d.cjs +15 -14
  2. package/dist/2d.js +6 -5
  3. package/dist/arrayAccess-CmulMesb.cjs +40 -0
  4. package/dist/arrayAccess-xxcB3YNq.js +23 -0
  5. package/dist/{blueprint-CB_85Lz_.js → blueprint-B3A5x7P9.js} +9 -9
  6. package/dist/{blueprint-CDnBM-tA.cjs → blueprint-D0XChcek.cjs} +13 -13
  7. package/dist/{blueprintFns-DVDommWB.js → blueprintFns-BwAMXY3t.js} +4 -125
  8. package/dist/{blueprintFns-D4YucGaQ.cjs → blueprintFns-COrEYX29.cjs} +3 -142
  9. package/dist/{boolean2D-lqfKJKUY.cjs → boolean2D-BPsyKImE.cjs} +19 -18
  10. package/dist/{boolean2D-Mzp-0g7o.js → boolean2D-D_Te-6N6.js} +12 -11
  11. package/dist/{booleanFns-Bw8sAMgI.cjs → booleanFns-B6M6Lm0V.cjs} +24 -22
  12. package/dist/{booleanFns-B46fgObh.js → booleanFns-CgsaJFBf.js} +8 -6
  13. package/dist/brepjs.cjs +301 -90
  14. package/dist/brepjs.js +189 -26
  15. package/dist/constants-B9u763C3.js +9 -0
  16. package/dist/constants-unWN8k4c.cjs +26 -0
  17. package/dist/core/errors.d.ts +5 -1
  18. package/dist/core/errors.d.ts.map +1 -1
  19. package/dist/core/kernelCall.d.ts.map +1 -1
  20. package/dist/core/kernelErrorTranslation.d.ts +2 -0
  21. package/dist/core/kernelErrorTranslation.d.ts.map +1 -1
  22. package/dist/core.cjs +8 -7
  23. package/dist/core.js +5 -4
  24. package/dist/{cornerFinder-aBLykolI.js → cornerFinder-AEFnAxt4.js} +3 -3
  25. package/dist/{cornerFinder-BszIcLqj.cjs → cornerFinder-DTt_SvtC.cjs} +4 -4
  26. package/dist/{curveFns-DY4dFcP-.js → curveFns-CcInoOEA.js} +2 -2
  27. package/dist/{curveFns-CZszKLQB.cjs → curveFns-DCEcwcpd.cjs} +2 -2
  28. package/dist/{drawFns-BHNDF8hb.cjs → drawFns-BOwBIzPa.cjs} +34 -17
  29. package/dist/{drawFns-l5CY2s-l.js → drawFns-n9qif7QN.js} +16 -14
  30. package/dist/{errors-BlC5ZWv4.cjs → errors-9zQcQK1H.cjs} +28 -0
  31. package/dist/{errors-BVOlxlIA.js → errors-C-cgQA3w.js} +23 -1
  32. package/dist/{extrudeFns-b0uLn4E4.js → extrudeFns-DrDr9-nU.js} +3 -3
  33. package/dist/{extrudeFns-GpCB_Uzs.cjs → extrudeFns-Rcut7h8S.cjs} +3 -3
  34. package/dist/{faceFns-Cat-4X74.js → faceFns-TSH54pPQ.js} +93 -3
  35. package/dist/{faceFns-BywUjlJ7.cjs → faceFns-cE2WxY6I.cjs} +110 -2
  36. package/dist/{helpers-1iCCEElA.cjs → helpers-DZje6XWE.cjs} +18 -17
  37. package/dist/{helpers-DgX1UucG.js → helpers-XrXlKm8D.js} +8 -7
  38. package/dist/{historyFns-BFwp8NLX.js → historyFns-2hCWrX_X.js} +10 -10
  39. package/dist/{historyFns-DqxDtXIZ.cjs → historyFns-BiQ9dmzp.cjs} +10 -10
  40. package/dist/{importFns-ChXEJAvu.cjs → importFns-DGE5nCSW.cjs} +4 -4
  41. package/dist/{importFns-Cb8fcldB.js → importFns-m0xyj0Zt.js} +4 -4
  42. package/dist/index.d.ts +11 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/io.cjs +2 -2
  45. package/dist/io.js +2 -2
  46. package/dist/kernel/brepkit/brepkitAdapter.d.ts +149 -242
  47. package/dist/kernel/brepkit/brepkitAdapter.d.ts.map +1 -1
  48. package/dist/kernel/brepkit/evolutionOps.d.ts +1 -0
  49. package/dist/kernel/brepkit/evolutionOps.d.ts.map +1 -1
  50. package/dist/kernel/index.d.ts +1 -1
  51. package/dist/kernel/index.d.ts.map +1 -1
  52. package/dist/{measureFns-D3rAp1X1.js → measureFns-DHByqdmn.js} +9 -16
  53. package/dist/{measureFns-Bx-kl7_g.cjs → measureFns-D_QKZ5yg.cjs} +9 -16
  54. package/dist/measurement/measureFns.d.ts.map +1 -1
  55. package/dist/measurement.cjs +1 -1
  56. package/dist/measurement.js +1 -1
  57. package/dist/{meshFns-D3KAZ_ma.cjs → meshFns-CVe3Kc77.cjs} +4 -4
  58. package/dist/{meshFns-BPi0bhm9.js → meshFns-DL4Djz3w.js} +3 -3
  59. package/dist/ns/booleans.d.ts +10 -0
  60. package/dist/ns/booleans.d.ts.map +1 -0
  61. package/dist/ns/construction.d.ts +10 -0
  62. package/dist/ns/construction.d.ts.map +1 -0
  63. package/dist/ns/ioNs.d.ts +18 -0
  64. package/dist/ns/ioNs.d.ts.map +1 -0
  65. package/dist/ns/measurement.d.ts +6 -0
  66. package/dist/ns/measurement.d.ts.map +1 -0
  67. package/dist/ns/modifiers.d.ts +6 -0
  68. package/dist/ns/modifiers.d.ts.map +1 -0
  69. package/dist/ns/patterns.d.ts +5 -0
  70. package/dist/ns/patterns.d.ts.map +1 -0
  71. package/dist/ns/primitives.d.ts +7 -0
  72. package/dist/ns/primitives.d.ts.map +1 -0
  73. package/dist/ns/query.d.ts +6 -0
  74. package/dist/ns/query.d.ts.map +1 -0
  75. package/dist/ns/transforms.d.ts +5 -0
  76. package/dist/ns/transforms.d.ts.map +1 -0
  77. package/dist/operations.cjs +2 -2
  78. package/dist/operations.js +2 -2
  79. package/dist/{planeOps-BqLav0Ir.cjs → planeOps-6Wu7dMDN.cjs} +4 -3
  80. package/dist/{planeOps-D88tfyJs.js → planeOps-gTOEarV2.js} +3 -2
  81. package/dist/{primitiveFns-BGh9A9jR.cjs → primitiveFns-CRPGjIFg.cjs} +69 -69
  82. package/dist/{primitiveFns-CnZkW6Bi.js → primitiveFns-CeKiYSSW.js} +7 -7
  83. package/dist/query.cjs +2 -2
  84. package/dist/query.js +2 -2
  85. package/dist/result.cjs +1 -1
  86. package/dist/result.js +1 -1
  87. package/dist/{arrayAccess-B5LgmXBo.js → shapeFns-DCi9O27X.js} +8 -30
  88. package/dist/{arrayAccess-t2dlxGSK.cjs → shapeFns-aEeSHNqX.cjs} +24 -64
  89. package/dist/shapeRef.cjs +8 -0
  90. package/dist/shapeRef.d.ts +5 -0
  91. package/dist/shapeRef.d.ts.map +1 -0
  92. package/dist/shapeRef.js +2 -0
  93. package/dist/shapeRefFns-B1TODUMl.js +194 -0
  94. package/dist/shapeRefFns-CVdS6jWS.cjs +229 -0
  95. package/dist/{shapeTypes-Di6GlhPk.js → shapeTypes-BO1aiDhi.js} +2642 -2546
  96. package/dist/{shapeTypes-8eK48l-X.cjs → shapeTypes-BqWQlrYE.cjs} +2642 -2546
  97. package/dist/sketching.cjs +2 -2
  98. package/dist/sketching.js +2 -2
  99. package/dist/{solidBuilders-D9KYP9sL.cjs → solidBuilders-0iVdiZUw.cjs} +3 -3
  100. package/dist/{solidBuilders-ctO_wFrm.js → solidBuilders-jk7HfWs8.js} +3 -3
  101. package/dist/{surfaceBuilders-CZzipftq.cjs → surfaceBuilders-C_8rs79F.cjs} +3 -3
  102. package/dist/{surfaceBuilders-BaqeZa0x.js → surfaceBuilders-DE5e6bp8.js} +3 -3
  103. package/dist/topology/api.d.ts +3 -3
  104. package/dist/topology/api.d.ts.map +1 -1
  105. package/dist/topology/shapeFns.d.ts +4 -3
  106. package/dist/topology/shapeFns.d.ts.map +1 -1
  107. package/dist/topology/shapeRef/index.d.ts +7 -0
  108. package/dist/topology/shapeRef/index.d.ts.map +1 -0
  109. package/dist/topology/shapeRef/scoring.d.ts +16 -0
  110. package/dist/topology/shapeRef/scoring.d.ts.map +1 -0
  111. package/dist/topology/shapeRef/shapeRefFns.d.ts +47 -0
  112. package/dist/topology/shapeRef/shapeRefFns.d.ts.map +1 -0
  113. package/dist/topology/shapeRef/shapeRefTypes.d.ts +40 -0
  114. package/dist/topology/shapeRef/shapeRefTypes.d.ts.map +1 -0
  115. package/dist/topology.cjs +20 -20
  116. package/dist/topology.js +6 -6
  117. package/dist/{vecOps-DKGelwGL.cjs → vecOps-BXvBYIor.cjs} +0 -26
  118. package/dist/{vecOps-DFfUfsmc.js → vecOps-D9etjPgV.js} +1 -9
  119. package/dist/vectors.cjs +5 -4
  120. package/dist/vectors.js +3 -2
  121. package/dist/worker.cjs +1 -1
  122. package/dist/worker.js +1 -1
  123. package/package.json +14 -4
  124. /package/dist/{workerHandler-nLkvSOKX.cjs → workerHandler-C-7OUJsa.cjs} +0 -0
  125. /package/dist/{workerHandler-BrOTzYRI.js → workerHandler-o2xzAfFk.js} +0 -0
package/dist/brepjs.cjs CHANGED
@@ -1,27 +1,30 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_drawFns = require("./drawFns-BHNDF8hb.cjs");
3
- const require_shapeTypes = require("./shapeTypes-8eK48l-X.cjs");
4
- const require_errors = require("./errors-BlC5ZWv4.cjs");
5
- const require_blueprintFns = require("./blueprintFns-D4YucGaQ.cjs");
6
- const require_vecOps = require("./vecOps-DKGelwGL.cjs");
2
+ const require_drawFns = require("./drawFns-BOwBIzPa.cjs");
3
+ const require_shapeTypes = require("./shapeTypes-BqWQlrYE.cjs");
4
+ const require_errors = require("./errors-9zQcQK1H.cjs");
5
+ const require_faceFns = require("./faceFns-cE2WxY6I.cjs");
6
+ const require_constants = require("./constants-unWN8k4c.cjs");
7
7
  const require_types = require("./types-BjDcsS7l.cjs");
8
- const require_planeOps = require("./planeOps-BqLav0Ir.cjs");
9
- const require_faceFns = require("./faceFns-BywUjlJ7.cjs");
10
- const require_arrayAccess = require("./arrayAccess-t2dlxGSK.cjs");
11
- const require_curveFns = require("./curveFns-CZszKLQB.cjs");
12
- const require_meshFns = require("./meshFns-D3KAZ_ma.cjs");
13
- const require_surfaceBuilders = require("./surfaceBuilders-CZzipftq.cjs");
14
- const require_booleanFns = require("./booleanFns-Bw8sAMgI.cjs");
15
- const require_primitiveFns = require("./primitiveFns-BGh9A9jR.cjs");
16
- const require_historyFns = require("./historyFns-DqxDtXIZ.cjs");
17
- const require_boolean2D = require("./boolean2D-lqfKJKUY.cjs");
18
- const require_helpers = require("./helpers-1iCCEElA.cjs");
19
- const require_solidBuilders = require("./solidBuilders-D9KYP9sL.cjs");
20
- const require_measureFns = require("./measureFns-Bx-kl7_g.cjs");
21
- const require_cornerFinder = require("./cornerFinder-BszIcLqj.cjs");
22
- const require_extrudeFns = require("./extrudeFns-GpCB_Uzs.cjs");
23
- const require_importFns = require("./importFns-ChXEJAvu.cjs");
24
- const require_workerHandler = require("./workerHandler-nLkvSOKX.cjs");
8
+ const require_vecOps = require("./vecOps-BXvBYIor.cjs");
9
+ const require_planeOps = require("./planeOps-6Wu7dMDN.cjs");
10
+ const require_shapeFns = require("./shapeFns-aEeSHNqX.cjs");
11
+ const require_curveFns = require("./curveFns-DCEcwcpd.cjs");
12
+ const require_meshFns = require("./meshFns-CVe3Kc77.cjs");
13
+ const require_arrayAccess = require("./arrayAccess-CmulMesb.cjs");
14
+ const require_surfaceBuilders = require("./surfaceBuilders-C_8rs79F.cjs");
15
+ const require_booleanFns = require("./booleanFns-B6M6Lm0V.cjs");
16
+ const require_primitiveFns = require("./primitiveFns-CRPGjIFg.cjs");
17
+ const require_historyFns = require("./historyFns-BiQ9dmzp.cjs");
18
+ const require_boolean2D = require("./boolean2D-BPsyKImE.cjs");
19
+ const require_helpers = require("./helpers-DZje6XWE.cjs");
20
+ const require_solidBuilders = require("./solidBuilders-0iVdiZUw.cjs");
21
+ const require_measureFns = require("./measureFns-D_QKZ5yg.cjs");
22
+ const require_cornerFinder = require("./cornerFinder-DTt_SvtC.cjs");
23
+ const require_extrudeFns = require("./extrudeFns-Rcut7h8S.cjs");
24
+ const require_blueprintFns = require("./blueprintFns-COrEYX29.cjs");
25
+ const require_importFns = require("./importFns-DGE5nCSW.cjs");
26
+ const require_shapeRefFns = require("./shapeRefFns-CVdS6jWS.cjs");
27
+ const require_workerHandler = require("./workerHandler-C-7OUJsa.cjs");
25
28
  //#region src/topology/shapeBooleans.ts
26
29
  var BOPAlgo_GlueShift = 1;
27
30
  var BOPAlgo_GlueFull = 2;
@@ -65,9 +68,9 @@ function withNearestPostFilter(baseFinder, nearestPoint) {
65
68
  const candidates = baseFinder.findAll(shape);
66
69
  if (candidates.length === 0) return [];
67
70
  let bestIdx = 0;
68
- let bestDist = require_vecOps.vecDistance(require_arrayAccess.vertexPosition(require_arrayAccess.firstOrThrow(candidates)), nearestPoint);
71
+ let bestDist = require_vecOps.vecDistance(require_shapeFns.vertexPosition(require_arrayAccess.firstOrThrow(candidates)), nearestPoint);
69
72
  for (let i = 1; i < candidates.length; i++) {
70
- const d = require_vecOps.vecDistance(require_arrayAccess.vertexPosition(require_arrayAccess.getAtOrThrow(candidates, i)), nearestPoint);
73
+ const d = require_vecOps.vecDistance(require_shapeFns.vertexPosition(require_arrayAccess.getAtOrThrow(candidates, i)), nearestPoint);
71
74
  if (d < bestDist) {
72
75
  bestDist = d;
73
76
  bestIdx = i;
@@ -89,9 +92,9 @@ function withNearestPostFilter(baseFinder, nearestPoint) {
89
92
  function buildVertexFinder(filters) {
90
93
  return require_helpers.createTypedFinder("vertex", filters, buildVertexFinder, (_base, withFilter) => ({
91
94
  nearestTo: (point) => withNearestPostFilter(buildVertexFinder(filters), point),
92
- atPosition: (point, tolerance = 1e-4) => withFilter((vertex) => require_vecOps.vecDistance(require_arrayAccess.vertexPosition(vertex), point) < tolerance),
95
+ atPosition: (point, tolerance = 1e-4) => withFilter((vertex) => require_vecOps.vecDistance(require_shapeFns.vertexPosition(vertex), point) < tolerance),
93
96
  withinBox: (min, max) => withFilter((vertex) => {
94
- const pos = require_arrayAccess.vertexPosition(vertex);
97
+ const pos = require_shapeFns.vertexPosition(vertex);
95
98
  return pos[0] >= min[0] - 1e-6 && pos[0] <= max[0] + 1e-6 && pos[1] >= min[1] - 1e-6 && pos[1] <= max[1] + 1e-6 && pos[2] >= min[2] - 1e-6 && pos[2] <= max[2] + 1e-6;
96
99
  }),
97
100
  atDistance: (distance, point = [
@@ -99,7 +102,7 @@ function buildVertexFinder(filters) {
99
102
  0,
100
103
  0
101
104
  ], tolerance = 1e-4) => withFilter((vertex) => {
102
- const pos = require_arrayAccess.vertexPosition(vertex);
105
+ const pos = require_shapeFns.vertexPosition(vertex);
103
106
  return Math.abs(require_vecOps.vecDistance(pos, point) - distance) < tolerance;
104
107
  })
105
108
  }));
@@ -407,7 +410,7 @@ function convexHull(points) {
407
410
  * type is 'sphere'.
408
411
  */
409
412
  function detectSphere(shape) {
410
- const faces = require_arrayAccess.getFaces(shape);
413
+ const faces = require_shapeFns.getFaces(shape);
411
414
  if (faces.length !== 1) return null;
412
415
  const face = faces[0];
413
416
  if (require_shapeTypes.getKernel().surfaceType(face.wrapped) !== "sphere") return null;
@@ -440,8 +443,8 @@ function minkowskiSphere(shape, radius, tolerance) {
440
443
  function minkowskiGeneral(shape, tool, tolerance) {
441
444
  const kernel = require_shapeTypes.getKernel();
442
445
  try {
443
- const shapeVerts = require_arrayAccess.getVertices(shape);
444
- const toolVerts = require_arrayAccess.getVertices(tool);
446
+ const shapeVerts = require_shapeFns.getVertices(shape);
447
+ const toolVerts = require_shapeFns.getVertices(tool);
445
448
  if (shapeVerts.length === 0 || toolVerts.length === 0) return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.MINKOWSKI_FAILED, "Minkowski sum: one or both shapes have no vertices", void 0, { operation: "minkowski" }));
446
449
  const sumPoints = [];
447
450
  for (const sv of shapeVerts) {
@@ -934,7 +937,7 @@ function computeStraightSkeletonImpl(polygon) {
934
937
  * evaluation. The kernel builds the actual B-Rep faces and solid.
935
938
  */
936
939
  function extractPolygon(w) {
937
- const pts = require_arrayAccess.getEdges(w).map((e) => {
940
+ const pts = require_shapeFns.getEdges(w).map((e) => {
938
941
  const pt = require_curveFns.curveStartPoint(e);
939
942
  return {
940
943
  x: pt[0],
@@ -1406,7 +1409,7 @@ function checkInterference(shape1, shape2, tolerance = 1e-6) {
1406
1409
  */
1407
1410
  function checkAllInterferences(shapes, tolerance = 1e-6) {
1408
1411
  const pairs = [];
1409
- const boxes = shapes.map((s) => require_arrayAccess.getBounds(s));
1412
+ const boxes = shapes.map((s) => require_shapeFns.getBounds(s));
1410
1413
  shapes.forEach((si, i) => {
1411
1414
  for (let j = i + 1; j < shapes.length; j++) {
1412
1415
  if (aabbDisjoint(boxes[i], boxes[j], tolerance)) continue;
@@ -1921,7 +1924,7 @@ async function importThreeMF(blob) {
1921
1924
  const solid = buildSolidFromMesh(parsed);
1922
1925
  if (solid.ok) {
1923
1926
  const dominantColor = findDominantColor(parsed.triangleColors);
1924
- if (dominantColor !== null) require_arrayAccess.colorShape(solid.value, dominantColor);
1927
+ if (dominantColor !== null) require_shapeFns.colorShape(solid.value, dominantColor);
1925
1928
  }
1926
1929
  return solid;
1927
1930
  } catch (e) {
@@ -1972,17 +1975,17 @@ function resolve3D(s) {
1972
1975
  //#region src/topology/api.ts
1973
1976
  /** Translate a shape by a vector. Returns a new shape. */
1974
1977
  function translate(shape, v) {
1975
- return require_arrayAccess.translate(resolve(shape), v);
1978
+ return require_shapeFns.translate(resolve(shape), v);
1976
1979
  }
1977
1980
  /** Rotate a shape around an axis. Angle is in degrees. Returns a new shape. */
1978
1981
  function rotate(shape, angle, options) {
1979
1982
  const pivotPoint = options?.at;
1980
- return require_arrayAccess.rotate(resolve(shape), angle, pivotPoint, options?.axis);
1983
+ return require_shapeFns.rotate(resolve(shape), angle, pivotPoint, options?.axis);
1981
1984
  }
1982
1985
  /** Mirror a shape through a plane. Returns a new shape. */
1983
1986
  function mirror(shape, options) {
1984
1987
  const planeOrigin = options?.at;
1985
- return require_arrayAccess.mirror(resolve(shape), options?.normal ?? [
1988
+ return require_shapeFns.mirror(resolve(shape), options?.normal ?? [
1986
1989
  1,
1987
1990
  0,
1988
1991
  0
@@ -1990,11 +1993,11 @@ function mirror(shape, options) {
1990
1993
  }
1991
1994
  /** Scale a shape uniformly. Returns a new shape. */
1992
1995
  function scale(shape, factor, options) {
1993
- return require_arrayAccess.scale(resolve(shape), factor, options?.center);
1996
+ return require_shapeFns.scale(resolve(shape), factor, options?.center);
1994
1997
  }
1995
1998
  /** Clone a shape (deep copy). */
1996
1999
  function clone(shape) {
1997
- return require_arrayAccess.clone(resolve(shape));
2000
+ return require_shapeFns.clone(resolve(shape));
1998
2001
  }
1999
2002
  /**
2000
2003
  * Apply a 4x4 affine transformation matrix to a shape.
@@ -2004,14 +2007,14 @@ function clone(shape) {
2004
2007
  * `MatrixTransform` with explicit `linear` and `translation` fields.
2005
2008
  */
2006
2009
  function applyMatrix(shape, matrix) {
2007
- return require_arrayAccess.applyMatrix(resolve(shape), matrix);
2010
+ return require_shapeFns.applyMatrix(resolve(shape), matrix);
2008
2011
  }
2009
2012
  /**
2010
2013
  * Clone a shape and apply a pre-composed transform in a single kernel operation.
2011
2014
  * Much faster than separate clone() + translate() + rotate() calls for batch patterns.
2012
2015
  */
2013
2016
  function transformCopy(shape, composed) {
2014
- return require_arrayAccess.transformCopy(resolve(shape), composed);
2017
+ return require_shapeFns.transformCopy(resolve(shape), composed);
2015
2018
  }
2016
2019
  /** Fuse two 3D shapes (boolean union). */
2017
2020
  function fuse(a, b, options) {
@@ -2114,7 +2117,7 @@ function chamfer(shape, edgesOrDistance, maybeDistance) {
2114
2117
  }
2115
2118
  const normalized = normalizeChamferDistance(distance);
2116
2119
  if (normalized.mode === "distAngle") {
2117
- const selectedEdges = edges ?? require_arrayAccess.getEdges(s);
2120
+ const selectedEdges = edges ?? require_shapeFns.getEdges(s);
2118
2121
  return require_primitiveFns.chamferDistAngle(s, [...selectedEdges], normalized.distance, normalized.angle);
2119
2122
  }
2120
2123
  return require_primitiveFns.chamfer(s, edges, normalized.distance);
@@ -2151,7 +2154,7 @@ function heal(shape) {
2151
2154
  }
2152
2155
  /** Simplify a shape by merging same-domain faces/edges. */
2153
2156
  function simplify(shape) {
2154
- return require_arrayAccess.simplify(resolve(shape));
2157
+ return require_shapeFns.simplify(resolve(shape));
2155
2158
  }
2156
2159
  /** Mesh a shape for rendering. */
2157
2160
  function mesh(shape, options) {
@@ -2163,11 +2166,11 @@ function meshEdges(shape, options) {
2163
2166
  }
2164
2167
  /** Get a summary description of a shape. */
2165
2168
  function describe(shape) {
2166
- return require_arrayAccess.describe(resolve(shape));
2169
+ return require_shapeFns.describe(resolve(shape));
2167
2170
  }
2168
2171
  /** Serialize a shape to BREP format. */
2169
2172
  function toBREP(shape) {
2170
- return require_arrayAccess.toBREP(resolve(shape));
2173
+ return require_shapeFns.toBREP(resolve(shape));
2171
2174
  }
2172
2175
  /** Deserialize a shape from BREP format. */
2173
2176
  function fromBREP$1(data) {
@@ -2179,7 +2182,7 @@ function isValid(shape) {
2179
2182
  }
2180
2183
  /** Check if a shape is empty (null). */
2181
2184
  function isEmpty(shape) {
2182
- return require_arrayAccess.isEmpty(resolve(shape));
2185
+ return require_shapeFns.isEmpty(resolve(shape));
2183
2186
  }
2184
2187
  //#endregion
2185
2188
  //#region src/operations/api.ts
@@ -2226,7 +2229,7 @@ function loft(wires, options) {
2226
2229
  /** Resolve a face selection: Face, FinderFn, or default (top Z-facing face). */
2227
2230
  function resolveTargetFace(shape, faceSpec) {
2228
2231
  if (faceSpec === void 0) {
2229
- const faces = require_arrayAccess.getFaces(shape);
2232
+ const faces = require_shapeFns.getFaces(shape);
2230
2233
  if (faces.length === 0) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.COMPOUND_NO_FACES, "compoundOps: shape has no faces"));
2231
2234
  let best = require_arrayAccess.firstOrThrow(faces);
2232
2235
  let bestZ = require_faceFns.faceCenter(best)[2];
@@ -2281,7 +2284,7 @@ function drill(shape, options) {
2281
2284
  let tool;
2282
2285
  if (options.depth !== void 0) tool = require_solidBuilders.makeCylinder(radius, options.depth, pos, dir);
2283
2286
  else {
2284
- const b = require_arrayAccess.getBounds(s);
2287
+ const b = require_shapeFns.getBounds(s);
2285
2288
  const corners = [
2286
2289
  [
2287
2290
  b.xMin,
@@ -2397,7 +2400,7 @@ function mirrorJoin(shape, options) {
2397
2400
  0
2398
2401
  ];
2399
2402
  const planeOrigin = options?.at;
2400
- return require_booleanFns.fuse(s, require_arrayAccess.mirror(s, normal, planeOrigin), { unsafe: true });
2403
+ return require_booleanFns.fuse(s, require_shapeFns.mirror(s, normal, planeOrigin), { unsafe: true });
2401
2404
  }
2402
2405
  /**
2403
2406
  * Create a rectangular (2D grid) pattern of a shape.
@@ -2422,7 +2425,7 @@ function rectangularPattern(shape, options) {
2422
2425
  xNorm[1] * xSpacing * xi + yNorm[1] * ySpacing * yi,
2423
2426
  xNorm[2] * xSpacing * xi + yNorm[2] * ySpacing * yi
2424
2427
  ];
2425
- copies.push(require_arrayAccess.translate(s, offset));
2428
+ copies.push(require_shapeFns.translate(s, offset));
2426
2429
  }
2427
2430
  return require_booleanFns.fuseAll(copies, { unsafe: true });
2428
2431
  }
@@ -2491,16 +2494,16 @@ function createWrappedBase(val) {
2491
2494
  0,
2492
2495
  1
2493
2496
  ] })),
2494
- bounds: () => require_arrayAccess.getBounds(val),
2497
+ bounds: () => require_shapeFns.getBounds(val),
2495
2498
  describe: () => describe(val),
2496
- clone: () => wrapAny(clone(val)),
2499
+ clone: () => wrapAny(unwrapOrThrow(clone(val))),
2497
2500
  mesh: (opts) => mesh(val, opts),
2498
2501
  meshEdges: (opts) => meshEdges(val, opts),
2499
2502
  isValid: () => isValid(val),
2500
2503
  isEmpty: () => isEmpty(val),
2501
2504
  heal: () => wrapAny(unwrapOrThrow(heal(val))),
2502
- simplify: () => wrapAny(simplify(val)),
2503
- toBREP: () => toBREP(val),
2505
+ simplify: () => wrapAny(unwrapOrThrow(simplify(val))),
2506
+ toBREP: () => unwrapOrThrow(toBREP(val)),
2504
2507
  apply: (fn) => wrapAny(fn(val)),
2505
2508
  applyResult: (fn) => wrapAny(unwrapOrThrow(fn(val))),
2506
2509
  done: () => val
@@ -2552,10 +2555,10 @@ function createWrapped3D(val) {
2552
2555
  area: () => unwrapOrThrow(require_measureFns.measureArea(val)),
2553
2556
  volumeProps: () => unwrapOrThrow(require_measureFns.measureVolumeProps(val)),
2554
2557
  surfaceProps: () => unwrapOrThrow(require_measureFns.measureSurfaceProps(val)),
2555
- edges: () => require_arrayAccess.getEdges(val),
2556
- faces: () => require_arrayAccess.getFaces(val),
2557
- wires: () => require_arrayAccess.getWires(val),
2558
- vertices: () => require_arrayAccess.getVertices(val),
2558
+ edges: () => require_shapeFns.getEdges(val),
2559
+ faces: () => require_shapeFns.getFaces(val),
2560
+ wires: () => require_shapeFns.getWires(val),
2561
+ vertices: () => require_shapeFns.getVertices(val),
2559
2562
  linearPattern: (dir, count, spacing) => wrap3D(unwrapOrThrow(require_historyFns.linearPattern(val, dir, count, spacing))),
2560
2563
  circularPattern: (axis, count, angle) => wrap3D(unwrapOrThrow(require_historyFns.circularPattern(val, axis, count, angle)))
2561
2564
  };
@@ -2609,16 +2612,164 @@ function shape(s) {
2609
2612
  throw new Error("shape() requires a Sketch or branded shape type");
2610
2613
  }
2611
2614
  //#endregion
2615
+ //#region src/ns/primitives.ts
2616
+ var primitives_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2617
+ addHoles: () => require_primitiveFns.addHoles,
2618
+ bezier: () => require_primitiveFns.bezier,
2619
+ box: () => require_primitiveFns.box,
2620
+ bsplineApprox: () => require_primitiveFns.bsplineApprox,
2621
+ circle: () => require_primitiveFns.circle,
2622
+ compound: () => require_primitiveFns.compound,
2623
+ cone: () => require_primitiveFns.cone,
2624
+ cylinder: () => require_primitiveFns.cylinder,
2625
+ ellipse: () => require_primitiveFns.ellipse,
2626
+ ellipseArc: () => require_primitiveFns.ellipseArc,
2627
+ ellipsoid: () => require_primitiveFns.ellipsoid,
2628
+ face: () => require_primitiveFns.face,
2629
+ fill: () => require_surfaceBuilders.fill,
2630
+ filledFace: () => require_primitiveFns.filledFace,
2631
+ helix: () => require_primitiveFns.helix,
2632
+ line: () => require_primitiveFns.line,
2633
+ offsetFace: () => require_primitiveFns.offsetFace,
2634
+ polygon: () => require_primitiveFns.polygon,
2635
+ polyhedron: () => polyhedron,
2636
+ sewShells: () => require_primitiveFns.sewShells,
2637
+ solid: () => require_primitiveFns.solid,
2638
+ sphere: () => require_primitiveFns.sphere,
2639
+ subFace: () => require_primitiveFns.subFace,
2640
+ tangentArc: () => require_primitiveFns.tangentArc,
2641
+ threePointArc: () => require_primitiveFns.threePointArc,
2642
+ torus: () => require_primitiveFns.torus,
2643
+ vertex: () => require_primitiveFns.vertex,
2644
+ wire: () => require_primitiveFns.wire,
2645
+ wireLoop: () => require_primitiveFns.wireLoop
2646
+ });
2647
+ //#endregion
2648
+ //#region src/ns/booleans.ts
2649
+ var booleans_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2650
+ checkBoolean: () => require_primitiveFns.checkBoolean,
2651
+ convexHull: () => convexHull,
2652
+ cut: () => cut,
2653
+ cutAll: () => require_booleanFns.cutAll,
2654
+ fuse: () => fuse,
2655
+ fuseAll: () => require_booleanFns.fuseAll,
2656
+ hull: () => hull,
2657
+ intersect: () => intersect,
2658
+ minkowski: () => minkowski,
2659
+ section: () => section,
2660
+ sectionToFace: () => sectionToFace,
2661
+ slice: () => slice,
2662
+ split: () => split
2663
+ });
2664
+ //#endregion
2665
+ //#region src/ns/modifiers.ts
2666
+ var modifiers_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2667
+ chamfer: () => chamfer,
2668
+ draft: () => draft,
2669
+ fillet: () => fillet,
2670
+ heal: () => heal,
2671
+ offset: () => offset,
2672
+ shell: () => shell,
2673
+ simplify: () => simplify,
2674
+ thicken: () => thicken,
2675
+ variableFillet: () => require_primitiveFns.variableFillet
2676
+ });
2677
+ //#endregion
2678
+ //#region src/ns/transforms.ts
2679
+ var transforms_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2680
+ applyMatrix: () => applyMatrix,
2681
+ clone: () => clone,
2682
+ composeTransforms: () => require_shapeFns.composeTransforms,
2683
+ mirror: () => mirror,
2684
+ rotate: () => rotate,
2685
+ scale: () => scale,
2686
+ transformCopy: () => transformCopy,
2687
+ translate: () => translate
2688
+ });
2689
+ //#endregion
2690
+ //#region src/ns/measurement.ts
2691
+ var measurement_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2692
+ checkAllInterferences: () => checkAllInterferences,
2693
+ checkInterference: () => checkInterference,
2694
+ createDistanceQuery: () => require_measureFns.createDistanceQuery,
2695
+ measureArea: () => require_measureFns.measureArea,
2696
+ measureCurvatureAt: () => require_measureFns.measureCurvatureAt,
2697
+ measureCurvatureAtMid: () => require_measureFns.measureCurvatureAtMid,
2698
+ measureDistance: () => require_measureFns.measureDistance,
2699
+ measureDistanceProps: () => require_measureFns.measureDistanceProps,
2700
+ measureLength: () => require_measureFns.measureLength,
2701
+ measureLinearProps: () => require_measureFns.measureLinearProps,
2702
+ measureSurfaceProps: () => require_measureFns.measureSurfaceProps,
2703
+ measureVolume: () => require_measureFns.measureVolume,
2704
+ measureVolumeProps: () => require_measureFns.measureVolumeProps
2705
+ });
2706
+ //#endregion
2707
+ //#region src/ns/ioNs.ts
2708
+ var ioNs_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2709
+ blueprintToDXF: () => require_importFns.blueprintToDXF,
2710
+ exportAssemblySTEP: () => require_historyFns.exportAssemblySTEP,
2711
+ exportDXF: () => require_importFns.exportDXF,
2712
+ exportGlb: () => require_importFns.exportGlb,
2713
+ exportGltf: () => require_importFns.exportGltf,
2714
+ exportIGES: () => require_meshFns.exportIGES,
2715
+ exportOBJ: () => require_importFns.exportOBJ,
2716
+ exportSTEP: () => require_meshFns.exportSTEP,
2717
+ exportSTEPConfigured: () => require_importFns.exportSTEPConfigured,
2718
+ exportSTL: () => require_meshFns.exportSTL,
2719
+ exportThreeMF: () => require_importFns.exportThreeMF,
2720
+ importDXF: () => importDXF,
2721
+ importGLB: () => importGLB,
2722
+ importIGES: () => require_importFns.importIGES,
2723
+ importOBJ: () => importOBJ,
2724
+ importSTEP: () => require_importFns.importSTEP,
2725
+ importSTL: () => require_importFns.importSTL,
2726
+ importSVG: () => require_importFns.importSVG,
2727
+ importSVGPathD: () => require_importFns.importSVGPathD,
2728
+ importThreeMF: () => importThreeMF
2729
+ });
2730
+ //#endregion
2731
+ //#region src/ns/query.ts
2732
+ var query_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2733
+ cornerFinder: () => require_cornerFinder.cornerFinder,
2734
+ edgeFinder: () => require_helpers.edgeFinder,
2735
+ faceFinder: () => require_helpers.faceFinder,
2736
+ getSingleFace: () => require_helpers.getSingleFace,
2737
+ vertexFinder: () => vertexFinder,
2738
+ wireFinder: () => require_helpers.wireFinder
2739
+ });
2740
+ //#endregion
2741
+ //#region src/ns/construction.ts
2742
+ var construction_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2743
+ complexExtrude: () => require_extrudeFns.complexExtrude,
2744
+ extrude: () => extrude,
2745
+ guidedSweep: () => require_extrudeFns.guidedSweep,
2746
+ loft: () => loft,
2747
+ multiSectionSweep: () => require_extrudeFns.multiSectionSweep,
2748
+ revolve: () => revolve,
2749
+ roof: () => roof,
2750
+ supportExtrude: () => require_extrudeFns.supportExtrude,
2751
+ surfaceFromGrid: () => surfaceFromGrid,
2752
+ surfaceFromImage: () => surfaceFromImage,
2753
+ sweep: () => require_extrudeFns.sweep,
2754
+ twistExtrude: () => require_extrudeFns.twistExtrude
2755
+ });
2756
+ //#endregion
2757
+ //#region src/ns/patterns.ts
2758
+ var patterns_exports = /* @__PURE__ */ require_drawFns.__exportAll({
2759
+ circularPattern: () => require_historyFns.circularPattern,
2760
+ linearPattern: () => require_historyFns.linearPattern
2761
+ });
2762
+ //#endregion
2612
2763
  exports.BrepBugError = require_errors.BrepBugError;
2613
2764
  exports.BrepErrorCode = require_errors.BrepErrorCode;
2614
2765
  exports.BrepWrapperError = BrepWrapperError;
2615
2766
  exports.BrepkitAdapter = require_shapeTypes.BrepkitAdapter;
2616
2767
  exports.CompoundSketch = require_drawFns.CompoundSketch;
2617
- exports.DEG2RAD = require_vecOps.DEG2RAD;
2768
+ exports.DEG2RAD = require_constants.DEG2RAD;
2618
2769
  exports.DisposalScope = require_shapeTypes.DisposalScope;
2619
- exports.HASH_CODE_MAX = require_vecOps.HASH_CODE_MAX;
2770
+ exports.HASH_CODE_MAX = require_constants.HASH_CODE_MAX;
2620
2771
  exports.OK = require_errors.OK;
2621
- exports.RAD2DEG = require_vecOps.RAD2DEG;
2772
+ exports.RAD2DEG = require_constants.RAD2DEG;
2622
2773
  exports.Sketch = require_boolean2D.Sketch;
2623
2774
  exports.Sketches = require_drawFns.Sketches;
2624
2775
  exports.addChild = require_historyFns.addChild;
@@ -2634,15 +2785,23 @@ exports.approximateCurve = require_curveFns.approximateCurve;
2634
2785
  exports.as2D = require_shapeTypes.as2D;
2635
2786
  exports.as3D = require_shapeTypes.as3D;
2636
2787
  exports.asTopo = require_faceFns.asTopo;
2788
+ exports.assignRoles = require_shapeRefFns.assignRoles;
2637
2789
  exports.autoHeal = require_primitiveFns.autoHeal;
2638
2790
  exports.bezier = require_primitiveFns.bezier;
2639
2791
  exports.blueprintToDXF = require_importFns.blueprintToDXF;
2792
+ Object.defineProperty(exports, "booleans", {
2793
+ enumerable: true,
2794
+ get: function() {
2795
+ return booleans_exports;
2796
+ }
2797
+ });
2640
2798
  exports.boss = boss;
2641
2799
  exports.box = require_primitiveFns.box;
2642
2800
  exports.bsplineApprox = require_primitiveFns.bsplineApprox;
2643
2801
  exports.bug = require_errors.bug;
2644
2802
  exports.cameraFromPlane = require_drawFns.cameraFromPlane;
2645
2803
  exports.cameraLookAt = require_drawFns.cameraLookAt;
2804
+ exports.captureHint = require_shapeRefFns.captureHint;
2646
2805
  exports.cast = require_faceFns.cast;
2647
2806
  exports.castShape = require_shapeTypes.castShape;
2648
2807
  exports.castShape3D = require_shapeTypes.castShape3D;
@@ -2660,10 +2819,10 @@ exports.clone = clone;
2660
2819
  exports.closedWire = require_shapeTypes.closedWire;
2661
2820
  exports.collect = require_errors.collect;
2662
2821
  exports.collectShapes = require_historyFns.collectShapes;
2663
- exports.colorFaces = require_arrayAccess.colorFaces;
2664
- exports.colorShape = require_arrayAccess.colorShape;
2822
+ exports.colorFaces = require_shapeFns.colorFaces;
2823
+ exports.colorShape = require_shapeFns.colorShape;
2665
2824
  exports.complexExtrude = require_extrudeFns.complexExtrude;
2666
- exports.composeTransforms = require_arrayAccess.composeTransforms;
2825
+ exports.composeTransforms = require_shapeFns.composeTransforms;
2667
2826
  exports.compound = require_primitiveFns.compound;
2668
2827
  exports.compoundSketchExtrude = require_drawFns.compoundSketchExtrude;
2669
2828
  exports.compoundSketchFace = require_drawFns.compoundSketchFace;
@@ -2672,6 +2831,12 @@ exports.compoundSketchRevolve = require_drawFns.compoundSketchRevolve;
2672
2831
  exports.computationError = require_errors.computationError;
2673
2832
  exports.computeStraightSkeleton = computeStraightSkeleton;
2674
2833
  exports.cone = require_primitiveFns.cone;
2834
+ Object.defineProperty(exports, "construction", {
2835
+ enumerable: true,
2836
+ get: function() {
2837
+ return construction_exports;
2838
+ }
2839
+ });
2675
2840
  exports.convexHull = convexHull;
2676
2841
  exports.cornerFinder = require_cornerFinder.cornerFinder;
2677
2842
  exports.countNodes = require_historyFns.countNodes;
@@ -2691,6 +2856,7 @@ exports.createMeshCache = require_meshFns.createMeshCache;
2691
2856
  exports.createNamedPlane = require_planeOps.createNamedPlane;
2692
2857
  exports.createOperationRegistry = require_workerHandler.createOperationRegistry;
2693
2858
  exports.createPlane = require_planeOps.createPlane;
2859
+ exports.createRef = require_shapeRefFns.createRef;
2694
2860
  exports.createRegistry = require_historyFns.createRegistry;
2695
2861
  exports.createShell = require_shapeTypes.createShell;
2696
2862
  exports.createSolid = require_shapeTypes.createSolid;
@@ -2721,6 +2887,7 @@ exports.cutAll = require_booleanFns.cutAll;
2721
2887
  exports.cutBlueprints = require_boolean2D.cutBlueprints;
2722
2888
  exports.cutWithEvolution = require_primitiveFns.cutWithEvolution;
2723
2889
  exports.cylinder = require_primitiveFns.cylinder;
2890
+ exports.defaultScorer = require_shapeRefFns.defaultScorer;
2724
2891
  exports.dequeueTask = require_workerHandler.dequeueTask;
2725
2892
  exports.describe = describe;
2726
2893
  exports.deserializeDrawing = require_drawFns.deserializeDrawing;
@@ -2776,7 +2943,7 @@ exports.fill = require_surfaceBuilders.fill;
2776
2943
  exports.filledFace = require_primitiveFns.filledFace;
2777
2944
  exports.fillet = fillet;
2778
2945
  exports.filletWithEvolution = require_primitiveFns.filletWithEvolution;
2779
- exports.findFacesByTag = require_arrayAccess.findFacesByTag;
2946
+ exports.findFacesByTag = require_shapeFns.findFacesByTag;
2780
2947
  exports.findNode = require_historyFns.findNode;
2781
2948
  exports.findStep = require_historyFns.findStep;
2782
2949
  exports.fixSelfIntersection = require_primitiveFns.fixSelfIntersection;
@@ -2796,30 +2963,30 @@ exports.fuse2D = require_boolean2D.fuse2D;
2796
2963
  exports.fuseAll = require_booleanFns.fuseAll;
2797
2964
  exports.fuseBlueprints = require_boolean2D.fuseBlueprints;
2798
2965
  exports.fuseWithEvolution = require_primitiveFns.fuseWithEvolution;
2799
- exports.getBounds = require_arrayAccess.getBounds;
2966
+ exports.getBounds = require_shapeFns.getBounds;
2800
2967
  exports.getBounds2D = require_blueprintFns.getBounds2D;
2801
2968
  exports.getCurveType = require_curveFns.getCurveType;
2802
2969
  exports.getDisposalStats = require_shapeTypes.getDisposalStats;
2803
- exports.getEdges = require_arrayAccess.getEdges;
2804
- exports.getFaceColor = require_arrayAccess.getFaceColor;
2805
- exports.getFaceOrigins = require_arrayAccess.getFaceOrigins;
2806
- exports.getFaceTags = require_arrayAccess.getFaceTags;
2807
- exports.getFaces = require_arrayAccess.getFaces;
2970
+ exports.getEdges = require_shapeFns.getEdges;
2971
+ exports.getFaceColor = require_shapeFns.getFaceColor;
2972
+ exports.getFaceOrigins = require_shapeFns.getFaceOrigins;
2973
+ exports.getFaceTags = require_shapeFns.getFaceTags;
2974
+ exports.getFaces = require_shapeFns.getFaces;
2808
2975
  exports.getFont = require_drawFns.getFont;
2809
- exports.getHashCode = require_arrayAccess.getHashCode;
2976
+ exports.getHashCode = require_shapeFns.getHashCode;
2810
2977
  exports.getHistoryShape = require_historyFns.getShape;
2811
2978
  exports.getKernel = require_shapeTypes.getKernel;
2812
2979
  exports.getNurbsCurveData = require_primitiveFns.getNurbsCurveData;
2813
2980
  exports.getNurbsSurfaceData = require_primitiveFns.getNurbsSurfaceData;
2814
2981
  exports.getOrientation = require_curveFns.getOrientation;
2815
2982
  exports.getOrientation2D = require_blueprintFns.getOrientation2D;
2816
- exports.getShapeColor = require_arrayAccess.getShapeColor;
2983
+ exports.getShapeColor = require_shapeFns.getShapeColor;
2817
2984
  exports.getShapeKind = require_shapeTypes.getShapeKind;
2818
2985
  exports.getSingleFace = require_helpers.getSingleFace;
2819
2986
  exports.getSurfaceType = require_faceFns.getSurfaceType;
2820
- exports.getTagMetadata = require_arrayAccess.getTagMetadata;
2821
- exports.getVertices = require_arrayAccess.getVertices;
2822
- exports.getWires = require_arrayAccess.getWires;
2987
+ exports.getTagMetadata = require_shapeFns.getTagMetadata;
2988
+ exports.getVertices = require_shapeFns.getVertices;
2989
+ exports.getWires = require_shapeFns.getWires;
2823
2990
  exports.guidedSweep = require_extrudeFns.guidedSweep;
2824
2991
  exports.heal = heal;
2825
2992
  exports.healFace = require_primitiveFns.healFace;
@@ -2844,7 +3011,13 @@ exports.intersect = intersect;
2844
3011
  exports.intersect2D = require_boolean2D.intersect2D;
2845
3012
  exports.intersectBlueprints = require_boolean2D.intersectBlueprints;
2846
3013
  exports.intersectWithEvolution = require_primitiveFns.intersectWithEvolution;
2847
- exports.invalidateShapeCache = require_arrayAccess.invalidateShapeCache;
3014
+ exports.invalidateShapeCache = require_shapeFns.invalidateShapeCache;
3015
+ Object.defineProperty(exports, "io", {
3016
+ enumerable: true,
3017
+ get: function() {
3018
+ return ioNs_exports;
3019
+ }
3020
+ });
2848
3021
  exports.ioError = require_errors.ioError;
2849
3022
  exports.is2D = require_shapeTypes.is2D;
2850
3023
  exports.is3D = require_shapeTypes.is3D;
@@ -2855,7 +3028,7 @@ exports.isCompound = require_shapeTypes.isCompound;
2855
3028
  exports.isDisposeRequest = require_workerHandler.isDisposeRequest;
2856
3029
  exports.isEdge = require_shapeTypes.isEdge;
2857
3030
  exports.isEmpty = isEmpty;
2858
- exports.isEqualShape = require_arrayAccess.isEqualShape;
3031
+ exports.isEqualShape = require_shapeFns.isEqualShape;
2859
3032
  exports.isErr = require_errors.isErr;
2860
3033
  exports.isErrorResponse = require_workerHandler.isErrorResponse;
2861
3034
  exports.isFace = require_shapeTypes.isFace;
@@ -2872,7 +3045,7 @@ exports.isPlanarFace = require_shapeTypes.isPlanarFace;
2872
3045
  exports.isPlanarWire = require_shapeTypes.isPlanarWire;
2873
3046
  exports.isProjectionPlane = require_drawFns.isProjectionPlane;
2874
3047
  exports.isQueueEmpty = require_workerHandler.isEmpty;
2875
- exports.isSameShape = require_arrayAccess.isSameShape;
3048
+ exports.isSameShape = require_shapeFns.isSameShape;
2876
3049
  exports.isShape1D = require_shapeTypes.isShape1D;
2877
3050
  exports.isShape3D = require_shapeTypes.isShape3D;
2878
3051
  exports.isShell = require_shapeTypes.isShell;
@@ -2882,14 +3055,14 @@ exports.isValid = isValid;
2882
3055
  exports.isValidSolid = require_shapeTypes.isValidSolid;
2883
3056
  exports.isVertex = require_shapeTypes.isVertex;
2884
3057
  exports.isWire = require_shapeTypes.isWire;
2885
- exports.iterEdges = require_arrayAccess.iterEdges;
2886
- exports.iterFaces = require_arrayAccess.iterFaces;
3058
+ exports.iterEdges = require_shapeFns.iterEdges;
3059
+ exports.iterFaces = require_shapeFns.iterFaces;
2887
3060
  exports.iterTopo = require_faceFns.iterTopo;
2888
- exports.iterVertices = require_arrayAccess.iterVertices;
2889
- exports.iterWires = require_arrayAccess.iterWires;
2890
- exports.kernelCall = require_blueprintFns.kernelCall;
2891
- exports.kernelCallRaw = require_blueprintFns.kernelCallRaw;
2892
- exports.kernelCallScoped = require_blueprintFns.kernelCallScoped;
3061
+ exports.iterVertices = require_shapeFns.iterVertices;
3062
+ exports.iterWires = require_shapeFns.iterWires;
3063
+ exports.kernelCall = require_faceFns.kernelCall;
3064
+ exports.kernelCallRaw = require_faceFns.kernelCallRaw;
3065
+ exports.kernelCallScoped = require_faceFns.kernelCallScoped;
2893
3066
  exports.kernelError = require_errors.kernelError;
2894
3067
  exports.line = require_primitiveFns.line;
2895
3068
  exports.linearPattern = require_historyFns.linearPattern;
@@ -2913,6 +3086,12 @@ exports.measureLinearProps = require_measureFns.measureLinearProps;
2913
3086
  exports.measureSurfaceProps = require_measureFns.measureSurfaceProps;
2914
3087
  exports.measureVolume = require_measureFns.measureVolume;
2915
3088
  exports.measureVolumeProps = require_measureFns.measureVolumeProps;
3089
+ Object.defineProperty(exports, "measurement", {
3090
+ enumerable: true,
3091
+ get: function() {
3092
+ return measurement_exports;
3093
+ }
3094
+ });
2916
3095
  exports.mesh = mesh;
2917
3096
  exports.meshEdges = meshEdges;
2918
3097
  exports.minkowski = minkowski;
@@ -2920,6 +3099,12 @@ exports.mirror = mirror;
2920
3099
  exports.mirror2D = require_blueprintFns.mirror2D;
2921
3100
  exports.mirrorDrawing = require_drawFns.mirrorDrawing;
2922
3101
  exports.mirrorJoin = mirrorJoin;
3102
+ Object.defineProperty(exports, "modifiers", {
3103
+ enumerable: true,
3104
+ get: function() {
3105
+ return modifiers_exports;
3106
+ }
3107
+ });
2923
3108
  exports.modifyStep = require_historyFns.modifyStep;
2924
3109
  exports.moduleInitError = require_errors.moduleInitError;
2925
3110
  exports.multiSectionSweep = require_extrudeFns.multiSectionSweep;
@@ -2933,6 +3118,12 @@ exports.orElse = require_errors.orElse;
2933
3118
  exports.organiseBlueprints = require_boolean2D.organiseBlueprints;
2934
3119
  exports.orientedFace = require_shapeTypes.orientedFace;
2935
3120
  exports.outerWire = require_faceFns.outerWire;
3121
+ Object.defineProperty(exports, "patterns", {
3122
+ enumerable: true,
3123
+ get: function() {
3124
+ return patterns_exports;
3125
+ }
3126
+ });
2936
3127
  exports.pendingCount = require_workerHandler.pendingCount;
2937
3128
  exports.pipeline = require_errors.pipeline;
2938
3129
  exports.pivotPlane = require_planeOps.pivotPlane;
@@ -2946,8 +3137,20 @@ exports.polysideInnerRadius = require_drawFns.polysideInnerRadius;
2946
3137
  exports.polysidesBlueprint = require_boolean2D.polysidesBlueprint;
2947
3138
  exports.positionOnCurve = require_primitiveFns.positionOnCurve;
2948
3139
  exports.prewarm = require_shapeTypes.prewarm;
3140
+ Object.defineProperty(exports, "primitives", {
3141
+ enumerable: true,
3142
+ get: function() {
3143
+ return primitives_exports;
3144
+ }
3145
+ });
2949
3146
  exports.projectEdges = require_drawFns.projectEdges;
2950
3147
  exports.projectPointOnFace = require_faceFns.projectPointOnFace;
3148
+ Object.defineProperty(exports, "query", {
3149
+ enumerable: true,
3150
+ get: function() {
3151
+ return query_exports;
3152
+ }
3153
+ });
2951
3154
  exports.queryError = require_errors.queryError;
2952
3155
  exports.rectangularPattern = rectangularPattern;
2953
3156
  exports.registerHandler = require_workerHandler.registerHandler;
@@ -2960,11 +3163,12 @@ exports.removeHolesFromFace = require_faceFns.removeHolesFromFace;
2960
3163
  exports.replayFrom = require_historyFns.replayFrom;
2961
3164
  exports.replayHistory = require_historyFns.replayHistory;
2962
3165
  exports.resetDisposalStats = require_shapeTypes.resetDisposalStats;
2963
- exports.resize = require_arrayAccess.resize;
3166
+ exports.resize = require_shapeFns.resize;
2964
3167
  exports.resolve = resolve;
2965
3168
  exports.resolve3D = resolve3D;
2966
3169
  exports.resolveDirection = require_types.resolveDirection;
2967
3170
  exports.resolvePlane = require_planeOps.resolvePlane;
3171
+ exports.resolveRef = require_shapeRefFns.resolveRef;
2968
3172
  exports.reverseCurve = require_blueprintFns.reverseCurve;
2969
3173
  exports.revolve = revolve;
2970
3174
  exports.roof = roof;
@@ -2978,8 +3182,8 @@ exports.scaleDrawing = require_drawFns.scaleDrawing;
2978
3182
  exports.section = section;
2979
3183
  exports.sectionToFace = sectionToFace;
2980
3184
  exports.serializeHistory = require_historyFns.serializeHistory;
2981
- exports.setShapeOrigin = require_arrayAccess.setShapeOrigin;
2982
- exports.setTagMetadata = require_arrayAccess.setTagMetadata;
3185
+ exports.setShapeOrigin = require_shapeFns.setShapeOrigin;
3186
+ exports.setTagMetadata = require_shapeFns.setTagMetadata;
2983
3187
  exports.sewShells = require_primitiveFns.sewShells;
2984
3188
  exports.shape = shape;
2985
3189
  exports.shapeType = require_faceFns.shapeType;
@@ -3021,7 +3225,7 @@ exports.supportsProjection = require_shapeTypes.supportsProjection;
3021
3225
  exports.surfaceFromGrid = surfaceFromGrid;
3022
3226
  exports.surfaceFromImage = surfaceFromImage;
3023
3227
  exports.sweep = require_extrudeFns.sweep;
3024
- exports.tagFaces = require_arrayAccess.tagFaces;
3228
+ exports.tagFaces = require_shapeFns.tagFaces;
3025
3229
  exports.tangentArc = require_primitiveFns.tangentArc;
3026
3230
  exports.tap = require_errors.tap;
3027
3231
  exports.tapErr = require_errors.tapErr;
@@ -3039,6 +3243,12 @@ exports.toVec2 = require_types.toVec2;
3039
3243
  exports.toVec3 = require_types.toVec3;
3040
3244
  exports.torus = require_primitiveFns.torus;
3041
3245
  exports.transformCopy = transformCopy;
3246
+ Object.defineProperty(exports, "transforms", {
3247
+ enumerable: true,
3248
+ get: function() {
3249
+ return transforms_exports;
3250
+ }
3251
+ });
3042
3252
  exports.translate = translate;
3043
3253
  exports.translate2D = require_blueprintFns.translate2D;
3044
3254
  exports.translateDrawing = require_drawFns.translateDrawing;
@@ -3054,6 +3264,7 @@ exports.unwrapErr = require_errors.unwrapErr;
3054
3264
  exports.unwrapOr = require_errors.unwrapOr;
3055
3265
  exports.unwrapOrElse = require_errors.unwrapOrElse;
3056
3266
  exports.updateNode = require_historyFns.updateNode;
3267
+ exports.updateRoles = require_shapeRefFns.updateRoles;
3057
3268
  exports.uvBounds = require_faceFns.uvBounds;
3058
3269
  exports.uvCoordinates = require_faceFns.uvCoordinates;
3059
3270
  exports.validSolid = require_shapeTypes.validSolid;
@@ -3077,7 +3288,7 @@ exports.vecScale = require_vecOps.vecScale;
3077
3288
  exports.vecSub = require_vecOps.vecSub;
3078
3289
  exports.vertex = require_primitiveFns.vertex;
3079
3290
  exports.vertexFinder = vertexFinder;
3080
- exports.vertexPosition = require_arrayAccess.vertexPosition;
3291
+ exports.vertexPosition = require_shapeFns.vertexPosition;
3081
3292
  exports.verticesOfEdge = require_primitiveFns.verticesOfEdge;
3082
3293
  exports.walkAssembly = require_historyFns.walkAssembly;
3083
3294
  exports.wire = require_primitiveFns.wire;