@metamesh/modeling 0.19.0 → 0.20.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 (789) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +34 -18
  3. package/dist/api/engine.d.ts +217 -121
  4. package/dist/api/export.d.ts +123 -79
  5. package/dist/api/geometry.d.ts +406 -2102
  6. package/dist/api/index.d.ts +472 -1798
  7. package/dist/api/math.d.ts +315 -0
  8. package/dist/api/mechanical.d.ts +1041 -0
  9. package/dist/api/mesh.d.ts +360 -88
  10. package/dist/api/text.d.ts +24 -44
  11. package/dist/docs/guides/concepts.md +67 -33
  12. package/dist/docs/guides/exporting.md +88 -0
  13. package/dist/docs/guides/fonts.md +5 -3
  14. package/dist/docs/guides/fundamentals.md +12 -24
  15. package/dist/docs/guides/generation.md +24 -16
  16. package/dist/docs/guides/geometry-values.md +192 -134
  17. package/dist/docs/guides/hosting.md +51 -96
  18. package/dist/docs/guides/profiles-and-extrusion.md +159 -11
  19. package/dist/docs/guides/recipes.md +121 -28
  20. package/dist/docs/guides/resolution-and-inspection.md +43 -23
  21. package/dist/docs/guides/solid-joins.md +12 -2
  22. package/dist/docs/guides/standalone-model.md +4 -2
  23. package/dist/docs/guides/svg-and-text.md +76 -39
  24. package/dist/docs/guides/sweeps-and-lofts.md +88 -44
  25. package/dist/docs/guides/transforms-and-placement.md +113 -103
  26. package/dist/docs/guides/workers.md +166 -0
  27. package/dist/docs/manifest.json +4133 -4153
  28. package/dist/docs/reference/engine/GenerationOptions.md +2 -3
  29. package/dist/docs/reference/engine/GeometryResource.md +6 -6
  30. package/dist/docs/reference/engine/ModelDependencies.md +2 -2
  31. package/dist/docs/reference/engine/ModelEngine.md +2 -3
  32. package/dist/docs/reference/engine/ModelEngineOptions.md +2 -7
  33. package/dist/docs/reference/engine/ModelPart.md +6 -6
  34. package/dist/docs/reference/engine/ModelResult.md +2 -2
  35. package/dist/docs/reference/engine/ModelRunArguments.md +2 -2
  36. package/dist/docs/reference/engine/ModelRunOptions.md +2 -3
  37. package/dist/docs/reference/engine/ModelSession.md +2 -2
  38. package/dist/docs/reference/engine/SessionOptions.md +2 -3
  39. package/dist/docs/reference/engine/categories/host-lifecycle.md +9 -3
  40. package/dist/docs/reference/engine/checkModel.md +6 -2
  41. package/dist/docs/reference/engine/createModelEngine.md +5 -3
  42. package/dist/docs/reference/engine/defaultModelingLimits.md +4 -11
  43. package/dist/docs/reference/engine/modelingWasmUrl.md +2 -2
  44. package/dist/docs/reference/engine.md +7 -1
  45. package/dist/docs/reference/export/Export3mfOptions.md +2 -6
  46. package/dist/docs/reference/export/ExportDiagnostic.md +2 -14
  47. package/dist/docs/reference/export/ExportFormat.md +2 -14
  48. package/dist/docs/reference/export/ExportGeometry.md +3 -15
  49. package/dist/docs/reference/export/ExportGlbOptions.md +14 -18
  50. package/dist/docs/reference/export/ExportLimits.md +2 -14
  51. package/dist/docs/reference/export/ExportMaterial.md +2 -14
  52. package/dist/docs/reference/export/ExportOptions.md +2 -14
  53. package/dist/docs/reference/export/ExportPart.md +2 -14
  54. package/dist/docs/reference/export/ExportReport.md +2 -14
  55. package/dist/docs/reference/export/ExportSink.md +5 -15
  56. package/dist/docs/reference/export/ExportStlOptions.md +2 -6
  57. package/dist/docs/reference/export/ExportedFile.md +14 -26
  58. package/dist/docs/reference/export/categories/mesh-serialization.md +9 -3
  59. package/dist/docs/reference/export/defaultExportLimits.md +2 -2
  60. package/dist/docs/reference/export/export3mf.md +4 -6
  61. package/dist/docs/reference/export/exportGlb.md +8 -10
  62. package/dist/docs/reference/export/exportStl.md +4 -6
  63. package/dist/docs/reference/export/write3mf.md +6 -6
  64. package/dist/docs/reference/export/writeGlb.md +10 -10
  65. package/dist/docs/reference/export/writeStl.md +6 -6
  66. package/dist/docs/reference/export.md +9 -3
  67. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
  68. package/dist/docs/reference/geometry/Anchor3-type.md +3 -7
  69. package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
  70. package/dist/docs/reference/geometry/ArcCurve2.md +3 -3
  71. package/dist/docs/reference/geometry/ArcCurve3.md +3 -3
  72. package/dist/docs/reference/geometry/AttachOptions.md +4 -9
  73. package/dist/docs/reference/geometry/Bounds2-type.md +9 -30
  74. package/dist/docs/reference/geometry/Bounds2Data.md +2 -19
  75. package/dist/docs/reference/geometry/Bounds2Input.md +2 -10
  76. package/dist/docs/reference/geometry/Bounds2Options.md +2 -6
  77. package/dist/docs/reference/geometry/Bounds3-type.md +9 -30
  78. package/dist/docs/reference/geometry/Bounds3Data.md +2 -15
  79. package/dist/docs/reference/geometry/Bounds3Input.md +2 -10
  80. package/dist/docs/reference/geometry/Bounds3Options.md +2 -6
  81. package/dist/docs/reference/geometry/BoundsFit2.md +2 -2
  82. package/dist/docs/reference/geometry/BoundsFit3.md +2 -2
  83. package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -2
  84. package/dist/docs/reference/geometry/BoxAnchorFace.md +3 -3
  85. package/dist/docs/reference/geometry/BoxAnchorOptions.md +3 -3
  86. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +3 -7
  87. package/dist/docs/reference/geometry/CircleContourOptions.md +3 -7
  88. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +3 -12
  89. package/dist/docs/reference/geometry/CircularResolutionOptions.md +2 -2
  90. package/dist/docs/reference/geometry/CircularSampling.md +2 -2
  91. package/dist/docs/reference/geometry/CircularSamplingOptions.md +2 -2
  92. package/dist/docs/reference/geometry/Contour.md +4 -9
  93. package/dist/docs/reference/geometry/ContourCurve.md +3 -3
  94. package/dist/docs/reference/geometry/ContourPoint.md +3 -3
  95. package/dist/docs/reference/geometry/ContourSegment.md +3 -3
  96. package/dist/docs/reference/geometry/CorrespondingComponent.md +3 -7
  97. package/dist/docs/reference/geometry/CorrespondingContour.md +3 -7
  98. package/dist/docs/reference/geometry/CorrespondingProfile.md +3 -7
  99. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +4 -8
  100. package/dist/docs/reference/geometry/CubicBezierCurve2.md +3 -3
  101. package/dist/docs/reference/geometry/CubicBezierCurve3.md +3 -3
  102. package/dist/docs/reference/geometry/Curve2.md +3 -3
  103. package/dist/docs/reference/geometry/Curve3.md +3 -3
  104. package/dist/docs/reference/geometry/CurveSamplingOptions.md +3 -11
  105. package/dist/docs/reference/geometry/CylinderAnchorFace.md +3 -3
  106. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +4 -4
  107. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +2 -2
  108. package/dist/docs/reference/geometry/EdgeTreatment.md +2 -6
  109. package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -7
  110. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +9 -18
  111. package/dist/docs/reference/geometry/FittedTextLayout.md +2 -2
  112. package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +4 -11
  113. package/dist/docs/reference/geometry/Frame3Options.md +69 -0
  114. package/dist/docs/reference/geometry/GeometryError.md +2 -6
  115. package/dist/docs/reference/geometry/GeometryErrorCode.md +2 -6
  116. package/dist/docs/reference/geometry/GeometryErrorContext.md +2 -6
  117. package/dist/docs/reference/geometry/GeometryResolution.md +2 -10
  118. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +3 -11
  119. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +3 -11
  120. package/dist/docs/reference/geometry/GridPatternOptions.md +7 -9
  121. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +2 -10
  122. package/dist/docs/reference/geometry/LineCurve2.md +3 -3
  123. package/dist/docs/reference/geometry/LineCurve3.md +3 -3
  124. package/dist/docs/reference/geometry/LinearPatternOptions.md +2 -6
  125. package/dist/docs/reference/geometry/LoftPlacement.md +13 -21
  126. package/dist/docs/reference/geometry/MatchProfilesOptions.md +3 -7
  127. package/dist/docs/reference/geometry/ModelingLimits.md +2 -14
  128. package/dist/docs/reference/geometry/NumericArray.md +2 -10
  129. package/dist/docs/reference/geometry/Path2-type.md +153 -12
  130. package/dist/docs/reference/geometry/Path2Data.md +3 -11
  131. package/dist/docs/reference/geometry/Path2Input.md +3 -11
  132. package/dist/docs/reference/geometry/Path3-type.md +153 -12
  133. package/dist/docs/reference/geometry/Path3Data.md +3 -11
  134. package/dist/docs/reference/geometry/Path3Input.md +3 -11
  135. package/dist/docs/reference/geometry/PathFrame.md +3 -3
  136. package/dist/docs/reference/geometry/PathLocation.md +3 -11
  137. package/dist/docs/reference/geometry/PathNormalGuide.md +4 -12
  138. package/dist/docs/reference/geometry/PathOptions.md +3 -7
  139. package/dist/docs/reference/geometry/PathPatternOptions.md +3 -7
  140. package/dist/docs/reference/geometry/PathPlacement.md +5 -5
  141. package/dist/docs/reference/geometry/PathResamplingOptions.md +3 -11
  142. package/dist/docs/reference/geometry/PathStation.md +87 -0
  143. package/dist/docs/reference/geometry/PathSubdivisionOptions.md +44 -0
  144. package/dist/docs/reference/geometry/Pivot2Options.md +3 -11
  145. package/dist/docs/reference/geometry/Pivot3Options.md +3 -11
  146. package/dist/docs/reference/geometry/PolygonData.md +4 -8
  147. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +3 -3
  148. package/dist/docs/reference/geometry/Profile.md +3 -4
  149. package/dist/docs/reference/geometry/ProfileComponent2.md +3 -7
  150. package/dist/docs/reference/geometry/ProfileContour2.md +3 -7
  151. package/dist/docs/reference/geometry/ProfileSpan2.md +3 -7
  152. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +5 -8
  153. package/dist/docs/reference/geometry/RadialPatternOptions.md +2 -6
  154. package/dist/docs/reference/geometry/RadialSizing.md +2 -6
  155. package/dist/docs/reference/geometry/RadialSizingOptions.md +2 -6
  156. package/dist/docs/reference/geometry/RectangleContourOptions.md +4 -7
  157. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +3 -7
  158. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +3 -7
  159. package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
  160. package/dist/docs/reference/geometry/RegionData.md +3 -7
  161. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +3 -3
  162. package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
  163. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +2 -2
  164. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +2 -6
  165. package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -2
  166. package/dist/docs/reference/geometry/SampleContourOptions.md +3 -3
  167. package/dist/docs/reference/geometry/SampleHelixOptions.md +3 -3
  168. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +3 -3
  169. package/dist/docs/reference/geometry/SampledCurve2.md +3 -3
  170. package/dist/docs/reference/geometry/SampledCurve3.md +3 -3
  171. package/dist/docs/reference/geometry/SideProfileCurve.md +3 -3
  172. package/dist/docs/reference/geometry/SideProfilePoint.md +3 -3
  173. package/dist/docs/reference/geometry/SideProfileSegment.md +3 -3
  174. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +2 -6
  175. package/dist/docs/reference/geometry/SplineOptions.md +69 -0
  176. package/dist/docs/reference/geometry/StarContourOptions.md +7 -7
  177. package/dist/docs/reference/geometry/StrokeCap.md +2 -6
  178. package/dist/docs/reference/geometry/StrokeJoin.md +2 -6
  179. package/dist/docs/reference/geometry/StrokeOptions.md +3 -7
  180. package/dist/docs/reference/geometry/SvgImportOptions.md +4 -4
  181. package/dist/docs/reference/geometry/SvgRegionPreflight.md +2 -2
  182. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +2 -2
  183. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +2 -2
  184. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +2 -2
  185. package/dist/docs/reference/geometry/Transform2-type.md +3 -11
  186. package/dist/docs/reference/geometry/Transform2Data.md +3 -11
  187. package/dist/docs/reference/geometry/Transform2Input.md +3 -11
  188. package/dist/docs/reference/geometry/Transform3-type.md +4 -12
  189. package/dist/docs/reference/geometry/Transform3Data.md +3 -11
  190. package/dist/docs/reference/geometry/Transform3Input.md +6 -13
  191. package/dist/docs/reference/geometry/Vector2-type.md +3 -11
  192. package/dist/docs/reference/geometry/Vector2Data.md +3 -15
  193. package/dist/docs/reference/geometry/Vector2Input.md +3 -11
  194. package/dist/docs/reference/geometry/Vector3-type.md +27 -11
  195. package/dist/docs/reference/geometry/Vector3Data.md +3 -11
  196. package/dist/docs/reference/geometry/Vector3Input.md +3 -11
  197. package/dist/docs/reference/geometry/VectorTextLayout.md +2 -10
  198. package/dist/docs/reference/geometry/VectorTextMetrics.md +3 -11
  199. package/dist/docs/reference/geometry/anchor3.md +17 -26
  200. package/dist/docs/reference/geometry/anchorFrame3.md +6 -6
  201. package/dist/docs/reference/geometry/attachmentTransform3.md +8 -8
  202. package/dist/docs/reference/geometry/bounds2.md +6 -8
  203. package/dist/docs/reference/geometry/bounds3.md +4 -6
  204. package/dist/docs/reference/geometry/boundsCenter.md +2 -2
  205. package/dist/docs/reference/geometry/boundsSize.md +2 -2
  206. package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
  207. package/dist/docs/reference/geometry/categories/bounds-layout.md +9 -3
  208. package/dist/docs/reference/geometry/categories/curves-paths.md +24 -13
  209. package/dist/docs/reference/geometry/categories/immutable-data.md +40 -0
  210. package/dist/docs/reference/geometry/categories/pattern-placement.md +10 -4
  211. package/dist/docs/reference/geometry/categories/primitive-options.md +8 -13
  212. package/dist/docs/reference/geometry/categories/profiles-regions.md +11 -5
  213. package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -1
  214. package/dist/docs/reference/geometry/categories/transforms-math.md +20 -51
  215. package/dist/docs/reference/geometry/categories/vector-import.md +7 -4
  216. package/dist/docs/reference/geometry/circleContour.md +3 -3
  217. package/dist/docs/reference/geometry/closeToAxis.md +7 -3
  218. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +9 -6
  219. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +13 -6
  220. package/dist/docs/reference/geometry/contourContainsPoint.md +7 -3
  221. package/dist/docs/reference/geometry/cylinderAnchor3.md +5 -5
  222. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +3 -3
  223. package/dist/docs/reference/geometry/distributeAlongPath.md +16 -11
  224. package/dist/docs/reference/geometry/ellipseContour.md +3 -3
  225. package/dist/docs/reference/geometry/fitBounds.md +10 -2
  226. package/dist/docs/reference/geometry/fitTextLayout.md +5 -5
  227. package/dist/docs/reference/geometry/frame3.md +66 -0
  228. package/dist/docs/reference/geometry/gridPatternTransforms.md +6 -6
  229. package/dist/docs/reference/geometry/immutableBuffer.md +5 -7
  230. package/dist/docs/reference/geometry/isGeometryError.md +2 -6
  231. package/dist/docs/reference/geometry/layoutRow.md +4 -2
  232. package/dist/docs/reference/geometry/linearPatternTransforms.md +6 -6
  233. package/dist/docs/reference/geometry/matchProfiles.md +5 -3
  234. package/dist/docs/reference/geometry/normalizeContour.md +8 -4
  235. package/dist/docs/reference/geometry/normalizePolygon.md +5 -3
  236. package/dist/docs/reference/geometry/normalizeRegion.md +5 -3
  237. package/dist/docs/reference/geometry/path2.md +7 -7
  238. package/dist/docs/reference/geometry/path3.md +7 -7
  239. package/dist/docs/reference/geometry/pathPatternTransforms.md +12 -8
  240. package/dist/docs/reference/geometry/preflightSvgRegion.md +5 -5
  241. package/dist/docs/reference/geometry/radialPatternTransforms.md +5 -5
  242. package/dist/docs/reference/geometry/rectangleContour.md +3 -3
  243. package/dist/docs/reference/geometry/rectangleProfile.md +3 -4
  244. package/dist/docs/reference/geometry/regionArea.md +3 -3
  245. package/dist/docs/reference/geometry/regionBounds.md +6 -4
  246. package/dist/docs/reference/geometry/regularPolygonContour.md +3 -3
  247. package/dist/docs/reference/geometry/resamplePolyline2.md +7 -3
  248. package/dist/docs/reference/geometry/resamplePolyline3.md +7 -3
  249. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +5 -5
  250. package/dist/docs/reference/geometry/resolveArcSegments.md +8 -6
  251. package/dist/docs/reference/geometry/resolveCircularSampling.md +2 -2
  252. package/dist/docs/reference/geometry/resolveCircularSegments.md +5 -3
  253. package/dist/docs/reference/geometry/{resolveExtrusionDivisions.md → resolveExtrusionSlices.md} +16 -15
  254. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -3
  255. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +3 -3
  256. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +12 -5
  257. package/dist/docs/reference/geometry/sampleContour.md +5 -5
  258. package/dist/docs/reference/geometry/sampleCurve2.md +7 -3
  259. package/dist/docs/reference/geometry/sampleCurve3.md +7 -3
  260. package/dist/docs/reference/geometry/sampleHelix.md +3 -3
  261. package/dist/docs/reference/geometry/sampleSideProfile.md +5 -5
  262. package/dist/docs/reference/geometry/sampleTextContours.md +3 -3
  263. package/dist/docs/reference/geometry/signedContourArea.md +5 -3
  264. package/dist/docs/reference/geometry/spline2.md +68 -0
  265. package/dist/docs/reference/geometry/spline3.md +62 -0
  266. package/dist/docs/reference/geometry/starContour.md +3 -3
  267. package/dist/docs/reference/geometry/strokeRegionData.md +8 -5
  268. package/dist/docs/reference/geometry/transform2.md +5 -7
  269. package/dist/docs/reference/geometry/transform3.md +23 -10
  270. package/dist/docs/reference/geometry/transformRegionData.md +7 -3
  271. package/dist/docs/reference/geometry/triangulateContour.md +6 -4
  272. package/dist/docs/reference/geometry/vector2.md +6 -8
  273. package/dist/docs/reference/geometry/vector3.md +8 -8
  274. package/dist/docs/reference/geometry.md +13 -18
  275. package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +4 -5
  276. package/dist/docs/reference/math/IDENTITY_TRANSFORM3.md +20 -0
  277. package/dist/docs/reference/math/add2.md +38 -0
  278. package/dist/docs/reference/math/add3.md +46 -0
  279. package/dist/docs/reference/math/applyTransformDirection3.md +46 -0
  280. package/dist/docs/reference/math/applyTransformPoint3.md +44 -0
  281. package/dist/docs/reference/math/categories/tuple-matrix.md +67 -0
  282. package/dist/docs/reference/math/cross2.md +38 -0
  283. package/dist/docs/reference/math/cross3.md +44 -0
  284. package/dist/docs/reference/math/distance2.md +38 -0
  285. package/dist/docs/reference/math/distance3.md +38 -0
  286. package/dist/docs/reference/math/dot2.md +38 -0
  287. package/dist/docs/reference/math/dot3.md +44 -0
  288. package/dist/docs/reference/math/eulerTransform3.md +43 -0
  289. package/dist/docs/reference/math/inverseTransform3.md +36 -0
  290. package/dist/docs/reference/math/length2.md +32 -0
  291. package/dist/docs/reference/math/length3.md +32 -0
  292. package/dist/docs/reference/math/lerp2.md +46 -0
  293. package/dist/docs/reference/math/lerp3.md +46 -0
  294. package/dist/docs/reference/math/multiplyTransform3.md +46 -0
  295. package/dist/docs/reference/math/normalize2.md +45 -0
  296. package/dist/docs/reference/math/normalize3.md +45 -0
  297. package/dist/docs/reference/math/projectOntoPlane3.md +40 -0
  298. package/dist/docs/reference/math/rotate2.md +40 -0
  299. package/dist/docs/reference/math/rotationTransform3.md +56 -0
  300. package/dist/docs/reference/math/scale2.md +38 -0
  301. package/dist/docs/reference/math/scale3.md +44 -0
  302. package/dist/docs/reference/math/scaleTransform3.md +39 -0
  303. package/dist/docs/reference/math/subtract2.md +38 -0
  304. package/dist/docs/reference/math/subtract3.md +44 -0
  305. package/dist/docs/reference/math/transformDeterminant3.md +38 -0
  306. package/dist/docs/reference/math/translationTransform3.md +36 -0
  307. package/dist/docs/reference/math/validateRigidTransform3.md +38 -0
  308. package/dist/docs/reference/math/validateTransform3.md +48 -0
  309. package/dist/docs/reference/math.md +22 -0
  310. package/dist/docs/reference/{geometry → mechanical}/AcmeThreadProfileSpec.md +4 -13
  311. package/dist/docs/reference/{geometry → mechanical}/Bevel.md +3 -11
  312. package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +3 -11
  313. package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +3 -11
  314. package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +4 -13
  315. package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +3 -3
  316. package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +3 -3
  317. package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +3 -3
  318. package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +5 -15
  319. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +3 -3
  320. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +3 -3
  321. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +5 -10
  322. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +3 -3
  323. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +3 -3
  324. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +3 -3
  325. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +3 -3
  326. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +3 -3
  327. package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +6 -13
  328. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +3 -7
  329. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +4 -5
  330. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +3 -3
  331. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +5 -14
  332. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +3 -7
  333. package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +3 -3
  334. package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +3 -3
  335. package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +3 -3
  336. package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +3 -3
  337. package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +3 -3
  338. package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +3 -3
  339. package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +3 -7
  340. package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +3 -7
  341. package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +3 -3
  342. package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +3 -3
  343. package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +4 -8
  344. package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +4 -13
  345. package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +3 -7
  346. package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +5 -7
  347. package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +4 -5
  348. package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +3 -11
  349. package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +3 -11
  350. package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +3 -11
  351. package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +5 -7
  352. package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +3 -11
  353. package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +3 -11
  354. package/dist/docs/reference/{geometry → mechanical}/ThreadProfile-type.md +5 -17
  355. package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +4 -13
  356. package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +3 -11
  357. package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +7 -18
  358. package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +3 -3
  359. package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +8 -15
  360. package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +3 -11
  361. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +7 -14
  362. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +3 -7
  363. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutShape.md +3 -7
  364. package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +6 -13
  365. package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +4 -13
  366. package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +4 -13
  367. package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +8 -2
  368. package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +4 -4
  369. package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +12 -6
  370. package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +13 -3
  371. package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +3 -3
  372. package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +3 -3
  373. package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +9 -7
  374. package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +5 -3
  375. package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +8 -6
  376. package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +9 -7
  377. package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +8 -6
  378. package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +5 -3
  379. package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +5 -3
  380. package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +9 -7
  381. package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +5 -3
  382. package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +5 -3
  383. package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +7 -5
  384. package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +9 -8
  385. package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +9 -8
  386. package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +10 -8
  387. package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +8 -6
  388. package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +7 -3
  389. package/dist/docs/reference/mechanical.md +19 -0
  390. package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +128 -0
  391. package/dist/docs/reference/{geometry → mesh}/HeightfieldMeshLimits.md +5 -13
  392. package/dist/docs/reference/{geometry → mesh}/HeightfieldPreflight.md +3 -7
  393. package/dist/docs/reference/{geometry → mesh}/ImmutableTriangleMesh.md +5 -17
  394. package/dist/docs/reference/mesh/LoftMeshStation.md +32 -0
  395. package/dist/docs/reference/mesh/MeshRenderOptions.md +3 -3
  396. package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationFallbackReason.md +4 -8
  397. package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationOptions.md +4 -9
  398. package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationResult.md +4 -8
  399. package/dist/docs/reference/{geometry → mesh}/PlanarPatchQuality.md +4 -12
  400. package/dist/docs/reference/mesh/RenderMesh.md +19 -19
  401. package/dist/docs/reference/{geometry → mesh}/SolidMeshValidationOptions.md +4 -12
  402. package/dist/docs/reference/{geometry → mesh}/TriangleMesh.md +8 -12
  403. package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysis.md +5 -14
  404. package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysisOptions.md +4 -9
  405. package/dist/docs/reference/{geometry → mesh}/TriangleMeshInput.md +3 -7
  406. package/dist/docs/reference/{geometry → mesh}/TriangleMeshMeasurements.md +5 -14
  407. package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityOptions.md +4 -9
  408. package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityReport.md +3 -7
  409. package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignature.md +4 -9
  410. package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureOptions.md +3 -7
  411. package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureTolerances.md +3 -7
  412. package/dist/docs/reference/{geometry → mesh}/TriangleMeshTopologyAnalysis.md +5 -14
  413. package/dist/docs/reference/{geometry → mesh}/TriangleMeshValidationOptions.md +4 -9
  414. package/dist/docs/reference/mesh/analyze.md +26 -18
  415. package/dist/docs/reference/mesh/analyzeQuality.md +12 -12
  416. package/dist/docs/reference/mesh/bounds.md +5 -6
  417. package/dist/docs/reference/mesh/categories/operations.md +37 -4
  418. package/dist/docs/reference/mesh/centroid.md +5 -6
  419. package/dist/docs/reference/mesh/extrude.md +21 -20
  420. package/dist/docs/reference/mesh/heightfield.md +8 -8
  421. package/dist/docs/reference/mesh/immutable.md +7 -5
  422. package/dist/docs/reference/mesh/join.md +7 -7
  423. package/dist/docs/reference/mesh/loft.md +19 -18
  424. package/dist/docs/reference/mesh/optimizePlanarPatches.md +21 -21
  425. package/dist/docs/reference/mesh/preflightHeightfield.md +8 -8
  426. package/dist/docs/reference/mesh/preflightThreadSolid.md +22 -25
  427. package/dist/docs/reference/mesh/render.md +7 -5
  428. package/dist/docs/reference/mesh/reverse.md +7 -7
  429. package/dist/docs/reference/mesh/revolve.md +12 -14
  430. package/dist/docs/reference/mesh/signature.md +12 -12
  431. package/dist/docs/reference/mesh/sweep.md +96 -25
  432. package/dist/docs/reference/mesh/threadRidge.md +19 -18
  433. package/dist/docs/reference/mesh/threadSolid.md +23 -22
  434. package/dist/docs/reference/mesh/transform.md +8 -9
  435. package/dist/docs/reference/mesh/validate.md +11 -11
  436. package/dist/docs/reference/mesh/validateSolid.md +10 -10
  437. package/dist/docs/reference/mesh.md +8 -2
  438. package/dist/docs/reference/model/BoxEdge.md +23 -0
  439. package/dist/docs/reference/model/BoxEdgeSelection.md +27 -0
  440. package/dist/docs/reference/model/BoxEdgeTreatments.md +27 -0
  441. package/dist/docs/reference/{geometry → model}/BoxOptions.md +12 -12
  442. package/dist/docs/reference/model/CircleOptions.md +4 -5
  443. package/dist/docs/reference/model/CornerCutterOptions.md +93 -0
  444. package/dist/docs/reference/model/CornerCutterTreatment.md +53 -0
  445. package/dist/docs/reference/model/{HoleCutterOverrun.md → CutterOverrun.md} +8 -7
  446. package/dist/docs/reference/model/CylinderOptions.md +64 -0
  447. package/dist/docs/reference/model/DiagnosticOptions.md +2 -2
  448. package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
  449. package/dist/docs/reference/model/EllipseOptions.md +4 -5
  450. package/dist/docs/reference/model/EndTreatments.md +43 -0
  451. package/dist/docs/reference/model/ExtrudeOptions.md +153 -0
  452. package/dist/docs/reference/model/GenerateCallback.md +2 -2
  453. package/dist/docs/reference/model/GenerateContext.md +27 -3
  454. package/dist/docs/reference/model/GenerationDiagnostic.md +2 -2
  455. package/dist/docs/reference/model/GenerationError.md +2 -2
  456. package/dist/docs/reference/{geometry → model}/HeightfieldOptions.md +5 -23
  457. package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
  458. package/dist/docs/reference/model/HoleCutterOptions.md +9 -22
  459. package/dist/docs/reference/model/HoleCutterRecess.md +5 -4
  460. package/dist/docs/reference/model/HullOptions.md +2 -3
  461. package/dist/docs/reference/model/ImmutableValue.md +2 -2
  462. package/dist/docs/reference/model/ImplicitOptions.md +3 -9
  463. package/dist/docs/reference/model/JoinOptions.md +2 -5
  464. package/dist/docs/reference/model/JoinTransition.md +2 -2
  465. package/dist/docs/reference/model/KnuckleHinge-type.md +2 -3
  466. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +2 -2
  467. package/dist/docs/reference/model/KnuckleHingeOptions.md +3 -5
  468. package/dist/docs/reference/model/KnuckleHingeWeb.md +2 -2
  469. package/dist/docs/reference/{geometry → model}/LoftCorrespondence.md +8 -11
  470. package/dist/docs/reference/{geometry → model}/LoftOptions.md +11 -16
  471. package/dist/docs/reference/model/LoftStation.md +4 -5
  472. package/dist/docs/reference/model/Memo.md +2 -2
  473. package/dist/docs/reference/model/ModelProgram.md +2 -2
  474. package/dist/docs/reference/model/PartDeclaration.md +4 -5
  475. package/dist/docs/reference/model/PartGeometry.md +3 -5
  476. package/dist/docs/reference/model/PartOptions.md +4 -5
  477. package/dist/docs/reference/model/PatternSource.md +4 -4
  478. package/dist/docs/reference/model/PlaneOptions.md +3 -7
  479. package/dist/docs/reference/model/PolygonOptions.md +2 -7
  480. package/dist/docs/reference/model/PrimitiveAttachment.md +50 -0
  481. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +111 -0
  482. package/dist/docs/reference/model/RectangleOptions.md +21 -26
  483. package/dist/docs/reference/model/RegularPolygonOptions.md +4 -37
  484. package/dist/docs/reference/{geometry → model}/RevolveOptions.md +15 -24
  485. package/dist/docs/reference/model/Section.md +115 -53
  486. package/dist/docs/reference/model/SectionHullOptions.md +2 -3
  487. package/dist/docs/reference/model/SectionInspection.md +2 -6
  488. package/dist/docs/reference/model/SectionOffsetJoin.md +2 -2
  489. package/dist/docs/reference/model/SectionOffsetOptions.md +2 -3
  490. package/dist/docs/reference/model/Solid.md +24 -12
  491. package/dist/docs/reference/model/SolidInspection.md +2 -6
  492. package/dist/docs/reference/model/SolidSegmentHit.md +2 -6
  493. package/dist/docs/reference/model/SphereOptions.md +27 -0
  494. package/dist/docs/reference/model/StarOptions.md +21 -23
  495. package/dist/docs/reference/model/SvgOrigin.md +2 -2
  496. package/dist/docs/reference/model/SvgPathSectionOptions.md +3 -5
  497. package/dist/docs/reference/model/SvgSectionOptions.md +3 -6
  498. package/dist/docs/reference/model/SweepOptions.md +109 -0
  499. package/dist/docs/reference/model/SweepOrientation.md +119 -0
  500. package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
  501. package/dist/docs/reference/model/TextSectionOptions.md +2 -7
  502. package/dist/docs/reference/{geometry → model}/TorusOptions.md +11 -10
  503. package/dist/docs/reference/model/TubeOptions.md +84 -0
  504. package/dist/docs/reference/model/box.md +11 -10
  505. package/dist/docs/reference/model/categories/boolean-operations.md +9 -3
  506. package/dist/docs/reference/model/categories/bounded-surfaces.md +13 -1
  507. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +26 -7
  508. package/dist/docs/reference/model/categories/generation.md +11 -3
  509. package/dist/docs/reference/model/categories/hinges.md +7 -1
  510. package/dist/docs/reference/model/categories/mesh-inspection.md +7 -1
  511. package/dist/docs/reference/model/categories/primitives.md +34 -6
  512. package/dist/docs/reference/model/categories/sections.md +8 -2
  513. package/dist/docs/reference/model/categories/threads.md +8 -5
  514. package/dist/docs/reference/model/categories/transforms-placement.md +15 -10
  515. package/dist/docs/reference/model/circle.md +7 -3
  516. package/dist/docs/reference/model/cornerCutter.md +88 -0
  517. package/dist/docs/reference/model/cylinder.md +6 -5
  518. package/dist/docs/reference/model/edgeCutter.md +91 -0
  519. package/dist/docs/reference/model/ellipse.md +7 -3
  520. package/dist/docs/reference/model/extrude.md +29 -23
  521. package/dist/docs/reference/model/generate.md +4 -2
  522. package/dist/docs/reference/model/gridPattern.md +11 -4
  523. package/dist/docs/reference/model/heightfield.md +5 -5
  524. package/dist/docs/reference/model/holeCutter.md +26 -12
  525. package/dist/docs/reference/model/hull.md +2 -2
  526. package/dist/docs/reference/model/implicit.md +3 -3
  527. package/dist/docs/reference/model/internalThreadCutter.md +32 -21
  528. package/dist/docs/reference/model/intersect.md +7 -3
  529. package/dist/docs/reference/model/join.md +6 -2
  530. package/dist/docs/reference/model/knuckleHinge.md +2 -3
  531. package/dist/docs/reference/model/linearPattern.md +11 -4
  532. package/dist/docs/reference/model/loft.md +28 -24
  533. package/dist/docs/reference/model/minkowskiSum.md +3 -3
  534. package/dist/docs/reference/model/pathPattern.md +17 -8
  535. package/dist/docs/reference/model/polygon.md +8 -3
  536. package/dist/docs/reference/model/radialPattern.md +11 -4
  537. package/dist/docs/reference/model/rectangle.md +11 -7
  538. package/dist/docs/reference/model/regularPolygon.md +7 -3
  539. package/dist/docs/reference/model/revolve.md +18 -12
  540. package/dist/docs/reference/model/solidFromMesh.md +10 -6
  541. package/dist/docs/reference/model/sphere.md +7 -6
  542. package/dist/docs/reference/model/star.md +11 -7
  543. package/dist/docs/reference/model/stroke.md +12 -8
  544. package/dist/docs/reference/model/svgPathSection.md +10 -4
  545. package/dist/docs/reference/model/svgSection.md +10 -4
  546. package/dist/docs/reference/model/sweep.md +102 -25
  547. package/dist/docs/reference/model/textSection.md +7 -3
  548. package/dist/docs/reference/model/threadRidge.md +16 -17
  549. package/dist/docs/reference/model/threadedNut.md +25 -22
  550. package/dist/docs/reference/model/threadedRod.md +21 -18
  551. package/dist/docs/reference/model/torus.md +13 -12
  552. package/dist/docs/reference/model/tube.md +6 -5
  553. package/dist/docs/reference/model/union.md +7 -3
  554. package/dist/docs/reference/model.md +10 -5
  555. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
  556. package/dist/docs/reference/text/VectorFont.md +38 -34
  557. package/dist/docs/reference/text/VectorFontOptions.md +2 -2
  558. package/dist/docs/reference/{geometry → text}/VectorTextArcBaseline.md +2 -11
  559. package/dist/docs/reference/{geometry → text}/VectorTextLayoutOptions.md +3 -11
  560. package/dist/docs/reference/{geometry → text}/VectorTextOptions.md +2 -10
  561. package/dist/docs/reference/text/categories/font-preparation.md +10 -1
  562. package/dist/docs/reference/text/prepareVectorFont.md +4 -2
  563. package/dist/docs/reference/text.md +7 -1
  564. package/dist/engine/execution.js +5 -3
  565. package/dist/engine/finalization.js +5 -5
  566. package/dist/engine/index.js +9 -4
  567. package/dist/engine/native/adapter.js +1 -1
  568. package/dist/engine/native/construction-mesh.js +15 -5
  569. package/dist/engine/native/context.js +10 -7
  570. package/dist/engine/native/index.js +1 -1
  571. package/dist/engine/native/material-components.js +2 -2
  572. package/dist/engine/native/mesh-observation.js +1 -1
  573. package/dist/engine/native/regions.js +44 -24
  574. package/dist/engine/native/scoped-primitives.js +3 -3
  575. package/dist/engine/native/scoped-threads.js +1 -13
  576. package/dist/engine/native/threads.js +2 -2
  577. package/dist/engine/native/transforms.js +2 -2
  578. package/dist/engine/operations/construction.js +77 -27
  579. package/dist/engine/operations/context.js +13 -6
  580. package/dist/engine/operations/cutters.js +112 -0
  581. package/dist/engine/operations/environment.js +2 -2
  582. package/dist/engine/operations/extrusion-finishing.js +42 -16
  583. package/dist/engine/operations/hole-cutter.js +125 -114
  584. package/dist/engine/operations/join-collar-profile.js +19 -19
  585. package/dist/engine/operations/join.js +86 -73
  586. package/dist/engine/operations/knuckle-hinge.js +25 -20
  587. package/dist/engine/operations/loft.js +9 -16
  588. package/dist/engine/operations/mechanical.js +4 -15
  589. package/dist/engine/operations/primitives/anchors.js +23 -19
  590. package/dist/engine/operations/primitives/construction.js +38 -12
  591. package/dist/engine/operations/primitives/correspondence.js +2 -2
  592. package/dist/engine/operations/primitives/profile-mesh.js +41 -80
  593. package/dist/engine/operations/primitives/profiles.js +5 -5
  594. package/dist/engine/operations/sections.js +8 -8
  595. package/dist/engine/operations/transforms.js +19 -39
  596. package/dist/engine/placement.js +3 -3
  597. package/dist/engine/recipe-realization.js +86 -30
  598. package/dist/engine/session/declarations.js +98 -0
  599. package/dist/engine/session/dependencies.js +81 -28
  600. package/dist/engine/session/graph.js +39 -137
  601. package/dist/engine/session/parameters.js +78 -0
  602. package/dist/engine/session/session.js +2 -2
  603. package/dist/engine/session/snapshot-cache.js +2 -2
  604. package/dist/engine/shape-anchors.js +13 -6
  605. package/dist/export/3mf.js +9 -2
  606. package/dist/export/capture.js +10 -6
  607. package/dist/export/glb.js +7 -2
  608. package/dist/export/stl.js +21 -6
  609. package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
  610. package/dist/geometry/{bounds-value.js → bounds/value.js} +20 -16
  611. package/dist/geometry/curves/evaluation.js +5 -6
  612. package/dist/geometry/curves/sampling.js +30 -6
  613. package/dist/geometry/{extrusion.js → extrusion/controls.js} +58 -35
  614. package/dist/geometry/extrusion/mesh.js +92 -0
  615. package/dist/geometry/extrusion/stations.js +35 -0
  616. package/dist/geometry/extrusion/twisted-chamfer.js +265 -0
  617. package/dist/geometry/immutable-buffer.js +7 -1
  618. package/dist/geometry/index.js +24 -32
  619. package/dist/geometry/{model-limits.js → limits.js} +1 -1
  620. package/dist/geometry/loft/{loft-correspondence.js → correspondence.js} +31 -20
  621. package/dist/geometry/loft/{loft-geometry.js → geometry.js} +15 -17
  622. package/dist/geometry/loft/mesh.js +53 -0
  623. package/dist/geometry/loft/{loft-options.js → options.js} +13 -11
  624. package/dist/geometry/loft/{loft-simple-mesh.js → simple-mesh.js} +26 -17
  625. package/dist/geometry/math/interpolation.js +9 -0
  626. package/dist/geometry/math/vector-value.js +12 -3
  627. package/dist/geometry/math/vector2.js +18 -5
  628. package/dist/geometry/math/vector3.js +28 -5
  629. package/dist/geometry/math-api.js +4 -0
  630. package/dist/geometry/mechanical/gear-motion.js +7 -5
  631. package/dist/geometry/mechanical/gears.js +21 -4
  632. package/dist/geometry/mechanical/knuckle-hinge.js +7 -5
  633. package/dist/geometry/mechanical/threads/fit.js +8 -2
  634. package/dist/geometry/mechanical/threads/helices.js +4 -2
  635. package/dist/geometry/mechanical/threads/mesh-plan.js +4 -2
  636. package/dist/geometry/mechanical/threads/mesh.js +12 -9
  637. package/dist/geometry/mechanical/threads/profiles.js +18 -4
  638. package/dist/geometry/mechanical/threads/solids.js +11 -2
  639. package/dist/geometry/mechanical-api.js +10 -0
  640. package/dist/geometry/mesh/{mesh-centroid.js → centroid.js} +2 -1
  641. package/dist/geometry/{heightfield.js → mesh/heightfield.js} +9 -5
  642. package/dist/geometry/{join-geometry.js → mesh/join-layers.js} +53 -59
  643. package/dist/geometry/mesh/{mesh.js → operations.js} +11 -18
  644. package/dist/geometry/mesh/{mesh-planar.js → planar.js} +8 -18
  645. package/dist/geometry/mesh/{mesh-quality.js → quality.js} +10 -42
  646. package/dist/geometry/mesh/{mesh-render.js → render-buffers.js} +22 -7
  647. package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
  648. package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +2 -0
  649. package/dist/geometry/mesh/{mesh-solid.js → solid.js} +4 -4
  650. package/dist/geometry/mesh/triangle-quality.js +42 -0
  651. package/dist/geometry/mesh/winding.js +11 -0
  652. package/dist/geometry/{numeric.js → mesh/write-vertex.js} +1 -1
  653. package/dist/geometry/mesh-api.js +12 -11
  654. package/dist/geometry/paths/distribution.js +43 -0
  655. package/dist/geometry/paths/editing.js +76 -0
  656. package/dist/geometry/paths/frames.js +16 -11
  657. package/dist/geometry/paths/helix.js +1 -1
  658. package/dist/geometry/paths/resampling.js +46 -61
  659. package/dist/geometry/paths/{planar.js → rounding.js} +8 -67
  660. package/dist/geometry/paths/spline.js +116 -0
  661. package/dist/geometry/paths/traversal.js +107 -0
  662. package/dist/geometry/paths/{path-value.js → value.js} +97 -18
  663. package/dist/geometry/patterns/placements.js +20 -29
  664. package/dist/geometry/{patterns.js → patterns/transforms.js} +11 -7
  665. package/dist/geometry/primitives/cutters.js +70 -0
  666. package/dist/geometry/{cylinder.js → primitives/cylinder.js} +4 -4
  667. package/dist/geometry/{edge-finishing.js → primitives/edges.js} +5 -5
  668. package/dist/geometry/{primitive-resolvers.js → primitives/resolvers.js} +9 -9
  669. package/dist/geometry/primitives/sampling.js +41 -0
  670. package/dist/geometry/profiles/contour.js +19 -7
  671. package/dist/geometry/profiles/{match-profiles.js → matching.js} +9 -6
  672. package/dist/geometry/profiles/primitives/circle.js +1 -1
  673. package/dist/geometry/profiles/primitives/ellipse.js +2 -2
  674. package/dist/geometry/profiles/primitives/rectangle.js +8 -8
  675. package/dist/geometry/profiles/primitives/star.js +1 -1
  676. package/dist/geometry/profiles/side-profile.js +8 -5
  677. package/dist/geometry/profiles/validation.js +1 -1
  678. package/dist/geometry/{polygon-clipping.js → regions/clipping.js} +1 -1
  679. package/dist/geometry/{convex-offset.js → regions/convex-offset.js} +1 -1
  680. package/dist/geometry/{region-offset.js → regions/offset.js} +7 -5
  681. package/dist/geometry/{regions.js → regions/operations.js} +59 -22
  682. package/dist/geometry/{stroke-path.js → regions/stroke.js} +46 -20
  683. package/dist/geometry/{loft/loft-triangulation.js → regions/triangulation.js} +35 -2
  684. package/dist/geometry/revolve/{revolve-mesh.js → mesh.js} +9 -10
  685. package/dist/geometry/{circular-sampling.js → sampling/circular.js} +3 -3
  686. package/dist/geometry/{sampling-limits.js → sampling/limits.js} +6 -2
  687. package/dist/geometry/{resolution.js → sampling/resolution.js} +15 -14
  688. package/dist/geometry/svg/fill.js +4 -3
  689. package/dist/geometry/svg/import.js +47 -64
  690. package/dist/geometry/svg/path.js +3 -3
  691. package/dist/geometry/sweep/closed.js +55 -0
  692. package/dist/geometry/sweep/mesh.js +30 -0
  693. package/dist/geometry/{sweeps/sweep-open.js → sweep/open.js} +9 -24
  694. package/dist/geometry/{sweeps → sweep}/orientation.js +14 -11
  695. package/dist/geometry/sweep/seam.js +30 -0
  696. package/dist/geometry/{sweeps → sweep}/stations.js +75 -10
  697. package/dist/geometry/sweep/transforms.js +30 -0
  698. package/dist/geometry/{sweeps → sweep}/validation.js +4 -4
  699. package/dist/geometry/{text-contours.js → text/contours.js} +3 -3
  700. package/dist/geometry/{text-fitting.js → text/fitting.js} +4 -3
  701. package/dist/geometry/text/layout.js +1 -0
  702. package/dist/geometry/{transform3.js → transforms/affine3.js} +31 -46
  703. package/dist/geometry/{anchors.js → transforms/anchors.js} +43 -24
  704. package/dist/geometry/{transform-geometry.js → transforms/apply.js} +8 -5
  705. package/dist/geometry/{transform2.js → transforms/dimensions.js} +23 -19
  706. package/dist/geometry/transforms/frame.js +64 -0
  707. package/dist/geometry/{transform-matrix.js → transforms/matrix-input.js} +8 -1
  708. package/dist/geometry/{transform-value.js → transforms/value.js} +29 -11
  709. package/dist/index.js +3 -9
  710. package/dist/model/cutters.js +1 -0
  711. package/dist/model/execution-binding.js +3 -3
  712. package/dist/model/generation.js +2 -0
  713. package/dist/model/immutable-generation-data.js +2 -0
  714. package/dist/model/operations.js +130 -94
  715. package/dist/model/recipe-declaration.js +5 -7
  716. package/dist/text/index.js +3 -0
  717. package/dist/text/vector-text-layout.js +1 -0
  718. package/package.json +15 -17
  719. package/dist/api/export-3mf.d.ts +0 -2
  720. package/dist/api/export-glb.d.ts +0 -2
  721. package/dist/api/export-stl.d.ts +0 -2
  722. package/dist/docs/reference/geometry/BoxEdge.md +0 -17
  723. package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -24
  724. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -25
  725. package/dist/docs/reference/geometry/CylinderOptions.md +0 -63
  726. package/dist/docs/reference/geometry/EndTreatments.md +0 -44
  727. package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -144
  728. package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -156
  729. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -25
  730. package/dist/docs/reference/geometry/LoftMeshStation.md +0 -41
  731. package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -39
  732. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -114
  733. package/dist/docs/reference/geometry/SphereOptions.md +0 -25
  734. package/dist/docs/reference/geometry/SweepOptions.md +0 -127
  735. package/dist/docs/reference/geometry/SweepOrientation.md +0 -127
  736. package/dist/docs/reference/geometry/TubeOptions.md +0 -72
  737. package/dist/docs/reference/geometry/add2.md +0 -43
  738. package/dist/docs/reference/geometry/add3.md +0 -49
  739. package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -52
  740. package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -50
  741. package/dist/docs/reference/geometry/categories/meshes.md +0 -68
  742. package/dist/docs/reference/geometry/composeTransform3.md +0 -51
  743. package/dist/docs/reference/geometry/cross2.md +0 -43
  744. package/dist/docs/reference/geometry/cross3.md +0 -49
  745. package/dist/docs/reference/geometry/distance2.md +0 -43
  746. package/dist/docs/reference/geometry/distance3.md +0 -43
  747. package/dist/docs/reference/geometry/dot2.md +0 -43
  748. package/dist/docs/reference/geometry/dot3.md +0 -49
  749. package/dist/docs/reference/geometry/eulerTransform3.md +0 -49
  750. package/dist/docs/reference/geometry/frameTransform3.md +0 -55
  751. package/dist/docs/reference/geometry/inverseTransform3.md +0 -41
  752. package/dist/docs/reference/geometry/length2.md +0 -37
  753. package/dist/docs/reference/geometry/length3.md +0 -37
  754. package/dist/docs/reference/geometry/lerp2.md +0 -49
  755. package/dist/docs/reference/geometry/lerp3.md +0 -49
  756. package/dist/docs/reference/geometry/normalize2.md +0 -46
  757. package/dist/docs/reference/geometry/normalize3.md +0 -46
  758. package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -43
  759. package/dist/docs/reference/geometry/rotate2.md +0 -43
  760. package/dist/docs/reference/geometry/rotationTransform3.md +0 -60
  761. package/dist/docs/reference/geometry/scale2.md +0 -43
  762. package/dist/docs/reference/geometry/scale3.md +0 -49
  763. package/dist/docs/reference/geometry/scaleTransform3.md +0 -45
  764. package/dist/docs/reference/geometry/subtract2.md +0 -43
  765. package/dist/docs/reference/geometry/subtract3.md +0 -49
  766. package/dist/docs/reference/geometry/transformDeterminant3.md +0 -43
  767. package/dist/docs/reference/geometry/translationTransform3.md +0 -42
  768. package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -41
  769. package/dist/docs/reference/geometry/validateTransform3.md +0 -54
  770. package/dist/docs/reference/model/Profile.md +0 -30
  771. package/dist/docs/reference/model/categories/explicit-profiles.md +0 -21
  772. package/dist/docs/reference/model/matchProfiles.md +0 -48
  773. package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -93
  774. package/dist/docs/reference/model/preflightThreadedNut.md +0 -109
  775. package/dist/docs/reference/model/preflightThreadedRod.md +0 -93
  776. package/dist/engine/operations/patterns.js +0 -47
  777. package/dist/geometry/loft/loft.js +0 -105
  778. package/dist/geometry/mechanical/index.js +0 -14
  779. package/dist/geometry/primitive-resolution.js +0 -20
  780. package/dist/geometry/svg/index.js +0 -1
  781. package/dist/geometry/sweeps/options.js +0 -29
  782. package/dist/geometry/sweeps/sweep-closed.js +0 -96
  783. package/dist/geometry/sweeps/sweep-mesh.js +0 -32
  784. /package/dist/geometry/mechanical/{standards.js → fastener-standards.js} +0 -0
  785. /package/dist/geometry/mesh/{mesh-edge-table.js → edge-table.js} +0 -0
  786. /package/dist/geometry/mesh/{mesh-types.js → types.js} +0 -0
  787. /package/dist/geometry/mesh/{mesh-view-cache.js → view-cache.js} +0 -0
  788. /package/dist/geometry/{primitive-options.js → primitives/options.js} +0 -0
  789. /package/dist/geometry/{text-layout.js → sweep/options.js} +0 -0
