brepjs 12.8.2 → 12.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/dist/2d/blueprints/{approximations.d.ts → blueprintApproximations.d.ts} +1 -1
  2. package/dist/2d/blueprints/blueprintApproximations.d.ts.map +1 -0
  3. package/dist/2d/blueprints/{customCorners.d.ts → blueprintCustomCorners.d.ts} +1 -1
  4. package/dist/2d/blueprints/blueprintCustomCorners.d.ts.map +1 -0
  5. package/dist/2d/blueprints/blueprintFns.d.ts +17 -3
  6. package/dist/2d/blueprints/blueprintFns.d.ts.map +1 -1
  7. package/dist/2d/blueprints/{offset.d.ts → blueprintOffset.d.ts} +1 -1
  8. package/dist/2d/blueprints/blueprintOffset.d.ts.map +1 -0
  9. package/dist/2d/blueprints/index.d.ts +4 -4
  10. package/dist/2d/blueprints/index.d.ts.map +1 -1
  11. package/dist/2d/lib/Curve2D.d.ts +1 -1
  12. package/dist/2d/lib/Curve2D.d.ts.map +1 -1
  13. package/dist/2d/lib/svgPath.d.ts.map +1 -1
  14. package/dist/2d/lib/vectorOperations.d.ts +4 -1
  15. package/dist/2d/lib/vectorOperations.d.ts.map +1 -1
  16. package/dist/2d-CzEysb7A.js +108 -0
  17. package/dist/2d-DCxS_sb_.cjs +107 -0
  18. package/dist/2d.cjs +24 -88
  19. package/dist/2d.d.ts +1 -1
  20. package/dist/2d.js +34 -99
  21. package/dist/{Blueprint-CQ28WJhz.cjs → Blueprint-BoC0DsDm.cjs} +15 -45
  22. package/dist/{Blueprint-DbVaf6k7.js → Blueprint-CQNRtmYG.js} +33 -63
  23. package/dist/{boolean2D-y3E92F0u.js → boolean2D-DXAt4GAK.js} +132 -62
  24. package/dist/{boolean2D-0blbVtJ8.cjs → boolean2D-N9Pgumgg.cjs} +112 -42
  25. package/dist/{booleanFns-BCTjYZAg.js → booleanFns-BXV7Oh0h.js} +53 -50
  26. package/dist/{booleanFns-gmsX3Cv2.cjs → booleanFns-CxArUj_q.cjs} +43 -40
  27. package/dist/brepjs.cjs +448 -379
  28. package/dist/brepjs.js +1634 -1563
  29. package/dist/core/dimensionTypes.d.ts +52 -0
  30. package/dist/core/dimensionTypes.d.ts.map +1 -0
  31. package/dist/core/disposal.d.ts +18 -0
  32. package/dist/core/disposal.d.ts.map +1 -1
  33. package/dist/core/errors.d.ts +7 -8
  34. package/dist/core/errors.d.ts.map +1 -1
  35. package/dist/core/kernelErrorTranslation.d.ts +15 -0
  36. package/dist/core/kernelErrorTranslation.d.ts.map +1 -0
  37. package/dist/core/planeOps.d.ts +14 -0
  38. package/dist/core/planeOps.d.ts.map +1 -1
  39. package/dist/core/result.d.ts +4 -0
  40. package/dist/core/result.d.ts.map +1 -1
  41. package/dist/core/shapeTypes.d.ts +14 -146
  42. package/dist/core/shapeTypes.d.ts.map +1 -1
  43. package/dist/core/{definitionMaps.d.ts → typeDiscriminants.d.ts} +5 -1
  44. package/dist/core/typeDiscriminants.d.ts.map +1 -0
  45. package/dist/core/validityTypes.d.ts +100 -0
  46. package/dist/core/validityTypes.d.ts.map +1 -0
  47. package/dist/core.cjs +52 -11
  48. package/dist/core.d.ts +1 -1
  49. package/dist/core.d.ts.map +1 -1
  50. package/dist/core.js +119 -76
  51. package/dist/{curveFns-BZngcnQ1.cjs → curveFns-CWZRuXQ3.cjs} +2 -2
  52. package/dist/{curveFns-mROFhiuG.js → curveFns-OmbtFSG8.js} +14 -14
  53. package/dist/{drawFns-Bwakrq7w.js → drawFns-8S0ULGRj.js} +146 -118
  54. package/dist/{drawFns-CjRc1NfQ.cjs → drawFns-voV2wEp8.cjs} +153 -125
  55. package/dist/{faceFns-B8GnxjdY.js → faceFns-Bn2seBfp.js} +16 -24
  56. package/dist/{faceFns-DB1Fc5gy.cjs → faceFns-CmIrjdt1.cjs} +2 -10
  57. package/dist/{helpers-X0juxnwj.js → helpers-CEn618MW.js} +89 -21
  58. package/dist/{helpers-C8NoT0Wu.cjs → helpers-mipaxDTy.cjs} +77 -9
  59. package/dist/index.d.ts +20 -19
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/io/gltfImportFns.d.ts +18 -0
  62. package/dist/io/gltfImportFns.d.ts.map +1 -0
  63. package/dist/io/ioUtils.d.ts +16 -0
  64. package/dist/io/ioUtils.d.ts.map +1 -0
  65. package/dist/io/objImportFns.d.ts.map +1 -1
  66. package/dist/io/threemfImportFns.d.ts.map +1 -1
  67. package/dist/io.cjs +4 -4
  68. package/dist/io.js +4 -4
  69. package/dist/kernel/brepkit/booleanOps.d.ts +23 -0
  70. package/dist/kernel/brepkit/booleanOps.d.ts.map +1 -0
  71. package/dist/kernel/brepkit/constructionOps.d.ts +51 -0
  72. package/dist/kernel/brepkit/constructionOps.d.ts.map +1 -0
  73. package/dist/kernel/brepkit/evolutionOps.d.ts +31 -0
  74. package/dist/kernel/brepkit/evolutionOps.d.ts.map +1 -0
  75. package/dist/kernel/brepkit/geometryOps.d.ts +56 -0
  76. package/dist/kernel/brepkit/geometryOps.d.ts.map +1 -0
  77. package/dist/kernel/brepkit/helpers.d.ts +84 -0
  78. package/dist/kernel/brepkit/helpers.d.ts.map +1 -0
  79. package/dist/kernel/brepkit/internalOps.d.ts +28 -0
  80. package/dist/kernel/brepkit/internalOps.d.ts.map +1 -0
  81. package/dist/kernel/brepkit/ioOps.d.ts +43 -0
  82. package/dist/kernel/brepkit/ioOps.d.ts.map +1 -0
  83. package/dist/kernel/brepkit/measureOps.d.ts +30 -0
  84. package/dist/kernel/brepkit/measureOps.d.ts.map +1 -0
  85. package/dist/kernel/brepkit/meshOps.d.ts +7 -0
  86. package/dist/kernel/brepkit/meshOps.d.ts.map +1 -0
  87. package/dist/kernel/brepkit/modifierOps.d.ts +15 -0
  88. package/dist/kernel/brepkit/modifierOps.d.ts.map +1 -0
  89. package/dist/kernel/brepkit/repairOps.d.ts +14 -0
  90. package/dist/kernel/brepkit/repairOps.d.ts.map +1 -0
  91. package/dist/kernel/brepkit/sweepOps.d.ts +27 -0
  92. package/dist/kernel/brepkit/sweepOps.d.ts.map +1 -0
  93. package/dist/kernel/brepkit/topologyOps.d.ts +16 -0
  94. package/dist/kernel/brepkit/topologyOps.d.ts.map +1 -0
  95. package/dist/kernel/brepkit/transformOps.d.ts +14 -0
  96. package/dist/kernel/brepkit/transformOps.d.ts.map +1 -0
  97. package/dist/kernel/brepkitAdapter.d.ts +1 -1
  98. package/dist/kernel/brepkitAdapter.d.ts.map +1 -1
  99. package/dist/kernel/brepkitWasmTypes.d.ts +8 -0
  100. package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -1
  101. package/dist/kernel/defaultAdapter.d.ts.map +1 -1
  102. package/dist/kernel/extendedConstructorOps.d.ts +9 -1
  103. package/dist/kernel/extendedConstructorOps.d.ts.map +1 -1
  104. package/dist/kernel/index.d.ts +1 -0
  105. package/dist/kernel/index.d.ts.map +1 -1
  106. package/dist/kernel/interfaces/boolean-ops.d.ts +25 -0
  107. package/dist/kernel/interfaces/boolean-ops.d.ts.map +1 -0
  108. package/dist/kernel/interfaces/builder-ops.d.ts +57 -0
  109. package/dist/kernel/interfaces/builder-ops.d.ts.map +1 -0
  110. package/dist/kernel/interfaces/core.d.ts +30 -0
  111. package/dist/kernel/interfaces/core.d.ts.map +1 -0
  112. package/dist/kernel/interfaces/curve-ops.d.ts +41 -0
  113. package/dist/kernel/interfaces/curve-ops.d.ts.map +1 -0
  114. package/dist/kernel/interfaces/evolution-ops.d.ts +19 -0
  115. package/dist/kernel/interfaces/evolution-ops.d.ts.map +1 -0
  116. package/dist/kernel/interfaces/index.d.ts +37 -0
  117. package/dist/kernel/interfaces/index.d.ts.map +1 -0
  118. package/dist/kernel/interfaces/io-ops.d.ts +66 -0
  119. package/dist/kernel/interfaces/io-ops.d.ts.map +1 -0
  120. package/dist/kernel/interfaces/measure-ops.d.ts +35 -0
  121. package/dist/kernel/interfaces/measure-ops.d.ts.map +1 -0
  122. package/dist/kernel/interfaces/mesh-ops.d.ts +21 -0
  123. package/dist/kernel/interfaces/mesh-ops.d.ts.map +1 -0
  124. package/dist/kernel/interfaces/modifier-ops.d.ts +22 -0
  125. package/dist/kernel/interfaces/modifier-ops.d.ts.map +1 -0
  126. package/dist/kernel/interfaces/primitive-ops.d.ts +13 -0
  127. package/dist/kernel/interfaces/primitive-ops.d.ts.map +1 -0
  128. package/dist/kernel/interfaces/repair-ops.d.ts +36 -0
  129. package/dist/kernel/interfaces/repair-ops.d.ts.map +1 -0
  130. package/dist/kernel/interfaces/surface-ops.d.ts +50 -0
  131. package/dist/kernel/interfaces/surface-ops.d.ts.map +1 -0
  132. package/dist/kernel/interfaces/sweep-ops.d.ts +49 -0
  133. package/dist/kernel/interfaces/sweep-ops.d.ts.map +1 -0
  134. package/dist/kernel/interfaces/topology-ops.d.ts +30 -0
  135. package/dist/kernel/interfaces/topology-ops.d.ts.map +1 -0
  136. package/dist/kernel/interfaces/transform-ops.d.ts +35 -0
  137. package/dist/kernel/interfaces/transform-ops.d.ts.map +1 -0
  138. package/dist/kernel/modifierOps.d.ts +2 -2
  139. package/dist/kernel/modifierOps.d.ts.map +1 -1
  140. package/dist/kernel/types.d.ts +2 -446
  141. package/dist/kernel/types.d.ts.map +1 -1
  142. package/dist/measurement/measureCache.d.ts +11 -9
  143. package/dist/measurement/measureCache.d.ts.map +1 -1
  144. package/dist/measurement/measureFns.d.ts +24 -71
  145. package/dist/measurement/measureFns.d.ts.map +1 -1
  146. package/dist/measurement/measureTypes.d.ts +30 -0
  147. package/dist/measurement/measureTypes.d.ts.map +1 -0
  148. package/dist/{measurement-D8EJ694A.js → measurement-fJWDEpz0.js} +53 -34
  149. package/dist/measurement-ph-kanQ7.cjs +154 -0
  150. package/dist/measurement.cjs +2 -1
  151. package/dist/measurement.d.ts +1 -1
  152. package/dist/measurement.d.ts.map +1 -1
  153. package/dist/measurement.js +4 -3
  154. package/dist/{meshFns-BnV0ZR8w.cjs → meshFns-B9p4EVV8.cjs} +4 -4
  155. package/dist/{meshFns-nQjK38EC.js → meshFns-D0qIoxm-.js} +3 -3
  156. package/dist/operations/compoundOpsFns.d.ts +38 -0
  157. package/dist/operations/compoundOpsFns.d.ts.map +1 -0
  158. package/dist/operations/convexHullFns.d.ts +21 -0
  159. package/dist/operations/convexHullFns.d.ts.map +1 -0
  160. package/dist/operations/extrudeFns.d.ts +2 -93
  161. package/dist/operations/extrudeFns.d.ts.map +1 -1
  162. package/dist/operations/guidedSweepFns.d.ts +3 -22
  163. package/dist/operations/guidedSweepFns.d.ts.map +1 -1
  164. package/dist/operations/multiSweepFns.d.ts +3 -29
  165. package/dist/operations/multiSweepFns.d.ts.map +1 -1
  166. package/dist/operations/roofFns.d.ts +2 -2
  167. package/dist/operations/roofFns.d.ts.map +1 -1
  168. package/dist/operations/straightSkeleton.d.ts.map +1 -1
  169. package/dist/operations/sweepFns.d.ts +121 -0
  170. package/dist/operations/sweepFns.d.ts.map +1 -0
  171. package/dist/{operations-BfbkK6DU.js → operations-DX_qy_TB.js} +29 -177
  172. package/dist/{operations-CYpmLSC4.cjs → operations-Ds4xoyxR.cjs} +6 -154
  173. package/dist/operations.cjs +6 -10
  174. package/dist/operations.d.ts +0 -2
  175. package/dist/operations.d.ts.map +1 -1
  176. package/dist/operations.js +26 -30
  177. package/dist/originTrackingFns-BOCAMfd0.js +137 -0
  178. package/dist/originTrackingFns-SPU7ly3_.cjs +136 -0
  179. package/dist/query/edgeFinder.d.ts +4 -14
  180. package/dist/query/edgeFinder.d.ts.map +1 -1
  181. package/dist/query/faceFinder.d.ts +4 -14
  182. package/dist/query/faceFinder.d.ts.map +1 -1
  183. package/dist/query/finderCore.d.ts +6 -0
  184. package/dist/query/finderCore.d.ts.map +1 -1
  185. package/dist/query/shapeFinders.d.ts +32 -0
  186. package/dist/query/shapeFinders.d.ts.map +1 -0
  187. package/dist/query/wireFinder.d.ts +4 -9
  188. package/dist/query/wireFinder.d.ts.map +1 -1
  189. package/dist/query.cjs +54 -32
  190. package/dist/query.js +56 -34
  191. package/dist/{result-BaSD1fqR.js → result-CoDaWsvc.js} +48 -90
  192. package/dist/{result-fAX0OZzI.cjs → result-DULetAht.cjs} +17 -59
  193. package/dist/result.cjs +1 -1
  194. package/dist/result.js +23 -23
  195. package/dist/shapeFns-BZ6zk7nd.js +34 -0
  196. package/dist/shapeFns-bRkrwI8R.cjs +33 -0
  197. package/dist/{shapeTypes-7xEam9Ri.cjs → shapeTypes-T0n6mRmt.cjs} +170 -137
  198. package/dist/{shapeTypes-CpSaBLDv.js → shapeTypes-dhhm-T5A.js} +205 -172
  199. package/dist/sketching/CompoundSketch.d.ts +4 -4
  200. package/dist/sketching/CompoundSketch.d.ts.map +1 -1
  201. package/dist/sketching/Sketch.d.ts +3 -3
  202. package/dist/sketching/Sketch.d.ts.map +1 -1
  203. package/dist/sketching/Sketcher.d.ts.map +1 -1
  204. package/dist/sketching/Sketches.d.ts +1 -1
  205. package/dist/sketching/Sketches.d.ts.map +1 -1
  206. package/dist/sketching/draw.d.ts +1 -20
  207. package/dist/sketching/draw.d.ts.map +1 -1
  208. package/dist/sketching/draw3d.d.ts +22 -0
  209. package/dist/sketching/draw3d.d.ts.map +1 -0
  210. package/dist/sketching/sketchFns.d.ts +3 -3
  211. package/dist/sketching/sketchFns.d.ts.map +1 -1
  212. package/dist/sketching/sketchLib.d.ts +2 -2
  213. package/dist/sketching/sketchLib.d.ts.map +1 -1
  214. package/dist/sketching.cjs +2 -2
  215. package/dist/sketching.d.ts +2 -1
  216. package/dist/sketching.d.ts.map +1 -1
  217. package/dist/sketching.js +2 -2
  218. package/dist/{solidBuilders-994_MQwB.cjs → solidBuilders-BEAoLYvr.cjs} +3 -3
  219. package/dist/{solidBuilders-DmwhTCCd.js → solidBuilders-tVmD3R7Z.js} +12 -12
  220. package/dist/{surfaceBuilders-5VA34a3_.cjs → surfaceBuilders-DYS8AMSS.cjs} +3 -3
  221. package/dist/{surfaceBuilders-nQdJ56fe.js → surfaceBuilders-Dl0ATFbO.js} +15 -15
  222. package/dist/sweepFns-BKnQs59A.js +215 -0
  223. package/dist/sweepFns-COqeYIUp.cjs +214 -0
  224. package/dist/text/textBlueprints.d.ts +4 -3
  225. package/dist/text/textBlueprints.d.ts.map +1 -1
  226. package/dist/topology/booleanFns.d.ts.map +1 -1
  227. package/dist/topology/cast.d.ts +1 -5
  228. package/dist/topology/cast.d.ts.map +1 -1
  229. package/dist/topology/compoundOpsFns.d.ts +3 -35
  230. package/dist/topology/compoundOpsFns.d.ts.map +1 -1
  231. package/dist/topology/curveFns.d.ts +1 -1
  232. package/dist/topology/curveFns.d.ts.map +1 -1
  233. package/dist/topology/index.d.ts +2 -3
  234. package/dist/topology/index.d.ts.map +1 -1
  235. package/dist/topology/{colorFns.d.ts → metadata/colorFns.d.ts} +2 -2
  236. package/dist/topology/metadata/colorFns.d.ts.map +1 -0
  237. package/dist/topology/{faceTagFns.d.ts → metadata/faceTagFns.d.ts} +2 -2
  238. package/dist/topology/metadata/faceTagFns.d.ts.map +1 -0
  239. package/dist/topology/metadata/metadataPropagation.d.ts +30 -0
  240. package/dist/topology/metadata/metadataPropagation.d.ts.map +1 -0
  241. package/dist/topology/metadata/originTrackingFns.d.ts +23 -0
  242. package/dist/topology/metadata/originTrackingFns.d.ts.map +1 -0
  243. package/dist/topology/modifierFns.d.ts.map +1 -1
  244. package/dist/topology/shapeFns.d.ts +6 -120
  245. package/dist/topology/shapeFns.d.ts.map +1 -1
  246. package/dist/topology/topologyQueryFns.d.ts +67 -0
  247. package/dist/topology/topologyQueryFns.d.ts.map +1 -0
  248. package/dist/topology/transformFns.d.ts +49 -0
  249. package/dist/topology/transformFns.d.ts.map +1 -0
  250. package/dist/topology/wrapperFns.d.ts.map +1 -1
  251. package/dist/{topology-C7x98OVn.js → topology-C1oUQXZS.js} +235 -50
  252. package/dist/{topology-ANwCzGL8.cjs → topology-xyDYbkHW.cjs} +205 -20
  253. package/dist/topology.cjs +18 -17
  254. package/dist/topology.js +97 -96
  255. package/dist/topologyQueryFns-0IptTUCo.cjs +118 -0
  256. package/dist/topologyQueryFns-Dj4Xd5kx.js +119 -0
  257. package/dist/{types-CWDdqcrq.js → types-CcKqsmd0.js} +2 -2
  258. package/dist/utils/precisionRound.d.ts +4 -0
  259. package/dist/utils/precisionRound.d.ts.map +1 -1
  260. package/dist/utils/vec2d.d.ts +5 -0
  261. package/dist/utils/vec2d.d.ts.map +1 -1
  262. package/dist/{vecOps-ZDdZWbwT.js → vecOps-LTN--A58.js} +15 -15
  263. package/dist/{vectors-Bx8wkNui.js → vectors-B8juLsQB.js} +15 -7
  264. package/dist/{vectors-D_IiZx0q.cjs → vectors-I_0zdD3O.cjs} +9 -1
  265. package/dist/vectors.cjs +1 -1
  266. package/dist/vectors.js +23 -23
  267. package/package.json +9 -9
  268. package/dist/2d/blueprints/approximations.d.ts.map +0 -1
  269. package/dist/2d/blueprints/customCorners.d.ts.map +0 -1
  270. package/dist/2d/blueprints/offset.d.ts.map +0 -1
  271. package/dist/core/definitionMaps.d.ts.map +0 -1
  272. package/dist/core/geometryHelpers.d.ts +0 -30
  273. package/dist/core/geometryHelpers.d.ts.map +0 -1
  274. package/dist/core/memory.d.ts +0 -6
  275. package/dist/core/memory.d.ts.map +0 -1
  276. package/dist/core/typeErrors.d.ts +0 -17
  277. package/dist/core/typeErrors.d.ts.map +0 -1
  278. package/dist/cornerFinder-Ckz-mPHE.js +0 -59
  279. package/dist/cornerFinder-ZmOyOOsh.cjs +0 -58
  280. package/dist/loft-Bhw-FMoL.js +0 -228
  281. package/dist/loft-hp3pc1M7.cjs +0 -227
  282. package/dist/measurement-BoNTUBAp.cjs +0 -135
  283. package/dist/operations/extrude.d.ts +0 -72
  284. package/dist/operations/extrude.d.ts.map +0 -1
  285. package/dist/operations/loft.d.ts +0 -33
  286. package/dist/operations/loft.d.ts.map +0 -1
  287. package/dist/shapeFns-C2SnNvdH.cjs +0 -468
  288. package/dist/shapeFns-FDuKkrDR.js +0 -469
  289. package/dist/topology/colorFns.d.ts.map +0 -1
  290. package/dist/topology/faceTagFns.d.ts.map +0 -1
  291. package/dist/utils/round2.d.ts +0 -3
  292. package/dist/utils/round2.d.ts.map +0 -1
  293. package/dist/utils/round5.d.ts +0 -3
  294. package/dist/utils/round5.d.ts.map +0 -1
