@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":"direct-executor.js","sourceRoot":"","sources":["../../src/cad-runtime/direct-executor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * direct-executor — 无 IR 执行器(.fai.js 源码直通 JS VM)\n *\n * 方案:docs/plans/2026-09-06-no-ir-dual-channel-runtime.md §4.2(D1 / P2)\n *\n * 核心语义:源码文本按**执行单元**(顶层语句,行号即语句边界)直接交给 JS VM\n * 执行——没有语句模型、没有 deps、没有表达式折叠、没有 outputs 投影、没有 IR\n * 编译(不 import parser.ts / compile.ts)。共享 `ctx` 是唯一持久状态。\n *\n * 每单元的文本变换(机械、语义保持,非 IR 编译):\n * - `const/let x = <call>` / `x = <call>` → `__ctx.x = <call>`;实参里的裸标识符\n * (已声明变量/参数)→ `__ctx.<name>`;\n * - 调用前插 `await`(与 compile 发射对每个 ns 调用 await 的语义一致;同步 op\n * 被 await 是合法 JS);\n * - keep/keepHidden 尾随键剥离(行内 keep 由 MetadataExtractor 的 metadata.keep\n * 表另存,§4.4 消费判定用——执行侧不传);\n * - 顶层函数定义提升到 `__ctx.<name>`(函数体 cad 等经命名空间绑定注入);\n * - import 行不执行(库装载在 runtime 层;`ns.<binding>` 经命名空间对象访问)。\n *\n * 错误定位:单行单元失败记 failedAt({ index, callee, message } + lineNo)。\n *\n * 本文件是 P2 新增组件;ModuleExecutor 路径(旧)在 P6 门禁前保留双路径共存。\n */\n\nimport { parse as acornParse } from 'acorn'\nimport type { StdlibNamespace } from '../runtime-state'\nimport type { PartName } from '../identity'\nimport { asPartName } from '../identity'\nimport { ParseError } from '../lang/parse-error'\nimport { setCurrentStmt, setKeepSink, setName, nameOf, getBackends, takePendingAssemblyTransforms, takePendingAssemblyKinematics, type AssemblyKinematicsPose, type ExecutionAnchor } from '../runtime-state'\nimport { ExecutionLimitError } from './execution-limit-error'\nimport { assertSecure, type SecurityPolicy } from '../lang/security-scanner'\nimport { getSlot, ensureSlot, brepOf, isShape } from '../shape'\nimport { isMeshShape, type Shape } from '../mesh/types'\nimport type { BrepHandle } from '../brep/engine/types'\nimport type { BrepEngineApi } from '../brep/engine/primitives'\nimport { applyTransform } from '../mesh/rigid-transform'\nimport { applyTransformBrep } from '../brep/brep-ops'\nimport type { TransformedUnit, ExecBackend, ExecBackendChoice } from './exec-backend'\nimport { VmBackend } from './exec-backends/vm-backend'\nimport { InterpBackend } from './exec-backends/interp-backend'\n\ntype ASTNode = any\n\n/**\n * 几何值判定(isShape ∨ isMeshShape;与 define-op.isGeometryInput 同构)——\n * 裸调用原地写回(§3.7 规则 2)的运行时守卫:只有「返回值是几何 且 目标原值也是\n * 几何」才写回首参。projectView/volume 等返回纯数据的裸调用天然不写回。\n */\nfunction isGeomValue(v: unknown): boolean {\n return isShape(v) || isMeshShape(v)\n}\n\n/**\n * 执行后端解析(静态选定,无运行时回退)。\n */\nfunction resolveExecBackend(choice: ExecBackendChoice): ExecBackend {\n if (choice === 'interpreter') return new InterpBackend()\n return new VmBackend()\n}\n\n// ── Namespaces ──\n\n/**\n * 已装配的命名空间集合(标准库 `cad` + 宿主注册的库)。\n * DirectExecutor 经 ns.<binding>.<callee>() 调用——引擎不区分函数来自哪个库。\n */\nexport interface Namespaces {\n readonly cad: StdlibNamespace\n readonly [binding: string]: StdlibNamespace\n}\n\n// ── 结果类型 ──\n\n/** 执行单元失败信息(与现状 failedAt 三字段兼容 + 新增 lineNo + 原始错误)。 */\nexport interface DirectExecFailedAt {\n index: number\n callee: string\n message: string\n lineNo?: number\n /** 原始错误对象(runtime 层据类型决定重新抛出还是吞入 failedAt)。 */\n error?: unknown\n}\n\n/** 单轮执行产出:ctx 快照 + 失败信息 + 已执行行号 + 块产出登记 + changed。 */\nexport interface DirectExecOutcome {\n /** 语句执行后 ctx 全部键 */\n ctxKeys: string[]\n /** 失败信息(无失败为 undefined) */\n failedAt?: DirectExecFailedAt\n /** 本轮新执行的行号(append 增量边界回显) */\n executedLines: number[]\n /**\n * 块单元产出登记(T1/A-6):shape 名 → 块起始行号。\n * DirectExecutor 执行块单元前后对共享 ctx 做 diff,新增 shape 键\n * 登记于此——computeLiveShapes 用块起始行作 producerIdx 锚点\n * (块内产出不在 lines 里,无行级生产者)。\n */\n blockOutputs?: Map<string, number>\n /**\n * 变更登记(T2):语句写值前后比对的产出——与 module 路径 exec.changed\n * 同语义。值变化的写入键收集于此(execute 全量重跑时旧值全 undefined →\n * 所有写入键都进 changed,与 module 路径行为一致)。\n */\n changed?: string[]\n /**\n * 原地写回登记(P25 §3.7.4 规则 2):裸调用行 → 写回目标变量名。\n * 修改类裸调用(fai_drill(part0) 等)把结果写回首参——computeLiveShapes 用它\n * 做 producer 精确化(行号键,与 blockOutputs 同形态)。\n */\n inplaceWrites?: Map<number, string>\n}\n\n/** 单次执行的参数。 */\nexport interface DirectExecOpts {\n /** 参数表:执行前预置到 ctx(ExecuteOptions.params 同义;参数行不执行) */\n params?: Record<string, unknown>\n /** 单元序数起始(startIndex 语义:行号之前的单元不执行,产物假定已在 ctx) */\n startLine?: number\n /**\n * 多文件 import 预置(§4.5):顶层 import 行不执行,绑定值由 runtime 装载模块后\n * 预置进 ctx(shape 值 / 模块函数 / 命名空间对象)。先于 params 注入,参数可覆盖。\n */\n imports?: Record<string, unknown>\n /**\n * 单元执行前钩子(undo 逐单元快照;§4.10 E4):每执行一个单元触发一次。\n * 第一参数 = 单元 id(`'s'+行号`,与 StatementSummary.id 同构——宿主按 id\n * 定位 summaries 不破裂);第二参数 = 行号。append 只对新单元触发。\n */\n beforeStatement?: (stmtId: string, lineNo: number) => void\n /**\n * 整轮执行超时(§6.3 / D8,E_EXEC_LIMIT):单元循环内逐单元检查 deadline,\n * 超时抛 {@link ExecutionLimitError}。不传则无超时(现状行为不变)。\n */\n executionTimeoutMs?: number\n}\n\n/** 单元行区间(P0 增量用:unitRanges 返回值)。 */\nexport interface UnitRange { lineNo: number; endLine: number }\n\n/** 函数体 keep 登记(键 = 单元行号)。 */\nexport interface ExecKeepRecord {\n kept: Set<PartName>\n hidden: Map<PartName, boolean>\n}\n\n// ── DirectExecutor ──\n\n/** DirectExecutor 构造选项:执行期可访问的已装配命名空间集合。 */\nexport interface DirectExecutorOptions {\n /** 已装配命名空间(cad + registerLib 注册库);单元经 __ns.<binding> 访问 */\n namespaces: Namespaces\n /**\n * 身份槽 → PartName 键控缓存同步(T3;与 ModuleExecutor.setSolid 同语义)。\n * 语句执行后把 shape 身份槽里的 BREP solid 写入 runtime solidCache——\n * buildBrepTopology/directBrepSolids 依赖此缓存命中。\n */\n setSolid?: (partName: PartName, solid: BrepHandle) => void\n /** 身份槽 → faceEvolutionCache 同步(T3;与 ModuleExecutor.setFaceEvolution 同语义)。 */\n setFaceEvolution?: (partName: PartName, evo: unknown) => void\n /** 身份槽 → roleTableCache 同步(T3;与 ModuleExecutor.setRoleTable 同语义)。 */\n setRoleTable?: (partName: PartName, roleTable: unknown) => void\n /** 安全策略档位(A2 接入点:parseAndTransform 第一行过 Scanner;缺省 'strict') */\n security?: SecurityPolicy\n /**\n * 执行后端(静态选定,无运行时回退;缺省 'vm')。'interpreter' 在禁 eval\n * 环境(weapp / 严格 CSP)使用——见 docs/plans/2026-09-14-no-eval-interpreter-backend-design.md。\n */\n execBackend?: ExecBackendChoice\n}\n\n/**\n * DirectExecutor executes `.fai.js` source text directly in the JS VM. Each\n * top-level statement is transformed mechanically (ctx hoisting + await\n * insertion + keep stripping) and run in an async wrapper against a shared\n * persistent `ctx`. No statement model, no deps, no folding, no IR.\n */\nexport class DirectExecutor {\n /** 持久变量容器(跨 execute/append/update 存活;与 ModuleExecutor.ctx 同角色) */\n readonly ctx: Record<string, unknown> = {}\n private executedLines = new Set<number>()\n private namespaces: Namespaces\n /** 安全策略档位(A2 接入点用) */\n private readonly securityPolicy: SecurityPolicy\n /** T3:身份槽同步钩子(runtime 注入) */\n private readonly setSolidHook?: (partName: PartName, solid: BrepHandle) => void\n private readonly setFaceEvolutionHook?: (partName: PartName, evo: unknown) => void\n private readonly setRoleTableHook?: (partName: PartName, roleTable: unknown) => void\n /** 当前完整源码(append 拼接用) */\n private fullCode = ''\n /** 函数体 keep 登记(exec.keep/exec.keepHidden 执行期登记;键 = 单元行号) */\n private readonly keepByLine = new Map<number, ExecKeepRecord>()\n /** 当前正在执行的单元行号(keep 登记归属锚点) */\n private activeLine: number | undefined\n /** P3:装配运动副位姿(成员名 → pose),collectDirectResult 消费。 */\n private kinematicsOut = new Map<PartName, AssemblyKinematicsPose>()\n /** 执行后端(静态选定;缺省 vm) */\n private readonly execBackend: ExecBackend\n\n /** P3:读取装配运动副位姿快照(collectDirectResult 用;空 Map 表示无 joints)。 */\n get kinematicsSnapshot(): Map<PartName, AssemblyKinematicsPose> {\n return this.kinematicsOut\n }\n\n constructor(options: DirectExecutorOptions) {\n this.namespaces = options.namespaces\n this.setSolidHook = options.setSolid\n this.setFaceEvolutionHook = options.setFaceEvolution\n this.setRoleTableHook = options.setRoleTable\n this.securityPolicy = options.security ?? 'strict'\n this.execBackend = resolveExecBackend(options.execBackend ?? 'vm')\n }\n\n /**\n * 热更新命名空间集合(registerLib 后)。\n * @param namespaces - 新的命名空间集合(含 cad 与全部注册库绑定)。\n */\n setNamespaces(namespaces: Namespaces): void {\n this.namespaces = namespaces\n }\n\n /**\n * 函数体 keep 登记读(computeLiveShapes 的 KeepView.functionBody 输入;行号键)。\n * @param lineNo - 单元行号(exec.keep 执行期登记的归属锚点)。\n * @returns 该行号的函数体 keep 登记;无登记返回 undefined。\n */\n getKeepByLine(lineNo: number): ExecKeepRecord | undefined {\n return this.keepByLine.get(lineNo)\n }\n\n /**\n * 全部 keep 登记(调试/测试)。\n * @returns 已登记的行号列表(升序)。\n */\n listKeepLines(): number[] {\n return [...this.keepByLine.keys()].sort((a, b) => a - b)\n }\n\n /**\n * 读持久 ctx 变量。\n * @param name - 变量名。\n * @returns 当前值;未定义返回 undefined。\n */\n getCtxVar(name: string): unknown {\n return this.ctx[name]\n }\n\n /**\n * 写持久 ctx 变量(参数预置等)。\n * @param name - 变量名。\n * @param value - 待写入值。\n */\n setCtxVar(name: string, value: unknown): void {\n this.ctx[name] = value\n }\n\n /**\n * 持久 ctx 的全部键(append/执行结果组装扫描用)。\n * @returns 当前 ctx 键数组。\n */\n listCtxKeys(): string[] {\n return Object.keys(this.ctx)\n }\n\n /**\n * 已执行单元行号(append 增量边界回显)。\n * @returns 已执行行号升序数组。\n */\n get executedUnitLines(): number[] {\n return [...this.executedLines].sort((a, b) => a - b)\n }\n\n /**\n * 解析 code 的单元行区间与行偏移(P0 增量用:公共前缀扫描 → 单元行映射)。\n * 复用 `parseAndTransform` 的解析路径(含 `assertSecure`)。调用方据此\n * 将物理行号映射到单元起始行,再交给 `replayFrom`。\n * @param code - .fai.js 源码文本。\n * @returns `{ ranges, lineOffset }`:ranges = 每个单元的闭区间 `[lineNo, endLine]`;\n * lineOffset = parseBody 得到的行偏移(非标准解析基线时 ≠ 0)。\n */\n unitRanges(code: string): { ranges: UnitRange[]; lineOffset: number } {\n const { nodes, lineOffset, parseText } = this.parseBody(code)\n const declared = new Set<string>()\n const ranges: UnitRange[] = []\n for (const node of nodes) {\n if (node.type === 'ImportDeclaration') continue\n const rawLine = (node?.loc?.start?.line ?? 1) - lineOffset\n const unit = this.transformTopNode(node, parseText, declared, rawLine, lineOffset)\n if (unit) ranges.push({ lineNo: unit.lineNo, endLine: unit.endLine })\n }\n return { ranges, lineOffset }\n }\n\n /**\n * 解析 code 的全部单元(含 writes),供增量 replayKeys 计算(P0-5)。\n * 复用 `parseAndTransform` 的解析路径(含 `assertSecure`)。\n * @param code - .fai.js 源码文本。\n * @returns 每个单元的 `{ lineNo, endLine, writes }`。\n */\n unitRangesWithWrites(code: string): Array<{ lineNo: number; endLine: number; writes: string[] }> {\n const units = this.parseAndTransform(code)\n return units.map((u) => ({ lineNo: u.lineNo, endLine: u.endLine, writes: u.writes }))\n }\n\n /** 块单元产出登记(T1/A-6):shape 名 → 块起始行号;execute 前后 ctx diff 生成。 */\n private blockOutputs = new Map<string, number>()\n\n /** 原地写回登记(P25 §3.7.4 规则 2):裸调用行 → 写回目标变量名(行号键)。 */\n private readonly inplaceWrites = new Map<number, string>()\n\n /** 变更登记(T2):语句写值前后比对的产出——与 module 路径 exec.changed 同语义。 */\n private changedSet = new Set<string>()\n\n /** 本机函数形参表(local ABI,§3.4/§3.6):函数名 → 形参名序。transformFunction\n * 定义时登记;emitCall 对末尾纯对象实参按名解包(splitPositionalOptions 语义)。 */\n private fnParams = new Map<string, string[]>()\n\n /** 清空 ctx 与状态(execute 全量 / dispose 用)。函数体 keep 登记一并清——全量重跑\n * 后行号键表只应含本场景的登记;不清理会泄漏上一场景的同行号登记(对拍红线)。 */\n reset(): void {\n for (const key of Object.keys(this.ctx)) delete this.ctx[key]\n this.executedLines.clear()\n this.fullCode = ''\n this.keepByLine.clear()\n this.kinematicsOut.clear()\n this.blockOutputs.clear()\n this.changedSet.clear()\n this.fnParams.clear()\n this.inplaceWrites.clear()\n }\n\n /**\n * 全量执行(R3 update 语义同:清 ctx 重跑)。\n * @param code - .fai.js 源码文本(扁平 op 行 / 容器体)。\n * @param opts - 参数与起始行。\n * @returns 执行产出(ctx 键快照 / failedAt / 已执行行号)。\n */\n async execute(code: string, opts?: DirectExecOpts): Promise<DirectExecOutcome> {\n this.reset()\n this.fullCode = code\n return this.runCode(code, opts)\n }\n\n /**\n * append 增量执行:共享 ctx 只执行新单元(行号 > 旧行集合)。\n * 前置缺失(引用不在 ctx 的变量)由调用方校验(AppendPrefixError 语义保留在 runtime)。\n * @param code - 新增语句文本。\n * @param opts - 参数与起始行(可选)。\n * @returns 执行产出(ctx 键快照 / failedAt / 本轮新执行行号)。\n */\n async append(code: string, opts?: DirectExecOpts): Promise<DirectExecOutcome> {\n const fullCode = this.fullCode === '' ? code : `${this.fullCode}\\n${code}`\n this.fullCode = fullCode\n return this.runCode(fullCode, opts)\n }\n\n /**\n * update:参数/文本变更 → 全量重跑(R3;用户接受)。\n * @param _oldCode - 变更前文本(签名兼容保留;全量重跑不使用)。\n * @param newCode - 变更后文本。\n * @param opts - 参数与起始行(可选)。\n * @returns 执行产出(ctx 键快照 / failedAt / 已执行行号)。\n */\n async update(_oldCode: string, newCode: string, opts?: DirectExecOpts): Promise<DirectExecOutcome> {\n return this.execute(newCode, opts)\n }\n\n /**\n * 前缀重放(P0 增量核心):保留 `[1, startLine)` 的 ctx 与状态不变,\n * 从 `startLine` 开始重放到末尾。调用方需先用 `unitRanges` 做行映射\n * 并通过 G0 闸门(`lineOffset === 0`)。\n *\n * 步骤(§4.3):\n * 1. 解析全部单元(含安全扫描);\n * 2. `replayUnits = units.filter(u => u.lineNo >= startLine)`;\n * 3. 计算待清键 `replayKeys = suffixWrites − prefixWrites`(减去前缀写入键\n * 是正确性要求——重赋值链中前缀产出不能被删);\n * 4. 清理重放区间相关状态(executedLines / keepByLine / blockOutputs / changedSet /\n * kinematicsOut / ctx replayKeys / fullCode);\n * 5. `runCode(code, opts, units)`——传入已解析 units 避免重复解析与重复安全扫描。\n *\n * `ExecutionLimitError` / `ParseError` / 安全扫描异常一律原样上抛,\n * 不触发失败降级;只有 `outcome.failedAt` 才由调用方降级(§4.7)。\n * @param code - 变更后的完整 .fai.js 源码文本。\n * @param startLine - 重放起始单元行号(含)。\n * @param opts - 执行参数。\n * @returns 执行产出。\n */\n async replayFrom(code: string, startLine: number, opts?: DirectExecOpts): Promise<DirectExecOutcome> {\n // 1. 解析全部单元(安全扫描对全文执行一次)\n const units = this.parseAndTransform(code)\n\n // 2. 区分前缀/后缀单元\n const replayUnits = units.filter((u) => u.lineNo >= startLine)\n\n // 3. 计算待清键\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 units) {\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 // 4. 清理重放区间相关状态\n // 4a. executedLines 删除 >= startLine 的行\n for (const line of [...this.executedLines]) {\n if (line >= startLine) this.executedLines.delete(line)\n }\n // 4b. keepByLine 删除 >= startLine 的登记\n for (const line of [...this.keepByLine.keys()]) {\n if (line >= startLine) this.keepByLine.delete(line)\n }\n // 4c. blockOutputs 删除值 >= startLine 的条目\n for (const [key, line] of [...this.blockOutputs]) {\n if (line >= startLine) this.blockOutputs.delete(key)\n }\n // 4d. clearRoundState: changedSet + kinematicsOut\n this.clearRoundState()\n // 4e. ctx 删除 replayKeys 中的键\n for (const key of replayKeys) {\n delete this.ctx[key]\n }\n // 4f. fullCode 更新\n this.fullCode = code\n\n // 5. runCode(传入已解析 units 避免重复解析)\n return this.runCode(code, opts, units)\n }\n\n /**\n * 清空轮次状态(P0 增量用):`changedSet` + `kinematicsOut`。\n * 在增量重放前调用,避免上一轮的 `changed` / kinematics 拗留被带入本轮结果。\n * 零变更路径(§4.6)也需调用——否则会把上一轮的 `changed` 原样带回。\n */\n clearRoundState(): void {\n this.changedSet.clear()\n this.kinematicsOut.clear()\n }\n\n // ── 主流程 ──\n\n private async runCode(code: string, opts?: DirectExecOpts, preParsedUnits?: TransformedUnit[]): Promise<DirectExecOutcome> {\n // import 预置(§4.5:顶层 import 行不执行,绑定值先入 ctx),随后参数预置可覆盖\n for (const [k, v] of Object.entries(opts?.imports ?? {})) this.ctx[k] = v\n // 参数预置(ExecuteOptions.params → ctx;参数行不执行,与现状语义一致)\n for (const [k, v] of Object.entries(opts?.params ?? {})) this.ctx[k] = v\n\n // keep 登记 sink(函数体 exec.keep / exec.keepHidden 执行期登记 → 行号键表;\n // 替代 ModuleExecutor.internalKeep 的 StmtId 键——DirectExecutor 无语句模型)\n setKeepSink((_stmtId, names, hidden) => this.registerKeepByLine(names, hidden))\n try {\n // params/imports 预置键作为安全扫描器的 knownNames(避免 SEC_FREE_IDENT 误杀)\n const extraKnown = [\n ...Object.keys(opts?.params ?? {}),\n ...Object.keys(opts?.imports ?? {}),\n ...Object.keys(this.ctx), // append 场景:已执行产出变量名\n ]\n const units = preParsedUnits ?? this.parseAndTransform(code, extraKnown)\n const executedLines: number[] = []\n let failedAt: DirectExecFailedAt | undefined\n\n // 整轮超时(§6.3 / D8,E_EXEC_LIMIT):单元循环内逐单元检查 deadline。\n // 自由 JS 块内部的单条死循环不在单元间插桩范围内 → 仍会卡死(R-7:v2 用\n // Worker 终止块内执行);本次交付覆盖\"逐单元执行\"路径的超时护栏。\n const timeoutMs = opts?.executionTimeoutMs\n const deadline = timeoutMs !== undefined && timeoutMs > 0 ? Date.now() + timeoutMs : undefined\n\n let order = 0\n for (const unit of units) {\n const idx = order++\n if (opts?.startLine !== undefined && unit.lineNo < opts.startLine) continue\n if (this.executedLines.has(unit.lineNo)) continue\n if (deadline !== undefined && Date.now() >= deadline) {\n throw new ExecutionLimitError(timeoutMs ?? 0)\n }\n opts?.beforeStatement?.(`s${unit.lineNo}`, unit.lineNo)\n try {\n this.activeLine = unit.lineNo\n // T2:changed 跟踪——执行前捕获写键旧值(与 module 路径 oldWrites 同语义)。\n const oldWrites = new Map<string, unknown>()\n for (const w of unit.writes) oldWrites.set(w, this.ctx[w])\n // 块单元:执行前后做 ctx diff,登记新增 shape 键 → blockOutputs\n // (块内产出不在 lines 里,computeLiveShapes 用块起始行作 producerIdx)。\n const ctxBefore = unit.isBlock ? new Set(Object.keys(this.ctx)) : null\n await this.runUnit(unit)\n // T2:changed 登记——执行后比对写键值变化(与 module 路径 exec.changed.add 同语义)。\n for (const [w, old] of oldWrites) {\n if (old !== this.ctx[w]) this.changedSet.add(w)\n }\n if (ctxBefore) {\n // 块产出登记:新增键 + 块内重写键(writes 收集了所有 __ctx.<name> = 赋值)\n for (const key of Object.keys(this.ctx)) {\n if (!ctxBefore.has(key)) {\n this.blockOutputs.set(key, unit.lineNo)\n this.changedSet.add(key)\n // T3:块产出的新键也需同步身份槽 → solidCache\n const bv = this.ctx[key]\n if (bv !== null && typeof bv === 'object') {\n setName(bv, asPartName(key))\n const bslot = getSlot(bv)\n if (bslot?.solid) this.setSolidHook?.(asPartName(key), bslot.solid as BrepHandle)\n if (bslot?.faceEvolution) this.setFaceEvolutionHook?.(asPartName(key), bslot.faceEvolution)\n if (bslot?.roleTable) this.setRoleTableHook?.(asPartName(key), bslot.roleTable)\n }\n }\n }\n for (const w of unit.writes) this.blockOutputs.set(w, unit.lineNo)\n }\n for (const w of unit.writes) {\n const v = this.ctx[w]\n if (v !== null && typeof v === 'object') {\n setName(v, asPartName(w))\n // T3:身份槽 → PartName 键控缓存同步(与 ModuleExecutor.afterStatement\n // 的 slot→solidCache/faceEvolutionCache/roleTableCache 同步同语义)。\n // buildBrepTopology/directBrepSolids/buildNamingInput 依赖此缓存命中。\n const slot = getSlot(v)\n if (slot?.solid) this.setSolidHook?.(asPartName(w), slot.solid as BrepHandle)\n if (slot?.faceEvolution) this.setFaceEvolutionHook?.(asPartName(w), slot.faceEvolution)\n if (slot?.roleTable) this.setRoleTableHook?.(asPartName(w), slot.roleTable)\n }\n }\n // T3/T4: Assembly transform propagation — same semantics as\n // ModuleExecutor.applyPendingAssemblyTransforms: take pending transforms\n // from runtime-state, apply to member shapes (mesh in-place + BREP slot +\n // solidCache), record changed. Direct path has no deps graph for\n // downstream recompute, but since execution is sequential, downstream\n // statements naturally re-read the already-transformed members.\n this.applyPendingAssemblyTransforms()\n\n this.executedLines.add(unit.lineNo)\n executedLines.push(unit.lineNo)\n } catch (err) {\n if (err instanceof ParseError) throw err\n // DirectExecutor swallows ALL execution errors into failedAt\n // (including TypeError for no_such_op). The runtime layer\n // (executeDirectText etc.) inspects failedAt.error to decide\n // whether to re-throw business errors (matching module path's\n // runWithFailureHandling: only OpError / BrepUnsupportedError /\n // MeshUnsupportedError stay in failedAt; others are re-thrown).\n failedAt = {\n index: idx,\n callee: unit.callee ?? '',\n message: err instanceof Error ? err.message : String(err),\n lineNo: unit.lineNo,\n error: err,\n }\n break\n } finally {\n this.activeLine = undefined\n }\n }\n return {\n ctxKeys: Object.keys(this.ctx),\n failedAt,\n executedLines,\n blockOutputs: this.blockOutputs,\n inplaceWrites: this.inplaceWrites,\n changed: this.changedSet.size > 0 ? [...this.changedSet] : undefined,\n }\n } finally {\n // 任何路径(含 ExecutionLimitError / ParseError 中断)都清 sink,防泄漏到下一执行\n setKeepSink(undefined)\n }\n }\n\n /**\n * Append 前缀校验(runtime 层 AppendPrefixError 语义保留,E2):把待 append 的\n * 新语句拼到 fullCode 后解析,对「尚未执行」的单元逐个校验 refs——引用必须已由\n * 持久 ctx(先前执行产出)或本批更早单元产出。缺引用\n * → 返回首个 {unitLine, varName}。\n * @param code - 待 append 的新语句文本(runtime 传新行)。\n * @returns 首个缺失引用;无缺失返回 undefined。\n */\n missingPrefixVar(code: string): { unitLine: number; varName: string } | undefined {\n const fullCode = this.fullCode === '' ? code : `${this.fullCode}\\n${code}`\n // 预检:跳过安全扫描(append 场景由 runtime 层先做 missingPrefixVar,再做 A1 安全扫描)。\n const units = this.parseAndTransform(fullCode, undefined, true)\n const available = new Set<string>(Object.keys(this.ctx))\n for (const unit of units) {\n if (!this.executedLines.has(unit.lineNo)) {\n for (const ref of unit.refs) {\n if (!available.has(ref)) return { unitLine: unit.lineNo, varName: ref }\n }\n }\n for (const w of unit.writes) available.add(w)\n }\n return undefined\n }\n\n /**\n * 应用待处理装配变换(R11②,P1):取走 takePendingAssemblyTransforms 的全部登记,\n * 对 compound 成员做 mesh 顶点烘焙 + BREP 刚体变换(p' = R·(p−pivot) + pivot + translation),\n * 差异:direct 模式无 DAG → 不做 computeDownstream 下游失效重算。\n * T3/T4:变换后同步身份槽 → solidCache(setSolidHook)并登记 changedSet。\n */\n private applyPendingAssemblyTransforms(): void {\n const pending = takePendingAssemblyTransforms()\n const pendingKin = takePendingAssemblyKinematics()\n if (pending.length === 0 && pendingKin.length === 0) return\n const kernel = getBackends().kernel.brep as BrepEngineApi | null\n for (const { compound, transforms } of pending) {\n const behavior = getSlot(compound)?.behavior as { memberNames?: string[] } | undefined\n if (!behavior?.memberNames) continue\n const children = (compound as { children?: Shape[] }).children ?? []\n const memberNames = behavior.memberNames\n for (const t of transforms) {\n const member = children[t.index]\n const name = memberNames[t.index]\n if (!member || typeof member !== 'object') continue\n // 变量名 = solidCache/faceEvolutionCache 的键(语句产出时 setName 登记,与\n // 逐单元 setSolid 同步同源)。装配 memberNames 是 CadQuery 风格的短名\n // (约束 DSL 引用用),不能当缓存键用——否则更新写空、变量名键仍指向\n // 已 release 的悬空句柄(导出阶段 buildBrepTopology → INVALID_SHAPE_ID)。\n const varName = nameOf(member) as string | undefined\n // mesh 原地变换(保留同一对象引用,ctx 与 compound.children 同步看到变更)\n Object.assign(member, applyTransform(member, t.quaternion, t.pivot, t.translation, t.rotationMatrix))\n // BREP 刚体变换(可选):新 solid 写身份槽 + solidCache(T3)\n const solid = brepOf(member) as BrepHandle | undefined\n if (kernel && solid) {\n const transformed = applyTransformBrep(kernel, solid, t.quaternion, t.pivot, t.translation)\n try { kernel.release(solid) } catch { /* 已释放 */ }\n ensureSlot(member).solid = transformed\n const cacheKey = varName ?? name\n if (cacheKey) this.setSolidHook?.(asPartName(cacheKey), transformed)\n }\n // changed 以变量名键登记(宿主按变量名刷新 statementCache/场景);成员名\n // 不同时也保留,兼容按成员名消费位姿的宿主(P3 kinematics 语义不变)。\n if (name) this.changedSet.add(name)\n if (varName && varName !== name) this.changedSet.add(varName)\n }\n }\n // P3:装配运动副位姿(joints 驱动)——成员名 → pose,collectDirectResult 消费。\n // 与 transforms 独立收集:全部成员恒等时 transforms 为空但 kinematics 非空。\n for (const { compound, kinematics } of pendingKin) {\n const behavior = getSlot(compound)?.behavior as { memberNames?: string[] } | undefined\n if (!behavior?.memberNames) continue\n const memberNames = behavior.memberNames\n for (const name of memberNames) {\n const pose = kinematics[name]\n if (pose) this.kinematicsOut.set(asPartName(name), pose)\n }\n }\n }\n\n /** 单单元执行:委托注入的执行后端(锚点/keep-sink 在调用前设置)。 */\n private async runUnit(unit: TransformedUnit): Promise<void> {\n // 执行锚点:库函数体 exec.keep / primitive 命名读 getCurrentStmt()?.outputs\n // ——用 ExecutionAnchor 轻量锚点(行号 + 写键)。\n const anchor: ExecutionAnchor = {\n id: `s${unit.lineNo}`,\n outputs: unit.writes.map((w) => w as PartName),\n hasAssignment: unit.writes.length > 0,\n }\n setCurrentStmt(anchor)\n try {\n await this.execBackend.runUnit(unit, {\n ctx: this.ctx,\n namespaces: this.namespaces,\n isGeom: isGeomValue,\n })\n } finally {\n setCurrentStmt(undefined)\n }\n }\n\n /** 行号 → 函数体 keep 登记(exec.keep/exec.keepHidden;与 live-shapes KeepView 对齐)。 */\n private registerKeepByLine(names: PartName[], hidden: boolean): void {\n if (this.activeLine === undefined) return\n let rec = this.keepByLine.get(this.activeLine)\n if (!rec) {\n rec = { kept: new Set(), hidden: new Map() }\n this.keepByLine.set(this.activeLine, rec)\n }\n for (const n of names) {\n rec.kept.add(n)\n rec.hidden.set(n, hidden)\n }\n }\n\n // ── 解析与变换 ──\n\n /**\n * 顶层 import/export 之外的容器体(扁平/容器归一):优先把源码整体按 ESM module\n * 解析——顶层 `import` 声明在模块作用域合法(多文件 §4.5:import 行不执行,绑定由\n * runtime 经 opts.imports 预置 ctx);无 export default 的扁平代码取顶层语句为单元。\n * 兼容回退:非容器旧文本(顶层 return/await 的 AI 手写体)按原封装\n * `export default async (...) => { ... }` 解析(函数作用域放行)。\n */\n private parseBody(code: string): { nodes: ASTNode[]; lineOffset: number; parseText: string } {\n const parseAs = (text: string): ASTNode => {\n return acornParse(text, { ecmaVersion: 'latest', sourceType: 'module', locations: true, ranges: true }) as unknown as ASTNode\n }\n let ast: ASTNode\n try {\n ast = parseAs(code)\n } catch (err) {\n const e = err as { message?: string; loc?: { line?: number } }\n // 容器体已在顶层 → 原样上抛;扁平旧文本走封装回退(函数作用域允许 return/await)\n if (!code.includes('export default')) {\n const parseCode = `export default async (__nsArg) => {\\n${code}\\n}`\n let wrappedAst: ASTNode\n try {\n wrappedAst = parseAs(parseCode)\n } catch {\n throw new ParseError(\n `SyntaxError: ${e.message ?? String(err)}`,\n (e.loc?.line ?? 1) - 1,\n 'E_SYNTAX',\n err,\n )\n }\n const decl = wrappedAst.body.find((n: ASTNode) => n.type === 'ExportDefaultDeclaration')\n const arrow = decl?.declaration\n if (arrow?.type === 'ArrowFunctionExpression' && arrow.body?.type === 'BlockStatement') {\n return { nodes: arrow.body.body as ASTNode[], lineOffset: 1, parseText: parseCode }\n }\n }\n throw new ParseError(`SyntaxError: ${e.message ?? String(err)}`, (e.loc?.line ?? 1), 'E_SYNTAX', err)\n }\n const exportDecl = ast.body.find((n: ASTNode) => n.type === 'ExportDefaultDeclaration')\n if (exportDecl) {\n const arrow = exportDecl.declaration\n if (arrow?.type !== 'ArrowFunctionExpression' || arrow.body?.type !== 'BlockStatement') {\n throw new ParseError('expected async arrow container body', 1, 'E_SYNTAX')\n }\n return { nodes: arrow.body.body as ASTNode[], lineOffset: 0, parseText: code }\n }\n // 扁平 ESM:顶层语句(含 import 声明,unit 生成时跳过)即单元边界。\n return { nodes: ast.body as ASTNode[], lineOffset: 0, parseText: code }\n }\n\n /** 解析并变换全部顶层单元。 */\n private parseAndTransform(code: string, extraKnownNames?: string[], skipSecurity = false): TransformedUnit[] {\n // A2:安全门禁前置——在 parseBody 之前对原始 code 扫描。\n // extraKnownNames = params/imports 预置键 + ctx 已有键(append 场景)。\n // skipSecurity = true 仅用于 missingPrefixVar 预检(append 场景:先 prefix 校验,再 A1 安全扫描)。\n if (!skipSecurity) {\n const nsNames = Object.keys(this.namespaces).filter((k) => k !== 'contractVersion')\n const knownNames = extraKnownNames ? [...nsNames, ...extraKnownNames] : nsNames\n assertSecure(code, {\n policy: this.securityPolicy,\n knownNames,\n // S7 只保护命名空间名,不保护 ctx 中的普通变量(如 let bp = ...)\n nsNames,\n defaultNs: 'cad',\n })\n }\n const { nodes, lineOffset, parseText } = this.parseBody(code)\n const declared = new Set<string>() // 累积:参数名 + outputs + 函数名\n const units: TransformedUnit[] = []\n for (const node of nodes) {\n if (node.type === 'ImportDeclaration') continue // import 行不执行\n const rawLine = (node?.loc?.start?.line ?? 1) - lineOffset\n const unit = this.transformTopNode(node, parseText, declared, rawLine, lineOffset)\n if (unit) units.push(unit)\n }\n return units\n }\n\n private transformTopNode(\n node: ASTNode,\n code: string,\n declared: Set<string>,\n lineNo: number,\n lineOffset: number,\n ): TransformedUnit | null {\n let unit: TransformedUnit | null\n switch (node.type) {\n case 'FunctionDeclaration':\n unit = this.transformFunction(node, code, declared, lineNo)\n break\n case 'VariableDeclaration':\n unit = this.transformVariable(node, code, declared, lineNo)\n break\n case 'ExpressionStatement':\n unit = this.transformExpressionStatement(node, code, declared, lineNo)\n break\n case 'ReturnStatement':\n // 容器/自由 JS 的顶层 return(AI 手写 .fai.js):return 只表达 UI meta /\n // 显式终端,不构成执行单元(几何产物都写在 ctx)。忽略执行。\n return null\n case 'IfStatement':\n case 'ForStatement':\n case 'ForInStatement':\n case 'ForOfStatement':\n case 'WhileStatement':\n case 'DoWhileStatement':\n case 'SwitchStatement':\n case 'TryStatement':\n case 'BlockStatement':\n case 'LabeledStatement':\n unit = this.transformBlock(node, code, declared, lineNo)\n break\n default:\n // 其余控制流/未知节点(ThrowStatement/BreakStatement/ContinueStatement 等)\n // 也按块单元处理——整段文本执行,不分析语义。\n unit = this.transformBlock(node, code, declared, lineNo)\n break\n }\n // 统一填充 endLine(闭区间)——AST node.loc.end.line 是物理行号,减去\n // lineOffset 归一化到与 lineNo 相同的基准。\n if (unit) {\n const endLine = (node.loc?.end?.line ?? lineNo) - lineOffset\n unit.endLine = endLine\n unit.node = node\n }\n return unit\n }\n\n /**\n * 控制流块单元(T1/A-6):for/if/while/do/switch/裸块等顶层块整块执行。\n * - 块起始行 = 单元行号;执行文本 = 原代码整段(node.start..node.end)。\n * - 块内**顶层**声明提升到 __ctx(`const p = cad.box(...)` → `__ctx.p = ...`);\n * 块内**嵌套块与函数体跳过**(局部作用域,不提升)。\n * - 对外部变量的词法引用按 hoistText 处理(已含 ctx 键)。\n * - 块产物通过执行前后 ctx diff 登记(runCode 里处理),writes 为空(无法静态确定)。\n */\n private transformBlock(\n node: ASTNode,\n code: string,\n declared: Set<string>,\n lineNo: number,\n ): TransformedUnit {\n const rawText = code.slice(node.start, node.end)\n const body = this.hoistBlockText(rawText, declared)\n // 收集块内所有 __ctx.<name> = 赋值的写入键(块产出 + 块内重写),\n // 供 runCode 登记 blockOutputs(块内重写的变量也用块起始行作 producerIdx)。\n const writes: string[] = []\n const re = /__ctx\\.(\\w+)\\s*=/g\n let m: RegExpExecArray | null\n while ((m = re.exec(body)) !== null) {\n if (!writes.includes(m[1])) writes.push(m[1])\n }\n return { lineNo, body, writes, refs: [], isBlock: true, endLine: 0 }\n }\n\n /**\n * 块文本提升(T1/v1):对块整段文本做词法级标识符提升——\n * - `const/let x = expr` → `__ctx.x = expr`(词边界替换关键字 + LHS);\n * - 自由标识符引用 → `__ctx.<name>`(已声明变量 + ctx 键)。\n *\n * v1 限制(R-5):不做嵌套作用域精确区分——嵌套块/函数体内的局部变量\n * 也会被提升到 `__ctx`,在功能上等价于\"块内所有变量都在 ctx 上\"(多写了一些\n * ctx 键,不会导致错误)。v2 可加 AST walk 精确跳过嵌套作用域。\n *\n * 实现策略:先收集块内所有声明名(acorn 扫描 VariableDeclarator + 函数名),\n * 再做两步文本替换:① 声明 LHS 提升写 __ctx 赋值;② 自由引用提升走 hoistText。\n */\n private hoistBlockText(text: string, declared: Set<string>): string {\n // 收集块内所有声明名(用于引用提升与声明改写)\n const names = new Set<string>(declared)\n for (const key of Object.keys(this.ctx)) names.add(key)\n\n // 排除命名空间名称(cad + registerLib 注册的库绑定)——它们在 __ns 上而非 __ctx\n const nsNames = new Set<string>(Object.keys(this.namespaces).filter((k) => k !== 'contractVersion'))\n\n let ast: ASTNode\n try {\n ast = acornParse(text, {\n ecmaVersion: 'latest',\n sourceType: 'module',\n locations: true,\n ranges: true,\n }) as unknown as ASTNode\n } catch {\n // 块文本不是合法 module(含 break/continue/return)→ 用函数体解析\n try {\n ast = acornParse(`(function(){ ${text} })`, {\n ecmaVersion: 'latest',\n sourceType: 'module',\n locations: true,\n ranges: true,\n }) as unknown as ASTNode\n } catch {\n // 解析失败 → 原样返回(执行时会自然报错)\n return text\n }\n }\n\n // 扫描全部 VariableDeclarator + FunctionDeclaration 名\n const walk = (n: ASTNode): void => {\n if (!n || typeof n !== 'object') return\n if (n.type === 'VariableDeclarator' && n.id?.type === 'Identifier') {\n names.add(n.id.name)\n }\n if (n.type === 'FunctionDeclaration' && n.id?.type === 'Identifier') {\n names.add(n.id.name)\n }\n for (const k of Object.keys(n)) {\n if (k === 'loc' || k === 'start' || k === 'end' || k === 'range' || k === 'parent' || k === 'type') continue\n const v = n[k]\n if (Array.isArray(v)) for (const item of v) walk(item)\n else if (v && typeof v === 'object') walk(v)\n }\n }\n walk(ast)\n\n // 从提升集合中移除命名空间名(cad 等留在 __ns)\n for (const nsName of nsNames) names.delete(nsName)\n\n // 声明 LHS 改写 + 自由引用提升(词法级,两步替换)\n let out = text\n // ⓪ for-of/in 头部声明:`for (const x of/in ...)` → `for (__ctx.x of/in ...)`。\n // 步骤①的 `\\w+\\s*=` 形态匹配不到 of/in 头部,若不先行改写,步骤②会把\n // 声明名提升为 `const __ctx.x` → SyntaxError。双前缀由下方修正兜底。\n out = out.replace(/\\bfor\\s*\\(\\s*(?:const|let)\\s+(\\w+)\\s+(of|in)\\b/g, 'for (__ctx.$1 $2 ')\n // ① const/let x = ... → __ctx.x = ...(去关键字 + LHS 加 __ctx.)\n out = out.replace(/\\b(?:const|let)\\s+(\\w+)\\s*=/g, '__ctx.$1 =')\n // ② 自由引用提升(与 hoistText 同逻辑,但含块内声明名;排除命名空间名)\n for (const name of names) {\n out = out.replace(new RegExp(`\\\\b${name}\\\\b`, 'g'), `__ctx.${name}`)\n }\n // ③ 命名空间名 → __ns.<name> + await 调用\n // 块内 cad.xxx(...) 调用需要 await(与扁平行式 emitCall 的 await 语义一致)。\n // 分两步:先替换调用形态 `<ns>.<member>(` → `await __ns.<ns>.<member>(`,\n // 再替换裸引用 `<ns>`(非成员访问)→ `__ns.<ns>`。\n for (const nsName of nsNames) {\n // 调用形态:`cad.box(` → `await __ns.cad.box(`\n out = out.replace(\n new RegExp(`(?<![.\\\\w])\\\\b${nsName}\\\\s*\\\\.\\\\s*(\\\\w+)\\\\s*\\\\(`, 'g'),\n `await __ns.${nsName}.$1(`,\n )\n // 裸成员访问(非调用):`cad.foo` → `__ns.cad.foo`(非调用不加 await)\n out = out.replace(\n new RegExp(`(?<![.\\\\w])\\\\b${nsName}\\\\s*\\\\.`, 'g'),\n `__ns.${nsName}.`,\n )\n }\n // __ctx.__ctx.x → __ctx.x(双前缀修正:LHS 改写后 name 又被提升替换)\n out = out.replace(/__ctx\\.__ctx\\./g, '__ctx.')\n // __ns.__ns.cad → __ns.cad(命名空间双前缀修正)\n out = out.replace(/__ns\\.__ns\\./g, '__ns.')\n // await await __ns → await __ns(双重 await 修正:块内已有 await 的调用)\n out = out.replace(/await\\s+await\\s+__ns\\./g, 'await __ns.')\n return out\n }\n\n /** 顶层函数提升:`__ctx.<name> = async function <name>(...) { 命名空间绑定; 体 }`。 */\n private transformFunction(node: ASTNode, code: string, declared: Set<string>, lineNo: number): TransformedUnit {\n const name = node.id?.name\n if (!name) throw new ParseError('function declaration must have a name', lineNo, 'E_STATEMENT')\n const params = (node.params ?? []).map((p: ASTNode) => p?.name).filter((x: unknown): x is string => typeof x === 'string')\n const bodyText = code.slice(node.body.start + 1, node.body.end - 1)\n const nsNames = Object.keys(this.namespaces).filter((k) => k !== 'contractVersion')\n const binds = nsNames.map((n) => ` const ${n} = __ns.${n}`).join('\\n')\n const body = [\n `__ctx.${name} = async function ${name}(${params.join(', ')}) {`,\n binds,\n bodyText,\n '}',\n ].join('\\n')\n // 本机函数体引用其它本机函数/变量走 __ctx(与顶层一致)\n declared.add(name)\n this.fnParams.set(name, params)\n return { lineNo, body, writes: [name], refs: [], callee: name, endLine: 0 }\n }\n\n /** const/let 行:参数(字面量)直接进 ctx;op 行变换调用;派生常量求值。 */\n private transformVariable(node: ASTNode, code: string, declared: Set<string>, lineNo: number): TransformedUnit {\n if (node.kind !== 'const' && node.kind !== 'let') {\n throw new ParseError(`only 'const' or 'let' declarations allowed, got '${node.kind}'`, lineNo, 'E_STATEMENT')\n }\n if (node.declarations.length !== 1) {\n throw new ParseError('multi-declarator const statements are not supported yet', lineNo, 'E_STATEMENT')\n }\n const d = node.declarations[0]\n const dLine = (d?.loc?.start?.line ?? lineNo)\n // 解构 op 行:const { front: a } = cad.fai_split(...)\n if (d?.id?.type === 'ObjectPattern') {\n const props = d.id.properties as ASTNode[]\n const keys: string[] = []\n const binds: string[] = []\n for (const prop of props) {\n if (prop.type !== 'Property') throw new ParseError('unsupported destructuring property', dLine, 'E_STATEMENT')\n keys.push(String(prop.key?.name ?? prop.key?.value))\n binds.push(String(prop.value?.name))\n }\n let init = d.init\n if (init?.type === 'AwaitExpression') init = init.argument\n const call = this.emitCall(init, code, declared, dLine)\n const writes = binds.map((b) => `__ctx.${b} = ${b}`)\n const pair = keys.map((k, i) => `${k}: ${binds[i]}`).join(', ')\n const body = [`const { ${pair} } = ${call}`, ...writes].join('\\n')\n for (const b of binds) declared.add(b)\n return { lineNo, body, writes: binds, refs: this.collectRefs(init), callee: this.calleeOf(init), endLine: 0 }\n }\n if (d?.id?.type !== 'Identifier') {\n throw new ParseError('expected identifier on left side of const declaration', dLine, 'E_STATEMENT')\n }\n const name = d.id.name\n let init = d.init\n if (init?.type === 'AwaitExpression') init = init.argument\n\n if (init?.type === 'CallExpression') {\n const call = this.emitCall(init, code, declared, dLine)\n declared.add(name)\n return { lineNo, body: `__ctx.${name} = ${call}`, writes: [name], refs: this.collectRefs(init), callee: this.calleeOf(init), endLine: 0 }\n }\n if (init) {\n // 参数行(字面量/数组/对象)或派生常量:求值后写入 ctx(引用走 __ctx 提升)\n const exprText = this.hoistText(code.slice(init.start, init.end), declared)\n declared.add(name)\n return { lineNo, body: `__ctx.${name} = ${exprText}`, writes: [name], refs: [], callee: undefined, endLine: 0 }\n }\n throw new ParseError('unsupported const declaration', dLine, 'E_STATEMENT')\n }\n\n /** 表达式语句:裸重赋值 / 命名空间裸调用 / 成员方法调用。 */\n private transformExpressionStatement(\n node: ASTNode,\n code: string,\n declared: Set<string>,\n lineNo: number,\n ): TransformedUnit {\n const expr = node.expression\n if (expr?.type === 'AssignmentExpression' && expr.operator === '=' && expr.left?.type === 'Identifier') {\n const varName = expr.left.name\n if (!declared.has(varName)) throw new ParseError(`unknown variable \"${varName}\" in re-assignment`, lineNo, 'E_REFERENCE')\n let init = expr.right\n if (init?.type === 'AwaitExpression') init = init.argument\n if (init?.type === 'CallExpression') {\n const call = this.emitCall(init, code, declared, lineNo)\n return { lineNo, body: `__ctx.${varName} = ${call}`, writes: [varName], refs: this.collectRefs(init), callee: this.calleeOf(init), endLine: 0 }\n }\n // 变量→变量重赋值 / 表达式重赋值(`bp = bp2` / `x = a + b`):合法 JS,\n // 直接提升自由标识符写回 ctx(A-15 最后写者语义)。\n const rhsText = this.hoistText(code.slice(init?.start ?? expr.right.start, expr.right.end), declared)\n return { lineNo, body: `__ctx.${varName} = ${rhsText}`, writes: [varName], refs: [], callee: undefined, endLine: 0 }\n }\n if (expr?.type === 'CallExpression') {\n const call = this.emitCall(expr, code, declared, lineNo)\n // P25 §3.7 规则 2(双语义):裸调用按返回值区分——只读查询(返回纯数据)\n // 放行不写回;修改类 op(返回几何 且 首位置实参/receiver 是几何变量)写回\n // 第一个 shape 位置实参(或成员 receiver)。静态选出候选写回目标,运行时\n // 双条件守卫兜底(__isGeom(__r) && __isGeom(__ctx.<target>))——projectView/\n // volume 等返回非几何的调用永不写回。\n const target = this.writebackTarget(expr, declared)\n if (target !== undefined) {\n const body =\n `const __r = await ${call}; ` +\n `if (__isGeom(__r) && __isGeom(__ctx.${target})) __ctx.${target} = __r`\n this.inplaceWrites.set(lineNo, target)\n return { lineNo, body, writes: [target], refs: this.collectRefs(expr), callee: this.calleeOf(expr), endLine: 0 }\n }\n // 命名空间裸调用 / 成员方法 / 本机函数副作用调用:都 await(无写入)\n return { lineNo, body: `await ${call}`, writes: [], refs: this.collectRefs(expr), callee: this.calleeOf(expr), endLine: 0 }\n }\n throw new ParseError('bare expression statements not allowed', lineNo, 'E_STATEMENT')\n }\n\n /** 调用发射:<ns>.<fn>(args) / <receiver>.<method>(args) / <localFn>(args) → await 形态。 */\n private emitCall(callNode: ASTNode, code: string, declared: Set<string>, lineNo: number): string { if (callNode?.type !== 'CallExpression') {\n throw new ParseError('expected call expression', lineNo, 'E_STATEMENT')\n }\n const callee = callNode.callee\n let head: string\n if (callee?.type === 'MemberExpression' && callee.object?.type === 'Identifier' && callee.property?.type === 'Identifier') {\n const objName = callee.object.name\n // 优先 __ctx:本机 shape/模块产物(含 import 预置的 shape 与模块命名空间)都是\n // ctx 键(isMemberOnCtx)或 declared;注册库绑定(cad/第三方 ns)不在 ctx → __ns。\n // 既非 declared/ctx 也非已装配命名空间的成员对象(如 Math)→ 保留裸全局调用,\n // 不误重写为 __ns.<name>(S4 白名单在 vm 包装内自然解析)。\n if (!declared.has(objName) && !this.ctxHas(objName) && !Object.hasOwn(this.namespaces, objName)) {\n const args = this.emitCallArgs(callNode, code, declared, lineNo)\n return `${code.slice(callee.start, callee.end)}(${args.join(', ')})`\n }\n head = declared.has(objName) || this.ctxHas(objName)\n ? `await __ctx.${objName}.${callee.property.name}`\n : `await __ns.${objName}.${callee.property.name}`\n } else if (callee?.type === 'Identifier') {\n if (declared.has(callee.name) || this.hasCtxFn(callee.name)) {\n head = `await __ctx.${callee.name}`\n } else {\n // 本机函数尚未在 declared(append 前缀场景由调用方校验)→ 仍按 ctx 函数调用\n head = `await __ctx.${callee.name}`\n }\n } else {\n throw new ParseError('expected <ns>.<op>(...) or local function call', lineNo, 'E_STATEMENT')\n }\n const args = this.emitCallArgs(callNode, code, declared, lineNo)\n return `${head}(${args.join(', ')})`\n }\n\n /**\n * 裸调用写回候选目标(P25 §3.7 规则 2 静态选择):\n * - 成员方法调用 `obj.method(...)`:receiver 是 ctx 对象(declared 或 ctx 键)→ 写回 receiver;\n * - 命名空间/本机函数调用 `cad.op(a0, ...)`:首位置实参是已声明/ctx 标识符 → 写回 a0\n * (多 shape 参数写回第一个——方案 §3.7.3);\n * - 其他(首参非简单标识符、receiver 是 __ns 命名空间)→ 无候选(放行不写回)。\n *\n * 静态选择只定「候选」,写回是否真正发生由运行时双条件守卫决定\n * (__isGeom(__r) && __isGeom(__ctx.<target>))——返回值非几何(projectView/volume)\n * 或目标原值非几何(模块命名空间 receiver)都不写回。\n *\n * @param callNode - 裸调用表达式。\n * @param declared - 已声明变量集(参数名 + 产出 + 函数名)。\n * @returns 写回目标变量名;无候选返回 undefined。\n */\n private writebackTarget(callNode: ASTNode, declared: Set<string>): string | undefined {\n if (callNode?.type !== 'CallExpression') return undefined\n const callee = callNode.callee\n if (callee?.type === 'MemberExpression' && callee.object?.type === 'Identifier') {\n const obj = callee.object.name\n // 成员方法调用(receiver 是 ctx/declared 对象)→ 写回 receiver;命名空间调用\n // (cad.op → __ns)走首位置实参候选(emitCall 同判定:ctx 对象走 __ctx,否则 __ns)。\n if (declared.has(obj) || this.ctxHas(obj)) return obj\n }\n const first = callNode.arguments?.[0]\n if (first?.type === 'Identifier') {\n const name = first.name\n return declared.has(name) || this.ctxHas(name) ? name : undefined\n }\n return undefined\n }\n\n /** 实参发射:本机函数调用(裸 Identifier 且已在 fnParams 登记)应用 §3.4/§3.6 的\n * 「位置 + 按名」ABI(splitPositionalOptions 语义:末尾纯对象实参的键按形参名映射剩余\n * 形参,位置实参占前 M 位);命名空间/成员调用保持对象实参原样传递。 */\n private emitCallArgs(callNode: ASTNode, code: string, declared: Set<string>, lineNo: number): string[] {\n const callee = callNode.callee\n const fnName = callee?.type === 'Identifier' ? callee.name : undefined\n if (fnName && this.fnParams.has(fnName)) {\n return this.emitLocalCallArgs(callNode, fnName, code, declared, lineNo)\n }\n return (callNode.arguments ?? []).map((a: ASTNode) => this.transformArg(a, code, declared, lineNo))\n }\n\n /** 本机函数调用 ABI 解包:位置实参原样占前 M 位;末尾纯对象(无 spread)的键按形参名\n * 补到剩余位,缺失形参补 undefined;多余位置实参原样保留(JS 宽松实参语义)。 */\n private emitLocalCallArgs(callNode: ASTNode, fnName: string, code: string, declared: Set<string>, lineNo: number): string[] {\n const params = this.fnParams.get(fnName) ?? []\n const rawArgs = callNode.arguments ?? []\n const last = rawArgs[rawArgs.length - 1]\n const canSplit = !!last && last.type === 'ObjectExpression'\n && (last.properties ?? []).every((p: ASTNode) => p.type === 'Property')\n const values = canSplit ? rawArgs.slice(0, -1) : rawArgs\n const named = new Map<string, ASTNode>()\n if (canSplit) {\n for (const prop of (last as { properties: ASTNode[] }).properties as ASTNode[]) {\n const key = prop.key?.type === 'Identifier' ? prop.key.name\n : prop.key?.type === 'Literal' ? String(prop.key.value)\n : null\n if (key === null) throw new ParseError('invalid object key', lineNo, 'E_VALUE')\n named.set(key, prop.shorthand ? { type: 'Identifier', name: key } as ASTNode : (prop as { value: ASTNode }).value)\n }\n }\n const out: string[] = values.map((v: ASTNode) => this.transformArg(v, code, declared, lineNo))\n for (let i = values.length; i < params.length; i++) {\n const p = params[i]\n const v = named.get(p)\n out.push(v !== undefined ? this.transformArg(v, code, declared, lineNo) : 'undefined')\n }\n return out\n }\n\n private hasCtxFn(name: string): boolean {\n return typeof this.ctx[name] === 'function'\n }\n\n private ctxHas(name: string): boolean {\n return Object.prototype.hasOwnProperty.call(this.ctx, name)\n }\n\n /** 实参变换:Literal → JSON;Identifier → __ctx.name;调用递归;对象/数组递归;\n * 表达式 → 自由标识符提升(文本级,词边界替换已声明名)。 */\n private transformArg(node: ASTNode, code: string, declared: Set<string>, lineNo: number): string {\n if (!node) return 'undefined'\n switch (node.type) {\n case 'Literal':\n return JSON.stringify(node.value)\n case 'Identifier':\n return `__ctx.${node.name}`\n case 'CallExpression':\n return this.emitCall(node, code, declared, lineNo)\n case 'ArrayExpression': {\n const items = (node.elements ?? []).map((el: ASTNode) =>\n el === null ? 'null' : el?.type === 'SpreadElement'\n ? `...${this.transformArg(el.argument, code, declared, lineNo)}`\n : this.transformArg(el, code, declared, lineNo))\n return `[${items.join(', ')}]`\n }\n case 'ObjectExpression': {\n const parts: string[] = []\n for (const prop of node.properties ?? []) {\n if (prop.type === 'SpreadElement') {\n parts.push(`...${this.transformArg(prop.argument, code, declared, lineNo)}`)\n continue\n }\n const key = prop.key?.type === 'Identifier' ? prop.key.name\n : prop.key?.type === 'Literal' ? JSON.stringify(String(prop.key.value))\n : null\n if (key === null) throw new ParseError('invalid object key', lineNo, 'E_VALUE')\n parts.push(prop.shorthand\n ? `${key}: __ctx.${key}`\n : `${key}: ${this.transformArg(prop.value, code, declared, lineNo)}`)\n }\n return `{ ${parts.join(', ')} }`\n }\n case 'UnaryExpression':\n return `${node.operator}(${this.transformArg(node.argument, code, declared, lineNo)})`\n case 'BinaryExpression':\n case 'LogicalExpression':\n // Parenthesize both operands: the AST emission drops the source's\n // parentheses, so without explicit parens JS operator precedence\n // reinterprets nested arithmetic (e.g. -((a+b)/2+c) → -a+b/2+c).\n return `(${this.transformArg(node.left, code, declared, lineNo)} ${node.operator} ${this.transformArg(node.right, code, declared, lineNo)})`\n case 'ConditionalExpression':\n return `(${this.transformArg(node.test, code, declared, lineNo)} ? ${this.transformArg(node.consequent, code, declared, lineNo)} : ${this.transformArg(node.alternate, code, declared, lineNo)})`\n case 'MemberExpression':\n return this.hoistText(code.slice(node.start, node.end), declared)\n default:\n return this.hoistText(code.slice(node.start, node.end), declared)\n }\n }\n\n /** 文本级自由标识符提升:把已声明变量名 + 当前 ctx 键(import 预置/先前执行产出)\n * 替换为 __ctx.<name>(词边界)。含 ctx 键 → append 跨文件引用(D6)与模块命名空间\n * 成员(cfg.OUTX)在实参文本中同样可解析。 */\n private hoistText(text: string, declared: Set<string>): string {\n let out = text\n const names = new Set<string>(declared)\n for (const key of Object.keys(this.ctx)) names.add(key)\n for (const name of names) {\n out = out.replace(new RegExp(`\\\\b${name}\\\\b`, 'g'), `__ctx.${name}`)\n }\n return out\n }\n\n private calleeOf(callNode: ASTNode | undefined): string | undefined {\n if (!callNode || callNode.type !== 'CallExpression') return undefined\n const c = callNode.callee\n if (c?.type === 'MemberExpression' && c.property?.type === 'Identifier') return c.property.name\n if (c?.type === 'Identifier') return c.name\n return undefined\n }\n\n /**\n * 返回块产出登记(T1):shape 名 → 块起始行号。\n * runtime 的 collectDirectResult 用此传给 computeLiveShapes 的 blockOutputs。\n * @returns 块产出登记的只读视图(Map 迭代序 = 插入序)。\n */\n getBlockOutputs(): Map<string, number> {\n return new Map(this.blockOutputs)\n }\n\n /**\n * 返回原地写回登记(P25 §3.7.4):裸调用行 → 写回目标变量名。\n * runtime 的 collectDirectResult 用此传给 computeLiveShapes 的 inplaceWrites\n * (producer 精确化)。\n * @returns 原地写回登记的只读视图。\n */\n getInplaceWrites(): Map<number, string> {\n return new Map(this.inplaceWrites)\n }\n\n /**\n * 返回变更登记(T2):写键值变化的产出。\n * runtime 的 collectDirectResult 用此填充 ExecutionResult.changed。\n * @returns 变更键名数组(undefined 表示无变更)。\n */\n getChanged(): string[] | undefined {\n return this.changedSet.size > 0 ? [...this.changedSet] : undefined\n }\n\n /** 收集调用实参里的裸标识符(append 前缀校验输入)。 */\n private collectRefs(callNode: ASTNode | undefined): string[] {\n const refs = new Set<string>()\n if (!callNode || callNode.type !== 'CallExpression') return []\n const walk = (n: ASTNode): void => {\n if (!n || typeof n !== 'object') return\n if (n.type === 'Identifier') {\n if (!['undefined', 'NaN', 'Infinity'].includes(n.name)) refs.add(n.name)\n return\n }\n if (n.type === 'MemberExpression') {\n walk(n.object)\n if (n.computed) walk(n.property)\n return\n }\n if (n.type === 'CallExpression') {\n // 嵌套调用内不视为本语句 input 引用(只读查询),与现状 collectStatementRefs 语义对齐——\n // 但 keep/依赖仍需要……现状是递归含 call args;这里保守按参数收集:\n for (const a of n.arguments ?? []) walk(a)\n return\n }\n if (n.type === 'Property') {\n walk(n.value)\n return\n }\n for (const k of Object.keys(n)) {\n if (k === 'loc' || k === 'start' || k === 'end' || k === 'range' || k === 'parent' || k === 'type') continue\n const v = n[k]\n if (Array.isArray(v)) for (const item of v) walk(item)\n else if (v && typeof v === 'object') walk(v)\n }\n }\n for (const a of callNode.arguments ?? []) walk(a)\n return [...refs]\n }\n}\n"]}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * exec-backend — execution backend seam for DirectExecutor units.
3
+ *
4
+ * Each transformed unit is executed by one of two backends:
5
+ * - VmBackend: wraps unit text into an async IIFE and compiles it with
6
+ * `new Function` (default; requires a JS VM with dynamic code eval).
7
+ * - InterpBackend: interprets the retained acorn AST directly (no eval /
8
+ * `new Function` / dynamic import — runs in restricted realms such as
9
+ * WeChat mini-program or strict CSP web).
10
+ *
11
+ * The backend is chosen statically at construction; there is no runtime
12
+ * fallback (same discipline as the BREP/mesh chain dispatch).
13
+ *
14
+ * This module intentionally imports nothing from direct-executor.ts (the
15
+ * executor imports FROM here) — keeps the package graph acyclic.
16
+ */
17
+ /** Acorn AST node (loosely typed; backends treat the AST opaquely). */
18
+ export type ASTNode = any;
19
+ /**
20
+ * 变换后的执行单元(DirectExecutor 管线产出)。
21
+ * `body` 文本仅供 VmBackend;`node` AST 引用仅供 InterpBackend。
22
+ */
23
+ export interface TransformedUnit {
24
+ lineNo: number;
25
+ /** 变换后的可执行语句文本(嵌入 async wrapper 的 body;VmBackend 专用) */
26
+ body: string;
27
+ /** 本单元写入的 ctx 键 */
28
+ writes: string[];
29
+ /** 本单元引用的变量名(append 前缀校验;来自实参裸标识符) */
30
+ refs: string[];
31
+ callee?: string;
32
+ /** 是否为控制流块单元(T1:for/if/while/do/switch/裸块等) */
33
+ isBlock?: boolean;
34
+ /** 单元结束行号(闭区间;transformTopNode 统一填充) */
35
+ endLine: number;
36
+ /** 顶层语句 AST 引用(InterpBackend 专用;VmBackend 忽略) */
37
+ node?: ASTNode;
38
+ }
39
+ /** 结构化命名空间视图(DirectExecutor `Namespaces` 的宽松投影,避免模块环)。 */
40
+ export interface ExecNamespaces {
41
+ readonly cad: unknown;
42
+ readonly [binding: string]: unknown;
43
+ }
44
+ /** 执行宿主:后端执行一个单元所需的全部运行期状态。 */
45
+ export interface ExecHost {
46
+ /** 持久变量容器(变量读写唯一持久层) */
47
+ ctx: Record<string, unknown>;
48
+ /** 命名空间绑定(cad + registerLib 注册库) */
49
+ namespaces: ExecNamespaces;
50
+ /** 几何值判定(裸调用原地写回双条件守卫,P25 §3.7 规则 2) */
51
+ isGeom: (v: unknown) => boolean;
52
+ }
53
+ /**
54
+ * 执行后端:执行一个变换后的单元。
55
+ * 锚点(setCurrentStmt)与 keep-sink 由 DirectExecutor 在调用前设置,后端不负责。
56
+ */
57
+ export interface ExecBackend {
58
+ runUnit(unit: TransformedUnit, host: ExecHost): Promise<void>;
59
+ }
60
+ /** 执行后端选择(静态选定,无运行时回退)。 */
61
+ export type ExecBackendChoice = 'vm' | 'interpreter';
62
+ //# sourceMappingURL=exec-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec-backend.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/exec-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,MAAM,MAAM,OAAO,GAAG,GAAG,CAAA;AAEzB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB;IACnB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,0DAA0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;CACpC;AAED,+BAA+B;AAC/B,MAAM,WAAW,QAAQ;IACvB,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,oCAAoC;IACpC,UAAU,EAAE,cAAc,CAAA;IAC1B,wCAAwC;IACxC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D;AAED,2BAA2B;AAC3B,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,aAAa,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * exec-backend — execution backend seam for DirectExecutor units.
3
+ *
4
+ * Each transformed unit is executed by one of two backends:
5
+ * - VmBackend: wraps unit text into an async IIFE and compiles it with
6
+ * `new Function` (default; requires a JS VM with dynamic code eval).
7
+ * - InterpBackend: interprets the retained acorn AST directly (no eval /
8
+ * `new Function` / dynamic import — runs in restricted realms such as
9
+ * WeChat mini-program or strict CSP web).
10
+ *
11
+ * The backend is chosen statically at construction; there is no runtime
12
+ * fallback (same discipline as the BREP/mesh chain dispatch).
13
+ *
14
+ * This module intentionally imports nothing from direct-executor.ts (the
15
+ * executor imports FROM here) — keeps the package graph acyclic.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=exec-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec-backend.js","sourceRoot":"","sources":["../../src/cad-runtime/exec-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/**\n * exec-backend — execution backend seam for DirectExecutor units.\n *\n * Each transformed unit is executed by one of two backends:\n * - VmBackend: wraps unit text into an async IIFE and compiles it with\n * `new Function` (default; requires a JS VM with dynamic code eval).\n * - InterpBackend: interprets the retained acorn AST directly (no eval /\n * `new Function` / dynamic import — runs in restricted realms such as\n * WeChat mini-program or strict CSP web).\n *\n * The backend is chosen statically at construction; there is no runtime\n * fallback (same discipline as the BREP/mesh chain dispatch).\n *\n * This module intentionally imports nothing from direct-executor.ts (the\n * executor imports FROM here) — keeps the package graph acyclic.\n */\n\n/** Acorn AST node (loosely typed; backends treat the AST opaquely). */\nexport type ASTNode = any\n\n/**\n * 变换后的执行单元(DirectExecutor 管线产出)。\n * `body` 文本仅供 VmBackend;`node` AST 引用仅供 InterpBackend。\n */\nexport interface TransformedUnit {\n lineNo: number\n /** 变换后的可执行语句文本(嵌入 async wrapper 的 body;VmBackend 专用) */\n body: string\n /** 本单元写入的 ctx 键 */\n writes: string[]\n /** 本单元引用的变量名(append 前缀校验;来自实参裸标识符) */\n refs: string[]\n callee?: string\n /** 是否为控制流块单元(T1:for/if/while/do/switch/裸块等) */\n isBlock?: boolean\n /** 单元结束行号(闭区间;transformTopNode 统一填充) */\n endLine: number\n /** 顶层语句 AST 引用(InterpBackend 专用;VmBackend 忽略) */\n node?: ASTNode\n}\n\n/** 结构化命名空间视图(DirectExecutor `Namespaces` 的宽松投影,避免模块环)。 */\nexport interface ExecNamespaces {\n readonly cad: unknown\n readonly [binding: string]: unknown\n}\n\n/** 执行宿主:后端执行一个单元所需的全部运行期状态。 */\nexport interface ExecHost {\n /** 持久变量容器(变量读写唯一持久层) */\n ctx: Record<string, unknown>\n /** 命名空间绑定(cad + registerLib 注册库) */\n namespaces: ExecNamespaces\n /** 几何值判定(裸调用原地写回双条件守卫,P25 §3.7 规则 2) */\n isGeom: (v: unknown) => boolean\n}\n\n/**\n * 执行后端:执行一个变换后的单元。\n * 锚点(setCurrentStmt)与 keep-sink 由 DirectExecutor 在调用前设置,后端不负责。\n */\nexport interface ExecBackend {\n runUnit(unit: TransformedUnit, host: ExecHost): Promise<void>\n}\n\n/** 执行后端选择(静态选定,无运行时回退)。 */\nexport type ExecBackendChoice = 'vm' | 'interpreter'\n"]}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * interp-backend — AST interpreter execution backend.
3
+ *
4
+ * Executes transformed units directly on the retained acorn AST: no `new
5
+ * Function`, no `eval`, no dynamic import — the only execution backend that
6
+ * runs in restricted realms (WeChat mini-program, strict CSP web).
7
+ *
8
+ * Contract with DirectExecutor (must stay observably identical to VmBackend):
9
+ * - the persistent ctx IS the variable container (root env, D1);
10
+ * - top-level function declarations were hoisted into ctx as async closures
11
+ * by transformFunction in the vm path — here the FunctionDeclaration unit
12
+ * creates an InterpClosure in ctx with the same name/params;
13
+ * - block units share the root env (R-5 v1, no nested scopes);
14
+ * - bare-call geometric writeback is performed by DirectExecutor's transform
15
+ * for the vm path; the interpreter mirrors it here (double condition on
16
+ * host.isGeom) using unit.writes[0] as the static candidate target.
17
+ */
18
+ import type { ExecBackend, ExecHost, TransformedUnit } from '../exec-backend.js';
19
+ /**
20
+ * AST-interpreter execution backend: runs transformed units directly on the
21
+ * retained acorn AST. No `new Function`, no `eval`, no dynamic `import()` —
22
+ * the backend for restricted realms (WeChat mini-program / strict CSP).
23
+ * Semantics contract: observably identical to VmBackend (see the differential
24
+ * suite exec-backend-diff.test.ts).
25
+ */
26
+ export declare class InterpBackend implements ExecBackend {
27
+ runUnit(unit: TransformedUnit, host: ExecHost): Promise<void>;
28
+ /** Bare call with a static writeback candidate (P25 §3.7 rule 2): run the
29
+ * call, then apply the runtime double condition
30
+ * isGeom(result) && isGeom(ctx[target]) before writing back.
31
+ * Re-assignments (`x = call`) are NOT bare calls — they assign
32
+ * unconditionally through execStmt, matching the vm path. */
33
+ private isBareCallWithWriteback;
34
+ private runBareCallWriteback;
35
+ }
36
+ //# sourceMappingURL=interp-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interp-backend.d.ts","sourceRoot":"","sources":["../../../src/cad-runtime/exec-backends/interp-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAW,MAAM,iBAAiB,CAAA;AAYtF;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,WAAW;IACzC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDnE;;;;kEAI8D;IAC9D,OAAO,CAAC,uBAAuB;YAQjB,oBAAoB;CAanC"}
@@ -0,0 +1,91 @@
1
+ import { InterpEnv } from '../interp/env.js';
2
+ import { BreakSignal, ContinueSignal, isControlSignal } from '../interp/signals.js';
3
+ import { evalExpr } from '../interp/eval-expr.js';
4
+ import { execBody, execStmt } from '../interp/exec-stmt.js';
5
+ import { InterpClosure } from '../interp/closure.js';
6
+ /** Default closure recursion cap (matches the vm path's natural stack limit
7
+ * order of magnitude; tuned by the perf-budget test). */
8
+ const MAX_CLOSURE_DEPTH = 200;
9
+ /**
10
+ * AST-interpreter execution backend: runs transformed units directly on the
11
+ * retained acorn AST. No `new Function`, no `eval`, no dynamic `import()` —
12
+ * the backend for restricted realms (WeChat mini-program / strict CSP).
13
+ * Semantics contract: observably identical to VmBackend (see the differential
14
+ * suite exec-backend-diff.test.ts).
15
+ */
16
+ export class InterpBackend {
17
+ async runUnit(unit, host) {
18
+ const node = unit.node;
19
+ if (!node) {
20
+ throw new Error('E_INTERNAL: interpreter backend requires the AST node on the transformed unit');
21
+ }
22
+ const state = {
23
+ host,
24
+ depth: 0,
25
+ maxDepth: MAX_CLOSURE_DEPTH,
26
+ evalExpr: (n, env) => evalExpr(n, env, state),
27
+ execBody: (body, env) => execBody(body, env, state),
28
+ };
29
+ const env = new InterpEnv('root', host.ctx, host.namespaces);
30
+ try {
31
+ switch (node.type) {
32
+ case 'FunctionDeclaration': {
33
+ const name = node.id?.name;
34
+ if (!name)
35
+ throw new Error('E_STATEMENT: function declaration must have a name');
36
+ host.ctx[name] = new InterpClosure(node, env);
37
+ return;
38
+ }
39
+ case 'VariableDeclaration':
40
+ case 'ExpressionStatement':
41
+ case 'BlockStatement':
42
+ case 'IfStatement':
43
+ case 'ForStatement':
44
+ case 'ForOfStatement':
45
+ case 'ForInStatement':
46
+ case 'WhileStatement':
47
+ case 'DoWhileStatement':
48
+ case 'SwitchStatement':
49
+ case 'TryStatement':
50
+ case 'ThrowStatement':
51
+ case 'LabeledStatement':
52
+ case 'EmptyStatement':
53
+ if (node.type === 'ExpressionStatement' && this.isBareCallWithWriteback(node, unit)) {
54
+ await this.runBareCallWriteback(node, unit, env, state, host);
55
+ return;
56
+ }
57
+ await execStmt(node, env, state);
58
+ return;
59
+ default:
60
+ throw new Error(`E_UNSUPPORTED_SYNTAX: top-level statement ${node.type} is not supported by the interpreter backend`);
61
+ }
62
+ }
63
+ catch (e) {
64
+ // a control signal escaping a unit boundary is an interpreter bug, not a
65
+ // user-visible error — convert to a plain internal error
66
+ if (isControlSignal(e)) {
67
+ const kind = e instanceof BreakSignal ? 'break' : e instanceof ContinueSignal ? 'continue' : 'return';
68
+ throw new Error(`E_INTERNAL: ${kind} signal escaped unit boundary (line ${unit.lineNo})`, { cause: e });
69
+ }
70
+ throw e;
71
+ }
72
+ }
73
+ /** Bare call with a static writeback candidate (P25 §3.7 rule 2): run the
74
+ * call, then apply the runtime double condition
75
+ * isGeom(result) && isGeom(ctx[target]) before writing back.
76
+ * Re-assignments (`x = call`) are NOT bare calls — they assign
77
+ * unconditionally through execStmt, matching the vm path. */
78
+ isBareCallWithWriteback(node, unit) {
79
+ return (node.expression?.type === 'CallExpression' &&
80
+ unit.callee !== undefined &&
81
+ (unit.writes?.length ?? 0) > 0);
82
+ }
83
+ async runBareCallWriteback(node, unit, env, state, host) {
84
+ const result = await evalExpr(node.expression, env, state);
85
+ const target = unit.writes[0];
86
+ if (host.isGeom(result) && host.isGeom(host.ctx[target])) {
87
+ host.ctx[target] = result;
88
+ }
89
+ }
90
+ }
91
+ //# sourceMappingURL=interp-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interp-backend.js","sourceRoot":"","sources":["../../../src/cad-runtime/exec-backends/interp-backend.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD;0DAC0D;AAC1D,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IACxB,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,IAAc;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAA2B,CAAA;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAA;QAClG,CAAC;QACD,MAAM,KAAK,GAAgB;YACzB,IAAI;YACJ,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,CAAC,CAAU,EAAE,GAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;YACjE,QAAQ,EAAE,CAAC,IAAe,EAAE,GAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;SAC1E,CAAA;QACD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAE5D,IAAI,CAAC;YACH,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAA;oBAC1B,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;oBAChF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC7C,OAAM;gBACR,CAAC;gBACD,KAAK,qBAAqB,CAAC;gBAC3B,KAAK,qBAAqB,CAAC;gBAC3B,KAAK,gBAAgB,CAAC;gBACtB,KAAK,aAAa,CAAC;gBACnB,KAAK,cAAc,CAAC;gBACpB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,iBAAiB,CAAC;gBACvB,KAAK,cAAc,CAAC;gBACpB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,gBAAgB;oBACnB,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;wBACpF,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;wBAC7D,OAAM;oBACR,CAAC;oBACD,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;oBAChC,OAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,CAAC,IAAI,8CAA8C,CAAC,CAAA;YACzH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,yEAAyE;YACzE,yDAAyD;YACzD,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAA;gBACrG,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,uCAAuC,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YACzG,CAAC;YACD,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAED;;;;kEAI8D;IACtD,uBAAuB,CAAC,IAAa,EAAE,IAAqB;QAClE,OAAO,CACL,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,gBAAgB;YAC1C,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAC/B,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,IAAa,EACb,IAAqB,EACrB,GAAc,EACd,KAAkB,EAClB,IAAc;QAEd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;QAC3B,CAAC;IACH,CAAC;CACF","sourcesContent":["/**\n * interp-backend — AST interpreter execution backend.\n *\n * Executes transformed units directly on the retained acorn AST: no `new\n * Function`, no `eval`, no dynamic import — the only execution backend that\n * runs in restricted realms (WeChat mini-program, strict CSP web).\n *\n * Contract with DirectExecutor (must stay observably identical to VmBackend):\n * - the persistent ctx IS the variable container (root env, D1);\n * - top-level function declarations were hoisted into ctx as async closures\n * by transformFunction in the vm path — here the FunctionDeclaration unit\n * creates an InterpClosure in ctx with the same name/params;\n * - block units share the root env (R-5 v1, no nested scopes);\n * - bare-call geometric writeback is performed by DirectExecutor's transform\n * for the vm path; the interpreter mirrors it here (double condition on\n * host.isGeom) using unit.writes[0] as the static candidate target.\n */\nimport type { ExecBackend, ExecHost, TransformedUnit, ASTNode } from '../exec-backend'\nimport { InterpEnv } from '../interp/env'\nimport type { InterpState } from '../interp/env'\nimport { BreakSignal, ContinueSignal, isControlSignal } from '../interp/signals'\nimport { evalExpr } from '../interp/eval-expr'\nimport { execBody, execStmt } from '../interp/exec-stmt'\nimport { InterpClosure } from '../interp/closure'\n\n/** Default closure recursion cap (matches the vm path's natural stack limit\n * order of magnitude; tuned by the perf-budget test). */\nconst MAX_CLOSURE_DEPTH = 200\n\n/**\n * AST-interpreter execution backend: runs transformed units directly on the\n * retained acorn AST. No `new Function`, no `eval`, no dynamic `import()` —\n * the backend for restricted realms (WeChat mini-program / strict CSP).\n * Semantics contract: observably identical to VmBackend (see the differential\n * suite exec-backend-diff.test.ts).\n */\nexport class InterpBackend implements ExecBackend {\n async runUnit(unit: TransformedUnit, host: ExecHost): Promise<void> {\n const node = unit.node as ASTNode | undefined\n if (!node) {\n throw new Error('E_INTERNAL: interpreter backend requires the AST node on the transformed unit')\n }\n const state: InterpState = {\n host,\n depth: 0,\n maxDepth: MAX_CLOSURE_DEPTH,\n evalExpr: (n: ASTNode, env: InterpEnv) => evalExpr(n, env, state),\n execBody: (body: ASTNode[], env: InterpEnv) => execBody(body, env, state),\n }\n const env = new InterpEnv('root', host.ctx, host.namespaces)\n\n try {\n switch (node.type) {\n case 'FunctionDeclaration': {\n const name = node.id?.name\n if (!name) throw new Error('E_STATEMENT: function declaration must have a name')\n host.ctx[name] = new InterpClosure(node, env)\n return\n }\n case 'VariableDeclaration':\n case 'ExpressionStatement':\n case 'BlockStatement':\n case 'IfStatement':\n case 'ForStatement':\n case 'ForOfStatement':\n case 'ForInStatement':\n case 'WhileStatement':\n case 'DoWhileStatement':\n case 'SwitchStatement':\n case 'TryStatement':\n case 'ThrowStatement':\n case 'LabeledStatement':\n case 'EmptyStatement':\n if (node.type === 'ExpressionStatement' && this.isBareCallWithWriteback(node, unit)) {\n await this.runBareCallWriteback(node, unit, env, state, host)\n return\n }\n await execStmt(node, env, state)\n return\n default:\n throw new Error(`E_UNSUPPORTED_SYNTAX: top-level statement ${node.type} is not supported by the interpreter backend`)\n }\n } catch (e) {\n // a control signal escaping a unit boundary is an interpreter bug, not a\n // user-visible error — convert to a plain internal error\n if (isControlSignal(e)) {\n const kind = e instanceof BreakSignal ? 'break' : e instanceof ContinueSignal ? 'continue' : 'return'\n throw new Error(`E_INTERNAL: ${kind} signal escaped unit boundary (line ${unit.lineNo})`, { cause: e })\n }\n throw e\n }\n }\n\n /** Bare call with a static writeback candidate (P25 §3.7 rule 2): run the\n * call, then apply the runtime double condition\n * isGeom(result) && isGeom(ctx[target]) before writing back.\n * Re-assignments (`x = call`) are NOT bare calls — they assign\n * unconditionally through execStmt, matching the vm path. */\n private isBareCallWithWriteback(node: ASTNode, unit: TransformedUnit): boolean {\n return (\n node.expression?.type === 'CallExpression' &&\n unit.callee !== undefined &&\n (unit.writes?.length ?? 0) > 0\n )\n }\n\n private async runBareCallWriteback(\n node: ASTNode,\n unit: TransformedUnit,\n env: InterpEnv,\n state: InterpState,\n host: ExecHost,\n ): Promise<void> {\n const result = await evalExpr(node.expression, env, state)\n const target = unit.writes[0]\n if (host.isGeom(result) && host.isGeom(host.ctx[target])) {\n host.ctx[target] = result\n }\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * vm-backend — default execution backend.
3
+ *
4
+ * Wraps the transformed unit text into an async IIFE and compiles it with
5
+ * `new Function` against the shared ctx/namespaces. This file is the ONLY
6
+ * place in core where `new Function` is permitted (guard script, §6.4 of the
7
+ * no-eval backend design); SDF compilation is the other sanctioned site.
8
+ */
9
+ import type { ExecBackend, ExecHost, TransformedUnit } from '../exec-backend.js';
10
+ /**
11
+ * VM execution backend: compiles the transformed unit text with `new Function`
12
+ * against the shared ctx/namespaces. The default backend for unrestricted
13
+ * realms; do NOT use in environments that forbid dynamic code generation
14
+ * (WeChat mini-program / strict CSP) — choose the interpreter backend there.
15
+ */
16
+ export declare class VmBackend implements ExecBackend {
17
+ runUnit(unit: TransformedUnit, host: ExecHost): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=vm-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-backend.d.ts","sourceRoot":"","sources":["../../../src/cad-runtime/exec-backends/vm-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE7E;;;;;GAKG;AACH,qBAAa,SAAU,YAAW,WAAW;IACrC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAOpE"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * VM execution backend: compiles the transformed unit text with `new Function`
3
+ * against the shared ctx/namespaces. The default backend for unrestricted
4
+ * realms; do NOT use in environments that forbid dynamic code generation
5
+ * (WeChat mini-program / strict CSP) — choose the interpreter backend there.
6
+ */
7
+ export class VmBackend {
8
+ async runUnit(unit, host) {
9
+ const src = `return (async () => {\n${unit.body}\n})()`;
10
+ // P25 §3.7 规则 2:第三参数 '__isGeom'(几何值守卫)——裸调用原地写回的
11
+ // 双条件运行时判定(返回值/原值都是几何才写回)。
12
+ const fn = new Function('__ctx', '__ns', '__isGeom', src);
13
+ await fn(host.ctx, host.namespaces, host.isGeom);
14
+ }
15
+ }
16
+ //# sourceMappingURL=vm-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-backend.js","sourceRoot":"","sources":["../../../src/cad-runtime/exec-backends/vm-backend.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACpB,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,IAAc;QACjD,MAAM,GAAG,GAAG,0BAA0B,IAAI,CAAC,IAAI,QAAQ,CAAA;QACvD,iDAAiD;QACjD,2BAA2B;QAC3B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QACzD,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC;CACF","sourcesContent":["/**\n * vm-backend — default execution backend.\n *\n * Wraps the transformed unit text into an async IIFE and compiles it with\n * `new Function` against the shared ctx/namespaces. This file is the ONLY\n * place in core where `new Function` is permitted (guard script, §6.4 of the\n * no-eval backend design); SDF compilation is the other sanctioned site.\n */\nimport type { ExecBackend, ExecHost, TransformedUnit } from '../exec-backend'\n\n/**\n * VM execution backend: compiles the transformed unit text with `new Function`\n * against the shared ctx/namespaces. The default backend for unrestricted\n * realms; do NOT use in environments that forbid dynamic code generation\n * (WeChat mini-program / strict CSP) — choose the interpreter backend there.\n */\nexport class VmBackend implements ExecBackend {\n async runUnit(unit: TransformedUnit, host: ExecHost): Promise<void> {\n const src = `return (async () => {\\n${unit.body}\\n})()`\n // P25 §3.7 规则 2:第三参数 '__isGeom'(几何值守卫)——裸调用原地写回的\n // 双条件运行时判定(返回值/原值都是几何才写回)。\n const fn = new Function('__ctx', '__ns', '__isGeom', src)\n await fn(host.ctx, host.namespaces, host.isGeom)\n }\n}\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * execution-limit-error — 整轮执行超时错误(§6.3 / D8)
3
+ *
4
+ * 独立叶子文件:DirectExecutor(单元循环内检查)与 CadRuntime(module 路径
5
+ * runWithFailureHandling 的 Promise.race)共用,避免 runtime ↔ direct-executor
6
+ * 循环依赖。code = 'E_EXEC_LIMIT'(宿主可按 code 识别,区别于普通执行错误)。
7
+ */
8
+ export declare class ExecutionLimitError extends Error {
9
+ /** 宿主可按 code 识别的错误码:'E_EXEC_LIMIT'。 */
10
+ readonly code = "E_EXEC_LIMIT";
11
+ constructor(timeoutMs: number);
12
+ }
13
+ //# sourceMappingURL=execution-limit-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-limit-error.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/execution-limit-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,uCAAuC;IACvC,QAAQ,CAAC,IAAI,kBAAiB;gBAClB,SAAS,EAAE,MAAM;CAI9B"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * execution-limit-error — 整轮执行超时错误(§6.3 / D8)
3
+ *
4
+ * 独立叶子文件:DirectExecutor(单元循环内检查)与 CadRuntime(module 路径
5
+ * runWithFailureHandling 的 Promise.race)共用,避免 runtime ↔ direct-executor
6
+ * 循环依赖。code = 'E_EXEC_LIMIT'(宿主可按 code 识别,区别于普通执行错误)。
7
+ */
8
+ export class ExecutionLimitError extends Error {
9
+ /** 宿主可按 code 识别的错误码:'E_EXEC_LIMIT'。 */
10
+ code = 'E_EXEC_LIMIT';
11
+ constructor(timeoutMs) {
12
+ super(`[faijs] execution timed out after ${timeoutMs}ms`);
13
+ this.name = 'ExecutionLimitError';
14
+ }
15
+ }
16
+ //# sourceMappingURL=execution-limit-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-limit-error.js","sourceRoot":"","sources":["../../src/cad-runtime/execution-limit-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,uCAAuC;IAC9B,IAAI,GAAG,cAAc,CAAA;IAC9B,YAAY,SAAiB;QAC3B,KAAK,CAAC,qCAAqC,SAAS,IAAI,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF","sourcesContent":["/**\n * execution-limit-error — 整轮执行超时错误(§6.3 / D8)\n *\n * 独立叶子文件:DirectExecutor(单元循环内检查)与 CadRuntime(module 路径\n * runWithFailureHandling 的 Promise.race)共用,避免 runtime ↔ direct-executor\n * 循环依赖。code = 'E_EXEC_LIMIT'(宿主可按 code 识别,区别于普通执行错误)。\n */\nexport class ExecutionLimitError extends Error {\n /** 宿主可按 code 识别的错误码:'E_EXEC_LIMIT'。 */\n readonly code = 'E_EXEC_LIMIT'\n constructor(timeoutMs: number) {\n super(`[faijs] execution timed out after ${timeoutMs}ms`)\n this.name = 'ExecutionLimitError'\n }\n}\n"]}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * cad-runtime — L2 编排层公开 API
3
+ *
4
+ */
5
+ export { CadRuntime, createRuntime, computeContentKey } from './runtime.js';
6
+ export { createPreviewExec } from './preview-exec.js';
7
+ export type { PreviewExec } from './preview-exec.js';
8
+ export type { ExecutionResult, ExecuteOptions, CheckResult, CheckError, } from './runtime.js';
9
+ export type { HostPorts, CsgBackend, SdfBackend, FontProvider, TextureSampler, AssetResolver, EventSink, ExecutionMode, MeshData, PlaneParams, SplitResult, DovetailGrooveParams, DowelSplitParams, StraightTenonSplitParams, } from './ports.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,YAAY,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,SAAS,CAAA"}