brepjs 18.6.1 → 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 (652) 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 +19 -18
  40. package/dist/2d.d.ts +0 -1
  41. package/dist/2d.js +6 -5
  42. package/dist/{blueprint-C5LxqHCa.cjs → blueprint-B8ogGJiQ.cjs} +6 -6
  43. package/dist/{blueprint-CBairprN.js → blueprint-Dv45Evnu.js} +6 -6
  44. package/dist/{blueprintFns-CwbDuLxf.cjs → blueprintFns-BK3FYYjO.cjs} +3 -3
  45. package/dist/{blueprintFns-D8ST0Cf4.js → blueprintFns-a9C2g8_E.js} +2 -2
  46. package/dist/{boolean2D-DxZ3Kwlq.cjs → blueprintSketcher-Bei866Bt.cjs} +53 -1373
  47. package/dist/{boolean2D-A5u9tJYl.js → blueprintSketcher-xDsl9GXO.js} +59 -1307
  48. package/dist/boolean2D-DGuiEJHA.cjs +902 -0
  49. package/dist/boolean2D-Z7P0c012.js +855 -0
  50. package/dist/{booleanFns-DjZF4MJ5.js → booleanFns-CRa80qMX.js} +5 -5
  51. package/dist/{booleanFns-DWQMtFDN.cjs → booleanFns-qmgMQyDl.cjs} +8 -8
  52. package/dist/brepjs.cjs +742 -92
  53. package/dist/brepjs.js +662 -22
  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 +1 -1
  74. package/dist/core.d.ts +0 -1
  75. package/dist/core.js +1 -1
  76. package/dist/{cornerFinder-B2CpcVV9.cjs → cornerFinder-CC8EBRCR.cjs} +2 -2
  77. package/dist/{cornerFinder-DGvOt2ab.js → cornerFinder-Dix2ghke.js} +2 -2
  78. package/dist/{curveFns-DZYE3BGO.js → curveFns-B4tWuinR.js} +1 -1
  79. package/dist/{curveFns-B8KJKr8-.cjs → curveFns-CD20-4fM.cjs} +1 -1
  80. package/dist/{drawFns-Bl865kUL.js → drawFns-BsarLfUN.js} +155 -762
  81. package/dist/{drawFns-h8gJBx-H.cjs → drawFns-LlOZoFyp.cjs} +193 -976
  82. package/dist/{extrudeFns-O2s-SFf-.js → extrudeFns-7pE8dIWz.js} +1 -1
  83. package/dist/{extrudeFns-BlJKAnW8.cjs → extrudeFns-DD36mWKv.cjs} +1 -1
  84. package/dist/faceFns-BFWz17_E.js +218 -0
  85. package/dist/faceFns-DP7i60yJ.cjs +343 -0
  86. package/dist/gear/gearFns.d.ts +129 -0
  87. package/dist/gear/gearMath.d.ts +88 -0
  88. package/dist/gear/gearProfile.d.ts +16 -0
  89. package/dist/gear/index.d.ts +3 -0
  90. package/dist/{helpers-C3smxDtp.cjs → helpers-Cyj6gaqy.cjs} +11 -10
  91. package/dist/{helpers-DL1f3xp0.js → helpers-vV2ONZwD.js} +6 -5
  92. package/dist/{historyFns-CD9qXw5j.js → historyFns-DGb61ETW.js} +4 -4
  93. package/dist/{historyFns-DBdWeo7Y.cjs → historyFns-DfyrPjnK.cjs} +4 -4
  94. package/dist/{importFns-5tcN3-fK.cjs → importFns-C-p0vl_h.cjs} +3 -3
  95. package/dist/{importFns-B1p3FiGS.js → importFns-Ci-L2iB3.js} +3 -3
  96. package/dist/index.d.ts +16 -8
  97. package/dist/io/dxfExportFns.d.ts +0 -1
  98. package/dist/io/dxfImportFns.d.ts +0 -1
  99. package/dist/io/gltfExportFns.d.ts +0 -1
  100. package/dist/io/gltfImportFns.d.ts +0 -1
  101. package/dist/io/importFns.d.ts +0 -1
  102. package/dist/io/ioUtils.d.ts +0 -1
  103. package/dist/io/objExportFns.d.ts +0 -1
  104. package/dist/io/objImportFns.d.ts +0 -1
  105. package/dist/io/stepConfigFns.d.ts +0 -1
  106. package/dist/io/svgImportFns.d.ts +0 -1
  107. package/dist/io/threemfExportFns.d.ts +0 -1
  108. package/dist/io/threemfImportFns.d.ts +0 -1
  109. package/dist/io.cjs +2 -2
  110. package/dist/io.d.ts +0 -1
  111. package/dist/io.js +2 -2
  112. package/dist/kernel/brepkit/booleanOps.d.ts +23 -1
  113. package/dist/kernel/brepkit/brepkitAdapter.d.ts +21 -408
  114. package/dist/kernel/brepkit/brepkitWasmTypes.d.ts +0 -1
  115. package/dist/kernel/brepkit/constructionOps.d.ts +51 -1
  116. package/dist/kernel/brepkit/evolutionOps.d.ts +34 -3
  117. package/dist/kernel/brepkit/geometryOps.d.ts +63 -2
  118. package/dist/kernel/brepkit/helpers.d.ts +6 -1
  119. package/dist/kernel/brepkit/internalOps.d.ts +0 -1
  120. package/dist/kernel/brepkit/ioOps.d.ts +47 -9
  121. package/dist/kernel/brepkit/kernel2dOps.d.ts +113 -1
  122. package/dist/kernel/brepkit/measureOps.d.ts +39 -1
  123. package/dist/kernel/brepkit/meshOps.d.ts +7 -1
  124. package/dist/kernel/brepkit/modifierOps.d.ts +15 -1
  125. package/dist/kernel/brepkit/repairOps.d.ts +14 -1
  126. package/dist/kernel/brepkit/sketchOps.d.ts +3 -1
  127. package/dist/kernel/brepkit/sweepOps.d.ts +37 -1
  128. package/dist/kernel/brepkit/topologyOps.d.ts +16 -1
  129. package/dist/kernel/brepkit/transformOps.d.ts +18 -1
  130. package/dist/kernel/geometry2d.d.ts +0 -1
  131. package/dist/kernel/index.d.ts +0 -1
  132. package/dist/kernel/interfaces/booleanOps.d.ts +0 -1
  133. package/dist/kernel/interfaces/builderOps.d.ts +0 -1
  134. package/dist/kernel/interfaces/core.d.ts +0 -1
  135. package/dist/kernel/interfaces/curveOps.d.ts +0 -1
  136. package/dist/kernel/interfaces/evolutionOps.d.ts +0 -1
  137. package/dist/kernel/interfaces/index.d.ts +0 -1
  138. package/dist/kernel/interfaces/ioOps.d.ts +0 -1
  139. package/dist/kernel/interfaces/measureOps.d.ts +0 -1
  140. package/dist/kernel/interfaces/meshOps.d.ts +0 -1
  141. package/dist/kernel/interfaces/modifierOps.d.ts +0 -1
  142. package/dist/kernel/interfaces/primitiveOps.d.ts +0 -1
  143. package/dist/kernel/interfaces/repairOps.d.ts +0 -1
  144. package/dist/kernel/interfaces/surfaceOps.d.ts +0 -1
  145. package/dist/kernel/interfaces/sweepOps.d.ts +0 -1
  146. package/dist/kernel/interfaces/topologyOps.d.ts +0 -1
  147. package/dist/kernel/interfaces/transformOps.d.ts +0 -1
  148. package/dist/kernel/kernel2dTypes.d.ts +0 -1
  149. package/dist/kernel/occt/advancedOps.d.ts +126 -24
  150. package/dist/kernel/occt/booleanBatchOps.d.ts +0 -1
  151. package/dist/kernel/occt/booleanOps.d.ts +11 -1
  152. package/dist/kernel/occt/booleanPipelineOps.d.ts +10 -1
  153. package/dist/kernel/occt/constructorOps.d.ts +14 -1
  154. package/dist/kernel/occt/curveOps.d.ts +13 -1
  155. package/dist/kernel/occt/defaultAdapter.d.ts +10 -441
  156. package/dist/kernel/occt/evolutionOps.d.ts +0 -1
  157. package/dist/kernel/occt/extendedConstructorOps.d.ts +31 -1
  158. package/dist/kernel/occt/geometryQueryOps.d.ts +40 -1
  159. package/dist/kernel/occt/healingOps.d.ts +6 -1
  160. package/dist/kernel/occt/historyOps.d.ts +17 -1
  161. package/dist/kernel/occt/hullOps.d.ts +14 -1
  162. package/dist/kernel/occt/ioOps.d.ts +9 -1
  163. package/dist/kernel/occt/kernel2dOps.d.ts +113 -1
  164. package/dist/kernel/occt/measureOps.d.ts +19 -1
  165. package/dist/kernel/occt/meshOps.d.ts +5 -1
  166. package/dist/kernel/occt/modifierOps.d.ts +24 -1
  167. package/dist/kernel/occt/nurbsQueryOps.d.ts +5 -1
  168. package/dist/kernel/occt/sweepOps.d.ts +23 -1
  169. package/dist/kernel/occt/topologyOps.d.ts +10 -1
  170. package/dist/kernel/occt/transformOps.d.ts +14 -4
  171. package/dist/kernel/occt/wasmTypes/externals.d.ts +0 -1
  172. package/dist/kernel/occt/wasmTypes/index.d.ts +0 -1
  173. package/dist/kernel/occt/wasmTypes/occtBuilders.d.ts +0 -1
  174. package/dist/kernel/occtWasm/adapterShims.d.ts +0 -1
  175. package/dist/kernel/occtWasm/booleanOps.d.ts +0 -1
  176. package/dist/kernel/occtWasm/constructionOps.d.ts +0 -1
  177. package/dist/kernel/occtWasm/curveOps.d.ts +0 -1
  178. package/dist/kernel/occtWasm/evolutionOps.d.ts +0 -1
  179. package/dist/kernel/occtWasm/helpers.d.ts +0 -1
  180. package/dist/kernel/occtWasm/hullOps.d.ts +0 -1
  181. package/dist/kernel/occtWasm/ioOps.d.ts +0 -1
  182. package/dist/kernel/occtWasm/kernel2dOps.d.ts +0 -1
  183. package/dist/kernel/occtWasm/measureOps.d.ts +0 -1
  184. package/dist/kernel/occtWasm/meshOps.d.ts +0 -1
  185. package/dist/kernel/occtWasm/modifierOps.d.ts +0 -1
  186. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +0 -1
  187. package/dist/kernel/occtWasm/occtWasmTypes.d.ts +0 -1
  188. package/dist/kernel/occtWasm/primitiveOps.d.ts +0 -1
  189. package/dist/kernel/occtWasm/repairOps.d.ts +0 -1
  190. package/dist/kernel/occtWasm/surfaceOps.d.ts +0 -1
  191. package/dist/kernel/occtWasm/sweepOps.d.ts +0 -1
  192. package/dist/kernel/occtWasm/topologyOps.d.ts +0 -1
  193. package/dist/kernel/occtWasm/transformOps.d.ts +0 -1
  194. package/dist/kernel/perfStats.d.ts +0 -1
  195. package/dist/kernel/solverAdapter.d.ts +0 -1
  196. package/dist/kernel/types.d.ts +0 -1
  197. package/dist/{measureFns-CHmy_Inq.cjs → measureFns-6ifSQfJt.cjs} +5 -4
  198. package/dist/{measureFns-CJi8erDL.js → measureFns-Io2nHE1k.js} +3 -2
  199. package/dist/measurement/interferenceFns.d.ts +0 -1
  200. package/dist/measurement/measureCache.d.ts +0 -1
  201. package/dist/measurement/measureFns.d.ts +0 -1
  202. package/dist/measurement/measureTypes.d.ts +0 -1
  203. package/dist/measurement.cjs +1 -1
  204. package/dist/measurement.d.ts +0 -1
  205. package/dist/measurement.js +1 -1
  206. package/dist/{meshFns-t2lR4BDS.cjs → meshFns-BCRVZgPi.cjs} +2 -2
  207. package/dist/{meshFns-BkY1RAoC.js → meshFns-DSdkRFWq.js} +2 -2
  208. package/dist/ns/booleans.d.ts +0 -1
  209. package/dist/ns/construction.d.ts +0 -1
  210. package/dist/ns/ioNs.d.ts +0 -1
  211. package/dist/ns/measurement.d.ts +0 -1
  212. package/dist/ns/modifiers.d.ts +0 -1
  213. package/dist/ns/patterns.d.ts +0 -1
  214. package/dist/ns/primitives.d.ts +0 -1
  215. package/dist/ns/query.d.ts +0 -1
  216. package/dist/ns/transforms.d.ts +0 -1
  217. package/dist/operations/api.d.ts +0 -1
  218. package/dist/operations/assemblyFns.d.ts +0 -1
  219. package/dist/operations/compoundOpsFns.d.ts +0 -1
  220. package/dist/operations/convexHullFns.d.ts +0 -1
  221. package/dist/operations/exporterFns.d.ts +0 -1
  222. package/dist/operations/exporterUtils.d.ts +0 -1
  223. package/dist/operations/exporters.d.ts +0 -1
  224. package/dist/operations/extrudeFns.d.ts +0 -1
  225. package/dist/operations/extrudeUtils.d.ts +0 -1
  226. package/dist/operations/guidedSweepFns.d.ts +0 -1
  227. package/dist/operations/historyFns.d.ts +0 -1
  228. package/dist/operations/loftFns.d.ts +0 -1
  229. package/dist/operations/mateFns.d.ts +0 -1
  230. package/dist/operations/multiSweepFns.d.ts +0 -1
  231. package/dist/operations/patternFns.d.ts +0 -1
  232. package/dist/operations/roofFns.d.ts +0 -1
  233. package/dist/operations/straightSkeleton.d.ts +0 -1
  234. package/dist/operations/sweepFns.d.ts +0 -1
  235. package/dist/operations.cjs +2 -2
  236. package/dist/operations.d.ts +0 -1
  237. package/dist/operations.js +2 -2
  238. package/dist/{primitiveFns-DwhN--zB.cjs → primitiveFns-BH-JQPzh.cjs} +18 -17
  239. package/dist/{primitiveFns-Emvge_71.js → primitiveFns-C1p92ZcD.js} +6 -5
  240. package/dist/projection/cameraFns.d.ts +0 -1
  241. package/dist/projection/makeProjectedEdges.d.ts +0 -1
  242. package/dist/projection/projectionPlanes.d.ts +0 -1
  243. package/dist/projection.cjs +9 -0
  244. package/dist/projection.d.ts +11 -0
  245. package/dist/projection.js +2 -0
  246. package/dist/query/cornerFinder.d.ts +0 -1
  247. package/dist/query/directionUtils.d.ts +0 -1
  248. package/dist/query/edgeFinder.d.ts +0 -1
  249. package/dist/query/faceFinder.d.ts +0 -1
  250. package/dist/query/finderCore.d.ts +0 -1
  251. package/dist/query/finderFns.d.ts +0 -1
  252. package/dist/query/helpers.d.ts +0 -1
  253. package/dist/query/shapeDistanceFilter.d.ts +0 -1
  254. package/dist/query/shapeFinders.d.ts +0 -1
  255. package/dist/query/vertexFinder.d.ts +0 -1
  256. package/dist/query/wireFinder.d.ts +0 -1
  257. package/dist/query.cjs +2 -2
  258. package/dist/query.d.ts +0 -1
  259. package/dist/query.js +2 -2
  260. package/dist/result.d.ts +0 -1
  261. package/dist/{shapeFns-CObBAJoQ.cjs → shapeFns-B7x82K11.cjs} +15 -15
  262. package/dist/{shapeFns-DThjHtJI.js → shapeFns-BhZ9weSI.js} +2 -2
  263. package/dist/shapeRef.cjs +1 -1
  264. package/dist/shapeRef.d.ts +0 -1
  265. package/dist/shapeRef.js +1 -1
  266. package/dist/{shapeRefFns-WMhIFuGW.js → shapeRefFns-B9PsEqWf.js} +4 -3
  267. package/dist/{shapeRefFns-I0MHjRAq.cjs → shapeRefFns-wDY88A8u.cjs} +6 -5
  268. package/dist/{shapeTypes-8vB31RfA.cjs → shapeTypes-BTt_LLbk.cjs} +6928 -7750
  269. package/dist/{shapeTypes-AyL8vv_O.js → shapeTypes-C--1jaT1.js} +6618 -7440
  270. package/dist/sketching/cannedSketches.d.ts +0 -1
  271. package/dist/sketching/compoundSketch.d.ts +8 -7
  272. package/dist/sketching/draw3d.d.ts +1 -2
  273. package/dist/sketching/drawFns.d.ts +4 -3
  274. package/dist/sketching/{draw.d.ts → drawing.d.ts} +2 -127
  275. package/dist/sketching/drawingFactories.d.ts +94 -0
  276. package/dist/sketching/drawingPen.d.ts +34 -0
  277. package/dist/sketching/faceSketcher.d.ts +52 -0
  278. package/dist/sketching/shortcuts.d.ts +0 -1
  279. package/dist/sketching/sketch.d.ts +64 -10
  280. package/dist/sketching/sketchFns.d.ts +42 -95
  281. package/dist/sketching/sketcher.d.ts +2 -3
  282. package/dist/sketching/sketches.d.ts +5 -6
  283. package/dist/sketching.cjs +19 -18
  284. package/dist/sketching.d.ts +8 -5
  285. package/dist/sketching.js +3 -2
  286. package/dist/{solidBuilders-Djwgx2mj.cjs → solidBuilders-CX_197Xm.cjs} +2 -2
  287. package/dist/{solidBuilders-C7Xp_ikW.js → solidBuilders-Xs7VDMGD.js} +2 -2
  288. package/dist/{surfaceBuilders-BEnsewN9.cjs → surfaceBuilders-CYeTNW33.cjs} +24 -2
  289. package/dist/{surfaceBuilders-Con0IpLf.js → surfaceBuilders-CinmHCbZ.js} +19 -3
  290. package/dist/text/fontRegistry.d.ts +22 -0
  291. package/dist/text/sketchText.d.ts +30 -0
  292. package/dist/text/textBlueprints.d.ts +0 -91
  293. package/dist/text/textMetrics.d.ts +39 -0
  294. package/dist/text.cjs +9 -0
  295. package/dist/text.d.ts +12 -0
  296. package/dist/text.js +3 -0
  297. package/dist/textBlueprints-Do6xNsLt.js +643 -0
  298. package/dist/textBlueprints-oWhiABaY.cjs +800 -0
  299. package/dist/textMetrics-BjJ8sn_e.js +69 -0
  300. package/dist/textMetrics-CUvtglQE.cjs +86 -0
  301. package/dist/topology/adjacencyFns.d.ts +0 -1
  302. package/dist/topology/api.d.ts +0 -1
  303. package/dist/topology/apiTypes.d.ts +0 -1
  304. package/dist/topology/booleanDiagnosticFns.d.ts +0 -1
  305. package/dist/topology/booleanFns.d.ts +0 -1
  306. package/dist/topology/cast.d.ts +0 -1
  307. package/dist/topology/chamferAngleFns.d.ts +0 -1
  308. package/dist/topology/compoundOpsFns.d.ts +0 -1
  309. package/dist/topology/curveBuilders.d.ts +12 -1
  310. package/dist/topology/curveFns.d.ts +0 -1
  311. package/dist/topology/evolutionFns.d.ts +0 -1
  312. package/dist/topology/faceFns.d.ts +0 -1
  313. package/dist/topology/healingFns.d.ts +0 -1
  314. package/dist/topology/hullFns.d.ts +0 -1
  315. package/dist/topology/index.d.ts +0 -1
  316. package/dist/topology/meshCache.d.ts +0 -1
  317. package/dist/topology/meshFns.d.ts +0 -1
  318. package/dist/topology/metadata/colorFns.d.ts +0 -1
  319. package/dist/topology/metadata/faceTagFns.d.ts +0 -1
  320. package/dist/topology/metadata/metadataPropagation.d.ts +0 -1
  321. package/dist/topology/metadata/originTrackingFns.d.ts +0 -1
  322. package/dist/topology/minkowskiFns.d.ts +0 -1
  323. package/dist/topology/modifierFns.d.ts +0 -1
  324. package/dist/topology/nurbsFns.d.ts +0 -1
  325. package/dist/topology/polyhedronFns.d.ts +0 -1
  326. package/dist/topology/positionFns.d.ts +0 -1
  327. package/dist/topology/primitiveFns.d.ts +0 -1
  328. package/dist/topology/shapeBooleans.d.ts +0 -1
  329. package/dist/topology/shapeFns.d.ts +0 -1
  330. package/dist/topology/shapeHelpers.d.ts +0 -1
  331. package/dist/topology/shapeModifiers.d.ts +0 -1
  332. package/dist/topology/shapeRef/index.d.ts +0 -1
  333. package/dist/topology/shapeRef/scoring.d.ts +0 -1
  334. package/dist/topology/shapeRef/shapeRefFns.d.ts +0 -1
  335. package/dist/topology/shapeRef/shapeRefTypes.d.ts +0 -1
  336. package/dist/topology/shapeUtils.d.ts +0 -1
  337. package/dist/topology/solidBuilders.d.ts +0 -1
  338. package/dist/topology/surfaceBuilders.d.ts +0 -1
  339. package/dist/topology/surfaceFns.d.ts +0 -1
  340. package/dist/topology/threeHelpers.d.ts +0 -1
  341. package/dist/topology/topologyQueryFns.d.ts +0 -1
  342. package/dist/topology/transformFns.d.ts +0 -1
  343. package/dist/topology/wrapperFns.d.ts +0 -1
  344. package/dist/topology.cjs +18 -17
  345. package/dist/topology.d.ts +0 -1
  346. package/dist/topology.js +7 -6
  347. package/dist/{faceFns-B1H43mZ_.cjs → topologyQueryFns-BU0qdNJP.cjs} +1 -341
  348. package/dist/{faceFns-acz86gqR.js → topologyQueryFns-Dhf85ZBK.js} +3 -217
  349. package/dist/utils/arrayAccess.d.ts +0 -1
  350. package/dist/utils/bug.d.ts +0 -1
  351. package/dist/utils/ioFilename.d.ts +0 -1
  352. package/dist/utils/precisionRound.d.ts +0 -1
  353. package/dist/utils/range.d.ts +0 -1
  354. package/dist/utils/uuid.d.ts +0 -1
  355. package/dist/utils/vec2d.d.ts +0 -1
  356. package/dist/utils/vec3.d.ts +0 -1
  357. package/dist/utils/zip.d.ts +0 -1
  358. package/dist/vectors.d.ts +0 -1
  359. package/dist/worker/index.d.ts +0 -1
  360. package/dist/worker/protocol.d.ts +0 -1
  361. package/dist/worker/taskQueue.d.ts +0 -1
  362. package/dist/worker/workerClient.d.ts +0 -1
  363. package/dist/worker/workerHandler.d.ts +0 -1
  364. package/dist/worker.cjs +1 -1
  365. package/dist/worker.d.ts +0 -1
  366. package/dist/worker.js +1 -1
  367. package/package.json +35 -14
  368. package/dist/2d/blueprints/blueprint.d.ts.map +0 -1
  369. package/dist/2d/blueprints/blueprintApproximations.d.ts.map +0 -1
  370. package/dist/2d/blueprints/blueprintCustomCorners.d.ts.map +0 -1
  371. package/dist/2d/blueprints/blueprintFns.d.ts.map +0 -1
  372. package/dist/2d/blueprints/blueprintOffset.d.ts.map +0 -1
  373. package/dist/2d/blueprints/blueprints.d.ts.map +0 -1
  374. package/dist/2d/blueprints/boolean2D.d.ts.map +0 -1
  375. package/dist/2d/blueprints/booleanHelpers.d.ts.map +0 -1
  376. package/dist/2d/blueprints/booleanOperations.d.ts.map +0 -1
  377. package/dist/2d/blueprints/cannedBlueprints.d.ts.map +0 -1
  378. package/dist/2d/blueprints/compoundBlueprint.d.ts.map +0 -1
  379. package/dist/2d/blueprints/index.d.ts.map +0 -1
  380. package/dist/2d/blueprints/intersectionSegments.d.ts.map +0 -1
  381. package/dist/2d/blueprints/lib.d.ts.map +0 -1
  382. package/dist/2d/blueprints/segmentAssembly.d.ts.map +0 -1
  383. package/dist/2d/blueprints/svg.d.ts.map +0 -1
  384. package/dist/2d/curve2dGeometryFns.d.ts.map +0 -1
  385. package/dist/2d/curves.d.ts.map +0 -1
  386. package/dist/2d/lib/approximations.d.ts.map +0 -1
  387. package/dist/2d/lib/boundingBox2d.d.ts.map +0 -1
  388. package/dist/2d/lib/curve2D.d.ts.map +0 -1
  389. package/dist/2d/lib/curve2dFns.d.ts.map +0 -1
  390. package/dist/2d/lib/customCorners.d.ts.map +0 -1
  391. package/dist/2d/lib/definitions.d.ts.map +0 -1
  392. package/dist/2d/lib/index.d.ts.map +0 -1
  393. package/dist/2d/lib/intersections.d.ts.map +0 -1
  394. package/dist/2d/lib/makeCurves.d.ts.map +0 -1
  395. package/dist/2d/lib/offset.d.ts.map +0 -1
  396. package/dist/2d/lib/precision.d.ts.map +0 -1
  397. package/dist/2d/lib/stitching.d.ts.map +0 -1
  398. package/dist/2d/lib/svgPath.d.ts.map +0 -1
  399. package/dist/2d/lib/utils.d.ts.map +0 -1
  400. package/dist/2d/lib/vectorOperations.d.ts.map +0 -1
  401. package/dist/2d.d.ts.map +0 -1
  402. package/dist/core/constants.d.ts.map +0 -1
  403. package/dist/core/curve2dHandle.d.ts.map +0 -1
  404. package/dist/core/dimensionTypes.d.ts.map +0 -1
  405. package/dist/core/disposal.d.ts.map +0 -1
  406. package/dist/core/errors.d.ts.map +0 -1
  407. package/dist/core/kernelBoundary.d.ts.map +0 -1
  408. package/dist/core/kernelCall.d.ts.map +0 -1
  409. package/dist/core/kernelErrorTranslation.d.ts.map +0 -1
  410. package/dist/core/planeOps.d.ts.map +0 -1
  411. package/dist/core/planeTypes.d.ts.map +0 -1
  412. package/dist/core/result.d.ts.map +0 -1
  413. package/dist/core/shapeTypeCache.d.ts.map +0 -1
  414. package/dist/core/shapeTypes.d.ts.map +0 -1
  415. package/dist/core/typeDiscriminants.d.ts.map +0 -1
  416. package/dist/core/types.d.ts.map +0 -1
  417. package/dist/core/validityTypes.d.ts.map +0 -1
  418. package/dist/core/vecOps.d.ts.map +0 -1
  419. package/dist/core.d.ts.map +0 -1
  420. package/dist/index.d.ts.map +0 -1
  421. package/dist/io/dxfExportFns.d.ts.map +0 -1
  422. package/dist/io/dxfImportFns.d.ts.map +0 -1
  423. package/dist/io/gltfExportFns.d.ts.map +0 -1
  424. package/dist/io/gltfImportFns.d.ts.map +0 -1
  425. package/dist/io/importFns.d.ts.map +0 -1
  426. package/dist/io/ioUtils.d.ts.map +0 -1
  427. package/dist/io/objExportFns.d.ts.map +0 -1
  428. package/dist/io/objImportFns.d.ts.map +0 -1
  429. package/dist/io/stepConfigFns.d.ts.map +0 -1
  430. package/dist/io/svgImportFns.d.ts.map +0 -1
  431. package/dist/io/threemfExportFns.d.ts.map +0 -1
  432. package/dist/io/threemfImportFns.d.ts.map +0 -1
  433. package/dist/io.d.ts.map +0 -1
  434. package/dist/kernel/brepkit/booleanOps.d.ts.map +0 -1
  435. package/dist/kernel/brepkit/brepkitAdapter.d.ts.map +0 -1
  436. package/dist/kernel/brepkit/brepkitWasmTypes.d.ts.map +0 -1
  437. package/dist/kernel/brepkit/constructionOps.d.ts.map +0 -1
  438. package/dist/kernel/brepkit/evolutionOps.d.ts.map +0 -1
  439. package/dist/kernel/brepkit/geometryOps.d.ts.map +0 -1
  440. package/dist/kernel/brepkit/helpers.d.ts.map +0 -1
  441. package/dist/kernel/brepkit/internalOps.d.ts.map +0 -1
  442. package/dist/kernel/brepkit/ioOps.d.ts.map +0 -1
  443. package/dist/kernel/brepkit/kernel2dOps.d.ts.map +0 -1
  444. package/dist/kernel/brepkit/measureOps.d.ts.map +0 -1
  445. package/dist/kernel/brepkit/meshOps.d.ts.map +0 -1
  446. package/dist/kernel/brepkit/modifierOps.d.ts.map +0 -1
  447. package/dist/kernel/brepkit/repairOps.d.ts.map +0 -1
  448. package/dist/kernel/brepkit/sketchOps.d.ts.map +0 -1
  449. package/dist/kernel/brepkit/sweepOps.d.ts.map +0 -1
  450. package/dist/kernel/brepkit/topologyOps.d.ts.map +0 -1
  451. package/dist/kernel/brepkit/transformOps.d.ts.map +0 -1
  452. package/dist/kernel/geometry2d.d.ts.map +0 -1
  453. package/dist/kernel/index.d.ts.map +0 -1
  454. package/dist/kernel/interfaces/booleanOps.d.ts.map +0 -1
  455. package/dist/kernel/interfaces/builderOps.d.ts.map +0 -1
  456. package/dist/kernel/interfaces/core.d.ts.map +0 -1
  457. package/dist/kernel/interfaces/curveOps.d.ts.map +0 -1
  458. package/dist/kernel/interfaces/evolutionOps.d.ts.map +0 -1
  459. package/dist/kernel/interfaces/index.d.ts.map +0 -1
  460. package/dist/kernel/interfaces/ioOps.d.ts.map +0 -1
  461. package/dist/kernel/interfaces/measureOps.d.ts.map +0 -1
  462. package/dist/kernel/interfaces/meshOps.d.ts.map +0 -1
  463. package/dist/kernel/interfaces/modifierOps.d.ts.map +0 -1
  464. package/dist/kernel/interfaces/primitiveOps.d.ts.map +0 -1
  465. package/dist/kernel/interfaces/repairOps.d.ts.map +0 -1
  466. package/dist/kernel/interfaces/surfaceOps.d.ts.map +0 -1
  467. package/dist/kernel/interfaces/sweepOps.d.ts.map +0 -1
  468. package/dist/kernel/interfaces/topologyOps.d.ts.map +0 -1
  469. package/dist/kernel/interfaces/transformOps.d.ts.map +0 -1
  470. package/dist/kernel/kernel2dTypes.d.ts.map +0 -1
  471. package/dist/kernel/occt/advancedOps.d.ts.map +0 -1
  472. package/dist/kernel/occt/booleanBatchOps.d.ts.map +0 -1
  473. package/dist/kernel/occt/booleanOps.d.ts.map +0 -1
  474. package/dist/kernel/occt/booleanPipelineOps.d.ts.map +0 -1
  475. package/dist/kernel/occt/constructorOps.d.ts.map +0 -1
  476. package/dist/kernel/occt/curveOps.d.ts.map +0 -1
  477. package/dist/kernel/occt/defaultAdapter.d.ts.map +0 -1
  478. package/dist/kernel/occt/evolutionOps.d.ts.map +0 -1
  479. package/dist/kernel/occt/extendedConstructorOps.d.ts.map +0 -1
  480. package/dist/kernel/occt/geometryQueryOps.d.ts.map +0 -1
  481. package/dist/kernel/occt/healingOps.d.ts.map +0 -1
  482. package/dist/kernel/occt/historyOps.d.ts.map +0 -1
  483. package/dist/kernel/occt/hullOps.d.ts.map +0 -1
  484. package/dist/kernel/occt/ioOps.d.ts.map +0 -1
  485. package/dist/kernel/occt/kernel2dOps.d.ts.map +0 -1
  486. package/dist/kernel/occt/measureOps.d.ts.map +0 -1
  487. package/dist/kernel/occt/meshOps.d.ts.map +0 -1
  488. package/dist/kernel/occt/modifierOps.d.ts.map +0 -1
  489. package/dist/kernel/occt/nurbsQueryOps.d.ts.map +0 -1
  490. package/dist/kernel/occt/sweepOps.d.ts.map +0 -1
  491. package/dist/kernel/occt/topologyOps.d.ts.map +0 -1
  492. package/dist/kernel/occt/transformOps.d.ts.map +0 -1
  493. package/dist/kernel/occt/wasmTypes/externals.d.ts.map +0 -1
  494. package/dist/kernel/occt/wasmTypes/index.d.ts.map +0 -1
  495. package/dist/kernel/occt/wasmTypes/occtBuilders.d.ts.map +0 -1
  496. package/dist/kernel/occtWasm/adapterShims.d.ts.map +0 -1
  497. package/dist/kernel/occtWasm/booleanOps.d.ts.map +0 -1
  498. package/dist/kernel/occtWasm/constructionOps.d.ts.map +0 -1
  499. package/dist/kernel/occtWasm/curveOps.d.ts.map +0 -1
  500. package/dist/kernel/occtWasm/evolutionOps.d.ts.map +0 -1
  501. package/dist/kernel/occtWasm/helpers.d.ts.map +0 -1
  502. package/dist/kernel/occtWasm/hullOps.d.ts.map +0 -1
  503. package/dist/kernel/occtWasm/ioOps.d.ts.map +0 -1
  504. package/dist/kernel/occtWasm/kernel2dOps.d.ts.map +0 -1
  505. package/dist/kernel/occtWasm/measureOps.d.ts.map +0 -1
  506. package/dist/kernel/occtWasm/meshOps.d.ts.map +0 -1
  507. package/dist/kernel/occtWasm/modifierOps.d.ts.map +0 -1
  508. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts.map +0 -1
  509. package/dist/kernel/occtWasm/occtWasmTypes.d.ts.map +0 -1
  510. package/dist/kernel/occtWasm/primitiveOps.d.ts.map +0 -1
  511. package/dist/kernel/occtWasm/repairOps.d.ts.map +0 -1
  512. package/dist/kernel/occtWasm/surfaceOps.d.ts.map +0 -1
  513. package/dist/kernel/occtWasm/sweepOps.d.ts.map +0 -1
  514. package/dist/kernel/occtWasm/topologyOps.d.ts.map +0 -1
  515. package/dist/kernel/occtWasm/transformOps.d.ts.map +0 -1
  516. package/dist/kernel/perfStats.d.ts.map +0 -1
  517. package/dist/kernel/solverAdapter.d.ts.map +0 -1
  518. package/dist/kernel/types.d.ts.map +0 -1
  519. package/dist/measurement/interferenceFns.d.ts.map +0 -1
  520. package/dist/measurement/measureCache.d.ts.map +0 -1
  521. package/dist/measurement/measureFns.d.ts.map +0 -1
  522. package/dist/measurement/measureTypes.d.ts.map +0 -1
  523. package/dist/measurement.d.ts.map +0 -1
  524. package/dist/ns/booleans.d.ts.map +0 -1
  525. package/dist/ns/construction.d.ts.map +0 -1
  526. package/dist/ns/ioNs.d.ts.map +0 -1
  527. package/dist/ns/measurement.d.ts.map +0 -1
  528. package/dist/ns/modifiers.d.ts.map +0 -1
  529. package/dist/ns/patterns.d.ts.map +0 -1
  530. package/dist/ns/primitives.d.ts.map +0 -1
  531. package/dist/ns/query.d.ts.map +0 -1
  532. package/dist/ns/transforms.d.ts.map +0 -1
  533. package/dist/operations/api.d.ts.map +0 -1
  534. package/dist/operations/assemblyFns.d.ts.map +0 -1
  535. package/dist/operations/compoundOpsFns.d.ts.map +0 -1
  536. package/dist/operations/convexHullFns.d.ts.map +0 -1
  537. package/dist/operations/exporterFns.d.ts.map +0 -1
  538. package/dist/operations/exporterUtils.d.ts.map +0 -1
  539. package/dist/operations/exporters.d.ts.map +0 -1
  540. package/dist/operations/extrudeFns.d.ts.map +0 -1
  541. package/dist/operations/extrudeUtils.d.ts.map +0 -1
  542. package/dist/operations/guidedSweepFns.d.ts.map +0 -1
  543. package/dist/operations/historyFns.d.ts.map +0 -1
  544. package/dist/operations/loftFns.d.ts.map +0 -1
  545. package/dist/operations/mateFns.d.ts.map +0 -1
  546. package/dist/operations/multiSweepFns.d.ts.map +0 -1
  547. package/dist/operations/patternFns.d.ts.map +0 -1
  548. package/dist/operations/roofFns.d.ts.map +0 -1
  549. package/dist/operations/straightSkeleton.d.ts.map +0 -1
  550. package/dist/operations/sweepFns.d.ts.map +0 -1
  551. package/dist/operations.d.ts.map +0 -1
  552. package/dist/projection/cameraFns.d.ts.map +0 -1
  553. package/dist/projection/makeProjectedEdges.d.ts.map +0 -1
  554. package/dist/projection/projectionPlanes.d.ts.map +0 -1
  555. package/dist/query/cornerFinder.d.ts.map +0 -1
  556. package/dist/query/directionUtils.d.ts.map +0 -1
  557. package/dist/query/edgeFinder.d.ts.map +0 -1
  558. package/dist/query/faceFinder.d.ts.map +0 -1
  559. package/dist/query/finderCore.d.ts.map +0 -1
  560. package/dist/query/finderFns.d.ts.map +0 -1
  561. package/dist/query/helpers.d.ts.map +0 -1
  562. package/dist/query/shapeDistanceFilter.d.ts.map +0 -1
  563. package/dist/query/shapeFinders.d.ts.map +0 -1
  564. package/dist/query/vertexFinder.d.ts.map +0 -1
  565. package/dist/query/wireFinder.d.ts.map +0 -1
  566. package/dist/query.d.ts.map +0 -1
  567. package/dist/quick.d.ts.map +0 -1
  568. package/dist/result.d.ts.map +0 -1
  569. package/dist/shapeRef.d.ts.map +0 -1
  570. package/dist/sketching/cannedSketches.d.ts.map +0 -1
  571. package/dist/sketching/compoundSketch.d.ts.map +0 -1
  572. package/dist/sketching/draw.d.ts.map +0 -1
  573. package/dist/sketching/draw3d.d.ts.map +0 -1
  574. package/dist/sketching/drawFns.d.ts.map +0 -1
  575. package/dist/sketching/ellipseUtils.d.ts.map +0 -1
  576. package/dist/sketching/shortcuts.d.ts.map +0 -1
  577. package/dist/sketching/sketch.d.ts.map +0 -1
  578. package/dist/sketching/sketchFns.d.ts.map +0 -1
  579. package/dist/sketching/sketchLib.d.ts +0 -47
  580. package/dist/sketching/sketchLib.d.ts.map +0 -1
  581. package/dist/sketching/sketchUtils.d.ts +0 -8
  582. package/dist/sketching/sketchUtils.d.ts.map +0 -1
  583. package/dist/sketching/sketcher.d.ts.map +0 -1
  584. package/dist/sketching/sketcher2d.d.ts.map +0 -1
  585. package/dist/sketching/sketcherlib.d.ts.map +0 -1
  586. package/dist/sketching/sketches.d.ts.map +0 -1
  587. package/dist/sketching.d.ts.map +0 -1
  588. package/dist/text/textBlueprints.d.ts.map +0 -1
  589. package/dist/topology/adjacencyFns.d.ts.map +0 -1
  590. package/dist/topology/api.d.ts.map +0 -1
  591. package/dist/topology/apiTypes.d.ts.map +0 -1
  592. package/dist/topology/booleanDiagnosticFns.d.ts.map +0 -1
  593. package/dist/topology/booleanFns.d.ts.map +0 -1
  594. package/dist/topology/cast.d.ts.map +0 -1
  595. package/dist/topology/chamferAngleFns.d.ts.map +0 -1
  596. package/dist/topology/compoundOpsFns.d.ts.map +0 -1
  597. package/dist/topology/curveBuilders.d.ts.map +0 -1
  598. package/dist/topology/curveFns.d.ts.map +0 -1
  599. package/dist/topology/evolutionFns.d.ts.map +0 -1
  600. package/dist/topology/faceFns.d.ts.map +0 -1
  601. package/dist/topology/healingFns.d.ts.map +0 -1
  602. package/dist/topology/hullFns.d.ts.map +0 -1
  603. package/dist/topology/index.d.ts.map +0 -1
  604. package/dist/topology/meshCache.d.ts.map +0 -1
  605. package/dist/topology/meshFns.d.ts.map +0 -1
  606. package/dist/topology/metadata/colorFns.d.ts.map +0 -1
  607. package/dist/topology/metadata/faceTagFns.d.ts.map +0 -1
  608. package/dist/topology/metadata/metadataPropagation.d.ts.map +0 -1
  609. package/dist/topology/metadata/originTrackingFns.d.ts.map +0 -1
  610. package/dist/topology/minkowskiFns.d.ts.map +0 -1
  611. package/dist/topology/modifierFns.d.ts.map +0 -1
  612. package/dist/topology/nurbsFns.d.ts.map +0 -1
  613. package/dist/topology/polyhedronFns.d.ts.map +0 -1
  614. package/dist/topology/positionFns.d.ts.map +0 -1
  615. package/dist/topology/primitiveFns.d.ts.map +0 -1
  616. package/dist/topology/shapeBooleans.d.ts.map +0 -1
  617. package/dist/topology/shapeFns.d.ts.map +0 -1
  618. package/dist/topology/shapeHelpers.d.ts.map +0 -1
  619. package/dist/topology/shapeModifiers.d.ts.map +0 -1
  620. package/dist/topology/shapeRef/index.d.ts.map +0 -1
  621. package/dist/topology/shapeRef/scoring.d.ts.map +0 -1
  622. package/dist/topology/shapeRef/shapeRefFns.d.ts.map +0 -1
  623. package/dist/topology/shapeRef/shapeRefTypes.d.ts.map +0 -1
  624. package/dist/topology/shapeUtils.d.ts.map +0 -1
  625. package/dist/topology/solidBuilders.d.ts.map +0 -1
  626. package/dist/topology/surfaceBuilders.d.ts.map +0 -1
  627. package/dist/topology/surfaceFns.d.ts.map +0 -1
  628. package/dist/topology/threeHelpers.d.ts.map +0 -1
  629. package/dist/topology/topologyQueryFns.d.ts.map +0 -1
  630. package/dist/topology/transformFns.d.ts.map +0 -1
  631. package/dist/topology/wrapperFns.d.ts.map +0 -1
  632. package/dist/topology.d.ts.map +0 -1
  633. package/dist/utils/arrayAccess.d.ts.map +0 -1
  634. package/dist/utils/bug.d.ts.map +0 -1
  635. package/dist/utils/ioFilename.d.ts.map +0 -1
  636. package/dist/utils/precisionRound.d.ts.map +0 -1
  637. package/dist/utils/range.d.ts.map +0 -1
  638. package/dist/utils/uuid.d.ts.map +0 -1
  639. package/dist/utils/vec2d.d.ts.map +0 -1
  640. package/dist/utils/vec3.d.ts.map +0 -1
  641. package/dist/utils/zip.d.ts.map +0 -1
  642. package/dist/vectors.d.ts.map +0 -1
  643. package/dist/worker/index.d.ts.map +0 -1
  644. package/dist/worker/protocol.d.ts.map +0 -1
  645. package/dist/worker/taskQueue.d.ts.map +0 -1
  646. package/dist/worker/workerClient.d.ts.map +0 -1
  647. package/dist/worker/workerHandler.d.ts.map +0 -1
  648. package/dist/worker.d.ts.map +0 -1
  649. /package/dist/{arrayAccess-Br-m2PP7.cjs → arrayAccess-7pTWqkJu.cjs} +0 -0
  650. /package/dist/{arrayAccess-2G0pRoaC.js → arrayAccess-C5IWcxs9.js} +0 -0
  651. /package/dist/{workerHandler-sCf818XJ.cjs → workerHandler-C7seK7H-.cjs} +0 -0
  652. /package/dist/{workerHandler-BndMJVx6.js → workerHandler-DaulgMax.js} +0 -0
