@faicad/faijs 0.13.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 (2103) hide show
  1. package/LICENSE +29 -0
  2. package/NOTICE +29 -0
  3. package/dist/api/api-namespace.d.ts +27 -0
  4. package/dist/api/api-namespace.d.ts.map +1 -0
  5. package/dist/api/api-namespace.js +78 -0
  6. package/dist/api/api-namespace.js.map +1 -0
  7. package/dist/api/assembly/entities.d.ts +55 -0
  8. package/dist/api/assembly/entities.d.ts.map +1 -0
  9. package/dist/api/assembly/entities.js +158 -0
  10. package/dist/api/assembly/entities.js.map +1 -0
  11. package/dist/api/assembly/golden-mate.d.ts +49 -0
  12. package/dist/api/assembly/golden-mate.d.ts.map +1 -0
  13. package/dist/api/assembly/golden-mate.js +101 -0
  14. package/dist/api/assembly/golden-mate.js.map +1 -0
  15. package/dist/api/assembly/index.d.ts +16 -0
  16. package/dist/api/assembly/index.d.ts.map +1 -0
  17. package/dist/api/assembly/index.js +16 -0
  18. package/dist/api/assembly/index.js.map +1 -0
  19. package/dist/api/assembly/joints.d.ts +208 -0
  20. package/dist/api/assembly/joints.d.ts.map +1 -0
  21. package/dist/api/assembly/joints.js +240 -0
  22. package/dist/api/assembly/joints.js.map +1 -0
  23. package/dist/api/assembly/lower.d.ts +61 -0
  24. package/dist/api/assembly/lower.d.ts.map +1 -0
  25. package/dist/api/assembly/lower.js +145 -0
  26. package/dist/api/assembly/lower.js.map +1 -0
  27. package/dist/api/assembly/normalize.d.ts +19 -0
  28. package/dist/api/assembly/normalize.d.ts.map +1 -0
  29. package/dist/api/assembly/normalize.js +32 -0
  30. package/dist/api/assembly/normalize.js.map +1 -0
  31. package/dist/api/assembly/pose.d.ts +78 -0
  32. package/dist/api/assembly/pose.d.ts.map +1 -0
  33. package/dist/api/assembly/pose.js +116 -0
  34. package/dist/api/assembly/pose.js.map +1 -0
  35. package/dist/api/assembly/preview.d.ts +55 -0
  36. package/dist/api/assembly/preview.d.ts.map +1 -0
  37. package/dist/api/assembly/preview.js +61 -0
  38. package/dist/api/assembly/preview.js.map +1 -0
  39. package/dist/api/assembly/solve.d.ts +72 -0
  40. package/dist/api/assembly/solve.d.ts.map +1 -0
  41. package/dist/api/assembly/solve.js +139 -0
  42. package/dist/api/assembly/solve.js.map +1 -0
  43. package/dist/api/assembly/solvers/global-solver.d.ts +34 -0
  44. package/dist/api/assembly/solvers/global-solver.d.ts.map +1 -0
  45. package/dist/api/assembly/solvers/global-solver.js +461 -0
  46. package/dist/api/assembly/solvers/global-solver.js.map +1 -0
  47. package/dist/api/assembly/solvers/linalg.d.ts +92 -0
  48. package/dist/api/assembly/solvers/linalg.d.ts.map +1 -0
  49. package/dist/api/assembly/solvers/linalg.js +217 -0
  50. package/dist/api/assembly/solvers/linalg.js.map +1 -0
  51. package/dist/api/assembly/solvers/pose-from-delta.d.ts +43 -0
  52. package/dist/api/assembly/solvers/pose-from-delta.d.ts.map +1 -0
  53. package/dist/api/assembly/solvers/pose-from-delta.js +61 -0
  54. package/dist/api/assembly/solvers/pose-from-delta.js.map +1 -0
  55. package/dist/api/assembly/solvers/types.d.ts +60 -0
  56. package/dist/api/assembly/solvers/types.d.ts.map +1 -0
  57. package/dist/api/assembly/solvers/types.js +11 -0
  58. package/dist/api/assembly/solvers/types.js.map +1 -0
  59. package/dist/api/assembly/types.d.ts +136 -0
  60. package/dist/api/assembly/types.d.ts.map +1 -0
  61. package/dist/api/assembly/types.js +13 -0
  62. package/dist/api/assembly/types.js.map +1 -0
  63. package/dist/api/assembly/validate.d.ts +37 -0
  64. package/dist/api/assembly/validate.d.ts.map +1 -0
  65. package/dist/api/assembly/validate.js +131 -0
  66. package/dist/api/assembly/validate.js.map +1 -0
  67. package/dist/api/assert.d.ts +54 -0
  68. package/dist/api/assert.d.ts.map +1 -0
  69. package/dist/api/assert.js +90 -0
  70. package/dist/api/assert.js.map +1 -0
  71. package/dist/api/asset.d.ts +20 -0
  72. package/dist/api/asset.d.ts.map +1 -0
  73. package/dist/api/asset.js +28 -0
  74. package/dist/api/asset.js.map +1 -0
  75. package/dist/api/boolean.d.ts +56 -0
  76. package/dist/api/boolean.d.ts.map +1 -0
  77. package/dist/api/boolean.js +151 -0
  78. package/dist/api/boolean.js.map +1 -0
  79. package/dist/api/brep-mirror/joinery-brep.d.ts +172 -0
  80. package/dist/api/brep-mirror/joinery-brep.d.ts.map +1 -0
  81. package/dist/api/brep-mirror/joinery-brep.js +461 -0
  82. package/dist/api/brep-mirror/joinery-brep.js.map +1 -0
  83. package/dist/api/brep-mirror/threadFns.d.ts +68 -0
  84. package/dist/api/brep-mirror/threadFns.d.ts.map +1 -0
  85. package/dist/api/brep-mirror/threadFns.js +103 -0
  86. package/dist/api/brep-mirror/threadFns.js.map +1 -0
  87. package/dist/api/brepjs-compat/index.d.ts +234 -0
  88. package/dist/api/brepjs-compat/index.d.ts.map +1 -0
  89. package/dist/api/brepjs-compat/index.js +289 -0
  90. package/dist/api/brepjs-compat/index.js.map +1 -0
  91. package/dist/api/chamfer-math.d.ts +46 -0
  92. package/dist/api/chamfer-math.d.ts.map +1 -0
  93. package/dist/api/chamfer-math.js +60 -0
  94. package/dist/api/chamfer-math.js.map +1 -0
  95. package/dist/api/chamfer.d.ts +63 -0
  96. package/dist/api/chamfer.d.ts.map +1 -0
  97. package/dist/api/chamfer.js +234 -0
  98. package/dist/api/chamfer.js.map +1 -0
  99. package/dist/api/compat/index.d.ts +173 -0
  100. package/dist/api/compat/index.d.ts.map +1 -0
  101. package/dist/api/compat/index.js +222 -0
  102. package/dist/api/compat/index.js.map +1 -0
  103. package/dist/api/compound.d.ts +108 -0
  104. package/dist/api/compound.d.ts.map +1 -0
  105. package/dist/api/compound.js +162 -0
  106. package/dist/api/compound.js.map +1 -0
  107. package/dist/api/copy.d.ts +39 -0
  108. package/dist/api/copy.d.ts.map +1 -0
  109. package/dist/api/copy.js +81 -0
  110. package/dist/api/copy.js.map +1 -0
  111. package/dist/api/edge-ref.d.ts +42 -0
  112. package/dist/api/edge-ref.d.ts.map +1 -0
  113. package/dist/api/edge-ref.js +89 -0
  114. package/dist/api/edge-ref.js.map +1 -0
  115. package/dist/api/engrave.d.ts +39 -0
  116. package/dist/api/engrave.d.ts.map +1 -0
  117. package/dist/api/engrave.js +215 -0
  118. package/dist/api/engrave.js.map +1 -0
  119. package/dist/api/extrude.d.ts +81 -0
  120. package/dist/api/extrude.d.ts.map +1 -0
  121. package/dist/api/extrude.js +299 -0
  122. package/dist/api/extrude.js.map +1 -0
  123. package/dist/api/face-ref.d.ts +37 -0
  124. package/dist/api/face-ref.d.ts.map +1 -0
  125. package/dist/api/face-ref.js +64 -0
  126. package/dist/api/face-ref.js.map +1 -0
  127. package/dist/api/fai_drill.d.ts +46 -0
  128. package/dist/api/fai_drill.d.ts.map +1 -0
  129. package/dist/api/fai_drill.js +230 -0
  130. package/dist/api/fai_drill.js.map +1 -0
  131. package/dist/api/fai_extrude.d.ts +36 -0
  132. package/dist/api/fai_extrude.d.ts.map +1 -0
  133. package/dist/api/fai_extrude.js +78 -0
  134. package/dist/api/fai_extrude.js.map +1 -0
  135. package/dist/api/fai_split.d.ts +46 -0
  136. package/dist/api/fai_split.d.ts.map +1 -0
  137. package/dist/api/fai_split.js +253 -0
  138. package/dist/api/fai_split.js.map +1 -0
  139. package/dist/api/fillet.d.ts +46 -0
  140. package/dist/api/fillet.d.ts.map +1 -0
  141. package/dist/api/fillet.js +127 -0
  142. package/dist/api/fillet.js.map +1 -0
  143. package/dist/api/generated/2d.d.ts +18 -0
  144. package/dist/api/generated/2d.d.ts.map +1 -0
  145. package/dist/api/generated/2d.js +2 -0
  146. package/dist/api/generated/2d.js.map +1 -0
  147. package/dist/api/generated/brepjs/index.d.ts +310 -0
  148. package/dist/api/generated/brepjs/index.d.ts.map +1 -0
  149. package/dist/api/generated/brepjs/index.js +195 -0
  150. package/dist/api/generated/brepjs/index.js.map +1 -0
  151. package/dist/api/generated/cad/script-face.d.ts +12 -0
  152. package/dist/api/generated/cad/script-face.d.ts.map +1 -0
  153. package/dist/api/generated/cad/script-face.js +147 -0
  154. package/dist/api/generated/cad/script-face.js.map +1 -0
  155. package/dist/api/generated/core.d.ts +126 -0
  156. package/dist/api/generated/core.d.ts.map +1 -0
  157. package/dist/api/generated/core.js +86 -0
  158. package/dist/api/generated/core.js.map +1 -0
  159. package/dist/api/generated/gear.d.ts +20 -0
  160. package/dist/api/generated/gear.d.ts.map +1 -0
  161. package/dist/api/generated/gear.js +4 -0
  162. package/dist/api/generated/gear.js.map +1 -0
  163. package/dist/api/generated/io.d.ts +18 -0
  164. package/dist/api/generated/io.d.ts.map +1 -0
  165. package/dist/api/generated/io.js +2 -0
  166. package/dist/api/generated/io.js.map +1 -0
  167. package/dist/api/generated/kernel.d.ts +44 -0
  168. package/dist/api/generated/kernel.d.ts.map +1 -0
  169. package/dist/api/generated/kernel.js +5 -0
  170. package/dist/api/generated/kernel.js.map +1 -0
  171. package/dist/api/generated/measurement.d.ts +132 -0
  172. package/dist/api/generated/measurement.d.ts.map +1 -0
  173. package/dist/api/generated/measurement.js +191 -0
  174. package/dist/api/generated/measurement.js.map +1 -0
  175. package/dist/api/generated/ns.d.ts +15 -0
  176. package/dist/api/generated/ns.d.ts.map +1 -0
  177. package/dist/api/generated/ns.js +15 -0
  178. package/dist/api/generated/ns.js.map +1 -0
  179. package/dist/api/generated/operations.d.ts +190 -0
  180. package/dist/api/generated/operations.d.ts.map +1 -0
  181. package/dist/api/generated/operations.js +131 -0
  182. package/dist/api/generated/operations.js.map +1 -0
  183. package/dist/api/generated/projection.d.ts +13 -0
  184. package/dist/api/generated/projection.d.ts.map +1 -0
  185. package/dist/api/generated/projection.js +5 -0
  186. package/dist/api/generated/projection.js.map +1 -0
  187. package/dist/api/generated/query.d.ts +14 -0
  188. package/dist/api/generated/query.d.ts.map +1 -0
  189. package/dist/api/generated/query.js +2 -0
  190. package/dist/api/generated/query.js.map +1 -0
  191. package/dist/api/generated/script-face-manifest.d.ts +15 -0
  192. package/dist/api/generated/script-face-manifest.d.ts.map +1 -0
  193. package/dist/api/generated/script-face-manifest.js +39 -0
  194. package/dist/api/generated/script-face-manifest.js.map +1 -0
  195. package/dist/api/generated/script-face.d.ts +100 -0
  196. package/dist/api/generated/script-face.d.ts.map +1 -0
  197. package/dist/api/generated/script-face.js +49 -0
  198. package/dist/api/generated/script-face.js.map +1 -0
  199. package/dist/api/generated/sketching.d.ts +13 -0
  200. package/dist/api/generated/sketching.d.ts.map +1 -0
  201. package/dist/api/generated/sketching.js +16 -0
  202. package/dist/api/generated/sketching.js.map +1 -0
  203. package/dist/api/generated/text.d.ts +11 -0
  204. package/dist/api/generated/text.d.ts.map +1 -0
  205. package/dist/api/generated/text.js +4 -0
  206. package/dist/api/generated/text.js.map +1 -0
  207. package/dist/api/generated/topology.d.ts +353 -0
  208. package/dist/api/generated/topology.d.ts.map +1 -0
  209. package/dist/api/generated/topology.js +253 -0
  210. package/dist/api/generated/topology.js.map +1 -0
  211. package/dist/api/generated/view.d.ts +9 -0
  212. package/dist/api/generated/view.d.ts.map +1 -0
  213. package/dist/api/generated/view.js +9 -0
  214. package/dist/api/generated/view.js.map +1 -0
  215. package/dist/api/geom.d.ts +66 -0
  216. package/dist/api/geom.d.ts.map +1 -0
  217. package/dist/api/geom.js +122 -0
  218. package/dist/api/geom.js.map +1 -0
  219. package/dist/api/index.d.ts +47 -0
  220. package/dist/api/index.d.ts.map +1 -0
  221. package/dist/api/index.js +70 -0
  222. package/dist/api/index.js.map +1 -0
  223. package/dist/api/internal/compat-op.d.ts +88 -0
  224. package/dist/api/internal/compat-op.d.ts.map +1 -0
  225. package/dist/api/internal/compat-op.js +176 -0
  226. package/dist/api/internal/compat-op.js.map +1 -0
  227. package/dist/api/internal/compat-projection.d.ts +53 -0
  228. package/dist/api/internal/compat-projection.d.ts.map +1 -0
  229. package/dist/api/internal/compat-projection.js +72 -0
  230. package/dist/api/internal/compat-projection.js.map +1 -0
  231. package/dist/api/internal/dual-form-args.d.ts +143 -0
  232. package/dist/api/internal/dual-form-args.d.ts.map +1 -0
  233. package/dist/api/internal/dual-form-args.js +217 -0
  234. package/dist/api/internal/dual-form-args.js.map +1 -0
  235. package/dist/api/internal/l3-bridge.d.ts +94 -0
  236. package/dist/api/internal/l3-bridge.d.ts.map +1 -0
  237. package/dist/api/internal/l3-bridge.js +143 -0
  238. package/dist/api/internal/l3-bridge.js.map +1 -0
  239. package/dist/api/internal/result-unwrap.d.ts +101 -0
  240. package/dist/api/internal/result-unwrap.d.ts.map +1 -0
  241. package/dist/api/internal/result-unwrap.js +119 -0
  242. package/dist/api/internal/result-unwrap.js.map +1 -0
  243. package/dist/api/internal/svg-asset-resolver.d.ts +22 -0
  244. package/dist/api/internal/svg-asset-resolver.d.ts.map +1 -0
  245. package/dist/api/internal/svg-asset-resolver.js +45 -0
  246. package/dist/api/internal/svg-asset-resolver.js.map +1 -0
  247. package/dist/api/knurl.d.ts +38 -0
  248. package/dist/api/knurl.d.ts.map +1 -0
  249. package/dist/api/knurl.js +62 -0
  250. package/dist/api/knurl.js.map +1 -0
  251. package/dist/api/load.d.ts +39 -0
  252. package/dist/api/load.d.ts.map +1 -0
  253. package/dist/api/load.js +82 -0
  254. package/dist/api/load.js.map +1 -0
  255. package/dist/api/occt-kernel-bridge.d.ts +43 -0
  256. package/dist/api/occt-kernel-bridge.d.ts.map +1 -0
  257. package/dist/api/occt-kernel-bridge.js +59 -0
  258. package/dist/api/occt-kernel-bridge.js.map +1 -0
  259. package/dist/api/primitives.d.ts +161 -0
  260. package/dist/api/primitives.d.ts.map +1 -0
  261. package/dist/api/primitives.js +296 -0
  262. package/dist/api/primitives.js.map +1 -0
  263. package/dist/api/reconcile.d.ts +28 -0
  264. package/dist/api/reconcile.d.ts.map +1 -0
  265. package/dist/api/reconcile.js +45 -0
  266. package/dist/api/reconcile.js.map +1 -0
  267. package/dist/api/result.d.ts +15 -0
  268. package/dist/api/result.d.ts.map +1 -0
  269. package/dist/api/result.js +15 -0
  270. package/dist/api/result.js.map +1 -0
  271. package/dist/api/screw.d.ts +38 -0
  272. package/dist/api/screw.d.ts.map +1 -0
  273. package/dist/api/screw.js +160 -0
  274. package/dist/api/screw.js.map +1 -0
  275. package/dist/api/sdf.d.ts +32 -0
  276. package/dist/api/sdf.d.ts.map +1 -0
  277. package/dist/api/sdf.js +46 -0
  278. package/dist/api/sdf.js.map +1 -0
  279. package/dist/api/sketch.d.ts +73 -0
  280. package/dist/api/sketch.d.ts.map +1 -0
  281. package/dist/api/sketch.js +149 -0
  282. package/dist/api/sketch.js.map +1 -0
  283. package/dist/api/surface/arg-spec.d.ts +111 -0
  284. package/dist/api/surface/arg-spec.d.ts.map +1 -0
  285. package/dist/api/surface/arg-spec.js +3535 -0
  286. package/dist/api/surface/arg-spec.js.map +1 -0
  287. package/dist/api/surface/projection-overrides.d.ts +38 -0
  288. package/dist/api/surface/projection-overrides.d.ts.map +1 -0
  289. package/dist/api/surface/projection-overrides.js +163 -0
  290. package/dist/api/surface/projection-overrides.js.map +1 -0
  291. package/dist/api/svgExtrude.d.ts +32 -0
  292. package/dist/api/svgExtrude.d.ts.map +1 -0
  293. package/dist/api/svgExtrude.js +73 -0
  294. package/dist/api/svgExtrude.js.map +1 -0
  295. package/dist/api/text.d.ts +34 -0
  296. package/dist/api/text.d.ts.map +1 -0
  297. package/dist/api/text.js +100 -0
  298. package/dist/api/text.js.map +1 -0
  299. package/dist/api/topo-resolve.d.ts +89 -0
  300. package/dist/api/topo-resolve.d.ts.map +1 -0
  301. package/dist/api/topo-resolve.js +195 -0
  302. package/dist/api/topo-resolve.js.map +1 -0
  303. package/dist/api/transform.d.ts +108 -0
  304. package/dist/api/transform.d.ts.map +1 -0
  305. package/dist/api/transform.js +229 -0
  306. package/dist/api/transform.js.map +1 -0
  307. package/dist/api/view/index.d.ts +16 -0
  308. package/dist/api/view/index.d.ts.map +1 -0
  309. package/dist/api/view/index.js +16 -0
  310. package/dist/api/view/index.js.map +1 -0
  311. package/dist/api/view/view-camera.d.ts +53 -0
  312. package/dist/api/view/view-camera.d.ts.map +1 -0
  313. package/dist/api/view/view-camera.js +51 -0
  314. package/dist/api/view/view-camera.js.map +1 -0
  315. package/dist/api/view/view-projection.d.ts +80 -0
  316. package/dist/api/view/view-projection.d.ts.map +1 -0
  317. package/dist/api/view/view-projection.js +128 -0
  318. package/dist/api/view/view-projection.js.map +1 -0
  319. package/dist/api/view/view-sheet.d.ts +56 -0
  320. package/dist/api/view/view-sheet.d.ts.map +1 -0
  321. package/dist/api/view/view-sheet.js +91 -0
  322. package/dist/api/view/view-sheet.js.map +1 -0
  323. package/dist/boolean/cross-section.d.ts +64 -0
  324. package/dist/boolean/cross-section.d.ts.map +1 -0
  325. package/dist/boolean/cross-section.js +301 -0
  326. package/dist/boolean/cross-section.js.map +1 -0
  327. package/dist/boolean/csg-backend.d.ts +94 -0
  328. package/dist/boolean/csg-backend.d.ts.map +1 -0
  329. package/dist/boolean/csg-backend.js +137 -0
  330. package/dist/boolean/csg-backend.js.map +1 -0
  331. package/dist/boolean/csg-core.d.ts +207 -0
  332. package/dist/boolean/csg-core.d.ts.map +1 -0
  333. package/dist/boolean/csg-core.js +576 -0
  334. package/dist/boolean/csg-core.js.map +1 -0
  335. package/dist/boolean/deriveNormals.d.ts +21 -0
  336. package/dist/boolean/deriveNormals.d.ts.map +1 -0
  337. package/dist/boolean/deriveNormals.js +24 -0
  338. package/dist/boolean/deriveNormals.js.map +1 -0
  339. package/dist/boolean/dovetail-math.d.ts +56 -0
  340. package/dist/boolean/dovetail-math.d.ts.map +1 -0
  341. package/dist/boolean/dovetail-math.js +85 -0
  342. package/dist/boolean/dovetail-math.js.map +1 -0
  343. package/dist/boolean/extrude-helpers.d.ts +88 -0
  344. package/dist/boolean/extrude-helpers.d.ts.map +1 -0
  345. package/dist/boolean/extrude-helpers.js +134 -0
  346. package/dist/boolean/extrude-helpers.js.map +1 -0
  347. package/dist/boolean/geo-convert.d.ts +52 -0
  348. package/dist/boolean/geo-convert.d.ts.map +1 -0
  349. package/dist/boolean/geo-convert.js +94 -0
  350. package/dist/boolean/geo-convert.js.map +1 -0
  351. package/dist/boolean/joinery-shapes.d.ts +76 -0
  352. package/dist/boolean/joinery-shapes.d.ts.map +1 -0
  353. package/dist/boolean/joinery-shapes.js +205 -0
  354. package/dist/boolean/joinery-shapes.js.map +1 -0
  355. package/dist/boolean/manifold-preview.d.ts +26 -0
  356. package/dist/boolean/manifold-preview.d.ts.map +1 -0
  357. package/dist/boolean/manifold-preview.js +48 -0
  358. package/dist/boolean/manifold-preview.js.map +1 -0
  359. package/dist/brep/brep-chain.d.ts +115 -0
  360. package/dist/brep/brep-chain.d.ts.map +1 -0
  361. package/dist/brep/brep-chain.js +99 -0
  362. package/dist/brep/brep-chain.js.map +1 -0
  363. package/dist/brep/brep-ops.d.ts +251 -0
  364. package/dist/brep/brep-ops.d.ts.map +1 -0
  365. package/dist/brep/brep-ops.js +545 -0
  366. package/dist/brep/brep-ops.js.map +1 -0
  367. package/dist/brep/brep-topology.d.ts +63 -0
  368. package/dist/brep/brep-topology.d.ts.map +1 -0
  369. package/dist/brep/brep-topology.js +86 -0
  370. package/dist/brep/brep-topology.js.map +1 -0
  371. package/dist/brep/brep-utils.d.ts +25 -0
  372. package/dist/brep/brep-utils.d.ts.map +1 -0
  373. package/dist/brep/brep-utils.js +42 -0
  374. package/dist/brep/brep-utils.js.map +1 -0
  375. package/dist/brep/engine/adapters/brep-mock.d.ts +24 -0
  376. package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -0
  377. package/dist/brep/engine/adapters/brep-mock.js +303 -0
  378. package/dist/brep/engine/adapters/brep-mock.js.map +1 -0
  379. package/dist/brep/engine/adapters/brepkit.d.ts +25 -0
  380. package/dist/brep/engine/adapters/brepkit.d.ts.map +1 -0
  381. package/dist/brep/engine/adapters/brepkit.js +51 -0
  382. package/dist/brep/engine/adapters/brepkit.js.map +1 -0
  383. package/dist/brep/engine/adapters/occt.d.ts +31 -0
  384. package/dist/brep/engine/adapters/occt.d.ts.map +1 -0
  385. package/dist/brep/engine/adapters/occt.js +61 -0
  386. package/dist/brep/engine/adapters/occt.js.map +1 -0
  387. package/dist/brep/engine/primitives.d.ts +136 -0
  388. package/dist/brep/engine/primitives.d.ts.map +1 -0
  389. package/dist/brep/engine/primitives.js +13 -0
  390. package/dist/brep/engine/primitives.js.map +1 -0
  391. package/dist/brep/engine/registry.d.ts +88 -0
  392. package/dist/brep/engine/registry.d.ts.map +1 -0
  393. package/dist/brep/engine/registry.js +139 -0
  394. package/dist/brep/engine/registry.js.map +1 -0
  395. package/dist/brep/engine/types.d.ts +157 -0
  396. package/dist/brep/engine/types.d.ts.map +1 -0
  397. package/dist/brep/engine/types.js +11 -0
  398. package/dist/brep/engine/types.js.map +1 -0
  399. package/dist/brep/export/step.d.ts +48 -0
  400. package/dist/brep/export/step.d.ts.map +1 -0
  401. package/dist/brep/export/step.js +118 -0
  402. package/dist/brep/export/step.js.map +1 -0
  403. package/dist/brep/export/stl.d.ts +27 -0
  404. package/dist/brep/export/stl.d.ts.map +1 -0
  405. package/dist/brep/export/stl.js +93 -0
  406. package/dist/brep/export/stl.js.map +1 -0
  407. package/dist/brep/face-evolution.d.ts +244 -0
  408. package/dist/brep/face-evolution.d.ts.map +1 -0
  409. package/dist/brep/face-evolution.js +408 -0
  410. package/dist/brep/face-evolution.js.map +1 -0
  411. package/dist/brep/handle-bridge.d.ts +59 -0
  412. package/dist/brep/handle-bridge.d.ts.map +1 -0
  413. package/dist/brep/handle-bridge.js +91 -0
  414. package/dist/brep/handle-bridge.js.map +1 -0
  415. package/dist/brep/index.d.ts +15 -0
  416. package/dist/brep/index.d.ts.map +1 -0
  417. package/dist/brep/index.js +20 -0
  418. package/dist/brep/index.js.map +1 -0
  419. package/dist/brep/primitives-brep.d.ts +52 -0
  420. package/dist/brep/primitives-brep.d.ts.map +1 -0
  421. package/dist/brep/primitives-brep.js +108 -0
  422. package/dist/brep/primitives-brep.js.map +1 -0
  423. package/dist/brep/svg/svg-to-solid.d.ts +111 -0
  424. package/dist/brep/svg/svg-to-solid.d.ts.map +1 -0
  425. package/dist/brep/svg/svg-to-solid.js +843 -0
  426. package/dist/brep/svg/svg-to-solid.js.map +1 -0
  427. package/dist/brep/text/fontRegistry.d.ts +71 -0
  428. package/dist/brep/text/fontRegistry.d.ts.map +1 -0
  429. package/dist/brep/text/fontRegistry.js +100 -0
  430. package/dist/brep/text/fontRegistry.js.map +1 -0
  431. package/dist/brep/text/fontTestHelper.d.ts +30 -0
  432. package/dist/brep/text/fontTestHelper.d.ts.map +1 -0
  433. package/dist/brep/text/fontTestHelper.js +57 -0
  434. package/dist/brep/text/fontTestHelper.js.map +1 -0
  435. package/dist/brep/text/text-to-solid.d.ts +48 -0
  436. package/dist/brep/text/text-to-solid.d.ts.map +1 -0
  437. package/dist/brep/text/text-to-solid.js +218 -0
  438. package/dist/brep/text/text-to-solid.js.map +1 -0
  439. package/dist/brepjs-compat.d.ts +20 -0
  440. package/dist/brepjs-compat.d.ts.map +1 -0
  441. package/dist/brepjs-compat.js +20 -0
  442. package/dist/brepjs-compat.js.map +1 -0
  443. package/dist/brepkit-kernel/brepkitKernel.d.ts +29 -0
  444. package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -0
  445. package/dist/brepkit-kernel/brepkitKernel.js +571 -0
  446. package/dist/brepkit-kernel/brepkitKernel.js.map +1 -0
  447. package/dist/brepkit-kernel/brepkitWasm.d.ts +25 -0
  448. package/dist/brepkit-kernel/brepkitWasm.d.ts.map +1 -0
  449. package/dist/brepkit-kernel/brepkitWasm.js +51 -0
  450. package/dist/brepkit-kernel/brepkitWasm.js.map +1 -0
  451. package/dist/browser-host/browser-event-sink.d.ts +31 -0
  452. package/dist/browser-host/browser-event-sink.d.ts.map +1 -0
  453. package/dist/browser-host/browser-event-sink.js +35 -0
  454. package/dist/browser-host/browser-event-sink.js.map +1 -0
  455. package/dist/browser-host/browser-font-provider.d.ts +47 -0
  456. package/dist/browser-host/browser-font-provider.d.ts.map +1 -0
  457. package/dist/browser-host/browser-font-provider.js +69 -0
  458. package/dist/browser-host/browser-font-provider.js.map +1 -0
  459. package/dist/browser-host/csg-worker-protocol.d.ts +102 -0
  460. package/dist/browser-host/csg-worker-protocol.d.ts.map +1 -0
  461. package/dist/browser-host/csg-worker-protocol.js +8 -0
  462. package/dist/browser-host/csg-worker-protocol.js.map +1 -0
  463. package/dist/browser-host/csg-worker.d.ts +13 -0
  464. package/dist/browser-host/csg-worker.d.ts.map +1 -0
  465. package/dist/browser-host/csg-worker.js +98 -0
  466. package/dist/browser-host/csg-worker.js.map +1 -0
  467. package/dist/browser-host/fetch-asset-resolver.d.ts +45 -0
  468. package/dist/browser-host/fetch-asset-resolver.d.ts.map +1 -0
  469. package/dist/browser-host/fetch-asset-resolver.js +63 -0
  470. package/dist/browser-host/fetch-asset-resolver.js.map +1 -0
  471. package/dist/browser-host/index.d.ts +76 -0
  472. package/dist/browser-host/index.d.ts.map +1 -0
  473. package/dist/browser-host/index.js +95 -0
  474. package/dist/browser-host/index.js.map +1 -0
  475. package/dist/browser-host/inline-csg-backend.d.ts +56 -0
  476. package/dist/browser-host/inline-csg-backend.d.ts.map +1 -0
  477. package/dist/browser-host/inline-csg-backend.js +110 -0
  478. package/dist/browser-host/inline-csg-backend.js.map +1 -0
  479. package/dist/browser-host/inline-sdf-backend.d.ts +23 -0
  480. package/dist/browser-host/inline-sdf-backend.d.ts.map +1 -0
  481. package/dist/browser-host/inline-sdf-backend.js +28 -0
  482. package/dist/browser-host/inline-sdf-backend.js.map +1 -0
  483. package/dist/browser-host/sdf-worker-protocol.d.ts +41 -0
  484. package/dist/browser-host/sdf-worker-protocol.d.ts.map +1 -0
  485. package/dist/browser-host/sdf-worker-protocol.js +5 -0
  486. package/dist/browser-host/sdf-worker-protocol.js.map +1 -0
  487. package/dist/browser-host/sdf-worker.d.ts +12 -0
  488. package/dist/browser-host/sdf-worker.d.ts.map +1 -0
  489. package/dist/browser-host/sdf-worker.js +39 -0
  490. package/dist/browser-host/sdf-worker.js.map +1 -0
  491. package/dist/browser-host/worker-csg-backend.d.ts +63 -0
  492. package/dist/browser-host/worker-csg-backend.d.ts.map +1 -0
  493. package/dist/browser-host/worker-csg-backend.js +92 -0
  494. package/dist/browser-host/worker-csg-backend.js.map +1 -0
  495. package/dist/browser-host/worker-sdf-backend.d.ts +26 -0
  496. package/dist/browser-host/worker-sdf-backend.d.ts.map +1 -0
  497. package/dist/browser-host/worker-sdf-backend.js +66 -0
  498. package/dist/browser-host/worker-sdf-backend.js.map +1 -0
  499. package/dist/browser.d.ts +136 -0
  500. package/dist/browser.d.ts.map +1 -0
  501. package/dist/browser.js +119 -0
  502. package/dist/browser.js.map +1 -0
  503. package/dist/cad-runtime/admit-compat-lib.d.ts +29 -0
  504. package/dist/cad-runtime/admit-compat-lib.d.ts.map +1 -0
  505. package/dist/cad-runtime/admit-compat-lib.js +49 -0
  506. package/dist/cad-runtime/admit-compat-lib.js.map +1 -0
  507. package/dist/cad-runtime/backend-dispatch.d.ts +58 -0
  508. package/dist/cad-runtime/backend-dispatch.d.ts.map +1 -0
  509. package/dist/cad-runtime/backend-dispatch.js +87 -0
  510. package/dist/cad-runtime/backend-dispatch.js.map +1 -0
  511. package/dist/cad-runtime/browser-lib-loader.d.ts +76 -0
  512. package/dist/cad-runtime/browser-lib-loader.d.ts.map +1 -0
  513. package/dist/cad-runtime/browser-lib-loader.js +113 -0
  514. package/dist/cad-runtime/browser-lib-loader.js.map +1 -0
  515. package/dist/cad-runtime/content-key.d.ts +30 -0
  516. package/dist/cad-runtime/content-key.d.ts.map +1 -0
  517. package/dist/cad-runtime/content-key.js +134 -0
  518. package/dist/cad-runtime/content-key.js.map +1 -0
  519. package/dist/cad-runtime/createRuntimeWithCad.d.ts +22 -0
  520. package/dist/cad-runtime/createRuntimeWithCad.d.ts.map +1 -0
  521. package/dist/cad-runtime/createRuntimeWithCad.js +29 -0
  522. package/dist/cad-runtime/createRuntimeWithCad.js.map +1 -0
  523. package/dist/cad-runtime/direct-executor.d.ts +404 -0
  524. package/dist/cad-runtime/direct-executor.d.ts.map +1 -0
  525. package/dist/cad-runtime/direct-executor.js +1180 -0
  526. package/dist/cad-runtime/direct-executor.js.map +1 -0
  527. package/dist/cad-runtime/exec-backend.d.ts +62 -0
  528. package/dist/cad-runtime/exec-backend.d.ts.map +1 -0
  529. package/dist/cad-runtime/exec-backend.js +18 -0
  530. package/dist/cad-runtime/exec-backend.js.map +1 -0
  531. package/dist/cad-runtime/exec-backends/interp-backend.d.ts +36 -0
  532. package/dist/cad-runtime/exec-backends/interp-backend.d.ts.map +1 -0
  533. package/dist/cad-runtime/exec-backends/interp-backend.js +91 -0
  534. package/dist/cad-runtime/exec-backends/interp-backend.js.map +1 -0
  535. package/dist/cad-runtime/exec-backends/vm-backend.d.ts +19 -0
  536. package/dist/cad-runtime/exec-backends/vm-backend.d.ts.map +1 -0
  537. package/dist/cad-runtime/exec-backends/vm-backend.js +16 -0
  538. package/dist/cad-runtime/exec-backends/vm-backend.js.map +1 -0
  539. package/dist/cad-runtime/execution-limit-error.d.ts +13 -0
  540. package/dist/cad-runtime/execution-limit-error.d.ts.map +1 -0
  541. package/dist/cad-runtime/execution-limit-error.js +16 -0
  542. package/dist/cad-runtime/execution-limit-error.js.map +1 -0
  543. package/dist/cad-runtime/index.d.ts +10 -0
  544. package/dist/cad-runtime/index.d.ts.map +1 -0
  545. package/dist/cad-runtime/index.js +7 -0
  546. package/dist/cad-runtime/index.js.map +1 -0
  547. package/dist/cad-runtime/interp/closure.d.ts +39 -0
  548. package/dist/cad-runtime/interp/closure.d.ts.map +1 -0
  549. package/dist/cad-runtime/interp/closure.js +66 -0
  550. package/dist/cad-runtime/interp/closure.js.map +1 -0
  551. package/dist/cad-runtime/interp/env.d.ts +79 -0
  552. package/dist/cad-runtime/interp/env.d.ts.map +1 -0
  553. package/dist/cad-runtime/interp/env.js +76 -0
  554. package/dist/cad-runtime/interp/env.js.map +1 -0
  555. package/dist/cad-runtime/interp/eval-expr.d.ts +23 -0
  556. package/dist/cad-runtime/interp/eval-expr.d.ts.map +1 -0
  557. package/dist/cad-runtime/interp/eval-expr.js +232 -0
  558. package/dist/cad-runtime/interp/eval-expr.js.map +1 -0
  559. package/dist/cad-runtime/interp/exec-stmt.d.ts +34 -0
  560. package/dist/cad-runtime/interp/exec-stmt.d.ts.map +1 -0
  561. package/dist/cad-runtime/interp/exec-stmt.js +276 -0
  562. package/dist/cad-runtime/interp/exec-stmt.js.map +1 -0
  563. package/dist/cad-runtime/interp/signals.d.ts +31 -0
  564. package/dist/cad-runtime/interp/signals.d.ts.map +1 -0
  565. package/dist/cad-runtime/interp/signals.js +45 -0
  566. package/dist/cad-runtime/interp/signals.js.map +1 -0
  567. package/dist/cad-runtime/lib-id.d.ts +30 -0
  568. package/dist/cad-runtime/lib-id.d.ts.map +1 -0
  569. package/dist/cad-runtime/lib-id.js +94 -0
  570. package/dist/cad-runtime/lib-id.js.map +1 -0
  571. package/dist/cad-runtime/live-shapes.d.ts +94 -0
  572. package/dist/cad-runtime/live-shapes.d.ts.map +1 -0
  573. package/dist/cad-runtime/live-shapes.js +258 -0
  574. package/dist/cad-runtime/live-shapes.js.map +1 -0
  575. package/dist/cad-runtime/module-executor.d.ts +271 -0
  576. package/dist/cad-runtime/module-executor.d.ts.map +1 -0
  577. package/dist/cad-runtime/module-executor.js +630 -0
  578. package/dist/cad-runtime/module-executor.js.map +1 -0
  579. package/dist/cad-runtime/module-registry.d.ts +114 -0
  580. package/dist/cad-runtime/module-registry.d.ts.map +1 -0
  581. package/dist/cad-runtime/module-registry.js +218 -0
  582. package/dist/cad-runtime/module-registry.js.map +1 -0
  583. package/dist/cad-runtime/ports.d.ts +213 -0
  584. package/dist/cad-runtime/ports.d.ts.map +1 -0
  585. package/dist/cad-runtime/ports.js +13 -0
  586. package/dist/cad-runtime/ports.js.map +1 -0
  587. package/dist/cad-runtime/preview-exec.d.ts +50 -0
  588. package/dist/cad-runtime/preview-exec.d.ts.map +1 -0
  589. package/dist/cad-runtime/preview-exec.js +61 -0
  590. package/dist/cad-runtime/preview-exec.js.map +1 -0
  591. package/dist/cad-runtime/runtime.d.ts +575 -0
  592. package/dist/cad-runtime/runtime.d.ts.map +1 -0
  593. package/dist/cad-runtime/runtime.js +1229 -0
  594. package/dist/cad-runtime/runtime.js.map +1 -0
  595. package/dist/cad-runtime/terminal-dag.d.ts +65 -0
  596. package/dist/cad-runtime/terminal-dag.d.ts.map +1 -0
  597. package/dist/cad-runtime/terminal-dag.js +167 -0
  598. package/dist/cad-runtime/terminal-dag.js.map +1 -0
  599. package/dist/csg.d.ts +16 -0
  600. package/dist/csg.d.ts.map +1 -0
  601. package/dist/csg.js +13 -0
  602. package/dist/csg.js.map +1 -0
  603. package/dist/define-op.d.ts +163 -0
  604. package/dist/define-op.d.ts.map +1 -0
  605. package/dist/define-op.js +268 -0
  606. package/dist/define-op.js.map +1 -0
  607. package/dist/faqts/browser.d.ts +16 -0
  608. package/dist/faqts/browser.d.ts.map +1 -0
  609. package/dist/faqts/browser.js +13 -0
  610. package/dist/faqts/browser.js.map +1 -0
  611. package/dist/faqts/exec-blob.d.ts +14 -0
  612. package/dist/faqts/exec-blob.d.ts.map +1 -0
  613. package/dist/faqts/exec-blob.js +22 -0
  614. package/dist/faqts/exec-blob.js.map +1 -0
  615. package/dist/faqts/exec-node.d.ts +15 -0
  616. package/dist/faqts/exec-node.d.ts.map +1 -0
  617. package/dist/faqts/exec-node.js +29 -0
  618. package/dist/faqts/exec-node.js.map +1 -0
  619. package/dist/faqts/imports.d.ts +74 -0
  620. package/dist/faqts/imports.d.ts.map +1 -0
  621. package/dist/faqts/imports.js +95 -0
  622. package/dist/faqts/imports.js.map +1 -0
  623. package/dist/faqts/index.d.ts +22 -0
  624. package/dist/faqts/index.d.ts.map +1 -0
  625. package/dist/faqts/index.js +21 -0
  626. package/dist/faqts/index.js.map +1 -0
  627. package/dist/faqts/node.d.ts +23 -0
  628. package/dist/faqts/node.d.ts.map +1 -0
  629. package/dist/faqts/node.js +23 -0
  630. package/dist/faqts/node.js.map +1 -0
  631. package/dist/faqts/run.d.ts +62 -0
  632. package/dist/faqts/run.d.ts.map +1 -0
  633. package/dist/faqts/run.js +62 -0
  634. package/dist/faqts/run.js.map +1 -0
  635. package/dist/faqts/transform.d.ts +43 -0
  636. package/dist/faqts/transform.d.ts.map +1 -0
  637. package/dist/faqts/transform.js +35 -0
  638. package/dist/faqts/transform.js.map +1 -0
  639. package/dist/fcstd/build-fai-zip.d.ts +29 -0
  640. package/dist/fcstd/build-fai-zip.d.ts.map +1 -0
  641. package/dist/fcstd/build-fai-zip.js +98 -0
  642. package/dist/fcstd/build-fai-zip.js.map +1 -0
  643. package/dist/fcstd/codegen.d.ts +57 -0
  644. package/dist/fcstd/codegen.d.ts.map +1 -0
  645. package/dist/fcstd/codegen.js +487 -0
  646. package/dist/fcstd/codegen.js.map +1 -0
  647. package/dist/fcstd/container.d.ts +60 -0
  648. package/dist/fcstd/container.d.ts.map +1 -0
  649. package/dist/fcstd/container.js +25 -0
  650. package/dist/fcstd/container.js.map +1 -0
  651. package/dist/fcstd/contour.d.ts +35 -0
  652. package/dist/fcstd/contour.d.ts.map +1 -0
  653. package/dist/fcstd/contour.js +86 -0
  654. package/dist/fcstd/contour.js.map +1 -0
  655. package/dist/fcstd/convert.d.ts +34 -0
  656. package/dist/fcstd/convert.d.ts.map +1 -0
  657. package/dist/fcstd/convert.js +223 -0
  658. package/dist/fcstd/convert.js.map +1 -0
  659. package/dist/fcstd/document.d.ts +41 -0
  660. package/dist/fcstd/document.d.ts.map +1 -0
  661. package/dist/fcstd/document.js +137 -0
  662. package/dist/fcstd/document.js.map +1 -0
  663. package/dist/fcstd/expressions.d.ts +37 -0
  664. package/dist/fcstd/expressions.d.ts.map +1 -0
  665. package/dist/fcstd/expressions.js +56 -0
  666. package/dist/fcstd/expressions.js.map +1 -0
  667. package/dist/fcstd/external-geo.d.ts +24 -0
  668. package/dist/fcstd/external-geo.d.ts.map +1 -0
  669. package/dist/fcstd/external-geo.js +119 -0
  670. package/dist/fcstd/external-geo.js.map +1 -0
  671. package/dist/fcstd/feature-translate.d.ts +107 -0
  672. package/dist/fcstd/feature-translate.d.ts.map +1 -0
  673. package/dist/fcstd/feature-translate.js +774 -0
  674. package/dist/fcstd/feature-translate.js.map +1 -0
  675. package/dist/fcstd/placement.d.ts +50 -0
  676. package/dist/fcstd/placement.d.ts.map +1 -0
  677. package/dist/fcstd/placement.js +77 -0
  678. package/dist/fcstd/placement.js.map +1 -0
  679. package/dist/fcstd/planegcs-backend.d.ts +19 -0
  680. package/dist/fcstd/planegcs-backend.d.ts.map +1 -0
  681. package/dist/fcstd/planegcs-backend.js +611 -0
  682. package/dist/fcstd/planegcs-backend.js.map +1 -0
  683. package/dist/fcstd/sketch-parse.d.ts +138 -0
  684. package/dist/fcstd/sketch-parse.d.ts.map +1 -0
  685. package/dist/fcstd/sketch-parse.js +201 -0
  686. package/dist/fcstd/sketch-parse.js.map +1 -0
  687. package/dist/fcstd/sketch-solver.d.ts +45 -0
  688. package/dist/fcstd/sketch-solver.d.ts.map +1 -0
  689. package/dist/fcstd/sketch-solver.js +23 -0
  690. package/dist/fcstd/sketch-solver.js.map +1 -0
  691. package/dist/fcstd/sketch-verify.d.ts +25 -0
  692. package/dist/fcstd/sketch-verify.d.ts.map +1 -0
  693. package/dist/fcstd/sketch-verify.js +49 -0
  694. package/dist/fcstd/sketch-verify.js.map +1 -0
  695. package/dist/fcstd/unpack.d.ts +25 -0
  696. package/dist/fcstd/unpack.d.ts.map +1 -0
  697. package/dist/fcstd/unpack.js +55 -0
  698. package/dist/fcstd/unpack.js.map +1 -0
  699. package/dist/identity.d.ts +229 -0
  700. package/dist/identity.d.ts.map +1 -0
  701. package/dist/identity.js +229 -0
  702. package/dist/identity.js.map +1 -0
  703. package/dist/index.d.ts +125 -0
  704. package/dist/index.d.ts.map +1 -0
  705. package/dist/index.js +121 -0
  706. package/dist/index.js.map +1 -0
  707. package/dist/lang/allocate-id.d.ts +69 -0
  708. package/dist/lang/allocate-id.d.ts.map +1 -0
  709. package/dist/lang/allocate-id.js +82 -0
  710. package/dist/lang/allocate-id.js.map +1 -0
  711. package/dist/lang/code-to-args.d.ts +58 -0
  712. package/dist/lang/code-to-args.d.ts.map +1 -0
  713. package/dist/lang/code-to-args.js +124 -0
  714. package/dist/lang/code-to-args.js.map +1 -0
  715. package/dist/lang/codegen.d.ts +72 -0
  716. package/dist/lang/codegen.d.ts.map +1 -0
  717. package/dist/lang/codegen.js +148 -0
  718. package/dist/lang/codegen.js.map +1 -0
  719. package/dist/lang/compile.d.ts +50 -0
  720. package/dist/lang/compile.d.ts.map +1 -0
  721. package/dist/lang/compile.js +368 -0
  722. package/dist/lang/compile.js.map +1 -0
  723. package/dist/lang/expr-validate.d.ts +41 -0
  724. package/dist/lang/expr-validate.d.ts.map +1 -0
  725. package/dist/lang/expr-validate.js +96 -0
  726. package/dist/lang/expr-validate.js.map +1 -0
  727. package/dist/lang/fnv-hash.d.ts +13 -0
  728. package/dist/lang/fnv-hash.d.ts.map +1 -0
  729. package/dist/lang/fnv-hash.js +20 -0
  730. package/dist/lang/fnv-hash.js.map +1 -0
  731. package/dist/lang/host-arg.d.ts +154 -0
  732. package/dist/lang/host-arg.d.ts.map +1 -0
  733. package/dist/lang/host-arg.js +216 -0
  734. package/dist/lang/host-arg.js.map +1 -0
  735. package/dist/lang/keep.d.ts +109 -0
  736. package/dist/lang/keep.d.ts.map +1 -0
  737. package/dist/lang/keep.js +226 -0
  738. package/dist/lang/keep.js.map +1 -0
  739. package/dist/lang/metadata-extractor.d.ts +203 -0
  740. package/dist/lang/metadata-extractor.d.ts.map +1 -0
  741. package/dist/lang/metadata-extractor.js +1377 -0
  742. package/dist/lang/metadata-extractor.js.map +1 -0
  743. package/dist/lang/parse-error.d.ts +39 -0
  744. package/dist/lang/parse-error.d.ts.map +1 -0
  745. package/dist/lang/parse-error.js +28 -0
  746. package/dist/lang/parse-error.js.map +1 -0
  747. package/dist/lang/parser.d.ts +91 -0
  748. package/dist/lang/parser.d.ts.map +1 -0
  749. package/dist/lang/parser.js +1594 -0
  750. package/dist/lang/parser.js.map +1 -0
  751. package/dist/lang/security-scanner.d.ts +104 -0
  752. package/dist/lang/security-scanner.d.ts.map +1 -0
  753. package/dist/lang/security-scanner.js +773 -0
  754. package/dist/lang/security-scanner.js.map +1 -0
  755. package/dist/lang/source-edit.d.ts +80 -0
  756. package/dist/lang/source-edit.d.ts.map +1 -0
  757. package/dist/lang/source-edit.js +96 -0
  758. package/dist/lang/source-edit.js.map +1 -0
  759. package/dist/lang/statement-summary.d.ts +84 -0
  760. package/dist/lang/statement-summary.d.ts.map +1 -0
  761. package/dist/lang/statement-summary.js +28 -0
  762. package/dist/lang/statement-summary.js.map +1 -0
  763. package/dist/lang/symbol-table.d.ts +28 -0
  764. package/dist/lang/symbol-table.d.ts.map +1 -0
  765. package/dist/lang/symbol-table.generated.d.ts +80 -0
  766. package/dist/lang/symbol-table.generated.d.ts.map +1 -0
  767. package/dist/lang/symbol-table.generated.js +79 -0
  768. package/dist/lang/symbol-table.generated.js.map +1 -0
  769. package/dist/lang/symbol-table.js +27 -0
  770. package/dist/lang/symbol-table.js.map +1 -0
  771. package/dist/lang/types.d.ts +57 -0
  772. package/dist/lang/types.d.ts.map +1 -0
  773. package/dist/lang/types.js +13 -0
  774. package/dist/lang/types.js.map +1 -0
  775. package/dist/mesh/boolean.d.ts +34 -0
  776. package/dist/mesh/boolean.d.ts.map +1 -0
  777. package/dist/mesh/boolean.js +41 -0
  778. package/dist/mesh/boolean.js.map +1 -0
  779. package/dist/mesh/drill-hole/DrillHoleCore.d.ts +90 -0
  780. package/dist/mesh/drill-hole/DrillHoleCore.d.ts.map +1 -0
  781. package/dist/mesh/drill-hole/DrillHoleCore.js +287 -0
  782. package/dist/mesh/drill-hole/DrillHoleCore.js.map +1 -0
  783. package/dist/mesh/drill-hole/drill-types.d.ts +34 -0
  784. package/dist/mesh/drill-hole/drill-types.d.ts.map +1 -0
  785. package/dist/mesh/drill-hole/drill-types.js +7 -0
  786. package/dist/mesh/drill-hole/drill-types.js.map +1 -0
  787. package/dist/mesh/engrave.d.ts +36 -0
  788. package/dist/mesh/engrave.d.ts.map +1 -0
  789. package/dist/mesh/engrave.js +154 -0
  790. package/dist/mesh/engrave.js.map +1 -0
  791. package/dist/mesh/fai_drill.d.ts +21 -0
  792. package/dist/mesh/fai_drill.d.ts.map +1 -0
  793. package/dist/mesh/fai_drill.js +92 -0
  794. package/dist/mesh/fai_drill.js.map +1 -0
  795. package/dist/mesh/fai_extrude.d.ts +24 -0
  796. package/dist/mesh/fai_extrude.d.ts.map +1 -0
  797. package/dist/mesh/fai_extrude.js +42 -0
  798. package/dist/mesh/fai_extrude.js.map +1 -0
  799. package/dist/mesh/fai_split.d.ts +164 -0
  800. package/dist/mesh/fai_split.d.ts.map +1 -0
  801. package/dist/mesh/fai_split.js +269 -0
  802. package/dist/mesh/fai_split.js.map +1 -0
  803. package/dist/mesh/index.d.ts +84 -0
  804. package/dist/mesh/index.d.ts.map +1 -0
  805. package/dist/mesh/index.js +95 -0
  806. package/dist/mesh/index.js.map +1 -0
  807. package/dist/mesh/io.d.ts +17 -0
  808. package/dist/mesh/io.d.ts.map +1 -0
  809. package/dist/mesh/io.js +33 -0
  810. package/dist/mesh/io.js.map +1 -0
  811. package/dist/mesh/knurl/KnurlGenerator.d.ts +77 -0
  812. package/dist/mesh/knurl/KnurlGenerator.d.ts.map +1 -0
  813. package/dist/mesh/knurl/KnurlGenerator.js +116 -0
  814. package/dist/mesh/knurl/KnurlGenerator.js.map +1 -0
  815. package/dist/mesh/knurl/displacement.d.ts +53 -0
  816. package/dist/mesh/knurl/displacement.d.ts.map +1 -0
  817. package/dist/mesh/knurl/displacement.js +274 -0
  818. package/dist/mesh/knurl/displacement.js.map +1 -0
  819. package/dist/mesh/knurl/mapping.d.ts +104 -0
  820. package/dist/mesh/knurl/mapping.d.ts.map +1 -0
  821. package/dist/mesh/knurl/mapping.js +307 -0
  822. package/dist/mesh/knurl/mapping.js.map +1 -0
  823. package/dist/mesh/knurl/meshIndex.d.ts +63 -0
  824. package/dist/mesh/knurl/meshIndex.d.ts.map +1 -0
  825. package/dist/mesh/knurl/meshIndex.js +134 -0
  826. package/dist/mesh/knurl/meshIndex.js.map +1 -0
  827. package/dist/mesh/knurl/subdivision.d.ts +54 -0
  828. package/dist/mesh/knurl/subdivision.d.ts.map +1 -0
  829. package/dist/mesh/knurl/subdivision.js +517 -0
  830. package/dist/mesh/knurl/subdivision.js.map +1 -0
  831. package/dist/mesh/knurl/textureLoader.d.ts +38 -0
  832. package/dist/mesh/knurl/textureLoader.d.ts.map +1 -0
  833. package/dist/mesh/knurl/textureLoader.js +40 -0
  834. package/dist/mesh/knurl/textureLoader.js.map +1 -0
  835. package/dist/mesh/manifold-loader.d.ts +41 -0
  836. package/dist/mesh/manifold-loader.d.ts.map +1 -0
  837. package/dist/mesh/manifold-loader.js +56 -0
  838. package/dist/mesh/manifold-loader.js.map +1 -0
  839. package/dist/mesh/primitives.d.ts +104 -0
  840. package/dist/mesh/primitives.d.ts.map +1 -0
  841. package/dist/mesh/primitives.js +275 -0
  842. package/dist/mesh/primitives.js.map +1 -0
  843. package/dist/mesh/query.d.ts +43 -0
  844. package/dist/mesh/query.d.ts.map +1 -0
  845. package/dist/mesh/query.js +124 -0
  846. package/dist/mesh/query.js.map +1 -0
  847. package/dist/mesh/reconcile.d.ts +84 -0
  848. package/dist/mesh/reconcile.d.ts.map +1 -0
  849. package/dist/mesh/reconcile.js +261 -0
  850. package/dist/mesh/reconcile.js.map +1 -0
  851. package/dist/mesh/rigid-transform.d.ts +28 -0
  852. package/dist/mesh/rigid-transform.d.ts.map +1 -0
  853. package/dist/mesh/rigid-transform.js +51 -0
  854. package/dist/mesh/rigid-transform.js.map +1 -0
  855. package/dist/mesh/transform.d.ts +57 -0
  856. package/dist/mesh/transform.d.ts.map +1 -0
  857. package/dist/mesh/transform.js +102 -0
  858. package/dist/mesh/transform.js.map +1 -0
  859. package/dist/mesh/types.d.ts +279 -0
  860. package/dist/mesh/types.d.ts.map +1 -0
  861. package/dist/mesh/types.js +46 -0
  862. package/dist/mesh/types.js.map +1 -0
  863. package/dist/module-resolver/index.d.ts +8 -0
  864. package/dist/module-resolver/index.d.ts.map +1 -0
  865. package/dist/module-resolver/index.js +8 -0
  866. package/dist/module-resolver/index.js.map +1 -0
  867. package/dist/module-resolver/resolver.d.ts +112 -0
  868. package/dist/module-resolver/resolver.d.ts.map +1 -0
  869. package/dist/module-resolver/resolver.js +226 -0
  870. package/dist/module-resolver/resolver.js.map +1 -0
  871. package/dist/module-resolver/version.d.ts +46 -0
  872. package/dist/module-resolver/version.d.ts.map +1 -0
  873. package/dist/module-resolver/version.js +187 -0
  874. package/dist/module-resolver/version.js.map +1 -0
  875. package/dist/node-host/cli-event-sink.d.ts +25 -0
  876. package/dist/node-host/cli-event-sink.d.ts.map +1 -0
  877. package/dist/node-host/cli-event-sink.js +22 -0
  878. package/dist/node-host/cli-event-sink.js.map +1 -0
  879. package/dist/node-host/cli.d.ts +168 -0
  880. package/dist/node-host/cli.d.ts.map +1 -0
  881. package/dist/node-host/cli.js +646 -0
  882. package/dist/node-host/cli.js.map +1 -0
  883. package/dist/node-host/fs-asset-resolver.d.ts +55 -0
  884. package/dist/node-host/fs-asset-resolver.d.ts.map +1 -0
  885. package/dist/node-host/fs-asset-resolver.js +107 -0
  886. package/dist/node-host/fs-asset-resolver.js.map +1 -0
  887. package/dist/node-host/fs-project-loader.d.ts +40 -0
  888. package/dist/node-host/fs-project-loader.d.ts.map +1 -0
  889. package/dist/node-host/fs-project-loader.js +112 -0
  890. package/dist/node-host/fs-project-loader.js.map +1 -0
  891. package/dist/node-host/index.d.ts +46 -0
  892. package/dist/node-host/index.d.ts.map +1 -0
  893. package/dist/node-host/index.js +56 -0
  894. package/dist/node-host/index.js.map +1 -0
  895. package/dist/node-host/node-font-provider.d.ts +50 -0
  896. package/dist/node-host/node-font-provider.d.ts.map +1 -0
  897. package/dist/node-host/node-font-provider.js +87 -0
  898. package/dist/node-host/node-font-provider.js.map +1 -0
  899. package/dist/node.d.ts +23 -0
  900. package/dist/node.d.ts.map +1 -0
  901. package/dist/node.js +23 -0
  902. package/dist/node.js.map +1 -0
  903. package/dist/occt-kernel/highLevelApi.d.ts +106 -0
  904. package/dist/occt-kernel/highLevelApi.d.ts.map +1 -0
  905. package/dist/occt-kernel/highLevelApi.js +149 -0
  906. package/dist/occt-kernel/highLevelApi.js.map +1 -0
  907. package/dist/occt-kernel/meshReconstruct.d.ts +75 -0
  908. package/dist/occt-kernel/meshReconstruct.d.ts.map +1 -0
  909. package/dist/occt-kernel/meshReconstruct.js +196 -0
  910. package/dist/occt-kernel/meshReconstruct.js.map +1 -0
  911. package/dist/occt-kernel/occtKernel.d.ts +174 -0
  912. package/dist/occt-kernel/occtKernel.d.ts.map +1 -0
  913. package/dist/occt-kernel/occtKernel.js +400 -0
  914. package/dist/occt-kernel/occtKernel.js.map +1 -0
  915. package/dist/occt-kernel/stepColorParser.d.ts +54 -0
  916. package/dist/occt-kernel/stepColorParser.d.ts.map +1 -0
  917. package/dist/occt-kernel/stepColorParser.js +139 -0
  918. package/dist/occt-kernel/stepColorParser.js.map +1 -0
  919. package/dist/occt-kernel/topologyExt.d.ts +80 -0
  920. package/dist/occt-kernel/topologyExt.d.ts.map +1 -0
  921. package/dist/occt-kernel/topologyExt.js +1295 -0
  922. package/dist/occt-kernel/topologyExt.js.map +1 -0
  923. package/dist/primitives/brep-primitives.d.ts +104 -0
  924. package/dist/primitives/brep-primitives.d.ts.map +1 -0
  925. package/dist/primitives/brep-primitives.js +297 -0
  926. package/dist/primitives/brep-primitives.js.map +1 -0
  927. package/dist/primitives/mesh-primitives.d.ts +38 -0
  928. package/dist/primitives/mesh-primitives.d.ts.map +1 -0
  929. package/dist/primitives/mesh-primitives.js +160 -0
  930. package/dist/primitives/mesh-primitives.js.map +1 -0
  931. package/dist/primitives/parse-svg-size.d.ts +18 -0
  932. package/dist/primitives/parse-svg-size.d.ts.map +1 -0
  933. package/dist/primitives/parse-svg-size.js +31 -0
  934. package/dist/primitives/parse-svg-size.js.map +1 -0
  935. package/dist/primitives/screw/screw-db.d.ts +86 -0
  936. package/dist/primitives/screw/screw-db.d.ts.map +1 -0
  937. package/dist/primitives/screw/screw-db.js +95 -0
  938. package/dist/primitives/screw/screw-db.js.map +1 -0
  939. package/dist/primitives/screw/screw.d.ts +13 -0
  940. package/dist/primitives/screw/screw.d.ts.map +1 -0
  941. package/dist/primitives/screw/screw.js +176 -0
  942. package/dist/primitives/screw/screw.js.map +1 -0
  943. package/dist/primitives/svg-extrude.d.ts +43 -0
  944. package/dist/primitives/svg-extrude.d.ts.map +1 -0
  945. package/dist/primitives/svg-extrude.js +78 -0
  946. package/dist/primitives/svg-extrude.js.map +1 -0
  947. package/dist/primitives/text/cjk.d.ts +61 -0
  948. package/dist/primitives/text/cjk.d.ts.map +1 -0
  949. package/dist/primitives/text/cjk.js +215 -0
  950. package/dist/primitives/text/cjk.js.map +1 -0
  951. package/dist/primitives/text-geometry.d.ts +47 -0
  952. package/dist/primitives/text-geometry.d.ts.map +1 -0
  953. package/dist/primitives/text-geometry.js +127 -0
  954. package/dist/primitives/text-geometry.js.map +1 -0
  955. package/dist/primitives/types.d.ts +56 -0
  956. package/dist/primitives/types.d.ts.map +1 -0
  957. package/dist/primitives/types.js +25 -0
  958. package/dist/primitives/types.js.map +1 -0
  959. package/dist/runtime-state.d.ts +303 -0
  960. package/dist/runtime-state.d.ts.map +1 -0
  961. package/dist/runtime-state.js +316 -0
  962. package/dist/runtime-state.js.map +1 -0
  963. package/dist/sdf/sdf-core.d.ts +67 -0
  964. package/dist/sdf/sdf-core.d.ts.map +1 -0
  965. package/dist/sdf/sdf-core.js +118 -0
  966. package/dist/sdf/sdf-core.js.map +1 -0
  967. package/dist/sdf/sdf-runner.d.ts +33 -0
  968. package/dist/sdf/sdf-runner.d.ts.map +1 -0
  969. package/dist/sdf/sdf-runner.js +45 -0
  970. package/dist/sdf/sdf-runner.js.map +1 -0
  971. package/dist/sdf/templates.d.ts +7 -0
  972. package/dist/sdf/templates.d.ts.map +1 -0
  973. package/dist/sdf/templates.js +282 -0
  974. package/dist/sdf/templates.js.map +1 -0
  975. package/dist/sdf/types.d.ts +114 -0
  976. package/dist/sdf/types.d.ts.map +1 -0
  977. package/dist/sdf/types.js +97 -0
  978. package/dist/sdf/types.js.map +1 -0
  979. package/dist/sdf.d.ts +12 -0
  980. package/dist/sdf.d.ts.map +1 -0
  981. package/dist/sdf.js +10 -0
  982. package/dist/sdf.js.map +1 -0
  983. package/dist/sdk.d.ts +30 -0
  984. package/dist/sdk.d.ts.map +1 -0
  985. package/dist/sdk.js +34 -0
  986. package/dist/sdk.js.map +1 -0
  987. package/dist/shape.d.ts +121 -0
  988. package/dist/shape.d.ts.map +1 -0
  989. package/dist/shape.js +145 -0
  990. package/dist/shape.js.map +1 -0
  991. package/dist/test-helpers.d.ts +31 -0
  992. package/dist/test-helpers.d.ts.map +1 -0
  993. package/dist/test-helpers.js +55 -0
  994. package/dist/test-helpers.js.map +1 -0
  995. package/dist/topology/build-face-ids.d.ts +35 -0
  996. package/dist/topology/build-face-ids.d.ts.map +1 -0
  997. package/dist/topology/build-face-ids.js +70 -0
  998. package/dist/topology/build-face-ids.js.map +1 -0
  999. package/dist/topology/build-logical-points.d.ts +68 -0
  1000. package/dist/topology/build-logical-points.d.ts.map +1 -0
  1001. package/dist/topology/build-logical-points.js +169 -0
  1002. package/dist/topology/build-logical-points.js.map +1 -0
  1003. package/dist/topology/build-selector-runtime.d.ts +82 -0
  1004. package/dist/topology/build-selector-runtime.d.ts.map +1 -0
  1005. package/dist/topology/build-selector-runtime.js +601 -0
  1006. package/dist/topology/build-selector-runtime.js.map +1 -0
  1007. package/dist/topology/naming/build-naming.d.ts +89 -0
  1008. package/dist/topology/naming/build-naming.d.ts.map +1 -0
  1009. package/dist/topology/naming/build-naming.js +107 -0
  1010. package/dist/topology/naming/build-naming.js.map +1 -0
  1011. package/dist/topology/naming/capture-topo-ref.d.ts +22 -0
  1012. package/dist/topology/naming/capture-topo-ref.d.ts.map +1 -0
  1013. package/dist/topology/naming/capture-topo-ref.js +34 -0
  1014. package/dist/topology/naming/capture-topo-ref.js.map +1 -0
  1015. package/dist/topology/naming/geom-hint.d.ts +92 -0
  1016. package/dist/topology/naming/geom-hint.d.ts.map +1 -0
  1017. package/dist/topology/naming/geom-hint.js +254 -0
  1018. package/dist/topology/naming/geom-hint.js.map +1 -0
  1019. package/dist/topology/naming/index.d.ts +19 -0
  1020. package/dist/topology/naming/index.d.ts.map +1 -0
  1021. package/dist/topology/naming/index.js +19 -0
  1022. package/dist/topology/naming/index.js.map +1 -0
  1023. package/dist/topology/naming/ref-params.d.ts +49 -0
  1024. package/dist/topology/naming/ref-params.d.ts.map +1 -0
  1025. package/dist/topology/naming/ref-params.js +92 -0
  1026. package/dist/topology/naming/ref-params.js.map +1 -0
  1027. package/dist/topology/naming/resolve-derived.d.ts +23 -0
  1028. package/dist/topology/naming/resolve-derived.d.ts.map +1 -0
  1029. package/dist/topology/naming/resolve-derived.js +128 -0
  1030. package/dist/topology/naming/resolve-derived.js.map +1 -0
  1031. package/dist/topology/naming/resolve-edge.d.ts +36 -0
  1032. package/dist/topology/naming/resolve-edge.d.ts.map +1 -0
  1033. package/dist/topology/naming/resolve-edge.js +138 -0
  1034. package/dist/topology/naming/resolve-edge.js.map +1 -0
  1035. package/dist/topology/naming/resolve-face.d.ts +89 -0
  1036. package/dist/topology/naming/resolve-face.d.ts.map +1 -0
  1037. package/dist/topology/naming/resolve-face.js +107 -0
  1038. package/dist/topology/naming/resolve-face.js.map +1 -0
  1039. package/dist/topology/naming/resolve-vertex.d.ts +27 -0
  1040. package/dist/topology/naming/resolve-vertex.d.ts.map +1 -0
  1041. package/dist/topology/naming/resolve-vertex.js +115 -0
  1042. package/dist/topology/naming/resolve-vertex.js.map +1 -0
  1043. package/dist/topology/naming/resolver.d.ts +40 -0
  1044. package/dist/topology/naming/resolver.d.ts.map +1 -0
  1045. package/dist/topology/naming/resolver.js +71 -0
  1046. package/dist/topology/naming/resolver.js.map +1 -0
  1047. package/dist/topology/naming/roles.d.ts +111 -0
  1048. package/dist/topology/naming/roles.d.ts.map +1 -0
  1049. package/dist/topology/naming/roles.js +271 -0
  1050. package/dist/topology/naming/roles.js.map +1 -0
  1051. package/dist/topology/naming/score.d.ts +60 -0
  1052. package/dist/topology/naming/score.d.ts.map +1 -0
  1053. package/dist/topology/naming/score.js +121 -0
  1054. package/dist/topology/naming/score.js.map +1 -0
  1055. package/dist/topology/naming/types.d.ts +142 -0
  1056. package/dist/topology/naming/types.d.ts.map +1 -0
  1057. package/dist/topology/naming/types.js +27 -0
  1058. package/dist/topology/naming/types.js.map +1 -0
  1059. package/dist/topology/types.d.ts +225 -0
  1060. package/dist/topology/types.d.ts.map +1 -0
  1061. package/dist/topology/types.js +2 -0
  1062. package/dist/topology/types.js.map +1 -0
  1063. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts +106 -0
  1064. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts.map +1 -0
  1065. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js +341 -0
  1066. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js.map +1 -0
  1067. package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts +185 -0
  1068. package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts.map +1 -0
  1069. package/dist/vendored/brepjs/2d/blueprints/blueprint.js +361 -0
  1070. package/dist/vendored/brepjs/2d/blueprints/blueprint.js.map +1 -0
  1071. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts +15 -0
  1072. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts.map +1 -0
  1073. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js +28 -0
  1074. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js.map +1 -0
  1075. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts +29 -0
  1076. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts.map +1 -0
  1077. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js +86 -0
  1078. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js.map +1 -0
  1079. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts +57 -0
  1080. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts.map +1 -0
  1081. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js +92 -0
  1082. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js.map +1 -0
  1083. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts +58 -0
  1084. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts.map +1 -0
  1085. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js +346 -0
  1086. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js.map +1 -0
  1087. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts +30 -0
  1088. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts.map +1 -0
  1089. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js +45 -0
  1090. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js.map +1 -0
  1091. package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts +68 -0
  1092. package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts.map +1 -0
  1093. package/dist/vendored/brepjs/2d/blueprints/blueprints.js +116 -0
  1094. package/dist/vendored/brepjs/2d/blueprints/blueprints.js.map +1 -0
  1095. package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts +68 -0
  1096. package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts.map +1 -0
  1097. package/dist/vendored/brepjs/2d/blueprints/boolean2D.js +362 -0
  1098. package/dist/vendored/brepjs/2d/blueprints/boolean2D.js.map +1 -0
  1099. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts +34 -0
  1100. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts.map +1 -0
  1101. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js +176 -0
  1102. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js.map +1 -0
  1103. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts +55 -0
  1104. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts.map +1 -0
  1105. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js +110 -0
  1106. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js.map +1 -0
  1107. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts +41 -0
  1108. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts.map +1 -0
  1109. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js +90 -0
  1110. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js.map +1 -0
  1111. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts +85 -0
  1112. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts.map +1 -0
  1113. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js +136 -0
  1114. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js.map +1 -0
  1115. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts +48 -0
  1116. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts.map +1 -0
  1117. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js +154 -0
  1118. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js.map +1 -0
  1119. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts +342 -0
  1120. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts.map +1 -0
  1121. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js +32 -0
  1122. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js.map +1 -0
  1123. package/dist/vendored/brepjs/2d/blueprints/index.d.ts +16 -0
  1124. package/dist/vendored/brepjs/2d/blueprints/index.d.ts.map +1 -0
  1125. package/dist/vendored/brepjs/2d/blueprints/index.js +13 -0
  1126. package/dist/vendored/brepjs/2d/blueprints/index.js.map +1 -0
  1127. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts +18 -0
  1128. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts.map +1 -0
  1129. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js +230 -0
  1130. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js.map +1 -0
  1131. package/dist/vendored/brepjs/2d/blueprints/lib.d.ts +73 -0
  1132. package/dist/vendored/brepjs/2d/blueprints/lib.d.ts.map +1 -0
  1133. package/dist/vendored/brepjs/2d/blueprints/lib.js +103 -0
  1134. package/dist/vendored/brepjs/2d/blueprints/lib.js.map +1 -0
  1135. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts +31 -0
  1136. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts.map +1 -0
  1137. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js +226 -0
  1138. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js.map +1 -0
  1139. package/dist/vendored/brepjs/2d/blueprints/svg.d.ts +22 -0
  1140. package/dist/vendored/brepjs/2d/blueprints/svg.d.ts.map +1 -0
  1141. package/dist/vendored/brepjs/2d/blueprints/svg.js +30 -0
  1142. package/dist/vendored/brepjs/2d/blueprints/svg.js.map +1 -0
  1143. package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts +124 -0
  1144. package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts.map +1 -0
  1145. package/dist/vendored/brepjs/2d/curve2dGeometryFns.js +235 -0
  1146. package/dist/vendored/brepjs/2d/curve2dGeometryFns.js.map +1 -0
  1147. package/dist/vendored/brepjs/2d/curves.d.ts +45 -0
  1148. package/dist/vendored/brepjs/2d/curves.d.ts.map +1 -0
  1149. package/dist/vendored/brepjs/2d/curves.js +139 -0
  1150. package/dist/vendored/brepjs/2d/curves.js.map +1 -0
  1151. package/dist/vendored/brepjs/2d/lib/approximations.d.ts +47 -0
  1152. package/dist/vendored/brepjs/2d/lib/approximations.d.ts.map +1 -0
  1153. package/dist/vendored/brepjs/2d/lib/approximations.js +82 -0
  1154. package/dist/vendored/brepjs/2d/lib/approximations.js.map +1 -0
  1155. package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts +39 -0
  1156. package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts.map +1 -0
  1157. package/dist/vendored/brepjs/2d/lib/boundingBox2d.js +88 -0
  1158. package/dist/vendored/brepjs/2d/lib/boundingBox2d.js.map +1 -0
  1159. package/dist/vendored/brepjs/2d/lib/curve2D.d.ts +82 -0
  1160. package/dist/vendored/brepjs/2d/lib/curve2D.d.ts.map +1 -0
  1161. package/dist/vendored/brepjs/2d/lib/curve2D.js +258 -0
  1162. package/dist/vendored/brepjs/2d/lib/curve2D.js.map +1 -0
  1163. package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts +53 -0
  1164. package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts.map +1 -0
  1165. package/dist/vendored/brepjs/2d/lib/curve2dFns.js +69 -0
  1166. package/dist/vendored/brepjs/2d/lib/curve2dFns.js.map +1 -0
  1167. package/dist/vendored/brepjs/2d/lib/customCorners.d.ts +29 -0
  1168. package/dist/vendored/brepjs/2d/lib/customCorners.d.ts.map +1 -0
  1169. package/dist/vendored/brepjs/2d/lib/customCorners.js +237 -0
  1170. package/dist/vendored/brepjs/2d/lib/customCorners.js.map +1 -0
  1171. package/dist/vendored/brepjs/2d/lib/definitions.d.ts +12 -0
  1172. package/dist/vendored/brepjs/2d/lib/definitions.d.ts.map +1 -0
  1173. package/dist/vendored/brepjs/2d/lib/definitions.js +19 -0
  1174. package/dist/vendored/brepjs/2d/lib/definitions.js.map +1 -0
  1175. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts +21 -0
  1176. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts.map +1 -0
  1177. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js +71 -0
  1178. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js.map +1 -0
  1179. package/dist/vendored/brepjs/2d/lib/index.d.ts +14 -0
  1180. package/dist/vendored/brepjs/2d/lib/index.d.ts.map +1 -0
  1181. package/dist/vendored/brepjs/2d/lib/index.js +14 -0
  1182. package/dist/vendored/brepjs/2d/lib/index.js.map +1 -0
  1183. package/dist/vendored/brepjs/2d/lib/intersections.d.ts +34 -0
  1184. package/dist/vendored/brepjs/2d/lib/intersections.d.ts.map +1 -0
  1185. package/dist/vendored/brepjs/2d/lib/intersections.js +77 -0
  1186. package/dist/vendored/brepjs/2d/lib/intersections.js.map +1 -0
  1187. package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts +63 -0
  1188. package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts.map +1 -0
  1189. package/dist/vendored/brepjs/2d/lib/makeCurves.js +117 -0
  1190. package/dist/vendored/brepjs/2d/lib/makeCurves.js.map +1 -0
  1191. package/dist/vendored/brepjs/2d/lib/offset.d.ts +30 -0
  1192. package/dist/vendored/brepjs/2d/lib/offset.d.ts.map +1 -0
  1193. package/dist/vendored/brepjs/2d/lib/offset.js +109 -0
  1194. package/dist/vendored/brepjs/2d/lib/offset.js.map +1 -0
  1195. package/dist/vendored/brepjs/2d/lib/precision.d.ts +12 -0
  1196. package/dist/vendored/brepjs/2d/lib/precision.d.ts.map +1 -0
  1197. package/dist/vendored/brepjs/2d/lib/precision.js +12 -0
  1198. package/dist/vendored/brepjs/2d/lib/precision.js.map +1 -0
  1199. package/dist/vendored/brepjs/2d/lib/stitching.d.ts +15 -0
  1200. package/dist/vendored/brepjs/2d/lib/stitching.d.ts.map +1 -0
  1201. package/dist/vendored/brepjs/2d/lib/stitching.js +67 -0
  1202. package/dist/vendored/brepjs/2d/lib/stitching.js.map +1 -0
  1203. package/dist/vendored/brepjs/2d/lib/svgPath.d.ts +4 -0
  1204. package/dist/vendored/brepjs/2d/lib/svgPath.d.ts.map +1 -0
  1205. package/dist/vendored/brepjs/2d/lib/svgPath.js +114 -0
  1206. package/dist/vendored/brepjs/2d/lib/svgPath.js.map +1 -0
  1207. package/dist/vendored/brepjs/2d/lib/utils.d.ts +11 -0
  1208. package/dist/vendored/brepjs/2d/lib/utils.d.ts.map +1 -0
  1209. package/dist/vendored/brepjs/2d/lib/utils.js +24 -0
  1210. package/dist/vendored/brepjs/2d/lib/utils.js.map +1 -0
  1211. package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts +19 -0
  1212. package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts.map +1 -0
  1213. package/dist/vendored/brepjs/2d/lib/vectorOperations.js +26 -0
  1214. package/dist/vendored/brepjs/2d/lib/vectorOperations.js.map +1 -0
  1215. package/dist/vendored/brepjs/2d.d.ts +26 -0
  1216. package/dist/vendored/brepjs/2d.d.ts.map +1 -0
  1217. package/dist/vendored/brepjs/2d.js +33 -0
  1218. package/dist/vendored/brepjs/2d.js.map +1 -0
  1219. package/dist/vendored/brepjs/core/constants.d.ts +7 -0
  1220. package/dist/vendored/brepjs/core/constants.d.ts.map +1 -0
  1221. package/dist/vendored/brepjs/core/constants.js +7 -0
  1222. package/dist/vendored/brepjs/core/constants.js.map +1 -0
  1223. package/dist/vendored/brepjs/core/curve2dHandle.d.ts +35 -0
  1224. package/dist/vendored/brepjs/core/curve2dHandle.d.ts.map +1 -0
  1225. package/dist/vendored/brepjs/core/curve2dHandle.js +48 -0
  1226. package/dist/vendored/brepjs/core/curve2dHandle.js.map +1 -0
  1227. package/dist/vendored/brepjs/core/dimensionTypes.d.ts +61 -0
  1228. package/dist/vendored/brepjs/core/dimensionTypes.d.ts.map +1 -0
  1229. package/dist/vendored/brepjs/core/dimensionTypes.js +54 -0
  1230. package/dist/vendored/brepjs/core/dimensionTypes.js.map +1 -0
  1231. package/dist/vendored/brepjs/core/disposal.d.ts +136 -0
  1232. package/dist/vendored/brepjs/core/disposal.d.ts.map +1 -0
  1233. package/dist/vendored/brepjs/core/disposal.js +441 -0
  1234. package/dist/vendored/brepjs/core/disposal.js.map +1 -0
  1235. package/dist/vendored/brepjs/core/errors.d.ts +191 -0
  1236. package/dist/vendored/brepjs/core/errors.d.ts.map +1 -0
  1237. package/dist/vendored/brepjs/core/errors.js +238 -0
  1238. package/dist/vendored/brepjs/core/errors.js.map +1 -0
  1239. package/dist/vendored/brepjs/core/kernelBoundary.d.ts +40 -0
  1240. package/dist/vendored/brepjs/core/kernelBoundary.d.ts.map +1 -0
  1241. package/dist/vendored/brepjs/core/kernelBoundary.js +99 -0
  1242. package/dist/vendored/brepjs/core/kernelBoundary.js.map +1 -0
  1243. package/dist/vendored/brepjs/core/kernelCall.d.ts +48 -0
  1244. package/dist/vendored/brepjs/core/kernelCall.d.ts.map +1 -0
  1245. package/dist/vendored/brepjs/core/kernelCall.js +154 -0
  1246. package/dist/vendored/brepjs/core/kernelCall.js.map +1 -0
  1247. package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts +17 -0
  1248. package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts.map +1 -0
  1249. package/dist/vendored/brepjs/core/kernelErrorTranslation.js +98 -0
  1250. package/dist/vendored/brepjs/core/kernelErrorTranslation.js.map +1 -0
  1251. package/dist/vendored/brepjs/core/kernelReentrancy.d.ts +41 -0
  1252. package/dist/vendored/brepjs/core/kernelReentrancy.d.ts.map +1 -0
  1253. package/dist/vendored/brepjs/core/kernelReentrancy.js +68 -0
  1254. package/dist/vendored/brepjs/core/kernelReentrancy.js.map +1 -0
  1255. package/dist/vendored/brepjs/core/planeOps.d.ts +62 -0
  1256. package/dist/vendored/brepjs/core/planeOps.d.ts.map +1 -0
  1257. package/dist/vendored/brepjs/core/planeOps.js +148 -0
  1258. package/dist/vendored/brepjs/core/planeOps.js.map +1 -0
  1259. package/dist/vendored/brepjs/core/planeTypes.d.ts +22 -0
  1260. package/dist/vendored/brepjs/core/planeTypes.d.ts.map +1 -0
  1261. package/dist/vendored/brepjs/core/planeTypes.js +6 -0
  1262. package/dist/vendored/brepjs/core/planeTypes.js.map +1 -0
  1263. package/dist/vendored/brepjs/core/result.d.ts +85 -0
  1264. package/dist/vendored/brepjs/core/result.d.ts.map +1 -0
  1265. package/dist/vendored/brepjs/core/result.js +212 -0
  1266. package/dist/vendored/brepjs/core/result.js.map +1 -0
  1267. package/dist/vendored/brepjs/core/shapeTypeCache.d.ts +27 -0
  1268. package/dist/vendored/brepjs/core/shapeTypeCache.d.ts.map +1 -0
  1269. package/dist/vendored/brepjs/core/shapeTypeCache.js +40 -0
  1270. package/dist/vendored/brepjs/core/shapeTypeCache.js.map +1 -0
  1271. package/dist/vendored/brepjs/core/shapeTypes.d.ts +199 -0
  1272. package/dist/vendored/brepjs/core/shapeTypes.d.ts.map +1 -0
  1273. package/dist/vendored/brepjs/core/shapeTypes.js +267 -0
  1274. package/dist/vendored/brepjs/core/shapeTypes.js.map +1 -0
  1275. package/dist/vendored/brepjs/core/typeDiscriminants.d.ts +25 -0
  1276. package/dist/vendored/brepjs/core/typeDiscriminants.d.ts.map +1 -0
  1277. package/dist/vendored/brepjs/core/typeDiscriminants.js +50 -0
  1278. package/dist/vendored/brepjs/core/typeDiscriminants.js.map +1 -0
  1279. package/dist/vendored/brepjs/core/types.d.ts +51 -0
  1280. package/dist/vendored/brepjs/core/types.d.ts.map +1 -0
  1281. package/dist/vendored/brepjs/core/types.js +35 -0
  1282. package/dist/vendored/brepjs/core/types.js.map +1 -0
  1283. package/dist/vendored/brepjs/core/validityTypes.d.ts +143 -0
  1284. package/dist/vendored/brepjs/core/validityTypes.d.ts.map +1 -0
  1285. package/dist/vendored/brepjs/core/validityTypes.js +174 -0
  1286. package/dist/vendored/brepjs/core/validityTypes.js.map +1 -0
  1287. package/dist/vendored/brepjs/core/vecOps.d.ts +53 -0
  1288. package/dist/vendored/brepjs/core/vecOps.d.ts.map +1 -0
  1289. package/dist/vendored/brepjs/core/vecOps.js +131 -0
  1290. package/dist/vendored/brepjs/core/vecOps.js.map +1 -0
  1291. package/dist/vendored/brepjs/core.d.ts +17 -0
  1292. package/dist/vendored/brepjs/core.d.ts.map +1 -0
  1293. package/dist/vendored/brepjs/core.js +13 -0
  1294. package/dist/vendored/brepjs/core.js.map +1 -0
  1295. package/dist/vendored/brepjs/gear/gearFns.d.ts +148 -0
  1296. package/dist/vendored/brepjs/gear/gearFns.d.ts.map +1 -0
  1297. package/dist/vendored/brepjs/gear/gearFns.js +479 -0
  1298. package/dist/vendored/brepjs/gear/gearFns.js.map +1 -0
  1299. package/dist/vendored/brepjs/gear/gearMath.d.ts +89 -0
  1300. package/dist/vendored/brepjs/gear/gearMath.d.ts.map +1 -0
  1301. package/dist/vendored/brepjs/gear/gearMath.js +195 -0
  1302. package/dist/vendored/brepjs/gear/gearMath.js.map +1 -0
  1303. package/dist/vendored/brepjs/gear/gearProfile.d.ts +17 -0
  1304. package/dist/vendored/brepjs/gear/gearProfile.d.ts.map +1 -0
  1305. package/dist/vendored/brepjs/gear/gearProfile.js +159 -0
  1306. package/dist/vendored/brepjs/gear/gearProfile.js.map +1 -0
  1307. package/dist/vendored/brepjs/gear/index.d.ts +4 -0
  1308. package/dist/vendored/brepjs/gear/index.d.ts.map +1 -0
  1309. package/dist/vendored/brepjs/gear/index.js +4 -0
  1310. package/dist/vendored/brepjs/gear/index.js.map +1 -0
  1311. package/dist/vendored/brepjs/index.d.ts +152 -0
  1312. package/dist/vendored/brepjs/index.d.ts.map +1 -0
  1313. package/dist/vendored/brepjs/index.js +195 -0
  1314. package/dist/vendored/brepjs/index.js.map +1 -0
  1315. package/dist/vendored/brepjs/io/dxfExportFns.d.ts +74 -0
  1316. package/dist/vendored/brepjs/io/dxfExportFns.d.ts.map +1 -0
  1317. package/dist/vendored/brepjs/io/dxfExportFns.js +134 -0
  1318. package/dist/vendored/brepjs/io/dxfExportFns.js.map +1 -0
  1319. package/dist/vendored/brepjs/io/dxfImportFns.d.ts +20 -0
  1320. package/dist/vendored/brepjs/io/dxfImportFns.d.ts.map +1 -0
  1321. package/dist/vendored/brepjs/io/dxfImportFns.js +132 -0
  1322. package/dist/vendored/brepjs/io/dxfImportFns.js.map +1 -0
  1323. package/dist/vendored/brepjs/io/gltfExportFns.d.ts +97 -0
  1324. package/dist/vendored/brepjs/io/gltfExportFns.d.ts.map +1 -0
  1325. package/dist/vendored/brepjs/io/gltfExportFns.js +460 -0
  1326. package/dist/vendored/brepjs/io/gltfExportFns.js.map +1 -0
  1327. package/dist/vendored/brepjs/io/gltfImportFns.d.ts +21 -0
  1328. package/dist/vendored/brepjs/io/gltfImportFns.d.ts.map +1 -0
  1329. package/dist/vendored/brepjs/io/gltfImportFns.js +33 -0
  1330. package/dist/vendored/brepjs/io/gltfImportFns.js.map +1 -0
  1331. package/dist/vendored/brepjs/io/importFns.d.ts +56 -0
  1332. package/dist/vendored/brepjs/io/importFns.d.ts.map +1 -0
  1333. package/dist/vendored/brepjs/io/importFns.js +108 -0
  1334. package/dist/vendored/brepjs/io/importFns.js.map +1 -0
  1335. package/dist/vendored/brepjs/io/ioUtils.d.ts +22 -0
  1336. package/dist/vendored/brepjs/io/ioUtils.d.ts.map +1 -0
  1337. package/dist/vendored/brepjs/io/ioUtils.js +56 -0
  1338. package/dist/vendored/brepjs/io/ioUtils.js.map +1 -0
  1339. package/dist/vendored/brepjs/io/objExportFns.d.ts +23 -0
  1340. package/dist/vendored/brepjs/io/objExportFns.d.ts.map +1 -0
  1341. package/dist/vendored/brepjs/io/objExportFns.js +67 -0
  1342. package/dist/vendored/brepjs/io/objExportFns.js.map +1 -0
  1343. package/dist/vendored/brepjs/io/objImportFns.d.ts +26 -0
  1344. package/dist/vendored/brepjs/io/objImportFns.d.ts.map +1 -0
  1345. package/dist/vendored/brepjs/io/objImportFns.js +96 -0
  1346. package/dist/vendored/brepjs/io/objImportFns.js.map +1 -0
  1347. package/dist/vendored/brepjs/io/stepConfigFns.d.ts +30 -0
  1348. package/dist/vendored/brepjs/io/stepConfigFns.d.ts.map +1 -0
  1349. package/dist/vendored/brepjs/io/stepConfigFns.js +30 -0
  1350. package/dist/vendored/brepjs/io/stepConfigFns.js.map +1 -0
  1351. package/dist/vendored/brepjs/io/svgImportFns.d.ts +58 -0
  1352. package/dist/vendored/brepjs/io/svgImportFns.d.ts.map +1 -0
  1353. package/dist/vendored/brepjs/io/svgImportFns.js +394 -0
  1354. package/dist/vendored/brepjs/io/svgImportFns.js.map +1 -0
  1355. package/dist/vendored/brepjs/io/threemfExportFns.d.ts +48 -0
  1356. package/dist/vendored/brepjs/io/threemfExportFns.d.ts.map +1 -0
  1357. package/dist/vendored/brepjs/io/threemfExportFns.js +345 -0
  1358. package/dist/vendored/brepjs/io/threemfExportFns.js.map +1 -0
  1359. package/dist/vendored/brepjs/io/threemfImportFns.d.ts +22 -0
  1360. package/dist/vendored/brepjs/io/threemfImportFns.d.ts.map +1 -0
  1361. package/dist/vendored/brepjs/io/threemfImportFns.js +350 -0
  1362. package/dist/vendored/brepjs/io/threemfImportFns.js.map +1 -0
  1363. package/dist/vendored/brepjs/io.d.ts +17 -0
  1364. package/dist/vendored/brepjs/io.d.ts.map +1 -0
  1365. package/dist/vendored/brepjs/io.js +20 -0
  1366. package/dist/vendored/brepjs/io.js.map +1 -0
  1367. package/dist/vendored/brepjs/kernel/capabilities.d.ts +36 -0
  1368. package/dist/vendored/brepjs/kernel/capabilities.d.ts.map +1 -0
  1369. package/dist/vendored/brepjs/kernel/capabilities.js +35 -0
  1370. package/dist/vendored/brepjs/kernel/capabilities.js.map +1 -0
  1371. package/dist/vendored/brepjs/kernel/geometry2d.d.ts +96 -0
  1372. package/dist/vendored/brepjs/kernel/geometry2d.d.ts.map +1 -0
  1373. package/dist/vendored/brepjs/kernel/geometry2d.js +885 -0
  1374. package/dist/vendored/brepjs/kernel/geometry2d.js.map +1 -0
  1375. package/dist/vendored/brepjs/kernel/hullGeometry.d.ts +23 -0
  1376. package/dist/vendored/brepjs/kernel/hullGeometry.d.ts.map +1 -0
  1377. package/dist/vendored/brepjs/kernel/hullGeometry.js +312 -0
  1378. package/dist/vendored/brepjs/kernel/hullGeometry.js.map +1 -0
  1379. package/dist/vendored/brepjs/kernel/index.d.ts +61 -0
  1380. package/dist/vendored/brepjs/kernel/index.d.ts.map +1 -0
  1381. package/dist/vendored/brepjs/kernel/index.js +93 -0
  1382. package/dist/vendored/brepjs/kernel/index.js.map +1 -0
  1383. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts +44 -0
  1384. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts.map +1 -0
  1385. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js +11 -0
  1386. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js.map +1 -0
  1387. package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts +67 -0
  1388. package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts.map +1 -0
  1389. package/dist/vendored/brepjs/kernel/interfaces/builderOps.js +12 -0
  1390. package/dist/vendored/brepjs/kernel/interfaces/builderOps.js.map +1 -0
  1391. package/dist/vendored/brepjs/kernel/interfaces/core.d.ts +46 -0
  1392. package/dist/vendored/brepjs/kernel/interfaces/core.d.ts.map +1 -0
  1393. package/dist/vendored/brepjs/kernel/interfaces/core.js +11 -0
  1394. package/dist/vendored/brepjs/kernel/interfaces/core.js.map +1 -0
  1395. package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts +53 -0
  1396. package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts.map +1 -0
  1397. package/dist/vendored/brepjs/kernel/interfaces/curveOps.js +12 -0
  1398. package/dist/vendored/brepjs/kernel/interfaces/curveOps.js.map +1 -0
  1399. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts +32 -0
  1400. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts.map +1 -0
  1401. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js +14 -0
  1402. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js.map +1 -0
  1403. package/dist/vendored/brepjs/kernel/interfaces/index.d.ts +43 -0
  1404. package/dist/vendored/brepjs/kernel/interfaces/index.d.ts.map +1 -0
  1405. package/dist/vendored/brepjs/kernel/interfaces/index.js +12 -0
  1406. package/dist/vendored/brepjs/kernel/interfaces/index.js.map +1 -0
  1407. package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts +65 -0
  1408. package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts.map +1 -0
  1409. package/dist/vendored/brepjs/kernel/interfaces/ioOps.js +9 -0
  1410. package/dist/vendored/brepjs/kernel/interfaces/ioOps.js.map +1 -0
  1411. package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts +55 -0
  1412. package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts.map +1 -0
  1413. package/dist/vendored/brepjs/kernel/interfaces/measureOps.js +9 -0
  1414. package/dist/vendored/brepjs/kernel/interfaces/measureOps.js.map +1 -0
  1415. package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts +25 -0
  1416. package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts.map +1 -0
  1417. package/dist/vendored/brepjs/kernel/interfaces/meshOps.js +8 -0
  1418. package/dist/vendored/brepjs/kernel/interfaces/meshOps.js.map +1 -0
  1419. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts +53 -0
  1420. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts.map +1 -0
  1421. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js +10 -0
  1422. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js.map +1 -0
  1423. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts +22 -0
  1424. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts.map +1 -0
  1425. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js +11 -0
  1426. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js.map +1 -0
  1427. package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts +43 -0
  1428. package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts.map +1 -0
  1429. package/dist/vendored/brepjs/kernel/interfaces/repairOps.js +9 -0
  1430. package/dist/vendored/brepjs/kernel/interfaces/repairOps.js.map +1 -0
  1431. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts +72 -0
  1432. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts.map +1 -0
  1433. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js +13 -0
  1434. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js.map +1 -0
  1435. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts +73 -0
  1436. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts.map +1 -0
  1437. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js +11 -0
  1438. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js.map +1 -0
  1439. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts +62 -0
  1440. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts.map +1 -0
  1441. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js +9 -0
  1442. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js.map +1 -0
  1443. package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts +80 -0
  1444. package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts.map +1 -0
  1445. package/dist/vendored/brepjs/kernel/interfaces/transformOps.js +11 -0
  1446. package/dist/vendored/brepjs/kernel/interfaces/transformOps.js.map +1 -0
  1447. package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts +145 -0
  1448. package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts.map +1 -0
  1449. package/dist/vendored/brepjs/kernel/kernel2dTypes.js +18 -0
  1450. package/dist/vendored/brepjs/kernel/kernel2dTypes.js.map +1 -0
  1451. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts +41 -0
  1452. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts.map +1 -0
  1453. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js +2 -0
  1454. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js.map +1 -0
  1455. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts +17 -0
  1456. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts.map +1 -0
  1457. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js +75 -0
  1458. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js.map +1 -0
  1459. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts +36 -0
  1460. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts.map +1 -0
  1461. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js +116 -0
  1462. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js.map +1 -0
  1463. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts +43 -0
  1464. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts.map +1 -0
  1465. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js +292 -0
  1466. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js.map +1 -0
  1467. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts +34 -0
  1468. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts.map +1 -0
  1469. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js +164 -0
  1470. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js.map +1 -0
  1471. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts +26 -0
  1472. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts.map +1 -0
  1473. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js +256 -0
  1474. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js.map +1 -0
  1475. package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts +42 -0
  1476. package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts.map +1 -0
  1477. package/dist/vendored/brepjs/kernel/occtWasm/helpers.js +146 -0
  1478. package/dist/vendored/brepjs/kernel/occtWasm/helpers.js.map +1 -0
  1479. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts +17 -0
  1480. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts.map +1 -0
  1481. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js +55 -0
  1482. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js.map +1 -0
  1483. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts +58 -0
  1484. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts.map +1 -0
  1485. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js +303 -0
  1486. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js.map +1 -0
  1487. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts +113 -0
  1488. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts.map +1 -0
  1489. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js +731 -0
  1490. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js.map +1 -0
  1491. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts +62 -0
  1492. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts.map +1 -0
  1493. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js +338 -0
  1494. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js.map +1 -0
  1495. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts +12 -0
  1496. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts.map +1 -0
  1497. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js +120 -0
  1498. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js.map +1 -0
  1499. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts +20 -0
  1500. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts.map +1 -0
  1501. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js +187 -0
  1502. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js.map +1 -0
  1503. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts +513 -0
  1504. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts.map +1 -0
  1505. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js +1016 -0
  1506. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js.map +1 -0
  1507. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts +332 -0
  1508. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts.map +1 -0
  1509. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js +10 -0
  1510. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js.map +1 -0
  1511. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts +16 -0
  1512. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts.map +1 -0
  1513. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js +64 -0
  1514. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js.map +1 -0
  1515. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts +16 -0
  1516. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts.map +1 -0
  1517. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js +38 -0
  1518. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js.map +1 -0
  1519. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts +56 -0
  1520. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts.map +1 -0
  1521. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js +247 -0
  1522. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js.map +1 -0
  1523. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts +56 -0
  1524. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts.map +1 -0
  1525. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js +235 -0
  1526. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js.map +1 -0
  1527. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts +25 -0
  1528. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts.map +1 -0
  1529. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js +127 -0
  1530. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js.map +1 -0
  1531. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts +40 -0
  1532. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts.map +1 -0
  1533. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js +275 -0
  1534. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js.map +1 -0
  1535. package/dist/vendored/brepjs/kernel/quality.d.ts +28 -0
  1536. package/dist/vendored/brepjs/kernel/quality.d.ts.map +1 -0
  1537. package/dist/vendored/brepjs/kernel/quality.js +40 -0
  1538. package/dist/vendored/brepjs/kernel/quality.js.map +1 -0
  1539. package/dist/vendored/brepjs/kernel/solverAdapter.d.ts +50 -0
  1540. package/dist/vendored/brepjs/kernel/solverAdapter.d.ts.map +1 -0
  1541. package/dist/vendored/brepjs/kernel/solverAdapter.js +330 -0
  1542. package/dist/vendored/brepjs/kernel/solverAdapter.js.map +1 -0
  1543. package/dist/vendored/brepjs/kernel/stlBuilder.d.ts +21 -0
  1544. package/dist/vendored/brepjs/kernel/stlBuilder.d.ts.map +1 -0
  1545. package/dist/vendored/brepjs/kernel/stlBuilder.js +106 -0
  1546. package/dist/vendored/brepjs/kernel/stlBuilder.js.map +1 -0
  1547. package/dist/vendored/brepjs/kernel/types.d.ts +214 -0
  1548. package/dist/vendored/brepjs/kernel/types.d.ts.map +1 -0
  1549. package/dist/vendored/brepjs/kernel/types.js +22 -0
  1550. package/dist/vendored/brepjs/kernel/types.js.map +1 -0
  1551. package/dist/vendored/brepjs/kernel/unsupported.d.ts +15 -0
  1552. package/dist/vendored/brepjs/kernel/unsupported.d.ts.map +1 -0
  1553. package/dist/vendored/brepjs/kernel/unsupported.js +25 -0
  1554. package/dist/vendored/brepjs/kernel/unsupported.js.map +1 -0
  1555. package/dist/vendored/brepjs/measurement/interferenceFns.d.ts +68 -0
  1556. package/dist/vendored/brepjs/measurement/interferenceFns.d.ts.map +1 -0
  1557. package/dist/vendored/brepjs/measurement/interferenceFns.js +102 -0
  1558. package/dist/vendored/brepjs/measurement/interferenceFns.js.map +1 -0
  1559. package/dist/vendored/brepjs/measurement/measureCache.d.ts +20 -0
  1560. package/dist/vendored/brepjs/measurement/measureCache.d.ts.map +1 -0
  1561. package/dist/vendored/brepjs/measurement/measureCache.js +28 -0
  1562. package/dist/vendored/brepjs/measurement/measureCache.js.map +1 -0
  1563. package/dist/vendored/brepjs/measurement/measureFns.d.ts +92 -0
  1564. package/dist/vendored/brepjs/measurement/measureFns.d.ts.map +1 -0
  1565. package/dist/vendored/brepjs/measurement/measureFns.js +239 -0
  1566. package/dist/vendored/brepjs/measurement/measureFns.js.map +1 -0
  1567. package/dist/vendored/brepjs/measurement/measureTypes.d.ts +35 -0
  1568. package/dist/vendored/brepjs/measurement/measureTypes.d.ts.map +1 -0
  1569. package/dist/vendored/brepjs/measurement/measureTypes.js +7 -0
  1570. package/dist/vendored/brepjs/measurement/measureTypes.js.map +1 -0
  1571. package/dist/vendored/brepjs/measurement.d.ts +5 -0
  1572. package/dist/vendored/brepjs/measurement.d.ts.map +1 -0
  1573. package/dist/vendored/brepjs/measurement.js +5 -0
  1574. package/dist/vendored/brepjs/measurement.js.map +1 -0
  1575. package/dist/vendored/brepjs/ns/booleans.d.ts +11 -0
  1576. package/dist/vendored/brepjs/ns/booleans.d.ts.map +1 -0
  1577. package/dist/vendored/brepjs/ns/booleans.js +11 -0
  1578. package/dist/vendored/brepjs/ns/booleans.js.map +1 -0
  1579. package/dist/vendored/brepjs/ns/construction.d.ts +10 -0
  1580. package/dist/vendored/brepjs/ns/construction.d.ts.map +1 -0
  1581. package/dist/vendored/brepjs/ns/construction.js +10 -0
  1582. package/dist/vendored/brepjs/ns/construction.js.map +1 -0
  1583. package/dist/vendored/brepjs/ns/ioNs.d.ts +18 -0
  1584. package/dist/vendored/brepjs/ns/ioNs.d.ts.map +1 -0
  1585. package/dist/vendored/brepjs/ns/ioNs.js +20 -0
  1586. package/dist/vendored/brepjs/ns/ioNs.js.map +1 -0
  1587. package/dist/vendored/brepjs/ns/measurement.d.ts +6 -0
  1588. package/dist/vendored/brepjs/ns/measurement.d.ts.map +1 -0
  1589. package/dist/vendored/brepjs/ns/measurement.js +6 -0
  1590. package/dist/vendored/brepjs/ns/measurement.js.map +1 -0
  1591. package/dist/vendored/brepjs/ns/modifiers.d.ts +6 -0
  1592. package/dist/vendored/brepjs/ns/modifiers.d.ts.map +1 -0
  1593. package/dist/vendored/brepjs/ns/modifiers.js +6 -0
  1594. package/dist/vendored/brepjs/ns/modifiers.js.map +1 -0
  1595. package/dist/vendored/brepjs/ns/patterns.d.ts +5 -0
  1596. package/dist/vendored/brepjs/ns/patterns.d.ts.map +1 -0
  1597. package/dist/vendored/brepjs/ns/patterns.js +5 -0
  1598. package/dist/vendored/brepjs/ns/patterns.js.map +1 -0
  1599. package/dist/vendored/brepjs/ns/primitives.d.ts +7 -0
  1600. package/dist/vendored/brepjs/ns/primitives.d.ts.map +1 -0
  1601. package/dist/vendored/brepjs/ns/primitives.js +7 -0
  1602. package/dist/vendored/brepjs/ns/primitives.js.map +1 -0
  1603. package/dist/vendored/brepjs/ns/query.d.ts +6 -0
  1604. package/dist/vendored/brepjs/ns/query.d.ts.map +1 -0
  1605. package/dist/vendored/brepjs/ns/query.js +6 -0
  1606. package/dist/vendored/brepjs/ns/query.js.map +1 -0
  1607. package/dist/vendored/brepjs/ns/transforms.d.ts +5 -0
  1608. package/dist/vendored/brepjs/ns/transforms.d.ts.map +1 -0
  1609. package/dist/vendored/brepjs/ns/transforms.js +5 -0
  1610. package/dist/vendored/brepjs/ns/transforms.js.map +1 -0
  1611. package/dist/vendored/brepjs/operations/api.d.ts +39 -0
  1612. package/dist/vendored/brepjs/operations/api.d.ts.map +1 -0
  1613. package/dist/vendored/brepjs/operations/api.js +41 -0
  1614. package/dist/vendored/brepjs/operations/api.js.map +1 -0
  1615. package/dist/vendored/brepjs/operations/assemblyFns.d.ts +54 -0
  1616. package/dist/vendored/brepjs/operations/assemblyFns.d.ts.map +1 -0
  1617. package/dist/vendored/brepjs/operations/assemblyFns.js +91 -0
  1618. package/dist/vendored/brepjs/operations/assemblyFns.js.map +1 -0
  1619. package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts +43 -0
  1620. package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts.map +1 -0
  1621. package/dist/vendored/brepjs/operations/compoundOpsFns.js +368 -0
  1622. package/dist/vendored/brepjs/operations/compoundOpsFns.js.map +1 -0
  1623. package/dist/vendored/brepjs/operations/convexHullFns.d.ts +27 -0
  1624. package/dist/vendored/brepjs/operations/convexHullFns.d.ts.map +1 -0
  1625. package/dist/vendored/brepjs/operations/convexHullFns.js +50 -0
  1626. package/dist/vendored/brepjs/operations/convexHullFns.js.map +1 -0
  1627. package/dist/vendored/brepjs/operations/dhFns.d.ts +47 -0
  1628. package/dist/vendored/brepjs/operations/dhFns.d.ts.map +1 -0
  1629. package/dist/vendored/brepjs/operations/dhFns.js +53 -0
  1630. package/dist/vendored/brepjs/operations/dhFns.js.map +1 -0
  1631. package/dist/vendored/brepjs/operations/exporterFns.d.ts +47 -0
  1632. package/dist/vendored/brepjs/operations/exporterFns.d.ts.map +1 -0
  1633. package/dist/vendored/brepjs/operations/exporterFns.js +66 -0
  1634. package/dist/vendored/brepjs/operations/exporterFns.js.map +1 -0
  1635. package/dist/vendored/brepjs/operations/exporterUtils.d.ts +6 -0
  1636. package/dist/vendored/brepjs/operations/exporterUtils.d.ts.map +1 -0
  1637. package/dist/vendored/brepjs/operations/exporterUtils.js +5 -0
  1638. package/dist/vendored/brepjs/operations/exporterUtils.js.map +1 -0
  1639. package/dist/vendored/brepjs/operations/exporters.d.ts +59 -0
  1640. package/dist/vendored/brepjs/operations/exporters.d.ts.map +1 -0
  1641. package/dist/vendored/brepjs/operations/exporters.js +74 -0
  1642. package/dist/vendored/brepjs/operations/exporters.js.map +1 -0
  1643. package/dist/vendored/brepjs/operations/extrudeFns.d.ts +47 -0
  1644. package/dist/vendored/brepjs/operations/extrudeFns.d.ts.map +1 -0
  1645. package/dist/vendored/brepjs/operations/extrudeFns.js +119 -0
  1646. package/dist/vendored/brepjs/operations/extrudeFns.js.map +1 -0
  1647. package/dist/vendored/brepjs/operations/extrudeUtils.d.ts +63 -0
  1648. package/dist/vendored/brepjs/operations/extrudeUtils.d.ts.map +1 -0
  1649. package/dist/vendored/brepjs/operations/extrudeUtils.js +33 -0
  1650. package/dist/vendored/brepjs/operations/extrudeUtils.js.map +1 -0
  1651. package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts +6 -0
  1652. package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts.map +1 -0
  1653. package/dist/vendored/brepjs/operations/guidedSweepFns.js +6 -0
  1654. package/dist/vendored/brepjs/operations/guidedSweepFns.js.map +1 -0
  1655. package/dist/vendored/brepjs/operations/historyFns.d.ts +83 -0
  1656. package/dist/vendored/brepjs/operations/historyFns.d.ts.map +1 -0
  1657. package/dist/vendored/brepjs/operations/historyFns.js +256 -0
  1658. package/dist/vendored/brepjs/operations/historyFns.js.map +1 -0
  1659. package/dist/vendored/brepjs/operations/ikFns.d.ts +74 -0
  1660. package/dist/vendored/brepjs/operations/ikFns.d.ts.map +1 -0
  1661. package/dist/vendored/brepjs/operations/ikFns.js +320 -0
  1662. package/dist/vendored/brepjs/operations/ikFns.js.map +1 -0
  1663. package/dist/vendored/brepjs/operations/instanceFns.d.ts +76 -0
  1664. package/dist/vendored/brepjs/operations/instanceFns.d.ts.map +1 -0
  1665. package/dist/vendored/brepjs/operations/instanceFns.js +128 -0
  1666. package/dist/vendored/brepjs/operations/instanceFns.js.map +1 -0
  1667. package/dist/vendored/brepjs/operations/jointFns.d.ts +176 -0
  1668. package/dist/vendored/brepjs/operations/jointFns.d.ts.map +1 -0
  1669. package/dist/vendored/brepjs/operations/jointFns.js +298 -0
  1670. package/dist/vendored/brepjs/operations/jointFns.js.map +1 -0
  1671. package/dist/vendored/brepjs/operations/loftFns.d.ts +60 -0
  1672. package/dist/vendored/brepjs/operations/loftFns.d.ts.map +1 -0
  1673. package/dist/vendored/brepjs/operations/loftFns.js +112 -0
  1674. package/dist/vendored/brepjs/operations/loftFns.js.map +1 -0
  1675. package/dist/vendored/brepjs/operations/mateFns.d.ts +53 -0
  1676. package/dist/vendored/brepjs/operations/mateFns.d.ts.map +1 -0
  1677. package/dist/vendored/brepjs/operations/mateFns.js +142 -0
  1678. package/dist/vendored/brepjs/operations/mateFns.js.map +1 -0
  1679. package/dist/vendored/brepjs/operations/multiSweepFns.d.ts +6 -0
  1680. package/dist/vendored/brepjs/operations/multiSweepFns.d.ts.map +1 -0
  1681. package/dist/vendored/brepjs/operations/multiSweepFns.js +6 -0
  1682. package/dist/vendored/brepjs/operations/multiSweepFns.js.map +1 -0
  1683. package/dist/vendored/brepjs/operations/patternFns.d.ts +46 -0
  1684. package/dist/vendored/brepjs/operations/patternFns.d.ts.map +1 -0
  1685. package/dist/vendored/brepjs/operations/patternFns.js +126 -0
  1686. package/dist/vendored/brepjs/operations/patternFns.js.map +1 -0
  1687. package/dist/vendored/brepjs/operations/roofFns.d.ts +25 -0
  1688. package/dist/vendored/brepjs/operations/roofFns.d.ts.map +1 -0
  1689. package/dist/vendored/brepjs/operations/roofFns.js +250 -0
  1690. package/dist/vendored/brepjs/operations/roofFns.js.map +1 -0
  1691. package/dist/vendored/brepjs/operations/straightSkeleton.d.ts +29 -0
  1692. package/dist/vendored/brepjs/operations/straightSkeleton.d.ts.map +1 -0
  1693. package/dist/vendored/brepjs/operations/straightSkeleton.js +440 -0
  1694. package/dist/vendored/brepjs/operations/straightSkeleton.js.map +1 -0
  1695. package/dist/vendored/brepjs/operations/sweepFns.d.ts +121 -0
  1696. package/dist/vendored/brepjs/operations/sweepFns.d.ts.map +1 -0
  1697. package/dist/vendored/brepjs/operations/sweepFns.js +438 -0
  1698. package/dist/vendored/brepjs/operations/sweepFns.js.map +1 -0
  1699. package/dist/vendored/brepjs/operations/threadFns.d.ts +57 -0
  1700. package/dist/vendored/brepjs/operations/threadFns.d.ts.map +1 -0
  1701. package/dist/vendored/brepjs/operations/threadFns.js +145 -0
  1702. package/dist/vendored/brepjs/operations/threadFns.js.map +1 -0
  1703. package/dist/vendored/brepjs/operations/urdfFns.d.ts +48 -0
  1704. package/dist/vendored/brepjs/operations/urdfFns.d.ts.map +1 -0
  1705. package/dist/vendored/brepjs/operations/urdfFns.js +171 -0
  1706. package/dist/vendored/brepjs/operations/urdfFns.js.map +1 -0
  1707. package/dist/vendored/brepjs/operations.d.ts +20 -0
  1708. package/dist/vendored/brepjs/operations.d.ts.map +1 -0
  1709. package/dist/vendored/brepjs/operations.js +26 -0
  1710. package/dist/vendored/brepjs/operations.js.map +1 -0
  1711. package/dist/vendored/brepjs/projection/cameraFns.d.ts +63 -0
  1712. package/dist/vendored/brepjs/projection/cameraFns.d.ts.map +1 -0
  1713. package/dist/vendored/brepjs/projection/cameraFns.js +89 -0
  1714. package/dist/vendored/brepjs/projection/cameraFns.js.map +1 -0
  1715. package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts +14 -0
  1716. package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts.map +1 -0
  1717. package/dist/vendored/brepjs/projection/makeProjectedEdges.js +111 -0
  1718. package/dist/vendored/brepjs/projection/makeProjectedEdges.js.map +1 -0
  1719. package/dist/vendored/brepjs/projection/projectionPlanes.d.ts +18 -0
  1720. package/dist/vendored/brepjs/projection/projectionPlanes.d.ts.map +1 -0
  1721. package/dist/vendored/brepjs/projection/projectionPlanes.js +23 -0
  1722. package/dist/vendored/brepjs/projection/projectionPlanes.js.map +1 -0
  1723. package/dist/vendored/brepjs/projection.d.ts +12 -0
  1724. package/dist/vendored/brepjs/projection.d.ts.map +1 -0
  1725. package/dist/vendored/brepjs/projection.js +12 -0
  1726. package/dist/vendored/brepjs/projection.js.map +1 -0
  1727. package/dist/vendored/brepjs/query/cornerFinder.d.ts +54 -0
  1728. package/dist/vendored/brepjs/query/cornerFinder.d.ts.map +1 -0
  1729. package/dist/vendored/brepjs/query/cornerFinder.js +73 -0
  1730. package/dist/vendored/brepjs/query/cornerFinder.js.map +1 -0
  1731. package/dist/vendored/brepjs/query/directionUtils.d.ts +9 -0
  1732. package/dist/vendored/brepjs/query/directionUtils.d.ts.map +1 -0
  1733. package/dist/vendored/brepjs/query/directionUtils.js +18 -0
  1734. package/dist/vendored/brepjs/query/directionUtils.js.map +1 -0
  1735. package/dist/vendored/brepjs/query/edgeFinder.d.ts +5 -0
  1736. package/dist/vendored/brepjs/query/edgeFinder.d.ts.map +1 -0
  1737. package/dist/vendored/brepjs/query/edgeFinder.js +5 -0
  1738. package/dist/vendored/brepjs/query/edgeFinder.js.map +1 -0
  1739. package/dist/vendored/brepjs/query/faceFinder.d.ts +5 -0
  1740. package/dist/vendored/brepjs/query/faceFinder.d.ts.map +1 -0
  1741. package/dist/vendored/brepjs/query/faceFinder.js +5 -0
  1742. package/dist/vendored/brepjs/query/faceFinder.js.map +1 -0
  1743. package/dist/vendored/brepjs/query/finderCore.d.ts +49 -0
  1744. package/dist/vendored/brepjs/query/finderCore.d.ts.map +1 -0
  1745. package/dist/vendored/brepjs/query/finderCore.js +120 -0
  1746. package/dist/vendored/brepjs/query/finderCore.js.map +1 -0
  1747. package/dist/vendored/brepjs/query/finderFns.d.ts +25 -0
  1748. package/dist/vendored/brepjs/query/finderFns.d.ts.map +1 -0
  1749. package/dist/vendored/brepjs/query/finderFns.js +25 -0
  1750. package/dist/vendored/brepjs/query/finderFns.js.map +1 -0
  1751. package/dist/vendored/brepjs/query/helpers.d.ts +11 -0
  1752. package/dist/vendored/brepjs/query/helpers.d.ts.map +1 -0
  1753. package/dist/vendored/brepjs/query/helpers.js +17 -0
  1754. package/dist/vendored/brepjs/query/helpers.js.map +1 -0
  1755. package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts +15 -0
  1756. package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts.map +1 -0
  1757. package/dist/vendored/brepjs/query/shapeDistanceFilter.js +21 -0
  1758. package/dist/vendored/brepjs/query/shapeDistanceFilter.js.map +1 -0
  1759. package/dist/vendored/brepjs/query/shapeFinders.d.ts +39 -0
  1760. package/dist/vendored/brepjs/query/shapeFinders.d.ts.map +1 -0
  1761. package/dist/vendored/brepjs/query/shapeFinders.js +82 -0
  1762. package/dist/vendored/brepjs/query/shapeFinders.js.map +1 -0
  1763. package/dist/vendored/brepjs/query/vertexFinder.d.ts +19 -0
  1764. package/dist/vendored/brepjs/query/vertexFinder.d.ts.map +1 -0
  1765. package/dist/vendored/brepjs/query/vertexFinder.js +73 -0
  1766. package/dist/vendored/brepjs/query/vertexFinder.js.map +1 -0
  1767. package/dist/vendored/brepjs/query/wireFinder.d.ts +5 -0
  1768. package/dist/vendored/brepjs/query/wireFinder.d.ts.map +1 -0
  1769. package/dist/vendored/brepjs/query/wireFinder.js +5 -0
  1770. package/dist/vendored/brepjs/query/wireFinder.js.map +1 -0
  1771. package/dist/vendored/brepjs/query.d.ts +6 -0
  1772. package/dist/vendored/brepjs/query.d.ts.map +1 -0
  1773. package/dist/vendored/brepjs/query.js +6 -0
  1774. package/dist/vendored/brepjs/query.js.map +1 -0
  1775. package/dist/vendored/brepjs/result.d.ts +7 -0
  1776. package/dist/vendored/brepjs/result.d.ts.map +1 -0
  1777. package/dist/vendored/brepjs/result.js +7 -0
  1778. package/dist/vendored/brepjs/result.js.map +1 -0
  1779. package/dist/vendored/brepjs/shapeRef.d.ts +13 -0
  1780. package/dist/vendored/brepjs/shapeRef.d.ts.map +1 -0
  1781. package/dist/vendored/brepjs/shapeRef.js +13 -0
  1782. package/dist/vendored/brepjs/shapeRef.js.map +1 -0
  1783. package/dist/vendored/brepjs/sketching/cannedSketches.d.ts +144 -0
  1784. package/dist/vendored/brepjs/sketching/cannedSketches.d.ts.map +1 -0
  1785. package/dist/vendored/brepjs/sketching/cannedSketches.js +327 -0
  1786. package/dist/vendored/brepjs/sketching/cannedSketches.js.map +1 -0
  1787. package/dist/vendored/brepjs/sketching/compoundSketch.d.ts +70 -0
  1788. package/dist/vendored/brepjs/sketching/compoundSketch.d.ts.map +1 -0
  1789. package/dist/vendored/brepjs/sketching/compoundSketch.js +87 -0
  1790. package/dist/vendored/brepjs/sketching/compoundSketch.js.map +1 -0
  1791. package/dist/vendored/brepjs/sketching/draw3d.d.ts +22 -0
  1792. package/dist/vendored/brepjs/sketching/draw3d.d.ts.map +1 -0
  1793. package/dist/vendored/brepjs/sketching/draw3d.js +150 -0
  1794. package/dist/vendored/brepjs/sketching/draw3d.js.map +1 -0
  1795. package/dist/vendored/brepjs/sketching/drawFns.d.ts +122 -0
  1796. package/dist/vendored/brepjs/sketching/drawFns.d.ts.map +1 -0
  1797. package/dist/vendored/brepjs/sketching/drawFns.js +129 -0
  1798. package/dist/vendored/brepjs/sketching/drawFns.js.map +1 -0
  1799. package/dist/vendored/brepjs/sketching/drawing.d.ts +128 -0
  1800. package/dist/vendored/brepjs/sketching/drawing.d.ts.map +1 -0
  1801. package/dist/vendored/brepjs/sketching/drawing.js +275 -0
  1802. package/dist/vendored/brepjs/sketching/drawing.js.map +1 -0
  1803. package/dist/vendored/brepjs/sketching/drawingFactories.d.ts +95 -0
  1804. package/dist/vendored/brepjs/sketching/drawingFactories.d.ts.map +1 -0
  1805. package/dist/vendored/brepjs/sketching/drawingFactories.js +125 -0
  1806. package/dist/vendored/brepjs/sketching/drawingFactories.js.map +1 -0
  1807. package/dist/vendored/brepjs/sketching/drawingPen.d.ts +35 -0
  1808. package/dist/vendored/brepjs/sketching/drawingPen.d.ts.map +1 -0
  1809. package/dist/vendored/brepjs/sketching/drawingPen.js +57 -0
  1810. package/dist/vendored/brepjs/sketching/drawingPen.js.map +1 -0
  1811. package/dist/vendored/brepjs/sketching/faceSketcher.d.ts +53 -0
  1812. package/dist/vendored/brepjs/sketching/faceSketcher.d.ts.map +1 -0
  1813. package/dist/vendored/brepjs/sketching/faceSketcher.js +167 -0
  1814. package/dist/vendored/brepjs/sketching/faceSketcher.js.map +1 -0
  1815. package/dist/vendored/brepjs/sketching/shortcuts.d.ts +16 -0
  1816. package/dist/vendored/brepjs/sketching/shortcuts.d.ts.map +1 -0
  1817. package/dist/vendored/brepjs/sketching/shortcuts.js +24 -0
  1818. package/dist/vendored/brepjs/sketching/shortcuts.js.map +1 -0
  1819. package/dist/vendored/brepjs/sketching/sketch.d.ts +157 -0
  1820. package/dist/vendored/brepjs/sketching/sketch.d.ts.map +1 -0
  1821. package/dist/vendored/brepjs/sketching/sketch.js +151 -0
  1822. package/dist/vendored/brepjs/sketching/sketch.js.map +1 -0
  1823. package/dist/vendored/brepjs/sketching/sketchFns.d.ts +89 -0
  1824. package/dist/vendored/brepjs/sketching/sketchFns.d.ts.map +1 -0
  1825. package/dist/vendored/brepjs/sketching/sketchFns.js +266 -0
  1826. package/dist/vendored/brepjs/sketching/sketchFns.js.map +1 -0
  1827. package/dist/vendored/brepjs/sketching/sketcher.d.ts +70 -0
  1828. package/dist/vendored/brepjs/sketching/sketcher.d.ts.map +1 -0
  1829. package/dist/vendored/brepjs/sketching/sketcher.js +181 -0
  1830. package/dist/vendored/brepjs/sketching/sketcher.js.map +1 -0
  1831. package/dist/vendored/brepjs/sketching/sketches.d.ts +70 -0
  1832. package/dist/vendored/brepjs/sketching/sketches.d.ts.map +1 -0
  1833. package/dist/vendored/brepjs/sketching/sketches.js +91 -0
  1834. package/dist/vendored/brepjs/sketching/sketches.js.map +1 -0
  1835. package/dist/vendored/brepjs/sketching.d.ts +28 -0
  1836. package/dist/vendored/brepjs/sketching.d.ts.map +1 -0
  1837. package/dist/vendored/brepjs/sketching.js +30 -0
  1838. package/dist/vendored/brepjs/sketching.js.map +1 -0
  1839. package/dist/vendored/brepjs/text/fontRegistry.d.ts +23 -0
  1840. package/dist/vendored/brepjs/text/fontRegistry.d.ts.map +1 -0
  1841. package/dist/vendored/brepjs/text/fontRegistry.js +61 -0
  1842. package/dist/vendored/brepjs/text/fontRegistry.js.map +1 -0
  1843. package/dist/vendored/brepjs/text/sketchText.d.ts +31 -0
  1844. package/dist/vendored/brepjs/text/sketchText.d.ts.map +1 -0
  1845. package/dist/vendored/brepjs/text/sketchText.js +30 -0
  1846. package/dist/vendored/brepjs/text/sketchText.js.map +1 -0
  1847. package/dist/vendored/brepjs/text/textBlueprints.d.ts +19 -0
  1848. package/dist/vendored/brepjs/text/textBlueprints.d.ts.map +1 -0
  1849. package/dist/vendored/brepjs/text/textBlueprints.js +61 -0
  1850. package/dist/vendored/brepjs/text/textBlueprints.js.map +1 -0
  1851. package/dist/vendored/brepjs/text/textMetrics.d.ts +40 -0
  1852. package/dist/vendored/brepjs/text/textMetrics.d.ts.map +1 -0
  1853. package/dist/vendored/brepjs/text/textMetrics.js +43 -0
  1854. package/dist/vendored/brepjs/text/textMetrics.js.map +1 -0
  1855. package/dist/vendored/brepjs/text.d.ts +13 -0
  1856. package/dist/vendored/brepjs/text.d.ts.map +1 -0
  1857. package/dist/vendored/brepjs/text.js +13 -0
  1858. package/dist/vendored/brepjs/text.js.map +1 -0
  1859. package/dist/vendored/brepjs/topology/adjacencyFns.d.ts +89 -0
  1860. package/dist/vendored/brepjs/topology/adjacencyFns.d.ts.map +1 -0
  1861. package/dist/vendored/brepjs/topology/adjacencyFns.js +411 -0
  1862. package/dist/vendored/brepjs/topology/adjacencyFns.js.map +1 -0
  1863. package/dist/vendored/brepjs/topology/api.d.ts +145 -0
  1864. package/dist/vendored/brepjs/topology/api.d.ts.map +1 -0
  1865. package/dist/vendored/brepjs/topology/api.js +282 -0
  1866. package/dist/vendored/brepjs/topology/api.js.map +1 -0
  1867. package/dist/vendored/brepjs/topology/apiTypes.d.ts +135 -0
  1868. package/dist/vendored/brepjs/topology/apiTypes.d.ts.map +1 -0
  1869. package/dist/vendored/brepjs/topology/apiTypes.js +24 -0
  1870. package/dist/vendored/brepjs/topology/apiTypes.js.map +1 -0
  1871. package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts +52 -0
  1872. package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts.map +1 -0
  1873. package/dist/vendored/brepjs/topology/booleanBatchFns.js +164 -0
  1874. package/dist/vendored/brepjs/topology/booleanBatchFns.js.map +1 -0
  1875. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts +21 -0
  1876. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts.map +1 -0
  1877. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js +23 -0
  1878. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js.map +1 -0
  1879. package/dist/vendored/brepjs/topology/booleanFns.d.ts +155 -0
  1880. package/dist/vendored/brepjs/topology/booleanFns.d.ts.map +1 -0
  1881. package/dist/vendored/brepjs/topology/booleanFns.js +600 -0
  1882. package/dist/vendored/brepjs/topology/booleanFns.js.map +1 -0
  1883. package/dist/vendored/brepjs/topology/cast.d.ts +48 -0
  1884. package/dist/vendored/brepjs/topology/cast.d.ts.map +1 -0
  1885. package/dist/vendored/brepjs/topology/cast.js +113 -0
  1886. package/dist/vendored/brepjs/topology/cast.js.map +1 -0
  1887. package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts +24 -0
  1888. package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts.map +1 -0
  1889. package/dist/vendored/brepjs/topology/chamferAngleFns.js +64 -0
  1890. package/dist/vendored/brepjs/topology/chamferAngleFns.js.map +1 -0
  1891. package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts +6 -0
  1892. package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts.map +1 -0
  1893. package/dist/vendored/brepjs/topology/compoundOpsFns.js +6 -0
  1894. package/dist/vendored/brepjs/topology/compoundOpsFns.js.map +1 -0
  1895. package/dist/vendored/brepjs/topology/curveBuilders.d.ts +90 -0
  1896. package/dist/vendored/brepjs/topology/curveBuilders.d.ts.map +1 -0
  1897. package/dist/vendored/brepjs/topology/curveBuilders.js +125 -0
  1898. package/dist/vendored/brepjs/topology/curveBuilders.js.map +1 -0
  1899. package/dist/vendored/brepjs/topology/curveFns.d.ts +96 -0
  1900. package/dist/vendored/brepjs/topology/curveFns.d.ts.map +1 -0
  1901. package/dist/vendored/brepjs/topology/curveFns.js +191 -0
  1902. package/dist/vendored/brepjs/topology/curveFns.js.map +1 -0
  1903. package/dist/vendored/brepjs/topology/evolutionFns.d.ts +78 -0
  1904. package/dist/vendored/brepjs/topology/evolutionFns.d.ts.map +1 -0
  1905. package/dist/vendored/brepjs/topology/evolutionFns.js +271 -0
  1906. package/dist/vendored/brepjs/topology/evolutionFns.js.map +1 -0
  1907. package/dist/vendored/brepjs/topology/faceFns.d.ts +86 -0
  1908. package/dist/vendored/brepjs/topology/faceFns.d.ts.map +1 -0
  1909. package/dist/vendored/brepjs/topology/faceFns.js +169 -0
  1910. package/dist/vendored/brepjs/topology/faceFns.js.map +1 -0
  1911. package/dist/vendored/brepjs/topology/healingFns.d.ts +98 -0
  1912. package/dist/vendored/brepjs/topology/healingFns.d.ts.map +1 -0
  1913. package/dist/vendored/brepjs/topology/healingFns.js +338 -0
  1914. package/dist/vendored/brepjs/topology/healingFns.js.map +1 -0
  1915. package/dist/vendored/brepjs/topology/hullFns.d.ts +21 -0
  1916. package/dist/vendored/brepjs/topology/hullFns.d.ts.map +1 -0
  1917. package/dist/vendored/brepjs/topology/hullFns.js +60 -0
  1918. package/dist/vendored/brepjs/topology/hullFns.js.map +1 -0
  1919. package/dist/vendored/brepjs/topology/index.d.ts +14 -0
  1920. package/dist/vendored/brepjs/topology/index.d.ts.map +1 -0
  1921. package/dist/vendored/brepjs/topology/index.js +17 -0
  1922. package/dist/vendored/brepjs/topology/index.js.map +1 -0
  1923. package/dist/vendored/brepjs/topology/meshCache.d.ts +68 -0
  1924. package/dist/vendored/brepjs/topology/meshCache.d.ts.map +1 -0
  1925. package/dist/vendored/brepjs/topology/meshCache.js +117 -0
  1926. package/dist/vendored/brepjs/topology/meshCache.js.map +1 -0
  1927. package/dist/vendored/brepjs/topology/meshFns.d.ts +179 -0
  1928. package/dist/vendored/brepjs/topology/meshFns.d.ts.map +1 -0
  1929. package/dist/vendored/brepjs/topology/meshFns.js +393 -0
  1930. package/dist/vendored/brepjs/topology/meshFns.js.map +1 -0
  1931. package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts +41 -0
  1932. package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts.map +1 -0
  1933. package/dist/vendored/brepjs/topology/metadata/colorFns.js +128 -0
  1934. package/dist/vendored/brepjs/topology/metadata/colorFns.js.map +1 -0
  1935. package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts +44 -0
  1936. package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts.map +1 -0
  1937. package/dist/vendored/brepjs/topology/metadata/faceTagFns.js +168 -0
  1938. package/dist/vendored/brepjs/topology/metadata/faceTagFns.js.map +1 -0
  1939. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts +59 -0
  1940. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts.map +1 -0
  1941. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js +109 -0
  1942. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js.map +1 -0
  1943. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts +43 -0
  1944. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts.map +1 -0
  1945. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js +270 -0
  1946. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js.map +1 -0
  1947. package/dist/vendored/brepjs/topology/minkowskiFns.d.ts +26 -0
  1948. package/dist/vendored/brepjs/topology/minkowskiFns.d.ts.map +1 -0
  1949. package/dist/vendored/brepjs/topology/minkowskiFns.js +136 -0
  1950. package/dist/vendored/brepjs/topology/minkowskiFns.js.map +1 -0
  1951. package/dist/vendored/brepjs/topology/modifierFns.d.ts +87 -0
  1952. package/dist/vendored/brepjs/topology/modifierFns.d.ts.map +1 -0
  1953. package/dist/vendored/brepjs/topology/modifierFns.js +446 -0
  1954. package/dist/vendored/brepjs/topology/modifierFns.js.map +1 -0
  1955. package/dist/vendored/brepjs/topology/nurbsFns.d.ts +13 -0
  1956. package/dist/vendored/brepjs/topology/nurbsFns.d.ts.map +1 -0
  1957. package/dist/vendored/brepjs/topology/nurbsFns.js +22 -0
  1958. package/dist/vendored/brepjs/topology/nurbsFns.js.map +1 -0
  1959. package/dist/vendored/brepjs/topology/polyhedronFns.d.ts +11 -0
  1960. package/dist/vendored/brepjs/topology/polyhedronFns.d.ts.map +1 -0
  1961. package/dist/vendored/brepjs/topology/polyhedronFns.js +47 -0
  1962. package/dist/vendored/brepjs/topology/polyhedronFns.js.map +1 -0
  1963. package/dist/vendored/brepjs/topology/positionFns.d.ts +18 -0
  1964. package/dist/vendored/brepjs/topology/positionFns.d.ts.map +1 -0
  1965. package/dist/vendored/brepjs/topology/positionFns.js +34 -0
  1966. package/dist/vendored/brepjs/topology/positionFns.js.map +1 -0
  1967. package/dist/vendored/brepjs/topology/primitiveFns.d.ts +244 -0
  1968. package/dist/vendored/brepjs/topology/primitiveFns.d.ts.map +1 -0
  1969. package/dist/vendored/brepjs/topology/primitiveFns.js +361 -0
  1970. package/dist/vendored/brepjs/topology/primitiveFns.js.map +1 -0
  1971. package/dist/vendored/brepjs/topology/shapeBooleans.d.ts +14 -0
  1972. package/dist/vendored/brepjs/topology/shapeBooleans.d.ts.map +1 -0
  1973. package/dist/vendored/brepjs/topology/shapeBooleans.js +24 -0
  1974. package/dist/vendored/brepjs/topology/shapeBooleans.js.map +1 -0
  1975. package/dist/vendored/brepjs/topology/shapeFns.d.ts +30 -0
  1976. package/dist/vendored/brepjs/topology/shapeFns.d.ts.map +1 -0
  1977. package/dist/vendored/brepjs/topology/shapeFns.js +50 -0
  1978. package/dist/vendored/brepjs/topology/shapeFns.js.map +1 -0
  1979. package/dist/vendored/brepjs/topology/shapeHelpers.d.ts +9 -0
  1980. package/dist/vendored/brepjs/topology/shapeHelpers.d.ts.map +1 -0
  1981. package/dist/vendored/brepjs/topology/shapeHelpers.js +14 -0
  1982. package/dist/vendored/brepjs/topology/shapeHelpers.js.map +1 -0
  1983. package/dist/vendored/brepjs/topology/shapeModifiers.d.ts +33 -0
  1984. package/dist/vendored/brepjs/topology/shapeModifiers.d.ts.map +1 -0
  1985. package/dist/vendored/brepjs/topology/shapeModifiers.js +28 -0
  1986. package/dist/vendored/brepjs/topology/shapeModifiers.js.map +1 -0
  1987. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts +29 -0
  1988. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts.map +1 -0
  1989. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js +135 -0
  1990. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js.map +1 -0
  1991. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts +25 -0
  1992. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts.map +1 -0
  1993. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js +123 -0
  1994. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js.map +1 -0
  1995. package/dist/vendored/brepjs/topology/shapeRef/index.d.ts +11 -0
  1996. package/dist/vendored/brepjs/topology/shapeRef/index.d.ts.map +1 -0
  1997. package/dist/vendored/brepjs/topology/shapeRef/index.js +10 -0
  1998. package/dist/vendored/brepjs/topology/shapeRef/index.js.map +1 -0
  1999. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts +66 -0
  2000. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts.map +1 -0
  2001. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js +128 -0
  2002. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js.map +1 -0
  2003. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts +18 -0
  2004. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts.map +1 -0
  2005. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js +51 -0
  2006. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js.map +1 -0
  2007. package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts +20 -0
  2008. package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts.map +1 -0
  2009. package/dist/vendored/brepjs/topology/shapeRef/scoring.js +65 -0
  2010. package/dist/vendored/brepjs/topology/shapeRef/scoring.js.map +1 -0
  2011. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts +59 -0
  2012. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts.map +1 -0
  2013. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js +266 -0
  2014. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js.map +1 -0
  2015. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts +153 -0
  2016. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts.map +1 -0
  2017. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js +6 -0
  2018. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js.map +1 -0
  2019. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts +24 -0
  2020. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts.map +1 -0
  2021. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js +128 -0
  2022. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js.map +1 -0
  2023. package/dist/vendored/brepjs/topology/shapeUtils.d.ts +16 -0
  2024. package/dist/vendored/brepjs/topology/shapeUtils.d.ts.map +1 -0
  2025. package/dist/vendored/brepjs/topology/shapeUtils.js +28 -0
  2026. package/dist/vendored/brepjs/topology/shapeUtils.js.map +1 -0
  2027. package/dist/vendored/brepjs/topology/solidBuilders.d.ts +74 -0
  2028. package/dist/vendored/brepjs/topology/solidBuilders.d.ts.map +1 -0
  2029. package/dist/vendored/brepjs/topology/solidBuilders.js +173 -0
  2030. package/dist/vendored/brepjs/topology/solidBuilders.js.map +1 -0
  2031. package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts +47 -0
  2032. package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts.map +1 -0
  2033. package/dist/vendored/brepjs/topology/surfaceBuilders.js +162 -0
  2034. package/dist/vendored/brepjs/topology/surfaceBuilders.js.map +1 -0
  2035. package/dist/vendored/brepjs/topology/surfaceFns.d.ts +41 -0
  2036. package/dist/vendored/brepjs/topology/surfaceFns.d.ts.map +1 -0
  2037. package/dist/vendored/brepjs/topology/surfaceFns.js +178 -0
  2038. package/dist/vendored/brepjs/topology/surfaceFns.js.map +1 -0
  2039. package/dist/vendored/brepjs/topology/threeHelpers.d.ts +124 -0
  2040. package/dist/vendored/brepjs/topology/threeHelpers.d.ts.map +1 -0
  2041. package/dist/vendored/brepjs/topology/threeHelpers.js +118 -0
  2042. package/dist/vendored/brepjs/topology/threeHelpers.js.map +1 -0
  2043. package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts +100 -0
  2044. package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts.map +1 -0
  2045. package/dist/vendored/brepjs/topology/topologyQueryFns.js +307 -0
  2046. package/dist/vendored/brepjs/topology/topologyQueryFns.js.map +1 -0
  2047. package/dist/vendored/brepjs/topology/transformFns.d.ts +69 -0
  2048. package/dist/vendored/brepjs/topology/transformFns.d.ts.map +1 -0
  2049. package/dist/vendored/brepjs/topology/transformFns.js +235 -0
  2050. package/dist/vendored/brepjs/topology/transformFns.js.map +1 -0
  2051. package/dist/vendored/brepjs/topology/wrapperFns.d.ts +169 -0
  2052. package/dist/vendored/brepjs/topology/wrapperFns.d.ts.map +1 -0
  2053. package/dist/vendored/brepjs/topology/wrapperFns.js +291 -0
  2054. package/dist/vendored/brepjs/topology/wrapperFns.js.map +1 -0
  2055. package/dist/vendored/brepjs/topology.d.ts +28 -0
  2056. package/dist/vendored/brepjs/topology.d.ts.map +1 -0
  2057. package/dist/vendored/brepjs/topology.js +39 -0
  2058. package/dist/vendored/brepjs/topology.js.map +1 -0
  2059. package/dist/vendored/brepjs/utils/arrayAccess.d.ts +12 -0
  2060. package/dist/vendored/brepjs/utils/arrayAccess.d.ts.map +1 -0
  2061. package/dist/vendored/brepjs/utils/arrayAccess.js +25 -0
  2062. package/dist/vendored/brepjs/utils/arrayAccess.js.map +1 -0
  2063. package/dist/vendored/brepjs/utils/bug.d.ts +15 -0
  2064. package/dist/vendored/brepjs/utils/bug.d.ts.map +1 -0
  2065. package/dist/vendored/brepjs/utils/bug.js +21 -0
  2066. package/dist/vendored/brepjs/utils/bug.js.map +1 -0
  2067. package/dist/vendored/brepjs/utils/ioFilename.d.ts +3 -0
  2068. package/dist/vendored/brepjs/utils/ioFilename.d.ts.map +1 -0
  2069. package/dist/vendored/brepjs/utils/ioFilename.js +7 -0
  2070. package/dist/vendored/brepjs/utils/ioFilename.js.map +1 -0
  2071. package/dist/vendored/brepjs/utils/precisionRound.d.ts +11 -0
  2072. package/dist/vendored/brepjs/utils/precisionRound.d.ts.map +1 -0
  2073. package/dist/vendored/brepjs/utils/precisionRound.js +19 -0
  2074. package/dist/vendored/brepjs/utils/precisionRound.js.map +1 -0
  2075. package/dist/vendored/brepjs/utils/quaternion.d.ts +18 -0
  2076. package/dist/vendored/brepjs/utils/quaternion.d.ts.map +1 -0
  2077. package/dist/vendored/brepjs/utils/quaternion.js +68 -0
  2078. package/dist/vendored/brepjs/utils/quaternion.js.map +1 -0
  2079. package/dist/vendored/brepjs/utils/range.d.ts +3 -0
  2080. package/dist/vendored/brepjs/utils/range.d.ts.map +1 -0
  2081. package/dist/vendored/brepjs/utils/range.js +5 -0
  2082. package/dist/vendored/brepjs/utils/range.js.map +1 -0
  2083. package/dist/vendored/brepjs/utils/uuid.d.ts +3 -0
  2084. package/dist/vendored/brepjs/utils/uuid.d.ts.map +1 -0
  2085. package/dist/vendored/brepjs/utils/uuid.js +7 -0
  2086. package/dist/vendored/brepjs/utils/uuid.js.map +1 -0
  2087. package/dist/vendored/brepjs/utils/vec2d.d.ts +62 -0
  2088. package/dist/vendored/brepjs/utils/vec2d.d.ts.map +1 -0
  2089. package/dist/vendored/brepjs/utils/vec2d.js +107 -0
  2090. package/dist/vendored/brepjs/utils/vec2d.js.map +1 -0
  2091. package/dist/vendored/brepjs/utils/vec3.d.ts +32 -0
  2092. package/dist/vendored/brepjs/utils/vec3.d.ts.map +1 -0
  2093. package/dist/vendored/brepjs/utils/vec3.js +35 -0
  2094. package/dist/vendored/brepjs/utils/vec3.js.map +1 -0
  2095. package/dist/vendored/brepjs/utils/zip.d.ts +5 -0
  2096. package/dist/vendored/brepjs/utils/zip.d.ts.map +1 -0
  2097. package/dist/vendored/brepjs/utils/zip.js +8 -0
  2098. package/dist/vendored/brepjs/utils/zip.js.map +1 -0
  2099. package/dist/vendored/brepjs/vectors.d.ts +11 -0
  2100. package/dist/vendored/brepjs/vectors.d.ts.map +1 -0
  2101. package/dist/vendored/brepjs/vectors.js +9 -0
  2102. package/dist/vendored/brepjs/vectors.js.map +1 -0
  2103. package/package.json +154 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry2d.js","sourceRoot":"","sources":["../../../../src/vendored/brepjs/kernel/geometry2d.ts"],"names":[],"mappings":"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","sourcesContent":["/* v8 ignore file -- excluded from coverage reports; prevents V8 instrumentation\n overhead that causes 2D-heavy tests to timeout under coverage mode. */\n/**\n * Pure-TypeScript 2D geometry implementation for Kernel2DCapability.\n *\n * All 2D curves are represented as plain objects with a `type` discriminant\n * and `evaluate(t)` method. No WASM boundary crossing required.\n *\n * ADR-0006: Inline math here (distance, rotation, normalization, dot/cross\n * products) operates on curve struct fields, not Point2D tuples. The canonical\n * tuple-based functions live in src/utils/vec2d.ts. The struct-field patterns\n * are not worth converting to tuple form — the temporary array allocations\n * would degrade both readability and performance.\n *\n * @module\n */\n\n// ---------------------------------------------------------------------------\n// 2D Curve types\n// ---------------------------------------------------------------------------\n\nexport interface Line2d {\n readonly __bk2d: 'line';\n readonly ox: number;\n readonly oy: number;\n readonly dx: number;\n readonly dy: number;\n readonly len: number;\n}\n\nexport interface Circle2d {\n readonly __bk2d: 'circle';\n readonly cx: number;\n readonly cy: number;\n readonly radius: number;\n readonly sense: boolean; // true = CCW\n}\n\nexport interface Ellipse2d {\n readonly __bk2d: 'ellipse';\n readonly cx: number;\n readonly cy: number;\n readonly majorRadius: number;\n readonly minorRadius: number;\n readonly xDirAngle: number; // angle of major axis from X\n readonly sense: boolean;\n}\n\nexport interface Bezier2d {\n readonly __bk2d: 'bezier';\n readonly poles: [number, number][];\n}\n\nexport interface BSpline2d {\n readonly __bk2d: 'bspline';\n readonly poles: [number, number][];\n readonly knots: number[];\n readonly multiplicities: number[];\n readonly degree: number;\n readonly isPeriodic: boolean;\n}\n\nexport interface TrimmedCurve2d {\n readonly __bk2d: 'trimmed';\n readonly basis: Curve2dObj;\n readonly tStart: number;\n readonly tEnd: number;\n}\n\nexport type Curve2dObj = Line2d | Circle2d | Ellipse2d | Bezier2d | BSpline2d | TrimmedCurve2d;\n\n// ---------------------------------------------------------------------------\n// 2D BBox\n// ---------------------------------------------------------------------------\n\nexport interface BBox2d {\n readonly __bk2d_bbox: true;\n xMin: number;\n yMin: number;\n xMax: number;\n yMax: number;\n}\n\n// ---------------------------------------------------------------------------\n// Evaluation\n// ---------------------------------------------------------------------------\n\nexport function evaluateCurve2d(c: Curve2dObj, t: number): [number, number] {\n switch (c.__bk2d) {\n case 'line':\n return [c.ox + c.dx * t, c.oy + c.dy * t];\n case 'circle': {\n const angle = c.sense ? t : -t;\n return [c.cx + c.radius * Math.cos(angle), c.cy + c.radius * Math.sin(angle)];\n }\n case 'ellipse': {\n const angle = c.sense ? t : -t;\n const cos = Math.cos(c.xDirAngle);\n const sin = Math.sin(c.xDirAngle);\n const x = c.majorRadius * Math.cos(angle);\n const y = c.minorRadius * Math.sin(angle);\n return [c.cx + x * cos - y * sin, c.cy + x * sin + y * cos];\n }\n case 'bezier':\n return evaluateBezier(c.poles, t);\n case 'bspline':\n return evaluateBSpline2d(c, t);\n case 'trimmed': {\n const mapped = c.tStart + t * (c.tEnd - c.tStart);\n return evaluateCurve2d(c.basis, mapped);\n }\n }\n}\n\nexport function tangentCurve2d(c: Curve2dObj, t: number): [number, number] {\n switch (c.__bk2d) {\n case 'line':\n return [c.dx, c.dy];\n case 'circle': {\n const angle = c.sense ? t : -t;\n const sign = c.sense ? 1 : -1;\n return [-c.radius * Math.sin(angle) * sign, c.radius * Math.cos(angle) * sign];\n }\n case 'ellipse': {\n const angle = c.sense ? t : -t;\n const sign = c.sense ? 1 : -1;\n const cos = Math.cos(c.xDirAngle);\n const sin = Math.sin(c.xDirAngle);\n const dx = -c.majorRadius * Math.sin(angle) * sign;\n const dy = c.minorRadius * Math.cos(angle) * sign;\n return [dx * cos - dy * sin, dx * sin + dy * cos];\n }\n case 'bezier': {\n // Numerical differentiation\n const h = 1e-8;\n const p0 = evaluateBezier(c.poles, Math.max(0, t - h));\n const p1 = evaluateBezier(c.poles, Math.min(1, t + h));\n const dt = Math.min(1, t + h) - Math.max(0, t - h);\n return [(p1[0] - p0[0]) / dt, (p1[1] - p0[1]) / dt];\n }\n case 'bspline': {\n const h = 1e-8;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- known-valid\n const kFirst = c.knots[0]!;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- known-valid\n const kLast = c.knots[c.knots.length - 1]!;\n const p0 = evaluateBSpline2d(c, Math.max(kFirst, t - h));\n const p1 = evaluateBSpline2d(c, Math.min(kLast, t + h));\n const dt = Math.min(kLast, t + h) - Math.max(kFirst, t - h);\n return [(p1[0] - p0[0]) / dt, (p1[1] - p0[1]) / dt];\n }\n case 'trimmed': {\n const mapped = c.tStart + t * (c.tEnd - c.tStart);\n const tan = tangentCurve2d(c.basis, mapped);\n const scale = c.tEnd - c.tStart;\n return [tan[0] * scale, tan[1] * scale];\n }\n }\n}\n\nexport function curveBounds(c: Curve2dObj): { first: number; last: number } {\n switch (c.__bk2d) {\n case 'line':\n return { first: 0, last: c.len };\n case 'circle':\n case 'ellipse':\n return { first: 0, last: 2 * Math.PI };\n case 'bezier':\n return { first: 0, last: 1 };\n case 'bspline':\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- known-valid\n return { first: c.knots[0]!, last: c.knots[c.knots.length - 1]! };\n case 'trimmed':\n return { first: 0, last: 1 };\n }\n}\n\nexport function curveTypeName(c: Curve2dObj): string {\n switch (c.__bk2d) {\n case 'line':\n return 'LINE';\n case 'circle':\n return 'CIRCLE';\n case 'ellipse':\n return 'ELLIPSE';\n case 'bezier':\n return 'BEZIER_CURVE';\n case 'bspline':\n return 'BSPLINE_CURVE';\n case 'trimmed':\n return 'TRIMMED_' + curveTypeName(c.basis);\n }\n}\n\n// ---------------------------------------------------------------------------\n// Construction helpers\n// ---------------------------------------------------------------------------\n\nexport function makeLine2d(x1: number, y1: number, x2: number, y2: number): Line2d {\n const dx = x2 - x1;\n const dy = y2 - y1;\n const len = Math.sqrt(dx * dx + dy * dy);\n return {\n __bk2d: 'line',\n ox: x1,\n oy: y1,\n dx: len > 0 ? dx / len : 1,\n dy: len > 0 ? dy / len : 0,\n len,\n };\n}\n\nexport function makeCircle2d(cx: number, cy: number, radius: number, sense = true): Circle2d {\n return { __bk2d: 'circle', cx, cy, radius, sense };\n}\n\nexport function makeArc2dThreePoints(\n x1: number,\n y1: number,\n xm: number,\n ym: number,\n x2: number,\n y2: number\n): Curve2dObj {\n // Circumscribed circle through 3 points\n const d = 2 * (x1 * (ym - y2) + xm * (y2 - y1) + x2 * (y1 - ym));\n if (Math.abs(d) < 1e-12) {\n // Degenerate (collinear): return a line\n return makeLine2d(x1, y1, x2, y2);\n }\n const cx =\n ((x1 * x1 + y1 * y1) * (ym - y2) +\n (xm * xm + ym * ym) * (y2 - y1) +\n (x2 * x2 + y2 * y2) * (y1 - ym)) /\n d;\n const cy =\n ((x1 * x1 + y1 * y1) * (x2 - xm) +\n (xm * xm + ym * ym) * (x1 - x2) +\n (x2 * x2 + y2 * y2) * (xm - x1)) /\n d;\n const radius = Math.sqrt((x1 - cx) ** 2 + (y1 - cy) ** 2);\n\n // Compute angles for start (p1), mid (pm), and end (p2)\n const a1 = Math.atan2(y1 - cy, x1 - cx);\n const am = Math.atan2(ym - cy, xm - cx);\n const a2 = Math.atan2(y2 - cy, x2 - cx);\n\n // Determine sense: CCW if mid-point angle is between start and end going CCW\n let da1m = am - a1;\n if (da1m < 0) da1m += 2 * Math.PI;\n let da12 = a2 - a1;\n if (da12 < 0) da12 += 2 * Math.PI;\n const sense = da1m < da12; // CCW if midpoint comes before endpoint\n\n const circle = makeCircle2d(cx, cy, radius, sense);\n if (!sense) {\n // CW circle evaluates angle = -t, so parameter t = -angle.\n const tStart = -a1;\n let tEnd = -a2;\n if (tEnd < tStart - 1e-9) tEnd += 2 * Math.PI;\n return { __bk2d: 'trimmed', basis: circle, tStart, tEnd };\n }\n // CCW: ensure tEnd >= tStart\n let tEnd = a2;\n if (tEnd < a1 - 1e-9) tEnd += 2 * Math.PI;\n return { __bk2d: 'trimmed', basis: circle, tStart: a1, tEnd };\n}\n\nexport function makeArc2dTangent(\n sx: number,\n sy: number,\n tx: number,\n ty: number,\n ex: number,\n ey: number\n): Curve2dObj {\n const len = Math.sqrt(tx * tx + ty * ty);\n const ntx = len > 0 ? tx / len : 0;\n const nty = len > 0 ? ty / len : 0;\n\n const dx = sx - ex;\n const dy = sy - ey;\n const denom = 2 * (dy * ntx - dx * nty);\n\n if (Math.abs(denom) < 1e-12) {\n return makeLine2d(sx, sy, ex, ey);\n }\n\n const chord2 = dx * dx + dy * dy;\n const t = -chord2 / denom;\n const cx = sx - t * nty;\n const cy = sy + t * ntx;\n const radius = Math.abs(t);\n\n const a1 = Math.atan2(sy - cy, sx - cx);\n const a2 = Math.atan2(ey - cy, ex - cx);\n\n const ccwTanX = -(sy - cy) / radius;\n const ccwTanY = (sx - cx) / radius;\n const dotCcw = ntx * ccwTanX + nty * ccwTanY;\n\n let aMid: number;\n if (dotCcw > 0) {\n let da = a2 - a1;\n if (da <= 0) da += 2 * Math.PI;\n aMid = a1 + da / 2;\n } else {\n let da = a2 - a1;\n if (da >= 0) da -= 2 * Math.PI;\n aMid = a1 + da / 2;\n }\n\n const mx = cx + radius * Math.cos(aMid);\n const my = cy + radius * Math.sin(aMid);\n\n return makeArc2dThreePoints(sx, sy, mx, my, ex, ey);\n}\n\nexport function makeEllipse2d(\n cx: number,\n cy: number,\n majorRadius: number,\n minorRadius: number,\n xDirX = 1,\n xDirY = 0,\n sense = true\n): Ellipse2d {\n return {\n __bk2d: 'ellipse',\n cx,\n cy,\n majorRadius,\n minorRadius,\n xDirAngle: Math.atan2(xDirY, xDirX),\n sense,\n };\n}\n\nexport function makeBezier2d(poles: [number, number][]): Bezier2d {\n return { __bk2d: 'bezier', poles: [...poles] };\n}\n\n// ---------------------------------------------------------------------------\n// Transform helpers\n// ---------------------------------------------------------------------------\n\nexport function translateCurve2d(c: Curve2dObj, dx: number, dy: number): Curve2dObj {\n switch (c.__bk2d) {\n case 'line':\n return { ...c, ox: c.ox + dx, oy: c.oy + dy };\n case 'circle':\n return { ...c, cx: c.cx + dx, cy: c.cy + dy };\n case 'ellipse':\n return { ...c, cx: c.cx + dx, cy: c.cy + dy };\n case 'bezier':\n return { ...c, poles: c.poles.map(([x, y]) => [x + dx, y + dy] as [number, number]) };\n case 'bspline':\n return { ...c, poles: c.poles.map(([x, y]) => [x + dx, y + dy] as [number, number]) };\n case 'trimmed':\n return { ...c, basis: translateCurve2d(c.basis, dx, dy) };\n }\n}\n\nexport function rotateCurve2d(c: Curve2dObj, angle: number, cx: number, cy: number): Curve2dObj {\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n const rotatePoint = (x: number, y: number): [number, number] => {\n const rx = x - cx;\n const ry = y - cy;\n return [cx + rx * cos - ry * sin, cy + rx * sin + ry * cos];\n };\n\n switch (c.__bk2d) {\n case 'line': {\n const [ox, oy] = rotatePoint(c.ox, c.oy);\n const ndx = c.dx * cos - c.dy * sin;\n const ndy = c.dx * sin + c.dy * cos;\n return { ...c, ox, oy, dx: ndx, dy: ndy };\n }\n case 'circle': {\n const [ncx, ncy] = rotatePoint(c.cx, c.cy);\n return { ...c, cx: ncx, cy: ncy };\n }\n case 'ellipse': {\n const [ncx, ncy] = rotatePoint(c.cx, c.cy);\n return { ...c, cx: ncx, cy: ncy, xDirAngle: c.xDirAngle + angle };\n }\n case 'bezier':\n return { ...c, poles: c.poles.map(([x, y]) => rotatePoint(x, y)) };\n case 'bspline':\n return { ...c, poles: c.poles.map(([x, y]) => rotatePoint(x, y)) };\n case 'trimmed': {\n const basis = rotateCurve2d(c.basis, angle, cx, cy);\n // A circle carries no frame angle, so its rotation must land in the\n // trim range: parameter IS the geometric angle (negated when\n // sense=false). Without this shift, rotating an arc about its own\n // circle center was a silent no-op.\n if (basis.__bk2d === 'circle') {\n const shift = basis.sense ? angle : -angle;\n return { ...c, basis, tStart: c.tStart + shift, tEnd: c.tEnd + shift };\n }\n return { ...c, basis };\n }\n }\n}\n\nexport function scaleCurve2d(c: Curve2dObj, factor: number, cx: number, cy: number): Curve2dObj {\n const scalePoint = (x: number, y: number): [number, number] => [\n cx + (x - cx) * factor,\n cy + (y - cy) * factor,\n ];\n\n switch (c.__bk2d) {\n case 'line': {\n // Scale BOTH endpoints and recompute direction/length. Scaling only the\n // origin (keeping dx/dy/len) left the endpoint wrong for factor != 1 —\n // most damagingly for mirror (factor = -1, via mirrorAtPoint), which\n // reflected the origin but kept the original direction, so the line\n // pointed the wrong way. Consecutive glyph lines then no longer shared a\n // vertex, leaving font wires disconnected/invalid (engraved-text bug).\n const [ox, oy] = scalePoint(c.ox, c.oy);\n const [ex, ey] = scalePoint(c.ox + c.dx * c.len, c.oy + c.dy * c.len);\n const ndx = ex - ox;\n const ndy = ey - oy;\n const nlen = Math.sqrt(ndx * ndx + ndy * ndy);\n return {\n ...c,\n ox,\n oy,\n dx: nlen > 0 ? ndx / nlen : c.dx,\n dy: nlen > 0 ? ndy / nlen : c.dy,\n len: nlen,\n };\n }\n case 'circle': {\n const [ncx, ncy] = scalePoint(c.cx, c.cy);\n return { ...c, cx: ncx, cy: ncy, radius: c.radius * Math.abs(factor) };\n }\n case 'ellipse': {\n const [ncx, ncy] = scalePoint(c.cx, c.cy);\n return {\n ...c,\n cx: ncx,\n cy: ncy,\n majorRadius: c.majorRadius * Math.abs(factor),\n minorRadius: c.minorRadius * Math.abs(factor),\n };\n }\n case 'bezier':\n return { ...c, poles: c.poles.map(([x, y]) => scalePoint(x, y)) };\n case 'bspline':\n return { ...c, poles: c.poles.map(([x, y]) => scalePoint(x, y)) };\n case 'trimmed':\n return { ...c, basis: scaleCurve2d(c.basis, factor, cx, cy) };\n }\n}\n\nexport function mirrorAtPoint(c: Curve2dObj, cx: number, cy: number): Curve2dObj {\n // A point mirror IS a half-turn. Routing through rotate keeps every curve\n // type's parameterization exact: scale(-1) reflected conic centers but left\n // their angular parameterization behind, so trimmed-arc endpoints came back\n // point-reflected through the center.\n return rotateCurve2d(c, Math.PI, cx, cy);\n}\n\nexport function mirrorAcrossAxis(\n c: Curve2dObj,\n ox: number,\n oy: number,\n dx: number,\n dy: number\n): Curve2dObj {\n const len = Math.sqrt(dx * dx + dy * dy);\n if (len < 1e-15) return c;\n const nx = dx / len;\n const ny = dy / len;\n\n const reflectPoint = (x: number, y: number): [number, number] => {\n const rx = x - ox;\n const ry = y - oy;\n const dot = rx * nx + ry * ny;\n return [ox + 2 * dot * nx - rx, oy + 2 * dot * ny - ry];\n };\n\n switch (c.__bk2d) {\n case 'line': {\n const [nox, noy] = reflectPoint(c.ox, c.oy);\n const ndx = 2 * (c.dx * nx + c.dy * ny) * nx - c.dx;\n const ndy = 2 * (c.dx * nx + c.dy * ny) * ny - c.dy;\n return { ...c, ox: nox, oy: noy, dx: ndx, dy: ndy };\n }\n case 'circle': {\n const [ncx, ncy] = reflectPoint(c.cx, c.cy);\n return { ...c, cx: ncx, cy: ncy, sense: !c.sense };\n }\n case 'ellipse': {\n const [ncx, ncy] = reflectPoint(c.cx, c.cy);\n // Reflect the major-axis direction angle across the mirror axis\n const cos2 = nx * nx - ny * ny;\n const sin2 = 2 * nx * ny;\n const newAngle = Math.atan2(\n sin2 * Math.cos(c.xDirAngle) - cos2 * Math.sin(c.xDirAngle),\n cos2 * Math.cos(c.xDirAngle) + sin2 * Math.sin(c.xDirAngle)\n );\n return { ...c, cx: ncx, cy: ncy, xDirAngle: newAngle, sense: !c.sense };\n }\n case 'bezier':\n return { ...c, poles: c.poles.map(([x, y]) => reflectPoint(x, y)) };\n case 'bspline':\n return { ...c, poles: c.poles.map(([x, y]) => reflectPoint(x, y)) };\n case 'trimmed': {\n const basis = mirrorAcrossAxis(c.basis, ox, oy, dx, dy);\n // Reflection maps a circle's geometric angle theta to 2*phi - theta\n // (phi = axis angle). The sense flip on the basis absorbs the negation;\n // the 2*phi rotation has nowhere to live on a frameless circle, so it\n // lands in the trim range (sign follows the ORIGINAL sense).\n if (c.basis.__bk2d === 'circle' && basis.__bk2d === 'circle') {\n const phi = Math.atan2(ny, nx);\n const shift = c.basis.sense ? -2 * phi : 2 * phi;\n return { ...c, basis, tStart: c.tStart + shift, tEnd: c.tEnd + shift };\n }\n return { ...c, basis };\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// 2D Curve-Curve Intersection\n// ---------------------------------------------------------------------------\n\n/**\n * Compute intersection points (and overlapping segments) between two 2D curves.\n * Handles analytic cases (line-line, line-circle, circle-circle) and falls back\n * to numerical sampling + Newton refinement for general curves.\n */\nexport function intersectCurves2dFn(\n c1: Curve2dObj,\n c2: Curve2dObj,\n tolerance: number\n): { points: [number, number][]; segments: Curve2dObj[] } {\n const b1 = unwrapCurve(c1);\n const b2 = unwrapCurve(c2);\n\n // Analytic: line-line\n if (b1.__bk2d === 'line' && b2.__bk2d === 'line') {\n return intersectLineLine(c1, b1, c2, b2, tolerance);\n }\n // Analytic: line-circle / circle-line\n if (b1.__bk2d === 'line' && b2.__bk2d === 'circle') {\n return { points: intersectLineCircle(c1, b1, c2, b2, tolerance), segments: [] };\n }\n if (b1.__bk2d === 'circle' && b2.__bk2d === 'line') {\n return { points: intersectLineCircle(c2, b2, c1, b1, tolerance), segments: [] };\n }\n // Analytic: circle-circle\n if (b1.__bk2d === 'circle' && b2.__bk2d === 'circle') {\n return { points: intersectCircleCircle(c1, b1, c2, b2, tolerance), segments: [] };\n }\n // General: numerical (with self-intersection handling)\n const isSelf = c1 === c2;\n return numericalIntersect(c1, c2, tolerance, isSelf);\n}\n\n/** Unwrap trimmed wrappers to get the basis curve type. */\nfunction unwrapCurve(c: Curve2dObj): Curve2dObj {\n let cur = c;\n while (cur.__bk2d === 'trimmed') cur = cur.basis;\n return cur;\n}\n\n/** Check if parameter t is within the curve's domain. */\nfunction inDomain(c: Curve2dObj, t: number, tol: number): boolean {\n const b = curveBounds(c);\n return t >= b.first - tol && t <= b.last + tol;\n}\n\n/** Find the parameter on curve c closest to point (px, py), searching near tGuess. */\nfunction refineParam(c: Curve2dObj, px: number, py: number): number | null {\n const bounds = curveBounds(c);\n if (!isFinite(bounds.first) || !isFinite(bounds.last)) return null;\n const N = 80;\n const dt = (bounds.last - bounds.first) / N;\n let bestT = bounds.first;\n let bestD = Infinity;\n for (let i = 0; i <= N; i++) {\n const t = bounds.first + i * dt;\n const [ex, ey] = evaluateCurve2d(c, t);\n const d = (ex - px) ** 2 + (ey - py) ** 2;\n if (d < bestD) {\n bestD = d;\n bestT = t;\n }\n }\n // bestD is squared geometric distance. Derive a scale-relative threshold\n // from the curve's geometric extent (not parameter span, which has different units).\n const [sx, sy] = evaluateCurve2d(c, bounds.first);\n const [ex, ey] = evaluateCurve2d(c, bounds.last);\n const [mx, my] = evaluateCurve2d(c, (bounds.first + bounds.last) / 2);\n const geomExtent = Math.max(\n Math.sqrt((ex - sx) ** 2 + (ey - sy) ** 2),\n Math.sqrt((mx - sx) ** 2 + (my - sy) ** 2),\n 1e-6\n );\n const maxDist = geomExtent * 0.1;\n return bestD < maxDist * maxDist ? bestT : null;\n}\n\nfunction intersectLineLine(\n c1: Curve2dObj,\n l1: Line2d,\n c2: Curve2dObj,\n l2: Line2d,\n tol: number\n): { points: [number, number][]; segments: Curve2dObj[] } {\n const det = l1.dx * l2.dy - l1.dy * l2.dx;\n if (Math.abs(det) >= 1e-14) {\n // Non-parallel: solve for intersection\n const ex = l2.ox - l1.ox;\n const ey = l2.oy - l1.oy;\n const t1 = (ex * l2.dy - ey * l2.dx) / det;\n const t2 = (ex * l1.dy - ey * l1.dx) / det;\n if (!inDomain(c1, t1, tol) || !inDomain(c2, t2, tol)) return { points: [], segments: [] };\n return { points: [[l1.ox + t1 * l1.dx, l1.oy + t1 * l1.dy]], segments: [] };\n }\n\n // Parallel — check if collinear and overlapping\n const ex = l2.ox - l1.ox;\n const ey = l2.oy - l1.oy;\n const cross = ex * l1.dy - ey * l1.dx;\n if (Math.abs(cross) > tol) return { points: [], segments: [] }; // parallel but not collinear\n\n // Project c2 endpoints onto c1's parameter space\n const b1 = curveBounds(c1);\n const b2 = curveBounds(c2);\n const p2s = evaluateCurve2d(c2, b2.first);\n const p2e = evaluateCurve2d(c2, b2.last);\n const t2sOn1 = (p2s[0] - l1.ox) * l1.dx + (p2s[1] - l1.oy) * l1.dy;\n const t2eOn1 = (p2e[0] - l1.ox) * l1.dx + (p2e[1] - l1.oy) * l1.dy;\n const overlapStart = Math.max(b1.first, Math.min(t2sOn1, t2eOn1));\n const overlapEnd = Math.min(b1.last, Math.max(t2sOn1, t2eOn1));\n if (overlapEnd - overlapStart < tol) return { points: [], segments: [] }; // no meaningful overlap\n\n // Return the overlapping segment as a line\n const sx = l1.ox + overlapStart * l1.dx;\n const sy = l1.oy + overlapStart * l1.dy;\n const ex2 = l1.ox + overlapEnd * l1.dx;\n const ey2 = l1.oy + overlapEnd * l1.dy;\n const seg = makeLine2d(sx, sy, ex2, ey2);\n return { points: [], segments: [seg] };\n}\n\nfunction intersectLineCircle(\n cLine: Curve2dObj,\n line: Line2d,\n cCirc: Curve2dObj,\n circ: Circle2d,\n tol: number\n): [number, number][] {\n // Vector from circle center to line origin\n const fx = line.ox - circ.cx;\n const fy = line.oy - circ.cy;\n // Quadratic: |f + t*d|^2 = r^2\n const a = line.dx * line.dx + line.dy * line.dy; // = 1 for normalized\n const b = 2 * (fx * line.dx + fy * line.dy);\n const c = fx * fx + fy * fy - circ.radius * circ.radius;\n const disc = b * b - 4 * a * c;\n if (disc < -tol) return [];\n\n const results: [number, number][] = [];\n const sqrtDisc = Math.sqrt(Math.max(0, disc));\n const t1 = (-b - sqrtDisc) / (2 * a);\n const t2 = (-b + sqrtDisc) / (2 * a);\n\n for (const tLine of disc < tol * tol ? [t1] : [t1, t2]) {\n if (!inDomain(cLine, tLine, tol)) continue;\n const px = line.ox + tLine * line.dx;\n const py = line.oy + tLine * line.dy;\n // Check that the point is in the circle's domain\n const tCirc = refineParam(cCirc, px, py);\n if (tCirc === null) continue;\n const [cx2, cy2] = evaluateCurve2d(cCirc, tCirc);\n if ((cx2 - px) ** 2 + (cy2 - py) ** 2 > tol * tol * 1e6) continue;\n results.push([px, py]);\n }\n return results;\n}\n\nfunction intersectConcentricArcs(c1: Curve2dObj, c2: Curve2dObj, tol: number): [number, number][] {\n const b1 = curveBounds(c1);\n const b2 = curveBounds(c2);\n\n const isFullCircle1 = Math.abs(b1.last - b1.first - 2 * Math.PI) < 1e-10;\n const isFullCircle2 = Math.abs(b2.last - b2.first - 2 * Math.PI) < 1e-10;\n\n if (isFullCircle1 && isFullCircle2) return [];\n if (isFullCircle1) {\n return [evaluateCurve2d(c2, b2.first), evaluateCurve2d(c2, b2.last)];\n }\n if (isFullCircle2) {\n return [evaluateCurve2d(c1, b1.first), evaluateCurve2d(c1, b1.last)];\n }\n\n const pts: [number, number][] = [];\n const checks: [Curve2dObj, [number, number]][] = [\n [c2, evaluateCurve2d(c1, b1.first)],\n [c2, evaluateCurve2d(c1, b1.last)],\n [c1, evaluateCurve2d(c2, b2.first)],\n [c1, evaluateCurve2d(c2, b2.last)],\n ];\n\n for (const [target, pt] of checks) {\n const t = refineParam(target, pt[0], pt[1]);\n if (t !== null) {\n const [ex, ey] = evaluateCurve2d(target, t);\n if ((ex - pt[0]) ** 2 + (ey - pt[1]) ** 2 < tol * tol * 100) pts.push(pt);\n }\n }\n\n const deduped: [number, number][] = [];\n for (const p of pts) {\n if (!deduped.some(([ddx, ddy]) => (ddx - p[0]) ** 2 + (ddy - p[1]) ** 2 < tol * tol * 100)) {\n deduped.push(p);\n }\n }\n return deduped;\n}\n\nfunction intersectCircleCircle(\n c1: Curve2dObj,\n circ1: Circle2d,\n c2: Curve2dObj,\n circ2: Circle2d,\n tol: number\n): [number, number][] {\n const dx = circ2.cx - circ1.cx;\n const dy = circ2.cy - circ1.cy;\n const d = Math.sqrt(dx * dx + dy * dy);\n if (d > circ1.radius + circ2.radius + tol) return [];\n if (d < Math.abs(circ1.radius - circ2.radius) - tol) return [];\n if (d < 1e-14) {\n if (Math.abs(circ1.radius - circ2.radius) > tol) return [];\n return intersectConcentricArcs(c1, c2, tol);\n }\n\n const a = (circ1.radius * circ1.radius - circ2.radius * circ2.radius + d * d) / (2 * d);\n const h2 = circ1.radius * circ1.radius - a * a;\n const h = Math.sqrt(Math.max(0, h2));\n\n const mx = circ1.cx + (a * dx) / d;\n const my = circ1.cy + (a * dy) / d;\n\n const candidates: [number, number][] =\n h < tol\n ? [[mx, my]]\n : [\n [mx + (h * dy) / d, my - (h * dx) / d],\n [mx - (h * dy) / d, my + (h * dx) / d],\n ];\n\n // Filter candidates that lie within both curves' domains\n const results: [number, number][] = [];\n for (const [px, py] of candidates) {\n const t1 = refineParam(c1, px, py);\n const t2 = refineParam(c2, px, py);\n if (t1 === null || t2 === null) continue;\n const [x1, y1] = evaluateCurve2d(c1, t1);\n const [x2, y2] = evaluateCurve2d(c2, t2);\n // Compare squared distances against squared tolerance to avoid sqrt\n const tolSq = (tol * 10) ** 2;\n if ((x1 - px) ** 2 + (y1 - py) ** 2 > tolSq) continue;\n if ((x2 - px) ** 2 + (y2 - py) ** 2 > tolSq) continue;\n results.push([px, py]);\n }\n return results;\n}\n\n/**\n * Numerical intersection via sampling + Newton refinement.\n * Samples both curves densely, finds close point pairs, refines with Newton.\n */\nfunction numericalIntersect(\n c1: Curve2dObj,\n c2: Curve2dObj,\n tolerance: number,\n isSelf = false\n): { points: [number, number][]; segments: Curve2dObj[] } {\n const b1 = curveBounds(c1);\n const b2 = curveBounds(c2);\n if (!isFinite(b1.first) || !isFinite(b1.last) || !isFinite(b2.first) || !isFinite(b2.last)) {\n return { points: [], segments: [] };\n }\n\n const N = 100;\n const pts1: { t: number; x: number; y: number }[] = [];\n const pts2: { t: number; x: number; y: number }[] = [];\n for (let i = 0; i <= N; i++) {\n const t1 = b1.first + ((b1.last - b1.first) * i) / N;\n const [x1, y1] = evaluateCurve2d(c1, t1);\n pts1.push({ t: t1, x: x1, y: y1 });\n const t2 = b2.first + ((b2.last - b2.first) * i) / N;\n const [x2, y2] = evaluateCurve2d(c2, t2);\n pts2.push({ t: t2, x: x2, y: y2 });\n }\n\n // Pre-compute segment bounds for curve2 (avoids recomputing N times in inner loop)\n const crossTol = Math.max(tolerance * 100, 0.5);\n const seg2Bounds = new Float64Array(N * 6); // xmin, xmax, ymin, ymax, tmid, _pad per segment\n for (let j = 0; j < N; j++) {\n /* eslint-disable @typescript-eslint/no-non-null-assertion -- known array index */\n const a = pts2[j]!,\n b = pts2[j + 1]!;\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n const off = j * 6;\n seg2Bounds[off] = Math.min(a.x, b.x);\n seg2Bounds[off + 1] = Math.max(a.x, b.x);\n seg2Bounds[off + 2] = Math.min(a.y, b.y);\n seg2Bounds[off + 3] = Math.max(a.y, b.y);\n seg2Bounds[off + 4] = (a.t + b.t) / 2;\n }\n\n // Find segment pairs where curves are close\n const candidates: { t1: number; t2: number }[] = [];\n const selfMinSep = (b1.last - b1.first) / 5;\n for (let i = 0; i < N; i++) {\n /* eslint-disable @typescript-eslint/no-non-null-assertion -- known array index */\n const p1a = pts1[i]!;\n const p1b = pts1[i + 1]!;\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n // Hoist outer segment AABB (computed once per outer iteration)\n const x1min = Math.min(p1a.x, p1b.x) - crossTol;\n const x1max = Math.max(p1a.x, p1b.x) + crossTol;\n const y1min = Math.min(p1a.y, p1b.y) - crossTol;\n const y1max = Math.max(p1a.y, p1b.y) + crossTol;\n const t1mid = (p1a.t + p1b.t) / 2;\n for (let j = 0; j < N; j++) {\n const off = j * 6;\n /* eslint-disable @typescript-eslint/no-non-null-assertion -- typed array indices known valid */\n if (x1max < seg2Bounds[off]! || seg2Bounds[off + 1]! < x1min) continue;\n if (y1max < seg2Bounds[off + 2]! || seg2Bounds[off + 3]! < y1min) continue;\n const t2mid = seg2Bounds[off + 4]!;\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n if (isSelf && Math.abs(t1mid - t2mid) < selfMinSep) continue;\n candidates.push({ t1: t1mid, t2: t2mid });\n }\n }\n\n // Refine candidates via Newton iteration\n const tol2 = tolerance * tolerance;\n const found: [number, number][] = [];\n for (const { t1: t1Init, t2: t2Init } of candidates) {\n let t1 = t1Init;\n let t2 = t2Init;\n for (let iter = 0; iter < 20; iter++) {\n const [x1, y1] = evaluateCurve2d(c1, t1);\n const [x2, y2] = evaluateCurve2d(c2, t2);\n const dx = x1 - x2;\n const dy = y1 - y2;\n if (dx * dx + dy * dy < tol2) break;\n const d1 = tangentCurve2d(c1, t1);\n const d2 = tangentCurve2d(c2, t2);\n // Newton system: J * [dt1, dt2]^T = -[dx, dy]\n // J = [d1x, -d2x; d1y, -d2y]\n const det = d1[0] * -d2[1] - -d2[0] * d1[1];\n if (Math.abs(det) < 1e-14) break;\n const dt1 = (-dx * -d2[1] - -dy * -d2[0]) / det;\n const dt2 = (d1[0] * -dy - d1[1] * -dx) / det;\n t1 += dt1;\n t2 += dt2;\n // Clamp to domain\n t1 = Math.max(b1.first, Math.min(b1.last, t1));\n t2 = Math.max(b2.first, Math.min(b2.last, t2));\n }\n const [x1, y1] = evaluateCurve2d(c1, t1);\n const [x2, y2] = evaluateCurve2d(c2, t2);\n // For self-intersection, only accept points where parameters are well-separated\n if (isSelf && Math.abs(t1 - t2) < (b1.last - b1.first) * 0.05) continue;\n if ((x1 - x2) ** 2 + (y1 - y2) ** 2 < tolerance * tolerance * 1e6) {\n const px = (x1 + x2) / 2;\n const py = (y1 + y2) / 2;\n // Deduplicate\n let dup = false;\n for (const [fx, fy] of found) {\n if ((fx - px) ** 2 + (fy - py) ** 2 < tolerance * tolerance * 1e4) {\n dup = true;\n break;\n }\n }\n if (!dup) found.push([px, py]);\n }\n }\n\n return { points: found, segments: [] };\n}\n\n// ---------------------------------------------------------------------------\n// Serialization\n// ---------------------------------------------------------------------------\n\nexport function serializeCurve2d(c: Curve2dObj): string {\n return JSON.stringify(c);\n}\n\nexport function deserializeCurve2d(data: string): Curve2dObj {\n return JSON.parse(data) as Curve2dObj;\n}\n\n// ---------------------------------------------------------------------------\n// BBox helpers\n// ---------------------------------------------------------------------------\n\nexport function createBBox2d(): BBox2d {\n return { __bk2d_bbox: true, xMin: Infinity, yMin: Infinity, xMax: -Infinity, yMax: -Infinity };\n}\n\nexport function addCurveToBBox(bbox: BBox2d, c: Curve2dObj, _tol: number): void {\n const basis = c.__bk2d === 'trimmed' ? c.basis : c;\n\n // Analytic: lines need only 2 endpoints (no sampling)\n if (basis.__bk2d === 'line') {\n const bounds = curveBounds(c);\n if (!isFinite(bounds.first) || !isFinite(bounds.last)) return;\n const [x0, y0] = evaluateCurve2d(c, bounds.first);\n const [x1, y1] = evaluateCurve2d(c, bounds.last);\n bbox.xMin = Math.min(bbox.xMin, x0, x1);\n bbox.yMin = Math.min(bbox.yMin, y0, y1);\n bbox.xMax = Math.max(bbox.xMax, x0, x1);\n bbox.yMax = Math.max(bbox.yMax, y0, y1);\n return;\n }\n\n // Analytic: circles/arcs — endpoints + axis extremes\n if (basis.__bk2d === 'circle') {\n const bounds = curveBounds(c);\n if (!isFinite(bounds.first) || !isFinite(bounds.last)) return;\n const { cx, cy, radius, sense } = basis;\n const [x0, y0] = evaluateCurve2d(c, bounds.first);\n const [x1, y1] = evaluateCurve2d(c, bounds.last);\n let xMin = Math.min(x0, x1),\n xMax = Math.max(x0, x1);\n let yMin = Math.min(y0, y1),\n yMax = Math.max(y0, y1);\n // Check axis-aligned extreme angles within the arc's parameter range\n const tStart = c.__bk2d === 'trimmed' ? c.tStart : bounds.first;\n const tEnd = c.__bk2d === 'trimmed' ? c.tEnd : bounds.last;\n for (let k = 0; k < 4; k++) {\n const angle = (k * Math.PI) / 2;\n const t = sense ? angle : -angle;\n // Check if t (or t + 2π) falls within [tStart, tEnd]\n for (let wrap = 0; wrap <= 1; wrap++) {\n const tt = t + wrap * 2 * Math.PI;\n if (tt >= tStart - 1e-10 && tt <= tEnd + 1e-10) {\n const ex = cx + radius * Math.cos(angle);\n const ey = cy + radius * Math.sin(angle);\n xMin = Math.min(xMin, ex);\n xMax = Math.max(xMax, ex);\n yMin = Math.min(yMin, ey);\n yMax = Math.max(yMax, ey);\n break;\n }\n }\n }\n bbox.xMin = Math.min(bbox.xMin, xMin);\n bbox.yMin = Math.min(bbox.yMin, yMin);\n bbox.xMax = Math.max(bbox.xMax, xMax);\n bbox.yMax = Math.max(bbox.yMax, yMax);\n return;\n }\n\n // General: sample (bezier, bspline, ellipse)\n const bounds = curveBounds(c);\n if (!isFinite(bounds.first) || !isFinite(bounds.last)) return;\n const nSamples = 20;\n const dt = (bounds.last - bounds.first) / nSamples;\n for (let i = 0; i <= nSamples; i++) {\n const t = bounds.first + i * dt;\n const [x, y] = evaluateCurve2d(c, t);\n if (x < bbox.xMin) bbox.xMin = x;\n if (y < bbox.yMin) bbox.yMin = y;\n if (x > bbox.xMax) bbox.xMax = x;\n if (y > bbox.yMax) bbox.yMax = y;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Private helpers\n// ---------------------------------------------------------------------------\n\nfunction evaluateBezier(poles: [number, number][], t: number): [number, number] {\n // De Casteljau\n const n = poles.length;\n const work = poles.map(([x, y]) => [x, y] as [number, number]);\n /* eslint-disable @typescript-eslint/no-non-null-assertion -- array indices known valid by loop bounds */\n for (let r = 1; r < n; r++) {\n for (let i = 0; i < n - r; i++) {\n const wi = work[i]!;\n const wi1 = work[i + 1]!;\n wi[0] = (1 - t) * wi[0] + t * wi1[0];\n wi[1] = (1 - t) * wi[1] + t * wi1[1];\n }\n }\n return work[0]!;\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n}\n\nfunction evaluateBSpline2d(c: BSpline2d, t: number): [number, number] {\n /* eslint-disable @typescript-eslint/no-non-null-assertion -- knot-vector indices known valid by loop bounds */\n // Expand knots with multiplicities\n const fullKnots: number[] = [];\n for (let i = 0; i < c.knots.length; i++) {\n const mult = c.multiplicities[i] ?? 1;\n for (let j = 0; j < mult; j++) {\n fullKnots.push(c.knots[i]!);\n }\n }\n\n // De Boor evaluation\n const p = c.degree;\n const n = c.poles.length;\n const k = fullKnots.length;\n\n // Clamp t to domain\n const tClamped = Math.max(fullKnots[p]!, Math.min(fullKnots[k - p - 1]!, t));\n\n // Find span\n let span = p;\n for (let i = p; i < k - p - 1; i++) {\n if (tClamped >= fullKnots[i]! && tClamped < fullKnots[i + 1]!) {\n span = i;\n break;\n }\n }\n if (tClamped >= fullKnots[k - p - 1]!) span = k - p - 2;\n\n // Extract relevant control points\n const d: [number, number][] = [];\n for (let j = 0; j <= p; j++) {\n const idx = Math.min(span - p + j, n - 1);\n const pole = c.poles[Math.max(0, idx)]!;\n d.push([pole[0], pole[1]]);\n }\n\n // De Boor recursion\n for (let r = 1; r <= p; r++) {\n for (let j = p; j >= r; j--) {\n const i = span - p + j;\n const left = fullKnots[i] ?? 0;\n const right = fullKnots[i + p - r + 1] ?? 1;\n const denom = right - left;\n const alpha = denom > 1e-15 ? (tClamped - left) / denom : 0;\n const dj = d[j]!;\n const djPrev = d[j - 1]!;\n dj[0] = (1 - alpha) * djPrev[0] + alpha * dj[0];\n dj[1] = (1 - alpha) * djPrev[1] + alpha * dj[1];\n }\n }\n\n return d[p]!;\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n}\n"]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Pure-TS 3D convex hull (QuickHull).
