@faicad/faijs 0.29.3 → 0.30.9

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 (614) hide show
  1. package/NOTICE +6 -5
  2. package/dist/api/api-namespace.d.ts +1 -1
  3. package/dist/api/api-namespace.d.ts.map +1 -1
  4. package/dist/api/api-namespace.js +53 -1
  5. package/dist/api/api-namespace.js.map +1 -1
  6. package/dist/api/appearance.d.ts +136 -0
  7. package/dist/api/appearance.d.ts.map +1 -0
  8. package/dist/api/appearance.js +228 -0
  9. package/dist/api/appearance.js.map +1 -0
  10. package/dist/api/assembly/entities.d.ts +1 -1
  11. package/dist/api/assembly/entities.js +1 -1
  12. package/dist/api/assembly/entities.js.map +1 -1
  13. package/dist/api/assembly/index.d.ts +1 -1
  14. package/dist/api/assembly/index.js +1 -1
  15. package/dist/api/assembly/index.js.map +1 -1
  16. package/dist/api/assembly/joints.d.ts +33 -15
  17. package/dist/api/assembly/joints.d.ts.map +1 -1
  18. package/dist/api/assembly/joints.js +31 -13
  19. package/dist/api/assembly/joints.js.map +1 -1
  20. package/dist/api/assembly/preview.d.ts +1 -1
  21. package/dist/api/assembly/preview.js +1 -1
  22. package/dist/api/assembly/preview.js.map +1 -1
  23. package/dist/api/assembly/solve.d.ts +1 -1
  24. package/dist/api/assembly/solve.js +1 -1
  25. package/dist/api/assembly/solve.js.map +1 -1
  26. package/dist/api/assembly/solvers/assembly-tree.d.ts +1 -1
  27. package/dist/api/assembly/solvers/assembly-tree.js +1 -1
  28. package/dist/api/assembly/solvers/assembly-tree.js.map +1 -1
  29. package/dist/api/assembly/solvers/chain-solver.d.ts +2 -2
  30. package/dist/api/assembly/solvers/chain-solver.js.map +1 -1
  31. package/dist/api/assembly/solvers/global-solver.d.ts +1 -2
  32. package/dist/api/assembly/solvers/global-solver.d.ts.map +1 -1
  33. package/dist/api/assembly/solvers/global-solver.js +3 -4
  34. package/dist/api/assembly/solvers/global-solver.js.map +1 -1
  35. package/dist/api/assembly/solvers/joints-kinematics.js +1 -1
  36. package/dist/api/assembly/solvers/joints-kinematics.js.map +1 -1
  37. package/dist/api/assembly/solvers/linalg.d.ts +2 -2
  38. package/dist/api/assembly/solvers/linalg.js +2 -2
  39. package/dist/api/assembly/solvers/linalg.js.map +1 -1
  40. package/dist/api/assembly/solvers/types.d.ts +2 -5
  41. package/dist/api/assembly/solvers/types.d.ts.map +1 -1
  42. package/dist/api/assembly/solvers/types.js +1 -4
  43. package/dist/api/assembly/solvers/types.js.map +1 -1
  44. package/dist/api/boolean.d.ts.map +1 -1
  45. package/dist/api/boolean.js +7 -6
  46. package/dist/api/boolean.js.map +1 -1
  47. package/dist/api/brep-mirror/booleanFns.d.ts +3 -3
  48. package/dist/api/brep-mirror/booleanFns.js +5 -5
  49. package/dist/api/brep-mirror/booleanFns.js.map +1 -1
  50. package/dist/api/brep-mirror/compoundFns.d.ts +1 -1
  51. package/dist/api/brep-mirror/compoundFns.js +4 -4
  52. package/dist/api/brep-mirror/compoundFns.js.map +1 -1
  53. package/dist/api/brep-mirror/healingFns.d.ts +4 -4
  54. package/dist/api/brep-mirror/healingFns.js +4 -4
  55. package/dist/api/brep-mirror/healingFns.js.map +1 -1
  56. package/dist/api/brep-mirror/hullFns.d.ts +2 -2
  57. package/dist/api/brep-mirror/hullFns.js +2 -2
  58. package/dist/api/brep-mirror/hullFns.js.map +1 -1
  59. package/dist/api/brep-mirror/patternFns.d.ts +5 -5
  60. package/dist/api/brep-mirror/patternFns.js +10 -10
  61. package/dist/api/brep-mirror/patternFns.js.map +1 -1
  62. package/dist/api/brep-mirror/primitiveFns.d.ts +4 -4
  63. package/dist/api/brep-mirror/primitiveFns.js +4 -4
  64. package/dist/api/brep-mirror/primitiveFns.js.map +1 -1
  65. package/dist/api/brep-mirror/roofFns.d.ts +3 -3
  66. package/dist/api/brep-mirror/roofFns.js +7 -7
  67. package/dist/api/brep-mirror/roofFns.js.map +1 -1
  68. package/dist/api/brep-mirror/sweepFns.d.ts +7 -7
  69. package/dist/api/brep-mirror/sweepFns.js +14 -14
  70. package/dist/api/brep-mirror/sweepFns.js.map +1 -1
  71. package/dist/api/brep-mirror/threadFns.d.ts +1 -1
  72. package/dist/api/brep-mirror/threadFns.js +1 -1
  73. package/dist/api/brep-mirror/threadFns.js.map +1 -1
  74. package/dist/api/brep-mirror/topologyFns.d.ts +5 -5
  75. package/dist/api/brep-mirror/topologyFns.js +8 -8
  76. package/dist/api/brep-mirror/topologyFns.js.map +1 -1
  77. package/dist/api/brep-operations/booleanFns.d.ts +40 -0
  78. package/dist/api/brep-operations/booleanFns.d.ts.map +1 -0
  79. package/dist/api/brep-operations/booleanFns.js +104 -0
  80. package/dist/api/brep-operations/booleanFns.js.map +1 -0
  81. package/dist/api/brep-operations/brepHelpers.d.ts +55 -0
  82. package/dist/api/brep-operations/brepHelpers.d.ts.map +1 -0
  83. package/dist/api/brep-operations/brepHelpers.js +131 -0
  84. package/dist/api/brep-operations/brepHelpers.js.map +1 -0
  85. package/dist/api/brep-operations/compoundFns.d.ts +46 -0
  86. package/dist/api/brep-operations/compoundFns.d.ts.map +1 -0
  87. package/dist/api/brep-operations/compoundFns.js +299 -0
  88. package/dist/api/brep-operations/compoundFns.js.map +1 -0
  89. package/dist/api/brep-operations/healingFns.d.ts +78 -0
  90. package/dist/api/brep-operations/healingFns.d.ts.map +1 -0
  91. package/dist/api/brep-operations/healingFns.js +294 -0
  92. package/dist/api/brep-operations/healingFns.js.map +1 -0
  93. package/dist/api/brep-operations/hullFns.d.ts +20 -0
  94. package/dist/api/brep-operations/hullFns.d.ts.map +1 -0
  95. package/dist/api/brep-operations/hullFns.js +46 -0
  96. package/dist/api/brep-operations/hullFns.js.map +1 -0
  97. package/dist/api/brep-operations/joinery-brep.d.ts +172 -0
  98. package/dist/api/brep-operations/joinery-brep.d.ts.map +1 -0
  99. package/dist/api/brep-operations/joinery-brep.js +463 -0
  100. package/dist/api/brep-operations/joinery-brep.js.map +1 -0
  101. package/dist/api/brep-operations/patternFns.d.ts +43 -0
  102. package/dist/api/brep-operations/patternFns.d.ts.map +1 -0
  103. package/dist/api/brep-operations/patternFns.js +178 -0
  104. package/dist/api/brep-operations/patternFns.js.map +1 -0
  105. package/dist/api/brep-operations/primitiveFns.d.ts +42 -0
  106. package/dist/api/brep-operations/primitiveFns.d.ts.map +1 -0
  107. package/dist/api/brep-operations/primitiveFns.js +104 -0
  108. package/dist/api/brep-operations/primitiveFns.js.map +1 -0
  109. package/dist/api/brep-operations/roofFns.d.ts +24 -0
  110. package/dist/api/brep-operations/roofFns.d.ts.map +1 -0
  111. package/dist/api/brep-operations/roofFns.js +229 -0
  112. package/dist/api/brep-operations/roofFns.js.map +1 -0
  113. package/dist/api/brep-operations/straightSkeleton.d.ts +36 -0
  114. package/dist/api/brep-operations/straightSkeleton.d.ts.map +1 -0
  115. package/dist/api/brep-operations/straightSkeleton.js +431 -0
  116. package/dist/api/brep-operations/straightSkeleton.js.map +1 -0
  117. package/dist/api/brep-operations/sweepFns.d.ts +60 -0
  118. package/dist/api/brep-operations/sweepFns.d.ts.map +1 -0
  119. package/dist/api/brep-operations/sweepFns.js +323 -0
  120. package/dist/api/brep-operations/sweepFns.js.map +1 -0
  121. package/dist/api/brep-operations/threadFns.d.ts +83 -0
  122. package/dist/api/brep-operations/threadFns.d.ts.map +1 -0
  123. package/dist/api/brep-operations/threadFns.js +138 -0
  124. package/dist/api/brep-operations/threadFns.js.map +1 -0
  125. package/dist/api/brep-operations/topologyFns.d.ts +90 -0
  126. package/dist/api/brep-operations/topologyFns.d.ts.map +1 -0
  127. package/dist/api/brep-operations/topologyFns.js +276 -0
  128. package/dist/api/brep-operations/topologyFns.js.map +1 -0
  129. package/dist/api/brep-topology.d.ts +1 -1
  130. package/dist/api/brep-topology.d.ts.map +1 -1
  131. package/dist/api/brep-topology.js +1 -1
  132. package/dist/api/brep-topology.js.map +1 -1
  133. package/dist/api/brepjs-compat/index.d.ts +1 -1
  134. package/dist/api/brepjs-compat/index.js +3 -3
  135. package/dist/api/brepjs-compat/index.js.map +1 -1
  136. package/dist/api/cadquery-selectors/borrow-bridge.d.ts.map +1 -1
  137. package/dist/api/cadquery-selectors/borrow-bridge.js +3 -4
  138. package/dist/api/cadquery-selectors/borrow-bridge.js.map +1 -1
  139. package/dist/api/curve-sketch/index.d.ts +235 -0
  140. package/dist/api/curve-sketch/index.d.ts.map +1 -0
  141. package/dist/api/curve-sketch/index.js +487 -0
  142. package/dist/api/curve-sketch/index.js.map +1 -0
  143. package/dist/api/engrave.d.ts.map +1 -1
  144. package/dist/api/engrave.js +3 -2
  145. package/dist/api/engrave.js.map +1 -1
  146. package/dist/api/export-brep.d.ts +41 -0
  147. package/dist/api/export-brep.d.ts.map +1 -0
  148. package/dist/api/export-brep.js +58 -0
  149. package/dist/api/export-brep.js.map +1 -0
  150. package/dist/api/export-stl.d.ts +50 -0
  151. package/dist/api/export-stl.d.ts.map +1 -0
  152. package/dist/api/export-stl.js +99 -0
  153. package/dist/api/export-stl.js.map +1 -0
  154. package/dist/api/extrude.d.ts +8 -11
  155. package/dist/api/extrude.d.ts.map +1 -1
  156. package/dist/api/extrude.js +11 -14
  157. package/dist/api/extrude.js.map +1 -1
  158. package/dist/api/fillet-variable.d.ts +2 -2
  159. package/dist/api/fillet-variable.js +2 -2
  160. package/dist/api/fillet-variable.js.map +1 -1
  161. package/dist/api/fillet.d.ts +2 -4
  162. package/dist/api/fillet.d.ts.map +1 -1
  163. package/dist/api/fillet.js +2 -4
  164. package/dist/api/fillet.js.map +1 -1
  165. package/dist/api/generated/2d.d.ts +4 -0
  166. package/dist/api/generated/2d.d.ts.map +1 -1
  167. package/dist/api/generated/2d.js +4 -0
  168. package/dist/api/generated/2d.js.map +1 -1
  169. package/dist/api/generated/core.d.ts +4 -0
  170. package/dist/api/generated/core.d.ts.map +1 -1
  171. package/dist/api/generated/core.js +4 -0
  172. package/dist/api/generated/core.js.map +1 -1
  173. package/dist/api/generated/gear.d.ts +4 -0
  174. package/dist/api/generated/gear.d.ts.map +1 -1
  175. package/dist/api/generated/gear.js +4 -0
  176. package/dist/api/generated/gear.js.map +1 -1
  177. package/dist/api/generated/io.d.ts +4 -0
  178. package/dist/api/generated/io.d.ts.map +1 -1
  179. package/dist/api/generated/io.js +4 -0
  180. package/dist/api/generated/io.js.map +1 -1
  181. package/dist/api/generated/kernel.d.ts +4 -0
  182. package/dist/api/generated/kernel.d.ts.map +1 -1
  183. package/dist/api/generated/kernel.js +4 -0
  184. package/dist/api/generated/kernel.js.map +1 -1
  185. package/dist/api/generated/measurement.d.ts +21 -21
  186. package/dist/api/generated/measurement.d.ts.map +1 -1
  187. package/dist/api/generated/measurement.js +25 -21
  188. package/dist/api/generated/measurement.js.map +1 -1
  189. package/dist/api/generated/ns.d.ts +4 -0
  190. package/dist/api/generated/ns.d.ts.map +1 -1
  191. package/dist/api/generated/ns.js +4 -0
  192. package/dist/api/generated/ns.js.map +1 -1
  193. package/dist/api/generated/operations.d.ts +32 -32
  194. package/dist/api/generated/operations.d.ts.map +1 -1
  195. package/dist/api/generated/operations.js +52 -48
  196. package/dist/api/generated/operations.js.map +1 -1
  197. package/dist/api/generated/projection.d.ts +4 -0
  198. package/dist/api/generated/projection.d.ts.map +1 -1
  199. package/dist/api/generated/projection.js +4 -0
  200. package/dist/api/generated/projection.js.map +1 -1
  201. package/dist/api/generated/query.d.ts +4 -0
  202. package/dist/api/generated/query.d.ts.map +1 -1
  203. package/dist/api/generated/query.js +4 -0
  204. package/dist/api/generated/query.js.map +1 -1
  205. package/dist/api/generated/sketching.d.ts +2 -2
  206. package/dist/api/generated/sketching.d.ts.map +1 -1
  207. package/dist/api/generated/sketching.js +7 -3
  208. package/dist/api/generated/sketching.js.map +1 -1
  209. package/dist/api/generated/text.d.ts +4 -0
  210. package/dist/api/generated/text.d.ts.map +1 -1
  211. package/dist/api/generated/text.js +4 -0
  212. package/dist/api/generated/text.js.map +1 -1
  213. package/dist/api/generated/topology.d.ts +45 -45
  214. package/dist/api/generated/topology.d.ts.map +1 -1
  215. package/dist/api/generated/topology.js +67 -63
  216. package/dist/api/generated/topology.js.map +1 -1
  217. package/dist/api/generated/view.d.ts +4 -0
  218. package/dist/api/generated/view.d.ts.map +1 -1
  219. package/dist/api/generated/view.js +4 -0
  220. package/dist/api/generated/view.js.map +1 -1
  221. package/dist/api/geom-types/constants.d.ts +11 -0
  222. package/dist/api/geom-types/constants.d.ts.map +1 -0
  223. package/dist/api/geom-types/constants.js +11 -0
  224. package/dist/api/geom-types/constants.js.map +1 -0
  225. package/dist/api/geom-types/index.d.ts +21 -0
  226. package/dist/api/geom-types/index.d.ts.map +1 -0
  227. package/dist/api/geom-types/index.js +22 -0
  228. package/dist/api/geom-types/index.js.map +1 -0
  229. package/dist/api/geom-types/planeOps.d.ts +98 -0
  230. package/dist/api/geom-types/planeOps.d.ts.map +1 -0
  231. package/dist/api/geom-types/planeOps.js +170 -0
  232. package/dist/api/geom-types/planeOps.js.map +1 -0
  233. package/dist/api/geom-types/planeTypes.d.ts +24 -0
  234. package/dist/api/geom-types/planeTypes.d.ts.map +1 -0
  235. package/dist/api/geom-types/planeTypes.js +8 -0
  236. package/dist/api/geom-types/planeTypes.js.map +1 -0
  237. package/dist/api/geom-types/types.d.ts +64 -0
  238. package/dist/api/geom-types/types.d.ts.map +1 -0
  239. package/dist/api/geom-types/types.js +48 -0
  240. package/dist/api/geom-types/types.js.map +1 -0
  241. package/dist/api/geom-types/vecOps.d.ts +124 -0
  242. package/dist/api/geom-types/vecOps.d.ts.map +1 -0
  243. package/dist/api/geom-types/vecOps.js +202 -0
  244. package/dist/api/geom-types/vecOps.js.map +1 -0
  245. package/dist/api/geom.d.ts.map +1 -1
  246. package/dist/api/geom.js +6 -5
  247. package/dist/api/geom.js.map +1 -1
  248. package/dist/api/half-space.d.ts +56 -0
  249. package/dist/api/half-space.d.ts.map +1 -0
  250. package/dist/api/half-space.js +82 -0
  251. package/dist/api/half-space.js.map +1 -0
  252. package/dist/api/helix.d.ts +10 -1
  253. package/dist/api/helix.d.ts.map +1 -1
  254. package/dist/api/helix.js +19 -3
  255. package/dist/api/helix.js.map +1 -1
  256. package/dist/api/import-step.d.ts.map +1 -1
  257. package/dist/api/import-step.js +28 -0
  258. package/dist/api/import-step.js.map +1 -1
  259. package/dist/api/index.d.ts +19 -6
  260. package/dist/api/index.d.ts.map +1 -1
  261. package/dist/api/index.js +31 -8
  262. package/dist/api/index.js.map +1 -1
  263. package/dist/api/internal/compat-op.d.ts +4 -30
  264. package/dist/api/internal/compat-op.d.ts.map +1 -1
  265. package/dist/api/internal/compat-op.js +10 -42
  266. package/dist/api/internal/compat-op.js.map +1 -1
  267. package/dist/api/internal/compat-projection.d.ts +5 -5
  268. package/dist/api/internal/compat-projection.js +5 -5
  269. package/dist/api/internal/compat-projection.js.map +1 -1
  270. package/dist/api/internal/dual-form-args.d.ts +0 -2
  271. package/dist/api/internal/dual-form-args.d.ts.map +1 -1
  272. package/dist/api/internal/dual-form-args.js +1 -3
  273. package/dist/api/internal/dual-form-args.js.map +1 -1
  274. package/dist/api/internal/l3-bridge.d.ts +5 -37
  275. package/dist/api/internal/l3-bridge.d.ts.map +1 -1
  276. package/dist/api/internal/l3-bridge.js +7 -76
  277. package/dist/api/internal/l3-bridge.js.map +1 -1
  278. package/dist/api/internal/profile-wire.d.ts +1 -1
  279. package/dist/api/internal/profile-wire.js +1 -1
  280. package/dist/api/internal/profile-wire.js.map +1 -1
  281. package/dist/api/internal/result-unwrap.d.ts +4 -6
  282. package/dist/api/internal/result-unwrap.d.ts.map +1 -1
  283. package/dist/api/internal/result-unwrap.js +4 -6
  284. package/dist/api/internal/result-unwrap.js.map +1 -1
  285. package/dist/api/knurl.d.ts.map +1 -1
  286. package/dist/api/knurl.js +5 -3
  287. package/dist/api/knurl.js.map +1 -1
  288. package/dist/api/loft.d.ts +2 -2
  289. package/dist/api/loft.d.ts.map +1 -1
  290. package/dist/api/loft.js +2 -2
  291. package/dist/api/loft.js.map +1 -1
  292. package/dist/api/measurement/index.d.ts +3 -3
  293. package/dist/api/measurement/index.js +3 -3
  294. package/dist/api/measurement/index.js.map +1 -1
  295. package/dist/api/meta.d.ts +91 -0
  296. package/dist/api/meta.d.ts.map +1 -0
  297. package/dist/api/meta.js +97 -0
  298. package/dist/api/meta.js.map +1 -0
  299. package/dist/api/offset2d.d.ts +49 -0
  300. package/dist/api/offset2d.d.ts.map +1 -0
  301. package/dist/api/offset2d.js +86 -0
  302. package/dist/api/offset2d.js.map +1 -0
  303. package/dist/api/pattern.js +3 -3
  304. package/dist/api/pattern.js.map +1 -1
  305. package/dist/api/primitives.d.ts.map +1 -1
  306. package/dist/api/primitives.js +124 -8
  307. package/dist/api/primitives.js.map +1 -1
  308. package/dist/api/replicate.d.ts +2 -2
  309. package/dist/api/replicate.d.ts.map +1 -1
  310. package/dist/api/replicate.js +12 -12
  311. package/dist/api/replicate.js.map +1 -1
  312. package/dist/api/result.d.ts +1 -1
  313. package/dist/api/result.js +1 -1
  314. package/dist/api/result.js.map +1 -1
  315. package/dist/api/revolve.d.ts +2 -2
  316. package/dist/api/revolve.js +3 -3
  317. package/dist/api/revolve.js.map +1 -1
  318. package/dist/api/screw.d.ts +1 -1
  319. package/dist/api/screw.d.ts.map +1 -1
  320. package/dist/api/screw.js +5 -4
  321. package/dist/api/screw.js.map +1 -1
  322. package/dist/api/sdf.d.ts.map +1 -1
  323. package/dist/api/sdf.js +3 -2
  324. package/dist/api/sdf.js.map +1 -1
  325. package/dist/api/shape-type/index.d.ts +141 -0
  326. package/dist/api/shape-type/index.d.ts.map +1 -0
  327. package/dist/api/shape-type/index.js +182 -0
  328. package/dist/api/shape-type/index.js.map +1 -0
  329. package/dist/api/shell.d.ts +2 -2
  330. package/dist/api/shell.js +2 -2
  331. package/dist/api/shell.js.map +1 -1
  332. package/dist/api/solid-from-faces.d.ts +45 -0
  333. package/dist/api/solid-from-faces.d.ts.map +1 -0
  334. package/dist/api/solid-from-faces.js +72 -0
  335. package/dist/api/solid-from-faces.js.map +1 -0
  336. package/dist/api/solid-offset/index.d.ts +67 -0
  337. package/dist/api/solid-offset/index.d.ts.map +1 -0
  338. package/dist/api/solid-offset/index.js +132 -0
  339. package/dist/api/solid-offset/index.js.map +1 -0
  340. package/dist/api/surface/arg-spec.d.ts +35 -33
  341. package/dist/api/surface/arg-spec.d.ts.map +1 -1
  342. package/dist/api/surface/arg-spec.js +222 -224
  343. package/dist/api/surface/arg-spec.js.map +1 -1
  344. package/dist/api/surface-face/index.d.ts +104 -0
  345. package/dist/api/surface-face/index.d.ts.map +1 -0
  346. package/dist/api/surface-face/index.js +217 -0
  347. package/dist/api/surface-face/index.js.map +1 -0
  348. package/dist/api/surface.d.ts +44 -0
  349. package/dist/api/surface.d.ts.map +1 -0
  350. package/dist/api/surface.js +66 -0
  351. package/dist/api/surface.js.map +1 -0
  352. package/dist/api/sweep.d.ts +59 -9
  353. package/dist/api/sweep.d.ts.map +1 -1
  354. package/dist/api/sweep.js +11 -6
  355. package/dist/api/sweep.js.map +1 -1
  356. package/dist/api/thicken.d.ts +1 -1
  357. package/dist/api/thicken.js +1 -1
  358. package/dist/api/thicken.js.map +1 -1
  359. package/dist/api/transform.d.ts +5 -5
  360. package/dist/api/transform.d.ts.map +1 -1
  361. package/dist/api/transform.js +11 -10
  362. package/dist/api/transform.js.map +1 -1
  363. package/dist/api/view/cameraFns.d.ts +1 -1
  364. package/dist/api/view/cameraFns.d.ts.map +1 -1
  365. package/dist/api/view/cameraFns.js +1 -1
  366. package/dist/api/view/cameraFns.js.map +1 -1
  367. package/dist/api/view/index.d.ts +0 -2
  368. package/dist/api/view/index.d.ts.map +1 -1
  369. package/dist/api/view/index.js +0 -2
  370. package/dist/api/view/index.js.map +1 -1
  371. package/dist/api/view/projectionPlanes.d.ts +1 -1
  372. package/dist/api/view/projectionPlanes.d.ts.map +1 -1
  373. package/dist/api/view/projectionPlanes.js.map +1 -1
  374. package/dist/api/view/view-camera.d.ts +7 -9
  375. package/dist/api/view/view-camera.d.ts.map +1 -1
  376. package/dist/api/view/view-camera.js +4 -6
  377. package/dist/api/view/view-camera.js.map +1 -1
  378. package/dist/api/view/view-projection.d.ts +0 -2
  379. package/dist/api/view/view-projection.d.ts.map +1 -1
  380. package/dist/api/view/view-projection.js +0 -2
  381. package/dist/api/view/view-projection.js.map +1 -1
  382. package/dist/api/view/view-sheet.d.ts +0 -2
  383. package/dist/api/view/view-sheet.d.ts.map +1 -1
  384. package/dist/api/view/view-sheet.js +0 -2
  385. package/dist/api/view/view-sheet.js.map +1 -1
  386. package/dist/api/view-export/index.d.ts +97 -0
  387. package/dist/api/view-export/index.d.ts.map +1 -0
  388. package/dist/api/view-export/index.js +118 -0
  389. package/dist/api/view-export/index.js.map +1 -0
  390. package/dist/brep/brep-ops.d.ts +89 -1
  391. package/dist/brep/brep-ops.d.ts.map +1 -1
  392. package/dist/brep/brep-ops.js +204 -13
  393. package/dist/brep/brep-ops.js.map +1 -1
  394. package/dist/brep/brep-topology.d.ts +20 -0
  395. package/dist/brep/brep-topology.d.ts.map +1 -1
  396. package/dist/brep/brep-topology.js +46 -0
  397. package/dist/brep/brep-topology.js.map +1 -1
  398. package/dist/brep/engine/adapters/occt.d.ts +1 -1
  399. package/dist/brep/engine/adapters/occt.js +8 -8
  400. package/dist/brep/engine/adapters/occt.js.map +1 -1
  401. package/dist/brep/engine/primitives.d.ts +2 -3
  402. package/dist/brep/engine/primitives.d.ts.map +1 -1
  403. package/dist/brep/engine/primitives.js +1 -2
  404. package/dist/brep/engine/primitives.js.map +1 -1
  405. package/dist/brep/engine/registry.d.ts +1 -1
  406. package/dist/brep/engine/registry.js +1 -1
  407. package/dist/brep/engine/registry.js.map +1 -1
  408. package/dist/brep/engine/types.d.ts +2 -2
  409. package/dist/brep/engine/types.js.map +1 -1
  410. package/dist/brep/export/export-model.d.ts +40 -0
  411. package/dist/brep/export/export-model.d.ts.map +1 -1
  412. package/dist/brep/export/export-model.js +268 -25
  413. package/dist/brep/export/export-model.js.map +1 -1
  414. package/dist/brep/export/step-meta-header.d.ts +102 -0
  415. package/dist/brep/export/step-meta-header.d.ts.map +1 -0
  416. package/dist/brep/export/step-meta-header.js +225 -0
  417. package/dist/brep/export/step-meta-header.js.map +1 -0
  418. package/dist/brep/export/step.d.ts +5 -1
  419. package/dist/brep/export/step.d.ts.map +1 -1
  420. package/dist/brep/export/step.js +11 -2
  421. package/dist/brep/export/step.js.map +1 -1
  422. package/dist/brep/handle-bridge.d.ts +2 -2
  423. package/dist/brep/handle-bridge.js +2 -2
  424. package/dist/brep/handle-bridge.js.map +1 -1
  425. package/dist/brep/index.d.ts +6 -3
  426. package/dist/brep/index.d.ts.map +1 -1
  427. package/dist/brep/index.js +6 -3
  428. package/dist/brep/index.js.map +1 -1
  429. package/dist/brepkit-kernel/brepkitKernel.d.ts +1 -1
  430. package/dist/brepkit-kernel/brepkitKernel.js +2 -2
  431. package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
  432. package/dist/browser.d.ts +2 -2
  433. package/dist/browser.d.ts.map +1 -1
  434. package/dist/browser.js +5 -4
  435. package/dist/browser.js.map +1 -1
  436. package/dist/cad-runtime/admit-compat-lib.d.ts +3 -10
  437. package/dist/cad-runtime/admit-compat-lib.d.ts.map +1 -1
  438. package/dist/cad-runtime/admit-compat-lib.js +3 -9
  439. package/dist/cad-runtime/admit-compat-lib.js.map +1 -1
  440. package/dist/cad-runtime/backend-dispatch.js +12 -3
  441. package/dist/cad-runtime/backend-dispatch.js.map +1 -1
  442. package/dist/cad-runtime/direct-executor.d.ts +6 -3
  443. package/dist/cad-runtime/direct-executor.d.ts.map +1 -1
  444. package/dist/cad-runtime/direct-executor.js +31 -9
  445. package/dist/cad-runtime/direct-executor.js.map +1 -1
  446. package/dist/cad-runtime/interp/env.d.ts +1 -1
  447. package/dist/cad-runtime/interp/env.js.map +1 -1
  448. package/dist/cad-runtime/lib-id.d.ts +0 -2
  449. package/dist/cad-runtime/lib-id.d.ts.map +1 -1
  450. package/dist/cad-runtime/lib-id.js +0 -2
  451. package/dist/cad-runtime/lib-id.js.map +1 -1
  452. package/dist/cad-runtime/live-shapes.d.ts +3 -5
  453. package/dist/cad-runtime/live-shapes.d.ts.map +1 -1
  454. package/dist/cad-runtime/live-shapes.js +8 -10
  455. package/dist/cad-runtime/live-shapes.js.map +1 -1
  456. package/dist/cad-runtime/ports.d.ts +3 -3
  457. package/dist/cad-runtime/ports.js.map +1 -1
  458. package/dist/cad-runtime/runtime.d.ts +21 -7
  459. package/dist/cad-runtime/runtime.d.ts.map +1 -1
  460. package/dist/cad-runtime/runtime.js +45 -6
  461. package/dist/cad-runtime/runtime.js.map +1 -1
  462. package/dist/define-op.d.ts +4 -3
  463. package/dist/define-op.d.ts.map +1 -1
  464. package/dist/define-op.js +65 -3
  465. package/dist/define-op.js.map +1 -1
  466. package/dist/geometry2d/bridge/plane.d.ts +1 -1
  467. package/dist/geometry2d/bridge/plane.js +1 -1
  468. package/dist/geometry2d/bridge/plane.js.map +1 -1
  469. package/dist/geometry2d/curve2d.d.ts +1 -1
  470. package/dist/geometry2d/curve2d.js +1 -1
  471. package/dist/geometry2d/curve2d.js.map +1 -1
  472. package/dist/index.d.ts +1 -1
  473. package/dist/index.d.ts.map +1 -1
  474. package/dist/index.js +10 -4
  475. package/dist/index.js.map +1 -1
  476. package/dist/io/fai-zip/container-read.d.ts +16 -0
  477. package/dist/io/fai-zip/container-read.d.ts.map +1 -1
  478. package/dist/io/fai-zip/container-read.js +22 -0
  479. package/dist/io/fai-zip/container-read.js.map +1 -1
  480. package/dist/io/fai-zip/index.d.ts +1 -1
  481. package/dist/io/fai-zip/index.d.ts.map +1 -1
  482. package/dist/io/fai-zip/index.js +1 -1
  483. package/dist/io/fai-zip/index.js.map +1 -1
  484. package/dist/lang/code-to-args.d.ts.map +1 -1
  485. package/dist/lang/code-to-args.js +10 -1
  486. package/dist/lang/code-to-args.js.map +1 -1
  487. package/dist/lang/determinism-scanner.d.ts.map +1 -1
  488. package/dist/lang/determinism-scanner.js +22 -9
  489. package/dist/lang/determinism-scanner.js.map +1 -1
  490. package/dist/lang/metadata-extractor.d.ts +27 -6
  491. package/dist/lang/metadata-extractor.d.ts.map +1 -1
  492. package/dist/lang/metadata-extractor.js +90 -29
  493. package/dist/lang/metadata-extractor.js.map +1 -1
  494. package/dist/lang/parse-error.d.ts +4 -0
  495. package/dist/lang/parse-error.d.ts.map +1 -1
  496. package/dist/lang/parse-error.js.map +1 -1
  497. package/dist/lang/security-scanner.d.ts +27 -2
  498. package/dist/lang/security-scanner.d.ts.map +1 -1
  499. package/dist/lang/security-scanner.js +29 -2
  500. package/dist/lang/security-scanner.js.map +1 -1
  501. package/dist/lang/source-edit.d.ts +2 -2
  502. package/dist/lang/source-edit.js.map +1 -1
  503. package/dist/lang/symbol-table.generated.d.ts +36 -0
  504. package/dist/lang/symbol-table.generated.d.ts.map +1 -1
  505. package/dist/lang/symbol-table.generated.js +36 -0
  506. package/dist/lang/symbol-table.generated.js.map +1 -1
  507. package/dist/lang/types.d.ts +5 -6
  508. package/dist/lang/types.d.ts.map +1 -1
  509. package/dist/lang/types.js.map +1 -1
  510. package/dist/mesh/import-model.d.ts +94 -0
  511. package/dist/mesh/import-model.d.ts.map +1 -0
  512. package/dist/mesh/import-model.js +15 -0
  513. package/dist/mesh/import-model.js.map +1 -0
  514. package/dist/mesh/index.d.ts +19 -58
  515. package/dist/mesh/index.d.ts.map +1 -1
  516. package/dist/mesh/index.js +19 -70
  517. package/dist/mesh/index.js.map +1 -1
  518. package/dist/mesh/io.d.ts +39 -16
  519. package/dist/mesh/io.d.ts.map +1 -1
  520. package/dist/mesh/io.js +151 -22
  521. package/dist/mesh/io.js.map +1 -1
  522. package/dist/mesh/primitives.d.ts.map +1 -1
  523. package/dist/mesh/primitives.js +42 -7
  524. package/dist/mesh/primitives.js.map +1 -1
  525. package/dist/mesh/threemf-bambu.d.ts +12 -1
  526. package/dist/mesh/threemf-bambu.d.ts.map +1 -1
  527. package/dist/mesh/threemf-bambu.js +68 -16
  528. package/dist/mesh/threemf-bambu.js.map +1 -1
  529. package/dist/mesh/threemf-loader.d.ts +37 -1
  530. package/dist/mesh/threemf-loader.d.ts.map +1 -1
  531. package/dist/mesh/threemf-loader.js +205 -14
  532. package/dist/mesh/threemf-loader.js.map +1 -1
  533. package/dist/mesh/transform.d.ts +1 -1
  534. package/dist/mesh/transform.js +1 -1
  535. package/dist/mesh/transform.js.map +1 -1
  536. package/dist/mesh/types.d.ts +43 -5
  537. package/dist/mesh/types.d.ts.map +1 -1
  538. package/dist/mesh/types.js.map +1 -1
  539. package/dist/node-host/cli.d.ts +49 -1
  540. package/dist/node-host/cli.d.ts.map +1 -1
  541. package/dist/node-host/cli.js +125 -19
  542. package/dist/node-host/cli.js.map +1 -1
  543. package/dist/node-host/execute-script.d.ts +55 -0
  544. package/dist/node-host/execute-script.d.ts.map +1 -0
  545. package/dist/node-host/execute-script.js +46 -0
  546. package/dist/node-host/execute-script.js.map +1 -0
  547. package/dist/node.d.ts +2 -0
  548. package/dist/node.d.ts.map +1 -1
  549. package/dist/node.js +3 -0
  550. package/dist/node.js.map +1 -1
  551. package/dist/occt-kernel/generated/occtPlatform.generated.d.ts +260 -0
  552. package/dist/occt-kernel/generated/occtPlatform.generated.d.ts.map +1 -0
  553. package/dist/occt-kernel/generated/occtPlatform.generated.js +875 -0
  554. package/dist/occt-kernel/generated/occtPlatform.generated.js.map +1 -0
  555. package/dist/occt-kernel/highLevelApi.d.ts +4 -1
  556. package/dist/occt-kernel/highLevelApi.d.ts.map +1 -1
  557. package/dist/occt-kernel/highLevelApi.js +4 -2
  558. package/dist/occt-kernel/highLevelApi.js.map +1 -1
  559. package/dist/occt-kernel/hullGeometry.d.ts +2 -2
  560. package/dist/occt-kernel/hullGeometry.js +2 -3
  561. package/dist/occt-kernel/hullGeometry.js.map +1 -1
  562. package/dist/occt-kernel/hullOps.d.ts +3 -3
  563. package/dist/occt-kernel/hullOps.js +4 -4
  564. package/dist/occt-kernel/hullOps.js.map +1 -1
  565. package/dist/occt-kernel/occt-primitives.d.ts.map +1 -1
  566. package/dist/occt-kernel/occt-primitives.js +32 -5
  567. package/dist/occt-kernel/occt-primitives.js.map +1 -1
  568. package/dist/occt-kernel/occtKernel.d.ts +1 -1
  569. package/dist/occt-kernel/occtKernel.d.ts.map +1 -1
  570. package/dist/occt-kernel/occtKernel.js +19 -1
  571. package/dist/occt-kernel/occtKernel.js.map +1 -1
  572. package/dist/occt-kernel/stepMetaParser.d.ts +44 -0
  573. package/dist/occt-kernel/stepMetaParser.d.ts.map +1 -0
  574. package/dist/occt-kernel/stepMetaParser.js +166 -0
  575. package/dist/occt-kernel/stepMetaParser.js.map +1 -0
  576. package/dist/occt-scan/recognize.d.ts +58 -0
  577. package/dist/occt-scan/recognize.d.ts.map +1 -0
  578. package/dist/occt-scan/recognize.js +216 -0
  579. package/dist/occt-scan/recognize.js.map +1 -0
  580. package/dist/primitives/brep-primitives.js +7 -7
  581. package/dist/primitives/brep-primitives.js.map +1 -1
  582. package/dist/result/bug.d.ts +1 -1
  583. package/dist/result/bug.js +1 -1
  584. package/dist/result/bug.js.map +1 -1
  585. package/dist/result/errors.d.ts +2 -2
  586. package/dist/result/errors.d.ts.map +1 -1
  587. package/dist/result/errors.js +1 -1
  588. package/dist/result/errors.js.map +1 -1
  589. package/dist/result/vec3.d.ts +1 -1
  590. package/dist/result/vec3.js +1 -1
  591. package/dist/result/vec3.js.map +1 -1
  592. package/dist/runtime-state.d.ts +16 -0
  593. package/dist/runtime-state.d.ts.map +1 -1
  594. package/dist/runtime-state.js +27 -0
  595. package/dist/runtime-state.js.map +1 -1
  596. package/dist/script-globals.d.ts +24 -0
  597. package/dist/script-globals.d.ts.map +1 -0
  598. package/dist/script-globals.js +24 -0
  599. package/dist/script-globals.js.map +1 -0
  600. package/dist/shape.d.ts +35 -3
  601. package/dist/shape.d.ts.map +1 -1
  602. package/dist/shape.js +44 -2
  603. package/dist/shape.js.map +1 -1
  604. package/dist/step/stepMetaParser.d.ts +55 -0
  605. package/dist/step/stepMetaParser.d.ts.map +1 -0
  606. package/dist/step/stepMetaParser.js +177 -0
  607. package/dist/step/stepMetaParser.js.map +1 -0
  608. package/dist/topology/naming/lineage.d.ts +3 -2
  609. package/dist/topology/naming/lineage.d.ts.map +1 -1
  610. package/dist/topology/naming/lineage.js.map +1 -1
  611. package/dist/weapp.d.ts +1 -1
  612. package/dist/weapp.js +1 -1
  613. package/dist/weapp.js.map +1 -1
  614. package/package.json +9 -11
