@faicad/faijs 0.31.1 → 0.32.2

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 (1538) hide show
  1. package/dist/api/api-namespace.d.ts.map +1 -1
  2. package/dist/api/api-namespace.js +9 -3
  3. package/dist/api/api-namespace.js.map +1 -1
  4. package/dist/api/boolean-op/index.d.ts.map +1 -1
  5. package/dist/api/boolean-op/index.js +1 -0
  6. package/dist/api/boolean-op/index.js.map +1 -1
  7. package/dist/api/boolean.d.ts.map +1 -1
  8. package/dist/api/boolean.js +4 -0
  9. package/dist/api/boolean.js.map +1 -1
  10. package/dist/api/brep-operations/joinery-brep.js +10 -10
  11. package/dist/api/brep-operations/joinery-brep.js.map +1 -1
  12. package/dist/api/chamfer.d.ts.map +1 -1
  13. package/dist/api/chamfer.js +1 -0
  14. package/dist/api/chamfer.js.map +1 -1
  15. package/dist/api/curve-sketch/index.d.ts.map +1 -1
  16. package/dist/api/curve-sketch/index.js +3 -0
  17. package/dist/api/curve-sketch/index.js.map +1 -1
  18. package/dist/api/draft.d.ts.map +1 -1
  19. package/dist/api/draft.js +1 -0
  20. package/dist/api/draft.js.map +1 -1
  21. package/dist/api/engrave.d.ts.map +1 -1
  22. package/dist/api/engrave.js +1 -0
  23. package/dist/api/engrave.js.map +1 -1
  24. package/dist/api/extrude.d.ts.map +1 -1
  25. package/dist/api/extrude.js +18 -17
  26. package/dist/api/extrude.js.map +1 -1
  27. package/dist/api/feature-repair.d.ts.map +1 -1
  28. package/dist/api/feature-repair.js +6 -0
  29. package/dist/api/feature-repair.js.map +1 -1
  30. package/dist/api/fillet-variable.d.ts.map +1 -1
  31. package/dist/api/fillet-variable.js +1 -0
  32. package/dist/api/fillet-variable.js.map +1 -1
  33. package/dist/api/fillet.d.ts.map +1 -1
  34. package/dist/api/fillet.js +1 -0
  35. package/dist/api/fillet.js.map +1 -1
  36. package/dist/api/generated/operations.js +16 -16
  37. package/dist/api/generated/operations.js.map +1 -1
  38. package/dist/api/generated/sketching.js +1 -1
  39. package/dist/api/generated/sketching.js.map +1 -1
  40. package/dist/api/generated/topology.js +18 -18
  41. package/dist/api/generated/topology.js.map +1 -1
  42. package/dist/api/helix.d.ts.map +1 -1
  43. package/dist/api/helix.js +1 -0
  44. package/dist/api/helix.js.map +1 -1
  45. package/dist/api/import-brep.d.ts.map +1 -1
  46. package/dist/api/import-brep.js +1 -0
  47. package/dist/api/import-brep.js.map +1 -1
  48. package/dist/api/import-step.d.ts.map +1 -1
  49. package/dist/api/import-step.js +1 -0
  50. package/dist/api/import-step.js.map +1 -1
  51. package/dist/api/index.d.ts +5 -2
  52. package/dist/api/index.d.ts.map +1 -1
  53. package/dist/api/index.js +3 -0
  54. package/dist/api/index.js.map +1 -1
  55. package/dist/api/loft-advanced.d.ts +66 -0
  56. package/dist/api/loft-advanced.d.ts.map +1 -0
  57. package/dist/api/loft-advanced.js +112 -0
  58. package/dist/api/loft-advanced.js.map +1 -0
  59. package/dist/api/loft.d.ts +16 -23
  60. package/dist/api/loft.d.ts.map +1 -1
  61. package/dist/api/loft.js +22 -40
  62. package/dist/api/loft.js.map +1 -1
  63. package/dist/api/measure-query/index.d.ts.map +1 -1
  64. package/dist/api/measure-query/index.js +2 -0
  65. package/dist/api/measure-query/index.js.map +1 -1
  66. package/dist/api/pattern.d.ts.map +1 -1
  67. package/dist/api/pattern.js +1 -0
  68. package/dist/api/pattern.js.map +1 -1
  69. package/dist/api/place.d.ts.map +1 -1
  70. package/dist/api/place.js +1 -0
  71. package/dist/api/place.js.map +1 -1
  72. package/dist/api/profile.d.ts.map +1 -1
  73. package/dist/api/profile.js +1 -0
  74. package/dist/api/profile.js.map +1 -1
  75. package/dist/api/punch-hole.d.ts.map +1 -1
  76. package/dist/api/punch-hole.js +1 -0
  77. package/dist/api/punch-hole.js.map +1 -1
  78. package/dist/api/replicate.d.ts.map +1 -1
  79. package/dist/api/replicate.js +6 -0
  80. package/dist/api/replicate.js.map +1 -1
  81. package/dist/api/revolve.d.ts.map +1 -1
  82. package/dist/api/revolve.js +1 -0
  83. package/dist/api/revolve.js.map +1 -1
  84. package/dist/api/screw.d.ts.map +1 -1
  85. package/dist/api/screw.js +1 -0
  86. package/dist/api/screw.js.map +1 -1
  87. package/dist/api/sdf.d.ts.map +1 -1
  88. package/dist/api/sdf.js +1 -0
  89. package/dist/api/sdf.js.map +1 -1
  90. package/dist/api/shell.d.ts.map +1 -1
  91. package/dist/api/shell.js +1 -0
  92. package/dist/api/shell.js.map +1 -1
  93. package/dist/api/sketch-on-face.d.ts +34 -30
  94. package/dist/api/sketch-on-face.d.ts.map +1 -1
  95. package/dist/api/sketch-on-face.js +41 -31
  96. package/dist/api/sketch-on-face.js.map +1 -1
  97. package/dist/api/sketch-on-plane.d.ts.map +1 -1
  98. package/dist/api/sketch-on-plane.js +1 -0
  99. package/dist/api/sketch-on-plane.js.map +1 -1
  100. package/dist/api/sketch-on-surface.d.ts +76 -0
  101. package/dist/api/sketch-on-surface.d.ts.map +1 -0
  102. package/dist/api/sketch-on-surface.js +99 -0
  103. package/dist/api/sketch-on-surface.js.map +1 -0
  104. package/dist/api/solid-offset/index.d.ts.map +1 -1
  105. package/dist/api/solid-offset/index.js +1 -0
  106. package/dist/api/solid-offset/index.js.map +1 -1
  107. package/dist/api/split.d.ts.map +1 -1
  108. package/dist/api/split.js +1 -0
  109. package/dist/api/split.js.map +1 -1
  110. package/dist/api/surface/arg-spec.d.ts +5 -4
  111. package/dist/api/surface/arg-spec.d.ts.map +1 -1
  112. package/dist/api/surface/arg-spec.js +2 -2
  113. package/dist/api/surface/arg-spec.js.map +1 -1
  114. package/dist/api/surface-face/index.d.ts.map +1 -1
  115. package/dist/api/surface-face/index.js +5 -0
  116. package/dist/api/surface-face/index.js.map +1 -1
  117. package/dist/api/surface.d.ts.map +1 -1
  118. package/dist/api/surface.js +1 -0
  119. package/dist/api/surface.js.map +1 -1
  120. package/dist/api/sweep-advanced.d.ts +117 -0
  121. package/dist/api/sweep-advanced.d.ts.map +1 -0
  122. package/dist/api/sweep-advanced.js +94 -0
  123. package/dist/api/sweep-advanced.js.map +1 -0
  124. package/dist/api/sweep.d.ts +18 -88
  125. package/dist/api/sweep.d.ts.map +1 -1
  126. package/dist/api/sweep.js +27 -30
  127. package/dist/api/sweep.js.map +1 -1
  128. package/dist/api/thicken.d.ts.map +1 -1
  129. package/dist/api/thicken.js +1 -0
  130. package/dist/api/thicken.js.map +1 -1
  131. package/dist/api/transform.d.ts.map +1 -1
  132. package/dist/api/transform.js +2 -0
  133. package/dist/api/transform.js.map +1 -1
  134. package/dist/api/wire.d.ts.map +1 -1
  135. package/dist/api/wire.js +1 -0
  136. package/dist/api/wire.js.map +1 -1
  137. package/dist/boolean/cross-section.d.ts +7 -6
  138. package/dist/boolean/cross-section.d.ts.map +1 -1
  139. package/dist/boolean/cross-section.js +38 -27
  140. package/dist/boolean/cross-section.js.map +1 -1
  141. package/dist/boolean/deriveNormals.d.ts +5 -5
  142. package/dist/boolean/deriveNormals.d.ts.map +1 -1
  143. package/dist/boolean/deriveNormals.js +18 -18
  144. package/dist/boolean/deriveNormals.js.map +1 -1
  145. package/dist/boolean/extrude-helpers.d.ts +6 -6
  146. package/dist/boolean/extrude-helpers.d.ts.map +1 -1
  147. package/dist/boolean/extrude-helpers.js +6 -6
  148. package/dist/boolean/extrude-helpers.js.map +1 -1
  149. package/dist/boolean/geo-convert.d.ts +11 -8
  150. package/dist/boolean/geo-convert.d.ts.map +1 -1
  151. package/dist/boolean/geo-convert.js +17 -73
  152. package/dist/boolean/geo-convert.js.map +1 -1
  153. package/dist/boolean/index.js.map +1 -1
  154. package/dist/brep/brep-ops.d.ts +5 -5
  155. package/dist/brep/brep-ops.d.ts.map +1 -1
  156. package/dist/brep/brep-ops.js +42 -42
  157. package/dist/brep/brep-ops.js.map +1 -1
  158. package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -1
  159. package/dist/brep/engine/adapters/brep-mock.js +24 -0
  160. package/dist/brep/engine/adapters/brep-mock.js.map +1 -1
  161. package/dist/brep/engine/primitives.d.ts +30 -0
  162. package/dist/brep/engine/primitives.d.ts.map +1 -1
  163. package/dist/brep/engine/primitives.js.map +1 -1
  164. package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -1
  165. package/dist/brepkit-kernel/brepkitKernel.js +138 -0
  166. package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
  167. package/dist/cad-runtime/runtime.d.ts.map +1 -1
  168. package/dist/cad-runtime/runtime.js +5 -2
  169. package/dist/cad-runtime/runtime.js.map +1 -1
  170. package/dist/define-op.d.ts +16 -7
  171. package/dist/define-op.d.ts.map +1 -1
  172. package/dist/define-op.js +2 -0
  173. package/dist/define-op.js.map +1 -1
  174. package/dist/index.d.ts +1 -0
  175. package/dist/index.d.ts.map +1 -1
  176. package/dist/index.js.map +1 -1
  177. package/dist/lang/codegen.d.ts +14 -3
  178. package/dist/lang/codegen.d.ts.map +1 -1
  179. package/dist/lang/codegen.js +80 -5
  180. package/dist/lang/codegen.js.map +1 -1
  181. package/dist/lang/metadata-extractor.d.ts +10 -3
  182. package/dist/lang/metadata-extractor.d.ts.map +1 -1
  183. package/dist/lang/metadata-extractor.js +160 -65
  184. package/dist/lang/metadata-extractor.js.map +1 -1
  185. package/dist/lang/symbol-table.generated.d.ts +3 -0
  186. package/dist/lang/symbol-table.generated.d.ts.map +1 -1
  187. package/dist/lang/symbol-table.generated.js +3 -0
  188. package/dist/lang/symbol-table.generated.js.map +1 -1
  189. package/dist/math3d/Box3.d.ts +86 -0
  190. package/dist/math3d/Box3.d.ts.map +1 -0
  191. package/dist/math3d/Box3.js +149 -0
  192. package/dist/math3d/Box3.js.map +1 -0
  193. package/dist/math3d/Euler.d.ts +64 -0
  194. package/dist/math3d/Euler.d.ts.map +1 -0
  195. package/dist/math3d/Euler.js +94 -0
  196. package/dist/math3d/Euler.js.map +1 -0
  197. package/dist/math3d/Mat4.d.ts +196 -0
  198. package/dist/math3d/Mat4.d.ts.map +1 -0
  199. package/dist/math3d/Mat4.js +518 -0
  200. package/dist/math3d/Mat4.js.map +1 -0
  201. package/dist/math3d/Plane.d.ts +67 -0
  202. package/dist/math3d/Plane.d.ts.map +1 -0
  203. package/dist/math3d/Plane.js +90 -0
  204. package/dist/math3d/Plane.js.map +1 -0
  205. package/dist/math3d/Quat.d.ts +163 -0
  206. package/dist/math3d/Quat.d.ts.map +1 -0
  207. package/dist/math3d/Quat.js +408 -0
  208. package/dist/math3d/Quat.js.map +1 -0
  209. package/dist/math3d/Vec2.d.ts +185 -0
  210. package/dist/math3d/Vec2.d.ts.map +1 -0
  211. package/dist/math3d/Vec2.js +276 -0
  212. package/dist/math3d/Vec2.js.map +1 -0
  213. package/dist/math3d/Vec3.d.ts +326 -0
  214. package/dist/math3d/Vec3.d.ts.map +1 -0
  215. package/dist/math3d/Vec3.js +521 -0
  216. package/dist/math3d/Vec3.js.map +1 -0
  217. package/dist/math3d/index.d.ts +19 -0
  218. package/dist/math3d/index.d.ts.map +1 -0
  219. package/dist/math3d/index.js +19 -0
  220. package/dist/math3d/index.js.map +1 -0
  221. package/dist/mesh/decoration-provider.d.ts +2 -2
  222. package/dist/mesh/decoration-provider.d.ts.map +1 -1
  223. package/dist/mesh/decoration-provider.js.map +1 -1
  224. package/dist/mesh/engrave.d.ts.map +1 -1
  225. package/dist/mesh/engrave.js +36 -37
  226. package/dist/mesh/engrave.js.map +1 -1
  227. package/dist/mesh/io.d.ts.map +1 -1
  228. package/dist/mesh/io.js +6 -7
  229. package/dist/mesh/io.js.map +1 -1
  230. package/dist/mesh/knurl/KnurlGenerator.d.ts +8 -7
  231. package/dist/mesh/knurl/KnurlGenerator.d.ts.map +1 -1
  232. package/dist/mesh/knurl/KnurlGenerator.js +9 -9
  233. package/dist/mesh/knurl/KnurlGenerator.js.map +1 -1
  234. package/dist/mesh/knurl/displacement.d.ts +7 -6
  235. package/dist/mesh/knurl/displacement.d.ts.map +1 -1
  236. package/dist/mesh/knurl/displacement.js +29 -29
  237. package/dist/mesh/knurl/displacement.js.map +1 -1
  238. package/dist/mesh/knurl/subdivision.d.ts +3 -3
  239. package/dist/mesh/knurl/subdivision.d.ts.map +1 -1
  240. package/dist/mesh/knurl/subdivision.js +21 -15
  241. package/dist/mesh/knurl/subdivision.js.map +1 -1
  242. package/dist/mesh/knurl/textureLoader.d.ts +3 -3
  243. package/dist/mesh/knurl/textureLoader.d.ts.map +1 -1
  244. package/dist/mesh/knurl/textureLoader.js.map +1 -1
  245. package/dist/mesh/meshdata/index.d.ts +12 -0
  246. package/dist/mesh/meshdata/index.d.ts.map +1 -0
  247. package/dist/mesh/meshdata/index.js +12 -0
  248. package/dist/mesh/meshdata/index.js.map +1 -0
  249. package/dist/mesh/meshdata/ops.d.ts +62 -0
  250. package/dist/mesh/meshdata/ops.d.ts.map +1 -0
  251. package/dist/mesh/meshdata/ops.js +160 -0
  252. package/dist/mesh/meshdata/ops.js.map +1 -0
  253. package/dist/mesh/meshdata/parametric.d.ts +70 -0
  254. package/dist/mesh/meshdata/parametric.d.ts.map +1 -0
  255. package/dist/mesh/meshdata/parametric.js +213 -0
  256. package/dist/mesh/meshdata/parametric.js.map +1 -0
  257. package/dist/mesh/meshdata/weld.d.ts +21 -0
  258. package/dist/mesh/meshdata/weld.d.ts.map +1 -0
  259. package/dist/mesh/meshdata/weld.js +50 -0
  260. package/dist/mesh/meshdata/weld.js.map +1 -0
  261. package/dist/mesh/primitives.d.ts +1 -1
  262. package/dist/mesh/primitives.d.ts.map +1 -1
  263. package/dist/mesh/primitives.js +38 -39
  264. package/dist/mesh/primitives.js.map +1 -1
  265. package/dist/mesh/query.js +11 -11
  266. package/dist/mesh/query.js.map +1 -1
  267. package/dist/mesh/stl-loader.d.ts +7 -7
  268. package/dist/mesh/stl-loader.d.ts.map +1 -1
  269. package/dist/mesh/stl-loader.js +12 -24
  270. package/dist/mesh/stl-loader.js.map +1 -1
  271. package/dist/mesh/threemf-view.d.ts +11 -11
  272. package/dist/mesh/threemf-view.d.ts.map +1 -1
  273. package/dist/mesh/threemf-view.js +10 -10
  274. package/dist/mesh/threemf-view.js.map +1 -1
  275. package/dist/mesh/transform.d.ts +14 -8
  276. package/dist/mesh/transform.d.ts.map +1 -1
  277. package/dist/mesh/transform.js +18 -13
  278. package/dist/mesh/transform.js.map +1 -1
  279. package/dist/mesh/types.d.ts +2 -0
  280. package/dist/mesh/types.d.ts.map +1 -1
  281. package/dist/mesh/types.js.map +1 -1
  282. package/dist/occt-kernel/occt-primitives.d.ts.map +1 -1
  283. package/dist/occt-kernel/occt-primitives.js +20 -0
  284. package/dist/occt-kernel/occt-primitives.js.map +1 -1
  285. package/dist/primitives/brep-primitives.d.ts +8 -12
  286. package/dist/primitives/brep-primitives.d.ts.map +1 -1
  287. package/dist/primitives/brep-primitives.js +10 -28
  288. package/dist/primitives/brep-primitives.js.map +1 -1
  289. package/dist/primitives/index.js.map +1 -1
  290. package/dist/primitives/mesh-primitives.d.ts +10 -10
  291. package/dist/primitives/mesh-primitives.d.ts.map +1 -1
  292. package/dist/primitives/mesh-primitives.js +29 -76
  293. package/dist/primitives/mesh-primitives.js.map +1 -1
  294. package/dist/primitives/screw/screw.d.ts +3 -3
  295. package/dist/primitives/screw/screw.d.ts.map +1 -1
  296. package/dist/primitives/screw/screw.js +10 -9
  297. package/dist/primitives/screw/screw.js.map +1 -1
  298. package/dist/sdf/index.js.map +1 -1
  299. package/dist/units.d.ts +40 -0
  300. package/dist/units.d.ts.map +1 -1
  301. package/dist/units.js.map +1 -1
  302. package/package.json +3 -5
  303. package/dist/api/brep-mirror/booleanFns.d.ts +0 -40
  304. package/dist/api/brep-mirror/booleanFns.d.ts.map +0 -1
  305. package/dist/api/brep-mirror/booleanFns.js +0 -104
  306. package/dist/api/brep-mirror/booleanFns.js.map +0 -1
  307. package/dist/api/brep-mirror/brepHelpers.d.ts +0 -55
  308. package/dist/api/brep-mirror/brepHelpers.d.ts.map +0 -1
  309. package/dist/api/brep-mirror/brepHelpers.js +0 -131
  310. package/dist/api/brep-mirror/brepHelpers.js.map +0 -1
  311. package/dist/api/brep-mirror/compoundFns.d.ts +0 -47
  312. package/dist/api/brep-mirror/compoundFns.d.ts.map +0 -1
  313. package/dist/api/brep-mirror/compoundFns.js +0 -300
  314. package/dist/api/brep-mirror/compoundFns.js.map +0 -1
  315. package/dist/api/brep-mirror/healingFns.d.ts +0 -78
  316. package/dist/api/brep-mirror/healingFns.d.ts.map +0 -1
  317. package/dist/api/brep-mirror/healingFns.js +0 -294
  318. package/dist/api/brep-mirror/healingFns.js.map +0 -1
  319. package/dist/api/brep-mirror/hullFns.d.ts +0 -20
  320. package/dist/api/brep-mirror/hullFns.d.ts.map +0 -1
  321. package/dist/api/brep-mirror/hullFns.js +0 -46
  322. package/dist/api/brep-mirror/hullFns.js.map +0 -1
  323. package/dist/api/brep-mirror/joinery-brep.d.ts +0 -172
  324. package/dist/api/brep-mirror/joinery-brep.d.ts.map +0 -1
  325. package/dist/api/brep-mirror/joinery-brep.js +0 -463
  326. package/dist/api/brep-mirror/joinery-brep.js.map +0 -1
  327. package/dist/api/brep-mirror/patternFns.d.ts +0 -43
  328. package/dist/api/brep-mirror/patternFns.d.ts.map +0 -1
  329. package/dist/api/brep-mirror/patternFns.js +0 -178
  330. package/dist/api/brep-mirror/patternFns.js.map +0 -1
  331. package/dist/api/brep-mirror/primitiveFns.d.ts +0 -42
  332. package/dist/api/brep-mirror/primitiveFns.d.ts.map +0 -1
  333. package/dist/api/brep-mirror/primitiveFns.js +0 -104
  334. package/dist/api/brep-mirror/primitiveFns.js.map +0 -1
  335. package/dist/api/brep-mirror/roofFns.d.ts +0 -24
  336. package/dist/api/brep-mirror/roofFns.d.ts.map +0 -1
  337. package/dist/api/brep-mirror/roofFns.js +0 -229
  338. package/dist/api/brep-mirror/roofFns.js.map +0 -1
  339. package/dist/api/brep-mirror/straightSkeleton.d.ts +0 -36
  340. package/dist/api/brep-mirror/straightSkeleton.d.ts.map +0 -1
  341. package/dist/api/brep-mirror/straightSkeleton.js +0 -443
  342. package/dist/api/brep-mirror/straightSkeleton.js.map +0 -1
  343. package/dist/api/brep-mirror/sweepFns.d.ts +0 -55
  344. package/dist/api/brep-mirror/sweepFns.d.ts.map +0 -1
  345. package/dist/api/brep-mirror/sweepFns.js +0 -200
  346. package/dist/api/brep-mirror/sweepFns.js.map +0 -1
  347. package/dist/api/brep-mirror/threadFns.d.ts +0 -83
  348. package/dist/api/brep-mirror/threadFns.d.ts.map +0 -1
  349. package/dist/api/brep-mirror/threadFns.js +0 -138
  350. package/dist/api/brep-mirror/threadFns.js.map +0 -1
  351. package/dist/api/brep-mirror/topologyFns.d.ts +0 -74
  352. package/dist/api/brep-mirror/topologyFns.d.ts.map +0 -1
  353. package/dist/api/brep-mirror/topologyFns.js +0 -276
  354. package/dist/api/brep-mirror/topologyFns.js.map +0 -1
  355. package/dist/api/brepjs-compat/constants.d.ts +0 -11
  356. package/dist/api/brepjs-compat/constants.d.ts.map +0 -1
  357. package/dist/api/brepjs-compat/constants.js +0 -11
  358. package/dist/api/brepjs-compat/constants.js.map +0 -1
  359. package/dist/api/brepjs-compat/index.d.ts +0 -21
  360. package/dist/api/brepjs-compat/index.d.ts.map +0 -1
  361. package/dist/api/brepjs-compat/index.js +0 -22
  362. package/dist/api/brepjs-compat/index.js.map +0 -1
  363. package/dist/api/brepjs-compat/planeOps.d.ts +0 -98
  364. package/dist/api/brepjs-compat/planeOps.d.ts.map +0 -1
  365. package/dist/api/brepjs-compat/planeOps.js +0 -170
  366. package/dist/api/brepjs-compat/planeOps.js.map +0 -1
  367. package/dist/api/brepjs-compat/planeTypes.d.ts +0 -24
  368. package/dist/api/brepjs-compat/planeTypes.d.ts.map +0 -1
  369. package/dist/api/brepjs-compat/planeTypes.js +0 -8
  370. package/dist/api/brepjs-compat/planeTypes.js.map +0 -1
  371. package/dist/api/brepjs-compat/types.d.ts +0 -64
  372. package/dist/api/brepjs-compat/types.d.ts.map +0 -1
  373. package/dist/api/brepjs-compat/types.js +0 -48
  374. package/dist/api/brepjs-compat/types.js.map +0 -1
  375. package/dist/api/brepjs-compat/vecOps.d.ts +0 -124
  376. package/dist/api/brepjs-compat/vecOps.d.ts.map +0 -1
  377. package/dist/api/brepjs-compat/vecOps.js +0 -202
  378. package/dist/api/brepjs-compat/vecOps.js.map +0 -1
  379. package/dist/api/generated/brepjs/index.d.ts +0 -310
  380. package/dist/api/generated/brepjs/index.d.ts.map +0 -1
  381. package/dist/api/generated/brepjs/index.js +0 -195
  382. package/dist/api/generated/brepjs/index.js.map +0 -1
  383. package/dist/api/generated/cad/script-face.d.ts +0 -12
  384. package/dist/api/generated/cad/script-face.d.ts.map +0 -1
  385. package/dist/api/generated/cad/script-face.js +0 -146
  386. package/dist/api/generated/cad/script-face.js.map +0 -1
  387. package/dist/api/internal/compat-projection.d.ts +0 -55
  388. package/dist/api/internal/compat-projection.d.ts.map +0 -1
  389. package/dist/api/internal/compat-projection.js +0 -75
  390. package/dist/api/internal/compat-projection.js.map +0 -1
  391. package/dist/api/occt-kernel-bridge.d.ts +0 -118
  392. package/dist/api/occt-kernel-bridge.d.ts.map +0 -1
  393. package/dist/api/occt-kernel-bridge.js +0 -283
  394. package/dist/api/occt-kernel-bridge.js.map +0 -1
  395. package/dist/api/sketch.d.ts +0 -80
  396. package/dist/api/sketch.d.ts.map +0 -1
  397. package/dist/api/sketch.js +0 -155
  398. package/dist/api/sketch.js.map +0 -1
  399. package/dist/api/surface/projection-overrides.d.ts +0 -38
  400. package/dist/api/surface/projection-overrides.d.ts.map +0 -1
  401. package/dist/api/surface/projection-overrides.js +0 -169
  402. package/dist/api/surface/projection-overrides.js.map +0 -1
  403. package/dist/brepjs-compat.d.ts +0 -20
  404. package/dist/brepjs-compat.d.ts.map +0 -1
  405. package/dist/brepjs-compat.js +0 -20
  406. package/dist/brepjs-compat.js.map +0 -1
  407. package/dist/cad-runtime/createRuntimeWithCad.d.ts +0 -22
  408. package/dist/cad-runtime/createRuntimeWithCad.d.ts.map +0 -1
  409. package/dist/cad-runtime/createRuntimeWithCad.js +0 -29
  410. package/dist/cad-runtime/createRuntimeWithCad.js.map +0 -1
  411. package/dist/fcstd/attachment.d.ts +0 -72
  412. package/dist/fcstd/attachment.d.ts.map +0 -1
  413. package/dist/fcstd/attachment.js +0 -93
  414. package/dist/fcstd/attachment.js.map +0 -1
  415. package/dist/fcstd/build-fai-zip.d.ts +0 -40
  416. package/dist/fcstd/build-fai-zip.d.ts.map +0 -1
  417. package/dist/fcstd/build-fai-zip.js +0 -111
  418. package/dist/fcstd/build-fai-zip.js.map +0 -1
  419. package/dist/fcstd/cli.d.ts +0 -3
  420. package/dist/fcstd/cli.d.ts.map +0 -1
  421. package/dist/fcstd/cli.js +0 -37
  422. package/dist/fcstd/cli.js.map +0 -1
  423. package/dist/fcstd/codegen.d.ts +0 -79
  424. package/dist/fcstd/codegen.d.ts.map +0 -1
  425. package/dist/fcstd/codegen.js +0 -605
  426. package/dist/fcstd/codegen.js.map +0 -1
  427. package/dist/fcstd/container.d.ts +0 -75
  428. package/dist/fcstd/container.d.ts.map +0 -1
  429. package/dist/fcstd/container.js +0 -36
  430. package/dist/fcstd/container.js.map +0 -1
  431. package/dist/fcstd/contour.d.ts +0 -43
  432. package/dist/fcstd/contour.d.ts.map +0 -1
  433. package/dist/fcstd/contour.js +0 -96
  434. package/dist/fcstd/contour.js.map +0 -1
  435. package/dist/fcstd/convert.d.ts +0 -63
  436. package/dist/fcstd/convert.d.ts.map +0 -1
  437. package/dist/fcstd/convert.js +0 -274
  438. package/dist/fcstd/convert.js.map +0 -1
  439. package/dist/fcstd/document.d.ts +0 -48
  440. package/dist/fcstd/document.d.ts.map +0 -1
  441. package/dist/fcstd/document.js +0 -140
  442. package/dist/fcstd/document.js.map +0 -1
  443. package/dist/fcstd/expressions.d.ts +0 -74
  444. package/dist/fcstd/expressions.d.ts.map +0 -1
  445. package/dist/fcstd/expressions.js +0 -157
  446. package/dist/fcstd/expressions.js.map +0 -1
  447. package/dist/fcstd/external-geo.d.ts +0 -49
  448. package/dist/fcstd/external-geo.d.ts.map +0 -1
  449. package/dist/fcstd/external-geo.js +0 -140
  450. package/dist/fcstd/external-geo.js.map +0 -1
  451. package/dist/fcstd/feature-translate.d.ts +0 -189
  452. package/dist/fcstd/feature-translate.d.ts.map +0 -1
  453. package/dist/fcstd/feature-translate.js +0 -968
  454. package/dist/fcstd/feature-translate.js.map +0 -1
  455. package/dist/fcstd/index.d.ts +0 -23
  456. package/dist/fcstd/index.d.ts.map +0 -1
  457. package/dist/fcstd/index.js +0 -19
  458. package/dist/fcstd/index.js.map +0 -1
  459. package/dist/fcstd/placement.d.ts +0 -93
  460. package/dist/fcstd/placement.d.ts.map +0 -1
  461. package/dist/fcstd/placement.js +0 -117
  462. package/dist/fcstd/placement.js.map +0 -1
  463. package/dist/fcstd/planegcs-backend.d.ts +0 -34
  464. package/dist/fcstd/planegcs-backend.d.ts.map +0 -1
  465. package/dist/fcstd/planegcs-backend.js +0 -626
  466. package/dist/fcstd/planegcs-backend.js.map +0 -1
  467. package/dist/fcstd/sketch-parse.d.ts +0 -181
  468. package/dist/fcstd/sketch-parse.d.ts.map +0 -1
  469. package/dist/fcstd/sketch-parse.js +0 -227
  470. package/dist/fcstd/sketch-parse.js.map +0 -1
  471. package/dist/fcstd/sketch-solver.d.ts +0 -63
  472. package/dist/fcstd/sketch-solver.d.ts.map +0 -1
  473. package/dist/fcstd/sketch-solver.js +0 -28
  474. package/dist/fcstd/sketch-solver.js.map +0 -1
  475. package/dist/fcstd/sketch-verify.d.ts +0 -43
  476. package/dist/fcstd/sketch-verify.d.ts.map +0 -1
  477. package/dist/fcstd/sketch-verify.js +0 -62
  478. package/dist/fcstd/sketch-verify.js.map +0 -1
  479. package/dist/fcstd/structural-types.d.ts +0 -83
  480. package/dist/fcstd/structural-types.d.ts.map +0 -1
  481. package/dist/fcstd/structural-types.js +0 -121
  482. package/dist/fcstd/structural-types.js.map +0 -1
  483. package/dist/fcstd/unpack.d.ts +0 -44
  484. package/dist/fcstd/unpack.d.ts.map +0 -1
  485. package/dist/fcstd/unpack.js +0 -64
  486. package/dist/fcstd/unpack.js.map +0 -1
  487. package/dist/fcstd-convert.d.ts +0 -30
  488. package/dist/fcstd-convert.d.ts.map +0 -1
  489. package/dist/fcstd-convert.js +0 -27
  490. package/dist/fcstd-convert.js.map +0 -1
  491. package/dist/mesh/creased-normals.d.ts +0 -50
  492. package/dist/mesh/creased-normals.d.ts.map +0 -1
  493. package/dist/mesh/creased-normals.js +0 -114
  494. package/dist/mesh/creased-normals.js.map +0 -1
  495. package/dist/occt-kernel/generated/occtPlatform.generated.d.ts +0 -260
  496. package/dist/occt-kernel/generated/occtPlatform.generated.d.ts.map +0 -1
  497. package/dist/occt-kernel/generated/occtPlatform.generated.js +0 -875
  498. package/dist/occt-kernel/generated/occtPlatform.generated.js.map +0 -1
  499. package/dist/occt-kernel/stepMetaParser.d.ts +0 -44
  500. package/dist/occt-kernel/stepMetaParser.d.ts.map +0 -1
  501. package/dist/occt-kernel/stepMetaParser.js +0 -166
  502. package/dist/occt-kernel/stepMetaParser.js.map +0 -1
  503. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts +0 -106
  504. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts.map +0 -1
  505. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js +0 -341
  506. package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js.map +0 -1
  507. package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts +0 -185
  508. package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts.map +0 -1
  509. package/dist/vendored/brepjs/2d/blueprints/blueprint.js +0 -361
  510. package/dist/vendored/brepjs/2d/blueprints/blueprint.js.map +0 -1
  511. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts +0 -15
  512. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts.map +0 -1
  513. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js +0 -28
  514. package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js.map +0 -1
  515. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts +0 -29
  516. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts.map +0 -1
  517. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js +0 -86
  518. package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js.map +0 -1
  519. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts +0 -57
  520. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts.map +0 -1
  521. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js +0 -92
  522. package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js.map +0 -1
  523. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts +0 -58
  524. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts.map +0 -1
  525. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js +0 -346
  526. package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js.map +0 -1
  527. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts +0 -30
  528. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts.map +0 -1
  529. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js +0 -45
  530. package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js.map +0 -1
  531. package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts +0 -68
  532. package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts.map +0 -1
  533. package/dist/vendored/brepjs/2d/blueprints/blueprints.js +0 -116
  534. package/dist/vendored/brepjs/2d/blueprints/blueprints.js.map +0 -1
  535. package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts +0 -68
  536. package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts.map +0 -1
  537. package/dist/vendored/brepjs/2d/blueprints/boolean2D.js +0 -362
  538. package/dist/vendored/brepjs/2d/blueprints/boolean2D.js.map +0 -1
  539. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts +0 -34
  540. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts.map +0 -1
  541. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js +0 -176
  542. package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js.map +0 -1
  543. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts +0 -55
  544. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts.map +0 -1
  545. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js +0 -110
  546. package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js.map +0 -1
  547. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts +0 -41
  548. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts.map +0 -1
  549. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js +0 -90
  550. package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js.map +0 -1
  551. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts +0 -85
  552. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts.map +0 -1
  553. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js +0 -136
  554. package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js.map +0 -1
  555. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts +0 -48
  556. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts.map +0 -1
  557. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js +0 -154
  558. package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js.map +0 -1
  559. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts +0 -342
  560. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts.map +0 -1
  561. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js +0 -32
  562. package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js.map +0 -1
  563. package/dist/vendored/brepjs/2d/blueprints/index.d.ts +0 -16
  564. package/dist/vendored/brepjs/2d/blueprints/index.d.ts.map +0 -1
  565. package/dist/vendored/brepjs/2d/blueprints/index.js +0 -13
  566. package/dist/vendored/brepjs/2d/blueprints/index.js.map +0 -1
  567. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts +0 -18
  568. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts.map +0 -1
  569. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js +0 -230
  570. package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js.map +0 -1
  571. package/dist/vendored/brepjs/2d/blueprints/lib.d.ts +0 -73
  572. package/dist/vendored/brepjs/2d/blueprints/lib.d.ts.map +0 -1
  573. package/dist/vendored/brepjs/2d/blueprints/lib.js +0 -103
  574. package/dist/vendored/brepjs/2d/blueprints/lib.js.map +0 -1
  575. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts +0 -31
  576. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts.map +0 -1
  577. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js +0 -226
  578. package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js.map +0 -1
  579. package/dist/vendored/brepjs/2d/blueprints/svg.d.ts +0 -22
  580. package/dist/vendored/brepjs/2d/blueprints/svg.d.ts.map +0 -1
  581. package/dist/vendored/brepjs/2d/blueprints/svg.js +0 -30
  582. package/dist/vendored/brepjs/2d/blueprints/svg.js.map +0 -1
  583. package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts +0 -124
  584. package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts.map +0 -1
  585. package/dist/vendored/brepjs/2d/curve2dGeometryFns.js +0 -235
  586. package/dist/vendored/brepjs/2d/curve2dGeometryFns.js.map +0 -1
  587. package/dist/vendored/brepjs/2d/curves.d.ts +0 -45
  588. package/dist/vendored/brepjs/2d/curves.d.ts.map +0 -1
  589. package/dist/vendored/brepjs/2d/curves.js +0 -139
  590. package/dist/vendored/brepjs/2d/curves.js.map +0 -1
  591. package/dist/vendored/brepjs/2d/lib/approximations.d.ts +0 -47
  592. package/dist/vendored/brepjs/2d/lib/approximations.d.ts.map +0 -1
  593. package/dist/vendored/brepjs/2d/lib/approximations.js +0 -82
  594. package/dist/vendored/brepjs/2d/lib/approximations.js.map +0 -1
  595. package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts +0 -39
  596. package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts.map +0 -1
  597. package/dist/vendored/brepjs/2d/lib/boundingBox2d.js +0 -88
  598. package/dist/vendored/brepjs/2d/lib/boundingBox2d.js.map +0 -1
  599. package/dist/vendored/brepjs/2d/lib/curve2D.d.ts +0 -82
  600. package/dist/vendored/brepjs/2d/lib/curve2D.d.ts.map +0 -1
  601. package/dist/vendored/brepjs/2d/lib/curve2D.js +0 -258
  602. package/dist/vendored/brepjs/2d/lib/curve2D.js.map +0 -1
  603. package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts +0 -53
  604. package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts.map +0 -1
  605. package/dist/vendored/brepjs/2d/lib/curve2dFns.js +0 -69
  606. package/dist/vendored/brepjs/2d/lib/curve2dFns.js.map +0 -1
  607. package/dist/vendored/brepjs/2d/lib/customCorners.d.ts +0 -29
  608. package/dist/vendored/brepjs/2d/lib/customCorners.d.ts.map +0 -1
  609. package/dist/vendored/brepjs/2d/lib/customCorners.js +0 -237
  610. package/dist/vendored/brepjs/2d/lib/customCorners.js.map +0 -1
  611. package/dist/vendored/brepjs/2d/lib/definitions.d.ts +0 -12
  612. package/dist/vendored/brepjs/2d/lib/definitions.d.ts.map +0 -1
  613. package/dist/vendored/brepjs/2d/lib/definitions.js +0 -19
  614. package/dist/vendored/brepjs/2d/lib/definitions.js.map +0 -1
  615. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts +0 -21
  616. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts.map +0 -1
  617. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js +0 -71
  618. package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js.map +0 -1
  619. package/dist/vendored/brepjs/2d/lib/index.d.ts +0 -14
  620. package/dist/vendored/brepjs/2d/lib/index.d.ts.map +0 -1
  621. package/dist/vendored/brepjs/2d/lib/index.js +0 -14
  622. package/dist/vendored/brepjs/2d/lib/index.js.map +0 -1
  623. package/dist/vendored/brepjs/2d/lib/intersections.d.ts +0 -34
  624. package/dist/vendored/brepjs/2d/lib/intersections.d.ts.map +0 -1
  625. package/dist/vendored/brepjs/2d/lib/intersections.js +0 -77
  626. package/dist/vendored/brepjs/2d/lib/intersections.js.map +0 -1
  627. package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts +0 -63
  628. package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts.map +0 -1
  629. package/dist/vendored/brepjs/2d/lib/makeCurves.js +0 -117
  630. package/dist/vendored/brepjs/2d/lib/makeCurves.js.map +0 -1
  631. package/dist/vendored/brepjs/2d/lib/offset.d.ts +0 -30
  632. package/dist/vendored/brepjs/2d/lib/offset.d.ts.map +0 -1
  633. package/dist/vendored/brepjs/2d/lib/offset.js +0 -109
  634. package/dist/vendored/brepjs/2d/lib/offset.js.map +0 -1
  635. package/dist/vendored/brepjs/2d/lib/precision.d.ts +0 -12
  636. package/dist/vendored/brepjs/2d/lib/precision.d.ts.map +0 -1
  637. package/dist/vendored/brepjs/2d/lib/precision.js +0 -12
  638. package/dist/vendored/brepjs/2d/lib/precision.js.map +0 -1
  639. package/dist/vendored/brepjs/2d/lib/stitching.d.ts +0 -15
  640. package/dist/vendored/brepjs/2d/lib/stitching.d.ts.map +0 -1
  641. package/dist/vendored/brepjs/2d/lib/stitching.js +0 -67
  642. package/dist/vendored/brepjs/2d/lib/stitching.js.map +0 -1
  643. package/dist/vendored/brepjs/2d/lib/svgPath.d.ts +0 -4
  644. package/dist/vendored/brepjs/2d/lib/svgPath.d.ts.map +0 -1
  645. package/dist/vendored/brepjs/2d/lib/svgPath.js +0 -114
  646. package/dist/vendored/brepjs/2d/lib/svgPath.js.map +0 -1
  647. package/dist/vendored/brepjs/2d/lib/utils.d.ts +0 -11
  648. package/dist/vendored/brepjs/2d/lib/utils.d.ts.map +0 -1
  649. package/dist/vendored/brepjs/2d/lib/utils.js +0 -24
  650. package/dist/vendored/brepjs/2d/lib/utils.js.map +0 -1
  651. package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts +0 -19
  652. package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts.map +0 -1
  653. package/dist/vendored/brepjs/2d/lib/vectorOperations.js +0 -26
  654. package/dist/vendored/brepjs/2d/lib/vectorOperations.js.map +0 -1
  655. package/dist/vendored/brepjs/2d.d.ts +0 -26
  656. package/dist/vendored/brepjs/2d.d.ts.map +0 -1
  657. package/dist/vendored/brepjs/2d.js +0 -33
  658. package/dist/vendored/brepjs/2d.js.map +0 -1
  659. package/dist/vendored/brepjs/core/constants.d.ts +0 -7
  660. package/dist/vendored/brepjs/core/constants.d.ts.map +0 -1
  661. package/dist/vendored/brepjs/core/constants.js +0 -7
  662. package/dist/vendored/brepjs/core/constants.js.map +0 -1
  663. package/dist/vendored/brepjs/core/curve2dHandle.d.ts +0 -35
  664. package/dist/vendored/brepjs/core/curve2dHandle.d.ts.map +0 -1
  665. package/dist/vendored/brepjs/core/curve2dHandle.js +0 -48
  666. package/dist/vendored/brepjs/core/curve2dHandle.js.map +0 -1
  667. package/dist/vendored/brepjs/core/dimensionTypes.d.ts +0 -61
  668. package/dist/vendored/brepjs/core/dimensionTypes.d.ts.map +0 -1
  669. package/dist/vendored/brepjs/core/dimensionTypes.js +0 -54
  670. package/dist/vendored/brepjs/core/dimensionTypes.js.map +0 -1
  671. package/dist/vendored/brepjs/core/disposal.d.ts +0 -136
  672. package/dist/vendored/brepjs/core/disposal.d.ts.map +0 -1
  673. package/dist/vendored/brepjs/core/disposal.js +0 -441
  674. package/dist/vendored/brepjs/core/disposal.js.map +0 -1
  675. package/dist/vendored/brepjs/core/errors.d.ts +0 -191
  676. package/dist/vendored/brepjs/core/errors.d.ts.map +0 -1
  677. package/dist/vendored/brepjs/core/errors.js +0 -238
  678. package/dist/vendored/brepjs/core/errors.js.map +0 -1
  679. package/dist/vendored/brepjs/core/kernelBoundary.d.ts +0 -40
  680. package/dist/vendored/brepjs/core/kernelBoundary.d.ts.map +0 -1
  681. package/dist/vendored/brepjs/core/kernelBoundary.js +0 -99
  682. package/dist/vendored/brepjs/core/kernelBoundary.js.map +0 -1
  683. package/dist/vendored/brepjs/core/kernelCall.d.ts +0 -48
  684. package/dist/vendored/brepjs/core/kernelCall.d.ts.map +0 -1
  685. package/dist/vendored/brepjs/core/kernelCall.js +0 -154
  686. package/dist/vendored/brepjs/core/kernelCall.js.map +0 -1
  687. package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts +0 -17
  688. package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts.map +0 -1
  689. package/dist/vendored/brepjs/core/kernelErrorTranslation.js +0 -98
  690. package/dist/vendored/brepjs/core/kernelErrorTranslation.js.map +0 -1
  691. package/dist/vendored/brepjs/core/planeOps.d.ts +0 -62
  692. package/dist/vendored/brepjs/core/planeOps.d.ts.map +0 -1
  693. package/dist/vendored/brepjs/core/planeOps.js +0 -148
  694. package/dist/vendored/brepjs/core/planeOps.js.map +0 -1
  695. package/dist/vendored/brepjs/core/planeTypes.d.ts +0 -22
  696. package/dist/vendored/brepjs/core/planeTypes.d.ts.map +0 -1
  697. package/dist/vendored/brepjs/core/planeTypes.js +0 -6
  698. package/dist/vendored/brepjs/core/planeTypes.js.map +0 -1
  699. package/dist/vendored/brepjs/core/result.d.ts +0 -85
  700. package/dist/vendored/brepjs/core/result.d.ts.map +0 -1
  701. package/dist/vendored/brepjs/core/result.js +0 -212
  702. package/dist/vendored/brepjs/core/result.js.map +0 -1
  703. package/dist/vendored/brepjs/core/shapeTypeCache.d.ts +0 -27
  704. package/dist/vendored/brepjs/core/shapeTypeCache.d.ts.map +0 -1
  705. package/dist/vendored/brepjs/core/shapeTypeCache.js +0 -40
  706. package/dist/vendored/brepjs/core/shapeTypeCache.js.map +0 -1
  707. package/dist/vendored/brepjs/core/shapeTypes.d.ts +0 -199
  708. package/dist/vendored/brepjs/core/shapeTypes.d.ts.map +0 -1
  709. package/dist/vendored/brepjs/core/shapeTypes.js +0 -267
  710. package/dist/vendored/brepjs/core/shapeTypes.js.map +0 -1
  711. package/dist/vendored/brepjs/core/typeDiscriminants.d.ts +0 -25
  712. package/dist/vendored/brepjs/core/typeDiscriminants.d.ts.map +0 -1
  713. package/dist/vendored/brepjs/core/typeDiscriminants.js +0 -50
  714. package/dist/vendored/brepjs/core/typeDiscriminants.js.map +0 -1
  715. package/dist/vendored/brepjs/core/types.d.ts +0 -51
  716. package/dist/vendored/brepjs/core/types.d.ts.map +0 -1
  717. package/dist/vendored/brepjs/core/types.js +0 -35
  718. package/dist/vendored/brepjs/core/types.js.map +0 -1
  719. package/dist/vendored/brepjs/core/validityTypes.d.ts +0 -143
  720. package/dist/vendored/brepjs/core/validityTypes.d.ts.map +0 -1
  721. package/dist/vendored/brepjs/core/validityTypes.js +0 -174
  722. package/dist/vendored/brepjs/core/validityTypes.js.map +0 -1
  723. package/dist/vendored/brepjs/core/vecOps.d.ts +0 -53
  724. package/dist/vendored/brepjs/core/vecOps.d.ts.map +0 -1
  725. package/dist/vendored/brepjs/core/vecOps.js +0 -131
  726. package/dist/vendored/brepjs/core/vecOps.js.map +0 -1
  727. package/dist/vendored/brepjs/core.d.ts +0 -17
  728. package/dist/vendored/brepjs/core.d.ts.map +0 -1
  729. package/dist/vendored/brepjs/core.js +0 -13
  730. package/dist/vendored/brepjs/core.js.map +0 -1
  731. package/dist/vendored/brepjs/gear/gearFns.d.ts +0 -148
  732. package/dist/vendored/brepjs/gear/gearFns.d.ts.map +0 -1
  733. package/dist/vendored/brepjs/gear/gearFns.js +0 -479
  734. package/dist/vendored/brepjs/gear/gearFns.js.map +0 -1
  735. package/dist/vendored/brepjs/gear/gearMath.d.ts +0 -89
  736. package/dist/vendored/brepjs/gear/gearMath.d.ts.map +0 -1
  737. package/dist/vendored/brepjs/gear/gearMath.js +0 -195
  738. package/dist/vendored/brepjs/gear/gearMath.js.map +0 -1
  739. package/dist/vendored/brepjs/gear/gearProfile.d.ts +0 -17
  740. package/dist/vendored/brepjs/gear/gearProfile.d.ts.map +0 -1
  741. package/dist/vendored/brepjs/gear/gearProfile.js +0 -159
  742. package/dist/vendored/brepjs/gear/gearProfile.js.map +0 -1
  743. package/dist/vendored/brepjs/gear/index.d.ts +0 -4
  744. package/dist/vendored/brepjs/gear/index.d.ts.map +0 -1
  745. package/dist/vendored/brepjs/gear/index.js +0 -4
  746. package/dist/vendored/brepjs/gear/index.js.map +0 -1
  747. package/dist/vendored/brepjs/index.d.ts +0 -152
  748. package/dist/vendored/brepjs/index.d.ts.map +0 -1
  749. package/dist/vendored/brepjs/index.js +0 -195
  750. package/dist/vendored/brepjs/index.js.map +0 -1
  751. package/dist/vendored/brepjs/io/dxfExportFns.d.ts +0 -74
  752. package/dist/vendored/brepjs/io/dxfExportFns.d.ts.map +0 -1
  753. package/dist/vendored/brepjs/io/dxfExportFns.js +0 -134
  754. package/dist/vendored/brepjs/io/dxfExportFns.js.map +0 -1
  755. package/dist/vendored/brepjs/io/dxfImportFns.d.ts +0 -20
  756. package/dist/vendored/brepjs/io/dxfImportFns.d.ts.map +0 -1
  757. package/dist/vendored/brepjs/io/dxfImportFns.js +0 -132
  758. package/dist/vendored/brepjs/io/dxfImportFns.js.map +0 -1
  759. package/dist/vendored/brepjs/io/gltfExportFns.d.ts +0 -97
  760. package/dist/vendored/brepjs/io/gltfExportFns.d.ts.map +0 -1
  761. package/dist/vendored/brepjs/io/gltfExportFns.js +0 -460
  762. package/dist/vendored/brepjs/io/gltfExportFns.js.map +0 -1
  763. package/dist/vendored/brepjs/io/gltfImportFns.d.ts +0 -21
  764. package/dist/vendored/brepjs/io/gltfImportFns.d.ts.map +0 -1
  765. package/dist/vendored/brepjs/io/gltfImportFns.js +0 -33
  766. package/dist/vendored/brepjs/io/gltfImportFns.js.map +0 -1
  767. package/dist/vendored/brepjs/io/importFns.d.ts +0 -56
  768. package/dist/vendored/brepjs/io/importFns.d.ts.map +0 -1
  769. package/dist/vendored/brepjs/io/importFns.js +0 -108
  770. package/dist/vendored/brepjs/io/importFns.js.map +0 -1
  771. package/dist/vendored/brepjs/io/ioUtils.d.ts +0 -22
  772. package/dist/vendored/brepjs/io/ioUtils.d.ts.map +0 -1
  773. package/dist/vendored/brepjs/io/ioUtils.js +0 -56
  774. package/dist/vendored/brepjs/io/ioUtils.js.map +0 -1
  775. package/dist/vendored/brepjs/io/objExportFns.d.ts +0 -23
  776. package/dist/vendored/brepjs/io/objExportFns.d.ts.map +0 -1
  777. package/dist/vendored/brepjs/io/objExportFns.js +0 -67
  778. package/dist/vendored/brepjs/io/objExportFns.js.map +0 -1
  779. package/dist/vendored/brepjs/io/objImportFns.d.ts +0 -26
  780. package/dist/vendored/brepjs/io/objImportFns.d.ts.map +0 -1
  781. package/dist/vendored/brepjs/io/objImportFns.js +0 -96
  782. package/dist/vendored/brepjs/io/objImportFns.js.map +0 -1
  783. package/dist/vendored/brepjs/io/stepConfigFns.d.ts +0 -30
  784. package/dist/vendored/brepjs/io/stepConfigFns.d.ts.map +0 -1
  785. package/dist/vendored/brepjs/io/stepConfigFns.js +0 -30
  786. package/dist/vendored/brepjs/io/stepConfigFns.js.map +0 -1
  787. package/dist/vendored/brepjs/io/svgImportFns.d.ts +0 -58
  788. package/dist/vendored/brepjs/io/svgImportFns.d.ts.map +0 -1
  789. package/dist/vendored/brepjs/io/svgImportFns.js +0 -394
  790. package/dist/vendored/brepjs/io/svgImportFns.js.map +0 -1
  791. package/dist/vendored/brepjs/io/threemfExportFns.d.ts +0 -48
  792. package/dist/vendored/brepjs/io/threemfExportFns.d.ts.map +0 -1
  793. package/dist/vendored/brepjs/io/threemfExportFns.js +0 -345
  794. package/dist/vendored/brepjs/io/threemfExportFns.js.map +0 -1
  795. package/dist/vendored/brepjs/io/threemfImportFns.d.ts +0 -22
  796. package/dist/vendored/brepjs/io/threemfImportFns.d.ts.map +0 -1
  797. package/dist/vendored/brepjs/io/threemfImportFns.js +0 -350
  798. package/dist/vendored/brepjs/io/threemfImportFns.js.map +0 -1
  799. package/dist/vendored/brepjs/io.d.ts +0 -17
  800. package/dist/vendored/brepjs/io.d.ts.map +0 -1
  801. package/dist/vendored/brepjs/io.js +0 -20
  802. package/dist/vendored/brepjs/io.js.map +0 -1
  803. package/dist/vendored/brepjs/kernel/capabilities.d.ts +0 -36
  804. package/dist/vendored/brepjs/kernel/capabilities.d.ts.map +0 -1
  805. package/dist/vendored/brepjs/kernel/capabilities.js +0 -35
  806. package/dist/vendored/brepjs/kernel/capabilities.js.map +0 -1
  807. package/dist/vendored/brepjs/kernel/geometry2d.d.ts +0 -96
  808. package/dist/vendored/brepjs/kernel/geometry2d.d.ts.map +0 -1
  809. package/dist/vendored/brepjs/kernel/geometry2d.js +0 -885
  810. package/dist/vendored/brepjs/kernel/geometry2d.js.map +0 -1
  811. package/dist/vendored/brepjs/kernel/hullGeometry.d.ts +0 -23
  812. package/dist/vendored/brepjs/kernel/hullGeometry.d.ts.map +0 -1
  813. package/dist/vendored/brepjs/kernel/hullGeometry.js +0 -312
  814. package/dist/vendored/brepjs/kernel/hullGeometry.js.map +0 -1
  815. package/dist/vendored/brepjs/kernel/index.d.ts +0 -73
  816. package/dist/vendored/brepjs/kernel/index.d.ts.map +0 -1
  817. package/dist/vendored/brepjs/kernel/index.js +0 -161
  818. package/dist/vendored/brepjs/kernel/index.js.map +0 -1
  819. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts +0 -44
  820. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts.map +0 -1
  821. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js +0 -11
  822. package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js.map +0 -1
  823. package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts +0 -67
  824. package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts.map +0 -1
  825. package/dist/vendored/brepjs/kernel/interfaces/builderOps.js +0 -12
  826. package/dist/vendored/brepjs/kernel/interfaces/builderOps.js.map +0 -1
  827. package/dist/vendored/brepjs/kernel/interfaces/core.d.ts +0 -46
  828. package/dist/vendored/brepjs/kernel/interfaces/core.d.ts.map +0 -1
  829. package/dist/vendored/brepjs/kernel/interfaces/core.js +0 -11
  830. package/dist/vendored/brepjs/kernel/interfaces/core.js.map +0 -1
  831. package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts +0 -53
  832. package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts.map +0 -1
  833. package/dist/vendored/brepjs/kernel/interfaces/curveOps.js +0 -12
  834. package/dist/vendored/brepjs/kernel/interfaces/curveOps.js.map +0 -1
  835. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts +0 -32
  836. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts.map +0 -1
  837. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js +0 -14
  838. package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js.map +0 -1
  839. package/dist/vendored/brepjs/kernel/interfaces/index.d.ts +0 -43
  840. package/dist/vendored/brepjs/kernel/interfaces/index.d.ts.map +0 -1
  841. package/dist/vendored/brepjs/kernel/interfaces/index.js +0 -12
  842. package/dist/vendored/brepjs/kernel/interfaces/index.js.map +0 -1
  843. package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts +0 -65
  844. package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts.map +0 -1
  845. package/dist/vendored/brepjs/kernel/interfaces/ioOps.js +0 -9
  846. package/dist/vendored/brepjs/kernel/interfaces/ioOps.js.map +0 -1
  847. package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts +0 -55
  848. package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts.map +0 -1
  849. package/dist/vendored/brepjs/kernel/interfaces/measureOps.js +0 -9
  850. package/dist/vendored/brepjs/kernel/interfaces/measureOps.js.map +0 -1
  851. package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts +0 -25
  852. package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts.map +0 -1
  853. package/dist/vendored/brepjs/kernel/interfaces/meshOps.js +0 -8
  854. package/dist/vendored/brepjs/kernel/interfaces/meshOps.js.map +0 -1
  855. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts +0 -53
  856. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts.map +0 -1
  857. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js +0 -10
  858. package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js.map +0 -1
  859. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts +0 -22
  860. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts.map +0 -1
  861. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js +0 -11
  862. package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js.map +0 -1
  863. package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts +0 -43
  864. package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts.map +0 -1
  865. package/dist/vendored/brepjs/kernel/interfaces/repairOps.js +0 -9
  866. package/dist/vendored/brepjs/kernel/interfaces/repairOps.js.map +0 -1
  867. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts +0 -72
  868. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts.map +0 -1
  869. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js +0 -13
  870. package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js.map +0 -1
  871. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts +0 -73
  872. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts.map +0 -1
  873. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js +0 -11
  874. package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js.map +0 -1
  875. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts +0 -62
  876. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts.map +0 -1
  877. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js +0 -9
  878. package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js.map +0 -1
  879. package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts +0 -80
  880. package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts.map +0 -1
  881. package/dist/vendored/brepjs/kernel/interfaces/transformOps.js +0 -11
  882. package/dist/vendored/brepjs/kernel/interfaces/transformOps.js.map +0 -1
  883. package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts +0 -145
  884. package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts.map +0 -1
  885. package/dist/vendored/brepjs/kernel/kernel2dTypes.js +0 -18
  886. package/dist/vendored/brepjs/kernel/kernel2dTypes.js.map +0 -1
  887. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts +0 -41
  888. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts.map +0 -1
  889. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js +0 -2
  890. package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js.map +0 -1
  891. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts +0 -17
  892. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts.map +0 -1
  893. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js +0 -75
  894. package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js.map +0 -1
  895. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts +0 -36
  896. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts.map +0 -1
  897. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js +0 -116
  898. package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js.map +0 -1
  899. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts +0 -43
  900. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts.map +0 -1
  901. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js +0 -292
  902. package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js.map +0 -1
  903. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts +0 -34
  904. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts.map +0 -1
  905. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js +0 -164
  906. package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js.map +0 -1
  907. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts +0 -26
  908. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts.map +0 -1
  909. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js +0 -256
  910. package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js.map +0 -1
  911. package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts +0 -42
  912. package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts.map +0 -1
  913. package/dist/vendored/brepjs/kernel/occtWasm/helpers.js +0 -146
  914. package/dist/vendored/brepjs/kernel/occtWasm/helpers.js.map +0 -1
  915. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts +0 -17
  916. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts.map +0 -1
  917. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js +0 -55
  918. package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js.map +0 -1
  919. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts +0 -58
  920. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts.map +0 -1
  921. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js +0 -303
  922. package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js.map +0 -1
  923. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts +0 -113
  924. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts.map +0 -1
  925. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js +0 -731
  926. package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js.map +0 -1
  927. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts +0 -62
  928. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts.map +0 -1
  929. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js +0 -338
  930. package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js.map +0 -1
  931. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts +0 -12
  932. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts.map +0 -1
  933. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js +0 -120
  934. package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js.map +0 -1
  935. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts +0 -20
  936. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts.map +0 -1
  937. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js +0 -187
  938. package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js.map +0 -1
  939. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts +0 -513
  940. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts.map +0 -1
  941. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js +0 -1016
  942. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js.map +0 -1
  943. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts +0 -332
  944. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts.map +0 -1
  945. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js +0 -10
  946. package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js.map +0 -1
  947. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts +0 -16
  948. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts.map +0 -1
  949. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js +0 -64
  950. package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js.map +0 -1
  951. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts +0 -16
  952. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts.map +0 -1
  953. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js +0 -38
  954. package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js.map +0 -1
  955. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts +0 -56
  956. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts.map +0 -1
  957. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js +0 -247
  958. package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js.map +0 -1
  959. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts +0 -56
  960. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts.map +0 -1
  961. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js +0 -235
  962. package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js.map +0 -1
  963. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts +0 -25
  964. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts.map +0 -1
  965. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js +0 -127
  966. package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js.map +0 -1
  967. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts +0 -40
  968. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts.map +0 -1
  969. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js +0 -275
  970. package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js.map +0 -1
  971. package/dist/vendored/brepjs/kernel/quality.d.ts +0 -28
  972. package/dist/vendored/brepjs/kernel/quality.d.ts.map +0 -1
  973. package/dist/vendored/brepjs/kernel/quality.js +0 -40
  974. package/dist/vendored/brepjs/kernel/quality.js.map +0 -1
  975. package/dist/vendored/brepjs/kernel/solverAdapter.d.ts +0 -50
  976. package/dist/vendored/brepjs/kernel/solverAdapter.d.ts.map +0 -1
  977. package/dist/vendored/brepjs/kernel/solverAdapter.js +0 -330
  978. package/dist/vendored/brepjs/kernel/solverAdapter.js.map +0 -1
  979. package/dist/vendored/brepjs/kernel/stlBuilder.d.ts +0 -21
  980. package/dist/vendored/brepjs/kernel/stlBuilder.d.ts.map +0 -1
  981. package/dist/vendored/brepjs/kernel/stlBuilder.js +0 -106
  982. package/dist/vendored/brepjs/kernel/stlBuilder.js.map +0 -1
  983. package/dist/vendored/brepjs/kernel/types.d.ts +0 -214
  984. package/dist/vendored/brepjs/kernel/types.d.ts.map +0 -1
  985. package/dist/vendored/brepjs/kernel/types.js +0 -22
  986. package/dist/vendored/brepjs/kernel/types.js.map +0 -1
  987. package/dist/vendored/brepjs/kernel/unsupported.d.ts +0 -15
  988. package/dist/vendored/brepjs/kernel/unsupported.d.ts.map +0 -1
  989. package/dist/vendored/brepjs/kernel/unsupported.js +0 -25
  990. package/dist/vendored/brepjs/kernel/unsupported.js.map +0 -1
  991. package/dist/vendored/brepjs/measurement/interferenceFns.d.ts +0 -68
  992. package/dist/vendored/brepjs/measurement/interferenceFns.d.ts.map +0 -1
  993. package/dist/vendored/brepjs/measurement/interferenceFns.js +0 -102
  994. package/dist/vendored/brepjs/measurement/interferenceFns.js.map +0 -1
  995. package/dist/vendored/brepjs/measurement/measureCache.d.ts +0 -20
  996. package/dist/vendored/brepjs/measurement/measureCache.d.ts.map +0 -1
  997. package/dist/vendored/brepjs/measurement/measureCache.js +0 -28
  998. package/dist/vendored/brepjs/measurement/measureCache.js.map +0 -1
  999. package/dist/vendored/brepjs/measurement/measureFns.d.ts +0 -92
  1000. package/dist/vendored/brepjs/measurement/measureFns.d.ts.map +0 -1
  1001. package/dist/vendored/brepjs/measurement/measureFns.js +0 -239
  1002. package/dist/vendored/brepjs/measurement/measureFns.js.map +0 -1
  1003. package/dist/vendored/brepjs/measurement/measureTypes.d.ts +0 -35
  1004. package/dist/vendored/brepjs/measurement/measureTypes.d.ts.map +0 -1
  1005. package/dist/vendored/brepjs/measurement/measureTypes.js +0 -7
  1006. package/dist/vendored/brepjs/measurement/measureTypes.js.map +0 -1
  1007. package/dist/vendored/brepjs/measurement.d.ts +0 -5
  1008. package/dist/vendored/brepjs/measurement.d.ts.map +0 -1
  1009. package/dist/vendored/brepjs/measurement.js +0 -5
  1010. package/dist/vendored/brepjs/measurement.js.map +0 -1
  1011. package/dist/vendored/brepjs/ns/booleans.d.ts +0 -11
  1012. package/dist/vendored/brepjs/ns/booleans.d.ts.map +0 -1
  1013. package/dist/vendored/brepjs/ns/booleans.js +0 -11
  1014. package/dist/vendored/brepjs/ns/booleans.js.map +0 -1
  1015. package/dist/vendored/brepjs/ns/construction.d.ts +0 -10
  1016. package/dist/vendored/brepjs/ns/construction.d.ts.map +0 -1
  1017. package/dist/vendored/brepjs/ns/construction.js +0 -10
  1018. package/dist/vendored/brepjs/ns/construction.js.map +0 -1
  1019. package/dist/vendored/brepjs/ns/ioNs.d.ts +0 -18
  1020. package/dist/vendored/brepjs/ns/ioNs.d.ts.map +0 -1
  1021. package/dist/vendored/brepjs/ns/ioNs.js +0 -20
  1022. package/dist/vendored/brepjs/ns/ioNs.js.map +0 -1
  1023. package/dist/vendored/brepjs/ns/measurement.d.ts +0 -6
  1024. package/dist/vendored/brepjs/ns/measurement.d.ts.map +0 -1
  1025. package/dist/vendored/brepjs/ns/measurement.js +0 -6
  1026. package/dist/vendored/brepjs/ns/measurement.js.map +0 -1
  1027. package/dist/vendored/brepjs/ns/modifiers.d.ts +0 -6
  1028. package/dist/vendored/brepjs/ns/modifiers.d.ts.map +0 -1
  1029. package/dist/vendored/brepjs/ns/modifiers.js +0 -6
  1030. package/dist/vendored/brepjs/ns/modifiers.js.map +0 -1
  1031. package/dist/vendored/brepjs/ns/patterns.d.ts +0 -5
  1032. package/dist/vendored/brepjs/ns/patterns.d.ts.map +0 -1
  1033. package/dist/vendored/brepjs/ns/patterns.js +0 -5
  1034. package/dist/vendored/brepjs/ns/patterns.js.map +0 -1
  1035. package/dist/vendored/brepjs/ns/primitives.d.ts +0 -7
  1036. package/dist/vendored/brepjs/ns/primitives.d.ts.map +0 -1
  1037. package/dist/vendored/brepjs/ns/primitives.js +0 -7
  1038. package/dist/vendored/brepjs/ns/primitives.js.map +0 -1
  1039. package/dist/vendored/brepjs/ns/query.d.ts +0 -6
  1040. package/dist/vendored/brepjs/ns/query.d.ts.map +0 -1
  1041. package/dist/vendored/brepjs/ns/query.js +0 -6
  1042. package/dist/vendored/brepjs/ns/query.js.map +0 -1
  1043. package/dist/vendored/brepjs/ns/transforms.d.ts +0 -5
  1044. package/dist/vendored/brepjs/ns/transforms.d.ts.map +0 -1
  1045. package/dist/vendored/brepjs/ns/transforms.js +0 -5
  1046. package/dist/vendored/brepjs/ns/transforms.js.map +0 -1
  1047. package/dist/vendored/brepjs/operations/api.d.ts +0 -39
  1048. package/dist/vendored/brepjs/operations/api.d.ts.map +0 -1
  1049. package/dist/vendored/brepjs/operations/api.js +0 -41
  1050. package/dist/vendored/brepjs/operations/api.js.map +0 -1
  1051. package/dist/vendored/brepjs/operations/assemblyFns.d.ts +0 -54
  1052. package/dist/vendored/brepjs/operations/assemblyFns.d.ts.map +0 -1
  1053. package/dist/vendored/brepjs/operations/assemblyFns.js +0 -91
  1054. package/dist/vendored/brepjs/operations/assemblyFns.js.map +0 -1
  1055. package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts +0 -43
  1056. package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts.map +0 -1
  1057. package/dist/vendored/brepjs/operations/compoundOpsFns.js +0 -368
  1058. package/dist/vendored/brepjs/operations/compoundOpsFns.js.map +0 -1
  1059. package/dist/vendored/brepjs/operations/convexHullFns.d.ts +0 -27
  1060. package/dist/vendored/brepjs/operations/convexHullFns.d.ts.map +0 -1
  1061. package/dist/vendored/brepjs/operations/convexHullFns.js +0 -50
  1062. package/dist/vendored/brepjs/operations/convexHullFns.js.map +0 -1
  1063. package/dist/vendored/brepjs/operations/dhFns.d.ts +0 -47
  1064. package/dist/vendored/brepjs/operations/dhFns.d.ts.map +0 -1
  1065. package/dist/vendored/brepjs/operations/dhFns.js +0 -53
  1066. package/dist/vendored/brepjs/operations/dhFns.js.map +0 -1
  1067. package/dist/vendored/brepjs/operations/exporterFns.d.ts +0 -47
  1068. package/dist/vendored/brepjs/operations/exporterFns.d.ts.map +0 -1
  1069. package/dist/vendored/brepjs/operations/exporterFns.js +0 -66
  1070. package/dist/vendored/brepjs/operations/exporterFns.js.map +0 -1
  1071. package/dist/vendored/brepjs/operations/exporterUtils.d.ts +0 -6
  1072. package/dist/vendored/brepjs/operations/exporterUtils.d.ts.map +0 -1
  1073. package/dist/vendored/brepjs/operations/exporterUtils.js +0 -5
  1074. package/dist/vendored/brepjs/operations/exporterUtils.js.map +0 -1
  1075. package/dist/vendored/brepjs/operations/exporters.d.ts +0 -59
  1076. package/dist/vendored/brepjs/operations/exporters.d.ts.map +0 -1
  1077. package/dist/vendored/brepjs/operations/exporters.js +0 -74
  1078. package/dist/vendored/brepjs/operations/exporters.js.map +0 -1
  1079. package/dist/vendored/brepjs/operations/extrudeFns.d.ts +0 -47
  1080. package/dist/vendored/brepjs/operations/extrudeFns.d.ts.map +0 -1
  1081. package/dist/vendored/brepjs/operations/extrudeFns.js +0 -119
  1082. package/dist/vendored/brepjs/operations/extrudeFns.js.map +0 -1
  1083. package/dist/vendored/brepjs/operations/extrudeUtils.d.ts +0 -63
  1084. package/dist/vendored/brepjs/operations/extrudeUtils.d.ts.map +0 -1
  1085. package/dist/vendored/brepjs/operations/extrudeUtils.js +0 -33
  1086. package/dist/vendored/brepjs/operations/extrudeUtils.js.map +0 -1
  1087. package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts +0 -6
  1088. package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts.map +0 -1
  1089. package/dist/vendored/brepjs/operations/guidedSweepFns.js +0 -6
  1090. package/dist/vendored/brepjs/operations/guidedSweepFns.js.map +0 -1
  1091. package/dist/vendored/brepjs/operations/historyFns.d.ts +0 -83
  1092. package/dist/vendored/brepjs/operations/historyFns.d.ts.map +0 -1
  1093. package/dist/vendored/brepjs/operations/historyFns.js +0 -256
  1094. package/dist/vendored/brepjs/operations/historyFns.js.map +0 -1
  1095. package/dist/vendored/brepjs/operations/ikFns.d.ts +0 -74
  1096. package/dist/vendored/brepjs/operations/ikFns.d.ts.map +0 -1
  1097. package/dist/vendored/brepjs/operations/ikFns.js +0 -320
  1098. package/dist/vendored/brepjs/operations/ikFns.js.map +0 -1
  1099. package/dist/vendored/brepjs/operations/instanceFns.d.ts +0 -76
  1100. package/dist/vendored/brepjs/operations/instanceFns.d.ts.map +0 -1
  1101. package/dist/vendored/brepjs/operations/instanceFns.js +0 -128
  1102. package/dist/vendored/brepjs/operations/instanceFns.js.map +0 -1
  1103. package/dist/vendored/brepjs/operations/jointFns.d.ts +0 -176
  1104. package/dist/vendored/brepjs/operations/jointFns.d.ts.map +0 -1
  1105. package/dist/vendored/brepjs/operations/jointFns.js +0 -298
  1106. package/dist/vendored/brepjs/operations/jointFns.js.map +0 -1
  1107. package/dist/vendored/brepjs/operations/loftFns.d.ts +0 -60
  1108. package/dist/vendored/brepjs/operations/loftFns.d.ts.map +0 -1
  1109. package/dist/vendored/brepjs/operations/loftFns.js +0 -112
  1110. package/dist/vendored/brepjs/operations/loftFns.js.map +0 -1
  1111. package/dist/vendored/brepjs/operations/mateFns.d.ts +0 -53
  1112. package/dist/vendored/brepjs/operations/mateFns.d.ts.map +0 -1
  1113. package/dist/vendored/brepjs/operations/mateFns.js +0 -142
  1114. package/dist/vendored/brepjs/operations/mateFns.js.map +0 -1
  1115. package/dist/vendored/brepjs/operations/multiSweepFns.d.ts +0 -6
  1116. package/dist/vendored/brepjs/operations/multiSweepFns.d.ts.map +0 -1
  1117. package/dist/vendored/brepjs/operations/multiSweepFns.js +0 -6
  1118. package/dist/vendored/brepjs/operations/multiSweepFns.js.map +0 -1
  1119. package/dist/vendored/brepjs/operations/patternFns.d.ts +0 -46
  1120. package/dist/vendored/brepjs/operations/patternFns.d.ts.map +0 -1
  1121. package/dist/vendored/brepjs/operations/patternFns.js +0 -126
  1122. package/dist/vendored/brepjs/operations/patternFns.js.map +0 -1
  1123. package/dist/vendored/brepjs/operations/roofFns.d.ts +0 -25
  1124. package/dist/vendored/brepjs/operations/roofFns.d.ts.map +0 -1
  1125. package/dist/vendored/brepjs/operations/roofFns.js +0 -250
  1126. package/dist/vendored/brepjs/operations/roofFns.js.map +0 -1
  1127. package/dist/vendored/brepjs/operations/straightSkeleton.d.ts +0 -29
  1128. package/dist/vendored/brepjs/operations/straightSkeleton.d.ts.map +0 -1
  1129. package/dist/vendored/brepjs/operations/straightSkeleton.js +0 -440
  1130. package/dist/vendored/brepjs/operations/straightSkeleton.js.map +0 -1
  1131. package/dist/vendored/brepjs/operations/sweepFns.d.ts +0 -121
  1132. package/dist/vendored/brepjs/operations/sweepFns.d.ts.map +0 -1
  1133. package/dist/vendored/brepjs/operations/sweepFns.js +0 -438
  1134. package/dist/vendored/brepjs/operations/sweepFns.js.map +0 -1
  1135. package/dist/vendored/brepjs/operations/threadFns.d.ts +0 -57
  1136. package/dist/vendored/brepjs/operations/threadFns.d.ts.map +0 -1
  1137. package/dist/vendored/brepjs/operations/threadFns.js +0 -145
  1138. package/dist/vendored/brepjs/operations/threadFns.js.map +0 -1
  1139. package/dist/vendored/brepjs/operations/urdfFns.d.ts +0 -48
  1140. package/dist/vendored/brepjs/operations/urdfFns.d.ts.map +0 -1
  1141. package/dist/vendored/brepjs/operations/urdfFns.js +0 -171
  1142. package/dist/vendored/brepjs/operations/urdfFns.js.map +0 -1
  1143. package/dist/vendored/brepjs/operations.d.ts +0 -20
  1144. package/dist/vendored/brepjs/operations.d.ts.map +0 -1
  1145. package/dist/vendored/brepjs/operations.js +0 -26
  1146. package/dist/vendored/brepjs/operations.js.map +0 -1
  1147. package/dist/vendored/brepjs/projection/cameraFns.d.ts +0 -63
  1148. package/dist/vendored/brepjs/projection/cameraFns.d.ts.map +0 -1
  1149. package/dist/vendored/brepjs/projection/cameraFns.js +0 -89
  1150. package/dist/vendored/brepjs/projection/cameraFns.js.map +0 -1
  1151. package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts +0 -14
  1152. package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts.map +0 -1
  1153. package/dist/vendored/brepjs/projection/makeProjectedEdges.js +0 -111
  1154. package/dist/vendored/brepjs/projection/makeProjectedEdges.js.map +0 -1
  1155. package/dist/vendored/brepjs/projection/projectionPlanes.d.ts +0 -18
  1156. package/dist/vendored/brepjs/projection/projectionPlanes.d.ts.map +0 -1
  1157. package/dist/vendored/brepjs/projection/projectionPlanes.js +0 -23
  1158. package/dist/vendored/brepjs/projection/projectionPlanes.js.map +0 -1
  1159. package/dist/vendored/brepjs/projection.d.ts +0 -12
  1160. package/dist/vendored/brepjs/projection.d.ts.map +0 -1
  1161. package/dist/vendored/brepjs/projection.js +0 -12
  1162. package/dist/vendored/brepjs/projection.js.map +0 -1
  1163. package/dist/vendored/brepjs/query/cornerFinder.d.ts +0 -54
  1164. package/dist/vendored/brepjs/query/cornerFinder.d.ts.map +0 -1
  1165. package/dist/vendored/brepjs/query/cornerFinder.js +0 -73
  1166. package/dist/vendored/brepjs/query/cornerFinder.js.map +0 -1
  1167. package/dist/vendored/brepjs/query/directionUtils.d.ts +0 -9
  1168. package/dist/vendored/brepjs/query/directionUtils.d.ts.map +0 -1
  1169. package/dist/vendored/brepjs/query/directionUtils.js +0 -18
  1170. package/dist/vendored/brepjs/query/directionUtils.js.map +0 -1
  1171. package/dist/vendored/brepjs/query/edgeFinder.d.ts +0 -5
  1172. package/dist/vendored/brepjs/query/edgeFinder.d.ts.map +0 -1
  1173. package/dist/vendored/brepjs/query/edgeFinder.js +0 -5
  1174. package/dist/vendored/brepjs/query/edgeFinder.js.map +0 -1
  1175. package/dist/vendored/brepjs/query/faceFinder.d.ts +0 -5
  1176. package/dist/vendored/brepjs/query/faceFinder.d.ts.map +0 -1
  1177. package/dist/vendored/brepjs/query/faceFinder.js +0 -5
  1178. package/dist/vendored/brepjs/query/faceFinder.js.map +0 -1
  1179. package/dist/vendored/brepjs/query/finderCore.d.ts +0 -49
  1180. package/dist/vendored/brepjs/query/finderCore.d.ts.map +0 -1
  1181. package/dist/vendored/brepjs/query/finderCore.js +0 -120
  1182. package/dist/vendored/brepjs/query/finderCore.js.map +0 -1
  1183. package/dist/vendored/brepjs/query/finderFns.d.ts +0 -25
  1184. package/dist/vendored/brepjs/query/finderFns.d.ts.map +0 -1
  1185. package/dist/vendored/brepjs/query/finderFns.js +0 -25
  1186. package/dist/vendored/brepjs/query/finderFns.js.map +0 -1
  1187. package/dist/vendored/brepjs/query/helpers.d.ts +0 -11
  1188. package/dist/vendored/brepjs/query/helpers.d.ts.map +0 -1
  1189. package/dist/vendored/brepjs/query/helpers.js +0 -17
  1190. package/dist/vendored/brepjs/query/helpers.js.map +0 -1
  1191. package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts +0 -15
  1192. package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts.map +0 -1
  1193. package/dist/vendored/brepjs/query/shapeDistanceFilter.js +0 -21
  1194. package/dist/vendored/brepjs/query/shapeDistanceFilter.js.map +0 -1
  1195. package/dist/vendored/brepjs/query/shapeFinders.d.ts +0 -39
  1196. package/dist/vendored/brepjs/query/shapeFinders.d.ts.map +0 -1
  1197. package/dist/vendored/brepjs/query/shapeFinders.js +0 -82
  1198. package/dist/vendored/brepjs/query/shapeFinders.js.map +0 -1
  1199. package/dist/vendored/brepjs/query/vertexFinder.d.ts +0 -19
  1200. package/dist/vendored/brepjs/query/vertexFinder.d.ts.map +0 -1
  1201. package/dist/vendored/brepjs/query/vertexFinder.js +0 -73
  1202. package/dist/vendored/brepjs/query/vertexFinder.js.map +0 -1
  1203. package/dist/vendored/brepjs/query/wireFinder.d.ts +0 -5
  1204. package/dist/vendored/brepjs/query/wireFinder.d.ts.map +0 -1
  1205. package/dist/vendored/brepjs/query/wireFinder.js +0 -5
  1206. package/dist/vendored/brepjs/query/wireFinder.js.map +0 -1
  1207. package/dist/vendored/brepjs/query.d.ts +0 -6
  1208. package/dist/vendored/brepjs/query.d.ts.map +0 -1
  1209. package/dist/vendored/brepjs/query.js +0 -6
  1210. package/dist/vendored/brepjs/query.js.map +0 -1
  1211. package/dist/vendored/brepjs/result.d.ts +0 -7
  1212. package/dist/vendored/brepjs/result.d.ts.map +0 -1
  1213. package/dist/vendored/brepjs/result.js +0 -7
  1214. package/dist/vendored/brepjs/result.js.map +0 -1
  1215. package/dist/vendored/brepjs/shapeRef.d.ts +0 -13
  1216. package/dist/vendored/brepjs/shapeRef.d.ts.map +0 -1
  1217. package/dist/vendored/brepjs/shapeRef.js +0 -13
  1218. package/dist/vendored/brepjs/shapeRef.js.map +0 -1
  1219. package/dist/vendored/brepjs/sketching/cannedSketches.d.ts +0 -144
  1220. package/dist/vendored/brepjs/sketching/cannedSketches.d.ts.map +0 -1
  1221. package/dist/vendored/brepjs/sketching/cannedSketches.js +0 -327
  1222. package/dist/vendored/brepjs/sketching/cannedSketches.js.map +0 -1
  1223. package/dist/vendored/brepjs/sketching/compoundSketch.d.ts +0 -70
  1224. package/dist/vendored/brepjs/sketching/compoundSketch.d.ts.map +0 -1
  1225. package/dist/vendored/brepjs/sketching/compoundSketch.js +0 -87
  1226. package/dist/vendored/brepjs/sketching/compoundSketch.js.map +0 -1
  1227. package/dist/vendored/brepjs/sketching/draw3d.d.ts +0 -22
  1228. package/dist/vendored/brepjs/sketching/draw3d.d.ts.map +0 -1
  1229. package/dist/vendored/brepjs/sketching/draw3d.js +0 -150
  1230. package/dist/vendored/brepjs/sketching/draw3d.js.map +0 -1
  1231. package/dist/vendored/brepjs/sketching/drawFns.d.ts +0 -122
  1232. package/dist/vendored/brepjs/sketching/drawFns.d.ts.map +0 -1
  1233. package/dist/vendored/brepjs/sketching/drawFns.js +0 -129
  1234. package/dist/vendored/brepjs/sketching/drawFns.js.map +0 -1
  1235. package/dist/vendored/brepjs/sketching/drawing.d.ts +0 -128
  1236. package/dist/vendored/brepjs/sketching/drawing.d.ts.map +0 -1
  1237. package/dist/vendored/brepjs/sketching/drawing.js +0 -275
  1238. package/dist/vendored/brepjs/sketching/drawing.js.map +0 -1
  1239. package/dist/vendored/brepjs/sketching/drawingFactories.d.ts +0 -95
  1240. package/dist/vendored/brepjs/sketching/drawingFactories.d.ts.map +0 -1
  1241. package/dist/vendored/brepjs/sketching/drawingFactories.js +0 -125
  1242. package/dist/vendored/brepjs/sketching/drawingFactories.js.map +0 -1
  1243. package/dist/vendored/brepjs/sketching/drawingPen.d.ts +0 -35
  1244. package/dist/vendored/brepjs/sketching/drawingPen.d.ts.map +0 -1
  1245. package/dist/vendored/brepjs/sketching/drawingPen.js +0 -57
  1246. package/dist/vendored/brepjs/sketching/drawingPen.js.map +0 -1
  1247. package/dist/vendored/brepjs/sketching/faceSketcher.d.ts +0 -53
  1248. package/dist/vendored/brepjs/sketching/faceSketcher.d.ts.map +0 -1
  1249. package/dist/vendored/brepjs/sketching/faceSketcher.js +0 -167
  1250. package/dist/vendored/brepjs/sketching/faceSketcher.js.map +0 -1
  1251. package/dist/vendored/brepjs/sketching/shortcuts.d.ts +0 -16
  1252. package/dist/vendored/brepjs/sketching/shortcuts.d.ts.map +0 -1
  1253. package/dist/vendored/brepjs/sketching/shortcuts.js +0 -24
  1254. package/dist/vendored/brepjs/sketching/shortcuts.js.map +0 -1
  1255. package/dist/vendored/brepjs/sketching/sketch.d.ts +0 -157
  1256. package/dist/vendored/brepjs/sketching/sketch.d.ts.map +0 -1
  1257. package/dist/vendored/brepjs/sketching/sketch.js +0 -151
  1258. package/dist/vendored/brepjs/sketching/sketch.js.map +0 -1
  1259. package/dist/vendored/brepjs/sketching/sketchFns.d.ts +0 -89
  1260. package/dist/vendored/brepjs/sketching/sketchFns.d.ts.map +0 -1
  1261. package/dist/vendored/brepjs/sketching/sketchFns.js +0 -266
  1262. package/dist/vendored/brepjs/sketching/sketchFns.js.map +0 -1
  1263. package/dist/vendored/brepjs/sketching/sketcher.d.ts +0 -70
  1264. package/dist/vendored/brepjs/sketching/sketcher.d.ts.map +0 -1
  1265. package/dist/vendored/brepjs/sketching/sketcher.js +0 -181
  1266. package/dist/vendored/brepjs/sketching/sketcher.js.map +0 -1
  1267. package/dist/vendored/brepjs/sketching/sketches.d.ts +0 -70
  1268. package/dist/vendored/brepjs/sketching/sketches.d.ts.map +0 -1
  1269. package/dist/vendored/brepjs/sketching/sketches.js +0 -91
  1270. package/dist/vendored/brepjs/sketching/sketches.js.map +0 -1
  1271. package/dist/vendored/brepjs/sketching.d.ts +0 -28
  1272. package/dist/vendored/brepjs/sketching.d.ts.map +0 -1
  1273. package/dist/vendored/brepjs/sketching.js +0 -30
  1274. package/dist/vendored/brepjs/sketching.js.map +0 -1
  1275. package/dist/vendored/brepjs/text/fontRegistry.d.ts +0 -23
  1276. package/dist/vendored/brepjs/text/fontRegistry.d.ts.map +0 -1
  1277. package/dist/vendored/brepjs/text/fontRegistry.js +0 -61
  1278. package/dist/vendored/brepjs/text/fontRegistry.js.map +0 -1
  1279. package/dist/vendored/brepjs/text/sketchText.d.ts +0 -31
  1280. package/dist/vendored/brepjs/text/sketchText.d.ts.map +0 -1
  1281. package/dist/vendored/brepjs/text/sketchText.js +0 -30
  1282. package/dist/vendored/brepjs/text/sketchText.js.map +0 -1
  1283. package/dist/vendored/brepjs/text/textBlueprints.d.ts +0 -19
  1284. package/dist/vendored/brepjs/text/textBlueprints.d.ts.map +0 -1
  1285. package/dist/vendored/brepjs/text/textBlueprints.js +0 -61
  1286. package/dist/vendored/brepjs/text/textBlueprints.js.map +0 -1
  1287. package/dist/vendored/brepjs/text/textMetrics.d.ts +0 -40
  1288. package/dist/vendored/brepjs/text/textMetrics.d.ts.map +0 -1
  1289. package/dist/vendored/brepjs/text/textMetrics.js +0 -43
  1290. package/dist/vendored/brepjs/text/textMetrics.js.map +0 -1
  1291. package/dist/vendored/brepjs/text.d.ts +0 -13
  1292. package/dist/vendored/brepjs/text.d.ts.map +0 -1
  1293. package/dist/vendored/brepjs/text.js +0 -13
  1294. package/dist/vendored/brepjs/text.js.map +0 -1
  1295. package/dist/vendored/brepjs/topology/adjacencyFns.d.ts +0 -89
  1296. package/dist/vendored/brepjs/topology/adjacencyFns.d.ts.map +0 -1
  1297. package/dist/vendored/brepjs/topology/adjacencyFns.js +0 -411
  1298. package/dist/vendored/brepjs/topology/adjacencyFns.js.map +0 -1
  1299. package/dist/vendored/brepjs/topology/api.d.ts +0 -145
  1300. package/dist/vendored/brepjs/topology/api.d.ts.map +0 -1
  1301. package/dist/vendored/brepjs/topology/api.js +0 -282
  1302. package/dist/vendored/brepjs/topology/api.js.map +0 -1
  1303. package/dist/vendored/brepjs/topology/apiTypes.d.ts +0 -135
  1304. package/dist/vendored/brepjs/topology/apiTypes.d.ts.map +0 -1
  1305. package/dist/vendored/brepjs/topology/apiTypes.js +0 -24
  1306. package/dist/vendored/brepjs/topology/apiTypes.js.map +0 -1
  1307. package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts +0 -52
  1308. package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts.map +0 -1
  1309. package/dist/vendored/brepjs/topology/booleanBatchFns.js +0 -164
  1310. package/dist/vendored/brepjs/topology/booleanBatchFns.js.map +0 -1
  1311. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts +0 -21
  1312. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts.map +0 -1
  1313. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js +0 -23
  1314. package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js.map +0 -1
  1315. package/dist/vendored/brepjs/topology/booleanFns.d.ts +0 -155
  1316. package/dist/vendored/brepjs/topology/booleanFns.d.ts.map +0 -1
  1317. package/dist/vendored/brepjs/topology/booleanFns.js +0 -600
  1318. package/dist/vendored/brepjs/topology/booleanFns.js.map +0 -1
  1319. package/dist/vendored/brepjs/topology/cast.d.ts +0 -48
  1320. package/dist/vendored/brepjs/topology/cast.d.ts.map +0 -1
  1321. package/dist/vendored/brepjs/topology/cast.js +0 -113
  1322. package/dist/vendored/brepjs/topology/cast.js.map +0 -1
  1323. package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts +0 -24
  1324. package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts.map +0 -1
  1325. package/dist/vendored/brepjs/topology/chamferAngleFns.js +0 -64
  1326. package/dist/vendored/brepjs/topology/chamferAngleFns.js.map +0 -1
  1327. package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts +0 -6
  1328. package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts.map +0 -1
  1329. package/dist/vendored/brepjs/topology/compoundOpsFns.js +0 -6
  1330. package/dist/vendored/brepjs/topology/compoundOpsFns.js.map +0 -1
  1331. package/dist/vendored/brepjs/topology/curveBuilders.d.ts +0 -90
  1332. package/dist/vendored/brepjs/topology/curveBuilders.d.ts.map +0 -1
  1333. package/dist/vendored/brepjs/topology/curveBuilders.js +0 -125
  1334. package/dist/vendored/brepjs/topology/curveBuilders.js.map +0 -1
  1335. package/dist/vendored/brepjs/topology/curveFns.d.ts +0 -96
  1336. package/dist/vendored/brepjs/topology/curveFns.d.ts.map +0 -1
  1337. package/dist/vendored/brepjs/topology/curveFns.js +0 -191
  1338. package/dist/vendored/brepjs/topology/curveFns.js.map +0 -1
  1339. package/dist/vendored/brepjs/topology/evolutionFns.d.ts +0 -78
  1340. package/dist/vendored/brepjs/topology/evolutionFns.d.ts.map +0 -1
  1341. package/dist/vendored/brepjs/topology/evolutionFns.js +0 -271
  1342. package/dist/vendored/brepjs/topology/evolutionFns.js.map +0 -1
  1343. package/dist/vendored/brepjs/topology/faceFns.d.ts +0 -86
  1344. package/dist/vendored/brepjs/topology/faceFns.d.ts.map +0 -1
  1345. package/dist/vendored/brepjs/topology/faceFns.js +0 -169
  1346. package/dist/vendored/brepjs/topology/faceFns.js.map +0 -1
  1347. package/dist/vendored/brepjs/topology/healingFns.d.ts +0 -98
  1348. package/dist/vendored/brepjs/topology/healingFns.d.ts.map +0 -1
  1349. package/dist/vendored/brepjs/topology/healingFns.js +0 -338
  1350. package/dist/vendored/brepjs/topology/healingFns.js.map +0 -1
  1351. package/dist/vendored/brepjs/topology/hullFns.d.ts +0 -21
  1352. package/dist/vendored/brepjs/topology/hullFns.d.ts.map +0 -1
  1353. package/dist/vendored/brepjs/topology/hullFns.js +0 -60
  1354. package/dist/vendored/brepjs/topology/hullFns.js.map +0 -1
  1355. package/dist/vendored/brepjs/topology/index.d.ts +0 -14
  1356. package/dist/vendored/brepjs/topology/index.d.ts.map +0 -1
  1357. package/dist/vendored/brepjs/topology/index.js +0 -17
  1358. package/dist/vendored/brepjs/topology/index.js.map +0 -1
  1359. package/dist/vendored/brepjs/topology/meshCache.d.ts +0 -68
  1360. package/dist/vendored/brepjs/topology/meshCache.d.ts.map +0 -1
  1361. package/dist/vendored/brepjs/topology/meshCache.js +0 -117
  1362. package/dist/vendored/brepjs/topology/meshCache.js.map +0 -1
  1363. package/dist/vendored/brepjs/topology/meshFns.d.ts +0 -179
  1364. package/dist/vendored/brepjs/topology/meshFns.d.ts.map +0 -1
  1365. package/dist/vendored/brepjs/topology/meshFns.js +0 -393
  1366. package/dist/vendored/brepjs/topology/meshFns.js.map +0 -1
  1367. package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts +0 -41
  1368. package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts.map +0 -1
  1369. package/dist/vendored/brepjs/topology/metadata/colorFns.js +0 -128
  1370. package/dist/vendored/brepjs/topology/metadata/colorFns.js.map +0 -1
  1371. package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts +0 -44
  1372. package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts.map +0 -1
  1373. package/dist/vendored/brepjs/topology/metadata/faceTagFns.js +0 -168
  1374. package/dist/vendored/brepjs/topology/metadata/faceTagFns.js.map +0 -1
  1375. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts +0 -59
  1376. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts.map +0 -1
  1377. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js +0 -109
  1378. package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js.map +0 -1
  1379. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts +0 -43
  1380. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts.map +0 -1
  1381. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js +0 -270
  1382. package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js.map +0 -1
  1383. package/dist/vendored/brepjs/topology/minkowskiFns.d.ts +0 -26
  1384. package/dist/vendored/brepjs/topology/minkowskiFns.d.ts.map +0 -1
  1385. package/dist/vendored/brepjs/topology/minkowskiFns.js +0 -136
  1386. package/dist/vendored/brepjs/topology/minkowskiFns.js.map +0 -1
  1387. package/dist/vendored/brepjs/topology/modifierFns.d.ts +0 -87
  1388. package/dist/vendored/brepjs/topology/modifierFns.d.ts.map +0 -1
  1389. package/dist/vendored/brepjs/topology/modifierFns.js +0 -446
  1390. package/dist/vendored/brepjs/topology/modifierFns.js.map +0 -1
  1391. package/dist/vendored/brepjs/topology/nurbsFns.d.ts +0 -13
  1392. package/dist/vendored/brepjs/topology/nurbsFns.d.ts.map +0 -1
  1393. package/dist/vendored/brepjs/topology/nurbsFns.js +0 -22
  1394. package/dist/vendored/brepjs/topology/nurbsFns.js.map +0 -1
  1395. package/dist/vendored/brepjs/topology/polyhedronFns.d.ts +0 -11
  1396. package/dist/vendored/brepjs/topology/polyhedronFns.d.ts.map +0 -1
  1397. package/dist/vendored/brepjs/topology/polyhedronFns.js +0 -47
  1398. package/dist/vendored/brepjs/topology/polyhedronFns.js.map +0 -1
  1399. package/dist/vendored/brepjs/topology/positionFns.d.ts +0 -18
  1400. package/dist/vendored/brepjs/topology/positionFns.d.ts.map +0 -1
  1401. package/dist/vendored/brepjs/topology/positionFns.js +0 -34
  1402. package/dist/vendored/brepjs/topology/positionFns.js.map +0 -1
  1403. package/dist/vendored/brepjs/topology/primitiveFns.d.ts +0 -244
  1404. package/dist/vendored/brepjs/topology/primitiveFns.d.ts.map +0 -1
  1405. package/dist/vendored/brepjs/topology/primitiveFns.js +0 -361
  1406. package/dist/vendored/brepjs/topology/primitiveFns.js.map +0 -1
  1407. package/dist/vendored/brepjs/topology/shapeBooleans.d.ts +0 -14
  1408. package/dist/vendored/brepjs/topology/shapeBooleans.d.ts.map +0 -1
  1409. package/dist/vendored/brepjs/topology/shapeBooleans.js +0 -24
  1410. package/dist/vendored/brepjs/topology/shapeBooleans.js.map +0 -1
  1411. package/dist/vendored/brepjs/topology/shapeFns.d.ts +0 -30
  1412. package/dist/vendored/brepjs/topology/shapeFns.d.ts.map +0 -1
  1413. package/dist/vendored/brepjs/topology/shapeFns.js +0 -50
  1414. package/dist/vendored/brepjs/topology/shapeFns.js.map +0 -1
  1415. package/dist/vendored/brepjs/topology/shapeHelpers.d.ts +0 -9
  1416. package/dist/vendored/brepjs/topology/shapeHelpers.d.ts.map +0 -1
  1417. package/dist/vendored/brepjs/topology/shapeHelpers.js +0 -14
  1418. package/dist/vendored/brepjs/topology/shapeHelpers.js.map +0 -1
  1419. package/dist/vendored/brepjs/topology/shapeModifiers.d.ts +0 -33
  1420. package/dist/vendored/brepjs/topology/shapeModifiers.d.ts.map +0 -1
  1421. package/dist/vendored/brepjs/topology/shapeModifiers.js +0 -28
  1422. package/dist/vendored/brepjs/topology/shapeModifiers.js.map +0 -1
  1423. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts +0 -29
  1424. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts.map +0 -1
  1425. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js +0 -135
  1426. package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js.map +0 -1
  1427. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts +0 -25
  1428. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts.map +0 -1
  1429. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js +0 -123
  1430. package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js.map +0 -1
  1431. package/dist/vendored/brepjs/topology/shapeRef/index.d.ts +0 -11
  1432. package/dist/vendored/brepjs/topology/shapeRef/index.d.ts.map +0 -1
  1433. package/dist/vendored/brepjs/topology/shapeRef/index.js +0 -10
  1434. package/dist/vendored/brepjs/topology/shapeRef/index.js.map +0 -1
  1435. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts +0 -66
  1436. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts.map +0 -1
  1437. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js +0 -128
  1438. package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js.map +0 -1
  1439. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts +0 -18
  1440. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts.map +0 -1
  1441. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js +0 -51
  1442. package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js.map +0 -1
  1443. package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts +0 -20
  1444. package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts.map +0 -1
  1445. package/dist/vendored/brepjs/topology/shapeRef/scoring.js +0 -65
  1446. package/dist/vendored/brepjs/topology/shapeRef/scoring.js.map +0 -1
  1447. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts +0 -59
  1448. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts.map +0 -1
  1449. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js +0 -266
  1450. package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js.map +0 -1
  1451. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts +0 -153
  1452. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts.map +0 -1
  1453. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js +0 -6
  1454. package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js.map +0 -1
  1455. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts +0 -24
  1456. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts.map +0 -1
  1457. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js +0 -128
  1458. package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js.map +0 -1
  1459. package/dist/vendored/brepjs/topology/shapeUtils.d.ts +0 -16
  1460. package/dist/vendored/brepjs/topology/shapeUtils.d.ts.map +0 -1
  1461. package/dist/vendored/brepjs/topology/shapeUtils.js +0 -28
  1462. package/dist/vendored/brepjs/topology/shapeUtils.js.map +0 -1
  1463. package/dist/vendored/brepjs/topology/solidBuilders.d.ts +0 -74
  1464. package/dist/vendored/brepjs/topology/solidBuilders.d.ts.map +0 -1
  1465. package/dist/vendored/brepjs/topology/solidBuilders.js +0 -173
  1466. package/dist/vendored/brepjs/topology/solidBuilders.js.map +0 -1
  1467. package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts +0 -47
  1468. package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts.map +0 -1
  1469. package/dist/vendored/brepjs/topology/surfaceBuilders.js +0 -162
  1470. package/dist/vendored/brepjs/topology/surfaceBuilders.js.map +0 -1
  1471. package/dist/vendored/brepjs/topology/surfaceFns.d.ts +0 -41
  1472. package/dist/vendored/brepjs/topology/surfaceFns.d.ts.map +0 -1
  1473. package/dist/vendored/brepjs/topology/surfaceFns.js +0 -178
  1474. package/dist/vendored/brepjs/topology/surfaceFns.js.map +0 -1
  1475. package/dist/vendored/brepjs/topology/threeHelpers.d.ts +0 -124
  1476. package/dist/vendored/brepjs/topology/threeHelpers.d.ts.map +0 -1
  1477. package/dist/vendored/brepjs/topology/threeHelpers.js +0 -118
  1478. package/dist/vendored/brepjs/topology/threeHelpers.js.map +0 -1
  1479. package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts +0 -100
  1480. package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts.map +0 -1
  1481. package/dist/vendored/brepjs/topology/topologyQueryFns.js +0 -307
  1482. package/dist/vendored/brepjs/topology/topologyQueryFns.js.map +0 -1
  1483. package/dist/vendored/brepjs/topology/transformFns.d.ts +0 -69
  1484. package/dist/vendored/brepjs/topology/transformFns.d.ts.map +0 -1
  1485. package/dist/vendored/brepjs/topology/transformFns.js +0 -235
  1486. package/dist/vendored/brepjs/topology/transformFns.js.map +0 -1
  1487. package/dist/vendored/brepjs/topology/wrapperFns.d.ts +0 -169
  1488. package/dist/vendored/brepjs/topology/wrapperFns.d.ts.map +0 -1
  1489. package/dist/vendored/brepjs/topology/wrapperFns.js +0 -291
  1490. package/dist/vendored/brepjs/topology/wrapperFns.js.map +0 -1
  1491. package/dist/vendored/brepjs/topology.d.ts +0 -28
  1492. package/dist/vendored/brepjs/topology.d.ts.map +0 -1
  1493. package/dist/vendored/brepjs/topology.js +0 -39
  1494. package/dist/vendored/brepjs/topology.js.map +0 -1
  1495. package/dist/vendored/brepjs/utils/arrayAccess.d.ts +0 -12
  1496. package/dist/vendored/brepjs/utils/arrayAccess.d.ts.map +0 -1
  1497. package/dist/vendored/brepjs/utils/arrayAccess.js +0 -25
  1498. package/dist/vendored/brepjs/utils/arrayAccess.js.map +0 -1
  1499. package/dist/vendored/brepjs/utils/bug.d.ts +0 -15
  1500. package/dist/vendored/brepjs/utils/bug.d.ts.map +0 -1
  1501. package/dist/vendored/brepjs/utils/bug.js +0 -21
  1502. package/dist/vendored/brepjs/utils/bug.js.map +0 -1
  1503. package/dist/vendored/brepjs/utils/ioFilename.d.ts +0 -3
  1504. package/dist/vendored/brepjs/utils/ioFilename.d.ts.map +0 -1
  1505. package/dist/vendored/brepjs/utils/ioFilename.js +0 -7
  1506. package/dist/vendored/brepjs/utils/ioFilename.js.map +0 -1
  1507. package/dist/vendored/brepjs/utils/precisionRound.d.ts +0 -11
  1508. package/dist/vendored/brepjs/utils/precisionRound.d.ts.map +0 -1
  1509. package/dist/vendored/brepjs/utils/precisionRound.js +0 -19
  1510. package/dist/vendored/brepjs/utils/precisionRound.js.map +0 -1
  1511. package/dist/vendored/brepjs/utils/quaternion.d.ts +0 -18
  1512. package/dist/vendored/brepjs/utils/quaternion.d.ts.map +0 -1
  1513. package/dist/vendored/brepjs/utils/quaternion.js +0 -68
  1514. package/dist/vendored/brepjs/utils/quaternion.js.map +0 -1
  1515. package/dist/vendored/brepjs/utils/range.d.ts +0 -3
  1516. package/dist/vendored/brepjs/utils/range.d.ts.map +0 -1
  1517. package/dist/vendored/brepjs/utils/range.js +0 -5
  1518. package/dist/vendored/brepjs/utils/range.js.map +0 -1
  1519. package/dist/vendored/brepjs/utils/uuid.d.ts +0 -3
  1520. package/dist/vendored/brepjs/utils/uuid.d.ts.map +0 -1
  1521. package/dist/vendored/brepjs/utils/uuid.js +0 -7
  1522. package/dist/vendored/brepjs/utils/uuid.js.map +0 -1
  1523. package/dist/vendored/brepjs/utils/vec2d.d.ts +0 -62
  1524. package/dist/vendored/brepjs/utils/vec2d.d.ts.map +0 -1
  1525. package/dist/vendored/brepjs/utils/vec2d.js +0 -107
  1526. package/dist/vendored/brepjs/utils/vec2d.js.map +0 -1
  1527. package/dist/vendored/brepjs/utils/vec3.d.ts +0 -32
  1528. package/dist/vendored/brepjs/utils/vec3.d.ts.map +0 -1
  1529. package/dist/vendored/brepjs/utils/vec3.js +0 -35
  1530. package/dist/vendored/brepjs/utils/vec3.js.map +0 -1
  1531. package/dist/vendored/brepjs/utils/zip.d.ts +0 -5
  1532. package/dist/vendored/brepjs/utils/zip.d.ts.map +0 -1
  1533. package/dist/vendored/brepjs/utils/zip.js +0 -8
  1534. package/dist/vendored/brepjs/utils/zip.js.map +0 -1
  1535. package/dist/vendored/brepjs/vectors.d.ts +0 -11
  1536. package/dist/vendored/brepjs/vectors.d.ts.map +0 -1
  1537. package/dist/vendored/brepjs/vectors.js +0 -9
  1538. package/dist/vendored/brepjs/vectors.js.map +0 -1