@@ -1,53 +1,22 @@
1
- //#region \0rolldown/runtime.js
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __exportAll = (all, no_symbols) => {
9
- let target = {};
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
14
- if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
15
- return target;
16
- };
17
- var __copyProps = (to, from, except, desc) => {
18
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
19
- key = keys[i];
20
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
21
- get: ((k) => from[k]).bind(null, key),
22
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
23
- });
24
- }
25
- return to;
26
- };
27
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: true
30
- }) : target, mod));
31
- //#endregion
32
- const require_shapeTypes = require("./shapeTypes-8vB31RfA.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-oWhiABaY.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-BTt_LLbk.cjs");
33
3
  const require_vec3 = require("./vec3-S4Oh59IX.cjs");
34
4
  const require_errors = require("./errors-Dv6pfNct.cjs");
35
- const require_faceFns = require("./faceFns-B1H43mZ_.cjs");
5
+ const require_topologyQueryFns = require("./topologyQueryFns-BU0qdNJP.cjs");
36
6
  const require_constants = require("./constants-DTorLmes.cjs");
37
7
  const require_types = require("./types-CDkxah-M.cjs");
38
8
  const require_vecOps = require("./vecOps-D7xplSx8.cjs");
39
9
  const require_planeOps = require("./planeOps-CH4ruLuj.cjs");
