brepjs 13.2.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 (147) hide show
  1. package/dist/2d/curve2dGeometryFns.d.ts +107 -0
  2. package/dist/2d/curve2dGeometryFns.d.ts.map +1 -0
  3. package/dist/2d.cjs +230 -3
  4. package/dist/2d.d.ts +2 -0
  5. package/dist/2d.d.ts.map +1 -1
  6. package/dist/2d.js +207 -4
  7. package/dist/arrayAccess-CmulMesb.cjs +40 -0
  8. package/dist/arrayAccess-xxcB3YNq.js +23 -0
  9. package/dist/{blueprint-DYCdRlW5.js → blueprint-B3A5x7P9.js} +10 -10
  10. package/dist/{blueprint-PLJan-W5.cjs → blueprint-D0XChcek.cjs} +14 -14
  11. package/dist/{blueprintFns-eWh7NpZx.js → blueprintFns-BwAMXY3t.js} +3 -3
  12. package/dist/{blueprintFns-Bsx25BG7.cjs → blueprintFns-COrEYX29.cjs} +3 -3
  13. package/dist/{boolean2D-CtB21ajK.cjs → boolean2D-BPsyKImE.cjs} +20 -19
  14. package/dist/{boolean2D-52qVCooY.js → boolean2D-D_Te-6N6.js} +13 -12
  15. package/dist/{booleanFns-BrptUFkP.cjs → booleanFns-B6M6Lm0V.cjs} +24 -22
  16. package/dist/{booleanFns-iM6UPb8e.js → booleanFns-CgsaJFBf.js} +8 -6
  17. package/dist/brepjs.cjs +304 -211
  18. package/dist/brepjs.js +188 -145
  19. package/dist/constants-B9u763C3.js +9 -0
  20. package/dist/constants-unWN8k4c.cjs +26 -0
  21. package/dist/core/curve2dHandle.d.ts +27 -0
  22. package/dist/core/curve2dHandle.d.ts.map +1 -0
  23. package/dist/core/errors.d.ts +11 -1
  24. package/dist/core/errors.d.ts.map +1 -1
  25. package/dist/core/kernelCall.d.ts.map +1 -1
  26. package/dist/core/kernelErrorTranslation.d.ts +2 -0
  27. package/dist/core/kernelErrorTranslation.d.ts.map +1 -1
  28. package/dist/core.cjs +9 -8
  29. package/dist/core.js +6 -5
  30. package/dist/{cornerFinder-C7aDyYLJ.js → cornerFinder-AEFnAxt4.js} +3 -3
  31. package/dist/{cornerFinder-SF-xmMO1.cjs → cornerFinder-DTt_SvtC.cjs} +4 -4
  32. package/dist/{curveFns-C-jU1_Y_.js → curveFns-CcInoOEA.js} +2 -2
  33. package/dist/{curveFns-ywh7Ctyk.cjs → curveFns-DCEcwcpd.cjs} +2 -2
  34. package/dist/{drawFns-DknEB-Qs.cjs → drawFns-BOwBIzPa.cjs} +35 -18
  35. package/dist/{drawFns-D-0p86Lf.js → drawFns-n9qif7QN.js} +17 -15
  36. package/dist/{errors-DupKEMqI.cjs → errors-9zQcQK1H.cjs} +34 -0
  37. package/dist/{errors-B_T0aMQF.js → errors-C-cgQA3w.js} +29 -1
  38. package/dist/{extrudeFns-LsH1rDMa.js → extrudeFns-DrDr9-nU.js} +3 -3
  39. package/dist/{extrudeFns-CGCIbydL.cjs → extrudeFns-Rcut7h8S.cjs} +3 -3
  40. package/dist/{faceFns-EnGcKFAr.js → faceFns-TSH54pPQ.js} +94 -4
  41. package/dist/{faceFns-8dGb8q3J.cjs → faceFns-cE2WxY6I.cjs} +111 -3
  42. package/dist/{helpers-pQpV9Mwh.cjs → helpers-DZje6XWE.cjs} +18 -17
  43. package/dist/{helpers-Rf0vhX6I.js → helpers-XrXlKm8D.js} +8 -7
  44. package/dist/{historyFns-XkjLAQyu.js → historyFns-2hCWrX_X.js} +10 -10
  45. package/dist/{historyFns-lNalnOdR.cjs → historyFns-BiQ9dmzp.cjs} +10 -10
  46. package/dist/{importFns-BSH9cGIp.cjs → importFns-DGE5nCSW.cjs} +4 -4
  47. package/dist/{importFns-Bgs-FYAP.js → importFns-m0xyj0Zt.js} +4 -4
  48. package/dist/index.d.ts +14 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/io.cjs +2 -2
  51. package/dist/io.js +2 -2
  52. package/dist/kernel/brepkit/brepkitAdapter.d.ts +150 -241
  53. package/dist/kernel/brepkit/brepkitAdapter.d.ts.map +1 -1
  54. package/dist/kernel/brepkit/evolutionOps.d.ts +1 -0
  55. package/dist/kernel/brepkit/evolutionOps.d.ts.map +1 -1
  56. package/dist/kernel/index.d.ts +1 -1
  57. package/dist/kernel/index.d.ts.map +1 -1
  58. package/dist/kernel/interfaces/curveOps.d.ts +3 -1
  59. package/dist/kernel/interfaces/curveOps.d.ts.map +1 -1
  60. package/dist/kernel/interfaces/surfaceOps.d.ts +3 -1
  61. package/dist/kernel/interfaces/surfaceOps.d.ts.map +1 -1
  62. package/dist/kernel/occt/defaultAdapter.d.ts +3 -1
  63. package/dist/kernel/occt/defaultAdapter.d.ts.map +1 -1
  64. package/dist/kernel/occt/nurbsQueryOps.d.ts +12 -0
  65. package/dist/kernel/occt/nurbsQueryOps.d.ts.map +1 -0
  66. package/dist/kernel/types.d.ts +26 -0
  67. package/dist/kernel/types.d.ts.map +1 -1
  68. package/dist/{measureFns-D7J6qUY_.js → measureFns-DHByqdmn.js} +9 -16
  69. package/dist/{measureFns-CFdHa_fj.cjs → measureFns-D_QKZ5yg.cjs} +9 -16
  70. package/dist/measurement/measureFns.d.ts.map +1 -1
  71. package/dist/measurement.cjs +1 -1
  72. package/dist/measurement.js +1 -1
  73. package/dist/{meshFns-2XnDXgIh.cjs → meshFns-CVe3Kc77.cjs} +4 -4
  74. package/dist/{meshFns-B7uklc4M.js → meshFns-DL4Djz3w.js} +3 -3
  75. package/dist/ns/booleans.d.ts +10 -0
  76. package/dist/ns/booleans.d.ts.map +1 -0
  77. package/dist/ns/construction.d.ts +10 -0
  78. package/dist/ns/construction.d.ts.map +1 -0
  79. package/dist/ns/ioNs.d.ts +18 -0
  80. package/dist/ns/ioNs.d.ts.map +1 -0
  81. package/dist/ns/measurement.d.ts +6 -0
  82. package/dist/ns/measurement.d.ts.map +1 -0
  83. package/dist/ns/modifiers.d.ts +6 -0
  84. package/dist/ns/modifiers.d.ts.map +1 -0
  85. package/dist/ns/patterns.d.ts +5 -0
  86. package/dist/ns/patterns.d.ts.map +1 -0
  87. package/dist/ns/primitives.d.ts +7 -0
  88. package/dist/ns/primitives.d.ts.map +1 -0
  89. package/dist/ns/query.d.ts +6 -0
  90. package/dist/ns/query.d.ts.map +1 -0
  91. package/dist/ns/transforms.d.ts +5 -0
  92. package/dist/ns/transforms.d.ts.map +1 -0
  93. package/dist/operations.cjs +2 -2
  94. package/dist/operations.js +2 -2
  95. package/dist/{planeOps-cTxDywpG.cjs → planeOps-6Wu7dMDN.cjs} +5 -4
  96. package/dist/{planeOps-BuBXTLBr.js → planeOps-gTOEarV2.js} +4 -3
  97. package/dist/{primitiveFns-DKtvEA0i.cjs → primitiveFns-CRPGjIFg.cjs} +101 -69
  98. package/dist/{primitiveFns-CASk8g16.js → primitiveFns-CeKiYSSW.js} +28 -8
  99. package/dist/query.cjs +2 -2
  100. package/dist/query.js +2 -2
  101. package/dist/result.cjs +1 -1
  102. package/dist/result.js +1 -1
  103. package/dist/{arrayAccess-Dps31ERU.js → shapeFns-DCi9O27X.js} +8 -30
  104. package/dist/{arrayAccess-peFKE9Ob.cjs → shapeFns-aEeSHNqX.cjs} +24 -64
  105. package/dist/shapeRef.cjs +8 -0
  106. package/dist/shapeRef.d.ts +5 -0
  107. package/dist/shapeRef.d.ts.map +1 -0
  108. package/dist/shapeRef.js +2 -0
  109. package/dist/shapeRefFns-B1TODUMl.js +194 -0
  110. package/dist/shapeRefFns-CVdS6jWS.cjs +229 -0
  111. package/dist/{shapeTypes-CYb8Byqj.js → shapeTypes-BO1aiDhi.js} +3937 -3697
  112. package/dist/{shapeTypes-CElaawp7.cjs → shapeTypes-BqWQlrYE.cjs} +3937 -3697
  113. package/dist/sketching.cjs +2 -2
  114. package/dist/sketching.js +2 -2
  115. package/dist/{solidBuilders-Cs4XyL58.cjs → solidBuilders-0iVdiZUw.cjs} +3 -3
  116. package/dist/{solidBuilders-ClJxiUa3.js → solidBuilders-jk7HfWs8.js} +3 -3
  117. package/dist/{surfaceBuilders-ZUTb3z6i.cjs → surfaceBuilders-C_8rs79F.cjs} +3 -3
  118. package/dist/{surfaceBuilders-DnGdDW8i.js → surfaceBuilders-DE5e6bp8.js} +3 -3
  119. package/dist/topology/api.d.ts +3 -3
  120. package/dist/topology/api.d.ts.map +1 -1
  121. package/dist/topology/nurbsFns.d.ts +13 -0
  122. package/dist/topology/nurbsFns.d.ts.map +1 -0
  123. package/dist/topology/shapeFns.d.ts +4 -3
  124. package/dist/topology/shapeFns.d.ts.map +1 -1
  125. package/dist/topology/shapeRef/index.d.ts +7 -0
  126. package/dist/topology/shapeRef/index.d.ts.map +1 -0
  127. package/dist/topology/shapeRef/scoring.d.ts +16 -0
  128. package/dist/topology/shapeRef/scoring.d.ts.map +1 -0
  129. package/dist/topology/shapeRef/shapeRefFns.d.ts +47 -0
  130. package/dist/topology/shapeRef/shapeRefFns.d.ts.map +1 -0
  131. package/dist/topology/shapeRef/shapeRefTypes.d.ts +40 -0
  132. package/dist/topology/shapeRef/shapeRefTypes.d.ts.map +1 -0
  133. package/dist/topology.cjs +22 -20
  134. package/dist/topology.d.ts +1 -0
  135. package/dist/topology.d.ts.map +1 -1
  136. package/dist/topology.js +7 -7
  137. package/dist/{vecOps-4iBMiet9.cjs → vecOps-BXvBYIor.cjs} +0 -26
  138. package/dist/{vecOps-B9-MTeC8.js → vecOps-D9etjPgV.js} +1 -9
  139. package/dist/vectors.cjs +6 -5
  140. package/dist/vectors.js +4 -3
  141. package/dist/worker.cjs +1 -1
  142. package/dist/worker.js +1 -1
  143. package/package.json +14 -4
  144. /package/dist/{types-Bb4KK_iG.js → types-BWBlwp6w.js} +0 -0
  145. /package/dist/{types-BD-VVaWB.cjs → types-BjDcsS7l.cjs} +0 -0
  146. /package/dist/{workerHandler-nLkvSOKX.cjs → workerHandler-C-7OUJsa.cjs} +0 -0
  147. /package/dist/{workerHandler-BrOTzYRI.js → workerHandler-o2xzAfFk.js} +0 -0
