brepjs 12.8.2 → 12.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/dist/2d/blueprints/{approximations.d.ts → blueprintApproximations.d.ts} +1 -1
  2. package/dist/2d/blueprints/blueprintApproximations.d.ts.map +1 -0
  3. package/dist/2d/blueprints/{customCorners.d.ts → blueprintCustomCorners.d.ts} +1 -1
  4. package/dist/2d/blueprints/blueprintCustomCorners.d.ts.map +1 -0
  5. package/dist/2d/blueprints/blueprintFns.d.ts +17 -3
  6. package/dist/2d/blueprints/blueprintFns.d.ts.map +1 -1
  7. package/dist/2d/blueprints/{offset.d.ts → blueprintOffset.d.ts} +1 -1
  8. package/dist/2d/blueprints/blueprintOffset.d.ts.map +1 -0
  9. package/dist/2d/blueprints/index.d.ts +4 -4
  10. package/dist/2d/blueprints/index.d.ts.map +1 -1
  11. package/dist/2d/lib/Curve2D.d.ts +1 -1
  12. package/dist/2d/lib/Curve2D.d.ts.map +1 -1
  13. package/dist/2d/lib/svgPath.d.ts.map +1 -1
  14. package/dist/2d/lib/vectorOperations.d.ts +4 -1
  15. package/dist/2d/lib/vectorOperations.d.ts.map +1 -1
  16. package/dist/2d-CzEysb7A.js +108 -0
  17. package/dist/2d-DCxS_sb_.cjs +107 -0
  18. package/dist/2d.cjs +24 -88
  19. package/dist/2d.d.ts +1 -1
  20. package/dist/2d.js +34 -99
  21. package/dist/{Blueprint-CQ28WJhz.cjs → Blueprint-BoC0DsDm.cjs} +15 -45
  22. package/dist/{Blueprint-DbVaf6k7.js → Blueprint-CQNRtmYG.js} +33 -63
  23. package/dist/{boolean2D-y3E92F0u.js → boolean2D-DXAt4GAK.js} +132 -62
  24. package/dist/{boolean2D-0blbVtJ8.cjs → boolean2D-N9Pgumgg.cjs} +112 -42
  25. package/dist/{booleanFns-BCTjYZAg.js → booleanFns-BXV7Oh0h.js} +53 -50
  26. package/dist/{booleanFns-gmsX3Cv2.cjs → booleanFns-CxArUj_q.cjs} +43 -40
  27. package/dist/brepjs.cjs +448 -379
  28. package/dist/brepjs.js +1634 -1563
  29. package/dist/core/dimensionTypes.d.ts +52 -0
  30. package/dist/core/dimensionTypes.d.ts.map +1 -0
  31. package/dist/core/disposal.d.ts +18 -0
  32. package/dist/core/disposal.d.ts.map +1 -1
  33. package/dist/core/errors.d.ts +7 -8
  34. package/dist/core/errors.d.ts.map +1 -1
  35. package/dist/core/kernelErrorTranslation.d.ts +15 -0
  36. package/dist/core/kernelErrorTranslation.d.ts.map +1 -0
  37. package/dist/core/planeOps.d.ts +14 -0
  38. package/dist/core/planeOps.d.ts.map +1 -1
  39. package/dist/core/result.d.ts +4 -0
  40. package/dist/core/result.d.ts.map +1 -1
  41. package/dist/core/shapeTypes.d.ts +14 -146
  42. package/dist/core/shapeTypes.d.ts.map +1 -1
  43. package/dist/core/{definitionMaps.d.ts → typeDiscriminants.d.ts} +5 -1
  44. package/dist/core/typeDiscriminants.d.ts.map +1 -0
  45. package/dist/core/validityTypes.d.ts +100 -0
  46. package/dist/core/validityTypes.d.ts.map +1 -0
  47. package/dist/core.cjs +52 -11
  48. package/dist/core.d.ts +1 -1
  49. package/dist/core.d.ts.map +1 -1
  50. package/dist/core.js +119 -76
  51. package/dist/{curveFns-BZngcnQ1.cjs → curveFns-CWZRuXQ3.cjs} +2 -2
  52. package/dist/{curveFns-mROFhiuG.js → curveFns-OmbtFSG8.js} +14 -14
  53. package/dist/{drawFns-Bwakrq7w.js → drawFns-8S0ULGRj.js} +146 -118
  54. package/dist/{drawFns-CjRc1NfQ.cjs → drawFns-voV2wEp8.cjs} +153 -125
  55. package/dist/{faceFns-B8GnxjdY.js → faceFns-Bn2seBfp.js} +16 -24
  56. package/dist/{faceFns-DB1Fc5gy.cjs → faceFns-CmIrjdt1.cjs} +2 -10
  57. package/dist/{helpers-X0juxnwj.js → helpers-CEn618MW.js} +89 -21
  58. package/dist/{helpers-C8NoT0Wu.cjs → helpers-mipaxDTy.cjs} +77 -9
  59. package/dist/index.d.ts +20 -19
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/io/gltfImportFns.d.ts +18 -0
  62. package/dist/io/gltfImportFns.d.ts.map +1 -0
  63. package/dist/io/ioUtils.d.ts +16 -0
  64. package/dist/io/ioUtils.d.ts.map +1 -0
  65. package/dist/io/objImportFns.d.ts.map +1 -1
  66. package/dist/io/threemfImportFns.d.ts.map +1 -1
  67. package/dist/io.cjs +4 -4
  68. package/dist/io.js +4 -4
  69. package/dist/kernel/brepkit/booleanOps.d.ts +23 -0
  70. package/dist/kernel/brepkit/booleanOps.d.ts.map +1 -0
  71. package/dist/kernel/brepkit/constructionOps.d.ts +51 -0
  72. package/dist/kernel/brepkit/constructionOps.d.ts.map +1 -0
  73. package/dist/kernel/brepkit/evolutionOps.d.ts +31 -0
  74. package/dist/kernel/brepkit/evolutionOps.d.ts.map +1 -0
  75. package/dist/kernel/brepkit/geometryOps.d.ts +56 -0
  76. package/dist/kernel/brepkit/geometryOps.d.ts.map +1 -0
  77. package/dist/kernel/brepkit/helpers.d.ts +84 -0
  78. package/dist/kernel/brepkit/helpers.d.ts.map +1 -0
  79. package/dist/kernel/brepkit/internalOps.d.ts +28 -0
  80. package/dist/kernel/brepkit/internalOps.d.ts.map +1 -0
  81. package/dist/kernel/brepkit/ioOps.d.ts +43 -0
  82. package/dist/kernel/brepkit/ioOps.d.ts.map +1 -0
  83. package/dist/kernel/brepkit/measureOps.d.ts +30 -0
  84. package/dist/kernel/brepkit/measureOps.d.ts.map +1 -0
  85. package/dist/kernel/brepkit/meshOps.d.ts +7 -0
  86. package/dist/kernel/brepkit/meshOps.d.ts.map +1 -0
  87. package/dist/kernel/brepkit/modifierOps.d.ts +15 -0
  88. package/dist/kernel/brepkit/modifierOps.d.ts.map +1 -0
  89. package/dist/kernel/brepkit/repairOps.d.ts +14 -0
  90. package/dist/kernel/brepkit/repairOps.d.ts.map +1 -0
  91. package/dist/kernel/brepkit/sweepOps.d.ts +27 -0
  92. package/dist/kernel/brepkit/sweepOps.d.ts.map +1 -0
  93. package/dist/kernel/brepkit/topologyOps.d.ts +16 -0
  94. package/dist/kernel/brepkit/topologyOps.d.ts.map +1 -0
  95. package/dist/kernel/brepkit/transformOps.d.ts +14 -0
  96. package/dist/kernel/brepkit/transformOps.d.ts.map +1 -0
  97. package/dist/kernel/brepkitAdapter.d.ts +1 -1
  98. package/dist/kernel/brepkitAdapter.d.ts.map +1 -1
  99. package/dist/kernel/brepkitWasmTypes.d.ts +8 -0
  100. package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -1
  101. package/dist/kernel/defaultAdapter.d.ts.map +1 -1
  102. package/dist/kernel/extendedConstructorOps.d.ts +9 -1
  103. package/dist/kernel/extendedConstructorOps.d.ts.map +1 -1
  104. package/dist/kernel/index.d.ts +1 -0
  105. package/dist/kernel/index.d.ts.map +1 -1
  106. package/dist/kernel/interfaces/boolean-ops.d.ts +25 -0
  107. package/dist/kernel/interfaces/boolean-ops.d.ts.map +1 -0
  108. package/dist/kernel/interfaces/builder-ops.d.ts +57 -0
  109. package/dist/kernel/interfaces/builder-ops.d.ts.map +1 -0
  110. package/dist/kernel/interfaces/core.d.ts +30 -0
  111. package/dist/kernel/interfaces/core.d.ts.map +1 -0
  112. package/dist/kernel/interfaces/curve-ops.d.ts +41 -0
  113. package/dist/kernel/interfaces/curve-ops.d.ts.map +1 -0
  114. package/dist/kernel/interfaces/evolution-ops.d.ts +19 -0
  115. package/dist/kernel/interfaces/evolution-ops.d.ts.map +1 -0
  116. package/dist/kernel/interfaces/index.d.ts +37 -0
  117. package/dist/kernel/interfaces/index.d.ts.map +1 -0
  118. package/dist/kernel/interfaces/io-ops.d.ts +66 -0
  119. package/dist/kernel/interfaces/io-ops.d.ts.map +1 -0
  120. package/dist/kernel/interfaces/measure-ops.d.ts +35 -0
  121. package/dist/kernel/interfaces/measure-ops.d.ts.map +1 -0
  122. package/dist/kernel/interfaces/mesh-ops.d.ts +21 -0
  123. package/dist/kernel/interfaces/mesh-ops.d.ts.map +1 -0
  124. package/dist/kernel/interfaces/modifier-ops.d.ts +22 -0
  125. package/dist/kernel/interfaces/modifier-ops.d.ts.map +1 -0
  126. package/dist/kernel/interfaces/primitive-ops.d.ts +13 -0
  127. package/dist/kernel/interfaces/primitive-ops.d.ts.map +1 -0
  128. package/dist/kernel/interfaces/repair-ops.d.ts +36 -0
  129. package/dist/kernel/interfaces/repair-ops.d.ts.map +1 -0
  130. package/dist/kernel/interfaces/surface-ops.d.ts +50 -0
  131. package/dist/kernel/interfaces/surface-ops.d.ts.map +1 -0
  132. package/dist/kernel/interfaces/sweep-ops.d.ts +49 -0
  133. package/dist/kernel/interfaces/sweep-ops.d.ts.map +1 -0
  134. package/dist/kernel/interfaces/topology-ops.d.ts +30 -0
  135. package/dist/kernel/interfaces/topology-ops.d.ts.map +1 -0
  136. package/dist/kernel/interfaces/transform-ops.d.ts +35 -0
  137. package/dist/kernel/interfaces/transform-ops.d.ts.map +1 -0
  138. package/dist/kernel/modifierOps.d.ts +2 -2
  139. package/dist/kernel/modifierOps.d.ts.map +1 -1
  140. package/dist/kernel/types.d.ts +2 -446
  141. package/dist/kernel/types.d.ts.map +1 -1
  142. package/dist/measurement/measureCache.d.ts +11 -9
  143. package/dist/measurement/measureCache.d.ts.map +1 -1
  144. package/dist/measurement/measureFns.d.ts +24 -71
  145. package/dist/measurement/measureFns.d.ts.map +1 -1
  146. package/dist/measurement/measureTypes.d.ts +30 -0
  147. package/dist/measurement/measureTypes.d.ts.map +1 -0
  148. package/dist/{measurement-D8EJ694A.js → measurement-fJWDEpz0.js} +53 -34
  149. package/dist/measurement-ph-kanQ7.cjs +154 -0
  150. package/dist/measurement.cjs +2 -1
  151. package/dist/measurement.d.ts +1 -1
  152. package/dist/measurement.d.ts.map +1 -1
  153. package/dist/measurement.js +4 -3
  154. package/dist/{meshFns-BnV0ZR8w.cjs → meshFns-B9p4EVV8.cjs} +4 -4
  155. package/dist/{meshFns-nQjK38EC.js → meshFns-D0qIoxm-.js} +3 -3
  156. package/dist/operations/compoundOpsFns.d.ts +38 -0
  157. package/dist/operations/compoundOpsFns.d.ts.map +1 -0
  158. package/dist/operations/convexHullFns.d.ts +21 -0
  159. package/dist/operations/convexHullFns.d.ts.map +1 -0
  160. package/dist/operations/extrudeFns.d.ts +2 -93
  161. package/dist/operations/extrudeFns.d.ts.map +1 -1
  162. package/dist/operations/guidedSweepFns.d.ts +3 -22
  163. package/dist/operations/guidedSweepFns.d.ts.map +1 -1
  164. package/dist/operations/multiSweepFns.d.ts +3 -29
  165. package/dist/operations/multiSweepFns.d.ts.map +1 -1
  166. package/dist/operations/roofFns.d.ts +2 -2
  167. package/dist/operations/roofFns.d.ts.map +1 -1
  168. package/dist/operations/straightSkeleton.d.ts.map +1 -1
  169. package/dist/operations/sweepFns.d.ts +121 -0
  170. package/dist/operations/sweepFns.d.ts.map +1 -0
  171. package/dist/{operations-BfbkK6DU.js → operations-DX_qy_TB.js} +29 -177
  172. package/dist/{operations-CYpmLSC4.cjs → operations-Ds4xoyxR.cjs} +6 -154
  173. package/dist/operations.cjs +6 -10
  174. package/dist/operations.d.ts +0 -2
  175. package/dist/operations.d.ts.map +1 -1
  176. package/dist/operations.js +26 -30
  177. package/dist/originTrackingFns-BOCAMfd0.js +137 -0
  178. package/dist/originTrackingFns-SPU7ly3_.cjs +136 -0
  179. package/dist/query/edgeFinder.d.ts +4 -14
  180. package/dist/query/edgeFinder.d.ts.map +1 -1
  181. package/dist/query/faceFinder.d.ts +4 -14
  182. package/dist/query/faceFinder.d.ts.map +1 -1
  183. package/dist/query/finderCore.d.ts +6 -0
  184. package/dist/query/finderCore.d.ts.map +1 -1
  185. package/dist/query/shapeFinders.d.ts +32 -0
  186. package/dist/query/shapeFinders.d.ts.map +1 -0
  187. package/dist/query/wireFinder.d.ts +4 -9
  188. package/dist/query/wireFinder.d.ts.map +1 -1
  189. package/dist/query.cjs +54 -32
  190. package/dist/query.js +56 -34
  191. package/dist/{result-BaSD1fqR.js → result-CoDaWsvc.js} +48 -90
  192. package/dist/{result-fAX0OZzI.cjs → result-DULetAht.cjs} +17 -59
  193. package/dist/result.cjs +1 -1
  194. package/dist/result.js +23 -23
  195. package/dist/shapeFns-BZ6zk7nd.js +34 -0
  196. package/dist/shapeFns-bRkrwI8R.cjs +33 -0
  197. package/dist/{shapeTypes-7xEam9Ri.cjs → shapeTypes-T0n6mRmt.cjs} +170 -137
  198. package/dist/{shapeTypes-CpSaBLDv.js → shapeTypes-dhhm-T5A.js} +205 -172
  199. package/dist/sketching/CompoundSketch.d.ts +4 -4
  200. package/dist/sketching/CompoundSketch.d.ts.map +1 -1
  201. package/dist/sketching/Sketch.d.ts +3 -3
  202. package/dist/sketching/Sketch.d.ts.map +1 -1
  203. package/dist/sketching/Sketcher.d.ts.map +1 -1
  204. package/dist/sketching/Sketches.d.ts +1 -1
  205. package/dist/sketching/Sketches.d.ts.map +1 -1
  206. package/dist/sketching/draw.d.ts +1 -20
  207. package/dist/sketching/draw.d.ts.map +1 -1
  208. package/dist/sketching/draw3d.d.ts +22 -0
  209. package/dist/sketching/draw3d.d.ts.map +1 -0
  210. package/dist/sketching/sketchFns.d.ts +3 -3
  211. package/dist/sketching/sketchFns.d.ts.map +1 -1
  212. package/dist/sketching/sketchLib.d.ts +2 -2
  213. package/dist/sketching/sketchLib.d.ts.map +1 -1
  214. package/dist/sketching.cjs +2 -2
  215. package/dist/sketching.d.ts +2 -1
  216. package/dist/sketching.d.ts.map +1 -1
  217. package/dist/sketching.js +2 -2
  218. package/dist/{solidBuilders-994_MQwB.cjs → solidBuilders-BEAoLYvr.cjs} +3 -3
  219. package/dist/{solidBuilders-DmwhTCCd.js → solidBuilders-tVmD3R7Z.js} +12 -12
  220. package/dist/{surfaceBuilders-5VA34a3_.cjs → surfaceBuilders-DYS8AMSS.cjs} +3 -3
  221. package/dist/{surfaceBuilders-nQdJ56fe.js → surfaceBuilders-Dl0ATFbO.js} +15 -15
  222. package/dist/sweepFns-BKnQs59A.js +215 -0
  223. package/dist/sweepFns-COqeYIUp.cjs +214 -0
  224. package/dist/text/textBlueprints.d.ts +4 -3
  225. package/dist/text/textBlueprints.d.ts.map +1 -1
  226. package/dist/topology/booleanFns.d.ts.map +1 -1
  227. package/dist/topology/cast.d.ts +1 -5
  228. package/dist/topology/cast.d.ts.map +1 -1
  229. package/dist/topology/compoundOpsFns.d.ts +3 -35
  230. package/dist/topology/compoundOpsFns.d.ts.map +1 -1
  231. package/dist/topology/curveFns.d.ts +1 -1
  232. package/dist/topology/curveFns.d.ts.map +1 -1
  233. package/dist/topology/index.d.ts +2 -3
  234. package/dist/topology/index.d.ts.map +1 -1
  235. package/dist/topology/{colorFns.d.ts → metadata/colorFns.d.ts} +2 -2
  236. package/dist/topology/metadata/colorFns.d.ts.map +1 -0
  237. package/dist/topology/{faceTagFns.d.ts → metadata/faceTagFns.d.ts} +2 -2
  238. package/dist/topology/metadata/faceTagFns.d.ts.map +1 -0
  239. package/dist/topology/metadata/metadataPropagation.d.ts +30 -0
  240. package/dist/topology/metadata/metadataPropagation.d.ts.map +1 -0
  241. package/dist/topology/metadata/originTrackingFns.d.ts +23 -0
  242. package/dist/topology/metadata/originTrackingFns.d.ts.map +1 -0
  243. package/dist/topology/modifierFns.d.ts.map +1 -1
  244. package/dist/topology/shapeFns.d.ts +6 -120
  245. package/dist/topology/shapeFns.d.ts.map +1 -1
  246. package/dist/topology/topologyQueryFns.d.ts +67 -0
  247. package/dist/topology/topologyQueryFns.d.ts.map +1 -0
  248. package/dist/topology/transformFns.d.ts +49 -0
  249. package/dist/topology/transformFns.d.ts.map +1 -0
  250. package/dist/topology/wrapperFns.d.ts.map +1 -1
  251. package/dist/{topology-C7x98OVn.js → topology-C1oUQXZS.js} +235 -50
  252. package/dist/{topology-ANwCzGL8.cjs → topology-xyDYbkHW.cjs} +205 -20
  253. package/dist/topology.cjs +18 -17
  254. package/dist/topology.js +97 -96
  255. package/dist/topologyQueryFns-0IptTUCo.cjs +118 -0
  256. package/dist/topologyQueryFns-Dj4Xd5kx.js +119 -0
  257. package/dist/{types-CWDdqcrq.js → types-CcKqsmd0.js} +2 -2
  258. package/dist/utils/precisionRound.d.ts +4 -0
  259. package/dist/utils/precisionRound.d.ts.map +1 -1
  260. package/dist/utils/vec2d.d.ts +5 -0
  261. package/dist/utils/vec2d.d.ts.map +1 -1
  262. package/dist/{vecOps-ZDdZWbwT.js → vecOps-LTN--A58.js} +15 -15
  263. package/dist/{vectors-Bx8wkNui.js → vectors-B8juLsQB.js} +15 -7
  264. package/dist/{vectors-D_IiZx0q.cjs → vectors-I_0zdD3O.cjs} +9 -1
  265. package/dist/vectors.cjs +1 -1
  266. package/dist/vectors.js +23 -23
  267. package/package.json +9 -9
  268. package/dist/2d/blueprints/approximations.d.ts.map +0 -1
  269. package/dist/2d/blueprints/customCorners.d.ts.map +0 -1
  270. package/dist/2d/blueprints/offset.d.ts.map +0 -1
  271. package/dist/core/definitionMaps.d.ts.map +0 -1
  272. package/dist/core/geometryHelpers.d.ts +0 -30
  273. package/dist/core/geometryHelpers.d.ts.map +0 -1
  274. package/dist/core/memory.d.ts +0 -6
  275. package/dist/core/memory.d.ts.map +0 -1
  276. package/dist/core/typeErrors.d.ts +0 -17
  277. package/dist/core/typeErrors.d.ts.map +0 -1
  278. package/dist/cornerFinder-Ckz-mPHE.js +0 -59
  279. package/dist/cornerFinder-ZmOyOOsh.cjs +0 -58
  280. package/dist/loft-Bhw-FMoL.js +0 -228
  281. package/dist/loft-hp3pc1M7.cjs +0 -227
  282. package/dist/measurement-BoNTUBAp.cjs +0 -135
  283. package/dist/operations/extrude.d.ts +0 -72
  284. package/dist/operations/extrude.d.ts.map +0 -1
  285. package/dist/operations/loft.d.ts +0 -33
  286. package/dist/operations/loft.d.ts.map +0 -1
  287. package/dist/shapeFns-C2SnNvdH.cjs +0 -468
  288. package/dist/shapeFns-FDuKkrDR.js +0 -469
  289. package/dist/topology/colorFns.d.ts.map +0 -1
  290. package/dist/topology/faceTagFns.d.ts.map +0 -1
  291. package/dist/utils/round2.d.ts +0 -3
  292. package/dist/utils/round2.d.ts.map +0 -1
  293. package/dist/utils/round5.d.ts +0 -3
  294. package/dist/utils/round5.d.ts.map +0 -1
