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
@@ -1,20 +1,22 @@
1
- import { R as DisposalScope, X as getKernel, Y as _usingCtx, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-CN0GUoHr.js";
2
- import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, r as ioError, s as safeIndex, t as BrepErrorCode } from "./errors-DboJwVCf.js";
3
- import { M as cast, N as downcast, b as getEdges, c as normalAt, l as outerWire, n as faceCenter } from "./faceFns-NbWd8-iR.js";
4
- import { t as DEG2RAD } from "./constants-csSEYddm.js";
5
- import { r as toVec3 } from "./types--GD-LVc6.js";
6
- import { c as vecLength, d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-B-PCHgyB.js";
7
- import { a as planeToWorld, o as resolvePlane } from "./planeOps-sTrM3dcQ.js";
8
- import { m as offsetWire2D } from "./curveFns-DhqUp0EI.js";
9
- import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-tCIbjLs5.js";
10
- import { c as makeBSplineApproximation, d as makeEllipse, p as makeHelix, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeCircle } from "./surfaceBuilders-BVH2SL-z.js";
11
- import { S as Flatbush, _ as Blueprints, b as make2dOffset, c as roundedRectangleBlueprint, f as Sketch, g as CompoundBlueprint, h as organiseBlueprints, l as BaseSketcher2d, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D, u as BlueprintSketcher, v as chamferCurves, x as intersectCurves, y as filletCurves } from "./boolean2D-JvgjbESt.js";
12
- import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-S_Ht6gwX.js";
13
- import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-BCoJbaQN.js";
14
- import { o as makeSolid, t as makeCompound } from "./solidBuilders-BuS5ByIl.js";
15
- import { t as cornerFinder } from "./cornerFinder-Zg7pf2s0.js";
16
- import { i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-B9bVCt3C.js";
17
- import opentype from "opentype.js";
1
+ import { R as DisposalScope, X as getKernel, Y as _usingCtx, a as createEdge, o as createFace, u as createWire } from "./shapeTypes-C--1jaT1.js";
2
+ import { n as wasmIndex } from "./vec3-BRj3eI54.js";
3
+ import { R as unwrap, h as bug, s as safeIndex } from "./errors-0fYW_YnO.js";
4
+ import { o as getEdges } from "./topologyQueryFns-Dhf85ZBK.js";
5
+ import { t as DEG2RAD } from "./constants-Ci5CA3aZ.js";
6
+ import { r as toVec3 } from "./types-BIdk_GJY.js";
7
+ import { d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-DVROrqTV.js";
8
+ import { a as planeToWorld, o as resolvePlane } from "./planeOps-4i2qEraD.js";
9
+ import { _ as downcast, c as normalAt, l as outerWire, n as faceCenter, p as uvBounds, u as pointOnSurface } from "./faceFns-BFWz17_E.js";
10
+ import { c as curveStartPoint, m as offsetWire2D, r as curveIsClosed } from "./curveFns-B4tWuinR.js";
11
+ import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-C5IWcxs9.js";
12
+ import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-CinmHCbZ.js";
13
+ import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-xDsl9GXO.js";
14
+ import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-vV2ONZwD.js";
15
+ import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-Dv45Evnu.js";
16
+ import { t as cornerFinder } from "./cornerFinder-Dix2ghke.js";
17
+ import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-Z7P0c012.js";
18
+ import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-Do6xNsLt.js";
19
+ import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-CUzI5RKS.js";
18
20
  //#region src/2d/lib/stitching.ts
19
21
  /**
20
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -45,11 +47,11 @@ var stitchCurves = (curves, precision = 1e-7) => {
45
47
  let maxLoops = curves.length;
46
48
  while (true) {
47
49
  if (maxLoops-- < 0) bug("stitchCurves", "Infinite loop detected");
48
- const [x, y] = connectedCurves[connectedCurves.length - 1].lastPoint;
50
+ const [x, y] = wasmIndex(connectedCurves, connectedCurves.length - 1).lastPoint;
49
51
  const neighbors = startPoints.search(x - precision, y - precision, x + precision, y + precision);
50
52
  const indexDistance = (otherIndex) => Math.abs((currentIndex - otherIndex) % curves.length);
51
53
  const potentialNextCurves = neighbors.filter((neighborIndex) => !visited.has(neighborIndex)).map((neighborIndex) => [
52
- curves[neighborIndex],
54
+ wasmIndex(curves, neighborIndex),
53
55
  neighborIndex,
54
56
  indexDistance(neighborIndex)
55
57
  ]).sort(([, , a], [, , b]) => a - b);
@@ -57,7 +59,7 @@ var stitchCurves = (curves, precision = 1e-7) => {
57
59
  stitchedCurves.push(connectedCurves);
58
60
  break;
59
61
  }
60
- const [nextCurve, nextCurveIndex] = potentialNextCurves[0];
62
+ const [nextCurve, nextCurveIndex] = wasmIndex(potentialNextCurves, 0);
61
63
  connectedCurves.push(nextCurve);
62
64
  visited.add(nextCurveIndex);
63
65
  currentIndex = nextCurveIndex;
@@ -66,172 +68,6 @@ var stitchCurves = (curves, precision = 1e-7) => {
66
68
  return stitchedCurves;
67
69
  };
68
70
  //#endregion
69
- //#region src/sketching/compoundSketch.ts
70
- var guessFaceFromWires = (wires) => {
71
- const wireShapes = wires.map((w) => w.wrapped);
72
- const newFace = unwrap(cast(getKernel().fillSurface(wireShapes)));
73
- if (!isFace(newFace)) bug("guessFaceFromWires", "Failed to create a face");
74
- return newFace;
75
- };
76
- var fixWire = (wire, baseFace) => {
77
- return createWire(getKernel().fixWireOnFace(wire.wrapped, baseFace.wrapped, 1e-9));
78
- };
79
- var faceFromWires = (wires) => {
80
- let baseFace;
81
- let holeWires;
82
- const faceResult = makeFace(firstOrThrow(wires));
83
- if (isOk(faceResult)) {
84
- baseFace = faceResult.value;
85
- holeWires = wires.slice(1);
86
- } else {
87
- baseFace = guessFaceFromWires(wires);
88
- holeWires = wires.slice(1).map((w) => fixWire(w, baseFace));
89
- }
90
- return addHolesInFace(baseFace, holeWires);
91
- };
92
- var solidFromShellGenerator = (sketches, shellGenerator) => {
93
- const shells = [];
94
- const startWires = [];
95
- const endWires = [];
96
- sketches.forEach((sketch) => {
97
- const [shell, startWire, endWire] = unwrap(shellGenerator(sketch));
98
- shells.push(shell);
99
- startWires.push(startWire);
100
- endWires.push(endWire);
101
- });
102
- const startFace = faceFromWires(startWires);
103
- const endFace = faceFromWires(endWires);
104
- return unwrap(makeSolid([
105
- startFace,
106
- ...shells,
107
- endFace
108
- ]));
109
- };
110
- /**
111
- * Represent a face with holes as a group of sketches (one outer + zero or more inner).
112
- *
113
- * All contained sketches must share the same base surface. The first sketch is
114
- * treated as the outer boundary; subsequent sketches define holes.
115
- *
116
- * Typically produced from a {@link CompoundBlueprint} via `sketchOnPlane`.
117
- *
118
- * @see {@link Sketch} for single-wire profiles without holes.
119
- * @category Sketching
120
- */
121
- var CompoundSketch = class {
122
- sketches;
123
- constructor(sketches) {
124
- if (sketches.length === 0) bug("CompoundSketch", "Cannot create CompoundSketch with an empty array of sketches");
125
- this.sketches = sketches;
126
- }
127
- /** Release all kernel resources held by every sub-sketch. */
128
- delete() {
129
- this.sketches.forEach((sketch) => {
130
- sketch.delete();
131
- });
132
- }
133
- /** Get the outer boundary sketch (the first in the array). */
134
- get outerSketch() {
135
- return firstOrThrow(this.sketches);
136
- }
137
- /** Get the hole sketches (all but the first). */
138
- get innerSketches() {
139
- return this.sketches.slice(1);
140
- }
141
- /** Return all wires (outer + holes) combined into a compound shape. */
142
- get wires() {
143
- return makeCompound(this.sketches.map((s) => s.wire));
144
- }
145
- /** Build a face from the outer boundary with inner wires subtracted as holes. */
146
- face() {
147
- return addHolesInFace(this.outerSketch.face(), this.innerSketches.map((s) => s.wire));
148
- }
149
- /**
150
- * Extrude the compound face (with holes) along the default or given direction.
151
- *
152
- * Supports twist and profile extrusions. For twist/profile modes each
153
- * sub-sketch is extruded as a shell, then capped into a solid.
154
- */
155
- extrude(extrusionDistance, { extrusionDirection, extrusionProfile, twistAngle, origin } = {}) {
156
- const extrusionVec = vecScale(vecNormalize(extrusionDirection ? toVec3(extrusionDirection) : this.outerSketch.defaultDirection), extrusionDistance);
157
- let result;
158
- if (extrusionProfile && !twistAngle) result = solidFromShellGenerator(this.sketches, (sketch) => complexExtrude(sketch.wire, origin ? toVec3(origin) : this.outerSketch.defaultOrigin, extrusionVec, extrusionProfile, true));
159
- else if (twistAngle) result = solidFromShellGenerator(this.sketches, (sketch) => twistExtrude(sketch.wire, twistAngle, origin ? toVec3(origin) : this.outerSketch.defaultOrigin, extrusionVec, extrusionProfile, true));
160
- else result = unwrap(extrude(this.face(), extrusionVec));
161
- return result;
162
- }
163
- /**
164
- * Revolves the drawing on an axis (defined by its direction and an origin
165
- * (defaults to the sketch origin)
166
- */
167
- revolve(revolutionAxis, { origin } = {}) {
168
- const center = origin ? toVec3(origin) : this.outerSketch.defaultOrigin;
169
- const dir = revolutionAxis ? toVec3(revolutionAxis) : [
170
- 0,
171
- 0,
172
- 1
173
- ];
174
- return unwrap(revolve(this.face(), center, dir));
175
- }
176
- /** Loft between this compound sketch and another with matching sub-sketch counts. */
177
- loftWith(otherCompound, loftConfig) {
178
- if (this.sketches.length !== otherCompound.sketches.length) bug("CompoundSketch.loftWith", "You need to loft with another compound with the same number of sketches");
179
- const shells = this.sketches.map((base, cIndex) => {
180
- const outer = getAtOrThrow(otherCompound.sketches, cIndex);
181
- const loftOpts = {};
182
- if (loftConfig.ruled !== void 0) loftOpts.ruled = loftConfig.ruled;
183
- return base.clone().loftWith(outer.clone(), loftOpts, true);
184
- });
185
- const baseFace = createFace(unwrap(downcast(this.face().wrapped)));
186
- shells.push(baseFace, otherCompound.face());
187
- return unwrap(makeSolid(shells));
188
- }
189
- };
190
- //#endregion
191
- //#region src/sketching/sketches.ts
192
- /**
193
- * Batch wrapper around multiple {@link Sketch} or {@link CompoundSketch} instances.
194
- *
195
- * Applies the same operation (extrude, revolve, etc.) to every contained sketch
196
- * and returns the results combined into a single compound shape.
197
- *
198
- * @category Sketching
199
- */
200
- var Sketches = class {
201
- sketches;
202
- constructor(sketches) {
203
- this.sketches = sketches;
204
- }
205
- /** Return all wires combined into a single compound shape. */
206
- wires() {
207
- return makeCompound(this.sketches.map((s) => s instanceof Sketch ? s.wire : s.wires));
208
- }
209
- /** Return all sketch faces combined into a single compound shape. */
210
- faces() {
211
- return makeCompound(this.sketches.map((s) => s.face()));
212
- }
213
- /** Extrudes the sketch to a certain distance (along the default direction
214
- * and origin of the sketch).
215
- *
216
- * You can define another extrusion direction or origin,
217
- *
218
- * It is also possible to twist extrude with an angle (in degrees), or to
219
- * give a profile to the extrusion (the endFactor will scale the face, and
220
- * the profile will define how the scale is applied (either linearly or with
221
- * a s-shape).
222
- */
223
- extrude(extrusionDistance, extrusionConfig = {}) {
224
- return makeCompound(this.sketches.map((s) => s.extrude(extrusionDistance, extrusionConfig)));
225
- }
226
- /**
227
- * Revolves the drawing on an axis (defined by its direction and an origin
228
- * (defaults to the sketch origin)
229
- */
230
- revolve(revolutionAxis, config) {
231
- return makeCompound(this.sketches.map((s) => s.revolve(revolutionAxis, config)));
232
- }
233
- };
234
- //#endregion
235
71
  //#region src/sketching/sketcher.ts
236
72
  /**
237
73
  * Build 2D wire profiles on a 3D plane using a builder-pen API.
@@ -276,14 +112,14 @@ var Sketcher = class extends BaseSketcher2d {
276
112
  }
277
113
  buildWire() {
278
114
  try {
279
- var _usingCtx$3 = _usingCtx();
115
+ var _usingCtx$4 = _usingCtx();
280
116
  if (!this.pendingCurves.length) bug("Sketcher.buildWire", "No lines to convert into a wire");
281
- const scope = _usingCtx$3.u(new DisposalScope());
117
+ const scope = _usingCtx$4.u(new DisposalScope());
282
118
  return unwrap(assembleWire(curvesAsEdgesOnPlane(this.pendingCurves, this.plane).map((e) => scope.register(e))));
283
119
  } catch (_) {
284
- _usingCtx$3.e = _;
120
+ _usingCtx$4.e = _;
285
121
  } finally {
286
- _usingCtx$3.d();
122
+ _usingCtx$4.d();
287
123
  }
288
124
  }
289
125
  /** Finish drawing and return the open-wire Sketch (does not close the path). */
@@ -329,6 +165,122 @@ var Sketcher = class extends BaseSketcher2d {
329
165
  }
330
166
  };
331
167
  //#endregion
168
+ //#region src/sketching/faceSketcher.ts
169
+ /**
170
+ * The FaceSketcher allows you to sketch on a face that is not planar, for
171
+ * instance the sides of a cylinder.
172
+ *
173
+ * The coordinates passed to the methods corresponds to normalised distances on
174
+ * this surface, between 0 and 1 in both direction.
175
+ *
176
+ * Note that if you are drawing on a closed surface (typically a revolution
177
+ * surface or a cylinder), the first parameters represents the angle and can be
178
+ * smaller than 0 or bigger than 1.
179
+ *
180
+ * @category Sketching
181
+ */
182
+ var FaceSketcher = class extends BaseSketcher2d {
183
+ face;
184
+ _bounds;
185
+ constructor(face, origin = [0, 0]) {
186
+ super(origin);
187
+ this.face = createFace(unwrap(downcast(face.wrapped)));
188
+ this._bounds = uvBounds(face);
189
+ }
190
+ _convertToUV([x, y]) {
191
+ const { uMin, uMax, vMin, vMax } = this._bounds;
192
+ return [uMin + x * (uMax - uMin), vMin + y * (vMax - vMin)];
193
+ }
194
+ _convertFromUV([u, v]) {
195
+ const { uMin, uMax, vMin, vMax } = this._bounds;
196
+ return [(u - uMin) / (uMax - uMin), (v - vMin) / (vMax - vMin)];
197
+ }
198
+ _adaptSurface() {
199
+ return getKernel().extractSurfaceFromFace(this.face.wrapped);
200
+ }
201
+ /**
202
+ * @ignore
203
+ */
204
+ buildWire() {
205
+ const kernel = getKernel();
206
+ const geomSurf = this._adaptSurface();
207
+ const wire = unwrap(assembleWire(this.pendingCurves.map((curve) => {
208
+ return createEdge(kernel.buildEdgeOnSurface(curve.wrapped, geomSurf));
209
+ })));
210
+ kernel.buildCurves3d(wire.wrapped);
211
+ return wire;
212
+ }
213
+ /** Finish drawing and return the resulting {@link Sketch} (does not close the path). */
214
+ done() {
215
+ try {
216
+ var _usingCtx$3 = _usingCtx();
217
+ const scope = _usingCtx$3.u(new DisposalScope());
218
+ const wire = this.buildWire();
219
+ const sketch = new Sketch(wire);
220
+ if (curveIsClosed(wire)) {
221
+ const face = scope.register(sketch.clone().face());
222
+ const origin = pointOnSurface(face, .5, .5);
223
+ const direction = vecScale(normalAt(face), -1);
224
+ sketch.defaultOrigin = [
225
+ origin[0],
226
+ origin[1],
227
+ origin[2]
228
+ ];
229
+ sketch.defaultDirection = [
230
+ direction[0],
231
+ direction[1],
232
+ direction[2]
233
+ ];
234
+ } else {
235
+ const startPoint = curveStartPoint(wire);
236
+ const normal = normalAt(this.face, [
237
+ startPoint[0],
238
+ startPoint[1],
239
+ startPoint[2]
240
+ ]);
241
+ sketch.defaultOrigin = [
242
+ startPoint[0],
243
+ startPoint[1],
244
+ startPoint[2]
245
+ ];
246
+ sketch.defaultDirection = [
247
+ normal[0],
248
+ normal[1],
249
+ normal[2]
250
+ ];
251
+ }
252
+ sketch.baseFace = this.face;
253
+ return sketch;
254
+ } catch (_) {
255
+ _usingCtx$3.e = _;
256
+ } finally {
257
+ _usingCtx$3.d();
258
+ }
259
+ }
260
+ /** Close the path with a straight line to the start point and return the Sketch. */
261
+ close() {
262
+ this._closeSketch();
263
+ return this.done();
264
+ }
265
+ /** Close the path by mirroring all curves about the line from first to last point. */
266
+ closeWithMirror() {
267
+ this._closeWithMirror();
268
+ return this.close();
269
+ }
270
+ /**
271
+ * Close the path and apply a custom corner treatment between the last and first segments.
272
+ *
273
+ * @param radius - Fillet/chamfer radius, or a custom corner function.
274
+ * @param mode - Corner treatment type.
275
+ * @returns The closed {@link Sketch}.
276
+ */
277
+ closeWithCustomCorner(radius, mode = "fillet") {
278
+ this._closeSketch();
279
+ this._customCornerLastWithFirst(radius, mode);
280
+ return this.done();
281
+ }
282
+ };
283
+ //#endregion
332
284
  //#region src/sketching/cannedSketches.ts
333
285
  /**
334
286
  * Create a circular Sketch on a given plane.
@@ -778,7 +730,7 @@ function offsetBlueprint(blueprint, offset, offsetConfig = {}) {
778
730
  const prunedCurves = splitCurves.filter((curve) => {
779
731
  const [[xMin, yMin], [xMax, yMax]] = curve.boundingBox.bounds;
780
732
  return !originalIndex.search(xMin - absOffset, yMin - absOffset, xMax + absOffset, yMax + absOffset).some((idx) => {
781
- return blueprint.curves[idx].distanceFrom(curve) < absOffset - PRECISION_OFFSET;
733
+ return wasmIndex(blueprint.curves, idx).distanceFrom(curve) < absOffset - PRECISION_OFFSET;
782
734
  });
783
735
  });
784
736
  if (!prunedCurves.length) return null;
@@ -903,174 +855,7 @@ function chamfer2D(shape, radius, finder) {
903
855
  return modifyCorner2D(chamferCurves, shape, radius, finder);
904
856
  }
905
857
  //#endregion
906
- //#region src/sketching/sketchUtils.ts
907
- /** Wrap SketchData into a Sketch instance. */
908
- function wrapSketchData(data) {
909
- const opts = {};
910
- if (data.defaultOrigin) opts.defaultOrigin = data.defaultOrigin;
911
- if (data.defaultDirection) opts.defaultDirection = data.defaultDirection;
912
- const sketch = new Sketch(data.wire, opts);
913
- if (data.baseFace) sketch.baseFace = data.baseFace;
914
- return sketch;
915
- }
916
- /** Wrap an array of SketchData into a CompoundSketch. */
917
- function wrapSketchDataArray(dataArr) {
918
- return new CompoundSketch(dataArr.map(wrapSketchData));
919
- }
920
- //#endregion
921
- //#region src/text/textBlueprints.ts
922
- var FONT_REGISTER = {};
923
- /**
924
- * Load and register an OpenType/TrueType font for use with text drawing functions.
925
- *
926
- * The font is fetched (if a URL string) or parsed (if an ArrayBuffer) and
927
- * stored in an internal registry keyed by `fontFamily`. The first font loaded
928
- * is also registered as `'default'`.
929
- *
930
- * @param fontPath - URL string or raw ArrayBuffer of the font file.
931
- * @param fontFamily - Registry key for later retrieval (defaults to `'default'`).
932
- * @param force - If true, overwrite a previously loaded font with the same key.
933
- * @returns The parsed opentype.js Font object.
934
- */
935
- async function loadFont(fontPath, fontFamily = "default", force = false) {
936
- if (!force && FONT_REGISTER[fontFamily]) return ok(FONT_REGISTER[fontFamily]);
937
- let fontData;
938
- if (typeof fontPath === "string") {
939
- let response;
940
- try {
941
- response = await fetch(fontPath);
942
- } catch (e) {
943
- return err(ioError(BrepErrorCode.FONT_FETCH_FAILED, `Failed to fetch font from ${fontPath}: ${e instanceof Error ? e.message : String(e)}`, e));
944
- }
945
- if (!response.ok) return err(ioError(BrepErrorCode.FONT_FETCH_FAILED, `Failed to fetch font from ${fontPath}: HTTP ${response.status} ${response.statusText}`));
946
- fontData = await response.arrayBuffer();
947
- } else fontData = fontPath;
948
- let font;
949
- try {
950
- font = opentype.parse(fontData);
951
- } catch (e) {
952
- return err(ioError(BrepErrorCode.FONT_PARSE_FAILED, `Failed to parse font data: ${e instanceof Error ? e.message : String(e)}`, e));
953
- }
954
- const typedFont = font;
955
- FONT_REGISTER[fontFamily] = typedFont;
956
- if (!FONT_REGISTER["default"]) FONT_REGISTER["default"] = typedFont;
957
- return ok(typedFont);
958
- }
959
- /**
960
- * Retrieve a previously loaded font by family name.
961
- *
962
- * @param fontFamily - Registry key (defaults to `'default'`).
963
- * @returns The opentype.js Font object, or `undefined` if not loaded.
964
- */
965
- var getFont = (fontFamily = "default") => {
966
- return FONT_REGISTER[fontFamily];
967
- };
968
- var sketchFontCommands = function* (commands) {
969
- let sk = null;
970
- let lastPoint = null;
971
- for (const command of commands) {
972
- if (command.type === "Z") {
973
- if (sk) yield sk.close();
974
- sk = null;
975
- continue;
976
- }
977
- const p = [-command.x, command.y];
978
- if (command.type === "M") {
979
- if (sk) yield sk.done();
980
- sk = new BlueprintSketcher();
981
- sk.movePointerTo(p);
982
- lastPoint = p;
983
- continue;
984
- }
985
- if (lastPoint && Math.abs(p[0] - lastPoint[0]) < 1e-9 && Math.abs(p[1] - lastPoint[1]) < 1e-9) continue;
986
- if (command.type === "L") sk?.lineTo(p);
987
- if (command.type === "C") sk?.cubicBezierCurveTo(p, [-command.x1, command.y1], [-command.x2, command.y2]);
988
- if (command.type === "Q") sk?.quadraticBezierCurveTo(p, [-command.x1, command.y1]);
989
- lastPoint = p;
990
- }
991
- };
992
- /**
993
- * Convert a text string into 2D Blueprints using a loaded font.
994
- *
995
- * Each glyph outline is traced as a series of line/bezier curves, then
996
- * organised into a {@link Blueprints} collection (outer contours + holes).
997
- *
998
- * @param text - The string to render.
999
- * @returns A Blueprints instance representing the text outlines.
1000
- *
1001
- * @remarks Requires a font to be loaded via {@link loadFont} before use.
1002
- */
1003
- function textBlueprints(text, { startX = 0, startY = 0, fontSize = 16, fontFamily = "default" } = {}) {
1004
- let font = getFont(fontFamily);
1005
- if (!font) font = getFont();
1006
- if (!font) bug("text", "No fonts loaded. Call loadFont() before using text functions.");
1007
- const writtenText = font.getPath(text, -startX, -startY, fontSize);
1008
- return organiseBlueprints(Array.from(sketchFontCommands(writtenText.commands))).mirror([0, 0]);
1009
- }
1010
- /**
1011
- * Render text as 3D sketch outlines on a plane.
1012
- *
1013
- * Combines {@link textBlueprints} with `sketchOnPlane` to produce a
1014
- * {@link Sketches} collection that can be extruded, revolved, etc.
1015
- *
1016
- * @param text - The string to render.
1017
- * @param textConfig - Font size, family, and start position.
1018
- * @param planeConfig - Plane name / origin to sketch on (defaults to XY at origin).
1019
- * @returns A {@link Sketches} collection of the text outlines.
1020
- *
1021
- * @example
1022
- * ```ts
1023
- * await loadFont("/fonts/Roboto.ttf");
1024
- * const textSketches = sketchText("Hello", { fontSize: 24 });
1025
- * const solid = textSketches.extrude(2);
1026
- * ```
1027
- */
1028
- function sketchText(text, textConfig, planeConfig = {}) {
1029
- const textBp = textBlueprints(text, textConfig);
1030
- return new Sketches((typeof planeConfig.plane === "string" || planeConfig.plane === void 0 ? textBp.sketchOnPlane(planeConfig.plane, planeConfig.origin) : textBp.sketchOnPlane(planeConfig.plane)).map((item) => Array.isArray(item) ? new CompoundSketch(item.map(wrapSketchData)) : wrapSketchData(item)));
1031
- }
1032
- /**
1033
- * Measure the dimensions of a text string without generating geometry.
1034
- *
1035
- * Requires a font to be loaded via {@link loadFont} first.
1036
- */
1037
- function textMetrics(text, options) {
1038
- const fontSize = options?.fontSize ?? 1;
1039
- const font = getFont(options?.fontFamily);
1040
- if (!font) return err(validationError(BrepErrorCode.NO_FONT_LOADED, "No font loaded. Call loadFont() first.", void 0, void 0, "Load a font with loadFont() before calling textMetrics()"));
1041
- const width = font.getAdvanceWidth(text, fontSize);
1042
- const scale = fontSize / font.unitsPerEm;
1043
- const ascender = font.ascender * scale;
1044
- const descender = font.descender * scale;
1045
- return ok({
1046
- width,
1047
- height: ascender - descender,
1048
- ascender,
1049
- descender
1050
- });
1051
- }
1052
- /**
1053
- * Retrieve font-level metrics without referencing specific text.
1054
- *
1055
- * Requires a font to be loaded via {@link loadFont} first.
1056
- */
1057
- function fontMetrics(options) {
1058
- const fontSize = options?.fontSize ?? 1;
1059
- const font = getFont(options?.fontFamily);
1060
- if (!font) return err(validationError(BrepErrorCode.NO_FONT_LOADED, "No font loaded. Call loadFont() first.", void 0, void 0, "Load a font with loadFont() before calling fontMetrics()"));
1061
- const scale = fontSize / font.unitsPerEm;
1062
- const ascender = font.ascender * scale;
1063
- const descender = font.descender * scale;
1064
- const lineGap = (font.tables?.os2?.sTypoLineGap ?? 0) * scale;
1065
- return ok({
1066
- ascender,
1067
- descender,
1068
- unitsPerEm: font.unitsPerEm,
1069
- lineHeight: ascender - descender + lineGap
1070
- });
1071
- }
1072
- //#endregion
1073
- //#region src/sketching/draw.ts
858
+ //#region src/sketching/drawing.ts
1074
859
  function wrapBlueprintResult(shape, result) {
1075
860
  if (shape instanceof Blueprint) return wrapSketchData(result);
1076
861
  else if (shape instanceof CompoundBlueprint) return wrapSketchDataArray(result);
@@ -1253,6 +1038,21 @@ var Drawing = class Drawing {
1253
1038
  }
1254
1039
  };
1255
1040
  /**
1041
+ * Deserializes a drawing from a string. String is expected to be in the format
1042
+ * generated by `Drawing.serialize()`.
1043
+ */
1044
+ function deserializeDrawing(data) {
1045
+ function deserializeHelper(json) {
1046
+ if (json["type"] === "CompoundBlueprint") return new CompoundBlueprint(json["blueprints"].map(deserializeHelper));
1047
+ else if (json["type"] === "Blueprints") return new Blueprints(json["blueprints"].map(deserializeHelper));
1048
+ else if (json["type"] === "Blueprint") return new Blueprint(json["curves"].map((c) => deserializeCurve2D(c)));
1049
+ else bug("Drawing.deserialize", "Unknown shape type for deserialization");
1050
+ }
1051
+ return new Drawing(deserializeHelper(JSON.parse(data)));
1052
+ }
1053
+ //#endregion
1054
+ //#region src/sketching/drawingPen.ts
1055
+ /**
1256
1056
  * DrawingPen is a helper class to draw in 2D. It is used to create drawings
1257
1057
  * by exposing a builder interface. It is not a drawing itself, but it can be
1258
1058
  * used to create a drawing.
@@ -1294,19 +1094,6 @@ var DrawingPen = class extends BaseSketcher2d {
1294
1094
  }
1295
1095
  };
1296
1096
  /**
1297
- * Deserializes a drawing from a string. String is expected to be in the format
1298
- * generated by `Drawing.serialize()`.
1299
- */
1300
- function deserializeDrawing(data) {
1301
- function deserializeHelper(json) {
1302
- if (json["type"] === "CompoundBlueprint") return new CompoundBlueprint(json["blueprints"].map(deserializeHelper));
1303
- else if (json["type"] === "Blueprints") return new Blueprints(json["blueprints"].map(deserializeHelper));
1304
- else if (json["type"] === "Blueprint") return new Blueprint(json["curves"].map((c) => deserializeCurve2D(c)));
1305
- else bug("Drawing.deserialize", "Unknown shape type for deserialization");
1306
- }
1307
- return new Drawing(deserializeHelper(JSON.parse(data)));
1308
- }
1309
- /**
1310
1097
  * Creates a drawing pen to programatically draw in 2D.
1311
1098
  *
1312
1099
  * @category Drawing
@@ -1316,6 +1103,8 @@ function draw(initialPoint) {
1316
1103
  if (initialPoint) pen.movePointerTo(initialPoint);
1317
1104
  return pen;
1318
1105
  }
1106
+ //#endregion
1107
+ //#region src/sketching/drawingFactories.ts
1319
1108
  /**
1320
1109
  * Creates the `Drawing` of a rectangle with (optional) rounded corners.
1321
1110
  *
@@ -1425,275 +1214,6 @@ var drawParametricFunction = (func, { pointsCount = 400, start = 0, stop = 1, cl
1425
1214
  }), approximationConfig, { closeShape });
1426
1215
  };
1427
1216
  //#endregion
1428
- //#region src/projection/projectionPlanes.ts
1429
- /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
1430
- var PROJECTION_PLANES = {
1431
- XY: {
1432
- dir: [
1433
- 0,
1434
- 0,
1435
- 1
1436
- ],
1437
- xAxis: [
1438
- 1,
1439
- 0,
1440
- 0
1441
- ]
1442
- },
1443
- XZ: {
1444
- dir: [
1445
- 0,
1446
- -1,
1447
- 0
1448
- ],
1449
- xAxis: [
1450
- 1,
1451
- 0,
1452
- 0
1453
- ]
1454
- },
1455
- YZ: {
1456
- dir: [
1457
- 1,
1458
- 0,
1459
- 0
1460
- ],
1461
- xAxis: [
1462
- 0,
1463
- 1,
1464
- 0
1465
- ]
1466
- },
1467
- YX: {
1468
- dir: [
1469
- 0,
1470
- 0,
1471
- -1
1472
- ],
1473
- xAxis: [
1474
- 0,
1475
- 1,
1476
- 0
1477
- ]
1478
- },
1479
- ZX: {
1480
- dir: [
1481
- 0,
1482
- 1,
1483
- 0
1484
- ],
1485
- xAxis: [
1486
- 0,
1487
- 0,
1488
- 1
1489
- ]
1490
- },
1491
- ZY: {
1492
- dir: [
1493
- -1,
1494
- 0,
1495
- 0
1496
- ],
1497
- xAxis: [
1498
- 0,
1499
- 0,
1500
- 1
1501
- ]
1502
- },
1503
- front: {
1504
- dir: [
1505
- 0,
1506
- -1,
1507
- 0
1508
- ],
1509
- xAxis: [
1510
- 1,
1511
- 0,
1512
- 0
1513
- ]
1514
- },
1515
- back: {
1516
- dir: [
1517
- 0,
1518
- 1,
1519
- 0
1520
- ],
1521
- xAxis: [
1522
- -1,
1523
- 0,
1524
- 0
1525
- ]
1526
- },
1527
- right: {
1528
- dir: [
1529
- -1,
1530
- 0,
1531
- 0
1532
- ],
1533
- xAxis: [
1534
- 0,
1535
- -1,
1536
- 0
1537
- ]
1538
- },
1539
- left: {
1540
- dir: [
1541
- 1,
1542
- 0,
1543
- 0
1544
- ],
1545
- xAxis: [
1546
- 0,
1547
- 1,
1548
- 0
1549
- ]
1550
- },
1551
- bottom: {
1552
- dir: [
1553
- 0,
1554
- 0,
1555
- 1
1556
- ],
1557
- xAxis: [
1558
- 1,
1559
- 0,
1560
- 0
1561
- ]
1562
- },
1563
- top: {
1564
- dir: [
1565
- 0,
1566
- 0,
1567
- -1
1568
- ],
1569
- xAxis: [
1570
- 1,
1571
- 0,
1572
- 0
1573
- ]
1574
- }
1575
- };
1576
- /** Type guard — check if a value is a valid {@link ProjectionPlane} name. */
1577
- function isProjectionPlane(plane) {
1578
- return typeof plane === "string" && plane in PROJECTION_PLANES;
1579
- }
1580
- //#endregion
1581
- //#region src/projection/makeProjectedEdges.ts
1582
- var getEdgesFromOc = (shape) => {
1583
- if (shape.IsNull()) return [];
1584
- return getEdges(castShape(shape));
1585
- };
1586
- /**
1587
- * Project a 3D shape onto a 2D plane using hidden-line removal (HLR).
1588
- *
1589
- * @param camera - Camera defining the projection plane.
1590
- * @param withHiddenLines - If `true`, also returns hidden (occluded) edges.
1591
- * @returns Separate arrays of visible and hidden projected edges.
1592
- */
1593
- function makeProjectedEdges(shape, camera, withHiddenLines = true) {
1594
- const projected = getKernel().projectEdges(shape.wrapped, [...camera.position], [...camera.direction], [...camera.xAxis]);
1595
- return {
1596
- visible: [
1597
- ...getEdgesFromOc(projected.visible.sharp),
1598
- ...getEdgesFromOc(projected.visible.smooth),
1599
- ...getEdgesFromOc(projected.visible.outline)
1600
- ],
1601
- hidden: withHiddenLines ? [
1602
- ...getEdgesFromOc(projected.hidden.sharp),
1603
- ...getEdgesFromOc(projected.hidden.smooth),
1604
- ...getEdgesFromOc(projected.hidden.outline)
1605
- ] : []
1606
- };
1607
- }
1608
- //#endregion
1609
- //#region src/projection/cameraFns.ts
1610
- /**
1611
- * Create a camera from position, direction, and an optional X-axis.
1612
- *
1613
- * If `xAxis` is omitted, it is derived automatically from the direction.
1614
- *
1615
- * @param position - Camera position in world coordinates.
1616
- * @param direction - View direction (camera looks along this vector).
1617
- * @param xAxis - Optional horizontal axis; derived automatically if not provided.
1618
- * @returns `Result<Camera>` -- an error if direction is zero-length.
1619
- */
1620
- function createCamera(position = [
1621
- 0,
1622
- 0,
1623
- 0
1624
- ], direction = [
1625
- 0,
1626
- 0,
1627
- 1
1628
- ], xAxis) {
1629
- if (vecLength(direction) < 1e-12) return err(validationError("CAMERA_ZERO_DIRECTION", "Camera direction cannot be a zero-length vector"));
1630
- let resolvedXAxis;
1631
- if (xAxis) resolvedXAxis = vecNormalize(xAxis);
1632
- else {
1633
- let cross = vecCross([
1634
- 0,
1635
- 0,
1636
- 1
1637
- ], direction);
1638
- if (vecLength(cross) < 1e-12) cross = vecCross([
1639
- 0,
1640
- 1,
1641
- 0
1642
- ], direction);
1643
- if (vecLength(cross) < 1e-12) cross = vecCross([
1644
- 1,
1645
- 0,
1646
- 0
1647
- ], direction);
1648
- resolvedXAxis = vecNormalize(cross);
1649
- }
1650
- const yAxis = vecNormalize(vecCross(direction, resolvedXAxis));
1651
- return ok({
1652
- position,
1653
- direction: vecNormalize(direction),
1654
- xAxis: resolvedXAxis,
1655
- yAxis
1656
- });
1657
- }
1658
- /**
1659
- * Create a new camera oriented to look at a target point from the current position.
1660
- *
1661
- * @param camera - Existing camera whose position is preserved.
1662
- * @param target - World-space point to look at.
1663
- * @returns `Result<Camera>` with updated direction and derived axes.
1664
- */
1665
- function cameraLookAt(camera, target) {
1666
- const direction = vecNormalize(vecSub(camera.position, target));
1667
- return createCamera(camera.position, direction);
1668
- }
1669
- /**
1670
- * Create a camera positioned at the origin, looking along a named projection plane.
1671
- *
1672
- * @param planeName - Named projection direction (e.g., `'front'`, `'top'`).
1673
- * @returns `Result<Camera>` configured for that standard view.
1674
- */
1675
- function cameraFromPlane(planeName) {
1676
- const config = PROJECTION_PLANES[planeName];
1677
- return createCamera([
1678
- 0,
1679
- 0,
1680
- 0
1681
- ], config.dir, config.xAxis);
1682
- }
1683
- /**
1684
- * Project the edges of a 3D shape onto a 2D plane defined by a {@link Camera}.
1685
- *
1686
- * @param shape - The 3D shape to project.
1687
- * @param camera - Camera defining the projection plane.
1688
- * @param withHiddenLines - If true, compute hidden-line edges as well.
1689
- * @returns Separate arrays of visible and hidden projected edges.
1690
- *
1691
- * @see {@link drawProjection} for the higher-level Drawing-based API.
1692
- */
1693
- function projectEdges(shape, camera, withHiddenLines = true) {
1694
- return makeProjectedEdges(shape, camera, withHiddenLines);
1695
- }
1696
- //#endregion
1697
1217
  //#region src/sketching/draw3d.ts
1698
1218
  var edgesToDrawing = (edges) => {
1699
1219
  try {
@@ -1749,133 +1269,6 @@ function drawFaceOutline(face) {
1749
1269
  }
1750
1270
  }
1751
1271
  //#endregion
1752
- //#region src/sketching/sketchFns.ts
1753
- /**
1754
- * Extrude a sketch to a given distance along its default (or overridden) direction.
1755
- *
1756
- * @param sketch - The sketch to extrude. Consumed (deleted) by this call.
1757
- * @param height - Extrusion distance.
1758
- * @param config - Optional direction, profile, twist angle, or origin overrides.
1759
- * @returns The extruded 3D solid.
1760
- *
1761
- * @see {@link Sketch.extrude} for the OOP equivalent.
1762
- */
1763
- function sketchExtrude(sketch, height, config) {
1764
- return sketch.extrude(height, config);
1765
- }
1766
- /**
1767
- * Revolve a sketch around an axis to produce a solid of revolution.
1768
- *
1769
- * @param sketch - The sketch to revolve. Consumed (deleted) by this call.
1770
- * @param revolutionAxis - Axis direction (defaults to sketch default direction).
1771
- * @param options - Optional origin override.
1772
- * @returns The revolved 3D solid.
1773
- *
1774
- * @see {@link Sketch.revolve} for the OOP equivalent.
1775
- */
1776
- function sketchRevolve(sketch, revolutionAxis, options) {
1777
- return sketch.revolve(revolutionAxis, options);
1778
- }
1779
- /**
1780
- * Loft between this sketch and one or more other sketches.
1781
- *
1782
- * @param sketch - The starting sketch. Consumed by this call.
1783
- * @param otherSketches - Target sketch(es) to loft toward.
1784
- * @param loftConfig - Loft options (ruled surface, start/end points, etc.).
1785
- * @param returnShell - If true, return a shell instead of a solid.
1786
- * @returns The lofted 3D shape.
1787
- *
1788
- * @see {@link Sketch.loftWith} for the OOP equivalent.
1789
- */
1790
- function sketchLoft(sketch, otherSketches, loftConfig, returnShell) {
1791
- return sketch.loftWith(otherSketches, loftConfig, returnShell);
1792
- }
1793
- /**
1794
- * Sweep a profile sketch along this sketch's wire path.
1795
- *
1796
- * @param sketch - The path sketch. Consumed by this call.
1797
- * @param sketchOnPlane - Function that builds the profile sketch at the sweep start.
1798
- * @param sweepConfig - Sweep options (auxiliary spine, orthogonality, etc.).
1799
- * @returns The swept 3D shape.
1800
- *
1801
- * @see {@link Sketch.sweepSketch} for the OOP equivalent.
1802
- */
1803
- function sketchSweep(sketch, sketchOnPlane, sweepConfig) {
1804
- return sketch.sweepSketch(sketchOnPlane, sweepConfig);
1805
- }
1806
- /**
1807
- * Build a face from a sketch's closed wire.
1808
- *
1809
- * @param sketch - A sketch with a closed wire.
1810
- * @returns The planar face.
1811
- *
1812
- * @see {@link Sketch.face} for the OOP equivalent.
1813
- */
1814
- function sketchFace(sketch) {
1815
- return sketch.face();
1816
- }
1817
- /**
1818
- * Get a clone of the wire from a sketch.
1819
- *
1820
- * @param sketch - The source sketch.
1821
- * @returns A cloned wire.
1822
- *
1823
- * @see {@link Sketch.wires} for the OOP equivalent.
1824
- */
1825
- function sketchWires(sketch) {
1826
- return sketch.wires();
1827
- }
1828
- /**
1829
- * Extrude a compound sketch (outer + holes) to a given distance.
1830
- *
1831
- * @param sketch - The compound sketch to extrude.
1832
- * @param height - Extrusion distance.
1833
- * @param config - Optional direction, profile, twist angle, or origin overrides.
1834
- * @returns The extruded 3D solid.
1835
- *
1836
- * @see {@link CompoundSketch.extrude} for the OOP equivalent.
1837
- */
1838
- function compoundSketchExtrude(sketch, height, config) {
1839
- return sketch.extrude(height, config);
1840
- }
1841
- /**
1842
- * Revolve a compound sketch around an axis to produce a solid of revolution.
1843
- *
1844
- * @param sketch - The compound sketch to revolve.
1845
- * @param revolutionAxis - Axis direction.
1846
- * @param options - Optional origin override.
1847
- * @returns The revolved 3D solid.
1848
- *
1849
- * @see {@link CompoundSketch.revolve} for the OOP equivalent.
1850
- */
1851
- function compoundSketchRevolve(sketch, revolutionAxis, options) {
1852
- return sketch.revolve(revolutionAxis, options);
1853
- }
1854
- /**
1855
- * Build a face from a compound sketch (outer boundary with holes).
1856
- *
1857
- * @param sketch - The compound sketch.
1858
- * @returns A face with inner wires subtracted as holes.
1859
- *
1860
- * @see {@link CompoundSketch.face} for the OOP equivalent.
1861
- */
1862
- function compoundSketchFace(sketch) {
1863
- return sketch.face();
1864
- }
1865
- /**
1866
- * Loft between two compound sketches that have the same number of sub-sketches.
1867
- *
1868
- * @param sketch - Starting compound sketch.
1869
- * @param other - Target compound sketch.
1870
- * @param loftConfig - Loft options (ruled surface, etc.).
1871
- * @returns The lofted 3D solid.
1872
- *
1873
- * @see {@link CompoundSketch.loftWith} for the OOP equivalent.
1874
- */
1875
- function compoundSketchLoft(sketch, other, loftConfig) {
1876
- return sketch.loftWith(other, loftConfig);
1877
- }
1878
- //#endregion
1879
1272
  //#region src/sketching/drawFns.ts
1880
1273
  /**
1881
1274
  * Sketch a drawing onto a 3D plane, producing a Sketch or Sketches.
@@ -1889,6 +1282,7 @@ function compoundSketchLoft(sketch, other, loftConfig) {
1889
1282
  */
1890
1283
  function drawingToSketchOnPlane(drawing, inputPlane, origin) {
1891
1284
  if (origin !== void 0) return drawing.sketchOnPlane(inputPlane, origin);
1285
+ if (typeof inputPlane === "object") return drawing.sketchOnPlane(inputPlane);
1892
1286
  return drawing.sketchOnPlane(inputPlane);
1893
1287
  }
1894
1288
  /**
@@ -1997,4 +1391,4 @@ function mirrorDrawing(drawing, centerOrDirection, origin, mode) {
1997
1391
  return drawing.mirror(centerOrDirection, origin, mode);
1998
1392
  }
1999
1393
  //#endregion
2000
- export { sketchFaceOffset as $, DrawingPen as A, drawSingleCircle as B, cameraFromPlane as C, makeProjectedEdges as D, projectEdges as E, drawParametricFunction as F, loadFont as G, drawText as H, drawPointsInterpolation as I, textMetrics as J, sketchText as K, drawPolysides as L, draw as M, drawCircle as N, isProjectionPlane as O, drawEllipse as P, sketchEllipse as Q, drawRectangle as R, drawProjection as S, createCamera as T, fontMetrics as U, drawSingleEllipse as V, getFont as W, polysideInnerRadius as X, makeBaseBox as Y, sketchCircle as Z, sketchLoft as _, drawingIntersect as a, Sketcher as at, sketchWires as b, rotateDrawing as c, compoundSketchExtrude as d, sketchHelix as et, compoundSketchFace as f, sketchFace as g, sketchExtrude as h, drawingFuse as i, sketchRoundedRectangle as it, deserializeDrawing as j, Drawing as k, scaleDrawing as l, compoundSketchRevolve as m, drawingCut as n, sketchPolysides as nt, drawingToSketchOnPlane as o, Sketches as ot, compoundSketchLoft as p, textBlueprints as q, drawingFillet as r, sketchRectangle as rt, mirrorDrawing as s, CompoundSketch as st, drawingChamfer as t, sketchParametricFunction as tt, translateDrawing as u, sketchRevolve as v, cameraLookAt as w, drawFaceOutline as x, sketchSweep as y, drawRoundedRectangle as z };
1394
+ export { sketchEllipse as A, DrawingPen as C, makeBaseBox as D, deserializeDrawing as E, sketchRectangle as F, sketchRoundedRectangle as I, FaceSketcher as L, sketchHelix as M, sketchParametricFunction as N, polysideInnerRadius as O, sketchPolysides as P, Sketcher as R, drawText as S, Drawing as T, drawPolysides as _, drawingIntersect as a, drawSingleCircle as b, rotateDrawing as c, drawFaceOutline as d, drawProjection as f, drawPointsInterpolation as g, drawParametricFunction as h, drawingFuse as i, sketchFaceOffset as j, sketchCircle as k, scaleDrawing as l, drawEllipse as m, drawingCut as n, drawingToSketchOnPlane as o, drawCircle as p, drawingFillet as r, mirrorDrawing as s, drawingChamfer as t, translateDrawing as u, drawRectangle as v, draw as w, drawSingleEllipse as x, drawRoundedRectangle as y };