40
- const require_curveFns = require("./curveFns-B8KJKr8-.cjs");
41
- const require_arrayAccess = require("./arrayAccess-Br-m2PP7.cjs");
42
- const require_surfaceBuilders = require("./surfaceBuilders-BEnsewN9.cjs");
43
- const require_boolean2D = require("./boolean2D-DxZ3Kwlq.cjs");
44
- const require_helpers = require("./helpers-C3smxDtp.cjs");
45
- const require_blueprint = require("./blueprint-C5LxqHCa.cjs");
46
- const require_solidBuilders = require("./solidBuilders-Djwgx2mj.cjs");
47
- const require_cornerFinder = require("./cornerFinder-B2CpcVV9.cjs");
48
- const require_extrudeFns = require("./extrudeFns-BlJKAnW8.cjs");
49
- let opentype_js = require("opentype.js");
50
- opentype_js = __toESM(opentype_js, 1);
10
+ const require_faceFns = require("./faceFns-DP7i60yJ.cjs");
11
+ const require_curveFns = require("./curveFns-CD20-4fM.cjs");
12
+ const require_arrayAccess = require("./arrayAccess-7pTWqkJu.cjs");
13
+ const require_surfaceBuilders = require("./surfaceBuilders-CYeTNW33.cjs");
14
+ const require_blueprintSketcher = require("./blueprintSketcher-Bei866Bt.cjs");
15
+ const require_helpers = require("./helpers-Cyj6gaqy.cjs");
16
+ const require_blueprint = require("./blueprint-B8ogGJiQ.cjs");
17
+ const require_cornerFinder = require("./cornerFinder-CC8EBRCR.cjs");
18
+ const require_boolean2D = require("./boolean2D-DGuiEJHA.cjs");
19
+ const require_cameraFns = require("./cameraFns-1y1NyACI.cjs");
51
20
  //#region src/2d/lib/stitching.ts
