@faicad/faijs 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2103) hide show
  1. package/LICENSE +29 -0
  2. package/NOTICE +29 -0
  3. package/dist/api/api-namespace.d.ts +27 -0
  4. package/dist/api/api-namespace.d.ts.map +1 -0
  5. package/dist/api/api-namespace.js +78 -0
  6. package/dist/api/api-namespace.js.map +1 -0
  7. package/dist/api/assembly/entities.d.ts +55 -0
  8. package/dist/api/assembly/entities.d.ts.map +1 -0
  9. package/dist/api/assembly/entities.js +158 -0
  10. package/dist/api/assembly/entities.js.map +1 -0
  11. package/dist/api/assembly/golden-mate.d.ts +49 -0
  12. package/dist/api/assembly/golden-mate.d.ts.map +1 -0
  13. package/dist/api/assembly/golden-mate.js +101 -0
  14. package/dist/api/assembly/golden-mate.js.map +1 -0
  15. package/dist/api/assembly/index.d.ts +16 -0
  16. package/dist/api/assembly/index.d.ts.map +1 -0
  17. package/dist/api/assembly/index.js +16 -0
  18. package/dist/api/assembly/index.js.map +1 -0
  19. package/dist/api/assembly/joints.d.ts +208 -0
  20. package/dist/api/assembly/joints.d.ts.map +1 -0
  21. package/dist/api/assembly/joints.js +240 -0
  22. package/dist/api/assembly/joints.js.map +1 -0
  23. package/dist/api/assembly/lower.d.ts +61 -0
  24. package/dist/api/assembly/lower.d.ts.map +1 -0
  25. package/dist/api/assembly/lower.js +145 -0
  26. package/dist/api/assembly/lower.js.map +1 -0
  27. package/dist/api/assembly/normalize.d.ts +19 -0
  28. package/dist/api/assembly/normalize.d.ts.map +1 -0
  29. package/dist/api/assembly/normalize.js +32 -0
  30. package/dist/api/assembly/normalize.js.map +1 -0
  31. package/dist/api/assembly/pose.d.ts +78 -0
  32. package/dist/api/assembly/pose.d.ts.map +1 -0
  33. package/dist/api/assembly/pose.js +116 -0
  34. package/dist/api/assembly/pose.js.map +1 -0
  35. package/dist/api/assembly/preview.d.ts +55 -0
  36. package/dist/api/assembly/preview.d.ts.map +1 -0
  37. package/dist/api/assembly/preview.js +61 -0
  38. package/dist/api/assembly/preview.js.map +1 -0
  39. package/dist/api/assembly/solve.d.ts +72 -0
  40. package/dist/api/assembly/solve.d.ts.map +1 -0
  41. package/dist/api/assembly/solve.js +139 -0
  42. package/dist/api/assembly/solve.js.map +1 -0
  43. package/dist/api/assembly/solvers/global-solver.d.ts +34 -0
  44. package/dist/api/assembly/solvers/global-solver.d.ts.map +1 -0
  45. package/dist/api/assembly/solvers/global-solver.js +461 -0
  46. package/dist/api/assembly/solvers/global-solver.js.map +1 -0
  47. package/dist/api/assembly/solvers/linalg.d.ts +92 -0
  48. package/dist/api/assembly/solvers/linalg.d.ts.map +1 -0
  49. package/dist/api/assembly/solvers/linalg.js +217 -0
  50. package/dist/api/assembly/solvers/linalg.js.map +1 -0
  51. package/dist/api/assembly/solvers/pose-from-delta.d.ts +43 -0
  52. package/dist/api/assembly/solvers/pose-from-delta.d.ts.map +1 -0
  53. package/dist/api/assembly/solvers/pose-from-delta.js +61 -0
  54. package/dist/api/assembly/solvers/pose-from-delta.js.map +1 -0
  55. package/dist/api/assembly/solvers/types.d.ts +60 -0
  56. package/dist/api/assembly/solvers/types.d.ts.map +1 -0
  57. package/dist/api/assembly/solvers/types.js +11 -0
  58. package/dist/api/assembly/solvers/types.js.map +1 -0
  59. package/dist/api/assembly/types.d.ts +136 -0
  60. package/dist/api/assembly/types.d.ts.map +1 -0
  61. package/dist/api/assembly/types.js +13 -0
  62. package/dist/api/assembly/types.js.map +1 -0
  63. package/dist/api/assembly/validate.d.ts +37 -0
  64. package/dist/api/assembly/validate.d.ts.map +1 -0
  65. package/dist/api/assembly/validate.js +131 -0
  66. package/dist/api/assembly/validate.js.map +1 -0
  67. package/dist/api/assert.d.ts +54 -0
  68. package/dist/api/assert.d.ts.map +1 -0
  69. package/dist/api/assert.js +90 -0
  70. package/dist/api/assert.js.map +1 -0
  71. package/dist/api/asset.d.ts +20 -0
  72. package/dist/api/asset.d.ts.map +1 -0
  73. package/dist/api/asset.js +28 -0
  74. package/dist/api/asset.js.map +1 -0
  75. package/dist/api/boolean.d.ts +56 -0
  76. package/dist/api/boolean.d.ts.map +1 -0
  77. package/dist/api/boolean.js +151 -0
  78. package/dist/api/boolean.js.map +1 -0
  79. package/dist/api/brep-mirror/joinery-brep.d.ts +172 -0
  80. package/dist/api/brep-mirror/joinery-brep.d.ts.map +1 -0
  81. package/dist/api/brep-mirror/joinery-brep.js +461 -0
  82. package/dist/api/brep-mirror/joinery-brep.js.map +1 -0
  83. package/dist/api/brep-mirror/threadFns.d.ts +68 -0
  84. package/dist/api/brep-mirror/threadFns.d.ts.map +1 -0
  85. package/dist/api/brep-mirror/threadFns.js +103 -0
  86. package/dist/api/brep-mirror/threadFns.js.map +1 -0
  87. package/dist/api/brepjs-compat/index.d.ts +234 -0
  88. package/dist/api/brepjs-compat/index.d.ts.map +1 -0
  89. package/dist/api/brepjs-compat/index.js +289 -0
  90. package/dist/api/brepjs-compat/index.js.map +1 -0
  91. package/dist/api/chamfer-math.d.ts +46 -0
  92. package/dist/api/chamfer-math.d.ts.map +1 -0
  93. package/dist/api/chamfer-math.js +60 -0
  94. package/dist/api/chamfer-math.js.map +1 -0
  95. package/dist/api/chamfer.d.ts +63 -0
  96. package/dist/api/chamfer.d.ts.map +1 -0
  97. package/dist/api/chamfer.js +234 -0
  98. package/dist/api/chamfer.js.map +1 -0
  99. package/dist/api/compat/index.d.ts +173 -0
  100. package/dist/api/compat/index.d.ts.map +1 -0
  101. package/dist/api/compat/index.js +222 -0
  102. package/dist/api/compat/index.js.map +1 -0
  103. package/dist/api/compound.d.ts +108 -0
  104. package/dist/api/compound.d.ts.map +1 -0
  105. package/dist/api/compound.js +162 -0
  106. package/dist/api/compound.js.map +1 -0
  107. package/dist/api/copy.d.ts +39 -0
  108. package/dist/api/copy.d.ts.map +1 -0
  109. package/dist/api/copy.js +81 -0
  110. package/dist/api/copy.js.map +1 -0
  111. package/dist/api/edge-ref.d.ts +42 -0
  112. package/dist/api/edge-ref.d.ts.map +1 -0
  113. package/dist/api/edge-ref.js +89 -0
  114. package/dist/api/edge-ref.js.map +1 -0
  115. package/dist/api/engrave.d.ts +39 -0
  116. package/dist/api/engrave.d.ts.map +1 -0
  117. package/dist/api/engrave.js +215 -0
  118. package/dist/api/engrave.js.map +1 -0
  119. package/dist/api/extrude.d.ts +81 -0
  120. package/dist/api/extrude.d.ts.map +1 -0
  121. package/dist/api/extrude.js +299 -0
  122. package/dist/api/extrude.js.map +1 -0
  123. package/dist/api/face-ref.d.ts +37 -0
  124. package/dist/api/face-ref.d.ts.map +1 -0
  125. package/dist/api/face-ref.js +64 -0
  126. package/dist/api/face-ref.js.map +1 -0
  127. package/dist/api/fai_drill.d.ts +46 -0
  128. package/dist/api/fai_drill.d.ts.map +1 -0
  129. package/dist/api/fai_drill.js +230 -0
  130. package/dist/api/fai_drill.js.map +1 -0
  131. package/dist/api/fai_extrude.d.ts +36 -0
  132. package/dist/api/fai_extrude.d.ts.map +1 -0
  133. package/dist/api/fai_extrude.js +78 -0
  134. package/dist/api/fai_extrude.js.map +1 -0
  135. package/dist/api/fai_split.d.ts +46 -0
  136. package/dist/api/fai_split.d.ts.map +1 -0
  137. package/dist/api/fai_split.js +253 -0
  138. package/dist/api/fai_split.js.map +1 -0
  139. package/dist/api/fillet.d.ts +46 -0
  140. package/dist/api/fillet.d.ts.map +1 -0
  141. package/dist/api/fillet.js +127 -0
  142. package/dist/api/fillet.js.map +1 -0
  143. package/dist/api/generated/2d.d.ts +18 -0
  144. package/dist/api/generated/2d.d.ts.map +1 -0
  145. package/dist/api/generated/2d.js +2 -0
  146. package/dist/api/generated/2d.js.map +1 -0
  147. package/dist/api/generated/brepjs/index.d.ts +310 -0
  148. package/dist/api/generated/brepjs/index.d.ts.map +1 -0
  149. package/dist/api/generated/brepjs/index.js +195 -0
  150. package/dist/api/generated/brepjs/index.js.map +1 -0
  151. package/dist/api/generated/cad/script-face.d.ts +12 -0
  152. package/dist/api/generated/cad/script-face.d.ts.map +1 -0
  153. package/dist/api/generated/cad/script-face.js +147 -0
  154. package/dist/api/generated/cad/script-face.js.map +1 -0
  155. package/dist/api/generated/core.d.ts +126 -0
  156. package/dist/api/generated/core.d.ts.map +1 -0
  157. package/dist/api/generated/core.js +86 -0
  158. package/dist/api/generated/core.js.map +1 -0
  159. package/dist/api/generated/gear.d.ts +20 -0
  160. package/dist/api/generated/gear.d.ts.map +1 -0
  161. package/dist/api/generated/gear.js +4 -0
  162. package/dist/api/generated/gear.js.map +1 -0
  163. package/dist/api/generated/io.d.ts +18 -0
  164. package/dist/api/generated/io.d.ts.map +1 -0
  165. package/dist/api/generated/io.js +2 -0
  166. package/dist/api/generated/io.js.map +1 -0
  167. package/dist/api/generated/kernel.d.ts +44 -0
  168. package/dist/api/generated/kernel.d.ts.map +1 -0
  169. package/dist/api/generated/kernel.js +5 -0
  170. package/dist/api/generated/kernel.js.map +1 -0
  171. package/dist/api/generated/measurement.d.ts +132 -0
  172. package/dist/api/generated/measurement.d.ts.map +1 -0
  173. package/dist/api/generated/measurement.js +191 -0
  174. package/dist/api/generated/measurement.js.map +1 -0
  175. package/dist/api/generated/ns.d.ts +15 -0
  176. package/dist/api/generated/ns.d.ts.map +1 -0
  177. package/dist/api/generated/ns.js +15 -0
  178. package/dist/api/generated/ns.js.map +1 -0
  179. package/dist/api/generated/operations.d.ts +190 -0
  180. package/dist/api/generated/operations.d.ts.map +1 -0
  181. package/dist/api/generated/operations.js +131 -0
  182. package/dist/api/generated/operations.js.map +1 -0
  183. package/dist/api/generated/projection.d.ts +13 -0
  184. package/dist/api/generated/projection.d.ts.map +1 -0
  185. package/dist/api/generated/projection.js +5 -0
  186. package/dist/api/generated/projection.js.map +1 -0
  187. package/dist/api/generated/query.d.ts +14 -0
  188. package/dist/api/generated/query.d.ts.map +1 -0
  189. package/dist/api/generated/query.js +2 -0
  190. package/dist/api/generated/query.js.map +1 -0
  191. package/dist/api/generated/script-face-manifest.d.ts +15 -0
  192. package/dist/api/generated/script-face-manifest.d.ts.map +1 -0
  193. package/dist/api/generated/script-face-manifest.js +39 -0
  194. package/dist/api/generated/script-face-manifest.js.map +1 -0
  195. package/dist/api/generated/script-face.d.ts +100 -0
  196. package/dist/api/generated/script-face.d.ts.map +1 -0
  197. package/dist/api/generated/script-face.js +49 -0
  198. package/dist/api/generated/script-face.js.map +1 -0
  199. package/dist/api/generated/sketching.d.ts +13 -0
  200. package/dist/api/generated/sketching.d.ts.map +1 -0
  201. package/dist/api/generated/sketching.js +16 -0
  202. package/dist/api/generated/sketching.js.map +1 -0
  203. package/dist/api/generated/text.d.ts +11 -0
  204. package/dist/api/generated/text.d.ts.map +1 -0
  205. package/dist/api/generated/text.js +4 -0
  206. package/dist/api/generated/text.js.map +1 -0
  207. package/dist/api/generated/topology.d.ts +353 -0
  208. package/dist/api/generated/topology.d.ts.map +1 -0
  209. package/dist/api/generated/topology.js +253 -0
  210. package/dist/api/generated/topology.js.map +1 -0
  211. package/dist/api/generated/view.d.ts +9 -0
  212. package/dist/api/generated/view.d.ts.map +1 -0
  213. package/dist/api/generated/view.js +9 -0
  214. package/dist/api/generated/view.js.map +1 -0
  215. package/dist/api/geom.d.ts +66 -0
  216. package/dist/api/geom.d.ts.map +1 -0
  217. package/dist/api/geom.js +122 -0
  218. package/dist/api/geom.js.map +1 -0
  219. package/dist/api/index.d.ts +47 -0
  220. package/dist/api/index.d.ts.map +1 -0
  221. package/dist/api/index.js +70 -0
  222. package/dist/api/index.js.map +1 -0
  223. package/dist/api/internal/compat-op.d.ts +88 -0
  224. package/dist/api/internal/compat-op.d.ts.map +1 -0
  225. package/dist/api/internal/compat-op.js +176 -0
  226. package/dist/api/internal/compat-op.js.map +1 -0
  227. package/dist/api/internal/compat-projection.d.ts +53 -0
  228. package/dist/api/internal/compat-projection.d.ts.map +1 -0
  229. package/dist/api/internal/compat-projection.js +72 -0
  230. package/dist/api/internal/compat-projection.js.map +1 -0
  231. package/dist/api/internal/dual-form-args.d.ts +143 -0
  232. package/dist/api/internal/dual-form-args.d.ts.map +1 -0
  233. package/dist/api/internal/dual-form-args.js +217 -0
  234. package/dist/api/internal/dual-form-args.js.map +1 -0
  235. package/dist/api/internal/l3-bridge.d.ts +94 -0
  236. package/dist/api/internal/l3-bridge.d.ts.map +1 -0
  237. package/dist/api/internal/l3-bridge.js +143 -0
  238. package/dist/api/internal/l3-bridge.js.map +1 -0
  239. package/dist/api/internal/result-unwrap.d.ts +101 -0
  240. package/dist/api/internal/result-unwrap.d.ts.map +1 -0
  241. package/dist/api/internal/result-unwrap.js +119 -0
  242. package/dist/api/internal/result-unwrap.js.map +1 -0
  243. package/dist/api/internal/svg-asset-resolver.d.ts +22 -0
  244. package/dist/api/internal/svg-asset-resolver.d.ts.map +1 -0
  245. package/dist/api/internal/svg-asset-resolver.js +45 -0
  246. package/dist/api/internal/svg-asset-resolver.js.map +1 -0
  247. package/dist/api/knurl.d.ts +38 -0
  248. package/dist/api/knurl.d.ts.map +1 -0
  249. package/dist/api/knurl.js +62 -0
  250. package/dist/api/knurl.js.map +1 -0
  251. package/dist/api/load.d.ts +39 -0
  252. package/dist/api/load.d.ts.map +1 -0
  253. package/dist/api/load.js +82 -0
  254. package/dist/api/load.js.map +1 -0
  255. package/dist/api/occt-kernel-bridge.d.ts +43 -0
  256. package/dist/api/occt-kernel-bridge.d.ts.map +1 -0
  257. package/dist/api/occt-kernel-bridge.js +59 -0
  258. package/dist/api/occt-kernel-bridge.js.map +1 -0
  259. package/dist/api/primitives.d.ts +161 -0
  260. package/dist/api/primitives.d.ts.map +1 -0
  261. package/dist/api/primitives.js +296 -0
  262. package/dist/api/primitives.js.map +1 -0
  263. package/dist/api/reconcile.d.ts +28 -0
  264. package/dist/api/reconcile.d.ts.map +1 -0
  265. package/dist/api/reconcile.js +45 -0
  266. package/dist/api/reconcile.js.map +1 -0
  267. package/dist/api/result.d.ts +15 -0
  268. package/dist/api/result.d.ts.map +1 -0
  269. package/dist/api/result.js +15 -0
  270. package/dist/api/result.js.map +1 -0
  271. package/dist/api/screw.d.ts +38 -0
  272. package/dist/api/screw.d.ts.map +1 -0
  273. package/dist/api/screw.js +160 -0
  274. package/dist/api/screw.js.map +1 -0
  275. package/dist/api/sdf.d.ts +32 -0
  276. package/dist/api/sdf.d.ts.map +1 -0
  277. package/dist/api/sdf.js +46 -0
  278. package/dist/api/sdf.js.map +1 -0
  279. package/dist/api/sketch.d.ts +73 -0
  280. package/dist/api/sketch.d.ts.map +1 -0
  281. package/dist/api/sketch.js +149 -0
  282. package/dist/api/sketch.js.map +1 -0
  283. package/dist/api/surface/arg-spec.d.ts +111 -0
  284. package/dist/api/surface/arg-spec.d.ts.map +1 -0
  285. package/dist/api/surface/arg-spec.js +3535 -0
  286. package/dist/api/surface/arg-spec.js.map +1 -0
  287. package/dist/api/surface/projection-overrides.d.ts +38 -0
  288. package/dist/api/surface/projection-overrides.d.ts.map +1 -0
  289. package/dist/api/surface/projection-overrides.js +163 -0
  290. package/dist/api/surface/projection-overrides.js.map +1 -0
  291. package/dist/api/svgExtrude.d.ts +32 -0
  292. package/dist/api/svgExtrude.d.ts.map +1 -0
  293. package/dist/api/svgExtrude.js +73 -0
  294. package/dist/api/svgExtrude.js.map +1 -0
  295. package/dist/api/text.d.ts +34 -0
  296. package/dist/api/text.d.ts.map +1 -0
  297. package/dist/api/text.js +100 -0
  298. package/dist/api/text.js.map +1 -0
  299. package/dist/api/topo-resolve.d.ts +89 -0
  300. package/dist/api/topo-resolve.d.ts.map +1 -0
  301. package/dist/api/topo-resolve.js +195 -0
  302. package/dist/api/topo-resolve.js.map +1 -0
  303. package/dist/api/transform.d.ts +108 -0
  304. package/dist/api/transform.d.ts.map +1 -0
  305. package/dist/api/transform.js +229 -0
  306. package/dist/api/transform.js.map +1 -0
  307. package/dist/api/view/index.d.ts +16 -0
  308. package/dist/api/view/index.d.ts.map +1 -0
  309. package/dist/api/view/index.js +16 -0
  310. package/dist/api/view/index.js.map +1 -0
  311. package/dist/api/view/view-camera.d.ts +53 -0
  312. package/dist/api/view/view-camera.d.ts.map +1 -0
  313. package/dist/api/view/view-camera.js +51 -0
  314. package/dist/api/view/view-camera.js.map +1 -0
  315. package/dist/api/view/view-projection.d.ts +80 -0
  316. package/dist/api/view/view-projection.d.ts.map +1 -0
  317. package/dist/api/view/view-projection.js +128 -0
  318. package/dist/api/view/view-projection.js.map +1 -0
  319. package/dist/api/view/view-sheet.d.ts +56 -0
  320. package/dist/api/view/view-sheet.d.ts.map +1 -0
  321. package/dist/api/view/view-sheet.js +91 -0
  322. package/dist/api/view/view-sheet.js.map +1 -0
  323. package/dist/boolean/cross-section.d.ts +64 -0
  324. package/dist/boolean/cross-section.d.ts.map +1 -0
  325. package/dist/boolean/cross-section.js +301 -0
  326. package/dist/boolean/cross-section.js.map +1 -0
  327. package/dist/boolean/csg-backend.d.ts +94 -0
  328. package/dist/boolean/csg-backend.d.ts.map +1 -0
  329. package/dist/boolean/csg-backend.js +137 -0
  330. package/dist/boolean/csg-backend.js.map +1 -0
  331. package/dist/boolean/csg-core.d.ts +207 -0
  332. package/dist/boolean/csg-core.d.ts.map +1 -0
  333. package/dist/boolean/csg-core.js +576 -0
  334. package/dist/boolean/csg-core.js.map +1 -0
  335. package/dist/boolean/deriveNormals.d.ts +21 -0
  336. package/dist/boolean/deriveNormals.d.ts.map +1 -0
  337. package/dist/boolean/deriveNormals.js +24 -0
  338. package/dist/boolean/deriveNormals.js.map +1 -0
  339. package/dist/boolean/dovetail-math.d.ts +56 -0
  340. package/dist/boolean/dovetail-math.d.ts.map +1 -0
  341. package/dist/boolean/dovetail-math.js +85 -0
  342. package/dist/boolean/dovetail-math.js.map +1 -0
  343. package/dist/boolean/extrude-helpers.d.ts +88 -0
  344. package/dist/boolean/extrude-helpers.d.ts.map +1 -0
  345. package/dist/boolean/extrude-helpers.js +134 -0
  346. package/dist/boolean/extrude-helpers.js.map +1 -0
  347. package/dist/boolean/geo-convert.d.ts +52 -0
  348. package/dist/boolean/geo-convert.d.ts.map +1 -0
  349. package/dist/boolean/geo-convert.js +94 -0
  350. package/dist/boolean/geo-convert.js.map +1 -0
  351. package/dist/boolean/joinery-shapes.d.ts +76 -0
  352. package/dist/boolean/joinery-shapes.d.ts.map +1 -0
  353. package/dist/boolean/joinery-shapes.js +205 -0
  354. package/dist/boolean/joinery-shapes.js.map +1 -0
  355. package/dist/boolean/manifold-preview.d.ts +26 -0
  356. package/dist/boolean/manifold-preview.d.ts.map +1 -0
  357. package/dist/boolean/manifold-preview.js +48 -0
  358. package/dist/boolean/manifold-preview.js.map +1 -0
  359. package/dist/brep/brep-chain.d.ts +115 -0
  360. package/dist/brep/brep-chain.d.ts.map +1 -0
  361. package/dist/brep/brep-chain.js +99 -0
  362. package/dist/brep/brep-chain.js.map +1 -0
  363. package/dist/brep/brep-ops.d.ts +251 -0
  364. package/dist/brep/brep-ops.d.ts.map +1 -0
  365. package/dist/brep/brep-ops.js +545 -0
  366. package/dist/brep/brep-ops.js.map +1 -0
  367. package/dist/brep/brep-topology.d.ts +63 -0
  368. package/dist/brep/brep-topology.d.ts.map +1 -0
  369. package/dist/brep/brep-topology.js +86 -0
  370. package/dist/brep/brep-topology.js.map +1 -0
  371. package/dist/brep/brep-utils.d.ts +25 -0
  372. package/dist/brep/brep-utils.d.ts.map +1 -0
  373. package/dist/brep/brep-utils.js +42 -0
  374. package/dist/brep/brep-utils.js.map +1 -0
  375. package/dist/brep/engine/adapters/brep-mock.d.ts +24 -0
  376. package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -0
  377. package/dist/brep/engine/adapters/brep-mock.js +303 -0
  378. package/dist/brep/engine/adapters/brep-mock.js.map +1 -0
  379. package/dist/brep/engine/adapters/brepkit.d.ts +25 -0
  380. package/dist/brep/engine/adapters/brepkit.d.ts.map +1 -0
  381. package/dist/brep/engine/adapters/brepkit.js +51 -0
  382. package/dist/brep/engine/adapters/brepkit.js.map +1 -0
  383. package/dist/brep/engine/adapters/occt.d.ts +31 -0
  384. package/dist/brep/engine/adapters/occt.d.ts.map +1 -0
  385. package/dist/brep/engine/adapters/occt.js +61 -0
  386. package/dist/brep/engine/adapters/occt.js.map +1 -0
  387. package/dist/brep/engine/primitives.d.ts +136 -0
  388. package/dist/brep/engine/primitives.d.ts.map +1 -0
  389. package/dist/brep/engine/primitives.js +13 -0
  390. package/dist/brep/engine/primitives.js.map +1 -0
  391. package/dist/brep/engine/registry.d.ts +88 -0
  392. package/dist/brep/engine/registry.d.ts.map +1 -0
  393. package/dist/brep/engine/registry.js +139 -0
  394. package/dist/brep/engine/registry.js.map +1 -0
  395. package/dist/brep/engine/types.d.ts +157 -0
  396. package/dist/brep/engine/types.d.ts.map +1 -0
  397. package/dist/brep/engine/types.js +11 -0
  398. package/dist/brep/engine/types.js.map +1 -0
  399. package/dist/brep/export/step.d.ts +48 -0
  400. package/dist/brep/export/step.d.ts.map +1 -0
  401. package/dist/brep/export/step.js +118 -0
  402. package/dist/brep/export/step.js.map +1 -0
  403. package/dist/brep/export/stl.d.ts +27 -0
  404. package/dist/brep/export/stl.d.ts.map +1 -0
  405. package/dist/brep/export/stl.js +93 -0
  406. package/dist/brep/export/stl.js.map +1 -0
  407. package/dist/brep/face-evolution.d.ts +244 -0
  408. package/dist/brep/face-evolution.d.ts.map +1 -0
  409. package/dist/brep/face-evolution.js +408 -0
  410. package/dist/brep/face-evolution.js.map +1 -0
  411. package/dist/brep/handle-bridge.d.ts +59 -0
  412. package/dist/brep/handle-bridge.d.ts.map +1 -0
  413. package/dist/brep/handle-bridge.js +91 -0
  414. package/dist/brep/handle-bridge.js.map +1 -0
  415. package/dist/brep/index.d.ts +15 -0
  416. package/dist/brep/index.d.ts.map +1 -0
  417. package/dist/brep/index.js +20 -0
  418. package/dist/brep/index.js.map +1 -0
  419. package/dist/brep/primitives-brep.d.ts +52 -0
  420. package/dist/brep/primitives-brep.d.ts.map +1 -0
  421. package/dist/brep/primitives-brep.js +108 -0
  422. package/dist/brep/primitives-brep.js.map +1 -0
  423. package/dist/brep/svg/svg-to-solid.d.ts +111 -0
  424. package/dist/brep/svg/svg-to-solid.d.ts.map +1 -0
  425. package/dist/brep/svg/svg-to-solid.js +843 -0
  426. package/dist/brep/svg/svg-to-solid.js.map +1 -0
  427. package/dist/brep/text/fontRegistry.d.ts +71 -0
  428. package/dist/brep/text/fontRegistry.d.ts.map +1 -0
  429. package/dist/brep/text/fontRegistry.js +100 -0
  430. package/dist/brep/text/fontRegistry.js.map +1 -0
  431. package/dist/brep/text/fontTestHelper.d.ts +30 -0
  432. package/dist/brep/text/fontTestHelper.d.ts.map +1 -0
  433. package/dist/brep/text/fontTestHelper.js +57 -0
  434. package/dist/brep/text/fontTestHelper.js.map +1 -0
  435. package/dist/brep/text/text-to-solid.d.ts +48 -0
  436. package/dist/brep/text/text-to-solid.d.ts.map +1 -0
  437. package/dist/brep/text/text-to-solid.js +218 -0
  438. package/dist/brep/text/text-to-solid.js.map +1 -0
  439. package/dist/brepjs-compat.d.ts +20 -0
  440. package/dist/brepjs-compat.d.ts.map +1 -0
  441. package/dist/brepjs-compat.js +20 -0
  442. package/dist/brepjs-compat.js.map +1 -0
  443. package/dist/brepkit-kernel/brepkitKernel.d.ts +29 -0
  444. package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -0
  445. package/dist/brepkit-kernel/brepkitKernel.js +571 -0
  446. package/dist/brepkit-kernel/brepkitKernel.js.map +1 -0
  447. package/dist/brepkit-kernel/brepkitWasm.d.ts +25 -0
  448. package/dist/brepkit-kernel/brepkitWasm.d.ts.map +1 -0
  449. package/dist/brepkit-kernel/brepkitWasm.js +51 -0
  450. package/dist/brepkit-kernel/brepkitWasm.js.map +1 -0
  451. package/dist/browser-host/browser-event-sink.d.ts +31 -0
  452. package/dist/browser-host/browser-event-sink.d.ts.map +1 -0
  453. package/dist/browser-host/browser-event-sink.js +35 -0
  454. package/dist/browser-host/browser-event-sink.js.map +1 -0
  455. package/dist/browser-host/browser-font-provider.d.ts +47 -0
  456. package/dist/browser-host/browser-font-provider.d.ts.map +1 -0
  457. package/dist/browser-host/browser-font-provider.js +69 -0
  458. package/dist/browser-host/browser-font-provider.js.map +1 -0
  459. package/dist/browser-host/csg-worker-protocol.d.ts +102 -0
  460. package/dist/browser-host/csg-worker-protocol.d.ts.map +1 -0
  461. package/dist/browser-host/csg-worker-protocol.js +8 -0
  462. package/dist/browser-host/csg-worker-protocol.js.map +1 -0
  463. package/dist/browser-host/csg-worker.d.ts +13 -0
  464. package/dist/browser-host/csg-worker.d.ts.map +1 -0
  465. package/dist/browser-host/csg-worker.js +98 -0
  466. package/dist/browser-host/csg-worker.js.map +1 -0
  467. package/dist/browser-host/fetch-asset-resolver.d.ts +45 -0
  468. package/dist/browser-host/fetch-asset-resolver.d.ts.map +1 -0
  469. package/dist/browser-host/fetch-asset-resolver.js +63 -0
  470. package/dist/browser-host/fetch-asset-resolver.js.map +1 -0
  471. package/dist/browser-host/index.d.ts +76 -0
  472. package/dist/browser-host/index.d.ts.map +1 -0
  473. package/dist/browser-host/index.js +95 -0
  474. package/dist/browser-host/index.js.map +1 -0
  475. package/dist/browser-host/inline-csg-backend.d.ts +56 -0
  476. package/dist/browser-host/inline-csg-backend.d.ts.map +1 -0
  477. package/dist/browser-host/inline-csg-backend.js +110 -0
  478. package/dist/browser-host/inline-csg-backend.js.map +1 -0
  479. package/dist/browser-host/inline-sdf-backend.d.ts +23 -0
  480. package/dist/browser-host/inline-sdf-backend.d.ts.map +1 -0
  481. package/dist/browser-host/inline-sdf-backend.js +28 -0
  482. package/dist/browser-host/inline-sdf-backend.js.map +1 -0
  483. package/dist/browser-host/sdf-worker-protocol.d.ts +41 -0
  484. package/dist/browser-host/sdf-worker-protocol.d.ts.map +1 -0
  485. package/dist/browser-host/sdf-worker-protocol.js +5 -0
  486. package/dist/browser-host/sdf-worker-protocol.js.map +1 -0
  487. package/dist/browser-host/sdf-worker.d.ts +12 -0
  488. package/dist/browser-host/sdf-worker.d.ts.map +1 -0
  489. package/dist/browser-host/sdf-worker.js +39 -0
  490. package/dist/browser-host/sdf-worker.js.map +1 -0
  491. package/dist/browser-host/worker-csg-backend.d.ts +63 -0
  492. package/dist/browser-host/worker-csg-backend.d.ts.map +1 -0
  493. package/dist/browser-host/worker-csg-backend.js +92 -0
  494. package/dist/browser-host/worker-csg-backend.js.map +1 -0
  495. package/dist/browser-host/worker-sdf-backend.d.ts +26 -0
  496. package/dist/browser-host/worker-sdf-backend.d.ts.map +1 -0
  497. package/dist/browser-host/worker-sdf-backend.js +66 -0
  498. package/dist/browser-host/worker-sdf-backend.js.map +1 -0
  499. package/dist/browser.d.ts +136 -0
  500. package/dist/browser.d.ts.map +1 -0
  501. package/dist/browser.js +119 -0
  502. package/dist/browser.js.map +1 -0
  503. package/dist/cad-runtime/admit-compat-lib.d.ts +29 -0
  504. package/dist/cad-runtime/admit-compat-lib.d.ts.map +1 -0
  505. package/dist/cad-runtime/admit-compat-lib.js +49 -0
  506. package/dist/cad-runtime/admit-compat-lib.js.map +1 -0
  507. package/dist/cad-runtime/backend-dispatch.d.ts +58 -0
  508. package/dist/cad-runtime/backend-dispatch.d.ts.map +1 -0
  509. package/dist/cad-runtime/backend-dispatch.js +87 -0
  510. package/dist/cad-runtime/backend-dispatch.js.map +1 -0
  511. package/dist/cad-runtime/browser-lib-loader.d.ts +76 -0
  512. package/dist/cad-runtime/browser-lib-loader.d.ts.map +1 -0
  513. package/dist/cad-runtime/browser-lib-loader.js +113 -0
  514. package/dist/cad-runtime/browser-lib-loader.js.map +1 -0
  515. package/dist/cad-runtime/content-key.d.ts +30 -0
  516. package/dist/cad-runtime/content-key.d.ts.map +1 -0
  517. package/dist/cad-runtime/content-key.js +134 -0
  518. package/dist/cad-runtime/content-key.js.map +1 -0
  519. package/dist/cad-runtime/createRuntimeWithCad.d.ts +22 -0
  520. package/dist/cad-runtime/createRuntimeWithCad.d.ts.map +1 -0
  521. package/dist/cad-runtime/createRuntimeWithCad.js +29 -0
  522. package/dist/cad-runtime/createRuntimeWithCad.js.map +1 -0
  523. package/dist/cad-runtime/direct-executor.d.ts +404 -0
  524. package/dist/cad-runtime/direct-executor.d.ts.map +1 -0
  525. package/dist/cad-runtime/direct-executor.js +1180 -0
  526. package/dist/cad-runtime/direct-executor.js.map +1 -0
  527. package/dist/cad-runtime/exec-backend.d.ts +62 -0
  528. package/dist/cad-runtime/exec-backend.d.ts.map +1 -0
  529. package/dist/cad-runtime/exec-backend.js +18 -0
  530. package/dist/cad-runtime/exec-backend.js.map +1 -0
  531. package/dist/cad-runtime/exec-backends/interp-backend.d.ts +36 -0
  532. package/dist/cad-runtime/exec-backends/interp-backend.d.ts.map +1 -0
  533. package/dist/cad-runtime/exec-backends/interp-backend.js +91 -0
  534. package/dist/cad-runtime/exec-backends/interp-backend.js.map +1 -0
  535. package/dist/cad-runtime/exec-backends/vm-backend.d.ts +19 -0
  536. package/dist/cad-runtime/exec-backends/vm-backend.d.ts.map +1 -0
  537. package/dist/cad-runtime/exec-backends/vm-backend.js +16 -0
  538. package/dist/cad-runtime/exec-backends/vm-backend.js.map +1 -0
  539. package/dist/cad-runtime/execution-limit-error.d.ts +13 -0
  540. package/dist/cad-runtime/execution-limit-error.d.ts.map +1 -0
  541. package/dist/cad-runtime/execution-limit-error.js +16 -0
  542. package/dist/cad-runtime/execution-limit-error.js.map +1 -0
  543. package/dist/cad-runtime/index.d.ts +10 -0
  544. package/dist/cad-runtime/index.d.ts.map +1 -0
  545. package/dist/cad-runtime/index.js +7 -0
  546. package/dist/cad-runtime/index.js.map +1 -0
  547. package/dist/cad-runtime/interp/closure.d.ts +39 -0
  548. package/dist/cad-runtime/interp/closure.d.ts.map +1 -0
  549. package/dist/cad-runtime/interp/closure.js +66 -0
  550. package/dist/cad-runtime/interp/closure.js.map +1 -0
  551. package/dist/cad-runtime/interp/env.d.ts +79 -0
  552. package/dist/cad-runtime/interp/env.d.ts.map +1 -0
  553. package/dist/cad-runtime/interp/env.js +76 -0
  554. package/dist/cad-runtime/interp/env.js.map +1 -0
  555. package/dist/cad-runtime/interp/eval-expr.d.ts +23 -0
  556. package/dist/cad-runtime/interp/eval-expr.d.ts.map +1 -0
  557. package/dist/cad-runtime/interp/eval-expr.js +232 -0
  558. package/dist/cad-runtime/interp/eval-expr.js.map +1 -0
  559. package/dist/cad-runtime/interp/exec-stmt.d.ts +34 -0
  560. package/dist/cad-runtime/interp/exec-stmt.d.ts.map +1 -0
  561. package/dist/cad-runtime/interp/exec-stmt.js +276 -0
  562. package/dist/cad-runtime/interp/exec-stmt.js.map +1 -0
  563. package/dist/cad-runtime/interp/signals.d.ts +31 -0
  564. package/dist/cad-runtime/interp/signals.d.ts.map +1 -0
  565. package/dist/cad-runtime/interp/signals.js +45 -0
  566. package/dist/cad-runtime/interp/signals.js.map +1 -0
  567. package/dist/cad-runtime/lib-id.d.ts +30 -0
  568. package/dist/cad-runtime/lib-id.d.ts.map +1 -0
  569. package/dist/cad-runtime/lib-id.js +94 -0
  570. package/dist/cad-runtime/lib-id.js.map +1 -0
  571. package/dist/cad-runtime/live-shapes.d.ts +94 -0
  572. package/dist/cad-runtime/live-shapes.d.ts.map +1 -0
  573. package/dist/cad-runtime/live-shapes.js +258 -0
  574. package/dist/cad-runtime/live-shapes.js.map +1 -0
  575. package/dist/cad-runtime/module-executor.d.ts +271 -0
  576. package/dist/cad-runtime/module-executor.d.ts.map +1 -0
  577. package/dist/cad-runtime/module-executor.js +630 -0
  578. package/dist/cad-runtime/module-executor.js.map +1 -0
  579. package/dist/cad-runtime/module-registry.d.ts +114 -0
  580. package/dist/cad-runtime/module-registry.d.ts.map +1 -0
  581. package/dist/cad-runtime/module-registry.js +218 -0
  582. package/dist/cad-runtime/module-registry.js.map +1 -0
  583. package/dist/cad-runtime/ports.d.ts +213 -0
  584. package/dist/cad-runtime/ports.d.ts.map +1 -0
  585. package/dist/cad-runtime/ports.js +13 -0
  586. package/dist/cad-runtime/ports.js.map +1 -0
  587. package/dist/cad-runtime/preview-exec.d.ts +50 -0
  588. package/dist/cad-runtime/preview-exec.d.ts.map +1 -0
  589. package/dist/cad-runtime/preview-exec.js +61 -0
  590. package/dist/cad-runtime/preview-exec.js.map +1 -0
  591. package/dist/cad-runtime/runtime.d.ts +575 -0
  592. package/dist/cad-runtime/runtime.d.ts.map +1 -0
  593. package/dist/cad-runtime/runtime.js +1229 -0
  594. package/dist/cad-runtime/runtime.js.map +1 -0
  595. package/dist/cad-runtime/terminal-dag.d.ts +65 -0
  596. package/dist/cad-runtime/terminal-dag.d.ts.map +1 -0
  597. package/dist/cad-runtime/terminal-dag.js +167 -0
  598. package/dist/cad-runtime/terminal-dag.js.map +1 -0
  599. package/dist/csg.d.ts +16 -0
  600. package/dist/csg.d.ts.map +1 -0
  601. package/dist/csg.js +13 -0
  602. package/dist/csg.js.map +1 -0
  603. package/dist/define-op.d.ts +163 -0
  604. package/dist/define-op.d.ts.map +1 -0
  605. package/dist/define-op.js +268 -0
  606. package/dist/define-op.js.map +1 -0
  607. package/dist/faqts/browser.d.ts +16 -0
  608. package/dist/faqts/browser.d.ts.map +1 -0
  609. package/dist/faqts/browser.js +13 -0
  610. package/dist/faqts/browser.js.map +1 -0
  611. package/dist/faqts/exec-blob.d.ts +14 -0
  612. package/dist/faqts/exec-blob.d.ts.map +1 -0
  613. package/dist/faqts/exec-blob.js +22 -0
  614. package/dist/faqts/exec-blob.js.map +1 -0
  615. package/dist/faqts/exec-node.d.ts +15 -0
  616. package/dist/faqts/exec-node.d.ts.map +1 -0
  617. package/dist/faqts/exec-node.js +29 -0
  618. package/dist/faqts/exec-node.js.map +1 -0
  619. package/dist/faqts/imports.d.ts +74 -0
  620. package/dist/faqts/imports.d.ts.map +1 -0
  621. package/dist/faqts/imports.js +95 -0
  622. package/dist/faqts/imports.js.map +1 -0
  623. package/dist/faqts/index.d.ts +22 -0
  624. package/dist/faqts/index.d.ts.map +1 -0
  625. package/dist/faqts/index.js +21 -0
  626. package/dist/faqts/index.js.map +1 -0
  627. package/dist/faqts/node.d.ts +23 -0
  628. package/dist/faqts/node.d.ts.map +1 -0
  629. package/dist/faqts/node.js +23 -0
  630. package/dist/faqts/node.js.map +1 -0
  631. package/dist/faqts/run.d.ts +62 -0
  632. package/dist/faqts/run.d.ts.map +1 -0
  633. package/dist/faqts/run.js +62 -0
  634. package/dist/faqts/run.js.map +1 -0
  635. package/dist/faqts/transform.d.ts +43 -0
  636. package/dist/faqts/transform.d.ts.map +1 -0
  637. package/dist/faqts/transform.js +35 -0
  638. package/dist/faqts/transform.js.map +1 -0
  639. package/dist/fcstd/build-fai-zip.d.ts +29 -0
  640. package/dist/fcstd/build-fai-zip.d.ts.map +1 -0
  641. package/dist/fcstd/build-fai-zip.js +98 -0
  642. package/dist/fcstd/build-fai-zip.js.map +1 -0
  643. package/dist/fcstd/codegen.d.ts +57 -0
  644. package/dist/fcstd/codegen.d.ts.map +1 -0
  645. package/dist/fcstd/codegen.js +487 -0
  646. package/dist/fcstd/codegen.js.map +1 -0
  647. package/dist/fcstd/container.d.ts +60 -0
  648. package/dist/fcstd/container.d.ts.map +1 -0
  649. package/dist/fcstd/container.js +25 -0
  650. package/dist/fcstd/container.js.map +1 -0
  651. package/dist/fcstd/contour.d.ts +35 -0
  652. package/dist/fcstd/contour.d.ts.map +1 -0
  653. package/dist/fcstd/contour.js +86 -0
  654. package/dist/fcstd/contour.js.map +1 -0
  655. package/dist/fcstd/convert.d.ts +34 -0
  656. package/dist/fcstd/convert.d.ts.map +1 -0
  657. package/dist/fcstd/convert.js +223 -0
  658. package/dist/fcstd/convert.js.map +1 -0
  659. package/dist/fcstd/document.d.ts +41 -0
  660. package/dist/fcstd/document.d.ts.map +1 -0
  661. package/dist/fcstd/document.js +137 -0
  662. package/dist/fcstd/document.js.map +1 -0
  663. package/dist/fcstd/expressions.d.ts +37 -0
  664. package/dist/fcstd/expressions.d.ts.map +1 -0
  665. package/dist/fcstd/expressions.js +56 -0
  666. package/dist/fcstd/expressions.js.map +1 -0
  667. package/dist/fcstd/external-geo.d.ts +24 -0
  668. package/dist/fcstd/external-geo.d.ts.map +1 -0
  669. package/dist/fcstd/external-geo.js +119 -0
  670. package/dist/fcstd/external-geo.js.map +1 -0
  671. package/dist/fcstd/feature-translate.d.ts +107 -0
  672. package/dist/fcstd/feature-translate.d.ts.map +1 -0
  673. package/dist/fcstd/feature-translate.js +774 -0
  674. package/dist/fcstd/feature-translate.js.map +1 -0
  675. package/dist/fcstd/placement.d.ts +50 -0
  676. package/dist/fcstd/placement.d.ts.map +1 -0
  677. package/dist/fcstd/placement.js +77 -0
  678. package/dist/fcstd/placement.js.map +1 -0
  679. package/dist/fcstd/planegcs-backend.d.ts +19 -0
  680. package/dist/fcstd/planegcs-backend.d.ts.map +1 -0
  681. package/dist/fcstd/planegcs-backend.js +611 -0
  682. package/dist/fcstd/planegcs-backend.js.map +1 -0
  683. package/dist/fcstd/sketch-parse.d.ts +138 -0
  684. package/dist/fcstd/sketch-parse.d.ts.map +1 -0
  685. package/dist/fcstd/sketch-parse.js +201 -0
  686. package/dist/fcstd/sketch-parse.js.map +1 -0
  687. package/dist/fcstd/sketch-solver.d.ts +45 -0
  688. package/dist/fcstd/sketch-solver.d.ts.map +1 -0
  689. package/dist/fcstd/sketch-solver.js +23 -0
  690. package/dist/fcstd/sketch-solver.js.map +1 -0
  691. package/dist/fcstd/sketch-verify.d.ts +25 -0
  692. package/dist/fcstd/sketch-verify.d.ts.map +1 -0
  693. package/dist/fcstd/sketch-verify.js +49 -0
  694. package/dist/fcstd/sketch-verify.js.map +1 -0
  695. package/dist/fcstd/unpack.d.ts +25 -0
  696. package/dist/fcstd/unpack.d.ts.map +1 -0
  697. package/dist/fcstd/unpack.js +55 -0
  698. package/dist/fcstd/unpack.js.map +1 -0
  699. package/dist/identity.d.ts +229 -0
  700. package/dist/identity.d.ts.map +1 -0
  701. package/dist/identity.js +229 -0
  702. package/dist/identity.js.map +1 -0
  703. package/dist/index.d.ts +125 -0
  704. package/dist/index.d.ts.map +1 -0
  705. package/dist/index.js +121 -0
  706. package/dist/index.js.map +1 -0
  707. package/dist/lang/allocate-id.d.ts +69 -0
  708. package/dist/lang/allocate-id.d.ts.map +1 -0
  709. package/dist/lang/allocate-id.js +82 -0
  710. package/dist/lang/allocate-id.js.map +1 -0
  711. package/dist/lang/code-to-args.d.ts +58 -0
  712. package/dist/lang/code-to-args.d.ts.map +1 -0
  713. package/dist/lang/code-to-args.js +124 -0
  714. package/dist/lang/code-to-args.js.map +1 -0
  715. package/dist/lang/codegen.d.ts +72 -0
  716. package/dist/lang/codegen.d.ts.map +1 -0
  717. package/dist/lang/codegen.js +148 -0
  718. package/dist/lang/codegen.js.map +1 -0
  719. package/dist/lang/compile.d.ts +50 -0
  720. package/dist/lang/compile.d.ts.map +1 -0
  721. package/dist/lang/compile.js +368 -0
  722. package/dist/lang/compile.js.map +1 -0
  723. package/dist/lang/expr-validate.d.ts +41 -0
  724. package/dist/lang/expr-validate.d.ts.map +1 -0
  725. package/dist/lang/expr-validate.js +96 -0
  726. package/dist/lang/expr-validate.js.map +1 -0
  727. package/dist/lang/fnv-hash.d.ts +13 -0
  728. package/dist/lang/fnv-hash.d.ts.map +1 -0
  729. package/dist/lang/fnv-hash.js +20 -0
  730. package/dist/lang/fnv-hash.js.map +1 -0
  731. package/dist/lang/host-arg.d.ts +154 -0
  732. package/dist/lang/host-arg.d.ts.map +1 -0
  733. package/dist/lang/host-arg.js +216 -0
  734. package/dist/lang/host-arg.js.map +1 -0
  735. package/dist/lang/keep.d.ts +109 -0
  736. package/dist/lang/keep.d.ts.map +1 -0
  737. package/dist/lang/keep.js +226 -0
  738. package/dist/lang/keep.js.map +1 -0
  739. package/dist/lang/metadata-extractor.d.ts +203 -0
  740. package/dist/lang/metadata-extractor.d.ts.map +1 -0
  741. package/dist/lang/metadata-extractor.js +1377 -0
  742. package/dist/lang/metadata-extractor.js.map +1 -0
  743. package/dist/lang/parse-error.d.ts +39 -0
  744. package/dist/lang/parse-error.d.ts.map +1 -0
  745. package/dist/lang/parse-error.js +28 -0
  746. package/dist/lang/parse-error.js.map +1 -0
  747. package/dist/lang/parser.d.ts +91 -0
  748. package/dist/lang/parser.d.ts.map +1 -0
  749. package/dist/lang/parser.js +1594 -0
  750. package/dist/lang/parser.js.map +1 -0
  751. package/dist/lang/security-scanner.d.ts +104 -0
  752. package/dist/lang/security-scanner.d.ts.map +1 -0
  753. package/dist/lang/security-scanner.js +773 -0
  754. package/dist/lang/security-scanner.js.map +1 -0
  755. package/dist/lang/source-edit.d.ts +80 -0
  756. package/dist/lang/source-edit.d.ts.map +1 -0
  757. package/dist/lang/source-edit.js +96 -0
  758. package/dist/lang/source-edit.js.map +1 -0
  759. package/dist/lang/statement-summary.d.ts +84 -0
  760. package/dist/lang/statement-summary.d.ts.map +1 -0
  761. package/dist/lang/statement-summary.js +28 -0
  762. package/dist/lang/statement-summary.js.map +1 -0
  763. package/dist/lang/symbol-table.d.ts +28 -0
  764. package/dist/lang/symbol-table.d.ts.map +1 -0
  765. package/dist/lang/symbol-table.generated.d.ts +80 -0
  766. package/dist/lang/symbol-table.generated.d.ts.map +1 -0
  767. package/dist/lang/symbol-table.generated.js +79 -0
  768. package/dist/lang/symbol-table.generated.js.map +1 -0
  769. package/dist/lang/symbol-table.js +27 -0
  770. package/dist/lang/symbol-table.js.map +1 -0
  771. package/dist/lang/types.d.ts +57 -0
  772. package/dist/lang/types.d.ts.map +1 -0
  773. package/dist/lang/types.js +13 -0
  774. package/dist/lang/types.js.map +1 -0
  775. package/dist/mesh/boolean.d.ts +34 -0
  776. package/dist/mesh/boolean.d.ts.map +1 -0
  777. package/dist/mesh/boolean.js +41 -0
  778. package/dist/mesh/boolean.js.map +1 -0
  779. package/dist/mesh/drill-hole/DrillHoleCore.d.ts +90 -0
  780. package/dist/mesh/drill-hole/DrillHoleCore.d.ts.map +1 -0
  781. package/dist/mesh/drill-hole/DrillHoleCore.js +287 -0
  782. package/dist/mesh/drill-hole/DrillHoleCore.js.map +1 -0
  783. package/dist/mesh/drill-hole/drill-types.d.ts +34 -0
  784. package/dist/mesh/drill-hole/drill-types.d.ts.map +1 -0
  785. package/dist/mesh/drill-hole/drill-types.js +7 -0
  786. package/dist/mesh/drill-hole/drill-types.js.map +1 -0
  787. package/dist/mesh/engrave.d.ts +36 -0
  788. package/dist/mesh/engrave.d.ts.map +1 -0
  789. package/dist/mesh/engrave.js +154 -0
  790. package/dist/mesh/engrave.js.map +1 -0
  791. package/dist/mesh/fai_drill.d.ts +21 -0
  792. package/dist/mesh/fai_drill.d.ts.map +1 -0
  793. package/dist/mesh/fai_drill.js +92 -0
  794. package/dist/mesh/fai_drill.js.map +1 -0
  795. package/dist/mesh/fai_extrude.d.ts +24 -0
  796. package/dist/mesh/fai_extrude.d.ts.map +1 -0
  797. package/dist/mesh/fai_extrude.js +42 -0
  798. package/dist/mesh/fai_extrude.js.map +1 -0
  799. package/dist/mesh/fai_split.d.ts +164 -0
  800. package/dist/mesh/fai_split.d.ts.map +1 -0
  801. package/dist/mesh/fai_split.js +269 -0
  802. package/dist/mesh/fai_split.js.map +1 -0
  803. package/dist/mesh/index.d.ts +84 -0
  804. package/dist/mesh/index.d.ts.map +1 -0
  805. package/dist/mesh/index.js +95 -0
  806. package/dist/mesh/index.js.map +1 -0
  807. package/dist/mesh/io.d.ts +17 -0
  808. package/dist/mesh/io.d.ts.map +1 -0
  809. package/dist/mesh/io.js +33 -0
  810. package/dist/mesh/io.js.map +1 -0
  811. package/dist/mesh/knurl/KnurlGenerator.d.ts +77 -0
  812. package/dist/mesh/knurl/KnurlGenerator.d.ts.map +1 -0
  813. package/dist/mesh/knurl/KnurlGenerator.js +116 -0
  814. package/dist/mesh/knurl/KnurlGenerator.js.map +1 -0
  815. package/dist/mesh/knurl/displacement.d.ts +53 -0
  816. package/dist/mesh/knurl/displacement.d.ts.map +1 -0
  817. package/dist/mesh/knurl/displacement.js +274 -0
  818. package/dist/mesh/knurl/displacement.js.map +1 -0
  819. package/dist/mesh/knurl/mapping.d.ts +104 -0
  820. package/dist/mesh/knurl/mapping.d.ts.map +1 -0
  821. package/dist/mesh/knurl/mapping.js +307 -0
  822. package/dist/mesh/knurl/mapping.js.map +1 -0
  823. package/dist/mesh/knurl/meshIndex.d.ts +63 -0
  824. package/dist/mesh/knurl/meshIndex.d.ts.map +1 -0
  825. package/dist/mesh/knurl/meshIndex.js +134 -0
  826. package/dist/mesh/knurl/meshIndex.js.map +1 -0
  827. package/dist/mesh/knurl/subdivision.d.ts +54 -0
  828. package/dist/mesh/knurl/subdivision.d.ts.map +1 -0
  829. package/dist/mesh/knurl/subdivision.js +517 -0
  830. package/dist/mesh/knurl/subdivision.js.map +1 -0
  831. package/dist/mesh/knurl/textureLoader.d.ts +38 -0
  832. package/dist/mesh/knurl/textureLoader.d.ts.map +1 -0
  833. package/dist/mesh/knurl/textureLoader.js +40 -0
  834. package/dist/mesh/knurl/textureLoader.js.map +1 -0
  835. package/dist/mesh/manifold-loader.d.ts +41 -0
  836. package/dist/mesh/manifold-loader.d.ts.map +1 -0
  837. package/dist/mesh/manifold-loader.js +56 -0
  838. package/dist/mesh/manifold-loader.js.map +1 -0
  839. package/dist/mesh/primitives.d.ts +104 -0
  840. package/dist/mesh/primitives.d.ts.map +1 -0
  841. package/dist/mesh/primitives.js +275 -0
  842. package/dist/mesh/primitives.js.map +1 -0
  843. package/dist/mesh/query.d.ts +43 -0
  844. package/dist/mesh/query.d.ts.map +1 -0
  845. package/dist/mesh/query.js +124 -0
  846. package/dist/mesh/query.js.map +1 -0
  847. package/dist/mesh/reconcile.d.ts +84 -0
  848. package/dist/mesh/reconcile.d.ts.map +1 -0
  849. package/dist/mesh/reconcile.js +261 -0
  850. package/dist/mesh/reconcile.js.map +1 -0
  851. package/dist/mesh/rigid-transform.d.ts +28 -0
  852. package/dist/mesh/rigid-transform.d.ts.map +1 -0
  853. package/dist/mesh/rigid-transform.js +51 -0
  854. package/dist/mesh/rigid-transform.js.map +1 -0
  855. package/dist/mesh/transform.d.ts +57 -0
  856. package/dist/mesh/transform.d.ts.map +1 -0
  857. package/dist/mesh/transform.js +102 -0
  858. package/dist/mesh/transform.js.map +1 -0
  859. package/dist/mesh/types.d.ts +279 -0
  860. package/dist/mesh/types.d.ts.map +1 -0
  861. package/dist/mesh/types.js +46 -0
  862. package/dist/mesh/types.js.map +1 -0
  863. package/dist/module-resolver/index.d.ts +8 -0
  864. package/dist/module-resolver/index.d.ts.map +1 -0
  865. package/dist/module-resolver/index.js +8 -0
  866. package/dist/module-resolver/index.js.map +1 -0
  867. package/dist/module-resolver/resolver.d.ts +112 -0
  868. package/dist/module-resolver/resolver.d.ts.map +1 -0
  869. package/dist/module-resolver/resolver.js +226 -0
  870. package/dist/module-resolver/resolver.js.map +1 -0
  871. package/dist/module-resolver/version.d.ts +46 -0
  872. package/dist/module-resolver/version.d.ts.map +1 -0
  873. package/dist/module-resolver/version.js +187 -0
  874. package/dist/module-resolver/version.js.map +1 -0
  875. package/dist/node-host/cli-event-sink.d.ts +25 -0
  876. package/dist/node-host/cli-event-sink.d.ts.map +1 -0
  877. package/dist/node-host/cli-event-sink.js +22 -0
  878. package/dist/node-host/cli-event-sink.js.map +1 -0
  879. package/dist/node-host/cli.d.ts +168 -0
  880. package/dist/node-host/cli.d.ts.map +1 -0
  881. package/dist/node-host/cli.js +646 -0
  882. package/dist/node-host/cli.js.map +1 -0
  883. package/dist/node-host/fs-asset-resolver.d.ts +55 -0
  884. package/dist/node-host/fs-asset-resolver.d.ts.map +1 -0
  885. package/dist/node-host/fs-asset-resolver.js +107 -0
  886. package/dist/node-host/fs-asset-resolver.js.map +1 -0
  887. package/dist/node-host/fs-project-loader.d.ts +40 -0
  888. package/dist/node-host/fs-project-loader.d.ts.map +1 -0
  889. package/dist/node-host/fs-project-loader.js +112 -0
  890. package/dist/node-host/fs-project-loader.js.map +1 -0
  891. package/dist/node-host/index.d.ts +46 -0
  892. package/dist/node-host/index.d.ts.map +1 -0
  893. package/dist/node-host/index.js +56 -0
  894. package/dist/node-host/index.js.map +1 -0
  895. package/dist/node-host/node-font-provider.d.ts +50 -0
  896. package/dist/node-host/node-font-provider.d.ts.map +1 -0
  897. package/dist/node-host/node-font-provider.js +87 -0
  898. package/dist/node-host/node-font-provider.js.map +1 -0
  899. package/dist/node.d.ts +23 -0
  900. package/dist/node.d.ts.map +1 -0
  901. package/dist/node.js +23 -0
  902. package/dist/node.js.map +1 -0
  903. package/dist/occt-kernel/highLevelApi.d.ts +106 -0
  904. package/dist/occt-kernel/highLevelApi.d.ts.map +1 -0
  905. package/dist/occt-kernel/highLevelApi.js +149 -0
  906. package/dist/occt-kernel/highLevelApi.js.map +1 -0
  907. package/dist/occt-kernel/meshReconstruct.d.ts +75 -0
  908. package/dist/occt-kernel/meshReconstruct.d.ts.map +1 -0
  909. package/dist/occt-kernel/meshReconstruct.js +196 -0
  910. package/dist/occt-kernel/meshReconstruct.js.map +1 -0
  911. package/dist/occt-kernel/occtKernel.d.ts +174 -0
  912. package/dist/occt-kernel/occtKernel.d.ts.map +1 -0
  913. package/dist/occt-kernel/occtKernel.js +400 -0
  914. package/dist/occt-kernel/occtKernel.js.map +1 -0
  915. package/dist/occt-kernel/stepColorParser.d.ts +54 -0
  916. package/dist/occt-kernel/stepColorParser.d.ts.map +1 -0
  917. package/dist/occt-kernel/stepColorParser.js +139 -0
  918. package/dist/occt-kernel/stepColorParser.js.map +1 -0
  919. package/dist/occt-kernel/topologyExt.d.ts +80 -0
  920. package/dist/occt-kernel/topologyExt.d.ts.map +1 -0
  921. package/dist/occt-kernel/topologyExt.js +1295 -0
  922. package/dist/occt-kernel/topologyExt.js.map +1 -0
  923. package/dist/primitives/brep-primitives.d.ts +104 -0
  924. package/dist/primitives/brep-primitives.d.ts.map +1 -0
  925. package/dist/primitives/brep-primitives.js +297 -0
  926. package/dist/primitives/brep-primitives.js.map +1 -0
  927. package/dist/primitives/mesh-primitives.d.ts +38 -0
  928. package/dist/primitives/mesh-primitives.d.ts.map +1 -0
  929. package/dist/primitives/mesh-primitives.js +160 -0
  930. package/dist/primitives/mesh-primitives.js.map +1 -0
  931. package/dist/primitives/parse-svg-size.d.ts +18 -0
  932. package/dist/primitives/parse-svg-size.d.ts.map +1 -0
  933. package/dist/primitives/parse-svg-size.js +31 -0
  934. package/dist/primitives/parse-svg-size.js.map +1 -0
  935. package/dist/primitives/screw/screw-db.d.ts +86 -0
  936. package/dist/primitives/screw/screw-db.d.ts.map +1 -0
  937. package/dist/primitives/screw/screw-db.js +95 -0
  938. package/dist/primitives/screw/screw-db.js.map +1 -0
  939. package/dist/primitives/screw/screw.d.ts +13 -0
  940. package/dist/primitives/screw/screw.d.ts.map +1 -0
  941. package/dist/primitives/screw/screw.js +176 -0
  942. package/dist/primitives/screw/screw.js.map +1 -0
  943. package/dist/primitives/svg-extrude.d.ts +43 -0
  944. package/dist/primitives/svg-extrude.d.ts.map +1 -0
  945. package/dist/primitives/svg-extrude.js +78 -0
  946. package/dist/primitives/svg-extrude.js.map +1 -0
  947. package/dist/primitives/text/cjk.d.ts +61 -0
  948. package/dist/primitives/text/cjk.d.ts.map +1 -0
  949. package/dist/primitives/text/cjk.js +215 -0
  950. package/dist/primitives/text/cjk.js.map +1 -0
  951. package/dist/primitives/text-geometry.d.ts +47 -0
  952. package/dist/primitives/text-geometry.d.ts.map +1 -0
  953. package/dist/primitives/text-geometry.js +127 -0
  954. package/dist/primitives/text-geometry.js.map +1 -0
  955. package/dist/primitives/types.d.ts +56 -0
  956. package/dist/primitives/types.d.ts.map +1 -0
  957. package/dist/primitives/types.js +25 -0
  958. package/dist/primitives/types.js.map +1 -0
  959. package/dist/runtime-state.d.ts +303 -0
  960. package/dist/runtime-state.d.ts.map +1 -0
  961. package/dist/runtime-state.js +316 -0
  962. package/dist/runtime-state.js.map +1 -0
  963. package/dist/sdf/sdf-core.d.ts +67 -0
  964. package/dist/sdf/sdf-core.d.ts.map +1 -0
  965. package/dist/sdf/sdf-core.js +118 -0
  966. package/dist/sdf/sdf-core.js.map +1 -0
  967. package/dist/sdf/sdf-runner.d.ts +33 -0
  968. package/dist/sdf/sdf-runner.d.ts.map +1 -0
  969. package/dist/sdf/sdf-runner.js +45 -0
  970. package/dist/sdf/sdf-runner.js.map +1 -0
  971. package/dist/sdf/templates.d.ts +7 -0
  972. package/dist/sdf/templates.d.ts.map +1 -0
  973. package/dist/sdf/templates.js +282 -0
  974. package/dist/sdf/templates.js.map +1 -0
  975. package/dist/sdf/types.d.ts +114 -0
  976. package/dist/sdf/types.d.ts.map +1 -0
  977. package/dist/sdf/types.js +97 -0
  978. package/dist/sdf/types.js.map +1 -0
  979. package/dist/sdf.d.ts +12 -0
  980. package/dist/sdf.d.ts.map +1 -0
  981. package/dist/sdf.js +10 -0
  982. package/dist/sdf.js.map +1 -0
  983. package/dist/sdk.d.ts +30 -0
  984. package/dist/sdk.d.ts.map +1 -0
  985. package/dist/sdk.js +34 -0
  986. package/dist/sdk.js.map +1 -0
  987. package/dist/shape.d.ts +121 -0
  988. package/dist/shape.d.ts.map +1 -0
  989. package/dist/shape.js +145 -0
  990. package/dist/shape.js.map +1 -0
  991. package/dist/test-helpers.d.ts +31 -0
  992. package/dist/test-helpers.d.ts.map +1 -0
  993. package/dist/test-helpers.js +55 -0
  994. package/dist/test-helpers.js.map +1 -0
  995. package/dist/topology/build-face-ids.d.ts +35 -0
  996. package/dist/topology/build-face-ids.d.ts.map +1 -0
  997. package/dist/topology/build-face-ids.js +70 -0
  998. package/dist/topology/build-face-ids.js.map +1 -0
  999. package/dist/topology/build-logical-points.d.ts +68 -0
  1000. package/dist/topology/build-logical-points.d.ts.map +1 -0
  1001. package/dist/topology/build-logical-points.js +169 -0
  1002. package/dist/topology/build-logical-points.js.map +1 -0
  1003. package/dist/topology/build-selector-runtime.d.ts +82 -0
  1004. package/dist/topology/build-selector-runtime.d.ts.map +1 -0
  1005. package/dist/topology/build-selector-runtime.js +601 -0
  1006. package/dist/topology/build-selector-runtime.js.map +1 -0
  1007. package/dist/topology/naming/build-naming.d.ts +89 -0
  1008. package/dist/topology/naming/build-naming.d.ts.map +1 -0
  1009. package/dist/topology/naming/build-naming.js +107 -0
  1010. package/dist/topology/naming/build-naming.js.map +1 -0
  1011. package/dist/topology/naming/capture-topo-ref.d.ts +22 -0
  1012. package/dist/topology/naming/capture-topo-ref.d.ts.map +1 -0
  1013. package/dist/topology/naming/capture-topo-ref.js +34 -0
  1014. package/dist/topology/naming/capture-topo-ref.js.map +1 -0
  1015. package/dist/topology/naming/geom-hint.d.ts +92 -0
  1016. package/dist/topology/naming/geom-hint.d.ts.map +1 -0
  1017. package/dist/topology/naming/geom-hint.js +254 -0
  1018. package/dist/topology/naming/geom-hint.js.map +1 -0
  1019. package/dist/topology/naming/index.d.ts +19 -0
  1020. package/dist/topology/naming/index.d.ts.map +1 -0
  1021. package/dist/topology/naming/index.js +19 -0
  1022. package/dist/topology/naming/index.js.map +1 -0
  1023. package/dist/topology/naming/ref-params.d.ts +49 -0
  1024. package/dist/topology/naming/ref-params.d.ts.map +1 -0
  1025. package/dist/topology/naming/ref-params.js +92 -0
  1026. package/dist/topology/naming/ref-params.js.map +1 -0
  1027. package/dist/topology/naming/resolve-derived.d.ts +23 -0
  1028. package/dist/topology/naming/resolve-derived.d.ts.map +1 -0
  1029. package/dist/topology/naming/resolve-derived.js +128 -0
  1030. package/dist/topology/naming/resolve-derived.js.map +1 -0
  1031. package/dist/topology/naming/resolve-edge.d.ts +36 -0
  1032. package/dist/topology/naming/resolve-edge.d.ts.map +1 -0
  1033. package/dist/topology/naming/resolve-edge.js +138 -0
  1034. package/dist/topology/naming/resolve-edge.js.map +1 -0
  1035. package/dist/topology/naming/resolve-face.d.ts +89 -0
  1036. package/dist/topology/naming/resolve-face.d.ts.map +1 -0
  1037. package/dist/topology/naming/resolve-face.js +107 -0
  1038. package/dist/topology/naming/resolve-face.js.map +1 -0
  1039. package/dist/topology/naming/resolve-vertex.d.ts +27 -0
  1040. package/dist/topology/naming/resolve-vertex.d.ts.map +1 -0
  1041. package/dist/topology/naming/resolve-vertex.js +115 -0
  1042. package/dist/topology/naming/resolve-vertex.js.map +1 -0
  1043. package/dist/topology/naming/resolver.d.ts +40 -0
  1044. package/dist/topology/naming/resolver.d.ts.map +1 -0
  1045. package/dist/topology/naming/resolver.js +71 -0
  1046. package/dist/topology/naming/resolver.js.map +1 -0
  1047. package/dist/topology/naming/roles.d.ts +111 -0
  1048. package/dist/topology/naming/roles.d.ts.map +1 -0
  1049. package/dist/topology/naming/roles.js +271 -0
  1050. package/dist/topology/naming/roles.js.map +1 -0
  1051. package/dist/topology/naming/score.d.ts +60 -0
  1052. package/dist/topology/naming/score.d.ts.map +1 -0
  1053. package/dist/topology/naming/score.js +121 -0
  1054. package/dist/topology/naming/score.js.map +1 -0
  1055. package/dist/topology/naming/types.d.ts +142 -0
  1056. package/dist/topology/naming/types.d.ts.map +1 -0
  1057. package/dist/topology/naming/types.js +27 -0
  1058. package/dist/topology/naming/types.js.map +1 -0
  1059. package/dist/topology/types.d.ts +225 -0
  1060. package/dist/topology/types.d.ts.map +1 -0
  1061. package/dist/topology/types.js +2 -0
  1062. package/dist/topology/types.js.map +1 -0
  1063. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts +106 -0
  1064. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts.map +1 -0
  1065. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js +341 -0
  1066. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js.map +1 -0
  1067. package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts +185 -0
  1068. package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts.map +1 -0
  1069. package/dist/vendored/brepjs/2d/blueprints/blueprint.js +361 -0
  1070. package/dist/vendored/brepjs/2d/blueprints/blueprint.js.map +1 -0
  1071. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts +15 -0
  1072. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts.map +1 -0
  1073. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js +28 -0
  1074. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js.map +1 -0
  1075. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts +29 -0
  1076. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts.map +1 -0
  1077. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js +86 -0
  1078. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js.map +1 -0
  1079. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts +57 -0
  1080. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts.map +1 -0
  1081. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js +92 -0
  1082. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js.map +1 -0
  1083. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts +58 -0
  1084. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts.map +1 -0
  1085. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js +346 -0
  1086. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js.map +1 -0
  1087. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts +30 -0
  1088. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts.map +1 -0
  1089. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js +45 -0
  1090. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js.map +1 -0
  1091. package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts +68 -0
  1092. package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts.map +1 -0
  1093. package/dist/vendored/brepjs/2d/blueprints/blueprints.js +116 -0
  1094. package/dist/vendored/brepjs/2d/blueprints/blueprints.js.map +1 -0
  1095. package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts +68 -0
  1096. package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts.map +1 -0
  1097. package/dist/vendored/brepjs/2d/blueprints/boolean2D.js +362 -0
  1098. package/dist/vendored/brepjs/2d/blueprints/boolean2D.js.map +1 -0
  1099. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts +34 -0
  1100. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts.map +1 -0
  1101. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js +176 -0
  1102. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js.map +1 -0
  1103. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts +55 -0
  1104. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts.map +1 -0
  1105. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js +110 -0
  1106. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js.map +1 -0
  1107. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts +41 -0
  1108. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts.map +1 -0
  1109. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js +90 -0
  1110. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js.map +1 -0
  1111. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts +85 -0
  1112. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts.map +1 -0
  1113. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js +136 -0
  1114. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js.map +1 -0
  1115. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts +48 -0
  1116. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts.map +1 -0
  1117. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js +154 -0
  1118. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js.map +1 -0
  1119. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts +342 -0
  1120. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts.map +1 -0
  1121. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js +32 -0
  1122. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js.map +1 -0
  1123. package/dist/vendored/brepjs/2d/blueprints/index.d.ts +16 -0
  1124. package/dist/vendored/brepjs/2d/blueprints/index.d.ts.map +1 -0
  1125. package/dist/vendored/brepjs/2d/blueprints/index.js +13 -0
  1126. package/dist/vendored/brepjs/2d/blueprints/index.js.map +1 -0
  1127. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts +18 -0
  1128. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts.map +1 -0
  1129. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js +230 -0
  1130. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js.map +1 -0
  1131. package/dist/vendored/brepjs/2d/blueprints/lib.d.ts +73 -0
  1132. package/dist/vendored/brepjs/2d/blueprints/lib.d.ts.map +1 -0
  1133. package/dist/vendored/brepjs/2d/blueprints/lib.js +103 -0
  1134. package/dist/vendored/brepjs/2d/blueprints/lib.js.map +1 -0
  1135. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts +31 -0
  1136. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts.map +1 -0
  1137. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js +226 -0
  1138. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js.map +1 -0
  1139. package/dist/vendored/brepjs/2d/blueprints/svg.d.ts +22 -0
  1140. package/dist/vendored/brepjs/2d/blueprints/svg.d.ts.map +1 -0
  1141. package/dist/vendored/brepjs/2d/blueprints/svg.js +30 -0
  1142. package/dist/vendored/brepjs/2d/blueprints/svg.js.map +1 -0
  1143. package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts +124 -0
  1144. package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts.map +1 -0
  1145. package/dist/vendored/brepjs/2d/curve2dGeometryFns.js +235 -0
  1146. package/dist/vendored/brepjs/2d/curve2dGeometryFns.js.map +1 -0
  1147. package/dist/vendored/brepjs/2d/curves.d.ts +45 -0
  1148. package/dist/vendored/brepjs/2d/curves.d.ts.map +1 -0
  1149. package/dist/vendored/brepjs/2d/curves.js +139 -0
  1150. package/dist/vendored/brepjs/2d/curves.js.map +1 -0
  1151. package/dist/vendored/brepjs/2d/lib/approximations.d.ts +47 -0
  1152. package/dist/vendored/brepjs/2d/lib/approximations.d.ts.map +1 -0
  1153. package/dist/vendored/brepjs/2d/lib/approximations.js +82 -0
  1154. package/dist/vendored/brepjs/2d/lib/approximations.js.map +1 -0
  1155. package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts +39 -0
  1156. package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts.map +1 -0
  1157. package/dist/vendored/brepjs/2d/lib/boundingBox2d.js +88 -0
  1158. package/dist/vendored/brepjs/2d/lib/boundingBox2d.js.map +1 -0
  1159. package/dist/vendored/brepjs/2d/lib/curve2D.d.ts +82 -0
  1160. package/dist/vendored/brepjs/2d/lib/curve2D.d.ts.map +1 -0
  1161. package/dist/vendored/brepjs/2d/lib/curve2D.js +258 -0
  1162. package/dist/vendored/brepjs/2d/lib/curve2D.js.map +1 -0
  1163. package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts +53 -0
  1164. package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts.map +1 -0
  1165. package/dist/vendored/brepjs/2d/lib/curve2dFns.js +69 -0
  1166. package/dist/vendored/brepjs/2d/lib/curve2dFns.js.map +1 -0
  1167. package/dist/vendored/brepjs/2d/lib/customCorners.d.ts +29 -0
  1168. package/dist/vendored/brepjs/2d/lib/customCorners.d.ts.map +1 -0
  1169. package/dist/vendored/brepjs/2d/lib/customCorners.js +237 -0
  1170. package/dist/vendored/brepjs/2d/lib/customCorners.js.map +1 -0
  1171. package/dist/vendored/brepjs/2d/lib/definitions.d.ts +12 -0
  1172. package/dist/vendored/brepjs/2d/lib/definitions.d.ts.map +1 -0
  1173. package/dist/vendored/brepjs/2d/lib/definitions.js +19 -0
  1174. package/dist/vendored/brepjs/2d/lib/definitions.js.map +1 -0
  1175. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts +21 -0
  1176. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts.map +1 -0
  1177. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js +71 -0
  1178. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js.map +1 -0
  1179. package/dist/vendored/brepjs/2d/lib/index.d.ts +14 -0
  1180. package/dist/vendored/brepjs/2d/lib/index.d.ts.map +1 -0
  1181. package/dist/vendored/brepjs/2d/lib/index.js +14 -0
  1182. package/dist/vendored/brepjs/2d/lib/index.js.map +1 -0
  1183. package/dist/vendored/brepjs/2d/lib/intersections.d.ts +34 -0
  1184. package/dist/vendored/brepjs/2d/lib/intersections.d.ts.map +1 -0
  1185. package/dist/vendored/brepjs/2d/lib/intersections.js +77 -0
  1186. package/dist/vendored/brepjs/2d/lib/intersections.js.map +1 -0
  1187. package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts +63 -0
  1188. package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts.map +1 -0
  1189. package/dist/vendored/brepjs/2d/lib/makeCurves.js +117 -0
  1190. package/dist/vendored/brepjs/2d/lib/makeCurves.js.map +1 -0
  1191. package/dist/vendored/brepjs/2d/lib/offset.d.ts +30 -0
  1192. package/dist/vendored/brepjs/2d/lib/offset.d.ts.map +1 -0
  1193. package/dist/vendored/brepjs/2d/lib/offset.js +109 -0
  1194. package/dist/vendored/brepjs/2d/lib/offset.js.map +1 -0
  1195. package/dist/vendored/brepjs/2d/lib/precision.d.ts +12 -0
  1196. package/dist/vendored/brepjs/2d/lib/precision.d.ts.map +1 -0
  1197. package/dist/vendored/brepjs/2d/lib/precision.js +12 -0
  1198. package/dist/vendored/brepjs/2d/lib/precision.js.map +1 -0
  1199. package/dist/vendored/brepjs/2d/lib/stitching.d.ts +15 -0
  1200. package/dist/vendored/brepjs/2d/lib/stitching.d.ts.map +1 -0
  1201. package/dist/vendored/brepjs/2d/lib/stitching.js +67 -0
  1202. package/dist/vendored/brepjs/2d/lib/stitching.js.map +1 -0
  1203. package/dist/vendored/brepjs/2d/lib/svgPath.d.ts +4 -0
  1204. package/dist/vendored/brepjs/2d/lib/svgPath.d.ts.map +1 -0
  1205. package/dist/vendored/brepjs/2d/lib/svgPath.js +114 -0
  1206. package/dist/vendored/brepjs/2d/lib/svgPath.js.map +1 -0
  1207. package/dist/vendored/brepjs/2d/lib/utils.d.ts +11 -0
  1208. package/dist/vendored/brepjs/2d/lib/utils.d.ts.map +1 -0
  1209. package/dist/vendored/brepjs/2d/lib/utils.js +24 -0
  1210. package/dist/vendored/brepjs/2d/lib/utils.js.map +1 -0
  1211. package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts +19 -0
  1212. package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts.map +1 -0
  1213. package/dist/vendored/brepjs/2d/lib/vectorOperations.js +26 -0
  1214. package/dist/vendored/brepjs/2d/lib/vectorOperations.js.map +1 -0
  1215. package/dist/vendored/brepjs/2d.d.ts +26 -0
  1216. package/dist/vendored/brepjs/2d.d.ts.map +1 -0
  1217. package/dist/vendored/brepjs/2d.js +33 -0
  1218. package/dist/vendored/brepjs/2d.js.map +1 -0
  1219. package/dist/vendored/brepjs/core/constants.d.ts +7 -0
  1220. package/dist/vendored/brepjs/core/constants.d.ts.map +1 -0
  1221. package/dist/vendored/brepjs/core/constants.js +7 -0
  1222. package/dist/vendored/brepjs/core/constants.js.map +1 -0
  1223. package/dist/vendored/brepjs/core/curve2dHandle.d.ts +35 -0
  1224. package/dist/vendored/brepjs/core/curve2dHandle.d.ts.map +1 -0
  1225. package/dist/vendored/brepjs/core/curve2dHandle.js +48 -0
  1226. package/dist/vendored/brepjs/core/curve2dHandle.js.map +1 -0
  1227. package/dist/vendored/brepjs/core/dimensionTypes.d.ts +61 -0
  1228. package/dist/vendored/brepjs/core/dimensionTypes.d.ts.map +1 -0
  1229. package/dist/vendored/brepjs/core/dimensionTypes.js +54 -0
  1230. package/dist/vendored/brepjs/core/dimensionTypes.js.map +1 -0
  1231. package/dist/vendored/brepjs/core/disposal.d.ts +136 -0
  1232. package/dist/vendored/brepjs/core/disposal.d.ts.map +1 -0
  1233. package/dist/vendored/brepjs/core/disposal.js +441 -0
  1234. package/dist/vendored/brepjs/core/disposal.js.map +1 -0
  1235. package/dist/vendored/brepjs/core/errors.d.ts +191 -0
  1236. package/dist/vendored/brepjs/core/errors.d.ts.map +1 -0
  1237. package/dist/vendored/brepjs/core/errors.js +238 -0
  1238. package/dist/vendored/brepjs/core/errors.js.map +1 -0
  1239. package/dist/vendored/brepjs/core/kernelBoundary.d.ts +40 -0
  1240. package/dist/vendored/brepjs/core/kernelBoundary.d.ts.map +1 -0
  1241. package/dist/vendored/brepjs/core/kernelBoundary.js +99 -0
  1242. package/dist/vendored/brepjs/core/kernelBoundary.js.map +1 -0
  1243. package/dist/vendored/brepjs/core/kernelCall.d.ts +48 -0
  1244. package/dist/vendored/brepjs/core/kernelCall.d.ts.map +1 -0
  1245. package/dist/vendored/brepjs/core/kernelCall.js +154 -0
  1246. package/dist/vendored/brepjs/core/kernelCall.js.map +1 -0
  1247. package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts +17 -0
  1248. package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts.map +1 -0
  1249. package/dist/vendored/brepjs/core/kernelErrorTranslation.js +98 -0
  1250. package/dist/vendored/brepjs/core/kernelErrorTranslation.js.map +1 -0
  1251. package/dist/vendored/brepjs/core/kernelReentrancy.d.ts +41 -0
  1252. package/dist/vendored/brepjs/core/kernelReentrancy.d.ts.map +1 -0
  1253. package/dist/vendored/brepjs/core/kernelReentrancy.js +68 -0
  1254. package/dist/vendored/brepjs/core/kernelReentrancy.js.map +1 -0
  1255. package/dist/vendored/brepjs/core/planeOps.d.ts +62 -0
  1256. package/dist/vendored/brepjs/core/planeOps.d.ts.map +1 -0
  1257. package/dist/vendored/brepjs/core/planeOps.js +148 -0
  1258. package/dist/vendored/brepjs/core/planeOps.js.map +1 -0
  1259. package/dist/vendored/brepjs/core/planeTypes.d.ts +22 -0
  1260. package/dist/vendored/brepjs/core/planeTypes.d.ts.map +1 -0
  1261. package/dist/vendored/brepjs/core/planeTypes.js +6 -0
  1262. package/dist/vendored/brepjs/core/planeTypes.js.map +1 -0
  1263. package/dist/vendored/brepjs/core/result.d.ts +85 -0
  1264. package/dist/vendored/brepjs/core/result.d.ts.map +1 -0
  1265. package/dist/vendored/brepjs/core/result.js +212 -0
  1266. package/dist/vendored/brepjs/core/result.js.map +1 -0
  1267. package/dist/vendored/brepjs/core/shapeTypeCache.d.ts +27 -0
  1268. package/dist/vendored/brepjs/core/shapeTypeCache.d.ts.map +1 -0
  1269. package/dist/vendored/brepjs/core/shapeTypeCache.js +40 -0
  1270. package/dist/vendored/brepjs/core/shapeTypeCache.js.map +1 -0
  1271. package/dist/vendored/brepjs/core/shapeTypes.d.ts +199 -0
  1272. package/dist/vendored/brepjs/core/shapeTypes.d.ts.map +1 -0
  1273. package/dist/vendored/brepjs/core/shapeTypes.js +267 -0
  1274. package/dist/vendored/brepjs/core/shapeTypes.js.map +1 -0
  1275. package/dist/vendored/brepjs/core/typeDiscriminants.d.ts +25 -0
  1276. package/dist/vendored/brepjs/core/typeDiscriminants.d.ts.map +1 -0
  1277. package/dist/vendored/brepjs/core/typeDiscriminants.js +50 -0
  1278. package/dist/vendored/brepjs/core/typeDiscriminants.js.map +1 -0
  1279. package/dist/vendored/brepjs/core/types.d.ts +51 -0
  1280. package/dist/vendored/brepjs/core/types.d.ts.map +1 -0
  1281. package/dist/vendored/brepjs/core/types.js +35 -0
  1282. package/dist/vendored/brepjs/core/types.js.map +1 -0
  1283. package/dist/vendored/brepjs/core/validityTypes.d.ts +143 -0
  1284. package/dist/vendored/brepjs/core/validityTypes.d.ts.map +1 -0
  1285. package/dist/vendored/brepjs/core/validityTypes.js +174 -0
  1286. package/dist/vendored/brepjs/core/validityTypes.js.map +1 -0
  1287. package/dist/vendored/brepjs/core/vecOps.d.ts +53 -0
  1288. package/dist/vendored/brepjs/core/vecOps.d.ts.map +1 -0
  1289. package/dist/vendored/brepjs/core/vecOps.js +131 -0
  1290. package/dist/vendored/brepjs/core/vecOps.js.map +1 -0
  1291. package/dist/vendored/brepjs/core.d.ts +17 -0
  1292. package/dist/vendored/brepjs/core.d.ts.map +1 -0
  1293. package/dist/vendored/brepjs/core.js +13 -0
  1294. package/dist/vendored/brepjs/core.js.map +1 -0
  1295. package/dist/vendored/brepjs/gear/gearFns.d.ts +148 -0
  1296. package/dist/vendored/brepjs/gear/gearFns.d.ts.map +1 -0
  1297. package/dist/vendored/brepjs/gear/gearFns.js +479 -0
  1298. package/dist/vendored/brepjs/gear/gearFns.js.map +1 -0
  1299. package/dist/vendored/brepjs/gear/gearMath.d.ts +89 -0
  1300. package/dist/vendored/brepjs/gear/gearMath.d.ts.map +1 -0
  1301. package/dist/vendored/brepjs/gear/gearMath.js +195 -0
  1302. package/dist/vendored/brepjs/gear/gearMath.js.map +1 -0
  1303. package/dist/vendored/brepjs/gear/gearProfile.d.ts +17 -0
  1304. package/dist/vendored/brepjs/gear/gearProfile.d.ts.map +1 -0
  1305. package/dist/vendored/brepjs/gear/gearProfile.js +159 -0
  1306. package/dist/vendored/brepjs/gear/gearProfile.js.map +1 -0
  1307. package/dist/vendored/brepjs/gear/index.d.ts +4 -0
  1308. package/dist/vendored/brepjs/gear/index.d.ts.map +1 -0
  1309. package/dist/vendored/brepjs/gear/index.js +4 -0
  1310. package/dist/vendored/brepjs/gear/index.js.map +1 -0
  1311. package/dist/vendored/brepjs/index.d.ts +152 -0
  1312. package/dist/vendored/brepjs/index.d.ts.map +1 -0
  1313. package/dist/vendored/brepjs/index.js +195 -0
  1314. package/dist/vendored/brepjs/index.js.map +1 -0
  1315. package/dist/vendored/brepjs/io/dxfExportFns.d.ts +74 -0
  1316. package/dist/vendored/brepjs/io/dxfExportFns.d.ts.map +1 -0
  1317. package/dist/vendored/brepjs/io/dxfExportFns.js +134 -0
  1318. package/dist/vendored/brepjs/io/dxfExportFns.js.map +1 -0
  1319. package/dist/vendored/brepjs/io/dxfImportFns.d.ts +20 -0
  1320. package/dist/vendored/brepjs/io/dxfImportFns.d.ts.map +1 -0
  1321. package/dist/vendored/brepjs/io/dxfImportFns.js +132 -0
  1322. package/dist/vendored/brepjs/io/dxfImportFns.js.map +1 -0
  1323. package/dist/vendored/brepjs/io/gltfExportFns.d.ts +97 -0
  1324. package/dist/vendored/brepjs/io/gltfExportFns.d.ts.map +1 -0
  1325. package/dist/vendored/brepjs/io/gltfExportFns.js +460 -0
  1326. package/dist/vendored/brepjs/io/gltfExportFns.js.map +1 -0
  1327. package/dist/vendored/brepjs/io/gltfImportFns.d.ts +21 -0
  1328. package/dist/vendored/brepjs/io/gltfImportFns.d.ts.map +1 -0
  1329. package/dist/vendored/brepjs/io/gltfImportFns.js +33 -0
  1330. package/dist/vendored/brepjs/io/gltfImportFns.js.map +1 -0
  1331. package/dist/vendored/brepjs/io/importFns.d.ts +56 -0
  1332. package/dist/vendored/brepjs/io/importFns.d.ts.map +1 -0
  1333. package/dist/vendored/brepjs/io/importFns.js +108 -0
  1334. package/dist/vendored/brepjs/io/importFns.js.map +1 -0
  1335. package/dist/vendored/brepjs/io/ioUtils.d.ts +22 -0
  1336. package/dist/vendored/brepjs/io/ioUtils.d.ts.map +1 -0
  1337. package/dist/vendored/brepjs/io/ioUtils.js +56 -0
  1338. package/dist/vendored/brepjs/io/ioUtils.js.map +1 -0
  1339. package/dist/vendored/brepjs/io/objExportFns.d.ts +23 -0
  1340. package/dist/vendored/brepjs/io/objExportFns.d.ts.map +1 -0
  1341. package/dist/vendored/brepjs/io/objExportFns.js +67 -0
  1342. package/dist/vendored/brepjs/io/objExportFns.js.map +1 -0
  1343. package/dist/vendored/brepjs/io/objImportFns.d.ts +26 -0
  1344. package/dist/vendored/brepjs/io/objImportFns.d.ts.map +1 -0
  1345. package/dist/vendored/brepjs/io/objImportFns.js +96 -0
  1346. package/dist/vendored/brepjs/io/objImportFns.js.map +1 -0
  1347. package/dist/vendored/brepjs/io/stepConfigFns.d.ts +30 -0
  1348. package/dist/vendored/brepjs/io/stepConfigFns.d.ts.map +1 -0
  1349. package/dist/vendored/brepjs/io/stepConfigFns.js +30 -0
  1350. package/dist/vendored/brepjs/io/stepConfigFns.js.map +1 -0
  1351. package/dist/vendored/brepjs/io/svgImportFns.d.ts +58 -0
  1352. package/dist/vendored/brepjs/io/svgImportFns.d.ts.map +1 -0
  1353. package/dist/vendored/brepjs/io/svgImportFns.js +394 -0
  1354. package/dist/vendored/brepjs/io/svgImportFns.js.map +1 -0
  1355. package/dist/vendored/brepjs/io/threemfExportFns.d.ts +48 -0
  1356. package/dist/vendored/brepjs/io/threemfExportFns.d.ts.map +1 -0
  1357. package/dist/vendored/brepjs/io/threemfExportFns.js +345 -0
  1358. package/dist/vendored/brepjs/io/threemfExportFns.js.map +1 -0
  1359. package/dist/vendored/brepjs/io/threemfImportFns.d.ts +22 -0
  1360. package/dist/vendored/brepjs/io/threemfImportFns.d.ts.map +1 -0
  1361. package/dist/vendored/brepjs/io/threemfImportFns.js +350 -0
  1362. package/dist/vendored/brepjs/io/threemfImportFns.js.map +1 -0
  1363. package/dist/vendored/brepjs/io.d.ts +17 -0
  1364. package/dist/vendored/brepjs/io.d.ts.map +1 -0
  1365. package/dist/vendored/brepjs/io.js +20 -0
  1366. package/dist/vendored/brepjs/io.js.map +1 -0
  1367. package/dist/vendored/brepjs/kernel/capabilities.d.ts +36 -0
  1368. package/dist/vendored/brepjs/kernel/capabilities.d.ts.map +1 -0
  1369. package/dist/vendored/brepjs/kernel/capabilities.js +35 -0
  1370. package/dist/vendored/brepjs/kernel/capabilities.js.map +1 -0
  1371. package/dist/vendored/brepjs/kernel/geometry2d.d.ts +96 -0
  1372. package/dist/vendored/brepjs/kernel/geometry2d.d.ts.map +1 -0
  1373. package/dist/vendored/brepjs/kernel/geometry2d.js +885 -0
  1374. package/dist/vendored/brepjs/kernel/geometry2d.js.map +1 -0
  1375. package/dist/vendored/brepjs/kernel/hullGeometry.d.ts +23 -0
  1376. package/dist/vendored/brepjs/kernel/hullGeometry.d.ts.map +1 -0
  1377. package/dist/vendored/brepjs/kernel/hullGeometry.js +312 -0
  1378. package/dist/vendored/brepjs/kernel/hullGeometry.js.map +1 -0
  1379. package/dist/vendored/brepjs/kernel/index.d.ts +61 -0
  1380. package/dist/vendored/brepjs/kernel/index.d.ts.map +1 -0
  1381. package/dist/vendored/brepjs/kernel/index.js +93 -0
  1382. package/dist/vendored/brepjs/kernel/index.js.map +1 -0
  1383. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts +44 -0
  1384. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts.map +1 -0
  1385. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js +11 -0
  1386. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js.map +1 -0
  1387. package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts +67 -0
  1388. package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts.map +1 -0
  1389. package/dist/vendored/brepjs/kernel/interfaces/builderOps.js +12 -0
  1390. package/dist/vendored/brepjs/kernel/interfaces/builderOps.js.map +1 -0
  1391. package/dist/vendored/brepjs/kernel/interfaces/core.d.ts +46 -0
  1392. package/dist/vendored/brepjs/kernel/interfaces/core.d.ts.map +1 -0
  1393. package/dist/vendored/brepjs/kernel/interfaces/core.js +11 -0
  1394. package/dist/vendored/brepjs/kernel/interfaces/core.js.map +1 -0
  1395. package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts +53 -0
  1396. package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts.map +1 -0
  1397. package/dist/vendored/brepjs/kernel/interfaces/curveOps.js +12 -0
  1398. package/dist/vendored/brepjs/kernel/interfaces/curveOps.js.map +1 -0
  1399. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts +32 -0
  1400. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts.map +1 -0
  1401. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js +14 -0
  1402. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js.map +1 -0
  1403. package/dist/vendored/brepjs/kernel/interfaces/index.d.ts +43 -0
  1404. package/dist/vendored/brepjs/kernel/interfaces/index.d.ts.map +1 -0
  1405. package/dist/vendored/brepjs/kernel/interfaces/index.js +12 -0
  1406. package/dist/vendored/brepjs/kernel/interfaces/index.js.map +1 -0
  1407. package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts +65 -0
  1408. package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts.map +1 -0
  1409. package/dist/vendored/brepjs/kernel/interfaces/ioOps.js +9 -0
  1410. package/dist/vendored/brepjs/kernel/interfaces/ioOps.js.map +1 -0
  1411. package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts +55 -0
  1412. package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts.map +1 -0
  1413. package/dist/vendored/brepjs/kernel/interfaces/measureOps.js +9 -0
  1414. package/dist/vendored/brepjs/kernel/interfaces/measureOps.js.map +1 -0
  1415. package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts +25 -0
  1416. package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts.map +1 -0
  1417. package/dist/vendored/brepjs/kernel/interfaces/meshOps.js +8 -0
  1418. package/dist/vendored/brepjs/kernel/interfaces/meshOps.js.map +1 -0
  1419. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts +53 -0
  1420. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts.map +1 -0
  1421. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js +10 -0
  1422. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js.map +1 -0
  1423. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts +22 -0
  1424. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts.map +1 -0
  1425. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js +11 -0
  1426. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js.map +1 -0
  1427. package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts +43 -0
  1428. package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts.map +1 -0
  1429. package/dist/vendored/brepjs/kernel/interfaces/repairOps.js +9 -0
  1430. package/dist/vendored/brepjs/kernel/interfaces/repairOps.js.map +1 -0
  1431. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts +72 -0
  1432. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts.map +1 -0
  1433. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js +13 -0
  1434. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js.map +1 -0
  1435. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts +73 -0
  1436. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts.map +1 -0
  1437. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js +11 -0
  1438. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js.map +1 -0
  1439. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts +62 -0
  1440. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts.map +1 -0
  1441. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js +9 -0
  1442. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js.map +1 -0
  1443. package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts +80 -0
  1444. package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts.map +1 -0
  1445. package/dist/vendored/brepjs/kernel/interfaces/transformOps.js +11 -0
  1446. package/dist/vendored/brepjs/kernel/interfaces/transformOps.js.map +1 -0
  1447. package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts +145 -0
  1448. package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts.map +1 -0
  1449. package/dist/vendored/brepjs/kernel/kernel2dTypes.js +18 -0
  1450. package/dist/vendored/brepjs/kernel/kernel2dTypes.js.map +1 -0
  1451. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts +41 -0
  1452. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts.map +1 -0
  1453. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js +2 -0
  1454. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js.map +1 -0
  1455. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts +17 -0
  1456. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts.map +1 -0
  1457. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js +75 -0
  1458. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js.map +1 -0
  1459. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts +36 -0
  1460. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts.map +1 -0
  1461. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js +116 -0
  1462. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js.map +1 -0
  1463. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts +43 -0
  1464. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts.map +1 -0
  1465. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js +292 -0
  1466. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js.map +1 -0
  1467. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts +34 -0
  1468. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts.map +1 -0
  1469. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js +164 -0
  1470. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js.map +1 -0
  1471. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts +26 -0
  1472. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts.map +1 -0
  1473. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js +256 -0
  1474. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js.map +1 -0
  1475. package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts +42 -0
  1476. package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts.map +1 -0
  1477. package/dist/vendored/brepjs/kernel/occtWasm/helpers.js +146 -0
  1478. package/dist/vendored/brepjs/kernel/occtWasm/helpers.js.map +1 -0
  1479. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts +17 -0
  1480. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts.map +1 -0
  1481. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js +55 -0
  1482. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js.map +1 -0
  1483. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts +58 -0
  1484. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts.map +1 -0
  1485. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js +303 -0
  1486. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js.map +1 -0
  1487. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts +113 -0
  1488. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts.map +1 -0
  1489. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js +731 -0
  1490. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js.map +1 -0
  1491. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts +62 -0
  1492. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts.map +1 -0
  1493. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js +338 -0
  1494. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js.map +1 -0
  1495. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts +12 -0
  1496. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts.map +1 -0
  1497. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js +120 -0
  1498. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js.map +1 -0
  1499. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts +20 -0
  1500. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts.map +1 -0
  1501. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js +187 -0
  1502. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js.map +1 -0
  1503. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts +513 -0
  1504. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts.map +1 -0
  1505. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js +1016 -0
  1506. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js.map +1 -0
  1507. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts +332 -0
  1508. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts.map +1 -0
  1509. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js +10 -0
  1510. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js.map +1 -0
  1511. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts +16 -0
  1512. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts.map +1 -0
  1513. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js +64 -0
  1514. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js.map +1 -0
  1515. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts +16 -0
  1516. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts.map +1 -0
  1517. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js +38 -0
  1518. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js.map +1 -0
  1519. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts +56 -0
  1520. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts.map +1 -0
  1521. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js +247 -0
  1522. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js.map +1 -0
  1523. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts +56 -0
  1524. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts.map +1 -0
  1525. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js +235 -0
  1526. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js.map +1 -0
  1527. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts +25 -0
  1528. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts.map +1 -0
  1529. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js +127 -0
  1530. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js.map +1 -0
  1531. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts +40 -0
  1532. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts.map +1 -0
  1533. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js +275 -0
  1534. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js.map +1 -0
  1535. package/dist/vendored/brepjs/kernel/quality.d.ts +28 -0
  1536. package/dist/vendored/brepjs/kernel/quality.d.ts.map +1 -0
  1537. package/dist/vendored/brepjs/kernel/quality.js +40 -0
  1538. package/dist/vendored/brepjs/kernel/quality.js.map +1 -0
  1539. package/dist/vendored/brepjs/kernel/solverAdapter.d.ts +50 -0
  1540. package/dist/vendored/brepjs/kernel/solverAdapter.d.ts.map +1 -0
  1541. package/dist/vendored/brepjs/kernel/solverAdapter.js +330 -0
  1542. package/dist/vendored/brepjs/kernel/solverAdapter.js.map +1 -0
  1543. package/dist/vendored/brepjs/kernel/stlBuilder.d.ts +21 -0
  1544. package/dist/vendored/brepjs/kernel/stlBuilder.d.ts.map +1 -0
  1545. package/dist/vendored/brepjs/kernel/stlBuilder.js +106 -0
  1546. package/dist/vendored/brepjs/kernel/stlBuilder.js.map +1 -0
  1547. package/dist/vendored/brepjs/kernel/types.d.ts +214 -0
  1548. package/dist/vendored/brepjs/kernel/types.d.ts.map +1 -0
  1549. package/dist/vendored/brepjs/kernel/types.js +22 -0
  1550. package/dist/vendored/brepjs/kernel/types.js.map +1 -0
  1551. package/dist/vendored/brepjs/kernel/unsupported.d.ts +15 -0
  1552. package/dist/vendored/brepjs/kernel/unsupported.d.ts.map +1 -0
  1553. package/dist/vendored/brepjs/kernel/unsupported.js +25 -0
  1554. package/dist/vendored/brepjs/kernel/unsupported.js.map +1 -0
  1555. package/dist/vendored/brepjs/measurement/interferenceFns.d.ts +68 -0
  1556. package/dist/vendored/brepjs/measurement/interferenceFns.d.ts.map +1 -0
  1557. package/dist/vendored/brepjs/measurement/interferenceFns.js +102 -0
  1558. package/dist/vendored/brepjs/measurement/interferenceFns.js.map +1 -0
  1559. package/dist/vendored/brepjs/measurement/measureCache.d.ts +20 -0
  1560. package/dist/vendored/brepjs/measurement/measureCache.d.ts.map +1 -0
  1561. package/dist/vendored/brepjs/measurement/measureCache.js +28 -0
  1562. package/dist/vendored/brepjs/measurement/measureCache.js.map +1 -0
  1563. package/dist/vendored/brepjs/measurement/measureFns.d.ts +92 -0
  1564. package/dist/vendored/brepjs/measurement/measureFns.d.ts.map +1 -0
  1565. package/dist/vendored/brepjs/measurement/measureFns.js +239 -0
  1566. package/dist/vendored/brepjs/measurement/measureFns.js.map +1 -0
  1567. package/dist/vendored/brepjs/measurement/measureTypes.d.ts +35 -0
  1568. package/dist/vendored/brepjs/measurement/measureTypes.d.ts.map +1 -0
  1569. package/dist/vendored/brepjs/measurement/measureTypes.js +7 -0
  1570. package/dist/vendored/brepjs/measurement/measureTypes.js.map +1 -0
  1571. package/dist/vendored/brepjs/measurement.d.ts +5 -0
  1572. package/dist/vendored/brepjs/measurement.d.ts.map +1 -0
  1573. package/dist/vendored/brepjs/measurement.js +5 -0
  1574. package/dist/vendored/brepjs/measurement.js.map +1 -0
  1575. package/dist/vendored/brepjs/ns/booleans.d.ts +11 -0
  1576. package/dist/vendored/brepjs/ns/booleans.d.ts.map +1 -0
  1577. package/dist/vendored/brepjs/ns/booleans.js +11 -0
  1578. package/dist/vendored/brepjs/ns/booleans.js.map +1 -0
  1579. package/dist/vendored/brepjs/ns/construction.d.ts +10 -0
  1580. package/dist/vendored/brepjs/ns/construction.d.ts.map +1 -0
  1581. package/dist/vendored/brepjs/ns/construction.js +10 -0
  1582. package/dist/vendored/brepjs/ns/construction.js.map +1 -0
  1583. package/dist/vendored/brepjs/ns/ioNs.d.ts +18 -0
  1584. package/dist/vendored/brepjs/ns/ioNs.d.ts.map +1 -0
  1585. package/dist/vendored/brepjs/ns/ioNs.js +20 -0
  1586. package/dist/vendored/brepjs/ns/ioNs.js.map +1 -0
  1587. package/dist/vendored/brepjs/ns/measurement.d.ts +6 -0
  1588. package/dist/vendored/brepjs/ns/measurement.d.ts.map +1 -0
  1589. package/dist/vendored/brepjs/ns/measurement.js +6 -0
  1590. package/dist/vendored/brepjs/ns/measurement.js.map +1 -0
  1591. package/dist/vendored/brepjs/ns/modifiers.d.ts +6 -0
  1592. package/dist/vendored/brepjs/ns/modifiers.d.ts.map +1 -0
  1593. package/dist/vendored/brepjs/ns/modifiers.js +6 -0
  1594. package/dist/vendored/brepjs/ns/modifiers.js.map +1 -0
  1595. package/dist/vendored/brepjs/ns/patterns.d.ts +5 -0
  1596. package/dist/vendored/brepjs/ns/patterns.d.ts.map +1 -0
  1597. package/dist/vendored/brepjs/ns/patterns.js +5 -0
  1598. package/dist/vendored/brepjs/ns/patterns.js.map +1 -0
  1599. package/dist/vendored/brepjs/ns/primitives.d.ts +7 -0
  1600. package/dist/vendored/brepjs/ns/primitives.d.ts.map +1 -0
  1601. package/dist/vendored/brepjs/ns/primitives.js +7 -0
  1602. package/dist/vendored/brepjs/ns/primitives.js.map +1 -0
  1603. package/dist/vendored/brepjs/ns/query.d.ts +6 -0
  1604. package/dist/vendored/brepjs/ns/query.d.ts.map +1 -0
  1605. package/dist/vendored/brepjs/ns/query.js +6 -0
  1606. package/dist/vendored/brepjs/ns/query.js.map +1 -0
  1607. package/dist/vendored/brepjs/ns/transforms.d.ts +5 -0
  1608. package/dist/vendored/brepjs/ns/transforms.d.ts.map +1 -0
  1609. package/dist/vendored/brepjs/ns/transforms.js +5 -0
  1610. package/dist/vendored/brepjs/ns/transforms.js.map +1 -0
  1611. package/dist/vendored/brepjs/operations/api.d.ts +39 -0
  1612. package/dist/vendored/brepjs/operations/api.d.ts.map +1 -0
  1613. package/dist/vendored/brepjs/operations/api.js +41 -0
  1614. package/dist/vendored/brepjs/operations/api.js.map +1 -0
  1615. package/dist/vendored/brepjs/operations/assemblyFns.d.ts +54 -0
  1616. package/dist/vendored/brepjs/operations/assemblyFns.d.ts.map +1 -0
  1617. package/dist/vendored/brepjs/operations/assemblyFns.js +91 -0
  1618. package/dist/vendored/brepjs/operations/assemblyFns.js.map +1 -0
  1619. package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts +43 -0
  1620. package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts.map +1 -0
  1621. package/dist/vendored/brepjs/operations/compoundOpsFns.js +368 -0
  1622. package/dist/vendored/brepjs/operations/compoundOpsFns.js.map +1 -0
  1623. package/dist/vendored/brepjs/operations/convexHullFns.d.ts +27 -0
  1624. package/dist/vendored/brepjs/operations/convexHullFns.d.ts.map +1 -0
  1625. package/dist/vendored/brepjs/operations/convexHullFns.js +50 -0
  1626. package/dist/vendored/brepjs/operations/convexHullFns.js.map +1 -0
  1627. package/dist/vendored/brepjs/operations/dhFns.d.ts +47 -0
  1628. package/dist/vendored/brepjs/operations/dhFns.d.ts.map +1 -0
  1629. package/dist/vendored/brepjs/operations/dhFns.js +53 -0
  1630. package/dist/vendored/brepjs/operations/dhFns.js.map +1 -0
  1631. package/dist/vendored/brepjs/operations/exporterFns.d.ts +47 -0
  1632. package/dist/vendored/brepjs/operations/exporterFns.d.ts.map +1 -0
  1633. package/dist/vendored/brepjs/operations/exporterFns.js +66 -0
  1634. package/dist/vendored/brepjs/operations/exporterFns.js.map +1 -0
  1635. package/dist/vendored/brepjs/operations/exporterUtils.d.ts +6 -0
  1636. package/dist/vendored/brepjs/operations/exporterUtils.d.ts.map +1 -0
  1637. package/dist/vendored/brepjs/operations/exporterUtils.js +5 -0
  1638. package/dist/vendored/brepjs/operations/exporterUtils.js.map +1 -0
  1639. package/dist/vendored/brepjs/operations/exporters.d.ts +59 -0
  1640. package/dist/vendored/brepjs/operations/exporters.d.ts.map +1 -0
  1641. package/dist/vendored/brepjs/operations/exporters.js +74 -0
  1642. package/dist/vendored/brepjs/operations/exporters.js.map +1 -0
  1643. package/dist/vendored/brepjs/operations/extrudeFns.d.ts +47 -0
  1644. package/dist/vendored/brepjs/operations/extrudeFns.d.ts.map +1 -0
  1645. package/dist/vendored/brepjs/operations/extrudeFns.js +119 -0
  1646. package/dist/vendored/brepjs/operations/extrudeFns.js.map +1 -0
  1647. package/dist/vendored/brepjs/operations/extrudeUtils.d.ts +63 -0
  1648. package/dist/vendored/brepjs/operations/extrudeUtils.d.ts.map +1 -0
  1649. package/dist/vendored/brepjs/operations/extrudeUtils.js +33 -0
  1650. package/dist/vendored/brepjs/operations/extrudeUtils.js.map +1 -0
  1651. package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts +6 -0
  1652. package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts.map +1 -0
  1653. package/dist/vendored/brepjs/operations/guidedSweepFns.js +6 -0
  1654. package/dist/vendored/brepjs/operations/guidedSweepFns.js.map +1 -0
  1655. package/dist/vendored/brepjs/operations/historyFns.d.ts +83 -0
  1656. package/dist/vendored/brepjs/operations/historyFns.d.ts.map +1 -0
  1657. package/dist/vendored/brepjs/operations/historyFns.js +256 -0
  1658. package/dist/vendored/brepjs/operations/historyFns.js.map +1 -0
  1659. package/dist/vendored/brepjs/operations/ikFns.d.ts +74 -0
  1660. package/dist/vendored/brepjs/operations/ikFns.d.ts.map +1 -0
  1661. package/dist/vendored/brepjs/operations/ikFns.js +320 -0
  1662. package/dist/vendored/brepjs/operations/ikFns.js.map +1 -0
  1663. package/dist/vendored/brepjs/operations/instanceFns.d.ts +76 -0
  1664. package/dist/vendored/brepjs/operations/instanceFns.d.ts.map +1 -0
  1665. package/dist/vendored/brepjs/operations/instanceFns.js +128 -0
  1666. package/dist/vendored/brepjs/operations/instanceFns.js.map +1 -0
  1667. package/dist/vendored/brepjs/operations/jointFns.d.ts +176 -0
  1668. package/dist/vendored/brepjs/operations/jointFns.d.ts.map +1 -0
  1669. package/dist/vendored/brepjs/operations/jointFns.js +298 -0
  1670. package/dist/vendored/brepjs/operations/jointFns.js.map +1 -0
  1671. package/dist/vendored/brepjs/operations/loftFns.d.ts +60 -0
  1672. package/dist/vendored/brepjs/operations/loftFns.d.ts.map +1 -0
  1673. package/dist/vendored/brepjs/operations/loftFns.js +112 -0
  1674. package/dist/vendored/brepjs/operations/loftFns.js.map +1 -0
  1675. package/dist/vendored/brepjs/operations/mateFns.d.ts +53 -0
  1676. package/dist/vendored/brepjs/operations/mateFns.d.ts.map +1 -0
  1677. package/dist/vendored/brepjs/operations/mateFns.js +142 -0
  1678. package/dist/vendored/brepjs/operations/mateFns.js.map +1 -0
  1679. package/dist/vendored/brepjs/operations/multiSweepFns.d.ts +6 -0
  1680. package/dist/vendored/brepjs/operations/multiSweepFns.d.ts.map +1 -0
  1681. package/dist/vendored/brepjs/operations/multiSweepFns.js +6 -0
  1682. package/dist/vendored/brepjs/operations/multiSweepFns.js.map +1 -0
  1683. package/dist/vendored/brepjs/operations/patternFns.d.ts +46 -0
  1684. package/dist/vendored/brepjs/operations/patternFns.d.ts.map +1 -0
  1685. package/dist/vendored/brepjs/operations/patternFns.js +126 -0
  1686. package/dist/vendored/brepjs/operations/patternFns.js.map +1 -0
  1687. package/dist/vendored/brepjs/operations/roofFns.d.ts +25 -0
  1688. package/dist/vendored/brepjs/operations/roofFns.d.ts.map +1 -0
  1689. package/dist/vendored/brepjs/operations/roofFns.js +250 -0
  1690. package/dist/vendored/brepjs/operations/roofFns.js.map +1 -0
  1691. package/dist/vendored/brepjs/operations/straightSkeleton.d.ts +29 -0
  1692. package/dist/vendored/brepjs/operations/straightSkeleton.d.ts.map +1 -0
  1693. package/dist/vendored/brepjs/operations/straightSkeleton.js +440 -0
  1694. package/dist/vendored/brepjs/operations/straightSkeleton.js.map +1 -0
  1695. package/dist/vendored/brepjs/operations/sweepFns.d.ts +121 -0
  1696. package/dist/vendored/brepjs/operations/sweepFns.d.ts.map +1 -0
  1697. package/dist/vendored/brepjs/operations/sweepFns.js +438 -0
  1698. package/dist/vendored/brepjs/operations/sweepFns.js.map +1 -0
  1699. package/dist/vendored/brepjs/operations/threadFns.d.ts +57 -0
  1700. package/dist/vendored/brepjs/operations/threadFns.d.ts.map +1 -0
  1701. package/dist/vendored/brepjs/operations/threadFns.js +145 -0
  1702. package/dist/vendored/brepjs/operations/threadFns.js.map +1 -0
  1703. package/dist/vendored/brepjs/operations/urdfFns.d.ts +48 -0
  1704. package/dist/vendored/brepjs/operations/urdfFns.d.ts.map +1 -0
  1705. package/dist/vendored/brepjs/operations/urdfFns.js +171 -0
  1706. package/dist/vendored/brepjs/operations/urdfFns.js.map +1 -0
  1707. package/dist/vendored/brepjs/operations.d.ts +20 -0
  1708. package/dist/vendored/brepjs/operations.d.ts.map +1 -0
  1709. package/dist/vendored/brepjs/operations.js +26 -0
  1710. package/dist/vendored/brepjs/operations.js.map +1 -0
  1711. package/dist/vendored/brepjs/projection/cameraFns.d.ts +63 -0
  1712. package/dist/vendored/brepjs/projection/cameraFns.d.ts.map +1 -0
  1713. package/dist/vendored/brepjs/projection/cameraFns.js +89 -0
  1714. package/dist/vendored/brepjs/projection/cameraFns.js.map +1 -0
  1715. package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts +14 -0
  1716. package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts.map +1 -0
  1717. package/dist/vendored/brepjs/projection/makeProjectedEdges.js +111 -0
  1718. package/dist/vendored/brepjs/projection/makeProjectedEdges.js.map +1 -0
  1719. package/dist/vendored/brepjs/projection/projectionPlanes.d.ts +18 -0
  1720. package/dist/vendored/brepjs/projection/projectionPlanes.d.ts.map +1 -0
  1721. package/dist/vendored/brepjs/projection/projectionPlanes.js +23 -0
  1722. package/dist/vendored/brepjs/projection/projectionPlanes.js.map +1 -0
  1723. package/dist/vendored/brepjs/projection.d.ts +12 -0
  1724. package/dist/vendored/brepjs/projection.d.ts.map +1 -0
  1725. package/dist/vendored/brepjs/projection.js +12 -0
  1726. package/dist/vendored/brepjs/projection.js.map +1 -0
  1727. package/dist/vendored/brepjs/query/cornerFinder.d.ts +54 -0
  1728. package/dist/vendored/brepjs/query/cornerFinder.d.ts.map +1 -0
  1729. package/dist/vendored/brepjs/query/cornerFinder.js +73 -0
  1730. package/dist/vendored/brepjs/query/cornerFinder.js.map +1 -0
  1731. package/dist/vendored/brepjs/query/directionUtils.d.ts +9 -0
  1732. package/dist/vendored/brepjs/query/directionUtils.d.ts.map +1 -0
  1733. package/dist/vendored/brepjs/query/directionUtils.js +18 -0
  1734. package/dist/vendored/brepjs/query/directionUtils.js.map +1 -0
  1735. package/dist/vendored/brepjs/query/edgeFinder.d.ts +5 -0
  1736. package/dist/vendored/brepjs/query/edgeFinder.d.ts.map +1 -0
  1737. package/dist/vendored/brepjs/query/edgeFinder.js +5 -0
  1738. package/dist/vendored/brepjs/query/edgeFinder.js.map +1 -0
  1739. package/dist/vendored/brepjs/query/faceFinder.d.ts +5 -0
  1740. package/dist/vendored/brepjs/query/faceFinder.d.ts.map +1 -0
  1741. package/dist/vendored/brepjs/query/faceFinder.js +5 -0
  1742. package/dist/vendored/brepjs/query/faceFinder.js.map +1 -0
  1743. package/dist/vendored/brepjs/query/finderCore.d.ts +49 -0
  1744. package/dist/vendored/brepjs/query/finderCore.d.ts.map +1 -0
  1745. package/dist/vendored/brepjs/query/finderCore.js +120 -0
  1746. package/dist/vendored/brepjs/query/finderCore.js.map +1 -0
  1747. package/dist/vendored/brepjs/query/finderFns.d.ts +25 -0
  1748. package/dist/vendored/brepjs/query/finderFns.d.ts.map +1 -0
  1749. package/dist/vendored/brepjs/query/finderFns.js +25 -0
  1750. package/dist/vendored/brepjs/query/finderFns.js.map +1 -0
  1751. package/dist/vendored/brepjs/query/helpers.d.ts +11 -0
  1752. package/dist/vendored/brepjs/query/helpers.d.ts.map +1 -0
  1753. package/dist/vendored/brepjs/query/helpers.js +17 -0
  1754. package/dist/vendored/brepjs/query/helpers.js.map +1 -0
  1755. package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts +15 -0
  1756. package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts.map +1 -0
  1757. package/dist/vendored/brepjs/query/shapeDistanceFilter.js +21 -0
  1758. package/dist/vendored/brepjs/query/shapeDistanceFilter.js.map +1 -0
  1759. package/dist/vendored/brepjs/query/shapeFinders.d.ts +39 -0
  1760. package/dist/vendored/brepjs/query/shapeFinders.d.ts.map +1 -0
  1761. package/dist/vendored/brepjs/query/shapeFinders.js +82 -0
  1762. package/dist/vendored/brepjs/query/shapeFinders.js.map +1 -0
  1763. package/dist/vendored/brepjs/query/vertexFinder.d.ts +19 -0
  1764. package/dist/vendored/brepjs/query/vertexFinder.d.ts.map +1 -0
  1765. package/dist/vendored/brepjs/query/vertexFinder.js +73 -0
  1766. package/dist/vendored/brepjs/query/vertexFinder.js.map +1 -0
  1767. package/dist/vendored/brepjs/query/wireFinder.d.ts +5 -0
  1768. package/dist/vendored/brepjs/query/wireFinder.d.ts.map +1 -0
  1769. package/dist/vendored/brepjs/query/wireFinder.js +5 -0
  1770. package/dist/vendored/brepjs/query/wireFinder.js.map +1 -0
  1771. package/dist/vendored/brepjs/query.d.ts +6 -0
  1772. package/dist/vendored/brepjs/query.d.ts.map +1 -0
  1773. package/dist/vendored/brepjs/query.js +6 -0
  1774. package/dist/vendored/brepjs/query.js.map +1 -0
  1775. package/dist/vendored/brepjs/result.d.ts +7 -0
  1776. package/dist/vendored/brepjs/result.d.ts.map +1 -0
  1777. package/dist/vendored/brepjs/result.js +7 -0
  1778. package/dist/vendored/brepjs/result.js.map +1 -0
  1779. package/dist/vendored/brepjs/shapeRef.d.ts +13 -0
  1780. package/dist/vendored/brepjs/shapeRef.d.ts.map +1 -0
  1781. package/dist/vendored/brepjs/shapeRef.js +13 -0
  1782. package/dist/vendored/brepjs/shapeRef.js.map +1 -0
  1783. package/dist/vendored/brepjs/sketching/cannedSketches.d.ts +144 -0
  1784. package/dist/vendored/brepjs/sketching/cannedSketches.d.ts.map +1 -0
  1785. package/dist/vendored/brepjs/sketching/cannedSketches.js +327 -0
  1786. package/dist/vendored/brepjs/sketching/cannedSketches.js.map +1 -0
  1787. package/dist/vendored/brepjs/sketching/compoundSketch.d.ts +70 -0
  1788. package/dist/vendored/brepjs/sketching/compoundSketch.d.ts.map +1 -0
  1789. package/dist/vendored/brepjs/sketching/compoundSketch.js +87 -0
  1790. package/dist/vendored/brepjs/sketching/compoundSketch.js.map +1 -0
  1791. package/dist/vendored/brepjs/sketching/draw3d.d.ts +22 -0
  1792. package/dist/vendored/brepjs/sketching/draw3d.d.ts.map +1 -0
  1793. package/dist/vendored/brepjs/sketching/draw3d.js +150 -0
  1794. package/dist/vendored/brepjs/sketching/draw3d.js.map +1 -0
  1795. package/dist/vendored/brepjs/sketching/drawFns.d.ts +122 -0
  1796. package/dist/vendored/brepjs/sketching/drawFns.d.ts.map +1 -0
  1797. package/dist/vendored/brepjs/sketching/drawFns.js +129 -0
  1798. package/dist/vendored/brepjs/sketching/drawFns.js.map +1 -0
  1799. package/dist/vendored/brepjs/sketching/drawing.d.ts +128 -0
  1800. package/dist/vendored/brepjs/sketching/drawing.d.ts.map +1 -0
  1801. package/dist/vendored/brepjs/sketching/drawing.js +275 -0
  1802. package/dist/vendored/brepjs/sketching/drawing.js.map +1 -0
  1803. package/dist/vendored/brepjs/sketching/drawingFactories.d.ts +95 -0
  1804. package/dist/vendored/brepjs/sketching/drawingFactories.d.ts.map +1 -0
  1805. package/dist/vendored/brepjs/sketching/drawingFactories.js +125 -0
  1806. package/dist/vendored/brepjs/sketching/drawingFactories.js.map +1 -0
  1807. package/dist/vendored/brepjs/sketching/drawingPen.d.ts +35 -0
  1808. package/dist/vendored/brepjs/sketching/drawingPen.d.ts.map +1 -0
  1809. package/dist/vendored/brepjs/sketching/drawingPen.js +57 -0
  1810. package/dist/vendored/brepjs/sketching/drawingPen.js.map +1 -0
  1811. package/dist/vendored/brepjs/sketching/faceSketcher.d.ts +53 -0
  1812. package/dist/vendored/brepjs/sketching/faceSketcher.d.ts.map +1 -0
  1813. package/dist/vendored/brepjs/sketching/faceSketcher.js +167 -0
  1814. package/dist/vendored/brepjs/sketching/faceSketcher.js.map +1 -0
  1815. package/dist/vendored/brepjs/sketching/shortcuts.d.ts +16 -0
  1816. package/dist/vendored/brepjs/sketching/shortcuts.d.ts.map +1 -0
  1817. package/dist/vendored/brepjs/sketching/shortcuts.js +24 -0
  1818. package/dist/vendored/brepjs/sketching/shortcuts.js.map +1 -0
  1819. package/dist/vendored/brepjs/sketching/sketch.d.ts +157 -0
  1820. package/dist/vendored/brepjs/sketching/sketch.d.ts.map +1 -0
  1821. package/dist/vendored/brepjs/sketching/sketch.js +151 -0
  1822. package/dist/vendored/brepjs/sketching/sketch.js.map +1 -0
  1823. package/dist/vendored/brepjs/sketching/sketchFns.d.ts +89 -0
  1824. package/dist/vendored/brepjs/sketching/sketchFns.d.ts.map +1 -0
  1825. package/dist/vendored/brepjs/sketching/sketchFns.js +266 -0
  1826. package/dist/vendored/brepjs/sketching/sketchFns.js.map +1 -0
  1827. package/dist/vendored/brepjs/sketching/sketcher.d.ts +70 -0
  1828. package/dist/vendored/brepjs/sketching/sketcher.d.ts.map +1 -0
  1829. package/dist/vendored/brepjs/sketching/sketcher.js +181 -0
  1830. package/dist/vendored/brepjs/sketching/sketcher.js.map +1 -0
  1831. package/dist/vendored/brepjs/sketching/sketches.d.ts +70 -0
  1832. package/dist/vendored/brepjs/sketching/sketches.d.ts.map +1 -0
  1833. package/dist/vendored/brepjs/sketching/sketches.js +91 -0
  1834. package/dist/vendored/brepjs/sketching/sketches.js.map +1 -0
  1835. package/dist/vendored/brepjs/sketching.d.ts +28 -0
  1836. package/dist/vendored/brepjs/sketching.d.ts.map +1 -0
  1837. package/dist/vendored/brepjs/sketching.js +30 -0
  1838. package/dist/vendored/brepjs/sketching.js.map +1 -0
  1839. package/dist/vendored/brepjs/text/fontRegistry.d.ts +23 -0
  1840. package/dist/vendored/brepjs/text/fontRegistry.d.ts.map +1 -0
  1841. package/dist/vendored/brepjs/text/fontRegistry.js +61 -0
  1842. package/dist/vendored/brepjs/text/fontRegistry.js.map +1 -0
  1843. package/dist/vendored/brepjs/text/sketchText.d.ts +31 -0
  1844. package/dist/vendored/brepjs/text/sketchText.d.ts.map +1 -0
  1845. package/dist/vendored/brepjs/text/sketchText.js +30 -0
  1846. package/dist/vendored/brepjs/text/sketchText.js.map +1 -0
  1847. package/dist/vendored/brepjs/text/textBlueprints.d.ts +19 -0
  1848. package/dist/vendored/brepjs/text/textBlueprints.d.ts.map +1 -0
  1849. package/dist/vendored/brepjs/text/textBlueprints.js +61 -0
  1850. package/dist/vendored/brepjs/text/textBlueprints.js.map +1 -0
  1851. package/dist/vendored/brepjs/text/textMetrics.d.ts +40 -0
  1852. package/dist/vendored/brepjs/text/textMetrics.d.ts.map +1 -0
  1853. package/dist/vendored/brepjs/text/textMetrics.js +43 -0
  1854. package/dist/vendored/brepjs/text/textMetrics.js.map +1 -0
  1855. package/dist/vendored/brepjs/text.d.ts +13 -0
  1856. package/dist/vendored/brepjs/text.d.ts.map +1 -0
  1857. package/dist/vendored/brepjs/text.js +13 -0
  1858. package/dist/vendored/brepjs/text.js.map +1 -0
  1859. package/dist/vendored/brepjs/topology/adjacencyFns.d.ts +89 -0
  1860. package/dist/vendored/brepjs/topology/adjacencyFns.d.ts.map +1 -0
  1861. package/dist/vendored/brepjs/topology/adjacencyFns.js +411 -0
  1862. package/dist/vendored/brepjs/topology/adjacencyFns.js.map +1 -0
  1863. package/dist/vendored/brepjs/topology/api.d.ts +145 -0
  1864. package/dist/vendored/brepjs/topology/api.d.ts.map +1 -0
  1865. package/dist/vendored/brepjs/topology/api.js +282 -0
  1866. package/dist/vendored/brepjs/topology/api.js.map +1 -0
  1867. package/dist/vendored/brepjs/topology/apiTypes.d.ts +135 -0
  1868. package/dist/vendored/brepjs/topology/apiTypes.d.ts.map +1 -0
  1869. package/dist/vendored/brepjs/topology/apiTypes.js +24 -0
  1870. package/dist/vendored/brepjs/topology/apiTypes.js.map +1 -0
  1871. package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts +52 -0
  1872. package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts.map +1 -0
  1873. package/dist/vendored/brepjs/topology/booleanBatchFns.js +164 -0
  1874. package/dist/vendored/brepjs/topology/booleanBatchFns.js.map +1 -0
  1875. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts +21 -0
  1876. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts.map +1 -0
  1877. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js +23 -0
  1878. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js.map +1 -0
  1879. package/dist/vendored/brepjs/topology/booleanFns.d.ts +155 -0
  1880. package/dist/vendored/brepjs/topology/booleanFns.d.ts.map +1 -0
  1881. package/dist/vendored/brepjs/topology/booleanFns.js +600 -0
  1882. package/dist/vendored/brepjs/topology/booleanFns.js.map +1 -0
  1883. package/dist/vendored/brepjs/topology/cast.d.ts +48 -0
  1884. package/dist/vendored/brepjs/topology/cast.d.ts.map +1 -0
  1885. package/dist/vendored/brepjs/topology/cast.js +113 -0
  1886. package/dist/vendored/brepjs/topology/cast.js.map +1 -0
  1887. package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts +24 -0
  1888. package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts.map +1 -0
  1889. package/dist/vendored/brepjs/topology/chamferAngleFns.js +64 -0
  1890. package/dist/vendored/brepjs/topology/chamferAngleFns.js.map +1 -0
  1891. package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts +6 -0
  1892. package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts.map +1 -0
  1893. package/dist/vendored/brepjs/topology/compoundOpsFns.js +6 -0
  1894. package/dist/vendored/brepjs/topology/compoundOpsFns.js.map +1 -0
  1895. package/dist/vendored/brepjs/topology/curveBuilders.d.ts +90 -0
  1896. package/dist/vendored/brepjs/topology/curveBuilders.d.ts.map +1 -0
  1897. package/dist/vendored/brepjs/topology/curveBuilders.js +125 -0
  1898. package/dist/vendored/brepjs/topology/curveBuilders.js.map +1 -0
  1899. package/dist/vendored/brepjs/topology/curveFns.d.ts +96 -0
  1900. package/dist/vendored/brepjs/topology/curveFns.d.ts.map +1 -0
  1901. package/dist/vendored/brepjs/topology/curveFns.js +191 -0
  1902. package/dist/vendored/brepjs/topology/curveFns.js.map +1 -0
  1903. package/dist/vendored/brepjs/topology/evolutionFns.d.ts +78 -0
  1904. package/dist/vendored/brepjs/topology/evolutionFns.d.ts.map +1 -0
  1905. package/dist/vendored/brepjs/topology/evolutionFns.js +271 -0
  1906. package/dist/vendored/brepjs/topology/evolutionFns.js.map +1 -0
  1907. package/dist/vendored/brepjs/topology/faceFns.d.ts +86 -0
  1908. package/dist/vendored/brepjs/topology/faceFns.d.ts.map +1 -0
  1909. package/dist/vendored/brepjs/topology/faceFns.js +169 -0
  1910. package/dist/vendored/brepjs/topology/faceFns.js.map +1 -0
  1911. package/dist/vendored/brepjs/topology/healingFns.d.ts +98 -0
  1912. package/dist/vendored/brepjs/topology/healingFns.d.ts.map +1 -0
  1913. package/dist/vendored/brepjs/topology/healingFns.js +338 -0
  1914. package/dist/vendored/brepjs/topology/healingFns.js.map +1 -0
  1915. package/dist/vendored/brepjs/topology/hullFns.d.ts +21 -0
  1916. package/dist/vendored/brepjs/topology/hullFns.d.ts.map +1 -0
  1917. package/dist/vendored/brepjs/topology/hullFns.js +60 -0
  1918. package/dist/vendored/brepjs/topology/hullFns.js.map +1 -0
  1919. package/dist/vendored/brepjs/topology/index.d.ts +14 -0
  1920. package/dist/vendored/brepjs/topology/index.d.ts.map +1 -0
  1921. package/dist/vendored/brepjs/topology/index.js +17 -0
  1922. package/dist/vendored/brepjs/topology/index.js.map +1 -0
  1923. package/dist/vendored/brepjs/topology/meshCache.d.ts +68 -0
  1924. package/dist/vendored/brepjs/topology/meshCache.d.ts.map +1 -0
  1925. package/dist/vendored/brepjs/topology/meshCache.js +117 -0
  1926. package/dist/vendored/brepjs/topology/meshCache.js.map +1 -0
  1927. package/dist/vendored/brepjs/topology/meshFns.d.ts +179 -0
  1928. package/dist/vendored/brepjs/topology/meshFns.d.ts.map +1 -0
  1929. package/dist/vendored/brepjs/topology/meshFns.js +393 -0
  1930. package/dist/vendored/brepjs/topology/meshFns.js.map +1 -0
  1931. package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts +41 -0
  1932. package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts.map +1 -0
  1933. package/dist/vendored/brepjs/topology/metadata/colorFns.js +128 -0
  1934. package/dist/vendored/brepjs/topology/metadata/colorFns.js.map +1 -0
  1935. package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts +44 -0
  1936. package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts.map +1 -0
  1937. package/dist/vendored/brepjs/topology/metadata/faceTagFns.js +168 -0
  1938. package/dist/vendored/brepjs/topology/metadata/faceTagFns.js.map +1 -0
  1939. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts +59 -0
  1940. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts.map +1 -0
  1941. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js +109 -0
  1942. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js.map +1 -0
  1943. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts +43 -0
  1944. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts.map +1 -0
  1945. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js +270 -0
  1946. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js.map +1 -0
  1947. package/dist/vendored/brepjs/topology/minkowskiFns.d.ts +26 -0
  1948. package/dist/vendored/brepjs/topology/minkowskiFns.d.ts.map +1 -0
  1949. package/dist/vendored/brepjs/topology/minkowskiFns.js +136 -0
  1950. package/dist/vendored/brepjs/topology/minkowskiFns.js.map +1 -0
  1951. package/dist/vendored/brepjs/topology/modifierFns.d.ts +87 -0
  1952. package/dist/vendored/brepjs/topology/modifierFns.d.ts.map +1 -0
  1953. package/dist/vendored/brepjs/topology/modifierFns.js +446 -0
  1954. package/dist/vendored/brepjs/topology/modifierFns.js.map +1 -0
  1955. package/dist/vendored/brepjs/topology/nurbsFns.d.ts +13 -0
  1956. package/dist/vendored/brepjs/topology/nurbsFns.d.ts.map +1 -0
  1957. package/dist/vendored/brepjs/topology/nurbsFns.js +22 -0
  1958. package/dist/vendored/brepjs/topology/nurbsFns.js.map +1 -0
  1959. package/dist/vendored/brepjs/topology/polyhedronFns.d.ts +11 -0
  1960. package/dist/vendored/brepjs/topology/polyhedronFns.d.ts.map +1 -0
  1961. package/dist/vendored/brepjs/topology/polyhedronFns.js +47 -0
  1962. package/dist/vendored/brepjs/topology/polyhedronFns.js.map +1 -0
  1963. package/dist/vendored/brepjs/topology/positionFns.d.ts +18 -0
  1964. package/dist/vendored/brepjs/topology/positionFns.d.ts.map +1 -0
  1965. package/dist/vendored/brepjs/topology/positionFns.js +34 -0
  1966. package/dist/vendored/brepjs/topology/positionFns.js.map +1 -0
  1967. package/dist/vendored/brepjs/topology/primitiveFns.d.ts +244 -0
  1968. package/dist/vendored/brepjs/topology/primitiveFns.d.ts.map +1 -0
  1969. package/dist/vendored/brepjs/topology/primitiveFns.js +361 -0
  1970. package/dist/vendored/brepjs/topology/primitiveFns.js.map +1 -0
  1971. package/dist/vendored/brepjs/topology/shapeBooleans.d.ts +14 -0
  1972. package/dist/vendored/brepjs/topology/shapeBooleans.d.ts.map +1 -0
  1973. package/dist/vendored/brepjs/topology/shapeBooleans.js +24 -0
  1974. package/dist/vendored/brepjs/topology/shapeBooleans.js.map +1 -0
  1975. package/dist/vendored/brepjs/topology/shapeFns.d.ts +30 -0
  1976. package/dist/vendored/brepjs/topology/shapeFns.d.ts.map +1 -0
  1977. package/dist/vendored/brepjs/topology/shapeFns.js +50 -0
  1978. package/dist/vendored/brepjs/topology/shapeFns.js.map +1 -0
  1979. package/dist/vendored/brepjs/topology/shapeHelpers.d.ts +9 -0
  1980. package/dist/vendored/brepjs/topology/shapeHelpers.d.ts.map +1 -0
  1981. package/dist/vendored/brepjs/topology/shapeHelpers.js +14 -0
  1982. package/dist/vendored/brepjs/topology/shapeHelpers.js.map +1 -0
  1983. package/dist/vendored/brepjs/topology/shapeModifiers.d.ts +33 -0
  1984. package/dist/vendored/brepjs/topology/shapeModifiers.d.ts.map +1 -0
  1985. package/dist/vendored/brepjs/topology/shapeModifiers.js +28 -0
  1986. package/dist/vendored/brepjs/topology/shapeModifiers.js.map +1 -0
  1987. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts +29 -0
  1988. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts.map +1 -0
  1989. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js +135 -0
  1990. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js.map +1 -0
  1991. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts +25 -0
  1992. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts.map +1 -0
  1993. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js +123 -0
  1994. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js.map +1 -0
  1995. package/dist/vendored/brepjs/topology/shapeRef/index.d.ts +11 -0
  1996. package/dist/vendored/brepjs/topology/shapeRef/index.d.ts.map +1 -0
  1997. package/dist/vendored/brepjs/topology/shapeRef/index.js +10 -0
  1998. package/dist/vendored/brepjs/topology/shapeRef/index.js.map +1 -0
  1999. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts +66 -0
  2000. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts.map +1 -0
  2001. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js +128 -0
  2002. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js.map +1 -0
  2003. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts +18 -0
  2004. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts.map +1 -0
  2005. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js +51 -0
  2006. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js.map +1 -0
  2007. package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts +20 -0
  2008. package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts.map +1 -0
  2009. package/dist/vendored/brepjs/topology/shapeRef/scoring.js +65 -0
  2010. package/dist/vendored/brepjs/topology/shapeRef/scoring.js.map +1 -0
  2011. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts +59 -0
  2012. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts.map +1 -0
  2013. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js +266 -0
  2014. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js.map +1 -0
  2015. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts +153 -0
  2016. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts.map +1 -0
  2017. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js +6 -0
  2018. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js.map +1 -0
  2019. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts +24 -0
  2020. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts.map +1 -0
  2021. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js +128 -0
  2022. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js.map +1 -0
  2023. package/dist/vendored/brepjs/topology/shapeUtils.d.ts +16 -0
  2024. package/dist/vendored/brepjs/topology/shapeUtils.d.ts.map +1 -0
  2025. package/dist/vendored/brepjs/topology/shapeUtils.js +28 -0
  2026. package/dist/vendored/brepjs/topology/shapeUtils.js.map +1 -0
  2027. package/dist/vendored/brepjs/topology/solidBuilders.d.ts +74 -0
  2028. package/dist/vendored/brepjs/topology/solidBuilders.d.ts.map +1 -0
  2029. package/dist/vendored/brepjs/topology/solidBuilders.js +173 -0
  2030. package/dist/vendored/brepjs/topology/solidBuilders.js.map +1 -0
  2031. package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts +47 -0
  2032. package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts.map +1 -0
  2033. package/dist/vendored/brepjs/topology/surfaceBuilders.js +162 -0
  2034. package/dist/vendored/brepjs/topology/surfaceBuilders.js.map +1 -0
  2035. package/dist/vendored/brepjs/topology/surfaceFns.d.ts +41 -0
  2036. package/dist/vendored/brepjs/topology/surfaceFns.d.ts.map +1 -0
  2037. package/dist/vendored/brepjs/topology/surfaceFns.js +178 -0
  2038. package/dist/vendored/brepjs/topology/surfaceFns.js.map +1 -0
  2039. package/dist/vendored/brepjs/topology/threeHelpers.d.ts +124 -0
  2040. package/dist/vendored/brepjs/topology/threeHelpers.d.ts.map +1 -0
  2041. package/dist/vendored/brepjs/topology/threeHelpers.js +118 -0
  2042. package/dist/vendored/brepjs/topology/threeHelpers.js.map +1 -0
  2043. package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts +100 -0
  2044. package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts.map +1 -0
  2045. package/dist/vendored/brepjs/topology/topologyQueryFns.js +307 -0
  2046. package/dist/vendored/brepjs/topology/topologyQueryFns.js.map +1 -0
  2047. package/dist/vendored/brepjs/topology/transformFns.d.ts +69 -0
  2048. package/dist/vendored/brepjs/topology/transformFns.d.ts.map +1 -0
  2049. package/dist/vendored/brepjs/topology/transformFns.js +235 -0
  2050. package/dist/vendored/brepjs/topology/transformFns.js.map +1 -0
  2051. package/dist/vendored/brepjs/topology/wrapperFns.d.ts +169 -0
  2052. package/dist/vendored/brepjs/topology/wrapperFns.d.ts.map +1 -0
  2053. package/dist/vendored/brepjs/topology/wrapperFns.js +291 -0
  2054. package/dist/vendored/brepjs/topology/wrapperFns.js.map +1 -0
  2055. package/dist/vendored/brepjs/topology.d.ts +28 -0
  2056. package/dist/vendored/brepjs/topology.d.ts.map +1 -0
  2057. package/dist/vendored/brepjs/topology.js +39 -0
  2058. package/dist/vendored/brepjs/topology.js.map +1 -0
  2059. package/dist/vendored/brepjs/utils/arrayAccess.d.ts +12 -0
  2060. package/dist/vendored/brepjs/utils/arrayAccess.d.ts.map +1 -0
  2061. package/dist/vendored/brepjs/utils/arrayAccess.js +25 -0
  2062. package/dist/vendored/brepjs/utils/arrayAccess.js.map +1 -0
  2063. package/dist/vendored/brepjs/utils/bug.d.ts +15 -0
  2064. package/dist/vendored/brepjs/utils/bug.d.ts.map +1 -0
  2065. package/dist/vendored/brepjs/utils/bug.js +21 -0
  2066. package/dist/vendored/brepjs/utils/bug.js.map +1 -0
  2067. package/dist/vendored/brepjs/utils/ioFilename.d.ts +3 -0
  2068. package/dist/vendored/brepjs/utils/ioFilename.d.ts.map +1 -0
  2069. package/dist/vendored/brepjs/utils/ioFilename.js +7 -0
  2070. package/dist/vendored/brepjs/utils/ioFilename.js.map +1 -0
  2071. package/dist/vendored/brepjs/utils/precisionRound.d.ts +11 -0
  2072. package/dist/vendored/brepjs/utils/precisionRound.d.ts.map +1 -0
  2073. package/dist/vendored/brepjs/utils/precisionRound.js +19 -0
  2074. package/dist/vendored/brepjs/utils/precisionRound.js.map +1 -0
  2075. package/dist/vendored/brepjs/utils/quaternion.d.ts +18 -0
  2076. package/dist/vendored/brepjs/utils/quaternion.d.ts.map +1 -0
  2077. package/dist/vendored/brepjs/utils/quaternion.js +68 -0
  2078. package/dist/vendored/brepjs/utils/quaternion.js.map +1 -0
  2079. package/dist/vendored/brepjs/utils/range.d.ts +3 -0
  2080. package/dist/vendored/brepjs/utils/range.d.ts.map +1 -0
  2081. package/dist/vendored/brepjs/utils/range.js +5 -0
  2082. package/dist/vendored/brepjs/utils/range.js.map +1 -0
  2083. package/dist/vendored/brepjs/utils/uuid.d.ts +3 -0
  2084. package/dist/vendored/brepjs/utils/uuid.d.ts.map +1 -0
  2085. package/dist/vendored/brepjs/utils/uuid.js +7 -0
  2086. package/dist/vendored/brepjs/utils/uuid.js.map +1 -0
  2087. package/dist/vendored/brepjs/utils/vec2d.d.ts +62 -0
  2088. package/dist/vendored/brepjs/utils/vec2d.d.ts.map +1 -0
  2089. package/dist/vendored/brepjs/utils/vec2d.js +107 -0
  2090. package/dist/vendored/brepjs/utils/vec2d.js.map +1 -0
  2091. package/dist/vendored/brepjs/utils/vec3.d.ts +32 -0
  2092. package/dist/vendored/brepjs/utils/vec3.d.ts.map +1 -0
  2093. package/dist/vendored/brepjs/utils/vec3.js +35 -0
  2094. package/dist/vendored/brepjs/utils/vec3.js.map +1 -0
  2095. package/dist/vendored/brepjs/utils/zip.d.ts +5 -0
  2096. package/dist/vendored/brepjs/utils/zip.d.ts.map +1 -0
  2097. package/dist/vendored/brepjs/utils/zip.js +8 -0
  2098. package/dist/vendored/brepjs/utils/zip.js.map +1 -0
  2099. package/dist/vendored/brepjs/vectors.d.ts +11 -0
  2100. package/dist/vendored/brepjs/vectors.d.ts.map +1 -0
  2101. package/dist/vendored/brepjs/vectors.js +9 -0
  2102. package/dist/vendored/brepjs/vectors.js.map +1 -0
  2103. package/package.json +154 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel2dOps.js","sourceRoot":"","sources":["../../../../../src/vendored/brepjs/kernel/occtWasm/kernel2dOps.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * 2D curve operations for the occt-wasm adapter.\n *\n * occt-wasm doesn't expose Geom2d via Embind, so these methods sit on top\n * of the pure-TS `geometry2d` module (`ow2d`). Curve handles are opaque\n * `Curve2dObj` instances passed through `c2dWrap` / `c2d` identity casts.\n *\n * @module\n */\n\nimport type { KernelShape, KernelType } from '../../kernel/types.js';\nimport type { Curve2dHandle, BBox2dHandle } from '../../kernel/kernel2dTypes.js';\nimport * as ow2d from '../../kernel/geometry2d.js';\nimport type { Curve2dObj } from '../../kernel/geometry2d.js';\nimport type { OcctKernelWasm, OcctWasmModule } from './occtWasmTypes.js';\nimport { handle, unwrap } from './helpers.js';\nimport { curveParameters, curvePointAtParam } from './curveOps.js';\nimport { uvFromPoint } from './surfaceOps.js';\n\n// ─── Curve handle wrappers — identity casts at the kernel boundary ──────────\n\nfunction c2d(h: Curve2dHandle): Curve2dObj {\n return h;\n}\n\nfunction c2dWrap(obj: Curve2dObj): Curve2dHandle {\n return obj;\n}\n\n// ─── Constructors for plain-object 2D primitives ────────────────────────────\n\nexport function createPoint2d(x: number, y: number): KernelType {\n return { x, y };\n}\n\nexport function createDirection2d(x: number, y: number): KernelType {\n const l = Math.sqrt(x * x + y * y);\n if (l < 1e-15) {\n throw new Error('occt-wasm: createDirection2d called with zero-length vector');\n }\n return { x: x / l, y: y / l };\n}\n\nexport function createVector2d(x: number, y: number): KernelType {\n return { x, y };\n}\n\nexport function createAxis2d(px: number, py: number, dx: number, dy: number): KernelType {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- opaque type bridge\n return { px, py, dx, dy, delete() {} } as any;\n}\n\nexport function wrapCurve2dHandle(h: KernelType): Curve2dHandle {\n return h;\n}\n\n// ─── Curve constructors ─────────────────────────────────────────────────────\n\nexport function makeLine2d(x1: number, y1: number, x2: number, y2: number): Curve2dHandle {\n return c2dWrap(ow2d.makeLine2d(x1, y1, x2, y2));\n}\n\nexport function makeCircle2d(\n cx: number,\n cy: number,\n radius: number,\n sense?: boolean\n): Curve2dHandle {\n return c2dWrap(ow2d.makeCircle2d(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): Curve2dHandle {\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 return c2dWrap(ow2d.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 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 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;\n\n const circle = ow2d.makeCircle2d(cx, cy, radius, sense);\n if (!sense) {\n const tStart = -a1;\n let tEnd = -a2;\n if (tEnd < tStart - 1e-9) tEnd += 2 * Math.PI;\n return c2dWrap({ __bk2d: 'trimmed', basis: circle, tStart, tEnd });\n }\n let tEnd = a2;\n if (tEnd < a1 - 1e-9) tEnd += 2 * Math.PI;\n return c2dWrap({ __bk2d: 'trimmed', basis: circle, tStart: a1, tEnd });\n}\n\nexport function makeArc2dTangent(\n startX: number,\n startY: number,\n tangentX: number,\n tangentY: number,\n endX: number,\n endY: number\n): Curve2dHandle {\n const len = Math.sqrt(tangentX * tangentX + tangentY * tangentY);\n const ntx = len > 0 ? tangentX / len : 0;\n const nty = len > 0 ? tangentY / len : 0;\n\n const dx = startX - endX;\n const dy = startY - endY;\n const denom = 2 * (dy * ntx - dx * nty);\n\n if (Math.abs(denom) < 1e-12) {\n return c2dWrap(ow2d.makeLine2d(startX, startY, endX, endY));\n }\n\n const chord2 = dx * dx + dy * dy;\n const t = -chord2 / denom;\n const cx = startX - t * nty;\n const cy = startY + t * ntx;\n const radius = Math.abs(t);\n\n const a1 = Math.atan2(startY - cy, startX - cx);\n const a2 = Math.atan2(endY - cy, endX - cx);\n\n const ccwTanX = -(startY - cy) / radius;\n const ccwTanY = (startX - cx) / radius;\n const sense = ccwTanX * ntx + ccwTanY * nty > 0;\n\n const circle = ow2d.makeCircle2d(cx, cy, radius, sense);\n if (!sense) {\n const tStart = -a1;\n let tEnd = -a2;\n if (tEnd < tStart - 1e-9) tEnd += 2 * Math.PI;\n return c2dWrap({ __bk2d: 'trimmed', basis: circle, tStart, tEnd });\n }\n let tEnd = a2;\n if (tEnd < a1 - 1e-9) tEnd += 2 * Math.PI;\n return c2dWrap({ __bk2d: 'trimmed', basis: circle, tStart: a1, tEnd });\n}\n\nexport function makeEllipse2d(\n cx: number,\n cy: number,\n majorRadius: number,\n minorRadius: number,\n xDirX?: number,\n xDirY?: number,\n sense?: boolean\n): Curve2dHandle {\n return c2dWrap(\n ow2d.makeEllipse2d(cx, cy, majorRadius, minorRadius, xDirX ?? 1, xDirY ?? 0, sense ?? true)\n );\n}\n\nexport function makeEllipseArc2d(\n cx: number,\n cy: number,\n majorRadius: number,\n minorRadius: number,\n startAngle: number,\n endAngle: number,\n xDirX?: number,\n xDirY?: number,\n sense?: boolean\n): Curve2dHandle {\n const full = ow2d.makeEllipse2d(\n cx,\n cy,\n majorRadius,\n minorRadius,\n xDirX ?? 1,\n xDirY ?? 0,\n sense ?? true\n );\n // Evaluation negates the parameter for sense=false, so the trim range\n // flips sign with it (same mapping as the circle-arc makers above).\n if (!(sense ?? true)) {\n const tStart = -startAngle;\n let tEnd = -endAngle;\n if (tEnd < tStart - 1e-9) tEnd += 2 * Math.PI;\n return c2dWrap({ __bk2d: 'trimmed', basis: full, tStart, tEnd });\n }\n let tEnd = endAngle;\n if (tEnd < startAngle - 1e-9) tEnd += 2 * Math.PI;\n return c2dWrap({ __bk2d: 'trimmed', basis: full, tStart: startAngle, tEnd });\n}\n\nexport function makeBezier2d(points: [number, number][]): Curve2dHandle {\n return c2dWrap(ow2d.makeBezier2d(points));\n}\n\nexport function makeBSpline2d(\n points: [number, number][],\n options?: {\n degMin?: number;\n degMax?: number;\n continuity?: 'C0' | 'C1' | 'C2' | 'C3';\n tolerance?: number;\n smoothing?: [number, number, number] | null;\n }\n): Curve2dHandle {\n // Build a genuine B-spline (poles = input points, clamped knot vector) so\n // getCurve2dType reports BSPLINE_CURVE and decomposeBSpline2dToBeziers works.\n // The pure-TS 2D system has no fitting solver, so this approximates (passes\n // through the endpoints) rather than interpolating every point.\n const poles = points;\n const n = poles.length;\n const degree = Math.max(1, Math.min(options?.degMax ?? 3, n - 1));\n const knots: number[] = [0];\n const mults: number[] = [degree + 1];\n const nInternalKnots = n - degree - 1;\n for (let i = 1; i <= nInternalKnots; i++) {\n knots.push(i / (nInternalKnots + 1));\n mults.push(1);\n }\n knots.push(1);\n mults.push(degree + 1);\n return c2dWrap({\n __bk2d: 'bspline' as const,\n poles,\n knots,\n multiplicities: mults,\n degree,\n isPeriodic: false,\n });\n}\n\n// ─── Curve evaluation / metadata ────────────────────────────────────────────\n\nexport function evaluateCurve2d(curve: Curve2dHandle, param: number): [number, number] {\n return ow2d.evaluateCurve2d(c2d(curve), param);\n}\n\nexport function evaluateCurve2dD1(\n curve: Curve2dHandle,\n param: number\n): { point: [number, number]; tangent: [number, number] } {\n return {\n point: ow2d.evaluateCurve2d(c2d(curve), param),\n tangent: ow2d.tangentCurve2d(c2d(curve), param),\n };\n}\n\nexport function getCurve2dBounds(curve: Curve2dHandle): { first: number; last: number } {\n return ow2d.curveBounds(c2d(curve));\n}\n\nexport function getCurve2dType(curve: Curve2dHandle): string {\n let cu = c2d(curve);\n while (cu.__bk2d === 'trimmed') {\n cu = cu.basis;\n }\n return ow2d.curveTypeName(cu);\n}\n\n// ─── Curve transforms ───────────────────────────────────────────────────────\n\nexport function trimCurve2d(curve: Curve2dHandle, start: number, end: number): Curve2dHandle {\n return c2dWrap({ __bk2d: 'trimmed' as const, basis: c2d(curve), tStart: start, tEnd: end });\n}\n\nexport function reverseCurve2d(_curve: Curve2dHandle): void {\n // Curves are immutable in our pure-TS 2D system — reverse is a no-op.\n}\n\nexport function copyCurve2d(curve: Curve2dHandle): Curve2dHandle {\n return c2dWrap(JSON.parse(JSON.stringify(c2d(curve))));\n}\n\nexport function offsetCurve2d(curve: Curve2dHandle, offset: number): Curve2dHandle {\n // Approximate offset by sampling + shifting normals.\n const c = c2d(curve);\n const bounds = ow2d.curveBounds(c);\n const pts: [number, number][] = [];\n for (let i = 0; i <= 20; i++) {\n const t = bounds.first + ((bounds.last - bounds.first) * i) / 20;\n const [px, py] = ow2d.evaluateCurve2d(c, t);\n const [tx, ty] = ow2d.tangentCurve2d(c, t);\n const len = Math.sqrt(tx * tx + ty * ty) || 1;\n pts.push([px - (ty / len) * offset, py + (tx / len) * offset]);\n }\n return c2dWrap(\n ow2d.makeBezier2d(\n pts.length <= 25 ? pts : pts.filter((_, i) => i % 2 === 0 || i === pts.length - 1)\n )\n );\n}\n\nexport function translateCurve2d(curve: Curve2dHandle, dx: number, dy: number): Curve2dHandle {\n return c2dWrap(ow2d.translateCurve2d(c2d(curve), dx, dy));\n}\n\nexport function rotateCurve2d(\n curve: Curve2dHandle,\n angle: number,\n cx: number,\n cy: number\n): Curve2dHandle {\n return c2dWrap(ow2d.rotateCurve2d(c2d(curve), angle, cx, cy));\n}\n\nexport function scaleCurve2d(\n curve: Curve2dHandle,\n factor: number,\n cx: number,\n cy: number\n): Curve2dHandle {\n // geometry2d.scaleCurve2d already scales line endpoints and recomputes length;\n // do not re-patch len here (it would double-apply).\n return c2dWrap(ow2d.scaleCurve2d(c2d(curve), factor, cx, cy));\n}\n\nexport function mirrorCurve2dAtPoint(curve: Curve2dHandle, cx: number, cy: number): Curve2dHandle {\n return c2dWrap(ow2d.mirrorAtPoint(c2d(curve), cx, cy));\n}\n\nexport function mirrorCurve2dAcrossAxis(\n curve: Curve2dHandle,\n originX: number,\n originY: number,\n dirX: number,\n dirY: number\n): Curve2dHandle {\n return c2dWrap(ow2d.mirrorAcrossAxis(c2d(curve), originX, originY, dirX, dirY));\n}\n\n/**\n * Directional affinity matching OCCT `gp_GTrsf2d::SetAffinity`: scales the\n * component perpendicular to the axis `(dx, dy)` through `(ox, oy)` by `ratio`,\n * leaving the parallel component fixed. Applied by sampling and refitting as a\n * Bezier, since occt-wasm has no native Geom2d transform.\n */\nexport function affinityCurve2d(\n curve: Curve2dHandle,\n ox: number,\n oy: number,\n dx: number,\n dy: number,\n ratio: number\n): Curve2dHandle {\n const len = Math.sqrt(dx * dx + dy * dy);\n if (len < 1e-15) return curve;\n const px = -dy / len,\n py = dx / len; // perpendicular to axis\n const k = ratio - 1;\n const a = 1 + k * px * px,\n b = k * px * py,\n d = k * py * px,\n e = 1 + k * py * py;\n const tx = ox - a * ox - b * oy;\n const ty = oy - d * ox - e * oy;\n const c = c2d(curve);\n const bounds = ow2d.curveBounds(c);\n const N = 20;\n const pts: [number, number][] = [];\n for (let i = 0; i <= N; i++) {\n const t = bounds.first + ((bounds.last - bounds.first) * i) / N;\n const [qx, qy] = ow2d.evaluateCurve2d(c, t);\n pts.push([a * qx + b * qy + tx, d * qx + e * qy + ty]);\n }\n return c2dWrap(ow2d.makeBezier2d(pts));\n}\n\nexport function affinityTransform2d(\n curve: Curve2dHandle,\n ox: number,\n oy: number,\n dx: number,\n dy: number,\n ratio: number\n): Curve2dHandle {\n return affinityCurve2d(curve, ox, oy, dx, dy, ratio);\n}\n\n// ─── 2D general transforms (GTrsf) ──────────────────────────────────────────\n\nexport function createIdentityGTrsf2d(): KernelType {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- opaque type\n return { type: 'identity2d', delete() {} } as any;\n}\n\nexport function createAffinityGTrsf2d(\n originX: number,\n originY: number,\n dirX: number,\n dirY: number,\n ratio: number\n): KernelType {\n return {\n type: 'affinity2d',\n axOriginX: originX,\n axOriginY: originY,\n axDirX: dirX,\n axDirY: dirY,\n ratio,\n delete() {},\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- opaque type\n } as any;\n}\n\nexport function createTranslationGTrsf2d(dx: number, dy: number): KernelType {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- opaque type\n return { type: 'translate2d', dx, dy, delete() {} } as any;\n}\n\nexport function createMirrorGTrsf2d(\n cx: number,\n cy: number,\n mode: 'point' | 'axis',\n originX?: number,\n originY?: number,\n dirX?: number,\n dirY?: number\n): KernelType {\n return {\n type: 'mirror2d',\n cx,\n cy,\n mode,\n originX,\n originY,\n dirX,\n dirY,\n delete() {},\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- opaque type\n } as any;\n}\n\nexport function createRotationGTrsf2d(angle: number, cx: number, cy: number): KernelType {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- opaque type\n return { type: 'rotate2d', angle, cx, cy, delete() {} } as any;\n}\n\nexport function createScaleGTrsf2d(factor: number, cx: number, cy: number): KernelType {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- opaque type\n return { type: 'scale2d', sx: factor, sy: factor, cx, cy, delete() {} } as any;\n}\n\nexport function setGTrsf2dTranslationPart(gtrsf: KernelType, dx: number, dy: number): void {\n const t = gtrsf;\n t['dx'] = (Number(t['dx']) || 0) + dx;\n t['dy'] = (Number(t['dy']) || 0) + dy;\n}\n\nexport function multiplyGTrsf2d(base: KernelType, other: KernelType): void {\n const b = base;\n const o = other;\n b['dx'] = (Number(b['dx']) || 0) + (Number(o['dx']) || 0);\n b['dy'] = (Number(b['dy']) || 0) + (Number(o['dy']) || 0);\n if (o['type'] === 'scale2d') {\n b['type'] = 'scale2d';\n b['sx'] = o['sx'];\n b['sy'] = o['sy'];\n }\n}\n\nexport function transformCurve2dGeneral(curve: Curve2dHandle, gtrsf: KernelType): Curve2dHandle {\n const t = gtrsf;\n if (t['type'] === 'translate2d') {\n return translateCurve2d(curve, Number(t['dx']) || 0, Number(t['dy']) || 0);\n }\n if (t['type'] === 'rotate2d') {\n return rotateCurve2d(\n curve,\n Number(t['angle']) || 0,\n Number(t['cx']) || 0,\n Number(t['cy']) || 0\n );\n }\n if (t['type'] === 'scale2d') {\n return scaleCurve2d(curve, Number(t['sx']) || 1, Number(t['cx']) || 0, Number(t['cy']) || 0);\n }\n if (t['type'] === 'mirror2d') {\n if (t['mode'] === 'axis') {\n return mirrorCurve2dAcrossAxis(\n curve,\n Number(t['originX']) || 0,\n Number(t['originY']) || 0,\n Number(t['dirX']) || 0,\n Number(t['dirY']) || 0\n );\n }\n return mirrorCurve2dAtPoint(curve, Number(t['cx']) || 0, Number(t['cy']) || 0);\n }\n if (t['type'] === 'affinity2d') {\n return affinityCurve2d(\n curve,\n Number(t['axOriginX']) || 0,\n Number(t['axOriginY']) || 0,\n Number(t['axDirX']) || 0,\n Number(t['axDirY']) || 0,\n Number(t['ratio']) || 1\n );\n }\n if (Number(t['dx']) || Number(t['dy'])) {\n return translateCurve2d(curve, Number(t['dx']) || 0, Number(t['dy']) || 0);\n }\n return curve;\n}\n\n// ─── Intersection / projection / split ──────────────────────────────────────\n\nexport function intersectCurves2d(\n c1: Curve2dHandle,\n c2: Curve2dHandle,\n tolerance: number\n): { points: [number, number][]; segments: Curve2dHandle[] } {\n const result = ow2d.intersectCurves2dFn(c2d(c1), c2d(c2), tolerance);\n return { points: result.points, segments: result.segments.map((s) => c2dWrap(s)) };\n}\n\n// brepjs-patterns-disable: max-function-lines\nexport function projectPointOnCurve2d(\n curve: Curve2dHandle,\n x: number,\n y: number\n): { param: number; distance: number } | null {\n const c = c2d(curve);\n const bounds = ow2d.curveBounds(c);\n\n const projectOnBasis = (\n basis: Curve2dObj,\n bFirst: number,\n bLast: number\n ): { param: number; distance: number } | null => {\n if (basis.__bk2d === 'line') {\n const rawT = (x - basis.ox) * basis.dx + (y - basis.oy) * basis.dy;\n const t = Math.max(bFirst, Math.min(bLast, rawT));\n const [px, py] = ow2d.evaluateCurve2d(basis, t);\n return { param: t, distance: Math.sqrt((px - x) ** 2 + (py - y) ** 2) };\n }\n // For circles and general curves: dense sampling.\n const N = 200;\n let bestT = bFirst;\n let bestDist = Infinity;\n for (let i = 0; i <= N; i++) {\n const t = bFirst + ((bLast - bFirst) * i) / N;\n const [px, py] = ow2d.evaluateCurve2d(basis, t);\n const d = (px - x) ** 2 + (py - y) ** 2;\n if (d < bestDist) {\n bestDist = d;\n bestT = t;\n }\n }\n return { param: bestT, distance: Math.sqrt(bestDist) };\n };\n\n if (c.__bk2d === 'trimmed') {\n const tStart = c.tStart;\n const tEnd = c.tEnd;\n const basisResult = projectOnBasis(c.basis, tStart, tEnd);\n if (!basisResult) return null;\n const range = tEnd - tStart;\n const trimmedT = range > 1e-15 ? (basisResult.param - tStart) / range : 0;\n return { param: Math.max(0, Math.min(1, trimmedT)), distance: basisResult.distance };\n }\n\n return projectOnBasis(c, bounds.first, bounds.last);\n}\n\nexport function distanceBetweenCurves2d(\n c1: Curve2dHandle,\n c2: Curve2dHandle,\n p1Start: number,\n p1End: number,\n p2Start: number,\n p2End: number\n): number {\n const n = 20;\n let minDist = Infinity;\n for (let i = 0; i <= n; i++) {\n const t1 = p1Start + (p1End - p1Start) * (i / n);\n const [x1, y1] = ow2d.evaluateCurve2d(c2d(c1), t1);\n for (let j = 0; j <= n; j++) {\n const t2 = p2Start + (p2End - p2Start) * (j / n);\n const [x2, y2] = ow2d.evaluateCurve2d(c2d(c2), t2);\n const d = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n if (d < minDist) minDist = d;\n }\n }\n return minDist;\n}\n\nexport function approximateCurve2dAsBSpline(\n curve: Curve2dHandle,\n maxSegments: number\n): Curve2dHandle {\n const cu = c2d(curve);\n const bounds = ow2d.curveBounds(cu);\n const nPts = Math.min(Math.max(maxSegments + 1, 10), 100);\n const poles: [number, number][] = [];\n for (let i = 0; i < nPts; i++) {\n const t = bounds.first + ((bounds.last - bounds.first) * i) / (nPts - 1);\n poles.push(ow2d.evaluateCurve2d(cu, t));\n }\n const degree = Math.min(3, nPts - 1);\n const n = poles.length;\n const knots: number[] = [];\n const mults: number[] = [];\n const nInternalKnots = n - degree - 1;\n knots.push(0);\n mults.push(degree + 1);\n for (let i = 1; i <= nInternalKnots; i++) {\n knots.push(i / (nInternalKnots + 1));\n mults.push(1);\n }\n knots.push(1);\n mults.push(degree + 1);\n\n return c2dWrap({\n __bk2d: 'bspline' as const,\n poles,\n knots,\n multiplicities: mults,\n degree,\n isPeriodic: false,\n });\n}\n\nexport function decomposeBSpline2dToBeziers(curve: Curve2dHandle): Curve2dHandle[] {\n let cu = c2d(curve);\n while (cu.__bk2d === 'trimmed') cu = cu.basis;\n if (cu.__bk2d !== 'bspline') return [curve];\n\n const poles: [number, number][] = cu.poles;\n const p: number = cu.degree;\n // Expand knots+multiplicities into the full knot vector U.\n const U: number[] = [];\n for (let i = 0; i < cu.knots.length; i++) {\n const knot = cu.knots[i] ?? 0;\n const mult = cu.multiplicities[i] ?? 0;\n for (let j = 0; j < mult; j++) U.push(knot);\n }\n const n = poles.length - 1;\n const m = n + p + 1;\n // A clamped, non-rational B-spline has |U| = n + p + 2. Bail to a single\n // Bezier on the control polygon if the curve is malformed.\n if (p < 1 || U.length !== m + 1) {\n return [c2dWrap(ow2d.makeBezier2d(poles))];\n }\n\n // NURBS Book Algorithm A5.6 (DecomposeCurve): knot-insert every interior knot\n // up to multiplicity p, yielding one Bezier segment (p+1 poles) per span.\n const clone = (pt: [number, number]): [number, number] => [pt[0], pt[1]];\n const segments: [number, number][][] = [];\n let a = p;\n let b = p + 1;\n let segPoles: [number, number][] = [];\n for (let i = 0; i <= p; i++) segPoles[i] = clone(poles[i] as [number, number]);\n let nextPoles: [number, number][] = [];\n while (b < m) {\n const i0 = b;\n while (b < m && U[b + 1] === U[b]) b++;\n const mult = b - i0 + 1;\n if (mult < p) {\n const numer = (U[b] as number) - (U[a] as number);\n const alphas: number[] = [];\n for (let j = p; j > mult; j--) {\n alphas[j - mult - 1] = numer / ((U[a + j] as number) - (U[a] as number));\n }\n const r = p - mult;\n for (let j = 1; j <= r; j++) {\n const save = r - j;\n const s = mult + j;\n for (let k = p; k >= s; k--) {\n const alpha = alphas[k - s] as number;\n const cur = segPoles[k] as [number, number];\n const prev = segPoles[k - 1] as [number, number];\n segPoles[k] = [\n alpha * cur[0] + (1 - alpha) * prev[0],\n alpha * cur[1] + (1 - alpha) * prev[1],\n ];\n }\n if (b < m) nextPoles[save] = clone(segPoles[p] as [number, number]);\n }\n }\n segments.push(segPoles);\n if (b < m) {\n for (let i = p - mult; i <= p; i++) {\n nextPoles[i] = clone(poles[b - p + i] as [number, number]);\n }\n segPoles = nextPoles;\n nextPoles = [];\n a = b;\n b++;\n }\n }\n return segments.map((sp) => c2dWrap(ow2d.makeBezier2d(sp)));\n}\n\n// ─── 2D bounding boxes ──────────────────────────────────────────────────────\n\nexport function createBoundingBox2d(): BBox2dHandle {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- opaque type bridge\n return ow2d.createBBox2d() as any;\n}\n\nexport function addCurveToBBox2d(\n bbox: BBox2dHandle,\n curve: Curve2dHandle,\n tolerance: number\n): void {\n ow2d.addCurveToBBox(bbox, c2d(curve), tolerance);\n}\n\nexport function getBBox2dBounds(bbox: BBox2dHandle): {\n xMin: number;\n yMin: number;\n xMax: number;\n yMax: number;\n} {\n return { xMin: bbox.xMin, yMin: bbox.yMin, xMax: bbox.xMax, yMax: bbox.yMax };\n}\n\nexport function mergeBBox2d(target: BBox2dHandle, other: BBox2dHandle): void {\n (target as { xMin: number }).xMin = Math.min(target.xMin, other.xMin);\n (target as { yMin: number }).yMin = Math.min(target.yMin, other.yMin);\n (target as { xMax: number }).xMax = Math.max(target.xMax, other.xMax);\n (target as { yMax: number }).yMax = Math.max(target.yMax, other.yMax);\n}\n\nexport function isBBox2dOut(a: BBox2dHandle, b: BBox2dHandle): boolean {\n return a.xMax < b.xMin || a.xMin > b.xMax || a.yMax < b.yMin || a.yMin > b.yMax;\n}\n\nexport function isBBox2dOutPoint(bbox: BBox2dHandle, x: number, y: number): boolean {\n return x < bbox.xMin || x > bbox.xMax || y < bbox.yMin || y > bbox.yMax;\n}\n\n// ─── Curve introspection ───────────────────────────────────────────────────\n\nexport function getCurve2dCircleData(\n curve: Curve2dHandle\n): { cx: number; cy: number; radius: number; isDirect: boolean } | null {\n let c = c2d(curve);\n while (c.__bk2d === 'trimmed') c = c.basis;\n if (c.__bk2d === 'circle') return { cx: c.cx, cy: c.cy, radius: c.radius, isDirect: c.sense };\n return null;\n}\n\nexport function getCurve2dEllipseData(\n curve: Curve2dHandle\n): { majorRadius: number; minorRadius: number; xAxisAngle: number; isDirect: boolean } | null {\n let c = c2d(curve);\n while (c.__bk2d === 'trimmed') c = c.basis;\n if (c.__bk2d === 'ellipse')\n return {\n majorRadius: c.majorRadius,\n minorRadius: c.minorRadius,\n xAxisAngle: c.xDirAngle,\n isDirect: c.sense,\n };\n return null;\n}\n\nexport function getCurve2dBezierPoles(curve: Curve2dHandle): [number, number][] | null {\n let c = c2d(curve);\n while (c.__bk2d === 'trimmed') c = c.basis;\n if (c.__bk2d === 'bezier') return c.poles;\n return null;\n}\n\nexport function getCurve2dBezierDegree(curve: Curve2dHandle): number | null {\n let c = c2d(curve);\n while (c.__bk2d === 'trimmed') c = c.basis;\n if (c.__bk2d === 'bezier') {\n return c.poles.length - 1;\n }\n return null;\n}\n\nexport function serializeCurve2d(curve: Curve2dHandle): string {\n return ow2d.serializeCurve2d(c2d(curve));\n}\n\nexport function deserializeCurve2d(data: string): Curve2dHandle {\n return c2dWrap(ow2d.deserializeCurve2d(data));\n}\n\nexport function splitCurve2d(curve: Curve2dHandle, params: number[]): Curve2dHandle[] {\n const bounds = ow2d.curveBounds(c2d(curve));\n const sorted = [bounds.first, ...params.sort((a, b) => a - b), bounds.last];\n const result: Curve2dHandle[] = [];\n for (let i = 0; i < sorted.length - 1; i++) {\n const start = sorted[i] ?? bounds.first;\n const end = sorted[i + 1] ?? bounds.last;\n result.push(trimCurve2d(curve, start, end));\n }\n return result;\n}\n\n// ─── Lifting 2D curves to 3D edges ──────────────────────────────────────────\n\n// brepjs-patterns-disable: max-function-lines\nexport function liftCurve2dToPlane(\n k: OcctKernelWasm,\n Module: OcctWasmModule,\n curve: Curve2dHandle,\n planeOrigin: [number, number, number],\n planeZ: [number, number, number],\n planeX: [number, number, number]\n): KernelShape {\n const cu = c2d(curve);\n const [ox, oy, oz] = planeOrigin;\n const [zx, zy, zz] = planeZ;\n const [xx, xy, xz] = planeX;\n const yx = zy * xz - zz * xy,\n yy = zz * xx - zx * xz,\n yz = zx * xy - zy * xx;\n const lift = (u: number, v: number): [number, number, number] => [\n ox + u * xx + v * yx,\n oy + u * xy + v * yy,\n oz + u * xz + v * yz,\n ];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- inspect curve internals\n const bk2dType = (cu as any).__bk2d as string;\n if (bk2dType === 'line') {\n const bounds = ow2d.curveBounds(cu);\n const [u1, v1] = ow2d.evaluateCurve2d(cu, bounds.first);\n const [u2, v2] = ow2d.evaluateCurve2d(cu, bounds.last);\n const p1 = lift(u1, v1);\n const p2 = lift(u2, v2);\n return handle('edge', k.makeLineEdge(p1[0], p1[1], p1[2], p2[0], p2[1], p2[2]));\n }\n if (bk2dType === 'trimmed') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- inspect trimmed basis\n const trimmed = cu as any;\n if (trimmed.basis && trimmed.basis.__bk2d === 'line') {\n const [u1, v1] = ow2d.evaluateCurve2d(cu, 0);\n const [u2, v2] = ow2d.evaluateCurve2d(cu, 1);\n const p1 = lift(u1, v1);\n const p2 = lift(u2, v2);\n return handle('edge', k.makeLineEdge(p1[0], p1[1], p1[2], p2[0], p2[1], p2[2]));\n }\n if (trimmed.basis && trimmed.basis.__bk2d === 'circle') {\n // 3-point arc through three lifted points to ensure endpoint coordinates\n // are bit-identical with the line branches' lifts (so MakeWire merges\n // with default tolerance).\n const bounds = ow2d.curveBounds(cu);\n const [u1, v1] = ow2d.evaluateCurve2d(cu, bounds.first);\n const [um, vm] = ow2d.evaluateCurve2d(cu, (bounds.first + bounds.last) / 2);\n const [u2, v2] = ow2d.evaluateCurve2d(cu, bounds.last);\n const p1 = lift(u1, v1);\n const pm = lift(um, vm);\n const p2 = lift(u2, v2);\n return handle(\n 'edge',\n k.makeArcEdge(p1[0], p1[1], p1[2], pm[0], pm[1], pm[2], p2[0], p2[1], p2[2])\n );\n }\n }\n if (bk2dType === 'circle') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- inspect circle data\n const circleData = cu as any;\n if (circleData.cx !== undefined && circleData.radius !== undefined) {\n const [pcx, pcy, pcz] = lift(circleData.cx, circleData.cy);\n return handle('edge', k.makeCircleEdge(pcx, pcy, pcz, zx, zy, zz, circleData.radius));\n }\n const bounds = ow2d.curveBounds(cu);\n const [u1, v1] = ow2d.evaluateCurve2d(cu, bounds.first);\n const [um, vm] = ow2d.evaluateCurve2d(cu, (bounds.first + bounds.last) / 2);\n const [u2, v2] = ow2d.evaluateCurve2d(cu, bounds.last);\n const p1 = lift(u1, v1);\n const pm = lift(um, vm);\n const p2 = lift(u2, v2);\n return handle(\n 'edge',\n k.makeArcEdge(p1[0], p1[1], p1[2], pm[0], pm[1], pm[2], p2[0], p2[1], p2[2])\n );\n }\n // Fallback: sample + interpolate.\n const bounds = ow2d.curveBounds(cu);\n const nSamples = 24;\n const dt = (bounds.last - bounds.first) / nSamples;\n const pts: number[] = [];\n for (let i = 0; i <= nSamples; i++) {\n const [u, v] = ow2d.evaluateCurve2d(cu, bounds.first + i * dt);\n const [px, py, pz] = lift(u, v);\n pts.push(px, py, pz);\n }\n const vec = new Module.VectorDouble();\n for (const p of pts) vec.push_back(p);\n try {\n return handle('edge', k.interpolatePoints(vec, false));\n } finally {\n vec.delete();\n }\n}\n\nexport function buildEdgeOnSurface(\n k: OcctKernelWasm,\n Module: OcctWasmModule,\n curve: Curve2dHandle,\n surface: KernelType\n): KernelShape {\n const cu = c2d(curve);\n const bounds = ow2d.curveBounds(cu);\n // brepjs-patterns-disable: no-double-cast\n const faceId = unwrap(surface);\n const nSamples = 30;\n const vec = new Module.VectorDouble();\n for (let i = 0; i <= nSamples; i++) {\n const t = bounds.first + ((bounds.last - bounds.first) * i) / nSamples;\n const [u, v] = ow2d.evaluateCurve2d(cu, t);\n const pt = k.pointOnSurface(faceId, u, v);\n try {\n vec.push_back(pt.get(0));\n vec.push_back(pt.get(1));\n vec.push_back(pt.get(2));\n } finally {\n pt.delete();\n }\n }\n try {\n return handle('edge', k.interpolatePoints(vec, false));\n } finally {\n vec.delete();\n }\n}\n\nexport function extractSurfaceFromFace(face: KernelShape): KernelType {\n // occt-wasm uses faces as surface proxies — just pass through.\n // brepjs-patterns-disable: no-double-cast\n return face;\n}\n\nexport function extractCurve2dFromEdge(\n k: OcctKernelWasm,\n edge: KernelShape,\n face: KernelShape\n): Curve2dHandle {\n // occt-wasm exposes no native pcurve adaptor (BRepAdaptor_Curve2d), so\n // reconstruct the edge's 2D curve on the face: sample the 3D edge, project each\n // point onto the face surface via uvFromPoint (GeomAPI_ProjectPointOnSurf), and\n // fit a 2D B-spline through the samples — the same projection approach brepkit\n // uses. Accuracy: makeBSpline2d has no fitting solver and treats the samples as\n // control poles, so a straight (LINE) edge is exact, while a curved pcurve (an\n // arc/circle on a planar face, or any curved edge) is a smooth approximation\n // that bows slightly inside the samples — the deviation shrinks as N rises.\n // Point projection also snaps to the nearest UV branch, so a seam-crossing edge\n // on a periodic surface (cylinder/cone) can jump branches.\n const [first, last] = curveParameters(k, edge);\n const N = 60;\n const points: [number, number][] = [];\n for (let i = 0; i <= N; i++) {\n const t = first + ((last - first) * i) / N;\n const uv = uvFromPoint(k, face, curvePointAtParam(k, edge, t));\n if (uv) points.push(uv);\n }\n if (points.length < 2) {\n throw new Error(\n 'occt-wasm: extractCurve2dFromEdge could not project the edge onto the face surface'\n );\n }\n return makeBSpline2d(points);\n}\n\nexport function buildCurves3d(k: OcctKernelWasm, wire: KernelShape): void {\n k.buildCurves3d(unwrap(wire));\n}\n\nexport function fixWireOnFace(\n k: OcctKernelWasm,\n wire: KernelShape,\n face: KernelShape,\n tolerance: number\n): KernelShape {\n return handle('wire', k.fixWireOnFace(unwrap(wire), unwrap(face), tolerance));\n}\n"]}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Measurement operations for the occt-wasm adapter.
3
+ *
4
+ * Includes simple wrappers (volume/area/length/COM/bbox) and the more
5
+ * involved `distance` and `surfaceCurvature` paths, which sample geometry
6
+ * and reconstruct principal directions via finite-difference fundamental
7
+ * forms. The C++ facade returns scalars (distance value, k1/k2); JS recovers
8
+ * witness points and direction vectors.
9
+ *
10
+ * @module
11
+ */
12
+ import type { DistanceResult, KernelShape } from '../../kernel/types.js';
13
+ import type { BulkMeasurement } from '../../kernel/interfaces/measureOps.js';
14
+ import type { OcctKernelWasm, OcctWasmModule } from './occtWasmTypes.js';
15
+ /**
16
+ * Result of {@link surfaceCurvature} — kept shape-identical to the upstream
17
+ * `kernel/occt/measureOps.CurvatureResult` (that module is cut per the layered
18
+ * plan; the ported measurement layer re-exports this type).
19
+ */
20
+ export interface CurvatureResult {
21
+ /** Mean curvature: H = (k1 + k2) / 2 */
22
+ mean: number;
23
+ /** Gaussian curvature: K = k1 * k2 */
24
+ gaussian: number;
25
+ /** Maximum principal curvature */
26
+ maxCurvature: number;
27
+ /** Minimum principal curvature */
28
+ minCurvature: number;
29
+ /** Direction of maximum curvature */
30
+ maxDirection: [number, number, number];
31
+ /** Direction of minimum curvature */
32
+ minDirection: [number, number, number];
33
+ }
34
+ export declare function volume(k: OcctKernelWasm, shape: KernelShape): number;
35
+ export declare function area(k: OcctKernelWasm, shape: KernelShape): number;
36
+ export declare function length(k: OcctKernelWasm, shape: KernelShape): number;
37
+ export declare function centerOfMass(k: OcctKernelWasm, shape: KernelShape): [number, number, number];
38
+ export declare function linearCenterOfMass(k: OcctKernelWasm, shape: KernelShape): [number, number, number];
39
+ export declare function boundingBox(k: OcctKernelWasm, shape: KernelShape): {
40
+ min: [number, number, number];
41
+ max: [number, number, number];
42
+ };
43
+ export declare function surfaceCenterOfMass(k: OcctKernelWasm, face: KernelShape): [number, number, number];
44
+ export declare function measureBulk(k: OcctKernelWasm, shape: KernelShape, includeLinear?: boolean): BulkMeasurement;
45
+ export declare function createDistanceQuery(k: OcctKernelWasm, referenceShape: KernelShape): {
46
+ distanceTo(shape: KernelShape): {
47
+ value: number;
48
+ point1: [number, number, number];
49
+ point2: [number, number, number];
50
+ };
51
+ dispose(): void;
52
+ };
53
+ export declare function distance(k: OcctKernelWasm, mod: OcctWasmModule, shape1: KernelShape, shape2: KernelShape): DistanceResult;
54
+ export declare function surfaceCurvature(k: OcctKernelWasm, face: KernelShape, u: number, v: number): {
55
+ gaussian: number;
56
+ mean: number;
57
+ max: number;
58
+ min: number;
59
+ maxDirection: [number, number, number];
60
+ minDirection: [number, number, number];
61
+ };
62
+ //# sourceMappingURL=measureOps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureOps.d.ts","sourceRoot":"","sources":["../../../../../src/vendored/brepjs/kernel/occtWasm/measureOps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Measurement operations for the occt-wasm adapter.
3
+ *
4
+ * Includes simple wrappers (volume/area/length/COM/bbox) and the more
5
+ * involved `distance` and `surfaceCurvature` paths, which sample geometry
6
+ * and reconstruct principal directions via finite-difference fundamental
7
+ * forms. The C++ facade returns scalars (distance value, k1/k2); JS recovers
8
+ * witness points and direction vectors.
9
+ *
10
+ * @module
11
+ */
12
+ import { noop, unwrap } from './helpers.js';
13
+ export function volume(k, shape) {
14
+ return k.getVolume(unwrap(shape));
15
+ }
16
+ export function area(k, shape) {
17
+ return k.getSurfaceArea(unwrap(shape));
18
+ }
19
+ export function length(k, shape) {
20
+ return k.getLength(unwrap(shape));
21
+ }
22
+ export function centerOfMass(k, shape) {
23
+ const vec = k.getCenterOfMass(unwrap(shape));
24
+ try {
25
+ return [vec.get(0), vec.get(1), vec.get(2)];
26
+ }
27
+ finally {
28
+ vec.delete();
29
+ }
30
+ }
31
+ export function linearCenterOfMass(k, shape) {
32
+ const vec = k.getLinearCenterOfMass(unwrap(shape));
33
+ try {
34
+ return [vec.get(0), vec.get(1), vec.get(2)];
35
+ }
36
+ finally {
37
+ vec.delete();
38
+ }
39
+ }
40
+ export function boundingBox(k, shape) {
41
+ const bb = k.getBoundingBox(unwrap(shape), true);
42
+ return {
43
+ min: [bb.xmin, bb.ymin, bb.zmin],
44
+ max: [bb.xmax, bb.ymax, bb.zmax],
45
+ };
46
+ }
47
+ export function surfaceCenterOfMass(k, face) {
48
+ // Delegates to occt-wasm's exact `BRepGProp::SurfaceProperties.CentreOfMass()`
49
+ // (added in occt-wasm 2.0). The previous tessellation-triangle centroid
50
+ // diverged from brepjs-occt for non-planar faces.
51
+ try {
52
+ const v = k.getSurfaceCenterOfMass(unwrap(face));
53
+ try {
54
+ return [v.get(0), v.get(1), v.get(2)];
55
+ }
56
+ finally {
57
+ v.delete();
58
+ }
59
+ }
60
+ catch {
61
+ // Degenerate or unmeshable face — preserve previous behavior of
62
+ // returning origin rather than propagating the WASM exception.
63
+ return [0, 0, 0];
64
+ }
65
+ }
66
+ export function measureBulk(k, shape, includeLinear) {
67
+ return {
68
+ volume: volume(k, shape),
69
+ area: area(k, shape),
70
+ length: includeLinear ? length(k, shape) : 0,
71
+ centerOfMass: centerOfMass(k, shape),
72
+ boundingBox: boundingBox(k, shape),
73
+ };
74
+ }
75
+ export function createDistanceQuery(k, referenceShape) {
76
+ const refId = unwrap(referenceShape);
77
+ return {
78
+ distanceTo(shape) {
79
+ const d = k.distanceBetween(refId, unwrap(shape));
80
+ return { value: d, point1: [0, 0, 0], point2: [0, 0, 0] };
81
+ },
82
+ dispose: noop,
83
+ };
84
+ }
85
+ // Cap mesh samples so distance()'s nested O(N·M) loop stays bounded
86
+ // (~65k pair comparisons at the cap × cap product). Stride-sample by
87
+ // vertex (3 floats) when the mesh exceeds the cap; the closest-pair
88
+ // approximation degrades gracefully because every retained sample is
89
+ // still on the surface.
90
+ const MAX_MESH_SAMPLES = 256;
91
+ /**
92
+ * Collect 3D sample points from a shape for nearest-pair queries: every
93
+ * topological vertex, plus tessellation vertices when the shape carries
94
+ * surfaces. Used by distance() to approximate witness points.
95
+ */
96
+ function collectDistanceSamples(k, mod, shapeId) {
97
+ const out = [];
98
+ const verts = k.getSubShapes(shapeId, 'vertex');
99
+ try {
100
+ const n = verts.size();
101
+ for (let i = 0; i < n; i++) {
102
+ const p = k.vertexPosition(verts.get(i));
103
+ out.push([p.get(0), p.get(1), p.get(2)]);
104
+ p.delete();
105
+ }
106
+ }
107
+ finally {
108
+ verts.delete();
109
+ }
110
+ // Tessellation samples — coarse linear deflection (≈1% of bbox diagonal)
111
+ // is enough to seed a witness-point search; refinement comes from picking
112
+ // the closest pair, not from sample density per se.
113
+ // useTriangulation=true matches brepjs-occt's BRepBndLib.Add(shape, box, true)
114
+ // semantics — refines the bound via surface analysis when triangulation is
115
+ // present, falls back to surface-precise AddOptimal otherwise.
116
+ const bb = k.getBoundingBox(shapeId, true);
117
+ const diag = Math.sqrt((bb.xmax - bb.xmin) ** 2 + (bb.ymax - bb.ymin) ** 2 + (bb.zmax - bb.zmin) ** 2);
118
+ const linDef = Math.max(diag * 1e-2, 1e-4);
119
+ let mesh;
120
+ try {
121
+ mesh = k.tessellate(shapeId, linDef, 0.5);
122
+ }
123
+ catch {
124
+ return out;
125
+ }
126
+ try {
127
+ const posCount = mesh.positionCount;
128
+ if (posCount > 0) {
129
+ const ptr = mesh.getPositionsPtr() >> 2;
130
+ const heap = mod.HEAPF32;
131
+ const vertexCount = Math.floor(posCount / 3);
132
+ const stride = vertexCount > MAX_MESH_SAMPLES ? Math.ceil(vertexCount / MAX_MESH_SAMPLES) : 1;
133
+ const step = stride * 3;
134
+ for (let i = 0; i < posCount; i += step) {
135
+ out.push([heap[ptr + i] ?? 0, heap[ptr + i + 1] ?? 0, heap[ptr + i + 2] ?? 0]);
136
+ }
137
+ }
138
+ }
139
+ finally {
140
+ mesh.delete();
141
+ }
142
+ return out;
143
+ }
144
+ export function distance(k, mod, shape1, shape2) {
145
+ const id1 = unwrap(shape1);
146
+ const id2 = unwrap(shape2);
147
+ const value = k.distanceBetween(id1, id2);
148
+ // Witness points: the C++ facade returns only a scalar distance, so we
149
+ // sample each shape (topological vertices + face tessellation) and pick
150
+ // the closest pair. The `value` above stays exact (from BRepExtrema);
151
+ // `point1`/`point2` are an approximation whose error scales with the
152
+ // tessellation deflection.
153
+ const samples1 = collectDistanceSamples(k, mod, id1);
154
+ const samples2 = collectDistanceSamples(k, mod, id2);
155
+ if (samples1.length === 0 || samples2.length === 0) {
156
+ return { value, point1: [0, 0, 0], point2: [0, 0, 0] };
157
+ }
158
+ let bestD2 = Infinity;
159
+ let bestP1 = samples1[0] ?? [0, 0, 0];
160
+ let bestP2 = samples2[0] ?? [0, 0, 0];
161
+ for (const p1 of samples1) {
162
+ for (const p2 of samples2) {
163
+ const dx = p2[0] - p1[0];
164
+ const dy = p2[1] - p1[1];
165
+ const dz = p2[2] - p1[2];
166
+ const d2 = dx * dx + dy * dy + dz * dz;
167
+ if (d2 < bestD2) {
168
+ bestD2 = d2;
169
+ bestP1 = p1;
170
+ bestP2 = p2;
171
+ }
172
+ }
173
+ }
174
+ return { value, point1: bestP1, point2: bestP2 };
175
+ }
176
+ function pointAt(k, faceId, u, v) {
177
+ const p = k.pointOnSurface(faceId, u, v);
178
+ const r = [p.get(0), p.get(1), p.get(2)];
179
+ p.delete();
180
+ return r;
181
+ }
182
+ /**
183
+ * Sample a 9-point stencil around (u, v) and return central-difference
184
+ * partial derivatives Pu, Pv, Puu, Pvv, Puv. Step size is 1e-3 of the
185
+ * parametric range (clamped at 1e-6) — the sweet spot between truncation
186
+ * error and float-eval noise. Near the boundary the stencil shifts inward
187
+ * so all sample points stay in the domain.
188
+ */
189
+ function surfaceDerivatives(k, faceId, u, v) {
190
+ const bounds = k.uvBounds(faceId);
191
+ const uMin = bounds.get(0);
192
+ const uMax = bounds.get(1);
193
+ const vMin = bounds.get(2);
194
+ const vMax = bounds.get(3);
195
+ bounds.delete();
196
+ const hu = Math.max(Math.max(uMax - uMin, 1e-12) * 1e-3, 1e-6);
197
+ const hv = Math.max(Math.max(vMax - vMin, 1e-12) * 1e-3, 1e-6);
198
+ const uc = Math.min(Math.max(u, uMin + hu), uMax - hu);
199
+ const vc = Math.min(Math.max(v, vMin + hv), vMax - hv);
200
+ const P = pointAt(k, faceId, uc, vc);
201
+ const Pup = pointAt(k, faceId, uc + hu, vc);
202
+ const Pum = pointAt(k, faceId, uc - hu, vc);
203
+ const Pvp = pointAt(k, faceId, uc, vc + hv);
204
+ const Pvm = pointAt(k, faceId, uc, vc - hv);
205
+ const Ppp = pointAt(k, faceId, uc + hu, vc + hv);
206
+ const Ppm = pointAt(k, faceId, uc + hu, vc - hv);
207
+ const Pmp = pointAt(k, faceId, uc - hu, vc + hv);
208
+ const Pmm = pointAt(k, faceId, uc - hu, vc - hv);
209
+ const huu = hu * hu;
210
+ const hvv = hv * hv;
211
+ const huv4 = 4 * hu * hv;
212
+ return {
213
+ Pu: [(Pup[0] - Pum[0]) / (2 * hu), (Pup[1] - Pum[1]) / (2 * hu), (Pup[2] - Pum[2]) / (2 * hu)],
214
+ Pv: [(Pvp[0] - Pvm[0]) / (2 * hv), (Pvp[1] - Pvm[1]) / (2 * hv), (Pvp[2] - Pvm[2]) / (2 * hv)],
215
+ Puu: [
216
+ (Pup[0] - 2 * P[0] + Pum[0]) / huu,
217
+ (Pup[1] - 2 * P[1] + Pum[1]) / huu,
218
+ (Pup[2] - 2 * P[2] + Pum[2]) / huu,
219
+ ],
220
+ Pvv: [
221
+ (Pvp[0] - 2 * P[0] + Pvm[0]) / hvv,
222
+ (Pvp[1] - 2 * P[1] + Pvm[1]) / hvv,
223
+ (Pvp[2] - 2 * P[2] + Pvm[2]) / hvv,
224
+ ],
225
+ Puv: [
226
+ (Ppp[0] - Ppm[0] - Pmp[0] + Pmm[0]) / huv4,
227
+ (Ppp[1] - Ppm[1] - Pmp[1] + Pmm[1]) / huv4,
228
+ (Ppp[2] - Ppm[2] - Pmp[2] + Pmm[2]) / huv4,
229
+ ],
230
+ };
231
+ }
232
+ /**
233
+ * Return a non-zero eigenvector of the singular matrix [[a,b],[c,d]] (whose
234
+ * eigenvalue is implicit — caller has already subtracted λ from the diagonal).
235
+ * Picks the row with the larger magnitude for numerical stability.
236
+ */
237
+ function eigenvector2x2(a, b, c, d) {
238
+ const useFirst = Math.abs(a) + Math.abs(b) >= Math.abs(c) + Math.abs(d);
239
+ if (useFirst) {
240
+ if (Math.abs(a) + Math.abs(b) < 1e-12)
241
+ return [1, 0];
242
+ return [-b, a];
243
+ }
244
+ if (Math.abs(c) + Math.abs(d) < 1e-12)
245
+ return [0, 1];
246
+ return [-d, c];
247
+ }
248
+ function liftAndNormalize(ab, Pu, Pv) {
249
+ const x = ab[0] * Pu[0] + ab[1] * Pv[0];
250
+ const y = ab[0] * Pu[1] + ab[1] * Pv[1];
251
+ const z = ab[0] * Pu[2] + ab[1] * Pv[2];
252
+ const len = Math.sqrt(x * x + y * y + z * z);
253
+ if (len < 1e-12)
254
+ return [1, 0, 0];
255
+ return [x / len, y / len, z / len];
256
+ }
257
+ /**
258
+ * Fallback when curvature is direction-degenerate: return an orthonormal
259
+ * tangent frame derived from Pu and the Gram-Schmidt-corrected Pv.
260
+ */
261
+ function degenerateOrthoFrame(Pu, Pv) {
262
+ const uLen = Math.sqrt(Pu[0] * Pu[0] + Pu[1] * Pu[1] + Pu[2] * Pu[2]);
263
+ if (uLen < 1e-12) {
264
+ return { maxDirection: [1, 0, 0], minDirection: [0, 1, 0] };
265
+ }
266
+ const ux = Pu[0] / uLen, uy = Pu[1] / uLen, uz = Pu[2] / uLen;
267
+ const dot = ux * Pv[0] + uy * Pv[1] + uz * Pv[2];
268
+ const vx = Pv[0] - dot * ux;
269
+ const vy = Pv[1] - dot * uy;
270
+ const vz = Pv[2] - dot * uz;
271
+ const vLen = Math.sqrt(vx * vx + vy * vy + vz * vz);
272
+ if (vLen < 1e-12) {
273
+ const ax = Math.abs(ux) < 0.9 ? [1, 0, 0] : [0, 1, 0];
274
+ const ox = uy * ax[2] - uz * ax[1];
275
+ const oy = uz * ax[0] - ux * ax[2];
276
+ const oz = ux * ax[1] - uy * ax[0];
277
+ const oLen = Math.sqrt(ox * ox + oy * oy + oz * oz) || 1;
278
+ return {
279
+ maxDirection: [ux, uy, uz],
280
+ minDirection: [ox / oLen, oy / oLen, oz / oLen],
281
+ };
282
+ }
283
+ return {
284
+ maxDirection: [ux, uy, uz],
285
+ minDirection: [vx / vLen, vy / vLen, vz / vLen],
286
+ };
287
+ }
288
+ /**
289
+ * Compute principal curvature directions at (u, v) via finite-difference
290
+ * fundamental forms. The C++ facade exposes only k1 and k2 as scalars; this
291
+ * helper recovers the corresponding tangent directions in 3D space.
292
+ */
293
+ function computePrincipalDirections(k, faceId, u, v, maxK, minK) {
294
+ const { Pu, Pv, Puu, Pvv, Puv } = surfaceDerivatives(k, faceId, u, v);
295
+ const nx = Pu[1] * Pv[2] - Pu[2] * Pv[1];
296
+ const ny = Pu[2] * Pv[0] - Pu[0] * Pv[2];
297
+ const nz = Pu[0] * Pv[1] - Pu[1] * Pv[0];
298
+ const nlen = Math.sqrt(nx * nx + ny * ny + nz * nz);
299
+ const E = Pu[0] * Pu[0] + Pu[1] * Pu[1] + Pu[2] * Pu[2];
300
+ const F = Pu[0] * Pv[0] + Pu[1] * Pv[1] + Pu[2] * Pv[2];
301
+ const G = Pv[0] * Pv[0] + Pv[1] * Pv[1] + Pv[2] * Pv[2];
302
+ if (nlen < 1e-12 || E * G - F * F < 1e-24) {
303
+ return degenerateOrthoFrame(Pu, Pv);
304
+ }
305
+ const e = (Puu[0] * nx + Puu[1] * ny + Puu[2] * nz) / nlen;
306
+ const f = (Puv[0] * nx + Puv[1] * ny + Puv[2] * nz) / nlen;
307
+ const g = (Pvv[0] * nx + Pvv[1] * ny + Pvv[2] * nz) / nlen;
308
+ // Shape operator W = I⁻¹ · II in the {Pu, Pv} basis. Solves the
309
+ // generalized eigenproblem II·x = k·I·x so eigenvectors are in {Pu, Pv}.
310
+ const det = E * G - F * F;
311
+ const w11 = (e * G - f * F) / det;
312
+ const w12 = (f * G - g * F) / det;
313
+ const w21 = (f * E - e * F) / det;
314
+ const w22 = (g * E - f * F) / det;
315
+ // Isotropic point (k1 ≈ k2) — any direction is principal.
316
+ if (Math.abs(maxK - minK) < 1e-9 * (Math.abs(maxK) + Math.abs(minK) + 1)) {
317
+ return degenerateOrthoFrame(Pu, Pv);
318
+ }
319
+ const dirMax2D = eigenvector2x2(w11 - maxK, w12, w21, w22 - maxK);
320
+ const dirMin2D = eigenvector2x2(w11 - minK, w12, w21, w22 - minK);
321
+ return {
322
+ maxDirection: liftAndNormalize(dirMax2D, Pu, Pv),
323
+ minDirection: liftAndNormalize(dirMin2D, Pu, Pv),
324
+ };
325
+ }
326
+ export function surfaceCurvature(k, face, u, v) {
327
+ const faceId = unwrap(face);
328
+ const vec = k.surfaceCurvature(faceId, u, v);
329
+ // C++ returns [mean, gaussian, maxK, minK]
330
+ const mean = vec.get(0);
331
+ const gaussian = vec.get(1);
332
+ const maxK = vec.get(2);
333
+ const minK = vec.get(3);
334
+ vec.delete();
335
+ const { maxDirection, minDirection } = computePrincipalDirections(k, faceId, u, v, maxK, minK);
336
+ return { gaussian, mean, max: maxK, min: minK, maxDirection, minDirection };
337
+ }
338
+ //# sourceMappingURL=measureOps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureOps.js","sourceRoot":"","sources":["../../../../../src/vendored/brepjs/kernel/occtWasm/measureOps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAsB5C,MAAM,UAAU,MAAM,CAAC,CAAiB,EAAE,KAAkB;IAC1D,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAiB,EAAE,KAAkB;IACxD,OAAO,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAiB,EAAE,KAAkB;IAC1D,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAiB,EAAE,KAAkB;IAChE,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,CAAiB,EACjB,KAAkB;IAElB,MAAM,GAAG,GAAG,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,CAAiB,EACjB,KAAkB;IAElB,MAAM,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO;QACL,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;QAChC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,CAAiB,EACjB,IAAiB;IAEjB,+EAA+E;IAC/E,wEAAwE;IACxE,kDAAkD;IAClD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,CAAC,CAAC,MAAM,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,+DAA+D;QAC/D,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,CAAiB,EACjB,KAAkB,EAClB,aAAuB;IAEvB,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;QACpB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;QACpC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,CAAiB,EACjB,cAA2B;IAS3B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACrC,OAAO;QACL,UAAU,CAAC,KAAkB;YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AACrE,wBAAwB;AACxB,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,CAAiB,EACjB,GAAmB,EACnB,OAAe;IAEf,MAAM,GAAG,GAAoC,EAAE,CAAC;IAEhD,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,MAAM,EAAE,CAAC;QACb,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,oDAAoD;IACpD,+EAA+E;IAC/E,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CACpB,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/E,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,IAA0D,CAAC;IAC/D,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;gBACxC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,CAAiB,EACjB,GAAmB,EACnB,MAAmB,EACnB,MAAmB;IAEnB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,uEAAuE;IACvE,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAA6B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,GAA6B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACvC,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;gBAChB,MAAM,GAAG,EAAE,CAAC;gBACZ,MAAM,GAAG,EAAE,CAAC;gBACZ,MAAM,GAAG,EAAE,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,OAAO,CACd,CAAiB,EACjB,MAAc,EACd,CAAS,EACT,CAAS;IAET,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAA6B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,MAAM,EAAE,CAAC;IACX,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,CAAiB,EACjB,MAAc,EACd,CAAS,EACT,CAAS;IAQT,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,EAAE,CAAC;IAEhB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAEzB,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9F,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9F,GAAG,EAAE;YACH,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;YAClC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;YAClC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;SACnC;QACD,GAAG,EAAE;YACH,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;YAClC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;YAClC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,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","sourcesContent":["/**\n * Measurement operations for the occt-wasm adapter.\n *\n * Includes simple wrappers (volume/area/length/COM/bbox) and the more\n * involved `distance` and `surfaceCurvature` paths, which sample geometry\n * and reconstruct principal directions via finite-difference fundamental\n * forms. The C++ facade returns scalars (distance value, k1/k2); JS recovers\n * witness points and direction vectors.\n *\n * @module\n */\n\nimport type { DistanceResult, KernelShape } from '../../kernel/types.js';\nimport type { BulkMeasurement } from '../../kernel/interfaces/measureOps.js';\nimport type { OcctKernelWasm, OcctWasmModule } from './occtWasmTypes.js';\nimport { noop, unwrap } from './helpers.js';\n\n/**\n * Result of {@link surfaceCurvature} — kept shape-identical to the upstream\n * `kernel/occt/measureOps.CurvatureResult` (that module is cut per the layered\n * plan; the ported measurement layer re-exports this type).\n */\nexport interface CurvatureResult {\n /** Mean curvature: H = (k1 + k2) / 2 */\n mean: number;\n /** Gaussian curvature: K = k1 * k2 */\n gaussian: number;\n /** Maximum principal curvature */\n maxCurvature: number;\n /** Minimum principal curvature */\n minCurvature: number;\n /** Direction of maximum curvature */\n maxDirection: [number, number, number];\n /** Direction of minimum curvature */\n minDirection: [number, number, number];\n}\n\nexport function volume(k: OcctKernelWasm, shape: KernelShape): number {\n return k.getVolume(unwrap(shape));\n}\n\nexport function area(k: OcctKernelWasm, shape: KernelShape): number {\n return k.getSurfaceArea(unwrap(shape));\n}\n\nexport function length(k: OcctKernelWasm, shape: KernelShape): number {\n return k.getLength(unwrap(shape));\n}\n\nexport function centerOfMass(k: OcctKernelWasm, shape: KernelShape): [number, number, number] {\n const vec = k.getCenterOfMass(unwrap(shape));\n try {\n return [vec.get(0), vec.get(1), vec.get(2)];\n } finally {\n vec.delete();\n }\n}\n\nexport function linearCenterOfMass(\n k: OcctKernelWasm,\n shape: KernelShape\n): [number, number, number] {\n const vec = k.getLinearCenterOfMass(unwrap(shape));\n try {\n return [vec.get(0), vec.get(1), vec.get(2)];\n } finally {\n vec.delete();\n }\n}\n\nexport function boundingBox(\n k: OcctKernelWasm,\n shape: KernelShape\n): { min: [number, number, number]; max: [number, number, number] } {\n const bb = k.getBoundingBox(unwrap(shape), true);\n return {\n min: [bb.xmin, bb.ymin, bb.zmin],\n max: [bb.xmax, bb.ymax, bb.zmax],\n };\n}\n\nexport function surfaceCenterOfMass(\n k: OcctKernelWasm,\n face: KernelShape\n): [number, number, number] {\n // Delegates to occt-wasm's exact `BRepGProp::SurfaceProperties.CentreOfMass()`\n // (added in occt-wasm 2.0). The previous tessellation-triangle centroid\n // diverged from brepjs-occt for non-planar faces.\n try {\n const v = k.getSurfaceCenterOfMass(unwrap(face));\n try {\n return [v.get(0), v.get(1), v.get(2)];\n } finally {\n v.delete();\n }\n } catch {\n // Degenerate or unmeshable face — preserve previous behavior of\n // returning origin rather than propagating the WASM exception.\n return [0, 0, 0];\n }\n}\n\nexport function measureBulk(\n k: OcctKernelWasm,\n shape: KernelShape,\n includeLinear?: boolean\n): BulkMeasurement {\n return {\n volume: volume(k, shape),\n area: area(k, shape),\n length: includeLinear ? length(k, shape) : 0,\n centerOfMass: centerOfMass(k, shape),\n boundingBox: boundingBox(k, shape),\n };\n}\n\nexport function createDistanceQuery(\n k: OcctKernelWasm,\n referenceShape: KernelShape\n): {\n distanceTo(shape: KernelShape): {\n value: number;\n point1: [number, number, number];\n point2: [number, number, number];\n };\n dispose(): void;\n} {\n const refId = unwrap(referenceShape);\n return {\n distanceTo(shape: KernelShape) {\n const d = k.distanceBetween(refId, unwrap(shape));\n return { value: d, point1: [0, 0, 0], point2: [0, 0, 0] };\n },\n dispose: noop,\n };\n}\n\n// Cap mesh samples so distance()'s nested O(N·M) loop stays bounded\n// (~65k pair comparisons at the cap × cap product). Stride-sample by\n// vertex (3 floats) when the mesh exceeds the cap; the closest-pair\n// approximation degrades gracefully because every retained sample is\n// still on the surface.\nconst MAX_MESH_SAMPLES = 256;\n\n/**\n * Collect 3D sample points from a shape for nearest-pair queries: every\n * topological vertex, plus tessellation vertices when the shape carries\n * surfaces. Used by distance() to approximate witness points.\n */\nfunction collectDistanceSamples(\n k: OcctKernelWasm,\n mod: OcctWasmModule,\n shapeId: number\n): Array<[number, number, number]> {\n const out: Array<[number, number, number]> = [];\n\n const verts = k.getSubShapes(shapeId, 'vertex');\n try {\n const n = verts.size();\n for (let i = 0; i < n; i++) {\n const p = k.vertexPosition(verts.get(i));\n out.push([p.get(0), p.get(1), p.get(2)]);\n p.delete();\n }\n } finally {\n verts.delete();\n }\n\n // Tessellation samples — coarse linear deflection (≈1% of bbox diagonal)\n // is enough to seed a witness-point search; refinement comes from picking\n // the closest pair, not from sample density per se.\n // useTriangulation=true matches brepjs-occt's BRepBndLib.Add(shape, box, true)\n // semantics — refines the bound via surface analysis when triangulation is\n // present, falls back to surface-precise AddOptimal otherwise.\n const bb = k.getBoundingBox(shapeId, true);\n const diag = Math.sqrt(\n (bb.xmax - bb.xmin) ** 2 + (bb.ymax - bb.ymin) ** 2 + (bb.zmax - bb.zmin) ** 2\n );\n const linDef = Math.max(diag * 1e-2, 1e-4);\n let mesh: ReturnType<OcctKernelWasm['tessellate']> | undefined;\n try {\n mesh = k.tessellate(shapeId, linDef, 0.5);\n } catch {\n return out;\n }\n try {\n const posCount = mesh.positionCount;\n if (posCount > 0) {\n const ptr = mesh.getPositionsPtr() >> 2;\n const heap = mod.HEAPF32;\n const vertexCount = Math.floor(posCount / 3);\n const stride = vertexCount > MAX_MESH_SAMPLES ? Math.ceil(vertexCount / MAX_MESH_SAMPLES) : 1;\n const step = stride * 3;\n for (let i = 0; i < posCount; i += step) {\n out.push([heap[ptr + i] ?? 0, heap[ptr + i + 1] ?? 0, heap[ptr + i + 2] ?? 0]);\n }\n }\n } finally {\n mesh.delete();\n }\n\n return out;\n}\n\nexport function distance(\n k: OcctKernelWasm,\n mod: OcctWasmModule,\n shape1: KernelShape,\n shape2: KernelShape\n): DistanceResult {\n const id1 = unwrap(shape1);\n const id2 = unwrap(shape2);\n const value = k.distanceBetween(id1, id2);\n // Witness points: the C++ facade returns only a scalar distance, so we\n // sample each shape (topological vertices + face tessellation) and pick\n // the closest pair. The `value` above stays exact (from BRepExtrema);\n // `point1`/`point2` are an approximation whose error scales with the\n // tessellation deflection.\n const samples1 = collectDistanceSamples(k, mod, id1);\n const samples2 = collectDistanceSamples(k, mod, id2);\n if (samples1.length === 0 || samples2.length === 0) {\n return { value, point1: [0, 0, 0], point2: [0, 0, 0] };\n }\n let bestD2 = Infinity;\n let bestP1: [number, number, number] = samples1[0] ?? [0, 0, 0];\n let bestP2: [number, number, number] = samples2[0] ?? [0, 0, 0];\n for (const p1 of samples1) {\n for (const p2 of samples2) {\n const dx = p2[0] - p1[0];\n const dy = p2[1] - p1[1];\n const dz = p2[2] - p1[2];\n const d2 = dx * dx + dy * dy + dz * dz;\n if (d2 < bestD2) {\n bestD2 = d2;\n bestP1 = p1;\n bestP2 = p2;\n }\n }\n }\n return { value, point1: bestP1, point2: bestP2 };\n}\n\nfunction pointAt(\n k: OcctKernelWasm,\n faceId: number,\n u: number,\n v: number\n): [number, number, number] {\n const p = k.pointOnSurface(faceId, u, v);\n const r: [number, number, number] = [p.get(0), p.get(1), p.get(2)];\n p.delete();\n return r;\n}\n\n/**\n * Sample a 9-point stencil around (u, v) and return central-difference\n * partial derivatives Pu, Pv, Puu, Pvv, Puv. Step size is 1e-3 of the\n * parametric range (clamped at 1e-6) — the sweet spot between truncation\n * error and float-eval noise. Near the boundary the stencil shifts inward\n * so all sample points stay in the domain.\n */\nfunction surfaceDerivatives(\n k: OcctKernelWasm,\n faceId: number,\n u: number,\n v: number\n): {\n Pu: [number, number, number];\n Pv: [number, number, number];\n Puu: [number, number, number];\n Pvv: [number, number, number];\n Puv: [number, number, number];\n} {\n const bounds = k.uvBounds(faceId);\n const uMin = bounds.get(0);\n const uMax = bounds.get(1);\n const vMin = bounds.get(2);\n const vMax = bounds.get(3);\n bounds.delete();\n\n const hu = Math.max(Math.max(uMax - uMin, 1e-12) * 1e-3, 1e-6);\n const hv = Math.max(Math.max(vMax - vMin, 1e-12) * 1e-3, 1e-6);\n const uc = Math.min(Math.max(u, uMin + hu), uMax - hu);\n const vc = Math.min(Math.max(v, vMin + hv), vMax - hv);\n\n const P = pointAt(k, faceId, uc, vc);\n const Pup = pointAt(k, faceId, uc + hu, vc);\n const Pum = pointAt(k, faceId, uc - hu, vc);\n const Pvp = pointAt(k, faceId, uc, vc + hv);\n const Pvm = pointAt(k, faceId, uc, vc - hv);\n const Ppp = pointAt(k, faceId, uc + hu, vc + hv);\n const Ppm = pointAt(k, faceId, uc + hu, vc - hv);\n const Pmp = pointAt(k, faceId, uc - hu, vc + hv);\n const Pmm = pointAt(k, faceId, uc - hu, vc - hv);\n const huu = hu * hu;\n const hvv = hv * hv;\n const huv4 = 4 * hu * hv;\n\n return {\n Pu: [(Pup[0] - Pum[0]) / (2 * hu), (Pup[1] - Pum[1]) / (2 * hu), (Pup[2] - Pum[2]) / (2 * hu)],\n Pv: [(Pvp[0] - Pvm[0]) / (2 * hv), (Pvp[1] - Pvm[1]) / (2 * hv), (Pvp[2] - Pvm[2]) / (2 * hv)],\n Puu: [\n (Pup[0] - 2 * P[0] + Pum[0]) / huu,\n (Pup[1] - 2 * P[1] + Pum[1]) / huu,\n (Pup[2] - 2 * P[2] + Pum[2]) / huu,\n ],\n Pvv: [\n (Pvp[0] - 2 * P[0] + Pvm[0]) / hvv,\n (Pvp[1] - 2 * P[1] + Pvm[1]) / hvv,\n (Pvp[2] - 2 * P[2] + Pvm[2]) / hvv,\n ],\n Puv: [\n (Ppp[0] - Ppm[0] - Pmp[0] + Pmm[0]) / huv4,\n (Ppp[1] - Ppm[1] - Pmp[1] + Pmm[1]) / huv4,\n (Ppp[2] - Ppm[2] - Pmp[2] + Pmm[2]) / huv4,\n ],\n };\n}\n\n/**\n * Return a non-zero eigenvector of the singular matrix [[a,b],[c,d]] (whose\n * eigenvalue is implicit — caller has already subtracted λ from the diagonal).\n * Picks the row with the larger magnitude for numerical stability.\n */\nfunction eigenvector2x2(a: number, b: number, c: number, d: number): [number, number] {\n const useFirst = Math.abs(a) + Math.abs(b) >= Math.abs(c) + Math.abs(d);\n if (useFirst) {\n if (Math.abs(a) + Math.abs(b) < 1e-12) return [1, 0];\n return [-b, a];\n }\n if (Math.abs(c) + Math.abs(d) < 1e-12) return [0, 1];\n return [-d, c];\n}\n\nfunction liftAndNormalize(\n ab: [number, number],\n Pu: [number, number, number],\n Pv: [number, number, number]\n): [number, number, number] {\n const x = ab[0] * Pu[0] + ab[1] * Pv[0];\n const y = ab[0] * Pu[1] + ab[1] * Pv[1];\n const z = ab[0] * Pu[2] + ab[1] * Pv[2];\n const len = Math.sqrt(x * x + y * y + z * z);\n if (len < 1e-12) return [1, 0, 0];\n return [x / len, y / len, z / len];\n}\n\n/**\n * Fallback when curvature is direction-degenerate: return an orthonormal\n * tangent frame derived from Pu and the Gram-Schmidt-corrected Pv.\n */\nfunction degenerateOrthoFrame(\n Pu: [number, number, number],\n Pv: [number, number, number]\n): {\n maxDirection: [number, number, number];\n minDirection: [number, number, number];\n} {\n const uLen = Math.sqrt(Pu[0] * Pu[0] + Pu[1] * Pu[1] + Pu[2] * Pu[2]);\n if (uLen < 1e-12) {\n return { maxDirection: [1, 0, 0], minDirection: [0, 1, 0] };\n }\n const ux = Pu[0] / uLen,\n uy = Pu[1] / uLen,\n uz = Pu[2] / uLen;\n const dot = ux * Pv[0] + uy * Pv[1] + uz * Pv[2];\n const vx = Pv[0] - dot * ux;\n const vy = Pv[1] - dot * uy;\n const vz = Pv[2] - dot * uz;\n const vLen = Math.sqrt(vx * vx + vy * vy + vz * vz);\n if (vLen < 1e-12) {\n const ax: [number, number, number] = Math.abs(ux) < 0.9 ? [1, 0, 0] : [0, 1, 0];\n const ox = uy * ax[2] - uz * ax[1];\n const oy = uz * ax[0] - ux * ax[2];\n const oz = ux * ax[1] - uy * ax[0];\n const oLen = Math.sqrt(ox * ox + oy * oy + oz * oz) || 1;\n return {\n maxDirection: [ux, uy, uz],\n minDirection: [ox / oLen, oy / oLen, oz / oLen],\n };\n }\n return {\n maxDirection: [ux, uy, uz],\n minDirection: [vx / vLen, vy / vLen, vz / vLen],\n };\n}\n\n/**\n * Compute principal curvature directions at (u, v) via finite-difference\n * fundamental forms. The C++ facade exposes only k1 and k2 as scalars; this\n * helper recovers the corresponding tangent directions in 3D space.\n */\nfunction computePrincipalDirections(\n k: OcctKernelWasm,\n faceId: number,\n u: number,\n v: number,\n maxK: number,\n minK: number\n): {\n maxDirection: [number, number, number];\n minDirection: [number, number, number];\n} {\n const { Pu, Pv, Puu, Pvv, Puv } = surfaceDerivatives(k, faceId, u, v);\n\n const nx = Pu[1] * Pv[2] - Pu[2] * Pv[1];\n const ny = Pu[2] * Pv[0] - Pu[0] * Pv[2];\n const nz = Pu[0] * Pv[1] - Pu[1] * Pv[0];\n const nlen = Math.sqrt(nx * nx + ny * ny + nz * nz);\n const E = Pu[0] * Pu[0] + Pu[1] * Pu[1] + Pu[2] * Pu[2];\n const F = Pu[0] * Pv[0] + Pu[1] * Pv[1] + Pu[2] * Pv[2];\n const G = Pv[0] * Pv[0] + Pv[1] * Pv[1] + Pv[2] * Pv[2];\n\n if (nlen < 1e-12 || E * G - F * F < 1e-24) {\n return degenerateOrthoFrame(Pu, Pv);\n }\n\n const e = (Puu[0] * nx + Puu[1] * ny + Puu[2] * nz) / nlen;\n const f = (Puv[0] * nx + Puv[1] * ny + Puv[2] * nz) / nlen;\n const g = (Pvv[0] * nx + Pvv[1] * ny + Pvv[2] * nz) / nlen;\n\n // Shape operator W = I⁻¹ · II in the {Pu, Pv} basis. Solves the\n // generalized eigenproblem II·x = k·I·x so eigenvectors are in {Pu, Pv}.\n const det = E * G - F * F;\n const w11 = (e * G - f * F) / det;\n const w12 = (f * G - g * F) / det;\n const w21 = (f * E - e * F) / det;\n const w22 = (g * E - f * F) / det;\n\n // Isotropic point (k1 ≈ k2) — any direction is principal.\n if (Math.abs(maxK - minK) < 1e-9 * (Math.abs(maxK) + Math.abs(minK) + 1)) {\n return degenerateOrthoFrame(Pu, Pv);\n }\n\n const dirMax2D = eigenvector2x2(w11 - maxK, w12, w21, w22 - maxK);\n const dirMin2D = eigenvector2x2(w11 - minK, w12, w21, w22 - minK);\n\n return {\n maxDirection: liftAndNormalize(dirMax2D, Pu, Pv),\n minDirection: liftAndNormalize(dirMin2D, Pu, Pv),\n };\n}\n\nexport function surfaceCurvature(\n k: OcctKernelWasm,\n face: KernelShape,\n u: number,\n v: number\n): {\n gaussian: number;\n mean: number;\n max: number;\n min: number;\n maxDirection: [number, number, number];\n minDirection: [number, number, number];\n} {\n const faceId = unwrap(face);\n const vec = k.surfaceCurvature(faceId, u, v);\n // C++ returns [mean, gaussian, maxK, minK]\n const mean = vec.get(0);\n const gaussian = vec.get(1);\n const maxK = vec.get(2);\n const minK = vec.get(3);\n vec.delete();\n\n const { maxDirection, minDirection } = computePrincipalDirections(k, faceId, u, v, maxK, minK);\n\n return { gaussian, mean, max: maxK, min: minK, maxDirection, minDirection };\n}\n"]}