@faicad/faijs 0.30.9 → 0.32.2

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 (1707) hide show
  1. package/dist/api/align/index.d.ts +64 -0
  2. package/dist/api/align/index.d.ts.map +1 -0
  3. package/dist/api/align/index.js +101 -0
  4. package/dist/api/align/index.js.map +1 -0
  5. package/dist/api/api-namespace.d.ts +5 -4
  6. package/dist/api/api-namespace.d.ts.map +1 -1
  7. package/dist/api/api-namespace.js +45 -7
  8. package/dist/api/api-namespace.js.map +1 -1
  9. package/dist/api/boolean-op/index.d.ts +65 -0
  10. package/dist/api/boolean-op/index.d.ts.map +1 -0
  11. package/dist/api/boolean-op/index.js +114 -0
  12. package/dist/api/boolean-op/index.js.map +1 -0
  13. package/dist/api/boolean.d.ts.map +1 -1
  14. package/dist/api/boolean.js +19 -27
  15. package/dist/api/boolean.js.map +1 -1
  16. package/dist/api/brep-operations/healingFns.d.ts +13 -0
  17. package/dist/api/brep-operations/healingFns.d.ts.map +1 -1
  18. package/dist/api/brep-operations/healingFns.js +28 -1
  19. package/dist/api/brep-operations/healingFns.js.map +1 -1
  20. package/dist/api/brep-operations/joinery-brep.js +10 -10
  21. package/dist/api/brep-operations/joinery-brep.js.map +1 -1
  22. package/dist/api/brep-operations/topologyFns.d.ts +27 -6
  23. package/dist/api/brep-operations/topologyFns.d.ts.map +1 -1
  24. package/dist/api/brep-operations/topologyFns.js +46 -22
  25. package/dist/api/brep-operations/topologyFns.js.map +1 -1
  26. package/dist/api/chamfer.d.ts +5 -4
  27. package/dist/api/chamfer.d.ts.map +1 -1
  28. package/dist/api/chamfer.js +13 -11
  29. package/dist/api/chamfer.js.map +1 -1
  30. package/dist/api/curve-sketch/index.d.ts.map +1 -1
  31. package/dist/api/curve-sketch/index.js +12 -3
  32. package/dist/api/curve-sketch/index.js.map +1 -1
  33. package/dist/api/draft.js +2 -3
  34. package/dist/api/draft.js.map +1 -1
  35. package/dist/api/engrave.d.ts.map +1 -1
  36. package/dist/api/engrave.js +4 -13
  37. package/dist/api/engrave.js.map +1 -1
  38. package/dist/api/export-3mf.d.ts +73 -0
  39. package/dist/api/export-3mf.d.ts.map +1 -0
  40. package/dist/api/export-3mf.js +121 -0
  41. package/dist/api/export-3mf.js.map +1 -0
  42. package/dist/api/export-brep.d.ts +6 -0
  43. package/dist/api/export-brep.d.ts.map +1 -1
  44. package/dist/api/export-brep.js +11 -2
  45. package/dist/api/export-brep.js.map +1 -1
  46. package/dist/api/export-step.d.ts +67 -0
  47. package/dist/api/export-step.d.ts.map +1 -0
  48. package/dist/api/export-step.js +98 -0
  49. package/dist/api/export-step.js.map +1 -0
  50. package/dist/api/export-stl.d.ts +8 -0
  51. package/dist/api/export-stl.d.ts.map +1 -1
  52. package/dist/api/export-stl.js +23 -8
  53. package/dist/api/export-stl.js.map +1 -1
  54. package/dist/api/extrude.d.ts.map +1 -1
  55. package/dist/api/extrude.js +18 -17
  56. package/dist/api/extrude.js.map +1 -1
  57. package/dist/api/feature-repair.d.ts +1 -1
  58. package/dist/api/feature-repair.d.ts.map +1 -1
  59. package/dist/api/feature-repair.js +7 -7
  60. package/dist/api/feature-repair.js.map +1 -1
  61. package/dist/api/fillet-variable.d.ts.map +1 -1
  62. package/dist/api/fillet-variable.js +1 -1
  63. package/dist/api/fillet-variable.js.map +1 -1
  64. package/dist/api/fillet.d.ts +3 -3
  65. package/dist/api/fillet.d.ts.map +1 -1
  66. package/dist/api/fillet.js +4 -4
  67. package/dist/api/fillet.js.map +1 -1
  68. package/dist/api/generated/operations.js +16 -16
  69. package/dist/api/generated/operations.js.map +1 -1
  70. package/dist/api/generated/script-face-manifest.d.ts +1 -1
  71. package/dist/api/generated/script-face-manifest.js +3 -3
  72. package/dist/api/generated/script-face-manifest.js.map +1 -1
  73. package/dist/api/generated/script-face.d.ts +1 -1
  74. package/dist/api/generated/script-face.js +1 -1
  75. package/dist/api/generated/script-face.js.map +1 -1
  76. package/dist/api/generated/sketching.js +1 -1
  77. package/dist/api/generated/sketching.js.map +1 -1
  78. package/dist/api/generated/topology.js +18 -18
  79. package/dist/api/generated/topology.js.map +1 -1
  80. package/dist/api/helix.d.ts +1 -1
  81. package/dist/api/helix.d.ts.map +1 -1
  82. package/dist/api/helix.js +2 -1
  83. package/dist/api/helix.js.map +1 -1
  84. package/dist/api/import-brep.d.ts.map +1 -1
  85. package/dist/api/import-brep.js +1 -0
  86. package/dist/api/import-brep.js.map +1 -1
  87. package/dist/api/import-step.d.ts.map +1 -1
  88. package/dist/api/import-step.js +1 -0
  89. package/dist/api/import-step.js.map +1 -1
  90. package/dist/api/index.d.ts +9 -3
  91. package/dist/api/index.d.ts.map +1 -1
  92. package/dist/api/index.js +19 -4
  93. package/dist/api/index.js.map +1 -1
  94. package/dist/api/internal/compat-op.d.ts +6 -6
  95. package/dist/api/internal/compat-op.d.ts.map +1 -1
  96. package/dist/api/internal/compat-op.js +7 -9
  97. package/dist/api/internal/compat-op.js.map +1 -1
  98. package/dist/api/internal/export-members.d.ts +80 -0
  99. package/dist/api/internal/export-members.d.ts.map +1 -0
  100. package/dist/api/internal/export-members.js +104 -0
  101. package/dist/api/internal/export-members.js.map +1 -0
  102. package/dist/api/internal/l3-bridge.d.ts +17 -0
  103. package/dist/api/internal/l3-bridge.d.ts.map +1 -1
  104. package/dist/api/internal/l3-bridge.js +23 -1
  105. package/dist/api/internal/l3-bridge.js.map +1 -1
  106. package/dist/api/loft-advanced.d.ts +66 -0
  107. package/dist/api/loft-advanced.d.ts.map +1 -0
  108. package/dist/api/loft-advanced.js +112 -0
  109. package/dist/api/loft-advanced.js.map +1 -0
  110. package/dist/api/loft.d.ts +16 -23
  111. package/dist/api/loft.d.ts.map +1 -1
  112. package/dist/api/loft.js +22 -40
  113. package/dist/api/loft.js.map +1 -1
  114. package/dist/api/measure-query/index.d.ts +262 -0
  115. package/dist/api/measure-query/index.d.ts.map +1 -0
  116. package/dist/api/measure-query/index.js +392 -0
  117. package/dist/api/measure-query/index.js.map +1 -0
  118. package/dist/api/pattern.d.ts.map +1 -1
  119. package/dist/api/pattern.js +1 -3
  120. package/dist/api/pattern.js.map +1 -1
  121. package/dist/api/place.d.ts.map +1 -1
  122. package/dist/api/place.js +1 -0
  123. package/dist/api/place.js.map +1 -1
  124. package/dist/api/primitives.d.ts +6 -6
  125. package/dist/api/primitives.d.ts.map +1 -1
  126. package/dist/api/primitives.js +12 -11
  127. package/dist/api/primitives.js.map +1 -1
  128. package/dist/api/profile.d.ts.map +1 -1
  129. package/dist/api/profile.js +1 -1
  130. package/dist/api/profile.js.map +1 -1
  131. package/dist/api/punch-hole.d.ts.map +1 -1
  132. package/dist/api/punch-hole.js +1 -1
  133. package/dist/api/punch-hole.js.map +1 -1
  134. package/dist/api/replicate.d.ts +5 -7
  135. package/dist/api/replicate.d.ts.map +1 -1
  136. package/dist/api/replicate.js +24 -56
  137. package/dist/api/replicate.js.map +1 -1
  138. package/dist/api/revolve.d.ts.map +1 -1
  139. package/dist/api/revolve.js +1 -0
  140. package/dist/api/revolve.js.map +1 -1
  141. package/dist/api/screw.d.ts.map +1 -1
  142. package/dist/api/screw.js +1 -0
  143. package/dist/api/screw.js.map +1 -1
  144. package/dist/api/sdf.d.ts.map +1 -1
  145. package/dist/api/sdf.js +1 -0
  146. package/dist/api/sdf.js.map +1 -1
  147. package/dist/api/section-by-plane.d.ts.map +1 -1
  148. package/dist/api/section-by-plane.js +0 -1
  149. package/dist/api/section-by-plane.js.map +1 -1
  150. package/dist/api/shell.d.ts +1 -1
  151. package/dist/api/shell.d.ts.map +1 -1
  152. package/dist/api/shell.js +12 -2
  153. package/dist/api/shell.js.map +1 -1
  154. package/dist/api/sketch-on-face.d.ts +34 -30
  155. package/dist/api/sketch-on-face.d.ts.map +1 -1
  156. package/dist/api/sketch-on-face.js +40 -28
  157. package/dist/api/sketch-on-face.js.map +1 -1
  158. package/dist/api/sketch-on-plane.d.ts.map +1 -1
  159. package/dist/api/sketch-on-plane.js +1 -1
  160. package/dist/api/sketch-on-plane.js.map +1 -1
  161. package/dist/api/sketch-on-surface.d.ts +76 -0
  162. package/dist/api/sketch-on-surface.d.ts.map +1 -0
  163. package/dist/api/sketch-on-surface.js +99 -0
  164. package/dist/api/sketch-on-surface.js.map +1 -0
  165. package/dist/api/solid-offset/index.d.ts.map +1 -1
  166. package/dist/api/solid-offset/index.js +1 -0
  167. package/dist/api/solid-offset/index.js.map +1 -1
  168. package/dist/api/split-by-plane.d.ts.map +1 -1
  169. package/dist/api/split-by-plane.js +0 -1
  170. package/dist/api/split-by-plane.js.map +1 -1
  171. package/dist/api/split.d.ts +1 -1
  172. package/dist/api/split.d.ts.map +1 -1
  173. package/dist/api/split.js +2 -1
  174. package/dist/api/split.js.map +1 -1
  175. package/dist/api/surface/arg-spec.d.ts +8 -16
  176. package/dist/api/surface/arg-spec.d.ts.map +1 -1
  177. package/dist/api/surface/arg-spec.js +21 -28
  178. package/dist/api/surface/arg-spec.js.map +1 -1
  179. package/dist/api/surface-face/index.d.ts.map +1 -1
  180. package/dist/api/surface-face/index.js +5 -0
  181. package/dist/api/surface-face/index.js.map +1 -1
  182. package/dist/api/surface.d.ts.map +1 -1
  183. package/dist/api/surface.js +1 -0
  184. package/dist/api/surface.js.map +1 -1
  185. package/dist/api/sweep-advanced.d.ts +117 -0
  186. package/dist/api/sweep-advanced.d.ts.map +1 -0
  187. package/dist/api/sweep-advanced.js +94 -0
  188. package/dist/api/sweep-advanced.js.map +1 -0
  189. package/dist/api/sweep.d.ts +18 -76
  190. package/dist/api/sweep.d.ts.map +1 -1
  191. package/dist/api/sweep.js +27 -28
  192. package/dist/api/sweep.js.map +1 -1
  193. package/dist/api/thicken.d.ts.map +1 -1
  194. package/dist/api/thicken.js +12 -2
  195. package/dist/api/thicken.js.map +1 -1
  196. package/dist/api/transform.d.ts +3 -3
  197. package/dist/api/transform.d.ts.map +1 -1
  198. package/dist/api/transform.js +49 -17
  199. package/dist/api/transform.js.map +1 -1
  200. package/dist/api/wire.d.ts.map +1 -1
  201. package/dist/api/wire.js +1 -0
  202. package/dist/api/wire.js.map +1 -1
  203. package/dist/boolean/cross-section.d.ts +7 -6
  204. package/dist/boolean/cross-section.d.ts.map +1 -1
  205. package/dist/boolean/cross-section.js +38 -27
  206. package/dist/boolean/cross-section.js.map +1 -1
  207. package/dist/boolean/deriveNormals.d.ts +5 -5
  208. package/dist/boolean/deriveNormals.d.ts.map +1 -1
  209. package/dist/boolean/deriveNormals.js +18 -18
  210. package/dist/boolean/deriveNormals.js.map +1 -1
  211. package/dist/boolean/extrude-helpers.d.ts +6 -6
  212. package/dist/boolean/extrude-helpers.d.ts.map +1 -1
  213. package/dist/boolean/extrude-helpers.js +6 -6
  214. package/dist/boolean/extrude-helpers.js.map +1 -1
  215. package/dist/boolean/geo-convert.d.ts +11 -8
  216. package/dist/boolean/geo-convert.d.ts.map +1 -1
  217. package/dist/boolean/geo-convert.js +17 -73
  218. package/dist/boolean/geo-convert.js.map +1 -1
  219. package/dist/boolean/index.d.ts +23 -0
  220. package/dist/boolean/index.d.ts.map +1 -0
  221. package/dist/boolean/index.js +27 -0
  222. package/dist/boolean/index.js.map +1 -0
  223. package/dist/brep/brep-chain.d.ts +1 -19
  224. package/dist/brep/brep-chain.d.ts.map +1 -1
  225. package/dist/brep/brep-chain.js +0 -1
  226. package/dist/brep/brep-chain.js.map +1 -1
  227. package/dist/brep/brep-ops.d.ts +9 -6
  228. package/dist/brep/brep-ops.d.ts.map +1 -1
  229. package/dist/brep/brep-ops.js +51 -47
  230. package/dist/brep/brep-ops.js.map +1 -1
  231. package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -1
  232. package/dist/brep/engine/adapters/brep-mock.js +24 -3
  233. package/dist/brep/engine/adapters/brep-mock.js.map +1 -1
  234. package/dist/brep/engine/adapters/brepkit.d.ts +4 -3
  235. package/dist/brep/engine/adapters/brepkit.d.ts.map +1 -1
  236. package/dist/brep/engine/adapters/brepkit.js +4 -98
  237. package/dist/brep/engine/adapters/brepkit.js.map +1 -1
  238. package/dist/brep/engine/adapters/occt.d.ts.map +1 -1
  239. package/dist/brep/engine/adapters/occt.js +0 -144
  240. package/dist/brep/engine/adapters/occt.js.map +1 -1
  241. package/dist/brep/engine/native-history.d.ts +27 -0
  242. package/dist/brep/engine/native-history.d.ts.map +1 -0
  243. package/dist/brep/engine/native-history.js +54 -0
  244. package/dist/brep/engine/native-history.js.map +1 -0
  245. package/dist/brep/engine/primitives.d.ts +30 -0
  246. package/dist/brep/engine/primitives.d.ts.map +1 -1
  247. package/dist/brep/engine/primitives.js.map +1 -1
  248. package/dist/brep/engine/registry.d.ts +2 -4
  249. package/dist/brep/engine/registry.d.ts.map +1 -1
  250. package/dist/brep/engine/registry.js +1 -1
  251. package/dist/brep/engine/registry.js.map +1 -1
  252. package/dist/brep/engine/types.d.ts +35 -77
  253. package/dist/brep/engine/types.d.ts.map +1 -1
  254. package/dist/brep/engine/types.js.map +1 -1
  255. package/dist/brep/export/export-model.d.ts +21 -0
  256. package/dist/brep/export/export-model.d.ts.map +1 -1
  257. package/dist/brep/export/export-model.js +171 -73
  258. package/dist/brep/export/export-model.js.map +1 -1
  259. package/dist/brep/export/step.d.ts +17 -1
  260. package/dist/brep/export/step.d.ts.map +1 -1
  261. package/dist/brep/export/step.js +133 -0
  262. package/dist/brep/export/step.js.map +1 -1
  263. package/dist/brep/export/stl.d.ts +22 -1
  264. package/dist/brep/export/stl.d.ts.map +1 -1
  265. package/dist/brep/export/stl.js +58 -10
  266. package/dist/brep/export/stl.js.map +1 -1
  267. package/dist/brep/export/transform12.d.ts +47 -0
  268. package/dist/brep/export/transform12.d.ts.map +1 -0
  269. package/dist/brep/export/transform12.js +87 -0
  270. package/dist/brep/export/transform12.js.map +1 -0
  271. package/dist/brep/face-evolution.d.ts +53 -0
  272. package/dist/brep/face-evolution.d.ts.map +1 -1
  273. package/dist/brep/face-evolution.js +65 -0
  274. package/dist/brep/face-evolution.js.map +1 -1
  275. package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -1
  276. package/dist/brepkit-kernel/brepkitKernel.js +138 -0
  277. package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
  278. package/dist/browser-host/index.d.ts +4 -1
  279. package/dist/browser-host/index.d.ts.map +1 -1
  280. package/dist/browser-host/index.js +7 -1
  281. package/dist/browser-host/index.js.map +1 -1
  282. package/dist/browser.d.ts +4 -8
  283. package/dist/browser.d.ts.map +1 -1
  284. package/dist/browser.js +4 -26
  285. package/dist/browser.js.map +1 -1
  286. package/dist/cad-runtime/backend-dispatch.d.ts +13 -58
  287. package/dist/cad-runtime/backend-dispatch.d.ts.map +1 -1
  288. package/dist/cad-runtime/backend-dispatch.js +22 -80
  289. package/dist/cad-runtime/backend-dispatch.js.map +1 -1
  290. package/dist/cad-runtime/content-key.d.ts +3 -3
  291. package/dist/cad-runtime/content-key.js +3 -3
  292. package/dist/cad-runtime/content-key.js.map +1 -1
  293. package/dist/cad-runtime/ports.d.ts +28 -0
  294. package/dist/cad-runtime/ports.d.ts.map +1 -1
  295. package/dist/cad-runtime/ports.js.map +1 -1
  296. package/dist/cad-runtime/runtime.d.ts +33 -12
  297. package/dist/cad-runtime/runtime.d.ts.map +1 -1
  298. package/dist/cad-runtime/runtime.js +49 -50
  299. package/dist/cad-runtime/runtime.js.map +1 -1
  300. package/dist/define-op.d.ts +22 -18
  301. package/dist/define-op.d.ts.map +1 -1
  302. package/dist/define-op.js +5 -20
  303. package/dist/define-op.js.map +1 -1
  304. package/dist/env-agnostic.d.ts +2 -2
  305. package/dist/env-agnostic.d.ts.map +1 -1
  306. package/dist/env-agnostic.js +1 -1
  307. package/dist/env-agnostic.js.map +1 -1
  308. package/dist/index.d.ts +14 -64
  309. package/dist/index.d.ts.map +1 -1
  310. package/dist/index.js +17 -75
  311. package/dist/index.js.map +1 -1
  312. package/dist/lang/codegen.d.ts +14 -3
  313. package/dist/lang/codegen.d.ts.map +1 -1
  314. package/dist/lang/codegen.js +80 -5
  315. package/dist/lang/codegen.js.map +1 -1
  316. package/dist/lang/metadata-extractor.d.ts +10 -3
  317. package/dist/lang/metadata-extractor.d.ts.map +1 -1
  318. package/dist/lang/metadata-extractor.js +160 -65
  319. package/dist/lang/metadata-extractor.js.map +1 -1
  320. package/dist/lang/symbol-table.generated.d.ts +20 -0
  321. package/dist/lang/symbol-table.generated.d.ts.map +1 -1
  322. package/dist/lang/symbol-table.generated.js +20 -0
  323. package/dist/lang/symbol-table.generated.js.map +1 -1
  324. package/dist/math3d/Box3.d.ts +86 -0
  325. package/dist/math3d/Box3.d.ts.map +1 -0
  326. package/dist/math3d/Box3.js +149 -0
  327. package/dist/math3d/Box3.js.map +1 -0
  328. package/dist/math3d/Euler.d.ts +64 -0
  329. package/dist/math3d/Euler.d.ts.map +1 -0
  330. package/dist/math3d/Euler.js +94 -0
  331. package/dist/math3d/Euler.js.map +1 -0
  332. package/dist/math3d/Mat4.d.ts +196 -0
  333. package/dist/math3d/Mat4.d.ts.map +1 -0
  334. package/dist/math3d/Mat4.js +518 -0
  335. package/dist/math3d/Mat4.js.map +1 -0
  336. package/dist/math3d/Plane.d.ts +67 -0
  337. package/dist/math3d/Plane.d.ts.map +1 -0
  338. package/dist/math3d/Plane.js +90 -0
  339. package/dist/math3d/Plane.js.map +1 -0
  340. package/dist/math3d/Quat.d.ts +163 -0
  341. package/dist/math3d/Quat.d.ts.map +1 -0
  342. package/dist/math3d/Quat.js +408 -0
  343. package/dist/math3d/Quat.js.map +1 -0
  344. package/dist/math3d/Vec2.d.ts +185 -0
  345. package/dist/math3d/Vec2.d.ts.map +1 -0
  346. package/dist/math3d/Vec2.js +276 -0
  347. package/dist/math3d/Vec2.js.map +1 -0
  348. package/dist/math3d/Vec3.d.ts +326 -0
  349. package/dist/math3d/Vec3.d.ts.map +1 -0
  350. package/dist/math3d/Vec3.js +521 -0
  351. package/dist/math3d/Vec3.js.map +1 -0
  352. package/dist/math3d/index.d.ts +19 -0
  353. package/dist/math3d/index.d.ts.map +1 -0
  354. package/dist/math3d/index.js +19 -0
  355. package/dist/math3d/index.js.map +1 -0
  356. package/dist/mesh/decoration-provider.d.ts +2 -2
  357. package/dist/mesh/decoration-provider.d.ts.map +1 -1
  358. package/dist/mesh/decoration-provider.js.map +1 -1
  359. package/dist/mesh/engrave.d.ts.map +1 -1
  360. package/dist/mesh/engrave.js +36 -37
  361. package/dist/mesh/engrave.js.map +1 -1
  362. package/dist/mesh/index.d.ts +18 -23
  363. package/dist/mesh/index.d.ts.map +1 -1
  364. package/dist/mesh/index.js +18 -20
  365. package/dist/mesh/index.js.map +1 -1
  366. package/dist/mesh/io.d.ts +42 -14
  367. package/dist/mesh/io.d.ts.map +1 -1
  368. package/dist/mesh/io.js +83 -20
  369. package/dist/mesh/io.js.map +1 -1
  370. package/dist/mesh/knurl/KnurlGenerator.d.ts +8 -7
  371. package/dist/mesh/knurl/KnurlGenerator.d.ts.map +1 -1
  372. package/dist/mesh/knurl/KnurlGenerator.js +9 -9
  373. package/dist/mesh/knurl/KnurlGenerator.js.map +1 -1
  374. package/dist/mesh/knurl/displacement.d.ts +7 -6
  375. package/dist/mesh/knurl/displacement.d.ts.map +1 -1
  376. package/dist/mesh/knurl/displacement.js +29 -29
  377. package/dist/mesh/knurl/displacement.js.map +1 -1
  378. package/dist/mesh/knurl/subdivision.d.ts +3 -3
  379. package/dist/mesh/knurl/subdivision.d.ts.map +1 -1
  380. package/dist/mesh/knurl/subdivision.js +21 -15
  381. package/dist/mesh/knurl/subdivision.js.map +1 -1
  382. package/dist/mesh/knurl/textureLoader.d.ts +3 -3
  383. package/dist/mesh/knurl/textureLoader.d.ts.map +1 -1
  384. package/dist/mesh/knurl/textureLoader.js.map +1 -1
  385. package/dist/mesh/meshdata/index.d.ts +12 -0
  386. package/dist/mesh/meshdata/index.d.ts.map +1 -0
  387. package/dist/mesh/meshdata/index.js +12 -0
  388. package/dist/mesh/meshdata/index.js.map +1 -0
  389. package/dist/mesh/meshdata/ops.d.ts +62 -0
  390. package/dist/mesh/meshdata/ops.d.ts.map +1 -0
  391. package/dist/mesh/meshdata/ops.js +160 -0
  392. package/dist/mesh/meshdata/ops.js.map +1 -0
  393. package/dist/mesh/meshdata/parametric.d.ts +70 -0
  394. package/dist/mesh/meshdata/parametric.d.ts.map +1 -0
  395. package/dist/mesh/meshdata/parametric.js +213 -0
  396. package/dist/mesh/meshdata/parametric.js.map +1 -0
  397. package/dist/mesh/meshdata/weld.d.ts +21 -0
  398. package/dist/mesh/meshdata/weld.d.ts.map +1 -0
  399. package/dist/mesh/meshdata/weld.js +50 -0
  400. package/dist/mesh/meshdata/weld.js.map +1 -0
  401. package/dist/mesh/primitives.d.ts +1 -1
  402. package/dist/mesh/primitives.d.ts.map +1 -1
  403. package/dist/mesh/primitives.js +38 -39
  404. package/dist/mesh/primitives.js.map +1 -1
  405. package/dist/mesh/query.js +11 -11
  406. package/dist/mesh/query.js.map +1 -1
  407. package/dist/mesh/stl-loader.d.ts +7 -7
  408. package/dist/mesh/stl-loader.d.ts.map +1 -1
  409. package/dist/mesh/stl-loader.js +12 -24
  410. package/dist/mesh/stl-loader.js.map +1 -1
  411. package/dist/mesh/threemf-loader.d.ts +38 -4
  412. package/dist/mesh/threemf-loader.d.ts.map +1 -1
  413. package/dist/mesh/threemf-loader.js +115 -34
  414. package/dist/mesh/threemf-loader.js.map +1 -1
  415. package/dist/mesh/threemf-view.d.ts +11 -11
  416. package/dist/mesh/threemf-view.d.ts.map +1 -1
  417. package/dist/mesh/threemf-view.js +10 -10
  418. package/dist/mesh/threemf-view.js.map +1 -1
  419. package/dist/mesh/transform.d.ts +14 -8
  420. package/dist/mesh/transform.d.ts.map +1 -1
  421. package/dist/mesh/transform.js +18 -13
  422. package/dist/mesh/transform.js.map +1 -1
  423. package/dist/mesh/types.d.ts +32 -0
  424. package/dist/mesh/types.d.ts.map +1 -1
  425. package/dist/mesh/types.js.map +1 -1
  426. package/dist/node-host/execute-script.d.ts +2 -1
  427. package/dist/node-host/execute-script.d.ts.map +1 -1
  428. package/dist/node-host/execute-script.js +5 -4
  429. package/dist/node-host/execute-script.js.map +1 -1
  430. package/dist/node-host/index.d.ts +1 -0
  431. package/dist/node-host/index.d.ts.map +1 -1
  432. package/dist/node-host/index.js +4 -0
  433. package/dist/node-host/index.js.map +1 -1
  434. package/dist/occt-kernel/occt-primitives.d.ts.map +1 -1
  435. package/dist/occt-kernel/occt-primitives.js +20 -0
  436. package/dist/occt-kernel/occt-primitives.js.map +1 -1
  437. package/dist/primitives/brep-primitives.d.ts +8 -12
  438. package/dist/primitives/brep-primitives.d.ts.map +1 -1
  439. package/dist/primitives/brep-primitives.js +10 -28
  440. package/dist/primitives/brep-primitives.js.map +1 -1
  441. package/dist/primitives/index.d.ts +19 -0
  442. package/dist/primitives/index.d.ts.map +1 -0
  443. package/dist/primitives/index.js +21 -0
  444. package/dist/primitives/index.js.map +1 -0
  445. package/dist/primitives/mesh-primitives.d.ts +10 -10
  446. package/dist/primitives/mesh-primitives.d.ts.map +1 -1
  447. package/dist/primitives/mesh-primitives.js +29 -76
  448. package/dist/primitives/mesh-primitives.js.map +1 -1
  449. package/dist/primitives/screw/screw.d.ts +3 -3
  450. package/dist/primitives/screw/screw.d.ts.map +1 -1
  451. package/dist/primitives/screw/screw.js +10 -9
  452. package/dist/primitives/screw/screw.js.map +1 -1
  453. package/dist/runtime-state.d.ts +63 -29
  454. package/dist/runtime-state.d.ts.map +1 -1
  455. package/dist/runtime-state.js +57 -0
  456. package/dist/runtime-state.js.map +1 -1
  457. package/dist/sdf/index.d.ts +12 -0
  458. package/dist/sdf/index.d.ts.map +1 -0
  459. package/dist/sdf/index.js +13 -0
  460. package/dist/sdf/index.js.map +1 -0
  461. package/dist/sdk.d.ts +0 -1
  462. package/dist/sdk.d.ts.map +1 -1
  463. package/dist/sdk.js.map +1 -1
  464. package/dist/units.d.ts +40 -0
  465. package/dist/units.d.ts.map +1 -1
  466. package/dist/units.js.map +1 -1
  467. package/dist/weapp.d.ts +2 -2
  468. package/dist/weapp.d.ts.map +1 -1
  469. package/dist/weapp.js +1 -1
  470. package/dist/weapp.js.map +1 -1
  471. package/package.json +277 -38
  472. package/dist/api/brep-mirror/booleanFns.d.ts +0 -40
  473. package/dist/api/brep-mirror/booleanFns.d.ts.map +0 -1
  474. package/dist/api/brep-mirror/booleanFns.js +0 -104
  475. package/dist/api/brep-mirror/booleanFns.js.map +0 -1
  476. package/dist/api/brep-mirror/brepHelpers.d.ts +0 -55
  477. package/dist/api/brep-mirror/brepHelpers.d.ts.map +0 -1
  478. package/dist/api/brep-mirror/brepHelpers.js +0 -131
  479. package/dist/api/brep-mirror/brepHelpers.js.map +0 -1
  480. package/dist/api/brep-mirror/compoundFns.d.ts +0 -47
  481. package/dist/api/brep-mirror/compoundFns.d.ts.map +0 -1
  482. package/dist/api/brep-mirror/compoundFns.js +0 -300
  483. package/dist/api/brep-mirror/compoundFns.js.map +0 -1
  484. package/dist/api/brep-mirror/healingFns.d.ts +0 -78
  485. package/dist/api/brep-mirror/healingFns.d.ts.map +0 -1
  486. package/dist/api/brep-mirror/healingFns.js +0 -294
  487. package/dist/api/brep-mirror/healingFns.js.map +0 -1
  488. package/dist/api/brep-mirror/hullFns.d.ts +0 -20
  489. package/dist/api/brep-mirror/hullFns.d.ts.map +0 -1
  490. package/dist/api/brep-mirror/hullFns.js +0 -46
  491. package/dist/api/brep-mirror/hullFns.js.map +0 -1
  492. package/dist/api/brep-mirror/joinery-brep.d.ts +0 -172
  493. package/dist/api/brep-mirror/joinery-brep.d.ts.map +0 -1
  494. package/dist/api/brep-mirror/joinery-brep.js +0 -463
  495. package/dist/api/brep-mirror/joinery-brep.js.map +0 -1
  496. package/dist/api/brep-mirror/patternFns.d.ts +0 -43
  497. package/dist/api/brep-mirror/patternFns.d.ts.map +0 -1
  498. package/dist/api/brep-mirror/patternFns.js +0 -178
  499. package/dist/api/brep-mirror/patternFns.js.map +0 -1
  500. package/dist/api/brep-mirror/primitiveFns.d.ts +0 -42
  501. package/dist/api/brep-mirror/primitiveFns.d.ts.map +0 -1
  502. package/dist/api/brep-mirror/primitiveFns.js +0 -104
  503. package/dist/api/brep-mirror/primitiveFns.js.map +0 -1
  504. package/dist/api/brep-mirror/roofFns.d.ts +0 -24
  505. package/dist/api/brep-mirror/roofFns.d.ts.map +0 -1
  506. package/dist/api/brep-mirror/roofFns.js +0 -229
  507. package/dist/api/brep-mirror/roofFns.js.map +0 -1
  508. package/dist/api/brep-mirror/straightSkeleton.d.ts +0 -36
  509. package/dist/api/brep-mirror/straightSkeleton.d.ts.map +0 -1
  510. package/dist/api/brep-mirror/straightSkeleton.js +0 -443
  511. package/dist/api/brep-mirror/straightSkeleton.js.map +0 -1
  512. package/dist/api/brep-mirror/sweepFns.d.ts +0 -55
  513. package/dist/api/brep-mirror/sweepFns.d.ts.map +0 -1
  514. package/dist/api/brep-mirror/sweepFns.js +0 -200
  515. package/dist/api/brep-mirror/sweepFns.js.map +0 -1
  516. package/dist/api/brep-mirror/threadFns.d.ts +0 -83
  517. package/dist/api/brep-mirror/threadFns.d.ts.map +0 -1
  518. package/dist/api/brep-mirror/threadFns.js +0 -138
  519. package/dist/api/brep-mirror/threadFns.js.map +0 -1
  520. package/dist/api/brep-mirror/topologyFns.d.ts +0 -74
  521. package/dist/api/brep-mirror/topologyFns.d.ts.map +0 -1
  522. package/dist/api/brep-mirror/topologyFns.js +0 -276
  523. package/dist/api/brep-mirror/topologyFns.js.map +0 -1
  524. package/dist/api/brepjs-compat/constants.d.ts +0 -11
  525. package/dist/api/brepjs-compat/constants.d.ts.map +0 -1
  526. package/dist/api/brepjs-compat/constants.js +0 -11
  527. package/dist/api/brepjs-compat/constants.js.map +0 -1
  528. package/dist/api/brepjs-compat/index.d.ts +0 -21
  529. package/dist/api/brepjs-compat/index.d.ts.map +0 -1
  530. package/dist/api/brepjs-compat/index.js +0 -22
  531. package/dist/api/brepjs-compat/index.js.map +0 -1
  532. package/dist/api/brepjs-compat/planeOps.d.ts +0 -98
  533. package/dist/api/brepjs-compat/planeOps.d.ts.map +0 -1
  534. package/dist/api/brepjs-compat/planeOps.js +0 -170
  535. package/dist/api/brepjs-compat/planeOps.js.map +0 -1
  536. package/dist/api/brepjs-compat/planeTypes.d.ts +0 -24
  537. package/dist/api/brepjs-compat/planeTypes.d.ts.map +0 -1
  538. package/dist/api/brepjs-compat/planeTypes.js +0 -8
  539. package/dist/api/brepjs-compat/planeTypes.js.map +0 -1
  540. package/dist/api/brepjs-compat/types.d.ts +0 -64
  541. package/dist/api/brepjs-compat/types.d.ts.map +0 -1
  542. package/dist/api/brepjs-compat/types.js +0 -48
  543. package/dist/api/brepjs-compat/types.js.map +0 -1
  544. package/dist/api/brepjs-compat/vecOps.d.ts +0 -124
  545. package/dist/api/brepjs-compat/vecOps.d.ts.map +0 -1
  546. package/dist/api/brepjs-compat/vecOps.js +0 -202
  547. package/dist/api/brepjs-compat/vecOps.js.map +0 -1
  548. package/dist/api/generated/brepjs/index.d.ts +0 -310
  549. package/dist/api/generated/brepjs/index.d.ts.map +0 -1
  550. package/dist/api/generated/brepjs/index.js +0 -195
  551. package/dist/api/generated/brepjs/index.js.map +0 -1
  552. package/dist/api/generated/cad/script-face.d.ts +0 -12
  553. package/dist/api/generated/cad/script-face.d.ts.map +0 -1
  554. package/dist/api/generated/cad/script-face.js +0 -146
  555. package/dist/api/generated/cad/script-face.js.map +0 -1
  556. package/dist/api/internal/compat-projection.d.ts +0 -55
  557. package/dist/api/internal/compat-projection.d.ts.map +0 -1
  558. package/dist/api/internal/compat-projection.js +0 -75
  559. package/dist/api/internal/compat-projection.js.map +0 -1
  560. package/dist/api/occt-kernel-bridge.d.ts +0 -118
  561. package/dist/api/occt-kernel-bridge.d.ts.map +0 -1
  562. package/dist/api/occt-kernel-bridge.js +0 -283
  563. package/dist/api/occt-kernel-bridge.js.map +0 -1
  564. package/dist/api/sketch.d.ts +0 -80
  565. package/dist/api/sketch.d.ts.map +0 -1
  566. package/dist/api/sketch.js +0 -155
  567. package/dist/api/sketch.js.map +0 -1
  568. package/dist/api/surface/projection-overrides.d.ts +0 -38
  569. package/dist/api/surface/projection-overrides.d.ts.map +0 -1
  570. package/dist/api/surface/projection-overrides.js +0 -169
  571. package/dist/api/surface/projection-overrides.js.map +0 -1
  572. package/dist/brepjs-compat.d.ts +0 -20
  573. package/dist/brepjs-compat.d.ts.map +0 -1
  574. package/dist/brepjs-compat.js +0 -20
  575. package/dist/brepjs-compat.js.map +0 -1
  576. package/dist/cad-runtime/createRuntimeWithCad.d.ts +0 -22
  577. package/dist/cad-runtime/createRuntimeWithCad.d.ts.map +0 -1
  578. package/dist/cad-runtime/createRuntimeWithCad.js +0 -29
  579. package/dist/cad-runtime/createRuntimeWithCad.js.map +0 -1
  580. package/dist/fcstd/attachment.d.ts +0 -72
  581. package/dist/fcstd/attachment.d.ts.map +0 -1
  582. package/dist/fcstd/attachment.js +0 -93
  583. package/dist/fcstd/attachment.js.map +0 -1
  584. package/dist/fcstd/build-fai-zip.d.ts +0 -40
  585. package/dist/fcstd/build-fai-zip.d.ts.map +0 -1
  586. package/dist/fcstd/build-fai-zip.js +0 -111
  587. package/dist/fcstd/build-fai-zip.js.map +0 -1
  588. package/dist/fcstd/cli.d.ts +0 -3
  589. package/dist/fcstd/cli.d.ts.map +0 -1
  590. package/dist/fcstd/cli.js +0 -37
  591. package/dist/fcstd/cli.js.map +0 -1
  592. package/dist/fcstd/codegen.d.ts +0 -79
  593. package/dist/fcstd/codegen.d.ts.map +0 -1
  594. package/dist/fcstd/codegen.js +0 -605
  595. package/dist/fcstd/codegen.js.map +0 -1
  596. package/dist/fcstd/container.d.ts +0 -75
  597. package/dist/fcstd/container.d.ts.map +0 -1
  598. package/dist/fcstd/container.js +0 -36
  599. package/dist/fcstd/container.js.map +0 -1
  600. package/dist/fcstd/contour.d.ts +0 -43
  601. package/dist/fcstd/contour.d.ts.map +0 -1
  602. package/dist/fcstd/contour.js +0 -96
  603. package/dist/fcstd/contour.js.map +0 -1
  604. package/dist/fcstd/convert.d.ts +0 -63
  605. package/dist/fcstd/convert.d.ts.map +0 -1
  606. package/dist/fcstd/convert.js +0 -274
  607. package/dist/fcstd/convert.js.map +0 -1
  608. package/dist/fcstd/document.d.ts +0 -48
  609. package/dist/fcstd/document.d.ts.map +0 -1
  610. package/dist/fcstd/document.js +0 -140
  611. package/dist/fcstd/document.js.map +0 -1
  612. package/dist/fcstd/expressions.d.ts +0 -74
  613. package/dist/fcstd/expressions.d.ts.map +0 -1
  614. package/dist/fcstd/expressions.js +0 -157
  615. package/dist/fcstd/expressions.js.map +0 -1
  616. package/dist/fcstd/external-geo.d.ts +0 -49
  617. package/dist/fcstd/external-geo.d.ts.map +0 -1
  618. package/dist/fcstd/external-geo.js +0 -140
  619. package/dist/fcstd/external-geo.js.map +0 -1
  620. package/dist/fcstd/feature-translate.d.ts +0 -189
  621. package/dist/fcstd/feature-translate.d.ts.map +0 -1
  622. package/dist/fcstd/feature-translate.js +0 -968
  623. package/dist/fcstd/feature-translate.js.map +0 -1
  624. package/dist/fcstd/index.d.ts +0 -23
  625. package/dist/fcstd/index.d.ts.map +0 -1
  626. package/dist/fcstd/index.js +0 -19
  627. package/dist/fcstd/index.js.map +0 -1
  628. package/dist/fcstd/placement.d.ts +0 -93
  629. package/dist/fcstd/placement.d.ts.map +0 -1
  630. package/dist/fcstd/placement.js +0 -117
  631. package/dist/fcstd/placement.js.map +0 -1
  632. package/dist/fcstd/planegcs-backend.d.ts +0 -34
  633. package/dist/fcstd/planegcs-backend.d.ts.map +0 -1
  634. package/dist/fcstd/planegcs-backend.js +0 -626
  635. package/dist/fcstd/planegcs-backend.js.map +0 -1
  636. package/dist/fcstd/sketch-parse.d.ts +0 -181
  637. package/dist/fcstd/sketch-parse.d.ts.map +0 -1
  638. package/dist/fcstd/sketch-parse.js +0 -227
  639. package/dist/fcstd/sketch-parse.js.map +0 -1
  640. package/dist/fcstd/sketch-solver.d.ts +0 -63
  641. package/dist/fcstd/sketch-solver.d.ts.map +0 -1
  642. package/dist/fcstd/sketch-solver.js +0 -28
  643. package/dist/fcstd/sketch-solver.js.map +0 -1
  644. package/dist/fcstd/sketch-verify.d.ts +0 -43
  645. package/dist/fcstd/sketch-verify.d.ts.map +0 -1
  646. package/dist/fcstd/sketch-verify.js +0 -62
  647. package/dist/fcstd/sketch-verify.js.map +0 -1
  648. package/dist/fcstd/structural-types.d.ts +0 -83
  649. package/dist/fcstd/structural-types.d.ts.map +0 -1
  650. package/dist/fcstd/structural-types.js +0 -121
  651. package/dist/fcstd/structural-types.js.map +0 -1
  652. package/dist/fcstd/unpack.d.ts +0 -44
  653. package/dist/fcstd/unpack.d.ts.map +0 -1
  654. package/dist/fcstd/unpack.js +0 -64
  655. package/dist/fcstd/unpack.js.map +0 -1
  656. package/dist/fcstd-convert.d.ts +0 -30
  657. package/dist/fcstd-convert.d.ts.map +0 -1
  658. package/dist/fcstd-convert.js +0 -27
  659. package/dist/fcstd-convert.js.map +0 -1
  660. package/dist/mesh/creased-normals.d.ts +0 -50
  661. package/dist/mesh/creased-normals.d.ts.map +0 -1
  662. package/dist/mesh/creased-normals.js +0 -114
  663. package/dist/mesh/creased-normals.js.map +0 -1
  664. package/dist/occt-kernel/generated/occtPlatform.generated.d.ts +0 -260
  665. package/dist/occt-kernel/generated/occtPlatform.generated.d.ts.map +0 -1
  666. package/dist/occt-kernel/generated/occtPlatform.generated.js +0 -875
  667. package/dist/occt-kernel/generated/occtPlatform.generated.js.map +0 -1
  668. package/dist/occt-kernel/stepMetaParser.d.ts +0 -44
  669. package/dist/occt-kernel/stepMetaParser.d.ts.map +0 -1
  670. package/dist/occt-kernel/stepMetaParser.js +0 -166
  671. package/dist/occt-kernel/stepMetaParser.js.map +0 -1
  672. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts +0 -106
  673. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts.map +0 -1
  674. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js +0 -341
  675. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js.map +0 -1
  676. package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts +0 -185
  677. package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts.map +0 -1
  678. package/dist/vendored/brepjs/2d/blueprints/blueprint.js +0 -361
  679. package/dist/vendored/brepjs/2d/blueprints/blueprint.js.map +0 -1
  680. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts +0 -15
  681. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts.map +0 -1
  682. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js +0 -28
  683. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js.map +0 -1
  684. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts +0 -29
  685. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts.map +0 -1
  686. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js +0 -86
  687. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js.map +0 -1
  688. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts +0 -57
  689. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts.map +0 -1
  690. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js +0 -92
  691. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js.map +0 -1
  692. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts +0 -58
  693. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts.map +0 -1
  694. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js +0 -346
  695. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js.map +0 -1
  696. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts +0 -30
  697. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts.map +0 -1
  698. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js +0 -45
  699. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js.map +0 -1
  700. package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts +0 -68
  701. package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts.map +0 -1
  702. package/dist/vendored/brepjs/2d/blueprints/blueprints.js +0 -116
  703. package/dist/vendored/brepjs/2d/blueprints/blueprints.js.map +0 -1
  704. package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts +0 -68
  705. package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts.map +0 -1
  706. package/dist/vendored/brepjs/2d/blueprints/boolean2D.js +0 -362
  707. package/dist/vendored/brepjs/2d/blueprints/boolean2D.js.map +0 -1
  708. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts +0 -34
  709. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts.map +0 -1
  710. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js +0 -176
  711. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js.map +0 -1
  712. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts +0 -55
  713. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts.map +0 -1
  714. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js +0 -110
  715. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js.map +0 -1
  716. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts +0 -41
  717. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts.map +0 -1
  718. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js +0 -90
  719. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js.map +0 -1
  720. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts +0 -85
  721. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts.map +0 -1
  722. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js +0 -136
  723. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js.map +0 -1
  724. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts +0 -48
  725. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts.map +0 -1
  726. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js +0 -154
  727. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js.map +0 -1
  728. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts +0 -342
  729. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts.map +0 -1
  730. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js +0 -32
  731. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js.map +0 -1
  732. package/dist/vendored/brepjs/2d/blueprints/index.d.ts +0 -16
  733. package/dist/vendored/brepjs/2d/blueprints/index.d.ts.map +0 -1
  734. package/dist/vendored/brepjs/2d/blueprints/index.js +0 -13
  735. package/dist/vendored/brepjs/2d/blueprints/index.js.map +0 -1
  736. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts +0 -18
  737. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts.map +0 -1
  738. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js +0 -230
  739. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js.map +0 -1
  740. package/dist/vendored/brepjs/2d/blueprints/lib.d.ts +0 -73
  741. package/dist/vendored/brepjs/2d/blueprints/lib.d.ts.map +0 -1
  742. package/dist/vendored/brepjs/2d/blueprints/lib.js +0 -103
  743. package/dist/vendored/brepjs/2d/blueprints/lib.js.map +0 -1
  744. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts +0 -31
  745. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts.map +0 -1
  746. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js +0 -226
  747. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js.map +0 -1
  748. package/dist/vendored/brepjs/2d/blueprints/svg.d.ts +0 -22
  749. package/dist/vendored/brepjs/2d/blueprints/svg.d.ts.map +0 -1
  750. package/dist/vendored/brepjs/2d/blueprints/svg.js +0 -30
  751. package/dist/vendored/brepjs/2d/blueprints/svg.js.map +0 -1
  752. package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts +0 -124
  753. package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts.map +0 -1
  754. package/dist/vendored/brepjs/2d/curve2dGeometryFns.js +0 -235
  755. package/dist/vendored/brepjs/2d/curve2dGeometryFns.js.map +0 -1
  756. package/dist/vendored/brepjs/2d/curves.d.ts +0 -45
  757. package/dist/vendored/brepjs/2d/curves.d.ts.map +0 -1
  758. package/dist/vendored/brepjs/2d/curves.js +0 -139
  759. package/dist/vendored/brepjs/2d/curves.js.map +0 -1
  760. package/dist/vendored/brepjs/2d/lib/approximations.d.ts +0 -47
  761. package/dist/vendored/brepjs/2d/lib/approximations.d.ts.map +0 -1
  762. package/dist/vendored/brepjs/2d/lib/approximations.js +0 -82
  763. package/dist/vendored/brepjs/2d/lib/approximations.js.map +0 -1
  764. package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts +0 -39
  765. package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts.map +0 -1
  766. package/dist/vendored/brepjs/2d/lib/boundingBox2d.js +0 -88
  767. package/dist/vendored/brepjs/2d/lib/boundingBox2d.js.map +0 -1
  768. package/dist/vendored/brepjs/2d/lib/curve2D.d.ts +0 -82
  769. package/dist/vendored/brepjs/2d/lib/curve2D.d.ts.map +0 -1
  770. package/dist/vendored/brepjs/2d/lib/curve2D.js +0 -258
  771. package/dist/vendored/brepjs/2d/lib/curve2D.js.map +0 -1
  772. package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts +0 -53
  773. package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts.map +0 -1
  774. package/dist/vendored/brepjs/2d/lib/curve2dFns.js +0 -69
  775. package/dist/vendored/brepjs/2d/lib/curve2dFns.js.map +0 -1
  776. package/dist/vendored/brepjs/2d/lib/customCorners.d.ts +0 -29
  777. package/dist/vendored/brepjs/2d/lib/customCorners.d.ts.map +0 -1
  778. package/dist/vendored/brepjs/2d/lib/customCorners.js +0 -237
  779. package/dist/vendored/brepjs/2d/lib/customCorners.js.map +0 -1
  780. package/dist/vendored/brepjs/2d/lib/definitions.d.ts +0 -12
  781. package/dist/vendored/brepjs/2d/lib/definitions.d.ts.map +0 -1
  782. package/dist/vendored/brepjs/2d/lib/definitions.js +0 -19
  783. package/dist/vendored/brepjs/2d/lib/definitions.js.map +0 -1
  784. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts +0 -21
  785. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts.map +0 -1
  786. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js +0 -71
  787. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js.map +0 -1
  788. package/dist/vendored/brepjs/2d/lib/index.d.ts +0 -14
  789. package/dist/vendored/brepjs/2d/lib/index.d.ts.map +0 -1
  790. package/dist/vendored/brepjs/2d/lib/index.js +0 -14
  791. package/dist/vendored/brepjs/2d/lib/index.js.map +0 -1
  792. package/dist/vendored/brepjs/2d/lib/intersections.d.ts +0 -34
  793. package/dist/vendored/brepjs/2d/lib/intersections.d.ts.map +0 -1
  794. package/dist/vendored/brepjs/2d/lib/intersections.js +0 -77
  795. package/dist/vendored/brepjs/2d/lib/intersections.js.map +0 -1
  796. package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts +0 -63
  797. package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts.map +0 -1
  798. package/dist/vendored/brepjs/2d/lib/makeCurves.js +0 -117
  799. package/dist/vendored/brepjs/2d/lib/makeCurves.js.map +0 -1
  800. package/dist/vendored/brepjs/2d/lib/offset.d.ts +0 -30
  801. package/dist/vendored/brepjs/2d/lib/offset.d.ts.map +0 -1
  802. package/dist/vendored/brepjs/2d/lib/offset.js +0 -109
  803. package/dist/vendored/brepjs/2d/lib/offset.js.map +0 -1
  804. package/dist/vendored/brepjs/2d/lib/precision.d.ts +0 -12
  805. package/dist/vendored/brepjs/2d/lib/precision.d.ts.map +0 -1
  806. package/dist/vendored/brepjs/2d/lib/precision.js +0 -12
  807. package/dist/vendored/brepjs/2d/lib/precision.js.map +0 -1
  808. package/dist/vendored/brepjs/2d/lib/stitching.d.ts +0 -15
  809. package/dist/vendored/brepjs/2d/lib/stitching.d.ts.map +0 -1
  810. package/dist/vendored/brepjs/2d/lib/stitching.js +0 -67
  811. package/dist/vendored/brepjs/2d/lib/stitching.js.map +0 -1
  812. package/dist/vendored/brepjs/2d/lib/svgPath.d.ts +0 -4
  813. package/dist/vendored/brepjs/2d/lib/svgPath.d.ts.map +0 -1
  814. package/dist/vendored/brepjs/2d/lib/svgPath.js +0 -114
  815. package/dist/vendored/brepjs/2d/lib/svgPath.js.map +0 -1
  816. package/dist/vendored/brepjs/2d/lib/utils.d.ts +0 -11
  817. package/dist/vendored/brepjs/2d/lib/utils.d.ts.map +0 -1
  818. package/dist/vendored/brepjs/2d/lib/utils.js +0 -24
  819. package/dist/vendored/brepjs/2d/lib/utils.js.map +0 -1
  820. package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts +0 -19
  821. package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts.map +0 -1
  822. package/dist/vendored/brepjs/2d/lib/vectorOperations.js +0 -26
  823. package/dist/vendored/brepjs/2d/lib/vectorOperations.js.map +0 -1
  824. package/dist/vendored/brepjs/2d.d.ts +0 -26
  825. package/dist/vendored/brepjs/2d.d.ts.map +0 -1
  826. package/dist/vendored/brepjs/2d.js +0 -33
  827. package/dist/vendored/brepjs/2d.js.map +0 -1
  828. package/dist/vendored/brepjs/core/constants.d.ts +0 -7
  829. package/dist/vendored/brepjs/core/constants.d.ts.map +0 -1
  830. package/dist/vendored/brepjs/core/constants.js +0 -7
  831. package/dist/vendored/brepjs/core/constants.js.map +0 -1
  832. package/dist/vendored/brepjs/core/curve2dHandle.d.ts +0 -35
  833. package/dist/vendored/brepjs/core/curve2dHandle.d.ts.map +0 -1
  834. package/dist/vendored/brepjs/core/curve2dHandle.js +0 -48
  835. package/dist/vendored/brepjs/core/curve2dHandle.js.map +0 -1
  836. package/dist/vendored/brepjs/core/dimensionTypes.d.ts +0 -61
  837. package/dist/vendored/brepjs/core/dimensionTypes.d.ts.map +0 -1
  838. package/dist/vendored/brepjs/core/dimensionTypes.js +0 -54
  839. package/dist/vendored/brepjs/core/dimensionTypes.js.map +0 -1
  840. package/dist/vendored/brepjs/core/disposal.d.ts +0 -136
  841. package/dist/vendored/brepjs/core/disposal.d.ts.map +0 -1
  842. package/dist/vendored/brepjs/core/disposal.js +0 -441
  843. package/dist/vendored/brepjs/core/disposal.js.map +0 -1
  844. package/dist/vendored/brepjs/core/errors.d.ts +0 -191
  845. package/dist/vendored/brepjs/core/errors.d.ts.map +0 -1
  846. package/dist/vendored/brepjs/core/errors.js +0 -238
  847. package/dist/vendored/brepjs/core/errors.js.map +0 -1
  848. package/dist/vendored/brepjs/core/kernelBoundary.d.ts +0 -40
  849. package/dist/vendored/brepjs/core/kernelBoundary.d.ts.map +0 -1
  850. package/dist/vendored/brepjs/core/kernelBoundary.js +0 -99
  851. package/dist/vendored/brepjs/core/kernelBoundary.js.map +0 -1
  852. package/dist/vendored/brepjs/core/kernelCall.d.ts +0 -48
  853. package/dist/vendored/brepjs/core/kernelCall.d.ts.map +0 -1
  854. package/dist/vendored/brepjs/core/kernelCall.js +0 -154
  855. package/dist/vendored/brepjs/core/kernelCall.js.map +0 -1
  856. package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts +0 -17
  857. package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts.map +0 -1
  858. package/dist/vendored/brepjs/core/kernelErrorTranslation.js +0 -98
  859. package/dist/vendored/brepjs/core/kernelErrorTranslation.js.map +0 -1
  860. package/dist/vendored/brepjs/core/planeOps.d.ts +0 -62
  861. package/dist/vendored/brepjs/core/planeOps.d.ts.map +0 -1
  862. package/dist/vendored/brepjs/core/planeOps.js +0 -148
  863. package/dist/vendored/brepjs/core/planeOps.js.map +0 -1
  864. package/dist/vendored/brepjs/core/planeTypes.d.ts +0 -22
  865. package/dist/vendored/brepjs/core/planeTypes.d.ts.map +0 -1
  866. package/dist/vendored/brepjs/core/planeTypes.js +0 -6
  867. package/dist/vendored/brepjs/core/planeTypes.js.map +0 -1
  868. package/dist/vendored/brepjs/core/result.d.ts +0 -85
  869. package/dist/vendored/brepjs/core/result.d.ts.map +0 -1
  870. package/dist/vendored/brepjs/core/result.js +0 -212
  871. package/dist/vendored/brepjs/core/result.js.map +0 -1
  872. package/dist/vendored/brepjs/core/shapeTypeCache.d.ts +0 -27
  873. package/dist/vendored/brepjs/core/shapeTypeCache.d.ts.map +0 -1
  874. package/dist/vendored/brepjs/core/shapeTypeCache.js +0 -40
  875. package/dist/vendored/brepjs/core/shapeTypeCache.js.map +0 -1
  876. package/dist/vendored/brepjs/core/shapeTypes.d.ts +0 -199
  877. package/dist/vendored/brepjs/core/shapeTypes.d.ts.map +0 -1
  878. package/dist/vendored/brepjs/core/shapeTypes.js +0 -267
  879. package/dist/vendored/brepjs/core/shapeTypes.js.map +0 -1
  880. package/dist/vendored/brepjs/core/typeDiscriminants.d.ts +0 -25
  881. package/dist/vendored/brepjs/core/typeDiscriminants.d.ts.map +0 -1
  882. package/dist/vendored/brepjs/core/typeDiscriminants.js +0 -50
  883. package/dist/vendored/brepjs/core/typeDiscriminants.js.map +0 -1
  884. package/dist/vendored/brepjs/core/types.d.ts +0 -51
  885. package/dist/vendored/brepjs/core/types.d.ts.map +0 -1
  886. package/dist/vendored/brepjs/core/types.js +0 -35
  887. package/dist/vendored/brepjs/core/types.js.map +0 -1
  888. package/dist/vendored/brepjs/core/validityTypes.d.ts +0 -143
  889. package/dist/vendored/brepjs/core/validityTypes.d.ts.map +0 -1
  890. package/dist/vendored/brepjs/core/validityTypes.js +0 -174
  891. package/dist/vendored/brepjs/core/validityTypes.js.map +0 -1
  892. package/dist/vendored/brepjs/core/vecOps.d.ts +0 -53
  893. package/dist/vendored/brepjs/core/vecOps.d.ts.map +0 -1
  894. package/dist/vendored/brepjs/core/vecOps.js +0 -131
  895. package/dist/vendored/brepjs/core/vecOps.js.map +0 -1
  896. package/dist/vendored/brepjs/core.d.ts +0 -17
  897. package/dist/vendored/brepjs/core.d.ts.map +0 -1
  898. package/dist/vendored/brepjs/core.js +0 -13
  899. package/dist/vendored/brepjs/core.js.map +0 -1
  900. package/dist/vendored/brepjs/gear/gearFns.d.ts +0 -148
  901. package/dist/vendored/brepjs/gear/gearFns.d.ts.map +0 -1
  902. package/dist/vendored/brepjs/gear/gearFns.js +0 -479
  903. package/dist/vendored/brepjs/gear/gearFns.js.map +0 -1
  904. package/dist/vendored/brepjs/gear/gearMath.d.ts +0 -89
  905. package/dist/vendored/brepjs/gear/gearMath.d.ts.map +0 -1
  906. package/dist/vendored/brepjs/gear/gearMath.js +0 -195
  907. package/dist/vendored/brepjs/gear/gearMath.js.map +0 -1
  908. package/dist/vendored/brepjs/gear/gearProfile.d.ts +0 -17
  909. package/dist/vendored/brepjs/gear/gearProfile.d.ts.map +0 -1
  910. package/dist/vendored/brepjs/gear/gearProfile.js +0 -159
  911. package/dist/vendored/brepjs/gear/gearProfile.js.map +0 -1
  912. package/dist/vendored/brepjs/gear/index.d.ts +0 -4
  913. package/dist/vendored/brepjs/gear/index.d.ts.map +0 -1
  914. package/dist/vendored/brepjs/gear/index.js +0 -4
  915. package/dist/vendored/brepjs/gear/index.js.map +0 -1
  916. package/dist/vendored/brepjs/index.d.ts +0 -152
  917. package/dist/vendored/brepjs/index.d.ts.map +0 -1
  918. package/dist/vendored/brepjs/index.js +0 -195
  919. package/dist/vendored/brepjs/index.js.map +0 -1
  920. package/dist/vendored/brepjs/io/dxfExportFns.d.ts +0 -74
  921. package/dist/vendored/brepjs/io/dxfExportFns.d.ts.map +0 -1
  922. package/dist/vendored/brepjs/io/dxfExportFns.js +0 -134
  923. package/dist/vendored/brepjs/io/dxfExportFns.js.map +0 -1
  924. package/dist/vendored/brepjs/io/dxfImportFns.d.ts +0 -20
  925. package/dist/vendored/brepjs/io/dxfImportFns.d.ts.map +0 -1
  926. package/dist/vendored/brepjs/io/dxfImportFns.js +0 -132
  927. package/dist/vendored/brepjs/io/dxfImportFns.js.map +0 -1
  928. package/dist/vendored/brepjs/io/gltfExportFns.d.ts +0 -97
  929. package/dist/vendored/brepjs/io/gltfExportFns.d.ts.map +0 -1
  930. package/dist/vendored/brepjs/io/gltfExportFns.js +0 -460
  931. package/dist/vendored/brepjs/io/gltfExportFns.js.map +0 -1
  932. package/dist/vendored/brepjs/io/gltfImportFns.d.ts +0 -21
  933. package/dist/vendored/brepjs/io/gltfImportFns.d.ts.map +0 -1
  934. package/dist/vendored/brepjs/io/gltfImportFns.js +0 -33
  935. package/dist/vendored/brepjs/io/gltfImportFns.js.map +0 -1
  936. package/dist/vendored/brepjs/io/importFns.d.ts +0 -56
  937. package/dist/vendored/brepjs/io/importFns.d.ts.map +0 -1
  938. package/dist/vendored/brepjs/io/importFns.js +0 -108
  939. package/dist/vendored/brepjs/io/importFns.js.map +0 -1
  940. package/dist/vendored/brepjs/io/ioUtils.d.ts +0 -22
  941. package/dist/vendored/brepjs/io/ioUtils.d.ts.map +0 -1
  942. package/dist/vendored/brepjs/io/ioUtils.js +0 -56
  943. package/dist/vendored/brepjs/io/ioUtils.js.map +0 -1
  944. package/dist/vendored/brepjs/io/objExportFns.d.ts +0 -23
  945. package/dist/vendored/brepjs/io/objExportFns.d.ts.map +0 -1
  946. package/dist/vendored/brepjs/io/objExportFns.js +0 -67
  947. package/dist/vendored/brepjs/io/objExportFns.js.map +0 -1
  948. package/dist/vendored/brepjs/io/objImportFns.d.ts +0 -26
  949. package/dist/vendored/brepjs/io/objImportFns.d.ts.map +0 -1
  950. package/dist/vendored/brepjs/io/objImportFns.js +0 -96
  951. package/dist/vendored/brepjs/io/objImportFns.js.map +0 -1
  952. package/dist/vendored/brepjs/io/stepConfigFns.d.ts +0 -30
  953. package/dist/vendored/brepjs/io/stepConfigFns.d.ts.map +0 -1
  954. package/dist/vendored/brepjs/io/stepConfigFns.js +0 -30
  955. package/dist/vendored/brepjs/io/stepConfigFns.js.map +0 -1
  956. package/dist/vendored/brepjs/io/svgImportFns.d.ts +0 -58
  957. package/dist/vendored/brepjs/io/svgImportFns.d.ts.map +0 -1
  958. package/dist/vendored/brepjs/io/svgImportFns.js +0 -394
  959. package/dist/vendored/brepjs/io/svgImportFns.js.map +0 -1
  960. package/dist/vendored/brepjs/io/threemfExportFns.d.ts +0 -48
  961. package/dist/vendored/brepjs/io/threemfExportFns.d.ts.map +0 -1
  962. package/dist/vendored/brepjs/io/threemfExportFns.js +0 -345
  963. package/dist/vendored/brepjs/io/threemfExportFns.js.map +0 -1
  964. package/dist/vendored/brepjs/io/threemfImportFns.d.ts +0 -22
  965. package/dist/vendored/brepjs/io/threemfImportFns.d.ts.map +0 -1
  966. package/dist/vendored/brepjs/io/threemfImportFns.js +0 -350
  967. package/dist/vendored/brepjs/io/threemfImportFns.js.map +0 -1
  968. package/dist/vendored/brepjs/io.d.ts +0 -17
  969. package/dist/vendored/brepjs/io.d.ts.map +0 -1
  970. package/dist/vendored/brepjs/io.js +0 -20
  971. package/dist/vendored/brepjs/io.js.map +0 -1
  972. package/dist/vendored/brepjs/kernel/capabilities.d.ts +0 -36
  973. package/dist/vendored/brepjs/kernel/capabilities.d.ts.map +0 -1
  974. package/dist/vendored/brepjs/kernel/capabilities.js +0 -35
  975. package/dist/vendored/brepjs/kernel/capabilities.js.map +0 -1
  976. package/dist/vendored/brepjs/kernel/geometry2d.d.ts +0 -96
  977. package/dist/vendored/brepjs/kernel/geometry2d.d.ts.map +0 -1
  978. package/dist/vendored/brepjs/kernel/geometry2d.js +0 -885
  979. package/dist/vendored/brepjs/kernel/geometry2d.js.map +0 -1
  980. package/dist/vendored/brepjs/kernel/hullGeometry.d.ts +0 -23
  981. package/dist/vendored/brepjs/kernel/hullGeometry.d.ts.map +0 -1
  982. package/dist/vendored/brepjs/kernel/hullGeometry.js +0 -312
  983. package/dist/vendored/brepjs/kernel/hullGeometry.js.map +0 -1
  984. package/dist/vendored/brepjs/kernel/index.d.ts +0 -73
  985. package/dist/vendored/brepjs/kernel/index.d.ts.map +0 -1
  986. package/dist/vendored/brepjs/kernel/index.js +0 -161
  987. package/dist/vendored/brepjs/kernel/index.js.map +0 -1
  988. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts +0 -44
  989. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts.map +0 -1
  990. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js +0 -11
  991. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js.map +0 -1
  992. package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts +0 -67
  993. package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts.map +0 -1
  994. package/dist/vendored/brepjs/kernel/interfaces/builderOps.js +0 -12
  995. package/dist/vendored/brepjs/kernel/interfaces/builderOps.js.map +0 -1
  996. package/dist/vendored/brepjs/kernel/interfaces/core.d.ts +0 -46
  997. package/dist/vendored/brepjs/kernel/interfaces/core.d.ts.map +0 -1
  998. package/dist/vendored/brepjs/kernel/interfaces/core.js +0 -11
  999. package/dist/vendored/brepjs/kernel/interfaces/core.js.map +0 -1
  1000. package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts +0 -53
  1001. package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts.map +0 -1
  1002. package/dist/vendored/brepjs/kernel/interfaces/curveOps.js +0 -12
  1003. package/dist/vendored/brepjs/kernel/interfaces/curveOps.js.map +0 -1
  1004. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts +0 -32
  1005. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts.map +0 -1
  1006. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js +0 -14
  1007. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js.map +0 -1
  1008. package/dist/vendored/brepjs/kernel/interfaces/index.d.ts +0 -43
  1009. package/dist/vendored/brepjs/kernel/interfaces/index.d.ts.map +0 -1
  1010. package/dist/vendored/brepjs/kernel/interfaces/index.js +0 -12
  1011. package/dist/vendored/brepjs/kernel/interfaces/index.js.map +0 -1
  1012. package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts +0 -65
  1013. package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts.map +0 -1
  1014. package/dist/vendored/brepjs/kernel/interfaces/ioOps.js +0 -9
  1015. package/dist/vendored/brepjs/kernel/interfaces/ioOps.js.map +0 -1
  1016. package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts +0 -55
  1017. package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts.map +0 -1
  1018. package/dist/vendored/brepjs/kernel/interfaces/measureOps.js +0 -9
  1019. package/dist/vendored/brepjs/kernel/interfaces/measureOps.js.map +0 -1
  1020. package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts +0 -25
  1021. package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts.map +0 -1
  1022. package/dist/vendored/brepjs/kernel/interfaces/meshOps.js +0 -8
  1023. package/dist/vendored/brepjs/kernel/interfaces/meshOps.js.map +0 -1
  1024. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts +0 -53
  1025. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts.map +0 -1
  1026. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js +0 -10
  1027. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js.map +0 -1
  1028. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts +0 -22
  1029. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts.map +0 -1
  1030. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js +0 -11
  1031. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js.map +0 -1
  1032. package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts +0 -43
  1033. package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts.map +0 -1
  1034. package/dist/vendored/brepjs/kernel/interfaces/repairOps.js +0 -9
  1035. package/dist/vendored/brepjs/kernel/interfaces/repairOps.js.map +0 -1
  1036. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts +0 -72
  1037. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts.map +0 -1
  1038. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js +0 -13
  1039. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js.map +0 -1
  1040. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts +0 -73
  1041. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts.map +0 -1
  1042. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js +0 -11
  1043. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js.map +0 -1
  1044. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts +0 -62
  1045. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts.map +0 -1
  1046. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js +0 -9
  1047. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js.map +0 -1
  1048. package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts +0 -80
  1049. package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts.map +0 -1
  1050. package/dist/vendored/brepjs/kernel/interfaces/transformOps.js +0 -11
  1051. package/dist/vendored/brepjs/kernel/interfaces/transformOps.js.map +0 -1
  1052. package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts +0 -145
  1053. package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts.map +0 -1
  1054. package/dist/vendored/brepjs/kernel/kernel2dTypes.js +0 -18
  1055. package/dist/vendored/brepjs/kernel/kernel2dTypes.js.map +0 -1
  1056. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts +0 -41
  1057. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts.map +0 -1
  1058. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js +0 -2
  1059. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js.map +0 -1
  1060. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts +0 -17
  1061. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts.map +0 -1
  1062. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js +0 -75
  1063. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js.map +0 -1
  1064. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts +0 -36
  1065. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts.map +0 -1
  1066. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js +0 -116
  1067. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js.map +0 -1
  1068. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts +0 -43
  1069. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts.map +0 -1
  1070. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js +0 -292
  1071. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js.map +0 -1
  1072. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts +0 -34
  1073. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts.map +0 -1
  1074. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js +0 -164
  1075. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js.map +0 -1
  1076. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts +0 -26
  1077. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts.map +0 -1
  1078. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js +0 -256
  1079. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js.map +0 -1
  1080. package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts +0 -42
  1081. package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts.map +0 -1
  1082. package/dist/vendored/brepjs/kernel/occtWasm/helpers.js +0 -146
  1083. package/dist/vendored/brepjs/kernel/occtWasm/helpers.js.map +0 -1
  1084. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts +0 -17
  1085. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts.map +0 -1
  1086. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js +0 -55
  1087. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js.map +0 -1
  1088. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts +0 -58
  1089. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts.map +0 -1
  1090. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js +0 -303
  1091. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js.map +0 -1
  1092. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts +0 -113
  1093. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts.map +0 -1
  1094. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js +0 -731
  1095. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js.map +0 -1
  1096. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts +0 -62
  1097. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts.map +0 -1
  1098. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js +0 -338
  1099. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js.map +0 -1
  1100. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts +0 -12
  1101. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts.map +0 -1
  1102. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js +0 -120
  1103. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js.map +0 -1
  1104. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts +0 -20
  1105. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts.map +0 -1
  1106. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js +0 -187
  1107. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js.map +0 -1
  1108. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts +0 -513
  1109. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts.map +0 -1
  1110. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js +0 -1016
  1111. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js.map +0 -1
  1112. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts +0 -332
  1113. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts.map +0 -1
  1114. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js +0 -10
  1115. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js.map +0 -1
  1116. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts +0 -16
  1117. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts.map +0 -1
  1118. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js +0 -64
  1119. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js.map +0 -1
  1120. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts +0 -16
  1121. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts.map +0 -1
  1122. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js +0 -38
  1123. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js.map +0 -1
  1124. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts +0 -56
  1125. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts.map +0 -1
  1126. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js +0 -247
  1127. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js.map +0 -1
  1128. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts +0 -56
  1129. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts.map +0 -1
  1130. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js +0 -235
  1131. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js.map +0 -1
  1132. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts +0 -25
  1133. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts.map +0 -1
  1134. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js +0 -127
  1135. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js.map +0 -1
  1136. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts +0 -40
  1137. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts.map +0 -1
  1138. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js +0 -275
  1139. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js.map +0 -1
  1140. package/dist/vendored/brepjs/kernel/quality.d.ts +0 -28
  1141. package/dist/vendored/brepjs/kernel/quality.d.ts.map +0 -1
  1142. package/dist/vendored/brepjs/kernel/quality.js +0 -40
  1143. package/dist/vendored/brepjs/kernel/quality.js.map +0 -1
  1144. package/dist/vendored/brepjs/kernel/solverAdapter.d.ts +0 -50
  1145. package/dist/vendored/brepjs/kernel/solverAdapter.d.ts.map +0 -1
  1146. package/dist/vendored/brepjs/kernel/solverAdapter.js +0 -330
  1147. package/dist/vendored/brepjs/kernel/solverAdapter.js.map +0 -1
  1148. package/dist/vendored/brepjs/kernel/stlBuilder.d.ts +0 -21
  1149. package/dist/vendored/brepjs/kernel/stlBuilder.d.ts.map +0 -1
  1150. package/dist/vendored/brepjs/kernel/stlBuilder.js +0 -106
  1151. package/dist/vendored/brepjs/kernel/stlBuilder.js.map +0 -1
  1152. package/dist/vendored/brepjs/kernel/types.d.ts +0 -214
  1153. package/dist/vendored/brepjs/kernel/types.d.ts.map +0 -1
  1154. package/dist/vendored/brepjs/kernel/types.js +0 -22
  1155. package/dist/vendored/brepjs/kernel/types.js.map +0 -1
  1156. package/dist/vendored/brepjs/kernel/unsupported.d.ts +0 -15
  1157. package/dist/vendored/brepjs/kernel/unsupported.d.ts.map +0 -1
  1158. package/dist/vendored/brepjs/kernel/unsupported.js +0 -25
  1159. package/dist/vendored/brepjs/kernel/unsupported.js.map +0 -1
  1160. package/dist/vendored/brepjs/measurement/interferenceFns.d.ts +0 -68
  1161. package/dist/vendored/brepjs/measurement/interferenceFns.d.ts.map +0 -1
  1162. package/dist/vendored/brepjs/measurement/interferenceFns.js +0 -102
  1163. package/dist/vendored/brepjs/measurement/interferenceFns.js.map +0 -1
  1164. package/dist/vendored/brepjs/measurement/measureCache.d.ts +0 -20
  1165. package/dist/vendored/brepjs/measurement/measureCache.d.ts.map +0 -1
  1166. package/dist/vendored/brepjs/measurement/measureCache.js +0 -28
  1167. package/dist/vendored/brepjs/measurement/measureCache.js.map +0 -1
  1168. package/dist/vendored/brepjs/measurement/measureFns.d.ts +0 -92
  1169. package/dist/vendored/brepjs/measurement/measureFns.d.ts.map +0 -1
  1170. package/dist/vendored/brepjs/measurement/measureFns.js +0 -239
  1171. package/dist/vendored/brepjs/measurement/measureFns.js.map +0 -1
  1172. package/dist/vendored/brepjs/measurement/measureTypes.d.ts +0 -35
  1173. package/dist/vendored/brepjs/measurement/measureTypes.d.ts.map +0 -1
  1174. package/dist/vendored/brepjs/measurement/measureTypes.js +0 -7
  1175. package/dist/vendored/brepjs/measurement/measureTypes.js.map +0 -1
  1176. package/dist/vendored/brepjs/measurement.d.ts +0 -5
  1177. package/dist/vendored/brepjs/measurement.d.ts.map +0 -1
  1178. package/dist/vendored/brepjs/measurement.js +0 -5
  1179. package/dist/vendored/brepjs/measurement.js.map +0 -1
  1180. package/dist/vendored/brepjs/ns/booleans.d.ts +0 -11
  1181. package/dist/vendored/brepjs/ns/booleans.d.ts.map +0 -1
  1182. package/dist/vendored/brepjs/ns/booleans.js +0 -11
  1183. package/dist/vendored/brepjs/ns/booleans.js.map +0 -1
  1184. package/dist/vendored/brepjs/ns/construction.d.ts +0 -10
  1185. package/dist/vendored/brepjs/ns/construction.d.ts.map +0 -1
  1186. package/dist/vendored/brepjs/ns/construction.js +0 -10
  1187. package/dist/vendored/brepjs/ns/construction.js.map +0 -1
  1188. package/dist/vendored/brepjs/ns/ioNs.d.ts +0 -18
  1189. package/dist/vendored/brepjs/ns/ioNs.d.ts.map +0 -1
  1190. package/dist/vendored/brepjs/ns/ioNs.js +0 -20
  1191. package/dist/vendored/brepjs/ns/ioNs.js.map +0 -1
  1192. package/dist/vendored/brepjs/ns/measurement.d.ts +0 -6
  1193. package/dist/vendored/brepjs/ns/measurement.d.ts.map +0 -1
  1194. package/dist/vendored/brepjs/ns/measurement.js +0 -6
  1195. package/dist/vendored/brepjs/ns/measurement.js.map +0 -1
  1196. package/dist/vendored/brepjs/ns/modifiers.d.ts +0 -6
  1197. package/dist/vendored/brepjs/ns/modifiers.d.ts.map +0 -1
  1198. package/dist/vendored/brepjs/ns/modifiers.js +0 -6
  1199. package/dist/vendored/brepjs/ns/modifiers.js.map +0 -1
  1200. package/dist/vendored/brepjs/ns/patterns.d.ts +0 -5
  1201. package/dist/vendored/brepjs/ns/patterns.d.ts.map +0 -1
  1202. package/dist/vendored/brepjs/ns/patterns.js +0 -5
  1203. package/dist/vendored/brepjs/ns/patterns.js.map +0 -1
  1204. package/dist/vendored/brepjs/ns/primitives.d.ts +0 -7
  1205. package/dist/vendored/brepjs/ns/primitives.d.ts.map +0 -1
  1206. package/dist/vendored/brepjs/ns/primitives.js +0 -7
  1207. package/dist/vendored/brepjs/ns/primitives.js.map +0 -1
  1208. package/dist/vendored/brepjs/ns/query.d.ts +0 -6
  1209. package/dist/vendored/brepjs/ns/query.d.ts.map +0 -1
  1210. package/dist/vendored/brepjs/ns/query.js +0 -6
  1211. package/dist/vendored/brepjs/ns/query.js.map +0 -1
  1212. package/dist/vendored/brepjs/ns/transforms.d.ts +0 -5
  1213. package/dist/vendored/brepjs/ns/transforms.d.ts.map +0 -1
  1214. package/dist/vendored/brepjs/ns/transforms.js +0 -5
  1215. package/dist/vendored/brepjs/ns/transforms.js.map +0 -1
  1216. package/dist/vendored/brepjs/operations/api.d.ts +0 -39
  1217. package/dist/vendored/brepjs/operations/api.d.ts.map +0 -1
  1218. package/dist/vendored/brepjs/operations/api.js +0 -41
  1219. package/dist/vendored/brepjs/operations/api.js.map +0 -1
  1220. package/dist/vendored/brepjs/operations/assemblyFns.d.ts +0 -54
  1221. package/dist/vendored/brepjs/operations/assemblyFns.d.ts.map +0 -1
  1222. package/dist/vendored/brepjs/operations/assemblyFns.js +0 -91
  1223. package/dist/vendored/brepjs/operations/assemblyFns.js.map +0 -1
  1224. package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts +0 -43
  1225. package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts.map +0 -1
  1226. package/dist/vendored/brepjs/operations/compoundOpsFns.js +0 -368
  1227. package/dist/vendored/brepjs/operations/compoundOpsFns.js.map +0 -1
  1228. package/dist/vendored/brepjs/operations/convexHullFns.d.ts +0 -27
  1229. package/dist/vendored/brepjs/operations/convexHullFns.d.ts.map +0 -1
  1230. package/dist/vendored/brepjs/operations/convexHullFns.js +0 -50
  1231. package/dist/vendored/brepjs/operations/convexHullFns.js.map +0 -1
  1232. package/dist/vendored/brepjs/operations/dhFns.d.ts +0 -47
  1233. package/dist/vendored/brepjs/operations/dhFns.d.ts.map +0 -1
  1234. package/dist/vendored/brepjs/operations/dhFns.js +0 -53
  1235. package/dist/vendored/brepjs/operations/dhFns.js.map +0 -1
  1236. package/dist/vendored/brepjs/operations/exporterFns.d.ts +0 -47
  1237. package/dist/vendored/brepjs/operations/exporterFns.d.ts.map +0 -1
  1238. package/dist/vendored/brepjs/operations/exporterFns.js +0 -66
  1239. package/dist/vendored/brepjs/operations/exporterFns.js.map +0 -1
  1240. package/dist/vendored/brepjs/operations/exporterUtils.d.ts +0 -6
  1241. package/dist/vendored/brepjs/operations/exporterUtils.d.ts.map +0 -1
  1242. package/dist/vendored/brepjs/operations/exporterUtils.js +0 -5
  1243. package/dist/vendored/brepjs/operations/exporterUtils.js.map +0 -1
  1244. package/dist/vendored/brepjs/operations/exporters.d.ts +0 -59
  1245. package/dist/vendored/brepjs/operations/exporters.d.ts.map +0 -1
  1246. package/dist/vendored/brepjs/operations/exporters.js +0 -74
  1247. package/dist/vendored/brepjs/operations/exporters.js.map +0 -1
  1248. package/dist/vendored/brepjs/operations/extrudeFns.d.ts +0 -47
  1249. package/dist/vendored/brepjs/operations/extrudeFns.d.ts.map +0 -1
  1250. package/dist/vendored/brepjs/operations/extrudeFns.js +0 -119
  1251. package/dist/vendored/brepjs/operations/extrudeFns.js.map +0 -1
  1252. package/dist/vendored/brepjs/operations/extrudeUtils.d.ts +0 -63
  1253. package/dist/vendored/brepjs/operations/extrudeUtils.d.ts.map +0 -1
  1254. package/dist/vendored/brepjs/operations/extrudeUtils.js +0 -33
  1255. package/dist/vendored/brepjs/operations/extrudeUtils.js.map +0 -1
  1256. package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts +0 -6
  1257. package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts.map +0 -1
  1258. package/dist/vendored/brepjs/operations/guidedSweepFns.js +0 -6
  1259. package/dist/vendored/brepjs/operations/guidedSweepFns.js.map +0 -1
  1260. package/dist/vendored/brepjs/operations/historyFns.d.ts +0 -83
  1261. package/dist/vendored/brepjs/operations/historyFns.d.ts.map +0 -1
  1262. package/dist/vendored/brepjs/operations/historyFns.js +0 -256
  1263. package/dist/vendored/brepjs/operations/historyFns.js.map +0 -1
  1264. package/dist/vendored/brepjs/operations/ikFns.d.ts +0 -74
  1265. package/dist/vendored/brepjs/operations/ikFns.d.ts.map +0 -1
  1266. package/dist/vendored/brepjs/operations/ikFns.js +0 -320
  1267. package/dist/vendored/brepjs/operations/ikFns.js.map +0 -1
  1268. package/dist/vendored/brepjs/operations/instanceFns.d.ts +0 -76
  1269. package/dist/vendored/brepjs/operations/instanceFns.d.ts.map +0 -1
  1270. package/dist/vendored/brepjs/operations/instanceFns.js +0 -128
  1271. package/dist/vendored/brepjs/operations/instanceFns.js.map +0 -1
  1272. package/dist/vendored/brepjs/operations/jointFns.d.ts +0 -176
  1273. package/dist/vendored/brepjs/operations/jointFns.d.ts.map +0 -1
  1274. package/dist/vendored/brepjs/operations/jointFns.js +0 -298
  1275. package/dist/vendored/brepjs/operations/jointFns.js.map +0 -1
  1276. package/dist/vendored/brepjs/operations/loftFns.d.ts +0 -60
  1277. package/dist/vendored/brepjs/operations/loftFns.d.ts.map +0 -1
  1278. package/dist/vendored/brepjs/operations/loftFns.js +0 -112
  1279. package/dist/vendored/brepjs/operations/loftFns.js.map +0 -1
  1280. package/dist/vendored/brepjs/operations/mateFns.d.ts +0 -53
  1281. package/dist/vendored/brepjs/operations/mateFns.d.ts.map +0 -1
  1282. package/dist/vendored/brepjs/operations/mateFns.js +0 -142
  1283. package/dist/vendored/brepjs/operations/mateFns.js.map +0 -1
  1284. package/dist/vendored/brepjs/operations/multiSweepFns.d.ts +0 -6
  1285. package/dist/vendored/brepjs/operations/multiSweepFns.d.ts.map +0 -1
  1286. package/dist/vendored/brepjs/operations/multiSweepFns.js +0 -6
  1287. package/dist/vendored/brepjs/operations/multiSweepFns.js.map +0 -1
  1288. package/dist/vendored/brepjs/operations/patternFns.d.ts +0 -46
  1289. package/dist/vendored/brepjs/operations/patternFns.d.ts.map +0 -1
  1290. package/dist/vendored/brepjs/operations/patternFns.js +0 -126
  1291. package/dist/vendored/brepjs/operations/patternFns.js.map +0 -1
  1292. package/dist/vendored/brepjs/operations/roofFns.d.ts +0 -25
  1293. package/dist/vendored/brepjs/operations/roofFns.d.ts.map +0 -1
  1294. package/dist/vendored/brepjs/operations/roofFns.js +0 -250
  1295. package/dist/vendored/brepjs/operations/roofFns.js.map +0 -1
  1296. package/dist/vendored/brepjs/operations/straightSkeleton.d.ts +0 -29
  1297. package/dist/vendored/brepjs/operations/straightSkeleton.d.ts.map +0 -1
  1298. package/dist/vendored/brepjs/operations/straightSkeleton.js +0 -440
  1299. package/dist/vendored/brepjs/operations/straightSkeleton.js.map +0 -1
  1300. package/dist/vendored/brepjs/operations/sweepFns.d.ts +0 -121
  1301. package/dist/vendored/brepjs/operations/sweepFns.d.ts.map +0 -1
  1302. package/dist/vendored/brepjs/operations/sweepFns.js +0 -438
  1303. package/dist/vendored/brepjs/operations/sweepFns.js.map +0 -1
  1304. package/dist/vendored/brepjs/operations/threadFns.d.ts +0 -57
  1305. package/dist/vendored/brepjs/operations/threadFns.d.ts.map +0 -1
  1306. package/dist/vendored/brepjs/operations/threadFns.js +0 -145
  1307. package/dist/vendored/brepjs/operations/threadFns.js.map +0 -1
  1308. package/dist/vendored/brepjs/operations/urdfFns.d.ts +0 -48
  1309. package/dist/vendored/brepjs/operations/urdfFns.d.ts.map +0 -1
  1310. package/dist/vendored/brepjs/operations/urdfFns.js +0 -171
  1311. package/dist/vendored/brepjs/operations/urdfFns.js.map +0 -1
  1312. package/dist/vendored/brepjs/operations.d.ts +0 -20
  1313. package/dist/vendored/brepjs/operations.d.ts.map +0 -1
  1314. package/dist/vendored/brepjs/operations.js +0 -26
  1315. package/dist/vendored/brepjs/operations.js.map +0 -1
  1316. package/dist/vendored/brepjs/projection/cameraFns.d.ts +0 -63
  1317. package/dist/vendored/brepjs/projection/cameraFns.d.ts.map +0 -1
  1318. package/dist/vendored/brepjs/projection/cameraFns.js +0 -89
  1319. package/dist/vendored/brepjs/projection/cameraFns.js.map +0 -1
  1320. package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts +0 -14
  1321. package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts.map +0 -1
  1322. package/dist/vendored/brepjs/projection/makeProjectedEdges.js +0 -111
  1323. package/dist/vendored/brepjs/projection/makeProjectedEdges.js.map +0 -1
  1324. package/dist/vendored/brepjs/projection/projectionPlanes.d.ts +0 -18
  1325. package/dist/vendored/brepjs/projection/projectionPlanes.d.ts.map +0 -1
  1326. package/dist/vendored/brepjs/projection/projectionPlanes.js +0 -23
  1327. package/dist/vendored/brepjs/projection/projectionPlanes.js.map +0 -1
  1328. package/dist/vendored/brepjs/projection.d.ts +0 -12
  1329. package/dist/vendored/brepjs/projection.d.ts.map +0 -1
  1330. package/dist/vendored/brepjs/projection.js +0 -12
  1331. package/dist/vendored/brepjs/projection.js.map +0 -1
  1332. package/dist/vendored/brepjs/query/cornerFinder.d.ts +0 -54
  1333. package/dist/vendored/brepjs/query/cornerFinder.d.ts.map +0 -1
  1334. package/dist/vendored/brepjs/query/cornerFinder.js +0 -73
  1335. package/dist/vendored/brepjs/query/cornerFinder.js.map +0 -1
  1336. package/dist/vendored/brepjs/query/directionUtils.d.ts +0 -9
  1337. package/dist/vendored/brepjs/query/directionUtils.d.ts.map +0 -1
  1338. package/dist/vendored/brepjs/query/directionUtils.js +0 -18
  1339. package/dist/vendored/brepjs/query/directionUtils.js.map +0 -1
  1340. package/dist/vendored/brepjs/query/edgeFinder.d.ts +0 -5
  1341. package/dist/vendored/brepjs/query/edgeFinder.d.ts.map +0 -1
  1342. package/dist/vendored/brepjs/query/edgeFinder.js +0 -5
  1343. package/dist/vendored/brepjs/query/edgeFinder.js.map +0 -1
  1344. package/dist/vendored/brepjs/query/faceFinder.d.ts +0 -5
  1345. package/dist/vendored/brepjs/query/faceFinder.d.ts.map +0 -1
  1346. package/dist/vendored/brepjs/query/faceFinder.js +0 -5
  1347. package/dist/vendored/brepjs/query/faceFinder.js.map +0 -1
  1348. package/dist/vendored/brepjs/query/finderCore.d.ts +0 -49
  1349. package/dist/vendored/brepjs/query/finderCore.d.ts.map +0 -1
  1350. package/dist/vendored/brepjs/query/finderCore.js +0 -120
  1351. package/dist/vendored/brepjs/query/finderCore.js.map +0 -1
  1352. package/dist/vendored/brepjs/query/finderFns.d.ts +0 -25
  1353. package/dist/vendored/brepjs/query/finderFns.d.ts.map +0 -1
  1354. package/dist/vendored/brepjs/query/finderFns.js +0 -25
  1355. package/dist/vendored/brepjs/query/finderFns.js.map +0 -1
  1356. package/dist/vendored/brepjs/query/helpers.d.ts +0 -11
  1357. package/dist/vendored/brepjs/query/helpers.d.ts.map +0 -1
  1358. package/dist/vendored/brepjs/query/helpers.js +0 -17
  1359. package/dist/vendored/brepjs/query/helpers.js.map +0 -1
  1360. package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts +0 -15
  1361. package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts.map +0 -1
  1362. package/dist/vendored/brepjs/query/shapeDistanceFilter.js +0 -21
  1363. package/dist/vendored/brepjs/query/shapeDistanceFilter.js.map +0 -1
  1364. package/dist/vendored/brepjs/query/shapeFinders.d.ts +0 -39
  1365. package/dist/vendored/brepjs/query/shapeFinders.d.ts.map +0 -1
  1366. package/dist/vendored/brepjs/query/shapeFinders.js +0 -82
  1367. package/dist/vendored/brepjs/query/shapeFinders.js.map +0 -1
  1368. package/dist/vendored/brepjs/query/vertexFinder.d.ts +0 -19
  1369. package/dist/vendored/brepjs/query/vertexFinder.d.ts.map +0 -1
  1370. package/dist/vendored/brepjs/query/vertexFinder.js +0 -73
  1371. package/dist/vendored/brepjs/query/vertexFinder.js.map +0 -1
  1372. package/dist/vendored/brepjs/query/wireFinder.d.ts +0 -5
  1373. package/dist/vendored/brepjs/query/wireFinder.d.ts.map +0 -1
  1374. package/dist/vendored/brepjs/query/wireFinder.js +0 -5
  1375. package/dist/vendored/brepjs/query/wireFinder.js.map +0 -1
  1376. package/dist/vendored/brepjs/query.d.ts +0 -6
  1377. package/dist/vendored/brepjs/query.d.ts.map +0 -1
  1378. package/dist/vendored/brepjs/query.js +0 -6
  1379. package/dist/vendored/brepjs/query.js.map +0 -1
  1380. package/dist/vendored/brepjs/result.d.ts +0 -7
  1381. package/dist/vendored/brepjs/result.d.ts.map +0 -1
  1382. package/dist/vendored/brepjs/result.js +0 -7
  1383. package/dist/vendored/brepjs/result.js.map +0 -1
  1384. package/dist/vendored/brepjs/shapeRef.d.ts +0 -13
  1385. package/dist/vendored/brepjs/shapeRef.d.ts.map +0 -1
  1386. package/dist/vendored/brepjs/shapeRef.js +0 -13
  1387. package/dist/vendored/brepjs/shapeRef.js.map +0 -1
  1388. package/dist/vendored/brepjs/sketching/cannedSketches.d.ts +0 -144
  1389. package/dist/vendored/brepjs/sketching/cannedSketches.d.ts.map +0 -1
  1390. package/dist/vendored/brepjs/sketching/cannedSketches.js +0 -327
  1391. package/dist/vendored/brepjs/sketching/cannedSketches.js.map +0 -1
  1392. package/dist/vendored/brepjs/sketching/compoundSketch.d.ts +0 -70
  1393. package/dist/vendored/brepjs/sketching/compoundSketch.d.ts.map +0 -1
  1394. package/dist/vendored/brepjs/sketching/compoundSketch.js +0 -87
  1395. package/dist/vendored/brepjs/sketching/compoundSketch.js.map +0 -1
  1396. package/dist/vendored/brepjs/sketching/draw3d.d.ts +0 -22
  1397. package/dist/vendored/brepjs/sketching/draw3d.d.ts.map +0 -1
  1398. package/dist/vendored/brepjs/sketching/draw3d.js +0 -150
  1399. package/dist/vendored/brepjs/sketching/draw3d.js.map +0 -1
  1400. package/dist/vendored/brepjs/sketching/drawFns.d.ts +0 -122
  1401. package/dist/vendored/brepjs/sketching/drawFns.d.ts.map +0 -1
  1402. package/dist/vendored/brepjs/sketching/drawFns.js +0 -129
  1403. package/dist/vendored/brepjs/sketching/drawFns.js.map +0 -1
  1404. package/dist/vendored/brepjs/sketching/drawing.d.ts +0 -128
  1405. package/dist/vendored/brepjs/sketching/drawing.d.ts.map +0 -1
  1406. package/dist/vendored/brepjs/sketching/drawing.js +0 -275
  1407. package/dist/vendored/brepjs/sketching/drawing.js.map +0 -1
  1408. package/dist/vendored/brepjs/sketching/drawingFactories.d.ts +0 -95
  1409. package/dist/vendored/brepjs/sketching/drawingFactories.d.ts.map +0 -1
  1410. package/dist/vendored/brepjs/sketching/drawingFactories.js +0 -125
  1411. package/dist/vendored/brepjs/sketching/drawingFactories.js.map +0 -1
  1412. package/dist/vendored/brepjs/sketching/drawingPen.d.ts +0 -35
  1413. package/dist/vendored/brepjs/sketching/drawingPen.d.ts.map +0 -1
  1414. package/dist/vendored/brepjs/sketching/drawingPen.js +0 -57
  1415. package/dist/vendored/brepjs/sketching/drawingPen.js.map +0 -1
  1416. package/dist/vendored/brepjs/sketching/faceSketcher.d.ts +0 -53
  1417. package/dist/vendored/brepjs/sketching/faceSketcher.d.ts.map +0 -1
  1418. package/dist/vendored/brepjs/sketching/faceSketcher.js +0 -167
  1419. package/dist/vendored/brepjs/sketching/faceSketcher.js.map +0 -1
  1420. package/dist/vendored/brepjs/sketching/shortcuts.d.ts +0 -16
  1421. package/dist/vendored/brepjs/sketching/shortcuts.d.ts.map +0 -1
  1422. package/dist/vendored/brepjs/sketching/shortcuts.js +0 -24
  1423. package/dist/vendored/brepjs/sketching/shortcuts.js.map +0 -1
  1424. package/dist/vendored/brepjs/sketching/sketch.d.ts +0 -157
  1425. package/dist/vendored/brepjs/sketching/sketch.d.ts.map +0 -1
  1426. package/dist/vendored/brepjs/sketching/sketch.js +0 -151
  1427. package/dist/vendored/brepjs/sketching/sketch.js.map +0 -1
  1428. package/dist/vendored/brepjs/sketching/sketchFns.d.ts +0 -89
  1429. package/dist/vendored/brepjs/sketching/sketchFns.d.ts.map +0 -1
  1430. package/dist/vendored/brepjs/sketching/sketchFns.js +0 -266
  1431. package/dist/vendored/brepjs/sketching/sketchFns.js.map +0 -1
  1432. package/dist/vendored/brepjs/sketching/sketcher.d.ts +0 -70
  1433. package/dist/vendored/brepjs/sketching/sketcher.d.ts.map +0 -1
  1434. package/dist/vendored/brepjs/sketching/sketcher.js +0 -181
  1435. package/dist/vendored/brepjs/sketching/sketcher.js.map +0 -1
  1436. package/dist/vendored/brepjs/sketching/sketches.d.ts +0 -70
  1437. package/dist/vendored/brepjs/sketching/sketches.d.ts.map +0 -1
  1438. package/dist/vendored/brepjs/sketching/sketches.js +0 -91
  1439. package/dist/vendored/brepjs/sketching/sketches.js.map +0 -1
  1440. package/dist/vendored/brepjs/sketching.d.ts +0 -28
  1441. package/dist/vendored/brepjs/sketching.d.ts.map +0 -1
  1442. package/dist/vendored/brepjs/sketching.js +0 -30
  1443. package/dist/vendored/brepjs/sketching.js.map +0 -1
  1444. package/dist/vendored/brepjs/text/fontRegistry.d.ts +0 -23
  1445. package/dist/vendored/brepjs/text/fontRegistry.d.ts.map +0 -1
  1446. package/dist/vendored/brepjs/text/fontRegistry.js +0 -61
  1447. package/dist/vendored/brepjs/text/fontRegistry.js.map +0 -1
  1448. package/dist/vendored/brepjs/text/sketchText.d.ts +0 -31
  1449. package/dist/vendored/brepjs/text/sketchText.d.ts.map +0 -1
  1450. package/dist/vendored/brepjs/text/sketchText.js +0 -30
  1451. package/dist/vendored/brepjs/text/sketchText.js.map +0 -1
  1452. package/dist/vendored/brepjs/text/textBlueprints.d.ts +0 -19
  1453. package/dist/vendored/brepjs/text/textBlueprints.d.ts.map +0 -1
  1454. package/dist/vendored/brepjs/text/textBlueprints.js +0 -61
  1455. package/dist/vendored/brepjs/text/textBlueprints.js.map +0 -1
  1456. package/dist/vendored/brepjs/text/textMetrics.d.ts +0 -40
  1457. package/dist/vendored/brepjs/text/textMetrics.d.ts.map +0 -1
  1458. package/dist/vendored/brepjs/text/textMetrics.js +0 -43
  1459. package/dist/vendored/brepjs/text/textMetrics.js.map +0 -1
  1460. package/dist/vendored/brepjs/text.d.ts +0 -13
  1461. package/dist/vendored/brepjs/text.d.ts.map +0 -1
  1462. package/dist/vendored/brepjs/text.js +0 -13
  1463. package/dist/vendored/brepjs/text.js.map +0 -1
  1464. package/dist/vendored/brepjs/topology/adjacencyFns.d.ts +0 -89
  1465. package/dist/vendored/brepjs/topology/adjacencyFns.d.ts.map +0 -1
  1466. package/dist/vendored/brepjs/topology/adjacencyFns.js +0 -411
  1467. package/dist/vendored/brepjs/topology/adjacencyFns.js.map +0 -1
  1468. package/dist/vendored/brepjs/topology/api.d.ts +0 -145
  1469. package/dist/vendored/brepjs/topology/api.d.ts.map +0 -1
  1470. package/dist/vendored/brepjs/topology/api.js +0 -282
  1471. package/dist/vendored/brepjs/topology/api.js.map +0 -1
  1472. package/dist/vendored/brepjs/topology/apiTypes.d.ts +0 -135
  1473. package/dist/vendored/brepjs/topology/apiTypes.d.ts.map +0 -1
  1474. package/dist/vendored/brepjs/topology/apiTypes.js +0 -24
  1475. package/dist/vendored/brepjs/topology/apiTypes.js.map +0 -1
  1476. package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts +0 -52
  1477. package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts.map +0 -1
  1478. package/dist/vendored/brepjs/topology/booleanBatchFns.js +0 -164
  1479. package/dist/vendored/brepjs/topology/booleanBatchFns.js.map +0 -1
  1480. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts +0 -21
  1481. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts.map +0 -1
  1482. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js +0 -23
  1483. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js.map +0 -1
  1484. package/dist/vendored/brepjs/topology/booleanFns.d.ts +0 -155
  1485. package/dist/vendored/brepjs/topology/booleanFns.d.ts.map +0 -1
  1486. package/dist/vendored/brepjs/topology/booleanFns.js +0 -600
  1487. package/dist/vendored/brepjs/topology/booleanFns.js.map +0 -1
  1488. package/dist/vendored/brepjs/topology/cast.d.ts +0 -48
  1489. package/dist/vendored/brepjs/topology/cast.d.ts.map +0 -1
  1490. package/dist/vendored/brepjs/topology/cast.js +0 -113
  1491. package/dist/vendored/brepjs/topology/cast.js.map +0 -1
  1492. package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts +0 -24
  1493. package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts.map +0 -1
  1494. package/dist/vendored/brepjs/topology/chamferAngleFns.js +0 -64
  1495. package/dist/vendored/brepjs/topology/chamferAngleFns.js.map +0 -1
  1496. package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts +0 -6
  1497. package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts.map +0 -1
  1498. package/dist/vendored/brepjs/topology/compoundOpsFns.js +0 -6
  1499. package/dist/vendored/brepjs/topology/compoundOpsFns.js.map +0 -1
  1500. package/dist/vendored/brepjs/topology/curveBuilders.d.ts +0 -90
  1501. package/dist/vendored/brepjs/topology/curveBuilders.d.ts.map +0 -1
  1502. package/dist/vendored/brepjs/topology/curveBuilders.js +0 -125
  1503. package/dist/vendored/brepjs/topology/curveBuilders.js.map +0 -1
  1504. package/dist/vendored/brepjs/topology/curveFns.d.ts +0 -96
  1505. package/dist/vendored/brepjs/topology/curveFns.d.ts.map +0 -1
  1506. package/dist/vendored/brepjs/topology/curveFns.js +0 -191
  1507. package/dist/vendored/brepjs/topology/curveFns.js.map +0 -1
  1508. package/dist/vendored/brepjs/topology/evolutionFns.d.ts +0 -78
  1509. package/dist/vendored/brepjs/topology/evolutionFns.d.ts.map +0 -1
  1510. package/dist/vendored/brepjs/topology/evolutionFns.js +0 -271
  1511. package/dist/vendored/brepjs/topology/evolutionFns.js.map +0 -1
  1512. package/dist/vendored/brepjs/topology/faceFns.d.ts +0 -86
  1513. package/dist/vendored/brepjs/topology/faceFns.d.ts.map +0 -1
  1514. package/dist/vendored/brepjs/topology/faceFns.js +0 -169
  1515. package/dist/vendored/brepjs/topology/faceFns.js.map +0 -1
  1516. package/dist/vendored/brepjs/topology/healingFns.d.ts +0 -98
  1517. package/dist/vendored/brepjs/topology/healingFns.d.ts.map +0 -1
  1518. package/dist/vendored/brepjs/topology/healingFns.js +0 -338
  1519. package/dist/vendored/brepjs/topology/healingFns.js.map +0 -1
  1520. package/dist/vendored/brepjs/topology/hullFns.d.ts +0 -21
  1521. package/dist/vendored/brepjs/topology/hullFns.d.ts.map +0 -1
  1522. package/dist/vendored/brepjs/topology/hullFns.js +0 -60
  1523. package/dist/vendored/brepjs/topology/hullFns.js.map +0 -1
  1524. package/dist/vendored/brepjs/topology/index.d.ts +0 -14
  1525. package/dist/vendored/brepjs/topology/index.d.ts.map +0 -1
  1526. package/dist/vendored/brepjs/topology/index.js +0 -17
  1527. package/dist/vendored/brepjs/topology/index.js.map +0 -1
  1528. package/dist/vendored/brepjs/topology/meshCache.d.ts +0 -68
  1529. package/dist/vendored/brepjs/topology/meshCache.d.ts.map +0 -1
  1530. package/dist/vendored/brepjs/topology/meshCache.js +0 -117
  1531. package/dist/vendored/brepjs/topology/meshCache.js.map +0 -1
  1532. package/dist/vendored/brepjs/topology/meshFns.d.ts +0 -179
  1533. package/dist/vendored/brepjs/topology/meshFns.d.ts.map +0 -1
  1534. package/dist/vendored/brepjs/topology/meshFns.js +0 -393
  1535. package/dist/vendored/brepjs/topology/meshFns.js.map +0 -1
  1536. package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts +0 -41
  1537. package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts.map +0 -1
  1538. package/dist/vendored/brepjs/topology/metadata/colorFns.js +0 -128
  1539. package/dist/vendored/brepjs/topology/metadata/colorFns.js.map +0 -1
  1540. package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts +0 -44
  1541. package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts.map +0 -1
  1542. package/dist/vendored/brepjs/topology/metadata/faceTagFns.js +0 -168
  1543. package/dist/vendored/brepjs/topology/metadata/faceTagFns.js.map +0 -1
  1544. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts +0 -59
  1545. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts.map +0 -1
  1546. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js +0 -109
  1547. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js.map +0 -1
  1548. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts +0 -43
  1549. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts.map +0 -1
  1550. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js +0 -270
  1551. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js.map +0 -1
  1552. package/dist/vendored/brepjs/topology/minkowskiFns.d.ts +0 -26
  1553. package/dist/vendored/brepjs/topology/minkowskiFns.d.ts.map +0 -1
  1554. package/dist/vendored/brepjs/topology/minkowskiFns.js +0 -136
  1555. package/dist/vendored/brepjs/topology/minkowskiFns.js.map +0 -1
  1556. package/dist/vendored/brepjs/topology/modifierFns.d.ts +0 -87
  1557. package/dist/vendored/brepjs/topology/modifierFns.d.ts.map +0 -1
  1558. package/dist/vendored/brepjs/topology/modifierFns.js +0 -446
  1559. package/dist/vendored/brepjs/topology/modifierFns.js.map +0 -1
  1560. package/dist/vendored/brepjs/topology/nurbsFns.d.ts +0 -13
  1561. package/dist/vendored/brepjs/topology/nurbsFns.d.ts.map +0 -1
  1562. package/dist/vendored/brepjs/topology/nurbsFns.js +0 -22
  1563. package/dist/vendored/brepjs/topology/nurbsFns.js.map +0 -1
  1564. package/dist/vendored/brepjs/topology/polyhedronFns.d.ts +0 -11
  1565. package/dist/vendored/brepjs/topology/polyhedronFns.d.ts.map +0 -1
  1566. package/dist/vendored/brepjs/topology/polyhedronFns.js +0 -47
  1567. package/dist/vendored/brepjs/topology/polyhedronFns.js.map +0 -1
  1568. package/dist/vendored/brepjs/topology/positionFns.d.ts +0 -18
  1569. package/dist/vendored/brepjs/topology/positionFns.d.ts.map +0 -1
  1570. package/dist/vendored/brepjs/topology/positionFns.js +0 -34
  1571. package/dist/vendored/brepjs/topology/positionFns.js.map +0 -1
  1572. package/dist/vendored/brepjs/topology/primitiveFns.d.ts +0 -244
  1573. package/dist/vendored/brepjs/topology/primitiveFns.d.ts.map +0 -1
  1574. package/dist/vendored/brepjs/topology/primitiveFns.js +0 -361
  1575. package/dist/vendored/brepjs/topology/primitiveFns.js.map +0 -1
  1576. package/dist/vendored/brepjs/topology/shapeBooleans.d.ts +0 -14
  1577. package/dist/vendored/brepjs/topology/shapeBooleans.d.ts.map +0 -1
  1578. package/dist/vendored/brepjs/topology/shapeBooleans.js +0 -24
  1579. package/dist/vendored/brepjs/topology/shapeBooleans.js.map +0 -1
  1580. package/dist/vendored/brepjs/topology/shapeFns.d.ts +0 -30
  1581. package/dist/vendored/brepjs/topology/shapeFns.d.ts.map +0 -1
  1582. package/dist/vendored/brepjs/topology/shapeFns.js +0 -50
  1583. package/dist/vendored/brepjs/topology/shapeFns.js.map +0 -1
  1584. package/dist/vendored/brepjs/topology/shapeHelpers.d.ts +0 -9
  1585. package/dist/vendored/brepjs/topology/shapeHelpers.d.ts.map +0 -1
  1586. package/dist/vendored/brepjs/topology/shapeHelpers.js +0 -14
  1587. package/dist/vendored/brepjs/topology/shapeHelpers.js.map +0 -1
  1588. package/dist/vendored/brepjs/topology/shapeModifiers.d.ts +0 -33
  1589. package/dist/vendored/brepjs/topology/shapeModifiers.d.ts.map +0 -1
  1590. package/dist/vendored/brepjs/topology/shapeModifiers.js +0 -28
  1591. package/dist/vendored/brepjs/topology/shapeModifiers.js.map +0 -1
  1592. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts +0 -29
  1593. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts.map +0 -1
  1594. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js +0 -135
  1595. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js.map +0 -1
  1596. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts +0 -25
  1597. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts.map +0 -1
  1598. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js +0 -123
  1599. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js.map +0 -1
  1600. package/dist/vendored/brepjs/topology/shapeRef/index.d.ts +0 -11
  1601. package/dist/vendored/brepjs/topology/shapeRef/index.d.ts.map +0 -1
  1602. package/dist/vendored/brepjs/topology/shapeRef/index.js +0 -10
  1603. package/dist/vendored/brepjs/topology/shapeRef/index.js.map +0 -1
  1604. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts +0 -66
  1605. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts.map +0 -1
  1606. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js +0 -128
  1607. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js.map +0 -1
  1608. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts +0 -18
  1609. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts.map +0 -1
  1610. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js +0 -51
  1611. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js.map +0 -1
  1612. package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts +0 -20
  1613. package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts.map +0 -1
  1614. package/dist/vendored/brepjs/topology/shapeRef/scoring.js +0 -65
  1615. package/dist/vendored/brepjs/topology/shapeRef/scoring.js.map +0 -1
  1616. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts +0 -59
  1617. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts.map +0 -1
  1618. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js +0 -266
  1619. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js.map +0 -1
  1620. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts +0 -153
  1621. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts.map +0 -1
  1622. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js +0 -6
  1623. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js.map +0 -1
  1624. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts +0 -24
  1625. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts.map +0 -1
  1626. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js +0 -128
  1627. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js.map +0 -1
  1628. package/dist/vendored/brepjs/topology/shapeUtils.d.ts +0 -16
  1629. package/dist/vendored/brepjs/topology/shapeUtils.d.ts.map +0 -1
  1630. package/dist/vendored/brepjs/topology/shapeUtils.js +0 -28
  1631. package/dist/vendored/brepjs/topology/shapeUtils.js.map +0 -1
  1632. package/dist/vendored/brepjs/topology/solidBuilders.d.ts +0 -74
  1633. package/dist/vendored/brepjs/topology/solidBuilders.d.ts.map +0 -1
  1634. package/dist/vendored/brepjs/topology/solidBuilders.js +0 -173
  1635. package/dist/vendored/brepjs/topology/solidBuilders.js.map +0 -1
  1636. package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts +0 -47
  1637. package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts.map +0 -1
  1638. package/dist/vendored/brepjs/topology/surfaceBuilders.js +0 -162
  1639. package/dist/vendored/brepjs/topology/surfaceBuilders.js.map +0 -1
  1640. package/dist/vendored/brepjs/topology/surfaceFns.d.ts +0 -41
  1641. package/dist/vendored/brepjs/topology/surfaceFns.d.ts.map +0 -1
  1642. package/dist/vendored/brepjs/topology/surfaceFns.js +0 -178
  1643. package/dist/vendored/brepjs/topology/surfaceFns.js.map +0 -1
  1644. package/dist/vendored/brepjs/topology/threeHelpers.d.ts +0 -124
  1645. package/dist/vendored/brepjs/topology/threeHelpers.d.ts.map +0 -1
  1646. package/dist/vendored/brepjs/topology/threeHelpers.js +0 -118
  1647. package/dist/vendored/brepjs/topology/threeHelpers.js.map +0 -1
  1648. package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts +0 -100
  1649. package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts.map +0 -1
  1650. package/dist/vendored/brepjs/topology/topologyQueryFns.js +0 -307
  1651. package/dist/vendored/brepjs/topology/topologyQueryFns.js.map +0 -1
  1652. package/dist/vendored/brepjs/topology/transformFns.d.ts +0 -69
  1653. package/dist/vendored/brepjs/topology/transformFns.d.ts.map +0 -1
  1654. package/dist/vendored/brepjs/topology/transformFns.js +0 -235
  1655. package/dist/vendored/brepjs/topology/transformFns.js.map +0 -1
  1656. package/dist/vendored/brepjs/topology/wrapperFns.d.ts +0 -169
  1657. package/dist/vendored/brepjs/topology/wrapperFns.d.ts.map +0 -1
  1658. package/dist/vendored/brepjs/topology/wrapperFns.js +0 -291
  1659. package/dist/vendored/brepjs/topology/wrapperFns.js.map +0 -1
  1660. package/dist/vendored/brepjs/topology.d.ts +0 -28
  1661. package/dist/vendored/brepjs/topology.d.ts.map +0 -1
  1662. package/dist/vendored/brepjs/topology.js +0 -39
  1663. package/dist/vendored/brepjs/topology.js.map +0 -1
  1664. package/dist/vendored/brepjs/utils/arrayAccess.d.ts +0 -12
  1665. package/dist/vendored/brepjs/utils/arrayAccess.d.ts.map +0 -1
  1666. package/dist/vendored/brepjs/utils/arrayAccess.js +0 -25
  1667. package/dist/vendored/brepjs/utils/arrayAccess.js.map +0 -1
  1668. package/dist/vendored/brepjs/utils/bug.d.ts +0 -15
  1669. package/dist/vendored/brepjs/utils/bug.d.ts.map +0 -1
  1670. package/dist/vendored/brepjs/utils/bug.js +0 -21
  1671. package/dist/vendored/brepjs/utils/bug.js.map +0 -1
  1672. package/dist/vendored/brepjs/utils/ioFilename.d.ts +0 -3
  1673. package/dist/vendored/brepjs/utils/ioFilename.d.ts.map +0 -1
  1674. package/dist/vendored/brepjs/utils/ioFilename.js +0 -7
  1675. package/dist/vendored/brepjs/utils/ioFilename.js.map +0 -1
  1676. package/dist/vendored/brepjs/utils/precisionRound.d.ts +0 -11
  1677. package/dist/vendored/brepjs/utils/precisionRound.d.ts.map +0 -1
  1678. package/dist/vendored/brepjs/utils/precisionRound.js +0 -19
  1679. package/dist/vendored/brepjs/utils/precisionRound.js.map +0 -1
  1680. package/dist/vendored/brepjs/utils/quaternion.d.ts +0 -18
  1681. package/dist/vendored/brepjs/utils/quaternion.d.ts.map +0 -1
  1682. package/dist/vendored/brepjs/utils/quaternion.js +0 -68
  1683. package/dist/vendored/brepjs/utils/quaternion.js.map +0 -1
  1684. package/dist/vendored/brepjs/utils/range.d.ts +0 -3
  1685. package/dist/vendored/brepjs/utils/range.d.ts.map +0 -1
  1686. package/dist/vendored/brepjs/utils/range.js +0 -5
  1687. package/dist/vendored/brepjs/utils/range.js.map +0 -1
  1688. package/dist/vendored/brepjs/utils/uuid.d.ts +0 -3
  1689. package/dist/vendored/brepjs/utils/uuid.d.ts.map +0 -1
  1690. package/dist/vendored/brepjs/utils/uuid.js +0 -7
  1691. package/dist/vendored/brepjs/utils/uuid.js.map +0 -1
  1692. package/dist/vendored/brepjs/utils/vec2d.d.ts +0 -62
  1693. package/dist/vendored/brepjs/utils/vec2d.d.ts.map +0 -1
  1694. package/dist/vendored/brepjs/utils/vec2d.js +0 -107
  1695. package/dist/vendored/brepjs/utils/vec2d.js.map +0 -1
  1696. package/dist/vendored/brepjs/utils/vec3.d.ts +0 -32
  1697. package/dist/vendored/brepjs/utils/vec3.d.ts.map +0 -1
  1698. package/dist/vendored/brepjs/utils/vec3.js +0 -35
  1699. package/dist/vendored/brepjs/utils/vec3.js.map +0 -1
  1700. package/dist/vendored/brepjs/utils/zip.d.ts +0 -5
  1701. package/dist/vendored/brepjs/utils/zip.d.ts.map +0 -1
  1702. package/dist/vendored/brepjs/utils/zip.js +0 -8
  1703. package/dist/vendored/brepjs/utils/zip.js.map +0 -1
  1704. package/dist/vendored/brepjs/vectors.d.ts +0 -11
  1705. package/dist/vendored/brepjs/vectors.d.ts.map +0 -1
  1706. package/dist/vendored/brepjs/vectors.js +0 -9
  1707. package/dist/vendored/brepjs/vectors.js.map +0 -1