52
21
  /**
53
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -62,7 +31,7 @@ opentype_js = __toESM(opentype_js, 1);
62
31
  * @returns An array of connected curve chains.
63
32
  */
64
33
  var stitchCurves = (curves, precision = 1e-7) => {
65
- const startPoints = new require_boolean2D.Flatbush(curves.length);
34
+ const startPoints = new require_blueprintSketcher.Flatbush(curves.length);
66
35
  curves.forEach((c) => {
67
36
  const [x, y] = c.firstPoint;
68
37
  startPoints.add(x - precision, y - precision, x + precision, y + precision);
@@ -99,172 +68,6 @@ var stitchCurves = (curves, precision = 1e-7) => {
99
68
  return stitchedCurves;
100
69
  };
101
70
  //#endregion
102
- //#region src/sketching/compoundSketch.ts
103
- var guessFaceFromWires = (wires) => {
104
- const wireShapes = wires.map((w) => w.wrapped);
105
- const newFace = require_errors.unwrap(require_faceFns.cast(require_shapeTypes.getKernel().fillSurface(wireShapes)));
106
- if (!require_shapeTypes.isFace(newFace)) require_errors.bug("guessFaceFromWires", "Failed to create a face");
107
- return newFace;
108
- };
109
- var fixWire = (wire, baseFace) => {
110
- return require_shapeTypes.createWire(require_shapeTypes.getKernel().fixWireOnFace(wire.wrapped, baseFace.wrapped, 1e-9));
111
- };
112
- var faceFromWires = (wires) => {
113
- let baseFace;
114
- let holeWires;
115
- const faceResult = require_surfaceBuilders.makeFace(require_arrayAccess.firstOrThrow(wires));
116
- if (require_errors.isOk(faceResult)) {
117
- baseFace = faceResult.value;
118
- holeWires = wires.slice(1);
119
- } else {
120
- baseFace = guessFaceFromWires(wires);
121
- holeWires = wires.slice(1).map((w) => fixWire(w, baseFace));
122
- }
123
- return require_surfaceBuilders.addHolesInFace(baseFace, holeWires);
124
- };
125
- var solidFromShellGenerator = (sketches, shellGenerator) => {
126
- const shells = [];
127
- const startWires = [];
128
- const endWires = [];
129
- sketches.forEach((sketch) => {
130
- const [shell, startWire, endWire] = require_errors.unwrap(shellGenerator(sketch));
131
- shells.push(shell);
132
- startWires.push(startWire);
133
- endWires.push(endWire);
134
- });
135
- const startFace = faceFromWires(startWires);
136
- const endFace = faceFromWires(endWires);
137
- return require_errors.unwrap(require_solidBuilders.makeSolid([
138
- startFace,
139
- ...shells,
140
- endFace
141
- ]));
142
- };
143
- /**
144
- * Represent a face with holes as a group of sketches (one outer + zero or more inner).
145
- *
146
- * All contained sketches must share the same base surface. The first sketch is
147
- * treated as the outer boundary; subsequent sketches define holes.
148
- *
149
- * Typically produced from a {@link CompoundBlueprint} via `sketchOnPlane`.
150
- *
151
- * @see {@link Sketch} for single-wire profiles without holes.
152
- * @category Sketching
153
- */
154
- var CompoundSketch = class {
155
- sketches;
156
- constructor(sketches) {
157
- if (sketches.length === 0) require_errors.bug("CompoundSketch", "Cannot create CompoundSketch with an empty array of sketches");
158
- this.sketches = sketches;
159
- }
160
- /** Release all kernel resources held by every sub-sketch. */
161
- delete() {
162
- this.sketches.forEach((sketch) => {
163
- sketch.delete();
164
- });
165
- }
166
- /** Get the outer boundary sketch (the first in the array). */
167
- get outerSketch() {
168
- return require_arrayAccess.firstOrThrow(this.sketches);
169
- }
170
- /** Get the hole sketches (all but the first). */
171
- get innerSketches() {
172
- return this.sketches.slice(1);
173
- }
174
- /** Return all wires (outer + holes) combined into a compound shape. */
175
- get wires() {
176
- return require_solidBuilders.makeCompound(this.sketches.map((s) => s.wire));
177
- }
178
- /** Build a face from the outer boundary with inner wires subtracted as holes. */
179
- face() {
180
- return require_surfaceBuilders.addHolesInFace(this.outerSketch.face(), this.innerSketches.map((s) => s.wire));
181
- }
182
- /**
183
- * Extrude the compound face (with holes) along the default or given direction.
184
- *
185
- * Supports twist and profile extrusions. For twist/profile modes each
186
- * sub-sketch is extruded as a shell, then capped into a solid.
187
- */
188
- extrude(extrusionDistance, { extrusionDirection, extrusionProfile, twistAngle, origin } = {}) {
189
- const extrusionVec = require_vecOps.vecScale(require_vecOps.vecNormalize(extrusionDirection ? require_types.toVec3(extrusionDirection) : this.outerSketch.defaultDirection), extrusionDistance);
190
- let result;
191
- if (extrusionProfile && !twistAngle) result = solidFromShellGenerator(this.sketches, (sketch) => require_extrudeFns.complexExtrude(sketch.wire, origin ? require_types.toVec3(origin) : this.outerSketch.defaultOrigin, extrusionVec, extrusionProfile, true));
192
- else if (twistAngle) result = solidFromShellGenerator(this.sketches, (sketch) => require_extrudeFns.twistExtrude(sketch.wire, twistAngle, origin ? require_types.toVec3(origin) : this.outerSketch.defaultOrigin, extrusionVec, extrusionProfile, true));
193
- else result = require_errors.unwrap(require_extrudeFns.extrude(this.face(), extrusionVec));
194
- return result;
195
- }
196
- /**
197
- * Revolves the drawing on an axis (defined by its direction and an origin
198
- * (defaults to the sketch origin)
199
- */
200
- revolve(revolutionAxis, { origin } = {}) {
201
- const center = origin ? require_types.toVec3(origin) : this.outerSketch.defaultOrigin;
202
- const dir = revolutionAxis ? require_types.toVec3(revolutionAxis) : [
203
- 0,
204
- 0,
205
- 1
206
- ];
207
- return require_errors.unwrap(require_extrudeFns.revolve(this.face(), center, dir));
208
- }
209
- /** Loft between this compound sketch and another with matching sub-sketch counts. */
210
- loftWith(otherCompound, loftConfig) {
211
- if (this.sketches.length !== otherCompound.sketches.length) require_errors.bug("CompoundSketch.loftWith", "You need to loft with another compound with the same number of sketches");
212
- const shells = this.sketches.map((base, cIndex) => {
213
- const outer = require_arrayAccess.getAtOrThrow(otherCompound.sketches, cIndex);
214
- const loftOpts = {};
215
- if (loftConfig.ruled !== void 0) loftOpts.ruled = loftConfig.ruled;
216
- return base.clone().loftWith(outer.clone(), loftOpts, true);
217
- });
218
- const baseFace = require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.downcast(this.face().wrapped)));
219
- shells.push(baseFace, otherCompound.face());
220
- return require_errors.unwrap(require_solidBuilders.makeSolid(shells));
221
- }
222
- };
223
- //#endregion
224
- //#region src/sketching/sketches.ts
225
- /**
226
- * Batch wrapper around multiple {@link Sketch} or {@link CompoundSketch} instances.
227
- *
228
- * Applies the same operation (extrude, revolve, etc.) to every contained sketch
229
- * and returns the results combined into a single compound shape.
230
- *
231
- * @category Sketching
232
- */
233
- var Sketches = class {
234
- sketches;
235
- constructor(sketches) {
236
- this.sketches = sketches;
237
- }
238
- /** Return all wires combined into a single compound shape. */
239
- wires() {
240
- return require_solidBuilders.makeCompound(this.sketches.map((s) => s instanceof require_boolean2D.Sketch ? s.wire : s.wires));
241
- }
242
- /** Return all sketch faces combined into a single compound shape. */
243
- faces() {
244
- return require_solidBuilders.makeCompound(this.sketches.map((s) => s.face()));
245
- }
246
- /** Extrudes the sketch to a certain distance (along the default direction
247
- * and origin of the sketch).
248
- *
249
- * You can define another extrusion direction or origin,
250
- *
251
- * It is also possible to twist extrude with an angle (in degrees), or to
252
- * give a profile to the extrusion (the endFactor will scale the face, and
253
- * the profile will define how the scale is applied (either linearly or with
254
- * a s-shape).
255
- */
256
- extrude(extrusionDistance, extrusionConfig = {}) {
257
- return require_solidBuilders.makeCompound(this.sketches.map((s) => s.extrude(extrusionDistance, extrusionConfig)));
258
- }
259
- /**
260
- * Revolves the drawing on an axis (defined by its direction and an origin
261
- * (defaults to the sketch origin)
262
- */
263
- revolve(revolutionAxis, config) {
264
- return require_solidBuilders.makeCompound(this.sketches.map((s) => s.revolve(revolutionAxis, config)));
265
- }
266
- };
267
- //#endregion
268
71
  //#region src/sketching/sketcher.ts
269
72
  /**
270
73
  * Build 2D wire profiles on a 3D plane using a builder-pen API.
@@ -286,7 +89,7 @@ var Sketches = class {
286
89
  * @see {@link DrawingPen} for the pure-2D equivalent.
287
90
  * @category Sketching
288
91
  */
289
- var Sketcher = class extends require_boolean2D.BaseSketcher2d {
92
+ var Sketcher = class extends require_blueprintSketcher.BaseSketcher2d {
290
93
  plane;
291
94
  constructor(plane, origin) {
292
95
  super();
@@ -309,19 +112,19 @@ var Sketcher = class extends require_boolean2D.BaseSketcher2d {
309
112
  }
310
113
  buildWire() {
311
114
  try {
312
- var _usingCtx$3 = require_shapeTypes._usingCtx();
115
+ var _usingCtx$4 = require_shapeTypes._usingCtx();
313
116
  if (!this.pendingCurves.length) require_errors.bug("Sketcher.buildWire", "No lines to convert into a wire");
314
- const scope = _usingCtx$3.u(new require_shapeTypes.DisposalScope());
117
+ const scope = _usingCtx$4.u(new require_shapeTypes.DisposalScope());
315
118
  return require_errors.unwrap(require_surfaceBuilders.assembleWire(require_blueprint.curvesAsEdgesOnPlane(this.pendingCurves, this.plane).map((e) => scope.register(e))));
316
119
  } catch (_) {
317
- _usingCtx$3.e = _;
120
+ _usingCtx$4.e = _;
318
121
  } finally {
319
- _usingCtx$3.d();
122
+ _usingCtx$4.d();
320
123
  }
321
124
  }
322
125
  /** Finish drawing and return the open-wire Sketch (does not close the path). */
323
126
  done() {
324
- return new require_boolean2D.Sketch(this.buildWire(), {
127
+ return new require_textBlueprints.Sketch(this.buildWire(), {
325
128
  defaultOrigin: this.plane.origin,
326
129
  defaultDirection: this.plane.zDir
327
130
  });
@@ -343,7 +146,7 @@ var Sketcher = class extends require_boolean2D.BaseSketcher2d {
343
146
  const pointer3d = require_planeOps.planeToWorld(this.plane, this.pointer);
344
147
  const normal = require_vecOps.vecCross(require_vecOps.vecNormalize(require_vecOps.vecSub(pointer3d, require_planeOps.planeToWorld(this.plane, this.firstPoint))), this.plane.zDir);
345
148
  const clonedWrapped = require_errors.unwrap(require_faceFns.downcast(wire.wrapped));
346
- return new require_boolean2D.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([wire, require_shapeTypes.createWire(require_errors.unwrap(require_faceFns.downcast(require_shapeTypes.getKernel().mirror(clonedWrapped, require_types.toVec3(pointer3d), require_types.toVec3(normal)))))])), {
149
+ return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([wire, require_shapeTypes.createWire(require_errors.unwrap(require_faceFns.downcast(require_shapeTypes.getKernel().mirror(clonedWrapped, require_types.toVec3(pointer3d), require_types.toVec3(normal)))))])), {
347
150
  defaultOrigin: this.plane.origin,
348
151
  defaultDirection: this.plane.zDir
349
152
  });
@@ -362,6 +165,122 @@ var Sketcher = class extends require_boolean2D.BaseSketcher2d {
362
165
  }
363
166
  };
364
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 require_blueprintSketcher.BaseSketcher2d {
183
+ face;
184
+ _bounds;
185
+ constructor(face, origin = [0, 0]) {
186
+ super(origin);
187
+ this.face = require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.downcast(face.wrapped)));
188
+ this._bounds = require_faceFns.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 require_shapeTypes.getKernel().extractSurfaceFromFace(this.face.wrapped);
200
+ }
201
+ /**
202
+ * @ignore
203
+ */
204
+ buildWire() {
205
+ const kernel = require_shapeTypes.getKernel();
206
+ const geomSurf = this._adaptSurface();
207
+ const wire = require_errors.unwrap(require_surfaceBuilders.assembleWire(this.pendingCurves.map((curve) => {
208
+ return require_shapeTypes.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 = require_shapeTypes._usingCtx();
217
+ const scope = _usingCtx$3.u(new require_shapeTypes.DisposalScope());
218
+ const wire = this.buildWire();
219
+ const sketch = new require_textBlueprints.Sketch(wire);
220
+ if (require_curveFns.curveIsClosed(wire)) {
221
+ const face = scope.register(sketch.clone().face());
222
+ const origin = require_faceFns.pointOnSurface(face, .5, .5);
223
+ const direction = require_vecOps.vecScale(require_faceFns.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 = require_curveFns.curveStartPoint(wire);
236
+ const normal = require_faceFns.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
365
284
  //#region src/sketching/cannedSketches.ts
366
285
  /**
367
286
  * Create a circular Sketch on a given plane.
@@ -380,7 +299,7 @@ var Sketcher = class extends require_boolean2D.BaseSketcher2d {
380
299
  */
381
300
  var sketchCircle = (radius, planeConfig = {}) => {
382
301
  const plane = planeConfig.plane && typeof planeConfig.plane !== "string" ? { ...planeConfig.plane } : require_errors.unwrap(require_planeOps.resolvePlane(planeConfig.plane ?? "XY", planeConfig.origin));
383
- return new require_boolean2D.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_surfaceBuilders.makeCircle(radius, plane.origin, plane.zDir)])), {
302
+ return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_surfaceBuilders.makeCircle(radius, plane.origin, plane.zDir)])), {
384
303
  defaultOrigin: [...plane.origin],
385
304
  defaultDirection: [...plane.zDir]
386
305
  });
@@ -405,7 +324,7 @@ var sketchEllipse = (xRadius = 1, yRadius = 2, planeConfig = {}) => {
405
324
  majR = yRadius;
406
325
  minR = xRadius;
407
326
  }
408
- return new require_boolean2D.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_errors.unwrap(require_surfaceBuilders.makeEllipse(majR, minR, plane.origin, plane.zDir, xDir))])), {
327
+ return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_errors.unwrap(require_surfaceBuilders.makeEllipse(majR, minR, plane.origin, plane.zDir, xDir))])), {
409
328
  defaultOrigin: [...plane.origin],
410
329
  defaultDirection: [...plane.zDir]
411
330
  });