@@ -1,41 +1,13 @@
1
1
  "use strict";
2
- const vectors = require("./vectors-D_IiZx0q.cjs");
2
+ const vectors = require("./vectors-I_0zdD3O.cjs");
3
+ const shapeTypes = require("./shapeTypes-T0n6mRmt.cjs");
4
+ const faceFns = require("./faceFns-CmIrjdt1.cjs");
5
+ const curveFns = require("./curveFns-CWZRuXQ3.cjs");
6
+ const result = require("./result-DULetAht.cjs");
7
+ const helpers = require("./helpers-mipaxDTy.cjs");
3
8
  const types = require("./types-CA_xrgDq.cjs");
4
- const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
5
- const faceFns = require("./faceFns-DB1Fc5gy.cjs");
6
- const curveFns = require("./curveFns-BZngcnQ1.cjs");
7
- const result = require("./result-fAX0OZzI.cjs");
8
- const helpers = require("./helpers-C8NoT0Wu.cjs");
9
9
  const vecOps = require("./vecOps-CjRL1jau.cjs");
10
- const surfaceBuilders = require("./surfaceBuilders-5VA34a3_.cjs");
11
- function makePlane(plane, origin) {
12
- if (plane && typeof plane !== "string") {
13
- return { ...plane };
14
- } else {
15
- return vectors.resolvePlane(plane ?? "XY", origin);
16
- }
17
- }
18
- function mirror(shape, inputPlane, origin) {
19
- let originVec;
20
- let directionVec;
21
- if (typeof inputPlane === "string") {
22
- const plane = vectors.resolvePlane(inputPlane, origin);
23
- originVec = plane.origin;
24
- directionVec = plane.zDir;
25
- } else if (inputPlane && typeof inputPlane === "object" && "origin" in inputPlane && "zDir" in inputPlane) {
26
- originVec = origin ? types.toVec3(origin) : inputPlane.origin;
27
- directionVec = inputPlane.zDir;
28
- } else if (inputPlane) {
29
- originVec = origin ? types.toVec3(origin) : [0, 0, 0];
30
- directionVec = types.toVec3(inputPlane);
31
- } else {
32
- const plane = vectors.resolvePlane("YZ", origin);
33
- originVec = plane.origin;
34
- directionVec = plane.zDir;
35
- }
36
- const newShape = shapeTypes.getKernel().mirror(shape, originVec, directionVec);
37
- return newShape;
38
- }
10
+ const surfaceBuilders = require("./surfaceBuilders-DYS8AMSS.cjs");
39
11
  function isPoint2D(point) {
40
12
  return Array.isArray(point) && point.length === 2 && typeof point[0] === "number" && typeof point[1] === "number";
41
13
  }
