@metamesh/modeling 0.12.0 → 0.14.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 (699) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +103 -72
  3. package/dist/api/engine.d.ts +123 -97
  4. package/dist/api/geometry.d.ts +4232 -3307
  5. package/dist/api/index.d.ts +2758 -2268
  6. package/dist/api/text.d.ts +119 -107
  7. package/dist/docs/guides/concepts.md +300 -0
  8. package/dist/docs/guides/fonts.md +59 -0
  9. package/dist/docs/guides/fundamentals.md +137 -0
  10. package/dist/docs/guides/generation.md +223 -0
  11. package/dist/docs/guides/hosting.md +91 -0
  12. package/dist/docs/guides/recipes.md +718 -0
  13. package/dist/docs/manifest.json +10703 -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 +92 -0
  33. package/dist/docs/reference/geometry/Anchor3.md +53 -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 +62 -0
  37. package/dist/docs/reference/geometry/AxisAngleRotation3.md +66 -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 +14 -0
  45. package/dist/docs/reference/geometry/BoxAnchorOptions.md +63 -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/CircularResolutionOptions.md +107 -0
  56. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +41 -0
  57. package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -0
  58. package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +34 -0
  59. package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +65 -0
  60. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +53 -0
  61. package/dist/docs/reference/geometry/Contour.md +17 -0
  62. package/dist/docs/reference/geometry/ContourCurve.md +35 -0
  63. package/dist/docs/reference/geometry/ContourPoint.md +29 -0
  64. package/dist/docs/reference/geometry/ContourSegment.md +86 -0
  65. package/dist/docs/reference/geometry/CorrespondingComponent.md +46 -0
  66. package/dist/docs/reference/geometry/CorrespondingContour.md +46 -0
  67. package/dist/docs/reference/geometry/CorrespondingProfile.md +22 -0
  68. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +27 -0
  69. package/dist/docs/reference/geometry/CubicBezierCurve2.md +70 -0
  70. package/dist/docs/reference/geometry/CubicBezierCurve3.md +70 -0
  71. package/dist/docs/reference/geometry/Curve2.md +16 -0
  72. package/dist/docs/reference/geometry/Curve3.md +16 -0
  73. package/dist/docs/reference/geometry/CurveSamplingOptions.md +64 -0
  74. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +73 -0
  75. package/dist/docs/reference/geometry/CylinderAnchorFace.md +14 -0
  76. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +87 -0
  77. package/dist/docs/reference/geometry/CylinderOptions.md +53 -0
  78. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +209 -0
  79. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +7 -0
  80. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +71 -0
  81. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +82 -0
  82. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +34 -0
  83. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +41 -0
  84. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +47 -0
  85. package/dist/docs/reference/geometry/CylindricalGearSpec.md +82 -0
  86. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -0
  87. package/dist/docs/reference/geometry/EdgeTreatment.md +17 -0
  88. package/dist/docs/reference/geometry/EllipseContourOptions.md +15 -0
  89. package/dist/docs/reference/geometry/EndTreatments.md +34 -0
  90. package/dist/docs/reference/geometry/ExtrudeOptions.md +134 -0
  91. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +77 -0
  92. package/dist/docs/reference/geometry/FittedTextLayout.md +60 -0
  93. package/dist/docs/reference/geometry/Frame3.md +58 -0
  94. package/dist/docs/reference/geometry/GeometryError.md +97 -0
  95. package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -0
  96. package/dist/docs/reference/geometry/GeometryErrorContext.md +29 -0
  97. package/dist/docs/reference/geometry/GeometryResolution.md +74 -0
  98. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +62 -0
  99. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +41 -0
  100. package/dist/docs/reference/geometry/GridPatternOptions.md +42 -0
  101. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +14 -0
  102. package/dist/docs/reference/geometry/HeightfieldOptions.md +67 -0
  103. package/dist/docs/reference/geometry/HeightfieldPreflight.md +53 -0
  104. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +141 -0
  105. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +265 -0
  106. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +53 -0
  107. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +18 -0
  108. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +242 -0
  109. package/dist/docs/reference/geometry/LineCurve2.md +46 -0
  110. package/dist/docs/reference/geometry/LineCurve3.md +46 -0
  111. package/dist/docs/reference/geometry/LinearPatternOptions.md +30 -0
  112. package/dist/docs/reference/geometry/LoftCorrespondence.md +19 -0
  113. package/dist/docs/reference/geometry/LoftMeshStation.md +27 -0
  114. package/dist/docs/reference/geometry/LoftOptions.md +84 -0
  115. package/dist/docs/reference/geometry/LoftPlacement.md +66 -0
  116. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +18 -0
  117. package/dist/docs/reference/geometry/MatchProfilesOptions.md +35 -0
  118. package/dist/docs/reference/geometry/MetricFastenerSize.md +7 -0
  119. package/dist/docs/reference/geometry/MetricFastenerStandard.md +72 -0
  120. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +29 -0
  121. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +41 -0
  122. package/dist/docs/reference/geometry/ModelingLimits.md +126 -0
  123. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +17 -0
  124. package/dist/docs/reference/geometry/Path2.md +14 -0
  125. package/dist/docs/reference/geometry/Path3.md +14 -0
  126. package/dist/docs/reference/geometry/PathFrame.md +46 -0
  127. package/dist/docs/reference/geometry/PathNormalGuide.md +38 -0
  128. package/dist/docs/reference/geometry/PathPatternOptions.md +46 -0
  129. package/dist/docs/reference/geometry/PathPlacement.md +34 -0
  130. package/dist/docs/reference/geometry/Pivot2Options.md +26 -0
  131. package/dist/docs/reference/geometry/Pivot3Options.md +26 -0
  132. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +7 -0
  133. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +156 -0
  134. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +120 -0
  135. package/dist/docs/reference/geometry/PlanarPatchQuality.md +190 -0
  136. package/dist/docs/reference/geometry/PolygonData.md +38 -0
  137. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +92 -0
  138. package/dist/docs/reference/geometry/PrimitivePlacement.md +31 -0
  139. package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +83 -0
  140. package/dist/docs/reference/geometry/PrintableThreadFit.md +7 -0
  141. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +45 -0
  142. package/dist/docs/reference/geometry/Profile.md +22 -0
  143. package/dist/docs/reference/geometry/ProfileComponent2.md +46 -0
  144. package/dist/docs/reference/geometry/ProfileContour2.md +34 -0
  145. package/dist/docs/reference/geometry/ProfileSpan2.md +47 -0
  146. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +36 -0
  147. package/dist/docs/reference/geometry/RackPitchDimensions.md +113 -0
  148. package/dist/docs/reference/geometry/RackPitchSpec.md +77 -0
  149. package/dist/docs/reference/geometry/RadialPatternOptions.md +62 -0
  150. package/dist/docs/reference/geometry/RadialSizing.md +7 -0
  151. package/dist/docs/reference/geometry/RadialSizingOptions.md +40 -0
  152. package/dist/docs/reference/geometry/RectangleContourOptions.md +66 -0
  153. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +34 -0
  154. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +14 -0
  155. package/dist/docs/reference/geometry/RectangleProfileOptions.md +94 -0
  156. package/dist/docs/reference/geometry/RegionData.md +14 -0
  157. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +84 -0
  158. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +65 -0
  159. package/dist/docs/reference/geometry/RevolveOptions.md +82 -0
  160. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +91 -0
  161. package/dist/docs/reference/geometry/RowLayoutOptions.md +23 -0
  162. package/dist/docs/reference/geometry/SampleContourOptions.md +71 -0
  163. package/dist/docs/reference/geometry/SampleHelixOptions.md +95 -0
  164. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +71 -0
  165. package/dist/docs/reference/geometry/SampledCurve2.md +34 -0
  166. package/dist/docs/reference/geometry/SampledCurve3.md +34 -0
  167. package/dist/docs/reference/geometry/SampledThreadHelices.md +58 -0
  168. package/dist/docs/reference/geometry/SideProfileCurve.md +35 -0
  169. package/dist/docs/reference/geometry/SideProfilePoint.md +29 -0
  170. package/dist/docs/reference/geometry/SideProfileSegment.md +86 -0
  171. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +71 -0
  172. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +34 -0
  173. package/dist/docs/reference/geometry/SphereOptions.md +15 -0
  174. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +75 -0
  175. package/dist/docs/reference/geometry/StrokePathCap.md +7 -0
  176. package/dist/docs/reference/geometry/StrokePathJoin.md +7 -0
  177. package/dist/docs/reference/geometry/StrokePathRegionOptions.md +85 -0
  178. package/dist/docs/reference/geometry/SvgImportOptions.md +60 -0
  179. package/dist/docs/reference/geometry/SvgRegionPreflight.md +61 -0
  180. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +118 -0
  181. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +65 -0
  182. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +53 -0
  183. package/dist/docs/reference/geometry/SweepOptions.md +109 -0
  184. package/dist/docs/reference/geometry/SweepOrientation.md +109 -0
  185. package/dist/docs/reference/geometry/ThreadBevelOptions.md +53 -0
  186. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +100 -0
  187. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +73 -0
  188. package/dist/docs/reference/geometry/ThreadEndStyle.md +7 -0
  189. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +113 -0
  190. package/dist/docs/reference/geometry/ThreadHandedness.md +7 -0
  191. package/dist/docs/reference/geometry/ThreadHelixOptions.md +120 -0
  192. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +7 -0
  193. package/dist/docs/reference/geometry/ThreadLeadInShape.md +7 -0
  194. package/dist/docs/reference/geometry/ThreadProfile.md +82 -0
  195. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +49 -0
  196. package/dist/docs/reference/geometry/ThreadProfileSpec.md +19 -0
  197. package/dist/docs/reference/geometry/ThreadRole.md +7 -0
  198. package/dist/docs/reference/geometry/ThreadedNutBevel.md +7 -0
  199. package/dist/docs/reference/geometry/ThreadedNutOptions.md +269 -0
  200. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +94 -0
  201. package/dist/docs/reference/geometry/ThreadedNutShape.md +7 -0
  202. package/dist/docs/reference/geometry/ThreadedRodOptions.md +242 -0
  203. package/dist/docs/reference/geometry/TorusOptions.md +105 -0
  204. package/dist/docs/reference/geometry/Transform2-type.md +255 -0
  205. package/dist/docs/reference/geometry/Transform2Input.md +19 -0
  206. package/dist/docs/reference/geometry/Transform2Matrix.md +14 -0
  207. package/dist/docs/reference/geometry/Transform3-type.md +295 -0
  208. package/dist/docs/reference/geometry/Transform3Input.md +19 -0
  209. package/dist/docs/reference/geometry/Transform3Matrix.md +17 -0
  210. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +91 -0
  211. package/dist/docs/reference/geometry/TriangleMesh.md +34 -0
  212. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +119 -0
  213. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +75 -0
  214. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +75 -0
  215. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +39 -0
  216. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +190 -0
  217. package/dist/docs/reference/geometry/TriangleMeshSignature.md +107 -0
  218. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +41 -0
  219. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +29 -0
  220. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +51 -0
  221. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +91 -0
  222. package/dist/docs/reference/geometry/TubeOptions.md +138 -0
  223. package/dist/docs/reference/geometry/Vector2-type.md +269 -0
  224. package/dist/docs/reference/geometry/Vector2Input.md +19 -0
  225. package/dist/docs/reference/geometry/Vector2Tuple.md +14 -0
  226. package/dist/docs/reference/geometry/Vector3-type.md +281 -0
  227. package/dist/docs/reference/geometry/Vector3Input.md +19 -0
  228. package/dist/docs/reference/geometry/Vector3Tuple.md +14 -0
  229. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +53 -0
  230. package/dist/docs/reference/geometry/VectorTextLayout.md +39 -0
  231. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +111 -0
  232. package/dist/docs/reference/geometry/VectorTextMetrics.md +94 -0
  233. package/dist/docs/reference/geometry/VectorTextOptions.md +50 -0
  234. package/dist/docs/reference/geometry/add2.md +36 -0
  235. package/dist/docs/reference/geometry/add3.md +42 -0
  236. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +57 -0
  237. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +52 -0
  238. package/dist/docs/reference/geometry/anchorFrame3.md +40 -0
  239. package/dist/docs/reference/geometry/applyTransformDirection3.md +45 -0
  240. package/dist/docs/reference/geometry/applyTransformPoint3.md +43 -0
  241. package/dist/docs/reference/geometry/attachTransform.md +77 -0
  242. package/dist/docs/reference/geometry/boundsCenter.md +62 -0
  243. package/dist/docs/reference/geometry/boundsFromSize.md +83 -0
  244. package/dist/docs/reference/geometry/boundsSize.md +62 -0
  245. package/dist/docs/reference/geometry/boxAnchor3.md +52 -0
  246. package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +68 -0
  247. package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +102 -0
  248. package/dist/docs/reference/geometry/categories/bounds-layout.md +35 -0
  249. package/dist/docs/reference/geometry/categories/curves-paths.md +66 -0
  250. package/dist/docs/reference/geometry/categories/mechanical.md +101 -0
  251. package/dist/docs/reference/geometry/categories/meshes.md +73 -0
  252. package/dist/docs/reference/geometry/categories/pattern-placement.md +34 -0
  253. package/dist/docs/reference/geometry/categories/primitive-options.md +36 -0
  254. package/dist/docs/reference/geometry/categories/profiles-regions.md +74 -0
  255. package/dist/docs/reference/geometry/categories/resolution-errors.md +47 -0
  256. package/dist/docs/reference/geometry/categories/transforms-math.md +92 -0
  257. package/dist/docs/reference/geometry/categories/vector-import.md +40 -0
  258. package/dist/docs/reference/geometry/circleContour.md +33 -0
  259. package/dist/docs/reference/geometry/closeToAxis.md +34 -0
  260. package/dist/docs/reference/geometry/closestPointOnPath.md +110 -0
  261. package/dist/docs/reference/geometry/compensateThreadDiameters.md +51 -0
  262. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +42 -0
  263. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +56 -0
  264. package/dist/docs/reference/geometry/composeTransform3.md +44 -0
  265. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +45 -0
  266. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +47 -0
  267. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +31 -0
  268. package/dist/docs/reference/geometry/containsBounds.md +72 -0
  269. package/dist/docs/reference/geometry/contourContainsPoint.md +33 -0
  270. package/dist/docs/reference/geometry/createAnchor3.md +67 -0
  271. package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
  272. package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
  273. package/dist/docs/reference/geometry/cross2.md +36 -0
  274. package/dist/docs/reference/geometry/cross3.md +42 -0
  275. package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
  276. package/dist/docs/reference/geometry/cylinderAnchor3.md +60 -0
  277. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
  278. package/dist/docs/reference/geometry/distance2.md +36 -0
  279. package/dist/docs/reference/geometry/distance3.md +36 -0
  280. package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
  281. package/dist/docs/reference/geometry/dot2.md +36 -0
  282. package/dist/docs/reference/geometry/dot3.md +42 -0
  283. package/dist/docs/reference/geometry/ellipseContour.md +33 -0
  284. package/dist/docs/reference/geometry/eulerTransform3.md +42 -0
  285. package/dist/docs/reference/geometry/extrudeMesh.md +73 -0
  286. package/dist/docs/reference/geometry/fitBounds.md +95 -0
  287. package/dist/docs/reference/geometry/fitTextLayout.md +57 -0
  288. package/dist/docs/reference/geometry/frameTransform3.md +48 -0
  289. package/dist/docs/reference/geometry/getMetricClearanceHole.md +33 -0
  290. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +27 -0
  291. package/dist/docs/reference/geometry/gridPatternTransforms.md +31 -0
  292. package/dist/docs/reference/geometry/heightfieldMesh.md +43 -0
  293. package/dist/docs/reference/geometry/inverseTransform3.md +34 -0
  294. package/dist/docs/reference/geometry/isGeometryError.md +26 -0
  295. package/dist/docs/reference/geometry/joinTriangleMeshes.md +36 -0
  296. package/dist/docs/reference/geometry/layoutRow.md +43 -0
  297. package/dist/docs/reference/geometry/length2.md +30 -0
  298. package/dist/docs/reference/geometry/length3.md +30 -0
  299. package/dist/docs/reference/geometry/lerp2.md +42 -0
  300. package/dist/docs/reference/geometry/lerp3.md +42 -0
  301. package/dist/docs/reference/geometry/linearPatternTransforms.md +31 -0
  302. package/dist/docs/reference/geometry/loftMesh.md +72 -0
  303. package/dist/docs/reference/geometry/matchProfiles.md +51 -0
  304. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +48 -0
  305. package/dist/docs/reference/geometry/measureTriangleMesh.md +55 -0
  306. package/dist/docs/reference/geometry/meshBounds.md +35 -0
  307. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +29 -0
  308. package/dist/docs/reference/geometry/normalize2.md +36 -0
  309. package/dist/docs/reference/geometry/normalize3.md +36 -0
  310. package/dist/docs/reference/geometry/normalizeContour.md +45 -0
  311. package/dist/docs/reference/geometry/normalizePolygon.md +37 -0
  312. package/dist/docs/reference/geometry/normalizeRegion.md +33 -0
  313. package/dist/docs/reference/geometry/optimizePlanarPatches.md +91 -0
  314. package/dist/docs/reference/geometry/pathLength.md +33 -0
  315. package/dist/docs/reference/geometry/pathPatternTransforms.md +57 -0
  316. package/dist/docs/reference/geometry/preflightHeightfield.md +34 -0
  317. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +96 -0
  318. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +85 -0
  319. package/dist/docs/reference/geometry/preflightSvgRegion.md +56 -0
  320. package/dist/docs/reference/geometry/preflightThreadedNut.md +96 -0
  321. package/dist/docs/reference/geometry/preflightThreadedRod.md +85 -0
  322. package/dist/docs/reference/geometry/projectOntoPlane3.md +36 -0
  323. package/dist/docs/reference/geometry/radialPatternTransforms.md +47 -0
  324. package/dist/docs/reference/geometry/rectangleContour.md +49 -0
  325. package/dist/docs/reference/geometry/rectangleProfile.md +53 -0
  326. package/dist/docs/reference/geometry/regionArea.md +34 -0
  327. package/dist/docs/reference/geometry/regionBounds.md +27 -0
  328. package/dist/docs/reference/geometry/regularPolygonContour.md +53 -0
  329. package/dist/docs/reference/geometry/resamplePolyline2.md +64 -0
  330. package/dist/docs/reference/geometry/resamplePolyline3.md +67 -0
  331. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +83 -0
  332. package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
  333. package/dist/docs/reference/geometry/resolveCircularSegments.md +62 -0
  334. package/dist/docs/reference/geometry/resolveCylindricalGear.md +31 -0
  335. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +31 -0
  336. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +74 -0
  337. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +26 -0
  338. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +59 -0
  339. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +27 -0
  340. package/dist/docs/reference/geometry/resolveRackPitch.md +27 -0
  341. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +59 -0
  342. package/dist/docs/reference/geometry/reverseTriangleMesh.md +30 -0
  343. package/dist/docs/reference/geometry/revolveMesh.md +76 -0
  344. package/dist/docs/reference/geometry/rotate2.md +36 -0
  345. package/dist/docs/reference/geometry/rotationTransform3.md +53 -0
  346. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +50 -0
  347. package/dist/docs/reference/geometry/sampleContour.md +77 -0
  348. package/dist/docs/reference/geometry/sampleCurve2.md +61 -0
  349. package/dist/docs/reference/geometry/sampleCurve3.md +61 -0
  350. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +58 -0
  351. package/dist/docs/reference/geometry/sampleHelix.md +41 -0
  352. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +59 -0
  353. package/dist/docs/reference/geometry/sampleRackToothPath.md +39 -0
  354. package/dist/docs/reference/geometry/sampleSideProfile.md +73 -0
  355. package/dist/docs/reference/geometry/sampleTextContours.md +53 -0
  356. package/dist/docs/reference/geometry/sampleThreadHelices.md +63 -0
  357. package/dist/docs/reference/geometry/scale2.md +36 -0
  358. package/dist/docs/reference/geometry/scale3.md +42 -0
  359. package/dist/docs/reference/geometry/scaleTransform3.md +38 -0
  360. package/dist/docs/reference/geometry/signedContourArea.md +26 -0
  361. package/dist/docs/reference/geometry/starContour.md +51 -0
  362. package/dist/docs/reference/geometry/strokePathRegion.md +63 -0
  363. package/dist/docs/reference/geometry/subtract2.md +36 -0
  364. package/dist/docs/reference/geometry/subtract3.md +42 -0
  365. package/dist/docs/reference/geometry/sweepMesh.md +82 -0
  366. package/dist/docs/reference/geometry/transform2.md +38 -0
  367. package/dist/docs/reference/geometry/transform3.md +38 -0
  368. package/dist/docs/reference/geometry/transformContour.md +42 -0
  369. package/dist/docs/reference/geometry/transformDeterminant3.md +36 -0
  370. package/dist/docs/reference/geometry/transformPath2.md +40 -0
  371. package/dist/docs/reference/geometry/transformPath3.md +33 -0
  372. package/dist/docs/reference/geometry/transformRegionData.md +40 -0
  373. package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
  374. package/dist/docs/reference/geometry/translationTransform3.md +35 -0
  375. package/dist/docs/reference/geometry/triangulateContour.md +26 -0
  376. package/dist/docs/reference/geometry/validateSolidMesh.md +52 -0
  377. package/dist/docs/reference/geometry/validateTransform3.md +47 -0
  378. package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -0
  379. package/dist/docs/reference/geometry/vector2.md +31 -0
  380. package/dist/docs/reference/geometry/vector3.md +38 -0
  381. package/dist/docs/reference/geometry.md +30 -0
  382. package/dist/docs/reference/model/Anchor3.md +54 -0
  383. package/dist/docs/reference/model/AttachOptions.md +63 -0
  384. package/dist/docs/reference/model/Bounds2.md +39 -0
  385. package/dist/docs/reference/model/Bounds3.md +39 -0
  386. package/dist/docs/reference/model/BoxEdge.md +15 -0
  387. package/dist/docs/reference/model/BoxEdgeSelection.md +19 -0
  388. package/dist/docs/reference/model/BoxEdgeTreatments.md +20 -0
  389. package/dist/docs/reference/model/BoxOptions.md +92 -0
  390. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +35 -0
  391. package/dist/docs/reference/model/CircleContourOptions.md +21 -0
  392. package/dist/docs/reference/model/CircleOptions.md +21 -0
  393. package/dist/docs/reference/model/CircularPrimitiveOptions.md +64 -0
  394. package/dist/docs/reference/model/Computed.md +35 -0
  395. package/dist/docs/reference/model/ComputedValue.md +20 -0
  396. package/dist/docs/reference/model/Contour.md +22 -0
  397. package/dist/docs/reference/model/CorrespondingComponent.md +46 -0
  398. package/dist/docs/reference/model/CorrespondingContour.md +46 -0
  399. package/dist/docs/reference/model/CorrespondingProfile.md +22 -0
  400. package/dist/docs/reference/model/CorrespondingProfileStation.md +27 -0
  401. package/dist/docs/reference/model/CylinderOptions.md +58 -0
  402. package/dist/docs/reference/model/DiagnosticOptions.md +23 -0
  403. package/dist/docs/reference/model/EdgeTreatment.md +22 -0
  404. package/dist/docs/reference/model/EllipseContourOptions.md +21 -0
  405. package/dist/docs/reference/model/EllipseOptions.md +21 -0
  406. package/dist/docs/reference/model/EndTreatments.md +39 -0
  407. package/dist/docs/reference/model/ExtrudeOptions.md +140 -0
  408. package/dist/docs/reference/model/FinalizedModel.md +121 -0
  409. package/dist/docs/reference/model/FinalizedPart.md +87 -0
  410. package/dist/docs/reference/model/Frame3.md +63 -0
  411. package/dist/docs/reference/model/GenerateCallback.md +37 -0
  412. package/dist/docs/reference/model/GenerateContext.md +277 -0
  413. package/dist/docs/reference/model/GeneratedPart.md +93 -0
  414. package/dist/docs/reference/model/GenerationDiagnostic.md +41 -0
  415. package/dist/docs/reference/model/GenerationError.md +54 -0
  416. package/dist/docs/reference/model/GeometryResolution.md +70 -0
  417. package/dist/docs/reference/model/GeometrySamplingLimits.md +62 -0
  418. package/dist/docs/reference/model/GeometryToleranceOptions.md +46 -0
  419. package/dist/docs/reference/model/GridPatternOptions.md +43 -0
  420. package/dist/docs/reference/model/HeightfieldOptions.md +67 -0
  421. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +140 -0
  422. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +58 -0
  423. package/dist/docs/reference/model/HullOptions.md +72 -0
  424. package/dist/docs/reference/model/ImmutableBuffer-type.md +80 -0
  425. package/dist/docs/reference/model/ImmutableTriangleMesh.md +34 -0
  426. package/dist/docs/reference/model/ImplicitOptions.md +83 -0
  427. package/dist/docs/reference/model/InternalThreadCutterOptions.md +245 -0
  428. package/dist/docs/reference/model/LinearPatternOptions.md +31 -0
  429. package/dist/docs/reference/model/LoftCorrespondence.md +27 -0
  430. package/dist/docs/reference/model/LoftOptions.md +91 -0
  431. package/dist/docs/reference/model/LoftPlacement.md +73 -0
  432. package/dist/docs/reference/model/LoftStation.md +35 -0
  433. package/dist/docs/reference/model/MatchProfilesOptions.md +35 -0
  434. package/dist/docs/reference/model/ModelProgram.md +44 -0
  435. package/dist/docs/reference/model/ModelingLimits.md +126 -0
  436. package/dist/docs/reference/model/NumericArray.md +7 -0
  437. package/dist/docs/reference/model/PartGeometry.md +16 -0
  438. package/dist/docs/reference/model/PartOptions.md +65 -0
  439. package/dist/docs/reference/model/Path2.md +20 -0
  440. package/dist/docs/reference/model/PathNormalGuide.md +45 -0
  441. package/dist/docs/reference/model/PathPatternOptions.md +47 -0
  442. package/dist/docs/reference/model/PatternSource.md +26 -0
  443. package/dist/docs/reference/model/Pivot2Options.md +27 -0
  444. package/dist/docs/reference/model/Pivot3Options.md +27 -0
  445. package/dist/docs/reference/model/PlaneOptions.md +39 -0
  446. package/dist/docs/reference/model/PolygonData.md +43 -0
  447. package/dist/docs/reference/model/PolygonOptions.md +189 -0
  448. package/dist/docs/reference/model/PrimitivePlacement.md +40 -0
  449. package/dist/docs/reference/model/PrimitivePlacementOptions.md +88 -0
  450. package/dist/docs/reference/model/PrintableThreadFit.md +14 -0
  451. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +50 -0
  452. package/dist/docs/reference/model/Profile.md +22 -0
  453. package/dist/docs/reference/model/ProfileComponent2.md +46 -0
  454. package/dist/docs/reference/model/ProfileContour2.md +34 -0
  455. package/dist/docs/reference/model/ProfileSpan2.md +47 -0
  456. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +41 -0
  457. package/dist/docs/reference/model/RadialPatternOptions.md +63 -0
  458. package/dist/docs/reference/model/RadialSizing.md +15 -0
  459. package/dist/docs/reference/model/RadialSizingOptions.md +40 -0
  460. package/dist/docs/reference/model/RectangleContourOptions.md +72 -0
  461. package/dist/docs/reference/model/RectangleCornerTreatment.md +40 -0
  462. package/dist/docs/reference/model/RectangleCornerTreatments.md +20 -0
  463. package/dist/docs/reference/model/RectangleOptions.md +107 -0
  464. package/dist/docs/reference/model/RegionData.md +19 -0
  465. package/dist/docs/reference/model/RegularPolygonOptions.md +53 -0
  466. package/dist/docs/reference/model/RevolveOptions.md +89 -0
  467. package/dist/docs/reference/model/RoundedEdgeTreatment.md +96 -0
  468. package/dist/docs/reference/model/Section.md +490 -0
  469. package/dist/docs/reference/model/SectionHullOptions.md +72 -0
  470. package/dist/docs/reference/model/SectionInspection.md +98 -0
  471. package/dist/docs/reference/model/SectionOffsetJoin.md +16 -0
  472. package/dist/docs/reference/model/SectionOffsetOptions.md +65 -0
  473. package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
  474. package/dist/docs/reference/model/Solid.md +373 -0
  475. package/dist/docs/reference/model/SolidInspection.md +98 -0
  476. package/dist/docs/reference/model/SolidRayHit.md +58 -0
  477. package/dist/docs/reference/model/SphereOptions.md +20 -0
  478. package/dist/docs/reference/model/StarOptions.md +98 -0
  479. package/dist/docs/reference/model/StrokeOptions.md +91 -0
  480. package/dist/docs/reference/model/StrokePathCap.md +16 -0
  481. package/dist/docs/reference/model/StrokePathJoin.md +16 -0
  482. package/dist/docs/reference/model/SvgOrigin.md +16 -0
  483. package/dist/docs/reference/model/SvgPathSectionOptions.md +78 -0
  484. package/dist/docs/reference/model/SvgSectionOptions.md +66 -0
  485. package/dist/docs/reference/model/SweepOptions.md +116 -0
  486. package/dist/docs/reference/model/SweepOrientation.md +116 -0
  487. package/dist/docs/reference/model/TextSectionOptions.md +41 -0
  488. package/dist/docs/reference/model/ThreadEndStyle.md +14 -0
  489. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +117 -0
  490. package/dist/docs/reference/model/ThreadHandedness.md +14 -0
  491. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +14 -0
  492. package/dist/docs/reference/model/ThreadLeadInShape.md +14 -0
  493. package/dist/docs/reference/model/ThreadProfile.md +86 -0
  494. package/dist/docs/reference/model/ThreadRidgeOptions.md +18 -0
  495. package/dist/docs/reference/model/ThreadedNutBevel.md +14 -0
  496. package/dist/docs/reference/model/ThreadedNutOptions.md +273 -0
  497. package/dist/docs/reference/model/ThreadedNutPreflight.md +98 -0
  498. package/dist/docs/reference/model/ThreadedNutShape.md +14 -0
  499. package/dist/docs/reference/model/ThreadedRodOptions.md +245 -0
  500. package/dist/docs/reference/model/TorusOptions.md +110 -0
  501. package/dist/docs/reference/model/Transform2-type.md +256 -0
  502. package/dist/docs/reference/model/Transform2Input.md +20 -0
  503. package/dist/docs/reference/model/Transform2Matrix.md +15 -0
  504. package/dist/docs/reference/model/Transform3-type.md +296 -0
  505. package/dist/docs/reference/model/Transform3Input.md +20 -0
  506. package/dist/docs/reference/model/Transform3Matrix.md +18 -0
  507. package/dist/docs/reference/model/TriangleMesh.md +42 -0
  508. package/dist/docs/reference/model/TriangleMeshAnalysis.md +123 -0
  509. package/dist/docs/reference/model/TriangleMeshMeasurements.md +79 -0
  510. package/dist/docs/reference/model/TubeOptions.md +143 -0
  511. package/dist/docs/reference/model/Vector2-type.md +270 -0
  512. package/dist/docs/reference/model/Vector2Input.md +20 -0
  513. package/dist/docs/reference/model/Vector2Tuple.md +15 -0
  514. package/dist/docs/reference/model/Vector3-type.md +282 -0
  515. package/dist/docs/reference/model/Vector3Input.md +20 -0
  516. package/dist/docs/reference/model/Vector3Tuple.md +15 -0
  517. package/dist/docs/reference/model/VectorTextLayout.md +40 -0
  518. package/dist/docs/reference/model/VectorTextMetrics.md +100 -0
  519. package/dist/docs/reference/model/anchor.md +46 -0
  520. package/dist/docs/reference/model/box.md +62 -0
  521. package/dist/docs/reference/model/categories/boolean-operations.md +37 -0
  522. package/dist/docs/reference/model/categories/bounded-surfaces.md +26 -0
  523. package/dist/docs/reference/model/categories/contracts.md +16 -0
  524. package/dist/docs/reference/model/categories/core-values-errors.md +30 -0
  525. package/dist/docs/reference/model/categories/explicit-profiles.md +32 -0
  526. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +42 -0
  527. package/dist/docs/reference/model/categories/generation.md +44 -0
  528. package/dist/docs/reference/model/categories/inspection.md +23 -0
  529. package/dist/docs/reference/model/categories/mesh-inspection.md +29 -0
  530. package/dist/docs/reference/model/categories/primitives.md +61 -0
  531. package/dist/docs/reference/model/categories/resolution.md +18 -0
  532. package/dist/docs/reference/model/categories/sections.md +62 -0
  533. package/dist/docs/reference/model/categories/threads.md +50 -0
  534. package/dist/docs/reference/model/categories/transforms-placement.md +57 -0
  535. package/dist/docs/reference/model/circle.md +39 -0
  536. package/dist/docs/reference/model/components.md +71 -0
  537. package/dist/docs/reference/model/compose.md +31 -0
  538. package/dist/docs/reference/model/cylinder.md +52 -0
  539. package/dist/docs/reference/model/distance.md +45 -0
  540. package/dist/docs/reference/model/ellipse.md +39 -0
  541. package/dist/docs/reference/model/extrude.md +83 -0
  542. package/dist/docs/reference/model/generate.md +46 -0
  543. package/dist/docs/reference/model/gridPattern.md +80 -0
  544. package/dist/docs/reference/model/heightfield.md +40 -0
  545. package/dist/docs/reference/model/hull.md +74 -0
  546. package/dist/docs/reference/model/immutableBuffer.md +44 -0
  547. package/dist/docs/reference/model/immutableMesh.md +40 -0
  548. package/dist/docs/reference/model/implicit.md +47 -0
  549. package/dist/docs/reference/model/inspectSection.md +38 -0
  550. package/dist/docs/reference/model/inspectSolid.md +38 -0
  551. package/dist/docs/reference/model/internalThreadCutter.md +100 -0
  552. package/dist/docs/reference/model/intersect.md +70 -0
  553. package/dist/docs/reference/model/isEmpty.md +39 -0
  554. package/dist/docs/reference/model/linearPattern.md +80 -0
  555. package/dist/docs/reference/model/loft.md +137 -0
  556. package/dist/docs/reference/model/matchProfiles.md +42 -0
  557. package/dist/docs/reference/model/minkowskiSum.md +37 -0
  558. package/dist/docs/reference/model/pathPattern.md +118 -0
  559. package/dist/docs/reference/model/polygon.md +40 -0
  560. package/dist/docs/reference/model/preflightInternalThreadCutter.md +89 -0
  561. package/dist/docs/reference/model/preflightThreadedNut.md +100 -0
  562. package/dist/docs/reference/model/preflightThreadedRod.md +89 -0
  563. package/dist/docs/reference/model/radialPattern.md +113 -0
  564. package/dist/docs/reference/model/rayCast.md +40 -0
  565. package/dist/docs/reference/model/rectangle.md +59 -0
  566. package/dist/docs/reference/model/regularPolygon.md +39 -0
  567. package/dist/docs/reference/model/revolve.md +74 -0
  568. package/dist/docs/reference/model/solidFromMesh.md +42 -0
  569. package/dist/docs/reference/model/sphere.md +42 -0
  570. package/dist/docs/reference/model/split.md +54 -0
  571. package/dist/docs/reference/model/splitByPlane.md +66 -0
  572. package/dist/docs/reference/model/star.md +63 -0
  573. package/dist/docs/reference/model/stroke.md +74 -0
  574. package/dist/docs/reference/model/svgPathSection.md +65 -0
  575. package/dist/docs/reference/model/svgSection.md +64 -0
  576. package/dist/docs/reference/model/sweep.md +92 -0
  577. package/dist/docs/reference/model/textSection.md +57 -0
  578. package/dist/docs/reference/model/threadRidge.md +72 -0
  579. package/dist/docs/reference/model/threadedNut.md +110 -0
  580. package/dist/docs/reference/model/threadedRod.md +99 -0
  581. package/dist/docs/reference/model/toTriangleMesh.md +27 -0
  582. package/dist/docs/reference/model/torus.md +70 -0
  583. package/dist/docs/reference/model/transform2.md +39 -0
  584. package/dist/docs/reference/model/transform3.md +39 -0
  585. package/dist/docs/reference/model/tube.md +77 -0
  586. package/dist/docs/reference/model/union.md +72 -0
  587. package/dist/docs/reference/model/vector2.md +32 -0
  588. package/dist/docs/reference/model/vector3.md +39 -0
  589. package/dist/docs/reference/model.md +39 -0
  590. package/dist/docs/reference/text/Bounds2.md +34 -0
  591. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -0
  592. package/dist/docs/reference/text/Vector2Tuple.md +7 -0
  593. package/dist/docs/reference/text/VectorFont.md +186 -0
  594. package/dist/docs/reference/text/VectorFontOptions.md +17 -0
  595. package/dist/docs/reference/text/VectorTextArcBaseline.md +53 -0
  596. package/dist/docs/reference/text/VectorTextLayout.md +34 -0
  597. package/dist/docs/reference/text/VectorTextLayoutOptions.md +111 -0
  598. package/dist/docs/reference/text/VectorTextMetrics.md +94 -0
  599. package/dist/docs/reference/text/VectorTextOptions.md +50 -0
  600. package/dist/docs/reference/text/categories/font-preparation.md +38 -0
  601. package/dist/docs/reference/text/prepareVectorFont.md +46 -0
  602. package/dist/docs/reference/text.md +21 -0
  603. package/dist/engine/construction-operations.js +10 -3
  604. package/dist/engine/deferred-context.js +11 -172
  605. package/dist/engine/execution.js +1 -1
  606. package/dist/engine/export-3mf.js +2 -2
  607. package/dist/engine/finalization.js +3 -3
  608. package/dist/engine/loft-operations.js +4 -4
  609. package/dist/engine/native/adapter.js +1 -1
  610. package/dist/engine/native/regions.js +9 -9
  611. package/dist/engine/native/transforms.js +6 -1
  612. package/dist/engine/pattern-operations.js +24 -13
  613. package/dist/engine/placement.js +2 -2
  614. package/dist/engine/primitive-operations.js +10 -10
  615. package/dist/engine/primitive-profiles.js +1 -0
  616. package/dist/engine/profile-mesh.js +7 -7
  617. package/dist/engine/recipe-realization.js +29 -21
  618. package/dist/engine/section-operations.js +44 -17
  619. package/dist/engine/session-graph.js +6 -4
  620. package/dist/engine/session-native.js +1 -1
  621. package/dist/engine/session-snapshot.js +3 -2
  622. package/dist/engine/session.js +4 -5
  623. package/dist/engine/shape-anchors.js +3 -9
  624. package/dist/engine/transform-operations.js +42 -25
  625. package/dist/geometry/bounds.js +117 -0
  626. package/dist/geometry/cylinder.js +5 -1
  627. package/dist/geometry/edge-finishing.js +2 -2
  628. package/dist/geometry/heightfield.js +1 -1
  629. package/dist/geometry/index.js +20 -13
  630. package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
  631. package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
  632. package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
  633. package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
  634. package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
  635. package/dist/geometry/{loft.js → loft/loft.js} +8 -8
  636. package/dist/geometry/math/immutable-value.js +20 -0
  637. package/dist/geometry/math/vector-value.js +168 -0
  638. package/dist/geometry/math/vector2.js +80 -0
  639. package/dist/geometry/math/vector3.js +42 -8
  640. package/dist/geometry/mechanical/gear-motion.js +7 -4
  641. package/dist/geometry/mechanical/gears.js +2 -2
  642. package/dist/geometry/mechanical/thread-mesh.js +3 -3
  643. package/dist/geometry/mechanical/thread-profiles.js +2 -2
  644. package/dist/geometry/mechanical/thread-surface.js +14 -5
  645. package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
  646. package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
  647. package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
  648. package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
  649. package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +5 -1
  650. package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
  651. package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
  652. package/dist/geometry/paths/closest-point.js +74 -0
  653. package/dist/geometry/paths/frames.js +7 -8
  654. package/dist/geometry/patterns/options.js +1 -0
  655. package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
  656. package/dist/geometry/patterns.js +25 -0
  657. package/dist/geometry/primitive-resolution.js +4 -1
  658. package/dist/geometry/primitive-resolvers.js +9 -9
  659. package/dist/geometry/profiles/contour.js +3 -3
  660. package/dist/geometry/profiles/matched.js +3 -3
  661. package/dist/geometry/profiles/profiles.js +10 -10
  662. package/dist/geometry/profiles/rectangle.js +7 -7
  663. package/dist/geometry/profiles/shapes.js +9 -9
  664. package/dist/geometry/profiles/side-profile.js +37 -0
  665. package/dist/geometry/regions.js +15 -15
  666. package/dist/geometry/resolution.js +17 -5
  667. package/dist/geometry/revolve/revolve-mesh.js +5 -5
  668. package/dist/geometry/stroke-path.js +50 -46
  669. package/dist/geometry/svg/errors.js +0 -3
  670. package/dist/geometry/svg/fill.js +7 -7
  671. package/dist/geometry/svg/index.js +1 -1
  672. package/dist/geometry/svg/matrix.js +0 -114
  673. package/dist/geometry/svg/parser.js +1 -439
  674. package/dist/geometry/svg-import.js +3 -3
  675. package/dist/geometry/sweeps/stations.js +4 -4
  676. package/dist/geometry/sweeps/sweep-closed.js +4 -4
  677. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  678. package/dist/geometry/sweeps/sweep-open.js +6 -6
  679. package/dist/geometry/sweeps/validation.js +2 -2
  680. package/dist/geometry/text-fitting.js +85 -0
  681. package/dist/geometry/tolerance.js +2 -2
  682. package/dist/geometry/transform-chain.js +172 -0
  683. package/dist/geometry/transform-geometry.js +31 -27
  684. package/dist/geometry/transform-matrix.js +14 -0
  685. package/dist/geometry/transform2.js +60 -0
  686. package/dist/geometry/transform3.js +70 -26
  687. package/dist/index.js +3 -0
  688. package/dist/model/execution-binding.js +10 -5
  689. package/dist/model/generation.js +1 -1
  690. package/dist/model/geometry-recipes.js +15 -0
  691. package/dist/{engine → model}/immutable-generation-data.js +25 -3
  692. package/dist/model/operation-contracts.js +1 -0
  693. package/dist/model/operation-dispatch.js +13 -0
  694. package/dist/model/operations.js +40 -59
  695. package/dist/model/recipe-declaration.js +193 -0
  696. package/dist/model/shape-handles.js +15 -4
  697. package/package.json +10 -8
  698. package/dist/engine/geometry-recipes.js +0 -12
  699. /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