@@ -445,7 +364,7 @@ var sketchRoundedRectangle = (width, height, r = 0, planeConfig = {}) => {
445
364
  const opts = {};
446
365
  if (data.defaultOrigin) opts.defaultOrigin = data.defaultOrigin;
447
366
  if (data.defaultDirection) opts.defaultDirection = data.defaultDirection;
448
- return new require_boolean2D.Sketch(data.wire, opts);
367
+ return new require_textBlueprints.Sketch(data.wire, opts);
449
368
  };
450
369
  /**
451
370
  * Create a regular-polygon Sketch on a given plane.
@@ -506,7 +425,7 @@ var polysideInnerRadius = (outerRadius, sidesCount, sagitta = 0) => {
506
425
  var sketchFaceOffset = (face, offset) => {
507
426
  const defaultOrigin = [...require_faceFns.faceCenter(face)];
508
427
  const defaultDirection = [...require_faceFns.normalAt(face)];
509
- return new require_boolean2D.Sketch(require_errors.unwrap(require_curveFns.offsetWire2D(require_faceFns.outerWire(face), offset)), {
428
+ return new require_textBlueprints.Sketch(require_errors.unwrap(require_curveFns.offsetWire2D(require_faceFns.outerWire(face), offset)), {
510
429
  defaultOrigin,
511
430
  defaultDirection
512
431
  });
@@ -533,7 +452,7 @@ var sketchParametricFunction = (func, planeConfig = {}, { pointsCount = 400, sta
533
452
  const points = [...Array(pointsCount + 1).keys()].map((t) => {
534
453
  return require_planeOps.planeToWorld(plane, func(start + t * stepSize));
535
454
  });
536
- return new require_boolean2D.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([scope.register(require_errors.unwrap(require_surfaceBuilders.makeBSplineApproximation(points, approximationConfig)))])), {
455
+ return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([scope.register(require_errors.unwrap(require_surfaceBuilders.makeBSplineApproximation(points, approximationConfig)))])), {
537
456
  defaultOrigin: [...plane.origin],
538
457
  defaultDirection: [...plane.zDir]
539
458
  });
@@ -565,7 +484,7 @@ var sketchHelix = (pitch, height, radius, center = [
565
484
  0,
566
485
  1
567
486
  ], lefthand = false) => {
568
- return new require_boolean2D.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_surfaceBuilders.makeHelix(pitch, height, radius, require_types.toVec3(center), require_types.toVec3(dir), lefthand)])));
487
+ return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_surfaceBuilders.makeHelix(pitch, height, radius, require_types.toVec3(center), require_types.toVec3(dir), lefthand)])));
569
488
  };
570
489
  //#endregion
571
490
  //#region src/sketching/shortcuts.ts
@@ -683,7 +602,7 @@ function findSelfIntersections(offsettedArray) {
683
602
  const intersections = allIntersections.get(index) || [];
684
603
  allIntersections.set(index, [...intersections, ...newPoints]);
685
604
  };
686
- const spatialIndex = new require_boolean2D.Flatbush(offsettedArray.length);
605
+ const spatialIndex = new require_blueprintSketcher.Flatbush(offsettedArray.length);
687
606
  for (const curve of offsettedArray) {
688
607
  const [[xMin, yMin], [xMax, yMax]] = curve.boundingBox.bounds;
689
608
  spatialIndex.add(xMin, yMin, xMax, yMax);
@@ -695,7 +614,7 @@ function findSelfIntersections(offsettedArray) {
695
614
  for (const secondIndex of candidates) {
696
615
  if (secondIndex <= firstIndex) continue;
697
616
  const secondCurve = require_errors.safeIndex(offsettedArray, secondIndex, "offsetBlueprint");
698
- const { intersections: rawIntersections, commonSegmentsPoints } = require_errors.unwrap(require_boolean2D.intersectCurves(firstCurve, secondCurve, require_helpers.PRECISION_OFFSET));
617
+ const { intersections: rawIntersections, commonSegmentsPoints } = require_errors.unwrap(require_blueprintSketcher.intersectCurves(firstCurve, secondCurve, require_helpers.PRECISION_OFFSET));
699
618
  const intersections = [...rawIntersections, ...commonSegmentsPoints].filter((intersection) => {
700
619
  const onFirstCurveExtremity = samePoint(intersection, firstCurve.firstPoint) || samePoint(intersection, firstCurve.lastPoint);
701
620
  const onSecondCurveExtremity = samePoint(intersection, secondCurve.firstPoint) || samePoint(intersection, secondCurve.lastPoint);
@@ -725,7 +644,7 @@ function findSelfIntersections(offsettedArray) {
725
644
  function rawOffsets(blueprint, offset, offsetConfig = {}) {
726
645
  const correctedOffset = blueprint.orientation === "clockwise" ? -offset : offset;
727
646
  const offsetCurves = blueprint.curves.map((c) => ({
728
- offset: require_boolean2D.make2dOffset(c, correctedOffset),
647
+ offset: require_blueprintSketcher.make2dOffset(c, correctedOffset),
729
648
  original: c
730
649
  }));
731
650
  const offsettedArray = [];
@@ -756,7 +675,7 @@ function rawOffsets(blueprint, offset, offsetConfig = {}) {
756
675
  }
757
676
  let intersections = [];
758
677
  if (previousCurve.offset instanceof require_blueprint.Curve2D && curve.offset instanceof require_blueprint.Curve2D) {
759
- const { intersections: pointIntersections, commonSegmentsPoints } = require_errors.unwrap(require_boolean2D.intersectCurves(previousCurve.offset, curve.offset, require_helpers.PRECISION_OFFSET / 100));
678
+ const { intersections: pointIntersections, commonSegmentsPoints } = require_errors.unwrap(require_blueprintSketcher.intersectCurves(previousCurve.offset, curve.offset, require_helpers.PRECISION_OFFSET / 100));
760
679
  intersections = [...pointIntersections, ...commonSegmentsPoints];
761
680
  }
762
681
  if (intersections.length > 0) {
@@ -801,7 +720,7 @@ function offsetBlueprint(blueprint, offset, offsetConfig = {}) {
801
720
  const intersections = allIntersections.get(index) || [];
802
721
  return curve.splitAt(intersections, require_helpers.PRECISION_OFFSET * 100);
803
722
  });
804
- const originalIndex = new require_boolean2D.Flatbush(blueprint.curves.length);
723
+ const originalIndex = new require_blueprintSketcher.Flatbush(blueprint.curves.length);
805
724
  for (const c of blueprint.curves) {
806
725
  const [[xMin, yMin], [xMax, yMax]] = c.boundingBox.bounds;
807
726
  originalIndex.add(xMin, yMin, xMax, yMax);
@@ -818,7 +737,7 @@ function offsetBlueprint(blueprint, offset, offsetConfig = {}) {
818
737
  const blueprints = stitchCurves(prunedCurves).filter((c) => c.length > 1).map((c) => new require_blueprint.Blueprint(c)).filter((b) => b.isClosed());
819
738
  if (!blueprints.length) return null;
820
739
  if (blueprints.length === 1) return require_errors.safeIndex(blueprints, 0, "offsetBlueprint");
821
- return new require_boolean2D.Blueprints(blueprints);
740
+ return new require_blueprintSketcher.Blueprints(blueprints);
822
741
  }
823
742
  var fuseAll = (blueprints) => {
824
743
  let fused = require_errors.safeIndex(blueprints, 0, "fuseAll");
@@ -844,8 +763,8 @@ var fuseAll = (blueprints) => {
844
763
  */