@@ -69,7 +69,7 @@ Use [0, "auto"] to keep the outside bottom flat without disabling its inner open
69
69
 
70
70
 
71
71
 
72
- `readonly` `optional` **bodyResolution?**: [`GeometryResolution`](GeometryResolution.md)
72
+ `readonly` `optional` **bodyResolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
73
73
 
74
74
 
75
75
 
@@ -150,7 +150,7 @@ Helix direction. Default: `right`.
150
150
 
151
151
 
152
152
 
153
- `readonly` `optional` **limits?**: `Partial`\<[`ModelingLimits`](ModelingLimits.md)\>
153
+ `readonly` `optional` **limits?**: `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\>
154
154
 
155
155
 
156
156
 
@@ -198,7 +198,7 @@ Validated periodic profile repeated around the shaft.
198
198
 
199
199
 
200
200
 
201
- `readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
201
+ `readonly` `optional` **resolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
202
202
 
203
203
 
204
204
 
@@ -230,7 +230,7 @@ Number of evenly phased starts. Default: `1`.
230
230
 
231
231
 
232
232
 
233
- `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)
233
+ `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md)
234
234
 
235
235
 
236
236
 
@@ -244,10 +244,7 @@ Optional numerical tolerance overrides.
244
244
  ## Related APIs
