brepjs 12.8.2 → 12.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/dist/2d/blueprints/{approximations.d.ts → blueprintApproximations.d.ts} +1 -1
  2. package/dist/2d/blueprints/blueprintApproximations.d.ts.map +1 -0
  3. package/dist/2d/blueprints/{customCorners.d.ts → blueprintCustomCorners.d.ts} +1 -1
  4. package/dist/2d/blueprints/blueprintCustomCorners.d.ts.map +1 -0
  5. package/dist/2d/blueprints/blueprintFns.d.ts +17 -3
  6. package/dist/2d/blueprints/blueprintFns.d.ts.map +1 -1
  7. package/dist/2d/blueprints/{offset.d.ts → blueprintOffset.d.ts} +1 -1
  8. package/dist/2d/blueprints/blueprintOffset.d.ts.map +1 -0
  9. package/dist/2d/blueprints/index.d.ts +4 -4
  10. package/dist/2d/blueprints/index.d.ts.map +1 -1
  11. package/dist/2d/lib/Curve2D.d.ts +1 -1
  12. package/dist/2d/lib/Curve2D.d.ts.map +1 -1
  13. package/dist/2d/lib/svgPath.d.ts.map +1 -1
  14. package/dist/2d/lib/vectorOperations.d.ts +4 -1
  15. package/dist/2d/lib/vectorOperations.d.ts.map +1 -1
  16. package/dist/2d-CzEysb7A.js +108 -0
  17. package/dist/2d-DCxS_sb_.cjs +107 -0
  18. package/dist/2d.cjs +24 -88
  19. package/dist/2d.d.ts +1 -1
  20. package/dist/2d.js +34 -99
  21. package/dist/{Blueprint-CQ28WJhz.cjs → Blueprint-BoC0DsDm.cjs} +15 -45
  22. package/dist/{Blueprint-DbVaf6k7.js → Blueprint-CQNRtmYG.js} +33 -63
  23. package/dist/{boolean2D-y3E92F0u.js → boolean2D-DXAt4GAK.js} +132 -62
  24. package/dist/{boolean2D-0blbVtJ8.cjs → boolean2D-N9Pgumgg.cjs} +112 -42
  25. package/dist/{booleanFns-BCTjYZAg.js → booleanFns-BXV7Oh0h.js} +53 -50
  26. package/dist/{booleanFns-gmsX3Cv2.cjs → booleanFns-CxArUj_q.cjs} +43 -40
  27. package/dist/brepjs.cjs +448 -379
  28. package/dist/brepjs.js +1634 -1563
  29. package/dist/core/dimensionTypes.d.ts +52 -0
  30. package/dist/core/dimensionTypes.d.ts.map +1 -0
  31. package/dist/core/disposal.d.ts +18 -0
  32. package/dist/core/disposal.d.ts.map +1 -1
  33. package/dist/core/errors.d.ts +7 -8
  34. package/dist/core/errors.d.ts.map +1 -1
  35. package/dist/core/kernelErrorTranslation.d.ts +15 -0
  36. package/dist/core/kernelErrorTranslation.d.ts.map +1 -0
  37. package/dist/core/planeOps.d.ts +14 -0
  38. package/dist/core/planeOps.d.ts.map +1 -1
  39. package/dist/core/result.d.ts +4 -0
  40. package/dist/core/result.d.ts.map +1 -1
  41. package/dist/core/shapeTypes.d.ts +14 -146
  42. package/dist/core/shapeTypes.d.ts.map +1 -1
  43. package/dist/core/{definitionMaps.d.ts → typeDiscriminants.d.ts} +5 -1
  44. package/dist/core/typeDiscriminants.d.ts.map +1 -0
  45. package/dist/core/validityTypes.d.ts +100 -0
  46. package/dist/core/validityTypes.d.ts.map +1 -0
  47. package/dist/core.cjs +52 -11
  48. package/dist/core.d.ts +1 -1
  49. package/dist/core.d.ts.map +1 -1
  50. package/dist/core.js +119 -76
  51. package/dist/{curveFns-BZngcnQ1.cjs → curveFns-CWZRuXQ3.cjs} +2 -2
  52. package/dist/{curveFns-mROFhiuG.js → curveFns-OmbtFSG8.js} +14 -14
  53. package/dist/{drawFns-Bwakrq7w.js → drawFns-8S0ULGRj.js} +146 -118
  54. package/dist/{drawFns-CjRc1NfQ.cjs → drawFns-voV2wEp8.cjs} +153 -125
  55. package/dist/{faceFns-B8GnxjdY.js → faceFns-Bn2seBfp.js} +16 -24
  56. package/dist/{faceFns-DB1Fc5gy.cjs → faceFns-CmIrjdt1.cjs} +2 -10
  57. package/dist/{helpers-X0juxnwj.js → helpers-CEn618MW.js} +89 -21
  58. package/dist/{helpers-C8NoT0Wu.cjs → helpers-mipaxDTy.cjs} +77 -9
  59. package/dist/index.d.ts +20 -19
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/io/gltfImportFns.d.ts +18 -0
  62. package/dist/io/gltfImportFns.d.ts.map +1 -0
  63. package/dist/io/ioUtils.d.ts +16 -0
  64. package/dist/io/ioUtils.d.ts.map +1 -0
  65. package/dist/io/objImportFns.d.ts.map +1 -1
  66. package/dist/io/threemfImportFns.d.ts.map +1 -1
  67. package/dist/io.cjs +4 -4
  68. package/dist/io.js +4 -4
  69. package/dist/kernel/brepkit/booleanOps.d.ts +23 -0
  70. package/dist/kernel/brepkit/booleanOps.d.ts.map +1 -0
  71. package/dist/kernel/brepkit/constructionOps.d.ts +51 -0
  72. package/dist/kernel/brepkit/constructionOps.d.ts.map +1 -0
  73. package/dist/kernel/brepkit/evolutionOps.d.ts +31 -0
  74. package/dist/kernel/brepkit/evolutionOps.d.ts.map +1 -0
  75. package/dist/kernel/brepkit/geometryOps.d.ts +56 -0
  76. package/dist/kernel/brepkit/geometryOps.d.ts.map +1 -0
  77. package/dist/kernel/brepkit/helpers.d.ts +84 -0
  78. package/dist/kernel/brepkit/helpers.d.ts.map +1 -0
  79. package/dist/kernel/brepkit/internalOps.d.ts +28 -0
  80. package/dist/kernel/brepkit/internalOps.d.ts.map +1 -0
  81. package/dist/kernel/brepkit/ioOps.d.ts +43 -0
  82. package/dist/kernel/brepkit/ioOps.d.ts.map +1 -0
  83. package/dist/kernel/brepkit/measureOps.d.ts +30 -0
  84. package/dist/kernel/brepkit/measureOps.d.ts.map +1 -0
  85. package/dist/kernel/brepkit/meshOps.d.ts +7 -0
  86. package/dist/kernel/brepkit/meshOps.d.ts.map +1 -0
  87. package/dist/kernel/brepkit/modifierOps.d.ts +15 -0
  88. package/dist/kernel/brepkit/modifierOps.d.ts.map +1 -0
  89. package/dist/kernel/brepkit/repairOps.d.ts +14 -0
  90. package/dist/kernel/brepkit/repairOps.d.ts.map +1 -0
  91. package/dist/kernel/brepkit/sweepOps.d.ts +27 -0
  92. package/dist/kernel/brepkit/sweepOps.d.ts.map +1 -0
  93. package/dist/kernel/brepkit/topologyOps.d.ts +16 -0
  94. package/dist/kernel/brepkit/topologyOps.d.ts.map +1 -0
  95. package/dist/kernel/brepkit/transformOps.d.ts +14 -0
  96. package/dist/kernel/brepkit/transformOps.d.ts.map +1 -0
  97. package/dist/kernel/brepkitAdapter.d.ts +1 -1
  98. package/dist/kernel/brepkitAdapter.d.ts.map +1 -1
  99. package/dist/kernel/brepkitWasmTypes.d.ts +8 -0
  100. package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -1
  101. package/dist/kernel/defaultAdapter.d.ts.map +1 -1
  102. package/dist/kernel/extendedConstructorOps.d.ts +9 -1
  103. package/dist/kernel/extendedConstructorOps.d.ts.map +1 -1
  104. package/dist/kernel/index.d.ts +1 -0
  105. package/dist/kernel/index.d.ts.map +1 -1
  106. package/dist/kernel/interfaces/boolean-ops.d.ts +25 -0
  107. package/dist/kernel/interfaces/boolean-ops.d.ts.map +1 -0
  108. package/dist/kernel/interfaces/builder-ops.d.ts +57 -0
  109. package/dist/kernel/interfaces/builder-ops.d.ts.map +1 -0
  110. package/dist/kernel/interfaces/core.d.ts +30 -0
  111. package/dist/kernel/interfaces/core.d.ts.map +1 -0
  112. package/dist/kernel/interfaces/curve-ops.d.ts +41 -0
  113. package/dist/kernel/interfaces/curve-ops.d.ts.map +1 -0
  114. package/dist/kernel/interfaces/evolution-ops.d.ts +19 -0
  115. package/dist/kernel/interfaces/evolution-ops.d.ts.map +1 -0
  116. package/dist/kernel/interfaces/index.d.ts +37 -0
  117. package/dist/kernel/interfaces/index.d.ts.map +1 -0
  118. package/dist/kernel/interfaces/io-ops.d.ts +66 -0
  119. package/dist/kernel/interfaces/io-ops.d.ts.map +1 -0
  120. package/dist/kernel/interfaces/measure-ops.d.ts +35 -0
  121. package/dist/kernel/interfaces/measure-ops.d.ts.map +1 -0
  122. package/dist/kernel/interfaces/mesh-ops.d.ts +21 -0
  123. package/dist/kernel/interfaces/mesh-ops.d.ts.map +1 -0
  124. package/dist/kernel/interfaces/modifier-ops.d.ts +22 -0
  125. package/dist/kernel/interfaces/modifier-ops.d.ts.map +1 -0
  126. package/dist/kernel/interfaces/primitive-ops.d.ts +13 -0
  127. package/dist/kernel/interfaces/primitive-ops.d.ts.map +1 -0
  128. package/dist/kernel/interfaces/repair-ops.d.ts +36 -0
  129. package/dist/kernel/interfaces/repair-ops.d.ts.map +1 -0
  130. package/dist/kernel/interfaces/surface-ops.d.ts +50 -0
  131. package/dist/kernel/interfaces/surface-ops.d.ts.map +1 -0
  132. package/dist/kernel/interfaces/sweep-ops.d.ts +49 -0
  133. package/dist/kernel/interfaces/sweep-ops.d.ts.map +1 -0
  134. package/dist/kernel/interfaces/topology-ops.d.ts +30 -0
  135. package/dist/kernel/interfaces/topology-ops.d.ts.map +1 -0
  136. package/dist/kernel/interfaces/transform-ops.d.ts +35 -0
  137. package/dist/kernel/interfaces/transform-ops.d.ts.map +1 -0
  138. package/dist/kernel/modifierOps.d.ts +2 -2
  139. package/dist/kernel/modifierOps.d.ts.map +1 -1
  140. package/dist/kernel/types.d.ts +2 -446
  141. package/dist/kernel/types.d.ts.map +1 -1
  142. package/dist/measurement/measureCache.d.ts +11 -9
  143. package/dist/measurement/measureCache.d.ts.map +1 -1
  144. package/dist/measurement/measureFns.d.ts +24 -71
  145. package/dist/measurement/measureFns.d.ts.map +1 -1
  146. package/dist/measurement/measureTypes.d.ts +30 -0
  147. package/dist/measurement/measureTypes.d.ts.map +1 -0
  148. package/dist/{measurement-D8EJ694A.js → measurement-fJWDEpz0.js} +53 -34
  149. package/dist/measurement-ph-kanQ7.cjs +154 -0
  150. package/dist/measurement.cjs +2 -1
  151. package/dist/measurement.d.ts +1 -1
  152. package/dist/measurement.d.ts.map +1 -1
  153. package/dist/measurement.js +4 -3
  154. package/dist/{meshFns-BnV0ZR8w.cjs → meshFns-B9p4EVV8.cjs} +4 -4
  155. package/dist/{meshFns-nQjK38EC.js → meshFns-D0qIoxm-.js} +3 -3
  156. package/dist/operations/compoundOpsFns.d.ts +38 -0
  157. package/dist/operations/compoundOpsFns.d.ts.map +1 -0
  158. package/dist/operations/convexHullFns.d.ts +21 -0
  159. package/dist/operations/convexHullFns.d.ts.map +1 -0
  160. package/dist/operations/extrudeFns.d.ts +2 -93
  161. package/dist/operations/extrudeFns.d.ts.map +1 -1
  162. package/dist/operations/guidedSweepFns.d.ts +3 -22
  163. package/dist/operations/guidedSweepFns.d.ts.map +1 -1
  164. package/dist/operations/multiSweepFns.d.ts +3 -29
  165. package/dist/operations/multiSweepFns.d.ts.map +1 -1
  166. package/dist/operations/roofFns.d.ts +2 -2
  167. package/dist/operations/roofFns.d.ts.map +1 -1
  168. package/dist/operations/straightSkeleton.d.ts.map +1 -1
  169. package/dist/operations/sweepFns.d.ts +121 -0
  170. package/dist/operations/sweepFns.d.ts.map +1 -0
  171. package/dist/{operations-BfbkK6DU.js → operations-DX_qy_TB.js} +29 -177
  172. package/dist/{operations-CYpmLSC4.cjs → operations-Ds4xoyxR.cjs} +6 -154
  173. package/dist/operations.cjs +6 -10
  174. package/dist/operations.d.ts +0 -2
  175. package/dist/operations.d.ts.map +1 -1
  176. package/dist/operations.js +26 -30
  177. package/dist/originTrackingFns-BOCAMfd0.js +137 -0
  178. package/dist/originTrackingFns-SPU7ly3_.cjs +136 -0
  179. package/dist/query/edgeFinder.d.ts +4 -14
  180. package/dist/query/edgeFinder.d.ts.map +1 -1
  181. package/dist/query/faceFinder.d.ts +4 -14
  182. package/dist/query/faceFinder.d.ts.map +1 -1
  183. package/dist/query/finderCore.d.ts +6 -0
  184. package/dist/query/finderCore.d.ts.map +1 -1
  185. package/dist/query/shapeFinders.d.ts +32 -0
  186. package/dist/query/shapeFinders.d.ts.map +1 -0
  187. package/dist/query/wireFinder.d.ts +4 -9
  188. package/dist/query/wireFinder.d.ts.map +1 -1
  189. package/dist/query.cjs +54 -32
  190. package/dist/query.js +56 -34
  191. package/dist/{result-BaSD1fqR.js → result-CoDaWsvc.js} +48 -90
  192. package/dist/{result-fAX0OZzI.cjs → result-DULetAht.cjs} +17 -59
  193. package/dist/result.cjs +1 -1
  194. package/dist/result.js +23 -23
  195. package/dist/shapeFns-BZ6zk7nd.js +34 -0
  196. package/dist/shapeFns-bRkrwI8R.cjs +33 -0
  197. package/dist/{shapeTypes-7xEam9Ri.cjs → shapeTypes-T0n6mRmt.cjs} +170 -137
  198. package/dist/{shapeTypes-CpSaBLDv.js → shapeTypes-dhhm-T5A.js} +205 -172
  199. package/dist/sketching/CompoundSketch.d.ts +4 -4
  200. package/dist/sketching/CompoundSketch.d.ts.map +1 -1
  201. package/dist/sketching/Sketch.d.ts +3 -3
  202. package/dist/sketching/Sketch.d.ts.map +1 -1
  203. package/dist/sketching/Sketcher.d.ts.map +1 -1
  204. package/dist/sketching/Sketches.d.ts +1 -1
  205. package/dist/sketching/Sketches.d.ts.map +1 -1
  206. package/dist/sketching/draw.d.ts +1 -20
  207. package/dist/sketching/draw.d.ts.map +1 -1
  208. package/dist/sketching/draw3d.d.ts +22 -0
  209. package/dist/sketching/draw3d.d.ts.map +1 -0
  210. package/dist/sketching/sketchFns.d.ts +3 -3
  211. package/dist/sketching/sketchFns.d.ts.map +1 -1
  212. package/dist/sketching/sketchLib.d.ts +2 -2
  213. package/dist/sketching/sketchLib.d.ts.map +1 -1
  214. package/dist/sketching.cjs +2 -2
  215. package/dist/sketching.d.ts +2 -1
  216. package/dist/sketching.d.ts.map +1 -1
  217. package/dist/sketching.js +2 -2
  218. package/dist/{solidBuilders-994_MQwB.cjs → solidBuilders-BEAoLYvr.cjs} +3 -3
  219. package/dist/{solidBuilders-DmwhTCCd.js → solidBuilders-tVmD3R7Z.js} +12 -12
  220. package/dist/{surfaceBuilders-5VA34a3_.cjs → surfaceBuilders-DYS8AMSS.cjs} +3 -3
  221. package/dist/{surfaceBuilders-nQdJ56fe.js → surfaceBuilders-Dl0ATFbO.js} +15 -15
  222. package/dist/sweepFns-BKnQs59A.js +215 -0
  223. package/dist/sweepFns-COqeYIUp.cjs +214 -0
  224. package/dist/text/textBlueprints.d.ts +4 -3
  225. package/dist/text/textBlueprints.d.ts.map +1 -1
  226. package/dist/topology/booleanFns.d.ts.map +1 -1
  227. package/dist/topology/cast.d.ts +1 -5
  228. package/dist/topology/cast.d.ts.map +1 -1
  229. package/dist/topology/compoundOpsFns.d.ts +3 -35
  230. package/dist/topology/compoundOpsFns.d.ts.map +1 -1
  231. package/dist/topology/curveFns.d.ts +1 -1
  232. package/dist/topology/curveFns.d.ts.map +1 -1
  233. package/dist/topology/index.d.ts +2 -3
  234. package/dist/topology/index.d.ts.map +1 -1
  235. package/dist/topology/{colorFns.d.ts → metadata/colorFns.d.ts} +2 -2
  236. package/dist/topology/metadata/colorFns.d.ts.map +1 -0
  237. package/dist/topology/{faceTagFns.d.ts → metadata/faceTagFns.d.ts} +2 -2
  238. package/dist/topology/metadata/faceTagFns.d.ts.map +1 -0
  239. package/dist/topology/metadata/metadataPropagation.d.ts +30 -0
  240. package/dist/topology/metadata/metadataPropagation.d.ts.map +1 -0
  241. package/dist/topology/metadata/originTrackingFns.d.ts +23 -0
  242. package/dist/topology/metadata/originTrackingFns.d.ts.map +1 -0
  243. package/dist/topology/modifierFns.d.ts.map +1 -1
  244. package/dist/topology/shapeFns.d.ts +6 -120
  245. package/dist/topology/shapeFns.d.ts.map +1 -1
  246. package/dist/topology/topologyQueryFns.d.ts +67 -0
  247. package/dist/topology/topologyQueryFns.d.ts.map +1 -0
  248. package/dist/topology/transformFns.d.ts +49 -0
  249. package/dist/topology/transformFns.d.ts.map +1 -0
  250. package/dist/topology/wrapperFns.d.ts.map +1 -1
  251. package/dist/{topology-C7x98OVn.js → topology-C1oUQXZS.js} +235 -50
  252. package/dist/{topology-ANwCzGL8.cjs → topology-xyDYbkHW.cjs} +205 -20
  253. package/dist/topology.cjs +18 -17
  254. package/dist/topology.js +97 -96
  255. package/dist/topologyQueryFns-0IptTUCo.cjs +118 -0
  256. package/dist/topologyQueryFns-Dj4Xd5kx.js +119 -0
  257. package/dist/{types-CWDdqcrq.js → types-CcKqsmd0.js} +2 -2
  258. package/dist/utils/precisionRound.d.ts +4 -0
  259. package/dist/utils/precisionRound.d.ts.map +1 -1
  260. package/dist/utils/vec2d.d.ts +5 -0
  261. package/dist/utils/vec2d.d.ts.map +1 -1
  262. package/dist/{vecOps-ZDdZWbwT.js → vecOps-LTN--A58.js} +15 -15
  263. package/dist/{vectors-Bx8wkNui.js → vectors-B8juLsQB.js} +15 -7
  264. package/dist/{vectors-D_IiZx0q.cjs → vectors-I_0zdD3O.cjs} +9 -1
  265. package/dist/vectors.cjs +1 -1
  266. package/dist/vectors.js +23 -23
  267. package/package.json +9 -9
  268. package/dist/2d/blueprints/approximations.d.ts.map +0 -1
  269. package/dist/2d/blueprints/customCorners.d.ts.map +0 -1
  270. package/dist/2d/blueprints/offset.d.ts.map +0 -1
  271. package/dist/core/definitionMaps.d.ts.map +0 -1
  272. package/dist/core/geometryHelpers.d.ts +0 -30
  273. package/dist/core/geometryHelpers.d.ts.map +0 -1
  274. package/dist/core/memory.d.ts +0 -6
  275. package/dist/core/memory.d.ts.map +0 -1
  276. package/dist/core/typeErrors.d.ts +0 -17
  277. package/dist/core/typeErrors.d.ts.map +0 -1
  278. package/dist/cornerFinder-Ckz-mPHE.js +0 -59
  279. package/dist/cornerFinder-ZmOyOOsh.cjs +0 -58
  280. package/dist/loft-Bhw-FMoL.js +0 -228
  281. package/dist/loft-hp3pc1M7.cjs +0 -227
  282. package/dist/measurement-BoNTUBAp.cjs +0 -135
  283. package/dist/operations/extrude.d.ts +0 -72
  284. package/dist/operations/extrude.d.ts.map +0 -1
  285. package/dist/operations/loft.d.ts +0 -33
  286. package/dist/operations/loft.d.ts.map +0 -1
  287. package/dist/shapeFns-C2SnNvdH.cjs +0 -468
  288. package/dist/shapeFns-FDuKkrDR.js +0 -469
  289. package/dist/topology/colorFns.d.ts.map +0 -1
  290. package/dist/topology/faceTagFns.d.ts.map +0 -1
  291. package/dist/utils/round2.d.ts +0 -3
  292. package/dist/utils/round2.d.ts.map +0 -1
  293. package/dist/utils/round5.d.ts +0 -3
  294. package/dist/utils/round5.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Kernel2DCapability } from './kernel2dTypes.js';