845
764
  function offset(bp, offsetDistance, offsetConfig = {}) {
846
765
  if (bp instanceof require_blueprint.Blueprint) return offsetBlueprint(bp, offsetDistance, offsetConfig);
847
- else if (bp instanceof require_boolean2D.Blueprints) return fuseAll(bp.blueprints.map((b) => offset(b, offsetDistance, offsetConfig)));
848
- else if (bp instanceof require_boolean2D.CompoundBlueprint) {
766
+ else if (bp instanceof require_blueprintSketcher.Blueprints) return fuseAll(bp.blueprints.map((b) => offset(b, offsetDistance, offsetConfig)));
767
+ else if (bp instanceof require_blueprintSketcher.CompoundBlueprint) {
849
768
  const innerShape = fuseAll(bp.blueprints.slice(1).map((b) => offset(b, -offsetDistance, offsetConfig)));
850
769
  return require_boolean2D.cut2D(offset(require_errors.safeIndex(bp.blueprints, 0, "offset"), offsetDistance, offsetConfig), innerShape);
851
770
  }
@@ -866,8 +785,8 @@ function offset(bp, offsetDistance, offsetConfig = {}) {
866
785
  */
867
786
  function approximateForSVG(bp, options) {
868
787
  if (bp instanceof require_blueprint.Blueprint) return new require_blueprint.Blueprint(require_blueprint.approximateAsSvgCompatibleCurve(bp.curves, options));
869
- else if (bp instanceof require_boolean2D.CompoundBlueprint) return new require_boolean2D.CompoundBlueprint(bp.blueprints.map((b) => approximateForSVG(b, options)));
870
- else if (bp instanceof require_boolean2D.Blueprints) return new require_boolean2D.Blueprints(bp.blueprints.map((b) => approximateForSVG(b, options)));
788
+ else if (bp instanceof require_blueprintSketcher.CompoundBlueprint) return new require_blueprintSketcher.CompoundBlueprint(bp.blueprints.map((b) => approximateForSVG(b, options)));
789
+ else if (bp instanceof require_blueprintSketcher.Blueprints) return new require_blueprintSketcher.Blueprints(bp.blueprints.map((b) => approximateForSVG(b, options)));
871
790
  return bp;
872
791
  }
873
792
  //#endregion
@@ -901,8 +820,8 @@ function modifyCorners(makeCorner, blueprint, radius, finder) {
901
820
  }
902
821
  function modifyCorner2D(makeCorner, shape, radius, finder) {
903
822
  if (shape instanceof require_blueprint.Blueprint) return modifyCorners(makeCorner, shape, radius, finder);
904
- if (shape instanceof require_boolean2D.CompoundBlueprint) return new require_boolean2D.CompoundBlueprint(shape.blueprints.map((b) => modifyCorners(makeCorner, b, radius, finder)));
905
- if (shape instanceof require_boolean2D.Blueprints) return new require_boolean2D.Blueprints(shape.blueprints.map((b) => modifyCorner2D(makeCorner, b, radius, finder)).filter((b) => b !== null));
823
+ if (shape instanceof require_blueprintSketcher.CompoundBlueprint) return new require_blueprintSketcher.CompoundBlueprint(shape.blueprints.map((b) => modifyCorners(makeCorner, b, radius, finder)));
824
+ if (shape instanceof require_blueprintSketcher.Blueprints) return new require_blueprintSketcher.Blueprints(shape.blueprints.map((b) => modifyCorner2D(makeCorner, b, radius, finder)).filter((b) => b !== null));
906
825
  return null;
907
826
  }
908
827
  /**
@@ -918,7 +837,7 @@ function modifyCorner2D(makeCorner, shape, radius, finder) {
918
837
  * @returns A new shape with filleted corners, or `null` if the input is `null`.
919
838
  */
920
839
  function fillet2D(shape, radius, finder) {
921
- return modifyCorner2D(require_boolean2D.filletCurves, shape, radius, finder);
840
+ return modifyCorner2D(require_blueprintSketcher.filletCurves, shape, radius, finder);
922
841
  }
923
842
  /**
924
843
  * Apply chamfer (beveled) corners to a 2D shape.
@@ -933,181 +852,14 @@ function fillet2D(shape, radius, finder) {
933
852
  * @returns A new shape with chamfered corners, or `null` if the input is `null`.
934
853
  */
935
854
  function chamfer2D(shape, radius, finder) {
936
- return modifyCorner2D(require_boolean2D.chamferCurves, shape, radius, finder);
937
- }
938
- //#endregion
939
- //#region src/sketching/sketchUtils.ts
940
- /** Wrap SketchData into a Sketch instance. */
941
- function wrapSketchData(data) {
942
- const opts = {};
943
- if (data.defaultOrigin) opts.defaultOrigin = data.defaultOrigin;
944
- if (data.defaultDirection) opts.defaultDirection = data.defaultDirection;
945
- const sketch = new require_boolean2D.Sketch(data.wire, opts);
946
- if (data.baseFace) sketch.baseFace = data.baseFace;
947
- return sketch;
948
- }
949
- /** Wrap an array of SketchData into a CompoundSketch. */
950
- function wrapSketchDataArray(dataArr) {
951
- return new CompoundSketch(dataArr.map(wrapSketchData));
952
- }
953
- //#endregion
954
- //#region src/text/textBlueprints.ts
955
- var FONT_REGISTER = {};
956
- /**
957
- * Load and register an OpenType/TrueType font for use with text drawing functions.
958
- *
959
- * The font is fetched (if a URL string) or parsed (if an ArrayBuffer) and
960
- * stored in an internal registry keyed by `fontFamily`. The first font loaded
961
- * is also registered as `'default'`.
962
- *
963
- * @param fontPath - URL string or raw ArrayBuffer of the font file.
964
- * @param fontFamily - Registry key for later retrieval (defaults to `'default'`).
965
- * @param force - If true, overwrite a previously loaded font with the same key.
966
- * @returns The parsed opentype.js Font object.
967
- */
968
- async function loadFont(fontPath, fontFamily = "default", force = false) {
969
- if (!force && FONT_REGISTER[fontFamily]) return require_errors.ok(FONT_REGISTER[fontFamily]);
970
- let fontData;
971
- if (typeof fontPath === "string") {
972
- let response;
973
- try {
974
- response = await fetch(fontPath);
975
- } catch (e) {
976
- return require_errors.err(require_errors.ioError(require_errors.BrepErrorCode.FONT_FETCH_FAILED, `Failed to fetch font from ${fontPath}: ${e instanceof Error ? e.message : String(e)}`, e));
977
- }
978
- if (!response.ok) return require_errors.err(require_errors.ioError(require_errors.BrepErrorCode.FONT_FETCH_FAILED, `Failed to fetch font from ${fontPath}: HTTP ${response.status} ${response.statusText}`));
979
- fontData = await response.arrayBuffer();
980
- } else fontData = fontPath;
981
- let font;
982
- try {
983
- font = opentype_js.default.parse(fontData);
984
- } catch (e) {
985
- return require_errors.err(require_errors.ioError(require_errors.BrepErrorCode.FONT_PARSE_FAILED, `Failed to parse font data: ${e instanceof Error ? e.message : String(e)}`, e));
986
- }
987
- const typedFont = font;
988
- FONT_REGISTER[fontFamily] = typedFont;
989
- if (!FONT_REGISTER["default"]) FONT_REGISTER["default"] = typedFont;
990
- return require_errors.ok(typedFont);
991
- }
992
- /**
993
- * Retrieve a previously loaded font by family name.
994
- *
995
- * @param fontFamily - Registry key (defaults to `'default'`).
996
- * @returns The opentype.js Font object, or `undefined` if not loaded.
997
- */
998
- var getFont = (fontFamily = "default") => {
999
- return FONT_REGISTER[fontFamily];
1000
- };
1001
- var sketchFontCommands = function* (commands) {
1002
- let sk = null;
1003
- let lastPoint = null;
1004
- for (const command of commands) {
1005
- if (command.type === "Z") {
1006
- if (sk) yield sk.close();
1007
- sk = null;
1008
- continue;
1009
- }
1010
- const p = [-command.x, command.y];
1011
- if (command.type === "M") {
1012
- if (sk) yield sk.done();
1013
- sk = new require_boolean2D.BlueprintSketcher();
1014
- sk.movePointerTo(p);
1015
- lastPoint = p;
1016
- continue;
1017
- }
1018
- if (lastPoint && Math.abs(p[0] - lastPoint[0]) < 1e-9 && Math.abs(p[1] - lastPoint[1]) < 1e-9) continue;
1019
- if (command.type === "L") sk?.lineTo(p);
1020
- if (command.type === "C") sk?.cubicBezierCurveTo(p, [-command.x1, command.y1], [-command.x2, command.y2]);
1021
- if (command.type === "Q") sk?.quadraticBezierCurveTo(p, [-command.x1, command.y1]);
1022
- lastPoint = p;
1023
- }
1024
- };
1025
- /**
1026
- * Convert a text string into 2D Blueprints using a loaded font.
1027
- *
1028
- * Each glyph outline is traced as a series of line/bezier curves, then
1029
- * organised into a {@link Blueprints} collection (outer contours + holes).
1030
- *
1031
- * @param text - The string to render.
1032
- * @returns A Blueprints instance representing the text outlines.
1033
- *
1034
- * @remarks Requires a font to be loaded via {@link loadFont} before use.
1035
- */
1036
- function textBlueprints(text, { startX = 0, startY = 0, fontSize = 16, fontFamily = "default" } = {}) {
1037
- let font = getFont(fontFamily);
1038
- if (!font) font = getFont();
1039
- if (!font) require_errors.bug("text", "No fonts loaded. Call loadFont() before using text functions.");
1040
- const writtenText = font.getPath(text, -startX, -startY, fontSize);
1041
- return require_boolean2D.organiseBlueprints(Array.from(sketchFontCommands(writtenText.commands))).mirror([0, 0]);
1042
- }
1043
- /**
1044
- * Render text as 3D sketch outlines on a plane.
1045
- *
1046
- * Combines {@link textBlueprints} with `sketchOnPlane` to produce a
1047
- * {@link Sketches} collection that can be extruded, revolved, etc.
1048
- *
1049
- * @param text - The string to render.
1050
- * @param textConfig - Font size, family, and start position.
1051
- * @param planeConfig - Plane name / origin to sketch on (defaults to XY at origin).
1052
- * @returns A {@link Sketches} collection of the text outlines.
1053
- *
1054
- * @example
1055
- * ```ts
1056
- * await loadFont("/fonts/Roboto.ttf");
1057
- * const textSketches = sketchText("Hello", { fontSize: 24 });
1058
- * const solid = textSketches.extrude(2);
1059
- * ```
1060
- */
1061
- function sketchText(text, textConfig, planeConfig = {}) {
1062
- const textBp = textBlueprints(text, textConfig);
1063
- 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)));
1064
- }
1065
- /**
1066
- * Measure the dimensions of a text string without generating geometry.
1067
- *
1068
- * Requires a font to be loaded via {@link loadFont} first.
1069
- */
1070
- function textMetrics(text, options) {
1071
- const fontSize = options?.fontSize ?? 1;
1072
- const font = getFont(options?.fontFamily);
1073
- if (!font) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.NO_FONT_LOADED, "No font loaded. Call loadFont() first.", void 0, void 0, "Load a font with loadFont() before calling textMetrics()"));
1074
- const width = font.getAdvanceWidth(text, fontSize);
1075
- const scale = fontSize / font.unitsPerEm;
1076
- const ascender = font.ascender * scale;
1077
- const descender = font.descender * scale;
1078
- return require_errors.ok({
1079
- width,
1080
- height: ascender - descender,
1081
- ascender,
1082
- descender
1083
- });
1084
- }
1085
- /**
1086
- * Retrieve font-level metrics without referencing specific text.
1087
- *
1088
- * Requires a font to be loaded via {@link loadFont} first.
1089
- */
1090
- function fontMetrics(options) {
1091
- const fontSize = options?.fontSize ?? 1;
1092
- const font = getFont(options?.fontFamily);
1093
- if (!font) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.NO_FONT_LOADED, "No font loaded. Call loadFont() first.", void 0, void 0, "Load a font with loadFont() before calling fontMetrics()"));
1094
- const scale = fontSize / font.unitsPerEm;
1095
- const ascender = font.ascender * scale;
1096
- const descender = font.descender * scale;
1097
- const lineGap = (font.tables?.os2?.sTypoLineGap ?? 0) * scale;
1098
- return require_errors.ok({
1099
- ascender,
1100
- descender,
1101
- unitsPerEm: font.unitsPerEm,
1102
- lineHeight: ascender - descender + lineGap
1103
- });
855
+ return modifyCorner2D(require_blueprintSketcher.chamferCurves, shape, radius, finder);
1104
856
  }
1105
857
  //#endregion
1106
- //#region src/sketching/draw.ts
858
+ //#region src/sketching/drawing.ts
1107
859
  function wrapBlueprintResult(shape, result) {
1108
- if (shape instanceof require_blueprint.Blueprint) return wrapSketchData(result);
1109
- else if (shape instanceof require_boolean2D.CompoundBlueprint) return wrapSketchDataArray(result);
1110
- else return new Sketches(result.map((item) => Array.isArray(item) ? wrapSketchDataArray(item) : wrapSketchData(item)));
860
+ if (shape instanceof require_blueprint.Blueprint) return require_textBlueprints.wrapSketchData(result);
861
+ else if (shape instanceof require_blueprintSketcher.CompoundBlueprint) return require_textBlueprints.wrapSketchDataArray(result);
862
+ else return new require_textBlueprints.Sketches(result.map((item) => Array.isArray(item) ? require_textBlueprints.wrapSketchDataArray(item) : require_textBlueprints.wrapSketchData(item)));
1111
863
  }
1112
864
  /**
1113
865
  * @categoryDescription Drawing
@@ -1145,11 +897,11 @@ var Drawing = class Drawing {
1145
897
  serialize() {
1146
898
  if (!this.innerShape) return JSON.stringify({ type: "Empty" });
1147
899
  function serializeHelper(shape) {
1148
- if (shape instanceof require_boolean2D.CompoundBlueprint) return {
900
+ if (shape instanceof require_blueprintSketcher.CompoundBlueprint) return {
1149
901
  type: "CompoundBlueprint",
1150
902
  blueprints: shape.blueprints.map(serializeHelper)
1151
903
  };
1152
- else if (shape instanceof require_boolean2D.Blueprints) return {
904
+ else if (shape instanceof require_blueprintSketcher.Blueprints) return {
1153
905
  type: "Blueprints",
1154
906
  blueprints: shape.blueprints.map(serializeHelper)
1155
907
  };
@@ -1279,20 +1031,35 @@ var Drawing = class Drawing {
1279
1031
  /** Access the underlying {@link Blueprint}, throwing if the drawing is compound. */
1280
1032
  get blueprint() {
1281
1033
  if (!(this.innerShape instanceof require_blueprint.Blueprint)) {
1282
- if (this.innerShape instanceof require_boolean2D.Blueprints && this.innerShape.blueprints.length === 1 && this.innerShape.blueprints[0] instanceof require_blueprint.Blueprint) return this.innerShape.blueprints[0];
1034
+ if (this.innerShape instanceof require_blueprintSketcher.Blueprints && this.innerShape.blueprints.length === 1 && this.innerShape.blueprints[0] instanceof require_blueprint.Blueprint) return this.innerShape.blueprints[0];
1283
1035
  require_errors.bug("Drawing.blueprint", "This drawing is not a blueprint");
1284
1036
  }
1285
1037
  return this.innerShape;
1286
1038
  }