245
245
 
246
246
  - [Bevel](Bevel.md)
247
- - [GeometryResolution](GeometryResolution.md)
248
- - [GeometryToleranceOptions](GeometryToleranceOptions.md)
249
247
  - [InternalThreadCutterOptions](InternalThreadCutterOptions.md)
250
- - [ModelingLimits](ModelingLimits.md)
251
248
  - [PrintableThreadFit](PrintableThreadFit.md)
252
249
  - [PrintableThreadFitPolicy](PrintableThreadFitPolicy.md)
253
250
  - [ThreadedNutShape](ThreadedNutShape.md)
@@ -259,14 +256,10 @@ Optional numerical tolerance overrides.
259
256
 
260
257
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
261
258
 
262
- ## Supported imports
259
+ ## Import
263
260
 
264
261
  ```ts
265
- import type { ThreadedNutOptions } from "@metamesh/modeling";
262
+ import type { ThreadedNutOptions } from "@metamesh/modeling/geometry/mechanical";
266
263
  ```
267
264
 
268
- ```ts
269
- import type { ThreadedNutOptions } from "@metamesh/modeling/geometry";
270
- ```
271
-
272
- Package: `@metamesh/modeling@0.19.0`.
265
+ Package: `@metamesh/modeling@0.20.0`.
@@ -107,14 +107,10 @@ Start-aligned circular facet count used by the compensated thread cutter.
107
107
 