1
+ import { KernelAdapter } from './interfaces/index.js';
2
2
  export type KernelInstance = any;
3
3
  /**
4
4
  * Opaque shape handle — the kernel-level shape representation.
@@ -99,451 +99,7 @@ export interface StepAssemblyPart {
99
99
  name: string;
100
100
  color?: [number, number, number, number];
101
101
  }
102
- export interface KernelAdapter extends Kernel2DCapability {
103
- /**
104
- * The raw kernel WASM instance.
105
- *
106
- * @internal Only code in `kernel/` and `core/` may access this property.
107
- * Layer 2+ code must use typed adapter methods instead.
108
- */
109
- readonly oc: KernelInstance;
110
- /**
111
- * Unique string identifying this kernel implementation.
112
- * Used to prevent mixing shapes from different kernels.
113
- */
114
- readonly kernelId: string;
115
- fuse(shape: KernelShape, tool: KernelShape, options?: BooleanOptions): KernelShape;
116
- cut(shape: KernelShape, tool: KernelShape, options?: BooleanOptions): KernelShape;
117
- intersect(shape: KernelShape, tool: KernelShape, options?: BooleanOptions): KernelShape;
118
- section(shape: KernelShape, plane: KernelShape, approximation?: boolean): KernelShape;
119
- fuseAll(shapes: KernelShape[], options?: BooleanOptions): KernelShape;
120
- cutAll(shape: KernelShape, tools: KernelShape[], options?: BooleanOptions): KernelShape;
121
- hull(shapes: KernelShape[], tolerance: number): KernelShape;
122
- hullFromPoints(points: Array<{
123
- x: number;
124
- y: number;
125
- z: number;
126
- }>, tolerance: number): KernelShape;
127
- buildSolidFromFaces(points: Array<{
128
- x: number;
129
- y: number;
130
- z: number;
131
- }>, faces: Array<readonly [number, number, number]>, tolerance: number): KernelShape;
132
- makeVertex(x: number, y: number, z: number): KernelShape;
133
- makeEdge(curve: KernelType, start?: number, end?: number): KernelShape;
134
- makeWire(edges: KernelShape[]): KernelShape;
135
- makeFace(wire: KernelShape, planar?: boolean): KernelShape;
136
- makeBox(width: number, height: number, depth: number): KernelShape;
137
- makeCylinder(radius: number, height: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
138
- makeSphere(radius: number, center?: [number, number, number]): KernelShape;
139
- makeCone(radius1: number, radius2: number, height: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
140
- makeTorus(majorRadius: number, minorRadius: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
141
- /** Build an ellipsoid solid with the given axis half-lengths. */
142
- makeEllipsoid(aLength: number, bLength: number, cLength: number): KernelShape;
143
- makeLineEdge(p1: [number, number, number], p2: [number, number, number]): KernelShape;
144
- makeCircleEdge(center: [number, number, number], normal: [number, number, number], radius: number): KernelShape;
145
- makeCircleArc(center: [number, number, number], normal: [number, number, number], radius: number, startAngle: number, endAngle: number): KernelShape;
146
- makeArcEdge(p1: [number, number, number], p2: [number, number, number], p3: [number, number, number]): KernelShape;
147
- makeEllipseEdge(center: [number, number, number], normal: [number, number, number], majorRadius: number, minorRadius: number, xDir?: [number, number, number]): KernelShape;
148
- makeEllipseArc(center: [number, number, number], normal: [number, number, number], majorRadius: number, minorRadius: number, startAngle: number, endAngle: number, xDir?: [number, number, number]): KernelShape;
149
- makeBezierEdge(points: [number, number, number][]): KernelShape;
150
- makeTangentArc(startPoint: [number, number, number], startTangent: [number, number, number], endPoint: [number, number, number]): KernelShape;
151
- makeHelixWire(pitch: number, height: number, radius: number, center?: [number, number, number], direction?: [number, number, number], leftHanded?: boolean): KernelShape;
152
- /** Build a wire from a mix of edges and wires (uses Add_1 for edges, Add_2 for wires). */
153
- makeWireFromMixed(items: KernelShape[]): KernelShape;
154
- makeCompound(shapes: KernelShape[]): KernelShape;
155
- makeBoxFromCorners(p1: [number, number, number], p2: [number, number, number]): KernelShape;
156
- makeRectangle(width: number, height: number): KernelShape;
157
- solidFromShell(shell: KernelShape): KernelShape;
158
- extrude(face: KernelShape, direction: [number, number, number], length: number): KernelShape;
159
- revolve(shape: KernelShape, axis: KernelType, angle: number): KernelShape;
160
- loft(wires: KernelShape[], ruled?: boolean, startShape?: KernelShape, endShape?: KernelShape): KernelShape;
161
- sweep(wire: KernelShape, spine: KernelShape, options?: {
162
- transitionMode?: number;
163
- }): KernelShape;
164
- simplePipe(profile: KernelShape, spine: KernelShape): KernelShape;
165
- fillet(shape: KernelShape, edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
166
- chamfer(shape: KernelShape, edges: KernelShape[], distance: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
167
- chamferDistAngle(shape: KernelShape, edges: KernelShape[], distance: number, angleDeg: number): KernelShape;
168
- shell(shape: KernelShape, faces: KernelShape[], thickness: number, tolerance?: number): KernelShape;
169
- thicken(shape: KernelShape, thickness: number): KernelShape;
170
- offset(shape: KernelShape, distance: number, tolerance?: number): KernelShape;
171
- /** Variable-radius fillet. Each entry specifies edges and radii per edge. */
172
- filletVariable(shape: KernelShape, spec: string): KernelShape;
173
- /** Helical sweep of a profile around an axis. */
174
- helicalSweep(profile: KernelShape, axisOrigin: [number, number, number], axisDirection: [number, number, number], radius: number, pitch: number, turns: number): KernelShape;
175
- /** Sweep with options (contact mode, scale law, segments). */
176
- sweepWithOptions(profile: KernelShape, pathEdge: KernelShape, contactMode: string, scaleValues: number[], segments: number): KernelShape;
177
- /** Draft (taper) faces of a solid along a pull direction with a neutral plane. */
178
- draft(shape: KernelShape, faces: KernelShape[], pullDirection: [number, number, number], neutralPlane: [number, number, number], angleDeg: number): KernelShape;
179
- /** Remove faces from a solid (defeaturing). */
180
- defeature(shape: KernelShape, faces: KernelShape[]): KernelShape;
181
- transform(shape: KernelShape, trsf: KernelType): KernelShape;
182
- translate(shape: KernelShape, x: number, y: number, z: number): KernelShape;
183
- rotate(shape: KernelShape, angle: number, axis?: readonly [number, number, number], center?: readonly [number, number, number]): KernelShape;
184
- mirror(shape: KernelShape, origin: readonly [number, number, number], normal: readonly [number, number, number]): KernelShape;
185
- scale(shape: KernelShape, center: readonly [number, number, number], factor: number): KernelShape;
186
- generalTransform(shape: KernelShape, linear: readonly [number, number, number, number, number, number, number, number, number], translation: readonly [number, number, number], isOrthogonal: boolean): KernelShape;
187
- /** Apply a non-orthogonal general transform (gp_GTrsf path for shear / non-uniform scale). */
188
- generalTransformNonOrthogonal(shape: KernelShape, linear: readonly [number, number, number, number, number, number, number, number, number], translation: readonly [number, number, number]): KernelShape;
189
- translateWithHistory(shape: KernelShape, x: number, y: number, z: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
190
- rotateWithHistory(shape: KernelShape, angle: number, inputFaceHashes: number[], hashUpperBound: number, axis?: readonly [number, number, number], center?: readonly [number, number, number]): OperationResult;
191
- mirrorWithHistory(shape: KernelShape, origin: readonly [number, number, number], normal: readonly [number, number, number], inputFaceHashes: number[], hashUpperBound: number): OperationResult;
192
- scaleWithHistory(shape: KernelShape, center: readonly [number, number, number], factor: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
193
- generalTransformWithHistory(shape: KernelShape, linear: readonly [number, number, number, number, number, number, number, number, number], translation: readonly [number, number, number], isOrthogonal: boolean, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
194
- fuseWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, options?: BooleanOptions): OperationResult;
195
- cutWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, options?: BooleanOptions): OperationResult;
196
- intersectWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, options?: BooleanOptions): OperationResult;
197
- filletWithHistory(shape: KernelShape, edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number]), inputFaceHashes: number[], hashUpperBound: number): OperationResult;
198
- chamferWithHistory(shape: KernelShape, edges: KernelShape[], distance: number | [number, number] | ((edge: KernelShape) => number | [number, number]), inputFaceHashes: number[], hashUpperBound: number): OperationResult;
199
- shellWithHistory(shape: KernelShape, faces: KernelShape[], thickness: number, inputFaceHashes: number[], hashUpperBound: number, tolerance?: number): OperationResult;
200
- thickenWithHistory(shape: KernelShape, thickness: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
201
- offsetWithHistory(shape: KernelShape, distance: number, inputFaceHashes: number[], hashUpperBound: number, tolerance?: number): OperationResult;
202
- mesh(shape: KernelShape, options: MeshOptions): KernelMeshResult;
203
- /**
204
- * Tessellate edges for wireframe display.
205
- *
206
- * **Cross-kernel note**: brepkit only supports linear deflection;
207
- * `angularTolerance` is ignored (a one-time warning is emitted).
208
- */
209
- meshEdges(shape: KernelShape, tolerance: number, angularTolerance: number): KernelEdgeMeshResult;
210
- /** Boolean operation on raw triangle data. Returns merged mesh. */
211
- meshBoolean(positionsA: number[], indicesA: number[], positionsB: number[], indicesB: number[], op: string, tolerance: number): KernelMeshResult;
212
- exportSTEP(shapes: KernelShape[]): string;
213
- exportSTL(shape: KernelShape, binary?: boolean): string | ArrayBuffer;
214
- importSTEP(data: string | ArrayBuffer): KernelShape[];
215
- importSTL(data: string | ArrayBuffer): KernelShape;
216
- exportIGES(shapes: KernelShape[]): string;
217
- importIGES(data: string | ArrayBuffer): KernelShape[];
218
- exportSTEPAssembly(parts: StepAssemblyPart[], options?: {
219
- unit?: string;
220
- }): string;
221
- /** Export shape to 3MF format. Returns binary data. */
222
- export3MF(shape: KernelShape, tolerance: number): ArrayBuffer;
223
- /** Export shape to GLB format. Returns binary data. */
224
- exportGLB(shape: KernelShape, tolerance: number): ArrayBuffer;
225
- /** Export shape to OBJ format. Returns binary data. */
226
- exportOBJ(shape: KernelShape, tolerance: number): ArrayBuffer;
227
- /** Export shape to PLY format (binary). Returns binary data. */
228
- exportPLY(shape: KernelShape, tolerance: number): ArrayBuffer;
229
- /** Import from 3MF format. Returns solid shapes. */
230
- import3MF(data: ArrayBuffer): KernelShape[];
231
- /** Import from OBJ format. Returns a solid shape. */
232
- importOBJ(data: ArrayBuffer): KernelShape;
233
- /** Import from GLB format. Returns a solid shape. */
234
- importGLB(data: ArrayBuffer): KernelShape;
235
- volume(shape: KernelShape): number;
236
- area(shape: KernelShape): number;
237
- length(shape: KernelShape): number;
238
- centerOfMass(shape: KernelShape): [number, number, number];
239
- linearCenterOfMass(shape: KernelShape): [number, number, number];
240
- boundingBox(shape: KernelShape): {
241
- min: [number, number, number];
242
- max: [number, number, number];
243
- };
244
- iterShapes(shape: KernelShape, type: ShapeType): KernelShape[];
245
- /** Iterate a TopTools_ListOfShape, calling a callback for each item. */
246
- iterShapeList(list: KernelShape, callback: (item: KernelShape) => void): void;
247
- shapeType(shape: KernelShape): ShapeType;
248
- isSame(a: KernelShape, b: KernelShape): boolean;
249
- isEqual(a: KernelShape, b: KernelShape): boolean;
250
- downcast(shape: KernelShape, type?: ShapeType): KernelShape;
251
- hashCode(shape: KernelShape, upperBound: number): number;
252
- isNull(shape: KernelShape): boolean;
253
- shapeOrientation(shape: KernelShape): ShapeOrientation;
254
- /** Get edge-to-face adjacency map as JSON. */
255
- edgeToFaceMap(shape: KernelShape): string;
256
- /** Get shared edges between two faces. */
257
- sharedEdges(faceA: KernelShape, faceB: KernelShape): KernelShape[];
258
- /** Get faces adjacent to a given face within a shape. */
259
- adjacentFaces(shape: KernelShape, face: KernelShape): KernelShape[];
260
- vertexPosition(vertex: KernelShape): [number, number, number];
261
- surfaceType(face: KernelShape): SurfaceType;
262
- uvBounds(face: KernelShape): {
263
- uMin: number;
264
- uMax: number;
265
- vMin: number;
266
- vMax: number;
267
- };
268
- outerWire(face: KernelShape): KernelShape;
269
- surfaceNormal(face: KernelShape, u: number, v: number): [number, number, number];
270
- pointOnSurface(face: KernelShape, u: number, v: number): [number, number, number];
271
- uvFromPoint(face: KernelShape, point: [number, number, number]): [number, number] | null;
272
- projectPointOnFace(face: KernelShape, point: [number, number, number]): [number, number, number];
273
- curveTangent(shape: KernelShape, param: number): {
274
- point: [number, number, number];
275
- tangent: [number, number, number];
276
- };
277
- curveParameters(shape: KernelShape): [number, number];
278
- /** Evaluate a point at a raw parameter value on a curve. */
279
- curvePointAtParam(shape: KernelShape, param: number): [number, number, number];
280
- /** Check if a curve is closed. */
281
- curveIsClosed(shape: KernelShape): boolean;
282
- /** Check if a curve is periodic. */
283
- curveIsPeriodic(shape: KernelShape): boolean;
284
- /** Get the period of a periodic curve. */
285
- curvePeriod(shape: KernelShape): number;
286
- /** Get the geometric curve type (LINE, CIRCLE, BSPLINE, etc.). */
287
- curveType(shape: KernelShape): string;
288
- simplify(shape: KernelShape): KernelShape;
289
- /**
290
- * Check if a shape is topologically and geometrically valid.
291
- *
292
- * Uses relaxed validation when available — accepts NURBS approximation
293
- * tolerances that strict mode would flag. Suitable for general "is this
294
- * shape usable?" checks.
295
- *
296
- * **Cross-kernel note**: OCCT uses `BRepCheck_Analyzer` (no relaxed
297
- * variant). brepkit uses `validateSolidRelaxed()` which tolerates
298
- * NURBS-approximated analytic shapes (cylinders, cones, tori).
299
- */
300
- isValid(shape: KernelShape): boolean;
301
- /**
302
- * Strict validation — fails on any geometric or topological issue,
303
- * including NURBS approximation gaps.
304
- *
305
- * Used by {@link isManifoldShell} as a proof that a shell forms a
306
- * watertight solid. Falls back to {@link isValid} if not overridden.
307
- *
308
- * **Cross-kernel note**: OCCT's `BRepCheck_Analyzer` is inherently
309
- * strict, so this is identical to `isValid`. brepkit uses
310
- * `validateSolid()` (strict) rather than `validateSolidRelaxed()`.
311
- */
312
- isValidStrict?(shape: KernelShape): boolean;
313
- sew(shapes: KernelShape[], tolerance?: number): KernelShape;
314
- healSolid(shape: KernelShape): KernelShape | null;
315
- healFace(shape: KernelShape): KernelShape;
316
- healWire(wire: KernelShape, face?: KernelShape): KernelShape;
317
- /** Merge coincident vertices within tolerance. Returns merge count. */
318
- mergeCoincidentVertices(shape: KernelShape, tolerance: number): number;
319
- /** Remove zero-length (degenerate) edges. Returns removal count. */
320
- removeDegenerateEdges(shape: KernelShape, tolerance: number): number;
321
- /** Fix face orientations for consistent normals. Returns fix count. */
322
- fixFaceOrientations(shape: KernelShape): number;
323
- offsetWire2D(wire: KernelShape, offset: number, joinType?: number | 'arc' | 'intersection' | 'tangent'): KernelShape;
324
- distance(shape1: KernelShape, shape2: KernelShape): DistanceResult;
325
- classifyPointOnFace(face: KernelShape, u: number, v: number, tolerance?: number): 'in' | 'on' | 'out';
326
- /** Classify a point using robust dual-method. */
327
- classifyPointRobust(shape: KernelShape, point: [number, number, number], tolerance: number): string;
328
- /** Classify a point using winding numbers. */
329
- classifyPointWinding(shape: KernelShape, point: [number, number, number], tolerance: number): string;
330
- split(shape: KernelShape, tools: KernelShape[]): KernelShape;
331
- interpolatePoints(points: [number, number, number][], options?: {
332
- periodic?: boolean;
333
- tolerance?: number;
334
- }): KernelShape;
335
- approximatePoints(points: [number, number, number][], options?: {
336
- tolerance?: number;
337
- degMin?: number;
338
- degMax?: number;
339
- smoothing?: [number, number, number] | null;
340
- }): KernelShape;
341
- /** Elevate the degree of a NURBS edge curve. */
342
- curveDegreeElevate(edge: KernelShape, elevateBy: number): KernelShape;
343
- /** Insert a knot into a NURBS edge curve. */
344
- curveKnotInsert(edge: KernelShape, knot: number, times: number): KernelShape;
345
- /** Remove a knot from a NURBS edge curve. */
346
- curveKnotRemove(edge: KernelShape, knot: number, tolerance: number): KernelShape;
347
- /** Split a NURBS edge curve at a parameter. Returns two edges. */
348
- curveSplit(edge: KernelShape, param: number): [KernelShape, KernelShape];
349
- /** Approximate a surface via LSPIA. */
350
- approximateSurfaceLspia(coords: number[], rows: number, cols: number, degreeU: number, degreeV: number, numCpsU: number, numCpsV: number, tolerance: number, maxIterations: number): KernelShape;
351
- /** Untrim a NURBS face to its full surface domain. */
352
- untrimFace(face: KernelShape, samplesPerCurve: number, interiorSamples: number): KernelShape;
353
- /**
354
- * Serialize a shape to a string format for persistence.
355
- *
356
- * **Cross-kernel warning**: The serialization format is kernel-specific.
357
- * OCCT uses its native BREP text format; brepkit proxies to STEP.
358
- * Data produced by one kernel cannot be deserialized by the other.
359
- * Only use for same-kernel round-trips.
360
- */
361
- toBREP(shape: KernelShape): string;
362
- /** @see {@link toBREP} for cross-kernel compatibility notes. */
363
- fromBREP(data: string): KernelShape;
364
- hasTriangulation(shape: KernelShape): boolean;
365
- meshShape(shape: KernelShape, tolerance: number, angularTolerance: number): void;
366
- /** Create a composed transform from a sequence of translate/rotate operations. Returns an opaque handle. */
367
- composeTransform(ops: Array<{
368
- type: 'translate';
369
- x: number;
370
- y: number;
371
- z: number;
372
- } | {
373
- type: 'rotate';
374
- angle: number;
375
- axis?: readonly [number, number, number] | undefined;
376
- center?: readonly [number, number, number] | undefined;
377
- }>): {
378
- handle: KernelType;
379
- dispose: () => void;
380
- };
381
- /** Apply a composed transform to a shape with history tracking. */
382
- applyComposedTransformWithHistory(shape: KernelShape, transformHandle: KernelType, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
383
- /** Sweep a profile along a spine with advanced options (transition mode, auxiliary spine, law). */
384
- sweepPipeShell(profile: KernelShape, spine: KernelShape, options?: {
385
- transitionMode?: 'transformed' | 'round' | 'right';
386
- auxiliary?: KernelShape;
387
- law?: KernelType;
388
- contact?: boolean;
389
- correction?: boolean;
390
- frenet?: boolean;
391
- support?: KernelType;
392
- shellMode?: boolean;
393
- tolerance?: number | undefined;
394
- boundTolerance?: number | undefined;
395
- angularTolerance?: number | undefined;
396
- maxDegree?: number | undefined;
397
- maxSegments?: number | undefined;
398
- }): KernelShape | {
399
- shape: KernelShape;
400
- firstShape: KernelShape;
401
- lastShape: KernelShape;
402
- };
403
- /** Loft through wires with options for shell mode, ruled surface, and vertex caps. */
404
- loftAdvanced(wires: KernelShape[], options?: {
405
- solid?: boolean;
406
- ruled?: boolean;
407
- tolerance?: number;
408
- startVertex?: KernelShape;
409
- endVertex?: KernelShape;
410
- }): KernelShape;
411
- /** Build an extrusion scaling law (s-curve or linear). */
412
- buildExtrusionLaw(profile: 'linear' | 's-curve', length: number, endFactor: number): KernelType;
413
- /** Revolve a shape around an axis defined by center+direction (Vec3s, not KernelType axis). */
414
- revolveVec(shape: KernelShape, center: [number, number, number], direction: [number, number, number], angle: number): KernelShape;
415
- /** Position a shape at a parameter along a spine curve (Frenet frame transform). */
416
- positionOnCurve(shape: KernelShape, spine: KernelShape, param: number): KernelShape;
417
- /** Generate a linear pattern of shapes with pooled transforms for performance. */
418
- linearPattern(shape: KernelShape, direction: [number, number, number], spacing: number, count: number): KernelShape[];
419
- /** Generate a circular pattern of shapes. */
420
- circularPattern(shape: KernelShape, center: [number, number, number], axis: [number, number, number], angleStep: number, count: number): KernelShape[];
421
- /** Generate a 2D grid pattern (brepkit-native). Returns a compound. */
422
- gridPattern?(shape: KernelShape, directionX: [number, number, number], directionY: [number, number, number], spacingX: number, spacingY: number, countX: number, countY: number): KernelShape;
423
- /** Build a non-planar face by filling a wire's boundary. */
424
- makeNonPlanarFace(wire: KernelShape): KernelShape;
425
- /** Add hole wires to an existing face. */
426
- addHolesInFace(face: KernelShape, holeWires: KernelShape[]): KernelShape;
427
- /** Remove all inner wires (holes) from a face. Returns a new face with only the outer boundary. */
428
- removeHolesFromFace(face: KernelShape): KernelShape;
429
- /** Build a face on an existing surface bounded by a wire. */
430
- makeFaceOnSurface(surface: KernelType, wire: KernelShape): KernelShape;
431
- /** Fit a B-spline surface through a grid of Z-heights. */
432
- bsplineSurface(points: [number, number, number][], rows: number, cols: number): KernelShape;
433
- /** Build a triangulated surface from a height grid. */
434
- triangulatedSurface(points: [number, number, number][], rows: number, cols: number): KernelShape;
435
- /**
436
- * Build a triangular face from 3 points. Returns null if degenerate.
437
- * Used by importers, hull, roof, and surface builders.
438
- */
439
- buildTriFace(a: [number, number, number], b: [number, number, number], c: [number, number, number]): KernelShape | null;
440
- /** Sew triangular faces into a shell and convert to solid. */
441
- sewAndSolidify(faces: KernelShape[], tolerance: number): KernelShape;
442
- /** Run ShapeFix_Shape on a shape (fixes orientation, etc.). */
443
- fixShape(shape: KernelShape): KernelShape;
444
- /** Fix self-intersections in a wire. */
445
- fixSelfIntersection(wire: KernelShape): KernelShape;
446
- /** Compute surface curvature at a UV point on a face. */
447
- surfaceCurvature(face: KernelShape, u: number, v: number): {
448
- gaussian: number;
449
- mean: number;
450
- max: number;
451
- min: number;
452
- maxDirection: [number, number, number];
453
- minDirection: [number, number, number];
454
- };
455
- /** Surface-based center of mass (uses surface properties, not volume). */
456
- surfaceCenterOfMass(face: KernelShape): [number, number, number];
457
- /** Create a persistent distance query tool for repeated measurements. */
458
- createDistanceQuery(referenceShape: KernelShape): {
459
- distanceTo(shape: KernelShape): {
460
- value: number;
461
- point1: [number, number, number];
462
- point2: [number, number, number];
463
- };
464
- dispose(): void;
465
- };
466
- /** Detect small features (faces below area threshold). Returns face shapes. */
467
- detectSmallFeatures(shape: KernelShape, areaThreshold: number, tolerance: number): KernelShape[];
468
- /** Recognize geometric features. Returns JSON description. */
469
- recognizeFeatures(shape: KernelShape, tolerance: number): string;
470
- /** Project 3D edges onto a 2D plane (hidden line removal). */
471
- projectEdges(shape: KernelShape, cameraOrigin: [number, number, number], cameraDirection: [number, number, number], cameraXAxis?: [number, number, number]): {
472
- visible: {
473
- outline: KernelShape;
474
- smooth: KernelShape;
475
- sharp: KernelShape;
476
- };
477
- hidden: {
478
- outline: KernelShape;
479
- smooth: KernelShape;
480
- sharp: KernelShape;
481
- };
482
- };
483
- /** Create a draft prism (tapered extrusion with draft angle). */
484
- draftPrism(shape: KernelShape, face: KernelShape, baseFace: KernelShape, height: number | null, angleDeg: number, fuse: boolean): KernelShape;
485
- /** Create an XCAF document with named, colored shape nodes. Returns the doc handle (caller must delete). */
486
- createXCAFDocument(shapes: Array<{
487
- shape: KernelShape;
488
- name: string;
489
- color?: [number, number, number, number] | undefined;
490
- }>): KernelType;
491
- /** Write an XCAF document to STEP format and return the string. */
492
- writeXCAFToSTEP(doc: KernelType, options?: {
493
- unit?: string | undefined;
494
- modelUnit?: string | undefined;
495
- }): string;
496
- /** Export shapes to STEP with full configuration (units, assembly mode). */
497
- exportSTEPConfigured(shapes: Array<{
498
- shape: KernelShape;
499
- name?: string | undefined;
500
- color?: [number, number, number, number] | undefined;
501
- }>, options?: {
502
- unit?: string | undefined;
503
- modelUnit?: string | undefined;
504
- schema?: number | undefined;
505
- }): string;
506
- /** Wrap a JS string as a kernel extended string. */
507
- wrapString(str: string): KernelType;
508
- /** Create a kernel color from RGB 0-255 and alpha 0-1. */
509
- wrapColor(red: number, green: number, blue: number, alpha: number): KernelType;
510
- /** Configure STEP writer unit settings. */
511
- configureStepUnits(unit: string | undefined, modelUnit: string | undefined): void;
512
- /** Configure STEP writer standard settings (color, layer, name, schema). */
513
- configureStepWriter(writer: KernelType): void;
514
- /** Create a BRepAdaptor for curve evaluation (CompCurve for wires, Curve for edges). */
515
- createCurveAdaptor(shape: KernelShape): KernelType;
516
- /** Get the second-to-last Bezier control pole of a 3D edge curve. */
517
- getBezierPenultimatePole(edge: KernelShape): [number, number, number] | null;
518
- /** Extract cylinder data from a surface handle. Returns null if not a cylinder. */
519
- getSurfaceCylinderData(surface: KernelType): {
520
- radius: number;
521
- isDirect: boolean;
522
- } | null;
523
- /** Reverse the U direction of a surface. Returns a new surface handle. */
524
- reverseSurfaceU(surface: KernelType): KernelType;
525
- createPoint3d(x: number, y: number, z: number): KernelType;
526
- createDirection3d(x: number, y: number, z: number): KernelType;
527
- createVector3d(x: number, y: number, z: number): KernelType;
528
- createAxis1(cx: number, cy: number, cz: number, dx: number, dy: number, dz: number): KernelType;
529
- createAxis2(ox: number, oy: number, oz: number, zx: number, zy: number, zz: number, xx?: number, xy?: number, xz?: number): KernelType;
530
- createAxis3(ox: number, oy: number, oz: number, zx: number, zy: number, zz: number, xx?: number, xy?: number, xz?: number): KernelType;
531
- /** Return a copy of the shape with reversed orientation. */
532
- reverseShape(shape: KernelShape): KernelShape;
533
- /** Execute a batch of kernel operations from JSON. Returns JSON result. */
534
- executeBatch(json: string): string;
535
- /** Create an arena checkpoint. Returns checkpoint index. */
536
- checkpoint(): number;
537
- /** Get the current number of active checkpoints. */
538
- checkpointCount(): number;
539
- /** Restore arena to a checkpoint, freeing all handles created after it. */
540
- restoreCheckpoint(cp: number): void;
541
- /** Discard a checkpoint without restoring (keep all handles). */
542
- discardCheckpoint(cp: number): void;
543
- dispose(handle: {
544
- delete(): void;
545
- }): void;
546
- }
102
+ export type { KernelAdapter } from './interfaces/index.js';
547
103
  /** Capability for 2D constraint sketch solving. */
548
104
  export interface ConstraintSketchCapability {
549
105
  /** Create a new constraint sketch. Returns an opaque sketch handle. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kernel/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kernel/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
- /**
2
- * WeakMap-based cache for immutable shape measurement results.
3
- *
4
- * Shapes in brepjs are immutable after creation — boolean ops produce new shapes.
5
- * This cache avoids redundant WASM calls for repeated measurements on the same shape.
6
- * WeakMap keys auto-expire when shapes are GC'd.
7
- */
8
- export declare function getCachedMeasurement(shape: object, key: string): unknown;
9
- export declare function setCachedMeasurement(shape: object, key: string, value: unknown): void;
1
+ import { VolumeProps, SurfaceProps, LinearProps } from './measureTypes.js';
2
+ /** Maps measurement keys to their corresponding result types. */
3
+ export interface MeasurementValueMap {
4
+ volume: VolumeProps;
5
+ surface: SurfaceProps;
6
+ linear: LinearProps;
7
+ }
8
+ /** Valid measurement cache keys. */
9
+ export type MeasurementKey = keyof MeasurementValueMap;
10
+ export declare function getCachedMeasurement<K extends MeasurementKey>(shape: object, key: K): MeasurementValueMap[K] | undefined;
11
+ export declare function setCachedMeasurement<K extends MeasurementKey>(shape: object, key: K, value: MeasurementValueMap[K]): void;
10
12
  export declare function clearMeasurementCache(shape?: object): void;
11
13
  //# sourceMappingURL=measureCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"measureCache.d.ts","sourceRoot":"","sources":["../../src/measurement/measureCache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAOrF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAM1D"}
1
+ {"version":3,"file":"measureCache.d.ts","sourceRoot":"","sources":["../../src/measurement/measureCache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhF,iEAAiE;AACjE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC;AAIvD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,cAAc,EAC3D,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,CAAC,GACL,mBAAmB,CAAC,CAAC,CAAC,GAAG,SAAS,CAEpC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,cAAc,EAC3D,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC5B,IAAI,CAON;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAM1D"}