brepjs 18.6.0 → 18.14.3

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 (656) hide show
  1. package/README.md +6 -0
  2. package/dist/{sketching/sketcher2d.d.ts → 2d/blueprints/baseSketcher2d.d.ts} +4 -91
  3. package/dist/2d/blueprints/blueprint.d.ts +0 -1
  4. package/dist/2d/blueprints/blueprintApproximations.d.ts +0 -1
  5. package/dist/2d/blueprints/blueprintCustomCorners.d.ts +0 -1
  6. package/dist/2d/blueprints/blueprintFns.d.ts +0 -1
  7. package/dist/2d/blueprints/blueprintOffset.d.ts +0 -1
  8. package/dist/2d/blueprints/blueprintSketcher.d.ts +29 -0
  9. package/dist/2d/blueprints/blueprints.d.ts +0 -1
  10. package/dist/2d/blueprints/boolean2D.d.ts +0 -1
  11. package/dist/2d/blueprints/booleanHelpers.d.ts +0 -1
  12. package/dist/2d/blueprints/booleanOperations.d.ts +0 -1
  13. package/dist/2d/blueprints/cannedBlueprints.d.ts +0 -1
  14. package/dist/2d/blueprints/compoundBlueprint.d.ts +0 -1
  15. package/dist/{sketching → 2d/blueprints}/ellipseUtils.d.ts +19 -2
  16. package/dist/{sketching/sketcherlib.d.ts → 2d/blueprints/genericSketcher.d.ts} +1 -20
  17. package/dist/2d/blueprints/index.d.ts +0 -1
  18. package/dist/2d/blueprints/intersectionSegments.d.ts +0 -1
  19. package/dist/2d/blueprints/lib.d.ts +0 -1
  20. package/dist/2d/blueprints/segmentAssembly.d.ts +0 -1
  21. package/dist/2d/blueprints/svg.d.ts +0 -1
  22. package/dist/2d/curve2dGeometryFns.d.ts +0 -1
  23. package/dist/2d/curves.d.ts +0 -1
  24. package/dist/2d/lib/approximations.d.ts +0 -1
  25. package/dist/2d/lib/boundingBox2d.d.ts +0 -1
  26. package/dist/2d/lib/curve2D.d.ts +0 -1
  27. package/dist/2d/lib/curve2dFns.d.ts +0 -1
  28. package/dist/2d/lib/customCorners.d.ts +0 -1
  29. package/dist/2d/lib/definitions.d.ts +0 -1
  30. package/dist/2d/lib/index.d.ts +0 -1
  31. package/dist/2d/lib/intersections.d.ts +0 -1
  32. package/dist/2d/lib/makeCurves.d.ts +0 -1
  33. package/dist/2d/lib/offset.d.ts +0 -1
  34. package/dist/2d/lib/precision.d.ts +0 -1
  35. package/dist/2d/lib/stitching.d.ts +0 -1
  36. package/dist/2d/lib/svgPath.d.ts +0 -1
  37. package/dist/2d/lib/utils.d.ts +0 -1
  38. package/dist/2d/lib/vectorOperations.d.ts +0 -1
  39. package/dist/2d.cjs +20 -19
  40. package/dist/2d.d.ts +0 -1
  41. package/dist/2d.js +7 -6
  42. package/dist/{blueprint-CscZ0-wr.cjs → blueprint-B8ogGJiQ.cjs} +16 -15
  43. package/dist/{blueprint-BCoJbaQN.js → blueprint-Dv45Evnu.js} +16 -15
  44. package/dist/{blueprintFns-DQP4KQHE.cjs → blueprintFns-BK3FYYjO.cjs} +4 -4
  45. package/dist/{blueprintFns-BZlx6BjG.js → blueprintFns-a9C2g8_E.js} +3 -3
  46. package/dist/{boolean2D-k1AJmCMp.cjs → blueprintSketcher-Bei866Bt.cjs} +65 -1383
  47. package/dist/{boolean2D-JvgjbESt.js → blueprintSketcher-xDsl9GXO.js} +70 -1316
  48. package/dist/boolean2D-DGuiEJHA.cjs +902 -0
  49. package/dist/boolean2D-Z7P0c012.js +855 -0
  50. package/dist/{booleanFns-D13Pb-NO.js → booleanFns-CRa80qMX.js} +9 -9
  51. package/dist/{booleanFns-DQW4lt7H.cjs → booleanFns-qmgMQyDl.cjs} +12 -12
  52. package/dist/brepjs.cjs +772 -112
  53. package/dist/brepjs.js +692 -42
  54. package/dist/cameraFns-1y1NyACI.cjs +315 -0
  55. package/dist/cameraFns-CUzI5RKS.js +274 -0
  56. package/dist/core/constants.d.ts +0 -1
  57. package/dist/core/curve2dHandle.d.ts +0 -1
  58. package/dist/core/dimensionTypes.d.ts +0 -1
  59. package/dist/core/disposal.d.ts +0 -1
  60. package/dist/core/errors.d.ts +0 -1
  61. package/dist/core/kernelBoundary.d.ts +0 -1
  62. package/dist/core/kernelCall.d.ts +0 -1
  63. package/dist/core/kernelErrorTranslation.d.ts +0 -1
  64. package/dist/core/planeOps.d.ts +0 -1
  65. package/dist/core/planeTypes.d.ts +0 -1
  66. package/dist/core/result.d.ts +0 -1
  67. package/dist/core/shapeTypeCache.d.ts +0 -1
  68. package/dist/core/shapeTypes.d.ts +0 -1
  69. package/dist/core/typeDiscriminants.d.ts +0 -1
  70. package/dist/core/types.d.ts +0 -1
  71. package/dist/core/validityTypes.d.ts +0 -1
  72. package/dist/core/vecOps.d.ts +0 -1
  73. package/dist/core.cjs +6 -6
  74. package/dist/core.d.ts +0 -1
  75. package/dist/core.js +6 -6
  76. package/dist/{cornerFinder-5BYE2cbd.cjs → cornerFinder-CC8EBRCR.cjs} +3 -3
  77. package/dist/{cornerFinder-Zg7pf2s0.js → cornerFinder-Dix2ghke.js} +3 -3
  78. package/dist/{curveFns-DhqUp0EI.js → curveFns-B4tWuinR.js} +2 -2
  79. package/dist/{curveFns-DrT54cm8.cjs → curveFns-CD20-4fM.cjs} +2 -2
  80. package/dist/{drawFns-lUXjhTYL.js → drawFns-BsarLfUN.js} +163 -769
  81. package/dist/{drawFns-DmP2o1oF.cjs → drawFns-LlOZoFyp.cjs} +203 -985
  82. package/dist/{errors-DboJwVCf.js → errors-0fYW_YnO.js} +2 -1
  83. package/dist/{errors-CXRNVCec.cjs → errors-Dv6pfNct.cjs} +2 -1
  84. package/dist/{extrudeFns-B9bVCt3C.js → extrudeFns-7pE8dIWz.js} +3 -3
  85. package/dist/{extrudeFns-BtblHdaJ.cjs → extrudeFns-DD36mWKv.cjs} +3 -3
  86. package/dist/faceFns-BFWz17_E.js +218 -0
  87. package/dist/faceFns-DP7i60yJ.cjs +343 -0
  88. package/dist/gear/gearFns.d.ts +129 -0
  89. package/dist/gear/gearMath.d.ts +88 -0
  90. package/dist/gear/gearProfile.d.ts +16 -0
  91. package/dist/gear/index.d.ts +3 -0
  92. package/dist/{helpers-BpXNcxuJ.cjs → helpers-Cyj6gaqy.cjs} +14 -13
  93. package/dist/{helpers-S_Ht6gwX.js → helpers-vV2ONZwD.js} +9 -8
  94. package/dist/{historyFns-B01hrkcJ.js → historyFns-DGb61ETW.js} +6 -6
  95. package/dist/{historyFns-RHO-QvEZ.cjs → historyFns-DfyrPjnK.cjs} +6 -6
  96. package/dist/{importFns-CG49lyTm.cjs → importFns-C-p0vl_h.cjs} +11 -19
  97. package/dist/{importFns-C0tUyeiW.js → importFns-Ci-L2iB3.js} +11 -19
  98. package/dist/index.d.ts +16 -8
  99. package/dist/io/dxfExportFns.d.ts +0 -1
  100. package/dist/io/dxfImportFns.d.ts +0 -1
  101. package/dist/io/gltfExportFns.d.ts +0 -1
  102. package/dist/io/gltfImportFns.d.ts +0 -1
  103. package/dist/io/importFns.d.ts +0 -1
  104. package/dist/io/ioUtils.d.ts +0 -1
  105. package/dist/io/objExportFns.d.ts +0 -1
  106. package/dist/io/objImportFns.d.ts +0 -1
  107. package/dist/io/stepConfigFns.d.ts +0 -1
  108. package/dist/io/svgImportFns.d.ts +0 -1
  109. package/dist/io/threemfExportFns.d.ts +0 -1
  110. package/dist/io/threemfImportFns.d.ts +0 -1
  111. package/dist/io.cjs +2 -2
  112. package/dist/io.d.ts +0 -1
  113. package/dist/io.js +2 -2
  114. package/dist/kernel/brepkit/booleanOps.d.ts +23 -1
  115. package/dist/kernel/brepkit/brepkitAdapter.d.ts +21 -408
  116. package/dist/kernel/brepkit/brepkitWasmTypes.d.ts +0 -1
  117. package/dist/kernel/brepkit/constructionOps.d.ts +51 -1
  118. package/dist/kernel/brepkit/evolutionOps.d.ts +34 -3
  119. package/dist/kernel/brepkit/geometryOps.d.ts +63 -2
  120. package/dist/kernel/brepkit/helpers.d.ts +6 -1
  121. package/dist/kernel/brepkit/internalOps.d.ts +0 -1
  122. package/dist/kernel/brepkit/ioOps.d.ts +47 -9
  123. package/dist/kernel/brepkit/kernel2dOps.d.ts +113 -1
  124. package/dist/kernel/brepkit/measureOps.d.ts +39 -1
  125. package/dist/kernel/brepkit/meshOps.d.ts +7 -1
  126. package/dist/kernel/brepkit/modifierOps.d.ts +15 -1
  127. package/dist/kernel/brepkit/repairOps.d.ts +14 -1
  128. package/dist/kernel/brepkit/sketchOps.d.ts +3 -1
  129. package/dist/kernel/brepkit/sweepOps.d.ts +37 -1
  130. package/dist/kernel/brepkit/topologyOps.d.ts +16 -1
  131. package/dist/kernel/brepkit/transformOps.d.ts +18 -1
  132. package/dist/kernel/geometry2d.d.ts +0 -1
  133. package/dist/kernel/index.d.ts +0 -1
  134. package/dist/kernel/interfaces/booleanOps.d.ts +0 -1
  135. package/dist/kernel/interfaces/builderOps.d.ts +0 -1
  136. package/dist/kernel/interfaces/core.d.ts +0 -1
  137. package/dist/kernel/interfaces/curveOps.d.ts +0 -1
  138. package/dist/kernel/interfaces/evolutionOps.d.ts +0 -1
  139. package/dist/kernel/interfaces/index.d.ts +0 -1
  140. package/dist/kernel/interfaces/ioOps.d.ts +0 -1
  141. package/dist/kernel/interfaces/measureOps.d.ts +0 -1
  142. package/dist/kernel/interfaces/meshOps.d.ts +0 -1
  143. package/dist/kernel/interfaces/modifierOps.d.ts +0 -1
  144. package/dist/kernel/interfaces/primitiveOps.d.ts +0 -1
  145. package/dist/kernel/interfaces/repairOps.d.ts +0 -1
  146. package/dist/kernel/interfaces/surfaceOps.d.ts +0 -1
  147. package/dist/kernel/interfaces/sweepOps.d.ts +0 -1
  148. package/dist/kernel/interfaces/topologyOps.d.ts +0 -1
  149. package/dist/kernel/interfaces/transformOps.d.ts +0 -1
  150. package/dist/kernel/kernel2dTypes.d.ts +0 -1
  151. package/dist/kernel/occt/advancedOps.d.ts +126 -24
  152. package/dist/kernel/occt/booleanBatchOps.d.ts +0 -1
  153. package/dist/kernel/occt/booleanOps.d.ts +11 -1
  154. package/dist/kernel/occt/booleanPipelineOps.d.ts +10 -1
  155. package/dist/kernel/occt/constructorOps.d.ts +14 -1
  156. package/dist/kernel/occt/curveOps.d.ts +13 -1
  157. package/dist/kernel/occt/defaultAdapter.d.ts +10 -441
  158. package/dist/kernel/occt/evolutionOps.d.ts +0 -1
  159. package/dist/kernel/occt/extendedConstructorOps.d.ts +31 -1
  160. package/dist/kernel/occt/geometryQueryOps.d.ts +40 -1
  161. package/dist/kernel/occt/healingOps.d.ts +6 -1
  162. package/dist/kernel/occt/historyOps.d.ts +17 -1
  163. package/dist/kernel/occt/hullOps.d.ts +14 -1
  164. package/dist/kernel/occt/ioOps.d.ts +9 -1
  165. package/dist/kernel/occt/kernel2dOps.d.ts +113 -1
  166. package/dist/kernel/occt/measureOps.d.ts +19 -1
  167. package/dist/kernel/occt/meshOps.d.ts +5 -1
  168. package/dist/kernel/occt/modifierOps.d.ts +24 -1
  169. package/dist/kernel/occt/nurbsQueryOps.d.ts +5 -1
  170. package/dist/kernel/occt/sweepOps.d.ts +23 -1
  171. package/dist/kernel/occt/topologyOps.d.ts +10 -1
  172. package/dist/kernel/occt/transformOps.d.ts +14 -4
  173. package/dist/kernel/occt/wasmTypes/externals.d.ts +0 -1
  174. package/dist/kernel/occt/wasmTypes/index.d.ts +0 -1
  175. package/dist/kernel/occt/wasmTypes/occtBuilders.d.ts +0 -1
  176. package/dist/kernel/occtWasm/adapterShims.d.ts +4 -0
  177. package/dist/kernel/occtWasm/booleanOps.d.ts +11 -0
  178. package/dist/kernel/occtWasm/constructionOps.d.ts +36 -0
  179. package/dist/kernel/occtWasm/curveOps.d.ts +23 -0
  180. package/dist/kernel/occtWasm/evolutionOps.d.ts +17 -0
  181. package/dist/kernel/occtWasm/helpers.d.ts +31 -0
  182. package/dist/kernel/occtWasm/hullOps.d.ts +12 -0
  183. package/dist/kernel/occtWasm/ioOps.d.ts +52 -0
  184. package/dist/kernel/occtWasm/kernel2dOps.d.ts +90 -0
  185. package/dist/kernel/occtWasm/measureOps.d.ts +31 -0
  186. package/dist/kernel/occtWasm/meshOps.d.ts +6 -0
  187. package/dist/kernel/occtWasm/modifierOps.d.ts +14 -0
  188. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  189. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +30 -31
  190. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  191. package/dist/kernel/occtWasm/occtWasmTypes.d.ts +0 -1
  192. package/dist/kernel/occtWasm/primitiveOps.d.ts +10 -0
  193. package/dist/kernel/occtWasm/repairOps.d.ts +10 -0
  194. package/dist/kernel/occtWasm/surfaceOps.d.ts +28 -0
  195. package/dist/kernel/occtWasm/sweepOps.d.ts +38 -0
  196. package/dist/kernel/occtWasm/topologyOps.d.ts +14 -0
  197. package/dist/kernel/occtWasm/transformOps.d.ts +27 -0
  198. package/dist/kernel/perfStats.d.ts +0 -1
  199. package/dist/kernel/solverAdapter.d.ts +0 -1
  200. package/dist/kernel/types.d.ts +0 -1
  201. package/dist/{measureFns-C751QGI1.cjs → measureFns-6ifSQfJt.cjs} +6 -5
  202. package/dist/{measureFns-B8C85hbT.js → measureFns-Io2nHE1k.js} +4 -3
  203. package/dist/measurement/interferenceFns.d.ts +0 -1
  204. package/dist/measurement/measureCache.d.ts +0 -1
  205. package/dist/measurement/measureFns.d.ts +0 -1
  206. package/dist/measurement/measureTypes.d.ts +0 -1
  207. package/dist/measurement.cjs +1 -1
  208. package/dist/measurement.d.ts +0 -1
  209. package/dist/measurement.js +1 -1
  210. package/dist/{meshFns-Cdhtbrhm.cjs → meshFns-BCRVZgPi.cjs} +3 -3
  211. package/dist/{meshFns-BgvsA-xA.js → meshFns-DSdkRFWq.js} +3 -3
  212. package/dist/ns/booleans.d.ts +0 -1
  213. package/dist/ns/construction.d.ts +0 -1
  214. package/dist/ns/ioNs.d.ts +0 -1
  215. package/dist/ns/measurement.d.ts +0 -1
  216. package/dist/ns/modifiers.d.ts +0 -1
  217. package/dist/ns/patterns.d.ts +0 -1
  218. package/dist/ns/primitives.d.ts +0 -1
  219. package/dist/ns/query.d.ts +0 -1
  220. package/dist/ns/transforms.d.ts +0 -1
  221. package/dist/occtWasmAdapter--TZGP9DX.js +4606 -0
  222. package/dist/occtWasmAdapter-C2VW-uYg.cjs +4719 -0
  223. package/dist/operations/api.d.ts +0 -1
  224. package/dist/operations/assemblyFns.d.ts +0 -1
  225. package/dist/operations/compoundOpsFns.d.ts +0 -1
  226. package/dist/operations/convexHullFns.d.ts +0 -1
  227. package/dist/operations/exporterFns.d.ts +0 -1
  228. package/dist/operations/exporterUtils.d.ts +0 -1
  229. package/dist/operations/exporters.d.ts +0 -1
  230. package/dist/operations/extrudeFns.d.ts +0 -1
  231. package/dist/operations/extrudeUtils.d.ts +0 -1
  232. package/dist/operations/guidedSweepFns.d.ts +0 -1
  233. package/dist/operations/historyFns.d.ts +0 -1
  234. package/dist/operations/loftFns.d.ts +0 -1
  235. package/dist/operations/mateFns.d.ts +0 -1
  236. package/dist/operations/multiSweepFns.d.ts +0 -1
  237. package/dist/operations/patternFns.d.ts +0 -1
  238. package/dist/operations/roofFns.d.ts +0 -1
  239. package/dist/operations/straightSkeleton.d.ts +0 -1
  240. package/dist/operations/sweepFns.d.ts +0 -1
  241. package/dist/operations.cjs +2 -2
  242. package/dist/operations.d.ts +0 -1
  243. package/dist/operations.js +2 -2
  244. package/dist/{planeOps-sTrM3dcQ.js → planeOps-4i2qEraD.js} +4 -4
  245. package/dist/{planeOps-BJOIbn4K.cjs → planeOps-CH4ruLuj.cjs} +4 -4
  246. package/dist/{primitiveFns-BLxaJ40A.cjs → primitiveFns-BH-JQPzh.cjs} +20 -19
  247. package/dist/{primitiveFns-fR9sWOEb.js → primitiveFns-C1p92ZcD.js} +8 -7
  248. package/dist/projection/cameraFns.d.ts +0 -1
  249. package/dist/projection/makeProjectedEdges.d.ts +0 -1
  250. package/dist/projection/projectionPlanes.d.ts +0 -1
  251. package/dist/projection.cjs +9 -0
  252. package/dist/projection.d.ts +11 -0
  253. package/dist/projection.js +2 -0
  254. package/dist/query/cornerFinder.d.ts +0 -1
  255. package/dist/query/directionUtils.d.ts +0 -1
  256. package/dist/query/edgeFinder.d.ts +0 -1
  257. package/dist/query/faceFinder.d.ts +0 -1
  258. package/dist/query/finderCore.d.ts +0 -1
  259. package/dist/query/finderFns.d.ts +0 -1
  260. package/dist/query/helpers.d.ts +0 -1
  261. package/dist/query/shapeDistanceFilter.d.ts +0 -1
  262. package/dist/query/shapeFinders.d.ts +0 -1
  263. package/dist/query/vertexFinder.d.ts +0 -1
  264. package/dist/query/wireFinder.d.ts +0 -1
  265. package/dist/query.cjs +2 -2
  266. package/dist/query.d.ts +0 -1
  267. package/dist/query.js +2 -2
  268. package/dist/result.cjs +1 -1
  269. package/dist/result.d.ts +0 -1
  270. package/dist/result.js +1 -1
  271. package/dist/{shapeFns-183zCtMc.cjs → shapeFns-B7x82K11.cjs} +17 -17
  272. package/dist/{shapeFns-2X3VOi1a.js → shapeFns-BhZ9weSI.js} +4 -4
  273. package/dist/shapeRef.cjs +1 -1
  274. package/dist/shapeRef.d.ts +0 -1
  275. package/dist/shapeRef.js +1 -1
  276. package/dist/{shapeRefFns-CU1Jwq9C.js → shapeRefFns-B9PsEqWf.js} +6 -4
  277. package/dist/{shapeRefFns-CFyv5cdW.cjs → shapeRefFns-wDY88A8u.cjs} +8 -6
  278. package/dist/{shapeTypes-C0MDggKf.cjs → shapeTypes-BTt_LLbk.cjs} +6922 -7884
  279. package/dist/{shapeTypes-CN0GUoHr.js → shapeTypes-C--1jaT1.js} +6900 -7862
  280. package/dist/sketching/cannedSketches.d.ts +0 -1
  281. package/dist/sketching/compoundSketch.d.ts +8 -7
  282. package/dist/sketching/draw3d.d.ts +1 -2
  283. package/dist/sketching/drawFns.d.ts +4 -3
  284. package/dist/sketching/{draw.d.ts → drawing.d.ts} +2 -127
  285. package/dist/sketching/drawingFactories.d.ts +94 -0
  286. package/dist/sketching/drawingPen.d.ts +34 -0
  287. package/dist/sketching/faceSketcher.d.ts +52 -0
  288. package/dist/sketching/shortcuts.d.ts +0 -1
  289. package/dist/sketching/sketch.d.ts +64 -10
  290. package/dist/sketching/sketchFns.d.ts +42 -95
  291. package/dist/sketching/sketcher.d.ts +2 -3
  292. package/dist/sketching/sketches.d.ts +5 -6
  293. package/dist/sketching.cjs +19 -18
  294. package/dist/sketching.d.ts +8 -5
  295. package/dist/sketching.js +3 -2
  296. package/dist/{solidBuilders-DACzFqvX.cjs → solidBuilders-CX_197Xm.cjs} +3 -3
  297. package/dist/{solidBuilders-BuS5ByIl.js → solidBuilders-Xs7VDMGD.js} +3 -3
  298. package/dist/{surfaceBuilders-CbH4FIW5.cjs → surfaceBuilders-CYeTNW33.cjs} +25 -3
  299. package/dist/{surfaceBuilders-BVH2SL-z.js → surfaceBuilders-CinmHCbZ.js} +20 -4
  300. package/dist/text/fontRegistry.d.ts +22 -0
  301. package/dist/text/sketchText.d.ts +30 -0
  302. package/dist/text/textBlueprints.d.ts +0 -91
  303. package/dist/text/textMetrics.d.ts +39 -0
  304. package/dist/text.cjs +9 -0
  305. package/dist/text.d.ts +12 -0
  306. package/dist/text.js +3 -0
  307. package/dist/textBlueprints-Do6xNsLt.js +643 -0
  308. package/dist/textBlueprints-oWhiABaY.cjs +800 -0
  309. package/dist/textMetrics-BjJ8sn_e.js +69 -0
  310. package/dist/textMetrics-CUvtglQE.cjs +86 -0
  311. package/dist/topology/adjacencyFns.d.ts +0 -1
  312. package/dist/topology/api.d.ts +0 -1
  313. package/dist/topology/apiTypes.d.ts +0 -1
  314. package/dist/topology/booleanDiagnosticFns.d.ts +0 -1
  315. package/dist/topology/booleanFns.d.ts +0 -1
  316. package/dist/topology/cast.d.ts +0 -1
  317. package/dist/topology/chamferAngleFns.d.ts +0 -1
  318. package/dist/topology/compoundOpsFns.d.ts +0 -1
  319. package/dist/topology/curveBuilders.d.ts +12 -1
  320. package/dist/topology/curveFns.d.ts +0 -1
  321. package/dist/topology/evolutionFns.d.ts +0 -1
  322. package/dist/topology/faceFns.d.ts +0 -1
  323. package/dist/topology/healingFns.d.ts +0 -1
  324. package/dist/topology/hullFns.d.ts +0 -1
  325. package/dist/topology/index.d.ts +0 -1
  326. package/dist/topology/meshCache.d.ts +0 -1
  327. package/dist/topology/meshFns.d.ts +0 -1
  328. package/dist/topology/metadata/colorFns.d.ts +0 -1
  329. package/dist/topology/metadata/faceTagFns.d.ts +0 -1
  330. package/dist/topology/metadata/metadataPropagation.d.ts +0 -1
  331. package/dist/topology/metadata/originTrackingFns.d.ts +0 -1
  332. package/dist/topology/minkowskiFns.d.ts +0 -1
  333. package/dist/topology/modifierFns.d.ts +0 -1
  334. package/dist/topology/nurbsFns.d.ts +0 -1
  335. package/dist/topology/polyhedronFns.d.ts +0 -1
  336. package/dist/topology/positionFns.d.ts +0 -1
  337. package/dist/topology/primitiveFns.d.ts +0 -1
  338. package/dist/topology/shapeBooleans.d.ts +0 -1
  339. package/dist/topology/shapeFns.d.ts +0 -1
  340. package/dist/topology/shapeHelpers.d.ts +0 -1
  341. package/dist/topology/shapeModifiers.d.ts +0 -1
  342. package/dist/topology/shapeRef/index.d.ts +0 -1
  343. package/dist/topology/shapeRef/scoring.d.ts +0 -1
  344. package/dist/topology/shapeRef/shapeRefFns.d.ts +0 -1
  345. package/dist/topology/shapeRef/shapeRefTypes.d.ts +0 -1
  346. package/dist/topology/shapeUtils.d.ts +0 -1
  347. package/dist/topology/solidBuilders.d.ts +0 -1
  348. package/dist/topology/surfaceBuilders.d.ts +0 -1
  349. package/dist/topology/surfaceFns.d.ts +0 -1
  350. package/dist/topology/threeHelpers.d.ts +0 -1
  351. package/dist/topology/topologyQueryFns.d.ts +0 -1
  352. package/dist/topology/transformFns.d.ts +0 -1
  353. package/dist/topology/wrapperFns.d.ts +0 -1
  354. package/dist/topology.cjs +18 -17
  355. package/dist/topology.d.ts +0 -1
  356. package/dist/topology.js +7 -6
  357. package/dist/{faceFns-22idS-ht.cjs → topologyQueryFns-BU0qdNJP.cjs} +2 -342
  358. package/dist/{faceFns-NbWd8-iR.js → topologyQueryFns-Dhf85ZBK.js} +3 -217
  359. package/dist/utils/arrayAccess.d.ts +0 -1
  360. package/dist/utils/bug.d.ts +0 -1
  361. package/dist/utils/ioFilename.d.ts +0 -1
  362. package/dist/utils/precisionRound.d.ts +0 -1
  363. package/dist/utils/range.d.ts +0 -1
  364. package/dist/utils/uuid.d.ts +0 -1
  365. package/dist/utils/vec2d.d.ts +0 -1
  366. package/dist/utils/vec3.d.ts +8 -1
  367. package/dist/utils/zip.d.ts +0 -1
  368. package/dist/vec3-BRj3eI54.js +25 -0
  369. package/dist/vec3-S4Oh59IX.cjs +36 -0
  370. package/dist/vectors.cjs +4 -4
  371. package/dist/vectors.d.ts +0 -1
  372. package/dist/vectors.js +4 -4
  373. package/dist/worker/index.d.ts +0 -1
  374. package/dist/worker/protocol.d.ts +0 -1
  375. package/dist/worker/taskQueue.d.ts +0 -1
  376. package/dist/worker/workerClient.d.ts +0 -1
  377. package/dist/worker/workerHandler.d.ts +0 -1
  378. package/dist/worker.cjs +1 -1
  379. package/dist/worker.d.ts +0 -1
  380. package/dist/worker.js +1 -1
  381. package/package.json +35 -14
  382. package/dist/2d/blueprints/blueprint.d.ts.map +0 -1
  383. package/dist/2d/blueprints/blueprintApproximations.d.ts.map +0 -1
  384. package/dist/2d/blueprints/blueprintCustomCorners.d.ts.map +0 -1
  385. package/dist/2d/blueprints/blueprintFns.d.ts.map +0 -1
  386. package/dist/2d/blueprints/blueprintOffset.d.ts.map +0 -1
  387. package/dist/2d/blueprints/blueprints.d.ts.map +0 -1
  388. package/dist/2d/blueprints/boolean2D.d.ts.map +0 -1
  389. package/dist/2d/blueprints/booleanHelpers.d.ts.map +0 -1
  390. package/dist/2d/blueprints/booleanOperations.d.ts.map +0 -1
  391. package/dist/2d/blueprints/cannedBlueprints.d.ts.map +0 -1
  392. package/dist/2d/blueprints/compoundBlueprint.d.ts.map +0 -1
  393. package/dist/2d/blueprints/index.d.ts.map +0 -1
  394. package/dist/2d/blueprints/intersectionSegments.d.ts.map +0 -1
  395. package/dist/2d/blueprints/lib.d.ts.map +0 -1
  396. package/dist/2d/blueprints/segmentAssembly.d.ts.map +0 -1
  397. package/dist/2d/blueprints/svg.d.ts.map +0 -1
  398. package/dist/2d/curve2dGeometryFns.d.ts.map +0 -1
  399. package/dist/2d/curves.d.ts.map +0 -1
  400. package/dist/2d/lib/approximations.d.ts.map +0 -1
  401. package/dist/2d/lib/boundingBox2d.d.ts.map +0 -1
  402. package/dist/2d/lib/curve2D.d.ts.map +0 -1
  403. package/dist/2d/lib/curve2dFns.d.ts.map +0 -1
  404. package/dist/2d/lib/customCorners.d.ts.map +0 -1
  405. package/dist/2d/lib/definitions.d.ts.map +0 -1
  406. package/dist/2d/lib/index.d.ts.map +0 -1
  407. package/dist/2d/lib/intersections.d.ts.map +0 -1
  408. package/dist/2d/lib/makeCurves.d.ts.map +0 -1
  409. package/dist/2d/lib/offset.d.ts.map +0 -1
  410. package/dist/2d/lib/precision.d.ts.map +0 -1
  411. package/dist/2d/lib/stitching.d.ts.map +0 -1
  412. package/dist/2d/lib/svgPath.d.ts.map +0 -1
  413. package/dist/2d/lib/utils.d.ts.map +0 -1
  414. package/dist/2d/lib/vectorOperations.d.ts.map +0 -1
  415. package/dist/2d.d.ts.map +0 -1
  416. package/dist/core/constants.d.ts.map +0 -1
  417. package/dist/core/curve2dHandle.d.ts.map +0 -1
  418. package/dist/core/dimensionTypes.d.ts.map +0 -1
  419. package/dist/core/disposal.d.ts.map +0 -1
  420. package/dist/core/errors.d.ts.map +0 -1
  421. package/dist/core/kernelBoundary.d.ts.map +0 -1
  422. package/dist/core/kernelCall.d.ts.map +0 -1
  423. package/dist/core/kernelErrorTranslation.d.ts.map +0 -1
  424. package/dist/core/planeOps.d.ts.map +0 -1
  425. package/dist/core/planeTypes.d.ts.map +0 -1
  426. package/dist/core/result.d.ts.map +0 -1
  427. package/dist/core/shapeTypeCache.d.ts.map +0 -1
  428. package/dist/core/shapeTypes.d.ts.map +0 -1
  429. package/dist/core/typeDiscriminants.d.ts.map +0 -1
  430. package/dist/core/types.d.ts.map +0 -1
  431. package/dist/core/validityTypes.d.ts.map +0 -1
  432. package/dist/core/vecOps.d.ts.map +0 -1
  433. package/dist/core.d.ts.map +0 -1
  434. package/dist/index.d.ts.map +0 -1
  435. package/dist/io/dxfExportFns.d.ts.map +0 -1
  436. package/dist/io/dxfImportFns.d.ts.map +0 -1
  437. package/dist/io/gltfExportFns.d.ts.map +0 -1
  438. package/dist/io/gltfImportFns.d.ts.map +0 -1
  439. package/dist/io/importFns.d.ts.map +0 -1
  440. package/dist/io/ioUtils.d.ts.map +0 -1
  441. package/dist/io/objExportFns.d.ts.map +0 -1
  442. package/dist/io/objImportFns.d.ts.map +0 -1
  443. package/dist/io/stepConfigFns.d.ts.map +0 -1
  444. package/dist/io/svgImportFns.d.ts.map +0 -1
  445. package/dist/io/threemfExportFns.d.ts.map +0 -1
  446. package/dist/io/threemfImportFns.d.ts.map +0 -1
  447. package/dist/io.d.ts.map +0 -1
  448. package/dist/kernel/brepkit/booleanOps.d.ts.map +0 -1
  449. package/dist/kernel/brepkit/brepkitAdapter.d.ts.map +0 -1
  450. package/dist/kernel/brepkit/brepkitWasmTypes.d.ts.map +0 -1
  451. package/dist/kernel/brepkit/constructionOps.d.ts.map +0 -1
  452. package/dist/kernel/brepkit/evolutionOps.d.ts.map +0 -1
  453. package/dist/kernel/brepkit/geometryOps.d.ts.map +0 -1
  454. package/dist/kernel/brepkit/helpers.d.ts.map +0 -1
  455. package/dist/kernel/brepkit/internalOps.d.ts.map +0 -1
  456. package/dist/kernel/brepkit/ioOps.d.ts.map +0 -1
  457. package/dist/kernel/brepkit/kernel2dOps.d.ts.map +0 -1
  458. package/dist/kernel/brepkit/measureOps.d.ts.map +0 -1
  459. package/dist/kernel/brepkit/meshOps.d.ts.map +0 -1
  460. package/dist/kernel/brepkit/modifierOps.d.ts.map +0 -1
  461. package/dist/kernel/brepkit/repairOps.d.ts.map +0 -1
  462. package/dist/kernel/brepkit/sketchOps.d.ts.map +0 -1
  463. package/dist/kernel/brepkit/sweepOps.d.ts.map +0 -1
  464. package/dist/kernel/brepkit/topologyOps.d.ts.map +0 -1
  465. package/dist/kernel/brepkit/transformOps.d.ts.map +0 -1
  466. package/dist/kernel/geometry2d.d.ts.map +0 -1
  467. package/dist/kernel/index.d.ts.map +0 -1
  468. package/dist/kernel/interfaces/booleanOps.d.ts.map +0 -1
  469. package/dist/kernel/interfaces/builderOps.d.ts.map +0 -1
  470. package/dist/kernel/interfaces/core.d.ts.map +0 -1
  471. package/dist/kernel/interfaces/curveOps.d.ts.map +0 -1
  472. package/dist/kernel/interfaces/evolutionOps.d.ts.map +0 -1
  473. package/dist/kernel/interfaces/index.d.ts.map +0 -1
  474. package/dist/kernel/interfaces/ioOps.d.ts.map +0 -1
  475. package/dist/kernel/interfaces/measureOps.d.ts.map +0 -1
  476. package/dist/kernel/interfaces/meshOps.d.ts.map +0 -1
  477. package/dist/kernel/interfaces/modifierOps.d.ts.map +0 -1
  478. package/dist/kernel/interfaces/primitiveOps.d.ts.map +0 -1
  479. package/dist/kernel/interfaces/repairOps.d.ts.map +0 -1
  480. package/dist/kernel/interfaces/surfaceOps.d.ts.map +0 -1
  481. package/dist/kernel/interfaces/sweepOps.d.ts.map +0 -1
  482. package/dist/kernel/interfaces/topologyOps.d.ts.map +0 -1
  483. package/dist/kernel/interfaces/transformOps.d.ts.map +0 -1
  484. package/dist/kernel/kernel2dTypes.d.ts.map +0 -1
  485. package/dist/kernel/occt/advancedOps.d.ts.map +0 -1
  486. package/dist/kernel/occt/booleanBatchOps.d.ts.map +0 -1
  487. package/dist/kernel/occt/booleanOps.d.ts.map +0 -1
  488. package/dist/kernel/occt/booleanPipelineOps.d.ts.map +0 -1
  489. package/dist/kernel/occt/constructorOps.d.ts.map +0 -1
  490. package/dist/kernel/occt/curveOps.d.ts.map +0 -1
  491. package/dist/kernel/occt/defaultAdapter.d.ts.map +0 -1
  492. package/dist/kernel/occt/evolutionOps.d.ts.map +0 -1
  493. package/dist/kernel/occt/extendedConstructorOps.d.ts.map +0 -1
  494. package/dist/kernel/occt/geometryQueryOps.d.ts.map +0 -1
  495. package/dist/kernel/occt/healingOps.d.ts.map +0 -1
  496. package/dist/kernel/occt/historyOps.d.ts.map +0 -1
  497. package/dist/kernel/occt/hullOps.d.ts.map +0 -1
  498. package/dist/kernel/occt/ioOps.d.ts.map +0 -1
  499. package/dist/kernel/occt/kernel2dOps.d.ts.map +0 -1
  500. package/dist/kernel/occt/measureOps.d.ts.map +0 -1
  501. package/dist/kernel/occt/meshOps.d.ts.map +0 -1
  502. package/dist/kernel/occt/modifierOps.d.ts.map +0 -1
  503. package/dist/kernel/occt/nurbsQueryOps.d.ts.map +0 -1
  504. package/dist/kernel/occt/sweepOps.d.ts.map +0 -1
  505. package/dist/kernel/occt/topologyOps.d.ts.map +0 -1
  506. package/dist/kernel/occt/transformOps.d.ts.map +0 -1
  507. package/dist/kernel/occt/wasmTypes/externals.d.ts.map +0 -1
  508. package/dist/kernel/occt/wasmTypes/index.d.ts.map +0 -1
  509. package/dist/kernel/occt/wasmTypes/occtBuilders.d.ts.map +0 -1
  510. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts.map +0 -1
  511. package/dist/kernel/occtWasm/occtWasmTypes.d.ts.map +0 -1
  512. package/dist/kernel/perfStats.d.ts.map +0 -1
  513. package/dist/kernel/solverAdapter.d.ts.map +0 -1
  514. package/dist/kernel/types.d.ts.map +0 -1
  515. package/dist/measurement/interferenceFns.d.ts.map +0 -1
  516. package/dist/measurement/measureCache.d.ts.map +0 -1
  517. package/dist/measurement/measureFns.d.ts.map +0 -1
  518. package/dist/measurement/measureTypes.d.ts.map +0 -1
  519. package/dist/measurement.d.ts.map +0 -1
  520. package/dist/ns/booleans.d.ts.map +0 -1
  521. package/dist/ns/construction.d.ts.map +0 -1
  522. package/dist/ns/ioNs.d.ts.map +0 -1
  523. package/dist/ns/measurement.d.ts.map +0 -1
  524. package/dist/ns/modifiers.d.ts.map +0 -1
  525. package/dist/ns/patterns.d.ts.map +0 -1
  526. package/dist/ns/primitives.d.ts.map +0 -1
  527. package/dist/ns/query.d.ts.map +0 -1
  528. package/dist/ns/transforms.d.ts.map +0 -1
  529. package/dist/occtWasmAdapter-CuZRRioz.cjs +0 -3947
  530. package/dist/occtWasmAdapter-DIhUXubY.js +0 -3834
  531. package/dist/operations/api.d.ts.map +0 -1
  532. package/dist/operations/assemblyFns.d.ts.map +0 -1
  533. package/dist/operations/compoundOpsFns.d.ts.map +0 -1
  534. package/dist/operations/convexHullFns.d.ts.map +0 -1
  535. package/dist/operations/exporterFns.d.ts.map +0 -1
  536. package/dist/operations/exporterUtils.d.ts.map +0 -1
  537. package/dist/operations/exporters.d.ts.map +0 -1
  538. package/dist/operations/extrudeFns.d.ts.map +0 -1
  539. package/dist/operations/extrudeUtils.d.ts.map +0 -1
  540. package/dist/operations/guidedSweepFns.d.ts.map +0 -1
  541. package/dist/operations/historyFns.d.ts.map +0 -1
  542. package/dist/operations/loftFns.d.ts.map +0 -1
  543. package/dist/operations/mateFns.d.ts.map +0 -1
  544. package/dist/operations/multiSweepFns.d.ts.map +0 -1
  545. package/dist/operations/patternFns.d.ts.map +0 -1
  546. package/dist/operations/roofFns.d.ts.map +0 -1
  547. package/dist/operations/straightSkeleton.d.ts.map +0 -1
  548. package/dist/operations/sweepFns.d.ts.map +0 -1
  549. package/dist/operations.d.ts.map +0 -1
  550. package/dist/projection/cameraFns.d.ts.map +0 -1
  551. package/dist/projection/makeProjectedEdges.d.ts.map +0 -1
  552. package/dist/projection/projectionPlanes.d.ts.map +0 -1
  553. package/dist/query/cornerFinder.d.ts.map +0 -1
  554. package/dist/query/directionUtils.d.ts.map +0 -1
  555. package/dist/query/edgeFinder.d.ts.map +0 -1
  556. package/dist/query/faceFinder.d.ts.map +0 -1
  557. package/dist/query/finderCore.d.ts.map +0 -1
  558. package/dist/query/finderFns.d.ts.map +0 -1
  559. package/dist/query/helpers.d.ts.map +0 -1
  560. package/dist/query/shapeDistanceFilter.d.ts.map +0 -1
  561. package/dist/query/shapeFinders.d.ts.map +0 -1
  562. package/dist/query/vertexFinder.d.ts.map +0 -1
  563. package/dist/query/wireFinder.d.ts.map +0 -1
  564. package/dist/query.d.ts.map +0 -1
  565. package/dist/quick.d.ts.map +0 -1
  566. package/dist/result.d.ts.map +0 -1
  567. package/dist/shapeRef.d.ts.map +0 -1
  568. package/dist/sketching/cannedSketches.d.ts.map +0 -1
  569. package/dist/sketching/compoundSketch.d.ts.map +0 -1
  570. package/dist/sketching/draw.d.ts.map +0 -1
  571. package/dist/sketching/draw3d.d.ts.map +0 -1
  572. package/dist/sketching/drawFns.d.ts.map +0 -1
  573. package/dist/sketching/ellipseUtils.d.ts.map +0 -1
  574. package/dist/sketching/shortcuts.d.ts.map +0 -1
  575. package/dist/sketching/sketch.d.ts.map +0 -1
  576. package/dist/sketching/sketchFns.d.ts.map +0 -1
  577. package/dist/sketching/sketchLib.d.ts +0 -47
  578. package/dist/sketching/sketchLib.d.ts.map +0 -1
  579. package/dist/sketching/sketchUtils.d.ts +0 -8
  580. package/dist/sketching/sketchUtils.d.ts.map +0 -1
  581. package/dist/sketching/sketcher.d.ts.map +0 -1
  582. package/dist/sketching/sketcher2d.d.ts.map +0 -1
  583. package/dist/sketching/sketcherlib.d.ts.map +0 -1
  584. package/dist/sketching/sketches.d.ts.map +0 -1
  585. package/dist/sketching.d.ts.map +0 -1
  586. package/dist/text/textBlueprints.d.ts.map +0 -1
  587. package/dist/topology/adjacencyFns.d.ts.map +0 -1
  588. package/dist/topology/api.d.ts.map +0 -1
  589. package/dist/topology/apiTypes.d.ts.map +0 -1
  590. package/dist/topology/booleanDiagnosticFns.d.ts.map +0 -1
  591. package/dist/topology/booleanFns.d.ts.map +0 -1
  592. package/dist/topology/cast.d.ts.map +0 -1
  593. package/dist/topology/chamferAngleFns.d.ts.map +0 -1
  594. package/dist/topology/compoundOpsFns.d.ts.map +0 -1
  595. package/dist/topology/curveBuilders.d.ts.map +0 -1
  596. package/dist/topology/curveFns.d.ts.map +0 -1
  597. package/dist/topology/evolutionFns.d.ts.map +0 -1
  598. package/dist/topology/faceFns.d.ts.map +0 -1
  599. package/dist/topology/healingFns.d.ts.map +0 -1
  600. package/dist/topology/hullFns.d.ts.map +0 -1
  601. package/dist/topology/index.d.ts.map +0 -1
  602. package/dist/topology/meshCache.d.ts.map +0 -1
  603. package/dist/topology/meshFns.d.ts.map +0 -1
  604. package/dist/topology/metadata/colorFns.d.ts.map +0 -1
  605. package/dist/topology/metadata/faceTagFns.d.ts.map +0 -1
  606. package/dist/topology/metadata/metadataPropagation.d.ts.map +0 -1
  607. package/dist/topology/metadata/originTrackingFns.d.ts.map +0 -1
  608. package/dist/topology/minkowskiFns.d.ts.map +0 -1
  609. package/dist/topology/modifierFns.d.ts.map +0 -1
  610. package/dist/topology/nurbsFns.d.ts.map +0 -1
  611. package/dist/topology/polyhedronFns.d.ts.map +0 -1
  612. package/dist/topology/positionFns.d.ts.map +0 -1
  613. package/dist/topology/primitiveFns.d.ts.map +0 -1
  614. package/dist/topology/shapeBooleans.d.ts.map +0 -1
  615. package/dist/topology/shapeFns.d.ts.map +0 -1
  616. package/dist/topology/shapeHelpers.d.ts.map +0 -1
  617. package/dist/topology/shapeModifiers.d.ts.map +0 -1
  618. package/dist/topology/shapeRef/index.d.ts.map +0 -1
  619. package/dist/topology/shapeRef/scoring.d.ts.map +0 -1
  620. package/dist/topology/shapeRef/shapeRefFns.d.ts.map +0 -1
  621. package/dist/topology/shapeRef/shapeRefTypes.d.ts.map +0 -1
  622. package/dist/topology/shapeUtils.d.ts.map +0 -1
  623. package/dist/topology/solidBuilders.d.ts.map +0 -1
  624. package/dist/topology/surfaceBuilders.d.ts.map +0 -1
  625. package/dist/topology/surfaceFns.d.ts.map +0 -1
  626. package/dist/topology/threeHelpers.d.ts.map +0 -1
  627. package/dist/topology/topologyQueryFns.d.ts.map +0 -1
  628. package/dist/topology/transformFns.d.ts.map +0 -1
  629. package/dist/topology/wrapperFns.d.ts.map +0 -1
  630. package/dist/topology.d.ts.map +0 -1
  631. package/dist/utils/arrayAccess.d.ts.map +0 -1
  632. package/dist/utils/bug.d.ts.map +0 -1
  633. package/dist/utils/ioFilename.d.ts.map +0 -1
  634. package/dist/utils/precisionRound.d.ts.map +0 -1
  635. package/dist/utils/range.d.ts.map +0 -1
  636. package/dist/utils/uuid.d.ts.map +0 -1
  637. package/dist/utils/vec2d.d.ts.map +0 -1
  638. package/dist/utils/vec3.d.ts.map +0 -1
  639. package/dist/utils/zip.d.ts.map +0 -1
  640. package/dist/vectors.d.ts.map +0 -1
  641. package/dist/worker/index.d.ts.map +0 -1
  642. package/dist/worker/protocol.d.ts.map +0 -1
  643. package/dist/worker/taskQueue.d.ts.map +0 -1
  644. package/dist/worker/workerClient.d.ts.map +0 -1
  645. package/dist/worker/workerHandler.d.ts.map +0 -1
  646. package/dist/worker.d.ts.map +0 -1
  647. /package/dist/{arrayAccess-DsnQpdSD.cjs → arrayAccess-7pTWqkJu.cjs} +0 -0
  648. /package/dist/{arrayAccess-tCIbjLs5.js → arrayAccess-C5IWcxs9.js} +0 -0
  649. /package/dist/{constants-csSEYddm.js → constants-Ci5CA3aZ.js} +0 -0
  650. /package/dist/{constants-BNP_xnBN.cjs → constants-DTorLmes.cjs} +0 -0
  651. /package/dist/{types--GD-LVc6.js → types-BIdk_GJY.js} +0 -0
  652. /package/dist/{types-gLi9wL0N.cjs → types-CDkxah-M.cjs} +0 -0
  653. /package/dist/{vecOps-CODplJp3.cjs → vecOps-D7xplSx8.cjs} +0 -0
  654. /package/dist/{vecOps-B-PCHgyB.js → vecOps-DVROrqTV.js} +0 -0
  655. /package/dist/{workerHandler-C-3cFcsQ.cjs → workerHandler-C7seK7H-.cjs} +0 -0
  656. /package/dist/{workerHandler-Dm0_0F8Z.js → workerHandler-DaulgMax.js} +0 -0