108
108
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
109
109
 
110
- ## Supported imports
110
+ ## Import
111
111
 
112
112
  ```ts
113
- import type { ThreadedNutPreflight } from "@metamesh/modeling";
113
+ import type { ThreadedNutPreflight } from "@metamesh/modeling/geometry/mechanical";
114
114
  ```
115
115
 
116
- ```ts
117
- import type { ThreadedNutPreflight } from "@metamesh/modeling/geometry";
118
- ```
119
-
120
- Package: `@metamesh/modeling@0.19.0`.
116
+ Package: `@metamesh/modeling@0.20.0`.
@@ -11,14 +11,10 @@ Supported printable nut body shapes.
11
11
 
12
12
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
13
13
 
14
- ## Supported imports
14
+ ## Import
15
15
 
16
16
  ```ts
17
- import type { ThreadedNutShape } from "@metamesh/modeling";
17
+ import type { ThreadedNutShape } from "@metamesh/modeling/geometry/mechanical";
18
18
  ```
19
19
 
20
- ```ts
21
- import type { ThreadedNutShape } from "@metamesh/modeling/geometry";
22
- ```
23
-
24
- Package: `@metamesh/modeling@0.19.0`.
20
+ Package: `@metamesh/modeling@0.20.0`.
@@ -103,7 +103,7 @@ Total threaded axial length in millimetres.
103
103
 
