@faicad/faijs 0.33.2 → 0.35.8

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 (429) hide show
  1. package/dist/api/api-namespace.d.ts +14 -14
  2. package/dist/api/api-namespace.d.ts.map +1 -1
  3. package/dist/api/api-namespace.js +40 -14
  4. package/dist/api/api-namespace.js.map +1 -1
  5. package/dist/api/appearance.d.ts +47 -6
  6. package/dist/api/appearance.d.ts.map +1 -1
  7. package/dist/api/appearance.js.map +1 -1
  8. package/dist/api/assembly/entities.js +14 -4
  9. package/dist/api/assembly/entities.js.map +1 -1
  10. package/dist/api/assembly/solve-tree.d.ts +1 -0
  11. package/dist/api/assembly/solve-tree.d.ts.map +1 -1
  12. package/dist/api/assembly/solve-tree.js +42 -17
  13. package/dist/api/assembly/solve-tree.js.map +1 -1
  14. package/dist/api/assembly/solve.d.ts +1 -0
  15. package/dist/api/assembly/solve.d.ts.map +1 -1
  16. package/dist/api/assembly/solve.js.map +1 -1
  17. package/dist/api/assembly/solvers/global-solver.d.ts.map +1 -1
  18. package/dist/api/assembly/solvers/global-solver.js +130 -23
  19. package/dist/api/assembly/solvers/global-solver.js.map +1 -1
  20. package/dist/api/assembly/solvers/pose-from-delta.d.ts +9 -0
  21. package/dist/api/assembly/solvers/pose-from-delta.d.ts.map +1 -1
  22. package/dist/api/assembly/solvers/pose-from-delta.js +23 -0
  23. package/dist/api/assembly/solvers/pose-from-delta.js.map +1 -1
  24. package/dist/api/assembly/solvers/types.d.ts +20 -2
  25. package/dist/api/assembly/solvers/types.d.ts.map +1 -1
  26. package/dist/api/assembly/solvers/types.js.map +1 -1
  27. package/dist/api/chamfer.d.ts +7 -4
  28. package/dist/api/chamfer.d.ts.map +1 -1
  29. package/dist/api/chamfer.js +57 -13
  30. package/dist/api/chamfer.js.map +1 -1
  31. package/dist/api/draft.d.ts +7 -4
  32. package/dist/api/draft.d.ts.map +1 -1
  33. package/dist/api/draft.js +11 -6
  34. package/dist/api/draft.js.map +1 -1
  35. package/dist/api/edge-ref.d.ts +4 -4
  36. package/dist/api/edge-ref.js +4 -4
  37. package/dist/api/edge-ref.js.map +1 -1
  38. package/dist/api/extrude.d.ts +10 -6
  39. package/dist/api/extrude.d.ts.map +1 -1
  40. package/dist/api/extrude.js +54 -26
  41. package/dist/api/extrude.js.map +1 -1
  42. package/dist/api/face-ref.d.ts +4 -4
  43. package/dist/api/face-ref.js +4 -4
  44. package/dist/api/face-ref.js.map +1 -1
  45. package/dist/api/feature-repair.d.ts +6 -3
  46. package/dist/api/feature-repair.d.ts.map +1 -1
  47. package/dist/api/feature-repair.js +12 -7
  48. package/dist/api/feature-repair.js.map +1 -1
  49. package/dist/api/fillet-variable.d.ts +6 -2
  50. package/dist/api/fillet-variable.d.ts.map +1 -1
  51. package/dist/api/fillet-variable.js +24 -6
  52. package/dist/api/fillet-variable.js.map +1 -1
  53. package/dist/api/fillet.d.ts +7 -4
  54. package/dist/api/fillet.d.ts.map +1 -1
  55. package/dist/api/fillet.js +92 -12
  56. package/dist/api/fillet.js.map +1 -1
  57. package/dist/api/generated/script-face-manifest.js +1 -1
  58. package/dist/api/generated/script-face-manifest.js.map +1 -1
  59. package/dist/api/generated/topology.js +1 -1
  60. package/dist/api/generated/topology.js.map +1 -1
  61. package/dist/api/helix.d.ts +13 -13
  62. package/dist/api/helix.d.ts.map +1 -1
  63. package/dist/api/helix.js +19 -24
  64. package/dist/api/helix.js.map +1 -1
  65. package/dist/api/import-brep.d.ts +10 -18
  66. package/dist/api/import-brep.d.ts.map +1 -1
  67. package/dist/api/import-brep.js +17 -25
  68. package/dist/api/import-brep.js.map +1 -1
  69. package/dist/api/import-step.d.ts +10 -15
  70. package/dist/api/import-step.d.ts.map +1 -1
  71. package/dist/api/import-step.js +24 -29
  72. package/dist/api/import-step.js.map +1 -1
  73. package/dist/api/index.js +2 -2
  74. package/dist/api/index.js.map +1 -1
  75. package/dist/api/internal/export-members.js.map +1 -1
  76. package/dist/api/loft-advanced.d.ts +4 -0
  77. package/dist/api/loft-advanced.d.ts.map +1 -1
  78. package/dist/api/loft-advanced.js +4 -0
  79. package/dist/api/loft-advanced.js.map +1 -1
  80. package/dist/api/loft.d.ts +5 -3
  81. package/dist/api/loft.d.ts.map +1 -1
  82. package/dist/api/loft.js +5 -3
  83. package/dist/api/loft.js.map +1 -1
  84. package/dist/api/meta.d.ts +42 -6
  85. package/dist/api/meta.d.ts.map +1 -1
  86. package/dist/api/meta.js.map +1 -1
  87. package/dist/api/primitives.d.ts +3 -2
  88. package/dist/api/primitives.d.ts.map +1 -1
  89. package/dist/api/primitives.js +3 -2
  90. package/dist/api/primitives.js.map +1 -1
  91. package/dist/api/punch-hole.d.ts +5 -2
  92. package/dist/api/punch-hole.d.ts.map +1 -1
  93. package/dist/api/punch-hole.js +4 -1
  94. package/dist/api/punch-hole.js.map +1 -1
  95. package/dist/api/replicate.d.ts +4 -5
  96. package/dist/api/replicate.d.ts.map +1 -1
  97. package/dist/api/replicate.js +4 -5
  98. package/dist/api/replicate.js.map +1 -1
  99. package/dist/api/selectors-to-refs.d.ts +83 -0
  100. package/dist/api/selectors-to-refs.d.ts.map +1 -0
  101. package/dist/api/selectors-to-refs.js +211 -0
  102. package/dist/api/selectors-to-refs.js.map +1 -0
  103. package/dist/api/shell.d.ts +17 -8
  104. package/dist/api/shell.d.ts.map +1 -1
  105. package/dist/api/shell.js +45 -15
  106. package/dist/api/shell.js.map +1 -1
  107. package/dist/api/sketch-on-face.d.ts +12 -6
  108. package/dist/api/sketch-on-face.d.ts.map +1 -1
  109. package/dist/api/sketch-on-face.js +31 -4
  110. package/dist/api/sketch-on-face.js.map +1 -1
  111. package/dist/api/sketch-on-plane.d.ts +3 -0
  112. package/dist/api/sketch-on-plane.d.ts.map +1 -1
  113. package/dist/api/sketch-on-plane.js +3 -0
  114. package/dist/api/sketch-on-plane.js.map +1 -1
  115. package/dist/api/sketch-on-surface.d.ts +4 -1
  116. package/dist/api/sketch-on-surface.d.ts.map +1 -1
  117. package/dist/api/sketch-on-surface.js +4 -1
  118. package/dist/api/sketch-on-surface.js.map +1 -1
  119. package/dist/api/surface/arg-spec.d.ts.map +1 -1
  120. package/dist/api/surface/arg-spec.js +5 -6
  121. package/dist/api/surface/arg-spec.js.map +1 -1
  122. package/dist/api/topo-resolve.d.ts.map +1 -1
  123. package/dist/api/topo-resolve.js +24 -5
  124. package/dist/api/topo-resolve.js.map +1 -1
  125. package/dist/api/view/view-projection.d.ts.map +1 -1
  126. package/dist/api/view/view-projection.js +9 -2
  127. package/dist/api/view/view-projection.js.map +1 -1
  128. package/dist/brep/brep-chain.js +2 -2
  129. package/dist/brep/brep-chain.js.map +1 -1
  130. package/dist/brep/brep-ops.d.ts +1 -1
  131. package/dist/brep/brep-ops.js +1 -1
  132. package/dist/brep/brep-ops.js.map +1 -1
  133. package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -1
  134. package/dist/brep/engine/adapters/brep-mock.js +45 -0
  135. package/dist/brep/engine/adapters/brep-mock.js.map +1 -1
  136. package/dist/brep/engine/primitives.d.ts +87 -3
  137. package/dist/brep/engine/primitives.d.ts.map +1 -1
  138. package/dist/brep/engine/primitives.js +1 -1
  139. package/dist/brep/engine/primitives.js.map +1 -1
  140. package/dist/brep/engine/registry.d.ts +33 -7
  141. package/dist/brep/engine/registry.d.ts.map +1 -1
  142. package/dist/brep/engine/registry.js +47 -16
  143. package/dist/brep/engine/registry.js.map +1 -1
  144. package/dist/brep/handle-bridge.d.ts +14 -15
  145. package/dist/brep/handle-bridge.d.ts.map +1 -1
  146. package/dist/brep/handle-bridge.js +35 -15
  147. package/dist/brep/handle-bridge.js.map +1 -1
  148. package/dist/brep/primitives-brep.js +2 -2
  149. package/dist/brep/primitives-brep.js.map +1 -1
  150. package/dist/brep/text/text-to-solid.d.ts +40 -3
  151. package/dist/brep/text/text-to-solid.d.ts.map +1 -1
  152. package/dist/brep/text/text-to-solid.js +104 -24
  153. package/dist/brep/text/text-to-solid.js.map +1 -1
  154. package/dist/brepkit-kernel/brepkitKernel.d.ts +2 -2
  155. package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -1
  156. package/dist/brepkit-kernel/brepkitKernel.js +328 -38
  157. package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
  158. package/dist/brepkit-kernel/brepkitWasm.d.ts +3 -1
  159. package/dist/brepkit-kernel/brepkitWasm.d.ts.map +1 -1
  160. package/dist/brepkit-kernel/brepkitWasm.js +13 -9
  161. package/dist/brepkit-kernel/brepkitWasm.js.map +1 -1
  162. package/dist/brepkit-kernel/multi-version-test.d.ts +2 -2
  163. package/dist/brepkit-kernel/multi-version-test.d.ts.map +1 -1
  164. package/dist/brepkit-kernel/multi-version-test.js +6 -6
  165. package/dist/brepkit-kernel/multi-version-test.js.map +1 -1
  166. package/dist/browser.d.ts +2 -3
  167. package/dist/browser.d.ts.map +1 -1
  168. package/dist/browser.js +1 -2
  169. package/dist/browser.js.map +1 -1
  170. package/dist/cad-runtime/admit-compat-lib.d.ts +9 -1
  171. package/dist/cad-runtime/admit-compat-lib.d.ts.map +1 -1
  172. package/dist/cad-runtime/admit-compat-lib.js +11 -1
  173. package/dist/cad-runtime/admit-compat-lib.js.map +1 -1
  174. package/dist/cad-runtime/browser-lib-loader.d.ts +16 -11
  175. package/dist/cad-runtime/browser-lib-loader.d.ts.map +1 -1
  176. package/dist/cad-runtime/browser-lib-loader.js +16 -8
  177. package/dist/cad-runtime/browser-lib-loader.js.map +1 -1
  178. package/dist/cad-runtime/direct-executor.d.ts +62 -5
  179. package/dist/cad-runtime/direct-executor.d.ts.map +1 -1
  180. package/dist/cad-runtime/direct-executor.js +617 -42
  181. package/dist/cad-runtime/direct-executor.js.map +1 -1
  182. package/dist/cad-runtime/interp/closure.d.ts +3 -2
  183. package/dist/cad-runtime/interp/closure.d.ts.map +1 -1
  184. package/dist/cad-runtime/interp/closure.js.map +1 -1
  185. package/dist/cad-runtime/interp/env.d.ts +9 -6
  186. package/dist/cad-runtime/interp/env.d.ts.map +1 -1
  187. package/dist/cad-runtime/interp/env.js +4 -2
  188. package/dist/cad-runtime/interp/env.js.map +1 -1
  189. package/dist/cad-runtime/lib-decl.d.ts +121 -0
  190. package/dist/cad-runtime/lib-decl.d.ts.map +1 -0
  191. package/dist/cad-runtime/lib-decl.js +100 -0
  192. package/dist/cad-runtime/lib-decl.js.map +1 -0
  193. package/dist/cad-runtime/ports.d.ts +12 -0
  194. package/dist/cad-runtime/ports.d.ts.map +1 -1
  195. package/dist/cad-runtime/ports.js.map +1 -1
  196. package/dist/cad-runtime/runtime.d.ts +59 -5
  197. package/dist/cad-runtime/runtime.d.ts.map +1 -1
  198. package/dist/cad-runtime/runtime.js +252 -20
  199. package/dist/cad-runtime/runtime.js.map +1 -1
  200. package/dist/extra/browser.d.ts +9 -0
  201. package/dist/extra/browser.d.ts.map +1 -0
  202. package/dist/extra/browser.js +9 -0
  203. package/dist/extra/browser.js.map +1 -0
  204. package/dist/extra/editor-ops.d.ts +22 -0
  205. package/dist/extra/editor-ops.d.ts.map +1 -0
  206. package/dist/extra/editor-ops.js +21 -0
  207. package/dist/extra/editor-ops.js.map +1 -0
  208. package/dist/extra/extras/svg-extrude.d.ts +45 -0
  209. package/dist/extra/extras/svg-extrude.d.ts.map +1 -0
  210. package/dist/extra/extras/svg-extrude.js +110 -0
  211. package/dist/extra/extras/svg-extrude.js.map +1 -0
  212. package/dist/extra/extras/text-cjk.d.ts +36 -0
  213. package/dist/extra/extras/text-cjk.d.ts.map +1 -0
  214. package/dist/extra/extras/text-cjk.js +86 -0
  215. package/dist/extra/extras/text-cjk.js.map +1 -0
  216. package/dist/extra/extras/text-geometry.d.ts +69 -0
  217. package/dist/extra/extras/text-geometry.d.ts.map +1 -0
  218. package/dist/extra/extras/text-geometry.js +188 -0
  219. package/dist/extra/extras/text-geometry.js.map +1 -0
  220. package/dist/extra/index.d.ts +40 -0
  221. package/dist/extra/index.d.ts.map +1 -0
  222. package/dist/extra/index.js +40 -0
  223. package/dist/extra/index.js.map +1 -0
  224. package/dist/extra/mesh/drill-hole/DrillHoleCore.d.ts +94 -0
  225. package/dist/extra/mesh/drill-hole/DrillHoleCore.d.ts.map +1 -0
  226. package/dist/extra/mesh/drill-hole/DrillHoleCore.js +282 -0
  227. package/dist/extra/mesh/drill-hole/DrillHoleCore.js.map +1 -0
  228. package/dist/extra/mesh/drill-hole/drill-types.d.ts +34 -0
  229. package/dist/extra/mesh/drill-hole/drill-types.d.ts.map +1 -0
  230. package/dist/extra/mesh/drill-hole/drill-types.js +7 -0
  231. package/dist/extra/mesh/drill-hole/drill-types.js.map +1 -0
  232. package/dist/extra/mesh/engrave-decoration.d.ts +42 -0
  233. package/dist/extra/mesh/engrave-decoration.d.ts.map +1 -0
  234. package/dist/extra/mesh/engrave-decoration.js +39 -0
  235. package/dist/extra/mesh/engrave-decoration.js.map +1 -0
  236. package/dist/extra/mesh/fai_drill.d.ts +21 -0
  237. package/dist/extra/mesh/fai_drill.d.ts.map +1 -0
  238. package/dist/extra/mesh/fai_drill.js +89 -0
  239. package/dist/extra/mesh/fai_drill.js.map +1 -0
  240. package/dist/extra/mesh/fai_extrude.d.ts +24 -0
  241. package/dist/extra/mesh/fai_extrude.d.ts.map +1 -0
  242. package/dist/extra/mesh/fai_extrude.js +42 -0
  243. package/dist/extra/mesh/fai_extrude.js.map +1 -0
  244. package/dist/extra/mesh/fai_split.d.ts +164 -0
  245. package/dist/extra/mesh/fai_split.d.ts.map +1 -0
  246. package/dist/extra/mesh/fai_split.js +269 -0
  247. package/dist/extra/mesh/fai_split.js.map +1 -0
  248. package/dist/extra/mesh/primitives.d.ts +29 -0
  249. package/dist/extra/mesh/primitives.d.ts.map +1 -0
  250. package/dist/extra/mesh/primitives.js +41 -0
  251. package/dist/extra/mesh/primitives.js.map +1 -0
  252. package/dist/extra/op-names.d.ts +37 -0
  253. package/dist/extra/op-names.d.ts.map +1 -0
  254. package/dist/extra/op-names.js +46 -0
  255. package/dist/extra/op-names.js.map +1 -0
  256. package/dist/extra/ops/compound.d.ts +140 -0
  257. package/dist/extra/ops/compound.d.ts.map +1 -0
  258. package/dist/extra/ops/compound.js +167 -0
  259. package/dist/extra/ops/compound.js.map +1 -0
  260. package/dist/extra/ops/copy.d.ts +40 -0
  261. package/dist/extra/ops/copy.d.ts.map +1 -0
  262. package/dist/extra/ops/copy.js +83 -0
  263. package/dist/extra/ops/copy.js.map +1 -0
  264. package/dist/extra/ops/fai_drill.d.ts +51 -0
  265. package/dist/extra/ops/fai_drill.d.ts.map +1 -0
  266. package/dist/extra/ops/fai_drill.js +233 -0
  267. package/dist/extra/ops/fai_drill.js.map +1 -0
  268. package/dist/extra/ops/fai_extrude.d.ts +36 -0
  269. package/dist/extra/ops/fai_extrude.d.ts.map +1 -0
  270. package/dist/extra/ops/fai_extrude.js +84 -0
  271. package/dist/extra/ops/fai_extrude.js.map +1 -0
  272. package/dist/extra/ops/fai_split.d.ts +46 -0
  273. package/dist/extra/ops/fai_split.d.ts.map +1 -0
  274. package/dist/extra/ops/fai_split.js +235 -0
  275. package/dist/extra/ops/fai_split.js.map +1 -0
  276. package/dist/extra/ops/load.d.ts +49 -0
  277. package/dist/extra/ops/load.d.ts.map +1 -0
  278. package/dist/extra/ops/load.js +423 -0
  279. package/dist/extra/ops/load.js.map +1 -0
  280. package/dist/extra/ops/svg-extrude.d.ts +32 -0
  281. package/dist/extra/ops/svg-extrude.d.ts.map +1 -0
  282. package/dist/extra/ops/svg-extrude.js +74 -0
  283. package/dist/extra/ops/svg-extrude.js.map +1 -0
  284. package/dist/extra/ops/text.d.ts +34 -0
  285. package/dist/extra/ops/text.d.ts.map +1 -0
  286. package/dist/extra/ops/text.js +100 -0
  287. package/dist/extra/ops/text.js.map +1 -0
  288. package/dist/geometry2d/bridge/lift-on-plane.d.ts +8 -5
  289. package/dist/geometry2d/bridge/lift-on-plane.d.ts.map +1 -1
  290. package/dist/geometry2d/bridge/lift-on-plane.js +8 -5
  291. package/dist/geometry2d/bridge/lift-on-plane.js.map +1 -1
  292. package/dist/index.d.ts +6 -2
  293. package/dist/index.d.ts.map +1 -1
  294. package/dist/index.js +8 -2
  295. package/dist/index.js.map +1 -1
  296. package/dist/lang/symbol-table.d.ts +3 -3
  297. package/dist/lang/symbol-table.generated.d.ts +10 -0
  298. package/dist/lang/symbol-table.generated.d.ts.map +1 -1
  299. package/dist/lang/symbol-table.generated.js +10 -0
  300. package/dist/lang/symbol-table.generated.js.map +1 -1
  301. package/dist/lang/symbol-table.js +3 -3
  302. package/dist/lang/symbol-table.js.map +1 -1
  303. package/dist/math3d/index.d.ts +1 -1
  304. package/dist/math3d/index.js +1 -1
  305. package/dist/math3d/index.js.map +1 -1
  306. package/dist/mesh/engrave.d.ts +2 -3
  307. package/dist/mesh/engrave.d.ts.map +1 -1
  308. package/dist/mesh/engrave.js +4 -11
  309. package/dist/mesh/engrave.js.map +1 -1
  310. package/dist/mesh/index.d.ts +0 -2
  311. package/dist/mesh/index.d.ts.map +1 -1
  312. package/dist/mesh/index.js +0 -2
  313. package/dist/mesh/index.js.map +1 -1
  314. package/dist/mesh/primitives.d.ts +7 -5
  315. package/dist/mesh/primitives.d.ts.map +1 -1
  316. package/dist/mesh/primitives.js +16 -9
  317. package/dist/mesh/primitives.js.map +1 -1
  318. package/dist/mesh/types.d.ts +4 -3
  319. package/dist/mesh/types.d.ts.map +1 -1
  320. package/dist/mesh/types.js.map +1 -1
  321. package/dist/node-host/cli.d.ts +11 -4
  322. package/dist/node-host/cli.d.ts.map +1 -1
  323. package/dist/node-host/cli.js +53 -28
  324. package/dist/node-host/cli.js.map +1 -1
  325. package/dist/node-host/execute-script.d.ts.map +1 -1
  326. package/dist/node-host/execute-script.js +3 -4
  327. package/dist/node-host/execute-script.js.map +1 -1
  328. package/dist/node-host/lib-package-json.d.ts +36 -0
  329. package/dist/node-host/lib-package-json.d.ts.map +1 -0
  330. package/dist/node-host/lib-package-json.js +73 -0
  331. package/dist/node-host/lib-package-json.js.map +1 -0
  332. package/dist/occt-kernel/occt-primitives.d.ts.map +1 -1
  333. package/dist/occt-kernel/occt-primitives.js +41 -0
  334. package/dist/occt-kernel/occt-primitives.js.map +1 -1
  335. package/dist/occt-kernel/occtKernel.d.ts +1 -1
  336. package/dist/occt-kernel/occtKernel.js +1 -1
  337. package/dist/occt-kernel/occtKernel.js.map +1 -1
  338. package/dist/primitives/brep-primitives.d.ts.map +1 -1
  339. package/dist/primitives/brep-primitives.js +39 -12
  340. package/dist/primitives/brep-primitives.js.map +1 -1
  341. package/dist/runtime-state.d.ts +28 -1
  342. package/dist/runtime-state.d.ts.map +1 -1
  343. package/dist/runtime-state.js +14 -1
  344. package/dist/runtime-state.js.map +1 -1
  345. package/dist/sdk.d.ts +2 -2
  346. package/dist/sdk.d.ts.map +1 -1
  347. package/dist/sdk.js +11 -2
  348. package/dist/sdk.js.map +1 -1
  349. package/dist/sketch/bspline.d.ts +58 -0
  350. package/dist/sketch/bspline.d.ts.map +1 -0
  351. package/dist/sketch/bspline.js +104 -0
  352. package/dist/sketch/bspline.js.map +1 -0
  353. package/dist/sketch/canonical.d.ts +239 -0
  354. package/dist/sketch/canonical.d.ts.map +1 -0
  355. package/dist/sketch/canonical.js +17 -0
  356. package/dist/sketch/canonical.js.map +1 -0
  357. package/dist/sketch/contour.d.ts +43 -0
  358. package/dist/sketch/contour.d.ts.map +1 -0
  359. package/dist/sketch/contour.js +202 -0
  360. package/dist/sketch/contour.js.map +1 -0
  361. package/dist/sketch/dim-spec.d.ts +32 -0
  362. package/dist/sketch/dim-spec.d.ts.map +1 -0
  363. package/dist/sketch/dim-spec.js +112 -0
  364. package/dist/sketch/dim-spec.js.map +1 -0
  365. package/dist/sketch/faces.d.ts +45 -0
  366. package/dist/sketch/faces.d.ts.map +1 -0
  367. package/dist/sketch/faces.js +108 -0
  368. package/dist/sketch/faces.js.map +1 -0
  369. package/dist/sketch/fcstd-types.d.ts +194 -0
  370. package/dist/sketch/fcstd-types.d.ts.map +1 -0
  371. package/dist/sketch/fcstd-types.js +67 -0
  372. package/dist/sketch/fcstd-types.js.map +1 -0
  373. package/dist/sketch/index.d.ts +46 -0
  374. package/dist/sketch/index.d.ts.map +1 -0
  375. package/dist/sketch/index.js +39 -0
  376. package/dist/sketch/index.js.map +1 -0
  377. package/dist/sketch/node.d.ts +14 -0
  378. package/dist/sketch/node.d.ts.map +1 -0
  379. package/dist/sketch/node.js +43 -0
  380. package/dist/sketch/node.js.map +1 -0
  381. package/dist/sketch/op.d.ts +111 -0
  382. package/dist/sketch/op.d.ts.map +1 -0
  383. package/dist/sketch/op.js +185 -0
  384. package/dist/sketch/op.js.map +1 -0
  385. package/dist/sketch/planegcs-backend.d.ts +69 -0
  386. package/dist/sketch/planegcs-backend.d.ts.map +1 -0
  387. package/dist/sketch/planegcs-backend.js +812 -0
  388. package/dist/sketch/planegcs-backend.js.map +1 -0
  389. package/dist/sketch/project.d.ts +176 -0
  390. package/dist/sketch/project.d.ts.map +1 -0
  391. package/dist/sketch/project.js +656 -0
  392. package/dist/sketch/project.js.map +1 -0
  393. package/dist/sketch/shapes.d.ts +370 -0
  394. package/dist/sketch/shapes.d.ts.map +1 -0
  395. package/dist/sketch/shapes.js +959 -0
  396. package/dist/sketch/shapes.js.map +1 -0
  397. package/dist/sketch/solve.d.ts +21 -0
  398. package/dist/sketch/solve.d.ts.map +1 -0
  399. package/dist/sketch/solve.js +144 -0
  400. package/dist/sketch/solve.js.map +1 -0
  401. package/dist/sketch/solver-loader.d.ts +47 -0
  402. package/dist/sketch/solver-loader.d.ts.map +1 -0
  403. package/dist/sketch/solver-loader.js +77 -0
  404. package/dist/sketch/solver-loader.js.map +1 -0
  405. package/dist/sketch/solver.d.ts +63 -0
  406. package/dist/sketch/solver.d.ts.map +1 -0
  407. package/dist/sketch/solver.js +28 -0
  408. package/dist/sketch/solver.js.map +1 -0
  409. package/dist/sketch/verify.d.ts +53 -0
  410. package/dist/sketch/verify.d.ts.map +1 -0
  411. package/dist/sketch/verify.js +71 -0
  412. package/dist/sketch/verify.js.map +1 -0
  413. package/dist/topology/naming/geom-hint.d.ts +12 -0
  414. package/dist/topology/naming/geom-hint.d.ts.map +1 -1
  415. package/dist/topology/naming/geom-hint.js +1 -1
  416. package/dist/topology/naming/geom-hint.js.map +1 -1
  417. package/dist/topology/naming/lineage.d.ts +1 -0
  418. package/dist/topology/naming/lineage.d.ts.map +1 -1
  419. package/dist/topology/naming/lineage.js +37 -1
  420. package/dist/topology/naming/lineage.js.map +1 -1
  421. package/dist/topology/naming/resolve-face.d.ts +13 -2
  422. package/dist/topology/naming/resolve-face.d.ts.map +1 -1
  423. package/dist/topology/naming/resolve-face.js +18 -2
  424. package/dist/topology/naming/resolve-face.js.map +1 -1
  425. package/dist/weapp.d.ts +1 -1
  426. package/dist/weapp.d.ts.map +1 -1
  427. package/dist/weapp.js +1 -1
  428. package/dist/weapp.js.map +1 -1
  429. package/package.json +43 -11