1287
1039
  };
1288
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 require_blueprintSketcher.CompoundBlueprint(json["blueprints"].map(deserializeHelper));
1047
+ else if (json["type"] === "Blueprints") return new require_blueprintSketcher.Blueprints(json["blueprints"].map(deserializeHelper));
1048
+ else if (json["type"] === "Blueprint") return new require_blueprint.Blueprint(json["curves"].map((c) => require_blueprint.deserializeCurve2D(c)));
1049
+ else require_errors.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
+ /**
1289
1056
  * DrawingPen is a helper class to draw in 2D. It is used to create drawings
1290
1057
  * by exposing a builder interface. It is not a drawing itself, but it can be
1291
1058
  * used to create a drawing.
1292
1059
  *
1293
1060
  * @category Drawing
1294
1061
  */
1295
- var DrawingPen = class extends require_boolean2D.BaseSketcher2d {
1062
+ var DrawingPen = class extends require_blueprintSketcher.BaseSketcher2d {
1296
1063
  constructor(origin = [0, 0]) {
1297
1064
  super();
1298
1065
  this.pointer = origin;
@@ -1327,19 +1094,6 @@ var DrawingPen = class extends require_boolean2D.BaseSketcher2d {
1327
1094
  }
1328
1095
  };
1329
1096
  /**
1330
- * Deserializes a drawing from a string. String is expected to be in the format
1331
- * generated by `Drawing.serialize()`.
1332
- */
1333
- function deserializeDrawing(data) {
1334
- function deserializeHelper(json) {
1335
- if (json["type"] === "CompoundBlueprint") return new require_boolean2D.CompoundBlueprint(json["blueprints"].map(deserializeHelper));
1336
- else if (json["type"] === "Blueprints") return new require_boolean2D.Blueprints(json["blueprints"].map(deserializeHelper));
1337
- else if (json["type"] === "Blueprint") return new require_blueprint.Blueprint(json["curves"].map((c) => require_blueprint.deserializeCurve2D(c)));
1338
- else require_errors.bug("Drawing.deserialize", "Unknown shape type for deserialization");
1339
- }
1340
- return new Drawing(deserializeHelper(JSON.parse(data)));
1341
- }
1342
- /**
1343
1097
  * Creates a drawing pen to programatically draw in 2D.
1344
1098
  *
1345
1099
  * @category Drawing
@@ -1349,6 +1103,8 @@ function draw(initialPoint) {
1349
1103
  if (initialPoint) pen.movePointerTo(initialPoint);
1350
1104
  return pen;
1351
1105
  }
1106
+ //#endregion
1107
+ //#region src/sketching/drawingFactories.ts
1352
1108
  /**
1353
1109
  * Creates the `Drawing` of a rectangle with (optional) rounded corners.
1354
1110
  *
@@ -1420,7 +1176,7 @@ function drawPolysides(radius, sidesCount, sagitta = 0) {
1420
1176
  * @category Drawing
1421
1177
  */
1422
1178
  function drawText(text, { startX = 0, startY = 0, fontSize = 16, fontFamily = "default" } = {}) {
1423
- return new Drawing(textBlueprints(text, {
1179
+ return new Drawing(require_textBlueprints.textBlueprints(text, {
1424
1180
  startX,
1425
1181
  startY,
1426
1182
  fontSize,
@@ -1458,275 +1214,6 @@ var drawParametricFunction = (func, { pointsCount = 400, start = 0, stop = 1, cl
1458
1214
  }), approximationConfig, { closeShape });
1459
1215
  };
1460
1216
  //#endregion
1461
- //#region src/projection/projectionPlanes.ts
1462
- /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
1463
- var PROJECTION_PLANES = {
1464
- XY: {
1465
- dir: [
1466
- 0,
1467
- 0,
1468
- 1
1469
- ],
1470
- xAxis: [
1471
- 1,
1472
- 0,
1473
- 0
1474
- ]
1475
- },
1476
- XZ: {
1477
- dir: [
1478
- 0,
1479
- -1,
1480
- 0
1481
- ],
1482
- xAxis: [
1483
- 1,
1484
- 0,
1485
- 0
1486
- ]
1487
- },
1488
- YZ: {
1489
- dir: [
1490
- 1,
1491
- 0,
1492
- 0
1493
- ],
1494
- xAxis: [
1495
- 0,
1496
- 1,
1497
- 0
1498
- ]
1499
- },
1500
- YX: {
1501
- dir: [
1502
- 0,
1503
- 0,
1504
- -1
1505
- ],
1506
- xAxis: [
1507
- 0,
1508
- 1,
1509
- 0
1510
- ]
1511
- },
1512
- ZX: {
1513
- dir: [
1514
- 0,
1515
- 1,
1516
- 0
1517
- ],
1518
- xAxis: [
1519
- 0,
1520
- 0,
1521
- 1
1522
- ]
1523
- },
1524
- ZY: {
1525
- dir: [
1526
- -1,
1527
- 0,
1528
- 0
1529
- ],
1530
- xAxis: [
1531
- 0,
1532
- 0,
1533
- 1
1534
- ]
1535
- },
1536
- front: {
1537
- dir: [
1538
- 0,
1539
- -1,
1540
- 0
1541
- ],
1542
- xAxis: [
1543
- 1,
1544
- 0,
1545
- 0
1546
- ]
1547
- },
1548
- back: {
1549
- dir: [
1550
- 0,
1551
- 1,
1552
- 0
1553
- ],
1554
- xAxis: [
1555
- -1,
1556
- 0,
1557
- 0
1558
- ]
1559
- },
1560
- right: {
1561
- dir: [
1562
- -1,
1563
- 0,
1564
- 0
1565
- ],
1566
- xAxis: [
1567
- 0,
1568
- -1,
1569
- 0
1570
- ]
1571
- },
1572
- left: {
1573
- dir: [
1574
- 1,
1575
- 0,
1576
- 0
1577
- ],
1578
- xAxis: [
1579
- 0,
1580
- 1,
1581
- 0
1582
- ]
1583
- },
1584
- bottom: {
1585
- dir: [
1586
- 0,
1587
- 0,
1588
- 1
1589
- ],
1590
- xAxis: [
1591
- 1,
1592
- 0,
1593
- 0
1594
- ]
1595
- },
1596
- top: {
1597
- dir: [
1598
- 0,
1599
- 0,
1600
- -1
1601
- ],
1602
- xAxis: [
1603
- 1,
1604
- 0,
1605
- 0
1606
- ]
1607
- }
1608
- };
1609
- /** Type guard — check if a value is a valid {@link ProjectionPlane} name. */
1610
- function isProjectionPlane(plane) {
1611
- return typeof plane === "string" && plane in PROJECTION_PLANES;
1612
- }
1613
- //#endregion
1614
- //#region src/projection/makeProjectedEdges.ts
1615
- var getEdgesFromOc = (shape) => {
1616
- if (shape.IsNull()) return [];
1617
- return require_faceFns.getEdges(require_shapeTypes.castShape(shape));
1618
- };
1619
- /**
1620
- * Project a 3D shape onto a 2D plane using hidden-line removal (HLR).
1621
- *
1622
- * @param camera - Camera defining the projection plane.
1623
- * @param withHiddenLines - If `true`, also returns hidden (occluded) edges.
1624
- * @returns Separate arrays of visible and hidden projected edges.
1625
- */
1626
- function makeProjectedEdges(shape, camera, withHiddenLines = true) {
1627
- const projected = require_shapeTypes.getKernel().projectEdges(shape.wrapped, [...camera.position], [...camera.direction], [...camera.xAxis]);
1628
- return {
1629
- visible: [
1630
- ...getEdgesFromOc(projected.visible.sharp),
1631
- ...getEdgesFromOc(projected.visible.smooth),
1632
- ...getEdgesFromOc(projected.visible.outline)
1633
- ],
1634
- hidden: withHiddenLines ? [
1635
- ...getEdgesFromOc(projected.hidden.sharp),
1636
- ...getEdgesFromOc(projected.hidden.smooth),
1637
- ...getEdgesFromOc(projected.hidden.outline)
1638
- ] : []
1639
- };
1640
- }
1641
- //#endregion
1642
- //#region src/projection/cameraFns.ts
1643
- /**
1644
- * Create a camera from position, direction, and an optional X-axis.
1645
- *
1646
- * If `xAxis` is omitted, it is derived automatically from the direction.
1647
- *
1648
- * @param position - Camera position in world coordinates.
1649
- * @param direction - View direction (camera looks along this vector).
1650
- * @param xAxis - Optional horizontal axis; derived automatically if not provided.
1651
- * @returns `Result<Camera>` -- an error if direction is zero-length.
1652
- */
1653
- function createCamera(position = [
1654
- 0,
1655
- 0,
1656
- 0
1657
- ], direction = [
1658
- 0,
1659
- 0,
1660
- 1
1661
- ], xAxis) {
1662
- if (require_vecOps.vecLength(direction) < 1e-12) return require_errors.err(require_errors.validationError("CAMERA_ZERO_DIRECTION", "Camera direction cannot be a zero-length vector"));
1663
- let resolvedXAxis;
1664
- if (xAxis) resolvedXAxis = require_vecOps.vecNormalize(xAxis);
1665
- else {
1666
- let cross = require_vecOps.vecCross([
1667
- 0,
1668
- 0,
1669
- 1
1670
- ], direction);
1671
- if (require_vecOps.vecLength(cross) < 1e-12) cross = require_vecOps.vecCross([
1672
- 0,
1673
- 1,
1674
- 0
1675
- ], direction);
1676
- if (require_vecOps.vecLength(cross) < 1e-12) cross = require_vecOps.vecCross([
1677
- 1,
1678
- 0,
1679
- 0
1680
- ], direction);
1681
- resolvedXAxis = require_vecOps.vecNormalize(cross);
1682
- }
1683
- const yAxis = require_vecOps.vecNormalize(require_vecOps.vecCross(direction, resolvedXAxis));
1684
- return require_errors.ok({
1685
- position,
1686
- direction: require_vecOps.vecNormalize(direction),
1687
- xAxis: resolvedXAxis,
1688
- yAxis
1689
- });
1690
- }
1691
- /**
1692
- * Create a new camera oriented to look at a target point from the current position.
1693
- *
1694
- * @param camera - Existing camera whose position is preserved.
1695
- * @param target - World-space point to look at.
1696
- * @returns `Result<Camera>` with updated direction and derived axes.
1697
- */
1698
- function cameraLookAt(camera, target) {
1699
- const direction = require_vecOps.vecNormalize(require_vecOps.vecSub(camera.position, target));
1700
- return createCamera(camera.position, direction);
1701
- }
1702
- /**
1703
- * Create a camera positioned at the origin, looking along a named projection plane.
1704
- *
1705
- * @param planeName - Named projection direction (e.g., `'front'`, `'top'`).
1706
- * @returns `Result<Camera>` configured for that standard view.
1707
- */
1708
- function cameraFromPlane(planeName) {
1709
- const config = PROJECTION_PLANES[planeName];
1710
- return createCamera([
1711
- 0,
1712
- 0,
1713
- 0
1714
- ], config.dir, config.xAxis);
1715
- }
1716
- /**
1717
- * Project the edges of a 3D shape onto a 2D plane defined by a {@link Camera}.
1718
- *
1719
- * @param shape - The 3D shape to project.
1720
- * @param camera - Camera defining the projection plane.
1721
- * @param withHiddenLines - If true, compute hidden-line edges as well.
1722
- * @returns Separate arrays of visible and hidden projected edges.
1723
- *
1724
- * @see {@link drawProjection} for the higher-level Drawing-based API.
1725
- */
1726
- function projectEdges(shape, camera, withHiddenLines = true) {
1727
- return makeProjectedEdges(shape, camera, withHiddenLines);
1728
- }
1729
- //#endregion
1730
1217
  //#region src/sketching/draw3d.ts
1731
1218
  var edgesToDrawing = (edges) => {
1732
1219
  try {
@@ -1737,7 +1224,7 @@ var edgesToDrawing = (edges) => {
1737
1224
  const stitchedCurves = stitchCurves(edges.map((e) => require_blueprint.edgeToCurve(e, planeFace))).map((s) => new require_blueprint.Blueprint(s));
1738
1225
  if (stitchedCurves.length === 0) return new Drawing();
1739
1226
  if (stitchedCurves.length === 1) return new Drawing(stitchedCurves[0]);
1740
- return new Drawing(new require_boolean2D.Blueprints(stitchedCurves));
1227
+ return new Drawing(new require_blueprintSketcher.Blueprints(stitchedCurves));
1741
1228
  } catch (_) {
1742
1229
  _usingCtx$1.e = _;
1743
1230
  } finally {
@@ -1753,9 +1240,9 @@ var edgesToDrawing = (edges) => {
1753
1240
  */
1754
1241
  function drawProjection(shape, projectionCamera = "front") {
1755
1242
  let camera;
1756
- if (typeof projectionCamera === "string") camera = require_errors.unwrap(cameraFromPlane(projectionCamera));
1243
+ if (typeof projectionCamera === "string") camera = require_errors.unwrap(require_cameraFns.cameraFromPlane(projectionCamera));
1757
1244
  else camera = projectionCamera;
1758
- const { visible, hidden } = projectEdges(shape, camera);
1245
+ const { visible, hidden } = require_cameraFns.projectEdges(shape, camera);
1759
1246
  return {
1760
1247
  visible: edgesToDrawing(visible),
1761
1248
  hidden: edgesToDrawing(hidden)
@@ -1771,10 +1258,10 @@ function drawFaceOutline(face) {
1771
1258
  var _usingCtx3 = require_shapeTypes._usingCtx();
1772
1259
  const scope = _usingCtx3.u(new require_shapeTypes.DisposalScope());
1773
1260
  const clonedFace = scope.register(require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.downcast(face.wrapped))));
1774
- const stitchedCurves = stitchCurves(require_faceFns.getEdges(scope.register(require_faceFns.outerWire(clonedFace))).map((e) => require_blueprint.edgeToCurve(e, face))).map((s) => new require_blueprint.Blueprint(s));
1261
+ const stitchedCurves = stitchCurves(require_topologyQueryFns.getEdges(scope.register(require_faceFns.outerWire(clonedFace))).map((e) => require_blueprint.edgeToCurve(e, face))).map((s) => new require_blueprint.Blueprint(s));
1775
1262
  if (stitchedCurves.length === 0) return new Drawing();
1776
1263
  if (stitchedCurves.length === 1) return new Drawing(stitchedCurves[0]);
1777
- return new Drawing(new require_boolean2D.Blueprints(stitchedCurves));
1264
+ return new Drawing(new require_blueprintSketcher.Blueprints(stitchedCurves));
1778
1265
  } catch (_) {
1779
1266
  _usingCtx3.e = _;
1780
1267
  } finally {
@@ -1782,133 +1269,6 @@ function drawFaceOutline(face) {
1782
1269
  }
1783
1270
  }
1784
1271
  //#endregion
1785
- //#region src/sketching/sketchFns.ts
1786
- /**
1787
- * Extrude a sketch to a given distance along its default (or overridden) direction.
1788
- *
1789
- * @param sketch - The sketch to extrude. Consumed (deleted) by this call.
1790
- * @param height - Extrusion distance.
1791
- * @param config - Optional direction, profile, twist angle, or origin overrides.
1792
- * @returns The extruded 3D solid.
1793
- *
1794
- * @see {@link Sketch.extrude} for the OOP equivalent.
1795
- */
1796
- function sketchExtrude(sketch, height, config) {
1797
- return sketch.extrude(height, config);
1798
- }
1799
- /**
1800
- * Revolve a sketch around an axis to produce a solid of revolution.
1801
- *
1802
- * @param sketch - The sketch to revolve. Consumed (deleted) by this call.
1803
- * @param revolutionAxis - Axis direction (defaults to sketch default direction).
1804
- * @param options - Optional origin override.
1805
- * @returns The revolved 3D solid.
1806
- *
1807
- * @see {@link Sketch.revolve} for the OOP equivalent.
1808
- */
1809
- function sketchRevolve(sketch, revolutionAxis, options) {
1810
- return sketch.revolve(revolutionAxis, options);
1811
- }
1812
- /**
1813
- * Loft between this sketch and one or more other sketches.
1814
- *
1815
- * @param sketch - The starting sketch. Consumed by this call.
1816
- * @param otherSketches - Target sketch(es) to loft toward.
1817
- * @param loftConfig - Loft options (ruled surface, start/end points, etc.).
1818
- * @param returnShell - If true, return a shell instead of a solid.
1819
- * @returns The lofted 3D shape.
1820
- *
1821
- * @see {@link Sketch.loftWith} for the OOP equivalent.
1822
- */
1823
- function sketchLoft(sketch, otherSketches, loftConfig, returnShell) {
1824
- return sketch.loftWith(otherSketches, loftConfig, returnShell);
1825
- }
1826
- /**
1827
- * Sweep a profile sketch along this sketch's wire path.
1828
- *
1829
- * @param sketch - The path sketch. Consumed by this call.
1830
- * @param sketchOnPlane - Function that builds the profile sketch at the sweep start.
1831
- * @param sweepConfig - Sweep options (auxiliary spine, orthogonality, etc.).
1832
- * @returns The swept 3D shape.
1833
- *
1834
- * @see {@link Sketch.sweepSketch} for the OOP equivalent.
1835
- */
1836
- function sketchSweep(sketch, sketchOnPlane, sweepConfig) {
1837
- return sketch.sweepSketch(sketchOnPlane, sweepConfig);
1838
- }
1839
- /**
1840
- * Build a face from a sketch's closed wire.
1841
- *
1842
- * @param sketch - A sketch with a closed wire.
1843
- * @returns The planar face.
1844
- *
1845
- * @see {@link Sketch.face} for the OOP equivalent.
1846
- */
1847
- function sketchFace(sketch) {
1848
- return sketch.face();
1849
- }
1850
- /**
1851
- * Get a clone of the wire from a sketch.
1852
- *
1853
- * @param sketch - The source sketch.
1854
- * @returns A cloned wire.
1855
- *
1856
- * @see {@link Sketch.wires} for the OOP equivalent.
1857
- */
1858
- function sketchWires(sketch) {
1859
- return sketch.wires();
1860
- }
1861
- /**
1862
- * Extrude a compound sketch (outer + holes) to a given distance.
1863
- *
1864
- * @param sketch - The compound sketch to extrude.
1865
- * @param height - Extrusion distance.
1866
- * @param config - Optional direction, profile, twist angle, or origin overrides.
1867
- * @returns The extruded 3D solid.
1868
- *
1869
- * @see {@link CompoundSketch.extrude} for the OOP equivalent.
1870
- */
1871
- function compoundSketchExtrude(sketch, height, config) {
1872
- return sketch.extrude(height, config);
1873
- }
1874
- /**
1875
- * Revolve a compound sketch around an axis to produce a solid of revolution.
1876
- *
1877
- * @param sketch - The compound sketch to revolve.
1878
- * @param revolutionAxis - Axis direction.
1879
- * @param options - Optional origin override.
1880
- * @returns The revolved 3D solid.
1881
- *
1882
- * @see {@link CompoundSketch.revolve} for the OOP equivalent.
1883
- */
1884
- function compoundSketchRevolve(sketch, revolutionAxis, options) {
1885
- return sketch.revolve(revolutionAxis, options);
1886
- }
1887
- /**
1888
- * Build a face from a compound sketch (outer boundary with holes).
1889
- *
1890
- * @param sketch - The compound sketch.
1891
- * @returns A face with inner wires subtracted as holes.
1892
- *
1893
- * @see {@link CompoundSketch.face} for the OOP equivalent.
1894
- */
1895
- function compoundSketchFace(sketch) {
1896
- return sketch.face();
1897
- }
1898
- /**
1899
- * Loft between two compound sketches that have the same number of sub-sketches.
1900
- *
1901
- * @param sketch - Starting compound sketch.
1902
- * @param other - Target compound sketch.
1903
- * @param loftConfig - Loft options (ruled surface, etc.).
1904
- * @returns The lofted 3D solid.
1905
- *
1906
- * @see {@link CompoundSketch.loftWith} for the OOP equivalent.
1907
- */
1908
- function compoundSketchLoft(sketch, other, loftConfig) {
1909
- return sketch.loftWith(other, loftConfig);
1910
- }
1911
- //#endregion
1912
1272
  //#region src/sketching/drawFns.ts
1913
1273
  /**
1914
1274
  * Sketch a drawing onto a 3D plane, producing a Sketch or Sketches.
@@ -1922,6 +1282,7 @@ function compoundSketchLoft(sketch, other, loftConfig) {
1922
1282
  */
1923
1283
  function drawingToSketchOnPlane(drawing, inputPlane, origin) {
1924
1284
  if (origin !== void 0) return drawing.sketchOnPlane(inputPlane, origin);
1285
+ if (typeof inputPlane === "object") return drawing.sketchOnPlane(inputPlane);
1925
1286
  return drawing.sketchOnPlane(inputPlane);
1926
1287
  }
1927
1288
  /**
@@ -2030,12 +1391,6 @@ function mirrorDrawing(drawing, centerOrDirection, origin, mode) {
2030
1391
  return drawing.mirror(centerOrDirection, origin, mode);
2031
1392
  }
2032
1393
  //#endregion
2033
- Object.defineProperty(exports, "CompoundSketch", {
2034
- enumerable: true,
2035
- get: function() {
2036
- return CompoundSketch;
2037
- }
2038
- });
2039
1394
  Object.defineProperty(exports, "Drawing", {
2040
1395
  enumerable: true,
2041
1396
  get: function() {
@@ -2048,64 +1403,16 @@ Object.defineProperty(exports, "DrawingPen", {
2048
1403
  return DrawingPen;
2049
1404
  }
2050
1405
  });
2051
- Object.defineProperty(exports, "Sketcher", {
2052
- enumerable: true,
2053
- get: function() {
2054
- return Sketcher;
2055
- }
2056
- });
2057
- Object.defineProperty(exports, "Sketches", {
2058
- enumerable: true,
2059
- get: function() {
2060
- return Sketches;
2061
- }
2062
- });
2063
- Object.defineProperty(exports, "__exportAll", {
2064
- enumerable: true,
2065
- get: function() {
2066
- return __exportAll;
2067
- }
2068
- });
2069
- Object.defineProperty(exports, "cameraFromPlane", {
2070
- enumerable: true,
2071
- get: function() {
2072
- return cameraFromPlane;
2073
- }
2074
- });
2075
- Object.defineProperty(exports, "cameraLookAt", {
2076
- enumerable: true,
2077
- get: function() {
2078
- return cameraLookAt;
2079
- }
2080
- });
2081
- Object.defineProperty(exports, "compoundSketchExtrude", {
2082
- enumerable: true,
2083
- get: function() {
2084
- return compoundSketchExtrude;
2085
- }
2086
- });
2087
- Object.defineProperty(exports, "compoundSketchFace", {
2088
- enumerable: true,
2089
- get: function() {
2090
- return compoundSketchFace;
2091
- }
2092
- });
2093
- Object.defineProperty(exports, "compoundSketchLoft", {
2094
- enumerable: true,
2095
- get: function() {
2096
- return compoundSketchLoft;
2097
- }
2098
- });
2099
- Object.defineProperty(exports, "compoundSketchRevolve", {
1406
+ Object.defineProperty(exports, "FaceSketcher", {
2100
1407
  enumerable: true,
2101
1408
  get: function() {
2102
- return compoundSketchRevolve;
1409
+ return FaceSketcher;
2103
1410
  }
2104
1411
  });
2105
- Object.defineProperty(exports, "createCamera", {
1412
+ Object.defineProperty(exports, "Sketcher", {
2106
1413
  enumerable: true,
2107
1414
  get: function() {
2108
- return createCamera;
1415
+ return Sketcher;
2109
1416
  }
2110
1417
  });
2111
1418
  Object.defineProperty(exports, "deserializeDrawing", {
@@ -2228,42 +1535,12 @@ Object.defineProperty(exports, "drawingToSketchOnPlane", {
2228
1535
  return drawingToSketchOnPlane;
2229
1536
  }
2230
1537
  });
2231
- Object.defineProperty(exports, "fontMetrics", {
2232
- enumerable: true,
2233
- get: function() {
2234
- return fontMetrics;
2235
- }
2236
- });
2237
- Object.defineProperty(exports, "getFont", {
2238
- enumerable: true,
2239
- get: function() {
2240
- return getFont;
2241
- }
2242
- });
2243
- Object.defineProperty(exports, "isProjectionPlane", {
2244
- enumerable: true,
2245
- get: function() {
2246
- return isProjectionPlane;
2247
- }
2248
- });
2249
- Object.defineProperty(exports, "loadFont", {
2250
- enumerable: true,
2251
- get: function() {
2252
- return loadFont;
2253
- }
2254
- });
2255
1538
  Object.defineProperty(exports, "makeBaseBox", {
2256
1539
  enumerable: true,
2257
1540
  get: function() {
2258
1541
  return makeBaseBox;
2259
1542
  }
2260
1543
  });
2261
- Object.defineProperty(exports, "makeProjectedEdges", {
2262
- enumerable: true,
2263
- get: function() {
2264
- return makeProjectedEdges;
2265
- }
2266
- });
2267
1544
  Object.defineProperty(exports, "mirrorDrawing", {
2268
1545
  enumerable: true,
2269
1546
  get: function() {
@@ -2276,12 +1553,6 @@ Object.defineProperty(exports, "polysideInnerRadius", {
2276
1553
  return polysideInnerRadius;
2277
1554
  }
2278
1555
  });
2279
- Object.defineProperty(exports, "projectEdges", {
2280
- enumerable: true,
2281
- get: function() {
2282
- return projectEdges;
2283
- }
2284
- });
2285
1556
  Object.defineProperty(exports, "rotateDrawing", {
2286
1557
  enumerable: true,
2287
1558
  get: function() {
@@ -2306,18 +1577,6 @@ Object.defineProperty(exports, "sketchEllipse", {
2306
1577
  return sketchEllipse;
2307
1578
  }
2308
1579
  });
2309
- Object.defineProperty(exports, "sketchExtrude", {
2310
- enumerable: true,
2311
- get: function() {
2312
- return sketchExtrude;
2313
- }
2314
- });
2315
- Object.defineProperty(exports, "sketchFace", {
2316
- enumerable: true,
2317
- get: function() {
2318
- return sketchFace;
2319
- }
2320
- });
2321
1580
  Object.defineProperty(exports, "sketchFaceOffset", {
2322
1581
  enumerable: true,
2323
1582
  get: function() {
@@ -2330,12 +1589,6 @@ Object.defineProperty(exports, "sketchHelix", {
2330
1589
  return sketchHelix;
2331
1590
  }
2332
1591
  });
2333
- Object.defineProperty(exports, "sketchLoft", {
2334
- enumerable: true,
2335
- get: function() {
2336
- return sketchLoft;
2337
- }
2338
- });
2339
1592
  Object.defineProperty(exports, "sketchParametricFunction", {
2340
1593
  enumerable: true,
2341
1594
  get: function() {
@@ -2354,48 +1607,12 @@ Object.defineProperty(exports, "sketchRectangle", {
2354
1607
  return sketchRectangle;
2355
1608
  }
2356
1609
  });
2357
- Object.defineProperty(exports, "sketchRevolve", {
2358
- enumerable: true,
2359
- get: function() {
2360
- return sketchRevolve;
2361
- }
2362
- });
2363
1610
  Object.defineProperty(exports, "sketchRoundedRectangle", {
2364
1611
  enumerable: true,
2365
1612
  get: function() {
2366
1613
  return sketchRoundedRectangle;
2367
1614
  }
2368
1615
  });
2369
- Object.defineProperty(exports, "sketchSweep", {
2370
- enumerable: true,
2371
- get: function() {
2372
- return sketchSweep;
2373
- }
2374
- });
2375
- Object.defineProperty(exports, "sketchText", {
2376
- enumerable: true,
2377
- get: function() {
2378
- return sketchText;
2379
- }
2380
- });
2381
- Object.defineProperty(exports, "sketchWires", {
2382
- enumerable: true,
2383
- get: function() {
2384
- return sketchWires;
2385
- }
2386
- });
2387
- Object.defineProperty(exports, "textBlueprints", {
2388
- enumerable: true,
2389
- get: function() {
2390
- return textBlueprints;
2391
- }
2392
- });
2393
- Object.defineProperty(exports, "textMetrics", {
2394
- enumerable: true,
2395
- get: function() {
2396
- return textMetrics;
2397
- }
2398
- });
2399
1616
  Object.defineProperty(exports, "translateDrawing", {
2400
1617
  enumerable: true,
2401
1618
  get: function() {