104
104
 
105
105
 
106
- `readonly` `optional` **limits?**: `Partial`\<[`ModelingLimits`](ModelingLimits.md)\>
106
+ `readonly` `optional` **limits?**: `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\>
107
107
 
108
108
 
109
109
 
@@ -151,7 +151,7 @@ Validated periodic profile repeated around the shaft.
151
151
 
152
152
 
153
153
 
154
- `readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
154
+ `readonly` `optional` **resolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
155
155
 
156
156
 
157
157
 
@@ -183,7 +183,7 @@ Number of evenly phased starts. Default: `1`.
183
183
 
184
184
 
185
185
 
186
- `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)
186
+ `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md)
187
187
 
188
188
 
189
189
 
@@ -197,9 +197,6 @@ Optional numerical tolerance overrides.
197
197
  ## Related APIs
198
198
 
199
199
  - [Bevel](Bevel.md)
200
- - [GeometryResolution](GeometryResolution.md)
201
- - [GeometryToleranceOptions](GeometryToleranceOptions.md)
202
- - [ModelingLimits](ModelingLimits.md)
203
200
  - [PrintableThreadFit](PrintableThreadFit.md)
204
201
  - [PrintableThreadFitPolicy](PrintableThreadFitPolicy.md)
205
202
  - [ThreadBevelOptions](ThreadBevelOptions.md)