@@ -1 +0,0 @@
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"]}
@@ -1,23 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,312 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"hullGeometry.js","sourceRoot":"","sources":["../../../../src/vendored/brepjs/kernel/hullGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,SAAS,GAAG,CAAC,CAAO,EAAE,CAAO;IAC3B,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,KAAK,CAAC,CAAO,EAAE,CAAO;IAC7B,OAAO;QACL,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,CAAO,EAAE,CAAO;IAC3B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,CAAO;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,MAAM,CAAC,CAAO,EAAE,CAAO;IAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACrC,CAAC;AAED,kFAAkF;AAClF,SAAS,EAAE,CAAC,GAAoB,EAAE,CAAS;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gCAAgC;AAChC,SAAS,GAAG,CAAC,GAAsB,EAAE,CAAS;IAC5C,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC;AAgBD,SAAS,QAAQ,CAAC,MAAuB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7F,OAAO;QACL,CAAC;QACD,CAAC;QACD,CAAC;QACD,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,KAAW;IAC7C,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,MAAc,EAAE,SAAiB;IAC1D,MAAM,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IACpC,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;gBACzB,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,SAAS,sBAAsB,CAAC,MAAuB;IACrD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvB,gFAAgF;IAChF,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,CAAC;gBACZ,EAAE,GAAG,CAAC,CAAC;gBACP,EAAE,GAAG,CAAC,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IAEjC,0CAA0C;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACpD,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACZ,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YAAE,SAAS;QACnC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC;YACpB,WAAW,GAAG,CAAC,CAAC;YAChB,EAAE,GAAG,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,WAAW,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IAElD,8CAA8C;IAC9C,MAAM,WAAW,GAAG,KAAK,CACvB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EACnC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CACpC,CAAC;IACF,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,QAAQ,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,EAAE,GAAG;QACT,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,QAAQ;QAC3B,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,QAAQ;QAC3B,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,QAAQ;KAC5B,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5C,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACZ,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YAAE,SAAS;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;YACrB,YAAY,GAAG,CAAC,CAAC;YACjB,EAAE,GAAG,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,YAAY,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IAEnD,6DAA6D;IAC7D,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC;IACjD,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;IAC/C,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;GAIG;AACH,2GAA2G;AAC3G,MAAM,UAAU,SAAS,CAAC,WAAmB,EAAE,SAAiB;IAC9D,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,kEAAkE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IAE7B,+DAA+D;IAC/D,MAAM,QAAQ,GAAS;QACrB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClF,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClF,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;KACnF,CAAC;IAEF,iEAAiE;IACjE,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,qDAAqD;QACrD,MAAM,UAAU,GAAS;YACvB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5D,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5D,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAC7D,CAAC;QACF,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,6BAA6B;YAC7B,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAe;QACxB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KAC5B,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEzC,oFAAoF;IACpF,oFAAoF;IACpF,MAAM,OAAO,GAAG,KAAK,CAAC;IAEtB,sDAAsD;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;gBAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;QACnE,kCAAkC;QAClC,IAAI,WAAW,GAAoB,IAAI,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,WAAW,KAAK,IAAI;YAAE,MAAM;QAEhC,yCAAyC;QACzC,IAAI,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;gBACrB,YAAY,GAAG,CAAC,CAAC;gBACjB,WAAW,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAe,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;gBACtE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmD,CAAC;QAC7E,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,KAAK,GAAuB;gBAChC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAChB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAChB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,CAAC;YACF,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,2CAA2C;oBAC3C,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAoC,EAAE,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACtB,sEAAsE;gBACtE,gDAAgD;gBAChD,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACxB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,4DAA4D;QAC5D,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;oBAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,WAAW,GAA6C,EAAE,CAAC;IACjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAU,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC","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"]}