@@ -17,10 +17,11 @@
17
17
  * 是 npm 全名(`@faicad/sheetmetal`)。`aliases` 把 specifier 映到包名后再装载,
18
18
  * 与 node 侧 `CLI_SHORT_NAMES` 归一同一职责。
19
19
  *
20
- * `autoLiftFor` 是**同步**回调(`runtime.ts` 在装载后立即取值),所以逐库
21
- * `faijs.autoLift` 必须**预先**可用:主机从构建期产物 `lib-meta.json`
22
- * (`scripts/gen-importmap.mjs` 生成)经 `meta` 传入;也可调 `prefetchMeta()`
23
- * 在网络可达时抓各库 `package.json` 预热(失败静默回落推断式)。
20
+ * `autoLiftFor` 与 `libMetaFor` 都是**同步**回调(`runtime.ts` 在装载后立即取值),
21
+ * 所以逐库 `faijs.autoLift` 与 `faijs.lib` 必须**预先**可用:主机从构建期产物
22
+ * `lib-meta.json`(`scripts/gen-importmap.mjs` 生成)经 `meta` 传入;也可调
23
+ * `prefetchMeta()` 在网络可达时抓各库 `package.json` 预热(失败静默回落推断式 /
24
+ * 中立)。
24
25
  *
25
26
  * 本工厂**不**被 `createBrowserPorts` 默认装配——demo 走源码 alias 的 HMR 路径