@@ -212,14 +209,10 @@ Optional numerical tolerance overrides.
212
209
 
213
210
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
214
211
 
215
- ## Supported imports
212
+ ## Import
216
213
 
217
214
  ```ts
218
- import type { ThreadedRodOptions } from "@metamesh/modeling";
215
+ import type { ThreadedRodOptions } from "@metamesh/modeling/geometry/mechanical";
219
216
  ```
220
217
 
221
- ```ts
222
- import type { ThreadedRodOptions } from "@metamesh/modeling/geometry";
223
- ```
224
-
225
- Package: `@metamesh/modeling@0.19.0`.
218
+ Package: `@metamesh/modeling@0.20.0`.
@@ -28,7 +28,7 @@ Adjacent axial thread spacing in millimetres.
28
28
 
29
29
 
30
30
 
31
- `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)
31
+ `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md)
32
32
 
33
33
 
34
34
 
@@ -86,25 +86,16 @@ Each flank uses half this angle from the radial direction; `90` gives 45-degree
86
86
 
87
87
  ## Related APIs
88
88
 
89
- - [GeometryToleranceOptions](GeometryToleranceOptions.md)
90
89
  - [ThreadProfileBaseSpec](ThreadProfileBaseSpec.md)
91
90
 
92
91
  ## Guides
93
92
 
94
93
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
95
94
 
96
- ## Supported imports
95
+ ## Import
97
96
 
98
97
  ```ts
99
- import type { TrapezoidalThreadProfileSpec } from "@metamesh/modeling";
98
+ import type { TrapezoidalThreadProfileSpec } from "@metamesh/modeling/geometry/mechanical";
100
99
  ```
101
100
 
102
- ```ts
103
- import type { TrapezoidalThreadProfileSpec } from "@metamesh/modeling/geometry";
104
- ```
105
-
106
- ```ts
107
- import * as mesh from "@metamesh/modeling/geometry/mesh";
108
- ```
109
-
110
- Package: `@metamesh/modeling@0.19.0`.
101
+ Package: `@metamesh/modeling@0.20.0`.
@@ -28,7 +28,7 @@ Adjacent axial thread spacing in millimetres.
28
28
 