package/dist/brepjs.js CHANGED
@@ -1,30 +1,36 @@
1
- import { $ as initFromOC, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, Q as init, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getKernel, _ as isSolid, a as createEdge, at as BrepkitAdapter, b as closedWire, c as createSolid, d as isCompound, et as prewarm, f as isEdge, g as isShell, h as isShape3D, i as createCompound, it as supportsProjection, j as validSolid, k as planarFace, l as createVertex, m as isShape1D, n as castShape3D, nt as withKernel, o as createFace, ot as getPerformanceStats, p as isFace, q as withScopeResult, rt as supportsConstraintSketch, s as createShell, st as resetPerformanceStats, t as castShape, tt as registerKernel, u as createWire, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-CN0GUoHr.js";
2
- import { t as OcctWasmAdapter } from "./occtWasmAdapter-DIhUXubY.js";
3
- import { A as ok, B as unwrapOr, C as fromNullable, D as mapBoth, E as map, F as tapErr, H as zip, I as tryCatch, L as tryCatchAsync, M as orElse, N as pipeline, O as mapErr, P as tap, R as unwrap, S as flatten, T as isOk, V as unwrapOrElse, _ as all, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, j as or, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DboJwVCf.js";
4
- import { A as vertexPosition, B as kernelCallScoped, C as getVertices, D as iterFaces, E as iterEdges, F as isCompSolid, I as iterTopo, L as shapeType, M as cast, N as downcast, O as iterVertices, P as fromBREP, R as kernelCall, T as invalidateShapeCache, a as flipFaceOrientation, b as getEdges, c as normalAt, d as projectPointOnFace, f as removeHolesFromFace, g as getBounds, h as describe$1, i as faceOrientation, j as asTopo, k as iterWires, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, w as getWires, x as getFaces, y as getCachedSurfaceType, z as kernelCallRaw } from "./faceFns-NbWd8-iR.js";
5
- import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-csSEYddm.js";
6
- import { n as toVec2, r as toVec3, t as resolveDirection } from "./types--GD-LVc6.js";
7
- import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-B-PCHgyB.js";
8
- import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-sTrM3dcQ.js";
9
- import { C as findFacesByTag, D as tagFaces, E as setTagMetadata, O as getFaceOrigins, S as getShapeColor, T as getTagMetadata, a as isSameShape, b as colorShape, c as applyMatrix$1, d as resize, f as rotate$1, h as translate$1, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$1, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$1, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-2X3VOi1a.js";
10
- import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-DhqUp0EI.js";
11
- import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-BgvsA-xA.js";
12
- import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-tCIbjLs5.js";
13
- import { n as fill, r as makeFace } from "./surfaceBuilders-BVH2SL-z.js";
14
- import { a as fuseAll, c as sectionToFace$1, i as fuse$1, l as slice$1, n as cut$1, o as intersect$1, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-D13Pb-NO.js";
15
- import { $ as getNurbsSurfaceData, A as fixShape, B as offset$1, C as threePointArc, D as wireLoop, E as wire, F as isValid$1, G as chamferWithEvolution, H as thicken$1, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, L as chamfer$1, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as getNurbsCurveData, R as draft$1, S as tangentArc, T as vertex, U as variableFillet, V as shell$1, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toLODGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, ut as toLineGeometryData, v as sewShells, w as torus, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-fR9sWOEb.js";
16
- import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, f as serializeHistory, g as addChild, h as undoLast, i as deserializeHistory, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-B01hrkcJ.js";
17
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, f as Sketch, h as organiseBlueprints, i as cutBlueprints, m as loftAll, n as fuse2D, o as intersectBlueprints, p as loft$1, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-JvgjbESt.js";
18
- import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-S_Ht6gwX.js";
19
- import { $ as sketchFaceOffset, B as drawSingleCircle, C as cameraFromPlane, D as makeProjectedEdges, E as projectEdges, F as drawParametricFunction, G as loadFont, H as drawText, I as drawPointsInterpolation, J as textMetrics, K as sketchText, L as drawPolysides, M as draw, N as drawCircle, O as isProjectionPlane, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, T as createCamera, U as fontMetrics, V as drawSingleEllipse, W as getFont, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, q as textBlueprints, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, w as cameraLookAt, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-lUXjhTYL.js";
20
- import { r as makeCylinder } from "./solidBuilders-BuS5ByIl.js";
21
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-B8C85hbT.js";
22
- import { t as cornerFinder } from "./cornerFinder-Zg7pf2s0.js";
23
- import { a as guidedSweep, c as sweep, i as complexExtrude, l as twistExtrude, n as extrudeAll, o as multiSectionSweep, r as revolve$1, s as supportExtrude, t as extrude$1 } from "./extrudeFns-B9bVCt3C.js";
24
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-BZlx6BjG.js";
25
- import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-C0tUyeiW.js";
26
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CU1Jwq9C.js";
27
- import { a as createTaskQueue, c as isEmpty$1, d as isDisposeRequest, f as isErrorResponse, h as isSuccessResponse, i as createWorkerClient, l as pendingCount, m as isOperationRequest, n as createWorkerHandler, o as dequeueTask, p as isInitRequest, r as registerHandler, s as enqueueTask, t as createOperationRegistry, u as rejectAll } from "./workerHandler-Dm0_0F8Z.js";
1
+ import { $ as initFromOC, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, Q as init, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getKernel, Y as _usingCtx, _ as isSolid, a as createEdge, at as BrepkitAdapter, b as closedWire, c as createSolid, d as isCompound, et as prewarm, f as isEdge, g as isShell, h as isShape3D, i as createCompound, it as supportsProjection, j as validSolid, k as planarFace, l as createVertex, m as isShape1D, n as castShape3D, nt as withKernel, o as createFace, ot as getPerformanceStats, p as isFace, q as withScopeResult, rt as supportsConstraintSketch, s as createShell, st as resetPerformanceStats, t as castShape, tt as registerKernel, u as createWire, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-C--1jaT1.js";
2
+ import { n as wasmIndex } from "./vec3-BRj3eI54.js";
3
+ import { t as OcctWasmAdapter } from "./occtWasmAdapter--TZGP9DX.js";
4
+ import { A as ok, B as unwrapOr, C as fromNullable, D as mapBoth, E as map, F as tapErr, H as zip, I as tryCatch, L as tryCatchAsync, M as orElse, N as pipeline, O as mapErr, P as tap, R as unwrap, S as flatten, T as isOk, V as unwrapOrElse, _ as all, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, j as or, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-0fYW_YnO.js";
5
+ import { _ as kernelCall, a as getCachedSurfaceType, d as invalidateShapeCache, f as iterEdges, g as vertexPosition, h as iterWires, l as getVertices, m as iterVertices, n as getBounds, o as getEdges, p as iterFaces, s as getFaces, t as describe$1, u as getWires, v as kernelCallRaw, y as kernelCallScoped } from "./topologyQueryFns-Dhf85ZBK.js";
6
+ import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-Ci5CA3aZ.js";
7
+ import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-BIdk_GJY.js";
8
+ import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-DVROrqTV.js";
9
+ import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-4i2qEraD.js";
10
+ import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, f as removeHolesFromFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-BFWz17_E.js";
11
+ import { C as findFacesByTag, D as tagFaces, E as setTagMetadata, O as getFaceOrigins, S as getShapeColor, T as getTagMetadata, a as isSameShape, b as colorShape, c as applyMatrix$1, d as resize, f as rotate$1, h as translate$1, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$1, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$1, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-BhZ9weSI.js";
12
+ import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-B4tWuinR.js";
13
+ import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-DSdkRFWq.js";
14
+ import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-C5IWcxs9.js";
15
+ import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-CinmHCbZ.js";
16
+ import { a as fuseAll, c as sectionToFace$1, i as fuse$1, l as slice$1, n as cut$1, o as intersect$1, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-CRa80qMX.js";
17
+ import { $ as getNurbsSurfaceData, A as fixShape, B as offset$1, C as threePointArc, D as wireLoop, E as wire, F as isValid$1, G as chamferWithEvolution, H as thicken$1, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, L as chamfer$1, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as getNurbsCurveData, R as draft$1, S as tangentArc, T as vertex, U as variableFillet, V as shell$1, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toLODGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, ut as toLineGeometryData, v as sewShells, w as torus, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-C1p92ZcD.js";
18
+ import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, f as serializeHistory, g as addChild, h as undoLast, i as deserializeHistory, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-DGb61ETW.js";
19
+ import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-xDsl9GXO.js";
20
+ import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-vV2ONZwD.js";
21
+ import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-BsarLfUN.js";
22
+ import { r as makeCylinder } from "./solidBuilders-Xs7VDMGD.js";
23
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-Io2nHE1k.js";
24
+ import { t as cornerFinder } from "./cornerFinder-Dix2ghke.js";
25
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-Z7P0c012.js";
26
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-a9C2g8_E.js";
27
+ import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-Ci-L2iB3.js";
28
+ import { a as guidedSweep, c as sweep, i as complexExtrude, l as twistExtrude, n as extrudeAll, o as multiSectionSweep, r as revolve$1, s as supportExtrude, t as extrude$1 } from "./extrudeFns-7pE8dIWz.js";
29
+ import { a as Sketch, b as loftAll, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch, y as loft$1 } from "./textBlueprints-Do6xNsLt.js";
30
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-CUzI5RKS.js";
31
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-BjJ8sn_e.js";
32
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-B9PsEqWf.js";
33
+ import { a as createTaskQueue, c as isEmpty$1, d as isDisposeRequest, f as isErrorResponse, h as isSuccessResponse, i as createWorkerClient, l as pendingCount, m as isOperationRequest, n as createWorkerHandler, o as dequeueTask, p as isInitRequest, r as registerHandler, s as enqueueTask, t as createOperationRegistry, u as rejectAll } from "./workerHandler-DaulgMax.js";
28
34
  //#region \0rolldown/runtime.js
29
35
  var __defProp = Object.defineProperty;
30
36
  var __exportAll = (all, no_symbols) => {
@@ -424,7 +430,7 @@ function convexHull(points) {
424
430
  function detectSphere(shape) {
425
431
  const faces = getFaces(shape);
426
432
  if (faces.length !== 1) return null;
427
- const face = faces[0];
433
+ const face = wasmIndex(faces, 0);
428
434
  if (getCachedSurfaceType(face) !== "sphere") return null;
429
435
  const faceArea = getKernel().area(face.wrapped);
430
436
  return Math.sqrt(faceArea / (4 * Math.PI));
@@ -1424,8 +1430,8 @@ function checkAllInterferences(shapes, tolerance = 1e-6) {
1424
1430
  const boxes = shapes.map((s) => getBounds(s));
1425
1431
  shapes.forEach((si, i) => {
1426
1432
  for (let j = i + 1; j < shapes.length; j++) {
1427
- if (aabbDisjoint(boxes[i], boxes[j], tolerance)) continue;
1428
- const result = unwrap(checkInterference(si, shapes[j], tolerance));
1433
+ if (aabbDisjoint(wasmIndex(boxes, i), wasmIndex(boxes, j), tolerance)) continue;
1434
+ const result = unwrap(checkInterference(si, wasmIndex(shapes, j), tolerance));
1429
1435
  if (result.hasInterference) pairs.push({
1430
1436
  i,
1431
1437
  j,
@@ -2250,7 +2256,7 @@ function resolveTargetFace(shape, faceSpec) {
2250
2256
  if (typeof faceSpec === "function") {
2251
2257
  const found = faceSpec(faceFinder()).findAll(shape);
2252
2258
  if (found.length === 0) return err(queryError(BrepErrorCode.COMPOUND_FACE_NOT_FOUND, "compoundOps: face finder matched no faces"));
2253
- return ok(found[0]);
2259
+ return ok(wasmIndex(found, 0));
2254
2260
  }
2255
2261
  return ok(faceSpec);
2256
2262
  }
@@ -2460,6 +2466,15 @@ function unwrapOrThrow(result) {
2460
2466
  if (isErr(result)) throw new BrepWrapperError(result.error);
2461
2467
  return result.value;
2462
2468
  }
2469
+ function asValidSolid(s) {
2470
+ return s;
2471
+ }
2472
+ function asOrientedPlanarFace(f) {
2473
+ return f;
2474
+ }
2475
+ function asClosedWire(w) {
2476
+ return w;
2477
+ }
2463
2478
  function createWrappedBase(val) {
2464
2479
  return {
2465
2480
  val,
@@ -2541,16 +2556,16 @@ function createWrapped3D(val) {
2541
2556
  split: (tools) => wrapAny(unwrapOrThrow(split(val, tools))),
2542
2557
  slice: (planes, opts) => unwrapOrThrow(slice(val, planes, opts)),
2543
2558
  fillet(...args) {
2544
- if (args.length === 1) return wrap3D(unwrapOrThrow(fillet(val, args[0])));
2545
- return wrap3D(unwrapOrThrow(fillet(val, args[0], args[1])));
2559
+ if (args.length === 1) return wrap3D(unwrapOrThrow(fillet(asValidSolid(val), args[0])));
2560
+ return wrap3D(unwrapOrThrow(fillet(asValidSolid(val), args[0], args[1])));
2546
2561
  },
2547
2562
  chamfer(...args) {
2548
- if (args.length === 1) return wrap3D(unwrapOrThrow(chamfer(val, args[0])));
2549
- return wrap3D(unwrapOrThrow(chamfer(val, args[0], args[1])));
2563
+ if (args.length === 1) return wrap3D(unwrapOrThrow(chamfer(asValidSolid(val), args[0])));
2564
+ return wrap3D(unwrapOrThrow(chamfer(asValidSolid(val), args[0], args[1])));
2550
2565
  },
2551
- shell: (faces, thickness, opts) => wrap3D(unwrapOrThrow(shell(val, faces, thickness, opts))),
2552
- offset: (distance, opts) => wrap3D(unwrapOrThrow(offset(val, distance, opts))),
2553
- draft: (faces, opts) => wrap3D(unwrapOrThrow(draft(val, faces, opts))),
2566
+ shell: (faces, thickness, opts) => wrap3D(unwrapOrThrow(shell(asValidSolid(val), faces, thickness, opts))),
2567
+ offset: (distance, opts) => wrap3D(unwrapOrThrow(offset(asValidSolid(val), distance, opts))),
2568
+ draft: (faces, opts) => wrap3D(unwrapOrThrow(draft(asValidSolid(val), faces, opts))),
2554
2569
  drill: (opts) => wrap3D(unwrapOrThrow(drill(val, opts))),
2555
2570
  pocket: (opts) => wrap3D(unwrapOrThrow(pocket(val, opts))),
2556
2571
  boss: (opts) => wrap3D(unwrapOrThrow(boss(val, opts))),
@@ -2579,7 +2594,7 @@ function createWrappedCurve(val) {
2579
2594
  isClosed: () => curveIsClosed(val),
2580
2595
  sweep(spine, opts) {
2581
2596
  if (!isWire(val)) throw new Error("sweep requires a Wire");
2582
- const result = unwrapOrThrow(sweep(val, resolve(spine), opts));
2597
+ const result = unwrapOrThrow(sweep(asClosedWire(val), resolve(spine), opts));
2583
2598
  return wrap3D(Array.isArray(result) ? result[0] : result);
2584
2599
  }
2585
2600
  };
@@ -2593,8 +2608,8 @@ function createWrappedFace(val) {
2593
2608
  surfaceType: () => unwrapOrThrow(getSurfaceType(val)),
2594
2609
  outerWire: () => outerWire(val),
2595
2610
  innerWires: () => innerWires(val),
2596
- extrude: (height) => wrap3D(unwrapOrThrow(extrude(val, height))),
2597
- revolve: (opts) => wrap3D(unwrapOrThrow(revolve(val, opts)))
2611
+ extrude: (height) => wrap3D(unwrapOrThrow(extrude(asOrientedPlanarFace(val), height))),
2612
+ revolve: (opts) => wrap3D(unwrapOrThrow(revolve(asOrientedPlanarFace(val), opts)))
2598
2613
  };
2599
2614
  }
2600
2615
  function wrapAny(val) {
@@ -2616,6 +2631,641 @@ function shape(s) {
2616
2631
  }
2617
2632
  throw new Error("shape() requires a Sketch or branded shape type");
2618
2633
  }
2634
+ var DEFAULT_CLEARANCE = .25;
2635
+ var inv = (alpha) => Math.tan(alpha) - alpha;
2636
+ function involutePoint(rb, alpha, theta0, sign) {
2637
+ const r = rb / Math.cos(alpha);
2638
+ const theta = theta0 + sign * (Math.tan(alpha) - alpha);
2639
+ return [
2640
+ r * Math.cos(theta),
2641
+ r * Math.sin(theta),
2642
+ 0
2643
+ ];
2644
+ }
2645
+ function cosineSpaceFlankSamples(rb, alphaMax, theta0, count, sign) {
2646
+ const pts = [];
2647
+ for (let i = 0; i <= count; i++) {
2648
+ const t = .5 - .5 * Math.cos(i / count * Math.PI);
2649
+ pts.push(involutePoint(rb, t * alphaMax, theta0, sign));
2650
+ }
2651
+ return pts;
2652
+ }
2653
+ function adaptiveSampleCount(moduleSize) {
2654
+ return Math.max(16, Math.round(8 * Math.sqrt(moduleSize)));
2655
+ }
2656
+ function gearGeometry(z, moduleSize, alpha, shift, clearance, backlashHalf, isInternal) {
2657
+ const rPitch = z * moduleSize / 2;
2658
+ const rb = rPitch * Math.cos(alpha);
2659
+ const addendum = moduleSize * (1 + shift);
2660
+ const dedendum = moduleSize * (1 + clearance - shift);
2661
+ const rTip = isInternal ? rPitch - moduleSize * (1 - shift) : rPitch + addendum;
2662
+ const rRoot = isInternal ? rPitch + moduleSize * (1 + clearance + shift) : rPitch - dedendum;
2663
+ const blAng = backlashHalf / rPitch;
2664
+ const halfToothAngle = (Math.PI / 2 + 2 * shift * Math.tan(alpha)) / z + (isInternal ? blAng : -blAng);
2665
+ const rOuter = isInternal ? rRoot : rTip;
2666
+ return {
2667
+ rPitch,
2668
+ rb,
2669
+ rTip,
2670
+ rRoot,
2671
+ alphaPitch: alpha,
2672
+ halfToothAngle,
2673
+ alphaTip: rOuter <= rb ? 0 : Math.acos(Math.min(1, rb / rOuter)),
2674
+ toothPitch: 2 * Math.PI / z,
2675
+ isInternal
2676
+ };
2677
+ }
2678
+ /**
2679
+ * Solve `inv(αw) = inv(α) + 2·(summedShift)·tan α / totalTeeth` by bisection.
2680
+ *
2681
+ * For external-external mesh: summedShift = x1 + x2, totalTeeth = z1 + z2.
2682
+ * For external-internal mesh: summedShift = xInternal − xExternal, totalTeeth = zInternal − zExternal.
2683
+ *
2684
+ * Returns Err for shifts that push αw outside (epsilon, π/2).
2685
+ */
2686
+ function solveWorkingPressureAngle(alpha, summedShift, totalTeeth) {
2687
+ if (summedShift === 0) return ok(alpha);
2688
+ const target = inv(alpha) + 2 * summedShift * Math.tan(alpha) / totalTeeth;
2689
+ const epsilon = 1e-4;
2690
+ let lo, hi;
2691
+ if (target > inv(alpha)) {
2692
+ lo = alpha;
2693
+ hi = Math.PI / 2 - 1e-6;
2694
+ } else {
2695
+ lo = epsilon;
2696
+ hi = alpha;
2697
+ }
2698
+ if (target > inv(hi) || target < inv(lo)) return err(validationError("GEAR_PA_OUT_OF_RANGE", `working pressure angle out of range — target inv(αw)=${target.toFixed(4)} not in [${inv(lo).toFixed(4)}, ${inv(hi).toFixed(4)}]`, void 0, {
2699
+ target,
2700
+ invLo: inv(lo),
2701
+ invHi: inv(hi)
2702
+ }));
2703
+ for (let i = 0; i < 50; i++) {
2704
+ const mid = .5 * (lo + hi);
2705
+ if (inv(mid) < target) lo = mid;
2706
+ else hi = mid;
2707
+ }
2708
+ return ok(.5 * (lo + hi));
2709
+ }
2710
+ /** Convenience: working PA for an external-external mesh (sun-planet). */
2711
+ function solveSunPlanetWorkingPressureAngle(alpha, xSun, xPlanet, zSun, zPlanet) {
2712
+ return solveWorkingPressureAngle(alpha, xSun + xPlanet, zSun + zPlanet);
2713
+ }
2714
+ /** Convenience: working PA for an external-internal mesh (planet-ring). */
2715
+ function solvePlanetRingWorkingPressureAngle(alpha, xPlanet, xRing, zPlanet, zRing) {
2716
+ return solveWorkingPressureAngle(alpha, xRing - xPlanet, zRing - zPlanet);
2717
+ }
2718
+ function workingCenterDistance(zs, zp, moduleSize, alpha, alphaW) {
2719
+ return (zs + zp) * moduleSize * Math.cos(alpha) / (2 * Math.cos(alphaW));
2720
+ }
2721
+ function validatePlanetary(zs, zp, n, planetShift) {
2722
+ if (!Number.isInteger(zs) || !Number.isInteger(zp) || !Number.isInteger(n)) return err(validationError("GEAR_NON_INTEGER_TEETH", "tooth counts and planet count must be integers"));
2723
+ if (zs < 4 || zp < 4 || n < 2) return err(validationError("GEAR_TEETH_TOO_FEW", "zs ≥ 4, zp ≥ 4, N ≥ 2 required"));
2724
+ if ((2 * zs + 2 * zp) % n !== 0) return err(validationError("GEAR_ASSEMBLY", `(2·zs + 2·zp) must be divisible by N — got ${2 * zs + 2 * zp} mod ${n} = ${(2 * zs + 2 * zp) % n}`));
2725
+ const planetTipDiameter = zp + 2 + 2 * planetShift;
2726
+ const minClearance = (zs + zp) * Math.sin(Math.PI / n);
2727
+ if (minClearance <= planetTipDiameter) return err(validationError("GEAR_PLANET_COLLISION", `planet tips would collide: (zs+zp)·sin(π/N) = ${minClearance.toFixed(3)} ≤ planet tip = ${planetTipDiameter.toFixed(3)}`));
2728
+ return ok(void 0);
2729
+ }
2730
+ function externalExternalContactRatio(ra1, rb1, ra2, rb2, centerDistance, moduleSize, alpha, alphaW) {
2731
+ return (Math.sqrt(Math.max(0, ra1 * ra1 - rb1 * rb1)) + Math.sqrt(Math.max(0, ra2 * ra2 - rb2 * rb2)) - centerDistance * Math.sin(alphaW)) / (Math.PI * moduleSize * Math.cos(alpha));
2732
+ }
2733
+ function externalInternalContactRatio(ra_p, rb_p, ra_r, rb_r, centerDistance, moduleSize, alpha, alphaW) {
2734
+ return (Math.sqrt(Math.max(0, ra_p * ra_p - rb_p * rb_p)) - Math.sqrt(Math.max(0, ra_r * ra_r - rb_r * rb_r)) + centerDistance * Math.sin(alphaW)) / (Math.PI * moduleSize * Math.cos(alpha));
2735
+ }
2736
+ function undercutMinimumShift(z, alpha) {
2737
+ return 1 - z * Math.sin(alpha) * Math.sin(alpha) / 2;
2738
+ }
2739
+ function undercutDeficit(z, alpha, shift) {
2740
+ return Math.max(0, undercutMinimumShift(z, alpha) - shift);
2741
+ }
2742
+ function lewisYFactor(z) {
2743
+ if (z < 8) return .2;
2744
+ return .485 - 2.88 / z;
2745
+ }
2746
+ function lewisRootStress(appliedTorqueNm, moduleSize, faceWidth, z) {
2747
+ const torqueNmm = appliedTorqueNm * 1e3;
2748
+ const Y = lewisYFactor(z);
2749
+ if (Y <= 0 || faceWidth <= 0 || moduleSize <= 0) return Infinity;
2750
+ return 2 * torqueNmm / (z * moduleSize * moduleSize * faceWidth * Y);
2751
+ }
2752
+ /**
2753
+ * Dolan-Broghamer fit is for *external* spur teeth. Set `isInternal=true` on
2754
+ * ring gears to apply Niemann's 0.85× reduction — the concave root fillet has
2755
+ * a gentler geometric riser (matches AGMA 908-B89 trend).
2756
+ */
2757
+ function filletStressConcentrationFactor(z, alpha, isInternal = false) {
2758
+ const kf20 = 1.4 + 6.5 / z;
2759
+ const alphaDeg = alpha * 180 / Math.PI;
2760
+ const kf = kf20 * Math.pow(20 / alphaDeg, .15);
2761
+ return isInternal ? kf * .85 : kf;
2762
+ }
2763
+ function lewisRootStressCorrected(appliedTorqueNm, moduleSize, faceWidth, z, alpha, isInternal = false) {
2764
+ return lewisRootStress(appliedTorqueNm, moduleSize, faceWidth, z) * filletStressConcentrationFactor(z, alpha, isInternal);
2765
+ }
2766
+ function backlashHalf(totalBacklash) {
2767
+ return totalBacklash / 2;
2768
+ }
2769
+ function ringTeeth(zs, zp) {
2770
+ return zs + 2 * zp;
2771
+ }
2772
+ function evenToothPhaseOffset(z) {
2773
+ return z % 2 === 0 ? Math.PI / z : 0;
2774
+ }
2775
+ function planetSelfRotationAngle(orbitalAngle, zs, zp) {
2776
+ return orbitalAngle * (1 + zs / zp) + evenToothPhaseOffset(zp);
2777
+ }
2778
+ /**
2779
+ * Compute the rigid placement of each planet without building any solid.
2780
+ *
2781
+ * Pairs with one materialized planet from `makeExternalGear` to support
2782
+ * GPU-instanced rendering: mesh once, draw N times under these transforms.
2783
+ * Defaults match {@link PlanetaryGearParams}.
2784
+ */
2785
+ function planetPlacements(params = {}) {
2786
+ const moduleSize = params.moduleSize ?? 3;
2787
+ const sunTeeth = params.sunTeeth ?? 15;
2788
+ const planetTeeth = params.planetTeeth ?? 12;
2789
+ const numPlanets = params.numPlanets ?? 3;
2790
+ const alpha = (params.pressureAngleDeg ?? 20) * Math.PI / 180;
2791
+ const sunShift = params.sunShift ?? 0;
2792
+ const planetShift = params.planetShift ?? 0;
2793
+ const validation = validatePlanetary(sunTeeth, planetTeeth, numPlanets, planetShift);
2794
+ if (isErr(validation)) return validation;
2795
+ const sp = solveSunPlanetWorkingPressureAngle(alpha, sunShift, planetShift, sunTeeth, planetTeeth);
2796
+ if (isErr(sp)) return sp;
2797
+ const centerDistance = workingCenterDistance(sunTeeth, planetTeeth, moduleSize, alpha, sp.value);
2798
+ const placements = [];
2799
+ for (let i = 0; i < numPlanets; i++) {
2800
+ const orbital = i * 2 * Math.PI / numPlanets;
2801
+ const selfRot = planetSelfRotationAngle(orbital, sunTeeth, planetTeeth);
2802
+ placements.push({
2803
+ rotationDeg: selfRot * 180 / Math.PI,
2804
+ position: [
2805
+ centerDistance * Math.cos(orbital),
2806
+ centerDistance * Math.sin(orbital),
2807
+ 0
2808
+ ]
2809
+ });
2810
+ }
2811
+ return ok(placements);
2812
+ }
2813
+ //#endregion
2814
+ //#region src/gear/gearProfile.ts
2815
+ function buildToothPeriodEdges(tm, toothIndex, totalTeeth, samples, scope) {
2816
+ const center = toothIndex * tm.toothPitch;
2817
+ const nextCenter = (toothIndex + 1) % totalTeeth * tm.toothPitch;
2818
+ const invPitch = inv(tm.alphaPitch);
2819
+ const thetaLeft = center - tm.halfToothAngle - invPitch;
2820
+ const thetaRight = center + tm.halfToothAngle + invPitch;
2821
+ const leftFlank = cosineSpaceFlankSamples(tm.rb, tm.alphaTip, thetaLeft, samples, 1);
2822
+ const rightFlank = cosineSpaceFlankSamples(tm.rb, tm.alphaTip, thetaRight, samples, -1).reverse();
2823
+ const leftBase = firstOrThrow(leftFlank);
2824
+ const leftTip = lastOrThrow(leftFlank);
2825
+ const rightTip = firstOrThrow(rightFlank);
2826
+ const rightBase = lastOrThrow(rightFlank);
2827
+ const edges = [];
2828
+ const push = (e) => {
2829
+ scope.register(e);
2830
+ edges.push(e);
2831
+ };
2832
+ const needsRadialBridge = tm.isInternal ? tm.rb < tm.rRoot : tm.rb > tm.rRoot;
2833
+ if (needsRadialBridge) push(makeLine([
2834
+ tm.rRoot * Math.cos(thetaLeft),
2835
+ tm.rRoot * Math.sin(thetaLeft),
2836
+ 0
2837
+ ], leftBase));
2838
+ const interpTol = tm.rPitch * 1e-5;
2839
+ const leftEdge = makeBSplineInterpolation(leftFlank, { tolerance: interpTol });
2840
+ if (isErr(leftEdge)) return leftEdge;
2841
+ push(leftEdge.value);
2842
+ push(makeThreePointArc(leftTip, [
2843
+ tm.rTip * Math.cos(center),
2844
+ tm.rTip * Math.sin(center),
2845
+ 0
2846
+ ], rightTip));
2847
+ const rightEdge = makeBSplineInterpolation(rightFlank, { tolerance: interpTol });
2848
+ if (isErr(rightEdge)) return rightEdge;
2849
+ push(rightEdge.value);
2850
+ if (needsRadialBridge) push(makeLine(rightBase, [
2851
+ tm.rRoot * Math.cos(thetaRight),
2852
+ tm.rRoot * Math.sin(thetaRight),
2853
+ 0
2854
+ ]));
2855
+ const rootEndAngle = nextCenter - tm.halfToothAngle - invPitch;
2856
+ let midAngle = .5 * (thetaRight + rootEndAngle);
2857
+ if (rootEndAngle < thetaRight) midAngle += Math.PI;
2858
+ push(makeThreePointArc(needsRadialBridge ? [
2859
+ tm.rRoot * Math.cos(thetaRight),
2860
+ tm.rRoot * Math.sin(thetaRight),
2861
+ 0
2862
+ ] : rightBase, [
2863
+ tm.rRoot * Math.cos(midAngle),
2864
+ tm.rRoot * Math.sin(midAngle),
2865
+ 0
2866
+ ], needsRadialBridge ? [
2867
+ tm.rRoot * Math.cos(rootEndAngle),
2868
+ tm.rRoot * Math.sin(rootEndAngle),
2869
+ 0
2870
+ ] : [
2871
+ tm.rb * Math.cos(rootEndAngle),
2872
+ tm.rb * Math.sin(rootEndAngle),
2873
+ 0
2874
+ ]));
2875
+ return ok(edges);
2876
+ }
2877
+ function makeExternalGearProfileWire(params) {
2878
+ return makeProfileWire(params, false);
2879
+ }
2880
+ function makeInternalGearProfileWire(params) {
2881
+ return makeProfileWire(params, true);
2882
+ }
2883
+ function makeProfileWire(params, isInternal) {
2884
+ try {
2885
+ var _usingCtx$2 = _usingCtx();
2886
+ const { teeth, moduleSize, pressureAngle, shift, clearance, flankThinning, samples = adaptiveSampleCount(moduleSize) } = params;
2887
+ if (teeth < 4) return err(validationError("GEAR_TEETH_TOO_FEW", `gear needs ≥ 4 teeth, got ${teeth}`));
2888
+ if (moduleSize <= 0) return err(validationError("GEAR_MODULE_NONPOSITIVE", `module must be > 0, got ${moduleSize}`));
2889
+ const tm = gearGeometry(teeth, moduleSize, pressureAngle, shift, clearance, flankThinning, isInternal);
2890
+ const scope = _usingCtx$2.u(new DisposalScope());
2891
+ const allEdges = [];
2892
+ for (let i = 0; i < teeth; i++) {
2893
+ const periodEdges = buildToothPeriodEdges(tm, i, teeth, samples, scope);
2894
+ if (isErr(periodEdges)) return periodEdges;
2895
+ allEdges.push(...periodEdges.value);
2896
+ }
2897
+ const wireResult = assembleWire(allEdges);
2898
+ if (isErr(wireResult)) return wireResult;
2899
+ return ok(wireResult.value);
2900
+ } catch (_) {
2901
+ _usingCtx$2.e = _;
2902
+ } finally {
2903
+ _usingCtx$2.d();
2904
+ }
2905
+ }
2906
+ //#endregion
2907
+ //#region src/gear/gearFns.ts
2908
+ function makeExternalGear(params) {
2909
+ const { teeth, moduleSize, thickness, pressureAngleDeg = 20, shift = 0, clearance = DEFAULT_CLEARANCE, flankThinning = 0, bore = 0, samples } = params;
2910
+ if (thickness <= 0) return err(validationError("GEAR_THICKNESS_NONPOSITIVE", "thickness must be > 0"));
2911
+ if (samples !== void 0 && (!Number.isInteger(samples) || samples < 1)) return err(validationError("GEAR_SAMPLES_INVALID", `samples must be a positive integer; got ${String(samples)}`));
2912
+ const alpha = pressureAngleDeg * Math.PI / 180;
2913
+ const geom = gearGeometry(teeth, moduleSize, alpha, shift, clearance, flankThinning, false);
2914
+ if (bore > 0 && bore >= 2 * geom.rRoot) return err(validationError("GEAR_BORE_TOO_LARGE", `bore diameter ${bore.toFixed(2)} ≥ root diameter ${(2 * geom.rRoot).toFixed(2)} — would erase the gear teeth`));
2915
+ const wireResult = makeExternalGearProfileWire({
2916
+ teeth,
2917
+ moduleSize,
2918
+ pressureAngle: alpha,
2919
+ shift,
2920
+ clearance,
2921
+ flankThinning,
2922
+ ...samples !== void 0 ? { samples } : {}
2923
+ });
2924
+ if (isErr(wireResult)) return wireResult;
2925
+ const diagnostics = externalGearDiagnostics(teeth, alpha, shift);
2926
+ return finalizeExternalSolid(wireResult.value, thickness, bore, geom, diagnostics);
2927
+ }
2928
+ function makeInternalGear(params) {
2929
+ const { teeth, moduleSize, thickness, pressureAngleDeg = 20, shift = 0, clearance = DEFAULT_CLEARANCE, flankThinning = 0, ringWallThickness = 2 * params.moduleSize, samples } = params;
2930
+ if (thickness <= 0) return err(validationError("GEAR_THICKNESS_NONPOSITIVE", "thickness must be > 0"));
2931
+ if (ringWallThickness <= 0) return err(validationError("GEAR_WALL_NONPOSITIVE", "ringWallThickness must be > 0"));
2932
+ if (samples !== void 0 && (!Number.isInteger(samples) || samples < 1)) return err(validationError("GEAR_SAMPLES_INVALID", `samples must be a positive integer; got ${String(samples)}`));
2933
+ const alpha = pressureAngleDeg * Math.PI / 180;
2934
+ const innerWireResult = makeInternalGearProfileWire({
2935
+ teeth,
2936
+ moduleSize,
2937
+ pressureAngle: alpha,
2938
+ shift,
2939
+ clearance,
2940
+ flankThinning,
2941
+ ...samples !== void 0 ? { samples } : {}
2942
+ });
2943
+ if (isErr(innerWireResult)) return innerWireResult;
2944
+ const geom = gearGeometry(teeth, moduleSize, alpha, shift, clearance, flankThinning, true);
2945
+ const outerWireResult = makeOuterCircleWire(geom.rPitch + ringWallThickness);
2946
+ if (isErr(outerWireResult)) return outerWireResult;
2947
+ return finalizeInternalSolid(outerWireResult.value, innerWireResult.value, thickness, geom, []);
2948
+ }
2949
+ /** Diagnostics for an external (rack-cut) gear in isolation. Not valid for internal gears. */
2950
+ function externalGearDiagnostics(teeth, alpha, shift) {
2951
+ const deficit = undercutDeficit(teeth, alpha, shift);
2952
+ if (deficit <= 0) return [];
2953
+ return [{
2954
+ code: "UNDERCUT_RISK",
2955
+ severity: "warning",
2956
+ message: `gear is undercut: increase shift by ${deficit.toFixed(3)} to avoid (z=${teeth})`,
2957
+ context: {
2958
+ deficit,
2959
+ teeth
2960
+ }
2961
+ }];
2962
+ }
2963
+ function makePlanetaryGear(params) {
2964
+ const resolved = resolvePlanetaryParams(params);
2965
+ if (isErr(resolved)) return resolved;
2966
+ const cfg = resolved.value;
2967
+ const stages = buildPlanetaryStages(cfg);
2968
+ if (isErr(stages)) return stages;
2969
+ const { sun, planet, ring } = stages.value;
2970
+ const metrics = computeMeshMetrics(cfg, sun, planet, ring);
2971
+ const planets = placePlanets(planet.solid, cfg);
2972
+ planet.solid.delete();
2973
+ const ringPhased = applyRingPhase(ring.solid, cfg.zr);
2974
+ const diagnostics = collectDiagnostics(cfg, metrics);
2975
+ return ok({
2976
+ sun: sun.solid,
2977
+ planets,
2978
+ ring: ringPhased,
2979
+ ringTeeth: cfg.zr,
2980
+ workingPressureAngle: cfg.alphaW_sp,
2981
+ centerDistance: cfg.centerDistance,
2982
+ contactRatio: {
2983
+ sunPlanet: metrics.crSunPlanet,
2984
+ planetRing: metrics.crPlanetRing
2985
+ },
2986
+ undercutDeficit: {
2987
+ sun: metrics.undercutSun,
2988
+ planet: metrics.undercutPlanet
2989
+ },
2990
+ ...metrics.lewisStress ? { lewisStress: metrics.lewisStress } : {},
2991
+ ...metrics.stressConcentrationFactor ? { stressConcentrationFactor: metrics.stressConcentrationFactor } : {},
2992
+ diagnostics
2993
+ });
2994
+ }
2995
+ function buildPlanetaryStages(cfg) {
2996
+ const samplesField = cfg.samples !== void 0 ? { samples: cfg.samples } : {};
2997
+ const common = {
2998
+ moduleSize: cfg.moduleSize,
2999
+ thickness: cfg.thickness,
3000
+ pressureAngleDeg: cfg.pressureAngleDeg,
3001
+ clearance: cfg.clearance,
3002
+ flankThinning: cfg.bHalf,
3003
+ ...samplesField
3004
+ };
3005
+ const sun = makeExternalGear({
3006
+ ...common,
3007
+ teeth: cfg.sunTeeth,
3008
+ shift: cfg.sunShift,
3009
+ bore: cfg.sunBore
3010
+ });
3011
+ if (isErr(sun)) return sun;
3012
+ const planet = makeExternalGear({
3013
+ ...common,
3014
+ teeth: cfg.planetTeeth,
3015
+ shift: cfg.planetShift,
3016
+ bore: cfg.planetBore
3017
+ });
3018
+ if (isErr(planet)) {
3019
+ sun.value.solid.delete();
3020
+ return planet;
3021
+ }
3022
+ const ring = makeInternalGear({
3023
+ ...common,
3024
+ teeth: cfg.zr,
3025
+ shift: cfg.ringShift,
3026
+ ringWallThickness: cfg.ringWallThickness
3027
+ });
3028
+ if (isErr(ring)) {
3029
+ sun.value.solid.delete();
3030
+ planet.value.solid.delete();
3031
+ return ring;
3032
+ }
3033
+ return ok({
3034
+ sun: sun.value,
3035
+ planet: planet.value,
3036
+ ring: ring.value
3037
+ });
3038
+ }
3039
+ function resolvePlanetaryParams(params) {
3040
+ const moduleSize = params.moduleSize ?? 3;
3041
+ const sunTeeth = params.sunTeeth ?? 15;
3042
+ const planetTeeth = params.planetTeeth ?? 12;
3043
+ const numPlanets = params.numPlanets ?? 3;
3044
+ const pressureAngleDeg = params.pressureAngleDeg ?? 20;
3045
+ const alpha = pressureAngleDeg * Math.PI / 180;
3046
+ const sunShift = params.sunShift ?? 0;
3047
+ const planetShift = params.planetShift ?? 0;
3048
+ const ringShift = params.ringShift ?? 0;
3049
+ if (params.thickness <= 0) return err(validationError("GEAR_THICKNESS_NONPOSITIVE", "thickness must be > 0"));
3050
+ const validation = validatePlanetary(sunTeeth, planetTeeth, numPlanets, planetShift);
3051
+ if (isErr(validation)) return validation;
3052
+ const zr = ringTeeth(sunTeeth, planetTeeth);
3053
+ const sp = solveSunPlanetWorkingPressureAngle(alpha, sunShift, planetShift, sunTeeth, planetTeeth);
3054
+ if (isErr(sp)) return sp;
3055
+ const pr = solvePlanetRingWorkingPressureAngle(alpha, planetShift, ringShift, planetTeeth, zr);
3056
+ if (isErr(pr)) return pr;
3057
+ const centerDistance = workingCenterDistance(sunTeeth, planetTeeth, moduleSize, alpha, sp.value);
3058
+ return ok({
3059
+ moduleSize,
3060
+ sunTeeth,
3061
+ planetTeeth,
3062
+ numPlanets,
3063
+ pressureAngleDeg,
3064
+ alpha,
3065
+ alphaW_sp: sp.value,
3066
+ alphaW_pr: pr.value,
3067
+ clearance: params.clearance ?? .25,
3068
+ bHalf: backlashHalf(params.backlash ?? 0),
3069
+ sunShift,
3070
+ planetShift,
3071
+ ringShift,
3072
+ ringWallThickness: params.ringWallThickness ?? 2 * moduleSize,
3073
+ thickness: params.thickness,
3074
+ sunBore: params.sunBore ?? 0,
3075
+ planetBore: params.planetBore ?? 0,
3076
+ ...params.appliedTorque !== void 0 ? { appliedTorque: params.appliedTorque } : {},
3077
+ ...params.samples !== void 0 ? { samples: params.samples } : {},
3078
+ zr,
3079
+ centerDistance
3080
+ });
3081
+ }
3082
+ function makeOuterCircleWire(radius) {
3083
+ try {
3084
+ var _usingCtx$1 = _usingCtx();
3085
+ const wireResult = assembleWire([_usingCtx$1.u(new DisposalScope()).register(makeCircle(radius, [
3086
+ 0,
3087
+ 0,
3088
+ 0
3089
+ ], [
3090
+ 0,
3091
+ 0,
3092
+ 1
3093
+ ]))]);
3094
+ if (isErr(wireResult)) return wireResult;
3095
+ return ok(wireResult.value);
3096
+ } catch (_) {
3097
+ _usingCtx$1.e = _;
3098
+ } finally {
3099
+ _usingCtx$1.d();
3100
+ }
3101
+ }
3102
+ function finalizeExternalSolid(wire, thickness, bore, geom, diagnostics) {
3103
+ try {
3104
+ var _usingCtx3 = _usingCtx();
3105
+ const faceResult = makeFace(wire);
3106
+ if (isErr(faceResult)) return faceResult;
3107
+ const solidResult = extrude$1(faceResult.value, [
3108
+ 0,
3109
+ 0,
3110
+ thickness
3111
+ ]);
3112
+ if (isErr(solidResult)) return solidResult;
3113
+ if (bore <= 0) return ok(buildGearResult(solidResult.value, geom, diagnostics));
3114
+ const boreScope = _usingCtx3.u(new DisposalScope());
3115
+ const boreFaceResult = makeBoreFace(bore / 2);
3116
+ if (isErr(boreFaceResult)) return boreFaceResult;
3117
+ boreScope.register(boreFaceResult.value);
3118
+ const boreRaw = extrude$1(boreFaceResult.value, [
3119
+ 0,
3120
+ 0,
3121
+ thickness + 1
3122
+ ]);
3123
+ if (isErr(boreRaw)) return boreRaw;
3124
+ boreScope.register(boreRaw.value);
3125
+ const boreSolid = boreScope.register(translate$1(boreRaw.value, [
3126
+ 0,
3127
+ 0,
3128
+ -.5
3129
+ ]));
3130
+ const cutResult = cut$1(solidResult.value, boreSolid);
3131
+ if (isErr(cutResult)) return cutResult;
3132
+ return ok(buildGearResult(cutResult.value, geom, diagnostics));
3133
+ } catch (_) {
3134
+ _usingCtx3.e = _;
3135
+ } finally {
3136
+ _usingCtx3.d();
3137
+ }
3138
+ }
3139
+ function makeBoreFace(radius) {
3140
+ const wireResult = makeOuterCircleWire(radius);
3141
+ if (isErr(wireResult)) return wireResult;
3142
+ return makeFace(wireResult.value);
3143
+ }
3144
+ function finalizeInternalSolid(outerWire, innerToothedWire, thickness, geom, diagnostics) {
3145
+ const faceResult = makeFace(outerWire, [innerToothedWire]);
3146
+ if (isErr(faceResult)) return faceResult;
3147
+ const solidResult = extrude$1(faceResult.value, [
3148
+ 0,
3149
+ 0,
3150
+ thickness
3151
+ ]);
3152
+ if (isErr(solidResult)) return solidResult;
3153
+ return ok(buildGearResult(solidResult.value, geom, diagnostics));
3154
+ }
3155
+ function buildGearResult(solid, geom, diagnostics = []) {
3156
+ return {
3157
+ solid,
3158
+ diagnostics,
3159
+ pitchDiameter: 2 * geom.rPitch,
3160
+ baseDiameter: 2 * geom.rb,
3161
+ tipDiameter: 2 * geom.rTip,
3162
+ rootDiameter: 2 * geom.rRoot
3163
+ };
3164
+ }
3165
+ function placePlanets(planetProto, cfg) {
3166
+ const planets = [];
3167
+ try {
3168
+ for (let i = 0; i < cfg.numPlanets; i++) {
3169
+ const orbital = i * 2 * Math.PI / cfg.numPlanets;
3170
+ const rotated = rotate$1(planetProto, planetSelfRotationAngle(orbital, cfg.sunTeeth, cfg.planetTeeth) * 180 / Math.PI);
3171
+ try {
3172
+ const offset = [
3173
+ cfg.centerDistance * Math.cos(orbital),
3174
+ cfg.centerDistance * Math.sin(orbital),
3175
+ 0
3176
+ ];
3177
+ planets.push(translate$1(rotated, offset));
3178
+ } finally {
3179
+ rotated.delete();
3180
+ }
3181
+ }
3182
+ return planets;
3183
+ } catch (e) {
3184
+ for (const p of planets) p.delete();
3185
+ throw e;
3186
+ }
3187
+ }
3188
+ function applyRingPhase(ring, zr) {
3189
+ const phaseRad = evenToothPhaseOffset(zr);
3190
+ if (phaseRad === 0) return ring;
3191
+ const rotated = rotate$1(ring, phaseRad * 180 / Math.PI);
3192
+ ring.delete();
3193
+ return rotated;
3194
+ }
3195
+ function computeMeshMetrics(cfg, sun, planet, ring) {
3196
+ const metrics = {
3197
+ crSunPlanet: externalExternalContactRatio(sun.tipDiameter / 2, sun.baseDiameter / 2, planet.tipDiameter / 2, planet.baseDiameter / 2, cfg.centerDistance, cfg.moduleSize, cfg.alpha, cfg.alphaW_sp),
3198
+ crPlanetRing: externalInternalContactRatio(planet.tipDiameter / 2, planet.baseDiameter / 2, ring.tipDiameter / 2, ring.baseDiameter / 2, cfg.centerDistance, cfg.moduleSize, cfg.alpha, cfg.alphaW_pr),
3199
+ undercutSun: undercutDeficit(cfg.sunTeeth, cfg.alpha, cfg.sunShift),
3200
+ undercutPlanet: undercutDeficit(cfg.planetTeeth, cfg.alpha, cfg.planetShift)
3201
+ };
3202
+ if (cfg.appliedTorque !== void 0) {
3203
+ const tSun = cfg.appliedTorque;
3204
+ metrics.lewisStress = {
3205
+ sun: lewisRootStressCorrected(tSun, cfg.moduleSize, cfg.thickness, cfg.sunTeeth, cfg.alpha),
3206
+ planet: lewisRootStressCorrected(tSun * cfg.planetTeeth / cfg.sunTeeth, cfg.moduleSize, cfg.thickness, cfg.planetTeeth, cfg.alpha),
3207
+ ring: lewisRootStressCorrected(tSun * cfg.zr / cfg.sunTeeth, cfg.moduleSize, cfg.thickness, cfg.zr, cfg.alpha, true)
3208
+ };
3209
+ metrics.stressConcentrationFactor = {
3210
+ sun: filletStressConcentrationFactor(cfg.sunTeeth, cfg.alpha),
3211
+ planet: filletStressConcentrationFactor(cfg.planetTeeth, cfg.alpha),
3212
+ ring: filletStressConcentrationFactor(cfg.zr, cfg.alpha, true)
3213
+ };
3214
+ }
3215
+ return metrics;
3216
+ }
3217
+ function collectDiagnostics(cfg, metrics) {
3218
+ const diagnostics = [];
3219
+ if (metrics.crSunPlanet < 1.2) diagnostics.push({
3220
+ code: "CONTACT_RATIO_LOW_SUN_PLANET",
3221
+ severity: "warning",
3222
+ message: `sun-planet contact ratio ${metrics.crSunPlanet.toFixed(2)} is below 1.2 — may run unevenly`,
3223
+ context: { value: metrics.crSunPlanet }
3224
+ });
3225
+ if (metrics.crPlanetRing < 1.2) diagnostics.push({
3226
+ code: "CONTACT_RATIO_LOW_PLANET_RING",
3227
+ severity: "warning",
3228
+ message: `planet-ring contact ratio ${metrics.crPlanetRing.toFixed(2)} is below 1.2 — may run unevenly`,
3229
+ context: { value: metrics.crPlanetRing }
3230
+ });
3231
+ if (metrics.undercutSun > 0) diagnostics.push({
3232
+ code: "UNDERCUT_RISK_SUN",
3233
+ severity: "warning",
3234
+ message: `sun gear is undercut: increase sunShift by ${metrics.undercutSun.toFixed(3)} to avoid`,
3235
+ context: {
3236
+ deficit: metrics.undercutSun,
3237
+ sunTeeth: cfg.sunTeeth
3238
+ }
3239
+ });
3240
+ if (metrics.undercutPlanet > 0) diagnostics.push({
3241
+ code: "UNDERCUT_RISK_PLANET",
3242
+ severity: "warning",
3243
+ message: `planet gear is undercut: increase planetShift by ${metrics.undercutPlanet.toFixed(3)} to avoid`,
3244
+ context: {
3245
+ deficit: metrics.undercutPlanet,
3246
+ planetTeeth: cfg.planetTeeth
3247
+ }
3248
+ });
3249
+ const totalShiftMagnitude = Math.abs(cfg.sunShift) + Math.abs(cfg.planetShift) + Math.abs(cfg.ringShift);
3250
+ if (cfg.appliedTorque !== void 0 && totalShiftMagnitude > .05) diagnostics.push({
3251
+ code: "LEWIS_Y_SHIFT_UNCORRECTED",
3252
+ severity: "info",
3253
+ message: "Lewis stress uses unshifted Y(z) and K_f approximations; expect ±5% per 0.1 of profile shift"
3254
+ });
3255
+ const kinematicError = cfg.ringShift - (cfg.sunShift + 2 * cfg.planetShift);
3256
+ if (Math.abs(kinematicError) > 1e-6) diagnostics.push({
3257
+ code: "PLANETARY_SHIFT_KINEMATIC_MISMATCH",
3258
+ severity: "warning",
3259
+ message: `ringShift should equal sunShift + 2·planetShift for both meshes to share working PA; off by ${kinematicError.toFixed(3)}`,
3260
+ context: {
3261
+ kinematicError,
3262
+ sunShift: cfg.sunShift,
3263
+ planetShift: cfg.planetShift,
3264
+ ringShift: cfg.ringShift
3265
+ }
3266
+ });
3267
+ return diagnostics;
3268
+ }
2619
3269
  //#endregion
2620
3270
  //#region src/ns/primitives.ts
2621
3271
  var primitives_exports = /* @__PURE__ */ __exportAll({
@@ -2765,4 +3415,4 @@ var patterns_exports = /* @__PURE__ */ __exportAll({
2765
3415
  linearPattern: () => linearPattern
2766
3416
  });
2767
3417
  //#endregion
2768
- export { BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEG2RAD, DisposalScope, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketches, addChild, addHoles, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, blueprintToDXF, booleanPipeline, booleans_exports as booleans, boss, box, bsplineApprox, bug, cameraFromPlane, cameraLookAt, captureHint, cast, castShape, castShape3D, chamfer, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkAllInterferences, checkBoolean, checkInterference, circle, circularPattern, classifyPointOnFace, clearMeshCache, clone, closedWire, collect, collectShapes, colorFaces, colorShape, complexExtrude, composeTransforms, compound, compoundSketchExtrude, compoundSketchFace, compoundSketchLoft, compoundSketchRevolve, computationError, computeStraightSkeleton, cone, construction_exports as construction, convexHull, cornerFinder, countNodes, createAssembly, createAssemblyNode, createBlueprint, createCamera, createCompound, createCompoundBlueprint, createDistanceQuery, createEdge, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createWire, createWorkerClient, createWorkerHandler, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cut, cut2D, cutAll, cutBlueprints, cutWithEvolution, cylinder, defaultScorer, dequeueTask, describe, deserializeDrawing, deserializeHistory, fromBREP as deserializeShape, downcast, draft, draw, drawCircle, drawEllipse, drawFaceOutline, drawParametricFunction, drawPointsInterpolation, drawPolysides, drawProjection, drawRectangle, drawRoundedRectangle, drawSingleCircle, drawSingleEllipse, drawText, drawingChamfer, drawingCut, drawingFillet, drawingFuse, drawingIntersect, drawingToSketchOnPlane, drill, edgeFinder, edgesOfFace, ellipse, ellipseArc, ellipsoid, enqueueTask, err, exportAssemblySTEP, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, extrude, extrudeAll, face, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, fill, filledFace, fillet, filletWithEvolution, findFacesByTag, findNode, findStep, fixSelfIntersection, fixShape, flatMap, flatten, flipFaceOrientation, flipOrientation, fontMetrics, fromBREP$1 as fromBREP, fromKernelDir, fromKernelPnt, fromKernelVec, fromNullable, fuse, fuse2D, fuseAll, fuseBlueprints, fuseWithEvolution, getBounds, getBounds2D, getCurveType, getDisposalStats, getEdges, getFaceColor, getFaceOrigins, getFaceTags, getFaces, getFont, getHashCode, getShape as getHistoryShape, getKernel, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getOrientation2D, getPerformanceStats, getShapeColor, getShapeKind, getSingleFace, getSurfaceType, getTagMetadata, getVertices, getWires, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, init, initFromOC, innerWires, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, ioNs_exports as io, ioError, is2D, is3D, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDisposeRequest, isEdge, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFilletRadius, isInitRequest, isInside2D, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isWire, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, line, linearPattern, loadFont, loft, loftAll, makeBaseBox, makePlane, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mesh, meshEdges, meshMultiLOD, minkowski, mirror, mirror2D, mirrorDrawing, mirrorJoin, modifiers_exports as modifiers, modifyStep, moduleInitError, multiSectionSweep, normalAt, offset, offsetFace, offsetWire2D, ok, or, orElse, organiseBlueprints, orientedFace, outerWire, patterns_exports as patterns, pendingCount, pipeline, pivotPlane, planarFace, planarWire, pocket, pointOnSurface, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerOperation, registerShape, rejectAll, removeChild, removeHolesFromFace, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDirection, resolvePlane, resolveRef, reverseCurve, revolve, roof, rotate, rotate2D, rotateDrawing, roundedRectangleBlueprint, scale, scale2D, scaleDrawing, section, sectionToFace, serializeHistory, setShapeOrigin, setTagMetadata, sewShells, shape, shapeType, sharedEdges, shell, shellWithEvolution, simplify, sketchCircle, sketchEllipse, sketchExtrude, sketchFace, sketchFaceOffset, sketchHelix, sketchLoft, sketchOnFace2D, sketchOnPlane2D, sketchParametricFunction, sketchPolysides, sketchRectangle, sketchRevolve, sketchRoundedRectangle, sketchSweep, sketchText, sketchWires, sketcherStateError, slice, solid, solidFromShell, solveAssembly, sphere, split, stepCount, stepsFrom, stretch2D, subFace, supportExtrude, supportsConstraintSketch, supportsProjection, surfaceFromGrid, surfaceFromImage, sweep, tagFaces, tangentArc, tap, tapErr, textBlueprints, textMetrics, thicken, threePointArc, toBREP, toBufferGeometryData, toGroupedBufferGeometryData, toKernelVec, toLODGeometryData, toLineGeometryData, toSVGPathD, toVec2, toVec3, torus, transformCopy, transforms_exports as transforms, translate, translate2D, translateDrawing, translatePlane, tryCatch, tryCatchAsync, twistExtrude, typeCastError, undoLast, unsupportedError, unwrap, unwrapErr, unwrapOr, unwrapOrElse, updateNode, updateRoles, uvBounds, uvCoordinates, validSolid, validationError, variableFillet, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub, vertex, vertexFinder, vertexPosition, verticesOfEdge, walkAssembly, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withScope, withScopeResult, withScopeResultAsync, zip as zipResults };
3418
+ export { BaseSketcher2d, BlueprintSketcher, BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEG2RAD, DisposalScope, FaceSketcher, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketcher, Sketches, addChild, addHoles, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, blueprintToDXF, booleanPipeline, booleans_exports as booleans, boss, box, bsplineApprox, bug, cameraFromPlane, cameraLookAt, captureHint, cast, castShape, castShape3D, chamfer, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkAllInterferences, checkBoolean, checkInterference, circle, circularPattern, classifyPointOnFace, clearMeshCache, clone, closedWire, collect, collectShapes, colorFaces, colorShape, complexExtrude, composeTransforms, compound, compoundSketchExtrude, compoundSketchFace, compoundSketchLoft, compoundSketchRevolve, computationError, computeStraightSkeleton, cone, construction_exports as construction, convexHull, cornerFinder, countNodes, createAssembly, createAssemblyNode, createBlueprint, createCamera, createCompound, createCompoundBlueprint, createDistanceQuery, createEdge, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createWire, createWorkerClient, createWorkerHandler, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cut, cut2D, cutAll, cutBlueprints, cutWithEvolution, cylinder, defaultScorer, dequeueTask, describe, deserializeDrawing, deserializeHistory, fromBREP as deserializeShape, downcast, draft, draw, drawCircle, drawEllipse, drawFaceOutline, drawParametricFunction, drawPointsInterpolation, drawPolysides, drawProjection, drawRectangle, drawRoundedRectangle, drawSingleCircle, drawSingleEllipse, drawText, drawingChamfer, drawingCut, drawingFillet, drawingFuse, drawingIntersect, drawingToSketchOnPlane, drill, edgeFinder, edgesOfFace, ellipse, ellipseArc, ellipsoid, enqueueTask, err, exportAssemblySTEP, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, extrude, extrudeAll, face, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, fill, filledFace, fillet, filletWithEvolution, findFacesByTag, findNode, findStep, fixSelfIntersection, fixShape, flatMap, flatten, flipFaceOrientation, flipOrientation, fontMetrics, fromBREP$1 as fromBREP, fromKernelDir, fromKernelPnt, fromKernelVec, fromNullable, fuse, fuse2D, fuseAll, fuseBlueprints, fuseWithEvolution, gearGeometry, getBounds, getBounds2D, getCurveType, getDisposalStats, getEdges, getFaceColor, getFaceOrigins, getFaceTags, getFaces, getFont, getHashCode, getShape as getHistoryShape, getKernel, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getOrientation2D, getPerformanceStats, getShapeColor, getShapeKind, getSingleFace, getSurfaceType, getTagMetadata, getVertices, getWires, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, init, initFromOC, innerWires, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, ioNs_exports as io, ioError, is2D, is3D, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDisposeRequest, isEdge, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFilletRadius, isInitRequest, isInside2D, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isWire, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, line, linearPattern, loadFont, loft, loftAll, makeBaseBox, makeExternalGear, makeInternalGear, makePlane, makePlanetaryGear, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mesh, meshEdges, meshMultiLOD, minkowski, mirror, mirror2D, mirrorDrawing, mirrorJoin, modifiers_exports as modifiers, modifyStep, moduleInitError, multiSectionSweep, normalAt, offset, offsetFace, offsetWire2D, ok, or, orElse, organiseBlueprints, orientedFace, outerWire, patterns_exports as patterns, pendingCount, pipeline, pivotPlane, planarFace, planarWire, planetPlacements, pocket, pointOnSurface, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerOperation, registerShape, rejectAll, removeChild, removeHolesFromFace, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDirection, resolvePlane, resolveRef, reverseCurve, revolve, roof, rotate, rotate2D, rotateDrawing, roundedRectangleBlueprint, scale, scale2D, scaleDrawing, section, sectionToFace, serializeHistory, setShapeOrigin, setTagMetadata, sewShells, shape, shapeType, sharedEdges, shell, shellWithEvolution, simplify, sketchCircle, sketchEllipse, sketchExtrude, sketchFace, sketchFaceOffset, sketchHelix, sketchLoft, sketchOnFace2D, sketchOnPlane2D, sketchParametricFunction, sketchPolysides, sketchRectangle, sketchRevolve, sketchRoundedRectangle, sketchSweep, sketchText, sketchWires, sketcherStateError, slice, solid, solidFromShell, solveAssembly, sphere, split, stepCount, stepsFrom, stretch2D, subFace, supportExtrude, supportsConstraintSketch, supportsProjection, surfaceFromGrid, surfaceFromImage, sweep, tagFaces, tangentArc, tap, tapErr, textBlueprints, textMetrics, thicken, threePointArc, toBREP, toBufferGeometryData, toGroupedBufferGeometryData, toKernelVec, toLODGeometryData, toLineGeometryData, toSVGPathD, toVec2, toVec3, torus, transformCopy, transforms_exports as transforms, translate, translate2D, translateDrawing, translatePlane, tryCatch, tryCatchAsync, twistExtrude, typeCastError, undoLast, unsupportedError, unwrap, unwrapErr, unwrapOr, unwrapOrElse, updateNode, updateRoles, uvBounds, uvCoordinates, validSolid, validatePlanetary, validationError, variableFillet, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub, vertex, vertexFinder, vertexPosition, verticesOfEdge, walkAssembly, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withScope, withScopeResult, withScopeResultAsync, zip as zipResults };