@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
@@ -16,6 +16,8 @@ the same hand. The function validates those conjugate pitch invariants.
16
16
 
17
17
  **`spec`** · [`CylindricalGearPairSpec`](CylindricalGearPairSpec.md) · Required
18
18
 
19
+ Driver and driven gears using the same normal pitch system.
20
+
19
21
 
20
22
 
21
23
  ## Returns
@@ -32,10 +34,10 @@ the same hand. The function validates those conjugate pitch invariants.
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 { resolveCylindricalGearPair } from "@metamesh/modeling/geometry";
40
+ import { resolveCylindricalGearPair } from "@metamesh/modeling/geometry/mechanical";
39
41
  ```
40
42
 
41
- Package: `@metamesh/modeling@0.19.0`.
43
+ Package: `@metamesh/modeling@0.20.0`.
@@ -11,8 +11,8 @@ shaft's complete rotational envelope. Adaptive sampling satisfies both face and
11
11
  bounds; an insufficient ceiling rejects instead of reducing quality. Exact counts are intentional
12
12
  facets. Zero allowances describe ideal contact, not a printable running fit.
13
13
 
14
- Rejects nonfinite or nonpositive dimensions, invalid mode/count combinations, exhausted axial
15
- length, missing/excessive lift-off engagement, and nonpositive conservative faceted barrel walls.
14
+ Rejects non-finite or non-positive dimensions, invalid mode/count combinations, exhausted axial
15
+ length, missing/excessive lift-off engagement, and non-positive conservative faceted barrel walls.
16
16
  Manufacturing minima, strength, mounting, retention, handedness, and motion remain caller policy.
17
17
 
18
18
  ## Parameters
@@ -21,6 +21,8 @@ Manufacturing minima, strength, mounting, retention, handedness, and motion rema
21
21
 
22
22
  **`spec`** · [`KnuckleHingeSpec`](KnuckleHingeSpec.md) · Required
23
23
 
24
+ Joint dimensions in millimetres, mode, and knuckle count.
25
+
24
26
 
25
27
 
26
28
  <a id="options"></a>
@@ -31,11 +33,11 @@ Manufacturing minima, strength, mounting, retention, handedness, and motion rema
31
33
 
32
34
  Exact full-circle count, divisible by four and at least four; overrides adaptive sampling.
33
35
 
34
- - [`resolution`](KnuckleHingeSamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
36
+ - [`resolution`](KnuckleHingeSamplingOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
35
37
 
36
38
  Physical tessellation policy. Exact circular counts must also be divisible by four.
37
39
 
38
- - [`limits`](KnuckleHingeSamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
40
+ - [`limits`](KnuckleHingeSamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\> · Optional
39
41
 
40
42
  Explicit allocation ceilings; defaults to the pure geometry sampling limits.
41
43
 
@@ -56,10 +58,10 @@ Manufacturing minima, strength, mounting, retention, handedness, and motion rema
56
58
 
57
59
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
58
60
 
59
- ## Supported imports
61
+ ## Import
60
62
 
61
63
  ```ts
62
- import { resolveKnuckleHinge } from "@metamesh/modeling/geometry";
64
+ import { resolveKnuckleHinge } from "@metamesh/modeling/geometry/mechanical";
63
65
  ```
64
66
 
65
- Package: `@metamesh/modeling@0.19.0`.
67
+ Package: `@metamesh/modeling@0.20.0`.
@@ -12,6 +12,8 @@ Resolves and validates a named or caller-defined print-fit policy.
12
12
 
13
13
  **`fit`** · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
14
14
 
15
+ Named fit or non-negative per-side radial and total axial allowances, in millimetres.
16
+
15
17
 
16
18
 
17
19
  ## Returns
@@ -28,10 +30,10 @@ Resolves and validates a named or caller-defined print-fit policy.
28
30
 
29
31
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
30
32
 
31
- ## Supported imports
33
+ ## Import
32
34
 
33
35
  ```ts
