@metamesh/modeling 0.11.0 → 0.13.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 (630) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +60 -58
  3. package/dist/api/engine.d.ts +123 -97
  4. package/dist/api/geometry.d.ts +3896 -3307
  5. package/dist/api/index.d.ts +2489 -2267
  6. package/dist/api/text.d.ts +119 -107
  7. package/dist/docs/guides/concepts.md +197 -0
  8. package/dist/docs/guides/fonts.md +51 -0
  9. package/dist/docs/guides/fundamentals.md +135 -0
  10. package/dist/docs/guides/generation.md +221 -0
  11. package/dist/docs/guides/hosting.md +88 -0
  12. package/dist/docs/guides/recipes.md +668 -0
  13. package/dist/docs/manifest.json +9851 -0
  14. package/dist/docs/reference/engine/Export3mfOptions.md +29 -0
  15. package/dist/docs/reference/engine/ExportMeshPart.md +65 -0
  16. package/dist/docs/reference/engine/GenerationOptions.md +62 -0
  17. package/dist/docs/reference/engine/GeometryResource.md +77 -0
  18. package/dist/docs/reference/engine/ModelDependencies.md +41 -0
  19. package/dist/docs/reference/engine/ModelEngine.md +103 -0
  20. package/dist/docs/reference/engine/ModelEngineOptions.md +33 -0
  21. package/dist/docs/reference/engine/ModelSession.md +96 -0
  22. package/dist/docs/reference/engine/ModelSnapshot.md +173 -0
  23. package/dist/docs/reference/engine/SessionOptions.md +123 -0
  24. package/dist/docs/reference/engine/SnapshotPart.md +130 -0
  25. package/dist/docs/reference/engine/categories/host-lifecycle.md +37 -0
  26. package/dist/docs/reference/engine/createModelEngine.md +56 -0
  27. package/dist/docs/reference/engine/defaultModelingLimits.md +7 -0
  28. package/dist/docs/reference/engine/modelingWasmUrl.md +7 -0
  29. package/dist/docs/reference/engine/validateModel.md +48 -0
  30. package/dist/docs/reference/engine.md +25 -0
  31. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +75 -0
  32. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +79 -0
  33. package/dist/docs/reference/geometry/Anchor3.md +49 -0
  34. package/dist/docs/reference/geometry/ArcCurve2.md +70 -0
  35. package/dist/docs/reference/geometry/ArcCurve3.md +94 -0
  36. package/dist/docs/reference/geometry/AttachTransformOptions.md +58 -0
  37. package/dist/docs/reference/geometry/AxisAngleRotation3.md +61 -0
  38. package/dist/docs/reference/geometry/Bounds2.md +39 -0
  39. package/dist/docs/reference/geometry/Bounds3.md +39 -0
  40. package/dist/docs/reference/geometry/BoundsFit2.md +52 -0
  41. package/dist/docs/reference/geometry/BoundsFit3.md +52 -0
  42. package/dist/docs/reference/geometry/BoundsFitOptions.md +23 -0
  43. package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +23 -0
  44. package/dist/docs/reference/geometry/BoxAnchorFace.md +7 -0
  45. package/dist/docs/reference/geometry/BoxAnchorOptions.md +59 -0
  46. package/dist/docs/reference/geometry/BoxEdge.md +7 -0
  47. package/dist/docs/reference/geometry/BoxEdgeSelection.md +14 -0
  48. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +15 -0
  49. package/dist/docs/reference/geometry/BoxOptions.md +87 -0
  50. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +7 -0
  51. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +93 -0
  52. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +29 -0
  53. package/dist/docs/reference/geometry/CircleContourOptions.md +15 -0
  54. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +59 -0
  55. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +41 -0
  56. package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -0
  57. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +53 -0
  58. package/dist/docs/reference/geometry/Contour.md +17 -0
  59. package/dist/docs/reference/geometry/ContourCurve.md +35 -0
  60. package/dist/docs/reference/geometry/ContourPoint.md +29 -0
  61. package/dist/docs/reference/geometry/ContourSegment.md +86 -0
  62. package/dist/docs/reference/geometry/CorrespondingComponent.md +46 -0
  63. package/dist/docs/reference/geometry/CorrespondingContour.md +46 -0
  64. package/dist/docs/reference/geometry/CorrespondingProfile.md +22 -0
  65. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +27 -0
  66. package/dist/docs/reference/geometry/CubicBezierCurve2.md +70 -0
  67. package/dist/docs/reference/geometry/CubicBezierCurve3.md +70 -0
  68. package/dist/docs/reference/geometry/Curve2.md +16 -0
  69. package/dist/docs/reference/geometry/Curve3.md +16 -0
  70. package/dist/docs/reference/geometry/CurveSamplingOptions.md +64 -0
  71. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +73 -0
  72. package/dist/docs/reference/geometry/CylinderAnchorFace.md +7 -0
  73. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +83 -0
  74. package/dist/docs/reference/geometry/CylinderOptions.md +53 -0
  75. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +209 -0
  76. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +7 -0
  77. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +71 -0
  78. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +82 -0
  79. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +34 -0
  80. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +41 -0
  81. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +47 -0
  82. package/dist/docs/reference/geometry/CylindricalGearSpec.md +82 -0
  83. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -0
  84. package/dist/docs/reference/geometry/EdgeTreatment.md +17 -0
  85. package/dist/docs/reference/geometry/EllipseContourOptions.md +15 -0
  86. package/dist/docs/reference/geometry/EndTreatments.md +34 -0
  87. package/dist/docs/reference/geometry/ExtrudeOptions.md +134 -0
  88. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +77 -0
  89. package/dist/docs/reference/geometry/FittedTextLayout.md +60 -0
  90. package/dist/docs/reference/geometry/Frame3.md +58 -0
  91. package/dist/docs/reference/geometry/GeometryError.md +97 -0
  92. package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -0
  93. package/dist/docs/reference/geometry/GeometryErrorContext.md +29 -0
  94. package/dist/docs/reference/geometry/GeometryResolution.md +65 -0
  95. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +62 -0
  96. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +41 -0
  97. package/dist/docs/reference/geometry/GridPatternOptions.md +42 -0
  98. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +14 -0
  99. package/dist/docs/reference/geometry/HeightfieldOptions.md +67 -0
  100. package/dist/docs/reference/geometry/HeightfieldPreflight.md +53 -0
  101. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +141 -0
  102. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +265 -0
  103. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +53 -0
  104. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +14 -0
  105. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +242 -0
  106. package/dist/docs/reference/geometry/LineCurve2.md +46 -0
  107. package/dist/docs/reference/geometry/LineCurve3.md +46 -0
  108. package/dist/docs/reference/geometry/LinearPatternOptions.md +30 -0
  109. package/dist/docs/reference/geometry/LoftCorrespondence.md +19 -0
  110. package/dist/docs/reference/geometry/LoftMeshStation.md +27 -0
  111. package/dist/docs/reference/geometry/LoftOptions.md +84 -0
  112. package/dist/docs/reference/geometry/LoftPlacement.md +66 -0
  113. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +18 -0
  114. package/dist/docs/reference/geometry/MatchProfilesOptions.md +35 -0
  115. package/dist/docs/reference/geometry/MetricFastenerSize.md +7 -0
  116. package/dist/docs/reference/geometry/MetricFastenerStandard.md +72 -0
  117. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +29 -0
  118. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +41 -0
  119. package/dist/docs/reference/geometry/ModelingLimits.md +126 -0
  120. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +17 -0
  121. package/dist/docs/reference/geometry/Path2.md +14 -0
  122. package/dist/docs/reference/geometry/Path3.md +14 -0
  123. package/dist/docs/reference/geometry/PathFrame.md +46 -0
  124. package/dist/docs/reference/geometry/PathNormalGuide.md +38 -0
  125. package/dist/docs/reference/geometry/PathPatternOptions.md +46 -0
  126. package/dist/docs/reference/geometry/PathPlacement.md +34 -0
  127. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +7 -0
  128. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +156 -0
  129. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +120 -0
  130. package/dist/docs/reference/geometry/PlanarPatchQuality.md +190 -0
  131. package/dist/docs/reference/geometry/Polygon.md +38 -0
  132. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +92 -0
  133. package/dist/docs/reference/geometry/PrimitivePlacement.md +31 -0
  134. package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +83 -0
  135. package/dist/docs/reference/geometry/PrintableThreadFit.md +7 -0
  136. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +45 -0
  137. package/dist/docs/reference/geometry/Profile.md +22 -0
  138. package/dist/docs/reference/geometry/ProfileComponent2.md +46 -0
  139. package/dist/docs/reference/geometry/ProfileContour2.md +34 -0
  140. package/dist/docs/reference/geometry/ProfileSpan2.md +47 -0
  141. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +36 -0
  142. package/dist/docs/reference/geometry/RackPitchDimensions.md +113 -0
  143. package/dist/docs/reference/geometry/RackPitchSpec.md +77 -0
  144. package/dist/docs/reference/geometry/RadialPatternOptions.md +62 -0
  145. package/dist/docs/reference/geometry/RadialSizing.md +7 -0
  146. package/dist/docs/reference/geometry/RadialSizingOptions.md +40 -0
  147. package/dist/docs/reference/geometry/RectangleContourOptions.md +66 -0
  148. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +34 -0
  149. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +14 -0
  150. package/dist/docs/reference/geometry/RectangleProfileOptions.md +94 -0
  151. package/dist/docs/reference/geometry/Region.md +14 -0
  152. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +84 -0
  153. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +65 -0
  154. package/dist/docs/reference/geometry/RevolveOptions.md +82 -0
  155. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +91 -0
  156. package/dist/docs/reference/geometry/RowLayoutOptions.md +23 -0
  157. package/dist/docs/reference/geometry/SampleContourOptions.md +71 -0
  158. package/dist/docs/reference/geometry/SampleHelixOptions.md +95 -0
  159. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +71 -0
  160. package/dist/docs/reference/geometry/SampledCurve2.md +34 -0
  161. package/dist/docs/reference/geometry/SampledCurve3.md +34 -0
  162. package/dist/docs/reference/geometry/SampledThreadHelices.md +58 -0
  163. package/dist/docs/reference/geometry/SideProfileCurve.md +35 -0
  164. package/dist/docs/reference/geometry/SideProfilePoint.md +29 -0
  165. package/dist/docs/reference/geometry/SideProfileSegment.md +86 -0
  166. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +71 -0
  167. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +34 -0
  168. package/dist/docs/reference/geometry/SphereOptions.md +15 -0
  169. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +75 -0
  170. package/dist/docs/reference/geometry/StrokePathCap.md +7 -0
  171. package/dist/docs/reference/geometry/StrokePathJoin.md +7 -0
  172. package/dist/docs/reference/geometry/StrokePathRegionOptions.md +85 -0
  173. package/dist/docs/reference/geometry/SvgImportOptions.md +60 -0
  174. package/dist/docs/reference/geometry/SvgRegionPreflight.md +61 -0
  175. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +118 -0
  176. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +65 -0
  177. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +53 -0
  178. package/dist/docs/reference/geometry/SweepOptions.md +109 -0
  179. package/dist/docs/reference/geometry/SweepOrientation.md +109 -0
  180. package/dist/docs/reference/geometry/ThreadBevelOptions.md +53 -0
  181. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +100 -0
  182. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +73 -0
  183. package/dist/docs/reference/geometry/ThreadEndStyle.md +7 -0
  184. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +113 -0
  185. package/dist/docs/reference/geometry/ThreadHandedness.md +7 -0
  186. package/dist/docs/reference/geometry/ThreadHelixOptions.md +120 -0
  187. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +7 -0
  188. package/dist/docs/reference/geometry/ThreadLeadInShape.md +7 -0
  189. package/dist/docs/reference/geometry/ThreadProfile.md +82 -0
  190. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +49 -0
  191. package/dist/docs/reference/geometry/ThreadProfileSpec.md +19 -0
  192. package/dist/docs/reference/geometry/ThreadRole.md +7 -0
  193. package/dist/docs/reference/geometry/ThreadedNutBevel.md +7 -0
  194. package/dist/docs/reference/geometry/ThreadedNutOptions.md +269 -0
  195. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +94 -0
  196. package/dist/docs/reference/geometry/ThreadedNutShape.md +7 -0
  197. package/dist/docs/reference/geometry/ThreadedRodOptions.md +242 -0
  198. package/dist/docs/reference/geometry/TorusOptions.md +105 -0
  199. package/dist/docs/reference/geometry/Transform3.md +12 -0
  200. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +91 -0
  201. package/dist/docs/reference/geometry/TriangleMesh.md +34 -0
  202. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +119 -0
  203. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +75 -0
  204. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +75 -0
  205. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +39 -0
  206. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +190 -0
  207. package/dist/docs/reference/geometry/TriangleMeshSignature.md +107 -0
  208. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +41 -0
  209. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +29 -0
  210. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +51 -0
  211. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +91 -0
  212. package/dist/docs/reference/geometry/TubeOptions.md +138 -0
  213. package/dist/docs/reference/geometry/Vector2.md +7 -0
  214. package/dist/docs/reference/geometry/Vector3.md +7 -0
  215. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +53 -0
  216. package/dist/docs/reference/geometry/VectorTextLayout.md +39 -0
  217. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +111 -0
  218. package/dist/docs/reference/geometry/VectorTextMetrics.md +94 -0
  219. package/dist/docs/reference/geometry/VectorTextOptions.md +50 -0
  220. package/dist/docs/reference/geometry/add3.md +38 -0
  221. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +57 -0
  222. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +52 -0
  223. package/dist/docs/reference/geometry/anchorFrame3.md +40 -0
  224. package/dist/docs/reference/geometry/applyTransformDirection3.md +41 -0
  225. package/dist/docs/reference/geometry/applyTransformPoint3.md +39 -0
  226. package/dist/docs/reference/geometry/attachTransform.md +73 -0
  227. package/dist/docs/reference/geometry/boundsCenter.md +62 -0
  228. package/dist/docs/reference/geometry/boundsFromSize.md +83 -0
  229. package/dist/docs/reference/geometry/boundsSize.md +62 -0
  230. package/dist/docs/reference/geometry/boxAnchor3.md +48 -0
  231. package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +68 -0
  232. package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +102 -0
  233. package/dist/docs/reference/geometry/categories/bounds-layout.md +35 -0
  234. package/dist/docs/reference/geometry/categories/curves-paths.md +63 -0
  235. package/dist/docs/reference/geometry/categories/mechanical.md +101 -0
  236. package/dist/docs/reference/geometry/categories/meshes.md +73 -0
  237. package/dist/docs/reference/geometry/categories/pattern-placement.md +34 -0
  238. package/dist/docs/reference/geometry/categories/primitive-options.md +36 -0
  239. package/dist/docs/reference/geometry/categories/profiles-regions.md +74 -0
  240. package/dist/docs/reference/geometry/categories/resolution-errors.md +46 -0
  241. package/dist/docs/reference/geometry/categories/transforms-math.md +63 -0
  242. package/dist/docs/reference/geometry/categories/vector-import.md +40 -0
  243. package/dist/docs/reference/geometry/circleContour.md +33 -0
  244. package/dist/docs/reference/geometry/closeToAxis.md +34 -0
  245. package/dist/docs/reference/geometry/compensateThreadDiameters.md +51 -0
  246. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +42 -0
  247. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +56 -0
  248. package/dist/docs/reference/geometry/composeTransform3.md +40 -0
  249. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +45 -0
  250. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +47 -0
  251. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +31 -0
  252. package/dist/docs/reference/geometry/containsBounds.md +72 -0
  253. package/dist/docs/reference/geometry/contourContainsPoint.md +33 -0
  254. package/dist/docs/reference/geometry/createAnchor3.md +63 -0
  255. package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
  256. package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
  257. package/dist/docs/reference/geometry/cross3.md +38 -0
  258. package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
  259. package/dist/docs/reference/geometry/cylinderAnchor3.md +56 -0
  260. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
  261. package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
  262. package/dist/docs/reference/geometry/dot3.md +38 -0
  263. package/dist/docs/reference/geometry/ellipseContour.md +33 -0
  264. package/dist/docs/reference/geometry/eulerTransform3.md +38 -0
  265. package/dist/docs/reference/geometry/extrudeMesh.md +73 -0
  266. package/dist/docs/reference/geometry/fitBounds.md +95 -0
  267. package/dist/docs/reference/geometry/fitTextLayout.md +57 -0
  268. package/dist/docs/reference/geometry/frameTransform3.md +44 -0
  269. package/dist/docs/reference/geometry/getMetricClearanceHole.md +33 -0
  270. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +27 -0
  271. package/dist/docs/reference/geometry/gridPatternTransforms.md +31 -0
  272. package/dist/docs/reference/geometry/heightfieldMesh.md +43 -0
  273. package/dist/docs/reference/geometry/inverseTransform3.md +30 -0
  274. package/dist/docs/reference/geometry/isGeometryError.md +26 -0
  275. package/dist/docs/reference/geometry/joinTriangleMeshes.md +36 -0
  276. package/dist/docs/reference/geometry/layoutRow.md +43 -0
  277. package/dist/docs/reference/geometry/length3.md +26 -0
  278. package/dist/docs/reference/geometry/lerp3.md +38 -0
  279. package/dist/docs/reference/geometry/linearPatternTransforms.md +31 -0
  280. package/dist/docs/reference/geometry/loftMesh.md +72 -0
  281. package/dist/docs/reference/geometry/matchProfiles.md +51 -0
  282. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +47 -0
  283. package/dist/docs/reference/geometry/measureTriangleMesh.md +55 -0
  284. package/dist/docs/reference/geometry/meshBounds.md +35 -0
  285. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +29 -0
  286. package/dist/docs/reference/geometry/normalize3.md +32 -0
  287. package/dist/docs/reference/geometry/normalizeContour.md +45 -0
  288. package/dist/docs/reference/geometry/normalizePolygon.md +37 -0
  289. package/dist/docs/reference/geometry/normalizeRegion.md +33 -0
  290. package/dist/docs/reference/geometry/optimizePlanarPatches.md +91 -0
  291. package/dist/docs/reference/geometry/pathLength.md +33 -0
  292. package/dist/docs/reference/geometry/pathPatternTransforms.md +57 -0
  293. package/dist/docs/reference/geometry/preflightHeightfield.md +34 -0
  294. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +96 -0
  295. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +85 -0
  296. package/dist/docs/reference/geometry/preflightSvgRegion.md +56 -0
  297. package/dist/docs/reference/geometry/preflightThreadedNut.md +96 -0
  298. package/dist/docs/reference/geometry/preflightThreadedRod.md +85 -0
  299. package/dist/docs/reference/geometry/projectOntoPlane3.md +32 -0
  300. package/dist/docs/reference/geometry/radialPatternTransforms.md +47 -0
  301. package/dist/docs/reference/geometry/rectangleContour.md +49 -0
  302. package/dist/docs/reference/geometry/rectangleProfile.md +53 -0
  303. package/dist/docs/reference/geometry/regionArea.md +34 -0
  304. package/dist/docs/reference/geometry/regionBounds.md +27 -0
  305. package/dist/docs/reference/geometry/regularPolygonContour.md +53 -0
  306. package/dist/docs/reference/geometry/resamplePolyline2.md +64 -0
  307. package/dist/docs/reference/geometry/resamplePolyline3.md +67 -0
  308. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +79 -0
  309. package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
  310. package/dist/docs/reference/geometry/resolveCircularSegments.md +61 -0
  311. package/dist/docs/reference/geometry/resolveCylindricalGear.md +31 -0
  312. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +31 -0
  313. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +74 -0
  314. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +26 -0
  315. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +59 -0
  316. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +27 -0
  317. package/dist/docs/reference/geometry/resolveRackPitch.md +27 -0
  318. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +59 -0
  319. package/dist/docs/reference/geometry/reverseTriangleMesh.md +30 -0
  320. package/dist/docs/reference/geometry/revolveMesh.md +76 -0
  321. package/dist/docs/reference/geometry/rotateAroundAxis3.md +38 -0
  322. package/dist/docs/reference/geometry/rotationTransform3.md +49 -0
  323. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +50 -0
  324. package/dist/docs/reference/geometry/sampleContour.md +77 -0
  325. package/dist/docs/reference/geometry/sampleCurve2.md +61 -0
  326. package/dist/docs/reference/geometry/sampleCurve3.md +61 -0
  327. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +58 -0
  328. package/dist/docs/reference/geometry/sampleHelix.md +41 -0
  329. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +59 -0
  330. package/dist/docs/reference/geometry/sampleRackToothPath.md +39 -0
  331. package/dist/docs/reference/geometry/sampleSideProfile.md +73 -0
  332. package/dist/docs/reference/geometry/sampleTextContours.md +53 -0
  333. package/dist/docs/reference/geometry/sampleThreadHelices.md +63 -0
  334. package/dist/docs/reference/geometry/scale3.md +38 -0
  335. package/dist/docs/reference/geometry/scaleTransform3.md +34 -0
  336. package/dist/docs/reference/geometry/signedContourArea.md +26 -0
  337. package/dist/docs/reference/geometry/starContour.md +51 -0
  338. package/dist/docs/reference/geometry/strokePathRegion.md +63 -0
  339. package/dist/docs/reference/geometry/subtract3.md +38 -0
  340. package/dist/docs/reference/geometry/sweepMesh.md +82 -0
  341. package/dist/docs/reference/geometry/transformContour.md +42 -0
  342. package/dist/docs/reference/geometry/transformDeterminant3.md +32 -0
  343. package/dist/docs/reference/geometry/transformPath2.md +40 -0
  344. package/dist/docs/reference/geometry/transformPath3.md +33 -0
  345. package/dist/docs/reference/geometry/transformRegion.md +40 -0
  346. package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
  347. package/dist/docs/reference/geometry/translationTransform3.md +31 -0
  348. package/dist/docs/reference/geometry/triangulateContour.md +26 -0
  349. package/dist/docs/reference/geometry/validateSolidMesh.md +52 -0
  350. package/dist/docs/reference/geometry/validateTransform3.md +43 -0
  351. package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -0
  352. package/dist/docs/reference/geometry.md +30 -0
  353. package/dist/docs/reference/model/Anchor3.md +54 -0
  354. package/dist/docs/reference/model/AttachOptions.md +63 -0
  355. package/dist/docs/reference/model/Bounds2.md +39 -0
  356. package/dist/docs/reference/model/Bounds3.md +39 -0
  357. package/dist/docs/reference/model/BoxEdge.md +15 -0
  358. package/dist/docs/reference/model/BoxEdgeSelection.md +19 -0
  359. package/dist/docs/reference/model/BoxEdgeTreatments.md +20 -0
  360. package/dist/docs/reference/model/BoxOptions.md +92 -0
  361. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +35 -0
  362. package/dist/docs/reference/model/CircleContourOptions.md +21 -0
  363. package/dist/docs/reference/model/CircleOptions.md +21 -0
  364. package/dist/docs/reference/model/CircularPrimitiveOptions.md +64 -0
  365. package/dist/docs/reference/model/Computed.md +35 -0
  366. package/dist/docs/reference/model/ComputedValue.md +20 -0
  367. package/dist/docs/reference/model/Contour.md +22 -0
  368. package/dist/docs/reference/model/CorrespondingComponent.md +46 -0
  369. package/dist/docs/reference/model/CorrespondingContour.md +46 -0
  370. package/dist/docs/reference/model/CorrespondingProfile.md +22 -0
  371. package/dist/docs/reference/model/CorrespondingProfileStation.md +27 -0
  372. package/dist/docs/reference/model/CylinderOptions.md +58 -0
  373. package/dist/docs/reference/model/DiagnosticOptions.md +23 -0
  374. package/dist/docs/reference/model/EdgeTreatment.md +22 -0
  375. package/dist/docs/reference/model/EllipseContourOptions.md +21 -0
  376. package/dist/docs/reference/model/EllipseOptions.md +21 -0
  377. package/dist/docs/reference/model/EndTreatments.md +39 -0
  378. package/dist/docs/reference/model/ExtrudeOptions.md +140 -0
  379. package/dist/docs/reference/model/FinalizedModel.md +121 -0
  380. package/dist/docs/reference/model/FinalizedPart.md +87 -0
  381. package/dist/docs/reference/model/Frame3.md +63 -0
  382. package/dist/docs/reference/model/GenerateCallback.md +37 -0
  383. package/dist/docs/reference/model/GenerateContext.md +277 -0
  384. package/dist/docs/reference/model/GeneratedPart.md +93 -0
  385. package/dist/docs/reference/model/GenerationDiagnostic.md +41 -0
  386. package/dist/docs/reference/model/GenerationError.md +54 -0
  387. package/dist/docs/reference/model/GeometryResolution.md +70 -0
  388. package/dist/docs/reference/model/GeometrySamplingLimits.md +62 -0
  389. package/dist/docs/reference/model/GeometryToleranceOptions.md +46 -0
  390. package/dist/docs/reference/model/GridPatternOptions.md +43 -0
  391. package/dist/docs/reference/model/HeightfieldOptions.md +67 -0
  392. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +140 -0
  393. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +58 -0
  394. package/dist/docs/reference/model/HullOptions.md +72 -0
  395. package/dist/docs/reference/model/ImmutableBuffer-type.md +80 -0
  396. package/dist/docs/reference/model/ImmutableTriangleMesh.md +34 -0
  397. package/dist/docs/reference/model/ImplicitOptions.md +83 -0
  398. package/dist/docs/reference/model/InternalThreadCutterOptions.md +245 -0
  399. package/dist/docs/reference/model/LinearPatternOptions.md +31 -0
  400. package/dist/docs/reference/model/LoftCorrespondence.md +27 -0
  401. package/dist/docs/reference/model/LoftOptions.md +91 -0
  402. package/dist/docs/reference/model/LoftPlacement.md +73 -0
  403. package/dist/docs/reference/model/LoftStation.md +35 -0
  404. package/dist/docs/reference/model/MatchProfilesOptions.md +35 -0
  405. package/dist/docs/reference/model/ModelProgram.md +44 -0
  406. package/dist/docs/reference/model/ModelingLimits.md +126 -0
  407. package/dist/docs/reference/model/NumericArray.md +7 -0
  408. package/dist/docs/reference/model/PartGeometry.md +16 -0
  409. package/dist/docs/reference/model/PartOptions.md +65 -0
  410. package/dist/docs/reference/model/PathNormalGuide.md +45 -0
  411. package/dist/docs/reference/model/PathPatternOptions.md +47 -0
  412. package/dist/docs/reference/model/PatternSource.md +26 -0
  413. package/dist/docs/reference/model/PlaneOptions.md +39 -0
  414. package/dist/docs/reference/model/Polygon-type.md +43 -0
  415. package/dist/docs/reference/model/PolygonOptions.md +112 -0
  416. package/dist/docs/reference/model/PrimitivePlacement.md +40 -0
  417. package/dist/docs/reference/model/PrimitivePlacementOptions.md +88 -0
  418. package/dist/docs/reference/model/PrintableThreadFit.md +14 -0
  419. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +50 -0
  420. package/dist/docs/reference/model/Profile.md +22 -0
  421. package/dist/docs/reference/model/ProfileComponent2.md +46 -0
  422. package/dist/docs/reference/model/ProfileContour2.md +34 -0
  423. package/dist/docs/reference/model/ProfileSpan2.md +47 -0
  424. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +41 -0
  425. package/dist/docs/reference/model/RadialPatternOptions.md +63 -0
  426. package/dist/docs/reference/model/RadialSizing.md +15 -0
  427. package/dist/docs/reference/model/RadialSizingOptions.md +40 -0
  428. package/dist/docs/reference/model/RectangleContourOptions.md +72 -0
  429. package/dist/docs/reference/model/RectangleCornerTreatment.md +40 -0
  430. package/dist/docs/reference/model/RectangleCornerTreatments.md +20 -0
  431. package/dist/docs/reference/model/RectangleOptions.md +107 -0
  432. package/dist/docs/reference/model/Region.md +19 -0
  433. package/dist/docs/reference/model/RegionOffsetJoin.md +16 -0
  434. package/dist/docs/reference/model/RegionOffsetOptions.md +65 -0
  435. package/dist/docs/reference/model/RegularPolygonOptions.md +53 -0
  436. package/dist/docs/reference/model/RevolveOptions.md +89 -0
  437. package/dist/docs/reference/model/RoundedEdgeTreatment.md +96 -0
  438. package/dist/docs/reference/model/Section.md +450 -0
  439. package/dist/docs/reference/model/SectionHullOptions.md +72 -0
  440. package/dist/docs/reference/model/SectionInspection.md +98 -0
  441. package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
  442. package/dist/docs/reference/model/Solid.md +350 -0
  443. package/dist/docs/reference/model/SolidInspection.md +98 -0
  444. package/dist/docs/reference/model/SolidRayHit.md +58 -0
  445. package/dist/docs/reference/model/SphereOptions.md +20 -0
  446. package/dist/docs/reference/model/StarOptions.md +98 -0
  447. package/dist/docs/reference/model/SvgOrigin.md +16 -0
  448. package/dist/docs/reference/model/SvgPathSectionOptions.md +78 -0
  449. package/dist/docs/reference/model/SvgSectionOptions.md +66 -0
  450. package/dist/docs/reference/model/SweepOptions.md +116 -0
  451. package/dist/docs/reference/model/SweepOrientation.md +116 -0
  452. package/dist/docs/reference/model/TextSectionOptions.md +41 -0
  453. package/dist/docs/reference/model/ThreadEndStyle.md +14 -0
  454. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +117 -0
  455. package/dist/docs/reference/model/ThreadHandedness.md +14 -0
  456. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +14 -0
  457. package/dist/docs/reference/model/ThreadLeadInShape.md +14 -0
  458. package/dist/docs/reference/model/ThreadProfile.md +86 -0
  459. package/dist/docs/reference/model/ThreadRidgeOptions.md +18 -0
  460. package/dist/docs/reference/model/ThreadedNutBevel.md +14 -0
  461. package/dist/docs/reference/model/ThreadedNutOptions.md +273 -0
  462. package/dist/docs/reference/model/ThreadedNutPreflight.md +98 -0
  463. package/dist/docs/reference/model/ThreadedNutShape.md +14 -0
  464. package/dist/docs/reference/model/ThreadedRodOptions.md +245 -0
  465. package/dist/docs/reference/model/TorusOptions.md +110 -0
  466. package/dist/docs/reference/model/Transform2.md +15 -0
  467. package/dist/docs/reference/model/Transform3.md +18 -0
  468. package/dist/docs/reference/model/TriangleMesh.md +42 -0
  469. package/dist/docs/reference/model/TriangleMeshAnalysis.md +123 -0
  470. package/dist/docs/reference/model/TriangleMeshMeasurements.md +79 -0
  471. package/dist/docs/reference/model/TubeOptions.md +143 -0
  472. package/dist/docs/reference/model/Vector2.md +15 -0
  473. package/dist/docs/reference/model/Vector3.md +15 -0
  474. package/dist/docs/reference/model/VectorTextLayout.md +40 -0
  475. package/dist/docs/reference/model/VectorTextMetrics.md +100 -0
  476. package/dist/docs/reference/model/anchor.md +46 -0
  477. package/dist/docs/reference/model/box.md +62 -0
  478. package/dist/docs/reference/model/categories/boolean-operations.md +37 -0
  479. package/dist/docs/reference/model/categories/bounded-surfaces.md +26 -0
  480. package/dist/docs/reference/model/categories/contracts.md +16 -0
  481. package/dist/docs/reference/model/categories/core-values-errors.md +30 -0
  482. package/dist/docs/reference/model/categories/explicit-profiles.md +32 -0
  483. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +42 -0
  484. package/dist/docs/reference/model/categories/generation.md +44 -0
  485. package/dist/docs/reference/model/categories/inspection.md +23 -0
  486. package/dist/docs/reference/model/categories/mesh-inspection.md +29 -0
  487. package/dist/docs/reference/model/categories/primitives.md +61 -0
  488. package/dist/docs/reference/model/categories/resolution.md +18 -0
  489. package/dist/docs/reference/model/categories/sections.md +59 -0
  490. package/dist/docs/reference/model/categories/threads.md +50 -0
  491. package/dist/docs/reference/model/categories/transforms-placement.md +43 -0
  492. package/dist/docs/reference/model/circle.md +39 -0
  493. package/dist/docs/reference/model/components.md +68 -0
  494. package/dist/docs/reference/model/compose.md +31 -0
  495. package/dist/docs/reference/model/cylinder.md +52 -0
  496. package/dist/docs/reference/model/distance.md +45 -0
  497. package/dist/docs/reference/model/ellipse.md +39 -0
  498. package/dist/docs/reference/model/extrude.md +83 -0
  499. package/dist/docs/reference/model/fromRegion.md +33 -0
  500. package/dist/docs/reference/model/generate.md +46 -0
  501. package/dist/docs/reference/model/gridPattern.md +80 -0
  502. package/dist/docs/reference/model/heightfield.md +40 -0
  503. package/dist/docs/reference/model/hull.md +74 -0
  504. package/dist/docs/reference/model/immutableBuffer.md +44 -0
  505. package/dist/docs/reference/model/immutableMesh.md +40 -0
  506. package/dist/docs/reference/model/implicit.md +47 -0
  507. package/dist/docs/reference/model/inspectSection.md +38 -0
  508. package/dist/docs/reference/model/inspectSolid.md +38 -0
  509. package/dist/docs/reference/model/internalThreadCutter.md +100 -0
  510. package/dist/docs/reference/model/intersect.md +70 -0
  511. package/dist/docs/reference/model/isEmpty.md +39 -0
  512. package/dist/docs/reference/model/linearPattern.md +80 -0
  513. package/dist/docs/reference/model/loft.md +137 -0
  514. package/dist/docs/reference/model/matchProfiles.md +42 -0
  515. package/dist/docs/reference/model/minkowskiSum.md +37 -0
  516. package/dist/docs/reference/model/pathPattern.md +118 -0
  517. package/dist/docs/reference/model/polygon.md +40 -0
  518. package/dist/docs/reference/model/preflightInternalThreadCutter.md +89 -0
  519. package/dist/docs/reference/model/preflightThreadedNut.md +100 -0
  520. package/dist/docs/reference/model/preflightThreadedRod.md +89 -0
  521. package/dist/docs/reference/model/radialPattern.md +113 -0
  522. package/dist/docs/reference/model/rayCast.md +40 -0
  523. package/dist/docs/reference/model/rectangle.md +59 -0
  524. package/dist/docs/reference/model/regularPolygon.md +39 -0
  525. package/dist/docs/reference/model/revolve.md +74 -0
  526. package/dist/docs/reference/model/solidFromMesh.md +42 -0
  527. package/dist/docs/reference/model/sphere.md +42 -0
  528. package/dist/docs/reference/model/split.md +54 -0
  529. package/dist/docs/reference/model/splitByPlane.md +66 -0
  530. package/dist/docs/reference/model/star.md +63 -0
  531. package/dist/docs/reference/model/svgPathSection.md +65 -0
  532. package/dist/docs/reference/model/svgSection.md +64 -0
  533. package/dist/docs/reference/model/sweep.md +92 -0
  534. package/dist/docs/reference/model/textSection.md +57 -0
  535. package/dist/docs/reference/model/threadRidge.md +72 -0
  536. package/dist/docs/reference/model/threadedNut.md +110 -0
  537. package/dist/docs/reference/model/threadedRod.md +99 -0
  538. package/dist/docs/reference/model/toRegion.md +33 -0
  539. package/dist/docs/reference/model/toTriangleMesh.md +27 -0
  540. package/dist/docs/reference/model/torus.md +70 -0
  541. package/dist/docs/reference/model/tube.md +77 -0
  542. package/dist/docs/reference/model/union.md +72 -0
  543. package/dist/docs/reference/model.md +39 -0
  544. package/dist/docs/reference/text/Bounds2.md +34 -0
  545. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -0
  546. package/dist/docs/reference/text/Vector2.md +7 -0
  547. package/dist/docs/reference/text/VectorFont.md +186 -0
  548. package/dist/docs/reference/text/VectorFontOptions.md +17 -0
  549. package/dist/docs/reference/text/VectorTextArcBaseline.md +53 -0
  550. package/dist/docs/reference/text/VectorTextLayout.md +34 -0
  551. package/dist/docs/reference/text/VectorTextLayoutOptions.md +111 -0
  552. package/dist/docs/reference/text/VectorTextMetrics.md +94 -0
  553. package/dist/docs/reference/text/VectorTextOptions.md +50 -0
  554. package/dist/docs/reference/text/categories/font-preparation.md +38 -0
  555. package/dist/docs/reference/text/prepareVectorFont.md +46 -0
  556. package/dist/docs/reference/text.md +21 -0
  557. package/dist/engine/construction-operations.js +10 -3
  558. package/dist/engine/deferred-context.js +12 -3
  559. package/dist/engine/execution.js +1 -1
  560. package/dist/engine/export-3mf.js +2 -2
  561. package/dist/engine/finalization.js +3 -3
  562. package/dist/engine/immutable-generation-data.js +36 -6
  563. package/dist/engine/loft-operations.js +4 -4
  564. package/dist/engine/native/adapter.js +1 -1
  565. package/dist/engine/native/regions.js +9 -9
  566. package/dist/engine/pattern-operations.js +24 -13
  567. package/dist/engine/pattern-transform.js +9 -0
  568. package/dist/engine/placement.js +2 -2
  569. package/dist/engine/primitive-operations.js +10 -10
  570. package/dist/engine/profile-mesh.js +7 -7
  571. package/dist/engine/section-operations.js +25 -14
  572. package/dist/engine/session-graph.js +40 -33
  573. package/dist/engine/session.js +1 -2
  574. package/dist/geometry/bounds.js +117 -0
  575. package/dist/geometry/cylinder.js +5 -1
  576. package/dist/geometry/edge-finishing.js +2 -2
  577. package/dist/geometry/heightfield.js +1 -1
  578. package/dist/geometry/index.js +15 -12
  579. package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
  580. package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
  581. package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
  582. package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
  583. package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
  584. package/dist/geometry/{loft.js → loft/loft.js} +8 -8
  585. package/dist/geometry/math/vector3.js +5 -1
  586. package/dist/geometry/mechanical/gears.js +2 -2
  587. package/dist/geometry/mechanical/thread-mesh.js +3 -3
  588. package/dist/geometry/mechanical/thread-profiles.js +2 -2
  589. package/dist/geometry/mechanical/thread-surface.js +14 -5
  590. package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
  591. package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
  592. package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
  593. package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
  594. package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
  595. package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
  596. package/dist/geometry/paths/frames.js +4 -5
  597. package/dist/geometry/patterns/options.js +1 -0
  598. package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
  599. package/dist/geometry/patterns.js +25 -0
  600. package/dist/geometry/primitive-resolvers.js +9 -9
  601. package/dist/geometry/profiles/contour.js +3 -3
  602. package/dist/geometry/profiles/matched.js +3 -3
  603. package/dist/geometry/profiles/profiles.js +10 -10
  604. package/dist/geometry/profiles/rectangle.js +7 -7
  605. package/dist/geometry/profiles/shapes.js +9 -9
  606. package/dist/geometry/profiles/side-profile.js +37 -0
  607. package/dist/geometry/regions.js +15 -15
  608. package/dist/geometry/revolve/revolve-mesh.js +5 -5
  609. package/dist/geometry/stroke-path.js +2 -2
  610. package/dist/geometry/svg/errors.js +0 -3
  611. package/dist/geometry/svg/fill.js +7 -7
  612. package/dist/geometry/svg/index.js +1 -1
  613. package/dist/geometry/svg/matrix.js +0 -114
  614. package/dist/geometry/svg/parser.js +1 -439
  615. package/dist/geometry/svg-import.js +3 -3
  616. package/dist/geometry/sweeps/sweep-closed.js +1 -1
  617. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  618. package/dist/geometry/sweeps/sweep-open.js +3 -3
  619. package/dist/geometry/sweeps/validation.js +2 -2
  620. package/dist/geometry/text-fitting.js +85 -0
  621. package/dist/geometry/tolerance.js +2 -2
  622. package/dist/geometry/transform-geometry.js +9 -9
  623. package/dist/model/execution-binding.js +3 -3
  624. package/dist/model/generation.js +1 -1
  625. package/dist/model/operation-contracts.js +1 -0
  626. package/dist/model/operation-dispatch.js +6 -0
  627. package/dist/model/operations.js +19 -49
  628. package/package.json +10 -8
  629. /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
  630. /package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +0 -0