package/dist/core.cjs CHANGED
@@ -2,9 +2,50 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const types = require("./types-CA_xrgDq.cjs");
4
4
  const vecOps = require("./vecOps-CjRL1jau.cjs");
5
- const result = require("./result-fAX0OZzI.cjs");
6
- const vectors = require("./vectors-D_IiZx0q.cjs");
7
- const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
5
+ const result = require("./result-DULetAht.cjs");
6
+ const vectors = require("./vectors-I_0zdD3O.cjs");
7
+ const shapeTypes = require("./shapeTypes-T0n6mRmt.cjs");
8
+ function isClosedWire(wire) {
9
+ return shapeTypes.getKernel().curveIsClosed(wire.wrapped);
10
+ }
11
+ function isOrientedFace(face) {
12
+ return shapeTypes.getKernel().isValid(face.wrapped);
13
+ }
14
+ function isManifoldShell(shell) {
15
+ const kernel = shapeTypes.getKernel();
16
+ if (!kernel.isValid(shell.wrapped)) return false;
17
+ const validate = kernel.isValidStrict?.bind(kernel) ?? kernel.isValid.bind(kernel);
18
+ try {
19
+ const solid = kernel.solidFromShell(shell.wrapped);
20
+ const valid = validate(solid);
21
+ try {
22
+ kernel.dispose(solid);
23
+ } catch {
24
+ }
25
+ return valid;
26
+ } catch {
27
+ return false;
28
+ }
29
+ }
30
+ function isValidSolid(solid) {
31
+ return shapeTypes.getKernel().isValid(solid.wrapped);
32
+ }
33
+ function closedWire(wire) {
34
+ if (isClosedWire(wire)) return result.ok(wire);
35
+ return result.err("Wire is not closed: start and end points do not coincide");
36
+ }
37
+ function orientedFace(face) {
38
+ if (isOrientedFace(face)) return result.ok(face);
39
+ return result.err("Face orientation is inconsistent or face is invalid");
40
+ }
41
+ function manifoldShell(shell) {
42
+ if (isManifoldShell(shell)) return result.ok(shell);
43
+ return result.err("Shell is not manifold: has free edges or is invalid");
44
+ }
45
+ function validSolid(solid) {
46
+ if (isValidSolid(solid)) return result.ok(solid);
47
+ return result.err("Solid failed BRepCheck validation");
48
+ }
8
49
  exports.resolveDirection = types.resolveDirection;