34
- import { resolvePrintableThreadFitPolicy } from "@metamesh/modeling/geometry";
36
+ import { resolvePrintableThreadFitPolicy } from "@metamesh/modeling/geometry/mechanical";
35
37
  ```
36
38
 
37
- Package: `@metamesh/modeling@0.19.0`.
39
+ Package: `@metamesh/modeling@0.20.0`.
@@ -12,6 +12,8 @@ Resolves a rack segment that is conjugate with the same normal cylindrical pitch
12
12
 
13
13
  **`spec`** · [`RackPitchSpec`](RackPitchSpec.md) · Required
14
14
 
15
+ Rack dimensions in millimetres and degrees.
16
+
15
17
 
16
18
 
17
19
  ## Returns
@@ -28,10 +30,10 @@ Resolves a rack segment that is conjugate with the same normal cylindrical pitch
28
30
 
29
31
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
30
32
 
31
- ## Supported imports
33
+ ## Import
32
34
 
33
35
  ```ts
34
- import { resolveRackPitch } from "@metamesh/modeling/geometry";
36
+ import { resolveRackPitch } from "@metamesh/modeling/geometry/mechanical";
35
37
  ```
36
38
 
37
- Package: `@metamesh/modeling@0.19.0`.
39
+ Package: `@metamesh/modeling@0.20.0`.
@@ -15,6 +15,8 @@ raised. Adaptive policies align upward and fail if that would exceed `maxSegment
15
15
 
16
16
  **`options`** · [`ThreadCircularSegmentsOptions`](ThreadCircularSegmentsOptions.md) · Required
17
17
 