29
29
 
30
30
 
31
- `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)
31
+ `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md)
32
32
 
33
33
 
34
34
 
@@ -85,25 +85,16 @@ Root width divided by pitch.
85
85
 
86
86
  ## Related APIs
87
87
 
88
- - [GeometryToleranceOptions](GeometryToleranceOptions.md)
89
88
  - [ThreadProfileBaseSpec](ThreadProfileBaseSpec.md)
90
89
 
91
90
  ## Guides
92
91
 
93
92
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
94
93
 
95
- ## Supported imports
94
+ ## Import
96
95
 
97
96
  ```ts
98
- import type { TriangularThreadProfileSpec } from "@metamesh/modeling";
97
+ import type { TriangularThreadProfileSpec } from "@metamesh/modeling/geometry/mechanical";
99
98
  ```
100
99
 
101
- ```ts
102
- import type { TriangularThreadProfileSpec } from "@metamesh/modeling/geometry";
103
- ```
104
-
105
- ```ts
106
- import * as mesh from "@metamesh/modeling/geometry/mesh";
107
- ```
108
-
109
- Package: `@metamesh/modeling@0.19.0`.
100
+ Package: `@metamesh/modeling@0.20.0`.
@@ -30,7 +30,7 @@ Thread and gear results are modeling aids, not certified manufacturing or streng
30
30
  | [sampleCylindricalGearOutline](../sampleCylindricalGearOutline.md) | Samples a complete external involute gear boundary in the XY plane. |
31
31
  | [sampleInternalCylindricalGearSpaceOutline](../sampleInternalCylindricalGearSpaceOutline.md) | Samples the center opening and tooth spaces used to subtract an internal ring gear. |
32
32
  | [sampleRackToothPath](../sampleRackToothPath.md) | Samples the open top boundary of a finite rack in its XY pitch plane. |
33
- | [sampleThreadHelices](../sampleThreadHelices.md) | Samples evenly phased thread helices with finite `lead = pitch * starts`. All starts together respect maxPathPoints (default 100000); excessive counts fail before allocation. |
33
+ | [sampleThreadHelices](../sampleThreadHelices.md) | Samples evenly phased thread helices with finite `lead = pitch * starts`. All starts together respect `maxPathPoints`; excessive counts fail before allocation. |
34
34
 
35
35
  ## Interfaces
36
36
 
@@ -108,4 +108,10 @@ Thread and gear results are modeling aids, not certified manufacturing or streng
108
108
 