3
+ *
4
+ * Kernel-agnostic: operates on plain {x,y,z} points and returns triangle
5
+ * indices. Shared by the occt and occt-wasm adapters, which supply their own
6
+ * vertex extraction and BREP reconstruction around it.
7
+ */
8
+ export interface Vec3 {
9
+ readonly x: number;
10
+ readonly y: number;
11
+ readonly z: number;
12
+ }
13
+ export interface HullResult {
14
+ readonly faces: ReadonlyArray<readonly [number, number, number]>;
15
+ readonly points: readonly Vec3[];
16
+ }
17
+ /**
18
+ * Compute the 3D convex hull of a point set.
19
+ *
20
+ * @throws if fewer than 4 non-coincident, non-coplanar points are supplied.
21
+ */
22
+ export declare function quickHull(inputPoints: Vec3[], tolerance: number): HullResult;
23
+ //# sourceMappingURL=hullGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hullGeometry.d.ts","sourceRoot":"","sources":["../../../../src/vendored/brepjs/kernel/hullGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;CAClC;AAyLD;;;;GAIG;AAEH,wBAAgB,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAsK5E"}
@@ -0,0 +1,312 @@
1
+ /**
2
+ * Pure-TS 3D convex hull (QuickHull).
3
+ *
4
+ * Kernel-agnostic: operates on plain {x,y,z} points and returns triangle
5
+ * indices. Shared by the occt and occt-wasm adapters, which supply their own
6
+ * vertex extraction and BREP reconstruction around it.
7
+ */
8
+ // ---------------------------------------------------------------------------
9
+ // Vector math helpers
10
+ // ---------------------------------------------------------------------------
11
+ function sub(a, b) {
12
+ return { x: a.x - b.x, y: a.y - b.y, z: a.z - b.z };
13
+ }
14
+ function cross(a, b) {
15
+ return {
16
+ x: a.y * b.z - a.z * b.y,
17
+ y: a.z * b.x - a.x * b.z,
18
+ z: a.x * b.y - a.y * b.x,
19
+ };
20
+ }
21
+ function dot(a, b) {
22
+ return a.x * b.x + a.y * b.y + a.z * b.z;
23
+ }
24
+ function lengthVec(v) {
25
+ return Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
26
+ }
27
+ function distSq(a, b) {
28
+ const dx = a.x - b.x;
29
+ const dy = a.y - b.y;
30
+ const dz = a.z - b.z;
31
+ return dx * dx + dy * dy + dz * dz;
32
+ }
33
+ /** Safe array access — throws on out-of-bounds instead of returning undefined. */
34
+ function at(arr, i) {
35
+ const v = arr[i];
36
+ if (v === undefined)
37
+ throw new Error(`Index ${i} out of bounds`);
38
+ return v;
39
+ }
40
+ /** Safe number array access. */
41
+ function atN(arr, i) {
42
+ const v = arr[i];
43
+ if (v === undefined)
44
+ throw new Error(`Index ${i} out of bounds`);
45
+ return v;
46
+ }
47
+ function makeFace(points, a, b, c) {
48
+ const normal = cross(sub(at(points, b), at(points, a)), sub(at(points, c), at(points, a)));
49
+ const len = lengthVec(normal);
50
+ const n = len > 1e-14 ? { x: normal.x / len, y: normal.y / len, z: normal.z / len } : normal;
51
+ return {
52
+ a,
53
+ b,
54
+ c,
55
+ normal: n,
56
+ offset: dot(n, at(points, a)),
57
+ alive: true,
58
+ outsidePoints: [],
59
+ };
60
+ }
61
+ function signedDist(face, point) {
62
+ return dot(face.normal, point) - face.offset;
63
+ }
64
+ // ---------------------------------------------------------------------------
65
+ // Deduplication
66
+ // ---------------------------------------------------------------------------
67
+ function deduplicatePoints(points, tolerance) {
68
+ const tolSq = tolerance * tolerance;
69
+ const result = [];
70
+ for (const p of points) {
71
+ let isDuplicate = false;
72
+ for (const q of result) {
73
+ if (distSq(p, q) < tolSq) {
74
+ isDuplicate = true;
75
+ break;
76
+ }
77
+ }
78
+ if (!isDuplicate)
79
+ result.push(p);
80
+ }
81
+ return result;
82
+ }
83
+ // ---------------------------------------------------------------------------
84
+ // Initial tetrahedron
85
+ // ---------------------------------------------------------------------------
86
+ function findInitialTetrahedron(points) {
87
+ const n = points.length;
88
+ if (n < 4)
89
+ return null;
90
+ // Find two most distant points along each axis, pick the pair with max distance
91
+ let i0 = 0;
92
+ let i1 = 1;
93
+ let maxDist = distSq(at(points, 0), at(points, 1));
94
+ for (let i = 0; i < n; i++) {
95
+ for (let j = i + 1; j < n; j++) {
96
+ const d = distSq(at(points, i), at(points, j));
97
+ if (d > maxDist) {
98
+ maxDist = d;
99
+ i0 = i;
100
+ i1 = j;
101
+ }
102
+ }
103
+ }
104
+ if (maxDist < 1e-20)
105
+ return null;
106
+ // Find point most distant from line i0-i1
107
+ const lineDir = sub(at(points, i1), at(points, i0));
108
+ let i2 = -1;
109
+ let maxLineDist = -1;
110
+ for (let i = 0; i < n; i++) {
111
+ if (i === i0 || i === i1)
112
+ continue;
113
+ const v = sub(at(points, i), at(points, i0));
114
+ const c = cross(lineDir, v);
115
+ const d = dot(c, c);
116
+ if (d > maxLineDist) {
117
+ maxLineDist = d;
118
+ i2 = i;
119
+ }
120
+ }
121
+ if (i2 === -1 || maxLineDist < 1e-20)
122
+ return null;
123
+ // Find point most distant from plane i0-i1-i2
124
+ const planeNormal = cross(sub(at(points, i1), at(points, i0)), sub(at(points, i2), at(points, i0)));
125
+ const planeLen = lengthVec(planeNormal);
126
+ if (planeLen < 1e-14)
127
+ return null;
128
+ const pn = {
129
+ x: planeNormal.x / planeLen,
130
+ y: planeNormal.y / planeLen,
131
+ z: planeNormal.z / planeLen,
132
+ };
133
+ const planeOffset = dot(pn, at(points, i0));
134
+ let i3 = -1;
135
+ let maxPlaneDist = -1;
136
+ for (let i = 0; i < n; i++) {
137
+ if (i === i0 || i === i1 || i === i2)
138
+ continue;
139
+ const d = Math.abs(dot(pn, at(points, i)) - planeOffset);
140
+ if (d > maxPlaneDist) {
141
+ maxPlaneDist = d;
142
+ i3 = i;
143
+ }
144
+ }
145
+ if (i3 === -1 || maxPlaneDist < 1e-14)
146
+ return null;
147
+ // Orient tetrahedron so that i3 is "above" the base triangle
148
+ const sd = dot(pn, at(points, i3)) - planeOffset;
149
+ if (sd > 0) {
150
+ return [i0, i2, i1, i3]; // flip base winding
151
+ }
152
+ return [i0, i1, i2, i3];
153
+ }
154
+ // ---------------------------------------------------------------------------
155
+ // QuickHull
156
+ // ---------------------------------------------------------------------------
157
+ /**
158
+ * Compute the 3D convex hull of a point set.
159
+ *
160
+ * @throws if fewer than 4 non-coincident, non-coplanar points are supplied.
161
+ */
162
+ // brepjs-patterns-disable: max-function-lines -- cohesive QuickHull main loop; splitting hurts readability
163
+ export function quickHull(inputPoints, tolerance) {
164
+ const points = deduplicatePoints(inputPoints, tolerance);
165
+ if (points.length < 4) {
166
+ throw new Error(points.length === 0
167
+ ? 'No points provided for convex hull'
168
+ : 'Fewer than 4 non-coincident points; cannot form a 3D convex hull');
169
+ }
170
+ const tet = findInitialTetrahedron(points);
171
+ if (tet === null) {
172
+ throw new Error('All points are coplanar; cannot form a 3D convex hull');
173
+ }
174
+ const [t0, t1, t2, t3] = tet;
175
+ // Centroid of initial tetrahedron for ensuring outward normals
176
+ const centroid = {
177
+ x: (at(points, t0).x + at(points, t1).x + at(points, t2).x + at(points, t3).x) / 4,
178
+ y: (at(points, t0).y + at(points, t1).y + at(points, t2).y + at(points, t3).y) / 4,
179
+ z: (at(points, t0).z + at(points, t1).z + at(points, t2).z + at(points, t3).z) / 4,
180
+ };
181
+ // Build initial 4 faces of tetrahedron, ensuring outward normals
182
+ function makeOutwardFace(a, b, c) {
183
+ const face = makeFace(points, a, b, c);
184
+ // If normal points toward centroid, flip the winding
185
+ const faceCenter = {
186
+ x: (at(points, a).x + at(points, b).x + at(points, c).x) / 3,
187
+ y: (at(points, a).y + at(points, b).y + at(points, c).y) / 3,
188
+ z: (at(points, a).z + at(points, b).z + at(points, c).z) / 3,
189
+ };
190
+ const toCentroid = sub(centroid, faceCenter);
191
+ if (dot(face.normal, toCentroid) > 0) {
192
+ // Normal points inward, flip
193
+ return makeFace(points, a, c, b);
194
+ }
195
+ return face;
196
+ }
197
+ const faces = [
198
+ makeOutwardFace(t0, t1, t2),
199
+ makeOutwardFace(t0, t2, t3),
200
+ makeOutwardFace(t0, t3, t1),
201
+ makeOutwardFace(t1, t3, t2),
202
+ ];
203
+ const tetSet = new Set([t0, t1, t2, t3]);
204
+ // Use a small geometric epsilon for "outside" tests, independent of mesh tolerance.
205
+ // Mesh tolerance controls deduplication; hull geometry uses a much tighter epsilon.
206
+ const epsilon = 1e-10;
207
+ // Assign each non-tet point to the first visible face
208
+ for (let i = 0; i < points.length; i++) {
209
+ if (tetSet.has(i))
210
+ continue;
211
+ for (const face of faces) {
212
+ if (signedDist(face, at(points, i)) > epsilon) {
213
+ face.outsidePoints.push(i);
214
+ break;
215
+ }
216
+ }
217
+ }
218
+ for (let iteration = 0; iteration < points.length * 4; iteration++) {
219
+ // Find a face with outside points
220
+ let currentFace = null;
221
+ for (const face of faces) {
222
+ if (face.alive && face.outsidePoints.length > 0) {
223
+ currentFace = face;
224
+ break;
225
+ }
226
+ }
227
+ if (currentFace === null)
228
+ break;
229
+ // Find the furthest point from this face
230
+ let furthestIdx = atN(currentFace.outsidePoints, 0);
231
+ let furthestDist = signedDist(currentFace, at(points, furthestIdx));
232
+ for (let i = 1; i < currentFace.outsidePoints.length; i++) {
233
+ const idx = atN(currentFace.outsidePoints, i);
234
+ const d = signedDist(currentFace, at(points, idx));
235
+ if (d > furthestDist) {
236
+ furthestDist = d;
237
+ furthestIdx = idx;
238
+ }
239
+ }
240
+ // Find all visible faces from this point
241
+ const visibleFaces = [];
242
+ for (const face of faces) {
243
+ if (face.alive && signedDist(face, at(points, furthestIdx)) > epsilon) {
244
+ visibleFaces.push(face);
245
+ }
246
+ }
247
+ // Find horizon edges (edges shared by exactly one visible face)
248
+ const edgeCount = new Map();
249
+ for (const face of visibleFaces) {
250
+ const edges = [
251
+ [face.a, face.b],
252
+ [face.b, face.c],
253
+ [face.c, face.a],
254
+ ];
255
+ for (const [ea, eb] of edges) {
256
+ const key = ea < eb ? `${ea}-${eb}` : `${eb}-${ea}`;
257
+ const entry = edgeCount.get(key);
258
+ if (entry) {
259
+ entry.count++;
260
+ }
261
+ else {
262
+ // Store in the order from the visible face
263
+ edgeCount.set(key, { a: ea, b: eb, count: 1 });
264
+ }
265
+ }
266
+ }
267
+ const horizonEdges = [];
268
+ for (const entry of edgeCount.values()) {
269
+ if (entry.count === 1) {
270
+ // Keep edge in same direction as the visible face; makeFace with apex
271
+ // produces outward normal by winding convention
272
+ horizonEdges.push({ a: entry.a, b: entry.b });
273
+ }
274
+ }
275
+ // Collect orphaned outside points from visible faces
276
+ const orphanedPoints = [];
277
+ for (const face of visibleFaces) {
278
+ for (const idx of face.outsidePoints) {
279
+ if (idx !== furthestIdx) {
280
+ orphanedPoints.push(idx);
281
+ }
282
+ }
283
+ face.alive = false;
284
+ face.outsidePoints = [];
285
+ }
286
+ // Create new faces from horizon edges to the furthest point
287
+ const newFaces = [];
288
+ for (const edge of horizonEdges) {
289
+ const newFaceObj = makeFace(points, edge.a, edge.b, furthestIdx);
290
+ newFaces.push(newFaceObj);
291
+ faces.push(newFaceObj);
292
+ }
293
+ // Reassign orphaned points to new faces
294
+ for (const idx of orphanedPoints) {
295
+ for (const face of newFaces) {
296
+ if (signedDist(face, at(points, idx)) > epsilon) {
297
+ face.outsidePoints.push(idx);
298
+ break;
299
+ }
300
+ }
301
+ }
302
+ }
303
+ // Collect alive faces
304
+ const resultFaces = [];
305
+ for (const face of faces) {
306
+ if (face.alive) {
307
+ resultFaces.push([face.a, face.b, face.c]);
308
+ }
309
+ }
310
+ return { faces: resultFaces, points };
311
+ }
312
+ //# sourceMappingURL=hullGeometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hullGeometry.js","sourceRoot":"","sources":["../../../../src/vendored/brepjs/kernel/hullGeometry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Pure-TS 3D convex hull (QuickHull).\n *\n * Kernel-agnostic: operates on plain {x,y,z} points and returns triangle\n * indices. Shared by the occt and occt-wasm adapters, which supply their own\n * vertex extraction and BREP reconstruction around it.\n */\n\nexport interface Vec3 {\n readonly x: number;\n readonly y: number;\n readonly z: number;\n}\n\nexport interface HullResult {\n readonly faces: ReadonlyArray<readonly [number, number, number]>;\n readonly points: readonly Vec3[];\n}\n\n// ---------------------------------------------------------------------------\n// Vector math helpers\n// ---------------------------------------------------------------------------\n\nfunction sub(a: Vec3, b: Vec3): Vec3 {\n return { x: a.x - b.x, y: a.y - b.y, z: a.z - b.z };\n}\n\nfunction cross(a: Vec3, b: Vec3): Vec3 {\n return {\n x: a.y * b.z - a.z * b.y,\n y: a.z * b.x - a.x * b.z,\n z: a.x * b.y - a.y * b.x,\n };\n}\n\nfunction dot(a: Vec3, b: Vec3): number {\n return a.x * b.x + a.y * b.y + a.z * b.z;\n}\n\nfunction lengthVec(v: Vec3): number {\n return Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);\n}\n\nfunction distSq(a: Vec3, b: Vec3): number {\n const dx = a.x - b.x;\n const dy = a.y - b.y;\n const dz = a.z - b.z;\n return dx * dx + dy * dy + dz * dz;\n}\n\n/** Safe array access — throws on out-of-bounds instead of returning undefined. */\nfunction at(arr: readonly Vec3[], i: number): Vec3 {\n const v = arr[i];\n if (v === undefined) throw new Error(`Index ${i} out of bounds`);\n return v;\n}\n\n/** Safe number array access. */\nfunction atN(arr: readonly number[], i: number): number {\n const v = arr[i];\n if (v === undefined) throw new Error(`Index ${i} out of bounds`);\n return v;\n}\n\n// ---------------------------------------------------------------------------\n// QuickHull face\n// ---------------------------------------------------------------------------\n\ninterface HullFace {\n readonly a: number; // indices into points array\n readonly b: number;\n readonly c: number;\n readonly normal: Vec3;\n readonly offset: number; // dot(normal, points[a])\n alive: boolean;\n outsidePoints: number[];\n}\n\nfunction makeFace(points: readonly Vec3[], a: number, b: number, c: number): HullFace {\n const normal = cross(sub(at(points, b), at(points, a)), sub(at(points, c), at(points, a)));\n const len = lengthVec(normal);\n const n = len > 1e-14 ? { x: normal.x / len, y: normal.y / len, z: normal.z / len } : normal;\n return {\n a,\n b,\n c,\n normal: n,\n offset: dot(n, at(points, a)),\n alive: true,\n outsidePoints: [],\n };\n}\n\nfunction signedDist(face: HullFace, point: Vec3): number {\n return dot(face.normal, point) - face.offset;\n}\n\n// ---------------------------------------------------------------------------\n// Deduplication\n// ---------------------------------------------------------------------------\n\nfunction deduplicatePoints(points: Vec3[], tolerance: number): Vec3[] {\n const tolSq = tolerance * tolerance;\n const result: Vec3[] = [];\n for (const p of points) {\n let isDuplicate = false;\n for (const q of result) {\n if (distSq(p, q) < tolSq) {\n isDuplicate = true;\n break;\n }\n }\n if (!isDuplicate) result.push(p);\n }\n return result;\n}\n\n// ---------------------------------------------------------------------------\n// Initial tetrahedron\n// ---------------------------------------------------------------------------\n\nfunction findInitialTetrahedron(points: readonly Vec3[]): [number, number, number, number] | null {\n const n = points.length;\n if (n < 4) return null;\n\n // Find two most distant points along each axis, pick the pair with max distance\n let i0 = 0;\n let i1 = 1;\n let maxDist = distSq(at(points, 0), at(points, 1));\n\n for (let i = 0; i < n; i++) {\n for (let j = i + 1; j < n; j++) {\n const d = distSq(at(points, i), at(points, j));\n if (d > maxDist) {\n maxDist = d;\n i0 = i;\n i1 = j;\n }\n }\n }\n\n if (maxDist < 1e-20) return null;\n\n // Find point most distant from line i0-i1\n const lineDir = sub(at(points, i1), at(points, i0));\n let i2 = -1;\n let maxLineDist = -1;\n\n for (let i = 0; i < n; i++) {\n if (i === i0 || i === i1) continue;\n const v = sub(at(points, i), at(points, i0));\n const c = cross(lineDir, v);\n const d = dot(c, c);\n if (d > maxLineDist) {\n maxLineDist = d;\n i2 = i;\n }\n }\n\n if (i2 === -1 || maxLineDist < 1e-20) return null;\n\n // Find point most distant from plane i0-i1-i2\n const planeNormal = cross(\n sub(at(points, i1), at(points, i0)),\n sub(at(points, i2), at(points, i0))\n );\n const planeLen = lengthVec(planeNormal);\n if (planeLen < 1e-14) return null;\n\n const pn = {\n x: planeNormal.x / planeLen,\n y: planeNormal.y / planeLen,\n z: planeNormal.z / planeLen,\n };\n const planeOffset = dot(pn, at(points, i0));\n\n let i3 = -1;\n let maxPlaneDist = -1;\n\n for (let i = 0; i < n; i++) {\n if (i === i0 || i === i1 || i === i2) continue;\n const d = Math.abs(dot(pn, at(points, i)) - planeOffset);\n if (d > maxPlaneDist) {\n maxPlaneDist = d;\n i3 = i;\n }\n }\n\n if (i3 === -1 || maxPlaneDist < 1e-14) return null;\n\n // Orient tetrahedron so that i3 is \"above\" the base triangle\n const sd = dot(pn, at(points, i3)) - planeOffset;\n if (sd > 0) {\n return [i0, i2, i1, i3]; // flip base winding\n }\n return [i0, i1, i2, i3];\n}\n\n// ---------------------------------------------------------------------------\n// QuickHull\n// ---------------------------------------------------------------------------\n\n/**\n * Compute the 3D convex hull of a point set.\n *\n * @throws if fewer than 4 non-coincident, non-coplanar points are supplied.\n */\n// brepjs-patterns-disable: max-function-lines -- cohesive QuickHull main loop; splitting hurts readability\nexport function quickHull(inputPoints: Vec3[], tolerance: number): HullResult {\n const points = deduplicatePoints(inputPoints, tolerance);\n\n if (points.length < 4) {\n throw new Error(\n points.length === 0\n ? 'No points provided for convex hull'\n : 'Fewer than 4 non-coincident points; cannot form a 3D convex hull'\n );\n }\n\n const tet = findInitialTetrahedron(points);\n if (tet === null) {\n throw new Error('All points are coplanar; cannot form a 3D convex hull');\n }\n\n const [t0, t1, t2, t3] = tet;\n\n // Centroid of initial tetrahedron for ensuring outward normals\n const centroid: Vec3 = {\n x: (at(points, t0).x + at(points, t1).x + at(points, t2).x + at(points, t3).x) / 4,\n y: (at(points, t0).y + at(points, t1).y + at(points, t2).y + at(points, t3).y) / 4,\n z: (at(points, t0).z + at(points, t1).z + at(points, t2).z + at(points, t3).z) / 4,\n };\n\n // Build initial 4 faces of tetrahedron, ensuring outward normals\n function makeOutwardFace(a: number, b: number, c: number): HullFace {\n const face = makeFace(points, a, b, c);\n // If normal points toward centroid, flip the winding\n const faceCenter: Vec3 = {\n x: (at(points, a).x + at(points, b).x + at(points, c).x) / 3,\n y: (at(points, a).y + at(points, b).y + at(points, c).y) / 3,\n z: (at(points, a).z + at(points, b).z + at(points, c).z) / 3,\n };\n const toCentroid = sub(centroid, faceCenter);\n if (dot(face.normal, toCentroid) > 0) {\n // Normal points inward, flip\n return makeFace(points, a, c, b);\n }\n return face;\n }\n\n const faces: HullFace[] = [\n makeOutwardFace(t0, t1, t2),\n makeOutwardFace(t0, t2, t3),\n makeOutwardFace(t0, t3, t1),\n makeOutwardFace(t1, t3, t2),\n ];\n\n const tetSet = new Set([t0, t1, t2, t3]);\n\n // Use a small geometric epsilon for \"outside\" tests, independent of mesh tolerance.\n // Mesh tolerance controls deduplication; hull geometry uses a much tighter epsilon.\n const epsilon = 1e-10;\n\n // Assign each non-tet point to the first visible face\n for (let i = 0; i < points.length; i++) {\n if (tetSet.has(i)) continue;\n for (const face of faces) {\n if (signedDist(face, at(points, i)) > epsilon) {\n face.outsidePoints.push(i);\n break;\n }\n }\n }\n\n for (let iteration = 0; iteration < points.length * 4; iteration++) {\n // Find a face with outside points\n let currentFace: HullFace | null = null;\n for (const face of faces) {\n if (face.alive && face.outsidePoints.length > 0) {\n currentFace = face;\n break;\n }\n }\n if (currentFace === null) break;\n\n // Find the furthest point from this face\n let furthestIdx = atN(currentFace.outsidePoints, 0);\n let furthestDist = signedDist(currentFace, at(points, furthestIdx));\n for (let i = 1; i < currentFace.outsidePoints.length; i++) {\n const idx = atN(currentFace.outsidePoints, i);\n const d = signedDist(currentFace, at(points, idx));\n if (d > furthestDist) {\n furthestDist = d;\n furthestIdx = idx;\n }\n }\n\n // Find all visible faces from this point\n const visibleFaces: HullFace[] = [];\n for (const face of faces) {\n if (face.alive && signedDist(face, at(points, furthestIdx)) > epsilon) {\n visibleFaces.push(face);\n }\n }\n\n // Find horizon edges (edges shared by exactly one visible face)\n const edgeCount = new Map<string, { a: number; b: number; count: number }>();\n for (const face of visibleFaces) {\n const edges: [number, number][] = [\n [face.a, face.b],\n [face.b, face.c],\n [face.c, face.a],\n ];\n for (const [ea, eb] of edges) {\n const key = ea < eb ? `${ea}-${eb}` : `${eb}-${ea}`;\n const entry = edgeCount.get(key);\n if (entry) {\n entry.count++;\n } else {\n // Store in the order from the visible face\n edgeCount.set(key, { a: ea, b: eb, count: 1 });\n }\n }\n }\n\n const horizonEdges: Array<{ a: number; b: number }> = [];\n for (const entry of edgeCount.values()) {\n if (entry.count === 1) {\n // Keep edge in same direction as the visible face; makeFace with apex\n // produces outward normal by winding convention\n horizonEdges.push({ a: entry.a, b: entry.b });\n }\n }\n\n // Collect orphaned outside points from visible faces\n const orphanedPoints: number[] = [];\n for (const face of visibleFaces) {\n for (const idx of face.outsidePoints) {\n if (idx !== furthestIdx) {\n orphanedPoints.push(idx);\n }\n }\n face.alive = false;\n face.outsidePoints = [];\n }\n\n // Create new faces from horizon edges to the furthest point\n const newFaces: HullFace[] = [];\n for (const edge of horizonEdges) {\n const newFaceObj = makeFace(points, edge.a, edge.b, furthestIdx);\n newFaces.push(newFaceObj);\n faces.push(newFaceObj);\n }\n\n // Reassign orphaned points to new faces\n for (const idx of orphanedPoints) {\n for (const face of newFaces) {\n if (signedDist(face, at(points, idx)) > epsilon) {\n face.outsidePoints.push(idx);\n break;\n }\n }\n }\n }\n\n // Collect alive faces\n const resultFaces: Array<readonly [number, number, number]> = [];\n for (const face of faces) {\n if (face.alive) {\n resultFaces.push([face.a, face.b, face.c] as const);\n }\n }\n\n return { faces: resultFaces, points };\n}\n"]}