@@ -98,6 +98,30 @@ export function createBrepMockApi() {
98
98
  tag: `revolveVec(${s.tag},a=${angleDeg})`,
99
99
  });
100
100
  },
101
+ sweep: (profile, spine) => {
102
+ // Mock approximation: the swept body spans the profile and the spine's
103
+ // bbox (signature-level coverage only, like extrude/revolveVec above).
104
+ const p = need(profile, 'sweep');
105
+ const sp = need(spine, 'sweep');
106
+ return alloc({
107
+ kind: 'solid',
108
+ bbox: mergeBbox({ ...p.bbox }, sp.bbox),
109
+ tag: `sweep(${p.tag},${sp.tag})`,
110
+ });
111
+ },
112
+ loft: (sections, ruled, endPoint) => {
113
+ let bbox = null;
114
+ for (const h of sections) {
115
+ const rec = need(h, 'loft');
116
+ bbox = bbox ? mergeBbox(bbox, rec.bbox) : { ...rec.bbox };
117
+ }
118
+ if (bbox === null)
119
+ return unsupported('loft: empty sections');
120
+ if (endPoint !== undefined) {
121
+ bbox = mergeBbox(bbox, { xmin: endPoint.x, ymin: endPoint.y, zmin: endPoint.z, xmax: endPoint.x, ymax: endPoint.y, zmax: endPoint.z });
122
+ }
123
+ return alloc({ kind: 'solid', bbox, tag: `loft(n=${sections.length},ruled=${ruled})` });
124
+ },
101
125
  sew: (shapesIn, _tolerance) => {
102
126
  // Mock approximation: merge the parts' bboxes into one shell-ish solid.
103
127
  let bbox = null;
@@ -1 +1 @@
1
- {"version":3,"file":"brep-mock.js","sourceRoot":"","sources":["../../../../src/brep/engine/adapters/brep-mock.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * engine/adapters/memory — 内存模拟 BREP 引擎(第二引擎,引擎切换验证用)\n *\n *\n * 目的:证明「引擎可切换」——不是生产内核,是注册表机制的验证载体。\n * 与 occt 适配器(adapters/occt.ts)同构注册;同一段 faijs 代码在\n * occt / memory 两个引擎下都能执行(构造 → 变换 → 布尔 → 三角化 → 导出),\n * 通过 mock STEP 文本标记区分当前引擎。\n *\n * 实现形态:句柄为自增 number;每条形状记录 { kind, bbox, tag }。\n * 只实现引擎切换测试所需的方法面(原语/变换/布尔/网格化/导出),\n * 其余方法抛「not implemented」——缺失即暴露,绝不伪造(§7.5 语义)。\n */\n\nimport { registerBrepEngine, type BrepEngine } from '../registry'\nimport type {\n BrepBoundingBox,\n BrepCurveParameters,\n BrepEdgeData,\n BrepEvolutionData,\n BrepHandle,\n BrepMeshResult,\n BrepUvBounds,\n\n} from '../types'\nimport type { BrepEngineApi, AssertSatisfiesBrepEngineApi } from '../primitives'\n\n/** brep-mock engine registration id. */\nexport const BREP_MOCK_ENGINE_ID = 'brep_mock'\n\n/** Internal shape record (the \"solid\" of an in-memory mock BREP). */\ninterface MemShape {\n kind: 'box' | 'sphere' | 'cylinder' | 'cone' | 'edge' | 'wire' | 'face' | 'solid' | 'compound'\n /** 轴对齐包围盒(近似真实几何,供 getBoundingBox / 导出用)。 */\n bbox: BrepBoundingBox\n /** 人类可读描述(导出标记用)。 */\n tag: string\n}\n\nfunction bboxOf(kind: MemShape['kind'], size: [number, number, number]): BrepBoundingBox {\n const [x, y, z] = size\n return { xmin: -x / 2, ymin: -y / 2, zmin: -z / 2, xmax: x / 2, ymax: y / 2, zmax: z / 2 }\n}\n\n/** 1×1×1 单位盒三角化(8 顶点 / 12 三角形;memory 引擎的 meshShape 输出)。 */\nconst UNIT_BOX_POSITIONS = new Float32Array([\n -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5,\n -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5,\n])\nconst UNIT_BOX_INDICES = new Uint32Array([\n 0, 2, 1, 0, 3, 2, 4, 5, 6, 4, 6, 7, 0, 1, 5, 0, 5, 4,\n 1, 2, 6, 1, 6, 5, 2, 3, 7, 2, 7, 6, 3, 0, 4, 3, 4, 7,\n])\n\nfunction unitBoxMesh(): BrepMeshResult {\n return {\n positions: new Float32Array(UNIT_BOX_POSITIONS),\n normals: new Float32Array(24), // 占位法线(切换测试不校验法线)\n indices: new Uint32Array(UNIT_BOX_INDICES),\n vertexCount: 8,\n triangleCount: 12,\n }\n}\n\n/**\n * Build an in-memory mock BREP engine (a BrepEngineApi subset).\n * @returns the mock in-memory BREP engine API.\n */\nexport function createBrepMockApi(): BrepEngineApi {\n const shapes = new Map<number, MemShape>()\n let nextHandle = 1\n\n const alloc = (shape: MemShape): BrepHandle => {\n const h = nextHandle as BrepHandle\n nextHandle += 1\n shapes.set(h, shape)\n return h\n }\n\n const need = (h: BrepHandle, method: string): MemShape => {\n const s = shapes.get(h)\n if (!s) throw new Error(`[brep-mock-engine] ${method}: unknown handle ${h}`)\n return s\n }\n\n const unsupported = (method: string): never => {\n throw new Error(`[brep-mock-engine] ${method}() not implemented — engine-switch test only`)\n }\n\n /** 布尔合并 bbox(fuse/cut/common 的近似包围盒)。 */\n const mergeBbox = (a: BrepBoundingBox, b: BrepBoundingBox): BrepBoundingBox => ({\n xmin: Math.min(a.xmin, b.xmin),\n ymin: Math.min(a.ymin, b.ymin),\n zmin: Math.min(a.zmin, b.zmin),\n xmax: Math.max(a.xmax, b.xmax),\n ymax: Math.max(a.ymax, b.ymax),\n zmax: Math.max(a.zmax, b.zmax),\n })\n\n\n const primitive = (\n kind: MemShape['kind'],\n size: [number, number, number],\n tag: string,\n ): BrepHandle => alloc({ kind, bbox: bboxOf(kind, size), tag })\n\n const primitives: BrepEngineApi = {\n // ── 生命周期 ──\n release: () => undefined,\n\n // ── 实体图元 ──\n makeBox: (dx, dy, dz) => primitive('box', [dx, dy, dz], `box ${dx}x${dy}x${dz}`),\n makeBoxFromCorners: (c1, c2) => primitive('box',\n [Math.abs(c2.x - c1.x), Math.abs(c2.y - c1.y), Math.abs(c2.z - c1.z)],\n `box (${c1.x},${c1.y},${c1.z})→(${c2.x},${c2.y},${c2.z})`),\n makeCylinder: (radius, height) => primitive('cylinder', [radius * 2, radius * 2, height], `cylinder r=${radius} h=${height}`),\n makeSphere: (radius) => primitive('sphere', [radius * 2, radius * 2, radius * 2], `sphere r=${radius}`),\n makeCone: (r1, r2, height) => primitive('cone', [Math.max(r1, r2) * 2, Math.max(r1, r2) * 2, height], `cone r1=${r1} r2=${r2} h=${height}`),\n makeRectangle: (width, height) => primitive('face', [width, height, 0], `rectangle ${width}x${height}`),\n\n // ── 造型运算 ──\n extrude: (shape, dx, dy, dz) => {\n const s = need(shape, 'extrude')\n return alloc({ kind: 'solid', bbox: { ...s.bbox, xmax: s.bbox.xmax + dx, ymax: s.bbox.ymax + dy, zmax: s.bbox.zmax + dz }, tag: `extrude(${s.tag})` })\n },\n revolveVec: (shape, _center, direction, angleDeg) => {\n // Mock approximation: revolve grows the bbox by sweeping the profile's\n // extent around the axis — approximate with the direction-scaled extent\n // (signature-level coverage only, like extrude above).\n const s = need(shape, 'revolveVec')\n const grow = (Math.abs(angleDeg) / 360) * Math.hypot(direction.x, direction.y, direction.z) * 2\n return alloc({\n kind: 'solid',\n bbox: {\n xmin: s.bbox.xmin - grow, ymin: s.bbox.ymin - grow, zmin: s.bbox.zmin,\n xmax: s.bbox.xmax + grow, ymax: s.bbox.ymax + grow, zmax: s.bbox.zmax,\n },\n tag: `revolveVec(${s.tag},a=${angleDeg})`,\n })\n },\n sew: (shapesIn, _tolerance) => {\n // Mock approximation: merge the parts' bboxes into one shell-ish solid.\n let bbox: BrepBoundingBox | null = null\n let tag = 'sew('\n for (const h of shapesIn) {\n const rec = need(h, 'sew')\n bbox = bbox ? mergeBbox(bbox, rec.bbox) : { ...rec.bbox }\n tag += `${rec.tag},`\n }\n return alloc({ kind: 'solid', bbox: bbox ?? bboxOf('solid', [0, 0, 0]), tag: `${tag})` })\n },\n sewAndSolidify: () => alloc({ kind: 'solid', bbox: bboxOf('solid', [1, 1, 1]), tag: 'sewAndSolidify' }),\n shell: (solid, _facesToRemove, thickness, _tolerance) => {\n // Mock approximation: shelling keeps the outer bbox and marks it hollow.\n const s = need(solid, 'shell')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `shell(${s.tag},t=${thickness})` })\n },\n hullFromPoints: (points, _tolerance) => {\n // Mock approximation: bbox of the point set as a solid.\n if (points.length === 0) return unsupported('hullFromPoints: empty point set')\n let xmin = Infinity, ymin = Infinity, zmin = Infinity\n let xmax = -Infinity, ymax = -Infinity, zmax = -Infinity\n for (const p of points) {\n xmin = Math.min(xmin, p.x); ymin = Math.min(ymin, p.y); zmin = Math.min(zmin, p.z)\n xmax = Math.max(xmax, p.x); ymax = Math.max(ymax, p.y); zmax = Math.max(zmax, p.z)\n }\n return alloc({ kind: 'solid', bbox: { xmin, ymin, zmin, xmax, ymax, zmax }, tag: `hullFromPoints(n=${points.length})` })\n },\n\n // ── 倒角与圆角(mock:只重打标签/复制,不做真几何;引擎切换测试覆盖签名面) ──\n chamfer: (solid, edges, distance) => {\n const s = need(solid, 'chamfer')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `chamfer(${s.tag},d=${distance},e=${edges.length})` })\n },\n chamferDistAngle: (solid, edges, distance, angleDeg) => {\n const s = need(solid, 'chamferDistAngle')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `chamferDA(${s.tag},d=${distance},a=${angleDeg},e=${edges.length})` })\n },\n fillet: (solid, edges, radius) => {\n const s = need(solid, 'fillet')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `fillet(${s.tag},r=${radius},e=${edges.length})` })\n },\n filletVariable: (solid, edge, startRadius, endRadius) => {\n const s = need(solid, 'filletVariable')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `filletVar(${s.tag},r=${startRadius}-${endRadius},e=1)` })\n },\n filletWithHistory: (solid, edges, radius, _hashes, _upper) => {\n const s = need(solid, 'filletWithHistory')\n const result = alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `filletWH(${s.tag},r=${radius},e=${edges.length})` })\n const evo: BrepEvolutionData = { result, modified: [], generated: [], deleted: [] }\n return evo\n },\n\n // ── 布尔与分割 ──\n fuse: (a, b) => {\n const sa = need(a, 'fuse')\n const sb = need(b, 'fuse')\n return alloc({ kind: 'solid', bbox: mergeBbox(sa.bbox, sb.bbox), tag: `fuse(${sa.tag},${sb.tag})` })\n },\n cut: (a, b) => {\n const sa = need(a, 'cut')\n return alloc({ kind: 'solid', bbox: { ...sa.bbox }, tag: `cut(${sa.tag},#${b})` })\n },\n common: (a, b) => {\n const sa = need(a, 'common')\n const sb = need(b, 'common')\n return alloc({ kind: 'solid', bbox: mergeBbox(sa.bbox, sb.bbox), tag: `common(${sa.tag},${sb.tag})` })\n },\n intersect: (a, b) => {\n const sa = need(a, 'intersect')\n const sb = need(b, 'intersect')\n return alloc({ kind: 'solid', bbox: mergeBbox(sa.bbox, sb.bbox), tag: `intersect(${sa.tag},${sb.tag})` })\n },\n sectionByPlane: (shape, _point, _normal) => {\n // Mock approximation: section curves keep the input bbox as a wire-ish record.\n const s = need(shape, 'sectionByPlane')\n return [alloc({ kind: 'wire', bbox: { ...s.bbox }, tag: `sectionByPlane(${s.tag})` })]\n },\n splitByPlane: (shape, _point, _normal) => {\n // Mock approximation: two halves share the input bbox (no real cut).\n const s = need(shape, 'splitByPlane')\n return {\n positive: alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `splitByPlane+(${s.tag})` }),\n negative: alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `splitByPlane-(${s.tag})` }),\n }\n },\n fuseAll: (shapesIn) => {\n let bbox: BrepBoundingBox | null = null\n let tag = 'fuseAll('\n for (const s of shapesIn) {\n const rec = need(s, 'fuseAll')\n bbox = bbox ? mergeBbox(bbox, rec.bbox) : { ...rec.bbox }\n tag += `${rec.tag},`\n }\n return alloc({ kind: 'solid', bbox: bbox ?? bboxOf('solid', [0, 0, 0]), tag: `${tag})` })\n },\n\n // ── 变换 ──\n translate: (shape, dx, dy, dz) => {\n const s = need(shape, 'translate')\n return alloc({\n kind: 'solid',\n bbox: {\n xmin: s.bbox.xmin + dx, ymin: s.bbox.ymin + dy, zmin: s.bbox.zmin + dz,\n xmax: s.bbox.xmax + dx, ymax: s.bbox.ymax + dy, zmax: s.bbox.zmax + dz,\n },\n tag: `translate(${s.tag},${dx},${dy},${dz})`,\n })\n },\n scale: (shape, _center, factor) => {\n const s = need(shape, 'scale')\n return alloc({ kind: 'solid', bbox: {\n xmin: s.bbox.xmin * factor, ymin: s.bbox.ymin * factor, zmin: s.bbox.zmin * factor,\n xmax: s.bbox.xmax * factor, ymax: s.bbox.ymax * factor, zmax: s.bbox.zmax * factor,\n }, tag: `scale(${s.tag},${factor})` })\n },\n transform: (shape, _matrix) => {\n const s = need(shape, 'transform')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `transform(${s.tag})` })\n },\n located: (shape, _matrix) => {\n const s = need(shape, 'located')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `located(${s.tag})` })\n },\n generalTransform: (shape, _matrix) => {\n const s = need(shape, 'generalTransform')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `generalTransform(${s.tag})` })\n },\n copy: (shape) => {\n const s = need(shape, 'copy')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `copy(${s.tag})` })\n },\n\n // ── 阵列(Phase 2 接口新增;mock 只重打标签/复制,不做真几何) ──\n linearPattern: (shape, direction, spacing, count) => {\n const s = need(shape, 'linearPattern')\n const list: BrepHandle[] = []\n for (let i = 0; i < count; i++) {\n list.push(alloc({\n kind: 'solid',\n bbox: {\n xmin: s.bbox.xmin + direction.x * spacing * i, ymin: s.bbox.ymin + direction.y * spacing * i, zmin: s.bbox.zmin + direction.z * spacing * i,\n xmax: s.bbox.xmax + direction.x * spacing * i, ymax: s.bbox.ymax + direction.y * spacing * i, zmax: s.bbox.zmax + direction.z * spacing * i,\n },\n tag: `linearPattern(${s.tag},${i})`,\n }))\n }\n return list\n },\n circularPattern: (shape, _center, _axis, _angleStep, _count) => {\n const s = need(shape, 'circularPattern')\n return [alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `circularPattern(${s.tag})` })]\n },\n gridPattern: (shape, directionX, directionY, spacingX, spacingY, countX, countY) => {\n const s = need(shape, 'gridPattern')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `gridPattern(${s.tag},${countX}x${countY})` })\n },\n\n // ── 曲线构造 ──\n makeLineEdge: (start, end) => alloc({ kind: 'edge',\n bbox: {\n xmin: Math.min(start.x, end.x), ymin: Math.min(start.y, end.y), zmin: Math.min(start.z, end.z),\n xmax: Math.max(start.x, end.x), ymax: Math.max(start.y, end.y), zmax: Math.max(start.z, end.z),\n },\n tag: `line(${start.x},${start.y},${start.z})→(${end.x},${end.y},${end.z})` }),\n makeArcEdge: (start, mid, end) => {\n const xs = [start.x, mid.x, end.x]\n const ys = [start.y, mid.y, end.y]\n const zs = [start.z, mid.z, end.z]\n return alloc({ kind: 'edge', bbox: {\n xmin: Math.min(...xs), ymin: Math.min(...ys), zmin: Math.min(...zs),\n xmax: Math.max(...xs), ymax: Math.max(...ys), zmax: Math.max(...zs),\n }, tag: `arc` })\n },\n makeBezierEdge: () => alloc({ kind: 'edge', bbox: bboxOf('edge', [1, 1, 1]), tag: 'bezier' }),\n makeBSplineEdge: (poles) => {\n // Bbox from the control polygon (a superset of a Bézier's hull; exact for\n // the shape's own bbox purposes and good enough for the mock's role as a\n // call-sequence recorder).\n const xs: number[] = []\n const ys: number[] = []\n const zs: number[] = []\n for (let i = 0; i + 2 < poles.length; i += 3) {\n xs.push(poles[i]!)\n ys.push(poles[i + 1]!)\n zs.push(poles[i + 2]!)\n }\n return alloc({\n kind: 'edge',\n bbox: xs.length > 0\n ? { xmin: Math.min(...xs), ymin: Math.min(...ys), zmin: Math.min(...zs), xmax: Math.max(...xs), ymax: Math.max(...ys), zmax: Math.max(...zs) }\n : bboxOf('edge', [1, 1, 1]),\n tag: 'bspline',\n })\n },\n curveSplit: (edge) => {\n const e = need(edge, 'curveSplit')\n return [\n alloc({ kind: 'edge', bbox: { ...e.bbox }, tag: `splitA(#${edge})` }),\n alloc({ kind: 'edge', bbox: { ...e.bbox }, tag: `splitB(#${edge})` }),\n ]\n },\n makeCircleEdge: (center, _normal, radius) => alloc({ kind: 'edge', bbox: bboxOf('edge', [radius * 2, radius * 2, 0]), tag: `circle(${center.x},${center.y},${center.z},r=${radius})` }),\n\n // ── 拓扑构造 ──\n makeWire: (edges) => alloc({ kind: 'wire', bbox: edges.length > 0 ? { ...need(edges[0], 'makeWire').bbox } : bboxOf('wire', [0, 0, 0]), tag: `wire(${edges.length})` }),\n makeFace: (wire) => alloc({ kind: 'face', bbox: { ...need(wire, 'makeFace').bbox }, tag: `face(#${wire})` }),\n makeCompound: (parts) => {\n let bbox: BrepBoundingBox | null = null\n for (const p of parts) {\n const rec = need(p, 'makeCompound')\n bbox = bbox ? mergeBbox(bbox, rec.bbox) : { ...rec.bbox }\n }\n return alloc({ kind: 'compound', bbox: bbox ?? bboxOf('compound', [0, 0, 0]), tag: `compound(${parts.length})` })\n },\n\n buildTriFace: () => alloc({ kind: 'face', bbox: bboxOf('face', [1, 1, 0]), tag: 'triFace' }),\n addHolesInFace: (face) => alloc({ kind: 'face', bbox: { ...need(face, 'addHolesInFace').bbox }, tag: `holedFace(#${face})` }),\n\n // ── 三角化(BREP→mesh 唯一出口) ──\n meshShape: () => unitBoxMesh(),\n wireframe: (): BrepEdgeData => ({ points: new Float32Array(0), edgeGroups: new Int32Array(0), pointCount: 0, edgeCount: 0 }),\n\n // ── 拓扑查询 ──\n getSubShapes: () => [],\n subShapeHashes: () => [],\n hashCode: (shape) => shape % 2147483647,\n isSame: (a, b) => a === b,\n isSolid: () => true,\n shapeType: () => 'SOLID',\n shapeOrientation: () => 'forward',\n edgeToFaceMap: () => ({}),\n adjacentFaces: () => [],\n sharedEdges: () => [],\n\n // ── 几何求值 ──\n curveType: () => 'line',\n curvePointAtParam: () => ({ x: 0, y: 0, z: 0 }),\n curveTangent: () => ({ x: 1, y: 0, z: 0 }),\n curveParameters: (): BrepCurveParameters => ({ first: 0, last: 1 }),\n curveIsClosed: () => false,\n curveLength: () => 0,\n surfaceType: () => 'plane',\n surfaceNormal: () => ({ x: 0, y: 0, z: 1 }),\n pointOnSurface: () => ({ x: 0, y: 0, z: 0 }),\n uvBounds: (): BrepUvBounds => ({ uMin: 0, uMax: 1, vMin: 0, vMax: 1 }),\n getFaceCylinderData: () => null,\n getNurbsCurveData: () => null,\n interpolatePoints: () => alloc({ kind: 'edge', bbox: bboxOf('edge', [1, 1, 1]), tag: 'interpolatePoints' }),\n defeature: (shape) => { need(shape, 'defeature'); return shape },\n draft: (shape) => { need(shape, 'draft'); return shape },\n removeHolesFromFace: (face) => { need(face, 'removeHolesFromFace'); return face },\n reverseShape: (shape) => { need(shape, 'reverseShape'); return shape },\n projectEdges: () => unsupported('projectEdges'),\n\n // ── 测量 ──\n getBoundingBox: (shape) => ({ ...need(shape, 'getBoundingBox').bbox }),\n getVolume: (shape) => {\n const b = need(shape, 'getVolume').bbox\n return (b.xmax - b.xmin) * (b.ymax - b.ymin) * (b.zmax - b.zmin)\n },\n getCenterOfMass: (shape) => {\n const b = need(shape, 'getCenterOfMass').bbox\n return { x: (b.xmin + b.xmax) / 2, y: (b.ymin + b.ymax) / 2, z: (b.zmin + b.zmax) / 2 }\n },\n getSurfaceArea: () => 0,\n getLength: () => 0,\n\n // ── 校验与修复 ──\n isValid: () => true,\n unifySameDomain: (shape) => shape,\n healSolid: (shape) => shape,\n fixShape: (shape) => shape,\n fixFaceOrientations: (shape) => shape,\n removeDegenerateEdges: (shape) => shape,\n\n // ── IO ──\n importStep: () => alloc({ kind: 'solid', bbox: bboxOf('solid', [10, 10, 10]), tag: 'importStep(mock)' }),\n exportStep: (shape) => {\n const s = need(shape, 'exportStep')\n return `brep-mock-engine STEP (mock)\\nshape #${shape}: ${s.tag}\\nFILE_DESCRIPTION((\"brep-mock-engine\"), \"2;1\");`\n },\n importStl: () => alloc({ kind: 'solid', bbox: bboxOf('solid', [10, 10, 10]), tag: 'importStl(mock)' }),\n fromBREP: () => alloc({ kind: 'solid', bbox: bboxOf('solid', [10, 10, 10]), tag: 'fromBREP(mock)' }),\n\n // ── 面演化(L1 三员:mock 用底层布尔 + 空 evo) ──\n cutWithHistory: (a, b, _hashes, _upper) => {\n const result = primitives.cut(a, b)\n const evo: BrepEvolutionData = { result, modified: [], generated: [], deleted: [] }\n return evo\n },\n fuseWithHistory: (a, b, _hashes, _upper) => {\n const result = primitives.fuse(a, b)\n const evo: BrepEvolutionData = { result, modified: [], generated: [], deleted: [] }\n return evo\n },\n intersectWithHistory: (a, b, _hashes, _upper) => {\n const result = primitives.intersect(a, b)\n const evo: BrepEvolutionData = { result, modified: [], generated: [], deleted: [] }\n return evo\n },\n\n // ── L1 补齐方法(mock 验证载体——查询类给简单实现,其余明确缺失暴露) ──\n dispose: () => undefined,\n composeTransform: () => unsupported('composeTransform'),\n makeEllipsoid: () => unsupported('makeEllipsoid'),\n makeTorus: () => unsupported('makeTorus'),\n makeVertex: (x, y, z) => alloc({ kind: 'edge', bbox: { xmin: x, ymin: y, zmin: z, xmax: x, ymax: y, zmax: z }, tag: `vertex(${x},${y},${z})` }),\n mirror: (shape) => alloc({ kind: need(shape, 'mirror').kind, bbox: { ...need(shape, 'mirror').bbox }, tag: `mirror(#${shape})` }),\n surfaceCenterOfMass: (shape) => { const b = need(shape, 'surfaceCenterOfMass').bbox; return { x: (b.xmin + b.xmax) / 2, y: (b.ymin + b.ymax) / 2, z: (b.zmin + b.zmax) / 2 } },\n locate: (shape) => alloc({ kind: need(shape, 'locate').kind, bbox: { ...need(shape, 'locate').bbox }, tag: `locate(#${shape})` }),\n copyShape: (shape) => alloc({ kind: need(shape, 'copyShape').kind, bbox: { ...need(shape, 'copyShape').bbox }, tag: `copy(#${shape})` }),\n }\n return primitives\n}\n\n/** Assemble the brep-mock engine (sync registration — no async init). */\nexport function registerBrepMockEngine(): void {\n registerBrepEngine(BREP_MOCK_ENGINE_ID, async (): Promise<BrepEngine> => ({\n id: BREP_MOCK_ENGINE_ID,\n primitives: createBrepMockApi(),\n }))\n}\n\n// §7.8 compile-time guard: createBrepMockApi's return type must satisfy BrepEngineApi.\ntype _AssertBrepMockApi = AssertSatisfiesBrepEngineApi<ReturnType<typeof createBrepMockApi>>\n"]}
1
+ {"version":3,"file":"brep-mock.js","sourceRoot":"","sources":["../../../../src/brep/engine/adapters/brep-mock.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * engine/adapters/memory — 内存模拟 BREP 引擎(第二引擎,引擎切换验证用)\n *\n *\n * 目的:证明「引擎可切换」——不是生产内核,是注册表机制的验证载体。\n * 与 occt 适配器(adapters/occt.ts)同构注册;同一段 faijs 代码在\n * occt / memory 两个引擎下都能执行(构造 → 变换 → 布尔 → 三角化 → 导出),\n * 通过 mock STEP 文本标记区分当前引擎。\n *\n * 实现形态:句柄为自增 number;每条形状记录 { kind, bbox, tag }。\n * 只实现引擎切换测试所需的方法面(原语/变换/布尔/网格化/导出),\n * 其余方法抛「not implemented」——缺失即暴露,绝不伪造(§7.5 语义)。\n */\n\nimport { registerBrepEngine, type BrepEngine } from '../registry'\nimport type {\n BrepBoundingBox,\n BrepCurveParameters,\n BrepEdgeData,\n BrepEvolutionData,\n BrepHandle,\n BrepMeshResult,\n BrepUvBounds,\n\n} from '../types'\nimport type { BrepEngineApi, AssertSatisfiesBrepEngineApi } from '../primitives'\n\n/** brep-mock engine registration id. */\nexport const BREP_MOCK_ENGINE_ID = 'brep_mock'\n\n/** Internal shape record (the \"solid\" of an in-memory mock BREP). */\ninterface MemShape {\n kind: 'box' | 'sphere' | 'cylinder' | 'cone' | 'edge' | 'wire' | 'face' | 'solid' | 'compound'\n /** 轴对齐包围盒(近似真实几何,供 getBoundingBox / 导出用)。 */\n bbox: BrepBoundingBox\n /** 人类可读描述(导出标记用)。 */\n tag: string\n}\n\nfunction bboxOf(kind: MemShape['kind'], size: [number, number, number]): BrepBoundingBox {\n const [x, y, z] = size\n return { xmin: -x / 2, ymin: -y / 2, zmin: -z / 2, xmax: x / 2, ymax: y / 2, zmax: z / 2 }\n}\n\n/** 1×1×1 单位盒三角化(8 顶点 / 12 三角形;memory 引擎的 meshShape 输出)。 */\nconst UNIT_BOX_POSITIONS = new Float32Array([\n -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5,\n -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5,\n])\nconst UNIT_BOX_INDICES = new Uint32Array([\n 0, 2, 1, 0, 3, 2, 4, 5, 6, 4, 6, 7, 0, 1, 5, 0, 5, 4,\n 1, 2, 6, 1, 6, 5, 2, 3, 7, 2, 7, 6, 3, 0, 4, 3, 4, 7,\n])\n\nfunction unitBoxMesh(): BrepMeshResult {\n return {\n positions: new Float32Array(UNIT_BOX_POSITIONS),\n normals: new Float32Array(24), // 占位法线(切换测试不校验法线)\n indices: new Uint32Array(UNIT_BOX_INDICES),\n vertexCount: 8,\n triangleCount: 12,\n }\n}\n\n/**\n * Build an in-memory mock BREP engine (a BrepEngineApi subset).\n * @returns the mock in-memory BREP engine API.\n */\nexport function createBrepMockApi(): BrepEngineApi {\n const shapes = new Map<number, MemShape>()\n let nextHandle = 1\n\n const alloc = (shape: MemShape): BrepHandle => {\n const h = nextHandle as BrepHandle\n nextHandle += 1\n shapes.set(h, shape)\n return h\n }\n\n const need = (h: BrepHandle, method: string): MemShape => {\n const s = shapes.get(h)\n if (!s) throw new Error(`[brep-mock-engine] ${method}: unknown handle ${h}`)\n return s\n }\n\n const unsupported = (method: string): never => {\n throw new Error(`[brep-mock-engine] ${method}() not implemented — engine-switch test only`)\n }\n\n /** 布尔合并 bbox(fuse/cut/common 的近似包围盒)。 */\n const mergeBbox = (a: BrepBoundingBox, b: BrepBoundingBox): BrepBoundingBox => ({\n xmin: Math.min(a.xmin, b.xmin),\n ymin: Math.min(a.ymin, b.ymin),\n zmin: Math.min(a.zmin, b.zmin),\n xmax: Math.max(a.xmax, b.xmax),\n ymax: Math.max(a.ymax, b.ymax),\n zmax: Math.max(a.zmax, b.zmax),\n })\n\n\n const primitive = (\n kind: MemShape['kind'],\n size: [number, number, number],\n tag: string,\n ): BrepHandle => alloc({ kind, bbox: bboxOf(kind, size), tag })\n\n const primitives: BrepEngineApi = {\n // ── 生命周期 ──\n release: () => undefined,\n\n // ── 实体图元 ──\n makeBox: (dx, dy, dz) => primitive('box', [dx, dy, dz], `box ${dx}x${dy}x${dz}`),\n makeBoxFromCorners: (c1, c2) => primitive('box',\n [Math.abs(c2.x - c1.x), Math.abs(c2.y - c1.y), Math.abs(c2.z - c1.z)],\n `box (${c1.x},${c1.y},${c1.z})→(${c2.x},${c2.y},${c2.z})`),\n makeCylinder: (radius, height) => primitive('cylinder', [radius * 2, radius * 2, height], `cylinder r=${radius} h=${height}`),\n makeSphere: (radius) => primitive('sphere', [radius * 2, radius * 2, radius * 2], `sphere r=${radius}`),\n makeCone: (r1, r2, height) => primitive('cone', [Math.max(r1, r2) * 2, Math.max(r1, r2) * 2, height], `cone r1=${r1} r2=${r2} h=${height}`),\n makeRectangle: (width, height) => primitive('face', [width, height, 0], `rectangle ${width}x${height}`),\n\n // ── 造型运算 ──\n extrude: (shape, dx, dy, dz) => {\n const s = need(shape, 'extrude')\n return alloc({ kind: 'solid', bbox: { ...s.bbox, xmax: s.bbox.xmax + dx, ymax: s.bbox.ymax + dy, zmax: s.bbox.zmax + dz }, tag: `extrude(${s.tag})` })\n },\n revolveVec: (shape, _center, direction, angleDeg) => {\n // Mock approximation: revolve grows the bbox by sweeping the profile's\n // extent around the axis — approximate with the direction-scaled extent\n // (signature-level coverage only, like extrude above).\n const s = need(shape, 'revolveVec')\n const grow = (Math.abs(angleDeg) / 360) * Math.hypot(direction.x, direction.y, direction.z) * 2\n return alloc({\n kind: 'solid',\n bbox: {\n xmin: s.bbox.xmin - grow, ymin: s.bbox.ymin - grow, zmin: s.bbox.zmin,\n xmax: s.bbox.xmax + grow, ymax: s.bbox.ymax + grow, zmax: s.bbox.zmax,\n },\n tag: `revolveVec(${s.tag},a=${angleDeg})`,\n })\n },\n sweep: (profile, spine) => {\n // Mock approximation: the swept body spans the profile and the spine's\n // bbox (signature-level coverage only, like extrude/revolveVec above).\n const p = need(profile, 'sweep')\n const sp = need(spine, 'sweep')\n return alloc({\n kind: 'solid',\n bbox: mergeBbox({ ...p.bbox }, sp.bbox),\n tag: `sweep(${p.tag},${sp.tag})`,\n })\n },\n loft: (sections, ruled, endPoint) => {\n let bbox: BrepBoundingBox | null = null\n for (const h of sections) {\n const rec = need(h, 'loft')\n bbox = bbox ? mergeBbox(bbox, rec.bbox) : { ...rec.bbox }\n }\n if (bbox === null) return unsupported('loft: empty sections')\n if (endPoint !== undefined) {\n bbox = mergeBbox(bbox, { xmin: endPoint.x, ymin: endPoint.y, zmin: endPoint.z, xmax: endPoint.x, ymax: endPoint.y, zmax: endPoint.z })\n }\n return alloc({ kind: 'solid', bbox, tag: `loft(n=${sections.length},ruled=${ruled})` })\n },\n sew: (shapesIn, _tolerance) => {\n // Mock approximation: merge the parts' bboxes into one shell-ish solid.\n let bbox: BrepBoundingBox | null = null\n let tag = 'sew('\n for (const h of shapesIn) {\n const rec = need(h, 'sew')\n bbox = bbox ? mergeBbox(bbox, rec.bbox) : { ...rec.bbox }\n tag += `${rec.tag},`\n }\n return alloc({ kind: 'solid', bbox: bbox ?? bboxOf('solid', [0, 0, 0]), tag: `${tag})` })\n },\n sewAndSolidify: () => alloc({ kind: 'solid', bbox: bboxOf('solid', [1, 1, 1]), tag: 'sewAndSolidify' }),\n shell: (solid, _facesToRemove, thickness, _tolerance) => {\n // Mock approximation: shelling keeps the outer bbox and marks it hollow.\n const s = need(solid, 'shell')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `shell(${s.tag},t=${thickness})` })\n },\n hullFromPoints: (points, _tolerance) => {\n // Mock approximation: bbox of the point set as a solid.\n if (points.length === 0) return unsupported('hullFromPoints: empty point set')\n let xmin = Infinity, ymin = Infinity, zmin = Infinity\n let xmax = -Infinity, ymax = -Infinity, zmax = -Infinity\n for (const p of points) {\n xmin = Math.min(xmin, p.x); ymin = Math.min(ymin, p.y); zmin = Math.min(zmin, p.z)\n xmax = Math.max(xmax, p.x); ymax = Math.max(ymax, p.y); zmax = Math.max(zmax, p.z)\n }\n return alloc({ kind: 'solid', bbox: { xmin, ymin, zmin, xmax, ymax, zmax }, tag: `hullFromPoints(n=${points.length})` })\n },\n\n // ── 倒角与圆角(mock:只重打标签/复制,不做真几何;引擎切换测试覆盖签名面) ──\n chamfer: (solid, edges, distance) => {\n const s = need(solid, 'chamfer')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `chamfer(${s.tag},d=${distance},e=${edges.length})` })\n },\n chamferDistAngle: (solid, edges, distance, angleDeg) => {\n const s = need(solid, 'chamferDistAngle')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `chamferDA(${s.tag},d=${distance},a=${angleDeg},e=${edges.length})` })\n },\n fillet: (solid, edges, radius) => {\n const s = need(solid, 'fillet')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `fillet(${s.tag},r=${radius},e=${edges.length})` })\n },\n filletVariable: (solid, edge, startRadius, endRadius) => {\n const s = need(solid, 'filletVariable')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `filletVar(${s.tag},r=${startRadius}-${endRadius},e=1)` })\n },\n filletWithHistory: (solid, edges, radius, _hashes, _upper) => {\n const s = need(solid, 'filletWithHistory')\n const result = alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `filletWH(${s.tag},r=${radius},e=${edges.length})` })\n const evo: BrepEvolutionData = { result, modified: [], generated: [], deleted: [] }\n return evo\n },\n\n // ── 布尔与分割 ──\n fuse: (a, b) => {\n const sa = need(a, 'fuse')\n const sb = need(b, 'fuse')\n return alloc({ kind: 'solid', bbox: mergeBbox(sa.bbox, sb.bbox), tag: `fuse(${sa.tag},${sb.tag})` })\n },\n cut: (a, b) => {\n const sa = need(a, 'cut')\n return alloc({ kind: 'solid', bbox: { ...sa.bbox }, tag: `cut(${sa.tag},#${b})` })\n },\n common: (a, b) => {\n const sa = need(a, 'common')\n const sb = need(b, 'common')\n return alloc({ kind: 'solid', bbox: mergeBbox(sa.bbox, sb.bbox), tag: `common(${sa.tag},${sb.tag})` })\n },\n intersect: (a, b) => {\n const sa = need(a, 'intersect')\n const sb = need(b, 'intersect')\n return alloc({ kind: 'solid', bbox: mergeBbox(sa.bbox, sb.bbox), tag: `intersect(${sa.tag},${sb.tag})` })\n },\n sectionByPlane: (shape, _point, _normal) => {\n // Mock approximation: section curves keep the input bbox as a wire-ish record.\n const s = need(shape, 'sectionByPlane')\n return [alloc({ kind: 'wire', bbox: { ...s.bbox }, tag: `sectionByPlane(${s.tag})` })]\n },\n splitByPlane: (shape, _point, _normal) => {\n // Mock approximation: two halves share the input bbox (no real cut).\n const s = need(shape, 'splitByPlane')\n return {\n positive: alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `splitByPlane+(${s.tag})` }),\n negative: alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `splitByPlane-(${s.tag})` }),\n }\n },\n fuseAll: (shapesIn) => {\n let bbox: BrepBoundingBox | null = null\n let tag = 'fuseAll('\n for (const s of shapesIn) {\n const rec = need(s, 'fuseAll')\n bbox = bbox ? mergeBbox(bbox, rec.bbox) : { ...rec.bbox }\n tag += `${rec.tag},`\n }\n return alloc({ kind: 'solid', bbox: bbox ?? bboxOf('solid', [0, 0, 0]), tag: `${tag})` })\n },\n\n // ── 变换 ──\n translate: (shape, dx, dy, dz) => {\n const s = need(shape, 'translate')\n return alloc({\n kind: 'solid',\n bbox: {\n xmin: s.bbox.xmin + dx, ymin: s.bbox.ymin + dy, zmin: s.bbox.zmin + dz,\n xmax: s.bbox.xmax + dx, ymax: s.bbox.ymax + dy, zmax: s.bbox.zmax + dz,\n },\n tag: `translate(${s.tag},${dx},${dy},${dz})`,\n })\n },\n scale: (shape, _center, factor) => {\n const s = need(shape, 'scale')\n return alloc({ kind: 'solid', bbox: {\n xmin: s.bbox.xmin * factor, ymin: s.bbox.ymin * factor, zmin: s.bbox.zmin * factor,\n xmax: s.bbox.xmax * factor, ymax: s.bbox.ymax * factor, zmax: s.bbox.zmax * factor,\n }, tag: `scale(${s.tag},${factor})` })\n },\n transform: (shape, _matrix) => {\n const s = need(shape, 'transform')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `transform(${s.tag})` })\n },\n located: (shape, _matrix) => {\n const s = need(shape, 'located')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `located(${s.tag})` })\n },\n generalTransform: (shape, _matrix) => {\n const s = need(shape, 'generalTransform')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `generalTransform(${s.tag})` })\n },\n copy: (shape) => {\n const s = need(shape, 'copy')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `copy(${s.tag})` })\n },\n\n // ── 阵列(Phase 2 接口新增;mock 只重打标签/复制,不做真几何) ──\n linearPattern: (shape, direction, spacing, count) => {\n const s = need(shape, 'linearPattern')\n const list: BrepHandle[] = []\n for (let i = 0; i < count; i++) {\n list.push(alloc({\n kind: 'solid',\n bbox: {\n xmin: s.bbox.xmin + direction.x * spacing * i, ymin: s.bbox.ymin + direction.y * spacing * i, zmin: s.bbox.zmin + direction.z * spacing * i,\n xmax: s.bbox.xmax + direction.x * spacing * i, ymax: s.bbox.ymax + direction.y * spacing * i, zmax: s.bbox.zmax + direction.z * spacing * i,\n },\n tag: `linearPattern(${s.tag},${i})`,\n }))\n }\n return list\n },\n circularPattern: (shape, _center, _axis, _angleStep, _count) => {\n const s = need(shape, 'circularPattern')\n return [alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `circularPattern(${s.tag})` })]\n },\n gridPattern: (shape, directionX, directionY, spacingX, spacingY, countX, countY) => {\n const s = need(shape, 'gridPattern')\n return alloc({ kind: 'solid', bbox: { ...s.bbox }, tag: `gridPattern(${s.tag},${countX}x${countY})` })\n },\n\n // ── 曲线构造 ──\n makeLineEdge: (start, end) => alloc({ kind: 'edge',\n bbox: {\n xmin: Math.min(start.x, end.x), ymin: Math.min(start.y, end.y), zmin: Math.min(start.z, end.z),\n xmax: Math.max(start.x, end.x), ymax: Math.max(start.y, end.y), zmax: Math.max(start.z, end.z),\n },\n tag: `line(${start.x},${start.y},${start.z})→(${end.x},${end.y},${end.z})` }),\n makeArcEdge: (start, mid, end) => {\n const xs = [start.x, mid.x, end.x]\n const ys = [start.y, mid.y, end.y]\n const zs = [start.z, mid.z, end.z]\n return alloc({ kind: 'edge', bbox: {\n xmin: Math.min(...xs), ymin: Math.min(...ys), zmin: Math.min(...zs),\n xmax: Math.max(...xs), ymax: Math.max(...ys), zmax: Math.max(...zs),\n }, tag: `arc` })\n },\n makeBezierEdge: () => alloc({ kind: 'edge', bbox: bboxOf('edge', [1, 1, 1]), tag: 'bezier' }),\n makeBSplineEdge: (poles) => {\n // Bbox from the control polygon (a superset of a Bézier's hull; exact for\n // the shape's own bbox purposes and good enough for the mock's role as a\n // call-sequence recorder).\n const xs: number[] = []\n const ys: number[] = []\n const zs: number[] = []\n for (let i = 0; i + 2 < poles.length; i += 3) {\n xs.push(poles[i]!)\n ys.push(poles[i + 1]!)\n zs.push(poles[i + 2]!)\n }\n return alloc({\n kind: 'edge',\n bbox: xs.length > 0\n ? { xmin: Math.min(...xs), ymin: Math.min(...ys), zmin: Math.min(...zs), xmax: Math.max(...xs), ymax: Math.max(...ys), zmax: Math.max(...zs) }\n : bboxOf('edge', [1, 1, 1]),\n tag: 'bspline',\n })\n },\n curveSplit: (edge) => {\n const e = need(edge, 'curveSplit')\n return [\n alloc({ kind: 'edge', bbox: { ...e.bbox }, tag: `splitA(#${edge})` }),\n alloc({ kind: 'edge', bbox: { ...e.bbox }, tag: `splitB(#${edge})` }),\n ]\n },\n makeCircleEdge: (center, _normal, radius) => alloc({ kind: 'edge', bbox: bboxOf('edge', [radius * 2, radius * 2, 0]), tag: `circle(${center.x},${center.y},${center.z},r=${radius})` }),\n\n // ── 拓扑构造 ──\n makeWire: (edges) => alloc({ kind: 'wire', bbox: edges.length > 0 ? { ...need(edges[0], 'makeWire').bbox } : bboxOf('wire', [0, 0, 0]), tag: `wire(${edges.length})` }),\n makeFace: (wire) => alloc({ kind: 'face', bbox: { ...need(wire, 'makeFace').bbox }, tag: `face(#${wire})` }),\n makeCompound: (parts) => {\n let bbox: BrepBoundingBox | null = null\n for (const p of parts) {\n const rec = need(p, 'makeCompound')\n bbox = bbox ? mergeBbox(bbox, rec.bbox) : { ...rec.bbox }\n }\n return alloc({ kind: 'compound', bbox: bbox ?? bboxOf('compound', [0, 0, 0]), tag: `compound(${parts.length})` })\n },\n\n buildTriFace: () => alloc({ kind: 'face', bbox: bboxOf('face', [1, 1, 0]), tag: 'triFace' }),\n addHolesInFace: (face) => alloc({ kind: 'face', bbox: { ...need(face, 'addHolesInFace').bbox }, tag: `holedFace(#${face})` }),\n\n // ── 三角化(BREP→mesh 唯一出口) ──\n meshShape: () => unitBoxMesh(),\n wireframe: (): BrepEdgeData => ({ points: new Float32Array(0), edgeGroups: new Int32Array(0), pointCount: 0, edgeCount: 0 }),\n\n // ── 拓扑查询 ──\n getSubShapes: () => [],\n subShapeHashes: () => [],\n hashCode: (shape) => shape % 2147483647,\n isSame: (a, b) => a === b,\n isSolid: () => true,\n shapeType: () => 'SOLID',\n shapeOrientation: () => 'forward',\n edgeToFaceMap: () => ({}),\n adjacentFaces: () => [],\n sharedEdges: () => [],\n\n // ── 几何求值 ──\n curveType: () => 'line',\n curvePointAtParam: () => ({ x: 0, y: 0, z: 0 }),\n curveTangent: () => ({ x: 1, y: 0, z: 0 }),\n curveParameters: (): BrepCurveParameters => ({ first: 0, last: 1 }),\n curveIsClosed: () => false,\n curveLength: () => 0,\n surfaceType: () => 'plane',\n surfaceNormal: () => ({ x: 0, y: 0, z: 1 }),\n pointOnSurface: () => ({ x: 0, y: 0, z: 0 }),\n uvBounds: (): BrepUvBounds => ({ uMin: 0, uMax: 1, vMin: 0, vMax: 1 }),\n getFaceCylinderData: () => null,\n getNurbsCurveData: () => null,\n interpolatePoints: () => alloc({ kind: 'edge', bbox: bboxOf('edge', [1, 1, 1]), tag: 'interpolatePoints' }),\n defeature: (shape) => { need(shape, 'defeature'); return shape },\n draft: (shape) => { need(shape, 'draft'); return shape },\n removeHolesFromFace: (face) => { need(face, 'removeHolesFromFace'); return face },\n reverseShape: (shape) => { need(shape, 'reverseShape'); return shape },\n projectEdges: () => unsupported('projectEdges'),\n\n // ── 测量 ──\n getBoundingBox: (shape) => ({ ...need(shape, 'getBoundingBox').bbox }),\n getVolume: (shape) => {\n const b = need(shape, 'getVolume').bbox\n return (b.xmax - b.xmin) * (b.ymax - b.ymin) * (b.zmax - b.zmin)\n },\n getCenterOfMass: (shape) => {\n const b = need(shape, 'getCenterOfMass').bbox\n return { x: (b.xmin + b.xmax) / 2, y: (b.ymin + b.ymax) / 2, z: (b.zmin + b.zmax) / 2 }\n },\n getSurfaceArea: () => 0,\n getLength: () => 0,\n\n // ── 校验与修复 ──\n isValid: () => true,\n unifySameDomain: (shape) => shape,\n healSolid: (shape) => shape,\n fixShape: (shape) => shape,\n fixFaceOrientations: (shape) => shape,\n removeDegenerateEdges: (shape) => shape,\n\n // ── IO ──\n importStep: () => alloc({ kind: 'solid', bbox: bboxOf('solid', [10, 10, 10]), tag: 'importStep(mock)' }),\n exportStep: (shape) => {\n const s = need(shape, 'exportStep')\n return `brep-mock-engine STEP (mock)\\nshape #${shape}: ${s.tag}\\nFILE_DESCRIPTION((\"brep-mock-engine\"), \"2;1\");`\n },\n importStl: () => alloc({ kind: 'solid', bbox: bboxOf('solid', [10, 10, 10]), tag: 'importStl(mock)' }),\n fromBREP: () => alloc({ kind: 'solid', bbox: bboxOf('solid', [10, 10, 10]), tag: 'fromBREP(mock)' }),\n\n // ── 面演化(L1 三员:mock 用底层布尔 + 空 evo) ──\n cutWithHistory: (a, b, _hashes, _upper) => {\n const result = primitives.cut(a, b)\n const evo: BrepEvolutionData = { result, modified: [], generated: [], deleted: [] }\n return evo\n },\n fuseWithHistory: (a, b, _hashes, _upper) => {\n const result = primitives.fuse(a, b)\n const evo: BrepEvolutionData = { result, modified: [], generated: [], deleted: [] }\n return evo\n },\n intersectWithHistory: (a, b, _hashes, _upper) => {\n const result = primitives.intersect(a, b)\n const evo: BrepEvolutionData = { result, modified: [], generated: [], deleted: [] }\n return evo\n },\n\n // ── L1 补齐方法(mock 验证载体——查询类给简单实现,其余明确缺失暴露) ──\n dispose: () => undefined,\n composeTransform: () => unsupported('composeTransform'),\n makeEllipsoid: () => unsupported('makeEllipsoid'),\n makeTorus: () => unsupported('makeTorus'),\n makeVertex: (x, y, z) => alloc({ kind: 'edge', bbox: { xmin: x, ymin: y, zmin: z, xmax: x, ymax: y, zmax: z }, tag: `vertex(${x},${y},${z})` }),\n mirror: (shape) => alloc({ kind: need(shape, 'mirror').kind, bbox: { ...need(shape, 'mirror').bbox }, tag: `mirror(#${shape})` }),\n surfaceCenterOfMass: (shape) => { const b = need(shape, 'surfaceCenterOfMass').bbox; return { x: (b.xmin + b.xmax) / 2, y: (b.ymin + b.ymax) / 2, z: (b.zmin + b.zmax) / 2 } },\n locate: (shape) => alloc({ kind: need(shape, 'locate').kind, bbox: { ...need(shape, 'locate').bbox }, tag: `locate(#${shape})` }),\n copyShape: (shape) => alloc({ kind: need(shape, 'copyShape').kind, bbox: { ...need(shape, 'copyShape').bbox }, tag: `copy(#${shape})` }),\n }\n return primitives\n}\n\n/** Assemble the brep-mock engine (sync registration — no async init). */\nexport function registerBrepMockEngine(): void {\n registerBrepEngine(BREP_MOCK_ENGINE_ID, async (): Promise<BrepEngine> => ({\n id: BREP_MOCK_ENGINE_ID,\n primitives: createBrepMockApi(),\n }))\n}\n\n// §7.8 compile-time guard: createBrepMockApi's return type must satisfy BrepEngineApi.\ntype _AssertBrepMockApi = AssertSatisfiesBrepEngineApi<ReturnType<typeof createBrepMockApi>>\n"]}
@@ -38,6 +38,36 @@ export interface BrepEngineApi {
38
38
  extrude(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle;
39
39
  /** 旋转挤出(绕过 center、方向 direction 的轴,angle 为度;输入需 face,brepkit 方言断言同 extrude)。 */
40
40
  revolveVec(shape: BrepHandle, center: BrepVec3, direction: BrepVec3, angleDeg: number): BrepHandle;
41
+ /**
42
+ * 扫掠(基础):闭合截面沿路径脊柱蒙皮成体。
43
+ *
44
+ * 中立语义 = 两内核交集:`profile` 是**闭合**截面(face;wire 由适配器升 face),
45
+ * `spine` 是路径(wire)。无过渡模式 / 引导线 / 缩放律 / 参考系选择 —— 那些
46
+ * 只有 occt 能做,归 `cad.sweepAdvanced`;基础 op 静默分叉比报错更危险。
47
+ *
48
+ * - occt 适配器映射原生 `sweepPipeShell`(补两个默认开关 false;**不用**
49
+ * `simplePipe`:实测那条约 8×8 方截面沿 +Z 扫 50 的用例,`simplePipe` 产出
50
+ * 体积 2133.33,`sweepPipeShell` 为解析值 3200 —— 真值断言在
51
+ * `test/api/sweep-loft.test.ts`);
52
+ * - brepkit 适配器把 spine 折线采样 → `interpolatePoints` 拟合 NURBS →
53
+ * `getEdgeNurbsData` 拆 `(degree, knots, controlPoints, weights)` → `kernel.sweep`。
54
+ *
55
+ * ⚠️ 两内核在非平面路径上的截面参考系算法不同(RMF 细节),产物可能有细微差别;
56
+ * 需要确定性行为时用 `cad.sweepAdvanced`(occt)。
57
+ */
58
+ sweep(profile: BrepHandle, spine: BrepHandle): BrepHandle;
59
+ /**
60
+ * 放样(基础):多截面按序蒙皮成体。
61
+ *
62
+ * `sections` 是面或闭合 wire(面取外环);`ruled` 直线插值;`endPoint` 终点退化收口。
63
+ *
64
+ * - occt 适配器映射原生 `loft`(`endPoint` 经 `loftWithVertices` 退化段);
65
+ * - brepkit 适配器 `wire → face` 后用 `loft` / `loftSmooth`(`endPoint` 走 `loftWithOptions`),
66
+ * 并要求各截面**顶点数一致** —— 不一致在执行前报 `E_LOFT_SECTION_MISMATCH`(不静默降级)。
67
+ *
68
+ * `startPoint`(起点退化)与 `tolerance` 只有 occt 有 → 归 `cad.loftAdvanced`。
69
+ */
70
+ loft(sections: BrepHandle[], ruled: boolean, endPoint?: BrepVec3): BrepHandle;
41
71
  /** 缝合(tolerance 可选)。 */
42
72
  sew(shapes: BrepHandle[], tolerance?: number): BrepHandle;
43
73
  /** 缝合并固化成实体。 */
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/brep/engine/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/brep/engine/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACT,MAAM,SAAS,CAAA;AAEhB;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAE5B,+BAA+B;IAC/B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC,2CAA2C;IAC3C,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAGjC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;IACvD,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAA;IACpE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IACxD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC5D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IACxD,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7D,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,CAAA;IAC/D,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAGvD;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;IAC1E,+EAA+E;IAC/E,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;IAClG;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IACzD;;;;;;;;;;OAUG;IACH,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC7E,wBAAwB;IACxB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACzD,gBAAgB;IAChB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACnE,uDAAuD;IACvD,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IACvG,2BAA2B;IAC3B,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IAGjE,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC9C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC7C,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAChD,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IACnD,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IACzC;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,CAAA;IAClF;;;;OAIG;IACH,YAAY,CACV,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,GACf;QAAE,QAAQ,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,CAAA;IAGjD,6DAA6D;IAC7D,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7E;;;OAGG;IACH,gBAAgB,CACd,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GACzE,UAAU,CAAA;IACb,wDAAwD;IACxD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC1E,0EAA0E;IAC1E,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IACvG;;;OAGG;IACH,iBAAiB,CACf,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IASpB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;IAC5E,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IACtE,qCAAqC;IACrC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC1D,uCAAuC;IACvC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IACxD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IACvD,2BAA2B;IAC3B,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IACjE,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IACnC,oBAAoB;IACpB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IACxC,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IACtD,iCAAiC;IACjC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAA;IAIxE,oDAAoD;IACpD,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAAA;IACnG,8CAA8C;IAC9C,eAAe,CACb,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,UAAU,EAAE,CAAA;IACf,qDAAqD;IACrD,WAAW,CACT,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,UAAU,CAAA;IAGb,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAA;IACxD,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAA;IACtE,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IACrD;;;;;;;;;OASG;IACH,eAAe,CACb,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,MAAM,EAAE,EACf,cAAc,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,UAAU,CAAA;IACb,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC9E;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAGrE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;IACtC,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAC9C,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IACrE,gBAAgB;IAChB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAG/D,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAAA;IAC7E,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IAG/D,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAAA;IACrE,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3F,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IACvD,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;IAC7C,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAA;IACnC;sDACkD;IAClD,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IACpC,gFAAgF;IAChF,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IAC3C,2BAA2B;IAC3B,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAA;IACzC,2DAA2D;IAC3D,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IAChE,cAAc;IACd,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IAGvD,wCAAwC;IACxC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;IACnC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC5D,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IACvD,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,CAAA;IACtD,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;IACrC,0CAA0C;IAC1C,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;IACrC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC/D,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAChE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAA;IACxC,YAAY;IACZ,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAA;IAC/C,6CAA6C;IAC7C,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAChE;;;;;;;;;OASG;IACH,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAA;IAC9D,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAEjE,kBAAkB;IAClB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAC7D,UAAU;IACV,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;IAC9G,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;IACjD,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IAC3C,uBAAuB;IACvB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;IAG1I,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;IAC9E,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IACpC,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAA;IAC5C,4DAA4D;IAC5D,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IACzC,uEAAuE;IACvE,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IAGpC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAA;IACnC,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IAC9C,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAC5D,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IACvC,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IAClD,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAGxE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAClD,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IACrC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;IAGlC,cAAc,CACZ,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,eAAe,CACb,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,oBAAoB,CAClB,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,CAAC,IAAI,SAAS,aAAa,IAAI,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/brep/engine/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG","sourcesContent":["/**\n * engine/primitives — BREP 引擎契约面(port 面,L1 核心面)\n *\n * ⚠️ 2026-09-24 契约面收窄(Phase 2 / D1 / D9 / D10):`BrepEngineApi` 的语义 = **所有已注册 BREP 引擎都真实现的\n * 方法**(occt 与 brepkit 双方语义可对齐的交集面,最大化口径)。判据唯一真源:\n * `api/surface/engine-method-map.json`(status ∈ {aligned, dialect} 的条目)。\n *\n * - 移出 L1 的方法(occt-only 语义)不再有中立名,平台代码直接走原生面:\n * `getOcctKernel()` / `getBrepkitKernel()`(D3),op 侧用 `engines: ['occt']` 声明(D11)。\n * - 禁止任何 `as BrepEngineApi` 跨层断言(守卫见 §5 守卫清单)。\n * - 三个适配器的编译期断言 `_Assert*Api` 由此全部获得真校验力。\n */\n\nimport type {\n BrepBoundingBox,\n BrepCurveParameters,\n BrepEdgeData,\n BrepEvolutionData,\n BrepHandle,\n BrepMeshResult,\n BrepNurbsCurveData,\n BrepSubShapeType,\n BrepTessellateOptions,\n BrepUvBounds,\n BrepVec3,\n} from './types'\n\n/**\n * BREP 引擎原语契约(L1 核心面)。所有句柄参数/返回值均为 BrepHandle(不透明值,§6.3)。\n * 引擎实现(occt/brepkit 适配器)负责内部句柄形态与 BrepHandle 的转换,以及方言消化\n * (如 brepkit surfaceArea → getSurfaceArea,与 matrix 方言的 toKernelMatrix 同构)。\n */\nexport interface BrepEngineApi {\n // ── 生命周期 ──\n /** 手工释放句柄(GC 型引擎实现为 no-op)。 */\n release(shape: BrepHandle): void\n /** 释放内核/句柄(引擎级释放语义;brepkit GC 型 no-op)。 */\n dispose(shape?: BrepHandle): void\n\n // ── 实体图元 ──\n makeBox(dx: number, dy: number, dz: number): BrepHandle\n makeBoxFromCorners(corner1: BrepVec3, corner2: BrepVec3): BrepHandle\n makeCylinder(radius: number, height: number): BrepHandle\n makeSphere(radius: number): BrepHandle\n makeCone(r1: number, r2: number, height: number): BrepHandle\n makeRectangle(width: number, height: number): BrepHandle\n makeEllipsoid(rx: number, ry: number, rz: number): BrepHandle\n makeTorus(majorRadius: number, minorRadius: number): BrepHandle\n makeVertex(x: number, y: number, z: number): BrepHandle\n\n // ── 造型运算 ──\n /**\n * 挤出:`{dx,dy,dz}` 为挤出向量(occt 方言)。\n * brepkit 方言(方向+距离、只吃 face)由适配器归一:`len = |v|`、`dir = v/len`;\n * `len === 0` 抛错;输入不是 face → 报错(显式失败,不静默降级,§3.6-1)。\n */\n extrude(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle\n /** 旋转挤出(绕过 center、方向 direction 的轴,angle 为度;输入需 face,brepkit 方言断言同 extrude)。 */\n revolveVec(shape: BrepHandle, center: BrepVec3, direction: BrepVec3, angleDeg: number): BrepHandle\n /** 缝合(tolerance 可选)。 */\n sew(shapes: BrepHandle[], tolerance?: number): BrepHandle\n /** 缝合并固化成实体。 */\n sewAndSolidify(faces: BrepHandle[], tolerance?: number): BrepHandle\n /** 抽壳(facesToRemove 移除面、thickness 壁厚、tolerance 容差)。 */\n shell(solid: BrepHandle, facesToRemove: BrepHandle[], thickness: number, tolerance: number): BrepHandle\n /** 点集凸包(tolerance 为容差)。 */\n hullFromPoints(points: BrepVec3[], tolerance: number): BrepHandle\n\n // ── 布尔与分割 ──\n fuse(a: BrepHandle, b: BrepHandle): BrepHandle\n cut(a: BrepHandle, b: BrepHandle): BrepHandle\n common(a: BrepHandle, b: BrepHandle): BrepHandle\n intersect(a: BrepHandle, b: BrepHandle): BrepHandle\n fuseAll(shapes: BrepHandle[]): BrepHandle\n /**\n * 平面求交线:solid 与「过 point、法向 normal 的无限平面」的交线(§3.6-2 新中立名)。\n * occt 适配器:大平面 face 作 tool 经原生 section 达成(Phase 1 探针 A 实测可达)。\n * 返回交线/顶点句柄数组(brepkit 返回 Uint32Array 句柄组,occt compound downcast 展开)。\n */\n sectionByPlane(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle[]\n /**\n * 平面二分:把 solid 沿「过 point、法向 normal 的无限平面」切成两半(§3.6-2 新中立名)。\n * occt 适配器:大平面 face 作 tool 经原生 splitter 达成(Phase 1 探针 A 实测,solidCount=2)。\n * 法向正侧 = `positive`(§3.7 返回口径)。\n */\n splitByPlane(\n shape: BrepHandle,\n point: BrepVec3,\n normal: BrepVec3,\n ): { positive: BrepHandle; negative: BrepHandle }\n\n // ── 倒角与圆角(Q7:只对齐等距 + 距角两种粒度)──\n /** 等距倒角:逐边 `BRepFilletAPI_MakeChamfer::Add(distance, E)`。 */\n chamfer(solid: BrepHandle, edges: BrepHandle[], distance: number): BrepHandle\n /**\n * 距角倒角:`AddDA(distance, angleDeg, E, F)`(brepkit 原生 chamferDistanceAngle,方言映射)。\n * ⚠️ F 由内核自选(外层第一个含该边的面),调用方不可指定。\n */\n chamferDistAngle(\n solid: BrepHandle, edges: BrepHandle[], distance: number, angleDeg: number,\n ): BrepHandle\n /** 等半径圆角:`BRepFilletAPI_MakeFillet::Add(radius, E)`。 */\n fillet(solid: BrepHandle, edges: BrepHandle[], radius: number): BrepHandle\n /** 变半径圆角:单边 `Add(startRadius, endRadius, E)`(brepkit 吃 json 描述,适配器消化)。 */\n filletVariable(solid: BrepHandle, edge: BrepHandle, startRadius: number, endRadius: number): BrepHandle\n /**\n * 等半径圆角(带面演化):modified/generated/deleted 用面 hash 编码(§7.5)。\n * brepkit 原生 filletWithEvolution,适配器映射。\n */\n filletWithHistory(\n solid: BrepHandle,\n edges: BrepHandle[],\n radius: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n\n // ── 变换 ──\n // 矩阵口径(唯一权威):matrix 参数是 **3×4 行主序、12 个 double**——\n // [r00,r01,r02,tx, r10,r11,r12,ty, r20,r21,r22,tz],与 brep/brep-ops.ts 的\n // matrixToArray()(THREE.Matrix4 column-major → 行主序 3×4)产出同构。\n // 各引擎方言不同(如 brepkit transformSolid 吃 4×4 行主序 16 元素)时,\n // 由该引擎适配层内部转换(brepkit-kernel/brepkitKernel.ts 的 toKernelMatrix\n // 唯一转换点),禁止要求调用方适配引擎方言。\n translate(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle\n scale(shape: BrepHandle, center: BrepVec3, factor: number): BrepHandle\n /** 3×4 行主序 12 元素矩阵(口径见上方\"变换\"节注释)。 */\n transform(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 带位置矩阵放置(3×4 行主序 12 元素,口径见变换族注释)。 */\n located(shape: BrepHandle, matrix: number[]): BrepHandle\n locate(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 一般变换(3×4 行主序 12 元素)。 */\n generalTransform(shape: BrepHandle, matrix: number[]): BrepHandle\n copy(shape: BrepHandle): BrepHandle\n /** 复制句柄(独立引用计数)。 */\n copyShape(shape: BrepHandle): BrepHandle\n /** 组合两个 3×4 行主序变换矩阵(12 元素)。 */\n composeTransform(m1: number[], m2: number[]): number[]\n /** 镜像(过 point、法向 normal 的平面)。 */\n mirror(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle\n\n // ── 阵列 ──\n // 口径:两内核的 pattern 内核函数都返回 compound(含全部副本),适配器负责拆成数组。\n /** 线性阵列:沿 direction 复制 count 份(含原位置),返回各份副本句柄数组。 */\n linearPattern(shape: BrepHandle, direction: BrepVec3, spacing: number, count: number): BrepHandle[]\n /** 环形阵列:绕 axis 均分 angleStep 每份,返回各份副本句柄数组。 */\n circularPattern(\n shape: BrepHandle,\n center: BrepVec3,\n axis: BrepVec3,\n angleStep: number,\n count: number,\n ): BrepHandle[]\n /** 二维栅格阵列:沿两方向复制 countX×countY 份,返回 compound 单句柄。 */\n gridPattern(\n shape: BrepHandle,\n directionX: BrepVec3,\n directionY: BrepVec3,\n spacingX: number,\n spacingY: number,\n countX: number,\n countY: number,\n ): BrepHandle\n\n // ── 曲线构造 ──\n makeLineEdge(start: BrepVec3, end: BrepVec3): BrepHandle\n makeArcEdge(start: BrepVec3, mid: BrepVec3, end: BrepVec3): BrepHandle\n makeBezierEdge(controlPoints: BrepVec3[]): BrepHandle\n /**\n * Exact NURBS edge from raw control data — the write-side counterpart of\n * `getNurbsCurveData`, so a rational / multi-span curve survives a round trip\n * instead of being tessellated.\n *\n * `poles` is flat `[x,y,z, …]`; `knots`/`multiplicities` are parallel (the\n * expanded knot vector is `knots[i]` repeated `multiplicities[i]` times). The\n * built edge spans the WHOLE curve — to reproduce an edge that is a sub-range\n * of its basis curve, trim it with `curveSplit`.\n */\n makeBSplineEdge(\n poles: number[],\n weights: number[],\n knots: number[],\n multiplicities: number[],\n degree: number,\n periodic?: boolean,\n ): BrepHandle\n makeCircleEdge(center: BrepVec3, normal: BrepVec3, radius: number): BrepHandle\n /**\n * Split an edge at an interior parameter into its two sub-edges, in order.\n * The parameter must be STRICTLY inside the edge's domain — splitting at an\n * end is rejected by the kernel rather than returning a degenerate pair.\n */\n curveSplit(edge: BrepHandle, param: number): [BrepHandle, BrepHandle]\n\n // ── 拓扑构造 ──\n makeWire(edges: BrepHandle[]): BrepHandle\n makeFace(wire: BrepHandle): BrepHandle\n makeCompound(shapes: BrepHandle[]): BrepHandle\n addHolesInFace(face: BrepHandle, holeWires: BrepHandle[]): BrepHandle\n /** 三角面(三顶点)。 */\n buildTriFace(a: BrepVec3, b: BrepVec3, c: BrepVec3): BrepHandle\n\n // ── 三角化(BREP→mesh 唯一出口,断链物化依赖,硬必需) ──\n meshShape(shape: BrepHandle, options?: BrepTessellateOptions): BrepMeshResult\n wireframe(shape: BrepHandle, deflection?: number): BrepEdgeData\n\n // ── 拓扑查询 ──\n getSubShapes(shape: BrepHandle, type: BrepSubShapeType): BrepHandle[]\n subShapeHashes(shape: BrepHandle, type: BrepSubShapeType, hashUpperBound: number): number[]\n hashCode(shape: BrepHandle, upperBound: number): number\n isSame(a: BrepHandle, b: BrepHandle): boolean\n isSolid(shape: BrepHandle): boolean\n /** 形状类型名('SOLID' / 'FACE' / 'EDGE' / 'WIRE' / 'COMPOUND' 等;引擎方言归一)。\n * 库桥(l3-bridge)收编产物时判类型读;brepkit/mock 按能力防御返回。 */\n shapeType(shape: BrepHandle): string\n /** 方向标识(与内核 ShapeOrientation 同构:'forward'|'reversed'|'internal'|'external')。 */\n shapeOrientation(shape: BrepHandle): string\n /** 边→面关联(brepkit 原生同名)。 */\n edgeToFaceMap(shape: BrepHandle): unknown\n /** 面的相邻面(同一 solid 内与 face 共享边的面;两内核原生都吃 (shape, face))。 */\n adjacentFaces(shape: BrepHandle, face: BrepHandle): BrepHandle[]\n /** 两面共享的边。 */\n sharedEdges(a: BrepHandle, b: BrepHandle): BrepHandle[]\n\n // ── 几何求值 ──\n /** 曲线类型标识(与内核 CurveKind 同构的中立字符串形态)。 */\n curveType(edge: BrepHandle): string\n curvePointAtParam(edge: BrepHandle, param: number): BrepVec3\n curveTangent(edge: BrepHandle, param: number): BrepVec3\n curveParameters(edge: BrepHandle): BrepCurveParameters\n curveIsClosed(edge: BrepHandle): boolean\n curveLength(edge: BrepHandle): number\n /** 曲面类型标识(与内核 SurfaceKind 同构的中立字符串形态)。 */\n surfaceType(face: BrepHandle): string\n surfaceNormal(face: BrepHandle, u: number, v: number): BrepVec3\n pointOnSurface(face: BrepHandle, u: number, v: number): BrepVec3\n uvBounds(face: BrepHandle): BrepUvBounds\n /** 曲面质心。 */\n surfaceCenterOfMass(face: BrepHandle): BrepVec3\n /** Phase 1 钉死返回形态(topologyExt 仅读 radius)。 */\n getFaceCylinderData(face: BrepHandle): { radius: number } | null\n /**\n * NURBS control data of the edge's basis curve, or `null` for the analytic\n * kinds (line / circle / ellipse / hyperbola / parabola).\n *\n * ⚠️ Two measured behaviours (2026-09-29) that the name does not imply:\n * · it THROWS — it is not a nullable getter — when the edge is not a B-spline\n * or Bézier, so callers must guard, not just null-check;\n * · it returns the WHOLE basis curve, while `curveParameters` returns the\n * EDGE's trim range on it; rebuilding without the trim is not faithful.\n */\n getNurbsCurveData(edge: BrepHandle): BrepNurbsCurveData | null\n interpolatePoints(points: BrepVec3[], degree: number): BrepHandle\n\n /** 去特征(移除面集合)。 */\n defeature(shape: BrepHandle, faces: BrepHandle[]): BrepHandle\n /** 拔模。 */\n draft(shape: BrepHandle, faces: BrepHandle[], pull: BrepVec3, neutral: BrepVec3, angleDeg: number): BrepHandle\n removeHolesFromFace(face: BrepHandle): BrepHandle\n reverseShape(shape: BrepHandle): BrepHandle\n /** 边投影(方言参数由适配器消化)。 */\n projectEdges(shape: BrepHandle, origin: BrepVec3, direction: BrepVec3, xAxis: BrepVec3, hiddenLines: boolean, deflection: number): unknown\n\n // ── 测量(D5/D6:核心面只进双方都有的;linearCenterOfMass/inertia/distance 是 L2 平台面)──\n getBoundingBox(shape: BrepHandle, useTriangulation?: boolean): BrepBoundingBox\n getVolume(shape: BrepHandle): number\n getCenterOfMass(shape: BrepHandle): BrepVec3\n /** 表面积(D6:面积进 L1;brepkit 原生 surfaceArea/faceArea,适配器映射)。 */\n getSurfaceArea(shape: BrepHandle): number\n /** 长度(D6:进 L1;brepkit 原生 length/wireLength,wire 与 edge 入参差异由适配器判别)。 */\n getLength(shape: BrepHandle): number\n\n // ── 校验与修复 ──\n isValid(shape: BrepHandle): boolean\n unifySameDomain(shape: BrepHandle): BrepHandle\n healSolid(shape: BrepHandle, tolerance?: number): BrepHandle\n fixShape(shape: BrepHandle): BrepHandle\n fixFaceOrientations(shape: BrepHandle): BrepHandle\n removeDegenerateEdges(shape: BrepHandle, tolerance?: number): BrepHandle\n\n // ── IO ──\n importStep(data: string | ArrayBuffer): BrepHandle\n exportStep(shape: BrepHandle): string\n importStl(data: string | ArrayBuffer): BrepHandle\n fromBREP(data: string): BrepHandle\n\n // ── 面演化(仅双方都有原生/可对齐实现的三员,D1)──\n cutWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n fuseWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n intersectWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n}\n\n/**\n * 编译期完整性断言(D1):实现类型必须逐成员满足 L1 核心面。\n * 三处守卫 `_AssertOcctApi` / `_AssertBrepkitApi` / `_AssertBrepMockApi` 同时生效。\n */\nexport type AssertSatisfiesBrepEngineApi<Impl extends BrepEngineApi> = Impl\n"]}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/brep/engine/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG","sourcesContent":["/**\n * engine/primitives — BREP 引擎契约面(port 面,L1 核心面)\n *\n * ⚠️ 2026-09-24 契约面收窄(Phase 2 / D1 / D9 / D10):`BrepEngineApi` 的语义 = **所有已注册 BREP 引擎都真实现的\n * 方法**(occt 与 brepkit 双方语义可对齐的交集面,最大化口径)。判据唯一真源:\n * `api/surface/engine-method-map.json`(status ∈ {aligned, dialect} 的条目)。\n *\n * - 移出 L1 的方法(occt-only 语义)不再有中立名,平台代码直接走原生面:\n * `getOcctKernel()` / `getBrepkitKernel()`(D3),op 侧用 `engines: ['occt']` 声明(D11)。\n * - 禁止任何 `as BrepEngineApi` 跨层断言(守卫见 §5 守卫清单)。\n * - 三个适配器的编译期断言 `_Assert*Api` 由此全部获得真校验力。\n */\n\nimport type {\n BrepBoundingBox,\n BrepCurveParameters,\n BrepEdgeData,\n BrepEvolutionData,\n BrepHandle,\n BrepMeshResult,\n BrepNurbsCurveData,\n BrepSubShapeType,\n BrepTessellateOptions,\n BrepUvBounds,\n BrepVec3,\n} from './types'\n\n/**\n * BREP 引擎原语契约(L1 核心面)。所有句柄参数/返回值均为 BrepHandle(不透明值,§6.3)。\n * 引擎实现(occt/brepkit 适配器)负责内部句柄形态与 BrepHandle 的转换,以及方言消化\n * (如 brepkit surfaceArea → getSurfaceArea,与 matrix 方言的 toKernelMatrix 同构)。\n */\nexport interface BrepEngineApi {\n // ── 生命周期 ──\n /** 手工释放句柄(GC 型引擎实现为 no-op)。 */\n release(shape: BrepHandle): void\n /** 释放内核/句柄(引擎级释放语义;brepkit GC 型 no-op)。 */\n dispose(shape?: BrepHandle): void\n\n // ── 实体图元 ──\n makeBox(dx: number, dy: number, dz: number): BrepHandle\n makeBoxFromCorners(corner1: BrepVec3, corner2: BrepVec3): BrepHandle\n makeCylinder(radius: number, height: number): BrepHandle\n makeSphere(radius: number): BrepHandle\n makeCone(r1: number, r2: number, height: number): BrepHandle\n makeRectangle(width: number, height: number): BrepHandle\n makeEllipsoid(rx: number, ry: number, rz: number): BrepHandle\n makeTorus(majorRadius: number, minorRadius: number): BrepHandle\n makeVertex(x: number, y: number, z: number): BrepHandle\n\n // ── 造型运算 ──\n /**\n * 挤出:`{dx,dy,dz}` 为挤出向量(occt 方言)。\n * brepkit 方言(方向+距离、只吃 face)由适配器归一:`len = |v|`、`dir = v/len`;\n * `len === 0` 抛错;输入不是 face → 报错(显式失败,不静默降级,§3.6-1)。\n */\n extrude(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle\n /** 旋转挤出(绕过 center、方向 direction 的轴,angle 为度;输入需 face,brepkit 方言断言同 extrude)。 */\n revolveVec(shape: BrepHandle, center: BrepVec3, direction: BrepVec3, angleDeg: number): BrepHandle\n /**\n * 扫掠(基础):闭合截面沿路径脊柱蒙皮成体。\n *\n * 中立语义 = 两内核交集:`profile` 是**闭合**截面(face;wire 由适配器升 face),\n * `spine` 是路径(wire)。无过渡模式 / 引导线 / 缩放律 / 参考系选择 —— 那些\n * 只有 occt 能做,归 `cad.sweepAdvanced`;基础 op 静默分叉比报错更危险。\n *\n * - occt 适配器映射原生 `sweepPipeShell`(补两个默认开关 false;**不用**\n * `simplePipe`:实测那条约 8×8 方截面沿 +Z 扫 50 的用例,`simplePipe` 产出\n * 体积 2133.33,`sweepPipeShell` 为解析值 3200 —— 真值断言在\n * `test/api/sweep-loft.test.ts`);\n * - brepkit 适配器把 spine 折线采样 → `interpolatePoints` 拟合 NURBS →\n * `getEdgeNurbsData` 拆 `(degree, knots, controlPoints, weights)` → `kernel.sweep`。\n *\n * ⚠️ 两内核在非平面路径上的截面参考系算法不同(RMF 细节),产物可能有细微差别;\n * 需要确定性行为时用 `cad.sweepAdvanced`(occt)。\n */\n sweep(profile: BrepHandle, spine: BrepHandle): BrepHandle\n /**\n * 放样(基础):多截面按序蒙皮成体。\n *\n * `sections` 是面或闭合 wire(面取外环);`ruled` 直线插值;`endPoint` 终点退化收口。\n *\n * - occt 适配器映射原生 `loft`(`endPoint` 经 `loftWithVertices` 退化段);\n * - brepkit 适配器 `wire → face` 后用 `loft` / `loftSmooth`(`endPoint` 走 `loftWithOptions`),\n * 并要求各截面**顶点数一致** —— 不一致在执行前报 `E_LOFT_SECTION_MISMATCH`(不静默降级)。\n *\n * `startPoint`(起点退化)与 `tolerance` 只有 occt 有 → 归 `cad.loftAdvanced`。\n */\n loft(sections: BrepHandle[], ruled: boolean, endPoint?: BrepVec3): BrepHandle\n /** 缝合(tolerance 可选)。 */\n sew(shapes: BrepHandle[], tolerance?: number): BrepHandle\n /** 缝合并固化成实体。 */\n sewAndSolidify(faces: BrepHandle[], tolerance?: number): BrepHandle\n /** 抽壳(facesToRemove 移除面、thickness 壁厚、tolerance 容差)。 */\n shell(solid: BrepHandle, facesToRemove: BrepHandle[], thickness: number, tolerance: number): BrepHandle\n /** 点集凸包(tolerance 为容差)。 */\n hullFromPoints(points: BrepVec3[], tolerance: number): BrepHandle\n\n // ── 布尔与分割 ──\n fuse(a: BrepHandle, b: BrepHandle): BrepHandle\n cut(a: BrepHandle, b: BrepHandle): BrepHandle\n common(a: BrepHandle, b: BrepHandle): BrepHandle\n intersect(a: BrepHandle, b: BrepHandle): BrepHandle\n fuseAll(shapes: BrepHandle[]): BrepHandle\n /**\n * 平面求交线:solid 与「过 point、法向 normal 的无限平面」的交线(§3.6-2 新中立名)。\n * occt 适配器:大平面 face 作 tool 经原生 section 达成(Phase 1 探针 A 实测可达)。\n * 返回交线/顶点句柄数组(brepkit 返回 Uint32Array 句柄组,occt compound downcast 展开)。\n */\n sectionByPlane(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle[]\n /**\n * 平面二分:把 solid 沿「过 point、法向 normal 的无限平面」切成两半(§3.6-2 新中立名)。\n * occt 适配器:大平面 face 作 tool 经原生 splitter 达成(Phase 1 探针 A 实测,solidCount=2)。\n * 法向正侧 = `positive`(§3.7 返回口径)。\n */\n splitByPlane(\n shape: BrepHandle,\n point: BrepVec3,\n normal: BrepVec3,\n ): { positive: BrepHandle; negative: BrepHandle }\n\n // ── 倒角与圆角(Q7:只对齐等距 + 距角两种粒度)──\n /** 等距倒角:逐边 `BRepFilletAPI_MakeChamfer::Add(distance, E)`。 */\n chamfer(solid: BrepHandle, edges: BrepHandle[], distance: number): BrepHandle\n /**\n * 距角倒角:`AddDA(distance, angleDeg, E, F)`(brepkit 原生 chamferDistanceAngle,方言映射)。\n * ⚠️ F 由内核自选(外层第一个含该边的面),调用方不可指定。\n */\n chamferDistAngle(\n solid: BrepHandle, edges: BrepHandle[], distance: number, angleDeg: number,\n ): BrepHandle\n /** 等半径圆角:`BRepFilletAPI_MakeFillet::Add(radius, E)`。 */\n fillet(solid: BrepHandle, edges: BrepHandle[], radius: number): BrepHandle\n /** 变半径圆角:单边 `Add(startRadius, endRadius, E)`(brepkit 吃 json 描述,适配器消化)。 */\n filletVariable(solid: BrepHandle, edge: BrepHandle, startRadius: number, endRadius: number): BrepHandle\n /**\n * 等半径圆角(带面演化):modified/generated/deleted 用面 hash 编码(§7.5)。\n * brepkit 原生 filletWithEvolution,适配器映射。\n */\n filletWithHistory(\n solid: BrepHandle,\n edges: BrepHandle[],\n radius: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n\n // ── 变换 ──\n // 矩阵口径(唯一权威):matrix 参数是 **3×4 行主序、12 个 double**——\n // [r00,r01,r02,tx, r10,r11,r12,ty, r20,r21,r22,tz],与 brep/brep-ops.ts 的\n // matrixToArray()(THREE.Matrix4 column-major → 行主序 3×4)产出同构。\n // 各引擎方言不同(如 brepkit transformSolid 吃 4×4 行主序 16 元素)时,\n // 由该引擎适配层内部转换(brepkit-kernel/brepkitKernel.ts 的 toKernelMatrix\n // 唯一转换点),禁止要求调用方适配引擎方言。\n translate(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle\n scale(shape: BrepHandle, center: BrepVec3, factor: number): BrepHandle\n /** 3×4 行主序 12 元素矩阵(口径见上方\"变换\"节注释)。 */\n transform(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 带位置矩阵放置(3×4 行主序 12 元素,口径见变换族注释)。 */\n located(shape: BrepHandle, matrix: number[]): BrepHandle\n locate(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 一般变换(3×4 行主序 12 元素)。 */\n generalTransform(shape: BrepHandle, matrix: number[]): BrepHandle\n copy(shape: BrepHandle): BrepHandle\n /** 复制句柄(独立引用计数)。 */\n copyShape(shape: BrepHandle): BrepHandle\n /** 组合两个 3×4 行主序变换矩阵(12 元素)。 */\n composeTransform(m1: number[], m2: number[]): number[]\n /** 镜像(过 point、法向 normal 的平面)。 */\n mirror(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle\n\n // ── 阵列 ──\n // 口径:两内核的 pattern 内核函数都返回 compound(含全部副本),适配器负责拆成数组。\n /** 线性阵列:沿 direction 复制 count 份(含原位置),返回各份副本句柄数组。 */\n linearPattern(shape: BrepHandle, direction: BrepVec3, spacing: number, count: number): BrepHandle[]\n /** 环形阵列:绕 axis 均分 angleStep 每份,返回各份副本句柄数组。 */\n circularPattern(\n shape: BrepHandle,\n center: BrepVec3,\n axis: BrepVec3,\n angleStep: number,\n count: number,\n ): BrepHandle[]\n /** 二维栅格阵列:沿两方向复制 countX×countY 份,返回 compound 单句柄。 */\n gridPattern(\n shape: BrepHandle,\n directionX: BrepVec3,\n directionY: BrepVec3,\n spacingX: number,\n spacingY: number,\n countX: number,\n countY: number,\n ): BrepHandle\n\n // ── 曲线构造 ──\n makeLineEdge(start: BrepVec3, end: BrepVec3): BrepHandle\n makeArcEdge(start: BrepVec3, mid: BrepVec3, end: BrepVec3): BrepHandle\n makeBezierEdge(controlPoints: BrepVec3[]): BrepHandle\n /**\n * Exact NURBS edge from raw control data — the write-side counterpart of\n * `getNurbsCurveData`, so a rational / multi-span curve survives a round trip\n * instead of being tessellated.\n *\n * `poles` is flat `[x,y,z, …]`; `knots`/`multiplicities` are parallel (the\n * expanded knot vector is `knots[i]` repeated `multiplicities[i]` times). The\n * built edge spans the WHOLE curve — to reproduce an edge that is a sub-range\n * of its basis curve, trim it with `curveSplit`.\n */\n makeBSplineEdge(\n poles: number[],\n weights: number[],\n knots: number[],\n multiplicities: number[],\n degree: number,\n periodic?: boolean,\n ): BrepHandle\n makeCircleEdge(center: BrepVec3, normal: BrepVec3, radius: number): BrepHandle\n /**\n * Split an edge at an interior parameter into its two sub-edges, in order.\n * The parameter must be STRICTLY inside the edge's domain — splitting at an\n * end is rejected by the kernel rather than returning a degenerate pair.\n */\n curveSplit(edge: BrepHandle, param: number): [BrepHandle, BrepHandle]\n\n // ── 拓扑构造 ──\n makeWire(edges: BrepHandle[]): BrepHandle\n makeFace(wire: BrepHandle): BrepHandle\n makeCompound(shapes: BrepHandle[]): BrepHandle\n addHolesInFace(face: BrepHandle, holeWires: BrepHandle[]): BrepHandle\n /** 三角面(三顶点)。 */\n buildTriFace(a: BrepVec3, b: BrepVec3, c: BrepVec3): BrepHandle\n\n // ── 三角化(BREP→mesh 唯一出口,断链物化依赖,硬必需) ──\n meshShape(shape: BrepHandle, options?: BrepTessellateOptions): BrepMeshResult\n wireframe(shape: BrepHandle, deflection?: number): BrepEdgeData\n\n // ── 拓扑查询 ──\n getSubShapes(shape: BrepHandle, type: BrepSubShapeType): BrepHandle[]\n subShapeHashes(shape: BrepHandle, type: BrepSubShapeType, hashUpperBound: number): number[]\n hashCode(shape: BrepHandle, upperBound: number): number\n isSame(a: BrepHandle, b: BrepHandle): boolean\n isSolid(shape: BrepHandle): boolean\n /** 形状类型名('SOLID' / 'FACE' / 'EDGE' / 'WIRE' / 'COMPOUND' 等;引擎方言归一)。\n * 库桥(l3-bridge)收编产物时判类型读;brepkit/mock 按能力防御返回。 */\n shapeType(shape: BrepHandle): string\n /** 方向标识(与内核 ShapeOrientation 同构:'forward'|'reversed'|'internal'|'external')。 */\n shapeOrientation(shape: BrepHandle): string\n /** 边→面关联(brepkit 原生同名)。 */\n edgeToFaceMap(shape: BrepHandle): unknown\n /** 面的相邻面(同一 solid 内与 face 共享边的面;两内核原生都吃 (shape, face))。 */\n adjacentFaces(shape: BrepHandle, face: BrepHandle): BrepHandle[]\n /** 两面共享的边。 */\n sharedEdges(a: BrepHandle, b: BrepHandle): BrepHandle[]\n\n // ── 几何求值 ──\n /** 曲线类型标识(与内核 CurveKind 同构的中立字符串形态)。 */\n curveType(edge: BrepHandle): string\n curvePointAtParam(edge: BrepHandle, param: number): BrepVec3\n curveTangent(edge: BrepHandle, param: number): BrepVec3\n curveParameters(edge: BrepHandle): BrepCurveParameters\n curveIsClosed(edge: BrepHandle): boolean\n curveLength(edge: BrepHandle): number\n /** 曲面类型标识(与内核 SurfaceKind 同构的中立字符串形态)。 */\n surfaceType(face: BrepHandle): string\n surfaceNormal(face: BrepHandle, u: number, v: number): BrepVec3\n pointOnSurface(face: BrepHandle, u: number, v: number): BrepVec3\n uvBounds(face: BrepHandle): BrepUvBounds\n /** 曲面质心。 */\n surfaceCenterOfMass(face: BrepHandle): BrepVec3\n /** Phase 1 钉死返回形态(topologyExt 仅读 radius)。 */\n getFaceCylinderData(face: BrepHandle): { radius: number } | null\n /**\n * NURBS control data of the edge's basis curve, or `null` for the analytic\n * kinds (line / circle / ellipse / hyperbola / parabola).\n *\n * ⚠️ Two measured behaviours (2026-09-29) that the name does not imply:\n * · it THROWS — it is not a nullable getter — when the edge is not a B-spline\n * or Bézier, so callers must guard, not just null-check;\n * · it returns the WHOLE basis curve, while `curveParameters` returns the\n * EDGE's trim range on it; rebuilding without the trim is not faithful.\n */\n getNurbsCurveData(edge: BrepHandle): BrepNurbsCurveData | null\n interpolatePoints(points: BrepVec3[], degree: number): BrepHandle\n\n /** 去特征(移除面集合)。 */\n defeature(shape: BrepHandle, faces: BrepHandle[]): BrepHandle\n /** 拔模。 */\n draft(shape: BrepHandle, faces: BrepHandle[], pull: BrepVec3, neutral: BrepVec3, angleDeg: number): BrepHandle\n removeHolesFromFace(face: BrepHandle): BrepHandle\n reverseShape(shape: BrepHandle): BrepHandle\n /** 边投影(方言参数由适配器消化)。 */\n projectEdges(shape: BrepHandle, origin: BrepVec3, direction: BrepVec3, xAxis: BrepVec3, hiddenLines: boolean, deflection: number): unknown\n\n // ── 测量(D5/D6:核心面只进双方都有的;linearCenterOfMass/inertia/distance 是 L2 平台面)──\n getBoundingBox(shape: BrepHandle, useTriangulation?: boolean): BrepBoundingBox\n getVolume(shape: BrepHandle): number\n getCenterOfMass(shape: BrepHandle): BrepVec3\n /** 表面积(D6:面积进 L1;brepkit 原生 surfaceArea/faceArea,适配器映射)。 */\n getSurfaceArea(shape: BrepHandle): number\n /** 长度(D6:进 L1;brepkit 原生 length/wireLength,wire 与 edge 入参差异由适配器判别)。 */\n getLength(shape: BrepHandle): number\n\n // ── 校验与修复 ──\n isValid(shape: BrepHandle): boolean\n unifySameDomain(shape: BrepHandle): BrepHandle\n healSolid(shape: BrepHandle, tolerance?: number): BrepHandle\n fixShape(shape: BrepHandle): BrepHandle\n fixFaceOrientations(shape: BrepHandle): BrepHandle\n removeDegenerateEdges(shape: BrepHandle, tolerance?: number): BrepHandle\n\n // ── IO ──\n importStep(data: string | ArrayBuffer): BrepHandle\n exportStep(shape: BrepHandle): string\n importStl(data: string | ArrayBuffer): BrepHandle\n fromBREP(data: string): BrepHandle\n\n // ── 面演化(仅双方都有原生/可对齐实现的三员,D1)──\n cutWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n fuseWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n intersectWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n}\n\n/**\n * 编译期完整性断言(D1):实现类型必须逐成员满足 L1 核心面。\n * 三处守卫 `_AssertOcctApi` / `_AssertBrepkitApi` / `_AssertBrepMockApi` 同时生效。\n */\nexport type AssertSatisfiesBrepEngineApi<Impl extends BrepEngineApi> = Impl\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"brepkitKernel.d.ts","sourceRoot":"","sources":["../../src/brepkit-kernel/brepkitKernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAGrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAoO9D,6DAA6D;AAC7D,KAAK,mBAAmB,GAAG,aAAa,GAAG;IACzC,oBAAoB,IAAI,MAAM,CAAA;IAC9B;;;;;;;OAOG;IACH,SAAS,EAAE,OAAO,oBAAoB,EAAE,kBAAkB,CAAA;CAC3D,CAAA;AAkDD;;;;;GAKG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CA6mC5E;AAwDD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAQrC;AAED,2EAA2E;AAC3E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"brepkitKernel.d.ts","sourceRoot":"","sources":["../../src/brepkit-kernel/brepkitKernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAGrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAoO9D,6DAA6D;AAC7D,KAAK,mBAAmB,GAAG,aAAa,GAAG;IACzC,oBAAoB,IAAI,MAAM,CAAA;IAC9B;;;;;;;OAOG;IACH,SAAS,EAAE,OAAO,oBAAoB,EAAE,kBAAkB,CAAA;CAC3D,CAAA;AAkDD;;;;;GAKG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAgwC5E;AAwDD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAQrC;AAED,2EAA2E;AAC3E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAA"}
@@ -447,6 +447,16 @@ export async function createBrepkitPrimitives() {
447
447
  /** solid → BrepMeshResult(tessellateSolidGrouped,原 meshShape 实体路径抽出)。 */
448
448
  const solidMesh = (solid, deflection, angular) => {
449
449
  const raw = kernel.tessellateSolidGrouped(solid, deflection, angular);
450
+ // GOTCHA (2026-10-10, real-device iOS): tessellateSolidGrouped once returned
451
+ // undefined on WeChat's JavaScriptCore worker; the unguarded JSON.parse(undefined)
452
+ // threw the engine-specific "JSON Parse error: Unexpected identifier \"undefined\"",
453
+ // which toOpFailure wrapped into an unlocatable E_OP_FAILED. Fail loudly with
454
+ // handle/param context instead — reporting beats masking, and this also surfaces
455
+ // null / object / other non-string shapes (JSON.parse's implicit ToString would
456
+ // otherwise mangle them into unrecognizable messages).
457
+ if (typeof raw !== 'string') {
458
+ fail(`tessellateSolidGrouped(${solid}, deflection=${deflection}, angular=${angular}) returned ${typeof raw} (${String(raw)}); expected a JSON string`);
459
+ }
450
460
  const m = JSON.parse(raw);
451
461
  // faceOffsets 形如 [start0, start1, ..., totalEnd]:以「索引数组单位」计的每面偏移
452
462
  // (2026-09-19 实测)。**L1 契约的 faceGroups 就是索引单位**(与 OCCT 一致,
@@ -556,6 +566,101 @@ export async function createBrepkitPrimitives() {
556
566
  kernel.transformSolid(c, m);
557
567
  return c;
558
568
  };
569
+ // ── 扫掠 / 放样共用助手(L1 中立名 sweep/loft 的 brepkit 方言消化)──
570
+ /** 截面句柄(面直用、wire 升面)→ brepkit face 句柄号(升面结果登记 knownFaces)。 */
571
+ const profileFaceOf = (section, what) => {
572
+ const n = asNum(section);
573
+ const kind = resolveKind(section, n);
574
+ if (kind === KIND_FACE)
575
+ return n;
576
+ if (kind === KIND_WIRE) {
577
+ // GOTCHA(与 makeFace 同因):makeFaceFromWire 产出的是**新** face 句柄号,
578
+ // 不登记 knownFaces 的话,后续任何按类型分发的调用(meshShape / 再扫掠)
579
+ // 会把它当 solid 走 tessellateSolidGrouped 崩溃。
580
+ const f = kernel.makeFaceFromWire(n);
581
+ knownFaces.add(f);
582
+ return f;
583
+ }
584
+ return fail(`${what} requires a planar face or a closed wire; got a handle that is neither`);
585
+ };
586
+ /** edge 的参数域 `[first, last]`(brepkit `getEdgeCurveParameters` 返回 Float64Array)。 */
587
+ const curveParamsOf = (edge) => {
588
+ const d = toNumArray(kernel.getEdgeCurveParameters(edge));
589
+ return [d[0] ?? 0, d[d.length - 1] ?? 1];
590
+ };
591
+ /** 相邻重复点去重(折线链顶点与采样点列共用;容差 1e-9 mm)。 */
592
+ const pushUnique = (out, p) => {
593
+ const last = out[out.length - 1];
594
+ if (last !== undefined &&
595
+ Math.abs(last.x - p.x) < 1e-9 &&
596
+ Math.abs(last.y - p.y) < 1e-9 &&
597
+ Math.abs(last.z - p.z) < 1e-9)
598
+ return;
599
+ out.push(p);
600
+ };
601
+ /** 折线链顶点:各线的首点 + 末线终点(供 degree=1 插值,拐角不圆化)。 */
602
+ const lineChainVertices = (edges) => {
603
+ const out = [];
604
+ for (const e of edges) {
605
+ const [t0, t1] = curveParamsOf(e);
606
+ pushUnique(out, vec3Of(toNumArray(kernel.evaluateEdgeCurve(e, t0))));
607
+ pushUnique(out, vec3Of(toNumArray(kernel.evaluateEdgeCurve(e, t1))));
608
+ }
609
+ return out;
610
+ };
611
+ /** 曲线链按参数等分采样(每条边 perEdge 段),供 NURBS 拟合。 */
612
+ const sampleChainPoints = (edges, perEdge = 8) => {
613
+ const out = [];
614
+ for (const e of edges) {
615
+ const [t0, t1] = curveParamsOf(e);
616
+ for (let i = 0; i <= perEdge; i++) {
617
+ pushUnique(out, vec3Of(toNumArray(kernel.evaluateEdgeCurve(e, t0 + (t1 - t0) * (i / perEdge)))));
618
+ }
619
+ }
620
+ return out;
621
+ };
622
+ /**
623
+ * 路径 wire → 一条可作 brepkit 扫掠路径的 NURBS edge(方案 §4.1 三条路线)。
624
+ *
625
+ * - 路线 3:单条 NURBS/Bézier 边 → 原样返回,零损失;
626
+ * - 路线 1:折线 wire(`cad.wire` 默认产物,全 line 边)→ 顶点列 + **degree=1** 插值。
627
+ * 一次 NURBS 的基就是折线,这不是近似而是精确表示 —— 比一律 degree=3 拟合更忠实;
628
+ * - 路线 2:含圆弧等曲线边 → 按参数等分采样后 degree=3 拟合(近似,方案 §8 已声明代价)。
629
+ *
630
+ * GOTCHA-1:`getNurbsCurveData` 对解析边(line/circle)**抛错**而非返回 null,
631
+ * 「先拿它探路、失败再拟合」会踩坑 —— 必须**先**判 `getEdgeCurveType` 再选路线。
632
+ *
633
+ * GOTCHA-2(2026-10-10 实测):**不要**走 `kernel.sweep(face, degree, knots, ctrl, weights)`
634
+ * —— 本仓 `getNurbsCurveData` 给出的 `knots`(去重值 + 平行 multiplicities)展开后
635
+ * 与 brepkit `sweep` 期望的节点向量长度不一致,实测报
636
+ * `invalid knot vector: expected 2 knots, got 6`。改用直吃 edge 句柄的
637
+ * `sweepWithOptions`(本 helper 因此返回 edge 而不是四数组),绕开该约定差异。
638
+ */
639
+ const wireToSpineEdge = (spine) => {
640
+ const w = asNum(spine);
641
+ if (resolveKind(spine, w) !== KIND_WIRE)
642
+ fail('sweep: spine must be a wire');
643
+ const edges = arr(kernel.getWireEdges(w));
644
+ if (edges.length === 0)
645
+ fail('sweep: spine wire has no edges');
646
+ const typeOf = (e) => String(kernel.getEdgeCurveType(e)).toUpperCase();
647
+ const ANALYTIC = new Set(['LINE', 'CIRCLE', 'ELLIPSE']);
648
+ // 路线 3:单条非解析边(NURBS/Bézier)原样用,零损失。
649
+ if (edges.length === 1 && !ANALYTIC.has(typeOf(edges[0])))
650
+ return edges[0];
651
+ // 路线 1 / 2:采样点列 → interpolatePoints 拟合成一条 NURBS 边。
652
+ const allLines = edges.every((e) => typeOf(e) === 'LINE');
653
+ const pts = allLines ? lineChainVertices(edges) : sampleChainPoints(edges);
654
+ if (pts.length < 2)
655
+ fail('sweep: spine wire degenerates to fewer than 2 distinct points');
656
+ const degree = allLines ? 1 : Math.min(3, pts.length - 1);
657
+ // GOTCHA:brepkit 内核是 **GC 型**,没有 `release` 方法(HAND_MAP 里 core:'release'
658
+ // 的 brepkit 侧为 null,适配器 no-op)——这里不能 `kernel.release(fit)`;
659
+ // 拟合边登记进 knownEdges 后由内核统一管理生命周期。
660
+ const fit = kernel.interpolatePoints(flattenPoints(pts), degree);
661
+ knownEdges.add(fit);
662
+ return fit;
663
+ };
559
664
  const api = {
560
665
  // ── 生命周期 ──
561
666
  release(_shape) { },
@@ -609,6 +714,39 @@ export async function createBrepkitPrimitives() {
609
714
  }
610
715
  return asHandle(markSolid(kernel.revolve(s, center.x, center.y, center.z, direction.x, direction.y, direction.z, angleDeg)));
611
716
  },
717
+ sweep(profile, spine) {
718
+ // L1 中立 sweep:occt 侧走 sweepPipeShell;brepkit 只吃 (face, 路径 edge)
719
+ // —— 两处方言都在这里消化,op 层只看到「截面 + 路径 → 体」。
720
+ // ① 截面 wire → face(开口 wire 建面由内核拒绝;不在适配器预判,内核报错更权威)。
721
+ const faceNum = profileFaceOf(profile, 'sweep');
722
+ // ② 路径 wire → 一条 NURBS edge(见 wireToSpineEdge 的 GOTCHA-2)。
723
+ const pathEdge = wireToSpineEdge(spine);
724
+ // ③ sweepWithOptions:contact_mode 'rmf'(内核默认)、无缩放律、默认分段、光滑转角。
725
+ return asHandle(markSolid(kernel.sweepWithOptions(faceNum, pathEdge, 'rmf', new Float64Array(0), 0, 'smooth')));
726
+ },
727
+ loft(sections, ruled, endPoint) {
728
+ if (!Array.isArray(sections) || sections.length < 2) {
729
+ fail('loft requires at least 2 sections');
730
+ }
731
+ // ① 各截面 → face。
732
+ const faces = sections.map((s) => profileFaceOf(s, 'loft'));
733
+ // ② brepkit loft 要求各截面**顶点数一致**。内核自己也会抛,但报错不含「哪几个
734
+ // 截面、差多少」——执行前静态判一次,给出可指路的错误;不静默降级、不换引擎
735
+ // (方案 §5②,红线:静态可判的输入约束必须在执行前报错)。
736
+ const counts = faces.map((f) => arr(kernel.getFaceVertices(f)).length);
737
+ const ref = counts[0];
738
+ if (counts.some((c) => c !== ref)) {
739
+ fail('E_LOFT_SECTION_MISMATCH: brepkit loft requires every section to have the same ' +
740
+ `vertex count, got [${counts.join(', ')}] — use cad.loftAdvanced (occt) for ` +
741
+ 'sections with different vertex counts');
742
+ }
743
+ const farr = Uint32Array.from(faces);
744
+ // ③ 选项映射:endPoint → loftWithOptions;ruled=false → loftSmooth。
745
+ if (endPoint !== undefined) {
746
+ return asHandle(markSolid(kernel.loftWithOptions(farr, JSON.stringify({ ruled, endPoint: [endPoint.x, endPoint.y, endPoint.z] }))));
747
+ }
748
+ return asHandle(markSolid(ruled ? kernel.loft(farr) : kernel.loftSmooth(farr)));
749
+ },
612
750
  sew(shapesList, tolerance) {
613
751
  return asHandle(markSolid(kernel.sewFaces(Uint32Array.from(shapesList.map(asNum)), tolerance ?? 1e-6)));
614
752
  },