9
50
  exports.toVec2 = types.toVec2;
10
51
  exports.toVec3 = types.toVec3;
@@ -62,29 +103,29 @@ exports.resolvePlane = vectors.resolvePlane;
62
103
  exports.translatePlane = vectors.translatePlane;
63
104
  exports.DisposalScope = shapeTypes.DisposalScope;
64
105
  exports.castShape = shapeTypes.castShape;
65
- exports.closedWire = shapeTypes.closedWire;
66
106
  exports.createHandle = shapeTypes.createHandle;
67
107
  exports.createKernelHandle = shapeTypes.createKernelHandle;
68
108
  exports.getShapeKind = shapeTypes.getShapeKind;
69
109
  exports.is2D = shapeTypes.is2D;
70
110
  exports.is3D = shapeTypes.is3D;
71
- exports.isClosedWire = shapeTypes.isClosedWire;
72
111
  exports.isCompound = shapeTypes.isCompound;
73
112
  exports.isEdge = shapeTypes.isEdge;
74
113
  exports.isFace = shapeTypes.isFace;
75
114
  exports.isLive = shapeTypes.isLive;
76
- exports.isManifoldShell = shapeTypes.isManifoldShell;
77
- exports.isOrientedFace = shapeTypes.isOrientedFace;
78
115
  exports.isShape1D = shapeTypes.isShape1D;