@@ -0,0 +1,74 @@
1
+ # revolve
2
+
3
+ Revolves explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Filled Sections use `section.revolve(options)`.
4
+
5
+ **revolve**(`shape`: [`CorrespondingProfile`](CorrespondingProfile.md), `options?`: [`RevolveOptions`](RevolveOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Revolve
10
+
11
+ ```ts
12
+ import { matchProfiles, revolve } from "@metamesh/modeling";
13
+ import { rectangleProfile } from "@metamesh/modeling/geometry";
14
+
15
+ // Contour coordinates are [radius, Z].
16
+ const [profile] = matchProfiles([rectangleProfile({ size: [4, 16], center: false })]);
17
+ revolve(profile!, { revolveDegrees: 270 });
18
+ ```
19
+
20
+ ## Parameters
21
+
22
+ <a id="shape"></a>
23
+
24
+ **`shape`** · [`CorrespondingProfile`](CorrespondingProfile.md) · Required
25
+
26
+
27
+
28
+ <a id="options"></a>
29
+
30
+ **`options`** · [`RevolveOptions`](RevolveOptions.md) · Optional
31
+
32
+ - [`segments`](RevolveOptions.md#segments) · `number` · Optional
33
+
34
+ Exact circumferential segment count from three through the configured safety limit.
35
+
36
+ This local topology override takes precedence over [CircularPrimitiveOptions.resolution](CircularPrimitiveOptions.md#resolution)
37
+ and any active model-wide resolution policy.
38
+
39
+ - [`resolution`](RevolveOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
40
+
41
+ Operation-level physical tessellation policy over the active model-wide policy.
42
+
43
+ - [`revolveDegrees`](RevolveOptions.md#revolvedegrees) · `number` · Optional
44
+
45
+ Positive angular sweep no greater than 360 degrees; partial revolutions have end caps.
46
+ Segment counts describe a complete circle and scale to this angular span. Native filled
47
+ revolutions require at least three sweep intervals: adaptive sampling refines to that floor,
48
+ while exact counts that imply fewer intervals reject. Pure revolveMesh supports one interval.
49
+
50
+ - [`limits`](RevolveOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
51
+
52
+ Explicit output and sampling allocation ceilings.
53
+
54
+
55
+
56
+ ## Returns
57
+
58
+ [`Solid`](Solid.md)
59
+
60
+
61
+ ## Related APIs
62
+
63
+ - [CorrespondingProfile](CorrespondingProfile.md)
64
+ - [RevolveOptions](RevolveOptions.md)
65
+ - [Solid](Solid.md)
66
+
67
+ ## Guides
68
+
69
+ - [Revolve a radial profile](../../guides/recipes.md#revolve-a-radial-profile)
70
+ - [Rotation-minimizing path sweep](../../guides/recipes.md#rotation-minimizing-path-sweep)
71
+ - [Matched-section loft](../../guides/recipes.md#matched-section-loft)
72
+ - [Choose a modeling path](../../guides/concepts.md#choose-a-modeling-path)
73
+
74
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,42 @@
1
+ # solidFromMesh
2
+
3
+ Imports a bounded closed indexed mesh.
4
+
5
+ **solidFromMesh**(`mesh`: [`TriangleMesh`](TriangleMesh.md) \| [`ImmutableTriangleMesh`](ImmutableTriangleMesh.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Mesh import
10
+
11
+ ```ts
12
+ import { solidFromMesh } from "@metamesh/modeling";
13
+ import { extrudeMesh, rectangleContour } from "@metamesh/modeling/geometry";
14
+
15
+ const mesh = extrudeMesh(rectangleContour({ size: [20, 12] }), { height: 6 });
16
+ solidFromMesh(mesh);
17
+ ```
18
+
19
+ ## Parameters
20
+
21
+ <a id="mesh"></a>
22
+
23
+ **`mesh`** · [`TriangleMesh`](TriangleMesh.md) \| [`ImmutableTriangleMesh`](ImmutableTriangleMesh.md) · Required
24
+
25
+
26
+
27
+ ## Returns
28
+
29
+ [`Solid`](Solid.md)
30
+
31
+
32
+ ## Related APIs
33
+
34
+ - [ImmutableTriangleMesh](ImmutableTriangleMesh.md)
35
+ - [Solid](Solid.md)
36
+ - [TriangleMesh](TriangleMesh.md)
37
+
38
+ ## Guides
39
+
40
+ - [Solid inspection](../../guides/recipes.md#solid-inspection)
41
+
42
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,42 @@
1
+ # sphere
2
+
3
+ Origin-centered sphere.
4
+
5
+ **sphere**(`options`: [`SphereOptions`](SphereOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Sphere
10
+
11
+
12
+
13
+ ```ts
14
+ sphere({ diameter: 20 });
15
+ ```
16
+
17
+
18
+
19
+ ## Parameters
20
+
21
+ <a id="options"></a>
22
+
23
+ **`options`** · [`SphereOptions`](SphereOptions.md) · Required
24
+
25
+
26
+
27
+ ## Returns
28
+
29
+ [`Solid`](Solid.md)
30
+
31
+
32
+ ## Related APIs
33
+
34
+ - [Solid](Solid.md)
35
+ - [SphereOptions](SphereOptions.md)
36
+
37
+ ## Guides
38
+
39
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
40
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
41
+
42
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,54 @@
1
+ # split
2
+
3
+ Splits a solid into [inside the cutter, outside the cutter].
4
+
5
+ **split**(`solid`: [`Solid`](Solid.md), `cutter`: [`Solid`](Solid.md)): readonly \[[`Solid`](Solid.md), [`Solid`](Solid.md)\]
6
+
7
+
8
+
9
+ ## Example: Keep the plug and the surrounding body
10
+
11
+
12
+
13
+ ```ts
14
+ const body = box({ size: [30, 20, 8] });
15
+ const cutter = cylinder({ height: 10, diameter: 8 });
16
+ const [plug, remainder] = split(body, cutter);
17
+ // Move the plug beside the body to show both results.
18
+ union([plug.translate([0, -20, 0]), remainder]);
19
+ ```
20
+
21
+
22
+
23
+ The first result is the intersection; the second is the subtraction. The cutter itself
24
+ is not returned. Either result may be empty or contain multiple disconnected components.
25
+
26
+ ## Parameters
27
+
28
+ <a id="solid"></a>
29
+
30
+ **`solid`** · [`Solid`](Solid.md) · Required
31
+
32
+
33
+
34
+ <a id="cutter"></a>
35
+
36
+ **`cutter`** · [`Solid`](Solid.md) · Required
37
+
38
+
39
+
40
+ ## Returns
41
+
42
+ readonly \[[`Solid`](Solid.md), [`Solid`](Solid.md)\]
43
+
44
+
45
+ ## Related APIs
46
+
47
+ - [Solid](Solid.md)
48
+
49
+ ## Guides
50
+
51
+ - [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
52
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
53
+
54
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,66 @@
1
+ # splitByPlane
2
+
3
+ Splits a solid into [positive-normal side, negative side] at a world-space plane.
4
+
5
+ **splitByPlane**(`solid`: [`Solid`](Solid.md), `plane`: [`PlaneOptions`](PlaneOptions.md)): readonly \[[`Solid`](Solid.md), [`Solid`](Solid.md)\]
6
+
7
+
8
+
9
+ ## Example: Separate two halves at X = 0
10
+
11
+
12
+
13
+ ```ts
14
+ const body = box({ size: [30, 20, 8] });
15
+ const [right, left] = splitByPlane(body, { normal: [1, 0, 0] });
16
+ // The gap is only for display; the cut itself removes no material.
17
+ union([right.translate([4, 0, 0]), left.translate([-4, 0, 0])]);
18
+ ```
19
+
20
+
21
+
22
+ ## Example: Keep only the positive half
23
+
24
+
25
+
26
+ ```ts
27
+ const [right] = splitByPlane(box({ size: [30, 20, 8] }), { normal: [1, 0, 0] });
28
+ right;
29
+ ```
30
+
31
+
32
+
33
+ The nonzero normal is normalized; offset is the signed distance from the origin in
34
+ millimetres, defaulting to zero. Both cut faces are closed. Select either tuple result
35
+ to retain one side; either result may be empty.
36
+
37
+ ## Parameters
38
+
39
+ <a id="solid"></a>
40
+
41
+ **`solid`** · [`Solid`](Solid.md) · Required
42
+
43
+
44
+
45
+ <a id="plane"></a>
46
+
47
+ **`plane`** · [`PlaneOptions`](PlaneOptions.md) · Required
48
+
49
+
50
+
51
+ ## Returns
52
+
53
+ readonly \[[`Solid`](Solid.md), [`Solid`](Solid.md)\]
54
+
55
+
56
+ ## Related APIs
57
+
58
+ - [PlaneOptions](PlaneOptions.md)
59
+ - [Solid](Solid.md)
60
+
61
+ ## Guides
62
+
63
+ - [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
64
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
65
+
66
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,63 @@
1
+ # star
2
+
3
+ Alternating outer/inner star vertices.
4
+
5
+ **star**(`options`: [`StarOptions`](StarOptions.md)): [`Section`](Section.md)
6
+
7
+
8
+
9
+ ## Example: Five-point section
10
+
11
+ ```ts
12
+ star({ outerRadius: 12, innerRadius: 6, points: 5 });
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`StarOptions`](StarOptions.md) · Required
20
+
21
+ - [`outerRadius`](StarOptions.md#outerradius) · `number` · Required
22
+
23
+ Positive outer vertex radius in millimetres.
24
+
25
+ - [`innerRadius`](StarOptions.md#innerradius) · `number` · Required
26
+
27
+ Positive inner vertex radius, smaller than the outer radius.
28
+
29
+ - [`points`](StarOptions.md#points) · `number` · Required
30
+
31
+ Integer outer point count from three through 50000.
32
+
33
+ - [`placement`](StarOptions.md#placement) · [`PrimitivePlacementOptions`](PrimitivePlacementOptions.md) · Optional
34
+
35
+ Applied after local construction; Section placement must preserve the XY plane.
36
+
37
+ - [`limits`](StarOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
38
+
39
+ Explicit sampling ceilings, bounded by the host policy.
40
+
41
+ - [`rotationDegrees`](StarOptions.md#rotationdegrees) · `number` · Optional
42
+
43
+ Initial counterclockwise rotation in degrees; defaults to zero.
44
+
45
+
46
+
47
+ ## Returns
48
+
49
+ [`Section`](Section.md)
50
+
51
+
52
+ ## Related APIs
53
+
54
+ - [Section](Section.md)
55
+ - [StarOptions](StarOptions.md)
56
+
57
+ ## Guides
58
+
59
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
60
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
61
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
62
+
63
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,65 @@
1
+ # svgPathSection
2
+
3
+ Imports bounded filled SVG path data.
4
+
5
+ **svgPathSection**(`path`: `string`, `options?`: [`SvgPathSectionOptions`](SvgPathSectionOptions.md)): [`Section`](Section.md)
6
+
7
+
8
+
9
+ ## Example: Fill an SVG path in millimetres
10
+
11
+ ```ts
12
+ svgPathSection("M0 0H20V12H0Z", { origin: "center", scale: 1 });
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="path"></a>
18
+
19
+ **`path`** · `string` · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`SvgPathSectionOptions`](SvgPathSectionOptions.md) · Optional
26
+
27
+ - [`limits`](SvgPathSectionOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
28
+
29
+ Local allocation ceilings may only lower the configured engine policy.
30
+
31
+ - [`fillRule`](SvgPathSectionOptions.md#fillrule) · `"nonzero"` \| `"evenodd"` · Optional
32
+
33
+ Nonzero or even-odd filled-contour rule; defaults to nonzero.
34
+
35
+ - [`resolution`](SvgPathSectionOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
36
+
37
+ Local physical sampling policy; exact interval counts take precedence.
38
+
39
+ - [`origin`](SvgPathSectionOptions.md#origin) · [`SvgOrigin`](SvgOrigin.md) · Optional
40
+
41
+ Center the painted bounds or preserve original path coordinates.
42
+
43
+ - [`scale`](SvgPathSectionOptions.md#scale) · `number` · Optional
44
+
45
+ Positive uniform factor converting SVG user units to millimetres; defaults to one.
46
+
47
+
48
+
49
+ ## Returns
50
+
51
+ [`Section`](Section.md)
52
+
53
+
54
+ ## Related APIs
55
+
56
+ - [Section](Section.md)
57
+ - [SvgPathSectionOptions](SvgPathSectionOptions.md)
58
+
59
+ ## Guides
60
+
61
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
62
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
63
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
64
+
65
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,64 @@
1
+ # svgSection
2
+
3
+ Imports bounded painted SVG document geometry.
4
+
5
+ **svgSection**(`svg`: `string`, `options?`: [`SvgSectionOptions`](SvgSectionOptions.md)): [`Section`](Section.md)
6
+
7
+
8
+
9
+ ## Example: Import a physical SVG rectangle
10
+
11
+ ```ts
12
+ svgSection(
13
+ '<svg xmlns="http://www.w3.org/2000/svg" width="30mm" height="20mm" viewBox="0 0 30 20"><rect width="30" height="20"/></svg>',
14
+ { origin: "center" },
15
+ );
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="svg"></a>
21
+
22
+ **`svg`** · `string` · Required
23
+
24
+
25
+
26
+ <a id="options"></a>
27
+
28
+ **`options`** · [`SvgSectionOptions`](SvgSectionOptions.md) · Optional
29
+
30
+ - [`limits`](SvgSectionOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
31
+
32
+ Local allocation ceilings may only lower the configured engine policy.
33
+
34
+ - [`circularSegments`](SvgSectionOptions.md#circularsegments) · `number` · Optional
35
+
36
+ Exact circular tessellation count overriding physical sampling.
37
+
38
+ - [`resolution`](SvgSectionOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
39
+
40
+ Local physical sampling policy; exact interval counts take precedence.
41
+
42
+ - [`origin`](SvgSectionOptions.md#origin) · [`SvgOrigin`](SvgOrigin.md) · Optional
43
+
44
+ Place the painted bounds around the origin or preserve document coordinates.
45
+
46
+
47
+
48
+ ## Returns
49
+
50
+ [`Section`](Section.md)
51
+
52
+
53
+ ## Related APIs
54
+
55
+ - [Section](Section.md)
56
+ - [SvgSectionOptions](SvgSectionOptions.md)
57
+
58
+ ## Guides
59
+
60
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
61
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
62
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
63
+
64
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,92 @@
1
+ # sweep
2
+
3
+ Sweeps explicit corresponding contours using the selected frame policy. Filled Sections use `section.sweep(path, options)`.
4
+
5
+ **sweep**(`shape`: [`CorrespondingProfile`](CorrespondingProfile.md), `path`: readonly [`Vector3`](Vector3.md)[], `options?`: [`SweepOptions`](SweepOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Sweep
10
+
11
+ ```ts
12
+ import { matchProfiles, sweep } from "@metamesh/modeling";
13
+ import { rectangleProfile } from "@metamesh/modeling/geometry";
14
+
15
+ const [profile] = matchProfiles([rectangleProfile({ size: [6, 3] })]);
16
+ sweep(profile!, [[0, 0, 0], [0, 0, 15], [10, 0, 25]], {
17
+ orientation: { kind: "transport", initialNormal: [0, 1, 0] },
18
+ });
19
+ ```
20
+
21
+ ## Parameters
22
+
23
+ <a id="shape"></a>
24
+
25
+ **`shape`** · [`CorrespondingProfile`](CorrespondingProfile.md) · Required
26
+
27
+
28
+
29
+ <a id="path"></a>
30
+
31
+ **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
32
+
33
+
34
+
35
+ <a id="options"></a>
36
+
37
+ **`options`** · [`SweepOptions`](SweepOptions.md) · Optional
38
+
39
+ - [`closed`](SweepOptions.md#closed) · `boolean` · Optional
40
+
41
+ Join the path's last station to its first. Open paths retain watertight end caps.
42
+
43
+ - [`limits`](SweepOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
44
+
45
+ Explicit output and sampling allocation ceilings.
46
+
47
+ - [`orientation`](SweepOptions.md#orientation) · [`SweepOrientation`](SweepOrientation.md) · Optional
48
+
49
+ Explicit frame policy; default transport minimizes rotations, initially projecting +X then +Y then +Z.
50
+
51
+ - [`resolution`](SweepOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
52
+
53
+ Physical sampling of nonzero twist; inserted stations retain authored station controls.
54
+
55
+ - [`twistDegrees`](SweepOptions.md#twistdegrees) · `number` · Optional
56
+
57
+ Total additional profile rotation in degrees, with progression selected by twistBy.
58
+
59
+ - [`twistBy`](SweepOptions.md#twistby) · `"length"` \| `"stations"` · Optional
60
+
61
+ Twist advances by physical path length (default), or normalized authored station position, including a closed seam gap.
62
+
63
+ - [`scale`](SweepOptions.md#scale) · `number` \| [`Vector2`](Vector2.md) \| readonly [`Vector2`](Vector2.md)[] · Optional
64
+
65
+ Positive uniform/XY scale, or one XY pair per path station. Defaults to one.
66
+
67
+ - [`seamProfileOffset`](SweepOptions.md#seamprofileoffset) · `number` · Optional
68
+
69
+ Corresponding point-index advance at a rotationally equivalent closed seam.
70
+
71
+
72
+
73
+ ## Returns
74
+
75
+ [`Solid`](Solid.md)
76
+
77
+
78
+ ## Related APIs
79
+
80
+ - [CorrespondingProfile](CorrespondingProfile.md)
81
+ - [Solid](Solid.md)
82
+ - [SweepOptions](SweepOptions.md)
83
+ - [Vector3](Vector3.md)
84
+
85
+ ## Guides
86
+
87
+ - [Revolve a radial profile](../../guides/recipes.md#revolve-a-radial-profile)
88
+ - [Rotation-minimizing path sweep](../../guides/recipes.md#rotation-minimizing-path-sweep)
89
+ - [Matched-section loft](../../guides/recipes.md#matched-section-loft)
90
+ - [Choose a modeling path](../../guides/concepts.md#choose-a-modeling-path)
91
+
92
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,57 @@
1
+ # textSection
2
+
3
+ Consumes a previously prepared layout; never shapes or fetches a font.
4
+
5
+ **textSection**(`layout`: [`VectorTextLayout`](VectorTextLayout.md), `options?`: [`TextSectionOptions`](TextSectionOptions.md)): [`Section`](Section.md)
6
+
7
+
8
+
9
+ ## Example: Use a prepared text layout
10
+
11
+ ```ts
12
+ // Prepare the exact font and layout before entering build.
13
+ function labelSection(layout: VectorTextLayout) {
14
+ return textSection(layout);
15
+ }
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="layout"></a>
21
+
22
+ **`layout`** · [`VectorTextLayout`](VectorTextLayout.md) · Required
23
+
24
+
25
+
26
+ <a id="options"></a>
27
+
28
+ **`options`** · [`TextSectionOptions`](TextSectionOptions.md) · Optional
29
+
30
+ - [`limits`](TextSectionOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
31
+
32
+ Local allocation ceilings may only lower the configured engine policy.
33
+
34
+ - [`resolution`](TextSectionOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
35
+
36
+ Local physical sampling policy; exact interval counts take precedence.
37
+
38
+
39
+
40
+ ## Returns
41
+
42
+ [`Section`](Section.md)
43
+
44
+
45
+ ## Related APIs
46
+
47
+ - [Section](Section.md)
48
+ - [TextSectionOptions](TextSectionOptions.md)
49
+ - [VectorTextLayout](VectorTextLayout.md)
50
+
51
+ ## Guides
52
+
53
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
54
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
55
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
56
+
57
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,72 @@
1
+ # threadRidge
2
+
3
+ Helical ridge mesh construction.
4
+
5
+ **threadRidge**(`options`: [`HelicalThreadRidgeMeshOptions`](HelicalThreadRidgeMeshOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`HelicalThreadRidgeMeshOptions`](HelicalThreadRidgeMeshOptions.md) · Required
14
+
15
+ - [`length`](HelicalThreadRidgeMeshOptions.md#length) · `number` · Required
16
+
17
+ Total threaded axial length in millimetres.
18
+
19
+ - [`majorDiameter`](HelicalThreadRidgeMeshOptions.md#majordiameter) · `number` · Required
20
+
21
+ Nominal major diameter before any caller-owned fit compensation.
22
+
23
+ - [`profile`](HelicalThreadRidgeMeshOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
24
+
25
+ Validated periodic profile repeated around the shaft.
26
+
27
+ - [`ends`](HelicalThreadRidgeMeshOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
28
+
29
+ Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
30
+ BOSL2-style non-cut lead-in scaling is available on complete thread solids.
31
+
32
+ - [`handedness`](HelicalThreadRidgeMeshOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
33
+
34
+ Helix direction. Default: `right`.
35
+
36
+ - [`limits`](HelicalThreadRidgeMeshOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
37
+
38
+ Explicit output and circular allocation ceilings.
39
+
40
+ - [`phaseDegrees`](HelicalThreadRidgeMeshOptions.md#phasedegrees) · `number` · Optional
41
+
42
+ Angular offset of the first start in degrees. Default: `0`.
43
+
44
+ - [`resolution`](HelicalThreadRidgeMeshOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
45
+
46
+ Optional circular-resolution policy.
47
+
48
+ - [`starts`](HelicalThreadRidgeMeshOptions.md#starts) · `number` · Optional
49
+
50
+ Number of evenly phased starts. Default: `1`.
51
+
52
+ - [`tolerance`](HelicalThreadRidgeMeshOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
53
+
54
+ Optional numerical tolerance overrides.
55
+
56
+
57
+
58
+ ## Returns
59
+
60
+ [`Solid`](Solid.md)
61
+
62
+
63
+ ## Related APIs
64
+
65
+ - [HelicalThreadRidgeMeshOptions](HelicalThreadRidgeMeshOptions.md)
66
+ - [Solid](Solid.md)
67
+
68
+ ## Guides
69
+
70
+ - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
71
+
72
+ Package: `@metamesh/modeling@0.13.0`.