@@ -0,0 +1,65 @@
1
+ # svgPathSection
2
+
3
+ Imports bounded filled SVG path data.
4
+
5
+ **svgPathSection**(`path`: `string`, `options?`: [`SvgPathSectionOptions`](SvgPathSectionOptions.md)): [`Section`](Section.md)
6
+
7
+
8
+
9
+ ## Example: Fill an SVG path in millimetres
10
+
11
+ ```ts
12
+ svgPathSection("M0 0H20V12H0Z", { origin: "center", scale: 1 });
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="path"></a>
18
+
19
+ **`path`** · `string` · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`SvgPathSectionOptions`](SvgPathSectionOptions.md) · Optional
26
+
27
+ - [`limits`](SvgPathSectionOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
28
+
29
+ Local allocation ceilings may only lower the configured engine policy.
30
+
31
+ - [`fillRule`](SvgPathSectionOptions.md#fillrule) · `"nonzero"` \| `"evenodd"` · Optional
32
+
33
+ Nonzero or even-odd filled-contour rule; defaults to nonzero.
34
+
35
+ - [`resolution`](SvgPathSectionOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
36
+
37
+ Local physical sampling policy; exact interval counts take precedence.
38
+
39
+ - [`origin`](SvgPathSectionOptions.md#origin) · [`SvgOrigin`](SvgOrigin.md) · Optional
40
+
41
+ Center the painted bounds or preserve original path coordinates.
42
+
43
+ - [`scale`](SvgPathSectionOptions.md#scale) · `number` · Optional
44
+
45
+ Positive uniform factor converting SVG user units to millimetres; defaults to one.
46
+
47
+
48
+
49
+ ## Returns
50
+
51
+ [`Section`](Section.md)
52
+
53
+
54
+ ## Related APIs
55
+
56
+ - [Section](Section.md)
57
+ - [SvgPathSectionOptions](SvgPathSectionOptions.md)
58
+
59
+ ## Guides
60
+
61
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
62
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
63
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
64
+
65
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,64 @@
1
+ # svgSection
2
+
3
+ Imports bounded painted SVG document geometry.
4
+
5
+ **svgSection**(`svg`: `string`, `options?`: [`SvgSectionOptions`](SvgSectionOptions.md)): [`Section`](Section.md)
6
+
7
+
8
+
9
+ ## Example: Import a physical SVG rectangle
10
+
11
+ ```ts
12
+ svgSection(
13
+ '<svg xmlns="http://www.w3.org/2000/svg" width="30mm" height="20mm" viewBox="0 0 30 20"><rect width="30" height="20"/></svg>',
14
+ { origin: "center" },
15
+ );
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="svg"></a>
21
+
22
+ **`svg`** · `string` · Required
23
+
24
+
25
+
26
+ <a id="options"></a>
27
+
28
+ **`options`** · [`SvgSectionOptions`](SvgSectionOptions.md) · Optional
29
+
30
+ - [`limits`](SvgSectionOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
31
+
32
+ Local allocation ceilings may only lower the configured engine policy.
33
+
34
+ - [`circularSegments`](SvgSectionOptions.md#circularsegments) · `number` · Optional
35
+
36
+ Exact circular tessellation count overriding physical sampling.
37
+
38
+ - [`resolution`](SvgSectionOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
39
+
40
+ Local physical sampling policy; exact interval counts take precedence.
41
+
42
+ - [`origin`](SvgSectionOptions.md#origin) · [`SvgOrigin`](SvgOrigin.md) · Optional
43
+
44
+ Place the painted bounds around the origin or preserve document coordinates.
45
+
46
+
47
+
48
+ ## Returns
49
+
50
+ [`Section`](Section.md)
51
+
52
+
53
+ ## Related APIs
54
+
55
+ - [Section](Section.md)
56
+ - [SvgSectionOptions](SvgSectionOptions.md)
57
+
58
+ ## Guides
59
+
60
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
61
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
62
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
63
+
64
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,92 @@
1
+ # sweep
2
+
3
+ Sweeps explicit corresponding contours using the selected frame policy. Filled Sections use `section.sweep(path, options)`.
4
+
5
+ **sweep**(`shape`: [`CorrespondingProfile`](CorrespondingProfile.md), `path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `options?`: [`SweepOptions`](SweepOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Sweep
10
+
11
+ ```ts
12
+ import { matchProfiles, sweep } from "@metamesh/modeling";
13
+ import { rectangleProfile } from "@metamesh/modeling/geometry";
14
+
15
+ const [profile] = matchProfiles([rectangleProfile({ size: [6, 3] })]);
16
+ sweep(profile!, [[0, 0, 0], [0, 0, 15], [10, 0, 25]], {
17
+ orientation: { kind: "transport", initialNormal: [0, 1, 0] },
18
+ });
19
+ ```
20
+
21
+ ## Parameters
22
+
23
+ <a id="shape"></a>
24
+
25
+ **`shape`** · [`CorrespondingProfile`](CorrespondingProfile.md) · Required
26
+
27
+
28
+
29
+ <a id="path"></a>
30
+
31
+ **`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
32
+
33
+
34
+
35
+ <a id="options"></a>
36
+
37
+ **`options`** · [`SweepOptions`](SweepOptions.md) · Optional
38
+
39
+ - [`closed`](SweepOptions.md#closed) · `boolean` · Optional
40
+
41
+ Join the path's last station to its first. Open paths retain watertight end caps.
42
+
43
+ - [`limits`](SweepOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
44
+
45
+ Explicit output and sampling allocation ceilings.
46
+
47
+ - [`orientation`](SweepOptions.md#orientation) · [`SweepOrientation`](SweepOrientation.md) · Optional
48
+
49
+ Explicit frame policy; default transport minimizes rotations, initially projecting +X then +Y then +Z.
50
+
51
+ - [`resolution`](SweepOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
52
+
53
+ Physical sampling of nonzero twist; inserted stations retain authored station controls.
54
+
55
+ - [`twistDegrees`](SweepOptions.md#twistdegrees) · `number` · Optional
56
+
57
+ Total additional profile rotation in degrees, with progression selected by twistBy.
58
+
59
+ - [`twistBy`](SweepOptions.md#twistby) · `"length"` \| `"stations"` · Optional
60
+
61
+ Twist advances by physical path length (default), or normalized authored station position, including a closed seam gap.
62
+
63
+ - [`scale`](SweepOptions.md#scale) · `number` \| [`Vector2Tuple`](Vector2Tuple.md) \| readonly [`Vector2Tuple`](Vector2Tuple.md)[] · Optional
64
+
65
+ Positive uniform/XY scale, or one XY pair per path station. Defaults to one.
66
+
67
+ - [`seamProfileOffset`](SweepOptions.md#seamprofileoffset) · `number` · Optional
68
+
69
+ Corresponding point-index advance at a rotationally equivalent closed seam.
70
+
71
+
72
+
73
+ ## Returns
74
+
75
+ [`Solid`](Solid.md)
76
+
77
+
78
+ ## Related APIs
79
+
80
+ - [CorrespondingProfile](CorrespondingProfile.md)
81
+ - [Solid](Solid.md)
82
+ - [SweepOptions](SweepOptions.md)
83
+ - [Vector3Tuple](Vector3Tuple.md)
84
+
85
+ ## Guides
86
+
87
+ - [Revolve a radial profile](../../guides/recipes.md#revolve-a-radial-profile)
88
+ - [Rotation-minimizing path sweep](../../guides/recipes.md#rotation-minimizing-path-sweep)
89
+ - [Matched-section loft](../../guides/recipes.md#matched-section-loft)
90
+ - [Choose a modeling path](../../guides/concepts.md#choose-a-modeling-path)
91
+
92
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,57 @@
1
+ # textSection
2
+
3
+ Consumes a previously prepared layout; never shapes or fetches a font.
4
+
5
+ **textSection**(`layout`: [`VectorTextLayout`](VectorTextLayout.md), `options?`: [`TextSectionOptions`](TextSectionOptions.md)): [`Section`](Section.md)
6
+
7
+
8
+
9
+ ## Example: Use a prepared text layout
10
+
11
+ ```ts
12
+ // Prepare the exact font and layout before entering build.
13
+ function labelSection(layout: VectorTextLayout) {
14
+ return textSection(layout);
15
+ }
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="layout"></a>
21
+
22
+ **`layout`** · [`VectorTextLayout`](VectorTextLayout.md) · Required
23
+
24
+
25
+
26
+ <a id="options"></a>
27
+
28
+ **`options`** · [`TextSectionOptions`](TextSectionOptions.md) · Optional
29
+
30
+ - [`limits`](TextSectionOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
31
+
32
+ Local allocation ceilings may only lower the configured engine policy.
33
+
34
+ - [`resolution`](TextSectionOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
35
+
36
+ Local physical sampling policy; exact interval counts take precedence.
37
+
38
+
39
+
40
+ ## Returns
41
+
42
+ [`Section`](Section.md)
43
+
44
+
45
+ ## Related APIs
46
+
47
+ - [Section](Section.md)
48
+ - [TextSectionOptions](TextSectionOptions.md)
49
+ - [VectorTextLayout](VectorTextLayout.md)
50
+
51
+ ## Guides
52
+
53
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
54
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
55
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
56
+
57
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,72 @@
1
+ # threadRidge
2
+
3
+ Helical ridge mesh construction.
4
+
5
+ **threadRidge**(`options`: [`HelicalThreadRidgeMeshOptions`](HelicalThreadRidgeMeshOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`HelicalThreadRidgeMeshOptions`](HelicalThreadRidgeMeshOptions.md) · Required
14
+
15
+ - [`length`](HelicalThreadRidgeMeshOptions.md#length) · `number` · Required
16
+
17
+ Total threaded axial length in millimetres.
18
+
19
+ - [`majorDiameter`](HelicalThreadRidgeMeshOptions.md#majordiameter) · `number` · Required
20
+
21
+ Nominal major diameter before any caller-owned fit compensation.
22
+
23
+ - [`profile`](HelicalThreadRidgeMeshOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
24
+
25
+ Validated periodic profile repeated around the shaft.
26
+
27
+ - [`ends`](HelicalThreadRidgeMeshOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
28
+
29
+ Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
30
+ BOSL2-style non-cut lead-in scaling is available on complete thread solids.
31
+
32
+ - [`handedness`](HelicalThreadRidgeMeshOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
33
+
34
+ Helix direction. Default: `right`.
35
+
36
+ - [`limits`](HelicalThreadRidgeMeshOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
37
+
38
+ Explicit output and circular allocation ceilings.
39
+
40
+ - [`phaseDegrees`](HelicalThreadRidgeMeshOptions.md#phasedegrees) · `number` · Optional
41
+
42
+ Angular offset of the first start in degrees. Default: `0`.
43
+
44
+ - [`resolution`](HelicalThreadRidgeMeshOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
45
+
46
+ Optional circular-resolution policy.
47
+
48
+ - [`starts`](HelicalThreadRidgeMeshOptions.md#starts) · `number` · Optional
49
+
50
+ Number of evenly phased starts. Default: `1`.
51
+
52
+ - [`tolerance`](HelicalThreadRidgeMeshOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
53
+
54
+ Optional numerical tolerance overrides.
55
+
56
+
57
+
58
+ ## Returns
59
+
60
+ [`Solid`](Solid.md)
61
+
62
+
63
+ ## Related APIs
64
+
65
+ - [HelicalThreadRidgeMeshOptions](HelicalThreadRidgeMeshOptions.md)
66
+ - [Solid](Solid.md)
67
+
68
+ ## Guides
69
+
70
+ - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
71
+
72
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,110 @@
1
+ # threadedNut
2
+
3
+ Compensated threaded nut.
4
+
5
+ **threadedNut**(`options`: [`ThreadedNutOptions`](ThreadedNutOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Threaded nut
10
+
11
+ ```ts
12
+ import { threadedNut } from "@metamesh/modeling";
13
+ import { createThreadProfile } from "@metamesh/modeling/geometry";
14
+
15
+ const profile = createThreadProfile({ kind: "triangular", pitch: 1.75 });
16
+ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", profile, fit: "normal" });
17
+ ```
18
+
19
+ ## Parameters
20
+
21
+ <a id="options"></a>
22
+
23
+ **`options`** · [`ThreadedNutOptions`](ThreadedNutOptions.md) · Required
24
+
25
+ - [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
26
+
27
+ Validated periodic profile repeated around the shaft.
28
+
29
+ - [`nominalMajorDiameter`](ThreadedNutOptions.md#nominalmajordiameter) · `number` · Required
30
+
31
+ Nominal major diameter before female compensation and faceting correction.
32
+
33
+ - [`shape`](ThreadedNutOptions.md#shape) · [`ThreadedNutShape`](ThreadedNutShape.md) · Required
34
+
35
+ Nut body shape.
36
+
37
+ - [`thickness`](ThreadedNutOptions.md#thickness) · `number` · Required
38
+
39
+ Nut thickness along +Z in millimetres.
40
+
41
+ - [`width`](ThreadedNutOptions.md#width) · `number` · Required
42
+
43
+ Across-flats width for hex/square or diameter for round, in millimetres.
44
+
45
+ - [`ends`](ThreadedNutOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
46
+
47
+ Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
48
+ BOSL2-style non-cut lead-in scaling is available on complete thread solids.
49
+
50
+ - [`handedness`](ThreadedNutOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
51
+
52
+ Helix direction. Default: `right`.
53
+
54
+ - [`limits`](ThreadedNutOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
55
+
56
+ Explicit output and circular allocation ceilings.
57
+
58
+ - [`phaseDegrees`](ThreadedNutOptions.md#phasedegrees) · `number` · Optional
59
+
60
+ Angular offset of the first start in degrees. Default: `0`.
61
+
62
+ - [`resolution`](ThreadedNutOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
63
+
64
+ Optional circular-resolution policy.
65
+
66
+ - [`starts`](ThreadedNutOptions.md#starts) · `number` · Optional
67
+
68
+ Number of evenly phased starts. Default: `1`.
69
+
70
+ - [`tolerance`](ThreadedNutOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
71
+
72
+ Optional numerical tolerance overrides.
73
+
74
+ - [`fit`](ThreadedNutOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
75
+
76
+ Printable fit or caller-calibrated allowances. Default: `normal`.
77
+
78
+ - [`bevel`](ThreadedNutOptions.md#bevel) · [`ThreadedNutBevel`](ThreadedNutBevel.md) · Optional
79
+
80
+ Nut body bevel selection. Default: `automatic`.
81
+
82
+ - [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
83
+
84
+ Optional physical policy for a round body, independent of the thread's matched facet grid.
85
+
86
+ - [`chamferSize`](ThreadedNutOptions.md#chamfersize) · `number` · Optional
87
+
88
+ 45-degree body chamfer extent. Default: `min(profile.depth, thickness/4)`.
89
+
90
+ - [`flushBuildPlateBottom`](ThreadedNutOptions.md#flushbuildplatebottom) · `boolean` · Optional
91
+
92
+ Leave the bottom outside edge flat for build-plate adhesion. Default: `false`.
93
+
94
+
95
+
96
+ ## Returns
97
+
98
+ [`Solid`](Solid.md)
99
+
100
+
101
+ ## Related APIs
102
+
103
+ - [Solid](Solid.md)
104
+ - [ThreadedNutOptions](ThreadedNutOptions.md)
105
+
106
+ ## Guides
107
+
108
+ - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
109
+
110
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,99 @@
1
+ # threadedRod
2
+
3
+ Compensated external threaded rod.
4
+
5
+ **threadedRod**(`options`: [`ThreadedRodOptions`](ThreadedRodOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Threaded rod
10
+
11
+ ```ts
12
+ import { threadedRod } from "@metamesh/modeling";
13
+ import { createThreadProfile } from "@metamesh/modeling/geometry";
14
+
15
+ const profile = createThreadProfile({ kind: "triangular", pitch: 1.75 });
16
+ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
17
+ ```
18
+
19
+ ## Parameters
20
+
21
+ <a id="options"></a>
22
+
23
+ **`options`** · [`ThreadedRodOptions`](ThreadedRodOptions.md) · Required
24
+
25
+ - [`length`](ThreadedRodOptions.md#length) · `number` · Required
26
+
27
+ Total threaded axial length in millimetres.
28
+
29
+ - [`profile`](ThreadedRodOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
30
+
31
+ Validated periodic profile repeated around the shaft.
32
+
33
+ - [`nominalMajorDiameter`](ThreadedRodOptions.md#nominalmajordiameter) · `number` · Required
34
+
35
+ Nominal major diameter before male compensation.
36
+
37
+ - [`ends`](ThreadedRodOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
38
+
39
+ Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
40
+ BOSL2-style non-cut lead-in scaling is available on complete thread solids.
41
+
42
+ - [`handedness`](ThreadedRodOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
43
+
44
+ Helix direction. Default: `right`.
45
+
46
+ - [`limits`](ThreadedRodOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
47
+
48
+ Explicit output and circular allocation ceilings.
49
+
50
+ - [`phaseDegrees`](ThreadedRodOptions.md#phasedegrees) · `number` · Optional
51
+
52
+ Angular offset of the first start in degrees. Default: `0`.
53
+
54
+ - [`resolution`](ThreadedRodOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
55
+
56
+ Optional circular-resolution policy.
57
+
58
+ - [`starts`](ThreadedRodOptions.md#starts) · `number` · Optional
59
+
60
+ Number of evenly phased starts. Default: `1`.
61
+
62
+ - [`tolerance`](ThreadedRodOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
63
+
64
+ Optional numerical tolerance overrides.
65
+
66
+ - [`bevelBottom`](ThreadedRodOptions.md#bevelbottom) · `boolean` · Optional
67
+
68
+ Apply a 45-degree bevel at Z=0.
69
+
70
+ - [`bevelSize`](ThreadedRodOptions.md#bevelsize) · `number` · Optional
71
+
72
+ Axial bevel extent in millimetres. Active blunt ends default to one sixth of the compensated
73
+ male minor radius or female major radius; other ends default to the profile depth.
74
+
75
+ - [`bevelTop`](ThreadedRodOptions.md#beveltop) · `boolean` · Optional
76
+
77
+ Apply a 45-degree bevel at Z=length.
78
+
79
+ - [`fit`](ThreadedRodOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
80
+
81
+ Printable fit or caller-calibrated allowances. Default: `normal`.
82
+
83
+
84
+
85
+ ## Returns
86
+
87
+ [`Solid`](Solid.md)
88
+
89
+
90
+ ## Related APIs
91
+
92
+ - [Solid](Solid.md)
93
+ - [ThreadedRodOptions](ThreadedRodOptions.md)
94
+
95
+ ## Guides
96
+
97
+ - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
98
+
99
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,27 @@
1
+ # toTriangleMesh
2
+
3
+ Copies a handle to manufacturing mesh buffers.
4
+
5
+ **toTriangleMesh**(`solid`: [`Solid`](Solid.md)): [`TriangleMesh`](TriangleMesh.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="solid"></a>
12
+
13
+ **`solid`** · [`Solid`](Solid.md) · Required
14
+
15
+
16
+
17
+ ## Returns
18
+
19
+ [`TriangleMesh`](TriangleMesh.md)
20
+
21
+
22
+ ## Related APIs
23
+
24
+ - [Solid](Solid.md)
25
+ - [TriangleMesh](TriangleMesh.md)
26
+
27
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,70 @@
1
+ # torus
2
+
3
+ Torus around +Z.
4
+
5
+ **torus**(`options`: [`TorusOptions`](TorusOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Torus
10
+
11
+
12
+
13
+ ```ts
14
+ torus({ majorRadius: 12, minorRadius: 3 });
15
+ ```
16
+
17
+
18
+
19
+ ## Parameters
20
+
21
+ <a id="options"></a>
22
+
23
+ **`options`** · [`TorusOptions`](TorusOptions.md) · Required
24
+
25
+ - [`majorRadius`](TorusOptions.md#majorradius) · `number` · Required
26
+
27
+ Radius from the Z axis to the profile center, in millimetres; greater than `minorRadius`.
28
+
29
+ - [`minorRadius`](TorusOptions.md#minorradius) · `number` · Required
30
+
31
+ Radius of the swept circular profile in millimetres.
32
+
33
+ - [`placement`](TorusOptions.md#placement) · [`PrimitivePlacementOptions`](PrimitivePlacementOptions.md) · Optional
34
+
35
+ Applied after local construction; Section placement must preserve the XY plane.
36
+
37
+ - [`limits`](TorusOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
38
+
39
+ Explicit sampling ceilings, bounded by the host policy.
40
+
41
+ - [`majorSegments`](TorusOptions.md#majorsegments) · `number` · Optional
42
+
43
+ Exact segment count around the Z axis; omitted uses adaptive resolution.
44
+
45
+ - [`minorSegments`](TorusOptions.md#minorsegments) · `number` · Optional
46
+
47
+ Exact segment count around the swept profile; omitted uses adaptive resolution.
48
+
49
+ - [`resolution`](TorusOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
50
+
51
+ Operation-level physical tessellation policy over the active model-wide policy.
52
+
53
+
54
+
55
+ ## Returns
56
+
57
+ [`Solid`](Solid.md)
58
+
59
+
60
+ ## Related APIs
61
+
62
+ - [Solid](Solid.md)
63
+ - [TorusOptions](TorusOptions.md)
64
+
65
+ ## Guides
66
+
67
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
68
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
69
+
70
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,39 @@
1
+ # transform2
2
+
3
+ Creates an immutable XY transform, identity by default. Matrices are copied and validated. Pass it directly to Section.transform() and planar data helpers; to3D() explicitly crosses into XYZ. Zero scales and singular matrices throw GeometryError; negative scales reflect.
4
+
5
+ **transform2**(`matrix?`: [`Transform2Matrix`](Transform2Matrix.md)): [`Transform2`](Transform2-type.md)
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ const placement = transform2().rotate(90).translate([10, 0]);
13
+ placement.applyPoint([1, 0]).toArray(); // approximately [10, 1]
14
+ ```
15
+
16
+ ## Parameters
17
+
18
+ <a id="matrix"></a>
19
+
20
+ **`matrix`** · [`Transform2Matrix`](Transform2Matrix.md) · Optional
21
+
22
+
23
+
24
+ ## Returns
25
+
26
+ [`Transform2`](Transform2-type.md)
27
+
28
+
29
+ ## Related APIs
30
+
31
+ - [Transform2](Transform2-type.md)
32
+ - [Transform2Matrix](Transform2Matrix.md)
33
+
34
+ ## Guides
35
+
36
+ - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
37
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
38
+
39
+ Package: `@metamesh/modeling@0.14.0`.