@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":"runtime.js","sourceRoot":"","sources":["../../src/cad-runtime/runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * CadRuntime — 执行核心(L2 编排层)\n *\n * Direct-only execution: the runtime runs only the direct path\n * (extractMetadata → DirectExecutor → computeLiveShapes).\n *\n * 职责:\n * - 执行 .fai.js 源码文本,产出 ExecutionResult(纯计算,不碰 store/DOM)\n * - 管理 statementCache 作为实例成员\n * - 执行模式感知(auto / brep / mesh)\n *\n * 不做的事(留给 browser host):\n * - undo 快照\n * - SceneMutator.createPart / commitGeometry\n * - scriptStore 写入\n * - group/assembly 重建\n * - window.dispatchEvent / toast\n */\n\nimport type { TerminalShape } from '../lang/types'\nimport type { Shape } from '../mesh/types'\nimport type { BrepChainState } from '../brep/brep-chain'\nimport type { BrepHandle } from '../brep/engine/types'\nimport type { BrepEngineApi } from '../brep/engine/primitives'\nimport { getBrepEngine, hasBrepEngine, getActiveBrepEngineId } from '../brep/engine/registry'\nimport { ensureOcctDefaultEngine } from '../brep/engine/adapters/occt'\nimport { ParseError } from '../lang/parse-error'\nimport type { SecurityPolicy } from '../lang/security-scanner'\nimport type { HostPorts, ExecutionMode } from './ports'\nimport type { SelectorRuntimeData } from '../topology/build-selector-runtime'\nimport type { SelectorRuntime } from '../topology/types'\nimport { buildSolidTopologyRuntime } from '../brep/brep-topology'\nimport type { SolidTopologyResult } from '../brep/brep-topology'\nimport { buildTopologyFromMesh } from '../brep/brep-topology'\nimport type { BrepMeshResult } from '../brep/engine/types'\nimport { asPartName, type PartName, type StmtId } from '../identity'\nimport { DirectExecutor, type Namespaces, type DirectExecOpts } from './direct-executor'\nimport type { ExecBackendChoice } from './exec-backend'\nimport { ModuleRegistry, ModuleRegistryError, isRelativeSpecifier } from './module-registry'\nimport type { ModuleRunResult } from './module-registry'\nimport { computeLiveShapes, lineConsumes, blockConsumes, type KeepView } from './live-shapes'\nimport { extractMetadata, type UiMetadata } from '../lang/metadata-extractor'\nimport {\n configureBackends, CONTRACT_VERSION,\n assertContractVersion, type StdlibNamespace,\n type AssemblyKinematicsPose,\n} from '../runtime-state'\nimport { admitCompatLib } from './admit-compat-lib'\nimport { hasDualOp } from '../define-op'\nimport { computeLibId } from './lib-id'\nimport { computeContentKey, stableFingerprint } from './content-key'\nexport { computeContentKey } from './content-key'\nexport { stableFingerprint } from './content-key'\nimport { isCompoundLike, getSlot, ensureSlot, type CompoundShape } from '../shape'\nimport type { PartNaming } from '../topology/naming/types'\nimport { buildPartNaming, assignPrimitiveFaceRoles, type PartNamingInput } from '../topology/naming/build-naming'\nimport { faceRowToHint } from '../topology/naming/geom-hint'\nimport { HASH_UPPER_BOUND } from '../brep/face-evolution'\n\n\n// ── 装配变换死代码已删除 ──\n// v8: applyPrecomputedTransform / eulerDegToMatrix3 / propagateTransform 已删除。\n// 装配 pass 委托 executeDoAssemble(唯一真源),约束只存 face 数据、由 api/assembly 实时求解。\n\n// ── 类型定义 ──\n\n/**\n * A single validation error produced by CadRuntime.check.\n */\nexport interface CheckError {\n /** The stage that produced the error ('keep' = keep directive validation). */\n stage: 'parse' | 'symbol' | 'reference' | 'keep' | 'security'\n message: string\n line?: number\n stmtId?: string\n /** Parse diagnostic code (e.g. E_CONTROL_FLOW, passed through from parser ParseError.code). */\n code?: string\n /** SecurityScanner rule ID (only when stage='security'; e.g. SEC_IDENT / SEC_SYNTAX / ...). */\n ruleId?: string\n}\n\n/**\n * The aggregated result of a CadRuntime.check dry run.\n */\nexport interface CheckResult {\n ok: boolean\n errors: CheckError[]\n warnings: string[]\n /** Structured context for AI self-correction. */\n script?: { statements: number; callees: string[] }\n}\n\n/**\n * 拓扑来源类型 — 静态判定,不混用。\n * - `brep`:BREP 真拓扑(stepRuntimes),由 OCCT solid 构建\n * - `primitive`:primitive 假拓扑(primitiveRuntimes),创建时刻快照\n * - `mesh`:mesh 假拓扑(meshRuntimes),加载时刻快照\n */\nexport type TopologySource = 'brep' | 'primitive' | 'mesh'\n\n/**\n * 单个 part 的拓扑数据 — 由 ExecutionResult 携带,宿主从结果消费。\n *\n * 宿主不应再直接 import faijs 的拓扑构建函数(buildSelectorRuntime 等),\n * 而是从 ExecutionResult.topology 中读取。\n */\nexport interface PartTopology {\n /** partName 即 faijs 变量名(PartName,品牌型) */\n partName: PartName\n /** 拓扑来源(静态判定) */\n source: TopologySource\n /** 序列化的拓扑数据(可跨 Worker 传输) */\n data: SelectorRuntimeData\n}\n\n/**\n * The result of a CadRuntime execution, carrying geometry, chain state, and\n * host-consumable topology data.\n */\nexport interface ExecutionResult {\n /**\n * Statement output cache (PartName → Shape or compound; includes the dual\n * front/back outputs of a split). UI query entry point listing every shape\n * variable — unregistered compounds returned by third parties (structural\n * test isCompoundLike) enter as well.\n */\n outputs: Map<PartName, Shape | CompoundShape>\n /** BREP 链状态(含逐 part solid 句柄) */\n brepChain: BrepChainState\n /** 终端几何列表 */\n terminals: TerminalShape[]\n /** 信息/警告列表 */\n infos: string[]\n /** 失败信息(如果执行中途出错);lineNo 为 DirectExecutor 路径新增(§4.2 E-add,宿主按现状读前三个字段不破裂);code 为原始错误码(如有,如 E_TOPO_NOT_FOUND / E_ARGS_FORM) */\n failedAt?: { index: number; callee: string; message: string; lineNo?: number; code?: string }\n /** 逐终端的 BREP 实体(仅持有 solid 的终端出现在此表)。key 为终端 PartName。 */\n brepSolids?: Map<PartName, { solid: BrepHandle; kernel: BrepEngineApi }>\n /**\n * 拓扑数据 — 每个 part 的拓扑运行时。\n * key 为 PartName。\n * E13:由 ExecutionResult 携带,宿主从结果消费。\n * 拓扑来源静态判定:BREP 成功时 source='brep',否则根据 part 类型判定。\n */\n topology?: Map<PartName, PartTopology>\n /**\n * 拓扑命名数据 — 每个 part 的命名行(§3.7 of\n *\n * 宿主拾取到 Reference(序号)后 O(1) 反查命名行 → captureTopoRef 造 TopoRef。\n * BREP/primitive 完整(faceNaming 有 origin+role),mesh 只给 hint(role='')。\n * 与 topology 并列、选择器 manifest 不改动;命名数据不进 topology-store。\n */\n naming?: Map<PartName, PartNaming>\n /**\n * 装配/分组结构 — 每个 compound 变量(group/assembly 产物)的成员变量名列表。\n * key 为 compound 变量名(PartName),value 为成员变量名列表。\n */\n compounds?: Map<PartName, PartName[]>\n /** 被 touch 声明的原地修改 Shape 的持有变量名(装配变换后 collectResult 填充,去重) */\n changed?: PartName[]\n /**\n * 活跃但非几何的值(keep-syntax 设计 §5.2,UI 可选消费)。\n * DAG 叶子且非 shape/compound:第三方测量/查询函数返回的 number/普通对象等。\n * 不进 terminals(terminals 只含几何,零回归)。\n */\n activeValues?: Map<PartName, unknown>\n /**\n * P3:装配运动副 per-member 位姿(键 = 成员名;含恒等链根),仅在含 joints 的\n * assembly solve 语句执行后出现。宿主从本字段读取(动画/导出),不新增返回值\n * 消费语义(asm.solve() 保持 R0 语句形态,与 do_assemble 现状一致)。\n */\n kinematics?: Map<PartName, AssemblyKinematicsPose>\n}\n\n/**\n * Options controlling a single CadRuntime execution. All inputs are code text\n * or plain values — the engine's internal IR is never part of this surface.\n */\nexport interface ExecuteOptions {\n /** The parameter table. */\n params?: Record<string, unknown>\n /** partTransform(世界→局部坐标偏移 + 单位缩放) */\n partTransform?: { position: [number, number, number]; scale?: [number, number, number] }\n /** 语句前钩子(用于 undo 逐语句快照);参数为语句 id(sN)与语句下标 */\n beforeStatement?: (stmtId: string, index: number) => void\n /**\n * 增量执行起点(兼容旧签名):从指定位置开始顺序执行,\n * 之前的语句不进执行循环(缺省 0 = 全量执行)。\n */\n startIndex?: number\n /**\n * 拓扑构建开关(Phase 2.6):\n * - 'auto'(默认):为\"在 BREP 链上\"的终端自动构建 BREP 真拓扑\n * - 'brep':为所有在 BREP 链上的输出构建拓扑(含非终端)\n * - 'off':不自动构建(只返回宿主 setTopology 注入的拓扑)\n */\n topology?: 'auto' | 'brep' | 'off'\n /**\n * 主模块 key(相对项目根的路径,如 `src/assembly.fai.js`;多文件 §4.5)。\n * 宿主执行某个文件时传入——主模块的相对 import 以此为解析基准;不传则视为\n * 位于项目根(存量单文件行为不变:无 key 时 `./x.fai.js` 相对根解析)。\n */\n entryKey?: string\n /**\n * 执行护栏(§6.3 / D8,v1 可选、默认关闭):**整轮超时**(覆盖 execute/append/update\n * 全程,含全部函数体重放),超时抛 {@link ExecutionLimitError}(E_EXEC_LIMIT)。\n * 防 `while(true)` 死循环挂死 worker/UI;不传则无超时(现状行为不变)。\n */\n executionTimeoutMs?: number\n}\n\n// 执行护栏超时错误(§6.3 / D8)定义在独立叶子文件 execution-limit-error.ts,\n// DirectExecutor(direct 路径单元循环内检查)与本文件共用;此处 import + re-export\n// 保持宿主 import 面不变(module 路径 runWithFailureHandling 的 Promise.race 使用)。\nexport { ExecutionLimitError } from './execution-limit-error'\n\n/**\n * Thrown by CadRuntime.append when a newly appended statement references a\n * variable that is not in the persistent context — its producer was never\n * executed (cross-file reference to an unloaded part, or ctx cleared by\n * dispose). The host should upgrade to a full `execute(code)`.\n */\nexport class AppendPrefixError extends Error {\n constructor(\n /** The source statement id (sN) whose reference is missing. */\n readonly statementId: string,\n /** The referenced variable missing from the persistent ctx. */\n readonly missingVar: string,\n ) {\n super(\n `[faijs] append: prefix missing — statement \"${statementId}\" references ` +\n `\"${missingVar}\" which is not in the persistent context; ` +\n `run execute(code) for a full execution`,\n )\n this.name = 'AppendPrefixError'\n }\n}\n\n// ── CadRuntime ──\n\n/** Shape 形状守卫(positions/indices 结构) */\nfunction isShapeLike(v: unknown): v is Shape {\n return !!v && typeof v === 'object' && 'positions' in v && 'indices' in v\n}\n\n/** SelectorRuntime → SelectorRuntimeData:剥离 Map 字段(跨 Worker 传输用)。 */\nfunction runtimeToData(rt: SelectorRuntime): SelectorRuntimeData {\n const {\n referenceMap: _referenceMap,\n referenceByNormalizedSelector: _referenceByNormalizedSelector,\n referenceByDisplaySelector: _referenceByDisplaySelector,\n faceReferenceByRowIndex: _faceReferenceByRowIndex,\n edgeReferenceByRowIndex: _edgeReferenceByRowIndex,\n vertexReferenceByRowIndex: _vertexReferenceByRowIndex,\n occurrenceIdByRowIndex: _occurrenceIdByRowIndex,\n faceReferenceMap: _faceReferenceMap,\n edgeReferenceMap: _edgeReferenceMap,\n vertexReferenceMap: _vertexReferenceMap,\n ...data\n } = rt\n return data as SelectorRuntimeData\n}\n\n/**\n * CadRuntime 构造选项(第 4 参;缺省全部可选)。\n *\n * direct 是唯一执行路径。security 透传给 DirectExecutor 与 extractMetadata\n * (A1/A2/A3 缺省 'strict')。\n */\nexport interface CadRuntimeOptions {\n /** 安全策略档位(缺省 'strict';透传给 DirectExecutor 与 extractMetadata) */\n security?: SecurityPolicy\n /**\n * 执行后端(缺省 'vm';静态选定,无运行时回退)。'interpreter' 为无\n * `new Function`/eval 的 AST 解释器后端,供禁 eval 环境(weapp / 严格 CSP)\n * 使用——见 docs/plans/2026-09-14-no-eval-interpreter-backend-design.md。\n */\n execBackend?: ExecBackendChoice\n}\n\n/**\n * CadRuntime is the execution core of the L2 orchestration layer.\n *\n * It executes a .fai.js source text and produces an ExecutionResult\n * (pure computation that touches neither the scene store nor the DOM), manages\n * the statementCache as an instance member, resolves shape references\n * internally, and is execution-mode aware (auto/brep/mesh). Hosts own undoing,\n * scene mutation, script-store writes, group/assembly rebuilding, and event\n * dispatch.\n */\nexport class CadRuntime {\n /** The host-injected environment capabilities. */\n readonly ports: HostPorts\n /** The execution mode (auto/brep/mesh). */\n readonly mode: ExecutionMode\n /** direct 是唯一执行路径。保留属性以兼容外部读取。 */\n readonly executorMode = 'direct' as const\n\n /** 语句缓存(实例级,不再是模块单例)。key = 可命中的 PartName(stmt.id 即其首输出名) */\n private statementCache = new Map<PartName, {\n statementKey: string\n outputContentKey: string\n output: Shape\n }>()\n\n /** 场景代码累积(三接口收敛:append 只传新行,faijs 累积全文使 id 按位置稳定 + DAG/keep 分析可见全场景)。 */\n private accumulatedCode: string | null = null\n /** 已累积场景的语句 id 集(append 据此判定「新增语句」)。 */\n private accumulatedIds = new Set<StmtId>()\n\n // P0 增量闸门用:上次成功执行的指纹快照\n private lastParamsFingerprint: string | null = null\n private lastLibIdsFingerprint: string | null = null\n private lastPartTransformFingerprint: string | null = null\n private lastHadKinematics = false\n\n /**\n * PartName → OCCT 实体句柄,跨 execute 存活,持有所有权(顶替释放/删除/dispose 的唯一操作对象)。\n * op 层通过 brepChain.solidCache 读写——该引用指向此持久 Map(见 ensureBrepChain)。\n */\n private solidCache = new Map<PartName, BrepHandle>()\n\n /** 面演化映射缓存(PartName → FaceEvolution),随 solidCache 一并持久。 */\n private faceEvolutionCache = new Map<PartName, Map<number, number[]>>()\n\n /** 拓扑命名 RoleTable 缓存(PartName → RoleTable,§2.3),与 faceEvolutionCache 同生命周期。 */\n private roleTableCache = new Map<PartName, unknown>()\n\n /** OCCT 内核引用(环境级单例,initOcctWasm() 幂等;mesh 模式为 null)。供顶替释放用。 */\n private kernel: BrepEngineApi | null = null\n\n /**\n * 惰性初始化的 BREP 链:solidCache / faceEvolutionCache 引用实例持久 Map,\n * kernel 取环境单例。首次需要时创建一次,跨 execute 复用(不再每次新建)。\n */\n private brepChain: BrepChainState | null = null\n\n /**\n * 拓扑数据缓存:partName → PartTopology(实例级)\n * E13:宿主不再直接 import faijs 拓扑构建函数,而是从 ExecutionResult.topology 消费。\n * 拓扑构建由宿主在 execute 后调用 setTopology 注入(BREP 路径)或由加载时注入(mesh/primitive 路径)。\n */\n private topologyCache = new Map<PartName, PartTopology>()\n\n /** 无 IR 执行器(DirectExecutor,T5 后唯一执行路径) */\n private readonly directExecutor: DirectExecutor\n\n /** 安全策略档位(透传给 extractMetadata 与 DirectExecutor;缺省 'strict') */\n private readonly securityPolicy: SecurityPolicy\n\n /** 宿主注册库(含 cad:由根门面 createRuntime 包装注入;注入编译产物 fn 的第二参 ns) */\n private readonly libs: Record<string, StdlibNamespace>\n /** 库内容身份表 (binding → content hash),增量 key 用(B2,§7.3) */\n private readonly libIds = new Map<string, string>()\n /** import specifier → binding 映射(registerLib 的 packageName 声明;check ①.5 校验 specifier) */\n private readonly specifierToBinding = new Map<string, string>()\n private readonly namespaces: Namespaces\n /** 默认命名空间绑定名(U10/R2):根门面经 registerLib(binding, ns, {default: true}) 显式声明;\n * 缺省 'cad'(与 parser 缺省 defaultNs 一致)。namespace 字段缺省的语句归属该绑定。 */\n private defaultNsName = 'cad'\n\n /**\n * Register a library namespace. A version mismatch throws (no silent\n * degradation); afterwards compiled products may use the library via\n * `ns.<binding>.<callee>`. `cad` is registered the same way: the root facade\n * injects it through registerLib('cad', createInternalStdlib(), { default: true }).\n * @param binding - the namespace binding name.\n * @param ns - the namespace object to register.\n * @param options - `{ default: true }` declares this binding as the default\n * namespace (host-declared default binding name, U10/R2).\n */\n /**\n * Register a library namespace under a statement-level binding.\n *\n * Third-party libraries (no defineOp / no contractVersion) are admitted\n * through compatOp so bare functions cannot silently bypass the statement\n * boundary contract (B4, §4.3.3). The `autoLift` option controls this:\n * - `true` → bare functions are lifted via compatOp (brep-only, B4).\n * - `false` → no lifting (the library's functions are used as-is; the\n * built-in cad surface uses this since its ops already carry\n * `DUAL_OP_META`).\n * - omitted → inferred: `!hasDualOp(ns)`. Libraries that already declare\n * dual-ops (cad, gear-lib-demo's defineOp mocks) auto-lift `false`;\n * all-bare-function libraries (sheetmetal) auto-lift `true`.\n *\n * The engine's built-in L3 surface is registered without `autoLift` by the\n * facade: inferred `false` (all ops carry `DUAL_OP_META`).\n * @param binding - the name scripts use to reach the namespace (e.g. 'cad').\n * @param ns - the library's export object.\n * @param options - registration hints. `packageName` declares the npm package\n * backing this binding so `check()` can validate script import specifiers\n * against registered libraries (specifier mismatch = hard check error).\n */\n registerLib(binding: string, ns: StdlibNamespace, options?: { default?: boolean; autoLift?: boolean; packageName?: string }): void {\n assertContractVersion(ns as unknown as { contractVersion?: number })\n // B4: admit bare (non-dual-op) library functions through compatOp when\n // autoLift is true (or inferred true — the library has no dual-op).\n // Hard ordering: assertLibConforms runs inside admitCompatLib BEFORE\n // wrapping — DUAL_OP_META hangs on the function object with\n // enumerable:false, and wrapping first would let bare functions silently\n // skip the strict validation pass (R8).\n const lift = options?.autoLift ?? !hasDualOp(ns as unknown as Record<string, unknown>)\n const admitted = lift\n ? (admitCompatLib(ns as unknown as Record<string, unknown>) as StdlibNamespace)\n : ns\n this.libs[binding] = admitted\n this.libIds.set(binding, computeLibId(binding, ns as unknown as Record<string, unknown>))\n if (options?.packageName) {\n this.specifierToBinding.set(options.packageName, binding)\n }\n if (options?.default === true) {\n this.defaultNsName = binding\n }\n this.directExecutor.setNamespaces({ ...this.libs } as Namespaces)\n }\n\n /** The runtime's default namespace binding name (host-declared; 'cad' by default). */\n get defaultNs(): string {\n return this.defaultNsName\n }\n\n constructor(\n ports: HostPorts,\n mode: ExecutionMode = 'auto',\n libs: Record<string, StdlibNamespace> = {},\n options: CadRuntimeOptions = {},\n ) {\n this.ports = ports\n this.mode = mode\n this.libs = libs\n this.namespaces = { ...libs } as Namespaces\n this.securityPolicy = options.security ?? 'strict'\n this.directExecutor = new DirectExecutor({\n namespaces: this.namespaces,\n setSolid: (partName, solid) => { this.solidCache.set(partName, solid) },\n setFaceEvolution: (partName, evo) => { this.faceEvolutionCache.set(partName, evo as Map<number, number[]>) },\n setRoleTable: (partName, roleTable) => { this.roleTableCache.set(partName, roleTable) },\n security: this.securityPolicy,\n ...(options.execBackend !== undefined ? { execBackend: options.execBackend } : {}),\n })\n\n // P2:装配全局 backends(stdlib 经 getBackends() 取资源)。\n this.claimBackends()\n }\n\n /**\n * 认领全局 backends 配置(P2 修复):全局 backends 是单例,任何 runtime 创建都会\n * 覆盖它——后创建的实例(如预览用 mesh runtime)会把 mode/kernel getter 指向自己,\n * 先前 runtime 的后续 execute 会被静默劫持(dispatch 走错槽、缓存键漂移、\n * 顶替释放旧 BREP 句柄后拓扑重建撞上悬空句柄)。因此除构造外,每个执行入口\n * (execute,所有执行路径的汇聚点)都必须先重新认领本实例的配置。\n * 限制:并发交错执行多个 runtime 仍会互踩(与 setCurrentStmt 同级的串行假设)。\n * ⚠️ getter 的 this 指向所在对象字面量,用箭头闭包捕获实例(避免 no-this-alias)。\n */\n private claimBackends(): void {\n const brepChainOf = (): BrepChainState | null => this.brepChain\n const portsOf = (): HostPorts => this.ports\n configureBackends({\n contractVersion: CONTRACT_VERSION,\n config: {\n mode: this.mode,\n get brepEngineId() {\n return getActiveBrepEngineId()\n },\n get brepCapabilities() {\n return brepChainOf()?.capabilities\n },\n get partTransform() {\n return brepChainOf()?.partTransform\n },\n },\n kernel: {\n get brep() {\n return brepChainOf()?.kernel ?? null\n },\n get csg() {\n return portsOf().csg\n },\n get sdf() {\n return portsOf().sdf\n },\n },\n fonts: this.ports.fonts,\n texture: this.ports.texture,\n assets: this.ports.assets,\n events: this.ports.events,\n cad: this.namespaces.cad,\n })\n }\n\n /**\n * 确保持久 BREP 链存在(惰性初始化)。\n * 引擎从注册表取当前 BREP 引擎(宿主装配时注册);无引擎或 mesh 模式 → kernel 为 null。\n * OCCT 是内置默认引擎:宿主未注册任何引擎时,非 mesh 模式自动装配 OCCT——\n * 现有宿主无需改动即恢复默认 BREP 行为;换引擎仍是静态的(装配期注册其它引擎即可)。\n */\n private async ensureBrepChain(): Promise<BrepChainState> {\n if (this.brepChain) return this.brepChain\n if (this.mode !== 'mesh') {\n await ensureOcctDefaultEngine()\n }\n const engine = this.mode === 'mesh' || !hasBrepEngine()\n ? null\n : await getBrepEngine()\n const kernel = engine?.primitives ?? null\n this.kernel = kernel\n this.brepChain = {\n solidCache: this.solidCache,\n kernel,\n capabilities: engine?.capabilities,\n faceEvolutionCache: this.faceEvolutionCache,\n roleTableCache: this.roleTableCache,\n meshShapeCache: new Map<PartName, BrepMeshResult>(),\n }\n return this.brepChain\n }\n\n // ── 公开入口:execute / append / update(输入一律是代码文本,IR 在引擎内部) ──\n\n /**\n * Full execution from code text: parse → execute every statement.\n * @param code - the .fai.js source text.\n * @param opts - optional execution options.\n * @returns promise resolving to the ExecutionResult.\n */\n async execute(code: string, opts?: ExecuteOptions): Promise<ExecutionResult> {\n return this.executeDirectText(code, opts)\n }\n\n /**\n * Append new statements (incremental execution): only execute the new code\n * text on the persistent ctx; prefix validation enforces that references\n * must already exist (AppendPrefixError otherwise).\n * @param code - the new .fai.js source text to append.\n * @param opts - optional execution options.\n * @returns promise resolving to the ExecutionResult.\n */\n async append(code: string, opts?: ExecuteOptions): Promise<ExecutionResult> {\n return this.appendDirectText(code, opts)\n }\n\n /**\n * Direct-mode full execution: the code text runs on the DirectExecutor\n * and outputs/terminals are assembled from the persistent ctx +\n * extractMetadata + computeLiveShapes.\n */\n private async executeDirectText(code: string, opts?: ExecuteOptions): Promise<ExecutionResult> {\n const de = this.directExecutor\n // P2 修复:执行前重新认领全局 backends(本实例配置为准)。\n this.claimBackends()\n this.accumulatedCode = code\n const meta = extractMetadata(code, { defaultNs: this.defaultNsName, security: this.securityPolicy, namespaces: Object.keys(this.libs) })\n const libLoadFailure = await this.autoLoadLibsFromImports(meta.imports)\n if (libLoadFailure) return libLoadFailure\n // 多文件(§4.5):相对 import 依赖装载 → 绑定 seed;装载错误 → failedAt 短路。\n const moduleLoad = await this.loadDirectModuleImports(meta, opts?.entryKey)\n if (!('seed' in moduleLoad)) return moduleLoad\n const brepChain = await this.ensureBrepChain()\n if (opts?.partTransform?.position) {\n brepChain.partTransform = {\n position: opts.partTransform.position,\n scale: opts.partTransform.scale,\n }\n }\n const outcome = await de.execute(code, {\n imports: moduleLoad.seed,\n params: opts?.params,\n ...(opts?.startIndex !== undefined ? { startLine: opts.startIndex } : {}),\n ...(opts?.beforeStatement ? { beforeStatement: opts.beforeStatement } : {}),\n ...(opts?.executionTimeoutMs !== undefined ? { executionTimeoutMs: opts.executionTimeoutMs } : {}),\n })\n if (outcome.failedAt) {\n return this.directFailedAtOrThrow(outcome.failedAt, meta)\n }\n const result = this.collectDirectResult(meta, opts)\n this.recordFingerprints(opts)\n return result\n }\n\n /** E6:DirectExecutor 失败行 → 场景语句序数(meta.lines 下标);不在 lines → undefined。 */\n private directStmtOrdinal(meta: UiMetadata, lineNo: number | undefined): number | undefined {\n if (lineNo === undefined) return undefined\n const idx = meta.lines.findIndex((l) => l.line === lineNo)\n return idx < 0 ? undefined : idx\n }\n\n /**\n * Direct-mode failedAt handling (T5 direct-only path): all execution errors\n * from DirectExecutor's catch block are statement-level failures → keep in\n * failedAt (no re-throw). This includes OpError / BrepUnsupportedError /\n * MeshUnsupportedError (engine capability failures), TypeError (no_such_op),\n * and business parameter errors (e.g. E_ARGS_FORM, E_CHAMFER_NO_EDGES,\n * E_TOPO_NOT_FOUND). ParseError is re-thrown by DirectExecutor (not here).\n * The original error's `code` (e.g. E_TOPO_NOT_FOUND) is surfaced on\n * failedAt.code so hosts can programmatically distinguish error kinds.\n */\n private directFailedAtOrThrow(\n failedAt: { index: number; callee: string; message: string; lineNo?: number; error?: unknown },\n meta: UiMetadata,\n ): ExecutionResult {\n const index = this.directStmtOrdinal(meta, failedAt.lineNo) ?? failedAt.index\n const rawCode = failedAt.error instanceof Error ? (failedAt.error as { code?: unknown }).code : undefined\n const code = typeof rawCode === 'string' ? rawCode : undefined\n return {\n outputs: this.directShapes(),\n brepChain: this.brepChain!,\n terminals: [],\n infos: [],\n failedAt: { index, callee: failedAt.callee, message: failedAt.message, lineNo: failedAt.lineNo, code },\n }\n }\n\n /**\n * Direct-mode update: R3 语义——清 ctx 全量重跑新文本\n * (DirectExecutor.update 即 execute;无需 oldCode 差量)。\n */\n private async updateDirectText(_oldCode: string, newCode: string, opts?: ExecuteOptions): Promise<ExecutionResult> {\n this.accumulatedCode = newCode\n return this.executeDirectText(newCode, opts)\n }\n\n /**\n * Direct-mode append: DirectExecutor 共享 ctx 只执行新单元\n * (行号即边界);prefix 校验保留 AppendPrefixError 语义(引用不在持久 ctx → 抛错,\n * 宿主升级为全量 execute)。\n */\n private async appendDirectText(code: string, opts?: ExecuteOptions): Promise<ExecutionResult> {\n const de = this.directExecutor\n if (!de) throw new Error('[faijs] direct executor is unavailable in module mode')\n this.claimBackends()\n const fullCode = this.accumulatedCode === null ? code : `${this.accumulatedCode}\\n${code}`\n this.accumulatedCode = fullCode\n // Append never reconciles:持久 ctx 中先前已执行语句必须原样保留;缺引用的新单元\n // 在 DirectExecutor 内会静默拿到 undefined —— 这里按 module 路径语义前置抛错。\n // 先做 prefix 校验(skipSecurity=true,预检不触发安全扫描),再做 A1 安全扫描。\n const missing = de.missingPrefixVar(code)\n if (missing) throw new AppendPrefixError(`s${missing.unitLine}`, missing.varName)\n // looseVars: true (same semantics as the deleted module append path): references to\n // 已执行产出/其它文件的变量作为外部 var 透传,由 missingPrefixVar 前置校验决定成败。\n // A1 安全扫描需把 ctx 已有键 + 已注册命名空间都作为 knownNames(避免 SEC_FREE_IDENT 误杀 append 场景)。\n const appendKnownNames = [...Object.keys(this.libs), ...de.listCtxKeys()]\n const meta = extractMetadata(fullCode, { defaultNs: this.defaultNsName, looseVars: true, security: this.securityPolicy, namespaces: appendKnownNames, nsNames: Object.keys(this.libs) })\n const libLoadFailure = await this.autoLoadLibsFromImports(meta.imports)\n if (libLoadFailure) return libLoadFailure\n // 多文件(§4.5):相对 import 依赖装载 → 绑定 seed(覆盖刷新 ctx 中旧 import 绑定)。\n const moduleLoad = await this.loadDirectModuleImports(meta, opts?.entryKey)\n if (!('seed' in moduleLoad)) return moduleLoad\n const brepChain = await this.ensureBrepChain()\n if (opts?.partTransform?.position) {\n brepChain.partTransform = {\n position: opts.partTransform.position,\n scale: opts.partTransform.scale,\n }\n }\n const outcome = await de.append(code, {\n imports: moduleLoad.seed,\n params: opts?.params,\n ...(opts?.beforeStatement ? { beforeStatement: opts.beforeStatement } : {}),\n ...(opts?.executionTimeoutMs !== undefined ? { executionTimeoutMs: opts.executionTimeoutMs } : {}),\n })\n if (outcome.failedAt) {\n return this.directFailedAtOrThrow(outcome.failedAt, meta)\n }\n const result = this.collectDirectResult(meta, opts)\n this.recordFingerprints(opts)\n return result\n }\n\n /** Direct-mode 失败结果的 outputs 部分:持久 ctx 中已产出的 shape/compound。 */\n private directShapes(): Map<PartName, Shape | CompoundShape> {\n const de = this.directExecutor!\n const outputs = new Map<PartName, Shape | CompoundShape>()\n for (const name of de.listCtxKeys()) {\n const v = de.getCtxVar(name)\n if (isShapeLike(v) || isCompoundLike(v)) outputs.set(asPartName(name), v as Shape | CompoundShape)\n }\n return outputs\n }\n\n /**\n * 多文件装载(direct 模式,§4.5):项目内相对 import 依赖经 ModuleRegistry 装载\n * (每依赖独立 ctx 执行 + 绑定校验),返回 seed(绑定名 → 值,供 DirectExecutor\n * opts.imports 预置)。装载错误 → failedAt 短路结果(不抛穿)。\n */\n private async loadDirectModuleImports(\n meta: UiMetadata,\n baseKey?: string,\n ): Promise<{ seed: Record<string, unknown> } | ExecutionResult> {\n const loader = this.ports.projectLoader\n if (!loader) return { seed: {} }\n if (!(meta.imports ?? []).some((imp) => isRelativeSpecifier(imp.specifier))) return { seed: {} }\n const registry = new ModuleRegistry(loader, (code, imports) => this.runDirectModule(code, imports), this.securityPolicy)\n try {\n const seed = await registry.resolveImports(meta.imports ?? [], baseKey)\n return { seed }\n } catch (err) {\n if (err instanceof ModuleRegistryError) {\n return {\n outputs: new Map(),\n brepChain: this.brepChain!,\n terminals: [],\n infos: [],\n failedAt: {\n index: -1,\n callee: err.callee ?? 'import',\n message: err.message,\n lineNo: err.lineNo,\n },\n }\n }\n throw err\n }\n }\n\n /** 依赖模块执行(direct):独立 DirectExecutor + 独立 ctx;失败抛 ModuleRegistryError。 */\n private async runDirectModule(code: string, imports: Record<string, unknown>): Promise<ModuleRunResult> {\n // A3:子模块固定 strict 策略(不接受降档)\n // BREP kernel 必须在依赖执行前就绪——模块装载排在 ensureBrepChain 之前,\n // 否则子模块里的 BREP op 会以 \"no OCCT kernel\" 失败。\n await this.ensureBrepChain()\n // 钩子必须复用主 executor 的那套:子模块产出的 BREP solid 要登记进本实例的\n // solidCache,否则主模块的 brepSolids 查不到它们(装配体 STEP 导不出精确曲面)。\n const de = new DirectExecutor({\n namespaces: { ...this.libs } as Namespaces,\n setSolid: (partName, solid) => { this.solidCache.set(partName, solid) },\n setFaceEvolution: (partName, evo) => { this.faceEvolutionCache.set(partName, evo as Map<number, number[]>) },\n setRoleTable: (partName, roleTable) => { this.roleTableCache.set(partName, roleTable) },\n security: 'strict',\n })\n const outcome = await de.execute(code, { imports })\n if (outcome.failedAt) {\n throw new ModuleRegistryError(\n 'MODULE_EXEC_FAILED',\n `dependency module failed at line ${outcome.failedAt.lineNo ?? '?'}: ${outcome.failedAt.message}`,\n { lineNo: outcome.failedAt.lineNo, callee: outcome.failedAt.callee },\n )\n }\n return de\n }\n\n /**\n * Direct-mode result assembly:ctx → outputs / statementCache / terminals /\n * brepSolids / compounds(与 collectResult 的 mesh 面同构;输入换源为\n * DirectExecutor ctx + UiMetadata + computeLiveShapes,§4.2/§4.4)。\n */\n private collectDirectResult(meta: UiMetadata, opts?: ExecuteOptions): ExecutionResult {\n const de = this.directExecutor!\n const outputs = new Map<PartName, Shape | CompoundShape>()\n const shapeVarNames = new Set<PartName>()\n const compounds = new Map<PartName, PartName[]>()\n for (const name of de.listCtxKeys()) {\n const v = de.getCtxVar(name)\n if (!isShapeLike(v) && !isCompoundLike(v)) continue\n outputs.set(asPartName(name), v as Shape | CompoundShape)\n shapeVarNames.add(asPartName(name))\n if (isCompoundLike(v)) {\n const behavior = getSlot(v)?.behavior as { memberNames?: string[] } | undefined\n compounds.set(asPartName(name), (behavior?.memberNames ?? []).map(asPartName))\n }\n }\n // statementCache 同步(E8 getCachedOutput):direct 无语句 key——用行级身份键填\n // content key,宿主继续从实例缓存读几何。\n for (const name of shapeVarNames) {\n const v = de.getCtxVar(String(name))\n if (isShapeLike(v)) {\n const shape = v as Shape\n this.statementCache.set(name, {\n statementKey: `direct:${String(name)}`,\n outputContentKey: computeContentKey(shape.positions, shape.indices),\n output: shape,\n })\n }\n }\n // T3-cond:DAG 叶子终端判定换 computeLiveShapes(§4.4)——输入换源:\n // 候选 = ctx 键;行内 keep 查 metadata.keep 表;函数体 exec.keep 登记读\n // DirectExecutor.keepByLine(行号键,与 computeLiveShapes KeepView 对齐)。\n const keepView: KeepView = {\n lineEntries: (lineNo) => meta.keep.get(lineNo),\n functionBody: (lineNo) => de.getKeepByLine(lineNo),\n }\n let terminals = computeLiveShapes({\n lines: meta.lines,\n blocks: meta.blocks,\n keep: keepView,\n shapeVarNames,\n ...(de.getBlockOutputs().size > 0 ? { blockOutputs: de.getBlockOutputs() } : {}),\n // P25 §3.7.4:修改类裸调用原地写回的 producer 精确化(行号 → 写回变量名)\n ...(de.getInplaceWrites().size > 0 ? { inplaceWrites: de.getInplaceWrites() } : {}),\n explicitTerminals: meta.terminalShapes,\n })\n // 显式 return 优先(与 collectResult 同):非显式分支按值判定补 compound kind。\n if (!meta.terminalShapes || meta.terminalShapes.length === 0) {\n terminals = terminals.map((t) => {\n const v = de.getCtxVar(String(t.id))\n return isCompoundLike(v) ? { ...t, kind: 'compound' } : t\n })\n }\n const brepSolids = this.directBrepSolids(terminals, compounds)\n // T3:拓扑——宿主注入(mesh/primitive,setTopology 缓存)原样带出 + BREP 真拓扑\n // 自动构建(与 collectResult 的 topology='auto'/'brep' 面同构)。solidCache 已由\n // DirectExecutor 的 setSolid 钩子同步(逐单元执行后写入),此处 buildBrepTopology\n // 命中缓存构建拓扑。\n const topology = new Map<PartName, PartTopology>(this.topologyCache)\n const topoMode = opts?.topology ?? 'auto'\n if (topoMode !== 'off') {\n const buildFor = (partName: PartName): void => {\n if (topology.has(partName)) return\n const rt = this.buildBrepTopology(partName)\n if (rt) topology.set(partName, { partName, source: 'brep', data: runtimeToData(rt) })\n }\n if (topoMode === 'brep') {\n for (const name of shapeVarNames) {\n const v = de.getCtxVar(String(name))\n if (isShapeLike(v)) buildFor(name)\n }\n } else {\n for (const t of terminals) buildFor(t.id)\n }\n }\n // T3:命名——与 topology 同 set(与 collectResult 的 naming 面同构)\n const naming = new Map<PartName, PartNaming>()\n for (const [partName, partTopo] of topology) {\n const input = this.buildNamingInput(partName, partTopo)\n if (input) naming.set(partName, buildPartNaming(input))\n }\n // T2:activeValues —— 镜像 collectActiveValues,输入换 meta.lines + lineConsumes/\n // blockConsumes。候选 = ctx 中非 shape/compound 键(第三方测量/查询函数返回的\n // number/普通对象)。DAG 叶子且非几何 → activeValues(不进 terminals,零回归)。\n const activeValues = this.collectDirectActiveValues(meta, keepView, shapeVarNames)\n // T2:changed —— DirectExecutor 逐单元写值前后比对(与 module 路径 exec.changed 同语义)。\n const deChanged = de.getChanged()\n return {\n outputs,\n brepChain: this.brepChain!,\n terminals,\n infos: [],\n brepSolids: brepSolids.size > 0 ? brepSolids : undefined,\n topology: topology.size > 0 ? topology : undefined,\n naming: naming.size > 0 ? naming : undefined,\n compounds: compounds.size > 0 ? compounds : undefined,\n kinematics: de.kinematicsSnapshot.size > 0 ? de.kinematicsSnapshot : undefined,\n changed: deChanged ? deChanged.map(asPartName) : undefined,\n activeValues: activeValues.size > 0 ? activeValues : undefined,\n }\n }\n\n /** 块起始行 → lines 中第一个 >= 该行的下标(与 live-shapes.blockIdxOf 同逻辑)。 */\n private static blockIdxOfLine(lines: UiMetadata['lines'], blockLine: number): number {\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].line >= blockLine) return i\n }\n return lines.length\n }\n\n /**\n * T2:Direct-mode activeValues 收集——镜像 collectActiveValues(module 路径),\n * 输入换 meta.lines + lineConsumes/blockConsumes。\n *\n * 判定与 computeLiveShapes 同构:变量 v 的最后写者行(lines 下标 + blockOutputs)\n * 之后没有语句/块消费 v → DAG 叶子。叶子且非 shape/compound → activeValues。\n * 几何叶子走 terminals(跳过,零回归)。\n */\n private collectDirectActiveValues(\n meta: UiMetadata,\n keepView: KeepView,\n shapeVarNames: Set<PartName>,\n ): Map<PartName, unknown> {\n const de = this.directExecutor!\n const active = new Map<PartName, unknown>()\n // lastProducer:lines 中最后写者下标(与 computeLiveShapes 同逻辑)\n const lastProducer = new Map<string, number>()\n for (let i = 0; i < meta.lines.length; i++) {\n const line = meta.lines[i]\n if (!line.hasAssignment) continue\n for (const out of line.outputs) lastProducer.set(String(out), i)\n }\n // 候选 = ctx 中非 shape/compound 键\n for (const name of de.listCtxKeys()) {\n const v = de.getCtxVar(name)\n if (v === undefined || isShapeLike(v) || isCompoundLike(v)) continue\n // producerIdx:lines 中最后写者下标,或 blockOutputs 的块行号锚点\n const lineIdx = lastProducer.get(name)\n const blockLine = de.getBlockOutputs().get(name)\n let producerIdx: number | undefined\n let producerLine: number\n if (lineIdx !== undefined && blockLine !== undefined) {\n // 取较大者:块在 lines 之后时块是最后写者\n const blockIdx = CadRuntime.blockIdxOfLine(meta.lines, blockLine)\n producerIdx = blockIdx > lineIdx ? blockIdx : lineIdx\n producerLine = blockIdx > lineIdx ? blockLine : (meta.lines[lineIdx]?.line ?? 0)\n } else if (lineIdx !== undefined) {\n producerIdx = lineIdx\n producerLine = meta.lines[lineIdx]?.line ?? 0\n } else if (blockLine !== undefined) {\n producerIdx = CadRuntime.blockIdxOfLine(meta.lines, blockLine)\n producerLine = blockLine\n } else {\n // 无生产者(宿主注入 / 跨文件引用)→ 不进 activeValues(与 module 路径一致)\n continue\n }\n if (producerIdx === undefined) continue\n // 消费判定:producer 之后的 lines + blocks\n let consumed = false\n for (let i = producerIdx + 1; i < meta.lines.length; i++) {\n if (lineConsumes(meta.lines[i], asPartName(name), keepView, shapeVarNames)) {\n consumed = true\n break\n }\n }\n if (!consumed && meta.blocks.length > 0) {\n if (blockConsumes(meta.blocks, name, producerLine)) consumed = true\n }\n if (!consumed) active.set(asPartName(name), v)\n }\n return active\n }\n\n /** Direct-mode 逐终端 BREP solid 提取(终端 + 装配成员;无 kernel → 空)。 */\n private directBrepSolids(\n terminals: TerminalShape[],\n compounds: Map<PartName, PartName[]>,\n ): Map<PartName, { solid: BrepHandle; kernel: BrepEngineApi }> {\n const brepSolids = new Map<PartName, { solid: BrepHandle; kernel: BrepEngineApi }>()\n if (!this.kernel) return brepSolids\n for (const t of terminals) {\n const s = this.solidCache.get(t.id)\n if (s && this.kernel) brepSolids.set(t.id, { solid: s, kernel: this.kernel })\n }\n for (const members of compounds.values()) {\n for (const m of members) {\n if (brepSolids.has(m)) continue\n const s = this.solidCache.get(m)\n if (s && this.kernel) brepSolids.set(m, { solid: s, kernel: this.kernel })\n }\n }\n return brepSolids\n }\n\n /**\n * P 四(4.2):execute 阶段自动装载未注册的库。\n *\n * import 表(UiMetadata.imports)驱动的自动装载。\n */\n private async autoLoadLibsFromImports(\n imports: ReadonlyArray<{ kind?: string; localName?: string; packageName?: string; specifier?: string }>,\n ): Promise<ExecutionResult | undefined> {\n if (!this.ports.libLoader) return undefined\n for (const imp of imports) {\n if (imp.kind !== 'namespace') continue // named/default import 不作语句级绑定,不在此装载\n // 相对 specifier 属多文件通道(§4.5),不是库——留给 ModuleRegistry 处理,\n // 否则会被当作裸包名送进 libLoader 而报\"不在白名单\"。\n if (isRelativeSpecifier(imp.specifier ?? '')) continue\n if (!imp.localName) continue\n if (this.libs[imp.localName]) continue // 已注册(宿主注入或此前自动装载)→ 不覆盖\n let ns: StdlibNamespace\n try {\n ns = await this.ports.libLoader.loadLib(imp.packageName ?? imp.specifier ?? '')\n } catch (err) {\n return {\n outputs: new Map(),\n brepChain: this.brepChain!,\n terminals: [],\n infos: [],\n failedAt: {\n index: -1,\n callee: imp.localName,\n message: `import specifier \"${imp.specifier}\" cannot be auto-loaded: ${err instanceof Error ? err.message : String(err)}`,\n },\n }\n }\n const resolved = imp.packageName ?? imp.specifier ?? ''\n this.registerLib(imp.localName, ns, {\n autoLift: this.ports.libLoader.options?.autoLiftFor?.(resolved) ?? this.ports.libLoader.options?.autoLift ?? !hasDualOp(ns as unknown as Record<string, unknown>),\n packageName: imp.packageName,\n })\n }\n return undefined\n }\n\n\n /**\n * 构建一个 part 的命名输入(§3.7)。\n *\n * - BREP:roleTableCache 反查 {origin, role} + subShapeHashes 序号对照 + 面/边行 hint;\n * - primitive:assignPrimitiveFaceRoles 按固定面序给语义 role(§5.2,与 BREP 同一套命名器);\n * - mesh:只填 hint(role='',§5.3)。\n */\n private buildNamingInput(partName: PartName, partTopo: PartTopology): PartNamingInput | undefined {\n const faces = (partTopo.data.faces ?? []) as Array<{\n surfaceType?: string; normal?: readonly number[] | null; center?: readonly number[] | null; area?: number\n }>\n const edges = (partTopo.data.edges ?? []) as Array<{\n length?: number; center?: readonly number[] | null\n }>\n const edgeFaceOrdinals = this.edgeFaceOrdinalsOf(partTopo.data)\n\n if (partTopo.source === 'brep') {\n const roleTable = this.roleTableCache.get(partName) as PartNamingInput['roleTable']\n const solid = this.solidCache.get(partName)\n let ordinalToHash: readonly number[] | undefined\n if (solid && this.kernel) {\n ordinalToHash = Array.from(this.kernel.subShapeHashes(solid, 'face', HASH_UPPER_BOUND))\n }\n return {\n source: 'brep',\n partName,\n faces,\n edges,\n roleTable,\n ordinalToHash,\n edgeFaceOrdinals,\n }\n }\n if (partTopo.source === 'primitive') {\n const primitiveRoles = assignPrimitiveFaceRoles(faces, partName)\n return { source: 'primitive', partName, faces, edges, primitiveRoles, edgeFaceOrdinals }\n }\n return { source: partTopo.source, partName, faces, edges, edgeFaceOrdinals }\n }\n\n /**\n * 从 SelectorRuntimeData 的 edgeFaceRows 提取每条边的两邻面序号(1 起;§3.7)。\n * mesh 无邻接 → undefined(edgeNaming.faces=null,只能 hint 兜底,§5.3)。\n */\n private edgeFaceOrdinalsOf(data: SelectorRuntimeData): ReadonlyArray<readonly [number, number] | null> | undefined {\n const edgeFaceRows = data.proxy?.edgeFaceRows\n const edges = (data.edges ?? []) as Array<{ faceStart?: number; faceCount?: number }>\n if (!Array.isArray(edgeFaceRows) && !(edgeFaceRows instanceof Uint32Array)) return undefined\n const rows = edgeFaceRows as ArrayLike<number>\n const out: Array<readonly [number, number] | null> = []\n for (const edge of edges) {\n const start = edge.faceStart ?? 0\n const count = edge.faceCount ?? 0\n if (count < 2) {\n out.push(null)\n continue\n }\n const a = rows[start]\n const b = rows[start + 1]\n if (a === undefined || b === undefined) {\n out.push(null)\n continue\n }\n out.push([a + 1, b + 1])\n }\n return out\n }\n\n // ── 语义入口:update / append(增量执行) ──\n\n /**\n * Update from the two code texts (before/after an edit): the diff is derived\n * from the passed codes themselves — the engine's persistent ctx is only an\n * execution cache, never the diff authority. Changed statements (paired by\n * positional id, S-2) plus their downstream closure are recomputed in\n * topological order; when nothing changed, the result is assembled from the\n * persistent ctx with zero execution.\n * @param oldCode - the .fai.js source text before the edit.\n * @param newCode - the .fai.js source text after the edit.\n * @param opts - optional execution options.\n * @returns promise resolving to the ExecutionResult.\n */\n async update(oldCode: string, newCode: string, opts?: ExecuteOptions): Promise<ExecutionResult> {\n return this.updateIncremental(oldCode, newCode, opts)\n }\n\n // ── 公开:缓存访问 ──\n\n /**\n * Get the output geometry from the statement cache (keyed by PartName).\n * @param partName - the part name to look up.\n * @returns the cached shape, or undefined.\n */\n getCachedOutput(partName: PartName): Shape | undefined {\n return this.statementCache.get(partName)?.output\n }\n\n /**\n * Get a statement cache's full entry (statementKey / outputContentKey / output;\n * used by tests and host diagnostics).\n * @param partName - the part name to look up.\n * @returns the cached entry, or undefined.\n */\n getStatementCacheEntry(\n partName: PartName,\n ): { statementKey: string; outputContentKey: string; output: Shape } | undefined {\n return this.statementCache.get(partName)\n }\n\n /**\n * Write an entry into the statement cache (keyed by PartName).\n * @param partName - the part name to store under.\n * @param _stmt - unused (T5: direct path has no StatementIR).\n * @param output - the shape output.\n * @param outputContentKey - the output's content key.\n */\n writeToStatementCache(\n partName: PartName,\n _stmt: unknown,\n output: Shape,\n outputContentKey: string,\n ): void {\n this.statementCache.set(partName, {\n statementKey: `direct:${String(partName)}`,\n outputContentKey,\n output,\n })\n }\n\n /** 清除语句缓存(含 statementCache + DirectExecutor ctx 变量) */\n clearStatementCache(): void {\n this.statementCache.clear()\n this.directExecutor.reset()\n }\n\n // ── 公开:拓扑数据缓存 ──\n\n /**\n * Write an entry into the topology data cache. Hosts call this after a\n * successful BREP execution (building source='brep' topology via\n * buildSolidTopologyRuntime), on file load (source='mesh' via\n * buildSelectorRuntime), and on primitive creation (source='primitive' via the\n * primitive topology builder). The topology returned by execute()'s\n * ExecutionResult includes these cached entries.\n * @param partName - the part name to store under.\n * @param source - the topology source (brep/primitive/mesh).\n * @param data - the serialized topology data.\n */\n setTopology(partName: PartName, source: TopologySource, data: SelectorRuntimeData): void {\n this.topologyCache.set(partName, { partName, source, data })\n // §3.6:mesh/primitive 面 hint 快照——从拓扑行提炼写入对应 Shape 槽,\n // op 解析 TopoRef 时经输入 Shape 的命名槽走 geometric-fallback。\n const v = this.directExecutor.getCtxVar(partName)\n if (v && typeof v === 'object') {\n const hints = (data.faces ?? []).map((f) => faceRowToHint(f))\n ensureSlot(v).faceHints = hints\n }\n }\n\n /**\n * Get the topology data for a part.\n * @param partName - the part name to look up.\n * @returns the part topology, or undefined.\n */\n getTopology(partName: PartName): PartTopology | undefined {\n return this.topologyCache.get(partName)\n }\n\n /**\n * Delete the topology data for a part.\n * @param partName - the part name to delete.\n */\n deleteTopology(partName: PartName): void {\n this.topologyCache.delete(partName)\n }\n\n /**\n * 从 BREP solid 构建拓扑数据(接口分离 P0)。\n *\n * 宿主不再直接 import faijs 内部构建函数(buildSolidTopologyRuntime),\n * 而是通过此方法从 runtime 获取 BREP 拓扑。\n *\n * 按 PartName 直接查持久 solidCache + brepChain.meshShapeCache(均为 PartName key),\n * 不再需要 scopedId 投影。单一真源:solidCache(PartName → BrepHandle)。\n *\n * @param partName 终端变量名(PartName,在 brepChain.solidCache 中查找)\n * @returns SelectorRuntime,或 null(无可用 BREP solid)\n */\n buildBrepTopology(partName: PartName): SelectorRuntime | null {\n const brepChain = this.brepChain\n if (!brepChain?.kernel) return null\n\n // partName 即该变量的首输出变量名,按 PartName 查持久 solidCache\n const solid = brepChain.solidCache.get(partName)\n if (!solid) return null\n\n // 规则 1:优先从 brepChain.meshShapeCache 复用执行链产出的三角化结果\n // (与显示 mesh 完全同一份 mesh,不二次 meshShape)\n const cachedMesh = brepChain.meshShapeCache?.get(partName)\n if (cachedMesh && brepChain.kernel) {\n return buildTopologyFromMesh(brepChain.kernel, solid, cachedMesh)\n }\n\n // 无缓存(非执行链路径,如 STEP 导入后直接构建拓扑)→ 执行完整构建(含 meshShape 三角化)\n const result: SolidTopologyResult = buildSolidTopologyRuntime(brepChain.kernel, solid)\n return result.runtime\n }\n\n // ── 公开:dryRun 校验 ──\n\n /**\n * dryRun:acorn 语法门禁 + 元数据提取(T5 后唯一路径)。\n *\n * extractMetadata 全量解析(语法 + 引用),不查符号表。未知 callee 放行,\n * 试执行见 execute 的 failedAt。\n *\n * @param code .fai.js 文本\n * @returns CheckResult\n */\n check(code: string): CheckResult {\n try {\n const meta = extractMetadata(code, { defaultNs: this.defaultNsName, security: this.securityPolicy, namespaces: Object.keys(this.libs) })\n return {\n ok: true,\n errors: [],\n warnings: [],\n script: {\n statements: meta.lines.length,\n callees: meta.lines.map((l) => l.callee),\n },\n }\n } catch (err) {\n if (err instanceof ParseError) {\n const stage = err.code === 'E_SECURITY' ? 'security' : 'parse'\n return {\n ok: false,\n errors: [{ stage, message: err.message, line: err.line, ...(err.code ? { code: err.code } : {}), ...(err.ruleId ? { ruleId: err.ruleId } : {}) }],\n warnings: [],\n }\n }\n return {\n ok: false,\n errors: [{ stage: 'parse', message: err instanceof Error ? err.message : String(err) }],\n warnings: [],\n }\n }\n }\n\n // ── P0 增量:releasePartCaches / updateIncremental ──\n\n /**\n * 派生缓存失效(P0-4):重放前对 `replayKeys`(经 `asPartName()` 转换)逐一清理\n * 所有派生缓存,确保重放后几何/拓扑/mesh 不命中旧值。\n *\n * 清理清单(§4.4):\n * - `solidCache`:先 `kernel.release(handle)`,再删键(参照 dispose 的 try/catch);\n * - `brepChain.meshShapeCache`:删键(跨轮保留,不清会返回旧 solid 的三角化);\n * - `faceEvolutionCache` / `roleTableCache`:删键(与 runtime 同 Map 引用,删键即生效);\n * - `topologyCache` / `statementCache`:删键(collectDirectResult 按新几何重新填充)。\n */\n private releasePartCaches(partNames: PartName[]): void {\n for (const name of partNames) {\n // solidCache: release OCCT handle first, then delete key\n const handle = this.solidCache.get(name)\n if (handle) {\n try { this.kernel?.release(handle) } catch { /* already released */ }\n this.solidCache.delete(name)\n }\n // brepChain.meshShapeCache\n this.brepChain?.meshShapeCache?.delete(name)\n // faceEvolutionCache / roleTableCache (same Map refs as runtime's)\n this.faceEvolutionCache.delete(name)\n this.roleTableCache.delete(name)\n // topologyCache / statementCache\n this.topologyCache.delete(name)\n this.statementCache.delete(name)\n }\n }\n\n /**\n * 前缀重放式 update 增量执行(P0-5)。\n *\n * 流程:\n * 1. 保守闸门 G0–G8 判定——任一命中则退化为全量 `executeDirectText`;\n * 2. 公共前缀扫描定位首个变更行 → 物理行;\n * 3. `unitRanges(newCode)` 映射物理行 → 单元起始行 `startLine`;\n * 4. `releasePartCaches(replayKeys)` 失效派生缓存;\n * 5. `directExecutor.replayFrom(newCode, startLine, opts)` 重放后缀区间;\n * 6. `outcome.failedAt` → 降级全量(§4.7);\n * 7. `collectDirectResult` 组装结果。\n *\n * @param oldCode - 变更前文本(不信任,G3 校验与内部 accumulatedCode 一致)。\n * @param newCode - 变更后文本。\n * @param opts - 执行选项。\n * @returns ExecutionResult。\n */\n private async updateIncremental(\n oldCode: string,\n newCode: string,\n opts?: ExecuteOptions,\n ): Promise<ExecutionResult> {\n const de = this.directExecutor\n this.claimBackends()\n\n // ── 保守闸门 G0–G8 ──\n\n // G1: 本实例从未执行过\n if (this.accumulatedCode === null) {\n return this.executeDirectText(newCode, opts)\n }\n\n // G3: 宿主传入的 oldCode 与内部基准不一致\n if (oldCode.trim() !== this.accumulatedCode.trim()) {\n return this.executeDirectText(newCode, opts)\n }\n\n // 切分行数组(两侧均按 \\r?\\n 切分)\n const oldLines = this.accumulatedCode.split(/\\r?\\n/)\n const newLines = newCode.split(/\\r?\\n/)\n\n // G2: 存在删除(new 比旧短)\n if (newLines.length < oldLines.length) {\n return this.executeDirectText(newCode, opts)\n }\n\n // G0: 非标准解析基线\n const { ranges, lineOffset } = de.unitRanges(newCode)\n if (lineOffset !== 0) {\n return this.executeDirectText(newCode, opts)\n }\n\n // G6: params 变化\n const paramsFp = stableFingerprint(opts?.params ?? null)\n if (paramsFp !== this.lastParamsFingerprint) {\n return this.executeDirectText(newCode, opts)\n }\n\n // G7: 注册库集合变化\n const libIdsEntries = [...this.libIds.entries()].sort((a, b) =>\n a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0,\n )\n const libIdsFp = stableFingerprint(libIdsEntries)\n if (libIdsFp !== this.lastLibIdsFingerprint) {\n return this.executeDirectText(newCode, opts)\n }\n\n // G8: partTransform 变化\n const ptFp = stableFingerprint(opts?.partTransform ?? null)\n if (ptFp !== this.lastPartTransformFingerprint) {\n return this.executeDirectText(newCode, opts)\n }\n\n // G5: 上一轮产生了装配运动学位姿\n if (this.lastHadKinematics) {\n return this.executeDirectText(newCode, opts)\n }\n\n // G4: 含相对 import 的多文件场景\n const meta = extractMetadata(newCode, { defaultNs: this.defaultNsName, security: this.securityPolicy, namespaces: Object.keys(this.libs) })\n if ((meta.imports ?? []).some((imp) => isRelativeSpecifier(imp.specifier))) {\n return this.executeDirectText(newCode, opts)\n }\n\n // ── 公共前缀扫描 ──\n // 逐行 trim 比较;空行/纯空白行等价\n let firstDiff = -1\n const maxLen = Math.max(oldLines.length, newLines.length)\n for (let i = 0; i < maxLen; i++) {\n const a = oldLines[i] ?? ''\n const b = newLines[i] ?? ''\n if (a.trim() !== b.trim()) {\n firstDiff = i\n break\n }\n }\n\n // 零变更路径(§4.6)\n if (firstDiff === -1) {\n return this.zeroChangePath(newCode, meta, opts)\n }\n\n // ── 映射物理行 → 单元起始行 ──\n const physicalLine = firstDiff + 1\n const adjusted = physicalLine - lineOffset\n let startLine: number | undefined\n // 找包含该行的单元(物理行落在块单元内部 → 块起始行)\n for (const r of ranges) {\n if (r.lineNo <= adjusted && adjusted <= r.endLine) {\n startLine = r.lineNo\n break\n }\n }\n if (startLine === undefined) {\n // 找首个 lineNo > physical 的单元(纯追加场景)\n for (const r of ranges) {\n if (r.lineNo > adjusted) {\n startLine = r.lineNo\n break\n }\n }\n }\n // 映射结果为空(改动只落在末尾注释/空行,其后无任何单元)\n if (startLine === undefined) {\n return this.zeroChangePath(newCode, meta, opts)\n }\n\n // ── 计算 replayKeys(与 DirectExecutor.replayFrom 同逻辑,用于 releasePartCaches) ──\n const allUnitsParsed = de.unitRangesWithWrites(newCode)\n const replayUnits = allUnitsParsed.filter((u) => u.lineNo >= startLine)\n const suffixWrites = new Set<string>()\n for (const u of replayUnits) for (const w of u.writes) suffixWrites.add(w)\n const prefixWrites = new Set<string>()\n for (const u of allUnitsParsed) {\n if (u.lineNo < startLine!) for (const w of u.writes) prefixWrites.add(w)\n }\n const replayKeys: string[] = []\n for (const w of suffixWrites) {\n if (!prefixWrites.has(w)) replayKeys.push(w)\n }\n\n // ── 派生缓存失效 ──\n this.releasePartCaches(replayKeys.map((k) => asPartName(k)))\n\n // ── BREP 链与 partTransform 同步 ──\n const brepChain = await this.ensureBrepChain()\n if (opts?.partTransform?.position) {\n brepChain.partTransform = {\n position: opts.partTransform.position,\n scale: opts.partTransform.scale,\n }\n }\n\n // ── 重放 ──\n // G4 already checked: no relative imports → moduleLoad.seed = {}\n const libLoadFailure = await this.autoLoadLibsFromImports(meta.imports)\n if (libLoadFailure) return libLoadFailure\n\n const execOpts: DirectExecOpts = {\n params: opts?.params,\n ...(opts?.beforeStatement ? { beforeStatement: opts.beforeStatement } : {}),\n ...(opts?.executionTimeoutMs !== undefined ? { executionTimeoutMs: opts.executionTimeoutMs } : {}),\n }\n\n // ExecutionLimitError / ParseError / security scan errors propagate\n // (not degraded — only failedAt triggers degradation below)\n const outcome = await de.replayFrom(newCode, startLine, execOpts)\n\n // ── 失败降级(§4.7)──\n if (outcome.failedAt) {\n de.reset()\n return this.executeDirectText(newCode, opts)\n }\n\n // ── 组装结果 ──\n this.accumulatedCode = newCode\n const result = this.collectDirectResult(meta, opts)\n // Record fingerprints after successful execution\n this.recordFingerprints(opts)\n return result\n }\n\n /**\n * 零变更路径(§4.6):不执行任何语句,但需重新 collectDirectResult。\n */\n private async zeroChangePath(\n newCode: string,\n meta: UiMetadata,\n opts?: ExecuteOptions,\n ): Promise<ExecutionResult> {\n const de = this.directExecutor\n this.claimBackends()\n this.accumulatedCode = newCode\n const libLoadFailure = await this.autoLoadLibsFromImports(meta.imports)\n if (libLoadFailure) return libLoadFailure\n const brepChain = await this.ensureBrepChain()\n if (opts?.partTransform?.position) {\n brepChain.partTransform = {\n position: opts.partTransform.position,\n scale: opts.partTransform.scale,\n }\n }\n de.clearRoundState()\n return this.collectDirectResult(meta, opts)\n }\n\n /**\n * 记录指纹快照(每次成功执行结束时调用)。\n */\n private recordFingerprints(opts?: ExecuteOptions): void {\n this.lastParamsFingerprint = stableFingerprint(opts?.params ?? null)\n const libIdsEntries = [...this.libIds.entries()].sort((a, b) =>\n a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0,\n )\n this.lastLibIdsFingerprint = stableFingerprint(libIdsEntries)\n this.lastPartTransformFingerprint = stableFingerprint(opts?.partTransform ?? null)\n this.lastHadKinematics = this.directExecutor.kinematicsSnapshot.size > 0\n }\n\n // ── 公开:释放 ──\n\n /**\n * Dispose the runtime, releasing all acquired OCCT handles and clearing every\n * cache. The instance is unusable afterwards.\n */\n dispose(): void {\n // 所有权在持久 solidCache:释放全部 OCCT handle(§9 决策 2)\n for (const [, handle] of this.solidCache) {\n try { this.kernel?.release(handle) } catch { /* 已释放 */ }\n }\n this.solidCache.clear()\n this.faceEvolutionCache.clear()\n this.roleTableCache.clear()\n this.statementCache.clear()\n this.topologyCache.clear()\n this.brepChain = null\n this.kernel = null\n this.directExecutor.reset()\n }\n}\n\n// ── 工厂函数 ──\n\n/**\n * Create a CadRuntime instance.\n * @param ports - the host-injected environment capabilities.\n * @param mode - the execution mode (default 'auto').\n * @param libs - the host-injected library namespaces (including `cad`, which the\n * root facade injects automatically; core does not assemble it by default).\n * @param options - optional runtime options (e.g. `executor: 'direct' | 'module'`).\n * @returns a new CadRuntime.\n */\nexport function createRuntime(ports: HostPorts, mode?: ExecutionMode, libs?: Record<string, StdlibNamespace>, options?: CadRuntimeOptions): CadRuntime {\n return new CadRuntime(ports, mode, libs, options)\n}\n"]}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * terminal-dag — DAG 叶子终端判定(keep 驱动,C0/C1/C3/C5)
3
+ *
4
+ *
5
+ * 核心语义(keep 统一机制):
6
+ * - 一个变量是否进终端 = 它「是否被消费」。被消费 → 不进终端。
7
+ * - "被消费" = 存在一条语句 T(位于该变量最后一条赋值语句 P 之后)判定 T 消费了该变量。
8
+ *
9
+ * 单条语句 T 对变量 v 的消费判定(短路):
10
+ * - C0/C1:v ∈ resolveKeep(T).kept(调用点 keep 或函数体 exec.keep 声明)→ 不消费。
11
+ * 声明层是「有人表态」:用户/库作者显式声明保留。
12
+ * - C3:T 有赋值且所有输出都是非几何(outputs 均不在 shapeVarNames)→ 不消费任何输入。
13
+ * 推断层客观默认:faijs 执行模型是纯函数链,「返回非几何的函数不可能把几何吞进结果」
14
+ * ——零签名知识,第三方测量/查询函数的输入不被误吃(R9)。
15
+ * - C5:默认消费(drill/transform/未声明保留的第三方几何函数)。
16
+ * - 嵌套调用(CallRefIR)中的引用 = 只读查询,不消费(既有规则,与 C3 同精神)。
17
+ * - receiver(成员方法调用,add_constraint/do_assemble)不消费 receiver 变量。
18
+ *
19
+ * hidden(D1/D2):「最后一次保留声明胜出」——按语句顺序遍历,
20
+ * 后声明的保留条目压过先前的(union 的 keepHidden 被 group 的 keep 覆盖为可见)。
21
+ *
22
+ * 判定单位是 PartName(不涉及 StmtId),与 partN 命名天然兼容。
23
+ */
24
+ import type { ScriptIR, TerminalShape, StatementIR } from '../lang/types.js';
25
+ import type { PartName } from '../identity.js';
26
+ import { type InternalKeepRecord } from '../lang/keep.js';
27
+ /**
28
+ * DAG 运行时视图(设计契约 §6):terminal-dag 从运行时读取函数体 keep 登记。
29
+ * 省略 view → 纯静态判定(C0 + C3 + C5,无 C1 函数体声明信息)。
30
+ */
31
+ export interface DagRuntimeView {
32
+ /** 变量当前值(运行时;纯静态场景无值) */
33
+ value(name: PartName): unknown;
34
+ /** 函数体 exec.keep 登记(ModuleExecutor.internalKeep,缓存命中时保留上一轮记录) */
35
+ internalKeep(stmt: StatementIR): InternalKeepRecord | undefined;
36
+ }
37
+ /**
38
+ * Determine whether statement stmt "consumes" variable v (keep driven, using
39
+ * the C0 → C3 → C5 short-circuit flow).
40
+ * @param stmt - the statement under test.
41
+ * @param v - the variable name (PartName).
42
+ * @param view - the runtime view; when omitted a purely static pass with no
43
+ * function-body declaration info is used.
44
+ * @param shapeVarNames - the set of all shape-typed top-level variable names,
45
+ * the basis for the C3 decision.
46
+ * @returns true when the statement consumes the variable.
47
+ */
48
+ export declare function consumes(stmt: StatementIR, v: PartName, view?: DagRuntimeView, shapeVarNames?: Set<PartName>): boolean;
49
+ /**
50
+ * 计算 DAG 叶子终端集合(keep 驱动)。
51
+ *
52
+ * 遍历每个 shape 变量名(含 compound 变量):
53
+ * - 「最后写者 P + 其后无语句消费该变量」→ 终端;
54
+ * - 被 keep 声明保留的变量不被声明语句消费(C0/C1 在 consumes 内短路)。
55
+ *
56
+ * hidden(D2):按语句顺序应用「最后一次保留声明胜出」;未声明保留的终端可见
57
+ * (hidden 为 undefined)。
58
+ *
59
+ * @param script 已解析的 ScriptIR(statements 含 outputs/refs)
60
+ * @param shapeVarNames 所有 shape-typed 顶层变量名集合(含 compound 变量名)
61
+ * @param view 运行时视图(省略 → 纯静态判定,供纯静态单测/工具)
62
+ * @returns 终端列表(TerminalShape[]),去重
63
+ */
64
+ export declare function computeLeafTerminals(script: ScriptIR, shapeVarNames: Set<PartName>, view?: DagRuntimeView): TerminalShape[];
65
+ //# sourceMappingURL=terminal-dag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-dag.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/terminal-dag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAS,MAAM,eAAe,CAAA;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC9B,iEAAiE;IACjE,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,GAAG,SAAS,CAAA;CAChE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,WAAW,EACjB,CAAC,EAAE,QAAQ,EACX,IAAI,CAAC,EAAE,cAAc,EACrB,aAAa,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAC5B,OAAO,CAiDT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,EAChB,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EAC5B,IAAI,CAAC,EAAE,cAAc,GACpB,aAAa,EAAE,CAoDjB"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * terminal-dag — DAG 叶子终端判定(keep 驱动,C0/C1/C3/C5)
3
+ *
4
+ *
5
+ * 核心语义(keep 统一机制):
6
+ * - 一个变量是否进终端 = 它「是否被消费」。被消费 → 不进终端。
7
+ * - "被消费" = 存在一条语句 T(位于该变量最后一条赋值语句 P 之后)判定 T 消费了该变量。
8
+ *
9
+ * 单条语句 T 对变量 v 的消费判定(短路):
10
+ * - C0/C1:v ∈ resolveKeep(T).kept(调用点 keep 或函数体 exec.keep 声明)→ 不消费。
11
+ * 声明层是「有人表态」:用户/库作者显式声明保留。
12
+ * - C3:T 有赋值且所有输出都是非几何(outputs 均不在 shapeVarNames)→ 不消费任何输入。
13
+ * 推断层客观默认:faijs 执行模型是纯函数链,「返回非几何的函数不可能把几何吞进结果」
14
+ * ——零签名知识,第三方测量/查询函数的输入不被误吃(R9)。
15
+ * - C5:默认消费(drill/transform/未声明保留的第三方几何函数)。
16
+ * - 嵌套调用(CallRefIR)中的引用 = 只读查询,不消费(既有规则,与 C3 同精神)。
17
+ * - receiver(成员方法调用,add_constraint/do_assemble)不消费 receiver 变量。
18
+ *
19
+ * hidden(D1/D2):「最后一次保留声明胜出」——按语句顺序遍历,
20
+ * 后声明的保留条目压过先前的(union 的 keepHidden 被 group 的 keep 覆盖为可见)。
21
+ *
22
+ * 判定单位是 PartName(不涉及 StmtId),与 partN 命名天然兼容。
23
+ */
24
+ import { isVarRef, isCallRef, isExprRef, statementInputs } from '../lang/types.js';
25
+ import { resolveKeep } from '../lang/keep.js';
26
+ /**
27
+ * Determine whether statement stmt "consumes" variable v (keep driven, using
28
+ * the C0 → C3 → C5 short-circuit flow).
29
+ * @param stmt - the statement under test.
30
+ * @param v - the variable name (PartName).
31
+ * @param view - the runtime view; when omitted a purely static pass with no
32
+ * function-body declaration info is used.
33
+ * @param shapeVarNames - the set of all shape-typed top-level variable names,
34
+ * the basis for the C3 decision.
35
+ * @returns true when the statement consumes the variable.
36
+ */
37
+ export function consumes(stmt, v, view, shapeVarNames) {
38
+ // C0: keep declarations win — a kept variable is not consumed by this statement
39
+ const resolved = resolveKeep(stmt, view?.internalKeep(stmt));
40
+ if (resolved.kept.has(v))
41
+ return false;
42
+ // C3:本语句有赋值且所有输出都是非几何 → 纯数据/测量/查询语句,不消费任何输入
43
+ if (stmt.hasAssignment &&
44
+ stmt.outputs.length > 0 &&
45
+ shapeVarNames !== undefined &&
46
+ stmt.outputs.every((o) => !shapeVarNames.has(o))) {
47
+ return false;
48
+ }
49
+ // C5:默认消费。positional 中的 VarRefIR(原 inputs 语义,§4.5.1)
50
+ if (statementInputs(stmt).includes(v))
51
+ return true;
52
+ // positional 非变量元素 + args:递归扫描(ExprIR refs 按 C5 消费;CallRefIR 内
53
+ // 不消费 = 只读查询)。args 是尾随对象投影(真源 positional),重复扫描幂等;
54
+ // 手工构造 IR 可能只填 args。
55
+ let consumed = false;
56
+ const scan = (value, inCallRef) => {
57
+ if (consumed)
58
+ return;
59
+ if (value === null || typeof value !== 'object')
60
+ return;
61
+ if (isVarRef(value)) {
62
+ if (value.$ref !== v)
63
+ return;
64
+ if (inCallRef)
65
+ return; // 嵌套调用内 = 只读查询
66
+ consumed = true;
67
+ return;
68
+ }
69
+ if (isExprRef(value)) {
70
+ if (inCallRef)
71
+ return; // 嵌套调用内 = 只读查询
72
+ if (value.$expr.refs.includes(String(v)))
73
+ consumed = true;
74
+ return;
75
+ }
76
+ if (isCallRef(value)) {
77
+ for (const a of value.$call.args)
78
+ scan(a, true);
79
+ return;
80
+ }
81
+ if (Array.isArray(value)) {
82
+ for (const item of value)
83
+ scan(item, inCallRef);
84
+ return;
85
+ }
86
+ for (const vv of Object.values(value))
87
+ scan(vv, inCallRef);
88
+ };
89
+ for (const parg of stmt.positional ?? [])
90
+ scan(parg, false);
91
+ for (const vv of Object.values(stmt.args ?? {}))
92
+ scan(vv, false);
93
+ return consumed;
94
+ }
95
+ /**
96
+ * 计算 DAG 叶子终端集合(keep 驱动)。
97
+ *
98
+ * 遍历每个 shape 变量名(含 compound 变量):
99
+ * - 「最后写者 P + 其后无语句消费该变量」→ 终端;
100
+ * - 被 keep 声明保留的变量不被声明语句消费(C0/C1 在 consumes 内短路)。
101
+ *
102
+ * hidden(D2):按语句顺序应用「最后一次保留声明胜出」;未声明保留的终端可见
103
+ * (hidden 为 undefined)。
104
+ *
105
+ * @param script 已解析的 ScriptIR(statements 含 outputs/refs)
106
+ * @param shapeVarNames 所有 shape-typed 顶层变量名集合(含 compound 变量名)
107
+ * @param view 运行时视图(省略 → 纯静态判定,供纯静态单测/工具)
108
+ * @returns 终端列表(TerminalShape[]),去重
109
+ */
110
+ export function computeLeafTerminals(script, shapeVarNames, view) {
111
+ const statements = script.statements;
112
+ const terminals = [];
113
+ const seen = new Set();
114
+ // 0. hidden 计算(D2:最后一次保留声明胜出)——按语句顺序遍历,
115
+ // 每个 kept 变量的 hidden 被后续声明覆盖。
116
+ const hiddenOf = new Map();
117
+ for (const stmt of statements) {
118
+ const resolved = resolveKeep(stmt, view?.internalKeep(stmt));
119
+ for (const v of resolved.kept) {
120
+ hiddenOf.set(v, resolved.hidden.get(v) ?? false);
121
+ }
122
+ }
123
+ // 1. 预计算每个变量名 → 最后一条 outputs 含该名的语句下标
124
+ const lastProducer = new Map();
125
+ for (let i = 0; i < statements.length; i++) {
126
+ const stmt = statements[i];
127
+ if (!stmt.hasAssignment)
128
+ continue; // void op 无 outputs
129
+ for (const out of stmt.outputs) {
130
+ lastProducer.set(out, i);
131
+ }
132
+ }
133
+ // 2. 遍历每个 shape 变量名(含 compound 变量)
134
+ for (const partName of shapeVarNames) {
135
+ if (seen.has(partName))
136
+ continue;
137
+ seen.add(partName);
138
+ const producerIdx = lastProducer.get(partName);
139
+ // 无生产者(如手工注入的变量)→ 视为终端
140
+ if (producerIdx === undefined) {
141
+ terminals.push(makeTerminal(partName, hiddenOf));
142
+ continue;
143
+ }
144
+ // 检查 producer 之后是否有语句消费该变量(keep 驱动 consumes)
145
+ let consumed = false;
146
+ for (let i = producerIdx + 1; i < statements.length; i++) {
147
+ if (consumes(statements[i], partName, view, shapeVarNames)) {
148
+ consumed = true;
149
+ break;
150
+ }
151
+ }
152
+ if (!consumed) {
153
+ terminals.push(makeTerminal(partName, hiddenOf));
154
+ }
155
+ }
156
+ return terminals;
157
+ }
158
+ /**
159
+ * 组装终端条目(设计 §6:hidden 缺省 undefined → 可见)。
160
+ * 只有显式 hidden=true 才带 hidden 字段;可见(false/未声明)归一为 undefined,
161
+ * 与宿主 `setNodeVisible(scopedId, !terminal.hidden)` 的消费语义一致。
162
+ */
163
+ function makeTerminal(id, hiddenOf) {
164
+ const hidden = hiddenOf.get(id);
165
+ return hidden ? { id, hidden: true } : { id };
166
+ }
167
+ //# sourceMappingURL=terminal-dag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-dag.js","sourceRoot":"","sources":["../../src/cad-runtime/terminal-dag.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * terminal-dag — DAG 叶子终端判定(keep 驱动,C0/C1/C3/C5)\n *\n *\n * 核心语义(keep 统一机制):\n * - 一个变量是否进终端 = 它「是否被消费」。被消费 → 不进终端。\n * - \"被消费\" = 存在一条语句 T(位于该变量最后一条赋值语句 P 之后)判定 T 消费了该变量。\n *\n * 单条语句 T 对变量 v 的消费判定(短路):\n * - C0/C1:v ∈ resolveKeep(T).kept(调用点 keep 或函数体 exec.keep 声明)→ 不消费。\n * 声明层是「有人表态」:用户/库作者显式声明保留。\n * - C3:T 有赋值且所有输出都是非几何(outputs 均不在 shapeVarNames)→ 不消费任何输入。\n * 推断层客观默认:faijs 执行模型是纯函数链,「返回非几何的函数不可能把几何吞进结果」\n * ——零签名知识,第三方测量/查询函数的输入不被误吃(R9)。\n * - C5:默认消费(drill/transform/未声明保留的第三方几何函数)。\n * - 嵌套调用(CallRefIR)中的引用 = 只读查询,不消费(既有规则,与 C3 同精神)。\n * - receiver(成员方法调用,add_constraint/do_assemble)不消费 receiver 变量。\n *\n * hidden(D1/D2):「最后一次保留声明胜出」——按语句顺序遍历,\n * 后声明的保留条目压过先前的(union 的 keepHidden 被 group 的 keep 覆盖为可见)。\n *\n * 判定单位是 PartName(不涉及 StmtId),与 partN 命名天然兼容。\n */\n\nimport type { ScriptIR, TerminalShape, StatementIR, ArgIR } from '../lang/types'\nimport type { PartName } from '../identity'\nimport { isVarRef, isCallRef, isExprRef, statementInputs } from '../lang/types'\nimport { resolveKeep, type InternalKeepRecord } from '../lang/keep'\n\n/**\n * DAG 运行时视图(设计契约 §6):terminal-dag 从运行时读取函数体 keep 登记。\n * 省略 view → 纯静态判定(C0 + C3 + C5,无 C1 函数体声明信息)。\n */\nexport interface DagRuntimeView {\n /** 变量当前值(运行时;纯静态场景无值) */\n value(name: PartName): unknown\n /** 函数体 exec.keep 登记(ModuleExecutor.internalKeep,缓存命中时保留上一轮记录) */\n internalKeep(stmt: StatementIR): InternalKeepRecord | undefined\n}\n\n/**\n * Determine whether statement stmt \"consumes\" variable v (keep driven, using\n * the C0 → C3 → C5 short-circuit flow).\n * @param stmt - the statement under test.\n * @param v - the variable name (PartName).\n * @param view - the runtime view; when omitted a purely static pass with no\n * function-body declaration info is used.\n * @param shapeVarNames - the set of all shape-typed top-level variable names,\n * the basis for the C3 decision.\n * @returns true when the statement consumes the variable.\n */\nexport function consumes(\n stmt: StatementIR,\n v: PartName,\n view?: DagRuntimeView,\n shapeVarNames?: Set<PartName>,\n): boolean {\n // C0: keep declarations win — a kept variable is not consumed by this statement\n const resolved = resolveKeep(stmt, view?.internalKeep(stmt))\n if (resolved.kept.has(v)) return false\n\n // C3:本语句有赋值且所有输出都是非几何 → 纯数据/测量/查询语句,不消费任何输入\n if (\n stmt.hasAssignment &&\n stmt.outputs.length > 0 &&\n shapeVarNames !== undefined &&\n stmt.outputs.every((o) => !shapeVarNames.has(o))\n ) {\n return false\n }\n\n // C5:默认消费。positional 中的 VarRefIR(原 inputs 语义,§4.5.1)\n if (statementInputs(stmt).includes(v)) return true\n\n // positional 非变量元素 + args:递归扫描(ExprIR refs 按 C5 消费;CallRefIR 内\n // 不消费 = 只读查询)。args 是尾随对象投影(真源 positional),重复扫描幂等;\n // 手工构造 IR 可能只填 args。\n let consumed = false\n const scan = (value: ArgIR, inCallRef: boolean): void => {\n if (consumed) return\n if (value === null || typeof value !== 'object') return\n if (isVarRef(value)) {\n if (value.$ref !== v) return\n if (inCallRef) return // 嵌套调用内 = 只读查询\n consumed = true\n return\n }\n if (isExprRef(value)) {\n if (inCallRef) return // 嵌套调用内 = 只读查询\n if (value.$expr.refs.includes(String(v))) consumed = true\n return\n }\n if (isCallRef(value)) {\n for (const a of value.$call.args) scan(a, true)\n return\n }\n if (Array.isArray(value)) {\n for (const item of value) scan(item as ArgIR, inCallRef)\n return\n }\n for (const vv of Object.values(value)) scan(vv as ArgIR, inCallRef)\n }\n for (const parg of stmt.positional ?? []) scan(parg, false)\n for (const vv of Object.values(stmt.args ?? {})) scan(vv, false)\n return consumed\n}\n\n/**\n * 计算 DAG 叶子终端集合(keep 驱动)。\n *\n * 遍历每个 shape 变量名(含 compound 变量):\n * - 「最后写者 P + 其后无语句消费该变量」→ 终端;\n * - 被 keep 声明保留的变量不被声明语句消费(C0/C1 在 consumes 内短路)。\n *\n * hidden(D2):按语句顺序应用「最后一次保留声明胜出」;未声明保留的终端可见\n * (hidden 为 undefined)。\n *\n * @param script 已解析的 ScriptIR(statements 含 outputs/refs)\n * @param shapeVarNames 所有 shape-typed 顶层变量名集合(含 compound 变量名)\n * @param view 运行时视图(省略 → 纯静态判定,供纯静态单测/工具)\n * @returns 终端列表(TerminalShape[]),去重\n */\nexport function computeLeafTerminals(\n script: ScriptIR,\n shapeVarNames: Set<PartName>,\n view?: DagRuntimeView,\n): TerminalShape[] {\n const statements = script.statements\n const terminals: TerminalShape[] = []\n const seen = new Set<string>()\n\n // 0. hidden 计算(D2:最后一次保留声明胜出)——按语句顺序遍历,\n // 每个 kept 变量的 hidden 被后续声明覆盖。\n const hiddenOf = new Map<PartName, boolean>()\n for (const stmt of statements) {\n const resolved = resolveKeep(stmt, view?.internalKeep(stmt))\n for (const v of resolved.kept) {\n hiddenOf.set(v, resolved.hidden.get(v) ?? false)\n }\n }\n\n // 1. 预计算每个变量名 → 最后一条 outputs 含该名的语句下标\n const lastProducer = new Map<string, number>()\n for (let i = 0; i < statements.length; i++) {\n const stmt = statements[i]\n if (!stmt.hasAssignment) continue // void op 无 outputs\n for (const out of stmt.outputs) {\n lastProducer.set(out, i)\n }\n }\n\n // 2. 遍历每个 shape 变量名(含 compound 变量)\n for (const partName of shapeVarNames) {\n if (seen.has(partName)) continue\n seen.add(partName)\n\n const producerIdx = lastProducer.get(partName)\n // 无生产者(如手工注入的变量)→ 视为终端\n if (producerIdx === undefined) {\n terminals.push(makeTerminal(partName, hiddenOf))\n continue\n }\n\n // 检查 producer 之后是否有语句消费该变量(keep 驱动 consumes)\n let consumed = false\n for (let i = producerIdx + 1; i < statements.length; i++) {\n if (consumes(statements[i], partName, view, shapeVarNames)) {\n consumed = true\n break\n }\n }\n\n if (!consumed) {\n terminals.push(makeTerminal(partName, hiddenOf))\n }\n }\n\n return terminals\n}\n\n/**\n * 组装终端条目(设计 §6:hidden 缺省 undefined → 可见)。\n * 只有显式 hidden=true 才带 hidden 字段;可见(false/未声明)归一为 undefined,\n * 与宿主 `setNodeVisible(scopedId, !terminal.hidden)` 的消费语义一致。\n */\nfunction makeTerminal(id: PartName, hiddenOf: Map<PartName, boolean>): TerminalShape {\n const hidden = hiddenOf.get(id)\n return hidden ? { id, hidden: true } : { id }\n}\n"]}
package/dist/csg.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @faicad/faijs/csg — CSG/Boolean operations entry
3
+ *
4
+ * Browser-safe exports for CSG/Boolean operations.
5
+ * Use this in worker contexts to avoid pulling in Node.js code.
6
+ */
7
+ export { manifoldToMeshData, weldPositionsWorker, dovetailBooleanSplit, dowelOrTenonBooleanSplit } from './boolean/csg-core.js';
8
+ export { computeSection, buildExtrudedProfile } from './boolean/cross-section.js';
9
+ export { deriveNormals } from './boolean/deriveNormals.js';
10
+ export { buildExtrudeParts, makeWorldPlane } from './boolean/extrude-helpers.js';
11
+ export type { ExtrudeParts, ExtrudeOffsetMode } from './boolean/extrude-helpers.js';
12
+ export { buildWedgeGeometry, buildDowelGeometry, buildStraightTenonGeometry, } from './boolean/joinery-shapes.js';
13
+ export type { JoineryMeshData } from './boolean/joinery-shapes.js';
14
+ export { geoToManifoldMesh, manifoldMeshToGeo } from './boolean/geo-convert.js';
15
+ export type { ManifoldMeshData, BooleanOperation, DovetailGrooveParams, DowelSplitParams, StraightTenonSplitParams, } from './boolean/geo-convert.js';
16
+ //# sourceMappingURL=csg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csg.d.ts","sourceRoot":"","sources":["../src/csg.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC5H,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC7E,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EACL,kBAAkB,EAAE,kBAAkB,EAAE,0BAA0B,GACnE,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC5E,YAAY,EACV,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,gBAAgB,EAAE,wBAAwB,GACjE,MAAM,uBAAuB,CAAA"}
package/dist/csg.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @faicad/faijs/csg — CSG/Boolean operations entry
3
+ *
4
+ * Browser-safe exports for CSG/Boolean operations.
5
+ * Use this in worker contexts to avoid pulling in Node.js code.
6
+ */
7
+ export { manifoldToMeshData, weldPositionsWorker, dovetailBooleanSplit, dowelOrTenonBooleanSplit } from './boolean/csg-core.js';
8
+ export { computeSection, buildExtrudedProfile } from './boolean/cross-section.js';
9
+ export { deriveNormals } from './boolean/deriveNormals.js';
10
+ export { buildExtrudeParts, makeWorldPlane } from './boolean/extrude-helpers.js';
11
+ export { buildWedgeGeometry, buildDowelGeometry, buildStraightTenonGeometry, } from './boolean/joinery-shapes.js';
12
+ export { geoToManifoldMesh, manifoldMeshToGeo } from './boolean/geo-convert.js';
13
+ //# sourceMappingURL=csg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csg.js","sourceRoot":"","sources":["../src/csg.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC5H,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE7E,OAAO,EACL,kBAAkB,EAAE,kBAAkB,EAAE,0BAA0B,GACnE,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA","sourcesContent":["/**\n * @faicad/faijs/csg — CSG/Boolean operations entry\n *\n * Browser-safe exports for CSG/Boolean operations.\n * Use this in worker contexts to avoid pulling in Node.js code.\n */\n\nexport { manifoldToMeshData, weldPositionsWorker, dovetailBooleanSplit, dowelOrTenonBooleanSplit } from './boolean/csg-core'\nexport { computeSection, buildExtrudedProfile } from './boolean/cross-section'\nexport { deriveNormals } from './boolean/deriveNormals'\nexport { buildExtrudeParts, makeWorldPlane } from './boolean/extrude-helpers'\nexport type { ExtrudeParts, ExtrudeOffsetMode } from './boolean/extrude-helpers'\nexport {\n buildWedgeGeometry, buildDowelGeometry, buildStraightTenonGeometry,\n} from './boolean/joinery-shapes'\nexport type { JoineryMeshData } from './boolean/joinery-shapes'\nexport { geoToManifoldMesh, manifoldMeshToGeo } from './boolean/geo-convert'\nexport type {\n ManifoldMeshData, BooleanOperation,\n DovetailGrooveParams, DowelSplitParams, StraightTenonSplitParams,\n} from './boolean/geo-convert'"]}