18
+ Nominal diameter, uncompensated profile, and shared mating resolution.
19
+
18
20
  - [`nominalMajorDiameter`](ThreadCircularSegmentsOptions.md#nominalmajordiameter) · `number` · Required
19
21
 
20
22
  Nominal major diameter before role-specific compensation.
@@ -23,7 +25,7 @@ raised. Adaptive policies align upward and fail if that would exceed `maxSegment
23
25
 
24
26
  Validated mating profile whose pitch and flank capacities govern tessellation.
25
27
 
26
- - [`limits`](ThreadCircularSegmentsOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
28
+ - [`limits`](ThreadCircularSegmentsOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\> · Optional
27
29
 
28
30
  Explicit circular allocation ceiling for the shared mating grid.
29
31
 
@@ -37,7 +39,7 @@ raised. Adaptive policies align upward and fail if that would exceed `maxSegment
37
39
  This keeps a compensated male/female pair on one role-independent grid when an internal
38
40
  cutter has an enlarged entrance bevel. Default: `0`.
39
41
 
40
- - [`resolution`](ThreadCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
42
+ - [`resolution`](ThreadCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
41
43
 
42
44
  Physical or exact circular resolution policy.
43
45
 
@@ -60,10 +62,10 @@ raised. Adaptive policies align upward and fail if that would exceed `maxSegment
60
62
 
61
63
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
62
64
 
63
- ## Supported imports
65
+ ## Import
64
66
 
65
67
  ```ts
66
- import { resolveThreadCircularSegments } from "@metamesh/modeling/geometry";
68
+ import { resolveThreadCircularSegments } from "@metamesh/modeling/geometry/mechanical";
67
69
  ```
68
70
 
69
- Package: `@metamesh/modeling@0.19.0`.
71
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Samples a complete external involute gear boundary in the XY plane.
4
4
 
5
- **sampleCylindricalGearOutline**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md), `options?`: [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md)): [`Contour`](Contour.md)
5
+ **sampleCylindricalGearOutline**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md), `options?`: [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md)): [`Contour`](../geometry/Contour.md)
6
6
 
7
7
 
8
8
 
@@ -16,6 +16,8 @@ seam point, and contains no holes. Its center is the origin and its axis is
16
16
 
17
17
  **`spec`** · [`CylindricalGearSpec`](CylindricalGearSpec.md) · Required
18
18
 
19
+ External gear dimensions in millimetres and degrees; undercut profiles reject.
20
+
19
21
 
20
22
 
21
23
  <a id="options"></a>
@@ -30,11 +32,11 @@ seam point, and contains no holes. Its center is the origin and its axis is
30
32
 
31
33
  Exact samples along each bottom land, at least one, within selected circular/profile ceilings.
32
34
 
33
- - [`limits`](CylindricalGearOutlineOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
35
+ - [`limits`](CylindricalGearOutlineOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\> · Optional
34
36
 
35
37
  Explicit profile and circular allocation ceilings.
36
38
 
37
- - [`resolution`](CylindricalGearOutlineOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
39
+ - [`resolution`](CylindricalGearOutlineOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
38
40
 
39
41
  Explicit physical sampling policy for adaptive defaults.
40
42
 
@@ -46,12 +48,11 @@ seam point, and contains no holes. Its center is the origin and its axis is
46
48
 
47
49
  ## Returns
48
50
 
49
- [`Contour`](Contour.md)
51
+ [`Contour`](../geometry/Contour.md)
50
52
 
51
53
 
52
54
  ## Related APIs
53
55
 
54
- - [Contour](Contour.md)
55
56
  - [CylindricalGearOutlineOptions](CylindricalGearOutlineOptions.md)
56
57
  - [CylindricalGearSpec](CylindricalGearSpec.md)
57
58
 
@@ -59,10 +60,10 @@ seam point, and contains no holes. Its center is the origin and its axis is
59
60
 
60
61
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
61
62
 
62
- ## Supported imports
63
+ ## Import
63
64
 
64
65
  ```ts
65
- import { sampleCylindricalGearOutline } from "@metamesh/modeling/geometry";
66
+ import { sampleCylindricalGearOutline } from "@metamesh/modeling/geometry/mechanical";
66
67
  ```
67
68
 
68
- Package: `@metamesh/modeling@0.19.0`.
69
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Samples the center opening and tooth spaces used to subtract an internal ring gear.
4
4
 
5
- **sampleInternalCylindricalGearSpaceOutline**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md), `options?`: [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md)): [`Contour`](Contour.md)
5
+ **sampleInternalCylindricalGearSpaceOutline**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md), `options?`: [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md)): [`Contour`](../geometry/Contour.md)
6
6
 
7
7
 
8
8
 
@@ -17,6 +17,8 @@ when used as a region hole.
17
17
 
18
18
  **`spec`** · [`CylindricalGearSpec`](CylindricalGearSpec.md) · Required
19
19
 
20
+ Internal ring dimensions in millimetres and degrees; backlash widens tooth spaces.
21
+
20
22
 
21
23
 
22
24
  <a id="options"></a>
@@ -31,11 +33,11 @@ when used as a region hole.
31
33
 
32
34
  Exact samples along each bottom land, at least one, within selected circular/profile ceilings.
33
35
 
34
- - [`limits`](CylindricalGearOutlineOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
36
+ - [`limits`](CylindricalGearOutlineOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\> · Optional
35
37
 
36
38
  Explicit profile and circular allocation ceilings.
37
39
 
38
- - [`resolution`](CylindricalGearOutlineOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
40
+ - [`resolution`](CylindricalGearOutlineOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
39
41
 
40
42
  Explicit physical sampling policy for adaptive defaults.
41
43
 
@@ -47,12 +49,11 @@ when used as a region hole.
47
49
 
48
50
  ## Returns
49
51
 
50
- [`Contour`](Contour.md)
52
+ [`Contour`](../geometry/Contour.md)
51
53
 
52
54
 
53
55
  ## Related APIs
54
56
 
55
- - [Contour](Contour.md)
56
57
  - [CylindricalGearOutlineOptions](CylindricalGearOutlineOptions.md)
57
58
  - [CylindricalGearSpec](CylindricalGearSpec.md)
58
59
 
@@ -60,10 +61,10 @@ when used as a region hole.
60
61
 
61
62
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
62
63
 
63
- ## Supported imports
64
+ ## Import
64
65
 
65
66
  ```ts
66
- import { sampleInternalCylindricalGearSpaceOutline } from "@metamesh/modeling/geometry";
67
+ import { sampleInternalCylindricalGearSpaceOutline } from "@metamesh/modeling/geometry/mechanical";
67
68
  ```
68
69
 
69
- Package: `@metamesh/modeling@0.19.0`.
70
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Samples the open top boundary of a finite rack in its XY pitch plane.
4
4
 
5
- **sampleRackToothPath**(`spec`: [`RackPitchSpec`](RackPitchSpec.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): readonly [`Vector2Data`](Vector2Data.md)[]
5
+ **sampleRackToothPath**(`spec`: [`RackPitchSpec`](RackPitchSpec.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\>): readonly [`Vector2Data`](../geometry/Vector2Data.md)[]
6
6
 
7
7
 
8
8
 
@@ -17,33 +17,35 @@ the owning generator.
17
17
 
18
18
  **`spec`** · [`RackPitchSpec`](RackPitchSpec.md) · Required
19
19
 
20
+ Rack dimensions in millimetres and degrees, along +X.
21
+
20
22
 
21
23
 
22
24
  <a id="limits"></a>
23
25
 
24
- **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
26
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\> · Optional
27
+
28
+ Sampling limits; exceeding them throws without coarsening.
25
29
 
26
30
 
27
31
 
28
32
  ## Returns
29
33
 
30
- readonly [`Vector2Data`](Vector2Data.md)[]
34
+ readonly [`Vector2Data`](../geometry/Vector2Data.md)[]
31
35
 
32
36
 
33
37
  ## Related APIs
34
38
 
35
- - [GeometrySamplingLimits](GeometrySamplingLimits.md)
36
39
  - [RackPitchSpec](RackPitchSpec.md)
37
- - [Vector2Data](Vector2Data.md)
38
40
 
39
41
  ## Guides
40
42
 
41
43
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
42
44
 
43
- ## Supported imports
45
+ ## Import
44
46
 
45
47
  ```ts
46
- import { sampleRackToothPath } from "@metamesh/modeling/geometry";
48
+ import { sampleRackToothPath } from "@metamesh/modeling/geometry/mechanical";
47
49
  ```
48
50
 
49
- Package: `@metamesh/modeling@0.19.0`.
51
+ Package: `@metamesh/modeling@0.20.0`.
@@ -1,6 +1,6 @@
1
1
  # sampleThreadHelices
2
2
 
3
- Samples evenly phased thread helices with finite `lead = pitch * starts`. All starts together respect maxPathPoints (default 100000); excessive counts fail before allocation.
3
+ Samples evenly phased thread helices with finite `lead = pitch * starts`. All starts together respect `maxPathPoints`; excessive counts fail before allocation.
4
4
 
5
5
  **sampleThreadHelices**(`options`: [`ThreadHelixOptions`](ThreadHelixOptions.md)): [`SampledThreadHelices`](SampledThreadHelices.md)
6
6
 
@@ -12,6 +12,8 @@ Samples evenly phased thread helices with finite `lead = pitch * starts`. All st
12
12
 
13
13
  **`options`** · [`ThreadHelixOptions`](ThreadHelixOptions.md) · Required
14
14
 
15
+ Dimensions in millimetres; lead is pitch multiplied by starts.
16
+
15
17
  - [`length`](ThreadHelixOptions.md#length) · `number` · Required
16
18
 
17
19
  Total sampled axial length in millimetres.
@@ -28,7 +30,7 @@ Samples evenly phased thread helices with finite `lead = pitch * starts`. All st
28
30
 
29
31
  Helix direction. Default: `right`.
30
32
 
31
- - [`limits`](ThreadHelixOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
33
+ - [`limits`](ThreadHelixOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\> · Optional
32
34
 
33
35
  Explicit aggregate path allocation ceilings across all starts.
34
36
 
@@ -44,7 +46,7 @@ Samples evenly phased thread helices with finite `lead = pitch * starts`. All st
44
46
 
45
47
  Number of evenly phased helices. Default: `1`.
46
48
 
47
- - [`tolerance`](ThreadHelixOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
49
+ - [`tolerance`](ThreadHelixOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
48
50
 
49
51
  Optional numerical tolerance overrides.
50
52
 
@@ -64,10 +66,10 @@ Samples evenly phased thread helices with finite `lead = pitch * starts`. All st
64
66
 
65
67
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
66
68
 
67
- ## Supported imports
69
+ ## Import
68
70
 
69
71
  ```ts
70
- import { sampleThreadHelices } from "@metamesh/modeling/geometry";
72
+ import { sampleThreadHelices } from "@metamesh/modeling/geometry/mechanical";
71
73
  ```
72
74
 
73
- Package: `@metamesh/modeling@0.19.0`.
75
+ Package: `@metamesh/modeling@0.20.0`.
@@ -9,6 +9,8 @@ Creates a periodic thread profile for the shaft-locked helical mesher.
9
9
  ## Example: Printable triangular thread profile
10
10
 
11
11
  ```ts
12
+ import { threadProfile } from "@metamesh/modeling/geometry/mechanical";
13
+
12
14
  threadProfile({ kind: "triangular", pitch: 1.75 });
13
15
  ```
14
16
 
@@ -22,6 +24,8 @@ non-decreasing, periodic at their endpoints, and reach radial zero.
22
24
 
23
25
  **`spec`** · [`ThreadProfileSpec`](ThreadProfileSpec.md) · Required
24
26
 
27
+ Profile family or custom one-pitch `[axial, radial]` path, in millimetres.
28
+
25
29
 
26
30
 
27
31
  ## Returns
@@ -38,10 +42,10 @@ non-decreasing, periodic at their endpoints, and reach radial zero.
38
42
 
39
43
  - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
40
44
 
41
- ## Supported imports
45
+ ## Import
42
46
 
43
47
  ```ts
44
- import { threadProfile } from "@metamesh/modeling/geometry";
48
+ import { threadProfile } from "@metamesh/modeling/geometry/mechanical";
45
49
  ```
46
50
 
47
- Package: `@metamesh/modeling@0.19.0`.
51
+ Package: `@metamesh/modeling@0.20.0`.
@@ -0,0 +1,19 @@
1
+ # Mechanical geometry
2
+
3
+ Mechanical dimensions, fit policies, standards, and preflight calculations.
4
+
5
+ Use @metamesh/modeling/geometry/mechanical for pure mechanical dimensions, gear outlines, thread profiles, fit policies, fastener standards, and preflight calculations. Results describe geometry and sampling, without certifying strength, printer fit, or a metrology class. Modeling constructors such as threadedRod and knuckleHinge remain in @metamesh/modeling.
6
+
7
+ Preflights use explicit resolution and limits or package defaults. During generation, pass the effective resolution and limits from the callback context.
8
+
9
+ ## Categories
10
+
11
+ - [Mechanical foundations](mechanical/categories/mechanical.md) — Resolve gears, knuckle joints, fastener standards, thread profiles, fit, and predictable allocations.
12
+
13
+ ## Import
14
+
15
+ ```ts
16
+ import * as mechanical from "@metamesh/modeling/geometry/mechanical";
17
+ ```
18
+
19
+ Package: `@metamesh/modeling@0.20.0`.
@@ -0,0 +1,128 @@
1
+ # ExtrudeMeshOptions
2
+
3
+ Dimensions and sampling for pure +Z mesh extrusion, without end treatments.
4
+
5
+ ## Extends
6
+
7
+ - [`ExtrusionSamplingOptions`](../geometry/ExtrusionSamplingOptions.md)
8
+
9
+ ## Extended by
10
+
11
+ - [`ExtrudeOptions`](../model/ExtrudeOptions.md)
12
+
13
+ ## Properties
14
+
15
+ ### slices?
16
+
17
+
18
+
19
+ `readonly` `optional` **slices?**: `number`
20
+
21
+
22
+
23
+ Positive longitudinal interval count; n slices create n + 1 profile layers. Overrides ordinary extrusion's physical sampling.
24
+
25
+ #### Inherited from
26
+
27
+ [`ExtrusionSamplingOptions`](../geometry/ExtrusionSamplingOptions.md).[`slices`](../geometry/ExtrusionSamplingOptions.md#slices)
28
+
29
+ ***
30
+
31
+ ### limits?
32
+
33
+
34
+
35
+ `readonly` `optional` **limits?**: `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\>
36
+
37
+
38
+
39
+ Explicit output and sampling allocation ceilings.
40
+
41
+ #### Inherited from
42
+
43
+ [`ExtrusionSamplingOptions`](../geometry/ExtrusionSamplingOptions.md).[`limits`](../geometry/ExtrusionSamplingOptions.md#limits)
44
+
45
+ ***
46
+
47
+ ### resolution?
48
+
49
+
50
+
51
+ `readonly` `optional` **resolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
52
+
53
+
54
+
55
+ Operation-level physical policy over the nearest model scope.
56
+
57
+ #### Inherited from
58
+
59
+ [`ExtrusionSamplingOptions`](../geometry/ExtrusionSamplingOptions.md).[`resolution`](../geometry/ExtrusionSamplingOptions.md#resolution)
60
+
61
+ ***
62
+
63
+ ### scale?
64
+
65
+
66
+
67
+ `readonly` `optional` **scale?**: `number` \| [`Vector2Input`](../geometry/Vector2Input.md)
68
+
69
+
70
+
71
+ Final profile-local uniform or XY scale, interpolated from one before twisting. Both components must be positive or both zero for an apex of one simple boundary. Defaults to one.
72
+
73
+ #### Inherited from
74
+
75
+ [`ExtrusionSamplingOptions`](../geometry/ExtrusionSamplingOptions.md).[`scale`](../geometry/ExtrusionSamplingOptions.md#scale)
76
+
77
+ ***
78
+
79
+ ### twist?
80
+
81
+
82
+
83
+ `readonly` `optional` **twist?**: `number`
84
+
85
+
86
+
87
+ Finite rotation of the top profile about +Z, in degrees; defaults to zero.
88
+
89
+ #### Inherited from
90
+
91
+ [`ExtrusionSamplingOptions`](../geometry/ExtrusionSamplingOptions.md).[`twist`](../geometry/ExtrusionSamplingOptions.md#twist)
92
+
93
+ ***
94
+
95
+ ### height
96
+
97
+
98
+
99
+ `readonly` **height**: `number`
100
+
101
+
102
+
103
+ Positive extrusion height in millimetres.
104
+
105
+ ***
106
+
107
+ ### center?
108
+
109
+
110
+
111
+ `readonly` `optional` **center?**: `boolean`
112
+
113
+
114
+
115
+ Center the extrusion on Z; otherwise its bottom is at zero. Defaults to false.
116
+
117
+
118
+ ## Guides
119
+
120
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
121
+
122
+ ## Import
123
+
124
+ ```ts
125
+ import type { ExtrudeMeshOptions } from "@metamesh/modeling/geometry/mesh";
126
+ ```
127
+
128
+ Package: `@metamesh/modeling@0.20.0`.
@@ -1,28 +1,20 @@
1
1
  # HeightfieldMeshLimits
2
2
 
3
- Trusted output ceilings for pure construction; omitted fields use engine defaults.
3
+ Trusted output ceilings for pure construction; omitted fields use package defaults.
4
4
 
5
- **HeightfieldMeshLimits** = `Partial`\<`Pick`\<[`ModelingLimits`](ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\>
5
+ **HeightfieldMeshLimits** = `Partial`\<`Pick`\<[`ModelingLimits`](../geometry/ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\>
6
6
 
7
7
 
8
8
 
9
9
 
10
- ## Related APIs
11
-
12
- - [ModelingLimits](ModelingLimits.md)
13
-
14
10
  ## Guides
15
11
 
16
12
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
17
13
 
18
- ## Supported imports
19
-
20
- ```ts
21
- import type { HeightfieldMeshLimits } from "@metamesh/modeling/geometry";
22
- ```
14
+ ## Import
23
15
 
24
16
  ```ts
25
- import * as mesh from "@metamesh/modeling/geometry/mesh";
17
+ import type { HeightfieldMeshLimits } from "@metamesh/modeling/geometry/mesh";
26
18
  ```
27
19
 
28
- Package: `@metamesh/modeling@0.19.0`.
20
+ Package: `@metamesh/modeling@0.20.0`.
@@ -55,14 +55,10 @@ Total bytes of Float32 positions and Uint32 indices, excluding temporary storage
55
55
 
56
56
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
57
57
 
58
- ## Supported imports
58
+ ## Import
59
59
 
60
60
  ```ts
61
- import type { HeightfieldPreflight } from "@metamesh/modeling/geometry";
61
+ import type { HeightfieldPreflight } from "@metamesh/modeling/geometry/mesh";
62
62
  ```
63
63
 
64
- ```ts
65
- import * as mesh from "@metamesh/modeling/geometry/mesh";
66
- ```
67
-
68
- Package: `@metamesh/modeling@0.19.0`.
64
+ Package: `@metamesh/modeling@0.20.0`.
@@ -13,7 +13,7 @@ Immutable local XYZ positions and triangle indices, suitable for a memo result o
13
13
 
14
14
 
15
15
 
16
- `readonly` **positions**: [`ImmutableBuffer`](ImmutableBuffer-type.md)\<`Float32Array`\<`ArrayBufferLike`\>\>
16
+ `readonly` **positions**: [`ImmutableBuffer`](../geometry/ImmutableBuffer-type.md)\<`Float32Array`\<`ArrayBufferLike`\>\>
17
17
 
18
18
 
19
19
 
@@ -25,33 +25,21 @@ Packed XYZ coordinates in millimetres.
25
25
 
26
26
 
27
27
 
28
- `readonly` **indices**: [`ImmutableBuffer`](ImmutableBuffer-type.md)\<`Uint32Array`\<`ArrayBufferLike`\>\>
28
+ `readonly` **indices**: [`ImmutableBuffer`](../geometry/ImmutableBuffer-type.md)\<`Uint32Array`\<`ArrayBufferLike`\>\>
29
29
 
30
30
 
31
31
 
32
32
  Zero-based vertex indices, three per triangle.
33
33
 
34
34
 
35
- ## Related APIs
36
-
37
- - [ImmutableBuffer](ImmutableBuffer-type.md)
38
-
39
35
  ## Guides
40
36
 
41
37
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
42
38
 
43
- ## Supported imports
44
-
45
- ```ts
46
- import type { ImmutableTriangleMesh } from "@metamesh/modeling";
47
- ```
48
-
49
- ```ts
50
- import type { ImmutableTriangleMesh } from "@metamesh/modeling/geometry";
51
- ```
39
+ ## Import
52
40
 
53
41
  ```ts
54
- import * as mesh from "@metamesh/modeling/geometry/mesh";
42
+ import type { ImmutableTriangleMesh } from "@metamesh/modeling/geometry/mesh";
55
43
  ```
56
44
 
57
- Package: `@metamesh/modeling@0.19.0`.
45
+ Package: `@metamesh/modeling@0.20.0`.