26
27
  * 必须保持零网络;CDN 装载仅服务「从 npm 消费已发布包」的场景,由主机显式注入。
@@ -86,6 +87,9 @@ export function createBrowserLibLoader(opts = {}) {
86
87
  // 逐库 autoLift 优先于全局:未声明 → undefined → 回落全局 / runtime 推断式。
87
88
  autoLiftFor: (name) => meta[pkgOf(name)]?.autoLift,
88
89
  },
90
+ // 库级定位声明(§3.3 第 1 项):与 autoLiftFor 同源(同一 meta 缓存),
91
+ // 未预热 / 未声明 → undefined → 装配期按中立处理。
92
+ libMetaFor: (name) => meta[pkgOf(name)],
89
93
  prefetchMeta: async () => {
90
94
  if (!fetchImpl)
91
95
  return;
@@ -99,11 +103,15 @@ export function createBrowserLibLoader(opts = {}) {
99
103
  if (!res.ok)
100
104
  return;
101
105
  const pj = (await res.json());
102
- const lifted = pj.faijs?.autoLift;
103
106
  const entry = {};
104
- if (typeof lifted === 'boolean')
105
- entry.autoLift = lifted;
106
- if (entry.autoLift !== undefined)
107
+ if (typeof pj.faijs?.autoLift === 'boolean')
108
+ entry.autoLift = pj.faijs.autoLift;
109
+ if (pj.faijs?.lib !== undefined)
110
+ entry.lib = pj.faijs.lib;
111
+ // 抓到 package.json 就给出 peer 事实:无 `peerDependencies` → `{}`(明确
112
+ // 「没有」),而不是 `undefined`(「不知道」)——否则单向校验会被放过。
113
+ entry.peers = pj.peerDependencies ?? {};
114
+ if (Object.keys(entry).length > 0)
107
115
  meta[pkg] = entry;
108
116
  }
109
117
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-lib-loader.js","sourceRoot":"","sources":["../../src/cad-runtime/browser-lib-loader.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * browser-lib-loader — 浏览器通用 `LibLoader` 工厂(D3-Browser,§9.4)\n *\n * 与 node 侧 `cliPortsLibLoader`(`node-host/cli.ts`)对称:都实现 `LibLoader`\n * 契约(`loadLib` / `listLibs` / `options.autoLiftFor`),差别只在装载通道——\n * node 用 `import(pkg)` 从 `node_modules` 解析,浏览器用**动态 `import()`** 取 CDN。\n *\n * 两条通路(Q8 定稿的 a/b 混合,共用同一 `CDN_BASE`):\n * - **方案 a(importmap)**:不提供 `versions` 时,用**已解析的包名**做裸 specifier\n * 动态 `import(pkg)`,由页面 `<script type=\"importmap\">` 的 scope\n * (`\"@faicad/\": \"CDN_BASE/*@faicad/\"`)在后端按依赖图取版。零版本表,dev / playground 用。\n * - **方案 b(精确 pin)**:提供 `versions`(`versions.json`)时拼\n * `` `${cdnBase}${pkg}@${version}/+esm` `` 直链,版本精确 pin 到已发布版本,保证\n * 可复现与缓存命中;release 产物用。\n *\n * 别名归一:脚本 specifier 常是短名(demo 的 `.fai.js` 写 `sheetmetal`),而 CDN 上\n * 是 npm 全名(`@faicad/sheetmetal`)。`aliases` 把 specifier 映到包名后再装载,\n * 与 node 侧 `CLI_SHORT_NAMES` 归一同一职责。\n *\n * `autoLiftFor` 是**同步**回调(`runtime.ts` 在装载后立即取值),所以逐库\n * `faijs.autoLift` 必须**预先**可用:主机从构建期产物 `lib-meta.json`\n * (`scripts/gen-importmap.mjs` 生成)经 `meta` 传入;也可调 `prefetchMeta()`\n * 在网络可达时抓各库 `package.json` 预热(失败静默回落推断式)。\n *\n * 本工厂**不**被 `createBrowserPorts` 默认装配——demo 走源码 alias 的 HMR 路径\n * 必须保持零网络;CDN 装载仅服务「从 npm 消费已发布包」的场景,由主机显式注入。\n */\n\nimport type { LibLoader } from './ports'\nimport type { LibNamespace } from '../runtime-state'\n\n/** 默认 CDN base(Q8 定稿:jsDelivr npm 镜像;ESM 取 `+esm`)。 */\nexport const DEFAULT_CDN_BASE = 'https://cdn.jsdelivr.net/npm/'\n\n/** 逐库元数据(与 `lib-meta.json` 键形一致)。 */\nexport interface BrowserLibMeta {\n /** `package.json` 的 `faijs.autoLift` 外置字段(D3-autoLift)。 */\n autoLift?: boolean\n}\n\n/** `createBrowserLibLoader` 的选项。 */\nexport interface CreateBrowserLibLoaderOptions {\n /** CDN base,须以 `/` 结尾(缺省 `DEFAULT_CDN_BASE`)。 */\n cdnBase?: string\n /** 方案 b:精确 pin 的 `packageName → version`(`versions.json`);提供即走直链。 */\n versions?: Record<string, string>\n /** 别名表:脚本 import specifier → npm 包名(如 `sheetmetal` → `@faicad/sheetmetal`)。 */\n aliases?: Record<string, string>\n /** 允许装载的 **npm 包名**白名单;缺省不限制(生产建议显式给)。 */\n libs?: string[]\n /** 逐库元数据(`lib-meta.json`),喂 `options.autoLiftFor`。 */\n meta?: Record<string, BrowserLibMeta>\n /** 全局 autoLift 缺省(喂 `options.autoLift`);缺省交由 runtime 推断式决定。 */\n autoLift?: boolean\n /** 强制方案 a(即使提供了 `versions` 也用裸 specifier,依赖 importmap)。 */\n forceImportMap?: boolean\n /** 注入的动态 import 实现(测试用);缺省为原生动态 `import()`。 */\n importModule?: (url: string) => Promise<unknown>\n /** 注入的 fetch(`prefetchMeta` 用);缺省全局 `fetch`,无则 `prefetchMeta` 为空操作。 */\n fetchImpl?: typeof fetch\n}\n\n/** 浏览器 `LibLoader`(在契约上附加元数据预热)。 */\nexport interface BrowserLibLoader extends LibLoader {\n /**\n * 抓取已知各库的 `package.json`,把 `faijs.autoLift` 填进内部 meta 缓存。\n * 网络失败静默跳过(保持未声明 → 回落推断式)。在 `execute` 前 await 一次即可。\n * @returns promise resolving when all known libs have been probed.\n */\n prefetchMeta(): Promise<void>\n}\n\n/** 归一 CDN base:保证尾随 `/`,避免拼接出 `.../npm@1.0.0` 这类坏 URL。 */\nfunction withTrailingSlash(base: string): string {\n return base.endsWith('/') ? base : `${base}/`\n}\n\n/**\n * 创建浏览器通用 `LibLoader`。\n *\n * 装载顺序:`name` → `aliases` 归一为 npm 包名 → 白名单校验 → 方案 b 直链(有\n * `versions[pkg]` 且未 `forceImportMap`)或方案 a 裸 specifier → 动态 `import()`;\n * 同一包名并发/重复装载共享同一 in-flight promise(CDN 只取一次)。\n * @param opts - CDN base、版本表 / 别名 / 元数据,以及测试用注入点。\n * @returns 满足 `LibLoader` 契约、并附加 `prefetchMeta()` 的浏览器装载器。\n */\nexport function createBrowserLibLoader(opts: CreateBrowserLibLoaderOptions = {}): BrowserLibLoader {\n const cdnBase = withTrailingSlash(opts.cdnBase ?? DEFAULT_CDN_BASE)\n const aliases: Record<string, string> = { ...(opts.aliases ?? {}) }\n const versions = opts.versions\n const allow = opts.libs ? new Set(opts.libs) : undefined\n const meta: Record<string, BrowserLibMeta> = { ...(opts.meta ?? {}) }\n const importModule =\n opts.importModule ?? ((url: string): Promise<unknown> => import(/* @vite-ignore */ url))\n const fetchImpl = opts.fetchImpl ?? (typeof fetch !== 'undefined' ? fetch : undefined)\n\n /** specifier → npm 包名。 */\n const pkgOf = (name: string): string => aliases[name] ?? name\n\n /** 已知 specifier 集合:别名键 ∪ 显式 libs ∪ 版本表键(后两者本身即合法 specifier)。 */\n const specifiers = new Set<string>([\n ...Object.keys(aliases),\n ...(opts.libs ?? []),\n ...Object.keys(versions ?? {}),\n ])\n\n /** 方案 b 的直链;返回 `undefined` 表示走方案 a。 */\n const urlOf = (pkg: string): string | undefined => {\n if (opts.forceImportMap) return undefined\n const v = versions?.[pkg]\n return v ? `${cdnBase}${pkg}@${v}/+esm` : undefined\n }\n\n const pending = new Map<string, Promise<LibNamespace>>()\n\n return {\n loadLib: (name: string): Promise<LibNamespace> => {\n const pkg = pkgOf(name)\n if (allow && !allow.has(pkg)) {\n return Promise.reject(\n new Error(`package \"${pkg}\" (from specifier \"${name}\") is not in the browser library whitelist`),\n )\n }\n const cached = pending.get(pkg)\n if (cached) return cached\n const url = urlOf(pkg)\n const job = importModule(url ?? pkg).then((mod) => mod as LibNamespace)\n pending.set(pkg, job)\n // 装载失败不留毒缓存:清掉后可重试(如网络恢复)。\n job.catch(() => pending.delete(pkg))\n return job\n },\n\n listLibs: () => [...specifiers],\n\n options: {\n ...(opts.autoLift === undefined ? {} : { autoLift: opts.autoLift }),\n // 逐库 autoLift 优先于全局:未声明 → undefined → 回落全局 / runtime 推断式。\n autoLiftFor: (name: string) => meta[pkgOf(name)]?.autoLift,\n },\n\n prefetchMeta: async (): Promise<void> => {\n if (!fetchImpl) return\n const pkgs = new Set<string>([...specifiers].map(pkgOf))\n await Promise.all(\n [...pkgs].map(async (pkg) => {\n if (meta[pkg]) return\n const v = versions?.[pkg]\n try {\n const res = await fetchImpl(`${cdnBase}${pkg}${v ? `@${v}` : ''}/package.json`)\n if (!res.ok) return\n const pj = (await res.json()) as { faijs?: { autoLift?: boolean } }\n const lifted = pj.faijs?.autoLift\n const entry: BrowserLibMeta = {}\n if (typeof lifted === 'boolean') entry.autoLift = lifted\n if (entry.autoLift !== undefined) meta[pkg] = entry\n } catch {\n // 网络不可达 / 非法 JSON → 保持未声明,交由 runtime 推断式。\n }\n }),\n )\n },\n }\n}\n"]}
1
+ {"version":3,"file":"browser-lib-loader.js","sourceRoot":"","sources":["../../src/cad-runtime/browser-lib-loader.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * browser-lib-loader — 浏览器通用 `LibLoader` 工厂(D3-Browser,§9.4)\n *\n * 与 node 侧 `cliPortsLibLoader`(`node-host/cli.ts`)对称:都实现 `LibLoader`\n * 契约(`loadLib` / `listLibs` / `options.autoLiftFor`),差别只在装载通道——\n * node 用 `import(pkg)` 从 `node_modules` 解析,浏览器用**动态 `import()`** 取 CDN。\n *\n * 两条通路(Q8 定稿的 a/b 混合,共用同一 `CDN_BASE`):\n * - **方案 a(importmap)**:不提供 `versions` 时,用**已解析的包名**做裸 specifier\n * 动态 `import(pkg)`,由页面 `<script type=\"importmap\">` 的 scope\n * (`\"@faicad/\": \"CDN_BASE/*@faicad/\"`)在后端按依赖图取版。零版本表,dev / playground 用。\n * - **方案 b(精确 pin)**:提供 `versions`(`versions.json`)时拼\n * `` `${cdnBase}${pkg}@${version}/+esm` `` 直链,版本精确 pin 到已发布版本,保证\n * 可复现与缓存命中;release 产物用。\n *\n * 别名归一:脚本 specifier 常是短名(demo 的 `.fai.js` 写 `sheetmetal`),而 CDN 上\n * 是 npm 全名(`@faicad/sheetmetal`)。`aliases` 把 specifier 映到包名后再装载,\n * 与 node 侧 `CLI_SHORT_NAMES` 归一同一职责。\n *\n * `autoLiftFor` 与 `libMetaFor` 都是**同步**回调(`runtime.ts` 在装载后立即取值),\n * 所以逐库 `faijs.autoLift` 与 `faijs.lib` 必须**预先**可用:主机从构建期产物\n * `lib-meta.json`(`scripts/gen-importmap.mjs` 生成)经 `meta` 传入;也可调\n * `prefetchMeta()` 在网络可达时抓各库 `package.json` 预热(失败静默回落推断式 /\n * 中立)。\n *\n * 本工厂**不**被 `createBrowserPorts` 默认装配——demo 走源码 alias 的 HMR 路径\n * 必须保持零网络;CDN 装载仅服务「从 npm 消费已发布包」的场景,由主机显式注入。\n */\n\nimport type { LibLoader } from './ports'\nimport type { LibMeta } from './lib-decl'\nimport type { LibNamespace } from '../runtime-state'\n\n/** 默认 CDN base(Q8 定稿:jsDelivr npm 镜像;ESM 取 `+esm`)。 */\nexport const DEFAULT_CDN_BASE = 'https://cdn.jsdelivr.net/npm/'\n\n/**\n * 逐库元数据(与 `lib-meta.json` 键形一致)。\n *\n * 是 `package.json` 的**原始投影**:`autoLift` 喂 `options.autoLiftFor`,\n * `lib` / `peers` 喂 `libMetaFor`(§3.3 库级定位声明)。校验在装配期。\n */\nexport type BrowserLibMeta = LibMeta\n\n/** `createBrowserLibLoader` 的选项。 */\nexport interface CreateBrowserLibLoaderOptions {\n /** CDN base,须以 `/` 结尾(缺省 `DEFAULT_CDN_BASE`)。 */\n cdnBase?: string\n /** 方案 b:精确 pin 的 `packageName → version`(`versions.json`);提供即走直链。 */\n versions?: Record<string, string>\n /** 别名表:脚本 import specifier → npm 包名(如 `sheetmetal` → `@faicad/sheetmetal`)。 */\n aliases?: Record<string, string>\n /** 允许装载的 **npm 包名**白名单;缺省不限制(生产建议显式给)。 */\n libs?: string[]\n /** 逐库元数据(`lib-meta.json`),喂 `options.autoLiftFor`。 */\n meta?: Record<string, BrowserLibMeta>\n /** 全局 autoLift 缺省(喂 `options.autoLift`);缺省交由 runtime 推断式决定。 */\n autoLift?: boolean\n /** 强制方案 a(即使提供了 `versions` 也用裸 specifier,依赖 importmap)。 */\n forceImportMap?: boolean\n /** 注入的动态 import 实现(测试用);缺省为原生动态 `import()`。 */\n importModule?: (url: string) => Promise<unknown>\n /** 注入的 fetch(`prefetchMeta` 用);缺省全局 `fetch`,无则 `prefetchMeta` 为空操作。 */\n fetchImpl?: typeof fetch\n}\n\n/** 浏览器 `LibLoader`(在契约上附加元数据预热)。 */\nexport interface BrowserLibLoader extends LibLoader {\n /**\n * 抓取已知各库的 `package.json`,把 `faijs.autoLift` / `faijs.lib` /\n * `peerDependencies` 填进内部 meta 缓存。网络失败静默跳过(保持未声明 →\n * 回落推断式 / 中立)。在 `execute` 前 await 一次即可。\n * @returns promise resolving when all known libs have been probed.\n */\n prefetchMeta(): Promise<void>\n}\n\n/** 归一 CDN base:保证尾随 `/`,避免拼接出 `.../npm@1.0.0` 这类坏 URL。 */\nfunction withTrailingSlash(base: string): string {\n return base.endsWith('/') ? base : `${base}/`\n}\n\n/**\n * 创建浏览器通用 `LibLoader`。\n *\n * 装载顺序:`name` → `aliases` 归一为 npm 包名 → 白名单校验 → 方案 b 直链(有\n * `versions[pkg]` 且未 `forceImportMap`)或方案 a 裸 specifier → 动态 `import()`;\n * 同一包名并发/重复装载共享同一 in-flight promise(CDN 只取一次)。\n * @param opts - CDN base、版本表 / 别名 / 元数据,以及测试用注入点。\n * @returns 满足 `LibLoader` 契约、并附加 `prefetchMeta()` 的浏览器装载器。\n */\nexport function createBrowserLibLoader(opts: CreateBrowserLibLoaderOptions = {}): BrowserLibLoader {\n const cdnBase = withTrailingSlash(opts.cdnBase ?? DEFAULT_CDN_BASE)\n const aliases: Record<string, string> = { ...(opts.aliases ?? {}) }\n const versions = opts.versions\n const allow = opts.libs ? new Set(opts.libs) : undefined\n const meta: Record<string, BrowserLibMeta> = { ...(opts.meta ?? {}) }\n const importModule =\n opts.importModule ?? ((url: string): Promise<unknown> => import(/* @vite-ignore */ url))\n const fetchImpl = opts.fetchImpl ?? (typeof fetch !== 'undefined' ? fetch : undefined)\n\n /** specifier → npm 包名。 */\n const pkgOf = (name: string): string => aliases[name] ?? name\n\n /** 已知 specifier 集合:别名键 ∪ 显式 libs ∪ 版本表键(后两者本身即合法 specifier)。 */\n const specifiers = new Set<string>([\n ...Object.keys(aliases),\n ...(opts.libs ?? []),\n ...Object.keys(versions ?? {}),\n ])\n\n /** 方案 b 的直链;返回 `undefined` 表示走方案 a。 */\n const urlOf = (pkg: string): string | undefined => {\n if (opts.forceImportMap) return undefined\n const v = versions?.[pkg]\n return v ? `${cdnBase}${pkg}@${v}/+esm` : undefined\n }\n\n const pending = new Map<string, Promise<LibNamespace>>()\n\n return {\n loadLib: (name: string): Promise<LibNamespace> => {\n const pkg = pkgOf(name)\n if (allow && !allow.has(pkg)) {\n return Promise.reject(\n new Error(`package \"${pkg}\" (from specifier \"${name}\") is not in the browser library whitelist`),\n )\n }\n const cached = pending.get(pkg)\n if (cached) return cached\n const url = urlOf(pkg)\n const job = importModule(url ?? pkg).then((mod) => mod as LibNamespace)\n pending.set(pkg, job)\n // 装载失败不留毒缓存:清掉后可重试(如网络恢复)。\n job.catch(() => pending.delete(pkg))\n return job\n },\n\n listLibs: () => [...specifiers],\n\n options: {\n ...(opts.autoLift === undefined ? {} : { autoLift: opts.autoLift }),\n // 逐库 autoLift 优先于全局:未声明 → undefined → 回落全局 / runtime 推断式。\n autoLiftFor: (name: string) => meta[pkgOf(name)]?.autoLift,\n },\n\n // 库级定位声明(§3.3 第 1 项):与 autoLiftFor 同源(同一 meta 缓存),\n // 未预热 / 未声明 → undefined → 装配期按中立处理。\n libMetaFor: (name: string): LibMeta | undefined => meta[pkgOf(name)],\n\n prefetchMeta: async (): Promise<void> => {\n if (!fetchImpl) return\n const pkgs = new Set<string>([...specifiers].map(pkgOf))\n await Promise.all(\n [...pkgs].map(async (pkg) => {\n if (meta[pkg]) return\n const v = versions?.[pkg]\n try {\n const res = await fetchImpl(`${cdnBase}${pkg}${v ? `@${v}` : ''}/package.json`)\n if (!res.ok) return\n const pj = (await res.json()) as {\n faijs?: { autoLift?: boolean; lib?: unknown }\n peerDependencies?: Record<string, string>\n }\n const entry: BrowserLibMeta = {}\n if (typeof pj.faijs?.autoLift === 'boolean') entry.autoLift = pj.faijs.autoLift\n if (pj.faijs?.lib !== undefined) entry.lib = pj.faijs.lib\n // 抓到 package.json 就给出 peer 事实:无 `peerDependencies` → `{}`(明确\n // 「没有」),而不是 `undefined`(「不知道」)——否则单向校验会被放过。\n entry.peers = pj.peerDependencies ?? {}\n if (Object.keys(entry).length > 0) meta[pkg] = entry\n } catch {\n // 网络不可达 / 非法 JSON → 保持未声明,交由 runtime 推断式。\n }\n }),\n )\n },\n }\n}\n"]}
@@ -12,7 +12,9 @@
12
12
  * 被 await 是合法 JS);
13
13
  * - keep/keepHidden 尾随键剥离(行内 keep 由 MetadataExtractor 的 metadata.keep
14
14
  * 表另存,§4.4 消费判定用——执行侧不传);
15
- * - 顶层函数定义提升到 `__ctx.<name>`(函数体 cad 等经命名空间绑定注入);
15
+ * - 顶层函数定义提升到 `__ctx.<name>`(函数体 cad 等经命名空间绑定注入;函数体
16
+ * 引用到的顶层变量/函数经 call-time 守卫 + `let { ... } = __ctx` 解构注入——
17
+ * 约束 1:读顶层 call-time 取值,函数体内赋值写本地副本不落顶层);
16
18
  * - import 行不执行(库装载在 runtime 层;`ns.<binding>` 经命名空间对象访问)。
17
19
  *
18
20
  * 错误定位:单行单元失败记 failedAt({ index, callee, message } + lineNo)。
@@ -334,6 +336,16 @@ export declare class DirectExecutor {
334
336
  private parseBody;
335
337
  /** 解析并变换全部顶层单元。 */
336
338
  private parseAndTransform;
339
+ /**
340
+ * 约束 1 候选全集预扫:本脚本全部声明名(含块内声明——vm 的块单元经
341
+ * hoistBlockText 把块内 let/const/function 提升写 ctx,interp 的 root env
342
+ * 块级写入同样落 ctx)∪ 现有 ctx 键(params/imports 预置键 + append 场景
343
+ * 先前执行产出)。不下潜函数体——函数局部量永不入 ctx。
344
+ * 命名空间名从候选剔除(函数体的 ns 绑定由 transformFunction 的 binds 提供)。
345
+ */
346
+ private collectAllCtxNames;
347
+ /** 解构模式绑定名收集(Identifier / ObjectPattern / ArrayPattern / AssignmentPattern / RestElement)。 */
348
+ private collectPatternNames;
337
349
  private transformTopNode;
338
350
  /**
339
351
  * 控制流块单元(T1/A-6):for/if/while/do/switch/裸块等顶层块整块执行。
@@ -354,11 +366,49 @@ export declare class DirectExecutor {
354
366
  * ctx 键,不会导致错误)。v2 可加 AST walk 精确跳过嵌套作用域。
355
367
  *
356
368
  * 实现策略:先收集块内所有声明名(acorn 扫描 VariableDeclarator + 函数名),
357
- * 再做两步文本替换:① 声明 LHS 提升写 __ctx 赋值;② 自由引用提升走 hoistText。
369
+ * 再做文本替换(⓪ for-of 头 ① 声明 LHS ② 自由引用 ③ 命名空间绑定),全部经
370
+ * replaceOutsideProtected 跳过字符串 / 模板文本 / 注释区间(F1,2026-10-15)。
358
371
  */
359
372
  private hoistBlockText;
360
- /** 顶层函数提升:`__ctx.<name> = async function <name>(...) { 命名空间绑定; 体 }`。 */
373
+ /** 顶层函数提升:`__ctx.<name> = async function <name>(...) { 命名空间绑定; 外层引用守卫+解构; 体 }`。 */
361
374
  private transformFunction;
375
+ /**
376
+ * 约束 1 配套:收集函数体直接作用域内需要注入 await 的调用节点。
377
+ * 资格:callee 是 Identifier 且属于候选全集(顶层本机函数),或 callee 是
378
+ * MemberExpression 且 object 是命名空间名(cad.box 等)。已显式 await 的调用
379
+ * 不重复注入(其参数里的调用仍递归处理)。不下潜嵌套函数——嵌套 sync function
380
+ * 体内 await 是 SyntaxError,维持既有行为。参数默认值表达式同样覆盖
381
+ * (默认值在 async 函数作用域求值,await 合法)。
382
+ */
383
+ private collectFnAwaitEdits; /** 遍历节点全部子节点(跳过元数据键),逐个交给 walk。 */
384
+ private walkChildNodes;
385
+ /**
386
+ * 约束 1:函数体引用到的顶层名(注入候选)= 候选全集 ∩ 函数体引用集
387
+ * − 本函数作用域遮蔽集 − 命名空间名。
388
+ */
389
+ private collectFnBodyOuterRefs;
390
+ /**
391
+ * 本函数「函数作用域」遮蔽集:决定哪些名不注入(函数体内的同名绑定优先于
392
+ * 注入的顶层解构)。收集规则:
393
+ * - 函数体**顶层语句列表**直接声明的 let/const/function 名(函数级作用域);
394
+ * - 任意块深的 `var` 声明名(var 是函数级;若块内 var 与注入解构同名会
395
+ * SyntaxError,必须让位);
396
+ * - 任意块深的 function 声明名(vm 的 new Function 体是 sloppy 模式,块内
397
+ * function 声明经 Annex B 提升到函数级);
398
+ * - **不下潜嵌套函数体**:嵌套函数自己的声明只遮蔽它内部,不应阻止外层注入
399
+ * (否则嵌套函数本地遮蔽会让外层同名顶层引用解析失败)。
400
+ * 块级 let/const 不入遮蔽集:它们是块作用域,与注入的函数级 `let { ... }`
401
+ * 并存是合法遮蔽,语义正确。
402
+ */
403
+ private collectFnShadowNames;
404
+ /**
405
+ * 函数体引用位置标识符收集(含嵌套函数体——嵌套函数引用的顶层名注入到外层
406
+ * 函数作用域后经闭包可见)。排除声明/绑定位置与非 computed 成员属性、
407
+ * 非 shorthand 对象键、label。
408
+ */
409
+ private collectFnReferences;
410
+ /** 绑定模式遍历:绑定名跳过;模式内默认值表达式(AssignmentPattern.right)按引用收集。 */
411
+ private walkFnPattern;
362
412
  /** const/let 行:参数(字面量)直接进 ctx;op 行变换调用;派生常量求值。 */
363
413
  private transformVariable;
364
414
  /** 表达式语句:裸重赋值 / 命名空间裸调用 / 成员方法调用。 */
@@ -394,8 +444,15 @@ export declare class DirectExecutor {
394
444
  * 表达式 → 自由标识符提升(文本级,词边界替换已声明名)。 */
395
445
  private transformArg;
396
446
  /** 文本级自由标识符提升:把已声明变量名 + 当前 ctx 键(import 预置/先前执行产出)
397
- * 替换为 __ctx.<name>(词边界)。含 ctx 键 → append 跨文件引用(D6)与模块命名空间
398
- * 成员(cfg.OUTX)在实参文本中同样可解析。 */
447
+ * 替换为 __ctx.<name>(词边界);命名空间绑定(cad + registerLib 注册库)替换为
448
+ * __ns.<binding>(调用形态前置 await),与 hoistBlockText 步骤 ③ 同语义。
449
+ *
450
+ * 含 ctx 键 → append 跨文件引用(D6)与模块命名空间成员(cfg.OUTX)在实参文本中
451
+ * 同样可解析。命名空间分支不可省:该函数服务顶层**值表达式**(数组/对象/成员/条件/
452
+ * 二元等非调用 RHS)与 transformArg 的 MemberExpression/default 兜底,这些位置不经过
453
+ * emitCall,若不在此发射 __ns.<binding>,裸名在 vm 包装(只注入 __ctx/__ns/__isGeom)
454
+ * 内即是自由标识符 → ReferenceError(`cad is not defined`);而执行同段文本的
455
+ * interpreter 后端靠 env 的 ns 查找能解析,形成两后端差分(约束 2)。 */
399
456
  private hoistText;
400
457
  private calleeOf;
401
458
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"direct-executor.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/direct-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"direct-executor.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/direct-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,EAA+O,KAAK,sBAAsB,EAAwB,MAAM,kBAAkB,CAAA;AACjU,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIvD,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAG/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItD,OAAO,KAAK,EAAgC,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AA6HrF;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;CACzC;AAID,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,8BAA8B;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED,eAAe;AACf,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,oCAAoC;AACpC,MAAM,WAAW,SAAS;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAE9D,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnB,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;CAC/B;AAID,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,UAAU,EAAE,UAAU,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1D,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7D,qEAAqE;IACrE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/D,gEAAgE;IAChE,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAChC;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAK;IAC1C,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAY;IAC9B,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAiD;IAC/E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAA4C;IAClF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkD;IACpF,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAK;IACrB,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,+BAA+B;IAC/B,OAAO,CAAC,UAAU,CAAoB;IACtC,qDAAqD;IACrD,OAAO,CAAC,aAAa,CAA8C;IACnE,qEAAqE;IACrE,OAAO,CAAC,gBAAgB,CAA8B;IACtD,yEAAyE;IACzE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,sFAAsF;IACtF,OAAO,CAAC,YAAY,CAA+B;IACnD,gFAAgF;IAChF,OAAO,CAAC,eAAe,CAA+B;IACtD,2FAA2F;IAC3F,OAAO,CAAC,eAAe,CAAmC;IAC1D,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAEzC,8DAA8D;IAC9D,IAAI,kBAAkB,IAAI,GAAG,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAE9D;IAED,mDAAmD;IACnD,IAAI,qBAAqB,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAEjD;IAED,kDAAkD;IAClD,IAAI,sBAAsB,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAElD;IAED,8CAA8C;IAC9C,IAAI,iBAAiB,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAE9C;IAED,2DAA2D;IAC3D,IAAI,oBAAoB,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAEjD;IAED,mDAAmD;IACnD,IAAI,oBAAoB,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAErD;gBAEW,OAAO,EAAE,qBAAqB;IAS1C;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI3C;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIzD;;;OAGG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C;;;OAGG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;;OAGG;IACH,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAEhC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAcrE;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAKhG,8DAA8D;IAC9D,OAAO,CAAC,YAAY,CAA4B;IAEhD,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAE1D,0DAA0D;IAC1D,OAAO,CAAC,UAAU,CAAoB;IAEtC;kEAC8D;IAC9D,OAAO,CAAC,QAAQ,CAA8B;IAE9C;iDAC6C;IAC7C,KAAK,IAAI,IAAI;IAYb;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAM9E;;;;;;OAMG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAM7E;;;;;;OAMG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIlG;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6CpG;;;;OAIG;IACH,eAAe,IAAI,IAAI;YAOT,OAAO;IAqIrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAgBjF;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IAmDtC,4CAA4C;YAC9B,OAAO;IA2CrB,6EAA6E;IAC7E,OAAO,CAAC,kBAAkB;IAe1B;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA2CjB,mBAAmB;IACnB,OAAO,CAAC,iBAAiB;IAwCzB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IA0B1B,8FAA8F;IAC9F,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,gBAAgB;IAmDxB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAoGtB,mFAAmF;IACnF,OAAO,CAAC,iBAAiB;IAqDzB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB,EAuCxB,mCAAmC;IACtC,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAuE3B,4DAA4D;IAC5D,OAAO,CAAC,aAAa;IA8BrB,kDAAkD;IAClD,OAAO,CAAC,iBAAiB;IAoDzB,qCAAqC;IACrC,OAAO,CAAC,4BAA4B;IA0CpC,qFAAqF;IACrF,OAAO,CAAC,QAAQ;IAqChB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,eAAe;IAiBvB;;8CAE0C;IAC1C,OAAO,CAAC,YAAY;IASpB;uDACmD;IACnD,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,MAAM;IAId;wCACoC;IACpC,OAAO,CAAC,YAAY;IAoGpB;;;;;;;;;wDASoD;IACpD,OAAO,CAAC,SAAS;IAiCjB,OAAO,CAAC,QAAQ;IAQhB;;;;OAIG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC;;;;;OAKG;IACH,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIvC;;;;OAIG;IACH,UAAU,IAAI,MAAM,EAAE,GAAG,SAAS;IAIlC,mCAAmC;IACnC,OAAO,CAAC,WAAW;CAuCpB"}