109
109
  - [Conservative estimates and preflight guarantees](../../../guides/resolution-and-inspection.md#check-preflight-guarantees)
110
110
 
111
- Package: `@metamesh/modeling@0.19.0`.
111
+ ## Import
112
+
113
+ ```ts
114
+ import * as mechanical from "@metamesh/modeling/geometry/mechanical";
115
+ ```
116
+
117
+ Package: `@metamesh/modeling@0.20.0`.
@@ -32,7 +32,7 @@ allowances as radial mating clearance.
32
32
 
33
33
  Named policy or explicit caller-calibrated allowances.
34
34
 
35
- - [`tolerance`](ThreadCompensationOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
35
+ - [`tolerance`](ThreadCompensationOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
36
36
 
37
37
  Optional numerical tolerance overrides.
38
38
 
@@ -52,10 +52,10 @@ allowances as radial mating clearance.
52
52
 
53
53
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
54
54
 
55
- ## Supported imports
55
+ ## Import
56
56
 
57
57
  ```ts
58
- import { compensateThreadDiameters } from "@metamesh/modeling/geometry";
58
+ import { compensateThreadDiameters } from "@metamesh/modeling/geometry/mechanical";
59
59
  ```
60
60
 
61
- Package: `@metamesh/modeling@0.19.0`.
61
+ Package: `@metamesh/modeling@0.20.0`.
@@ -6,9 +6,9 @@ Applies axial fit allowance to a validated periodic profile.
6
6
 
7
7
 
8
8
 
9
- Male crests/ridges narrow by the requested backlash; female cutter ridges
10
- widen by it. Periodic root endpoints remain fixed so pitch and lead do not
11
- change. The returned profile is a new deeply immutable value.
9
+ Each flank moves by one quarter of the mating pair's total backlash: male ridges narrow and
10
+ female cutter ridges widen. Periodic root endpoints remain fixed, preserving pitch and lead.
11
+ Changed profiles are deeply immutable; zero backlash returns the input unchanged.
12
12
 
13
13
  ## Parameters
14
14
 
@@ -16,18 +16,24 @@ change. The returned profile is a new deeply immutable value.
16
16
 
17
17
  **`profile`** · [`ThreadProfile`](ThreadProfile-type.md) · Required
18
18
 
19
+ Validated `[axial, radial]` profile in millimetres.
20
+
19
21
 
20
22
 
21
23
  <a id="axialbacklash"></a>
22
24
 
23
25
  **`axialBacklash`** · `number` · Required
24
26
 
27
+ Nonnegative total pair allowance in millimetres, below half the pitch.
28
+
25
29
 
26
30
 
27
31
  <a id="role"></a>
28
32
 
29
33
  **`role`** · `"female"` \| `"male"` · Required
30
34
 
35
+ Male ridge to narrow or female cutter ridge to widen.
36
+
31
37
 
32
38
 
33
39
  ## Returns
@@ -43,10 +49,10 @@ change. The returned profile is a new deeply immutable value.
43
49
 
44
50
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
45
51
 
46
- ## Supported imports
52
+ ## Import
47
53
 
48
54
  ```ts
49
- import { compensateThreadProfileAxially } from "@metamesh/modeling/geometry";
55
+ import { compensateThreadProfileAxially } from "@metamesh/modeling/geometry/mechanical";
50
56
  ```
51
57
 
52
- Package: `@metamesh/modeling@0.19.0`.
58
+ Package: `@metamesh/modeling@0.20.0`.
@@ -18,30 +18,40 @@ it exactly.
18
18
 
19
19
  **`profile`** · [`ThreadProfile`](ThreadProfile-type.md) · Required
20
20
 
21
+ Uncompensated `[axial, radial]` profile in millimetres.
22
+
21
23
 
22
24
 
23
25
  <a id="axialbacklash"></a>
24
26
 
25
27
  **`axialBacklash`** · `number` · Required
26
28
 
29
+ Nonnegative total pair allowance in millimetres, below half the pitch.
30
+
27
31
 
28
32
 
29
33
  <a id="role"></a>
30
34
 
31
35
  **`role`** · `"female"` \| `"male"` · Required
32
36
 
37
+ Male ridge or female cutter receiving its share of the allowances.
38
+
33
39
 
34
40
 
35
41
  <a id="starts"></a>
36
42
 
37
43
  **`starts`** · `number` · Required
38
44
 
45
+ Integer start count from 1 through 32.
46
+
39
47
 
40
48
 
41
49
  <a id="circularsegments"></a>
42
50
 
43
51
  **`circularSegments`** · `number` · Required
44
52
 
53
+ Full-circle facet count, at least 3 and divisible by starts.
54
+
45
55
 
46
56
 
47
57
  ## Returns
@@ -57,10 +67,10 @@ it exactly.
57
67
 
58
68
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
59
69
 
60
- ## Supported imports
70
+ ## Import
61
71
 
62
72
  ```ts
63
- import { compensateThreadProfileForFaceting } from "@metamesh/modeling/geometry";
73
+ import { compensateThreadProfileForFaceting } from "@metamesh/modeling/geometry/mechanical";
64
74
  ```
65
75
 
66
- Package: `@metamesh/modeling@0.19.0`.
76
+ Package: `@metamesh/modeling@0.20.0`.
@@ -34,10 +34,10 @@ Returns one recommended metric clearance-hole diameter in millimetres.
34
34
 
35
35
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
36
36
 
37
- ## Supported imports
37
+ ## Import
38
38
 
39
39
  ```ts
40
- import { getMetricClearanceHoleDiameter } from "@metamesh/modeling/geometry";
40
+ import { getMetricClearanceHoleDiameter } from "@metamesh/modeling/geometry/mechanical";
41
41
  ```
42
42
 
43
- Package: `@metamesh/modeling@0.19.0`.
43
+ Package: `@metamesh/modeling@0.20.0`.
@@ -28,10 +28,10 @@ Returns the immutable standards record for one supported metric size.
28
28
 
29
29
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
30
30
 
31
- ## Supported imports
31
+ ## Import
32
32
 
33
33
  ```ts
34
- import { getMetricFastenerStandard } from "@metamesh/modeling/geometry";
34
+ import { getMetricFastenerStandard } from "@metamesh/modeling/geometry/mechanical";
35
35
  ```
36
36
 
37
- Package: `@metamesh/modeling@0.19.0`.
37
+ Package: `@metamesh/modeling@0.20.0`.
@@ -7,10 +7,10 @@ Measures sampled kinematic interference over one tooth cycle of an internal gear
7
7
 
8
8
 
9
9
  The driver and ring start with half-tooth offsets for odd tooth counts, then rotate in the
10
- same direction at their resolved tooth-count ratio. Each
11
- sampled pinion outline is subtracted from the ring's center-and-space opening; remaining area is
12
- solid overlap. This catches involute, tip, and trimming interference that a single assembled pose
13
- misses. It is a deterministic model check, not a certified gear-rating calculation.
10
+ same direction at their resolved tooth-count ratio. Subtracting the ring's center-and-space
11
+ opening from each sampled pinion outline leaves the area overlapping ring material. This detects
12
+ involute, tip, and trimming interference that a single assembled pose misses.
13
+ It is a deterministic model check, not a certified gear-rating calculation.
14
14
 
15
15
  ## Parameters
16
16
 
@@ -18,6 +18,8 @@ misses. It is a deterministic model check, not a certified gear-rating calculati
18
18
 
19
19
  **`spec`** · [`CylindricalGearPairSpec`](CylindricalGearPairSpec.md) · Required
20
20
 
21
+ Internal pair: external driver pinion and internal driven ring.
22
+
21
23
 
22
24
 
23
25
  <a id="options"></a>
@@ -49,10 +51,10 @@ misses. It is a deterministic model check, not a certified gear-rating calculati
49
51
 
50
52
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
51
53
 
52
- ## Supported imports
54
+ ## Import
53
55
 
54
56
  ```ts
55
- import { measureInternalCylindricalGearPairMotion } from "@metamesh/modeling/geometry";
57
+ import { measureInternalCylindricalGearPairMotion } from "@metamesh/modeling/geometry/mechanical";
56
58
  ```
57
59
 
58
- Package: `@metamesh/modeling@0.19.0`.
60
+ Package: `@metamesh/modeling@0.20.0`.
@@ -15,6 +15,8 @@ count `z_v = z / cos³(beta)`, so increasing helix angle can reduce the physical
15
15
 
16
16
  **`spec`** · `Readonly`\<`Pick`\<[`CylindricalGearSpec`](CylindricalGearSpec.md), `"helixAngle"` \| `"pressureAngle"`\>\> · Optional
17
17
 
18
+ Pressure and signed helix angles in degrees; defaults are 20 and zero.
19
+
18
20
 
19
21
 
20
22
  ## Returns
@@ -30,10 +32,10 @@ count `z_v = z / cos³(beta)`, so increasing helix angle can reduce the physical
30
32
 
31
33
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
32
34
 
33
- ## Supported imports
35
+ ## Import
34
36
 
35
37
  ```ts
36
- import { minimumCylindricalGearToothCountWithoutUndercut } from "@metamesh/modeling/geometry";
38
+ import { minimumCylindricalGearToothCountWithoutUndercut } from "@metamesh/modeling/geometry/mechanical";
37
39
  ```
38
40
 
39
- Package: `@metamesh/modeling@0.19.0`.
41
+ Package: `@metamesh/modeling@0.20.0`.
@@ -20,6 +20,8 @@ See `mesh.threadSolid` for standalone mesh construction.
20
20
 
21
21
  **`options`** · [`InternalThreadCutterOptions`](InternalThreadCutterOptions.md) · Required
22
22
 
23
+ Nominal cavity dimensions in millimetres, before fit and face extension.
24
+
23
25
  - [`nominalMajorDiameter`](InternalThreadCutterOptions.md#nominalmajordiameter) · `number` · Required
24
26
 
25
27
  Nominal major diameter before female compensation and faceting correction.
@@ -50,7 +52,7 @@ See `mesh.threadSolid` for standalone mesh construction.
50
52
 
51
53
  Helix direction. Default: `right`.
52
54
 
53
- - [`limits`](InternalThreadCutterOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
55
+ - [`limits`](InternalThreadCutterOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
54
56
 
55
57
  Explicit output and circular allocation ceilings.
56
58
 
@@ -58,7 +60,7 @@ See `mesh.threadSolid` for standalone mesh construction.
58
60
 
59
61
  Angular offset of the first start in degrees. Default: `0`.
60
62
 
61
- - [`resolution`](InternalThreadCutterOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
63
+ - [`resolution`](InternalThreadCutterOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
62
64
 
63
65
  Optional circular-resolution policy.
64
66
 
@@ -66,7 +68,7 @@ See `mesh.threadSolid` for standalone mesh construction.
66
68
 
67
69
  Number of evenly phased starts. Default: `1`.
68
70
 
69
- - [`tolerance`](InternalThreadCutterOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
71
+ - [`tolerance`](InternalThreadCutterOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
70
72
 
71
73
  Optional numerical tolerance overrides.
72
74
 
@@ -86,10 +88,10 @@ See `mesh.threadSolid` for standalone mesh construction.
86
88
 
87
89
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
88
90
 
89
- ## Supported imports
91
+ ## Import
90
92
 
91
93
  ```ts
92
- import { preflightInternalThreadCutter } from "@metamesh/modeling/geometry";
94
+ import { preflightInternalThreadCutter } from "@metamesh/modeling/geometry/mechanical";
93
95
  ```
94
96
 
95
- Package: `@metamesh/modeling@0.19.0`.
97
+ Package: `@metamesh/modeling@0.20.0`.
@@ -19,6 +19,8 @@ See `mesh.preflightThreadSolid` for standalone mesh estimates.
19
19
 
20
20
  **`options`** · [`ThreadedNutOptions`](ThreadedNutOptions.md) · Required
21
21
 
22
+ Nominal nut dimensions in millimetres, fit, and sampling controls.
23
+
22
24
  - [`nominalMajorDiameter`](ThreadedNutOptions.md#nominalmajordiameter) · `number` · Required
23
25
 
24
26
  Nominal major diameter before female compensation and faceting correction.
@@ -52,7 +54,7 @@ See `mesh.preflightThreadSolid` for standalone mesh estimates.
52
54
  Body bevels in [bottom, top] order. Omitted or auto uses min(profile.depth, thickness/4).
53
55
  Use [0, "auto"] to keep the outside bottom flat without disabling its inner opening bevel.
54
56
 
55
- - [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
57
+ - [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
56
58
 
57
59
  Optional physical policy for a round body, independent of the thread's matched facet grid.
58
60
 
@@ -65,7 +67,7 @@ See `mesh.preflightThreadSolid` for standalone mesh estimates.
65
67
 
66
68
  Helix direction. Default: `right`.
67
69
 
68
- - [`limits`](ThreadedNutOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
70
+ - [`limits`](ThreadedNutOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
69
71
 
70
72
  Explicit output and circular allocation ceilings.
71
73
 
@@ -73,7 +75,7 @@ See `mesh.preflightThreadSolid` for standalone mesh estimates.
73
75
 
74
76
  Angular offset of the first start in degrees. Default: `0`.
75
77
 
76
- - [`resolution`](ThreadedNutOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
78
+ - [`resolution`](ThreadedNutOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
77
79
 
78
80
  Optional circular-resolution policy.
79
81
 
@@ -81,7 +83,7 @@ See `mesh.preflightThreadSolid` for standalone mesh estimates.
81
83
 
82
84
  Number of evenly phased starts. Default: `1`.
83
85
 
84
- - [`tolerance`](ThreadedNutOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
86
+ - [`tolerance`](ThreadedNutOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
85
87
 
86
88
  Optional numerical tolerance overrides.
87
89
 
@@ -101,10 +103,10 @@ See `mesh.preflightThreadSolid` for standalone mesh estimates.
101
103
 
102
104
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
103
105
 
104
- ## Supported imports
106
+ ## Import
105
107
 
106
108
  ```ts
107
- import { preflightThreadedNut } from "@metamesh/modeling/geometry";
109
+ import { preflightThreadedNut } from "@metamesh/modeling/geometry/mechanical";
108
110
  ```
109
111
 
110
- Package: `@metamesh/modeling@0.19.0`.
112
+ Package: `@metamesh/modeling@0.20.0`.
@@ -19,6 +19,8 @@ See `mesh.threadSolid` for standalone mesh construction.
19
19
 
20
20
  **`options`** · [`ThreadedRodOptions`](ThreadedRodOptions.md) · Required
21
21
 
22
+ Nominal rod dimensions in millimetres, fit, and sampling controls.
23
+
22
24
  - [`nominalMajorDiameter`](ThreadedRodOptions.md#nominalmajordiameter) · `number` · Required
23
25
 
24
26
  Nominal major diameter before male compensation.
@@ -49,7 +51,7 @@ See `mesh.threadSolid` for standalone mesh construction.
49
51
 
50
52
  Helix direction. Default: `right`.
51
53
 
52
- - [`limits`](ThreadedRodOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
54
+ - [`limits`](ThreadedRodOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
53
55
 
54
56
  Explicit output and circular allocation ceilings.
55
57
 
@@ -57,7 +59,7 @@ See `mesh.threadSolid` for standalone mesh construction.
57
59
 
58
60
  Angular offset of the first start in degrees. Default: `0`.
59
61
 
60
- - [`resolution`](ThreadedRodOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
62
+ - [`resolution`](ThreadedRodOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
61
63
 
62
64
  Optional circular-resolution policy.
63
65
 
@@ -65,7 +67,7 @@ See `mesh.threadSolid` for standalone mesh construction.
65
67
 
66
68
  Number of evenly phased starts. Default: `1`.
67
69
 
68
- - [`tolerance`](ThreadedRodOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
70
+ - [`tolerance`](ThreadedRodOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
69
71
 
70
72
  Optional numerical tolerance overrides.
71
73
 
@@ -85,10 +87,10 @@ See `mesh.threadSolid` for standalone mesh construction.
85
87
 
86
88
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
87
89
 
88
- ## Supported imports
90
+ ## Import
89
91
 
90
92
  ```ts
91
- import { preflightThreadedRod } from "@metamesh/modeling/geometry";
93
+ import { preflightThreadedRod } from "@metamesh/modeling/geometry/mechanical";
92
94
  ```
93
95
 
94
- Package: `@metamesh/modeling@0.19.0`.
96
+ Package: `@metamesh/modeling@0.20.0`.
@@ -16,6 +16,8 @@ currently supported.
16
16
 
17
17
  **`spec`** · [`CylindricalGearSpec`](CylindricalGearSpec.md) · Required
18
18
 
19
+ Nominal gear dimensions in millimetres and degrees.
20
+
19
21
 
20
22
 
21
23
  ## Returns
@@ -32,10 +34,10 @@ currently supported.
32
34
 
33
35
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
34
36
 
35
- ## Supported imports
37
+ ## Import
36
38
 
37
39
  ```ts
38
- import { resolveCylindricalGear } from "@metamesh/modeling/geometry";
40
+ import { resolveCylindricalGear } from "@metamesh/modeling/geometry/mechanical";
39
41
  ```
40
42
 
41
- Package: `@metamesh/modeling@0.19.0`.
43
+ Package: `@metamesh/modeling@0.20.0`.