79
116
  exports.isShape3D = shapeTypes.isShape3D;
80
117
  exports.isShell = shapeTypes.isShell;
81
118
  exports.isSolid = shapeTypes.isSolid;
82
- exports.isValidSolid = shapeTypes.isValidSolid;
83
119
  exports.isVertex = shapeTypes.isVertex;
84
120
  exports.isWire = shapeTypes.isWire;
85
- exports.manifoldShell = shapeTypes.manifoldShell;
86
- exports.orientedFace = shapeTypes.orientedFace;
87
- exports.validSolid = shapeTypes.validSolid;
88
121
  exports.withScope = shapeTypes.withScope;
89
122
  exports.withScopeResult = shapeTypes.withScopeResult;
90
123
  exports.withScopeResultAsync = shapeTypes.withScopeResultAsync;
124
+ exports.closedWire = closedWire;
125
+ exports.isClosedWire = isClosedWire;
126
+ exports.isManifoldShell = isManifoldShell;
127
+ exports.isOrientedFace = isOrientedFace;
128
+ exports.isValidSolid = isValidSolid;
129
+ exports.manifoldShell = manifoldShell;
130
+ exports.orientedFace = orientedFace;
131
+ exports.validSolid = validSolid;
package/dist/core.d.ts CHANGED
@@ -10,7 +10,7 @@ export { type BrepError, type BrepErrorKind, kernelError, validationError, typeC
10
10
  export { DEG2RAD, RAD2DEG, HASH_CODE_MAX } from './core/constants.js';
11
11
  export type { Plane as FnPlane, PlaneName as FnPlaneName, PlaneInput } from './core/planeTypes.js';
12
12
  export { createPlane, createNamedPlane, resolvePlane, translatePlane, pivotPlane, } from './core/planeOps.js';
13
- export type { Dimension, ShapeKind, Vertex, Edge, Wire, Face, Shell, Solid, CompSolid, Compound, AnyShape, Shape1D, Shape3D, ClosedWire, OrientedFace, ManifoldShell, ValidSolid, ValidityResult, } from './core/shapeTypes.js';
13
+ export type { Dimension, ShapeKind, Vertex, Edge, Wire, Face, Shell, Solid, CompSolid, Compound, AnyShape, Shape1D, Shape3D, ClosedWire, OrientedFace, ManifoldShell, ValidSolid, } from './core/shapeTypes.js';
14
14
  export { castShape, getShapeKind, isVertex, isEdge, isWire, isFace, isShell, isSolid, isCompound, isShape3D, isShape1D, is3D, is2D, closedWire, orientedFace, manifoldShell, validSolid, isClosedWire, isOrientedFace, isManifoldShell, isValidSolid, } from './core/shapeTypes.js';
15
15
  export type { ShapeHandle, KernelHandle } from './core/disposal.js';
16
16
  export { createHandle, createKernelHandle, DisposalScope, withScope, withScopeResult, withScopeResultAsync, isLive, } from './core/disposal.js';
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,EAAE,EACF,GAAG,EACH,EAAE,EACF,IAAI,EACJ,KAAK,EACL,GAAG,EACH,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,EACR,aAAa,EACb,KAAK,MAAM,EACX,KAAK,EAAE,EACP,KAAK,GAAG,EACR,KAAK,IAAI,GACV,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,GAAG,EACH,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnG,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,SAAS,EACT,SAAS,EACT,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,MAAM,GACP,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,EAAE,EACF,GAAG,EACH,EAAE,EACF,IAAI,EACJ,KAAK,EACL,GAAG,EACH,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,EACR,aAAa,EACb,KAAK,MAAM,EACX,KAAK,EAAE,EACP,KAAK,GAAG,EACR,KAAK,IAAI,GACV,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,GAAG,EACH,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnG,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,SAAS,EACT,SAAS,EACT,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,MAAM,GACP,MAAM,oBAAoB,CAAC"}
package/dist/core.js CHANGED
@@ -1,90 +1,133 @@
1
- import { r, t, a } from "./types-CWDdqcrq.js";
2
- import { D, H, R, v, a as a2, b, c, d, e, f, g, h, i, j, k, l, m, n, o } from "./vecOps-ZDdZWbwT.js";
3
- import { B, O, a as a3, b as b2, c as c2, d as d2, e as e2, f as f2, i as i2, g as g2, h as h2, k as k2, m as m2, j as j2, l as l2, n as n2, o as o2, q, s, t as t2, p, r as r2, u, v as v2, w, x, y, z } from "./result-BaSD1fqR.js";
4
- import { c as c3, a as a4, p as p2, r as r3, t as t3 } from "./vectors-Bx8wkNui.js";
5
- import { D as D2, c as c4, a as a5, b as b3, d as d3, g as g3, i as i3, e as e3, f as f3, h as h3, j as j3, k as k3, l as l3, m as m3, n as n3, o as o3, p as p3, q as q2, r as r4, s as s2, t as t4, u as u2, v as v3, w as w2, x as x2, y as y2, z as z2, A } from "./shapeTypes-CpSaBLDv.js";
1
+ import { r, a, t } from "./types-CcKqsmd0.js";
2
+ import { D, H, R, a as a2, j, e, h, d, k, i, v, l, m, c, n, o, g, b, f } from "./vecOps-LTN--A58.js";
3
+ import { o as ok, e as err } from "./result-CoDaWsvc.js";
4
+ import { g as g2, O, a as a3, d as d2, j as j2, f as f2, l as l2, i as i2, b as b2, c as c2, k as k2, p, w, x, y, q, D as D2, G, H as H2, t as t2, I, u, J, K, L, v as v2 } from "./result-CoDaWsvc.js";
5
+ import { a as a4, c as c3, b as b3, r as r2, t as t3 } from "./vectors-B8juLsQB.js";
6
+ import { g as getKernel } from "./shapeTypes-dhhm-T5A.js";
7
+ import { D as D3, c as c4, v as v3, w as w2, a as a5, A, B, C, i as i3, o as o2, E, F, h as h2, d as d3, k as k3, G as G2, b as b4, K as K2, L as L2, M } from "./shapeTypes-dhhm-T5A.js";
8
+ function isClosedWire(wire) {
9
+ return getKernel().curveIsClosed(wire.wrapped);
10
+ }
11
+ function isOrientedFace(face) {
12
+ return getKernel().isValid(face.wrapped);
13
+ }
14
+ function isManifoldShell(shell) {
15
+ const kernel = getKernel();
16
+ if (!kernel.isValid(shell.wrapped)) return false;
17
+ const validate = kernel.isValidStrict?.bind(kernel) ?? kernel.isValid.bind(kernel);
18
+ try {
19
+ const solid = kernel.solidFromShell(shell.wrapped);
20
+ const valid = validate(solid);
21
+ try {
22
+ kernel.dispose(solid);
23
+ } catch {
24
+ }
25
+ return valid;
26
+ } catch {
27
+ return false;
28
+ }
29
+ }
30
+ function isValidSolid(solid) {
31
+ return getKernel().isValid(solid.wrapped);
32
+ }
33
+ function closedWire(wire) {
34
+ if (isClosedWire(wire)) return ok(wire);
35
+ return err("Wire is not closed: start and end points do not coincide");
36
+ }
37
+ function orientedFace(face) {
38
+ if (isOrientedFace(face)) return ok(face);
39
+ return err("Face orientation is inconsistent or face is invalid");
40
+ }
41
+ function manifoldShell(shell) {
42
+ if (isManifoldShell(shell)) return ok(shell);
43
+ return err("Shell is not manifold: has free edges or is invalid");
44
+ }
45
+ function validSolid(solid) {
46
+ if (isValidSolid(solid)) return ok(solid);
47
+ return err("Solid failed BRepCheck validation");
48
+ }
6
49
  export {
7
- B as BrepBugError,
50
+ g2 as BrepBugError,
8
51
  D as DEG2RAD,
9
- D2 as DisposalScope,
52
+ D3 as DisposalScope,
10
53
  H as HASH_CODE_MAX,
11
54
  O as OK,
12
55
  R as RAD2DEG,
13
56
  a3 as andThen,
14
- b2 as bug,
57
+ d2 as bug,
15
58
  c4 as castShape,
16
- a5 as closedWire,
17
- c2 as collect,
18
- d2 as computationError,
19
- b3 as createHandle,
20
- d3 as createKernelHandle,
21
- c3 as createNamedPlane,
22
- a4 as createPlane,
23
- e2 as err,
24
- f2 as flatMap,
25
- g3 as getShapeKind,
59
+ closedWire,
60
+ j2 as collect,
61
+ f2 as computationError,
62
+ v3 as createHandle,
63
+ w2 as createKernelHandle,
64
+ a4 as createNamedPlane,
65
+ c3 as createPlane,
66
+ err,
67
+ l2 as flatMap,
68
+ a5 as getShapeKind,
26
69
  i2 as ioError,
27
- i3 as is2D,
28
- e3 as is3D,
29
- f3 as isClosedWire,
30
- h3 as isCompound,
31
- j3 as isEdge,
32
- g2 as isErr,
33
- k3 as isFace,
34
- l3 as isLive,
35
- m3 as isManifoldShell,
36
- h2 as isOk,
37
- n3 as isOrientedFace,
38
- o3 as isShape1D,
39
- p3 as isShape3D,
40
- q2 as isShell,
41
- r4 as isSolid,
42
- s2 as isValidSolid,
43
- t4 as isVertex,
44
- u2 as isWire,
70
+ A as is2D,
71
+ B as is3D,
72
+ isClosedWire,
73
+ C as isCompound,
74
+ i3 as isEdge,
75
+ b2 as isErr,
76
+ o2 as isFace,
77
+ E as isLive,
78
+ isManifoldShell,
79
+ c2 as isOk,
80
+ isOrientedFace,
81
+ F as isShape1D,
82
+ h2 as isShape3D,
83
+ d3 as isShell,
84
+ k3 as isSolid,
85
+ isValidSolid,
86
+ G2 as isVertex,
87
+ b4 as isWire,
45
88
  k2 as kernelError,
46
- v3 as manifoldShell,
47
- m2 as map,
48
- j2 as mapErr,
49
- l2 as match,
50
- n2 as moduleInitError,
51
- o2 as ok,
52
- w2 as orientedFace,
53
- p2 as pivotPlane,
89
+ manifoldShell,
90
+ p as map,
91
+ w as mapErr,
92
+ x as match,
93
+ y as moduleInitError,
94
+ ok,
95
+ orientedFace,
96
+ b3 as pivotPlane,
54
97
  q as queryError,
55
98
  r as resolveDirection,
56
- r3 as resolvePlane,
57
- s as sketcherStateError,
58
- t as toVec2,
59
- a as toVec3,
99
+ r2 as resolvePlane,
100
+ D2 as sketcherStateError,
101
+ a as toVec2,
102
+ t as toVec3,
60
103
  t3 as translatePlane,
61
- t2 as tryCatch,
62
- p as tryCatchAsync,
63
- r2 as typeCastError,
64
- u as unsupportedError,
65
- v2 as unwrap,
66
- w as unwrapErr,
67
- x as unwrapOr,
68
- y as unwrapOrElse,
69
- x2 as validSolid,
70
- z as validationError,
71
- v as vecAdd,
72
- a2 as vecAngle,
73
- b as vecCross,
74
- c as vecDistance,
104
+ G as tryCatch,
105
+ H2 as tryCatchAsync,
106
+ t2 as typeCastError,
107
+ I as unsupportedError,
108
+ u as unwrap,
109
+ J as unwrapErr,
110
+ K as unwrapOr,
111
+ L as unwrapOrElse,
112
+ validSolid,
113
+ v2 as validationError,
114
+ a2 as vecAdd,
115
+ j as vecAngle,
116
+ e as vecCross,
117
+ h as vecDistance,
75
118
  d as vecDot,
76
- e as vecEquals,
77
- f as vecIsZero,
78
- g as vecLength,
79
- h as vecLengthSq,
80
- i as vecNegate,
81
- j as vecNormalize,
82
- k as vecProjectToPlane,
83
- l as vecRepr,
84
- m as vecRotate,
85
- n as vecScale,
86
- o as vecSub,
87
- y2 as withScope,
88
- z2 as withScopeResult,
89
- A as withScopeResultAsync
119
+ k as vecEquals,
120
+ i as vecIsZero,
121
+ v as vecLength,
122
+ l as vecLengthSq,
123
+ m as vecNegate,
124
+ c as vecNormalize,
125
+ n as vecProjectToPlane,
126
+ o as vecRepr,
127
+ g as vecRotate,
128
+ b as vecScale,
129
+ f as vecSub,
130
+ K2 as withScope,
131
+ L2 as withScopeResult,
132
+ M as withScopeResultAsync
90
133
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
3
- const result = require("./result-fAX0OZzI.cjs");
2
+ const shapeTypes = require("./shapeTypes-T0n6mRmt.cjs");
3
+ const result = require("./result-DULetAht.cjs");
4
4
  function getCurveType(shape) {
5
5
  return shapeTypes.getKernel().curveType(shape.wrapped);
6
6
  }
@@ -1,5 +1,5 @@
1
- import { B as getKernel, c as castShape, j as isEdge, u as isWire } from "./shapeTypes-CpSaBLDv.js";
2
- import { e as err, r as typeCastError, o as ok } from "./result-BaSD1fqR.js";
1
+ import { g as getKernel, c as castShape, i as isEdge, b as isWire } from "./shapeTypes-dhhm-T5A.js";
2
+ import { e as err, t as typeCastError, o as ok } from "./result-CoDaWsvc.js";
3
3
  function getCurveType(shape) {
4
4
  return getKernel().curveType(shape.wrapped);
5
5
  }
@@ -97,18 +97,18 @@ function offsetWire2D(wire, offset, kind = "arc") {
97
97
  return ok(wrapped);
98
98
  }
99
99
  export {
100
- curveTangentAt as a,
101
- curveIsClosed as b,
102
- curveStartPoint as c,
103
- curvePointAt as d,
104
- curveEndPoint as e,
105
- curveLength as f,
106
- getOrientation as g,
107
- approximateCurve as h,
108
- curveIsPeriodic as i,
109
- curvePeriod as j,
110
- flipOrientation as k,
111
- getCurveType as l,
100
+ curveIsClosed as a,
101
+ getOrientation as b,
102
+ curveLength as c,
103
+ curveStartPoint as d,
104
+ curveTangentAt as e,
105
+ curvePointAt as f,
106
+ getCurveType as g,
107
+ curveEndPoint as h,
108
+ approximateCurve as i,
109
+ curveIsPeriodic as j,
110
+ curvePeriod as k,
111
+ flipOrientation as l,
112
112
  interpolateCurve as m,
113
113
  offsetWire2D as o
114
114
  };