@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,33 @@
1
+ # getMetricClearanceHole
2
+
3
+ Returns one recommended metric clearance-hole diameter in millimetres.
4
+
5
+ **getMetricClearanceHole**(`size`: [`MetricFastenerSize`](MetricFastenerSize.md), `fit?`: [`ClearanceHoleFit`](ClearanceHoleFit.md)): `number`
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="size"></a>
12
+
13
+ **`size`** · [`MetricFastenerSize`](MetricFastenerSize.md) · Required
14
+
15
+
16
+
17
+ <a id="fit"></a>
18
+
19
+ **`fit`** · [`ClearanceHoleFit`](ClearanceHoleFit.md) · Optional
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ `number`
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [ClearanceHoleFit](ClearanceHoleFit.md)
31
+ - [MetricFastenerSize](MetricFastenerSize.md)
32
+
33
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,27 @@
1
+ # getMetricFastenerStandard
2
+
3
+ Returns the immutable standards record for one supported metric size.
4
+
5
+ **getMetricFastenerStandard**(`size`: [`MetricFastenerSize`](MetricFastenerSize.md)): [`MetricFastenerStandard`](MetricFastenerStandard.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="size"></a>
12
+
13
+ **`size`** · [`MetricFastenerSize`](MetricFastenerSize.md) · Required
14
+
15
+
16
+
17
+ ## Returns
18
+
19
+ [`MetricFastenerStandard`](MetricFastenerStandard.md)
20
+
21
+
22
+ ## Related APIs
23
+
24
+ - [MetricFastenerSize](MetricFastenerSize.md)
25
+ - [MetricFastenerStandard](MetricFastenerStandard.md)
26
+
27
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,31 @@
1
+ # gridPatternTransforms
2
+
3
+ XY or XYZ grid placements in millimetres, in X-fastest order.
4
+
5
+ **gridPatternTransforms**(`options`: [`GridPatternOptions`](GridPatternOptions.md)): readonly [`Transform3`](Transform3.md)[]
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`GridPatternOptions`](GridPatternOptions.md) · Required
14
+
15
+
16
+
17
+ ## Returns
18
+
19
+ readonly [`Transform3`](Transform3.md)[]
20
+
21
+
22
+ ## Related APIs
23
+
24
+ - [GridPatternOptions](GridPatternOptions.md)
25
+ - [Transform3](Transform3.md)
26
+
27
+ ## Guides
28
+
29
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
30
+
31
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,43 @@
1
+ # heightfieldMesh
2
+
3
+ Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base. Heights run once per grid point after preflight; center-error adds one evaluation per cell. Top winding is +Z, the base is -Z, and sides face outward. Coordinates and heights must fit Float32 storage. Explicit axes are captured before sampling; shared wall vertices prevent cracks.
4
+
5
+ **heightfieldMesh**(`options`: [`HeightfieldOptions`](HeightfieldOptions.md), `limits?`: `Partial`\<`Pick`\<[`ModelingLimits`](ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\>): [`TriangleMesh`](TriangleMesh.md)
6
+
7
+
8
+
9
+ ## Example: Sample a closed wavy mesh
10
+
11
+ ```ts
12
+ heightfieldMesh({
13
+ size: [30, 20], segments: [24, 16],
14
+ height: ([x, y]) => 3 + Math.cos(x / 5) * Math.cos(y / 5),
15
+ });
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="options"></a>
21
+
22
+ **`options`** · [`HeightfieldOptions`](HeightfieldOptions.md) · Required
23
+
24
+
25
+
26
+ <a id="limits"></a>
27
+
28
+ **`limits`** · `Partial`\<`Pick`\<[`ModelingLimits`](ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\> · Optional
29
+
30
+
31
+
32
+ ## Returns
33
+
34
+ [`TriangleMesh`](TriangleMesh.md)
35
+
36
+
37
+ ## Related APIs
38
+
39
+ - [HeightfieldOptions](HeightfieldOptions.md)
40
+ - [ModelingLimits](ModelingLimits.md)
41
+ - [TriangleMesh](TriangleMesh.md)
42
+
43
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,30 @@
1
+ # inverseTransform3
2
+
3
+ Inverts a finite, non-singular affine transform.
4
+
5
+ **inverseTransform3**(`transform`: [`Transform3`](Transform3.md)): [`Transform3`](Transform3.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="transform"></a>
12
+
13
+ **`transform`** · [`Transform3`](Transform3.md) · Required
14
+
15
+ Transform to invert.
16
+
17
+
18
+
19
+ ## Returns
20
+
21
+ [`Transform3`](Transform3.md)
22
+
23
+ A new frozen transform whose composition with the input is identity.
24
+
25
+
26
+ ## Related APIs
27
+
28
+ - [Transform3](Transform3.md)
29
+
30
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,26 @@
1
+ # isGeometryError
2
+
3
+ Recognizes structured geometry errors from separately bundled Modeling copies in the same realm. Ordinary errors and unmarked code-shaped objects are rejected. The marker is execution-local and does not survive structured cloning; worker protocols carry their own serialized error envelope.
4
+
5
+ **isGeometryError**(`value`: `unknown`): `value is GeometryError`
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="value"></a>
12
+
13
+ **`value`** · `unknown` · Required
14
+
15
+
16
+
17
+ ## Returns
18
+
19
+ `value is GeometryError`
20
+
21
+
22
+ ## Related APIs
23
+
24
+ - [GeometryError](GeometryError.md)
25
+
26
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,36 @@
1
+ # joinTriangleMeshes
2
+
3
+ Concatenates meshes into one indexed mesh without welding coincident vertices.
4
+
5
+ **joinTriangleMeshes**(`meshes`: readonly [`TriangleMesh`](TriangleMesh.md)[]): [`TriangleMesh`](TriangleMesh.md)
6
+
7
+
8
+
9
+ Inputs are validated and never mutated. Face order and winding remain stable.
10
+
11
+ ## Parameters
12
+
13
+ <a id="meshes"></a>
14
+
15
+ **`meshes`** · readonly [`TriangleMesh`](TriangleMesh.md)[] · Required
16
+
17
+ One or more meshes to concatenate.
18
+
19
+
20
+
21
+ ## Returns
22
+
23
+ [`TriangleMesh`](TriangleMesh.md)
24
+
25
+ Fresh typed arrays with indices offset to their source vertex ranges.
26
+
27
+
28
+ ## Throws
29
+
30
+ - GeometryError When no mesh is supplied or an input is invalid.
31
+
32
+ ## Related APIs
33
+
34
+ - [TriangleMesh](TriangleMesh.md)
35
+
36
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,43 @@
1
+ # layoutRow
2
+
3
+ Returns immutable translations for a +X row of finite XYZ bounds with a nonnegative gap. Each minimum Y/Z becomes zero, and the first minimum X becomes zero. Supply bounds after any intended part rotation; translations apply to those bounds. An empty input returns [].
4
+
5
+ **layoutRow**(`bounds`: readonly [`Bounds3`](Bounds3.md)[], `options?`: [`RowLayoutOptions`](RowLayoutOptions.md)): readonly [`Vector3`](Vector3.md)[]
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="bounds"></a>
12
+
13
+ **`bounds`** · readonly [`Bounds3`](Bounds3.md)[] · Required
14
+
15
+
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`RowLayoutOptions`](RowLayoutOptions.md) · Optional
20
+
21
+ - [`gap`](RowLayoutOptions.md#gap) · `number` · Optional
22
+
23
+ Nonnegative millimetre gap between adjacent X bounds. Defaults to zero.
24
+
25
+
26
+
27
+ ## Returns
28
+
29
+ readonly [`Vector3`](Vector3.md)[]
30
+
31
+
32
+ ## Related APIs
33
+
34
+ - [Bounds3](Bounds3.md)
35
+ - [RowLayoutOptions](RowLayoutOptions.md)
36
+ - [Vector3](Vector3.md)
37
+
38
+ ## Guides
39
+
40
+ - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
41
+ - [Solid inspection](../../guides/recipes.md#solid-inspection)
42
+
43
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,26 @@
1
+ # length3
2
+
3
+ Returns Euclidean vector length in the vector's coordinate units.
4
+
5
+ `const` **length3**: (`vector`: [`Vector3`](Vector3.md)) => `number`
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="vector"></a>
12
+
13
+ **`vector`** · [`Vector3`](Vector3.md) · Required
14
+
15
+
16
+
17
+ ## Returns
18
+
19
+ `number`
20
+
21
+
22
+ ## Related APIs
23
+
24
+ - [Vector3](Vector3.md)
25
+
26
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,38 @@
1
+ # lerp3
2
+
3
+ Linearly interpolates two vectors; `t` is dimensionless and may extrapolate.
4
+
5
+ `const` **lerp3**: (`a`: [`Vector3`](Vector3.md), `b`: [`Vector3`](Vector3.md), `t`: `number`) => [`Vector3`](Vector3.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="a"></a>
12
+
13
+ **`a`** · [`Vector3`](Vector3.md) · Required
14
+
15
+
16
+
17
+ <a id="b"></a>
18
+
19
+ **`b`** · [`Vector3`](Vector3.md) · Required
20
+
21
+
22
+
23
+ <a id="t"></a>
24
+
25
+ **`t`** · `number` · Required
26
+
27
+
28
+
29
+ ## Returns
30
+
31
+ [`Vector3`](Vector3.md)
32
+
33
+
34
+ ## Related APIs
35
+
36
+ - [Vector3](Vector3.md)
37
+
38
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,31 @@
1
+ # linearPatternTransforms
2
+
3
+ Equal linear placements in millimetres, including the original at the origin.
4
+
5
+ **linearPatternTransforms**(`options`: [`LinearPatternOptions`](LinearPatternOptions.md)): readonly [`Transform3`](Transform3.md)[]
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`LinearPatternOptions`](LinearPatternOptions.md) · Required
14
+
15
+
16
+
17
+ ## Returns
18
+
19
+ readonly [`Transform3`](Transform3.md)[]
20
+
21
+
22
+ ## Related APIs
23
+
24
+ - [LinearPatternOptions](LinearPatternOptions.md)
25
+ - [Transform3](Transform3.md)
26
+
27
+ ## Guides
28
+
29
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
30
+
31
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,72 @@
1
+ # loftMesh
2
+
3
+ Lofts simple point loops at z heights or explicit right-handed frames, in input order.
4
+
5
+ **loftMesh**(`stations`: readonly [`LoftMeshStation`](LoftMeshStation.md)[], `options`: [`LoftOptions`](LoftOptions.md)): [`TriangleMesh`](TriangleMesh.md)
6
+
7
+
8
+
9
+ ## Example: Loft with explicit point correspondence
10
+
11
+ ```ts
12
+ const bottom = rectangleContour({ size: [20, 12] });
13
+ const top = rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
14
+ loftMesh([{ profile: bottom, z: 0 }, { profile: top, z: 30 }], { correspondence: "reindex" });
15
+ ```
16
+
17
+ An explicit correspondence method is required. CCW-normalized loops retain their
18
+ seam and original vertices; unequal counts gain subdivisions or repeated fan slots.
19
+ Both ends use ear-clipped caps, supporting concave profiles without center fans.
20
+ Intermediate slices interpolate placed world vertices, never frame axes.
21
+ Transformed coordinates must fit finite Float32 mesh storage.
22
+
23
+ ## Parameters
24
+
25
+ <a id="stations"></a>
26
+
27
+ **`stations`** · readonly [`LoftMeshStation`](LoftMeshStation.md)[] · Required
28
+
29
+
30
+
31
+ <a id="options"></a>
32
+
33
+ **`options`** · [`LoftOptions`](LoftOptions.md) · Required
34
+
35
+ - [`correspondence`](LoftOptions.md#correspondence) · [`LoftCorrespondence`](LoftCorrespondence.md) \| readonly [`LoftCorrespondence`](LoftCorrespondence.md)[] · Optional
36
+
37
+ One method or one per consecutive station gap. Omitted preserves known landmarks, including circle/ellipse-to-rectangle corners, or maps other unlike primitive seams directly.
38
+
39
+ - [`distribution`](LoftOptions.md#distribution) · `"perimeter"` \| `"segments"` · Optional
40
+
41
+ Extra points follow edge length or distribute equally across existing segments. Defaults to perimeter for direct/reindex, or segments when any distance method is selected; distance methods require segments.
42
+
43
+ - [`refine`](LoftOptions.md#refine) · `number` \| readonly `number`[] · Optional
44
+
45
+ Positive integer point-density multiplier, uniformly or per input profile. Original vertices are retained. Defaults to one.
46
+
47
+ - [`slices`](LoftOptions.md#slices) · `number` \| readonly `number`[] · Optional
48
+
49
+ Nonnegative count of world-linearly interpolated profiles, uniformly or per gap. Defaults to zero.
50
+
51
+ - [`resolution`](LoftOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
52
+
53
+ Physical curve policy for retained primitives, and maximum edge length for point data. Exact primitive curve counts take precedence.
54
+
55
+ - [`limits`](LoftOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
56
+
57
+ Explicit output and sampling budgets; native operations may only lower host ceilings.
58
+
59
+
60
+
61
+ ## Returns
62
+
63
+ [`TriangleMesh`](TriangleMesh.md)
64
+
65
+
66
+ ## Related APIs
67
+
68
+ - [LoftMeshStation](LoftMeshStation.md)
69
+ - [LoftOptions](LoftOptions.md)
70
+ - [TriangleMesh](TriangleMesh.md)
71
+
72
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,51 @@
1
+ # matchProfiles
2
+
3
+ Explicitly matches identified component/contour/span topology across a family. Every paired span uses the maximum physical subdivision count requested by any member. Cubics share a checked uniform parameter grid, including grids selected by exact paired requests. Input order and winding are preserved. Collapsed spans retain repeated logical slots, which the engine maps to shared physical vertices while omitting degenerate faces.
4
+
5
+ **matchProfiles**(`profiles`: readonly [`Profile`](Profile.md)[], `options?`: [`MatchProfilesOptions`](MatchProfilesOptions.md)): readonly [`CorrespondingProfile`](CorrespondingProfile.md)[]
6
+
7
+
8
+
9
+ ## Example: Match named rectangle landmarks
10
+
11
+ ```ts
12
+ matchProfiles([
13
+ rectangleProfile({ size: [20, 12] }),
14
+ rectangleProfile({ size: [30, 20], treatment: { kind: "round", radius: 3 } }),
15
+ ]);
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="profiles"></a>
21
+
22
+ **`profiles`** · readonly [`Profile`](Profile.md)[] · Required
23
+
24
+
25
+
26
+ <a id="options"></a>
27
+
28
+ **`options`** · [`MatchProfilesOptions`](MatchProfilesOptions.md) · Optional
29
+
30
+ - [`resolution`](MatchProfilesOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
31
+
32
+ Local physical sampling policy; exact interval counts take precedence.
33
+
34
+ - [`limits`](MatchProfilesOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
35
+
36
+ Explicit per-profile and circular ceilings; the family also has a one-million-slot work bound.
37
+
38
+
39
+
40
+ ## Returns
41
+
42
+ readonly [`CorrespondingProfile`](CorrespondingProfile.md)[]
43
+
44
+
45
+ ## Related APIs
46
+
47
+ - [CorrespondingProfile](CorrespondingProfile.md)
48
+ - [MatchProfilesOptions](MatchProfilesOptions.md)
49
+ - [Profile](Profile.md)
50
+
51
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,47 @@
1
+ # measureInternalCylindricalGearPairMotion
2
+
3
+ Measures sampled kinematic interference over one tooth cycle of an internal gear pair.
4
+
5
+ **measureInternalCylindricalGearPairMotion**(`spec`: [`CylindricalGearPairSpec`](CylindricalGearPairSpec.md), `options?`: [`CylindricalGearPairMotionOptions`](CylindricalGearPairMotionOptions.md)): [`CylindricalGearPairMotionReport`](CylindricalGearPairMotionReport.md)
6
+
7
+
8
+
9
+ The driver and ring rotate in the same direction at their resolved tooth-count ratio. Each
10
+ sampled pinion outline is subtracted from the ring's center-and-space opening; remaining area is
11
+ solid overlap. This catches involute, tip, and trimming interference that a single assembled pose
12
+ misses. It is a deterministic model check, not a certified gear-rating calculation.
13
+
14
+ ## Parameters
15
+
16
+ <a id="spec"></a>
17
+
18
+ **`spec`** · [`CylindricalGearPairSpec`](CylindricalGearPairSpec.md) · Required
19
+
20
+
21
+
22
+ <a id="options"></a>
23
+
24
+ **`options`** · [`CylindricalGearPairMotionOptions`](CylindricalGearPairMotionOptions.md) · Optional
25
+
26
+ - [`outline`](CylindricalGearPairMotionOptions.md#outline) · [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md) · Optional
27
+
28
+ Optional deterministic outline sampling overrides.
29
+
30
+ - [`samples`](CylindricalGearPairMotionOptions.md#samples) · `number` · Optional
31
+
32
+ Coupled poses sampled over one driver tooth pitch. Defaults to 24.
33
+
34
+
35
+
36
+ ## Returns
37
+
38
+ [`CylindricalGearPairMotionReport`](CylindricalGearPairMotionReport.md)
39
+
40
+
41
+ ## Related APIs
42
+
43
+ - [CylindricalGearPairMotionOptions](CylindricalGearPairMotionOptions.md)
44
+ - [CylindricalGearPairMotionReport](CylindricalGearPairMotionReport.md)
45
+ - [CylindricalGearPairSpec](CylindricalGearPairSpec.md)
46
+
47
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,55 @@
1
+ # measureTriangleMesh
2
+
3
+ Measures bounds, surface area, and signed volume without changing the mesh.
4
+
5
+ **measureTriangleMesh**(`mesh`: [`TriangleMesh`](TriangleMesh.md), `options?`: [`TriangleMeshValidationOptions`](TriangleMeshValidationOptions.md)): [`TriangleMeshMeasurements`](TriangleMeshMeasurements.md)
6
+
7
+
8
+
9
+ Signed volume is meaningful for a consistently wound closed mesh. Set
10
+ `requireClosed` when measurements will be used as manufacturing assertions.
11
+
12
+ ## Parameters
13
+
14
+ <a id="mesh"></a>
15
+
16
+ **`mesh`** · [`TriangleMesh`](TriangleMesh.md) · Required
17
+
18
+ Mesh to validate and measure.
19
+
20
+
21
+
22
+ <a id="options"></a>
23
+
24
+ **`options`** · [`TriangleMeshValidationOptions`](TriangleMeshValidationOptions.md) · Optional
25
+
26
+ Validation policy applied before measurement.
27
+
28
+ - [`allowEmpty`](TriangleMeshValidationOptions.md#allowempty) · `boolean` · Optional
29
+
30
+ Permit an empty position and index buffer. Defaults to `false`.
31
+
32
+ - [`requireClosed`](TriangleMeshValidationOptions.md#requireclosed) · `boolean` · Optional
33
+
34
+ Require two oppositely wound faces per edge; geometric self-intersections are not detected.
35
+
36
+ - [`tolerance`](TriangleMeshValidationOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
37
+
38
+ Numeric comparison overrides used for zero-area triangle detection.
39
+
40
+
41
+
42
+ ## Returns
43
+
44
+ [`TriangleMeshMeasurements`](TriangleMeshMeasurements.md)
45
+
46
+ Immutable deterministic scalar and bounds measurements.
47
+
48
+
49
+ ## Related APIs
50
+
51
+ - [TriangleMesh](TriangleMesh.md)
52
+ - [TriangleMeshMeasurements](TriangleMeshMeasurements.md)
53
+ - [TriangleMeshValidationOptions](TriangleMeshValidationOptions.md)
54
+
55
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,35 @@
1
+ # meshBounds
2
+
3
+ Computes axis-aligned bounds for a non-empty mesh.
4
+
5
+ `const` **meshBounds**: (`mesh`: [`TriangleMesh`](TriangleMesh.md)) => [`Bounds3`](Bounds3.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="mesh"></a>
12
+
13
+ **`mesh`** · [`TriangleMesh`](TriangleMesh.md) · Required
14
+
15
+ Mesh whose finite complete vertices will be measured.
16
+
17
+
18
+
19
+ ## Returns
20
+
21
+ [`Bounds3`](Bounds3.md)
22
+
23
+ Fresh immutable minimum and maximum XYZ tuples.
24
+
25
+
26
+ ## Throws
27
+
28
+ - GeometryError When the mesh is structurally invalid.
29
+
30
+ ## Related APIs
31
+
32
+ - [Bounds3](Bounds3.md)
33
+ - [TriangleMesh](TriangleMesh.md)
34
+
35
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,29 @@
1
+ # minimumCylindricalGearToothCountWithoutUndercut
2
+
3
+ Returns the smallest unshifted full-depth external tooth count that avoids rack-cutter undercut.
4
+
5
+ **minimumCylindricalGearToothCountWithoutUndercut**(`spec?`: `Readonly`\<`Pick`\<[`CylindricalGearSpec`](CylindricalGearSpec.md), `"helixAngleDegrees"` \| `"pressureAngleDegrees"`\>\>): `number`
6
+
7
+
8
+
9
+ The normal-plane limit is `2 / sin²(alpha_n)`. Helical gears use the standard virtual tooth
10
+ count `z_v = z / cos³(beta)`, so increasing helix angle can reduce the physical tooth count.
11
+
12
+ ## Parameters
13
+
14
+ <a id="spec"></a>
15
+
16
+ **`spec`** · `Readonly`\<`Pick`\<[`CylindricalGearSpec`](CylindricalGearSpec.md), `"helixAngleDegrees"` \| `"pressureAngleDegrees"`\>\> · Optional
17
+
18
+
19
+
20
+ ## Returns
21
+
22
+ `number`
23
+
24
+
25
+ ## Related APIs
26
+
27
+ - [CylindricalGearSpec](CylindricalGearSpec.md)
28
+
29
+ Package: `@metamesh/modeling@0.13.0`.