package/dist/brepjs.cjs CHANGED
@@ -1,147 +1,30 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_drawFns = require("./drawFns-DknEB-Qs.cjs");
3
- const require_shapeTypes = require("./shapeTypes-CElaawp7.cjs");
4
- const require_errors = require("./errors-DupKEMqI.cjs");
5
- const require_vecOps = require("./vecOps-4iBMiet9.cjs");
6
- const require_types = require("./types-BD-VVaWB.cjs");
7
- const require_planeOps = require("./planeOps-cTxDywpG.cjs");
8
- const require_faceFns = require("./faceFns-8dGb8q3J.cjs");
9
- const require_arrayAccess = require("./arrayAccess-peFKE9Ob.cjs");
10
- const require_curveFns = require("./curveFns-ywh7Ctyk.cjs");
11
- const require_meshFns = require("./meshFns-2XnDXgIh.cjs");
12
- const require_surfaceBuilders = require("./surfaceBuilders-ZUTb3z6i.cjs");
13
- const require_booleanFns = require("./booleanFns-BrptUFkP.cjs");
14
- const require_primitiveFns = require("./primitiveFns-DKtvEA0i.cjs");
15
- const require_historyFns = require("./historyFns-lNalnOdR.cjs");
16
- const require_boolean2D = require("./boolean2D-CtB21ajK.cjs");
17
- const require_helpers = require("./helpers-pQpV9Mwh.cjs");
18
- const require_solidBuilders = require("./solidBuilders-Cs4XyL58.cjs");
19
- const require_measureFns = require("./measureFns-CFdHa_fj.cjs");
20
- const require_cornerFinder = require("./cornerFinder-SF-xmMO1.cjs");
21
- const require_extrudeFns = require("./extrudeFns-CGCIbydL.cjs");
22
- const require_blueprintFns = require("./blueprintFns-Bsx25BG7.cjs");
23
- const require_importFns = require("./importFns-BSH9cGIp.cjs");
24
- const require_workerHandler = require("./workerHandler-nLkvSOKX.cjs");
25
- //#region src/core/kernelCall.ts
26
- var errorFactories = {
27
- KERNEL_OPERATION: (code, message, cause) => ({
28
- kind: "KERNEL_OPERATION",
29
- code,
30
- message,
31
- cause
32
- }),
33
- VALIDATION: (code, message, cause) => ({
34
- kind: "VALIDATION",
35
- code,
36
- message,
37
- cause
38
- }),
39
- TYPE_CAST: (code, message, cause) => ({
40
- kind: "TYPE_CAST",
41
- code,
42
- message,
43
- cause
44
- }),
45
- SKETCHER_STATE: (code, message, cause) => ({
46
- kind: "SKETCHER_STATE",
47
- code,
48
- message,
49
- cause
50
- }),
51
- MODULE_INIT: (code, message, cause) => ({
52
- kind: "MODULE_INIT",
53
- code,
54
- message,
55
- cause
56
- }),
57
- COMPUTATION: (code, message, cause) => ({
58
- kind: "COMPUTATION",
59
- code,
60
- message,
61
- cause
62
- }),
63
- IO: (code, message, cause) => ({
64
- kind: "IO",
65
- code,
66
- message,
67
- cause
68
- }),
69
- QUERY: (code, message, cause) => ({
70
- kind: "QUERY",
71
- code,
72
- message,
73
- cause
74
- }),
75
- UNSUPPORTED: (code, message, cause) => ({
76
- kind: "UNSUPPORTED",
77
- code,
78
- message,
79
- cause
80
- })
81
- };
82
- /**
83
- * Wrap a kernel call that returns an KernelShape, automatically casting
84
- * the result into a branded AnyShape. On exception, returns an Err
85
- * with the given error code and message.
86
- *
87
- * kernel error messages are automatically translated into user-friendly
88
- * explanations when the error kind is KERNEL_OPERATION.
89
- */
90
- function kernelCall(fn, code, message, kind = "KERNEL_OPERATION") {
91
- try {
92
- return require_errors.ok(require_shapeTypes.castShape(fn()));
93
- } catch (e) {
94
- const rawMessage = e instanceof Error ? e.message : String(e);
95
- const translatedMessage = kind === "KERNEL_OPERATION" ? require_errors.translateKernelError(rawMessage) : rawMessage;
96
- return require_errors.err(errorFactories[kind](code, `${message}: ${translatedMessage}`, e));
97
- }
98
- }
99
- /**
100
- * Wrap a kernel call that returns an arbitrary value. On exception,
101
- * returns an Err with the given error code and message.
102
- *
103
- * kernel error messages are automatically translated into user-friendly
104
- * explanations when the error kind is KERNEL_OPERATION.
105
- */
106
- function kernelCallRaw(fn, code, message, kind = "KERNEL_OPERATION") {
107
- try {
108
- return require_errors.ok(fn());
109
- } catch (e) {
110
- const rawMessage = e instanceof Error ? e.message : String(e);
111
- const translatedMessage = kind === "KERNEL_OPERATION" ? require_errors.translateKernelError(rawMessage) : rawMessage;
112
- return require_errors.err(errorFactories[kind](code, `${message}: ${translatedMessage}`, e));
113
- }
114
- }
115
- /**
116
- * Wrap a kernel call that needs intermediate kernel allocations.
117
- *
118
- * A DisposalScope is created and passed to fn. The scope is disposed
119
- * deterministically after fn returns or throws — ensuring no intermediate
120
- * handles are leaked even on error paths.
121
- *
122
- * ```ts
123
- * return kernelCallScoped(
124
- * (scope) => {
125
- * const axis = scope.register(makeKernelAx1(origin, dir));
126
- * return getKernel().revolveVec(...) // was: oc.BRepBuilderAPI_MakeRevol_1(shape.wrapped, axis).Shape();
127
- * },
128
- * BrepErrorCode.REVOLUTION_NOT_3D,
129
- * 'Revolution failed'
130
- * );
131
- * ```
132
- */
133
- function kernelCallScoped(fn, code, message, kind = "KERNEL_OPERATION") {
134
- try {
135
- var _usingCtx$1 = require_shapeTypes._usingCtx();
136
- const scope = _usingCtx$1.u(new require_shapeTypes.DisposalScope());
137
- return kernelCall(() => fn(scope), code, message, kind);
138
- } catch (_) {
139
- _usingCtx$1.e = _;
140
- } finally {
141
- _usingCtx$1.d();
142
- }
143
- }
144
- //#endregion
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
+ const require_types = require("./types-BjDcsS7l.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");
145
28
  //#region src/topology/shapeBooleans.ts