@@ -6,12 +6,11 @@
6
6
  */
7
7
  import { fromHandle } from '../../sdk.js';
8
8
  import { isShape } from '../../shape.js';
9
- // ── compatOp 提升边界归一(GOTCHA:borrowDeep 把实参 Shape 换成借用视图)──
9
+ // ── compatOp 提升边界归一(GOTCHA:compatOp 提升后实参形态可能变化)──
10
10
  //
11
11
  // 当 cq-compat 命名空间被 registerLib 提升(无 dual-op → autoLift=true)时,
12
- // 每个裸导出函数的实参先经 borrowDeep:faijs Shape → 借用 brepjs 视图
13
- // `{ wrapped, disposed, delete, onDispose }`(`isShape=false`、`brepOf=undefined`)。
14
- // 直接调用(测试进程内)拿到的则是真实 Shape。两个形态都必须能消费:
12
+ // 每个裸导出函数的实参经 compatOp 适配器传入。直接调用(测试进程内)拿到的
13
+ // 则是真实 Shape。两个形态都必须能消费:
15
14
  //
16
15
  // asBrepShape(v) —
17
16
  // - 真实 Shape → 原样返回;
@@ -1 +1 @@
1
- {"version":3,"file":"borrow-bridge.js","sourceRoot":"","sources":["../../../src/api/cadquery-selectors/borrow-bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,2DAA2D;AAC3D,EAAE;AACF,gEAAgE;AAChE,qDAAqD;AACrD,kFAAkF;AAClF,uCAAuC;AACvC,EAAE;AACF,qBAAqB;AACrB,uBAAuB;AACvB,wDAAwD;AACxD,sDAAsD;AACtD,uBAAuB;AACvB,6BAA6B;AAC7B,EAAE;AACF,2DAA2D;AAC3D,uDAAuD;AACvD,oCAAoC;AACpC,mEAAmE;AACnE,oCAAoC;AACpC,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAiB,CAAA;AAEvD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,IAAI,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAU,CAAA;IACjC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAyB,CAAA;QACtC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,MAAM,MAAM,GACV,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,IAAI,UAAU;YACzE,CAAC,CAAE,UAA6B,CAAC,EAAE;YACnC,CAAC,CAAC,UAAU,CAAA;QAChB,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAU,CAAA;QACrC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAU,CAAA;AACnB,CAAC","sourcesContent":["/**\n * cadquery-selectors/borrow-bridge — compatOp 提升边界归一(等价搬运自 cq-compat)\n *\n * 原实现位于 `packages/faijs-cadquery/src/workplane.ts` 的 `asBrepShape`,本文件为\n * 原样搬运(仅 import 路径改为 core 内部相对路径),零逻辑改动。\n */\n\nimport { fromHandle } from '../../sdk'\nimport { isShape } from '../../shape'\nimport type { Shape } from '../../mesh/types'\n\n// ── compatOp 提升边界归一(GOTCHA:borrowDeep 把实参 Shape 换成借用视图)──\n//\n// 当 cq-compat 命名空间被 registerLib 提升(无 dual-op → autoLift=true)时,\n// 每个裸导出函数的实参先经 borrowDeep:faijs Shape → 借用 brepjs 视图\n// `{ wrapped, disposed, delete, onDispose }`(`isShape=false`、`brepOf=undefined`)。\n// 直接调用(测试进程内)拿到的则是真实 Shape。两个形态都必须能消费:\n//\n// asBrepShape(v) —\n// - 真实 Shape → 原样返回;\n// - 借用视图(有 `.wrapped`)→ 提取原始 OCCT 句柄,fromHandle 还原为真实\n// Shape(mesh 三角化 + BREP 身份槽登记,brepOf 可恢复),按视图对象缓存\n// (同句柄多次调用不重复三角化);\n// - 其余 → 原样返回(调用方自行判空/报错)。\n//\n// 所有权:归一出的新 Shape 与原 part Shape 的 slot 指向同一 OCCT 句柄,但 slot\n// 按 Shape 对象各自持有(fromBrep 写的是新 Shape 的 slot),无共享释放路径——\n// 与 core fromHandle 收编模式同构,不引入双重释放。\n// 视图 `.wrapped` 是 OcctWasmHandle 对象({ id, type, __occtWasm }),内核只收\n// 数字 id → 解包方式与 core fromHandle 一致。\nconst borrowedShapeCache = new WeakMap<object, Shape>()\n\n/**\n * 把可能是借用视图的几何输入归一为真实 faijs Shape(见上方注释)。\n * @param v 真实 Shape、借用视图(`{ wrapped }`)或其他原样透传的输入。\n * @returns 真实 faijs `Shape`(借用视图经 `fromHandle` 还原并缓存)。\n */\nexport function asBrepShape(v: unknown): Shape {\n if (isShape(v)) return v as Shape\n if (v !== null && typeof v === 'object' && 'wrapped' in v) {\n const view = v as { wrapped: unknown }\n const hit = borrowedShapeCache.get(view)\n if (hit) return hit\n const wrappedAny = view.wrapped\n const handle =\n typeof wrappedAny === 'object' && wrappedAny !== null && 'id' in wrappedAny\n ? (wrappedAny as { id: number }).id\n : wrappedAny\n const s = fromHandle(handle) as Shape\n borrowedShapeCache.set(view, s)\n return s\n }\n return v as Shape\n}"]}
1
+ {"version":3,"file":"borrow-bridge.js","sourceRoot":"","sources":["../../../src/api/cadquery-selectors/borrow-bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,oDAAoD;AACpD,EAAE;AACF,gEAAgE;AAChE,4CAA4C;AAC5C,yBAAyB;AACzB,EAAE;AACF,qBAAqB;AACrB,uBAAuB;AACvB,wDAAwD;AACxD,sDAAsD;AACtD,uBAAuB;AACvB,6BAA6B;AAC7B,EAAE;AACF,2DAA2D;AAC3D,uDAAuD;AACvD,oCAAoC;AACpC,mEAAmE;AACnE,oCAAoC;AACpC,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAiB,CAAA;AAEvD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,IAAI,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAU,CAAA;IACjC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAyB,CAAA;QACtC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,MAAM,MAAM,GACV,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,IAAI,UAAU;YACzE,CAAC,CAAE,UAA6B,CAAC,EAAE;YACnC,CAAC,CAAC,UAAU,CAAA;QAChB,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAU,CAAA;QACrC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAU,CAAA;AACnB,CAAC","sourcesContent":["/**\n * cadquery-selectors/borrow-bridge — compatOp 提升边界归一(等价搬运自 cq-compat)\n *\n * 原实现位于 `packages/faijs-cadquery/src/workplane.ts` 的 `asBrepShape`,本文件为\n * 原样搬运(仅 import 路径改为 core 内部相对路径),零逻辑改动。\n */\n\nimport { fromHandle } from '../../sdk'\nimport { isShape } from '../../shape'\nimport type { Shape } from '../../mesh/types'\n\n// ── compatOp 提升边界归一(GOTCHA:compatOp 提升后实参形态可能变化)──\n//\n// 当 cq-compat 命名空间被 registerLib 提升(无 dual-op → autoLift=true)时,\n// 每个裸导出函数的实参经 compatOp 适配器传入。直接调用(测试进程内)拿到的\n// 则是真实 Shape。两个形态都必须能消费:\n//\n// asBrepShape(v) —\n// - 真实 Shape → 原样返回;\n// - 借用视图(有 `.wrapped`)→ 提取原始 OCCT 句柄,fromHandle 还原为真实\n// Shape(mesh 三角化 + BREP 身份槽登记,brepOf 可恢复),按视图对象缓存\n// (同句柄多次调用不重复三角化);\n// - 其余 → 原样返回(调用方自行判空/报错)。\n//\n// 所有权:归一出的新 Shape 与原 part Shape 的 slot 指向同一 OCCT 句柄,但 slot\n// 按 Shape 对象各自持有(fromBrep 写的是新 Shape 的 slot),无共享释放路径——\n// 与 core fromHandle 收编模式同构,不引入双重释放。\n// 视图 `.wrapped` 是 OcctWasmHandle 对象({ id, type, __occtWasm }),内核只收\n// 数字 id → 解包方式与 core fromHandle 一致。\nconst borrowedShapeCache = new WeakMap<object, Shape>()\n\n/**\n * 把可能是借用视图的几何输入归一为真实 faijs Shape(见上方注释)。\n * @param v 真实 Shape、借用视图(`{ wrapped }`)或其他原样透传的输入。\n * @returns 真实 faijs `Shape`(借用视图经 `fromHandle` 还原并缓存)。\n */\nexport function asBrepShape(v: unknown): Shape {\n if (isShape(v)) return v as Shape\n if (v !== null && typeof v === 'object' && 'wrapped' in v) {\n const view = v as { wrapped: unknown }\n const hit = borrowedShapeCache.get(view)\n if (hit) return hit\n const wrappedAny = view.wrapped\n const handle =\n typeof wrappedAny === 'object' && wrappedAny !== null && 'id' in wrappedAny\n ? (wrappedAny as { id: number }).id\n : wrappedAny\n const s = fromHandle(handle) as Shape\n borrowedShapeCache.set(view, s)\n return s\n }\n return v as Shape\n}"]}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * api curve-sketch — 曲线与草图构造族(S4,平台 op engines:['occt'])
3
+ *
4
+ * @platform occt — 本目录 import occt-kernel:各 op 直调 occt 原生曲线构造/精修方法
5
+ * (`makeEdge` / `makeCircleArc` / `makeEllipseEdge` / `makeEllipseArc` /
6
+ * `makeTangentArc` / `approximatePoints` / `interpolatePointsWithTangents` /
7
+ * `curveDegreeElevate` / `curveKnotInsert` / `curveKnotRemove` / `curveIsPeriodic`,
8
+ * occt-wasm 原生有)。这些原生方法**不在** L1 契约 `BrepEngineApi` 里(L1 只有
9
+ * `makeLineEdge` / `makeArcEdge` / `interpolatePoints` 等按几何构造的子集,见
10
+ * brep/engine/primitives.ts)⇒ 全族平台 op:defineOp 声明 `engines: ['occt']`(D11)。
11
+ *
12
+ * 方案落点:docs/plans/2026-10-07-occt-wasm-op-enablement-plan.md §3.4.1。
13
+ * 与既有 op 的边界(§4.5 去重表):`edge`(顶点对构造)≠ `makeLineEdge`(L1 点对构造,
14
+ * 无脚本符号)≠ `wire`(多边组装);`approximatePoints`(逼近)与 L1 `interpolatePoints`
15
+ * (插值)是数学对偶的两条路径;`interpolateWithTangents` 是带端点切向的插值。
16
+ *
17
+ * 角度约定(实测钉住,见 test/api/occt-s4-curve-sketch.test.ts):occt 原生
18
+ * `makeCircleArc` / `makeEllipseArc` 的起止角走 `Geom_TrimmedCurve`(**弧度**,
19
+ * 见 occt-wasm facade `Geom_TrimmedCurve(new Geom_Circle(circle), startAngle, endAngle)`);
20
+ * 本仓契约「角度用度」(docs/api-contract.md)⇒ 脚本面收**度**、内部换算弧度。
21
+ *
22
+ * 产物形态(同 offset2d / helix):1D 曲线经 `fromBrepCurve` 登记为 `kind:'curve'`
23
+ * (wire/edge 三角载荷为空,显示走 L1 `wireframe`)。
24
+ *
25
+ * `curveIsPeriodic` 返回布尔(非 Shape)⇒ 与 shape-type 族同口径:普通函数 +
26
+ * `assertEngineFor('curveIsPeriodic', ['occt'])`(见 api/shape-type/index.ts 头注),
27
+ * 覆盖率扫描器经 PLAN_C2_EXTRA 计入。
28
+ */
29
+ import type { Shape } from '../../mesh/types.js';
30
+ type Vec3 = [number, number, number];
31
+ /**
32
+ * 两顶点构造边。顶点入参可以是 vertex Shape,也可以是 `[x,y,z]` 点
33
+ * (点经 L1 契约 `makeVertex` 物化成顶点再配边)。
34
+ * @group 创建
35
+ * @inputs 2
36
+ * @async false
37
+ * @qual ok
38
+ * @name edge
39
+ * @note 平台 op:仅 occt 引擎(原生 makeEdge,L1 契约只有 makeLineEdge 等按几何构造)。
40
+ * 非 occt 引擎执行前报错;brep_mock 不拦截。
41
+ * @returns Shape 1D 直线边(kind:'curve')。
42
+ * @param v1 - 第一个顶点(vertex Shape 或 [x,y,z])。type:Shape|Vec3 required:true
43
+ * @param v2 - 第二个顶点(vertex Shape 或 [x,y,z])。type:Shape|Vec3 required:true
44
+ * @example
45
+ * const e = cad.edge([0,0,0], [10,0,0])
46
+ */
47
+ export declare const edge: ((v1: Shape | Vec3, v2: Shape | Vec3) => Promise<Shape>) & {
48
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
49
+ };
50
+ /**
51
+ * 构造圆弧:圆心 + 法向 + 半径 + 起止角(度,绕法向右手逆时针)。
52
+ * @group 创建
53
+ * @inputs 0
54
+ * @async false
55
+ * @qual ok
56
+ * @name circleArc
57
+ * @note 平台 op:仅 occt 引擎(原生 makeCircleArc)。角度单位是**度**(内部换算弧度
58
+ * 传给 occt 的 Geom_TrimmedCurve)。
59
+ * @returns Shape 1D 圆弧(kind:'curve')。
60
+ * @param center - 圆心 [x,y,z]。type:Vec3 required:true
61
+ * @param normal - 圆面法向 [x,y,z](非零)。type:Vec3 required:true
62
+ * @param radius - 半径(mm,>0)。type:number required:true
63
+ * @param startAngle - 起始角(度,自法向基准 X 方向起量)。type:number required:true
64
+ * @param endAngle - 终止角(度)。type:number required:true
65
+ * @example
66
+ * const a = cad.circleArc([0,0,0], [0,0,1], 5, 0, 90)
67
+ */
68
+ export declare const circleArc: ((center: Vec3, normal: Vec3, radius: number, startAngleDeg: number, endAngleDeg: number) => Promise<Shape>) & {
69
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
70
+ };
71
+ /**
72
+ * 构造整椭圆边:中心 + 法向 + 长半轴 + 短半轴。
73
+ * @group 创建
74
+ * @inputs 0
75
+ * @async false
76
+ * @qual ok
77
+ * @name ellipseEdge
78
+ * @note 平台 op:仅 occt 引擎(原生 makeEllipseEdge)。要求 majorRadius >= minorRadius。
79
+ * @returns Shape 1D 椭圆边(kind:'curve')。
80
+ * @param center - 椭圆中心 [x,y,z]。type:Vec3 required:true
81
+ * @param normal - 椭圆面法向 [x,y,z](非零)。type:Vec3 required:true
82
+ * @param majorRadius - 长半轴(mm,>0)。type:number required:true
83
+ * @param minorRadius - 短半轴(mm,>0 且 <= 长半轴)。type:number required:true
84
+ * @example
85
+ * const e = cad.ellipseEdge([0,0,0], [0,0,1], 10, 5)
86
+ */
87
+ export declare const ellipseEdge: ((center: Vec3, normal: Vec3, majorRadius: number, minorRadius: number) => Promise<Shape>) & {
88
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
89
+ };
90
+ /**
91
+ * 构造椭圆弧:中心 + 法向 + 长短半轴 + 起止角(度)。
92
+ * @group 创建
93
+ * @inputs 0
94
+ * @async false
95
+ * @qual ok
96
+ * @name ellipseArc
97
+ * @note 平台 op:仅 occt 引擎(原生 makeEllipseArc)。角度单位是**度**(内部换算弧度)。
98
+ * @returns Shape 1D 椭圆弧(kind:'curve')。
99
+ * @param center - 椭圆中心 [x,y,z]。type:Vec3 required:true
100
+ * @param normal - 椭圆面法向 [x,y,z](非零)。type:Vec3 required:true
101
+ * @param majorRadius - 长半轴(mm,>0)。type:number required:true
102
+ * @param minorRadius - 短半轴(mm,>0 且 <= 长半轴)。type:number required:true
103
+ * @param startAngle - 起始角(度)。type:number required:true
104
+ * @param endAngle - 终止角(度)。type:number required:true
105
+ * @example
106
+ * const a = cad.ellipseArc([0,0,0], [0,0,1], 10, 5, 0, 90)
107
+ */
108
+ export declare const ellipseArc: ((center: Vec3, normal: Vec3, majorRadius: number, minorRadius: number, startAngleDeg: number, endAngleDeg: number) => Promise<Shape>) & {
109
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
110
+ };
111
+ /**
112
+ * 构造圆弧:过起点、以给定切向出发、终于终点(GC_MakeArcOfCircle 语义)。
113
+ * @group 创建
114
+ * @inputs 0
115
+ * @async false
116
+ * @qual ok
117
+ * @name tangentArc
118
+ * @note 平台 op:仅 occt 引擎(原生 makeTangentArc)。切向为零向量非法。
119
+ * @returns Shape 1D 圆弧(kind:'curve')。
120
+ * @param start - 起点 [x,y,z]。type:Vec3 required:true
121
+ * @param tangent - 起点切向 [x,y,z](非零,不必单位化)。type:Vec3 required:true
122
+ * @param end - 终点 [x,y,z]。type:Vec3 required:true
123
+ * @example
124
+ * const a = cad.tangentArc([0,0,0], [1,0,0], [5,5,0])
125
+ */
126
+ export declare const tangentArc: ((start: Vec3, tangent: Vec3, end: Vec3) => Promise<Shape>) & {
127
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
128
+ };
129
+ /**
130
+ * 点集**逼近**曲线:过点但不严格插值(逼近容差内贴合,产平滑 B 样条)。
131
+ * 与 L1 `interpolatePoints`(严格插值)成对的数学对偶路径。
132
+ * @group 创建
133
+ * @inputs 0
134
+ * @async false
135
+ * @qual ok
136
+ * @name approximatePoints
137
+ * @note 平台 op:仅 occt 引擎(原生 approximatePoints,tolerance 缺省 1e-3)。
138
+ * @returns Shape 1D 逼近曲线(kind:'curve')。
139
+ * @param points - 点集 [x,y,z][](≥2 点)。type:Vec3[] required:true
140
+ * @param tolerance - 逼近容差(mm,默认 1e-3)。type:number required:false
141
+ * @example
142
+ * const c = cad.approximatePoints([[0,0,0],[5,3,0],[10,0,0]])
143
+ */
144
+ export declare const approximatePoints: ((points: Vec3[], tolerance?: number | undefined) => Promise<Shape>) & {
145
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
146
+ };
147
+ /**
148
+ * 点集**插值**曲线,带端点切向约束(三次 B 样条,过全部点且端点切向指定)。
149
+ * @group 创建
150
+ * @inputs 0
151
+ * @async false
152
+ * @qual ok
153
+ * @name interpolateWithTangents
154
+ * @note 平台 op:仅 occt 引擎(原生 interpolatePointsWithTangents)。两端切向非零。
155
+ * @returns Shape 1D 插值曲线(kind:'curve')。
156
+ * @param points - 点集 [x,y,z][](≥2 点)。type:Vec3[] required:true
157
+ * @param startTangent - 起点切向 [x,y,z](非零)。type:Vec3 required:true
158
+ * @param endTangent - 终点切向 [x,y,z](非零)。type:Vec3 required:true
159
+ * @example
160
+ * const c = cad.interpolateWithTangents([[0,0,0],[5,3,0],[10,0,0]], [1,0,0], [1,0,0])
161
+ */
162
+ export declare const interpolateWithTangents: ((points: Vec3[], startTangent: Vec3, endTangent: Vec3) => Promise<Shape>) & {
163
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
164
+ };
165
+ /**
166
+ * NURBS 曲线升阶:把边/曲线的阶数提升 `elevateBy`(几何不变,表示空间变大)。
167
+ * @group 查询
168
+ * @inputs 1
169
+ * @async false
170
+ * @qual ok
171
+ * @name curveDegreeElevate
172
+ * @note 平台 op:仅 occt 引擎(原生 curveDegreeElevate)。输入边/曲线。
173
+ * @returns Shape 升阶后的 1D 曲线(kind:'curve')。
174
+ * @param curve - 输入边/曲线。type:Shape required:true
175
+ * @param elevateBy - 升阶量(正整数)。type:number required:true
176
+ * @example
177
+ * const up = cad.curveDegreeElevate(e, 2)
178
+ */
179
+ export declare const curveDegreeElevate: ((curve: Shape, elevateBy: number) => Promise<Shape>) & {
180
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
181
+ };
182
+ /**
183
+ * NURBS 曲线插节点:在曲线参数 `knot` 处插入节点 `times` 次(几何不变)。
184
+ * @group 查询
185
+ * @inputs 1
186
+ * @async false
187
+ * @qual ok
188
+ * @name curveKnotInsert
189
+ * @note 平台 op:仅 occt 引擎(原生 curveKnotInsert)。knot 是曲线参数(不是长度)。
190
+ * @returns Shape 插节点后的 1D 曲线(kind:'curve')。
191
+ * @param curve - 输入边/曲线。type:Shape required:true
192
+ * @param knot - 目标节点参数。type:number required:true
193
+ * @param times - 重复次数(正整数)。type:number required:true
194
+ * @example
195
+ * const refined = cad.curveKnotInsert(e, 0.5, 1)
196
+ */
197
+ export declare const curveKnotInsert: ((curve: Shape, knot: number, times: number) => Promise<Shape>) & {
198
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
199
+ };
200
+ /**
201
+ * NURBS 曲线去节点:在容差内移除参数 `knot` 处的节点(几何漂移不超过 tolerance)。
202
+ * @group 查询
203
+ * @inputs 1
204
+ * @async false
205
+ * @qual ok
206
+ * @name curveKnotRemove
207
+ * @note 平台 op:仅 occt 引擎(原生 curveKnotRemove)。knot 是曲线参数(不是长度)。
208
+ * @returns Shape 去节点后的 1D 曲线(kind:'curve')。
209
+ * @param curve - 输入边/曲线。type:Shape required:true
210
+ * @param knot - 目标节点参数。type:number required:true
211
+ * @param tolerance - 允许的几何漂移(mm,>0)。type:number required:true
212
+ * @example
213
+ * const lean = cad.curveKnotRemove(e, 0.5, 1e-4)
214
+ */
215
+ export declare const curveKnotRemove: ((curve: Shape, knot: number, tolerance: number) => Promise<Shape>) & {
216
+ __faijs__dualOp?: import("../../define-op.js").DualOpMeta;
217
+ };
218
+ /**
219
+ * 曲线是否周期(L1 契约只有 `curveIsClosed`,周期性是 occt 原生独有查询)。
220
+ * @group 查询
221
+ * @inputs 1
222
+ * @async false
223
+ * @qual ok
224
+ * @name curveIsPeriodic
225
+ * @note 平台 op:仅 occt 引擎(原生 curveIsPeriodic,L1 无对应成员)。非 occt 引擎
226
+ * 执行前报 E_BREP_UNSUPPORTED。
227
+ * @returns boolean 是否为周期曲线。
228
+ * @param curve - 被查询的边/曲线。type:Shape required:true
229
+ * @example
230
+ * const c = cad.circleArc([0,0,0], [0,0,1], 5, 0, 360)
231
+ * const periodic = cad.curveIsPeriodic(c)
232
+ */
233
+ export declare function curveIsPeriodic(curve: Shape): boolean;
234
+ export {};
235
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/curve-sketch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAU7C,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAgEpC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI;;CAOf,CAAA;AA+BF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS;;CAQpB,CAAA;AA4BF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW;;CAQtB,CAAA;AA0BF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU;;CAQrB,CAAA;AAeF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU;;CAQrB,CAAA;AA4BF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB;;CAQ5B,CAAA;AAiBF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB;;CAQlC,CAAA;AAgBF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB;;CAO7B,CAAA;AAeF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe;;CAO1B,CAAA;AAeF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe;;CAQ1B,CAAA;AAMF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAKrD"}