@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,50 @@
1
+ # roundClosedPolylinePath
2
+
3
+ Replaces each vertex of a non-duplicated closed polyline with a sampled quadratic corner in the same coordinate system as the input.
4
+
5
+ `const` **roundClosedPolylinePath**: (`points`: readonly [`Vector3`](Vector3.md)[], `radius`: `number`, `segmentsPerCorner`: `number`, `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`Vector3`](Vector3.md)[]
6
+
7
+
8
+
9
+ `radius` is the desired tangent distance for a right angle and is capped to
10
+ 45% of adjacent segment lengths to prevent neighboring corners from crossing.
11
+ The returned path does not duplicate its closing point.
12
+ Coordinates and radius must be finite; input and output are each limited by maxPathPoints (default 100000).
13
+
14
+ ## Parameters
15
+
16
+ <a id="points"></a>
17
+
18
+ **`points`** · readonly [`Vector3`](Vector3.md)[] · Required
19
+
20
+
21
+
22
+ <a id="radius"></a>
23
+
24
+ **`radius`** · `number` · Required
25
+
26
+
27
+
28
+ <a id="segmentspercorner"></a>
29
+
30
+ **`segmentsPerCorner`** · `number` · Required
31
+
32
+
33
+
34
+ <a id="limits"></a>
35
+
36
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
37
+
38
+
39
+
40
+ ## Returns
41
+
42
+ readonly [`Vector3`](Vector3.md)[]
43
+
44
+
45
+ ## Related APIs
46
+
47
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
48
+ - [Vector3](Vector3.md)
49
+
50
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,77 @@
1
+ # sampleContour
2
+
3
+ Samples 2–32 connected line/cubic segments into a simple, nonzero-area, immutable CCW XY loop. Physical scaling precedes adaptive curve sampling; the final end must repeat start exactly. Shared anchors and the closing seam are emitted once. Winding normalization may change the starting vertex. The sampled loop is checked for self-intersection and degeneracy by `normalizeContour`; this is a single contour without holes. No editor modes or normalized coordinate range are required. No native engine, SDK, or ambient resolution is used.
4
+
5
+ **sampleContour**(`curve`: [`ContourCurve`](ContourCurve.md), `options?`: [`SampleContourOptions`](SampleContourOptions.md)): [`Contour`](Contour.md)
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ const section = sampleContour({
13
+ start: { x: 0, y: 0 },
14
+ segments: [
15
+ { type: "line", end: { x: 1, y: 0 } },
16
+ { type: "line", end: { x: 0.5, y: 1 } },
17
+ { type: "line", end: { x: 0, y: 0 } },
18
+ ],
19
+ }, { widthScale: 20, heightScale: 12 });
20
+ ```
21
+
22
+ ## Parameters
23
+
24
+ <a id="curve"></a>
25
+
26
+ **`curve`** · [`ContourCurve`](ContourCurve.md) · Required
27
+
28
+ Closed contour in millimetres unless positive scales convert its coordinates.
29
+
30
+
31
+
32
+ <a id="options"></a>
33
+
34
+ **`options`** · [`SampleContourOptions`](SampleContourOptions.md) · Optional
35
+
36
+ Physical resolution and unique vertex budget; defaults to 4096 vertices.
37
+
38
+ - [`widthScale`](SampleContourOptions.md#widthscale) · `number` · Optional
39
+
40
+ Positive horizontal scale; normalized inputs span this width envelope. Defaults to 1.
41
+
42
+ - [`heightScale`](SampleContourOptions.md#heightscale) · `number` · Optional
43
+
44
+ Positive vertical scale; normalized inputs span this height envelope. Defaults to 1.
45
+
46
+ - [`resolution`](SampleContourOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
47
+
48
+ Physical policy evaluated after scaling, using the shared curve sampler.
49
+
50
+ - [`maximumVertices`](SampleContourOptions.md#maximumvertices) · `number` · Optional
51
+
52
+ Unique output vertex ceiling, at least three, within maxProfilePoints. Defaults to min(4096, maxProfilePoints).
53
+
54
+ - [`limits`](SampleContourOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
55
+
56
+ Selected profile and per-segment path ceilings; omitted values use package defaults.
57
+
58
+
59
+
60
+ ## Returns
61
+
62
+ [`Contour`](Contour.md)
63
+
64
+ Frozen counterclockwise loop in millimetres, without a repeated seam endpoint.
65
+
66
+
67
+ ## Throws
68
+
69
+ - GeometryError for invalid data, topology, scale, or exceeded sampling budgets.
70
+
71
+ ## Related APIs
72
+
73
+ - [Contour](Contour.md)
74
+ - [ContourCurve](ContourCurve.md)
75
+ - [SampleContourOptions](SampleContourOptions.md)
76
+
77
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,61 @@
1
+ # sampleCurve2
2
+
3
+ Samples a planar curve with the same guarantees and policy as spatial sampling.
4
+
5
+ **sampleCurve2**(`curve`: [`Curve2`](Curve2.md), `options?`: [`CurveSamplingOptions`](CurveSamplingOptions.md)): [`SampledCurve2`](SampledCurve2.md)
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ const turn = sampleCurve2({kind: "arc", center: [0,0], radius: 10, sweepDegrees: 90});
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="curve"></a>
18
+
19
+ **`curve`** · [`Curve2`](Curve2.md) · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`CurveSamplingOptions`](CurveSamplingOptions.md) · Optional
26
+
27
+ - [`segments`](CurveSamplingOptions.md#segments) · `number` · Optional
28
+
29
+ Exact segment count overrides physical criteria; curve parameters are spaced uniformly.
30
+
31
+ - [`resolution`](CurveSamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
32
+
33
+ Millimetre sampling policy; circularSegments applies only to arcs.
34
+
35
+ - [`maximumVertices`](CurveSamplingOptions.md#maximumvertices) · `number` · Optional
36
+
37
+ Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
38
+
39
+ - [`limits`](CurveSamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
40
+
41
+ Explicit sampling ceilings; omitted values use package defaults without ambient state.
42
+
43
+
44
+
45
+ ## Returns
46
+
47
+ [`SampledCurve2`](SampledCurve2.md)
48
+
49
+ ## Remarks
50
+
51
+ Private spatial scratch math is shared, while only final planar vectors are copied and
52
+ frozen. At stationary tangents, outgoing secants are preferred and endpoints use a backward fallback.
53
+
54
+
55
+ ## Related APIs
56
+
57
+ - [Curve2](Curve2.md)
58
+ - [CurveSamplingOptions](CurveSamplingOptions.md)
59
+ - [SampledCurve2](SampledCurve2.md)
60
+
61
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,61 @@
1
+ # sampleCurve3
2
+
3
+ Samples a spatial curve, preserving endpoints and directed unit tangents.
4
+
5
+ **sampleCurve3**(`curve`: [`Curve3`](Curve3.md), `options?`: [`CurveSamplingOptions`](CurveSamplingOptions.md)): [`SampledCurve3`](SampledCurve3.md)
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ const path = sampleCurve3({kind: "cubic", start: [0,0,0], control1: [5,0,0], control2: [5,5,5], end: [10,5,5]});
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="curve"></a>
18
+
19
+ **`curve`** · [`Curve3`](Curve3.md) · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`CurveSamplingOptions`](CurveSamplingOptions.md) · Optional
26
+
27
+ - [`segments`](CurveSamplingOptions.md#segments) · `number` · Optional
28
+
29
+ Exact segment count overrides physical criteria; curve parameters are spaced uniformly.
30
+
31
+ - [`resolution`](CurveSamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
32
+
33
+ Millimetre sampling policy; circularSegments applies only to arcs.
34
+
35
+ - [`maximumVertices`](CurveSamplingOptions.md#maximumvertices) · `number` · Optional
36
+
37
+ Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
38
+
39
+ - [`limits`](CurveSamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
40
+
41
+ Explicit sampling ceilings; omitted values use package defaults without ambient state.
42
+
43
+
44
+
45
+ ## Returns
46
+
47
+ [`SampledCurve3`](SampledCurve3.md)
48
+
49
+ ## Remarks
50
+
51
+ Exact counts use uniform curve parameters, not equal physical distances. Adaptive cubics
52
+ bound the full control hull. Full-circle arcs repeat their endpoint; closed polylines do not.
53
+
54
+
55
+ ## Related APIs
56
+
57
+ - [Curve3](Curve3.md)
58
+ - [CurveSamplingOptions](CurveSamplingOptions.md)
59
+ - [SampledCurve3](SampledCurve3.md)
60
+
61
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,58 @@
1
+ # sampleCylindricalGearOutline
2
+
3
+ Samples a complete external involute gear boundary in the XY plane.
4
+
5
+ **sampleCylindricalGearOutline**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md), `options?`: [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md)): [`Contour`](Contour.md)
6
+
7
+
8
+
9
+ The returned loop is counter-clockwise, closed implicitly without a repeated
10
+ seam point, and contains no holes. Its center is the origin and its axis is
11
+ +Z. Bore, hub, keyway, twist, and face-width choices remain generator-owned.
12
+
13
+ ## Parameters
14
+
15
+ <a id="spec"></a>
16
+
17
+ **`spec`** · [`CylindricalGearSpec`](CylindricalGearSpec.md) · Required
18
+
19
+
20
+
21
+ <a id="options"></a>
22
+
23
+ **`options`** · [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md) · Optional
24
+
25
+ - [`flankSamples`](CylindricalGearOutlineOptions.md#flanksamples) · `number` · Optional
26
+
27
+ Exact samples per involute flank, at least two, within the aggregate profile ceiling.
28
+
29
+ - [`rootArcSamples`](CylindricalGearOutlineOptions.md#rootarcsamples) · `number` · Optional
30
+
31
+ Exact samples along each bottom land, at least one, within selected circular/profile ceilings.
32
+
33
+ - [`limits`](CylindricalGearOutlineOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
34
+
35
+ Explicit profile and circular allocation ceilings.
36
+
37
+ - [`resolution`](CylindricalGearOutlineOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
38
+
39
+ Explicit physical sampling policy for adaptive defaults.
40
+
41
+ - [`tipArcSamples`](CylindricalGearOutlineOptions.md#tiparcsamples) · `number` · Optional
42
+
43
+ Exact samples along each tooth tip, at least one, within selected circular/profile ceilings.
44
+
45
+
46
+
47
+ ## Returns
48
+
49
+ [`Contour`](Contour.md)
50
+
51
+
52
+ ## Related APIs
53
+
54
+ - [Contour](Contour.md)
55
+ - [CylindricalGearOutlineOptions](CylindricalGearOutlineOptions.md)
56
+ - [CylindricalGearSpec](CylindricalGearSpec.md)
57
+
58
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,41 @@
1
+ # sampleHelix
2
+
3
+ Creates `segments + 1` points including exact helix endpoints from finite positive dimensions. Integrated weights must remain finite. The maxPathPoints ceiling defaults to 100000; excessive exact counts reject before evaluating axial weights or allocating sample arrays.
4
+
5
+ `const` **sampleHelix**: (`{
6
+ turns,
7
+ radius,
8
+ height,
9
+ segments,
10
+ limits,
11
+ axialWeight,
12
+ }`: [`SampleHelixOptions`](SampleHelixOptions.md)) => readonly [`Vector3`](Vector3.md)[]
13
+
14
+
15
+
16
+ ## Parameters
17
+
18
+
19
+
20
+ **`{
21
+ turns,
22
+ radius,
23
+ height,
24
+ segments,
25
+ limits,
26
+ axialWeight,
27
+ }`** · [`SampleHelixOptions`](SampleHelixOptions.md) · Required
28
+
29
+
30
+
31
+ ## Returns
32
+
33
+ readonly [`Vector3`](Vector3.md)[]
34
+
35
+
36
+ ## Related APIs
37
+
38
+ - [SampleHelixOptions](SampleHelixOptions.md)
39
+ - [Vector3](Vector3.md)
40
+
41
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,59 @@
1
+ # sampleInternalCylindricalGearSpaceOutline
2
+
3
+ Samples the center opening and tooth spaces used to subtract an internal ring gear.
4
+
5
+ **sampleInternalCylindricalGearSpaceOutline**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md), `options?`: [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md)): [`Contour`](Contour.md)
6
+
7
+
8
+
9
+ Internal tooth tips lie one addendum below the pitch radius and their roots lie one
10
+ dedendum above it. At the pitch circle, positive backlash widens each sampled space
11
+ tangentially. The returned CCW loop encloses the center and is intended to be reversed
12
+ when used as a region hole.
13
+
14
+ ## Parameters
15
+
16
+ <a id="spec"></a>
17
+
18
+ **`spec`** · [`CylindricalGearSpec`](CylindricalGearSpec.md) · Required
19
+
20
+
21
+
22
+ <a id="options"></a>
23
+
24
+ **`options`** · [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md) · Optional
25
+
26
+ - [`flankSamples`](CylindricalGearOutlineOptions.md#flanksamples) · `number` · Optional
27
+
28
+ Exact samples per involute flank, at least two, within the aggregate profile ceiling.
29
+
30
+ - [`rootArcSamples`](CylindricalGearOutlineOptions.md#rootarcsamples) · `number` · Optional
31
+
32
+ Exact samples along each bottom land, at least one, within selected circular/profile ceilings.
33
+
34
+ - [`limits`](CylindricalGearOutlineOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
35
+
36
+ Explicit profile and circular allocation ceilings.
37
+
38
+ - [`resolution`](CylindricalGearOutlineOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
39
+
40
+ Explicit physical sampling policy for adaptive defaults.
41
+
42
+ - [`tipArcSamples`](CylindricalGearOutlineOptions.md#tiparcsamples) · `number` · Optional
43
+
44
+ Exact samples along each tooth tip, at least one, within selected circular/profile ceilings.
45
+
46
+
47
+
48
+ ## Returns
49
+
50
+ [`Contour`](Contour.md)
51
+
52
+
53
+ ## Related APIs
54
+
55
+ - [Contour](Contour.md)
56
+ - [CylindricalGearOutlineOptions](CylindricalGearOutlineOptions.md)
57
+ - [CylindricalGearSpec](CylindricalGearSpec.md)
58
+
59
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,39 @@
1
+ # sampleRackToothPath
2
+
3
+ Samples the open top boundary of a finite rack in its XY pitch plane.
4
+
5
+ **sampleRackToothPath**(`spec`: [`RackPitchSpec`](RackPitchSpec.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`Path2`](Path2.md)
6
+
7
+
8
+
9
+ X follows rack travel, Y is tooth height, and the pitch line is `Y = 0`.
10
+ The path begins and ends on the root line, omits duplicate adjacent points,
11
+ and leaves base thickness, mounting features, extrusion, and helical sweep to
12
+ the owning generator.
13
+
14
+ ## Parameters
15
+
16
+ <a id="spec"></a>
17
+
18
+ **`spec`** · [`RackPitchSpec`](RackPitchSpec.md) · Required
19
+
20
+
21
+
22
+ <a id="limits"></a>
23
+
24
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
25
+
26
+
27
+
28
+ ## Returns
29
+
30
+ [`Path2`](Path2.md)
31
+
32
+
33
+ ## Related APIs
34
+
35
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
36
+ - [Path2](Path2.md)
37
+ - [RackPitchSpec](RackPitchSpec.md)
38
+
39
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,73 @@
1
+ # sampleSideProfile
2
+
3
+ Samples 1–31 line/cubic segments into a deeply immutable open [radius,height] polyline. Anchors must progress strictly upward; nonnegative-radius cubic controls must have ordered heights between their endpoints. Cubics use de Casteljau subdivision with a conservative control-hull chord-error bound. Lines also obey the optional physical edge-length ceiling. Neither normalized coordinates nor editor metadata are required. Endpoints are retained once; no axis closure, winding normalization, or manufacturing repair is performed.
4
+
5
+ **sampleSideProfile**(`curve`: [`SideProfileCurve`](SideProfileCurve.md), `options?`: [`SampleSideProfileOptions`](SampleSideProfileOptions.md)): readonly [`Vector2`](Vector2.md)[]
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ const side = sampleSideProfile({
13
+ start: { radius: 0.5, height: 0 },
14
+ segments: [{ type: "line", end: { radius: 1, height: 1 } }],
15
+ }, { radiusScale: 12, heightScale: 30 });
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="curve"></a>
21
+
22
+ **`curve`** · [`SideProfileCurve`](SideProfileCurve.md) · Required
23
+
24
+ Open outline in millimetres unless the positive scales convert its coordinates.
25
+
26
+
27
+
28
+ <a id="options"></a>
29
+
30
+ **`options`** · [`SampleSideProfileOptions`](SampleSideProfileOptions.md) · Optional
31
+
32
+ Physical resolution and output budget; defaults to 4096 vertices.
33
+
34
+ - [`radiusScale`](SampleSideProfileOptions.md#radiusscale) · `number` · Optional
35
+
36
+ Positive radius scale; use the desired maximum radius for normalized coordinates. Defaults to 1.
37
+
38
+ - [`heightScale`](SampleSideProfileOptions.md#heightscale) · `number` · Optional
39
+
40
+ Positive height scale; use the desired total height for normalized coordinates. Defaults to 1.
41
+
42
+ - [`resolution`](SampleSideProfileOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
43
+
44
+ Shared physical policy, evaluated after scaling; exact circular counts do not affect curves.
45
+
46
+ - [`maximumVertices`](SampleSideProfileOptions.md#maximumvertices) · `number` · Optional
47
+
48
+ Maximum output vertex count within maxProfilePoints. Defaults to the smaller of 4096 and that ceiling.
49
+
50
+ - [`limits`](SampleSideProfileOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
51
+
52
+ Explicit profile and circular allocation ceilings.
53
+
54
+
55
+
56
+ ## Returns
57
+
58
+ readonly [`Vector2`](Vector2.md)[]
59
+
60
+ Frozen open polyline in millimetres, ordered from lowest to highest anchor.
61
+
62
+
63
+ ## Throws
64
+
65
+ - GeometryError for invalid coordinates, order, scale, or exceeded subdivision budget.
66
+
67
+ ## Related APIs
68
+
69
+ - [SampleSideProfileOptions](SampleSideProfileOptions.md)
70
+ - [SideProfileCurve](SideProfileCurve.md)
71
+ - [Vector2](Vector2.md)
72
+
73
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,53 @@
1
+ # sampleTextContours
2
+
3
+ Samples a prepared text layout without shaping text again or loading a font.
4
+
5
+ **sampleTextContours**(`layout`: [`VectorTextLayout`](VectorTextLayout.md), `resolution?`: [`GeometryResolution`](GeometryResolution.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): readonly [`Contour`](Contour.md)[]
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="layout"></a>
12
+
13
+ **`layout`** · [`VectorTextLayout`](VectorTextLayout.md) · Required
14
+
15
+ Immutable millimetre paths and measurements retained from text preparation.
16
+
17
+
18
+
19
+ <a id="resolution"></a>
20
+
21
+ **`resolution`** · [`GeometryResolution`](GeometryResolution.md) · Optional
22
+
23
+ Explicit curve sampling policy; omitted uses the pure default policy.
24
+
25
+
26
+
27
+ <a id="limits"></a>
28
+
29
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
30
+
31
+ Explicit profile and circular allocation ceilings.
32
+
33
+
34
+
35
+ ## Returns
36
+
37
+ readonly [`Contour`](Contour.md)[]
38
+
39
+ Frozen contours with original glyph winding and no repeated closing vertex.
40
+
41
+
42
+ ## Throws
43
+
44
+ - GeometryError for empty outlines, invalid paths or policies, over 1000 paths or selected sampling ceilings.
45
+
46
+ ## Related APIs
47
+
48
+ - [Contour](Contour.md)
49
+ - [GeometryResolution](GeometryResolution.md)
50
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
51
+ - [VectorTextLayout](VectorTextLayout.md)
52
+
53
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,63 @@
1
+ # sampleThreadHelices
2
+
3
+ Samples evenly phased thread helices with finite `lead = pitch * starts`. All starts together respect maxPathPoints (default 100000); excessive counts fail before allocation.
4
+
5
+ **sampleThreadHelices**(`options`: [`ThreadHelixOptions`](ThreadHelixOptions.md)): [`SampledThreadHelices`](SampledThreadHelices.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`ThreadHelixOptions`](ThreadHelixOptions.md) · Required
14
+
15
+ - [`length`](ThreadHelixOptions.md#length) · `number` · Required
16
+
17
+ Total sampled axial length in millimetres.
18
+
19
+ - [`pitch`](ThreadHelixOptions.md#pitch) · `number` · Required
20
+
21
+ Adjacent axial thread spacing in millimetres.
22
+
23
+ - [`radius`](ThreadHelixOptions.md#radius) · `number` · Required
24
+
25
+ Radial distance from the +Z axis in millimetres.
26
+
27
+ - [`handedness`](ThreadHelixOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
28
+
29
+ Helix direction. Default: `right`.
30
+
31
+ - [`limits`](ThreadHelixOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
32
+
33
+ Explicit aggregate path allocation ceilings across all starts.
34
+
35
+ - [`phaseDegrees`](ThreadHelixOptions.md#phasedegrees) · `number` · Optional
36
+
37
+ Angular offset of the first start in degrees. Default: `0`.
38
+
39
+ - [`segmentsPerTurn`](ThreadHelixOptions.md#segmentsperturn) · `number` · Optional
40
+
41
+ Angular sampling density for each revolution. Default: `32`.
42
+
43
+ - [`starts`](ThreadHelixOptions.md#starts) · `number` · Optional
44
+
45
+ Number of evenly phased helices. Default: `1`.
46
+
47
+ - [`tolerance`](ThreadHelixOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
48
+
49
+ Optional numerical tolerance overrides.
50
+
51
+
52
+
53
+ ## Returns
54
+
55
+ [`SampledThreadHelices`](SampledThreadHelices.md)
56
+
57
+
58
+ ## Related APIs
59
+
60
+ - [SampledThreadHelices](SampledThreadHelices.md)
61
+ - [ThreadHelixOptions](ThreadHelixOptions.md)
62
+
63
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,38 @@
1
+ # scale3
2
+
3
+ Multiplies a vector by a dimensionless scalar.
4
+
5
+ `const` **scale3**: (`vector`: [`Vector3`](Vector3.md), `scale`: `number`) => [`Vector3`](Vector3.md)
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ scale3([1, 2, 3], 2); // [2, 4, 6]
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="vector"></a>
18
+
19
+ **`vector`** · [`Vector3`](Vector3.md) · Required
20
+
21
+
22
+
23
+ <a id="scale"></a>
24
+
25
+ **`scale`** · `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`.