146
29
  var BOPAlgo_GlueShift = 1;
147
30
  var BOPAlgo_GlueFull = 2;
@@ -185,9 +68,9 @@ function withNearestPostFilter(baseFinder, nearestPoint) {
185
68
  const candidates = baseFinder.findAll(shape);
186
69
  if (candidates.length === 0) return [];
187
70
  let bestIdx = 0;
188
- 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);
189
72
  for (let i = 1; i < candidates.length; i++) {
190
- 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);
191
74
  if (d < bestDist) {
192
75
  bestDist = d;
193
76
  bestIdx = i;
@@ -209,9 +92,9 @@ function withNearestPostFilter(baseFinder, nearestPoint) {
209
92
  function buildVertexFinder(filters) {
210
93
  return require_helpers.createTypedFinder("vertex", filters, buildVertexFinder, (_base, withFilter) => ({
211
94
  nearestTo: (point) => withNearestPostFilter(buildVertexFinder(filters), point),
212
- 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),
213
96
  withinBox: (min, max) => withFilter((vertex) => {
214
- const pos = require_arrayAccess.vertexPosition(vertex);
97
+ const pos = require_shapeFns.vertexPosition(vertex);
215
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;
216
99
  }),
217
100
  atDistance: (distance, point = [
@@ -219,7 +102,7 @@ function buildVertexFinder(filters) {
219
102
  0,
220
103
  0
221
104
  ], tolerance = 1e-4) => withFilter((vertex) => {
222
- const pos = require_arrayAccess.vertexPosition(vertex);
105
+ const pos = require_shapeFns.vertexPosition(vertex);
223
106
  return Math.abs(require_vecOps.vecDistance(pos, point) - distance) < tolerance;
224
107
  })
225
108
  }));
@@ -527,7 +410,7 @@ function convexHull(points) {
527
410
  * type is 'sphere'.
528
411
  */
529
412
  function detectSphere(shape) {
530
- const faces = require_arrayAccess.getFaces(shape);
413
+ const faces = require_shapeFns.getFaces(shape);
531
414
  if (faces.length !== 1) return null;
532
415
  const face = faces[0];
533
416
  if (require_shapeTypes.getKernel().surfaceType(face.wrapped) !== "sphere") return null;
@@ -560,8 +443,8 @@ function minkowskiSphere(shape, radius, tolerance) {
560
443
  function minkowskiGeneral(shape, tool, tolerance) {
561
444
  const kernel = require_shapeTypes.getKernel();
562
445
  try {
563
- const shapeVerts = require_arrayAccess.getVertices(shape);
564
- const toolVerts = require_arrayAccess.getVertices(tool);
446
+ const shapeVerts = require_shapeFns.getVertices(shape);
447
+ const toolVerts = require_shapeFns.getVertices(tool);
565
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" }));
566
449
  const sumPoints = [];
567
450
  for (const sv of shapeVerts) {
@@ -1054,7 +937,7 @@ function computeStraightSkeletonImpl(polygon) {
1054
937
  * evaluation. The kernel builds the actual B-Rep faces and solid.
1055
938
  */
1056
939
  function extractPolygon(w) {
1057
- const pts = require_arrayAccess.getEdges(w).map((e) => {
940
+ const pts = require_shapeFns.getEdges(w).map((e) => {
1058
941
  const pt = require_curveFns.curveStartPoint(e);
1059
942
  return {
1060
943
  x: pt[0],
@@ -1526,7 +1409,7 @@ function checkInterference(shape1, shape2, tolerance = 1e-6) {
1526
1409
  */
1527
1410
  function checkAllInterferences(shapes, tolerance = 1e-6) {
1528
1411
  const pairs = [];
1529
- const boxes = shapes.map((s) => require_arrayAccess.getBounds(s));
1412
+ const boxes = shapes.map((s) => require_shapeFns.getBounds(s));
1530
1413
  shapes.forEach((si, i) => {
1531
1414
  for (let j = i + 1; j < shapes.length; j++) {
1532
1415
  if (aabbDisjoint(boxes[i], boxes[j], tolerance)) continue;
@@ -2041,7 +1924,7 @@ async function importThreeMF(blob) {
2041
1924
  const solid = buildSolidFromMesh(parsed);
2042
1925
  if (solid.ok) {
2043
1926
  const dominantColor = findDominantColor(parsed.triangleColors);
2044
- if (dominantColor !== null) require_arrayAccess.colorShape(solid.value, dominantColor);
1927
+ if (dominantColor !== null) require_shapeFns.colorShape(solid.value, dominantColor);
2045
1928
  }
2046
1929
  return solid;
2047
1930
  } catch (e) {
@@ -2092,17 +1975,17 @@ function resolve3D(s) {
2092
1975
  //#region src/topology/api.ts
2093
1976
  /** Translate a shape by a vector. Returns a new shape. */
2094
1977
  function translate(shape, v) {
2095
- return require_arrayAccess.translate(resolve(shape), v);
1978
+ return require_shapeFns.translate(resolve(shape), v);
2096
1979
  }
2097
1980
  /** Rotate a shape around an axis. Angle is in degrees. Returns a new shape. */
2098
1981
  function rotate(shape, angle, options) {
2099
1982
  const pivotPoint = options?.at;
2100
- return require_arrayAccess.rotate(resolve(shape), angle, pivotPoint, options?.axis);
1983
+ return require_shapeFns.rotate(resolve(shape), angle, pivotPoint, options?.axis);
2101
1984
  }
2102
1985
  /** Mirror a shape through a plane. Returns a new shape. */
2103
1986
  function mirror(shape, options) {
2104
1987
  const planeOrigin = options?.at;
2105
- return require_arrayAccess.mirror(resolve(shape), options?.normal ?? [
1988
+ return require_shapeFns.mirror(resolve(shape), options?.normal ?? [
2106
1989
  1,
2107
1990
  0,
2108
1991
  0
@@ -2110,11 +1993,11 @@ function mirror(shape, options) {
2110
1993
  }
2111
1994
  /** Scale a shape uniformly. Returns a new shape. */
2112
1995
  function scale(shape, factor, options) {
2113
- return require_arrayAccess.scale(resolve(shape), factor, options?.center);
1996
+ return require_shapeFns.scale(resolve(shape), factor, options?.center);
2114
1997
  }
2115
1998
  /** Clone a shape (deep copy). */
2116
1999
  function clone(shape) {
2117
- return require_arrayAccess.clone(resolve(shape));
2000
+ return require_shapeFns.clone(resolve(shape));
2118
2001
  }
2119
2002
  /**
2120
2003
  * Apply a 4x4 affine transformation matrix to a shape.
@@ -2124,14 +2007,14 @@ function clone(shape) {
2124
2007
  * `MatrixTransform` with explicit `linear` and `translation` fields.
2125
2008
  */
2126
2009
  function applyMatrix(shape, matrix) {
2127
- return require_arrayAccess.applyMatrix(resolve(shape), matrix);
2010
+ return require_shapeFns.applyMatrix(resolve(shape), matrix);
2128
2011
  }
2129
2012
  /**
2130
2013
  * Clone a shape and apply a pre-composed transform in a single kernel operation.
2131
2014
  * Much faster than separate clone() + translate() + rotate() calls for batch patterns.
2132
2015
  */
2133
2016
  function transformCopy(shape, composed) {
2134
- return require_arrayAccess.transformCopy(resolve(shape), composed);
2017
+ return require_shapeFns.transformCopy(resolve(shape), composed);
2135
2018
  }
2136
2019
  /** Fuse two 3D shapes (boolean union). */
2137
2020
  function fuse(a, b, options) {
@@ -2234,7 +2117,7 @@ function chamfer(shape, edgesOrDistance, maybeDistance) {
2234
2117
  }
2235
2118
  const normalized = normalizeChamferDistance(distance);
2236
2119
  if (normalized.mode === "distAngle") {
2237
- const selectedEdges = edges ?? require_arrayAccess.getEdges(s);
2120
+ const selectedEdges = edges ?? require_shapeFns.getEdges(s);
2238
2121
  return require_primitiveFns.chamferDistAngle(s, [...selectedEdges], normalized.distance, normalized.angle);
2239
2122
  }
2240
2123
  return require_primitiveFns.chamfer(s, edges, normalized.distance);
@@ -2271,7 +2154,7 @@ function heal(shape) {
2271
2154
  }
2272
2155
  /** Simplify a shape by merging same-domain faces/edges. */
2273
2156
  function simplify(shape) {
2274
- return require_arrayAccess.simplify(resolve(shape));
2157
+ return require_shapeFns.simplify(resolve(shape));
2275
2158
  }
2276
2159
  /** Mesh a shape for rendering. */
2277
2160
  function mesh(shape, options) {
@@ -2283,11 +2166,11 @@ function meshEdges(shape, options) {
2283
2166
  }
2284
2167
  /** Get a summary description of a shape. */
2285
2168
  function describe(shape) {
2286
- return require_arrayAccess.describe(resolve(shape));
2169
+ return require_shapeFns.describe(resolve(shape));
2287
2170
  }
2288
2171
  /** Serialize a shape to BREP format. */
2289
2172
  function toBREP(shape) {
2290
- return require_arrayAccess.toBREP(resolve(shape));
2173
+ return require_shapeFns.toBREP(resolve(shape));
2291
2174
  }
2292
2175
  /** Deserialize a shape from BREP format. */
2293
2176
  function fromBREP$1(data) {
@@ -2299,7 +2182,7 @@ function isValid(shape) {
2299
2182
  }
2300
2183
  /** Check if a shape is empty (null). */
2301
2184
  function isEmpty(shape) {
2302
- return require_arrayAccess.isEmpty(resolve(shape));
2185
+ return require_shapeFns.isEmpty(resolve(shape));
2303
2186
  }
2304
2187
  //#endregion
2305
2188
  //#region src/operations/api.ts
@@ -2346,7 +2229,7 @@ function loft(wires, options) {
2346
2229
  /** Resolve a face selection: Face, FinderFn, or default (top Z-facing face). */
2347
2230
  function resolveTargetFace(shape, faceSpec) {
2348
2231
  if (faceSpec === void 0) {
2349
- const faces = require_arrayAccess.getFaces(shape);
2232
+ const faces = require_shapeFns.getFaces(shape);
2350
2233
  if (faces.length === 0) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.COMPOUND_NO_FACES, "compoundOps: shape has no faces"));
2351
2234
  let best = require_arrayAccess.firstOrThrow(faces);
2352
2235
  let bestZ = require_faceFns.faceCenter(best)[2];
@@ -2401,7 +2284,7 @@ function drill(shape, options) {
2401
2284
  let tool;
2402
2285
  if (options.depth !== void 0) tool = require_solidBuilders.makeCylinder(radius, options.depth, pos, dir);
2403
2286
  else {
2404
- const b = require_arrayAccess.getBounds(s);
2287
+ const b = require_shapeFns.getBounds(s);
2405
2288
  const corners = [
2406
2289
  [
2407
2290
  b.xMin,
@@ -2517,7 +2400,7 @@ function mirrorJoin(shape, options) {
2517
2400
  0
2518
2401
  ];
2519
2402
  const planeOrigin = options?.at;
2520
- 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 });
2521
2404
  }
2522
2405
  /**
2523
2406
  * Create a rectangular (2D grid) pattern of a shape.
@@ -2542,7 +2425,7 @@ function rectangularPattern(shape, options) {
2542
2425
  xNorm[1] * xSpacing * xi + yNorm[1] * ySpacing * yi,
2543
2426
  xNorm[2] * xSpacing * xi + yNorm[2] * ySpacing * yi
2544
2427
  ];
2545
- copies.push(require_arrayAccess.translate(s, offset));
2428
+ copies.push(require_shapeFns.translate(s, offset));
2546
2429
  }
2547
2430
  return require_booleanFns.fuseAll(copies, { unsafe: true });
2548
2431
  }
@@ -2611,16 +2494,16 @@ function createWrappedBase(val) {
2611
2494
  0,
2612
2495
  1
2613
2496
  ] })),
2614
- bounds: () => require_arrayAccess.getBounds(val),
2497
+ bounds: () => require_shapeFns.getBounds(val),
2615
2498
  describe: () => describe(val),
2616
- clone: () => wrapAny(clone(val)),
2499
+ clone: () => wrapAny(unwrapOrThrow(clone(val))),
2617
2500
  mesh: (opts) => mesh(val, opts),
2618
2501
  meshEdges: (opts) => meshEdges(val, opts),
2619
2502
  isValid: () => isValid(val),
2620
2503
  isEmpty: () => isEmpty(val),
2621
2504
  heal: () => wrapAny(unwrapOrThrow(heal(val))),
2622
- simplify: () => wrapAny(simplify(val)),
2623
- toBREP: () => toBREP(val),
2505
+ simplify: () => wrapAny(unwrapOrThrow(simplify(val))),
2506
+ toBREP: () => unwrapOrThrow(toBREP(val)),
2624
2507
  apply: (fn) => wrapAny(fn(val)),
2625
2508
  applyResult: (fn) => wrapAny(unwrapOrThrow(fn(val))),
2626
2509
  done: () => val
@@ -2672,10 +2555,10 @@ function createWrapped3D(val) {
2672
2555
  area: () => unwrapOrThrow(require_measureFns.measureArea(val)),
2673
2556
  volumeProps: () => unwrapOrThrow(require_measureFns.measureVolumeProps(val)),
2674
2557
  surfaceProps: () => unwrapOrThrow(require_measureFns.measureSurfaceProps(val)),
2675
- edges: () => require_arrayAccess.getEdges(val),
2676
- faces: () => require_arrayAccess.getFaces(val),
2677
- wires: () => require_arrayAccess.getWires(val),
2678
- 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),
2679
2562
  linearPattern: (dir, count, spacing) => wrap3D(unwrapOrThrow(require_historyFns.linearPattern(val, dir, count, spacing))),
2680
2563
  circularPattern: (axis, count, angle) => wrap3D(unwrapOrThrow(require_historyFns.circularPattern(val, axis, count, angle)))
2681
2564
  };
@@ -2729,16 +2612,164 @@ function shape(s) {
2729
2612
  throw new Error("shape() requires a Sketch or branded shape type");
2730
2613
  }
2731
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
2732
2763
  exports.BrepBugError = require_errors.BrepBugError;
2733
2764
  exports.BrepErrorCode = require_errors.BrepErrorCode;
2734
2765
  exports.BrepWrapperError = BrepWrapperError;
2735
2766
  exports.BrepkitAdapter = require_shapeTypes.BrepkitAdapter;
2736
2767
  exports.CompoundSketch = require_drawFns.CompoundSketch;
2737
- exports.DEG2RAD = require_vecOps.DEG2RAD;
2768
+ exports.DEG2RAD = require_constants.DEG2RAD;
2738
2769
  exports.DisposalScope = require_shapeTypes.DisposalScope;
2739
- exports.HASH_CODE_MAX = require_vecOps.HASH_CODE_MAX;
2770
+ exports.HASH_CODE_MAX = require_constants.HASH_CODE_MAX;
2740
2771
  exports.OK = require_errors.OK;
2741
- exports.RAD2DEG = require_vecOps.RAD2DEG;
2772
+ exports.RAD2DEG = require_constants.RAD2DEG;
2742
2773
  exports.Sketch = require_boolean2D.Sketch;
2743
2774
  exports.Sketches = require_drawFns.Sketches;
2744
2775
  exports.addChild = require_historyFns.addChild;
@@ -2754,15 +2785,23 @@ exports.approximateCurve = require_curveFns.approximateCurve;
2754
2785
  exports.as2D = require_shapeTypes.as2D;
2755
2786
  exports.as3D = require_shapeTypes.as3D;
2756
2787
  exports.asTopo = require_faceFns.asTopo;
2788
+ exports.assignRoles = require_shapeRefFns.assignRoles;
2757
2789
  exports.autoHeal = require_primitiveFns.autoHeal;
2758
2790
  exports.bezier = require_primitiveFns.bezier;
2759
2791
  exports.blueprintToDXF = require_importFns.blueprintToDXF;
2792
+ Object.defineProperty(exports, "booleans", {
2793
+ enumerable: true,
2794
+ get: function() {
2795
+ return booleans_exports;
2796
+ }
2797
+ });
2760
2798
  exports.boss = boss;
2761
2799
  exports.box = require_primitiveFns.box;
2762
2800
  exports.bsplineApprox = require_primitiveFns.bsplineApprox;
2763
2801
  exports.bug = require_errors.bug;
2764
2802
  exports.cameraFromPlane = require_drawFns.cameraFromPlane;
2765
2803
  exports.cameraLookAt = require_drawFns.cameraLookAt;
2804
+ exports.captureHint = require_shapeRefFns.captureHint;
2766
2805
  exports.cast = require_faceFns.cast;
2767
2806
  exports.castShape = require_shapeTypes.castShape;
2768
2807
  exports.castShape3D = require_shapeTypes.castShape3D;
@@ -2780,10 +2819,10 @@ exports.clone = clone;
2780
2819
  exports.closedWire = require_shapeTypes.closedWire;
2781
2820
  exports.collect = require_errors.collect;
2782
2821
  exports.collectShapes = require_historyFns.collectShapes;
2783
- exports.colorFaces = require_arrayAccess.colorFaces;
2784
- exports.colorShape = require_arrayAccess.colorShape;
2822
+ exports.colorFaces = require_shapeFns.colorFaces;
2823
+ exports.colorShape = require_shapeFns.colorShape;
2785
2824
  exports.complexExtrude = require_extrudeFns.complexExtrude;
2786
- exports.composeTransforms = require_arrayAccess.composeTransforms;
2825
+ exports.composeTransforms = require_shapeFns.composeTransforms;
2787
2826
  exports.compound = require_primitiveFns.compound;
2788
2827
  exports.compoundSketchExtrude = require_drawFns.compoundSketchExtrude;
2789
2828
  exports.compoundSketchFace = require_drawFns.compoundSketchFace;
@@ -2792,6 +2831,12 @@ exports.compoundSketchRevolve = require_drawFns.compoundSketchRevolve;
2792
2831
  exports.computationError = require_errors.computationError;
2793
2832
  exports.computeStraightSkeleton = computeStraightSkeleton;
2794
2833
  exports.cone = require_primitiveFns.cone;
2834
+ Object.defineProperty(exports, "construction", {
2835
+ enumerable: true,
2836
+ get: function() {
2837
+ return construction_exports;
2838
+ }
2839
+ });
2795
2840
  exports.convexHull = convexHull;
2796
2841
  exports.cornerFinder = require_cornerFinder.cornerFinder;
2797
2842
  exports.countNodes = require_historyFns.countNodes;
@@ -2811,6 +2856,7 @@ exports.createMeshCache = require_meshFns.createMeshCache;
2811
2856
  exports.createNamedPlane = require_planeOps.createNamedPlane;
2812
2857
  exports.createOperationRegistry = require_workerHandler.createOperationRegistry;
2813
2858
  exports.createPlane = require_planeOps.createPlane;
2859
+ exports.createRef = require_shapeRefFns.createRef;
2814
2860
  exports.createRegistry = require_historyFns.createRegistry;
2815
2861
  exports.createShell = require_shapeTypes.createShell;
2816
2862
  exports.createSolid = require_shapeTypes.createSolid;
@@ -2841,6 +2887,7 @@ exports.cutAll = require_booleanFns.cutAll;
2841
2887
  exports.cutBlueprints = require_boolean2D.cutBlueprints;
2842
2888
  exports.cutWithEvolution = require_primitiveFns.cutWithEvolution;
2843
2889
  exports.cylinder = require_primitiveFns.cylinder;
2890
+ exports.defaultScorer = require_shapeRefFns.defaultScorer;
2844
2891
  exports.dequeueTask = require_workerHandler.dequeueTask;
2845
2892
  exports.describe = describe;
2846
2893
  exports.deserializeDrawing = require_drawFns.deserializeDrawing;
@@ -2896,7 +2943,7 @@ exports.fill = require_surfaceBuilders.fill;
2896
2943
  exports.filledFace = require_primitiveFns.filledFace;
2897
2944
  exports.fillet = fillet;
2898
2945
  exports.filletWithEvolution = require_primitiveFns.filletWithEvolution;
2899
- exports.findFacesByTag = require_arrayAccess.findFacesByTag;
2946
+ exports.findFacesByTag = require_shapeFns.findFacesByTag;
2900
2947
  exports.findNode = require_historyFns.findNode;
2901
2948
  exports.findStep = require_historyFns.findStep;
2902
2949
  exports.fixSelfIntersection = require_primitiveFns.fixSelfIntersection;
@@ -2916,28 +2963,30 @@ exports.fuse2D = require_boolean2D.fuse2D;
2916
2963
  exports.fuseAll = require_booleanFns.fuseAll;
2917
2964
  exports.fuseBlueprints = require_boolean2D.fuseBlueprints;
2918
2965
  exports.fuseWithEvolution = require_primitiveFns.fuseWithEvolution;
2919
- exports.getBounds = require_arrayAccess.getBounds;
2966
+ exports.getBounds = require_shapeFns.getBounds;
2920
2967
  exports.getBounds2D = require_blueprintFns.getBounds2D;
2921
2968
  exports.getCurveType = require_curveFns.getCurveType;
2922
2969
  exports.getDisposalStats = require_shapeTypes.getDisposalStats;
2923
- exports.getEdges = require_arrayAccess.getEdges;
2924
- exports.getFaceColor = require_arrayAccess.getFaceColor;
2925
- exports.getFaceOrigins = require_arrayAccess.getFaceOrigins;
2926
- exports.getFaceTags = require_arrayAccess.getFaceTags;
2927
- 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;
2928
2975
  exports.getFont = require_drawFns.getFont;
2929
- exports.getHashCode = require_arrayAccess.getHashCode;
2976
+ exports.getHashCode = require_shapeFns.getHashCode;
2930
2977
  exports.getHistoryShape = require_historyFns.getShape;
2931
2978
  exports.getKernel = require_shapeTypes.getKernel;
2979
+ exports.getNurbsCurveData = require_primitiveFns.getNurbsCurveData;
2980
+ exports.getNurbsSurfaceData = require_primitiveFns.getNurbsSurfaceData;
2932
2981
  exports.getOrientation = require_curveFns.getOrientation;
2933
2982
  exports.getOrientation2D = require_blueprintFns.getOrientation2D;
2934
- exports.getShapeColor = require_arrayAccess.getShapeColor;
2983
+ exports.getShapeColor = require_shapeFns.getShapeColor;
2935
2984
  exports.getShapeKind = require_shapeTypes.getShapeKind;
2936
2985
  exports.getSingleFace = require_helpers.getSingleFace;
2937
2986
  exports.getSurfaceType = require_faceFns.getSurfaceType;
2938
- exports.getTagMetadata = require_arrayAccess.getTagMetadata;
2939
- exports.getVertices = require_arrayAccess.getVertices;
2940
- exports.getWires = require_arrayAccess.getWires;
2987
+ exports.getTagMetadata = require_shapeFns.getTagMetadata;
2988
+ exports.getVertices = require_shapeFns.getVertices;
2989
+ exports.getWires = require_shapeFns.getWires;
2941
2990
  exports.guidedSweep = require_extrudeFns.guidedSweep;
2942
2991
  exports.heal = heal;
2943
2992
  exports.healFace = require_primitiveFns.healFace;
@@ -2962,7 +3011,13 @@ exports.intersect = intersect;
2962
3011
  exports.intersect2D = require_boolean2D.intersect2D;
2963
3012
  exports.intersectBlueprints = require_boolean2D.intersectBlueprints;
2964
3013
  exports.intersectWithEvolution = require_primitiveFns.intersectWithEvolution;
2965
- 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
+ });
2966
3021
  exports.ioError = require_errors.ioError;
2967
3022
  exports.is2D = require_shapeTypes.is2D;
2968
3023
  exports.is3D = require_shapeTypes.is3D;
@@ -2973,7 +3028,7 @@ exports.isCompound = require_shapeTypes.isCompound;
2973
3028
  exports.isDisposeRequest = require_workerHandler.isDisposeRequest;
2974
3029
  exports.isEdge = require_shapeTypes.isEdge;
2975
3030
  exports.isEmpty = isEmpty;
2976
- exports.isEqualShape = require_arrayAccess.isEqualShape;
3031
+ exports.isEqualShape = require_shapeFns.isEqualShape;
2977
3032
  exports.isErr = require_errors.isErr;
2978
3033
  exports.isErrorResponse = require_workerHandler.isErrorResponse;
2979
3034
  exports.isFace = require_shapeTypes.isFace;
@@ -2990,7 +3045,7 @@ exports.isPlanarFace = require_shapeTypes.isPlanarFace;
2990
3045
  exports.isPlanarWire = require_shapeTypes.isPlanarWire;
2991
3046
  exports.isProjectionPlane = require_drawFns.isProjectionPlane;
2992
3047
  exports.isQueueEmpty = require_workerHandler.isEmpty;
2993
- exports.isSameShape = require_arrayAccess.isSameShape;
3048
+ exports.isSameShape = require_shapeFns.isSameShape;
2994
3049
  exports.isShape1D = require_shapeTypes.isShape1D;
2995
3050
  exports.isShape3D = require_shapeTypes.isShape3D;
2996
3051
  exports.isShell = require_shapeTypes.isShell;
@@ -3000,14 +3055,14 @@ exports.isValid = isValid;
3000
3055
  exports.isValidSolid = require_shapeTypes.isValidSolid;
3001
3056
  exports.isVertex = require_shapeTypes.isVertex;
3002
3057
  exports.isWire = require_shapeTypes.isWire;
3003
- exports.iterEdges = require_arrayAccess.iterEdges;
3004
- exports.iterFaces = require_arrayAccess.iterFaces;
3058
+ exports.iterEdges = require_shapeFns.iterEdges;
3059
+ exports.iterFaces = require_shapeFns.iterFaces;
3005
3060
  exports.iterTopo = require_faceFns.iterTopo;
3006
- exports.iterVertices = require_arrayAccess.iterVertices;
3007
- exports.iterWires = require_arrayAccess.iterWires;
3008
- exports.kernelCall = kernelCall;
3009
- exports.kernelCallRaw = kernelCallRaw;
3010
- exports.kernelCallScoped = 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;
3011
3066
  exports.kernelError = require_errors.kernelError;
3012
3067
  exports.line = require_primitiveFns.line;
3013
3068
  exports.linearPattern = require_historyFns.linearPattern;
@@ -3031,6 +3086,12 @@ exports.measureLinearProps = require_measureFns.measureLinearProps;
3031
3086
  exports.measureSurfaceProps = require_measureFns.measureSurfaceProps;
3032
3087
  exports.measureVolume = require_measureFns.measureVolume;
3033
3088
  exports.measureVolumeProps = require_measureFns.measureVolumeProps;
3089
+ Object.defineProperty(exports, "measurement", {
3090
+ enumerable: true,
3091
+ get: function() {
3092
+ return measurement_exports;
3093
+ }
3094
+ });
3034
3095
  exports.mesh = mesh;
3035
3096
  exports.meshEdges = meshEdges;
3036
3097
  exports.minkowski = minkowski;
@@ -3038,6 +3099,12 @@ exports.mirror = mirror;
3038
3099
  exports.mirror2D = require_blueprintFns.mirror2D;
3039
3100
  exports.mirrorDrawing = require_drawFns.mirrorDrawing;
3040
3101
  exports.mirrorJoin = mirrorJoin;
3102
+ Object.defineProperty(exports, "modifiers", {
3103
+ enumerable: true,
3104
+ get: function() {
3105
+ return modifiers_exports;
3106
+ }
3107
+ });
3041
3108
  exports.modifyStep = require_historyFns.modifyStep;
3042
3109
  exports.moduleInitError = require_errors.moduleInitError;
3043
3110
  exports.multiSectionSweep = require_extrudeFns.multiSectionSweep;
@@ -3051,6 +3118,12 @@ exports.orElse = require_errors.orElse;
3051
3118
  exports.organiseBlueprints = require_boolean2D.organiseBlueprints;
3052
3119
  exports.orientedFace = require_shapeTypes.orientedFace;
3053
3120
  exports.outerWire = require_faceFns.outerWire;
3121
+ Object.defineProperty(exports, "patterns", {
3122
+ enumerable: true,
3123
+ get: function() {
3124
+ return patterns_exports;
3125
+ }
3126
+ });
3054
3127
  exports.pendingCount = require_workerHandler.pendingCount;
3055
3128
  exports.pipeline = require_errors.pipeline;
3056
3129
  exports.pivotPlane = require_planeOps.pivotPlane;
@@ -3064,8 +3137,20 @@ exports.polysideInnerRadius = require_drawFns.polysideInnerRadius;
3064
3137
  exports.polysidesBlueprint = require_boolean2D.polysidesBlueprint;
3065
3138
  exports.positionOnCurve = require_primitiveFns.positionOnCurve;
3066
3139
  exports.prewarm = require_shapeTypes.prewarm;
3140
+ Object.defineProperty(exports, "primitives", {
3141
+ enumerable: true,
3142
+ get: function() {
3143
+ return primitives_exports;
3144
+ }
3145
+ });
3067
3146
  exports.projectEdges = require_drawFns.projectEdges;
3068
3147
  exports.projectPointOnFace = require_faceFns.projectPointOnFace;
3148
+ Object.defineProperty(exports, "query", {
3149
+ enumerable: true,
3150
+ get: function() {
3151
+ return query_exports;
3152
+ }
3153
+ });
3069
3154
  exports.queryError = require_errors.queryError;
3070
3155
  exports.rectangularPattern = rectangularPattern;
3071
3156
  exports.registerHandler = require_workerHandler.registerHandler;
@@ -3078,11 +3163,12 @@ exports.removeHolesFromFace = require_faceFns.removeHolesFromFace;
3078
3163
  exports.replayFrom = require_historyFns.replayFrom;
3079
3164
  exports.replayHistory = require_historyFns.replayHistory;
3080
3165
  exports.resetDisposalStats = require_shapeTypes.resetDisposalStats;
3081
- exports.resize = require_arrayAccess.resize;
3166
+ exports.resize = require_shapeFns.resize;
3082
3167
  exports.resolve = resolve;
3083
3168
  exports.resolve3D = resolve3D;
3084
3169
  exports.resolveDirection = require_types.resolveDirection;
3085
3170
  exports.resolvePlane = require_planeOps.resolvePlane;
3171
+ exports.resolveRef = require_shapeRefFns.resolveRef;
3086
3172
  exports.reverseCurve = require_blueprintFns.reverseCurve;
3087
3173
  exports.revolve = revolve;
3088
3174
  exports.roof = roof;
@@ -3096,8 +3182,8 @@ exports.scaleDrawing = require_drawFns.scaleDrawing;
3096
3182
  exports.section = section;
3097
3183
  exports.sectionToFace = sectionToFace;
3098
3184
  exports.serializeHistory = require_historyFns.serializeHistory;
3099
- exports.setShapeOrigin = require_arrayAccess.setShapeOrigin;
3100
- exports.setTagMetadata = require_arrayAccess.setTagMetadata;
3185
+ exports.setShapeOrigin = require_shapeFns.setShapeOrigin;
3186
+ exports.setTagMetadata = require_shapeFns.setTagMetadata;
3101
3187
  exports.sewShells = require_primitiveFns.sewShells;
3102
3188
  exports.shape = shape;
3103
3189
  exports.shapeType = require_faceFns.shapeType;
@@ -3139,7 +3225,7 @@ exports.supportsProjection = require_shapeTypes.supportsProjection;
3139
3225
  exports.surfaceFromGrid = surfaceFromGrid;
3140
3226
  exports.surfaceFromImage = surfaceFromImage;
3141
3227
  exports.sweep = require_extrudeFns.sweep;
3142
- exports.tagFaces = require_arrayAccess.tagFaces;
3228
+ exports.tagFaces = require_shapeFns.tagFaces;
3143
3229
  exports.tangentArc = require_primitiveFns.tangentArc;
3144
3230
  exports.tap = require_errors.tap;
3145
3231
  exports.tapErr = require_errors.tapErr;
@@ -3157,6 +3243,12 @@ exports.toVec2 = require_types.toVec2;
3157
3243
  exports.toVec3 = require_types.toVec3;
3158
3244
  exports.torus = require_primitiveFns.torus;
3159
3245
  exports.transformCopy = transformCopy;
3246
+ Object.defineProperty(exports, "transforms", {
3247
+ enumerable: true,
3248
+ get: function() {
3249
+ return transforms_exports;
3250
+ }
3251
+ });
3160
3252
  exports.translate = translate;
3161
3253
  exports.translate2D = require_blueprintFns.translate2D;
3162
3254
  exports.translateDrawing = require_drawFns.translateDrawing;
@@ -3172,6 +3264,7 @@ exports.unwrapErr = require_errors.unwrapErr;
3172
3264
  exports.unwrapOr = require_errors.unwrapOr;
3173
3265
  exports.unwrapOrElse = require_errors.unwrapOrElse;
3174
3266
  exports.updateNode = require_historyFns.updateNode;
3267
+ exports.updateRoles = require_shapeRefFns.updateRoles;
3175
3268
  exports.uvBounds = require_faceFns.uvBounds;
3176
3269
  exports.uvCoordinates = require_faceFns.uvCoordinates;
3177
3270
  exports.validSolid = require_shapeTypes.validSolid;
@@ -3195,7 +3288,7 @@ exports.vecScale = require_vecOps.vecScale;
3195
3288
  exports.vecSub = require_vecOps.vecSub;
3196
3289
  exports.vertex = require_primitiveFns.vertex;
3197
3290
  exports.vertexFinder = vertexFinder;
3198
- exports.vertexPosition = require_arrayAccess.vertexPosition;
3291
+ exports.vertexPosition = require_shapeFns.vertexPosition;
3199
3292
  exports.verticesOfEdge = require_primitiveFns.verticesOfEdge;
3200
3293
  exports.walkAssembly = require_historyFns.walkAssembly;
3201
3294
  exports.wire = require_primitiveFns.wire;