@@ -47,6 +19,9 @@ function precisionRound(number, precision) {
47
19
  function round2(v) {
48
20
  return Math.round(v * 100) / 100;
49
21
  }
22
+ function round5(v) {
23
+ return Math.round(v * 1e5) / 1e5;
24
+ }
50
25
  const reprPnt = ([x, y]) => {
51
26
  return `(${round2(x)},${round2(y)})`;
52
27
  };
@@ -138,12 +113,12 @@ class BoundingBox2d {
138
113
  return !shapeTypes.getKernel2D().isBBox2dOutPoint(this.wrapped, other[0], other[1]);
139
114
  }
140
115
  }
141
- const normalize2d = ([x0, y0]) => {
142
- const l = helpers.distance2d([x0, y0]);
143
- if (l < 1e-12) {
116
+ const normalize2d = ([x, y]) => {
117
+ const result$1 = helpers.normalize2d([x, y]);
118
+ if (result$1[0] === 0 && result$1[1] === 0) {
144
119
  result.bug("normalize2d", "Cannot normalize zero-length vector");
145
120
  }
146
- return [x0 / l, y0 / l];
121
+ return result$1;
147
122
  };
148
123
  function deserializeCurve2D(data) {
149
124
  return new Curve2D(shapeTypes.getKernel().deserializeCurve2d(data));
@@ -517,9 +492,6 @@ const make2dArcFromCenter = (startPoint, endPoint, center, longArc = false) => {
517
492
  endPoint
518
493
  );
519
494
  };
520
- function round5(v) {
521
- return Math.round(v * 1e5) / 1e5;
522
- }
523
495
  const adaptedCurveToPathElem = (curve, lastPoint) => {
524
496
  const k2d = shapeTypes.getKernel2D();
525
497
  const curveType = curve.geomType;
@@ -825,7 +797,7 @@ class Blueprint {
825
797
  * @returns Sketch data containing the projected wire and default orientation.
826
798
  */
827
799
  sketchOnPlane(inputPlane, origin) {
828
- const plane = inputPlane && typeof inputPlane !== "string" ? { ...inputPlane } : makePlane(inputPlane, origin);
800
+ const plane = inputPlane && typeof inputPlane !== "string" ? { ...inputPlane } : vectors.makePlane(inputPlane, origin);
829
801
  const edges = curvesAsEdgesOnPlane(this.curves, plane);
830
802
  const wire = assembleWire(edges);
831
803
  return {
@@ -996,8 +968,6 @@ exports.make2dInerpolatedBSplineCurve = make2dInerpolatedBSplineCurve;
996
968
  exports.make2dSegmentCurve = make2dSegmentCurve;
997
969
  exports.make2dTangentArc = make2dTangentArc;
998
970
  exports.make2dThreePointArc = make2dThreePointArc;
999
- exports.makePlane = makePlane;
1000
- exports.mirror = mirror;
1001
971
  exports.normalize2d = normalize2d;
1002
972
  exports.removeDuplicatePoints = removeDuplicatePoints;
1003
973
  exports.viewbox = viewbox;
@@ -1,40 +1,12 @@
1
- import { r as resolvePlane } from "./vectors-Bx8wkNui.js";
2
- import { a as toVec3 } from "./types-CWDdqcrq.js";
3
- import { B as getKernel, J as getKernel2D, K as registerForCleanup, L as unregisterFromCleanup, H as createEdge, G as createWire } from "./shapeTypes-CpSaBLDv.js";
4
- import { u as uvBounds, f as faceGeomType, e as faceCenter, h as uvCoordinates, c as cast } from "./faceFns-B8GnxjdY.js";
5
- import { g as getOrientation } from "./curveFns-mROFhiuG.js";
6
- import { b as bug, o as ok, e as err, d as computationError, v as unwrap, z as validationError } from "./result-BaSD1fqR.js";
7
- import { d as distance2d, s as samePoint, b as scalarMultiply2d, c as add2d, e as subtract2d, g as getSingleFace } from "./helpers-X0juxnwj.js";
8
- import { R as RAD2DEG, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
9
- import { m as makeFace } from "./surfaceBuilders-nQdJ56fe.js";
10
- function makePlane(plane, origin) {
11
- if (plane && typeof plane !== "string") {
12
- return { ...plane };
13
- } else {
14
- return resolvePlane(plane ?? "XY", origin);
15
- }
16
- }
17
- function mirror(shape, inputPlane, origin) {
18
- let originVec;
19
- let directionVec;
20
- if (typeof inputPlane === "string") {
21
- const plane = resolvePlane(inputPlane, origin);
22
- originVec = plane.origin;
23
- directionVec = plane.zDir;
24
- } else if (inputPlane && typeof inputPlane === "object" && "origin" in inputPlane && "zDir" in inputPlane) {
25
- originVec = origin ? toVec3(origin) : inputPlane.origin;
26
- directionVec = inputPlane.zDir;
27
- } else if (inputPlane) {
28
- originVec = origin ? toVec3(origin) : [0, 0, 0];
29
- directionVec = toVec3(inputPlane);
30
- } else {
31
- const plane = resolvePlane("YZ", origin);
32
- originVec = plane.origin;
33
- directionVec = plane.zDir;
34
- }
35
- const newShape = getKernel().mirror(shape, originVec, directionVec);
36
- return newShape;
37
- }
1
+ import { m as makePlane } from "./vectors-B8juLsQB.js";
2
+ import { p as getKernel2D, r as registerForCleanup, u as unregisterFromCleanup, g as getKernel, m as createEdge, l as createWire } from "./shapeTypes-dhhm-T5A.js";
3
+ import { u as uvBounds, f as faceGeomType, a as faceCenter, b as uvCoordinates, c as cast } from "./faceFns-Bn2seBfp.js";
4
+ import { b as getOrientation } from "./curveFns-OmbtFSG8.js";
5
+ import { d as bug, o as ok, e as err, f as computationError, u as unwrap, v as validationError } from "./result-CoDaWsvc.js";
6
+ import { n as normalize2d$1, d as distance2d, s as samePoint, a as scalarMultiply2d, b as add2d, c as subtract2d, g as getSingleFace } from "./helpers-CEn618MW.js";
7
+ import { t as toVec3 } from "./types-CcKqsmd0.js";
8
+ import { R as RAD2DEG, D as DEG2RAD } from "./vecOps-LTN--A58.js";
9
+ import { m as makeFace } from "./surfaceBuilders-Dl0ATFbO.js";
38
10
  function isPoint2D(point) {
39
11
  return Array.isArray(point) && point.length === 2 && typeof point[0] === "number" && typeof point[1] === "number";
40
12
  }
@@ -46,6 +18,9 @@ function precisionRound(number, precision) {
46
18
  function round2(v) {
47
19
  return Math.round(v * 100) / 100;
48
20
  }
21
+ function round5(v) {
22
+ return Math.round(v * 1e5) / 1e5;
23
+ }
49
24
  const reprPnt = ([x, y]) => {
50
25
  return `(${round2(x)},${round2(y)})`;
51
26
  };
@@ -137,12 +112,12 @@ class BoundingBox2d {
137
112
  return !getKernel2D().isBBox2dOutPoint(this.wrapped, other[0], other[1]);
138
113
  }
139
114
  }
140
- const normalize2d = ([x0, y0]) => {
141
- const l = distance2d([x0, y0]);
142
- if (l < 1e-12) {
115
+ const normalize2d = ([x, y]) => {
116
+ const result = normalize2d$1([x, y]);
117
+ if (result[0] === 0 && result[1] === 0) {
143
118
  bug("normalize2d", "Cannot normalize zero-length vector");
144
119
  }
145
- return [x0 / l, y0 / l];
120
+ return result;
146
121
  };
147
122
  function deserializeCurve2D(data) {
148
123
  return new Curve2D(getKernel().deserializeCurve2d(data));
@@ -516,9 +491,6 @@ const make2dArcFromCenter = (startPoint, endPoint, center, longArc = false) => {
516
491
  endPoint
517
492
  );
518
493
  };
519
- function round5(v) {
520
- return Math.round(v * 1e5) / 1e5;
521
- }
522
494
  const adaptedCurveToPathElem = (curve, lastPoint) => {
523
495
  const k2d = getKernel2D();
524
496
  const curveType = curve.geomType;
@@ -979,26 +951,24 @@ class Blueprint {
979
951
  export {
980
952
  Blueprint as B,
981
953
  Curve2D as C,
982
- make2dSegmentCurve as a,
983
- make2dArcFromCenter as b,
954
+ make2dArcFromCenter as a,
955
+ approximateAsSvgCompatibleCurve as b,
984
956
  curvesAsEdgesOnPlane as c,
985
- approximateAsSvgCompatibleCurve as d,
986
- BoundingBox2d as e,
987
- edgeToCurve as f,
988
- make2dInerpolatedBSplineCurve as g,
989
- make2dCircle as h,
990
- make2dEllipse as i,
991
- deserializeCurve2D as j,
992
- approximateAsBSpline as k,
993
- isPoint2D as l,
994
- mirror as m,
957
+ BoundingBox2d as d,
958
+ make2dInerpolatedBSplineCurve as e,
959
+ make2dCircle as f,
960
+ make2dEllipse as g,
961
+ deserializeCurve2D as h,
962
+ edgeToCurve as i,
963
+ approximateAsBSpline as j,
964
+ isPoint2D as k,
965
+ make2dThreePointArc as l,
966
+ make2dSegmentCurve as m,
995
967
  normalize2d as n,
996
- make2dThreePointArc as o,
997
- asSVG as p,
998
- make2dEllipseArc as q,
999
- make2dTangentArc as r,
1000
- make2dBezierCurve as s,
1001
- removeDuplicatePoints as t,
1002
- makePlane as u,
968
+ asSVG as o,
969
+ make2dEllipseArc as p,
970
+ make2dTangentArc as q,
971
+ make2dBezierCurve as r,
972
+ removeDuplicatePoints as s,
1003
973
  viewbox as v
1004
974
  };
@@ -43,17 +43,17 @@ var __callDispose = (stack, error, hasError) => {
43
43
  };
44
44
  return next();
45
45
  };
46
- import { a as createPlane } from "./vectors-Bx8wkNui.js";
47
- import { o as ok, e as err, d as computationError, v as unwrap, h as isOk, C as safeIndex, b as bug } from "./result-BaSD1fqR.js";
48
- import { d as downcast, u as uvBounds, p as pointOnSurface, n as normalAt } from "./faceFns-B8GnxjdY.js";
49
- import { a as toVec3 } from "./types-CWDdqcrq.js";
50
- import { n as vecScale, j as vecNormalize, b as vecCross, D as DEG2RAD, R as RAD2DEG } from "./vecOps-ZDdZWbwT.js";
51
- import { r as revolution, c as complexExtrude, t as twistExtrude, b as basicFaceExtrusion, g as genericSweep, l as loft } from "./loft-Bhw-FMoL.js";
52
- import { J as getKernel2D, I as createFace, G as createWire, B as getKernel, H as createEdge, D as DisposalScope } from "./shapeTypes-CpSaBLDv.js";
53
- import { c as curveStartPoint, a as curveTangentAt, b as curveIsClosed } from "./curveFns-mROFhiuG.js";
54
- import { m as makeFace, h as makeNewFaceWithinFace, b as assembleWire, z as zip } from "./surfaceBuilders-nQdJ56fe.js";
55
- import { s as samePoint$1, e as subtract2d, c as add2d, h as crossProduct2d, b as scalarMultiply2d, p as polarToCartesian, r as rotate2d, i as cartesianToPolar, d as distance2d, j as polarAngle2d, k as PRECISION_INTERSECTION } from "./helpers-X0juxnwj.js";
56
- import { C as Curve2D, a as make2dSegmentCurve, k as approximateAsBSpline, n as normalize2d, b as make2dArcFromCenter, l as isPoint2D, h as make2dCircle, o as make2dThreePointArc, e as BoundingBox2d, v as viewbox, p as asSVG, B as Blueprint, q as make2dEllipseArc, r as make2dTangentArc, s as make2dBezierCurve, t as removeDuplicatePoints } from "./Blueprint-DbVaf6k7.js";
46
+ import { c as createPlane } from "./vectors-B8juLsQB.js";
47
+ import { o as ok, e as err, f as computationError, u as unwrap, c as isOk, s as safeIndex, v as validationError, B as BrepErrorCode, k as kernelError, t as typeCastError, d as bug } from "./result-CoDaWsvc.js";
48
+ import { d as downcast, u as uvBounds, p as pointOnSurface, n as normalAt } from "./faceFns-Bn2seBfp.js";
49
+ import { t as toVec3 } from "./types-CcKqsmd0.js";
50
+ import { v as vecLength, c as vecNormalize, b as vecScale, e as vecCross, D as DEG2RAD, R as RAD2DEG } from "./vecOps-LTN--A58.js";
51
+ import { p as getKernel2D, g as getKernel, f as createSolid, c as castShape, h as isShape3D, n as createFace, l as createWire, m as createEdge, D as DisposalScope } from "./shapeTypes-dhhm-T5A.js";
52
+ import { c as complexExtrude, t as twistExtrude, s as sweep } from "./sweepFns-BKnQs59A.js";
53
+ import { d as curveStartPoint, e as curveTangentAt, a as curveIsClosed } from "./curveFns-OmbtFSG8.js";
54
+ import { m as makeFace, g as makeNewFaceWithinFace, a as assembleWire, z as zip } from "./surfaceBuilders-Dl0ATFbO.js";
55
+ import { s as samePoint$1, c as subtract2d, b as add2d, f as crossProduct2d, a as scalarMultiply2d, p as polarToCartesian, r as rotate2d, h as cartesianToPolar, d as distance2d, i as polarAngle2d, j as PRECISION_INTERSECTION } from "./helpers-CEn618MW.js";
56
+ import { C as Curve2D, m as make2dSegmentCurve, j as approximateAsBSpline, n as normalize2d, a as make2dArcFromCenter, k as isPoint2D, f as make2dCircle, l as make2dThreePointArc, d as BoundingBox2d, v as viewbox, o as asSVG, B as Blueprint, p as make2dEllipseArc, q as make2dTangentArc, r as make2dBezierCurve, s as removeDuplicatePoints } from "./Blueprint-CQNRtmYG.js";
57
57
  const intersectCurves = (first, second, precision = 1e-9) => {
58
58
  if (first.boundingBox.isOut(second.boundingBox))
59
59
  return ok({ intersections: [], commonSegments: [], commonSegmentsPoints: [] });
@@ -566,33 +566,29 @@ function upperBound(value, arr) {
566
566
  return arr[i];
567
567
  }
568
568
  function sort(values, boxes, indices, left, right, nodeSize) {
569
- if (Math.floor(left / nodeSize) >= Math.floor(right / nodeSize)) return;
570
- const start = values[left];
571
- const mid = values[left + right >> 1];
572
- const end = values[right];
573
- let pivot = end;
574
- const x = Math.max(start, mid);
575
- if (end > x) {
576
- pivot = x;
577
- } else if (x === start) {
578
- pivot = Math.max(mid, end);
579
- } else if (x === mid) {
580
- pivot = Math.max(start, end);
581
- }
582
- let i = left - 1;
583
- let j = right + 1;
584
- while (true) {
585
- do
586
- i++;
587
- while (values[i] < pivot);
588
- do
589
- j--;
590
- while (values[j] > pivot);
591
- if (i >= j) break;
592
- swap(values, boxes, indices, i, j);
593
- }
594
- sort(values, boxes, indices, left, j, nodeSize);
595
- sort(values, boxes, indices, j + 1, right, nodeSize);
569
+ const stack = [left, right];
570
+ while (stack.length) {
571
+ const r = stack.pop() || 0;
572
+ const l = stack.pop() || 0;
573
+ if (r - l <= nodeSize && Math.floor(l / nodeSize) >= Math.floor(r / nodeSize)) continue;
574
+ const a = values[l];
575
+ const b = values[l + r >> 1];
576
+ const c = values[r];
577
+ const pivot = a > b !== a > c ? a : b < a !== b < c ? b : c;
578
+ let i = l - 1;
579
+ let j = r + 1;
580
+ while (true) {
581
+ do
582
+ i++;
583
+ while (values[i] < pivot);
584
+ do
585
+ j--;
586
+ while (values[j] > pivot);
587
+ if (i >= j) break;
588
+ swap(values, boxes, indices, i, j);
589
+ }
590
+ stack.push(l, j, j + 1, r);
591
+ }
596
592
  }
597
593
  function swap(values, boxes, indices, i, j) {
598
594
  const temp = values[i];
@@ -947,6 +943,69 @@ const organiseBlueprints = (blueprints) => {
947
943
  })
948
944
  );
949
945
  };
946
+ function extrude(face, extrusionVec) {
947
+ if (getKernel().isNull(face.wrapped)) {
948
+ return err(validationError(BrepErrorCode.NULL_SHAPE_INPUT, "extrude: face is a null shape"));
949
+ }
950
+ if (vecLength(extrusionVec) === 0) {
951
+ return err(validationError("EXTRUDE_ZERO_VECTOR", "extrude: extrusion vector has zero length"));
952
+ }
953
+ try {
954
+ const kernel = getKernel();
955
+ const len = vecLength(extrusionVec);
956
+ const dir = vecNormalize(extrusionVec);
957
+ const shape = kernel.extrude(face.wrapped, [...dir], len);
958
+ const downcastShape = kernel.downcast(shape, "solid");
959
+ const solid = createSolid(downcastShape);
960
+ return ok(solid);
961
+ } catch (e) {
962
+ return err(
963
+ kernelError("EXTRUDE_FAILED", "Extrusion operation failed", e, {
964
+ operation: "extrude",
965
+ vectorLength: vecLength(extrusionVec)
966
+ })
967
+ );
968
+ }
969
+ }
970
+ function revolve(face, center = [0, 0, 0], direction = [0, 0, 1], angle = 360) {
971
+ if (getKernel().isNull(face.wrapped)) {
972
+ return err(validationError(BrepErrorCode.NULL_SHAPE_INPUT, "revolve: face is a null shape"));
973
+ }
974
+ const kernel = getKernel();
975
+ const shape = kernel.revolveVec(face.wrapped, [...center], [...direction], angle);
976
+ const result = castShape(shape);
977
+ if (!isShape3D(result)) {
978
+ return err(typeCastError("REVOLUTION_NOT_3D", "Revolution did not produce a 3D shape"));
979
+ }
980
+ return ok(result);
981
+ }
982
+ function loft(wires, { ruled = true, startPoint, endPoint, tolerance = 1e-6 } = {}, returnShell = false) {
983
+ if (wires.length === 0 && !startPoint && !endPoint) {
984
+ return err(validationError("LOFT_EMPTY", "Loft requires at least one wire or start/end point"));
985
+ }
986
+ const kernel = getKernel();
987
+ const startVertex = startPoint ? kernel.makeVertex(...toVec3(startPoint)) : void 0;
988
+ const endVertex = endPoint ? kernel.makeVertex(...toVec3(endPoint)) : void 0;
989
+ try {
990
+ const shape = kernel.loftAdvanced(
991
+ wires.map((w) => w.wrapped),
992
+ {
993
+ solid: !returnShell,
994
+ ruled,
995
+ tolerance,
996
+ ...startVertex ? { startVertex } : {},
997
+ ...endVertex ? { endVertex } : {}
998
+ }
999
+ );
1000
+ const result = castShape(shape);
1001
+ if (!isShape3D(result)) {
1002
+ return err(typeCastError("LOFT_NOT_3D", "Loft did not produce a 3D shape"));
1003
+ }
1004
+ return ok(result);
1005
+ } catch {
1006
+ return err(kernelError("LOFT_FAILED", "Loft operation failed"));
1007
+ }
1008
+ }
950
1009
  class Sketch {
951
1010
  wire;
952
1011
  /**
@@ -1031,7 +1090,9 @@ class Sketch {
1031
1090
  */
1032
1091
  revolve(revolutionAxis, { origin } = {}) {
1033
1092
  const face = unwrap(makeFace(this.wire));
1034
- const solid = unwrap(revolution(face, origin || this.defaultOrigin, revolutionAxis));
1093
+ const center = origin ? toVec3(origin) : this.defaultOrigin;
1094
+ const dir = revolutionAxis ? toVec3(revolutionAxis) : [0, 0, 1];
1095
+ const solid = unwrap(revolve(face, center, dir));
1035
1096
  face.delete();
1036
1097
  this.delete();
1037
1098
  return solid;
@@ -1064,13 +1125,19 @@ class Sketch {
1064
1125
  }
1065
1126
  if (twistAngle) {
1066
1127
  const solid2 = unwrap(
1067
- twistExtrude(this.wire, twistAngle, [...originVec], [...extrusionVec], extrusionProfile)
1128
+ twistExtrude(
1129
+ this.wire,
1130
+ twistAngle,
1131
+ [...originVec],
1132
+ [...extrusionVec],
1133
+ extrusionProfile
1134
+ )
1068
1135
  );
1069
1136
  this.delete();
1070
1137
  return solid2;
1071
1138
  }
1072
1139
  const face = unwrap(makeFace(this.wire));
1073
- const solid = basicFaceExtrusion(face, [...extrusionVec]);
1140
+ const solid = unwrap(extrude(face, [...extrusionVec]));
1074
1141
  this.delete();
1075
1142
  return solid;
1076
1143
  }
@@ -1094,7 +1161,7 @@ class Sketch {
1094
1161
  if (this.baseFace) {
1095
1162
  config.support = this.baseFace.wrapped;
1096
1163
  }
1097
- const shape = unwrap(genericSweep(sketch.wire, this.wire, config));
1164
+ const shape = unwrap(sweep(sketch.wire, this.wire, config));
1098
1165
  this.delete();
1099
1166
  return shape;
1100
1167
  }
@@ -1245,7 +1312,7 @@ function normalizeEllipseRadii(horizontalRadius, verticalRadius, rotation) {
1245
1312
  rotationAngle: rotation
1246
1313
  };
1247
1314
  }
1248
- function makeEllipseArcFromSvgParams(startUV, endUV, majorRadius, minorRadius, rotationAngleDeg, longAxis, sweep, convertToUV) {
1315
+ function makeEllipseArcFromSvgParams(startUV, endUV, majorRadius, minorRadius, rotationAngleDeg, longAxis, sweep2, convertToUV) {
1249
1316
  const radRotationAngle = rotationAngleDeg * DEG2RAD;
1250
1317
  const convertAxis = (ax) => distance2d(convertToUV(ax));
1251
1318
  const r1 = convertAxis(polarToCartesian(majorRadius, radRotationAngle));
@@ -1259,7 +1326,7 @@ function makeEllipseArcFromSvgParams(startUV, endUV, majorRadius, minorRadius, r
1259
1326
  r2,
1260
1327
  newRotationAngle,
1261
1328
  longAxis,
1262
- sweep
1329
+ sweep2
1263
1330
  );
1264
1331
  const arc = make2dEllipseArc(
1265
1332
  rx,
@@ -1496,7 +1563,7 @@ class BaseSketcher2d {
1496
1563
  }
1497
1564
  // ── Ellipse arcs ──
1498
1565
  /** Draw an elliptical arc to an absolute end point (SVG-style parameters). */
1499
- ellipseTo(end, horizontalRadius, verticalRadius, rotation = 0, longAxis = false, sweep = false) {
1566
+ ellipseTo(end, horizontalRadius, verticalRadius, rotation = 0, longAxis = false, sweep2 = false) {
1500
1567
  const { majorRadius, minorRadius, rotationAngle } = normalizeEllipseRadii(
1501
1568
  horizontalRadius,
1502
1569
  verticalRadius,
@@ -1509,31 +1576,31 @@ class BaseSketcher2d {
1509
1576
  minorRadius,
1510
1577
  rotationAngle,
1511
1578
  longAxis,
1512
- sweep,
1579
+ sweep2,
1513
1580
  (p) => this._convertToUV(p)
1514
1581
  );
1515
1582
  return this._saveCurveAndAdvance(arc, end);
1516
1583
  }
1517
1584
  /** Draw an elliptical arc to a relative end point (SVG-style parameters). */
1518
- ellipse(xDist, yDist, horizontalRadius, verticalRadius, rotation = 0, longAxis = false, sweep = false) {
1585
+ ellipse(xDist, yDist, horizontalRadius, verticalRadius, rotation = 0, longAxis = false, sweep2 = false) {
1519
1586
  return this.ellipseTo(
1520
1587
  this._resolveRelative(xDist, yDist),
1521
1588
  horizontalRadius,
1522
1589
  verticalRadius,
1523
1590
  rotation,
1524
1591
  longAxis,
1525
- sweep
1592
+ sweep2
1526
1593
  );
1527
1594
  }
1528
1595
  /** Draw a half-ellipse arc to an absolute end point with a given minor radius. */
1529
- halfEllipseTo(end, minorRadius, sweep = false) {
1596
+ halfEllipseTo(end, minorRadius, sweep2 = false) {
1530
1597
  const angle = polarAngle2d(end, this.pointer);
1531
1598
  const dist = distance2d(end, this.pointer);
1532
- return this.ellipseTo(end, dist / 2, minorRadius, angle * RAD2DEG, true, sweep);
1599
+ return this.ellipseTo(end, dist / 2, minorRadius, angle * RAD2DEG, true, sweep2);
1533
1600
  }
1534
1601
  /** Draw a half-ellipse arc to a relative end point with a given minor radius. */
1535
- halfEllipse(xDist, yDist, minorRadius, sweep = false) {
1536
- return this.halfEllipseTo(this._resolveRelative(xDist, yDist), minorRadius, sweep);
1602
+ halfEllipse(xDist, yDist, minorRadius, sweep2 = false) {
1603
+ return this.halfEllipseTo(this._resolveRelative(xDist, yDist), minorRadius, sweep2);
1537
1604
  }
1538
1605
  // ── Bezier curves ──
1539
1606
  /** Draw a Bezier curve to an absolute end point through one or more control points. */
@@ -2474,18 +2541,21 @@ export {
2474
2541
  Sketch as S,
2475
2542
  BlueprintSketcher as a,
2476
2543
  Flatbush as b,
2477
- Blueprints as c,
2478
- cut2D as d,
2479
- filletCurves as e,
2480
- fuse2D as f,
2481
- chamferCurves as g,
2482
- intersect2D as h,
2544
+ roundedRectangleBlueprint as c,
2545
+ Blueprints as d,
2546
+ extrude as e,
2547
+ cut2D as f,
2548
+ fuse2D as g,
2549
+ filletCurves as h,
2483
2550
  intersectCurves as i,
2484
- cutBlueprints as j,
2485
- fuseBlueprints as k,
2486
- intersectBlueprints as l,
2551
+ chamferCurves as j,
2552
+ intersect2D as k,
2553
+ loft as l,
2487
2554
  make2dOffset as m,
2555
+ cutBlueprints as n,
2488
2556
  organiseBlueprints as o,
2489
2557
  polysidesBlueprint as p,
2490
- roundedRectangleBlueprint as r
2558
+ fuseBlueprints as q,
2559
+ revolve as r,
2560
+ intersectBlueprints as s
2491
2561
  };