@metamesh/modeling 0.17.0 → 0.18.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 (871) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/README.md +137 -163
  3. package/dist/api/engine.d.ts +128 -65
  4. package/dist/api/geometry.d.ts +246 -457
  5. package/dist/api/index.d.ts +394 -419
  6. package/dist/api/mesh.d.ts +460 -0
  7. package/dist/api/text.d.ts +1 -1
  8. package/dist/docs/guides/concepts.md +126 -86
  9. package/dist/docs/guides/fonts.md +11 -10
  10. package/dist/docs/guides/fundamentals.md +30 -29
  11. package/dist/docs/guides/generation.md +44 -31
  12. package/dist/docs/guides/hosting.md +122 -46
  13. package/dist/docs/guides/recipes.md +65 -54
  14. package/dist/docs/guides/standalone-model.md +8 -7
  15. package/dist/docs/manifest.json +2740 -902
  16. package/dist/docs/reference/engine/Export3mfOptions.md +19 -2
  17. package/dist/docs/reference/engine/ExportMeshPart.md +5 -39
  18. package/dist/docs/reference/engine/GenerationOptions.md +4 -3
  19. package/dist/docs/reference/engine/GeometryResource.md +13 -13
  20. package/dist/docs/reference/engine/ModelDependencies.md +1 -1
  21. package/dist/docs/reference/engine/ModelEngine.md +26 -23
  22. package/dist/docs/reference/engine/ModelEngineOptions.md +6 -1
  23. package/dist/docs/reference/engine/ModelPart.md +108 -0
  24. package/dist/docs/reference/engine/ModelResult.md +175 -0
  25. package/dist/docs/reference/engine/ModelRunArguments.md +28 -0
  26. package/dist/docs/reference/engine/ModelRunOptions.md +104 -0
  27. package/dist/docs/reference/engine/ModelSession.md +16 -16
  28. package/dist/docs/reference/engine/ModelingLimits.md +121 -0
  29. package/dist/docs/reference/engine/SessionOptions.md +13 -8
  30. package/dist/docs/reference/engine/categories/host-lifecycle.md +25 -15
  31. package/dist/docs/reference/engine/checkModel.md +43 -0
  32. package/dist/docs/reference/engine/createModelEngine.md +4 -13
  33. package/dist/docs/reference/engine/defaultModelingLimits.md +8 -1
  34. package/dist/docs/reference/engine/export3mf.md +55 -0
  35. package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
  36. package/dist/docs/reference/engine.md +8 -15
  37. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
  38. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +1 -1
  39. package/dist/docs/reference/geometry/Anchor3-type.md +1 -1
  40. package/dist/docs/reference/geometry/ArcCurve2.md +1 -1
  41. package/dist/docs/reference/geometry/ArcCurve3.md +1 -1
  42. package/dist/docs/reference/geometry/AttachOptions.md +1 -1
  43. package/dist/docs/reference/geometry/AxisAngleRotation3.md +1 -1
  44. package/dist/docs/reference/geometry/Bevel.md +18 -0
  45. package/dist/docs/reference/geometry/BevelSize.md +14 -0
  46. package/dist/docs/reference/geometry/Bounds2-type.md +1 -1
  47. package/dist/docs/reference/geometry/Bounds2Data.md +1 -1
  48. package/dist/docs/reference/geometry/Bounds2Input.md +1 -1
  49. package/dist/docs/reference/geometry/Bounds2Options.md +48 -8
  50. package/dist/docs/reference/geometry/Bounds3-type.md +1 -1
  51. package/dist/docs/reference/geometry/Bounds3Data.md +1 -1
  52. package/dist/docs/reference/geometry/Bounds3Input.md +1 -1
  53. package/dist/docs/reference/geometry/Bounds3Options.md +48 -8
  54. package/dist/docs/reference/geometry/BoundsFit2.md +1 -1
  55. package/dist/docs/reference/geometry/BoundsFit3.md +1 -1
  56. package/dist/docs/reference/geometry/BoundsFitOptions.md +1 -1
  57. package/dist/docs/reference/geometry/BoxAnchorFace.md +1 -1
  58. package/dist/docs/reference/geometry/BoxAnchorOptions.md +4 -4
  59. package/dist/docs/reference/geometry/BoxEdge.md +1 -1
  60. package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
  61. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
  62. package/dist/docs/reference/geometry/BoxOptions.md +3 -3
  63. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +1 -1
  64. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +1 -1
  65. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
  66. package/dist/docs/reference/geometry/CircleContourOptions.md +1 -1
  67. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -3
  68. package/dist/docs/reference/geometry/CircularResolutionOptions.md +1 -1
  69. package/dist/docs/reference/geometry/CircularSampling.md +1 -1
  70. package/dist/docs/reference/geometry/CircularSamplingOptions.md +1 -1
  71. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
  72. package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
  73. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
  74. package/dist/docs/reference/geometry/Contour.md +1 -1
  75. package/dist/docs/reference/geometry/ContourCurve.md +1 -1
  76. package/dist/docs/reference/geometry/ContourPoint.md +1 -1
  77. package/dist/docs/reference/geometry/ContourSegment.md +1 -1
  78. package/dist/docs/reference/geometry/CorrespondingComponent.md +1 -1
  79. package/dist/docs/reference/geometry/CorrespondingContour.md +1 -1
  80. package/dist/docs/reference/geometry/CorrespondingProfile.md +1 -1
  81. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +1 -1
  82. package/dist/docs/reference/geometry/CubicBezierCurve2.md +1 -1
  83. package/dist/docs/reference/geometry/CubicBezierCurve3.md +1 -1
  84. package/dist/docs/reference/geometry/Curve2.md +1 -1
  85. package/dist/docs/reference/geometry/Curve3.md +1 -1
  86. package/dist/docs/reference/geometry/CurveSamplingOptions.md +1 -1
  87. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +1 -1
  88. package/dist/docs/reference/geometry/CylinderAnchorFace.md +1 -1
  89. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +3 -3
  90. package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
  91. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +1 -1
  92. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +1 -1
  93. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +1 -1
  94. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +1 -1
  95. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +1 -1
  96. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +1 -1
  97. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +1 -1
  98. package/dist/docs/reference/geometry/CylindricalGearSpec.md +1 -1
  99. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
  100. package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
  101. package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -3
  102. package/dist/docs/reference/geometry/EndTreatments.md +1 -1
  103. package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +130 -0
  104. package/dist/docs/reference/geometry/ExtrudeOptions.md +17 -9
  105. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +3 -3
  106. package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
  107. package/dist/docs/reference/geometry/Frame3.md +1 -1
  108. package/dist/docs/reference/geometry/GeometryError.md +1 -1
  109. package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
  110. package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
  111. package/dist/docs/reference/geometry/GeometryResolution.md +1 -1
  112. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +1 -1
  113. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
  114. package/dist/docs/reference/geometry/GridPatternOptions.md +1 -1
  115. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
  116. package/dist/docs/reference/geometry/HeightfieldOptions.md +3 -2
  117. package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
  118. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +1 -1
  119. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +108 -0
  120. package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +43 -0
  121. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +52 -83
  122. package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +1 -1
  123. package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +1 -1
  124. package/dist/docs/reference/geometry/KnuckleHingeInterval.md +1 -1
  125. package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +1 -1
  126. package/dist/docs/reference/geometry/KnuckleHingeSpec.md +1 -1
  127. package/dist/docs/reference/geometry/LineCurve2.md +1 -1
  128. package/dist/docs/reference/geometry/LineCurve3.md +1 -1
  129. package/dist/docs/reference/geometry/LinearPatternOptions.md +1 -1
  130. package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
  131. package/dist/docs/reference/geometry/LoftMeshStation.md +1 -1
  132. package/dist/docs/reference/geometry/LoftOptions.md +3 -3
  133. package/dist/docs/reference/geometry/LoftPlacement.md +1 -1
  134. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +1 -1
  135. package/dist/docs/reference/geometry/MatchProfilesOptions.md +1 -1
  136. package/dist/docs/reference/geometry/MetricFastenerSize.md +1 -1
  137. package/dist/docs/reference/geometry/MetricFastenerStandard.md +1 -1
  138. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +1 -1
  139. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +1 -1
  140. package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
  141. package/dist/docs/reference/geometry/NumericArray.md +14 -0
  142. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +1 -1
  143. package/dist/docs/reference/geometry/Path2-type.md +1 -1
  144. package/dist/docs/reference/geometry/Path2Data.md +1 -1
  145. package/dist/docs/reference/geometry/Path2Input.md +1 -1
  146. package/dist/docs/reference/geometry/Path3-type.md +1 -1
  147. package/dist/docs/reference/geometry/Path3Data.md +1 -1
  148. package/dist/docs/reference/geometry/Path3Input.md +1 -1
  149. package/dist/docs/reference/geometry/PathFrame.md +1 -1
  150. package/dist/docs/reference/geometry/PathLocation.md +1 -1
  151. package/dist/docs/reference/geometry/PathNormalGuide.md +1 -1
  152. package/dist/docs/reference/geometry/PathOptions.md +1 -1
  153. package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
  154. package/dist/docs/reference/geometry/PathPlacement.md +1 -1
  155. package/dist/docs/reference/geometry/PathResamplingOptions.md +1 -1
  156. package/dist/docs/reference/geometry/Pivot2Options.md +1 -1
  157. package/dist/docs/reference/geometry/Pivot3Options.md +1 -1
  158. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
  159. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +1 -1
  160. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
  161. package/dist/docs/reference/geometry/PlanarPatchQuality.md +1 -1
  162. package/dist/docs/reference/geometry/PolygonData.md +1 -1
  163. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +1 -1
  164. package/dist/docs/reference/geometry/PrimitiveAttachment.md +1 -3
  165. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +1 -1
  166. package/dist/docs/reference/geometry/PrintableThreadFit.md +1 -1
  167. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +1 -1
  168. package/dist/docs/reference/geometry/Profile.md +1 -1
  169. package/dist/docs/reference/geometry/ProfileComponent2.md +1 -1
  170. package/dist/docs/reference/geometry/ProfileContour2.md +1 -1
  171. package/dist/docs/reference/geometry/ProfileSpan2.md +1 -1
  172. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +1 -1
  173. package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
  174. package/dist/docs/reference/geometry/RackPitchSpec.md +1 -1
  175. package/dist/docs/reference/geometry/RadialPatternOptions.md +1 -1
  176. package/dist/docs/reference/geometry/RadialSizing.md +1 -1
  177. package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
  178. package/dist/docs/reference/geometry/RectangleContourOptions.md +3 -3
  179. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +1 -1
  180. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +1 -1
  181. package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
  182. package/dist/docs/reference/geometry/RegionData.md +1 -1
  183. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +1 -1
  184. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
  185. package/dist/docs/reference/geometry/RevolveOptions.md +2 -2
  186. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
  187. package/dist/docs/reference/geometry/RowLayoutOptions.md +1 -1
  188. package/dist/docs/reference/geometry/SampleContourOptions.md +1 -1
  189. package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
  190. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +1 -1
  191. package/dist/docs/reference/geometry/SampledCurve2.md +1 -1
  192. package/dist/docs/reference/geometry/SampledCurve3.md +1 -1
  193. package/dist/docs/reference/geometry/SampledThreadHelices.md +1 -1
  194. package/dist/docs/reference/geometry/SideProfileCurve.md +1 -1
  195. package/dist/docs/reference/geometry/SideProfilePoint.md +1 -1
  196. package/dist/docs/reference/geometry/SideProfileSegment.md +1 -1
  197. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
  198. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +1 -1
  199. package/dist/docs/reference/geometry/SphereOptions.md +1 -1
  200. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
  201. package/dist/docs/reference/geometry/StarContourOptions.md +74 -0
  202. package/dist/docs/reference/geometry/StrokeCap.md +1 -1
  203. package/dist/docs/reference/geometry/StrokeJoin.md +1 -1
  204. package/dist/docs/reference/geometry/StrokeOptions.md +1 -1
  205. package/dist/docs/reference/geometry/SvgImportOptions.md +1 -1
  206. package/dist/docs/reference/geometry/SvgRegionPreflight.md +1 -1
  207. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +1 -1
  208. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +1 -1
  209. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +1 -1
  210. package/dist/docs/reference/geometry/SweepOptions.md +1 -1
  211. package/dist/docs/reference/geometry/SweepOrientation.md +1 -1
  212. package/dist/docs/reference/geometry/ThreadBevelOptions.md +7 -30
  213. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +1 -1
  214. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +1 -1
  215. package/dist/docs/reference/geometry/ThreadEndStyle.md +1 -1
  216. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +1 -1
  217. package/dist/docs/reference/geometry/ThreadHandedness.md +1 -1
  218. package/dist/docs/reference/geometry/ThreadHelixOptions.md +1 -1
  219. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +1 -1
  220. package/dist/docs/reference/geometry/ThreadLeadInShape.md +1 -1
  221. package/dist/docs/reference/geometry/ThreadProfile-type.md +2 -2
  222. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +1 -1
  223. package/dist/docs/reference/geometry/ThreadProfileSpec.md +1 -1
  224. package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +4 -4
  225. package/dist/docs/reference/geometry/ThreadRole.md +1 -1
  226. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +18 -65
  227. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +2 -2
  228. package/dist/docs/reference/geometry/ThreadedNutOptions.md +75 -86
  229. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +18 -6
  230. package/dist/docs/reference/geometry/ThreadedNutShape.md +1 -1
  231. package/dist/docs/reference/geometry/ThreadedRodOptions.md +52 -83
  232. package/dist/docs/reference/geometry/TorusOptions.md +1 -1
  233. package/dist/docs/reference/geometry/Transform2-type.md +1 -1
  234. package/dist/docs/reference/geometry/Transform2Data.md +1 -1
  235. package/dist/docs/reference/geometry/Transform2Input.md +1 -1
  236. package/dist/docs/reference/geometry/Transform3-type.md +1 -1
  237. package/dist/docs/reference/geometry/Transform3Data.md +1 -1
  238. package/dist/docs/reference/geometry/Transform3Input.md +1 -1
  239. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +1 -1
  240. package/dist/docs/reference/geometry/TriangleMesh.md +3 -8
  241. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +10 -4
  242. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +2 -2
  243. package/dist/docs/reference/geometry/TriangleMeshInput.md +19 -0
  244. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +1 -1
  245. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +1 -1
  246. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
  247. package/dist/docs/reference/geometry/TriangleMeshSignature.md +3 -3
  248. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +1 -1
  249. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +1 -1
  250. package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +131 -0
  251. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +1 -1
  252. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +1 -1
  253. package/dist/docs/reference/geometry/TubeOptions.md +10 -86
  254. package/dist/docs/reference/geometry/Vector2-type.md +1 -1
  255. package/dist/docs/reference/geometry/Vector2Data.md +1 -1
  256. package/dist/docs/reference/geometry/Vector2Input.md +1 -1
  257. package/dist/docs/reference/geometry/Vector3-type.md +1 -1
  258. package/dist/docs/reference/geometry/Vector3Data.md +1 -1
  259. package/dist/docs/reference/geometry/Vector3Input.md +1 -1
  260. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +1 -1
  261. package/dist/docs/reference/geometry/VectorTextLayout.md +1 -1
  262. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +3 -3
  263. package/dist/docs/reference/geometry/VectorTextMetrics.md +1 -1
  264. package/dist/docs/reference/geometry/VectorTextOptions.md +1 -1
  265. package/dist/docs/reference/geometry/add2.md +1 -1
  266. package/dist/docs/reference/geometry/add3.md +1 -1
  267. package/dist/docs/reference/geometry/anchor3.md +1 -1
  268. package/dist/docs/reference/geometry/anchorFrame3.md +1 -1
  269. package/dist/docs/reference/geometry/applyTransformDirection3.md +1 -1
  270. package/dist/docs/reference/geometry/applyTransformPoint3.md +1 -1
  271. package/dist/docs/reference/geometry/attachmentTransform3.md +1 -1
  272. package/dist/docs/reference/geometry/bounds2.md +4 -4
  273. package/dist/docs/reference/geometry/bounds3.md +4 -4
  274. package/dist/docs/reference/geometry/boundsCenter.md +1 -1
  275. package/dist/docs/reference/geometry/boundsSize.md +1 -1
  276. package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
  277. package/dist/docs/reference/geometry/categories/bounds-layout.md +3 -3
  278. package/dist/docs/reference/geometry/categories/curves-paths.md +2 -2
  279. package/dist/docs/reference/geometry/categories/mechanical.md +8 -10
  280. package/dist/docs/reference/geometry/categories/meshes.md +19 -32
  281. package/dist/docs/reference/geometry/categories/pattern-placement.md +2 -2
  282. package/dist/docs/reference/geometry/categories/primitive-options.md +3 -3
  283. package/dist/docs/reference/geometry/categories/profiles-regions.md +5 -4
  284. package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -3
  285. package/dist/docs/reference/geometry/categories/transforms-math.md +3 -2
  286. package/dist/docs/reference/geometry/categories/vector-import.md +3 -3
  287. package/dist/docs/reference/geometry/circleContour.md +1 -1
  288. package/dist/docs/reference/geometry/closeToAxis.md +1 -1
  289. package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
  290. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +1 -1
  291. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +1 -1
  292. package/dist/docs/reference/geometry/composeTransform3.md +1 -1
  293. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +1 -1
  294. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +1 -1
  295. package/dist/docs/reference/geometry/contourContainsPoint.md +1 -1
  296. package/dist/docs/reference/geometry/cross2.md +1 -1
  297. package/dist/docs/reference/geometry/cross3.md +1 -1
  298. package/dist/docs/reference/geometry/cylinderAnchor3.md +2 -2
  299. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
  300. package/dist/docs/reference/geometry/distance2.md +1 -1
  301. package/dist/docs/reference/geometry/distance3.md +1 -1
  302. package/dist/docs/reference/geometry/distributeAlongPath.md +1 -1
  303. package/dist/docs/reference/geometry/dot2.md +1 -1
  304. package/dist/docs/reference/geometry/dot3.md +1 -1
  305. package/dist/docs/reference/geometry/ellipseContour.md +1 -1
  306. package/dist/docs/reference/geometry/eulerTransform3.md +1 -1
  307. package/dist/docs/reference/geometry/fitBounds.md +1 -1
  308. package/dist/docs/reference/geometry/fitTextLayout.md +1 -1
  309. package/dist/docs/reference/geometry/frameTransform3.md +1 -1
  310. package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +1 -1
  311. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
  312. package/dist/docs/reference/geometry/gridPatternTransforms.md +1 -1
  313. package/dist/docs/reference/geometry/immutableBuffer.md +49 -0
  314. package/dist/docs/reference/geometry/inverseTransform3.md +1 -1
  315. package/dist/docs/reference/geometry/isGeometryError.md +1 -1
  316. package/dist/docs/reference/geometry/layoutRow.md +1 -1
  317. package/dist/docs/reference/geometry/length2.md +1 -1
  318. package/dist/docs/reference/geometry/length3.md +1 -1
  319. package/dist/docs/reference/geometry/lerp2.md +1 -1
  320. package/dist/docs/reference/geometry/lerp3.md +1 -1
  321. package/dist/docs/reference/geometry/linearPatternTransforms.md +1 -1
  322. package/dist/docs/reference/geometry/matchProfiles.md +1 -1
  323. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +1 -1
  324. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +1 -1
  325. package/dist/docs/reference/geometry/normalize2.md +1 -1
  326. package/dist/docs/reference/geometry/normalize3.md +1 -1
  327. package/dist/docs/reference/geometry/normalizeContour.md +1 -1
  328. package/dist/docs/reference/geometry/normalizePolygon.md +1 -1
  329. package/dist/docs/reference/geometry/normalizeRegion.md +1 -1
  330. package/dist/docs/reference/geometry/path2.md +1 -1
  331. package/dist/docs/reference/geometry/path3.md +1 -1
  332. package/dist/docs/reference/geometry/pathPatternTransforms.md +1 -1
  333. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +18 -25
  334. package/dist/docs/reference/geometry/preflightSvgRegion.md +1 -1
  335. package/dist/docs/reference/geometry/preflightThreadedNut.md +24 -26
  336. package/dist/docs/reference/geometry/preflightThreadedRod.md +18 -25
  337. package/dist/docs/reference/geometry/projectOntoPlane3.md +1 -1
  338. package/dist/docs/reference/geometry/radialPatternTransforms.md +1 -1
  339. package/dist/docs/reference/geometry/rectangleContour.md +10 -5
  340. package/dist/docs/reference/geometry/rectangleProfile.md +2 -2
  341. package/dist/docs/reference/geometry/regionArea.md +1 -1
  342. package/dist/docs/reference/geometry/regionBounds.md +1 -1
  343. package/dist/docs/reference/geometry/regularPolygonContour.md +2 -2
  344. package/dist/docs/reference/geometry/resamplePolyline2.md +1 -1
  345. package/dist/docs/reference/geometry/resamplePolyline3.md +1 -1
  346. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +1 -1
  347. package/dist/docs/reference/geometry/resolveArcSegments.md +1 -1
  348. package/dist/docs/reference/geometry/resolveCircularSampling.md +1 -1
  349. package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
  350. package/dist/docs/reference/geometry/resolveCylindricalGear.md +1 -1
  351. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +1 -1
  352. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +1 -1
  353. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +1 -1
  354. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
  355. package/dist/docs/reference/geometry/resolveKnuckleHinge.md +1 -1
  356. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +1 -1
  357. package/dist/docs/reference/geometry/resolveRackPitch.md +1 -1
  358. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +1 -1
  359. package/dist/docs/reference/geometry/rotate2.md +1 -1
  360. package/dist/docs/reference/geometry/rotationTransform3.md +1 -1
  361. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +1 -1
  362. package/dist/docs/reference/geometry/sampleContour.md +1 -1
  363. package/dist/docs/reference/geometry/sampleCurve2.md +1 -1
  364. package/dist/docs/reference/geometry/sampleCurve3.md +1 -1
  365. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
  366. package/dist/docs/reference/geometry/sampleHelix.md +1 -1
  367. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
  368. package/dist/docs/reference/geometry/sampleRackToothPath.md +1 -1
  369. package/dist/docs/reference/geometry/sampleSideProfile.md +1 -1
  370. package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
  371. package/dist/docs/reference/geometry/sampleThreadHelices.md +1 -1
  372. package/dist/docs/reference/geometry/scale2.md +1 -1
  373. package/dist/docs/reference/geometry/scale3.md +1 -1
  374. package/dist/docs/reference/geometry/scaleTransform3.md +1 -1
  375. package/dist/docs/reference/geometry/signedContourArea.md +1 -1
  376. package/dist/docs/reference/geometry/starContour.md +17 -15
  377. package/dist/docs/reference/geometry/strokeRegionData.md +1 -1
  378. package/dist/docs/reference/geometry/subtract2.md +1 -1
  379. package/dist/docs/reference/geometry/subtract3.md +1 -1
  380. package/dist/docs/reference/geometry/threadProfile.md +1 -1
  381. package/dist/docs/reference/geometry/transform2.md +1 -1
  382. package/dist/docs/reference/geometry/transform3.md +1 -1
  383. package/dist/docs/reference/geometry/transformDeterminant3.md +1 -1
  384. package/dist/docs/reference/geometry/transformRegionData.md +1 -1
  385. package/dist/docs/reference/geometry/translationTransform3.md +1 -1
  386. package/dist/docs/reference/geometry/triangulateContour.md +1 -1
  387. package/dist/docs/reference/geometry/validateRigidTransform3.md +35 -0
  388. package/dist/docs/reference/geometry/validateTransform3.md +1 -1
  389. package/dist/docs/reference/geometry/vector2.md +1 -1
  390. package/dist/docs/reference/geometry/vector3.md +1 -1
  391. package/dist/docs/reference/geometry.md +9 -9
  392. package/dist/docs/reference/mesh/AcmeThreadProfileSpec.md +79 -0
  393. package/dist/docs/reference/mesh/Bevel.md +18 -0
  394. package/dist/docs/reference/mesh/BevelSize.md +14 -0
  395. package/dist/docs/reference/mesh/Bounds2.md +125 -0
  396. package/dist/docs/reference/mesh/Bounds2Data.md +43 -0
  397. package/dist/docs/reference/mesh/Bounds2Input.md +19 -0
  398. package/dist/docs/reference/mesh/Bounds3.md +125 -0
  399. package/dist/docs/reference/mesh/Bounds3Data.md +43 -0
  400. package/dist/docs/reference/mesh/Bounds3Input.md +19 -0
  401. package/dist/docs/reference/mesh/ButtressPressureFlankSide.md +14 -0
  402. package/dist/docs/reference/mesh/ButtressThreadProfileSpec.md +97 -0
  403. package/dist/docs/reference/mesh/CircularPrimitiveOptions.md +60 -0
  404. package/dist/docs/reference/mesh/CurveSamplingOptions.md +69 -0
  405. package/dist/docs/reference/mesh/CustomThreadProfileSpec.md +77 -0
  406. package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +129 -0
  407. package/dist/docs/reference/mesh/ExtrusionSamplingOptions.md +81 -0
  408. package/dist/docs/reference/mesh/Frame3.md +62 -0
  409. package/dist/docs/reference/mesh/GeometryResolution.md +74 -0
  410. package/dist/docs/reference/mesh/GeometrySamplingLimits.md +66 -0
  411. package/dist/docs/reference/mesh/GeometryToleranceOptions.md +46 -0
  412. package/dist/docs/reference/mesh/HeightfieldMeshLimits.md +18 -0
  413. package/dist/docs/reference/mesh/HeightfieldOptions.md +72 -0
  414. package/dist/docs/reference/mesh/HeightfieldPreflight.md +58 -0
  415. package/dist/docs/reference/mesh/ImmutableBuffer.md +108 -0
  416. package/dist/docs/reference/mesh/ImmutableTriangleMesh.md +43 -0
  417. package/dist/docs/reference/mesh/LoftCorrespondence.md +24 -0
  418. package/dist/docs/reference/mesh/LoftMeshStation.md +31 -0
  419. package/dist/docs/reference/mesh/LoftOptions.md +88 -0
  420. package/dist/docs/reference/mesh/LoftPlacement.md +70 -0
  421. package/dist/docs/reference/mesh/ModelingLimits.md +130 -0
  422. package/dist/docs/reference/mesh/NumericArray.md +14 -0
  423. package/dist/docs/reference/mesh/Path2.md +197 -0
  424. package/dist/docs/reference/mesh/Path2Data.md +50 -0
  425. package/dist/docs/reference/mesh/Path2Input.md +20 -0
  426. package/dist/docs/reference/mesh/Path3.md +197 -0
  427. package/dist/docs/reference/mesh/Path3Data.md +50 -0
  428. package/dist/docs/reference/mesh/Path3Input.md +20 -0
  429. package/dist/docs/reference/mesh/PathLocation.md +69 -0
  430. package/dist/docs/reference/mesh/PathNormalGuide.md +43 -0
  431. package/dist/docs/reference/mesh/PathResamplingOptions.md +84 -0
  432. package/dist/docs/reference/mesh/Pivot2Options.md +26 -0
  433. package/dist/docs/reference/mesh/Pivot3Options.md +26 -0
  434. package/dist/docs/reference/mesh/PlanarMeshOptimizationFallbackReason.md +14 -0
  435. package/dist/docs/reference/mesh/PlanarMeshOptimizationOptions.md +160 -0
  436. package/dist/docs/reference/mesh/PlanarMeshOptimizationResult.md +124 -0
  437. package/dist/docs/reference/mesh/PlanarPatchQuality.md +194 -0
  438. package/dist/docs/reference/mesh/RevolveOptions.md +91 -0
  439. package/dist/docs/reference/mesh/SolidMeshValidationOptions.md +38 -0
  440. package/dist/docs/reference/mesh/SquareThreadProfileSpec.md +79 -0
  441. package/dist/docs/reference/mesh/SweepOptions.md +113 -0
  442. package/dist/docs/reference/mesh/SweepOrientation.md +113 -0
  443. package/dist/docs/reference/mesh/ThreadEndStyle.md +14 -0
  444. package/dist/docs/reference/mesh/ThreadEndTreatmentOptions.md +117 -0
  445. package/dist/docs/reference/mesh/ThreadHandedness.md +14 -0
  446. package/dist/docs/reference/mesh/ThreadLeadInEnvelope.md +14 -0
  447. package/dist/docs/reference/mesh/ThreadLeadInShape.md +14 -0
  448. package/dist/docs/reference/mesh/ThreadProfile.md +86 -0
  449. package/dist/docs/reference/mesh/ThreadProfileBaseSpec.md +53 -0
  450. package/dist/docs/reference/mesh/ThreadProfileSpec.md +23 -0
  451. package/dist/docs/reference/{model/HelicalThreadRidgeMeshOptions.md → mesh/ThreadRidgeOptions.md} +14 -10
  452. package/dist/docs/reference/mesh/ThreadSolidOptions.md +222 -0
  453. package/dist/docs/reference/mesh/ThreadSolidPreflight.md +58 -0
  454. package/dist/docs/reference/mesh/Transform2.md +256 -0
  455. package/dist/docs/reference/mesh/Transform2Data.md +14 -0
  456. package/dist/docs/reference/mesh/Transform2Input.md +19 -0
  457. package/dist/docs/reference/mesh/Transform3.md +296 -0
  458. package/dist/docs/reference/mesh/Transform3Data.md +17 -0
  459. package/dist/docs/reference/mesh/Transform3Input.md +19 -0
  460. package/dist/docs/reference/mesh/TrapezoidalThreadProfileSpec.md +96 -0
  461. package/dist/docs/reference/mesh/TriangleMesh.md +34 -0
  462. package/dist/docs/reference/mesh/TriangleMeshAnalysis.md +129 -0
  463. package/dist/docs/reference/mesh/TriangleMeshAnalysisOptions.md +79 -0
  464. package/dist/docs/reference/mesh/TriangleMeshInput.md +19 -0
  465. package/dist/docs/reference/mesh/TriangleMeshMeasurements.md +79 -0
  466. package/dist/docs/reference/mesh/TriangleMeshQualityOptions.md +43 -0
  467. package/dist/docs/reference/mesh/TriangleMeshQualityReport.md +194 -0
  468. package/dist/docs/reference/mesh/TriangleMeshSignature.md +111 -0
  469. package/dist/docs/reference/mesh/TriangleMeshSignatureOptions.md +46 -0
  470. package/dist/docs/reference/mesh/TriangleMeshSignatureTolerances.md +34 -0
  471. package/dist/docs/reference/mesh/TriangleMeshTopologyAnalysis.md +131 -0
  472. package/dist/docs/reference/mesh/TriangleMeshValidationOptions.md +55 -0
  473. package/dist/docs/reference/mesh/TriangularThreadProfileSpec.md +95 -0
  474. package/dist/docs/reference/mesh/Vector2.md +270 -0
  475. package/dist/docs/reference/mesh/Vector2Data.md +14 -0
  476. package/dist/docs/reference/mesh/Vector2Input.md +19 -0
  477. package/dist/docs/reference/mesh/Vector3.md +282 -0
  478. package/dist/docs/reference/mesh/Vector3Data.md +14 -0
  479. package/dist/docs/reference/mesh/Vector3Input.md +19 -0
  480. package/dist/docs/reference/mesh/analyze.md +96 -0
  481. package/dist/docs/reference/{geometry/analyzeTriangleMeshQuality.md → mesh/analyzeQuality.md} +9 -9
  482. package/dist/docs/reference/mesh/bounds.md +39 -0
  483. package/dist/docs/reference/mesh/categories/operations.md +147 -0
  484. package/dist/docs/reference/{geometry/computeTriangleMeshCentroid.md → mesh/centroid.md} +7 -7
  485. package/dist/docs/reference/mesh/extrude.md +73 -0
  486. package/dist/docs/reference/{geometry/heightfieldMesh.md → mesh/heightfield.md} +7 -8
  487. package/dist/docs/reference/mesh/immutable.md +47 -0
  488. package/dist/docs/reference/{geometry/joinTriangleMeshes.md → mesh/join.md} +7 -6
  489. package/dist/docs/reference/{geometry/loftMesh.md → mesh/loft.md} +15 -15
  490. package/dist/docs/reference/mesh/optimizePlanarPatches.md +96 -0
  491. package/dist/docs/reference/{geometry → mesh}/preflightHeightfield.md +5 -6
  492. package/dist/docs/reference/mesh/preflightThreadSolid.md +90 -0
  493. package/dist/docs/reference/{geometry/reverseTriangleMesh.md → mesh/reverse.md} +6 -5
  494. package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +13 -13
  495. package/dist/docs/reference/{geometry/computeTriangleMeshSignature.md → mesh/signature.md} +11 -11
  496. package/dist/docs/reference/mesh/sweep.md +86 -0
  497. package/dist/docs/reference/mesh/threadRidge.md +72 -0
  498. package/dist/docs/reference/mesh/threadSolid.md +90 -0
  499. package/dist/docs/reference/{geometry/transformTriangleMesh.md → mesh/transform.md} +7 -6
  500. package/dist/docs/reference/{geometry/validateTriangleMesh.md → mesh/validate.md} +17 -11
  501. package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +15 -9
  502. package/dist/docs/reference/mesh.md +21 -0
  503. package/dist/docs/reference/model/AcmeThreadProfileSpec.md +80 -0
  504. package/dist/docs/reference/model/Anchor3.md +1 -1
  505. package/dist/docs/reference/model/AttachOptions.md +1 -1
  506. package/dist/docs/reference/model/Bevel.md +19 -0
  507. package/dist/docs/reference/model/{ThreadedNutBevel.md → BevelSize.md} +4 -4
  508. package/dist/docs/reference/model/Bounds2-type.md +1 -1
  509. package/dist/docs/reference/model/Bounds2Data.md +1 -1
  510. package/dist/docs/reference/model/Bounds2Input.md +1 -1
  511. package/dist/docs/reference/model/Bounds2Options.md +48 -8
  512. package/dist/docs/reference/model/Bounds3-type.md +1 -1
  513. package/dist/docs/reference/model/Bounds3Data.md +1 -1
  514. package/dist/docs/reference/model/Bounds3Input.md +1 -1
  515. package/dist/docs/reference/model/Bounds3Options.md +48 -8
  516. package/dist/docs/reference/model/BoxEdge.md +1 -1
  517. package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
  518. package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
  519. package/dist/docs/reference/model/BoxOptions.md +3 -3
  520. package/dist/docs/reference/model/ButtressPressureFlankSide.md +15 -0
  521. package/dist/docs/reference/model/ButtressThreadProfileSpec.md +98 -0
  522. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
  523. package/dist/docs/reference/model/CircleContourOptions.md +1 -1
  524. package/dist/docs/reference/model/CircleOptions.md +1 -1
  525. package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -3
  526. package/dist/docs/reference/model/Computed.md +7 -3
  527. package/dist/docs/reference/model/ComputedValue.md +1 -1
  528. package/dist/docs/reference/model/Contour.md +1 -1
  529. package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
  530. package/dist/docs/reference/model/CorrespondingContour.md +1 -1
  531. package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
  532. package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
  533. package/dist/docs/reference/model/CurveSamplingOptions.md +68 -0
  534. package/dist/docs/reference/model/CustomThreadProfileSpec.md +78 -0
  535. package/dist/docs/reference/model/CylinderOptions.md +1 -1
  536. package/dist/docs/reference/model/DiagnosticOptions.md +15 -1
  537. package/dist/docs/reference/model/EdgeTreatment.md +1 -1
  538. package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
  539. package/dist/docs/reference/model/EllipseOptions.md +1 -1
  540. package/dist/docs/reference/model/EndTreatments.md +1 -1
  541. package/dist/docs/reference/model/ExtrudeMeshOptions.md +133 -0
  542. package/dist/docs/reference/model/ExtrudeOptions.md +17 -8
  543. package/dist/docs/reference/model/ExtrusionSamplingOptions.md +84 -0
  544. package/dist/docs/reference/model/Frame3.md +1 -1
  545. package/dist/docs/reference/model/GenerateCallback.md +5 -5
  546. package/dist/docs/reference/model/GenerateContext.md +15 -63
  547. package/dist/docs/reference/model/GenerationDiagnostic.md +13 -1
  548. package/dist/docs/reference/model/GenerationError.md +1 -1
  549. package/dist/docs/reference/model/GeometryError.md +102 -0
  550. package/dist/docs/reference/model/GeometryErrorCode.md +15 -0
  551. package/dist/docs/reference/model/GeometryErrorContext.md +35 -0
  552. package/dist/docs/reference/model/GeometryResolution.md +1 -1
  553. package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
  554. package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
  555. package/dist/docs/reference/model/GridPatternOptions.md +1 -1
  556. package/dist/docs/reference/model/HeightfieldOptions.md +3 -2
  557. package/dist/docs/reference/model/HoleCutterOptions.md +1 -1
  558. package/dist/docs/reference/model/HoleCutterOverrun.md +1 -1
  559. package/dist/docs/reference/model/HoleCutterRecess.md +1 -1
  560. package/dist/docs/reference/model/HullOptions.md +1 -1
  561. package/dist/docs/reference/model/ImmutableBuffer-type.md +27 -3
  562. package/dist/docs/reference/model/ImmutableTriangleMesh.md +8 -3
  563. package/dist/docs/reference/model/ImmutableValue.md +20 -0
  564. package/dist/docs/reference/model/ImplicitOptions.md +1 -1
  565. package/dist/docs/reference/model/InternalThreadCutterOptions.md +54 -84
  566. package/dist/docs/reference/model/KnuckleHinge-type.md +1 -1
  567. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +1 -1
  568. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +1 -1
  569. package/dist/docs/reference/model/KnuckleHingeOptions.md +1 -1
  570. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +1 -1
  571. package/dist/docs/reference/model/KnuckleHingeSpec.md +1 -1
  572. package/dist/docs/reference/model/KnuckleHingeWeb.md +1 -1
  573. package/dist/docs/reference/model/LinearPatternOptions.md +1 -1
  574. package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
  575. package/dist/docs/reference/model/LoftOptions.md +3 -3
  576. package/dist/docs/reference/model/LoftPlacement.md +1 -1
  577. package/dist/docs/reference/model/LoftStation.md +1 -1
  578. package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
  579. package/dist/docs/reference/model/ModelProgram.md +2 -2
  580. package/dist/docs/reference/model/ModelingLimits.md +1 -1
  581. package/dist/docs/reference/model/NumericArray.md +1 -1
  582. package/dist/docs/reference/model/{GeneratedPart.md → PartDeclaration.md} +8 -23
  583. package/dist/docs/reference/model/PartGeometry.md +2 -2
  584. package/dist/docs/reference/model/PartOptions.md +8 -19
  585. package/dist/docs/reference/model/Path2-type.md +1 -1
  586. package/dist/docs/reference/model/Path2Data.md +1 -1
  587. package/dist/docs/reference/model/Path2Input.md +1 -1
  588. package/dist/docs/reference/model/Path3-type.md +1 -1
  589. package/dist/docs/reference/model/Path3Data.md +1 -1
  590. package/dist/docs/reference/model/Path3Input.md +1 -1
  591. package/dist/docs/reference/model/PathLocation.md +1 -1
  592. package/dist/docs/reference/model/PathNormalGuide.md +1 -1
  593. package/dist/docs/reference/model/PathOptions.md +1 -1
  594. package/dist/docs/reference/model/PathPatternOptions.md +1 -1
  595. package/dist/docs/reference/model/PathResamplingOptions.md +7 -6
  596. package/dist/docs/reference/model/PatternSource.md +1 -1
  597. package/dist/docs/reference/model/Pivot2Options.md +1 -1
  598. package/dist/docs/reference/model/Pivot3Options.md +1 -1
  599. package/dist/docs/reference/model/PlaneOptions.md +1 -1
  600. package/dist/docs/reference/model/PolygonData.md +1 -1
  601. package/dist/docs/reference/model/PolygonOptions.md +1 -1
  602. package/dist/docs/reference/model/PrimitiveAttachment.md +1 -3
  603. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +1 -1
  604. package/dist/docs/reference/model/PrintableThreadFit.md +1 -1
  605. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +1 -1
  606. package/dist/docs/reference/model/Profile.md +1 -1
  607. package/dist/docs/reference/model/ProfileComponent2.md +1 -1
  608. package/dist/docs/reference/model/ProfileContour2.md +1 -1
  609. package/dist/docs/reference/model/ProfileSpan2.md +1 -1
  610. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +1 -1
  611. package/dist/docs/reference/model/RadialPatternOptions.md +1 -1
  612. package/dist/docs/reference/model/RadialSizing.md +1 -1
  613. package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
  614. package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
  615. package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
  616. package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
  617. package/dist/docs/reference/model/RectangleOptions.md +3 -3
  618. package/dist/docs/reference/model/RegionData.md +1 -1
  619. package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
  620. package/dist/docs/reference/model/RevolveOptions.md +2 -2
  621. package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
  622. package/dist/docs/reference/model/Section.md +131 -6
  623. package/dist/docs/reference/model/SectionHullOptions.md +1 -1
  624. package/dist/docs/reference/model/SectionInspection.md +5 -17
  625. package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
  626. package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
  627. package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
  628. package/dist/docs/reference/model/Solid.md +245 -8
  629. package/dist/docs/reference/model/SolidInspection.md +5 -17
  630. package/dist/docs/reference/model/SolidSegmentHit.md +5 -1
  631. package/dist/docs/reference/model/SphereOptions.md +1 -1
  632. package/dist/docs/reference/model/SquareThreadProfileSpec.md +80 -0
  633. package/dist/docs/reference/model/StarContourOptions.md +81 -0
  634. package/dist/docs/reference/model/StarOptions.md +38 -16
  635. package/dist/docs/reference/model/StrokeCap.md +1 -1
  636. package/dist/docs/reference/model/StrokeJoin.md +1 -1
  637. package/dist/docs/reference/model/StrokeOptions.md +1 -1
  638. package/dist/docs/reference/model/SvgOrigin.md +1 -1
  639. package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
  640. package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
  641. package/dist/docs/reference/model/SweepOptions.md +1 -1
  642. package/dist/docs/reference/model/SweepOrientation.md +1 -1
  643. package/dist/docs/reference/model/TextSectionOptions.md +1 -1
  644. package/dist/docs/reference/model/ThreadBevelOptions.md +35 -0
  645. package/dist/docs/reference/model/ThreadEndStyle.md +1 -1
  646. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +1 -1
  647. package/dist/docs/reference/model/ThreadHandedness.md +1 -1
  648. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +1 -1
  649. package/dist/docs/reference/model/ThreadLeadInShape.md +1 -1
  650. package/dist/docs/reference/model/ThreadProfile.md +2 -2
  651. package/dist/docs/reference/model/ThreadProfileBaseSpec.md +54 -0
  652. package/dist/docs/reference/model/ThreadProfileSpec.md +24 -0
  653. package/dist/docs/reference/model/ThreadRidgeOptions.md +126 -4
  654. package/dist/docs/reference/model/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +2 -2
  655. package/dist/docs/reference/model/ThreadedNutOptions.md +75 -86
  656. package/dist/docs/reference/model/ThreadedNutPreflight.md +18 -6
  657. package/dist/docs/reference/model/ThreadedNutShape.md +1 -1
  658. package/dist/docs/reference/model/ThreadedRodOptions.md +54 -84
  659. package/dist/docs/reference/model/TorusOptions.md +1 -1
  660. package/dist/docs/reference/model/Transform2-type.md +1 -1
  661. package/dist/docs/reference/model/Transform2Data.md +1 -1
  662. package/dist/docs/reference/model/Transform2Input.md +1 -1
  663. package/dist/docs/reference/model/Transform3-type.md +1 -1
  664. package/dist/docs/reference/model/Transform3Data.md +1 -1
  665. package/dist/docs/reference/model/Transform3Input.md +1 -1
  666. package/dist/docs/reference/model/TrapezoidalThreadProfileSpec.md +97 -0
  667. package/dist/docs/reference/model/TriangleMesh.md +3 -11
  668. package/dist/docs/reference/model/TriangleMeshAnalysis.md +10 -4
  669. package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
  670. package/dist/docs/reference/model/TriangleMeshTopologyAnalysis.md +131 -0
  671. package/dist/docs/reference/model/TriangularThreadProfileSpec.md +96 -0
  672. package/dist/docs/reference/model/TubeOptions.md +10 -86
  673. package/dist/docs/reference/model/Vector2-type.md +1 -1
  674. package/dist/docs/reference/model/Vector2Data.md +1 -1
  675. package/dist/docs/reference/model/Vector2Input.md +1 -1
  676. package/dist/docs/reference/model/Vector3-type.md +1 -1
  677. package/dist/docs/reference/model/Vector3Data.md +1 -1
  678. package/dist/docs/reference/model/Vector3Input.md +1 -1
  679. package/dist/docs/reference/model/VectorTextLayout.md +1 -1
  680. package/dist/docs/reference/model/VectorTextMetrics.md +1 -1
  681. package/dist/docs/reference/model/bounds2.md +4 -4
  682. package/dist/docs/reference/model/bounds3.md +4 -4
  683. package/dist/docs/reference/model/box.md +2 -2
  684. package/dist/docs/reference/model/categories/boolean-operations.md +6 -10
  685. package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -1
  686. package/dist/docs/reference/model/categories/bounds.md +2 -2
  687. package/dist/docs/reference/model/categories/contracts.md +3 -5
  688. package/dist/docs/reference/model/categories/core-values-errors.md +17 -3
  689. package/dist/docs/reference/model/categories/explicit-profiles.md +1 -1
  690. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +10 -8
  691. package/dist/docs/reference/model/categories/generation.md +8 -8
  692. package/dist/docs/reference/model/categories/hinges.md +1 -1
  693. package/dist/docs/reference/model/categories/mesh-inspection.md +15 -6
  694. package/dist/docs/reference/model/categories/paths.md +4 -3
  695. package/dist/docs/reference/model/categories/primitives.md +5 -5
  696. package/dist/docs/reference/model/categories/resolution.md +1 -1
  697. package/dist/docs/reference/model/categories/sections.md +4 -3
  698. package/dist/docs/reference/model/categories/threads.md +16 -6
  699. package/dist/docs/reference/model/categories/transforms-placement.md +2 -3
  700. package/dist/docs/reference/model/circle.md +1 -1
  701. package/dist/docs/reference/model/cylinder.md +1 -1
  702. package/dist/docs/reference/model/ellipse.md +1 -1
  703. package/dist/docs/reference/model/extrude.md +5 -4
  704. package/dist/docs/reference/model/generate.md +4 -4
  705. package/dist/docs/reference/model/gridPattern.md +1 -1
  706. package/dist/docs/reference/model/heightfield.md +1 -1
  707. package/dist/docs/reference/model/holeCutter.md +12 -2
  708. package/dist/docs/reference/model/hull.md +1 -1
  709. package/dist/docs/reference/model/immutableBuffer.md +5 -4
  710. package/dist/docs/reference/model/implicit.md +1 -1
  711. package/dist/docs/reference/model/internalThreadCutter.md +12 -20
  712. package/dist/docs/reference/model/intersect.md +3 -3
  713. package/dist/docs/reference/model/isGeometryError.md +34 -0
  714. package/dist/docs/reference/model/knuckleHinge.md +2 -2
  715. package/dist/docs/reference/model/linearPattern.md +1 -1
  716. package/dist/docs/reference/model/loft.md +6 -5
  717. package/dist/docs/reference/model/matchProfiles.md +1 -1
  718. package/dist/docs/reference/model/minkowskiSum.md +1 -1
  719. package/dist/docs/reference/model/path2.md +1 -1
  720. package/dist/docs/reference/model/path3.md +1 -1
  721. package/dist/docs/reference/model/pathPattern.md +1 -1
  722. package/dist/docs/reference/model/polygon.md +1 -1
  723. package/dist/docs/reference/model/preflightInternalThreadCutter.md +15 -23
  724. package/dist/docs/reference/model/preflightThreadedNut.md +22 -25
  725. package/dist/docs/reference/model/preflightThreadedRod.md +15 -23
  726. package/dist/docs/reference/model/radialPattern.md +1 -1
  727. package/dist/docs/reference/model/rectangle.md +2 -2
  728. package/dist/docs/reference/model/regularPolygon.md +1 -1
  729. package/dist/docs/reference/model/revolve.md +6 -5
  730. package/dist/docs/reference/model/solidFromMesh.md +7 -6
  731. package/dist/docs/reference/model/sphere.md +1 -1
  732. package/dist/docs/reference/model/star.md +7 -7
  733. package/dist/docs/reference/model/stroke.md +1 -1
  734. package/dist/docs/reference/model/svgPathSection.md +1 -1
  735. package/dist/docs/reference/model/svgSection.md +1 -1
  736. package/dist/docs/reference/model/sweep.md +5 -4
  737. package/dist/docs/reference/model/textSection.md +1 -1
  738. package/dist/docs/reference/model/threadRidge.md +14 -14
  739. package/dist/docs/reference/model/threadedNut.md +22 -25
  740. package/dist/docs/reference/model/threadedRod.md +12 -20
  741. package/dist/docs/reference/model/torus.md +1 -1
  742. package/dist/docs/reference/model/transform2.md +1 -1
  743. package/dist/docs/reference/model/transform3.md +1 -1
  744. package/dist/docs/reference/model/tube.md +1 -36
  745. package/dist/docs/reference/model/union.md +3 -3
  746. package/dist/docs/reference/model/vector2.md +1 -1
  747. package/dist/docs/reference/model/vector3.md +1 -1
  748. package/dist/docs/reference/model.md +15 -19
  749. package/dist/docs/reference/text/Bounds2Data.md +1 -1
  750. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
  751. package/dist/docs/reference/text/Vector2Data.md +1 -1
  752. package/dist/docs/reference/text/VectorFont.md +7 -7
  753. package/dist/docs/reference/text/VectorFontOptions.md +1 -1
  754. package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
  755. package/dist/docs/reference/text/VectorTextLayout.md +1 -1
  756. package/dist/docs/reference/text/VectorTextLayoutOptions.md +3 -3
  757. package/dist/docs/reference/text/VectorTextMetrics.md +1 -1
  758. package/dist/docs/reference/text/VectorTextOptions.md +1 -1
  759. package/dist/docs/reference/text/categories/font-preparation.md +3 -3
  760. package/dist/docs/reference/text/prepareVectorFont.md +1 -1
  761. package/dist/docs/reference/text.md +4 -4
  762. package/dist/engine/execution.js +10 -6
  763. package/dist/engine/export-3mf.js +22 -115
  764. package/dist/engine/finalization.js +10 -10
  765. package/dist/engine/index.js +25 -31
  766. package/dist/engine/model-parts.js +8 -0
  767. package/dist/engine/model-summary.js +5 -5
  768. package/dist/engine/native/index.js +1 -1
  769. package/dist/engine/native/material-components.js +3 -3
  770. package/dist/engine/native/operations.js +0 -7
  771. package/dist/engine/native/scoped-primitives.js +5 -4
  772. package/dist/engine/native/threads.js +14 -14
  773. package/dist/engine/{construction-operations.js → operations/construction.js} +25 -23
  774. package/dist/engine/{modeling-context.js → operations/context.js} +10 -10
  775. package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
  776. package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +7 -7
  777. package/dist/engine/{hole-cutter-operation.js → operations/hole-cutter.js} +3 -3
  778. package/dist/engine/{inspection-operations.js → operations/inspection.js} +6 -6
  779. package/dist/engine/{knuckle-hinge-operation.js → operations/knuckle-hinge.js} +4 -4
  780. package/dist/engine/{loft-operations.js → operations/loft.js} +13 -12
  781. package/dist/engine/{mechanical-operations.js → operations/mechanical.js} +2 -2
  782. package/dist/engine/{pattern-operations.js → operations/patterns.js} +4 -4
  783. package/dist/engine/{primitive-anchors.js → operations/primitives/anchors.js} +9 -4
  784. package/dist/engine/{primitive-operations.js → operations/primitives/construction.js} +18 -19
  785. package/dist/engine/{primitive-correspondence.js → operations/primitives/correspondence.js} +4 -4
  786. package/dist/engine/{profile-mesh.js → operations/primitives/profile-mesh.js} +12 -12
  787. package/dist/engine/{primitive-profiles.js → operations/primitives/profiles.js} +7 -7
  788. package/dist/engine/{section-operations.js → operations/sections.js} +8 -8
  789. package/dist/engine/{transform-operations.js → operations/transforms.js} +8 -8
  790. package/dist/engine/placement.js +3 -4
  791. package/dist/engine/recipe-realization.js +1 -1
  792. package/dist/engine/serialize-3mf.js +116 -0
  793. package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
  794. package/dist/engine/{model-dependencies.js → session/dependencies.js} +1 -1
  795. package/dist/engine/{session-graph.js → session/graph.js} +13 -11
  796. package/dist/engine/{session-native.js → session/native-cache.js} +1 -1
  797. package/dist/engine/{session.js → session/session.js} +16 -10
  798. package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +29 -59
  799. package/dist/geometry/anchors.js +4 -11
  800. package/dist/geometry/bounds-value.js +20 -10
  801. package/dist/geometry/heightfield.js +10 -12
  802. package/dist/{model → geometry}/immutable-buffer.js +28 -7
  803. package/dist/geometry/index.js +16 -22
  804. package/dist/geometry/loft/loft.js +11 -6
  805. package/dist/geometry/mechanical/index.js +5 -5
  806. package/dist/geometry/mechanical/threads/bevel.js +24 -0
  807. package/dist/geometry/mechanical/{threads.js → threads/fit.js} +4 -4
  808. package/dist/geometry/mechanical/{thread-helices.js → threads/helices.js} +3 -3
  809. package/dist/geometry/mechanical/{thread-mesh-plan.js → threads/mesh-plan.js} +38 -53
  810. package/dist/geometry/mechanical/{thread-mesh.js → threads/mesh.js} +9 -9
  811. package/dist/geometry/mechanical/{thread-profiles.js → threads/profiles.js} +3 -3
  812. package/dist/geometry/mechanical/{thread-solids.js → threads/solids.js} +58 -89
  813. package/dist/geometry/mechanical/{thread-surface.js → threads/surface.js} +7 -8
  814. package/dist/geometry/mesh/mesh-centroid.js +3 -2
  815. package/dist/geometry/mesh/mesh-planar.js +27 -8
  816. package/dist/geometry/mesh/mesh-quality.js +2 -1
  817. package/dist/geometry/mesh/mesh-signature.js +7 -6
  818. package/dist/geometry/mesh/mesh-solid.js +2 -3
  819. package/dist/geometry/mesh/mesh-types.js +1 -0
  820. package/dist/geometry/mesh/mesh.js +13 -22
  821. package/dist/geometry/mesh-api.js +14 -0
  822. package/dist/geometry/primitive-resolvers.js +42 -14
  823. package/dist/geometry/profiles/primitives/circle.js +19 -0
  824. package/dist/geometry/profiles/{shapes.js → primitives/ellipse.js} +6 -10
  825. package/dist/geometry/profiles/{rectangle.js → primitives/rectangle.js} +14 -12
  826. package/dist/geometry/profiles/primitives/regular-polygon.js +33 -0
  827. package/dist/geometry/profiles/primitives/star.js +28 -0
  828. package/dist/geometry/revolve/revolve-mesh.js +1 -1
  829. package/dist/geometry/{svg-import.js → svg/import.js} +10 -10
  830. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  831. package/dist/geometry/transform3.js +29 -0
  832. package/dist/index.js +2 -1
  833. package/dist/model/diagnostic-path.js +26 -0
  834. package/dist/model/execution-binding.js +3 -3
  835. package/dist/model/generation.js +8 -2
  836. package/dist/model/geometry-recipes.js +1 -1
  837. package/dist/model/immutable-generation-data.js +33 -2
  838. package/dist/model/operations.js +14 -144
  839. package/dist/model/recipe-declaration.js +6 -2
  840. package/dist/model/shape-handles.js +30 -7
  841. package/dist/text/index.js +1 -1
  842. package/package.json +21 -11
  843. package/dist/docs/reference/engine/ModelSnapshot.md +0 -184
  844. package/dist/docs/reference/engine/SnapshotPart.md +0 -133
  845. package/dist/docs/reference/engine/validateModel.md +0 -48
  846. package/dist/docs/reference/geometry/ThreadedNutBevel.md +0 -14
  847. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +0 -61
  848. package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
  849. package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
  850. package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
  851. package/dist/docs/reference/geometry/meshBounds.md +0 -39
  852. package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
  853. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
  854. package/dist/docs/reference/geometry/sweepMesh.md +0 -86
  855. package/dist/docs/reference/model/FinalizedModel.md +0 -131
  856. package/dist/docs/reference/model/FinalizedPart.md +0 -87
  857. package/dist/docs/reference/model/anchor.md +0 -47
  858. package/dist/docs/reference/model/castSegment.md +0 -40
  859. package/dist/docs/reference/model/categories/inspection.md +0 -29
  860. package/dist/docs/reference/model/components.md +0 -71
  861. package/dist/docs/reference/model/compose.md +0 -31
  862. package/dist/docs/reference/model/distance.md +0 -45
  863. package/dist/docs/reference/model/immutableMesh.md +0 -44
  864. package/dist/docs/reference/model/inspectSection.md +0 -38
  865. package/dist/docs/reference/model/inspectSolid.md +0 -38
  866. package/dist/docs/reference/model/isEmpty.md +0 -39
  867. package/dist/docs/reference/model/split.md +0 -54
  868. package/dist/docs/reference/model/splitByPlane.md +0 -66
  869. package/dist/geometry/profiles/profiles.js +0 -71
  870. /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
  871. /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "formatVersion": 1,
3
3
  "packageName": "@metamesh/modeling",
4
- "packageVersion": "0.17.0",
4
+ "packageVersion": "0.18.0",
5
5
  "documents": [
6
6
  {
7
7
  "id": "modeling/guide/concepts",
@@ -22,6 +22,7 @@
22
22
  "use-modeling-outside-studio",
23
23
  "geometry-vocabulary",
24
24
  "choose-fluent-values-or-standalone-algorithms",
25
+ "convert-representations-deliberately",
25
26
  "fluent-vector-and-tuple-arithmetic",
26
27
  "value-and-data-naming",
27
28
  "query-paths-and-preserve-closure",
@@ -81,7 +82,7 @@
81
82
  {
82
83
  "id": "modeling/guide/generation",
83
84
  "title": "Code Project contract",
84
- "summary": "Understand Studio’s TypeScript source contract, computed caches, parts, resource ownership, and recovery.",
85
+ "summary": "Learn how Studio runs your TypeScript model, reuses work across edits, and keeps a preview available when an edit fails.",
85
86
  "path": "guides/generation.md",
86
87
  "importPath": "@metamesh/modeling",
87
88
  "availability": "Studio source contract; generation and caching also apply to standalone programs",
@@ -105,7 +106,7 @@
105
106
  {
106
107
  "id": "modeling/guide/hosting",
107
108
  "title": "Run Modeling in your application",
108
- "summary": "Initialize the engine in Node or a browser Worker, build a model, and export its completed snapshot.",
109
+ "summary": "Set up the engine in Node or a browser Worker, build a model, and export it as 3MF.",
109
110
  "path": "guides/hosting.md",
110
111
  "importPath": "@metamesh/modeling/engine",
111
112
  "availability": "Standalone Node and browser Worker hosts",
@@ -118,6 +119,7 @@
118
119
  "run-modeling-in-your-application",
119
120
  "build-and-export-a-plate",
120
121
  "keep-execution-synchronous",
122
+ "check-declarations-before-running",
121
123
  "load-wasm-in-a-browser-worker",
122
124
  "set-resource-limits",
123
125
  "export-the-completed-result"
@@ -190,7 +192,7 @@
190
192
  {
191
193
  "id": "modeling/reference/engine/categories/host-lifecycle",
192
194
  "title": "Host lifecycle",
193
- "summary": "Initialize, configure, finalize, and export through one engine.",
195
+ "summary": "Run models, manage session caches, and export completed meshes independently.",
194
196
  "path": "reference/engine/categories/host-lifecycle.md",
195
197
  "importPath": "@metamesh/modeling/engine",
196
198
  "availability": "Host runtime · Node and Workers",
@@ -203,6 +205,22 @@
203
205
  "Host lifecycle"
204
206
  ]
205
207
  },
208
+ {
209
+ "id": "modeling/reference/engine/checkModel",
210
+ "title": "checkModel",
211
+ "summary": "Runs declaration and immediate assertions without initializing a kernel or finalizing parts. Returns reached assertion errors and warnings; unexpected execution failures throw. Returned geometry is not realized or validated. Geometry observations require an initialized session's `check` method instead.",
212
+ "path": "reference/engine/checkModel.md",
213
+ "importPath": "@metamesh/modeling/engine",
214
+ "availability": "Host runtime · Node and Workers",
215
+ "canonical": "https://metamesh.studio/docs/reference/engine/checkModel",
216
+ "keywords": [
217
+ "reference",
218
+ "function",
219
+ "engine",
220
+ "host-lifecycle",
221
+ "checkModel"
222
+ ]
223
+ },
206
224
  {
207
225
  "id": "modeling/reference/engine/createModelEngine",
208
226
  "title": "createModelEngine",
@@ -235,10 +253,26 @@
235
253
  "defaultModelingLimits"
236
254
  ]
237
255
  },
256
+ {
257
+ "id": "modeling/reference/engine/export3mf",
258
+ "title": "export3mf",
259
+ "summary": "Serializes captured manufacturing meshes as millimetre 3MF without initializing an engine. Captures input arrays and options before awaiting; later mutations, runs and session cleanup cannot change the exported geometry. Trusted limits default to the package output ceilings.",
260
+ "path": "reference/engine/export3mf.md",
261
+ "importPath": "@metamesh/modeling/engine",
262
+ "availability": "Host runtime · Node and Workers",
263
+ "canonical": "https://metamesh.studio/docs/reference/engine/export3mf",
264
+ "keywords": [
265
+ "reference",
266
+ "function",
267
+ "engine",
268
+ "host-lifecycle",
269
+ "export3mf"
270
+ ]
271
+ },
238
272
  {
239
273
  "id": "modeling/reference/engine/Export3mfOptions",
240
274
  "title": "Export3mfOptions",
241
- "summary": "Completed-snapshot serialization settings; filename selection belongs to the host.",
275
+ "summary": "Completed-mesh serialization settings; filename selection belongs to the host.",
242
276
  "path": "reference/engine/Export3mfOptions.md",
243
277
  "importPath": "@metamesh/modeling/engine",
244
278
  "availability": "Host runtime · Node and Workers",
@@ -249,6 +283,7 @@
249
283
  "engine",
250
284
  "host-lifecycle",
251
285
  "Export3mfOptions",
286
+ "limits",
252
287
  "meshValidation",
253
288
  "name"
254
289
  ]
@@ -256,21 +291,17 @@
256
291
  {
257
292
  "id": "modeling/reference/engine/ExportMeshPart",
258
293
  "title": "ExportMeshPart",
259
- "summary": "Manufacturing buffers accepted by the snapshot exporter.",
294
+ "summary": "Manufacturing buffers accepted by the standalone mesh exporter.",
260
295
  "path": "reference/engine/ExportMeshPart.md",
261
296
  "importPath": "@metamesh/modeling/engine",
262
297
  "availability": "Host runtime · Node and Workers",
263
298
  "canonical": "https://metamesh.studio/docs/reference/engine/ExportMeshPart",
264
299
  "keywords": [
265
300
  "reference",
266
- "interface",
301
+ "type-alias",
267
302
  "engine",
268
303
  "host-lifecycle",
269
- "ExportMeshPart",
270
- "id",
271
- "color",
272
- "indices",
273
- "positions"
304
+ "ExportMeshPart"
274
305
  ]
275
306
  },
276
307
  {
@@ -296,7 +327,7 @@
296
327
  {
297
328
  "id": "modeling/reference/engine/GeometryResource",
298
329
  "title": "GeometryResource",
299
- "summary": "Validated local geometry resource; accessors return owned buffer copies.",
330
+ "summary": "Validated local geometry resource with stable immutable numeric storage.",
300
331
  "path": "reference/engine/GeometryResource.md",
301
332
  "importPath": "@metamesh/modeling/engine",
302
333
  "availability": "Host runtime · Node and Workers",
@@ -310,8 +341,8 @@
310
341
  "id",
311
342
  "revision",
312
343
  "measurements",
313
- "indices",
314
- "positions"
344
+ "positions",
345
+ "indices"
315
346
  ]
316
347
  },
317
348
  {
@@ -348,8 +379,8 @@
348
379
  "host-lifecycle",
349
380
  "ModelEngine",
350
381
  "limits",
351
- "createSession",
352
- "export3mf"
382
+ "run",
383
+ "createSession"
353
384
  ]
354
385
  },
355
386
  {
@@ -370,6 +401,22 @@
370
401
  "limits"
371
402
  ]
372
403
  },
404
+ {
405
+ "id": "modeling/reference/engine/ModelingLimits",
406
+ "title": "ModelingLimits",
407
+ "summary": "Aggregate manufacturing output ceilings selected by a trusted host.",
408
+ "path": "reference/engine/ModelingLimits.md",
409
+ "importPath": "@metamesh/modeling/engine",
410
+ "availability": "Host runtime · Node and Workers",
411
+ "canonical": "https://metamesh.studio/docs/reference/engine/ModelingLimits",
412
+ "keywords": [
413
+ "reference",
414
+ "interface",
415
+ "engine",
416
+ "host-lifecycle",
417
+ "ModelingLimits"
418
+ ]
419
+ },
373
420
  {
374
421
  "id": "modeling/reference/engine/modelingWasmUrl",
375
422
  "title": "modelingWasmUrl",
@@ -387,108 +434,128 @@
387
434
  ]
388
435
  },
389
436
  {
390
- "id": "modeling/reference/engine/ModelSession",
391
- "title": "ModelSession",
392
- "summary": "Stateful execution owner; a failed revision cannot change previously returned snapshots.",
393
- "path": "reference/engine/ModelSession.md",
437
+ "id": "modeling/reference/engine/ModelPart",
438
+ "title": "ModelPart",
439
+ "summary": "A world-space manufacturing part plus its reusable local renderer resource. Top-level positions and indices already include transform; do not apply it again. Only geometry contains unplaced local buffers.",
440
+ "path": "reference/engine/ModelPart.md",
394
441
  "importPath": "@metamesh/modeling/engine",
395
442
  "availability": "Host runtime · Node and Workers",
396
- "canonical": "https://metamesh.studio/docs/reference/engine/ModelSession",
443
+ "canonical": "https://metamesh.studio/docs/reference/engine/ModelPart",
397
444
  "keywords": [
398
445
  "reference",
399
446
  "interface",
400
447
  "engine",
401
448
  "host-lifecycle",
402
- "ModelSession",
403
- "run",
404
- "validate",
405
- "clearCache",
406
- "dispose"
449
+ "ModelPart",
450
+ "id",
451
+ "color",
452
+ "measurements",
453
+ "geometry",
454
+ "transform",
455
+ "positions",
456
+ "indices"
407
457
  ]
408
458
  },
409
459
  {
410
- "id": "modeling/reference/engine/ModelSnapshot",
411
- "title": "ModelSnapshot",
412
- "summary": "Captured immutable revision; disposal never changes another snapshot or an in-flight export.",
413
- "path": "reference/engine/ModelSnapshot.md",
460
+ "id": "modeling/reference/engine/ModelResult",
461
+ "title": "ModelResult",
462
+ "summary": "Durable immutable generation data, independent of session lifetime.",
463
+ "path": "reference/engine/ModelResult.md",
414
464
  "importPath": "@metamesh/modeling/engine",
415
465
  "availability": "Host runtime · Node and Workers",
416
- "canonical": "https://metamesh.studio/docs/reference/engine/ModelSnapshot",
466
+ "canonical": "https://metamesh.studio/docs/reference/engine/ModelResult",
417
467
  "keywords": [
418
468
  "reference",
419
469
  "interface",
420
470
  "engine",
421
471
  "host-lifecycle",
422
- "ModelSnapshot",
472
+ "ModelResult",
473
+ "bounds",
474
+ "stats",
423
475
  "parts",
476
+ "part",
424
477
  "diagnostics",
425
- "dependencies",
426
- "dispose",
427
- "bounds",
428
- "stats"
478
+ "dependencies"
429
479
  ]
430
480
  },
431
481
  {
432
- "id": "modeling/reference/engine/SessionOptions",
433
- "title": "SessionOptions",
434
- "summary": "Fixed generation policy and deterministic host capabilities for one model session.",
435
- "path": "reference/engine/SessionOptions.md",
482
+ "id": "modeling/reference/engine/ModelRunArguments",
483
+ "title": "ModelRunArguments",
484
+ "summary": "Fixed argument positions; infer parameters from the program, allow empty maps to be omitted, and require declared services.",
485
+ "path": "reference/engine/ModelRunArguments.md",
436
486
  "importPath": "@metamesh/modeling/engine",
437
487
  "availability": "Host runtime · Node and Workers",
438
- "canonical": "https://metamesh.studio/docs/reference/engine/SessionOptions",
488
+ "canonical": "https://metamesh.studio/docs/reference/engine/ModelRunArguments",
489
+ "keywords": [
490
+ "reference",
491
+ "type-alias",
492
+ "engine",
493
+ "host-lifecycle",
494
+ "ModelRunArguments"
495
+ ]
496
+ },
497
+ {
498
+ "id": "modeling/reference/engine/ModelRunOptions",
499
+ "title": "ModelRunOptions",
500
+ "summary": "Generation policy and prepared synchronous capabilities for one host execution.",
501
+ "path": "reference/engine/ModelRunOptions.md",
502
+ "importPath": "@metamesh/modeling/engine",
503
+ "availability": "Host runtime · Node and Workers",
504
+ "canonical": "https://metamesh.studio/docs/reference/engine/ModelRunOptions",
439
505
  "keywords": [
440
506
  "reference",
441
507
  "interface",
442
508
  "engine",
443
509
  "host-lifecycle",
444
- "SessionOptions",
510
+ "ModelRunOptions",
445
511
  "meshValidation",
446
512
  "limits",
447
513
  "resolution",
448
514
  "meshTopologyMode",
449
- "services",
450
- "cache",
451
- "verifyCache"
515
+ "services"
452
516
  ]
453
517
  },
454
518
  {
455
- "id": "modeling/reference/engine/SnapshotPart",
456
- "title": "SnapshotPart",
457
- "summary": "A world-space manufacturing part plus its reusable local renderer resource.",
458
- "path": "reference/engine/SnapshotPart.md",
519
+ "id": "modeling/reference/engine/ModelSession",
520
+ "title": "ModelSession",
521
+ "summary": "Stateful execution owner; a failed revision cannot change previously returned results.",
522
+ "path": "reference/engine/ModelSession.md",
459
523
  "importPath": "@metamesh/modeling/engine",
460
524
  "availability": "Host runtime · Node and Workers",
461
- "canonical": "https://metamesh.studio/docs/reference/engine/SnapshotPart",
525
+ "canonical": "https://metamesh.studio/docs/reference/engine/ModelSession",
462
526
  "keywords": [
463
527
  "reference",
464
528
  "interface",
465
529
  "engine",
466
530
  "host-lifecycle",
467
- "SnapshotPart",
468
- "geometry",
469
- "position",
470
- "rotation",
471
- "id",
472
- "color",
473
- "measurements",
474
- "indices",
475
- "positions"
531
+ "ModelSession",
532
+ "run",
533
+ "check",
534
+ "clearCache",
535
+ "dispose"
476
536
  ]
477
537
  },
478
538
  {
479
- "id": "modeling/reference/engine/validateModel",
480
- "title": "validateModel",
481
- "summary": "Runs declaration and immediate assertions without initializing a kernel or finalizing parts. Geometry observations require an initialized session's `validate` method instead.",
482
- "path": "reference/engine/validateModel.md",
539
+ "id": "modeling/reference/engine/SessionOptions",
540
+ "title": "SessionOptions",
541
+ "summary": "Fixed generation policy and reusable computation caches for one model session.",
542
+ "path": "reference/engine/SessionOptions.md",
483
543
  "importPath": "@metamesh/modeling/engine",
484
544
  "availability": "Host runtime · Node and Workers",
485
- "canonical": "https://metamesh.studio/docs/reference/engine/validateModel",
545
+ "canonical": "https://metamesh.studio/docs/reference/engine/SessionOptions",
486
546
  "keywords": [
487
547
  "reference",
488
- "function",
548
+ "interface",
489
549
  "engine",
490
550
  "host-lifecycle",
491
- "validateModel"
551
+ "SessionOptions",
552
+ "meshValidation",
553
+ "limits",
554
+ "resolution",
555
+ "meshTopologyMode",
556
+ "services",
557
+ "cache",
558
+ "verifyCache"
492
559
  ]
493
560
  },
494
561
  {
@@ -581,38 +648,6 @@
581
648
  "resolution"
582
649
  ]
583
650
  },
584
- {
585
- "id": "modeling/reference/geometry/analyzeTriangleMesh",
586
- "title": "analyzeTriangleMesh",
587
- "summary": "Validates and measures a mesh in one position and one triangle traversal.",
588
- "path": "reference/geometry/analyzeTriangleMesh.md",
589
- "importPath": "@metamesh/modeling/geometry",
590
- "availability": "Pure TypeScript · Node and browsers",
591
- "canonical": "https://metamesh.studio/docs/reference/geometry/analyzeTriangleMesh",
592
- "keywords": [
593
- "reference",
594
- "function",
595
- "geometry",
596
- "meshes",
597
- "analyzeTriangleMesh"
598
- ]
599
- },
600
- {
601
- "id": "modeling/reference/geometry/analyzeTriangleMeshQuality",
602
- "title": "analyzeTriangleMeshQuality",
603
- "summary": "Measures triangle shape, edge topology, vertex concentration, and connected planar patches.",
604
- "path": "reference/geometry/analyzeTriangleMeshQuality.md",
605
- "importPath": "@metamesh/modeling/geometry",
606
- "availability": "Pure TypeScript · Node and browsers",
607
- "canonical": "https://metamesh.studio/docs/reference/geometry/analyzeTriangleMeshQuality",
608
- "keywords": [
609
- "reference",
610
- "function",
611
- "geometry",
612
- "meshes",
613
- "analyzeTriangleMeshQuality"
614
- ]
615
- },
616
651
  {
617
652
  "id": "modeling/reference/geometry/anchor3",
618
653
  "title": "anchor3",
@@ -792,6 +827,38 @@
792
827
  "AxisAngleRotation3"
793
828
  ]
794
829
  },
830
+ {
831
+ "id": "modeling/reference/geometry/Bevel",
832
+ "title": "Bevel",
833
+ "summary": "One size for both ends, or independent sizes in bottom/top order. Zero disables an end.",
834
+ "path": "reference/geometry/Bevel.md",
835
+ "importPath": "@metamesh/modeling/geometry",
836
+ "availability": "Pure TypeScript · Node and browsers",
837
+ "canonical": "https://metamesh.studio/docs/reference/geometry/Bevel",
838
+ "keywords": [
839
+ "reference",
840
+ "type-alias",
841
+ "geometry",
842
+ "mechanical",
843
+ "Bevel"
844
+ ]
845
+ },
846
+ {
847
+ "id": "modeling/reference/geometry/BevelSize",
848
+ "title": "BevelSize",
849
+ "summary": "Nonnegative 45-degree axial/radial bevel size in millimetres, or factory automatic sizing.",
850
+ "path": "reference/geometry/BevelSize.md",
851
+ "importPath": "@metamesh/modeling/geometry",
852
+ "availability": "Pure TypeScript · Node and browsers",
853
+ "canonical": "https://metamesh.studio/docs/reference/geometry/BevelSize",
854
+ "keywords": [
855
+ "reference",
856
+ "type-alias",
857
+ "geometry",
858
+ "mechanical",
859
+ "BevelSize"
860
+ ]
861
+ },
795
862
  {
796
863
  "id": "modeling/reference/geometry/bounds2",
797
864
  "title": "bounds2",
@@ -1232,7 +1299,7 @@
1232
1299
  {
1233
1300
  "id": "modeling/reference/geometry/categories/curves-paths",
1234
1301
  "title": "Curves and paths",
1235
- "summary": "Sample reusable lines, arcs, cubic curves, and path frames with explicit physical policies.",
1302
+ "summary": "Sample reusable lines, arcs, cubic curves, and path frames with explicit physical sampling settings.",
1236
1303
  "path": "reference/geometry/categories/curves-paths.md",
1237
1304
  "importPath": "@metamesh/modeling/geometry",
1238
1305
  "availability": "Pure TypeScript · Node and browsers",
@@ -1264,7 +1331,7 @@
1264
1331
  {
1265
1332
  "id": "modeling/reference/geometry/categories/meshes",
1266
1333
  "title": "Triangle meshes and surfaces",
1267
- "summary": "Build, transform, validate, analyze, and locally optimize copied indexed meshes.",
1334
+ "summary": "Data, options, and reports for triangle mesh construction and processing.",
1268
1335
  "path": "reference/geometry/categories/meshes.md",
1269
1336
  "importPath": "@metamesh/modeling/geometry",
1270
1337
  "availability": "Pure TypeScript · Node and browsers",
@@ -1296,7 +1363,7 @@
1296
1363
  {
1297
1364
  "id": "modeling/reference/geometry/categories/primitive-options",
1298
1365
  "title": "Primitive options",
1299
- "summary": "Share one option contract for dimensional primitives and edge treatments.",
1366
+ "summary": "Configure dimensional primitives and edge treatments with shared options.",
1300
1367
  "path": "reference/geometry/categories/primitive-options.md",
1301
1368
  "importPath": "@metamesh/modeling/geometry",
1302
1369
  "availability": "Pure TypeScript · Node and browsers",
@@ -1328,7 +1395,7 @@
1328
1395
  {
1329
1396
  "id": "modeling/reference/geometry/categories/resolution-errors",
1330
1397
  "title": "Resolution and errors",
1331
- "summary": "Resolve physical sampling, numerical tolerances, and contextual failures.",
1398
+ "summary": "Set physical sampling and numerical tolerances, and understand errors in context.",
1332
1399
  "path": "reference/geometry/categories/resolution-errors.md",
1333
1400
  "importPath": "@metamesh/modeling/geometry",
1334
1401
  "availability": "Pure TypeScript · Node and browsers",
@@ -1344,7 +1411,7 @@
1344
1411
  {
1345
1412
  "id": "modeling/reference/geometry/categories/transforms-math",
1346
1413
  "title": "Transforms and vector math",
1347
- "summary": "Build immutable reusable placements and calculate with fluent vectors or tuple kernels.",
1414
+ "summary": "Build reusable placements and calculate with immutable fluent vectors or tuple math.",
1348
1415
  "path": "reference/geometry/categories/transforms-math.md",
1349
1416
  "importPath": "@metamesh/modeling/geometry",
1350
1417
  "availability": "Pure TypeScript · Node and browsers",
@@ -1360,7 +1427,7 @@
1360
1427
  {
1361
1428
  "id": "modeling/reference/geometry/categories/vector-import",
1362
1429
  "title": "SVG and vector layouts",
1363
- "summary": "Parse bounded painted SVG and carry explicit prepared text geometry.",
1430
+ "summary": "Parse painted SVG within limits and work with explicitly prepared text geometry.",
1364
1431
  "path": "reference/geometry/categories/vector-import.md",
1365
1432
  "importPath": "@metamesh/modeling/geometry",
1366
1433
  "availability": "Pure TypeScript · Node and browsers",
@@ -1666,38 +1733,6 @@
1666
1733
  "computeParallelTransportFrames"
1667
1734
  ]
1668
1735
  },
1669
- {
1670
- "id": "modeling/reference/geometry/computeTriangleMeshCentroid",
1671
- "title": "computeTriangleMeshCentroid",
1672
- "summary": "Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells.",
1673
- "path": "reference/geometry/computeTriangleMeshCentroid.md",
1674
- "importPath": "@metamesh/modeling/geometry",
1675
- "availability": "Pure TypeScript · Node and browsers",
1676
- "canonical": "https://metamesh.studio/docs/reference/geometry/computeTriangleMeshCentroid",
1677
- "keywords": [
1678
- "reference",
1679
- "function",
1680
- "geometry",
1681
- "meshes",
1682
- "computeTriangleMeshCentroid"
1683
- ]
1684
- },
1685
- {
1686
- "id": "modeling/reference/geometry/computeTriangleMeshSignature",
1687
- "title": "computeTriangleMeshSignature",
1688
- "summary": "Creates an order-independent regression signature for a manufacturing mesh.",
1689
- "path": "reference/geometry/computeTriangleMeshSignature.md",
1690
- "importPath": "@metamesh/modeling/geometry",
1691
- "availability": "Pure TypeScript · Node and browsers",
1692
- "canonical": "https://metamesh.studio/docs/reference/geometry/computeTriangleMeshSignature",
1693
- "keywords": [
1694
- "reference",
1695
- "function",
1696
- "geometry",
1697
- "meshes",
1698
- "computeTriangleMeshSignature"
1699
- ]
1700
- },
1701
1736
  {
1702
1737
  "id": "modeling/reference/geometry/Contour",
1703
1738
  "title": "Contour",
@@ -2434,25 +2469,32 @@
2434
2469
  ]
2435
2470
  },
2436
2471
  {
2437
- "id": "modeling/reference/geometry/extrudeMesh",
2438
- "title": "extrudeMesh",
2439
- "summary": "Linearly extrudes one simple profile along +Z with robust ear-clipped caps. Path2 profiles must be closed; raw point collections have an implicit closing edge.",
2440
- "path": "reference/geometry/extrudeMesh.md",
2472
+ "id": "modeling/reference/geometry/ExtrudeMeshOptions",
2473
+ "title": "ExtrudeMeshOptions",
2474
+ "summary": "Dimensions and sampling for pure +Z mesh extrusion, without end treatments.",
2475
+ "path": "reference/geometry/ExtrudeMeshOptions.md",
2441
2476
  "importPath": "@metamesh/modeling/geometry",
2442
2477
  "availability": "Pure TypeScript · Node and browsers",
2443
- "canonical": "https://metamesh.studio/docs/reference/geometry/extrudeMesh",
2478
+ "canonical": "https://metamesh.studio/docs/reference/geometry/ExtrudeMeshOptions",
2444
2479
  "keywords": [
2445
2480
  "reference",
2446
- "function",
2481
+ "interface",
2447
2482
  "geometry",
2448
2483
  "meshes",
2449
- "extrudeMesh"
2484
+ "ExtrudeMeshOptions",
2485
+ "height",
2486
+ "center",
2487
+ "divisions",
2488
+ "limits",
2489
+ "resolution",
2490
+ "scaleTop",
2491
+ "twist"
2450
2492
  ]
2451
2493
  },
2452
2494
  {
2453
2495
  "id": "modeling/reference/geometry/ExtrudeOptions",
2454
2496
  "title": "ExtrudeOptions",
2455
- "summary": "Dimensions and sampling shared by native and pure +Z extrusion.",
2497
+ "summary": "Native +Z extrusion with optional inward end treatments.",
2456
2498
  "path": "reference/geometry/ExtrudeOptions.md",
2457
2499
  "importPath": "@metamesh/modeling/geometry",
2458
2500
  "availability": "Pure TypeScript · Node and browsers",
@@ -2757,22 +2799,6 @@
2757
2799
  "gridPatternTransforms"
2758
2800
  ]
2759
2801
  },
2760
- {
2761
- "id": "modeling/reference/geometry/heightfieldMesh",
2762
- "title": "heightfieldMesh",
2763
- "summary": "Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base.",
2764
- "path": "reference/geometry/heightfieldMesh.md",
2765
- "importPath": "@metamesh/modeling/geometry",
2766
- "availability": "Pure TypeScript · Node and browsers",
2767
- "canonical": "https://metamesh.studio/docs/reference/geometry/heightfieldMesh",
2768
- "keywords": [
2769
- "reference",
2770
- "function",
2771
- "geometry",
2772
- "meshes",
2773
- "heightfieldMesh"
2774
- ]
2775
- },
2776
2802
  {
2777
2803
  "id": "modeling/reference/geometry/HeightfieldMeshLimits",
2778
2804
  "title": "HeightfieldMeshLimits",
@@ -2826,160 +2852,102 @@
2826
2852
  ]
2827
2853
  },
2828
2854
  {
2829
- "id": "modeling/reference/geometry/helicalThreadRidgeMesh",
2830
- "title": "helicalThreadRidgeMesh",
2831
- "summary": "Builds closed thread-ridge components with every profile locked to the shaft's radial/axial frame. The mesh is intended for union with its minor-envelope cylinder and never owns WASM objects.",
2832
- "path": "reference/geometry/helicalThreadRidgeMesh.md",
2855
+ "id": "modeling/reference/geometry/IDENTITY_TRANSFORM3",
2856
+ "title": "IDENTITY_TRANSFORM3",
2857
+ "summary": "Identity transform, safe to share because it is frozen.",
2858
+ "path": "reference/geometry/IDENTITY_TRANSFORM3.md",
2859
+ "importPath": "@metamesh/modeling/geometry",
2860
+ "availability": "Pure TypeScript · Node and browsers",
2861
+ "canonical": "https://metamesh.studio/docs/reference/geometry/IDENTITY_TRANSFORM3",
2862
+ "keywords": [
2863
+ "reference",
2864
+ "variable",
2865
+ "geometry",
2866
+ "transforms-math",
2867
+ "IDENTITY_TRANSFORM3"
2868
+ ]
2869
+ },
2870
+ {
2871
+ "id": "modeling/reference/geometry/immutableBuffer",
2872
+ "title": "immutableBuffer",
2873
+ "summary": "Copies numeric data once into private storage. This pure helper needs no active generation.",
2874
+ "path": "reference/geometry/immutableBuffer.md",
2833
2875
  "importPath": "@metamesh/modeling/geometry",
2834
2876
  "availability": "Pure TypeScript · Node and browsers",
2835
- "canonical": "https://metamesh.studio/docs/reference/geometry/helicalThreadRidgeMesh",
2877
+ "canonical": "https://metamesh.studio/docs/reference/geometry/immutableBuffer",
2836
2878
  "keywords": [
2837
2879
  "reference",
2838
2880
  "function",
2839
2881
  "geometry",
2840
- "mechanical",
2841
- "helicalThreadRidgeMesh"
2882
+ "meshes",
2883
+ "immutableBuffer"
2842
2884
  ]
2843
2885
  },
2844
2886
  {
2845
- "id": "modeling/reference/geometry/HelicalThreadRidgeMeshOptions",
2846
- "title": "HelicalThreadRidgeMeshOptions",
2847
- "summary": "Runtime-neutral options for the dedicated helical ridge mesher.",
2848
- "path": "reference/geometry/HelicalThreadRidgeMeshOptions.md",
2887
+ "id": "modeling/reference/geometry/ImmutableBuffer-type",
2888
+ "title": "ImmutableBuffer",
2889
+ "summary": "Owned immutable numeric data. Iterate without copying; use copy() for mutable storage.",
2890
+ "path": "reference/geometry/ImmutableBuffer-type.md",
2849
2891
  "importPath": "@metamesh/modeling/geometry",
2850
2892
  "availability": "Pure TypeScript · Node and browsers",
2851
- "canonical": "https://metamesh.studio/docs/reference/geometry/HelicalThreadRidgeMeshOptions",
2893
+ "canonical": "https://metamesh.studio/docs/reference/geometry/ImmutableBuffer-type",
2852
2894
  "keywords": [
2853
2895
  "reference",
2854
2896
  "interface",
2855
2897
  "geometry",
2856
- "mechanical",
2857
- "HelicalThreadRidgeMeshOptions",
2858
- "ends",
2859
- "handedness",
2898
+ "meshes",
2899
+ "ImmutableBuffer",
2900
+ "[immutableBufferBrand]",
2860
2901
  "length",
2861
- "limits",
2862
- "majorDiameter",
2863
- "phase",
2864
- "profile",
2865
- "resolution",
2866
- "starts",
2867
- "tolerance"
2902
+ "at",
2903
+ "copy",
2904
+ "[iterator]"
2868
2905
  ]
2869
2906
  },
2870
2907
  {
2871
- "id": "modeling/reference/geometry/helicalThreadSolidMesh",
2872
- "title": "helicalThreadSolidMesh",
2873
- "summary": "Builds one closed threaded cylinder without a ridge/core Boolean seam.",
2874
- "path": "reference/geometry/helicalThreadSolidMesh.md",
2908
+ "id": "modeling/reference/geometry/ImmutableTriangleMesh",
2909
+ "title": "ImmutableTriangleMesh",
2910
+ "summary": "Immutable local XYZ positions and triangle indices, suitable for a computed value or part.",
2911
+ "path": "reference/geometry/ImmutableTriangleMesh.md",
2875
2912
  "importPath": "@metamesh/modeling/geometry",
2876
2913
  "availability": "Pure TypeScript · Node and browsers",
2877
- "canonical": "https://metamesh.studio/docs/reference/geometry/helicalThreadSolidMesh",
2914
+ "canonical": "https://metamesh.studio/docs/reference/geometry/ImmutableTriangleMesh",
2878
2915
  "keywords": [
2879
2916
  "reference",
2880
- "function",
2917
+ "interface",
2881
2918
  "geometry",
2882
- "mechanical",
2883
- "helicalThreadSolidMesh"
2919
+ "meshes",
2920
+ "ImmutableTriangleMesh",
2921
+ "positions",
2922
+ "indices"
2884
2923
  ]
2885
2924
  },
2886
2925
  {
2887
- "id": "modeling/reference/geometry/HelicalThreadSolidMeshOptions",
2888
- "title": "HelicalThreadSolidMeshOptions",
2889
- "summary": "Options for a complete threaded-cylinder mesh; base semantics match the ridge builder.",
2890
- "path": "reference/geometry/HelicalThreadSolidMeshOptions.md",
2926
+ "id": "modeling/reference/geometry/InternalThreadCutterOptions",
2927
+ "title": "InternalThreadCutterOptions",
2928
+ "summary": "Options for a compensated internal-thread subtraction tool along +Z.",
2929
+ "path": "reference/geometry/InternalThreadCutterOptions.md",
2891
2930
  "importPath": "@metamesh/modeling/geometry",
2892
2931
  "availability": "Pure TypeScript · Node and browsers",
2893
- "canonical": "https://metamesh.studio/docs/reference/geometry/HelicalThreadSolidMeshOptions",
2932
+ "canonical": "https://metamesh.studio/docs/reference/geometry/InternalThreadCutterOptions",
2894
2933
  "keywords": [
2895
2934
  "reference",
2896
2935
  "interface",
2897
2936
  "geometry",
2898
2937
  "mechanical",
2899
- "HelicalThreadSolidMeshOptions",
2938
+ "InternalThreadCutterOptions",
2939
+ "fit",
2940
+ "nominalMajorDiameter",
2941
+ "bevel",
2900
2942
  "ends",
2901
2943
  "handedness",
2902
2944
  "length",
2903
2945
  "limits",
2904
- "majorDiameter",
2905
2946
  "phase",
2906
2947
  "profile",
2907
2948
  "resolution",
2908
2949
  "starts",
2909
- "tolerance",
2910
- "bevelBottom",
2911
- "bevelBottomSize",
2912
- "bevelOffset",
2913
- "bevelMode",
2914
- "bevelSize",
2915
- "bevelTop",
2916
- "bevelTopSize"
2917
- ]
2918
- },
2919
- {
2920
- "id": "modeling/reference/geometry/HelicalThreadSolidMeshPreflight",
2921
- "title": "HelicalThreadSolidMeshPreflight",
2922
- "summary": "Selected sampling counts and conservative allocation estimates, before thread mesh construction.",
2923
- "path": "reference/geometry/HelicalThreadSolidMeshPreflight.md",
2924
- "importPath": "@metamesh/modeling/geometry",
2925
- "availability": "Pure TypeScript · Node and browsers",
2926
- "canonical": "https://metamesh.studio/docs/reference/geometry/HelicalThreadSolidMeshPreflight",
2927
- "keywords": [
2928
- "reference",
2929
- "interface",
2930
- "geometry",
2931
- "mechanical",
2932
- "HelicalThreadSolidMeshPreflight",
2933
- "axialIntervals",
2934
- "circularSegments",
2935
- "estimatedRows",
2936
- "estimatedTriangles"
2937
- ]
2938
- },
2939
- {
2940
- "id": "modeling/reference/geometry/IDENTITY_TRANSFORM3",
2941
- "title": "IDENTITY_TRANSFORM3",
2942
- "summary": "Identity transform, safe to share because it is frozen.",
2943
- "path": "reference/geometry/IDENTITY_TRANSFORM3.md",
2944
- "importPath": "@metamesh/modeling/geometry",
2945
- "availability": "Pure TypeScript · Node and browsers",
2946
- "canonical": "https://metamesh.studio/docs/reference/geometry/IDENTITY_TRANSFORM3",
2947
- "keywords": [
2948
- "reference",
2949
- "variable",
2950
- "geometry",
2951
- "transforms-math",
2952
- "IDENTITY_TRANSFORM3"
2953
- ]
2954
- },
2955
- {
2956
- "id": "modeling/reference/geometry/InternalThreadCutterOptions",
2957
- "title": "InternalThreadCutterOptions",
2958
- "summary": "Options for a compensated internal-thread subtraction tool along +Z.",
2959
- "path": "reference/geometry/InternalThreadCutterOptions.md",
2960
- "importPath": "@metamesh/modeling/geometry",
2961
- "availability": "Pure TypeScript · Node and browsers",
2962
- "canonical": "https://metamesh.studio/docs/reference/geometry/InternalThreadCutterOptions",
2963
- "keywords": [
2964
- "reference",
2965
- "interface",
2966
- "geometry",
2967
- "mechanical",
2968
- "InternalThreadCutterOptions",
2969
- "ends",
2970
- "handedness",
2971
- "length",
2972
- "limits",
2973
- "phase",
2974
- "profile",
2975
- "resolution",
2976
- "starts",
2977
- "tolerance",
2978
- "fit",
2979
- "nominalMajorDiameter",
2980
- "bevelBottom",
2981
- "bevelSize",
2982
- "bevelTop"
2950
+ "tolerance"
2983
2951
  ]
2984
2952
  },
2985
2953
  {
@@ -3014,22 +2982,6 @@
3014
2982
  "isGeometryError"
3015
2983
  ]
3016
2984
  },
3017
- {
3018
- "id": "modeling/reference/geometry/joinTriangleMeshes",
3019
- "title": "joinTriangleMeshes",
3020
- "summary": "Concatenates meshes into one indexed mesh without welding coincident vertices.",
3021
- "path": "reference/geometry/joinTriangleMeshes.md",
3022
- "importPath": "@metamesh/modeling/geometry",
3023
- "availability": "Pure TypeScript · Node and browsers",
3024
- "canonical": "https://metamesh.studio/docs/reference/geometry/joinTriangleMeshes",
3025
- "keywords": [
3026
- "reference",
3027
- "function",
3028
- "geometry",
3029
- "meshes",
3030
- "joinTriangleMeshes"
3031
- ]
3032
- },
3033
2985
  {
3034
2986
  "id": "modeling/reference/geometry/KnuckleHingeBaseSpec",
3035
2987
  "title": "KnuckleHingeBaseSpec",
@@ -3299,22 +3251,6 @@
3299
3251
  "LoftCorrespondence"
3300
3252
  ]
3301
3253
  },
3302
- {
3303
- "id": "modeling/reference/geometry/loftMesh",
3304
- "title": "loftMesh",
3305
- "summary": "Lofts simple point loops at z heights or explicit right-handed frames, in input order.",
3306
- "path": "reference/geometry/loftMesh.md",
3307
- "importPath": "@metamesh/modeling/geometry",
3308
- "availability": "Pure TypeScript · Node and browsers",
3309
- "canonical": "https://metamesh.studio/docs/reference/geometry/loftMesh",
3310
- "keywords": [
3311
- "reference",
3312
- "function",
3313
- "geometry",
3314
- "meshes",
3315
- "loftMesh"
3316
- ]
3317
- },
3318
3254
  {
3319
3255
  "id": "modeling/reference/geometry/LoftMeshStation",
3320
3256
  "title": "LoftMeshStation",
@@ -3334,7 +3270,7 @@
3334
3270
  {
3335
3271
  "id": "modeling/reference/geometry/LoftOptions",
3336
3272
  "title": "LoftOptions",
3337
- "summary": "Shared controls for native and pure lofts. Point data and arbitrary Sections require explicit correspondence.",
3273
+ "summary": "Shared controls for native and pure lofts. Point data and arbitrary Sections default to direct correspondence.",
3338
3274
  "path": "reference/geometry/LoftOptions.md",
3339
3275
  "importPath": "@metamesh/modeling/geometry",
3340
3276
  "availability": "Pure TypeScript · Node and browsers",
@@ -3419,22 +3355,6 @@
3419
3355
  "measureInternalCylindricalGearPairMotion"
3420
3356
  ]
3421
3357
  },
3422
- {
3423
- "id": "modeling/reference/geometry/meshBounds",
3424
- "title": "meshBounds",
3425
- "summary": "Computes axis-aligned bounds for a non-empty mesh.",
3426
- "path": "reference/geometry/meshBounds.md",
3427
- "importPath": "@metamesh/modeling/geometry",
3428
- "availability": "Pure TypeScript · Node and browsers",
3429
- "canonical": "https://metamesh.studio/docs/reference/geometry/meshBounds",
3430
- "keywords": [
3431
- "reference",
3432
- "variable",
3433
- "geometry",
3434
- "meshes",
3435
- "meshBounds"
3436
- ]
3437
- },
3438
3358
  {
3439
3359
  "id": "modeling/reference/geometry/METRIC_FASTENER_STANDARDS",
3440
3360
  "title": "METRIC_FASTENER_STANDARDS",
@@ -3646,19 +3566,19 @@
3646
3566
  ]
3647
3567
  },
3648
3568
  {
3649
- "id": "modeling/reference/geometry/optimizePlanarPatches",
3650
- "title": "optimizePlanarPatches",
3651
- "summary": "Improves pathological planar triangulation with bounded legal diagonal flips.",
3652
- "path": "reference/geometry/optimizePlanarPatches.md",
3569
+ "id": "modeling/reference/geometry/NumericArray",
3570
+ "title": "NumericArray",
3571
+ "summary": "Numeric storage supported by immutable generation buffers.",
3572
+ "path": "reference/geometry/NumericArray.md",
3653
3573
  "importPath": "@metamesh/modeling/geometry",
3654
3574
  "availability": "Pure TypeScript · Node and browsers",
3655
- "canonical": "https://metamesh.studio/docs/reference/geometry/optimizePlanarPatches",
3575
+ "canonical": "https://metamesh.studio/docs/reference/geometry/NumericArray",
3656
3576
  "keywords": [
3657
3577
  "reference",
3658
- "function",
3578
+ "type-alias",
3659
3579
  "geometry",
3660
3580
  "meshes",
3661
- "optimizePlanarPatches"
3581
+ "NumericArray"
3662
3582
  ]
3663
3583
  },
3664
3584
  {
@@ -4131,38 +4051,6 @@
4131
4051
  "closed"
4132
4052
  ]
4133
4053
  },
4134
- {
4135
- "id": "modeling/reference/geometry/preflightHeightfield",
4136
- "title": "preflightHeightfield",
4137
- "summary": "Checks grid options, Float32 axis precision, and output limits; returns exact mesh buffer counts.",
4138
- "path": "reference/geometry/preflightHeightfield.md",
4139
- "importPath": "@metamesh/modeling/geometry",
4140
- "availability": "Pure TypeScript · Node and browsers",
4141
- "canonical": "https://metamesh.studio/docs/reference/geometry/preflightHeightfield",
4142
- "keywords": [
4143
- "reference",
4144
- "function",
4145
- "geometry",
4146
- "meshes",
4147
- "preflightHeightfield"
4148
- ]
4149
- },
4150
- {
4151
- "id": "modeling/reference/geometry/preflightHelicalThreadSolidMesh",
4152
- "title": "preflightHelicalThreadSolidMesh",
4153
- "summary": "Checks thread dimensions, profile, end treatments, sampling, and conservative estimates against output limits.",
4154
- "path": "reference/geometry/preflightHelicalThreadSolidMesh.md",
4155
- "importPath": "@metamesh/modeling/geometry",
4156
- "availability": "Pure TypeScript · Node and browsers",
4157
- "canonical": "https://metamesh.studio/docs/reference/geometry/preflightHelicalThreadSolidMesh",
4158
- "keywords": [
4159
- "reference",
4160
- "function",
4161
- "geometry",
4162
- "mechanical",
4163
- "preflightHelicalThreadSolidMesh"
4164
- ]
4165
- },
4166
4054
  {
4167
4055
  "id": "modeling/reference/geometry/preflightInternalThreadCutter",
4168
4056
  "title": "preflightInternalThreadCutter",
@@ -4537,7 +4425,7 @@
4537
4425
  {
4538
4426
  "id": "modeling/reference/geometry/rectangleContour",
4539
4427
  "title": "rectangleContour",
4540
- "summary": "Creates an immutable sampled CCW rectangle boundary. Round radius zero is square; tangent saturated endpoints occur once.",
4428
+ "summary": "Creates an immutable sampled CCW rectangle boundary.",
4541
4429
  "path": "reference/geometry/rectangleContour.md",
4542
4430
  "importPath": "@metamesh/modeling/geometry",
4543
4431
  "availability": "Pure TypeScript · Node and browsers",
@@ -4690,7 +4578,7 @@
4690
4578
  {
4691
4579
  "id": "modeling/reference/geometry/regularPolygonContour",
4692
4580
  "title": "regularPolygonContour",
4693
- "summary": "Creates a centered CCW point loop with vertex or face radial sizing and an implicit seam.",
4581
+ "summary": "Creates an immutable centered CCW point loop with vertex or face radial sizing and an implicit seam.",
4694
4582
  "path": "reference/geometry/regularPolygonContour.md",
4695
4583
  "importPath": "@metamesh/modeling/geometry",
4696
4584
  "availability": "Pure TypeScript · Node and browsers",
@@ -4985,38 +4873,6 @@
4985
4873
  "resolveThreadCircularSegments"
4986
4874
  ]
4987
4875
  },
4988
- {
4989
- "id": "modeling/reference/geometry/reverseTriangleMesh",
4990
- "title": "reverseTriangleMesh",
4991
- "summary": "Returns a copy of a mesh with every triangle winding reversed.",
4992
- "path": "reference/geometry/reverseTriangleMesh.md",
4993
- "importPath": "@metamesh/modeling/geometry",
4994
- "availability": "Pure TypeScript · Node and browsers",
4995
- "canonical": "https://metamesh.studio/docs/reference/geometry/reverseTriangleMesh",
4996
- "keywords": [
4997
- "reference",
4998
- "function",
4999
- "geometry",
5000
- "meshes",
5001
- "reverseTriangleMesh"
5002
- ]
5003
- },
5004
- {
5005
- "id": "modeling/reference/geometry/revolveMesh",
5006
- "title": "revolveMesh",
5007
- "summary": "Revolves a non-duplicated closed `[radius, z]` profile around +Z.",
5008
- "path": "reference/geometry/revolveMesh.md",
5009
- "importPath": "@metamesh/modeling/geometry",
5010
- "availability": "Pure TypeScript · Node and browsers",
5011
- "canonical": "https://metamesh.studio/docs/reference/geometry/revolveMesh",
5012
- "keywords": [
5013
- "reference",
5014
- "variable",
5015
- "geometry",
5016
- "meshes",
5017
- "revolveMesh"
5018
- ]
5019
- },
5020
4876
  {
5021
4877
  "id": "modeling/reference/geometry/RevolveOptions",
5022
4878
  "title": "RevolveOptions",
@@ -5597,7 +5453,7 @@
5597
5453
  {
5598
5454
  "id": "modeling/reference/geometry/starContour",
5599
5455
  "title": "starContour",
5600
- "summary": "Creates a centered CCW alternating-radius star within the selected profile sampling ceiling.",
5456
+ "summary": "Creates an immutable centered CCW alternating-radius star within the selected profile sampling ceiling.",
5601
5457
  "path": "reference/geometry/starContour.md",
5602
5458
  "importPath": "@metamesh/modeling/geometry",
5603
5459
  "availability": "Pure TypeScript · Node and browsers",
@@ -5610,6 +5466,27 @@
5610
5466
  "starContour"
5611
5467
  ]
5612
5468
  },
5469
+ {
5470
+ "id": "modeling/reference/geometry/StarContourOptions",
5471
+ "title": "StarContourOptions",
5472
+ "summary": "Alternating vertex radii and exact point count for a centered XY star.",
5473
+ "path": "reference/geometry/StarContourOptions.md",
5474
+ "importPath": "@metamesh/modeling/geometry",
5475
+ "availability": "Pure TypeScript · Node and browsers",
5476
+ "canonical": "https://metamesh.studio/docs/reference/geometry/StarContourOptions",
5477
+ "keywords": [
5478
+ "reference",
5479
+ "interface",
5480
+ "geometry",
5481
+ "profiles-regions",
5482
+ "StarContourOptions",
5483
+ "outerRadius",
5484
+ "innerRadius",
5485
+ "points",
5486
+ "rotation",
5487
+ "limits"
5488
+ ]
5489
+ },
5613
5490
  {
5614
5491
  "id": "modeling/reference/geometry/StrokeCap",
5615
5492
  "title": "StrokeCap",
@@ -5819,22 +5696,6 @@
5819
5696
  "parsedVertexCount"
5820
5697
  ]
5821
5698
  },
5822
- {
5823
- "id": "modeling/reference/geometry/sweepMesh",
5824
- "title": "sweepMesh",
5825
- "summary": "Sweeps one explicitly ordered point loop, with caps or a geometrically matching closed seam.",
5826
- "path": "reference/geometry/sweepMesh.md",
5827
- "importPath": "@metamesh/modeling/geometry",
5828
- "availability": "Pure TypeScript · Node and browsers",
5829
- "canonical": "https://metamesh.studio/docs/reference/geometry/sweepMesh",
5830
- "keywords": [
5831
- "reference",
5832
- "function",
5833
- "geometry",
5834
- "meshes",
5835
- "sweepMesh"
5836
- ]
5837
- },
5838
5699
  {
5839
5700
  "id": "modeling/reference/geometry/SweepOptions",
5840
5701
  "title": "SweepOptions",
@@ -5878,7 +5739,7 @@
5878
5739
  {
5879
5740
  "id": "modeling/reference/geometry/ThreadBevelOptions",
5880
5741
  "title": "ThreadBevelOptions",
5881
- "summary": "End bevel controls shared by threaded rods and cutters.",
5742
+ "summary": "45-degree end bevels for compensated rods and cutters.",
5882
5743
  "path": "reference/geometry/ThreadBevelOptions.md",
5883
5744
  "importPath": "@metamesh/modeling/geometry",
5884
5745
  "availability": "Pure TypeScript · Node and browsers",
@@ -5889,9 +5750,7 @@
5889
5750
  "geometry",
5890
5751
  "mechanical",
5891
5752
  "ThreadBevelOptions",
5892
- "bevelBottom",
5893
- "bevelSize",
5894
- "bevelTop"
5753
+ "bevel"
5895
5754
  ]
5896
5755
  },
5897
5756
  {
@@ -5938,22 +5797,6 @@
5938
5797
  "tolerance"
5939
5798
  ]
5940
5799
  },
5941
- {
5942
- "id": "modeling/reference/geometry/ThreadedNutBevel",
5943
- "title": "ThreadedNutBevel",
5944
- "summary": "Nut-edge bevel selection.",
5945
- "path": "reference/geometry/ThreadedNutBevel.md",
5946
- "importPath": "@metamesh/modeling/geometry",
5947
- "availability": "Pure TypeScript · Node and browsers",
5948
- "canonical": "https://metamesh.studio/docs/reference/geometry/ThreadedNutBevel",
5949
- "keywords": [
5950
- "reference",
5951
- "type-alias",
5952
- "geometry",
5953
- "mechanical",
5954
- "ThreadedNutBevel"
5955
- ]
5956
- },
5957
5800
  {
5958
5801
  "id": "modeling/reference/geometry/ThreadedNutOptions",
5959
5802
  "title": "ThreadedNutOptions",
@@ -5968,6 +5811,14 @@
5968
5811
  "geometry",
5969
5812
  "mechanical",
5970
5813
  "ThreadedNutOptions",
5814
+ "fit",
5815
+ "nominalMajorDiameter",
5816
+ "innerBevel",
5817
+ "outerBevel",
5818
+ "bodyResolution",
5819
+ "shape",
5820
+ "thickness",
5821
+ "width",
5971
5822
  "ends",
5972
5823
  "handedness",
5973
5824
  "limits",
@@ -5975,16 +5826,7 @@
5975
5826
  "profile",
5976
5827
  "resolution",
5977
5828
  "starts",
5978
- "tolerance",
5979
- "fit",
5980
- "nominalMajorDiameter",
5981
- "bevel",
5982
- "bodyResolution",
5983
- "chamferSize",
5984
- "flushBuildPlateBottom",
5985
- "shape",
5986
- "thickness",
5987
- "width"
5829
+ "tolerance"
5988
5830
  ]
5989
5831
  },
5990
5832
  {
@@ -6002,7 +5844,8 @@
6002
5844
  "mechanical",
6003
5845
  "ThreadedNutPreflight",
6004
5846
  "bodySegments",
6005
- "chamferSize",
5847
+ "innerBevel",
5848
+ "outerBevel",
6006
5849
  "cutterFaceRadius",
6007
5850
  "minimumBodyFaceInradius",
6008
5851
  "minimumFaceWall",
@@ -6040,6 +5883,9 @@
6040
5883
  "geometry",
6041
5884
  "mechanical",
6042
5885
  "ThreadedRodOptions",
5886
+ "bevel",
5887
+ "fit",
5888
+ "nominalMajorDiameter",
6043
5889
  "ends",
6044
5890
  "handedness",
6045
5891
  "length",
@@ -6048,12 +5894,7 @@
6048
5894
  "profile",
6049
5895
  "resolution",
6050
5896
  "starts",
6051
- "tolerance",
6052
- "bevelBottom",
6053
- "bevelSize",
6054
- "bevelTop",
6055
- "fit",
6056
- "nominalMajorDiameter"
5897
+ "tolerance"
6057
5898
  ]
6058
5899
  },
6059
5900
  {
@@ -6239,6 +6080,32 @@
6239
6080
  "ThreadProfileSpec"
6240
6081
  ]
6241
6082
  },
6083
+ {
6084
+ "id": "modeling/reference/geometry/ThreadRidgeOptions",
6085
+ "title": "ThreadRidgeOptions",
6086
+ "summary": "Runtime-neutral options for the dedicated helical ridge mesher.",
6087
+ "path": "reference/geometry/ThreadRidgeOptions.md",
6088
+ "importPath": "@metamesh/modeling/geometry",
6089
+ "availability": "Pure TypeScript · Node and browsers",
6090
+ "canonical": "https://metamesh.studio/docs/reference/geometry/ThreadRidgeOptions",
6091
+ "keywords": [
6092
+ "reference",
6093
+ "interface",
6094
+ "geometry",
6095
+ "mechanical",
6096
+ "ThreadRidgeOptions",
6097
+ "ends",
6098
+ "handedness",
6099
+ "length",
6100
+ "limits",
6101
+ "majorDiameter",
6102
+ "phase",
6103
+ "profile",
6104
+ "resolution",
6105
+ "starts",
6106
+ "tolerance"
6107
+ ]
6108
+ },
6242
6109
  {
6243
6110
  "id": "modeling/reference/geometry/ThreadRole",
6244
6111
  "title": "ThreadRole",
@@ -6256,36 +6123,85 @@
6256
6123
  ]
6257
6124
  },
6258
6125
  {
6259
- "id": "modeling/reference/geometry/TorusOptions",
6260
- "title": "TorusOptions",
6261
- "summary": "Dimensions and independent ring/profile tessellation for a torus around the Z axis.",
6262
- "path": "reference/geometry/TorusOptions.md",
6126
+ "id": "modeling/reference/geometry/ThreadSolidOptions",
6127
+ "title": "ThreadSolidOptions",
6128
+ "summary": "Options for a complete threaded-cylinder mesh; base semantics match the ridge builder.",
6129
+ "path": "reference/geometry/ThreadSolidOptions.md",
6263
6130
  "importPath": "@metamesh/modeling/geometry",
6264
6131
  "availability": "Pure TypeScript · Node and browsers",
6265
- "canonical": "https://metamesh.studio/docs/reference/geometry/TorusOptions",
6132
+ "canonical": "https://metamesh.studio/docs/reference/geometry/ThreadSolidOptions",
6266
6133
  "keywords": [
6267
6134
  "reference",
6268
6135
  "interface",
6269
6136
  "geometry",
6270
- "primitive-options",
6271
- "TorusOptions",
6272
- "attachment",
6137
+ "mechanical",
6138
+ "ThreadSolidOptions",
6139
+ "ends",
6140
+ "handedness",
6141
+ "length",
6273
6142
  "limits",
6274
- "majorRadius",
6275
- "majorSegments",
6276
- "minorRadius",
6277
- "minorSegments",
6278
- "resolution"
6143
+ "majorDiameter",
6144
+ "phase",
6145
+ "profile",
6146
+ "resolution",
6147
+ "starts",
6148
+ "tolerance",
6149
+ "bevel",
6150
+ "bevelOffset",
6151
+ "bevelMode"
6279
6152
  ]
6280
6153
  },
6281
6154
  {
6282
- "id": "modeling/reference/geometry/transform2",
6283
- "title": "transform2",
6284
- "summary": "Creates an immutable XY transform, identity by default.",
6285
- "path": "reference/geometry/transform2.md",
6155
+ "id": "modeling/reference/geometry/ThreadSolidPreflight",
6156
+ "title": "ThreadSolidPreflight",
6157
+ "summary": "Selected sampling counts and conservative allocation estimates, before thread mesh construction.",
6158
+ "path": "reference/geometry/ThreadSolidPreflight.md",
6286
6159
  "importPath": "@metamesh/modeling/geometry",
6287
6160
  "availability": "Pure TypeScript · Node and browsers",
6288
- "canonical": "https://metamesh.studio/docs/reference/geometry/transform2",
6161
+ "canonical": "https://metamesh.studio/docs/reference/geometry/ThreadSolidPreflight",
6162
+ "keywords": [
6163
+ "reference",
6164
+ "interface",
6165
+ "geometry",
6166
+ "mechanical",
6167
+ "ThreadSolidPreflight",
6168
+ "axialIntervals",
6169
+ "circularSegments",
6170
+ "estimatedRows",
6171
+ "estimatedTriangles"
6172
+ ]
6173
+ },
6174
+ {
6175
+ "id": "modeling/reference/geometry/TorusOptions",
6176
+ "title": "TorusOptions",
6177
+ "summary": "Dimensions and independent ring/profile tessellation for a torus around the Z axis.",
6178
+ "path": "reference/geometry/TorusOptions.md",
6179
+ "importPath": "@metamesh/modeling/geometry",
6180
+ "availability": "Pure TypeScript · Node and browsers",
6181
+ "canonical": "https://metamesh.studio/docs/reference/geometry/TorusOptions",
6182
+ "keywords": [
6183
+ "reference",
6184
+ "interface",
6185
+ "geometry",
6186
+ "primitive-options",
6187
+ "TorusOptions",
6188
+ "attachment",
6189
+ "limits",
6190
+ "majorRadius",
6191
+ "majorSegments",
6192
+ "minorRadius",
6193
+ "minorSegments",
6194
+ "resolution"
6195
+ ]
6196
+ },
6197
+ {
6198
+ "id": "modeling/reference/geometry/transform2",
6199
+ "title": "transform2",
6200
+ "summary": "Creates an immutable XY transform, identity by default.",
6201
+ "path": "reference/geometry/transform2.md",
6202
+ "importPath": "@metamesh/modeling/geometry",
6203
+ "availability": "Pure TypeScript · Node and browsers",
6204
+ "canonical": "https://metamesh.studio/docs/reference/geometry/transform2",
6289
6205
  "keywords": [
6290
6206
  "reference",
6291
6207
  "function",
@@ -6459,22 +6375,6 @@
6459
6375
  "transformRegionData"
6460
6376
  ]
6461
6377
  },
6462
- {
6463
- "id": "modeling/reference/geometry/transformTriangleMesh",
6464
- "title": "transformTriangleMesh",
6465
- "summary": "Applies an affine transform to a mesh and preserves outward face orientation.",
6466
- "path": "reference/geometry/transformTriangleMesh.md",
6467
- "importPath": "@metamesh/modeling/geometry",
6468
- "availability": "Pure TypeScript · Node and browsers",
6469
- "canonical": "https://metamesh.studio/docs/reference/geometry/transformTriangleMesh",
6470
- "keywords": [
6471
- "reference",
6472
- "function",
6473
- "geometry",
6474
- "meshes",
6475
- "transformTriangleMesh"
6476
- ]
6477
- },
6478
6378
  {
6479
6379
  "id": "modeling/reference/geometry/translationTransform3",
6480
6380
  "title": "translationTransform3",
@@ -6515,7 +6415,7 @@
6515
6415
  {
6516
6416
  "id": "modeling/reference/geometry/TriangleMesh",
6517
6417
  "title": "TriangleMesh",
6518
- "summary": "A topology-preserving indexed triangle mesh with XYZ vertex positions.",
6418
+ "summary": "A topology-preserving indexed triangle mesh with mutable owned XYZ buffers.",
6519
6419
  "path": "reference/geometry/TriangleMesh.md",
6520
6420
  "importPath": "@metamesh/modeling/geometry",
6521
6421
  "availability": "Pure TypeScript · Node and browsers",
@@ -6544,7 +6444,7 @@
6544
6444
  "geometry",
6545
6445
  "meshes",
6546
6446
  "TriangleMeshAnalysis",
6547
- "connectedComponentCount",
6447
+ "shellCount",
6548
6448
  "edgeCount",
6549
6449
  "bounds",
6550
6450
  "signedVolume",
@@ -6573,6 +6473,22 @@
6573
6473
  "tolerance"
6574
6474
  ]
6575
6475
  },
6476
+ {
6477
+ "id": "modeling/reference/geometry/TriangleMeshInput",
6478
+ "title": "TriangleMeshInput",
6479
+ "summary": "Raw construction buffers or immutable captured geometry accepted by mesh utilities.",
6480
+ "path": "reference/geometry/TriangleMeshInput.md",
6481
+ "importPath": "@metamesh/modeling/geometry",
6482
+ "availability": "Pure TypeScript · Node and browsers",
6483
+ "canonical": "https://metamesh.studio/docs/reference/geometry/TriangleMeshInput",
6484
+ "keywords": [
6485
+ "reference",
6486
+ "type-alias",
6487
+ "geometry",
6488
+ "meshes",
6489
+ "TriangleMeshInput"
6490
+ ]
6491
+ },
6576
6492
  {
6577
6493
  "id": "modeling/reference/geometry/TriangleMeshMeasurements",
6578
6494
  "title": "TriangleMeshMeasurements",
@@ -6658,7 +6574,7 @@
6658
6574
  "meshes",
6659
6575
  "TriangleMeshSignature",
6660
6576
  "bounds",
6661
- "connectedComponentCount",
6577
+ "shellCount",
6662
6578
  "genus",
6663
6579
  "fingerprint",
6664
6580
  "signedVolume",
@@ -6704,6 +6620,29 @@
6704
6620
  "signedVolume"
6705
6621
  ]
6706
6622
  },
6623
+ {
6624
+ "id": "modeling/reference/geometry/TriangleMeshTopologyAnalysis",
6625
+ "title": "TriangleMeshTopologyAnalysis",
6626
+ "summary": "Mesh measurements with the indexed surface-shell and edge counts requested by includeTopology.",
6627
+ "path": "reference/geometry/TriangleMeshTopologyAnalysis.md",
6628
+ "importPath": "@metamesh/modeling/geometry",
6629
+ "availability": "Pure TypeScript · Node and browsers",
6630
+ "canonical": "https://metamesh.studio/docs/reference/geometry/TriangleMeshTopologyAnalysis",
6631
+ "keywords": [
6632
+ "reference",
6633
+ "interface",
6634
+ "geometry",
6635
+ "meshes",
6636
+ "TriangleMeshTopologyAnalysis",
6637
+ "bounds",
6638
+ "signedVolume",
6639
+ "surfaceArea",
6640
+ "triangleCount",
6641
+ "vertexCount",
6642
+ "shellCount",
6643
+ "edgeCount"
6644
+ ]
6645
+ },
6707
6646
  {
6708
6647
  "id": "modeling/reference/geometry/TriangleMeshValidationOptions",
6709
6648
  "title": "TriangleMeshValidationOptions",
@@ -6770,34 +6709,26 @@
6770
6709
  "canonical": "https://metamesh.studio/docs/reference/geometry/TubeOptions",
6771
6710
  "keywords": [
6772
6711
  "reference",
6773
- "interface",
6712
+ "type-alias",
6774
6713
  "geometry",
6775
6714
  "primitive-options",
6776
- "TubeOptions",
6777
- "limits",
6778
- "segments",
6779
- "resolution",
6780
- "attachment",
6781
- "center",
6782
- "height",
6783
- "innerRadius",
6784
- "outerRadius"
6715
+ "TubeOptions"
6785
6716
  ]
6786
6717
  },
6787
6718
  {
6788
- "id": "modeling/reference/geometry/validateSolidMesh",
6789
- "title": "validateSolidMesh",
6790
- "summary": "Checks closed indexed topology, triangle intersections, and alternating nested shell orientation.",
6791
- "path": "reference/geometry/validateSolidMesh.md",
6719
+ "id": "modeling/reference/geometry/validateRigidTransform3",
6720
+ "title": "validateRigidTransform3",
6721
+ "summary": "Validates a proper rigid transform: finite translation and a right-handed orthonormal rotation. Scale, shear, reflection, and perspective are rejected within the default angular tolerance. Returns the original row-major 4x4 matrix without copying or normalizing it.",
6722
+ "path": "reference/geometry/validateRigidTransform3.md",
6792
6723
  "importPath": "@metamesh/modeling/geometry",
6793
6724
  "availability": "Pure TypeScript · Node and browsers",
6794
- "canonical": "https://metamesh.studio/docs/reference/geometry/validateSolidMesh",
6725
+ "canonical": "https://metamesh.studio/docs/reference/geometry/validateRigidTransform3",
6795
6726
  "keywords": [
6796
6727
  "reference",
6797
6728
  "function",
6798
6729
  "geometry",
6799
- "meshes",
6800
- "validateSolidMesh"
6730
+ "transforms-math",
6731
+ "validateRigidTransform3"
6801
6732
  ]
6802
6733
  },
6803
6734
  {
@@ -6816,22 +6747,6 @@
6816
6747
  "validateTransform3"
6817
6748
  ]
6818
6749
  },
6819
- {
6820
- "id": "modeling/reference/geometry/validateTriangleMesh",
6821
- "title": "validateTriangleMesh",
6822
- "summary": "Validates mesh buffers, indices, triangle area, and optionally closed topology.",
6823
- "path": "reference/geometry/validateTriangleMesh.md",
6824
- "importPath": "@metamesh/modeling/geometry",
6825
- "availability": "Pure TypeScript · Node and browsers",
6826
- "canonical": "https://metamesh.studio/docs/reference/geometry/validateTriangleMesh",
6827
- "keywords": [
6828
- "reference",
6829
- "function",
6830
- "geometry",
6831
- "meshes",
6832
- "validateTriangleMesh"
6833
- ]
6834
- },
6835
6750
  {
6836
6751
  "id": "modeling/reference/geometry/vector2",
6837
6752
  "title": "vector2",
@@ -7089,74 +7004,1886 @@
7089
7004
  ]
7090
7005
  },
7091
7006
  {
7092
- "id": "modeling/reference/model",
7093
- "title": "Model API",
7094
- "summary": "Immutable shapes, vectors and transforms with fluent operations and host-owned geometry evaluation.",
7095
- "path": "reference/model.md",
7096
- "importPath": "@metamesh/modeling",
7097
- "availability": "Immutable recipes and math · Node and browsers",
7098
- "canonical": "https://metamesh.studio/docs/reference/model",
7007
+ "id": "modeling/reference/mesh",
7008
+ "title": "Triangle meshes",
7009
+ "summary": "Construct, transform, inspect, and process triangle buffers without a native engine.",
7010
+ "path": "reference/mesh.md",
7011
+ "importPath": "@metamesh/modeling/geometry/mesh",
7012
+ "availability": "Pure TypeScript · Node and browsers",
7013
+ "canonical": "https://metamesh.studio/docs/reference/mesh",
7099
7014
  "keywords": [
7100
7015
  "reference",
7101
7016
  "module",
7102
- "model",
7017
+ "mesh",
7103
7018
  "overview",
7104
- "Model API"
7019
+ "Triangle meshes"
7105
7020
  ]
7106
7021
  },
7107
7022
  {
7108
- "id": "modeling/reference/model/anchor",
7109
- "title": "anchor",
7110
- "summary": "Reads a copied, immutable named anchor from this exact active generation.",
7111
- "path": "reference/model/anchor.md",
7112
- "importPath": "@metamesh/modeling",
7113
- "availability": "Immutable recipes and math · Node and browsers",
7114
- "canonical": "https://metamesh.studio/docs/reference/model/anchor",
7023
+ "id": "modeling/reference/mesh/AcmeThreadProfileSpec",
7024
+ "title": "AcmeThreadProfileSpec",
7025
+ "summary": "ACME 29-degree included-angle profile.",
7026
+ "path": "reference/mesh/AcmeThreadProfileSpec.md",
7027
+ "importPath": "@metamesh/modeling/geometry/mesh",
7028
+ "availability": "Pure TypeScript · Node and browsers",
7029
+ "canonical": "https://metamesh.studio/docs/reference/mesh/AcmeThreadProfileSpec",
7030
+ "keywords": [
7031
+ "reference",
7032
+ "interface",
7033
+ "mesh",
7034
+ "operations",
7035
+ "AcmeThreadProfileSpec"
7036
+ ]
7037
+ },
7038
+ {
7039
+ "id": "modeling/reference/mesh/analyze",
7040
+ "title": "analyze",
7041
+ "summary": "Validates and measures a mesh with one pass over positions and one over triangles.",
7042
+ "path": "reference/mesh/analyze.md",
7043
+ "importPath": "@metamesh/modeling/geometry/mesh",
7044
+ "availability": "Pure TypeScript · Node and browsers",
7045
+ "canonical": "https://metamesh.studio/docs/reference/mesh/analyze",
7115
7046
  "keywords": [
7116
7047
  "reference",
7117
7048
  "function",
7118
- "model",
7119
- "transforms-placement",
7120
- "anchor"
7049
+ "mesh",
7050
+ "operations",
7051
+ "analyze"
7121
7052
  ]
7122
7053
  },
7123
7054
  {
7124
- "id": "modeling/reference/model/Anchor3",
7125
- "title": "Anchor3",
7126
- "summary": "An attachment pose on a solid or assembly.",
7127
- "path": "reference/model/Anchor3.md",
7128
- "importPath": "@metamesh/modeling",
7129
- "availability": "Immutable recipes and math · Node and browsers",
7130
- "canonical": "https://metamesh.studio/docs/reference/model/Anchor3",
7055
+ "id": "modeling/reference/mesh/analyzeQuality",
7056
+ "title": "analyzeQuality",
7057
+ "summary": "Measures triangle shape, edge topology, vertex concentration, and connected planar patches.",
7058
+ "path": "reference/mesh/analyzeQuality.md",
7059
+ "importPath": "@metamesh/modeling/geometry/mesh",
7060
+ "availability": "Pure TypeScript · Node and browsers",
7061
+ "canonical": "https://metamesh.studio/docs/reference/mesh/analyzeQuality",
7062
+ "keywords": [
7063
+ "reference",
7064
+ "function",
7065
+ "mesh",
7066
+ "operations",
7067
+ "analyzeQuality"
7068
+ ]
7069
+ },
7070
+ {
7071
+ "id": "modeling/reference/mesh/Bevel",
7072
+ "title": "Bevel",
7073
+ "summary": "One size for both ends, or independent sizes in bottom/top order. Zero disables an end.",
7074
+ "path": "reference/mesh/Bevel.md",
7075
+ "importPath": "@metamesh/modeling/geometry/mesh",
7076
+ "availability": "Pure TypeScript · Node and browsers",
7077
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Bevel",
7078
+ "keywords": [
7079
+ "reference",
7080
+ "type-alias",
7081
+ "mesh",
7082
+ "operations",
7083
+ "Bevel"
7084
+ ]
7085
+ },
7086
+ {
7087
+ "id": "modeling/reference/mesh/BevelSize",
7088
+ "title": "BevelSize",
7089
+ "summary": "Nonnegative 45-degree axial/radial bevel size in millimetres, or factory automatic sizing.",
7090
+ "path": "reference/mesh/BevelSize.md",
7091
+ "importPath": "@metamesh/modeling/geometry/mesh",
7092
+ "availability": "Pure TypeScript · Node and browsers",
7093
+ "canonical": "https://metamesh.studio/docs/reference/mesh/BevelSize",
7094
+ "keywords": [
7095
+ "reference",
7096
+ "type-alias",
7097
+ "mesh",
7098
+ "operations",
7099
+ "BevelSize"
7100
+ ]
7101
+ },
7102
+ {
7103
+ "id": "modeling/reference/mesh/bounds",
7104
+ "title": "bounds",
7105
+ "summary": "Computes axis-aligned bounds for a non-empty mesh.",
7106
+ "path": "reference/mesh/bounds.md",
7107
+ "importPath": "@metamesh/modeling/geometry/mesh",
7108
+ "availability": "Pure TypeScript · Node and browsers",
7109
+ "canonical": "https://metamesh.studio/docs/reference/mesh/bounds",
7110
+ "keywords": [
7111
+ "reference",
7112
+ "variable",
7113
+ "mesh",
7114
+ "operations",
7115
+ "bounds"
7116
+ ]
7117
+ },
7118
+ {
7119
+ "id": "modeling/reference/mesh/Bounds2",
7120
+ "title": "Bounds2",
7121
+ "summary": "Immutable finite XY bounds in millimetres, with tuple coordinates for data interoperability.",
7122
+ "path": "reference/mesh/Bounds2.md",
7123
+ "importPath": "@metamesh/modeling/geometry/mesh",
7124
+ "availability": "Pure TypeScript · Node and browsers",
7125
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Bounds2",
7131
7126
  "keywords": [
7132
7127
  "reference",
7133
7128
  "interface",
7134
- "model",
7135
- "transforms-placement",
7136
- "Anchor3",
7137
- "direction",
7138
- "position",
7139
- "up"
7129
+ "mesh",
7130
+ "operations",
7131
+ "Bounds2"
7140
7132
  ]
7141
7133
  },
7142
7134
  {
7143
- "id": "modeling/reference/model/AttachOptions",
7144
- "title": "AttachOptions",
7145
- "summary": "Options controlling how one anchor is attached to another.",
7146
- "path": "reference/model/AttachOptions.md",
7147
- "importPath": "@metamesh/modeling",
7148
- "availability": "Immutable recipes and math · Node and browsers",
7149
- "canonical": "https://metamesh.studio/docs/reference/model/AttachOptions",
7135
+ "id": "modeling/reference/mesh/Bounds2Data",
7136
+ "title": "Bounds2Data",
7137
+ "summary": "Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods.",
7138
+ "path": "reference/mesh/Bounds2Data.md",
7139
+ "importPath": "@metamesh/modeling/geometry/mesh",
7140
+ "availability": "Pure TypeScript · Node and browsers",
7141
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Bounds2Data",
7142
+ "keywords": [
7143
+ "reference",
7144
+ "interface",
7145
+ "mesh",
7146
+ "operations",
7147
+ "Bounds2Data"
7148
+ ]
7149
+ },
7150
+ {
7151
+ "id": "modeling/reference/mesh/Bounds2Input",
7152
+ "title": "Bounds2Input",
7153
+ "summary": "An immutable XY bounds value or its plain min/max representation.",
7154
+ "path": "reference/mesh/Bounds2Input.md",
7155
+ "importPath": "@metamesh/modeling/geometry/mesh",
7156
+ "availability": "Pure TypeScript · Node and browsers",
7157
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Bounds2Input",
7158
+ "keywords": [
7159
+ "reference",
7160
+ "type-alias",
7161
+ "mesh",
7162
+ "operations",
7163
+ "Bounds2Input"
7164
+ ]
7165
+ },
7166
+ {
7167
+ "id": "modeling/reference/mesh/Bounds3",
7168
+ "title": "Bounds3",
7169
+ "summary": "Immutable finite XYZ bounds in millimetres, with tuple coordinates for data interoperability.",
7170
+ "path": "reference/mesh/Bounds3.md",
7171
+ "importPath": "@metamesh/modeling/geometry/mesh",
7172
+ "availability": "Pure TypeScript · Node and browsers",
7173
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Bounds3",
7174
+ "keywords": [
7175
+ "reference",
7176
+ "interface",
7177
+ "mesh",
7178
+ "operations",
7179
+ "Bounds3"
7180
+ ]
7181
+ },
7182
+ {
7183
+ "id": "modeling/reference/mesh/Bounds3Data",
7184
+ "title": "Bounds3Data",
7185
+ "summary": "Plain axis-aligned XYZ bounds for interchange; use bounds3 for immutable measurement methods.",
7186
+ "path": "reference/mesh/Bounds3Data.md",
7187
+ "importPath": "@metamesh/modeling/geometry/mesh",
7188
+ "availability": "Pure TypeScript · Node and browsers",
7189
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Bounds3Data",
7190
+ "keywords": [
7191
+ "reference",
7192
+ "interface",
7193
+ "mesh",
7194
+ "operations",
7195
+ "Bounds3Data"
7196
+ ]
7197
+ },
7198
+ {
7199
+ "id": "modeling/reference/mesh/Bounds3Input",
7200
+ "title": "Bounds3Input",
7201
+ "summary": "An immutable XYZ bounds value or its plain min/max representation.",
7202
+ "path": "reference/mesh/Bounds3Input.md",
7203
+ "importPath": "@metamesh/modeling/geometry/mesh",
7204
+ "availability": "Pure TypeScript · Node and browsers",
7205
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Bounds3Input",
7206
+ "keywords": [
7207
+ "reference",
7208
+ "type-alias",
7209
+ "mesh",
7210
+ "operations",
7211
+ "Bounds3Input"
7212
+ ]
7213
+ },
7214
+ {
7215
+ "id": "modeling/reference/mesh/ButtressPressureFlankSide",
7216
+ "title": "ButtressPressureFlankSide",
7217
+ "summary": "Axial side carrying the near-normal pressure flank of a buttress thread.",
7218
+ "path": "reference/mesh/ButtressPressureFlankSide.md",
7219
+ "importPath": "@metamesh/modeling/geometry/mesh",
7220
+ "availability": "Pure TypeScript · Node and browsers",
7221
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ButtressPressureFlankSide",
7222
+ "keywords": [
7223
+ "reference",
7224
+ "type-alias",
7225
+ "mesh",
7226
+ "operations",
7227
+ "ButtressPressureFlankSide"
7228
+ ]
7229
+ },
7230
+ {
7231
+ "id": "modeling/reference/mesh/ButtressThreadProfileSpec",
7232
+ "title": "ButtressThreadProfileSpec",
7233
+ "summary": "Asymmetric printable buttress profile with 7/45-degree flanks.",
7234
+ "path": "reference/mesh/ButtressThreadProfileSpec.md",
7235
+ "importPath": "@metamesh/modeling/geometry/mesh",
7236
+ "availability": "Pure TypeScript · Node and browsers",
7237
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ButtressThreadProfileSpec",
7150
7238
  "keywords": [
7151
7239
  "reference",
7152
7240
  "interface",
7241
+ "mesh",
7242
+ "operations",
7243
+ "ButtressThreadProfileSpec"
7244
+ ]
7245
+ },
7246
+ {
7247
+ "id": "modeling/reference/mesh/categories/operations",
7248
+ "title": "Mesh operations",
7249
+ "summary": "Construct, transform, validate, analyze, and optimize indexed meshes.",
7250
+ "path": "reference/mesh/categories/operations.md",
7251
+ "importPath": "@metamesh/modeling/geometry/mesh",
7252
+ "availability": "Pure TypeScript · Node and browsers",
7253
+ "canonical": "https://metamesh.studio/docs/reference/mesh/categories/operations",
7254
+ "keywords": [
7255
+ "reference",
7256
+ "category",
7257
+ "mesh",
7258
+ "operations",
7259
+ "Mesh operations"
7260
+ ]
7261
+ },
7262
+ {
7263
+ "id": "modeling/reference/mesh/centroid",
7264
+ "title": "centroid",
7265
+ "summary": "Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells.",
7266
+ "path": "reference/mesh/centroid.md",
7267
+ "importPath": "@metamesh/modeling/geometry/mesh",
7268
+ "availability": "Pure TypeScript · Node and browsers",
7269
+ "canonical": "https://metamesh.studio/docs/reference/mesh/centroid",
7270
+ "keywords": [
7271
+ "reference",
7272
+ "function",
7273
+ "mesh",
7274
+ "operations",
7275
+ "centroid"
7276
+ ]
7277
+ },
7278
+ {
7279
+ "id": "modeling/reference/mesh/CircularPrimitiveOptions",
7280
+ "title": "CircularPrimitiveOptions",
7281
+ "summary": "Tessellation controls shared by circular primitives across Geometry entry points.",
7282
+ "path": "reference/mesh/CircularPrimitiveOptions.md",
7283
+ "importPath": "@metamesh/modeling/geometry/mesh",
7284
+ "availability": "Pure TypeScript · Node and browsers",
7285
+ "canonical": "https://metamesh.studio/docs/reference/mesh/CircularPrimitiveOptions",
7286
+ "keywords": [
7287
+ "reference",
7288
+ "interface",
7289
+ "mesh",
7290
+ "operations",
7291
+ "CircularPrimitiveOptions"
7292
+ ]
7293
+ },
7294
+ {
7295
+ "id": "modeling/reference/mesh/CurveSamplingOptions",
7296
+ "title": "CurveSamplingOptions",
7297
+ "summary": "Explicit physical sampling and allocation policy for reusable curves.",
7298
+ "path": "reference/mesh/CurveSamplingOptions.md",
7299
+ "importPath": "@metamesh/modeling/geometry/mesh",
7300
+ "availability": "Pure TypeScript · Node and browsers",
7301
+ "canonical": "https://metamesh.studio/docs/reference/mesh/CurveSamplingOptions",
7302
+ "keywords": [
7303
+ "reference",
7304
+ "interface",
7305
+ "mesh",
7306
+ "operations",
7307
+ "CurveSamplingOptions"
7308
+ ]
7309
+ },
7310
+ {
7311
+ "id": "modeling/reference/mesh/CustomThreadProfileSpec",
7312
+ "title": "CustomThreadProfileSpec",
7313
+ "summary": "Caller-defined periodic axial/radial profile in millimetres.",
7314
+ "path": "reference/mesh/CustomThreadProfileSpec.md",
7315
+ "importPath": "@metamesh/modeling/geometry/mesh",
7316
+ "availability": "Pure TypeScript · Node and browsers",
7317
+ "canonical": "https://metamesh.studio/docs/reference/mesh/CustomThreadProfileSpec",
7318
+ "keywords": [
7319
+ "reference",
7320
+ "interface",
7321
+ "mesh",
7322
+ "operations",
7323
+ "CustomThreadProfileSpec"
7324
+ ]
7325
+ },
7326
+ {
7327
+ "id": "modeling/reference/mesh/extrude",
7328
+ "title": "extrude",
7329
+ "summary": "Linearly extrudes one simple profile along +Z with robust ear-clipped caps. Path2 profiles must be closed; raw point collections have an implicit closing edge. End treatments are unsupported and reject at runtime. Use Section.extrude for finished ends.",
7330
+ "path": "reference/mesh/extrude.md",
7331
+ "importPath": "@metamesh/modeling/geometry/mesh",
7332
+ "availability": "Pure TypeScript · Node and browsers",
7333
+ "canonical": "https://metamesh.studio/docs/reference/mesh/extrude",
7334
+ "keywords": [
7335
+ "reference",
7336
+ "function",
7337
+ "mesh",
7338
+ "operations",
7339
+ "extrude"
7340
+ ]
7341
+ },
7342
+ {
7343
+ "id": "modeling/reference/mesh/ExtrudeMeshOptions",
7344
+ "title": "ExtrudeMeshOptions",
7345
+ "summary": "Dimensions and sampling for pure +Z mesh extrusion, without end treatments.",
7346
+ "path": "reference/mesh/ExtrudeMeshOptions.md",
7347
+ "importPath": "@metamesh/modeling/geometry/mesh",
7348
+ "availability": "Pure TypeScript · Node and browsers",
7349
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ExtrudeMeshOptions",
7350
+ "keywords": [
7351
+ "reference",
7352
+ "interface",
7353
+ "mesh",
7354
+ "operations",
7355
+ "ExtrudeMeshOptions"
7356
+ ]
7357
+ },
7358
+ {
7359
+ "id": "modeling/reference/mesh/ExtrusionSamplingOptions",
7360
+ "title": "ExtrusionSamplingOptions",
7361
+ "summary": "Shared sampling controls for a twisted or scaled linear extrusion.",
7362
+ "path": "reference/mesh/ExtrusionSamplingOptions.md",
7363
+ "importPath": "@metamesh/modeling/geometry/mesh",
7364
+ "availability": "Pure TypeScript · Node and browsers",
7365
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ExtrusionSamplingOptions",
7366
+ "keywords": [
7367
+ "reference",
7368
+ "interface",
7369
+ "mesh",
7370
+ "operations",
7371
+ "ExtrusionSamplingOptions"
7372
+ ]
7373
+ },
7374
+ {
7375
+ "id": "modeling/reference/mesh/Frame3",
7376
+ "title": "Frame3",
7377
+ "summary": "A right-handed orthonormal coordinate frame expressed in world coordinates.",
7378
+ "path": "reference/mesh/Frame3.md",
7379
+ "importPath": "@metamesh/modeling/geometry/mesh",
7380
+ "availability": "Pure TypeScript · Node and browsers",
7381
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Frame3",
7382
+ "keywords": [
7383
+ "reference",
7384
+ "interface",
7385
+ "mesh",
7386
+ "operations",
7387
+ "Frame3"
7388
+ ]
7389
+ },
7390
+ {
7391
+ "id": "modeling/reference/mesh/GeometryResolution",
7392
+ "title": "GeometryResolution",
7393
+ "summary": "Tessellation policy for sampled geometry measured in millimetres.",
7394
+ "path": "reference/mesh/GeometryResolution.md",
7395
+ "importPath": "@metamesh/modeling/geometry/mesh",
7396
+ "availability": "Pure TypeScript · Node and browsers",
7397
+ "canonical": "https://metamesh.studio/docs/reference/mesh/GeometryResolution",
7398
+ "keywords": [
7399
+ "reference",
7400
+ "interface",
7401
+ "mesh",
7402
+ "operations",
7403
+ "GeometryResolution"
7404
+ ]
7405
+ },
7406
+ {
7407
+ "id": "modeling/reference/mesh/GeometrySamplingLimits",
7408
+ "title": "GeometrySamplingLimits",
7409
+ "summary": "Explicit allocation ceilings for pure sampling and host-owned modeling operations.",
7410
+ "path": "reference/mesh/GeometrySamplingLimits.md",
7411
+ "importPath": "@metamesh/modeling/geometry/mesh",
7412
+ "availability": "Pure TypeScript · Node and browsers",
7413
+ "canonical": "https://metamesh.studio/docs/reference/mesh/GeometrySamplingLimits",
7414
+ "keywords": [
7415
+ "reference",
7416
+ "interface",
7417
+ "mesh",
7418
+ "operations",
7419
+ "GeometrySamplingLimits"
7420
+ ]
7421
+ },
7422
+ {
7423
+ "id": "modeling/reference/mesh/GeometryToleranceOptions",
7424
+ "title": "GeometryToleranceOptions",
7425
+ "summary": "Optional overrides for MetaMesh's geometry comparison policy.",
7426
+ "path": "reference/mesh/GeometryToleranceOptions.md",
7427
+ "importPath": "@metamesh/modeling/geometry/mesh",
7428
+ "availability": "Pure TypeScript · Node and browsers",
7429
+ "canonical": "https://metamesh.studio/docs/reference/mesh/GeometryToleranceOptions",
7430
+ "keywords": [
7431
+ "reference",
7432
+ "interface",
7433
+ "mesh",
7434
+ "operations",
7435
+ "GeometryToleranceOptions"
7436
+ ]
7437
+ },
7438
+ {
7439
+ "id": "modeling/reference/mesh/heightfield",
7440
+ "title": "heightfield",
7441
+ "summary": "Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base.",
7442
+ "path": "reference/mesh/heightfield.md",
7443
+ "importPath": "@metamesh/modeling/geometry/mesh",
7444
+ "availability": "Pure TypeScript · Node and browsers",
7445
+ "canonical": "https://metamesh.studio/docs/reference/mesh/heightfield",
7446
+ "keywords": [
7447
+ "reference",
7448
+ "function",
7449
+ "mesh",
7450
+ "operations",
7451
+ "heightfield"
7452
+ ]
7453
+ },
7454
+ {
7455
+ "id": "modeling/reference/mesh/HeightfieldMeshLimits",
7456
+ "title": "HeightfieldMeshLimits",
7457
+ "summary": "Trusted output ceilings for pure construction; omitted fields use engine defaults.",
7458
+ "path": "reference/mesh/HeightfieldMeshLimits.md",
7459
+ "importPath": "@metamesh/modeling/geometry/mesh",
7460
+ "availability": "Pure TypeScript · Node and browsers",
7461
+ "canonical": "https://metamesh.studio/docs/reference/mesh/HeightfieldMeshLimits",
7462
+ "keywords": [
7463
+ "reference",
7464
+ "type-alias",
7465
+ "mesh",
7466
+ "operations",
7467
+ "HeightfieldMeshLimits"
7468
+ ]
7469
+ },
7470
+ {
7471
+ "id": "modeling/reference/mesh/HeightfieldOptions",
7472
+ "title": "HeightfieldOptions",
7473
+ "summary": "A closed rectilinear heightfield above a flat base, with uniform or explicit XY samples in millimetres.",
7474
+ "path": "reference/mesh/HeightfieldOptions.md",
7475
+ "importPath": "@metamesh/modeling/geometry/mesh",
7476
+ "availability": "Pure TypeScript · Node and browsers",
7477
+ "canonical": "https://metamesh.studio/docs/reference/mesh/HeightfieldOptions",
7478
+ "keywords": [
7479
+ "reference",
7480
+ "type-alias",
7481
+ "mesh",
7482
+ "operations",
7483
+ "HeightfieldOptions"
7484
+ ]
7485
+ },
7486
+ {
7487
+ "id": "modeling/reference/mesh/HeightfieldPreflight",
7488
+ "title": "HeightfieldPreflight",
7489
+ "summary": "Exact grid and mesh buffer allocation counts resolved without evaluating the height callback.",
7490
+ "path": "reference/mesh/HeightfieldPreflight.md",
7491
+ "importPath": "@metamesh/modeling/geometry/mesh",
7492
+ "availability": "Pure TypeScript · Node and browsers",
7493
+ "canonical": "https://metamesh.studio/docs/reference/mesh/HeightfieldPreflight",
7494
+ "keywords": [
7495
+ "reference",
7496
+ "interface",
7497
+ "mesh",
7498
+ "operations",
7499
+ "HeightfieldPreflight"
7500
+ ]
7501
+ },
7502
+ {
7503
+ "id": "modeling/reference/mesh/immutable",
7504
+ "title": "immutable",
7505
+ "summary": "Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing.",
7506
+ "path": "reference/mesh/immutable.md",
7507
+ "importPath": "@metamesh/modeling/geometry/mesh",
7508
+ "availability": "Pure TypeScript · Node and browsers",
7509
+ "canonical": "https://metamesh.studio/docs/reference/mesh/immutable",
7510
+ "keywords": [
7511
+ "reference",
7512
+ "function",
7513
+ "mesh",
7514
+ "operations",
7515
+ "immutable"
7516
+ ]
7517
+ },
7518
+ {
7519
+ "id": "modeling/reference/mesh/ImmutableBuffer",
7520
+ "title": "ImmutableBuffer",
7521
+ "summary": "Owned immutable numeric data. Iterate without copying; use copy() for mutable storage.",
7522
+ "path": "reference/mesh/ImmutableBuffer.md",
7523
+ "importPath": "@metamesh/modeling/geometry/mesh",
7524
+ "availability": "Pure TypeScript · Node and browsers",
7525
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ImmutableBuffer",
7526
+ "keywords": [
7527
+ "reference",
7528
+ "interface",
7529
+ "mesh",
7530
+ "operations",
7531
+ "ImmutableBuffer"
7532
+ ]
7533
+ },
7534
+ {
7535
+ "id": "modeling/reference/mesh/ImmutableTriangleMesh",
7536
+ "title": "ImmutableTriangleMesh",
7537
+ "summary": "Immutable local XYZ positions and triangle indices, suitable for a computed value or part.",
7538
+ "path": "reference/mesh/ImmutableTriangleMesh.md",
7539
+ "importPath": "@metamesh/modeling/geometry/mesh",
7540
+ "availability": "Pure TypeScript · Node and browsers",
7541
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ImmutableTriangleMesh",
7542
+ "keywords": [
7543
+ "reference",
7544
+ "interface",
7545
+ "mesh",
7546
+ "operations",
7547
+ "ImmutableTriangleMesh"
7548
+ ]
7549
+ },
7550
+ {
7551
+ "id": "modeling/reference/mesh/join",
7552
+ "title": "join",
7553
+ "summary": "Concatenates meshes into one indexed mesh without welding coincident vertices.",
7554
+ "path": "reference/mesh/join.md",
7555
+ "importPath": "@metamesh/modeling/geometry/mesh",
7556
+ "availability": "Pure TypeScript · Node and browsers",
7557
+ "canonical": "https://metamesh.studio/docs/reference/mesh/join",
7558
+ "keywords": [
7559
+ "reference",
7560
+ "function",
7561
+ "mesh",
7562
+ "operations",
7563
+ "join"
7564
+ ]
7565
+ },
7566
+ {
7567
+ "id": "modeling/reference/mesh/loft",
7568
+ "title": "loft",
7569
+ "summary": "Lofts simple point loops at z heights or explicit right-handed frames, in input order.",
7570
+ "path": "reference/mesh/loft.md",
7571
+ "importPath": "@metamesh/modeling/geometry/mesh",
7572
+ "availability": "Pure TypeScript · Node and browsers",
7573
+ "canonical": "https://metamesh.studio/docs/reference/mesh/loft",
7574
+ "keywords": [
7575
+ "reference",
7576
+ "function",
7577
+ "mesh",
7578
+ "operations",
7579
+ "loft"
7580
+ ]
7581
+ },
7582
+ {
7583
+ "id": "modeling/reference/mesh/LoftCorrespondence",
7584
+ "title": "LoftCorrespondence",
7585
+ "summary": "Associates ordered loft contours without inferring component identities or repairing topology.",
7586
+ "path": "reference/mesh/LoftCorrespondence.md",
7587
+ "importPath": "@metamesh/modeling/geometry/mesh",
7588
+ "availability": "Pure TypeScript · Node and browsers",
7589
+ "canonical": "https://metamesh.studio/docs/reference/mesh/LoftCorrespondence",
7590
+ "keywords": [
7591
+ "reference",
7592
+ "type-alias",
7593
+ "mesh",
7594
+ "operations",
7595
+ "LoftCorrespondence"
7596
+ ]
7597
+ },
7598
+ {
7599
+ "id": "modeling/reference/mesh/LoftMeshStation",
7600
+ "title": "LoftMeshStation",
7601
+ "summary": "One point-data profile at a height or explicit right-handed spatial frame.",
7602
+ "path": "reference/mesh/LoftMeshStation.md",
7603
+ "importPath": "@metamesh/modeling/geometry/mesh",
7604
+ "availability": "Pure TypeScript · Node and browsers",
7605
+ "canonical": "https://metamesh.studio/docs/reference/mesh/LoftMeshStation",
7606
+ "keywords": [
7607
+ "reference",
7608
+ "type-alias",
7609
+ "mesh",
7610
+ "operations",
7611
+ "LoftMeshStation"
7612
+ ]
7613
+ },
7614
+ {
7615
+ "id": "modeling/reference/mesh/LoftOptions",
7616
+ "title": "LoftOptions",
7617
+ "summary": "Shared controls for native and pure lofts. Point data and arbitrary Sections default to direct correspondence.",
7618
+ "path": "reference/mesh/LoftOptions.md",
7619
+ "importPath": "@metamesh/modeling/geometry/mesh",
7620
+ "availability": "Pure TypeScript · Node and browsers",
7621
+ "canonical": "https://metamesh.studio/docs/reference/mesh/LoftOptions",
7622
+ "keywords": [
7623
+ "reference",
7624
+ "interface",
7625
+ "mesh",
7626
+ "operations",
7627
+ "LoftOptions"
7628
+ ]
7629
+ },
7630
+ {
7631
+ "id": "modeling/reference/mesh/LoftPlacement",
7632
+ "title": "LoftPlacement",
7633
+ "summary": "A horizontal XY station height, or an explicit right-handed spatial frame, never both.",
7634
+ "path": "reference/mesh/LoftPlacement.md",
7635
+ "importPath": "@metamesh/modeling/geometry/mesh",
7636
+ "availability": "Pure TypeScript · Node and browsers",
7637
+ "canonical": "https://metamesh.studio/docs/reference/mesh/LoftPlacement",
7638
+ "keywords": [
7639
+ "reference",
7640
+ "type-alias",
7641
+ "mesh",
7642
+ "operations",
7643
+ "LoftPlacement"
7644
+ ]
7645
+ },
7646
+ {
7647
+ "id": "modeling/reference/mesh/ModelingLimits",
7648
+ "title": "ModelingLimits",
7649
+ "summary": "Aggregate manufacturing output ceilings selected by a trusted host.",
7650
+ "path": "reference/mesh/ModelingLimits.md",
7651
+ "importPath": "@metamesh/modeling/geometry/mesh",
7652
+ "availability": "Pure TypeScript · Node and browsers",
7653
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ModelingLimits",
7654
+ "keywords": [
7655
+ "reference",
7656
+ "interface",
7657
+ "mesh",
7658
+ "operations",
7659
+ "ModelingLimits"
7660
+ ]
7661
+ },
7662
+ {
7663
+ "id": "modeling/reference/mesh/NumericArray",
7664
+ "title": "NumericArray",
7665
+ "summary": "Numeric storage supported by immutable generation buffers.",
7666
+ "path": "reference/mesh/NumericArray.md",
7667
+ "importPath": "@metamesh/modeling/geometry/mesh",
7668
+ "availability": "Pure TypeScript · Node and browsers",
7669
+ "canonical": "https://metamesh.studio/docs/reference/mesh/NumericArray",
7670
+ "keywords": [
7671
+ "reference",
7672
+ "type-alias",
7673
+ "mesh",
7674
+ "operations",
7675
+ "NumericArray"
7676
+ ]
7677
+ },
7678
+ {
7679
+ "id": "modeling/reference/mesh/optimizePlanarPatches",
7680
+ "title": "optimizePlanarPatches",
7681
+ "summary": "Improves pathological planar triangulation with bounded legal diagonal flips.",
7682
+ "path": "reference/mesh/optimizePlanarPatches.md",
7683
+ "importPath": "@metamesh/modeling/geometry/mesh",
7684
+ "availability": "Pure TypeScript · Node and browsers",
7685
+ "canonical": "https://metamesh.studio/docs/reference/mesh/optimizePlanarPatches",
7686
+ "keywords": [
7687
+ "reference",
7688
+ "function",
7689
+ "mesh",
7690
+ "operations",
7691
+ "optimizePlanarPatches"
7692
+ ]
7693
+ },
7694
+ {
7695
+ "id": "modeling/reference/mesh/Path2",
7696
+ "title": "Path2",
7697
+ "summary": "Immutable directed XY polyline. Closure is explicit and does not imply a filled Section.",
7698
+ "path": "reference/mesh/Path2.md",
7699
+ "importPath": "@metamesh/modeling/geometry/mesh",
7700
+ "availability": "Pure TypeScript · Node and browsers",
7701
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Path2",
7702
+ "keywords": [
7703
+ "reference",
7704
+ "interface",
7705
+ "mesh",
7706
+ "operations",
7707
+ "Path2"
7708
+ ]
7709
+ },
7710
+ {
7711
+ "id": "modeling/reference/mesh/Path2Data",
7712
+ "title": "Path2Data",
7713
+ "summary": "Complete plain XY path representation, including topology and empty-path dimensional identity.",
7714
+ "path": "reference/mesh/Path2Data.md",
7715
+ "importPath": "@metamesh/modeling/geometry/mesh",
7716
+ "availability": "Pure TypeScript · Node and browsers",
7717
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Path2Data",
7718
+ "keywords": [
7719
+ "reference",
7720
+ "interface",
7721
+ "mesh",
7722
+ "operations",
7723
+ "Path2Data"
7724
+ ]
7725
+ },
7726
+ {
7727
+ "id": "modeling/reference/mesh/Path2Input",
7728
+ "title": "Path2Input",
7729
+ "summary": "A matching path value, complete plain path data, or a collection of vectors.",
7730
+ "path": "reference/mesh/Path2Input.md",
7731
+ "importPath": "@metamesh/modeling/geometry/mesh",
7732
+ "availability": "Pure TypeScript · Node and browsers",
7733
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Path2Input",
7734
+ "keywords": [
7735
+ "reference",
7736
+ "type-alias",
7737
+ "mesh",
7738
+ "operations",
7739
+ "Path2Input"
7740
+ ]
7741
+ },
7742
+ {
7743
+ "id": "modeling/reference/mesh/Path3",
7744
+ "title": "Path3",
7745
+ "summary": "Immutable directed XYZ polyline; it represents sampled edges, not an analytic curve.",
7746
+ "path": "reference/mesh/Path3.md",
7747
+ "importPath": "@metamesh/modeling/geometry/mesh",
7748
+ "availability": "Pure TypeScript · Node and browsers",
7749
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Path3",
7750
+ "keywords": [
7751
+ "reference",
7752
+ "interface",
7753
+ "mesh",
7754
+ "operations",
7755
+ "Path3"
7756
+ ]
7757
+ },
7758
+ {
7759
+ "id": "modeling/reference/mesh/Path3Data",
7760
+ "title": "Path3Data",
7761
+ "summary": "Complete plain XYZ path representation, including topology and empty-path dimensional identity.",
7762
+ "path": "reference/mesh/Path3Data.md",
7763
+ "importPath": "@metamesh/modeling/geometry/mesh",
7764
+ "availability": "Pure TypeScript · Node and browsers",
7765
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Path3Data",
7766
+ "keywords": [
7767
+ "reference",
7768
+ "interface",
7769
+ "mesh",
7770
+ "operations",
7771
+ "Path3Data"
7772
+ ]
7773
+ },
7774
+ {
7775
+ "id": "modeling/reference/mesh/Path3Input",
7776
+ "title": "Path3Input",
7777
+ "summary": "A matching path value, complete plain path data, or a collection of vectors.",
7778
+ "path": "reference/mesh/Path3Input.md",
7779
+ "importPath": "@metamesh/modeling/geometry/mesh",
7780
+ "availability": "Pure TypeScript · Node and browsers",
7781
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Path3Input",
7782
+ "keywords": [
7783
+ "reference",
7784
+ "type-alias",
7785
+ "mesh",
7786
+ "operations",
7787
+ "Path3Input"
7788
+ ]
7789
+ },
7790
+ {
7791
+ "id": "modeling/reference/mesh/PathLocation",
7792
+ "title": "PathLocation",
7793
+ "summary": "Nearest location on a sampled boundary, rather than inside a filled shape or on an analytic curve.",
7794
+ "path": "reference/mesh/PathLocation.md",
7795
+ "importPath": "@metamesh/modeling/geometry/mesh",
7796
+ "availability": "Pure TypeScript · Node and browsers",
7797
+ "canonical": "https://metamesh.studio/docs/reference/mesh/PathLocation",
7798
+ "keywords": [
7799
+ "reference",
7800
+ "interface",
7801
+ "mesh",
7802
+ "operations",
7803
+ "PathLocation"
7804
+ ]
7805
+ },
7806
+ {
7807
+ "id": "modeling/reference/mesh/PathNormalGuide",
7808
+ "title": "PathNormalGuide",
7809
+ "summary": "Supplies a profile-X orientation guide for each original normalized sweep station.",
7810
+ "path": "reference/mesh/PathNormalGuide.md",
7811
+ "importPath": "@metamesh/modeling/geometry/mesh",
7812
+ "availability": "Pure TypeScript · Node and browsers",
7813
+ "canonical": "https://metamesh.studio/docs/reference/mesh/PathNormalGuide",
7814
+ "keywords": [
7815
+ "reference",
7816
+ "type-alias",
7817
+ "mesh",
7818
+ "operations",
7819
+ "PathNormalGuide"
7820
+ ]
7821
+ },
7822
+ {
7823
+ "id": "modeling/reference/mesh/PathResamplingOptions",
7824
+ "title": "PathResamplingOptions",
7825
+ "summary": "Equal arc-length sampling; the path itself owns whether its closing edge is included.",
7826
+ "path": "reference/mesh/PathResamplingOptions.md",
7827
+ "importPath": "@metamesh/modeling/geometry/mesh",
7828
+ "availability": "Pure TypeScript · Node and browsers",
7829
+ "canonical": "https://metamesh.studio/docs/reference/mesh/PathResamplingOptions",
7830
+ "keywords": [
7831
+ "reference",
7832
+ "interface",
7833
+ "mesh",
7834
+ "operations",
7835
+ "PathResamplingOptions"
7836
+ ]
7837
+ },
7838
+ {
7839
+ "id": "modeling/reference/mesh/Pivot2Options",
7840
+ "title": "Pivot2Options",
7841
+ "summary": "A fixed XY point in world coordinates; omitted pivots use the coordinate origin.",
7842
+ "path": "reference/mesh/Pivot2Options.md",
7843
+ "importPath": "@metamesh/modeling/geometry/mesh",
7844
+ "availability": "Pure TypeScript · Node and browsers",
7845
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Pivot2Options",
7846
+ "keywords": [
7847
+ "reference",
7848
+ "interface",
7849
+ "mesh",
7850
+ "operations",
7851
+ "Pivot2Options"
7852
+ ]
7853
+ },
7854
+ {
7855
+ "id": "modeling/reference/mesh/Pivot3Options",
7856
+ "title": "Pivot3Options",
7857
+ "summary": "A fixed XYZ point in world coordinates; omitted pivots use the coordinate origin.",
7858
+ "path": "reference/mesh/Pivot3Options.md",
7859
+ "importPath": "@metamesh/modeling/geometry/mesh",
7860
+ "availability": "Pure TypeScript · Node and browsers",
7861
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Pivot3Options",
7862
+ "keywords": [
7863
+ "reference",
7864
+ "interface",
7865
+ "mesh",
7866
+ "operations",
7867
+ "Pivot3Options"
7868
+ ]
7869
+ },
7870
+ {
7871
+ "id": "modeling/reference/mesh/PlanarMeshOptimizationFallbackReason",
7872
+ "title": "PlanarMeshOptimizationFallbackReason",
7873
+ "summary": "Stable reason why planar optimization returned the original mesh unchanged.",
7874
+ "path": "reference/mesh/PlanarMeshOptimizationFallbackReason.md",
7875
+ "importPath": "@metamesh/modeling/geometry/mesh",
7876
+ "availability": "Pure TypeScript · Node and browsers",
7877
+ "canonical": "https://metamesh.studio/docs/reference/mesh/PlanarMeshOptimizationFallbackReason",
7878
+ "keywords": [
7879
+ "reference",
7880
+ "type-alias",
7881
+ "mesh",
7882
+ "operations",
7883
+ "PlanarMeshOptimizationFallbackReason"
7884
+ ]
7885
+ },
7886
+ {
7887
+ "id": "modeling/reference/mesh/PlanarMeshOptimizationOptions",
7888
+ "title": "PlanarMeshOptimizationOptions",
7889
+ "summary": "Options controlling bounded, connectivity-only optimization of planar triangle patches.",
7890
+ "path": "reference/mesh/PlanarMeshOptimizationOptions.md",
7891
+ "importPath": "@metamesh/modeling/geometry/mesh",
7892
+ "availability": "Pure TypeScript · Node and browsers",
7893
+ "canonical": "https://metamesh.studio/docs/reference/mesh/PlanarMeshOptimizationOptions",
7894
+ "keywords": [
7895
+ "reference",
7896
+ "interface",
7897
+ "mesh",
7898
+ "operations",
7899
+ "PlanarMeshOptimizationOptions"
7900
+ ]
7901
+ },
7902
+ {
7903
+ "id": "modeling/reference/mesh/PlanarMeshOptimizationResult",
7904
+ "title": "PlanarMeshOptimizationResult",
7905
+ "summary": "Outcome of bounded planar-patch optimization, including before/after diagnostics.",
7906
+ "path": "reference/mesh/PlanarMeshOptimizationResult.md",
7907
+ "importPath": "@metamesh/modeling/geometry/mesh",
7908
+ "availability": "Pure TypeScript · Node and browsers",
7909
+ "canonical": "https://metamesh.studio/docs/reference/mesh/PlanarMeshOptimizationResult",
7910
+ "keywords": [
7911
+ "reference",
7912
+ "interface",
7913
+ "mesh",
7914
+ "operations",
7915
+ "PlanarMeshOptimizationResult"
7916
+ ]
7917
+ },
7918
+ {
7919
+ "id": "modeling/reference/mesh/PlanarPatchQuality",
7920
+ "title": "PlanarPatchQuality",
7921
+ "summary": "Quality measurements for one edge-connected coplanar triangle patch.",
7922
+ "path": "reference/mesh/PlanarPatchQuality.md",
7923
+ "importPath": "@metamesh/modeling/geometry/mesh",
7924
+ "availability": "Pure TypeScript · Node and browsers",
7925
+ "canonical": "https://metamesh.studio/docs/reference/mesh/PlanarPatchQuality",
7926
+ "keywords": [
7927
+ "reference",
7928
+ "interface",
7929
+ "mesh",
7930
+ "operations",
7931
+ "PlanarPatchQuality"
7932
+ ]
7933
+ },
7934
+ {
7935
+ "id": "modeling/reference/mesh/preflightHeightfield",
7936
+ "title": "preflightHeightfield",
7937
+ "summary": "Checks grid options, Float32 axis precision, and output limits; returns exact mesh buffer counts.",
7938
+ "path": "reference/mesh/preflightHeightfield.md",
7939
+ "importPath": "@metamesh/modeling/geometry/mesh",
7940
+ "availability": "Pure TypeScript · Node and browsers",
7941
+ "canonical": "https://metamesh.studio/docs/reference/mesh/preflightHeightfield",
7942
+ "keywords": [
7943
+ "reference",
7944
+ "function",
7945
+ "mesh",
7946
+ "operations",
7947
+ "preflightHeightfield"
7948
+ ]
7949
+ },
7950
+ {
7951
+ "id": "modeling/reference/mesh/preflightThreadSolid",
7952
+ "title": "preflightThreadSolid",
7953
+ "summary": "Checks thread dimensions, profile, end treatments, sampling, and conservative estimates against output limits.",
7954
+ "path": "reference/mesh/preflightThreadSolid.md",
7955
+ "importPath": "@metamesh/modeling/geometry/mesh",
7956
+ "availability": "Pure TypeScript · Node and browsers",
7957
+ "canonical": "https://metamesh.studio/docs/reference/mesh/preflightThreadSolid",
7958
+ "keywords": [
7959
+ "reference",
7960
+ "function",
7961
+ "mesh",
7962
+ "operations",
7963
+ "preflightThreadSolid"
7964
+ ]
7965
+ },
7966
+ {
7967
+ "id": "modeling/reference/mesh/reverse",
7968
+ "title": "reverse",
7969
+ "summary": "Returns a copy of a mesh with every triangle winding reversed.",
7970
+ "path": "reference/mesh/reverse.md",
7971
+ "importPath": "@metamesh/modeling/geometry/mesh",
7972
+ "availability": "Pure TypeScript · Node and browsers",
7973
+ "canonical": "https://metamesh.studio/docs/reference/mesh/reverse",
7974
+ "keywords": [
7975
+ "reference",
7976
+ "function",
7977
+ "mesh",
7978
+ "operations",
7979
+ "reverse"
7980
+ ]
7981
+ },
7982
+ {
7983
+ "id": "modeling/reference/mesh/revolve",
7984
+ "title": "revolve",
7985
+ "summary": "Revolves a non-duplicated closed `[radius, z]` profile around +Z.",
7986
+ "path": "reference/mesh/revolve.md",
7987
+ "importPath": "@metamesh/modeling/geometry/mesh",
7988
+ "availability": "Pure TypeScript · Node and browsers",
7989
+ "canonical": "https://metamesh.studio/docs/reference/mesh/revolve",
7990
+ "keywords": [
7991
+ "reference",
7992
+ "variable",
7993
+ "mesh",
7994
+ "operations",
7995
+ "revolve"
7996
+ ]
7997
+ },
7998
+ {
7999
+ "id": "modeling/reference/mesh/RevolveOptions",
8000
+ "title": "RevolveOptions",
8001
+ "summary": "Circumferential sampling and degree sweep shared by pure and filled revolution.",
8002
+ "path": "reference/mesh/RevolveOptions.md",
8003
+ "importPath": "@metamesh/modeling/geometry/mesh",
8004
+ "availability": "Pure TypeScript · Node and browsers",
8005
+ "canonical": "https://metamesh.studio/docs/reference/mesh/RevolveOptions",
8006
+ "keywords": [
8007
+ "reference",
8008
+ "interface",
8009
+ "mesh",
8010
+ "operations",
8011
+ "RevolveOptions"
8012
+ ]
8013
+ },
8014
+ {
8015
+ "id": "modeling/reference/mesh/signature",
8016
+ "title": "signature",
8017
+ "summary": "Creates an order-independent regression signature for a manufacturing mesh.",
8018
+ "path": "reference/mesh/signature.md",
8019
+ "importPath": "@metamesh/modeling/geometry/mesh",
8020
+ "availability": "Pure TypeScript · Node and browsers",
8021
+ "canonical": "https://metamesh.studio/docs/reference/mesh/signature",
8022
+ "keywords": [
8023
+ "reference",
8024
+ "function",
8025
+ "mesh",
8026
+ "operations",
8027
+ "signature"
8028
+ ]
8029
+ },
8030
+ {
8031
+ "id": "modeling/reference/mesh/SolidMeshValidationOptions",
8032
+ "title": "SolidMeshValidationOptions",
8033
+ "summary": "Bounded floating-point intersection and shell-orientation validation settings.",
8034
+ "path": "reference/mesh/SolidMeshValidationOptions.md",
8035
+ "importPath": "@metamesh/modeling/geometry/mesh",
8036
+ "availability": "Pure TypeScript · Node and browsers",
8037
+ "canonical": "https://metamesh.studio/docs/reference/mesh/SolidMeshValidationOptions",
8038
+ "keywords": [
8039
+ "reference",
8040
+ "interface",
8041
+ "mesh",
8042
+ "operations",
8043
+ "SolidMeshValidationOptions"
8044
+ ]
8045
+ },
8046
+ {
8047
+ "id": "modeling/reference/mesh/SquareThreadProfileSpec",
8048
+ "title": "SquareThreadProfileSpec",
8049
+ "summary": "Square profile with equal crest and root widths.",
8050
+ "path": "reference/mesh/SquareThreadProfileSpec.md",
8051
+ "importPath": "@metamesh/modeling/geometry/mesh",
8052
+ "availability": "Pure TypeScript · Node and browsers",
8053
+ "canonical": "https://metamesh.studio/docs/reference/mesh/SquareThreadProfileSpec",
8054
+ "keywords": [
8055
+ "reference",
8056
+ "interface",
8057
+ "mesh",
8058
+ "operations",
8059
+ "SquareThreadProfileSpec"
8060
+ ]
8061
+ },
8062
+ {
8063
+ "id": "modeling/reference/mesh/sweep",
8064
+ "title": "sweep",
8065
+ "summary": "Sweeps one explicitly ordered point loop, with caps or a geometrically matching closed seam.",
8066
+ "path": "reference/mesh/sweep.md",
8067
+ "importPath": "@metamesh/modeling/geometry/mesh",
8068
+ "availability": "Pure TypeScript · Node and browsers",
8069
+ "canonical": "https://metamesh.studio/docs/reference/mesh/sweep",
8070
+ "keywords": [
8071
+ "reference",
8072
+ "function",
8073
+ "mesh",
8074
+ "operations",
8075
+ "sweep"
8076
+ ]
8077
+ },
8078
+ {
8079
+ "id": "modeling/reference/mesh/SweepOptions",
8080
+ "title": "SweepOptions",
8081
+ "summary": "Controls shared by pure mesh construction and filled modeling sweeps.",
8082
+ "path": "reference/mesh/SweepOptions.md",
8083
+ "importPath": "@metamesh/modeling/geometry/mesh",
8084
+ "availability": "Pure TypeScript · Node and browsers",
8085
+ "canonical": "https://metamesh.studio/docs/reference/mesh/SweepOptions",
8086
+ "keywords": [
8087
+ "reference",
8088
+ "interface",
8089
+ "mesh",
8090
+ "operations",
8091
+ "SweepOptions"
8092
+ ]
8093
+ },
8094
+ {
8095
+ "id": "modeling/reference/mesh/SweepOrientation",
8096
+ "title": "SweepOrientation",
8097
+ "summary": "Explicit profile-X frame policy; all normals are directed, and selected singular policies reject.",
8098
+ "path": "reference/mesh/SweepOrientation.md",
8099
+ "importPath": "@metamesh/modeling/geometry/mesh",
8100
+ "availability": "Pure TypeScript · Node and browsers",
8101
+ "canonical": "https://metamesh.studio/docs/reference/mesh/SweepOrientation",
8102
+ "keywords": [
8103
+ "reference",
8104
+ "type-alias",
8105
+ "mesh",
8106
+ "operations",
8107
+ "SweepOrientation"
8108
+ ]
8109
+ },
8110
+ {
8111
+ "id": "modeling/reference/mesh/ThreadEndStyle",
8112
+ "title": "ThreadEndStyle",
8113
+ "summary": "End shape of a generated helical ridge.",
8114
+ "path": "reference/mesh/ThreadEndStyle.md",
8115
+ "importPath": "@metamesh/modeling/geometry/mesh",
8116
+ "availability": "Pure TypeScript · Node and browsers",
8117
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadEndStyle",
8118
+ "keywords": [
8119
+ "reference",
8120
+ "type-alias",
8121
+ "mesh",
8122
+ "operations",
8123
+ "ThreadEndStyle"
8124
+ ]
8125
+ },
8126
+ {
8127
+ "id": "modeling/reference/mesh/ThreadEndTreatmentOptions",
8128
+ "title": "ThreadEndTreatmentOptions",
8129
+ "summary": "Axial end controls for a generated ridge.",
8130
+ "path": "reference/mesh/ThreadEndTreatmentOptions.md",
8131
+ "importPath": "@metamesh/modeling/geometry/mesh",
8132
+ "availability": "Pure TypeScript · Node and browsers",
8133
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadEndTreatmentOptions",
8134
+ "keywords": [
8135
+ "reference",
8136
+ "interface",
8137
+ "mesh",
8138
+ "operations",
8139
+ "ThreadEndTreatmentOptions"
8140
+ ]
8141
+ },
8142
+ {
8143
+ "id": "modeling/reference/mesh/ThreadHandedness",
8144
+ "title": "ThreadHandedness",
8145
+ "summary": "Direction in which a conventional helical thread advances around +Z.",
8146
+ "path": "reference/mesh/ThreadHandedness.md",
8147
+ "importPath": "@metamesh/modeling/geometry/mesh",
8148
+ "availability": "Pure TypeScript · Node and browsers",
8149
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadHandedness",
8150
+ "keywords": [
8151
+ "reference",
8152
+ "type-alias",
8153
+ "mesh",
8154
+ "operations",
8155
+ "ThreadHandedness"
8156
+ ]
8157
+ },
8158
+ {
8159
+ "id": "modeling/reference/mesh/ThreadLeadInEnvelope",
8160
+ "title": "ThreadLeadInEnvelope",
8161
+ "summary": "Radial envelope toward which a blunt lead-in collapses.",
8162
+ "path": "reference/mesh/ThreadLeadInEnvelope.md",
8163
+ "importPath": "@metamesh/modeling/geometry/mesh",
8164
+ "availability": "Pure TypeScript · Node and browsers",
8165
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadLeadInEnvelope",
8166
+ "keywords": [
8167
+ "reference",
8168
+ "type-alias",
8169
+ "mesh",
8170
+ "operations",
8171
+ "ThreadLeadInEnvelope"
8172
+ ]
8173
+ },
8174
+ {
8175
+ "id": "modeling/reference/mesh/ThreadLeadInShape",
8176
+ "title": "ThreadLeadInShape",
8177
+ "summary": "BOSL2-compatible cross-section scaling curve for a blunt thread lead-in.",
8178
+ "path": "reference/mesh/ThreadLeadInShape.md",
8179
+ "importPath": "@metamesh/modeling/geometry/mesh",
8180
+ "availability": "Pure TypeScript · Node and browsers",
8181
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadLeadInShape",
8182
+ "keywords": [
8183
+ "reference",
8184
+ "type-alias",
8185
+ "mesh",
8186
+ "operations",
8187
+ "ThreadLeadInShape"
8188
+ ]
8189
+ },
8190
+ {
8191
+ "id": "modeling/reference/mesh/ThreadProfile",
8192
+ "title": "ThreadProfile",
8193
+ "summary": "A validated immutable periodic thread profile in `[axial, radial]` millimetres.",
8194
+ "path": "reference/mesh/ThreadProfile.md",
8195
+ "importPath": "@metamesh/modeling/geometry/mesh",
8196
+ "availability": "Pure TypeScript · Node and browsers",
8197
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadProfile",
8198
+ "keywords": [
8199
+ "reference",
8200
+ "interface",
8201
+ "mesh",
8202
+ "operations",
8203
+ "ThreadProfile"
8204
+ ]
8205
+ },
8206
+ {
8207
+ "id": "modeling/reference/mesh/ThreadProfileBaseSpec",
8208
+ "title": "ThreadProfileBaseSpec",
8209
+ "summary": "Fields shared by all thread profile specifications.",
8210
+ "path": "reference/mesh/ThreadProfileBaseSpec.md",
8211
+ "importPath": "@metamesh/modeling/geometry/mesh",
8212
+ "availability": "Pure TypeScript · Node and browsers",
8213
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadProfileBaseSpec",
8214
+ "keywords": [
8215
+ "reference",
8216
+ "interface",
8217
+ "mesh",
8218
+ "operations",
8219
+ "ThreadProfileBaseSpec"
8220
+ ]
8221
+ },
8222
+ {
8223
+ "id": "modeling/reference/mesh/ThreadProfileSpec",
8224
+ "title": "ThreadProfileSpec",
8225
+ "summary": "Supported built-in and caller-defined thread profiles.",
8226
+ "path": "reference/mesh/ThreadProfileSpec.md",
8227
+ "importPath": "@metamesh/modeling/geometry/mesh",
8228
+ "availability": "Pure TypeScript · Node and browsers",
8229
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadProfileSpec",
8230
+ "keywords": [
8231
+ "reference",
8232
+ "type-alias",
8233
+ "mesh",
8234
+ "operations",
8235
+ "ThreadProfileSpec"
8236
+ ]
8237
+ },
8238
+ {
8239
+ "id": "modeling/reference/mesh/threadRidge",
8240
+ "title": "threadRidge",
8241
+ "summary": "Builds closed thread-ridge components with every profile locked to the shaft's radial/axial frame. The mesh is intended for union with its minor-envelope cylinder and never owns WASM objects.",
8242
+ "path": "reference/mesh/threadRidge.md",
8243
+ "importPath": "@metamesh/modeling/geometry/mesh",
8244
+ "availability": "Pure TypeScript · Node and browsers",
8245
+ "canonical": "https://metamesh.studio/docs/reference/mesh/threadRidge",
8246
+ "keywords": [
8247
+ "reference",
8248
+ "function",
8249
+ "mesh",
8250
+ "operations",
8251
+ "threadRidge"
8252
+ ]
8253
+ },
8254
+ {
8255
+ "id": "modeling/reference/mesh/ThreadRidgeOptions",
8256
+ "title": "ThreadRidgeOptions",
8257
+ "summary": "Runtime-neutral options for the dedicated helical ridge mesher.",
8258
+ "path": "reference/mesh/ThreadRidgeOptions.md",
8259
+ "importPath": "@metamesh/modeling/geometry/mesh",
8260
+ "availability": "Pure TypeScript · Node and browsers",
8261
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadRidgeOptions",
8262
+ "keywords": [
8263
+ "reference",
8264
+ "interface",
8265
+ "mesh",
8266
+ "operations",
8267
+ "ThreadRidgeOptions"
8268
+ ]
8269
+ },
8270
+ {
8271
+ "id": "modeling/reference/mesh/threadSolid",
8272
+ "title": "threadSolid",
8273
+ "summary": "Builds one closed threaded cylinder without a ridge/core Boolean seam.",
8274
+ "path": "reference/mesh/threadSolid.md",
8275
+ "importPath": "@metamesh/modeling/geometry/mesh",
8276
+ "availability": "Pure TypeScript · Node and browsers",
8277
+ "canonical": "https://metamesh.studio/docs/reference/mesh/threadSolid",
8278
+ "keywords": [
8279
+ "reference",
8280
+ "function",
8281
+ "mesh",
8282
+ "operations",
8283
+ "threadSolid"
8284
+ ]
8285
+ },
8286
+ {
8287
+ "id": "modeling/reference/mesh/ThreadSolidOptions",
8288
+ "title": "ThreadSolidOptions",
8289
+ "summary": "Options for a complete threaded-cylinder mesh; base semantics match the ridge builder.",
8290
+ "path": "reference/mesh/ThreadSolidOptions.md",
8291
+ "importPath": "@metamesh/modeling/geometry/mesh",
8292
+ "availability": "Pure TypeScript · Node and browsers",
8293
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadSolidOptions",
8294
+ "keywords": [
8295
+ "reference",
8296
+ "interface",
8297
+ "mesh",
8298
+ "operations",
8299
+ "ThreadSolidOptions"
8300
+ ]
8301
+ },
8302
+ {
8303
+ "id": "modeling/reference/mesh/ThreadSolidPreflight",
8304
+ "title": "ThreadSolidPreflight",
8305
+ "summary": "Selected sampling counts and conservative allocation estimates, before thread mesh construction.",
8306
+ "path": "reference/mesh/ThreadSolidPreflight.md",
8307
+ "importPath": "@metamesh/modeling/geometry/mesh",
8308
+ "availability": "Pure TypeScript · Node and browsers",
8309
+ "canonical": "https://metamesh.studio/docs/reference/mesh/ThreadSolidPreflight",
8310
+ "keywords": [
8311
+ "reference",
8312
+ "interface",
8313
+ "mesh",
8314
+ "operations",
8315
+ "ThreadSolidPreflight"
8316
+ ]
8317
+ },
8318
+ {
8319
+ "id": "modeling/reference/mesh/transform",
8320
+ "title": "transform",
8321
+ "summary": "Applies an affine transform to a mesh and preserves outward face orientation.",
8322
+ "path": "reference/mesh/transform.md",
8323
+ "importPath": "@metamesh/modeling/geometry/mesh",
8324
+ "availability": "Pure TypeScript · Node and browsers",
8325
+ "canonical": "https://metamesh.studio/docs/reference/mesh/transform",
8326
+ "keywords": [
8327
+ "reference",
8328
+ "function",
8329
+ "mesh",
8330
+ "operations",
8331
+ "transform"
8332
+ ]
8333
+ },
8334
+ {
8335
+ "id": "modeling/reference/mesh/Transform2",
8336
+ "title": "Transform2",
8337
+ "summary": "Immutable reusable XY placement. Methods apply in written order; angles are degrees.",
8338
+ "path": "reference/mesh/Transform2.md",
8339
+ "importPath": "@metamesh/modeling/geometry/mesh",
8340
+ "availability": "Pure TypeScript · Node and browsers",
8341
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Transform2",
8342
+ "keywords": [
8343
+ "reference",
8344
+ "interface",
8345
+ "mesh",
8346
+ "operations",
8347
+ "Transform2"
8348
+ ]
8349
+ },
8350
+ {
8351
+ "id": "modeling/reference/mesh/Transform2Data",
8352
+ "title": "Transform2Data",
8353
+ "summary": "A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`.",
8354
+ "path": "reference/mesh/Transform2Data.md",
8355
+ "importPath": "@metamesh/modeling/geometry/mesh",
8356
+ "availability": "Pure TypeScript · Node and browsers",
8357
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Transform2Data",
8358
+ "keywords": [
8359
+ "reference",
8360
+ "type-alias",
8361
+ "mesh",
8362
+ "operations",
8363
+ "Transform2Data"
8364
+ ]
8365
+ },
8366
+ {
8367
+ "id": "modeling/reference/mesh/Transform2Input",
8368
+ "title": "Transform2Input",
8369
+ "summary": "An immutable XY transform or its canonical row-major matrix for interchange.",
8370
+ "path": "reference/mesh/Transform2Input.md",
8371
+ "importPath": "@metamesh/modeling/geometry/mesh",
8372
+ "availability": "Pure TypeScript · Node and browsers",
8373
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Transform2Input",
8374
+ "keywords": [
8375
+ "reference",
8376
+ "type-alias",
8377
+ "mesh",
8378
+ "operations",
8379
+ "Transform2Input"
8380
+ ]
8381
+ },
8382
+ {
8383
+ "id": "modeling/reference/mesh/Transform3",
8384
+ "title": "Transform3",
8385
+ "summary": "Immutable reusable XYZ placement. Methods apply in written order; angles are degrees.",
8386
+ "path": "reference/mesh/Transform3.md",
8387
+ "importPath": "@metamesh/modeling/geometry/mesh",
8388
+ "availability": "Pure TypeScript · Node and browsers",
8389
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Transform3",
8390
+ "keywords": [
8391
+ "reference",
8392
+ "interface",
8393
+ "mesh",
8394
+ "operations",
8395
+ "Transform3"
8396
+ ]
8397
+ },
8398
+ {
8399
+ "id": "modeling/reference/mesh/Transform3Data",
8400
+ "title": "Transform3Data",
8401
+ "summary": "A row-major affine 4x4 matrix applied to column vectors.",
8402
+ "path": "reference/mesh/Transform3Data.md",
8403
+ "importPath": "@metamesh/modeling/geometry/mesh",
8404
+ "availability": "Pure TypeScript · Node and browsers",
8405
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Transform3Data",
8406
+ "keywords": [
8407
+ "reference",
8408
+ "type-alias",
8409
+ "mesh",
8410
+ "operations",
8411
+ "Transform3Data"
8412
+ ]
8413
+ },
8414
+ {
8415
+ "id": "modeling/reference/mesh/Transform3Input",
8416
+ "title": "Transform3Input",
8417
+ "summary": "An immutable XYZ transform or its canonical row-major matrix for interchange.",
8418
+ "path": "reference/mesh/Transform3Input.md",
8419
+ "importPath": "@metamesh/modeling/geometry/mesh",
8420
+ "availability": "Pure TypeScript · Node and browsers",
8421
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Transform3Input",
8422
+ "keywords": [
8423
+ "reference",
8424
+ "type-alias",
8425
+ "mesh",
8426
+ "operations",
8427
+ "Transform3Input"
8428
+ ]
8429
+ },
8430
+ {
8431
+ "id": "modeling/reference/mesh/TrapezoidalThreadProfileSpec",
8432
+ "title": "TrapezoidalThreadProfileSpec",
8433
+ "summary": "Trapezoidal thread profile with a configurable included angle.",
8434
+ "path": "reference/mesh/TrapezoidalThreadProfileSpec.md",
8435
+ "importPath": "@metamesh/modeling/geometry/mesh",
8436
+ "availability": "Pure TypeScript · Node and browsers",
8437
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TrapezoidalThreadProfileSpec",
8438
+ "keywords": [
8439
+ "reference",
8440
+ "interface",
8441
+ "mesh",
8442
+ "operations",
8443
+ "TrapezoidalThreadProfileSpec"
8444
+ ]
8445
+ },
8446
+ {
8447
+ "id": "modeling/reference/mesh/TriangleMesh",
8448
+ "title": "TriangleMesh",
8449
+ "summary": "A topology-preserving indexed triangle mesh with mutable owned XYZ buffers.",
8450
+ "path": "reference/mesh/TriangleMesh.md",
8451
+ "importPath": "@metamesh/modeling/geometry/mesh",
8452
+ "availability": "Pure TypeScript · Node and browsers",
8453
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMesh",
8454
+ "keywords": [
8455
+ "reference",
8456
+ "interface",
8457
+ "mesh",
8458
+ "operations",
8459
+ "TriangleMesh"
8460
+ ]
8461
+ },
8462
+ {
8463
+ "id": "modeling/reference/mesh/TriangleMeshAnalysis",
8464
+ "title": "TriangleMeshAnalysis",
8465
+ "summary": "Measurements and optional edge-connected topology from one validated mesh traversal.",
8466
+ "path": "reference/mesh/TriangleMeshAnalysis.md",
8467
+ "importPath": "@metamesh/modeling/geometry/mesh",
8468
+ "availability": "Pure TypeScript · Node and browsers",
8469
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshAnalysis",
8470
+ "keywords": [
8471
+ "reference",
8472
+ "interface",
8473
+ "mesh",
8474
+ "operations",
8475
+ "TriangleMeshAnalysis"
8476
+ ]
8477
+ },
8478
+ {
8479
+ "id": "modeling/reference/mesh/TriangleMeshAnalysisOptions",
8480
+ "title": "TriangleMeshAnalysisOptions",
8481
+ "summary": "Validation and optional connectivity controls for a shared mesh analysis.",
8482
+ "path": "reference/mesh/TriangleMeshAnalysisOptions.md",
8483
+ "importPath": "@metamesh/modeling/geometry/mesh",
8484
+ "availability": "Pure TypeScript · Node and browsers",
8485
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshAnalysisOptions",
8486
+ "keywords": [
8487
+ "reference",
8488
+ "interface",
8489
+ "mesh",
8490
+ "operations",
8491
+ "TriangleMeshAnalysisOptions"
8492
+ ]
8493
+ },
8494
+ {
8495
+ "id": "modeling/reference/mesh/TriangleMeshInput",
8496
+ "title": "TriangleMeshInput",
8497
+ "summary": "Raw construction buffers or immutable captured geometry accepted by mesh utilities.",
8498
+ "path": "reference/mesh/TriangleMeshInput.md",
8499
+ "importPath": "@metamesh/modeling/geometry/mesh",
8500
+ "availability": "Pure TypeScript · Node and browsers",
8501
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshInput",
8502
+ "keywords": [
8503
+ "reference",
8504
+ "type-alias",
8505
+ "mesh",
8506
+ "operations",
8507
+ "TriangleMeshInput"
8508
+ ]
8509
+ },
8510
+ {
8511
+ "id": "modeling/reference/mesh/TriangleMeshMeasurements",
8512
+ "title": "TriangleMeshMeasurements",
8513
+ "summary": "Geometric measurements derived from a validated, non-empty triangle mesh.",
8514
+ "path": "reference/mesh/TriangleMeshMeasurements.md",
8515
+ "importPath": "@metamesh/modeling/geometry/mesh",
8516
+ "availability": "Pure TypeScript · Node and browsers",
8517
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshMeasurements",
8518
+ "keywords": [
8519
+ "reference",
8520
+ "interface",
8521
+ "mesh",
8522
+ "operations",
8523
+ "TriangleMeshMeasurements"
8524
+ ]
8525
+ },
8526
+ {
8527
+ "id": "modeling/reference/mesh/TriangleMeshQualityOptions",
8528
+ "title": "TriangleMeshQualityOptions",
8529
+ "summary": "Options controlling bounded triangle-mesh quality analysis.",
8530
+ "path": "reference/mesh/TriangleMeshQualityOptions.md",
8531
+ "importPath": "@metamesh/modeling/geometry/mesh",
8532
+ "availability": "Pure TypeScript · Node and browsers",
8533
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshQualityOptions",
8534
+ "keywords": [
8535
+ "reference",
8536
+ "interface",
8537
+ "mesh",
8538
+ "operations",
8539
+ "TriangleMeshQualityOptions"
8540
+ ]
8541
+ },
8542
+ {
8543
+ "id": "modeling/reference/mesh/TriangleMeshQualityReport",
8544
+ "title": "TriangleMeshQualityReport",
8545
+ "summary": "Structural, topological, and planar-patch measurements for one indexed triangle mesh.",
8546
+ "path": "reference/mesh/TriangleMeshQualityReport.md",
8547
+ "importPath": "@metamesh/modeling/geometry/mesh",
8548
+ "availability": "Pure TypeScript · Node and browsers",
8549
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshQualityReport",
8550
+ "keywords": [
8551
+ "reference",
8552
+ "interface",
8553
+ "mesh",
8554
+ "operations",
8555
+ "TriangleMeshQualityReport"
8556
+ ]
8557
+ },
8558
+ {
8559
+ "id": "modeling/reference/mesh/TriangleMeshSignature",
8560
+ "title": "TriangleMeshSignature",
8561
+ "summary": "Immutable deterministic measurements for a closed, oriented triangle mesh.",
8562
+ "path": "reference/mesh/TriangleMeshSignature.md",
8563
+ "importPath": "@metamesh/modeling/geometry/mesh",
8564
+ "availability": "Pure TypeScript · Node and browsers",
8565
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshSignature",
8566
+ "keywords": [
8567
+ "reference",
8568
+ "interface",
8569
+ "mesh",
8570
+ "operations",
8571
+ "TriangleMeshSignature"
8572
+ ]
8573
+ },
8574
+ {
8575
+ "id": "modeling/reference/mesh/TriangleMeshSignatureOptions",
8576
+ "title": "TriangleMeshSignatureOptions",
8577
+ "summary": "Options controlling deterministic triangle-mesh regression signatures.",
8578
+ "path": "reference/mesh/TriangleMeshSignatureOptions.md",
8579
+ "importPath": "@metamesh/modeling/geometry/mesh",
8580
+ "availability": "Pure TypeScript · Node and browsers",
8581
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshSignatureOptions",
8582
+ "keywords": [
8583
+ "reference",
8584
+ "interface",
8585
+ "mesh",
8586
+ "operations",
8587
+ "TriangleMeshSignatureOptions"
8588
+ ]
8589
+ },
8590
+ {
8591
+ "id": "modeling/reference/mesh/TriangleMeshSignatureTolerances",
8592
+ "title": "TriangleMeshSignatureTolerances",
8593
+ "summary": "Absolute tolerances recorded in a triangle-mesh regression signature.",
8594
+ "path": "reference/mesh/TriangleMeshSignatureTolerances.md",
8595
+ "importPath": "@metamesh/modeling/geometry/mesh",
8596
+ "availability": "Pure TypeScript · Node and browsers",
8597
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshSignatureTolerances",
8598
+ "keywords": [
8599
+ "reference",
8600
+ "interface",
8601
+ "mesh",
8602
+ "operations",
8603
+ "TriangleMeshSignatureTolerances"
8604
+ ]
8605
+ },
8606
+ {
8607
+ "id": "modeling/reference/mesh/TriangleMeshTopologyAnalysis",
8608
+ "title": "TriangleMeshTopologyAnalysis",
8609
+ "summary": "Mesh measurements with the indexed surface-shell and edge counts requested by includeTopology.",
8610
+ "path": "reference/mesh/TriangleMeshTopologyAnalysis.md",
8611
+ "importPath": "@metamesh/modeling/geometry/mesh",
8612
+ "availability": "Pure TypeScript · Node and browsers",
8613
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshTopologyAnalysis",
8614
+ "keywords": [
8615
+ "reference",
8616
+ "interface",
8617
+ "mesh",
8618
+ "operations",
8619
+ "TriangleMeshTopologyAnalysis"
8620
+ ]
8621
+ },
8622
+ {
8623
+ "id": "modeling/reference/mesh/TriangleMeshValidationOptions",
8624
+ "title": "TriangleMeshValidationOptions",
8625
+ "summary": "Options controlling structural and manufacturing validation of a mesh.",
8626
+ "path": "reference/mesh/TriangleMeshValidationOptions.md",
8627
+ "importPath": "@metamesh/modeling/geometry/mesh",
8628
+ "availability": "Pure TypeScript · Node and browsers",
8629
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangleMeshValidationOptions",
8630
+ "keywords": [
8631
+ "reference",
8632
+ "interface",
8633
+ "mesh",
8634
+ "operations",
8635
+ "TriangleMeshValidationOptions"
8636
+ ]
8637
+ },
8638
+ {
8639
+ "id": "modeling/reference/mesh/TriangularThreadProfileSpec",
8640
+ "title": "TriangularThreadProfileSpec",
8641
+ "summary": "ISO/UTS-like 60-degree truncated triangular profile.",
8642
+ "path": "reference/mesh/TriangularThreadProfileSpec.md",
8643
+ "importPath": "@metamesh/modeling/geometry/mesh",
8644
+ "availability": "Pure TypeScript · Node and browsers",
8645
+ "canonical": "https://metamesh.studio/docs/reference/mesh/TriangularThreadProfileSpec",
8646
+ "keywords": [
8647
+ "reference",
8648
+ "interface",
8649
+ "mesh",
8650
+ "operations",
8651
+ "TriangularThreadProfileSpec"
8652
+ ]
8653
+ },
8654
+ {
8655
+ "id": "modeling/reference/mesh/validate",
8656
+ "title": "validate",
8657
+ "summary": "Validates mesh buffers, indices, triangle area, and optionally closed topology.",
8658
+ "path": "reference/mesh/validate.md",
8659
+ "importPath": "@metamesh/modeling/geometry/mesh",
8660
+ "availability": "Pure TypeScript · Node and browsers",
8661
+ "canonical": "https://metamesh.studio/docs/reference/mesh/validate",
8662
+ "keywords": [
8663
+ "reference",
8664
+ "function",
8665
+ "mesh",
8666
+ "operations",
8667
+ "validate"
8668
+ ]
8669
+ },
8670
+ {
8671
+ "id": "modeling/reference/mesh/validateSolid",
8672
+ "title": "validateSolid",
8673
+ "summary": "Checks closed indexed topology, triangle intersections, and alternating nested shell orientation.",
8674
+ "path": "reference/mesh/validateSolid.md",
8675
+ "importPath": "@metamesh/modeling/geometry/mesh",
8676
+ "availability": "Pure TypeScript · Node and browsers",
8677
+ "canonical": "https://metamesh.studio/docs/reference/mesh/validateSolid",
8678
+ "keywords": [
8679
+ "reference",
8680
+ "function",
8681
+ "mesh",
8682
+ "operations",
8683
+ "validateSolid"
8684
+ ]
8685
+ },
8686
+ {
8687
+ "id": "modeling/reference/mesh/Vector2",
8688
+ "title": "Vector2",
8689
+ "summary": "Immutable XY arithmetic; vector operations return new values and measurements return numbers.",
8690
+ "path": "reference/mesh/Vector2.md",
8691
+ "importPath": "@metamesh/modeling/geometry/mesh",
8692
+ "availability": "Pure TypeScript · Node and browsers",
8693
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Vector2",
8694
+ "keywords": [
8695
+ "reference",
8696
+ "interface",
8697
+ "mesh",
8698
+ "operations",
8699
+ "Vector2"
8700
+ ]
8701
+ },
8702
+ {
8703
+ "id": "modeling/reference/mesh/Vector2Data",
8704
+ "title": "Vector2Data",
8705
+ "summary": "A two-dimensional Cartesian vector or point.",
8706
+ "path": "reference/mesh/Vector2Data.md",
8707
+ "importPath": "@metamesh/modeling/geometry/mesh",
8708
+ "availability": "Pure TypeScript · Node and browsers",
8709
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Vector2Data",
8710
+ "keywords": [
8711
+ "reference",
8712
+ "type-alias",
8713
+ "mesh",
8714
+ "operations",
8715
+ "Vector2Data"
8716
+ ]
8717
+ },
8718
+ {
8719
+ "id": "modeling/reference/mesh/Vector2Input",
8720
+ "title": "Vector2Input",
8721
+ "summary": "An XY tuple or immutable fluent vector accepted by vector operations.",
8722
+ "path": "reference/mesh/Vector2Input.md",
8723
+ "importPath": "@metamesh/modeling/geometry/mesh",
8724
+ "availability": "Pure TypeScript · Node and browsers",
8725
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Vector2Input",
8726
+ "keywords": [
8727
+ "reference",
8728
+ "type-alias",
8729
+ "mesh",
8730
+ "operations",
8731
+ "Vector2Input"
8732
+ ]
8733
+ },
8734
+ {
8735
+ "id": "modeling/reference/mesh/Vector3",
8736
+ "title": "Vector3",
8737
+ "summary": "Immutable XYZ arithmetic; vector operations return new values and measurements return numbers.",
8738
+ "path": "reference/mesh/Vector3.md",
8739
+ "importPath": "@metamesh/modeling/geometry/mesh",
8740
+ "availability": "Pure TypeScript · Node and browsers",
8741
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Vector3",
8742
+ "keywords": [
8743
+ "reference",
8744
+ "interface",
8745
+ "mesh",
8746
+ "operations",
8747
+ "Vector3"
8748
+ ]
8749
+ },
8750
+ {
8751
+ "id": "modeling/reference/mesh/Vector3Data",
8752
+ "title": "Vector3Data",
8753
+ "summary": "A three-dimensional Cartesian vector or point.",
8754
+ "path": "reference/mesh/Vector3Data.md",
8755
+ "importPath": "@metamesh/modeling/geometry/mesh",
8756
+ "availability": "Pure TypeScript · Node and browsers",
8757
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Vector3Data",
8758
+ "keywords": [
8759
+ "reference",
8760
+ "type-alias",
8761
+ "mesh",
8762
+ "operations",
8763
+ "Vector3Data"
8764
+ ]
8765
+ },
8766
+ {
8767
+ "id": "modeling/reference/mesh/Vector3Input",
8768
+ "title": "Vector3Input",
8769
+ "summary": "An XYZ tuple or immutable fluent vector accepted by vector operations.",
8770
+ "path": "reference/mesh/Vector3Input.md",
8771
+ "importPath": "@metamesh/modeling/geometry/mesh",
8772
+ "availability": "Pure TypeScript · Node and browsers",
8773
+ "canonical": "https://metamesh.studio/docs/reference/mesh/Vector3Input",
8774
+ "keywords": [
8775
+ "reference",
8776
+ "type-alias",
8777
+ "mesh",
8778
+ "operations",
8779
+ "Vector3Input"
8780
+ ]
8781
+ },
8782
+ {
8783
+ "id": "modeling/reference/model",
8784
+ "title": "Model API",
8785
+ "summary": "Immutable shapes, vectors and transforms with fluent operations and host-owned geometry evaluation.",
8786
+ "path": "reference/model.md",
8787
+ "importPath": "@metamesh/modeling",
8788
+ "availability": "Immutable recipes and math · Node and browsers",
8789
+ "canonical": "https://metamesh.studio/docs/reference/model",
8790
+ "keywords": [
8791
+ "reference",
8792
+ "module",
8793
+ "model",
8794
+ "overview",
8795
+ "Model API"
8796
+ ]
8797
+ },
8798
+ {
8799
+ "id": "modeling/reference/model/AcmeThreadProfileSpec",
8800
+ "title": "AcmeThreadProfileSpec",
8801
+ "summary": "ACME 29-degree included-angle profile.",
8802
+ "path": "reference/model/AcmeThreadProfileSpec.md",
8803
+ "importPath": "@metamesh/modeling",
8804
+ "availability": "Immutable recipes and math · Node and browsers",
8805
+ "canonical": "https://metamesh.studio/docs/reference/model/AcmeThreadProfileSpec",
8806
+ "keywords": [
8807
+ "reference",
8808
+ "interface",
8809
+ "model",
8810
+ "threads",
8811
+ "AcmeThreadProfileSpec",
8812
+ "kind",
8813
+ "depth",
8814
+ "pitch",
8815
+ "tolerance"
8816
+ ]
8817
+ },
8818
+ {
8819
+ "id": "modeling/reference/model/Anchor3",
8820
+ "title": "Anchor3",
8821
+ "summary": "An attachment pose on a solid or assembly.",
8822
+ "path": "reference/model/Anchor3.md",
8823
+ "importPath": "@metamesh/modeling",
8824
+ "availability": "Immutable recipes and math · Node and browsers",
8825
+ "canonical": "https://metamesh.studio/docs/reference/model/Anchor3",
8826
+ "keywords": [
8827
+ "reference",
8828
+ "interface",
8829
+ "model",
8830
+ "transforms-placement",
8831
+ "Anchor3",
8832
+ "direction",
8833
+ "position",
8834
+ "up"
8835
+ ]
8836
+ },
8837
+ {
8838
+ "id": "modeling/reference/model/AttachOptions",
8839
+ "title": "AttachOptions",
8840
+ "summary": "Options controlling how one anchor is attached to another.",
8841
+ "path": "reference/model/AttachOptions.md",
8842
+ "importPath": "@metamesh/modeling",
8843
+ "availability": "Immutable recipes and math · Node and browsers",
8844
+ "canonical": "https://metamesh.studio/docs/reference/model/AttachOptions",
8845
+ "keywords": [
8846
+ "reference",
8847
+ "interface",
8848
+ "model",
8849
+ "transforms-placement",
8850
+ "AttachOptions",
8851
+ "alignment",
8852
+ "gap",
8853
+ "spin",
8854
+ "tolerance"
8855
+ ]
8856
+ },
8857
+ {
8858
+ "id": "modeling/reference/model/Bevel",
8859
+ "title": "Bevel",
8860
+ "summary": "One size for both ends, or independent sizes in bottom/top order. Zero disables an end.",
8861
+ "path": "reference/model/Bevel.md",
8862
+ "importPath": "@metamesh/modeling",
8863
+ "availability": "Immutable recipes and math · Node and browsers",
8864
+ "canonical": "https://metamesh.studio/docs/reference/model/Bevel",
8865
+ "keywords": [
8866
+ "reference",
8867
+ "type-alias",
8868
+ "model",
8869
+ "threads",
8870
+ "Bevel"
8871
+ ]
8872
+ },
8873
+ {
8874
+ "id": "modeling/reference/model/BevelSize",
8875
+ "title": "BevelSize",
8876
+ "summary": "Nonnegative 45-degree axial/radial bevel size in millimetres, or factory automatic sizing.",
8877
+ "path": "reference/model/BevelSize.md",
8878
+ "importPath": "@metamesh/modeling",
8879
+ "availability": "Immutable recipes and math · Node and browsers",
8880
+ "canonical": "https://metamesh.studio/docs/reference/model/BevelSize",
8881
+ "keywords": [
8882
+ "reference",
8883
+ "type-alias",
7153
8884
  "model",
7154
- "transforms-placement",
7155
- "AttachOptions",
7156
- "alignment",
7157
- "gap",
7158
- "spin",
7159
- "tolerance"
8885
+ "threads",
8886
+ "BevelSize"
7160
8887
  ]
7161
8888
  },
7162
8889
  {
@@ -7421,19 +9148,40 @@
7421
9148
  ]
7422
9149
  },
7423
9150
  {
7424
- "id": "modeling/reference/model/castSegment",
7425
- "title": "castSegment",
7426
- "summary": "Copies intersections along the finite directed origin-to-endpoint segment.",
7427
- "path": "reference/model/castSegment.md",
9151
+ "id": "modeling/reference/model/ButtressPressureFlankSide",
9152
+ "title": "ButtressPressureFlankSide",
9153
+ "summary": "Axial side carrying the near-normal pressure flank of a buttress thread.",
9154
+ "path": "reference/model/ButtressPressureFlankSide.md",
7428
9155
  "importPath": "@metamesh/modeling",
7429
9156
  "availability": "Immutable recipes and math · Node and browsers",
7430
- "canonical": "https://metamesh.studio/docs/reference/model/castSegment",
9157
+ "canonical": "https://metamesh.studio/docs/reference/model/ButtressPressureFlankSide",
7431
9158
  "keywords": [
7432
9159
  "reference",
7433
- "function",
9160
+ "type-alias",
9161
+ "model",
9162
+ "threads",
9163
+ "ButtressPressureFlankSide"
9164
+ ]
9165
+ },
9166
+ {
9167
+ "id": "modeling/reference/model/ButtressThreadProfileSpec",
9168
+ "title": "ButtressThreadProfileSpec",
9169
+ "summary": "Asymmetric printable buttress profile with 7/45-degree flanks.",
9170
+ "path": "reference/model/ButtressThreadProfileSpec.md",
9171
+ "importPath": "@metamesh/modeling",
9172
+ "availability": "Immutable recipes and math · Node and browsers",
9173
+ "canonical": "https://metamesh.studio/docs/reference/model/ButtressThreadProfileSpec",
9174
+ "keywords": [
9175
+ "reference",
9176
+ "interface",
7434
9177
  "model",
7435
- "inspection",
7436
- "castSegment"
9178
+ "threads",
9179
+ "ButtressThreadProfileSpec",
9180
+ "kind",
9181
+ "depth",
9182
+ "pressureFlankSide",
9183
+ "pitch",
9184
+ "tolerance"
7437
9185
  ]
7438
9186
  },
7439
9187
  {
@@ -7471,7 +9219,7 @@
7471
9219
  {
7472
9220
  "id": "modeling/reference/model/categories/bounds",
7473
9221
  "title": "Bounds",
7474
- "summary": "Measure immutable axis-aligned extents and test positioned containment.",
9222
+ "summary": "Measure immutable axis-aligned bounds and check whether positioned bounds contain one another.",
7475
9223
  "path": "reference/model/categories/bounds.md",
7476
9224
  "importPath": "@metamesh/modeling",
7477
9225
  "availability": "Immutable recipes and math · Node and browsers",
@@ -7487,7 +9235,7 @@
7487
9235
  {
7488
9236
  "id": "modeling/reference/model/categories/contracts",
7489
9237
  "title": "Model contracts",
7490
- "summary": "Describe opaque handles, dimensions, manufacturing parts, and completed snapshots.",
9238
+ "summary": "Understand opaque shape handles, dimensions, manufacturing parts, and durable model results.",
7491
9239
  "path": "reference/model/categories/contracts.md",
7492
9240
  "importPath": "@metamesh/modeling",
7493
9241
  "availability": "Immutable recipes and math · Node and browsers",
@@ -7502,8 +9250,8 @@
7502
9250
  },
7503
9251
  {
7504
9252
  "id": "modeling/reference/model/categories/core-values-errors",
7505
- "title": "Core values",
7506
- "summary": "Use shared coordinate, path, polygon, and bounds data.",
9253
+ "title": "Core values and errors",
9254
+ "summary": "Use shared coordinate data and recognize structured geometry errors.",
7507
9255
  "path": "reference/model/categories/core-values-errors.md",
7508
9256
  "importPath": "@metamesh/modeling",
7509
9257
  "availability": "Immutable recipes and math · Node and browsers",
@@ -7513,7 +9261,7 @@
7513
9261
  "category",
7514
9262
  "model",
7515
9263
  "core-values-errors",
7516
- "Core values"
9264
+ "Core values and errors"
7517
9265
  ]
7518
9266
  },
7519
9267
  {
@@ -7551,7 +9299,7 @@
7551
9299
  {
7552
9300
  "id": "modeling/reference/model/categories/generation",
7553
9301
  "title": "Model generation",
7554
- "summary": "Declare typed programs, optional computations, semantic parts and structured diagnostics.",
9302
+ "summary": "Build typed models with optional cached computations, named parts, and structured warnings or errors.",
7555
9303
  "path": "reference/model/categories/generation.md",
7556
9304
  "importPath": "@metamesh/modeling",
7557
9305
  "availability": "Immutable recipes and math · Node and browsers",
@@ -7580,26 +9328,10 @@
7580
9328
  "Knuckle joints"
7581
9329
  ]
7582
9330
  },
7583
- {
7584
- "id": "modeling/reference/model/categories/inspection",
7585
- "title": "Solid inspection",
7586
- "summary": "Evaluate recipes and copy observations while the host owns native resources.",
7587
- "path": "reference/model/categories/inspection.md",
7588
- "importPath": "@metamesh/modeling",
7589
- "availability": "Immutable recipes and math · Node and browsers",
7590
- "canonical": "https://metamesh.studio/docs/reference/model/categories/inspection",
7591
- "keywords": [
7592
- "reference",
7593
- "category",
7594
- "model",
7595
- "inspection",
7596
- "Solid inspection"
7597
- ]
7598
- },
7599
9331
  {
7600
9332
  "id": "modeling/reference/model/categories/mesh-inspection",
7601
9333
  "title": "Mesh and inspection",
7602
- "summary": "Convert validated meshes and inspect stable section or solid measurements.",
9334
+ "summary": "Convert validated meshes and read stable section or solid measurements.",
7603
9335
  "path": "reference/model/categories/mesh-inspection.md",
7604
9336
  "importPath": "@metamesh/modeling",
7605
9337
  "availability": "Immutable recipes and math · Node and browsers",
@@ -7615,7 +9347,7 @@
7615
9347
  {
7616
9348
  "id": "modeling/reference/model/categories/paths",
7617
9349
  "title": "Sampled paths",
7618
- "summary": "Reusable immutable planar and spatial trajectories.",
9350
+ "summary": "Reuse immutable sampled paths in 2D or 3D.",
7619
9351
  "path": "reference/model/categories/paths.md",
7620
9352
  "importPath": "@metamesh/modeling",
7621
9353
  "availability": "Immutable recipes and math · Node and browsers",
@@ -7631,7 +9363,7 @@
7631
9363
  {
7632
9364
  "id": "modeling/reference/model/categories/primitives",
7633
9365
  "title": "Primitives",
7634
- "summary": "Create foundational solid geometry and configure its dimensions and tessellation.",
9366
+ "summary": "Create basic solids with explicit dimensions and tessellation.",
7635
9367
  "path": "reference/model/categories/primitives.md",
7636
9368
  "importPath": "@metamesh/modeling",
7637
9369
  "availability": "Immutable recipes and math · Node and browsers",
@@ -7695,7 +9427,7 @@
7695
9427
  {
7696
9428
  "id": "modeling/reference/model/categories/transforms-placement",
7697
9429
  "title": "Transforms, vectors, and placement",
7698
- "summary": "Calculate with immutable vectors, reuse transforms, and arrange geometry with explicit placement contracts.",
9430
+ "summary": "Calculate with immutable vectors, reuse transforms, and position geometry.",
7699
9431
  "path": "reference/model/categories/transforms-placement.md",
7700
9432
  "importPath": "@metamesh/modeling",
7701
9433
  "availability": "Immutable recipes and math · Node and browsers",
@@ -7793,38 +9525,6 @@
7793
9525
  "resolution"
7794
9526
  ]
7795
9527
  },
7796
- {
7797
- "id": "modeling/reference/model/components",
7798
- "title": "components",
7799
- "summary": "Observes disconnected material pieces as session-restricted solid selections.",
7800
- "path": "reference/model/components.md",
7801
- "importPath": "@metamesh/modeling",
7802
- "availability": "Immutable recipes and math · Node and browsers",
7803
- "canonical": "https://metamesh.studio/docs/reference/model/components",
7804
- "keywords": [
7805
- "reference",
7806
- "function",
7807
- "model",
7808
- "inspection",
7809
- "components"
7810
- ]
7811
- },
7812
- {
7813
- "id": "modeling/reference/model/compose",
7814
- "title": "compose",
7815
- "summary": "Combines disjoint components without resolving overlap.",
7816
- "path": "reference/model/compose.md",
7817
- "importPath": "@metamesh/modeling",
7818
- "availability": "Immutable recipes and math · Node and browsers",
7819
- "canonical": "https://metamesh.studio/docs/reference/model/compose",
7820
- "keywords": [
7821
- "reference",
7822
- "function",
7823
- "model",
7824
- "boolean-operations",
7825
- "compose"
7826
- ]
7827
- },
7828
9528
  {
7829
9529
  "id": "modeling/reference/model/Computed",
7830
9530
  "title": "Computed",
@@ -7945,6 +9645,46 @@
7945
9645
  "CorrespondingProfileStation"
7946
9646
  ]
7947
9647
  },
9648
+ {
9649
+ "id": "modeling/reference/model/CurveSamplingOptions",
9650
+ "title": "CurveSamplingOptions",
9651
+ "summary": "Explicit physical sampling and allocation policy for reusable curves.",
9652
+ "path": "reference/model/CurveSamplingOptions.md",
9653
+ "importPath": "@metamesh/modeling",
9654
+ "availability": "Immutable recipes and math · Node and browsers",
9655
+ "canonical": "https://metamesh.studio/docs/reference/model/CurveSamplingOptions",
9656
+ "keywords": [
9657
+ "reference",
9658
+ "interface",
9659
+ "model",
9660
+ "paths",
9661
+ "CurveSamplingOptions",
9662
+ "segments",
9663
+ "resolution",
9664
+ "maxVertices",
9665
+ "limits"
9666
+ ]
9667
+ },
9668
+ {
9669
+ "id": "modeling/reference/model/CustomThreadProfileSpec",
9670
+ "title": "CustomThreadProfileSpec",
9671
+ "summary": "Caller-defined periodic axial/radial profile in millimetres.",
9672
+ "path": "reference/model/CustomThreadProfileSpec.md",
9673
+ "importPath": "@metamesh/modeling",
9674
+ "availability": "Immutable recipes and math · Node and browsers",
9675
+ "canonical": "https://metamesh.studio/docs/reference/model/CustomThreadProfileSpec",
9676
+ "keywords": [
9677
+ "reference",
9678
+ "interface",
9679
+ "model",
9680
+ "threads",
9681
+ "CustomThreadProfileSpec",
9682
+ "kind",
9683
+ "points",
9684
+ "pitch",
9685
+ "tolerance"
9686
+ ]
9687
+ },
7948
9688
  {
7949
9689
  "id": "modeling/reference/model/cylinder",
7950
9690
  "title": "cylinder",
@@ -7991,23 +9731,8 @@
7991
9731
  "model",
7992
9732
  "generation",
7993
9733
  "DiagnosticOptions",
7994
- "parameterId"
7995
- ]
7996
- },
7997
- {
7998
- "id": "modeling/reference/model/distance",
7999
- "title": "distance",
8000
- "summary": "Measures the minimum separation between two nonempty solids in millimetres.",
8001
- "path": "reference/model/distance.md",
8002
- "importPath": "@metamesh/modeling",
8003
- "availability": "Immutable recipes and math · Node and browsers",
8004
- "canonical": "https://metamesh.studio/docs/reference/model/distance",
8005
- "keywords": [
8006
- "reference",
8007
- "function",
8008
- "model",
8009
- "inspection",
8010
- "distance"
9734
+ "parameterId",
9735
+ "path"
8011
9736
  ]
8012
9737
  },
8013
9738
  {
@@ -8095,7 +9820,7 @@
8095
9820
  {
8096
9821
  "id": "modeling/reference/model/extrude",
8097
9822
  "title": "extrude",
8098
- "summary": "Extrudes explicit corresponding contours along +Z with degree twist and top scaling. Filled Sections use `section.extrude(options)`.",
9823
+ "summary": "Extrudes a filled Section or explicit corresponding contours along +Z with degree twist and top scaling. Use `section.extrude(options)` in fluent sequences, or this function for generic profile inputs.",
8099
9824
  "path": "reference/model/extrude.md",
8100
9825
  "importPath": "@metamesh/modeling",
8101
9826
  "availability": "Immutable recipes and math · Node and browsers",
@@ -8109,22 +9834,21 @@
8109
9834
  ]
8110
9835
  },
8111
9836
  {
8112
- "id": "modeling/reference/model/ExtrudeOptions",
8113
- "title": "ExtrudeOptions",
8114
- "summary": "Dimensions and sampling shared by native and pure +Z extrusion.",
8115
- "path": "reference/model/ExtrudeOptions.md",
9837
+ "id": "modeling/reference/model/ExtrudeMeshOptions",
9838
+ "title": "ExtrudeMeshOptions",
9839
+ "summary": "Dimensions and sampling for pure +Z mesh extrusion, without end treatments.",
9840
+ "path": "reference/model/ExtrudeMeshOptions.md",
8116
9841
  "importPath": "@metamesh/modeling",
8117
9842
  "availability": "Immutable recipes and math · Node and browsers",
8118
- "canonical": "https://metamesh.studio/docs/reference/model/ExtrudeOptions",
9843
+ "canonical": "https://metamesh.studio/docs/reference/model/ExtrudeMeshOptions",
8119
9844
  "keywords": [
8120
9845
  "reference",
8121
9846
  "interface",
8122
9847
  "model",
8123
9848
  "extrude-revolve-sweep",
8124
- "ExtrudeOptions",
9849
+ "ExtrudeMeshOptions",
8125
9850
  "height",
8126
9851
  "center",
8127
- "ends",
8128
9852
  "divisions",
8129
9853
  "limits",
8130
9854
  "resolution",
@@ -8133,43 +9857,48 @@
8133
9857
  ]
8134
9858
  },
8135
9859
  {
8136
- "id": "modeling/reference/model/FinalizedModel",
8137
- "title": "FinalizedModel",
8138
- "summary": "Finalized manufacturing snapshot. Its arrays are independent of all native values.",
8139
- "path": "reference/model/FinalizedModel.md",
9860
+ "id": "modeling/reference/model/ExtrudeOptions",
9861
+ "title": "ExtrudeOptions",
9862
+ "summary": "Native +Z extrusion with optional inward end treatments.",
9863
+ "path": "reference/model/ExtrudeOptions.md",
8140
9864
  "importPath": "@metamesh/modeling",
8141
9865
  "availability": "Immutable recipes and math · Node and browsers",
8142
- "canonical": "https://metamesh.studio/docs/reference/model/FinalizedModel",
9866
+ "canonical": "https://metamesh.studio/docs/reference/model/ExtrudeOptions",
8143
9867
  "keywords": [
8144
9868
  "reference",
8145
9869
  "interface",
8146
9870
  "model",
8147
- "contracts",
8148
- "FinalizedModel",
8149
- "parts",
8150
- "bounds",
8151
- "stats"
9871
+ "extrude-revolve-sweep",
9872
+ "ExtrudeOptions",
9873
+ "height",
9874
+ "center",
9875
+ "ends",
9876
+ "divisions",
9877
+ "limits",
9878
+ "resolution",
9879
+ "scaleTop",
9880
+ "twist"
8152
9881
  ]
8153
9882
  },
8154
9883
  {
8155
- "id": "modeling/reference/model/FinalizedPart",
8156
- "title": "FinalizedPart",
8157
- "summary": "Copied manufacturing part with facts computed from the finalized mesh.",
8158
- "path": "reference/model/FinalizedPart.md",
9884
+ "id": "modeling/reference/model/ExtrusionSamplingOptions",
9885
+ "title": "ExtrusionSamplingOptions",
9886
+ "summary": "Shared sampling controls for a twisted or scaled linear extrusion.",
9887
+ "path": "reference/model/ExtrusionSamplingOptions.md",
8159
9888
  "importPath": "@metamesh/modeling",
8160
9889
  "availability": "Immutable recipes and math · Node and browsers",
8161
- "canonical": "https://metamesh.studio/docs/reference/model/FinalizedPart",
9890
+ "canonical": "https://metamesh.studio/docs/reference/model/ExtrusionSamplingOptions",
8162
9891
  "keywords": [
8163
9892
  "reference",
8164
9893
  "interface",
8165
9894
  "model",
8166
- "contracts",
8167
- "FinalizedPart",
8168
- "id",
8169
- "color",
8170
- "measurements",
8171
- "indices",
8172
- "positions"
9895
+ "extrude-revolve-sweep",
9896
+ "ExtrusionSamplingOptions",
9897
+ "divisions",
9898
+ "limits",
9899
+ "resolution",
9900
+ "scaleTop",
9901
+ "twist"
8173
9902
  ]
8174
9903
  },
8175
9904
  {
@@ -8195,7 +9924,7 @@
8195
9924
  {
8196
9925
  "id": "modeling/reference/model/generate",
8197
9926
  "title": "generate",
8198
- "summary": "Defines a typed model without executing it. Use `computed` only for work worth reusing.",
9927
+ "summary": "Defines a typed model without executing it. Parameters are an object map of capturable data; runtime capture rejects arrays at the root, ordinary class instances, mutable buffers, and functions. Supply live capabilities through services. Use `computed` only for work worth reusing.",
8199
9928
  "path": "reference/model/generate.md",
8200
9929
  "importPath": "@metamesh/modeling",
8201
9930
  "availability": "Immutable recipes and math · Node and browsers",
@@ -8246,27 +9975,6 @@
8246
9975
  "warn"
8247
9976
  ]
8248
9977
  },
8249
- {
8250
- "id": "modeling/reference/model/GeneratedPart",
8251
- "title": "GeneratedPart",
8252
- "summary": "One declared output part. Construct with the context's `part` helper.",
8253
- "path": "reference/model/GeneratedPart.md",
8254
- "importPath": "@metamesh/modeling",
8255
- "availability": "Immutable recipes and math · Node and browsers",
8256
- "canonical": "https://metamesh.studio/docs/reference/model/GeneratedPart",
8257
- "keywords": [
8258
- "reference",
8259
- "interface",
8260
- "model",
8261
- "generation",
8262
- "GeneratedPart",
8263
- "id",
8264
- "geometry",
8265
- "position",
8266
- "rotation",
8267
- "color"
8268
- ]
8269
- },
8270
9978
  {
8271
9979
  "id": "modeling/reference/model/GenerationDiagnostic",
8272
9980
  "title": "GenerationDiagnostic",
@@ -8283,7 +9991,8 @@
8283
9991
  "GenerationDiagnostic",
8284
9992
  "severity",
8285
9993
  "message",
8286
- "parameterId"
9994
+ "parameterId",
9995
+ "path"
8287
9996
  ]
8288
9997
  },
8289
9998
  {
@@ -8304,6 +10013,59 @@
8304
10013
  "constructor"
8305
10014
  ]
8306
10015
  },
10016
+ {
10017
+ "id": "modeling/reference/model/GeometryError",
10018
+ "title": "GeometryError",
10019
+ "summary": "Error raised when a geometry precondition or invariant is not satisfied.",
10020
+ "path": "reference/model/GeometryError.md",
10021
+ "importPath": "@metamesh/modeling",
10022
+ "availability": "Immutable recipes and math · Node and browsers",
10023
+ "canonical": "https://metamesh.studio/docs/reference/model/GeometryError",
10024
+ "keywords": [
10025
+ "reference",
10026
+ "class",
10027
+ "model",
10028
+ "core-values-errors",
10029
+ "GeometryError",
10030
+ "code",
10031
+ "context",
10032
+ "constructor"
10033
+ ]
10034
+ },
10035
+ {
10036
+ "id": "modeling/reference/model/GeometryErrorCode",
10037
+ "title": "GeometryErrorCode",
10038
+ "summary": "Stable categories for invalid inputs, topology, allocation, and runtime failures.",
10039
+ "path": "reference/model/GeometryErrorCode.md",
10040
+ "importPath": "@metamesh/modeling",
10041
+ "availability": "Immutable recipes and math · Node and browsers",
10042
+ "canonical": "https://metamesh.studio/docs/reference/model/GeometryErrorCode",
10043
+ "keywords": [
10044
+ "reference",
10045
+ "type-alias",
10046
+ "model",
10047
+ "core-values-errors",
10048
+ "GeometryErrorCode"
10049
+ ]
10050
+ },
10051
+ {
10052
+ "id": "modeling/reference/model/GeometryErrorContext",
10053
+ "title": "GeometryErrorContext",
10054
+ "summary": "Serializable context attached to a geometry failure.",
10055
+ "path": "reference/model/GeometryErrorContext.md",
10056
+ "importPath": "@metamesh/modeling",
10057
+ "availability": "Immutable recipes and math · Node and browsers",
10058
+ "canonical": "https://metamesh.studio/docs/reference/model/GeometryErrorContext",
10059
+ "keywords": [
10060
+ "reference",
10061
+ "interface",
10062
+ "model",
10063
+ "core-values-errors",
10064
+ "GeometryErrorContext",
10065
+ "details",
10066
+ "operation"
10067
+ ]
10068
+ },
8307
10069
  {
8308
10070
  "id": "modeling/reference/model/GeometryResolution",
8309
10071
  "title": "GeometryResolution",
@@ -8428,56 +10190,10 @@
8428
10190
  "HeightfieldOptions"
8429
10191
  ]
8430
10192
  },
8431
- {
8432
- "id": "modeling/reference/model/HelicalThreadRidgeMeshOptions",
8433
- "title": "HelicalThreadRidgeMeshOptions",
8434
- "summary": "Runtime-neutral options for the dedicated helical ridge mesher.",
8435
- "path": "reference/model/HelicalThreadRidgeMeshOptions.md",
8436
- "importPath": "@metamesh/modeling",
8437
- "availability": "Immutable recipes and math · Node and browsers",
8438
- "canonical": "https://metamesh.studio/docs/reference/model/HelicalThreadRidgeMeshOptions",
8439
- "keywords": [
8440
- "reference",
8441
- "interface",
8442
- "model",
8443
- "threads",
8444
- "HelicalThreadRidgeMeshOptions",
8445
- "ends",
8446
- "handedness",
8447
- "length",
8448
- "limits",
8449
- "majorDiameter",
8450
- "phase",
8451
- "profile",
8452
- "resolution",
8453
- "starts",
8454
- "tolerance"
8455
- ]
8456
- },
8457
- {
8458
- "id": "modeling/reference/model/HelicalThreadSolidMeshPreflight",
8459
- "title": "HelicalThreadSolidMeshPreflight",
8460
- "summary": "Selected sampling counts and conservative allocation estimates, before thread mesh construction.",
8461
- "path": "reference/model/HelicalThreadSolidMeshPreflight.md",
8462
- "importPath": "@metamesh/modeling",
8463
- "availability": "Immutable recipes and math · Node and browsers",
8464
- "canonical": "https://metamesh.studio/docs/reference/model/HelicalThreadSolidMeshPreflight",
8465
- "keywords": [
8466
- "reference",
8467
- "interface",
8468
- "model",
8469
- "threads",
8470
- "HelicalThreadSolidMeshPreflight",
8471
- "axialIntervals",
8472
- "circularSegments",
8473
- "estimatedRows",
8474
- "estimatedTriangles"
8475
- ]
8476
- },
8477
10193
  {
8478
10194
  "id": "modeling/reference/model/holeCutter",
8479
10195
  "title": "holeCutter",
8480
- "summary": "Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres. Choose exactly one circular diameter or existing Section. A 45-degree entry chamfer supports one strictly convex contour without holes; plain profiles may have any topology. Circular entries retain nominal frustum radii; profile entries offset the supplied polygon edges. Circular head recesses are mutually exclusive with entryChamfer. Both overrun ends default to zero, so the nominal bottom remains at Z=0 and blind pocket floors are preserved. Existing Section samples are authoritative; limits and unspecified circular sampling belong to the evaluating host. Compiled packages require runtime major 9.",
10196
+ "summary": "Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres.",
8481
10197
  "path": "reference/model/holeCutter.md",
8482
10198
  "importPath": "@metamesh/modeling",
8483
10199
  "availability": "Immutable recipes and math · Node and browsers",
@@ -8591,7 +10307,7 @@
8591
10307
  {
8592
10308
  "id": "modeling/reference/model/ImmutableBuffer-type",
8593
10309
  "title": "ImmutableBuffer",
8594
- "summary": "Owned immutable numeric data. Use copy() to obtain mutable storage for numerical work.",
10310
+ "summary": "Owned immutable numeric data. Iterate without copying; use copy() for mutable storage.",
8595
10311
  "path": "reference/model/ImmutableBuffer-type.md",
8596
10312
  "importPath": "@metamesh/modeling",
8597
10313
  "availability": "Immutable recipes and math · Node and browsers",
@@ -8601,45 +10317,39 @@
8601
10317
  "interface",
8602
10318
  "model",
8603
10319
  "generation",
8604
- "ImmutableBuffer",
8605
- "[immutableBufferBrand]",
8606
- "length",
8607
- "at",
8608
- "copy"
10320
+ "ImmutableBuffer"
8609
10321
  ]
8610
10322
  },
8611
10323
  {
8612
- "id": "modeling/reference/model/immutableMesh",
8613
- "title": "immutableMesh",
8614
- "summary": "Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing.",
8615
- "path": "reference/model/immutableMesh.md",
10324
+ "id": "modeling/reference/model/ImmutableTriangleMesh",
10325
+ "title": "ImmutableTriangleMesh",
10326
+ "summary": "Immutable local XYZ positions and triangle indices, suitable for a computed value or part.",
10327
+ "path": "reference/model/ImmutableTriangleMesh.md",
8616
10328
  "importPath": "@metamesh/modeling",
8617
10329
  "availability": "Immutable recipes and math · Node and browsers",
8618
- "canonical": "https://metamesh.studio/docs/reference/model/immutableMesh",
10330
+ "canonical": "https://metamesh.studio/docs/reference/model/ImmutableTriangleMesh",
8619
10331
  "keywords": [
8620
10332
  "reference",
8621
- "function",
10333
+ "interface",
8622
10334
  "model",
8623
10335
  "generation",
8624
- "immutableMesh"
10336
+ "ImmutableTriangleMesh"
8625
10337
  ]
8626
10338
  },
8627
10339
  {
8628
- "id": "modeling/reference/model/ImmutableTriangleMesh",
8629
- "title": "ImmutableTriangleMesh",
8630
- "summary": "Immutable local XYZ positions and triangle indices, suitable for a computed value or part.",
8631
- "path": "reference/model/ImmutableTriangleMesh.md",
10340
+ "id": "modeling/reference/model/ImmutableValue",
10341
+ "title": "ImmutableValue",
10342
+ "summary": "Deeply readonly view of captured generation data, including nested arrays and tuples. Modeling value methods keep their signatures, including explicit mutable copies. This type does not make unsupported runtime values valid generation data.",
10343
+ "path": "reference/model/ImmutableValue.md",
8632
10344
  "importPath": "@metamesh/modeling",
8633
10345
  "availability": "Immutable recipes and math · Node and browsers",
8634
- "canonical": "https://metamesh.studio/docs/reference/model/ImmutableTriangleMesh",
10346
+ "canonical": "https://metamesh.studio/docs/reference/model/ImmutableValue",
8635
10347
  "keywords": [
8636
10348
  "reference",
8637
- "interface",
10349
+ "type-alias",
8638
10350
  "model",
8639
10351
  "generation",
8640
- "ImmutableTriangleMesh",
8641
- "positions",
8642
- "indices"
10352
+ "ImmutableValue"
8643
10353
  ]
8644
10354
  },
8645
10355
  {
@@ -8679,38 +10389,6 @@
8679
10389
  "tolerance"
8680
10390
  ]
8681
10391
  },
8682
- {
8683
- "id": "modeling/reference/model/inspectSection",
8684
- "title": "inspectSection",
8685
- "summary": "Copies lightweight section measurements.",
8686
- "path": "reference/model/inspectSection.md",
8687
- "importPath": "@metamesh/modeling",
8688
- "availability": "Immutable recipes and math · Node and browsers",
8689
- "canonical": "https://metamesh.studio/docs/reference/model/inspectSection",
8690
- "keywords": [
8691
- "reference",
8692
- "function",
8693
- "model",
8694
- "mesh-inspection",
8695
- "inspectSection"
8696
- ]
8697
- },
8698
- {
8699
- "id": "modeling/reference/model/inspectSolid",
8700
- "title": "inspectSolid",
8701
- "summary": "Reads immutable native facts once per solid; temporary components are owned by the build.",
8702
- "path": "reference/model/inspectSolid.md",
8703
- "importPath": "@metamesh/modeling",
8704
- "availability": "Immutable recipes and math · Node and browsers",
8705
- "canonical": "https://metamesh.studio/docs/reference/model/inspectSolid",
8706
- "keywords": [
8707
- "reference",
8708
- "function",
8709
- "model",
8710
- "mesh-inspection",
8711
- "inspectSolid"
8712
- ]
8713
- },
8714
10392
  {
8715
10393
  "id": "modeling/reference/model/internalThreadCutter",
8716
10394
  "title": "internalThreadCutter",
@@ -8741,6 +10419,9 @@
8741
10419
  "model",
8742
10420
  "threads",
8743
10421
  "InternalThreadCutterOptions",
10422
+ "fit",
10423
+ "nominalMajorDiameter",
10424
+ "bevel",
8744
10425
  "ends",
8745
10426
  "handedness",
8746
10427
  "length",
@@ -8749,18 +10430,13 @@
8749
10430
  "profile",
8750
10431
  "resolution",
8751
10432
  "starts",
8752
- "tolerance",
8753
- "fit",
8754
- "nominalMajorDiameter",
8755
- "bevelBottom",
8756
- "bevelSize",
8757
- "bevelTop"
10433
+ "tolerance"
8758
10434
  ]
8759
10435
  },
8760
10436
  {
8761
10437
  "id": "modeling/reference/model/intersect",
8762
10438
  "title": "intersect",
8763
- "summary": "Robust intersection.",
10439
+ "summary": "Robust intersection of one or more shapes; empty input rejects during declaration.",
8764
10440
  "path": "reference/model/intersect.md",
8765
10441
  "importPath": "@metamesh/modeling",
8766
10442
  "availability": "Immutable recipes and math · Node and browsers",
@@ -8774,19 +10450,19 @@
8774
10450
  ]
8775
10451
  },
8776
10452
  {
8777
- "id": "modeling/reference/model/isEmpty",
8778
- "title": "isEmpty",
8779
- "summary": "Checks whether a solid or filled section contains no geometry during host execution.",
8780
- "path": "reference/model/isEmpty.md",
10453
+ "id": "modeling/reference/model/isGeometryError",
10454
+ "title": "isGeometryError",
10455
+ "summary": "Recognizes structured geometry errors from separately bundled Modeling copies in the same realm.",
10456
+ "path": "reference/model/isGeometryError.md",
8781
10457
  "importPath": "@metamesh/modeling",
8782
10458
  "availability": "Immutable recipes and math · Node and browsers",
8783
- "canonical": "https://metamesh.studio/docs/reference/model/isEmpty",
10459
+ "canonical": "https://metamesh.studio/docs/reference/model/isGeometryError",
8784
10460
  "keywords": [
8785
10461
  "reference",
8786
10462
  "function",
8787
10463
  "model",
8788
- "inspection",
8789
- "isEmpty"
10464
+ "core-values-errors",
10465
+ "isGeometryError"
8790
10466
  ]
8791
10467
  },
8792
10468
  {
@@ -8970,7 +10646,7 @@
8970
10646
  {
8971
10647
  "id": "modeling/reference/model/loft",
8972
10648
  "title": "loft",
8973
- "summary": "Lofts primitive Sections at z heights or frames; arbitrary Sections and loops require an explicit correspondence method.",
10649
+ "summary": "Lofts Sections and point loops at z heights or frames. Known primitive landmarks are retained; other profiles default to direct correspondence, preserving their supplied seams.",
8974
10650
  "path": "reference/model/loft.md",
8975
10651
  "importPath": "@metamesh/modeling",
8976
10652
  "availability": "Immutable recipes and math · Node and browsers",
@@ -9002,7 +10678,7 @@
9002
10678
  {
9003
10679
  "id": "modeling/reference/model/LoftOptions",
9004
10680
  "title": "LoftOptions",
9005
- "summary": "Shared controls for native and pure lofts. Point data and arbitrary Sections require explicit correspondence.",
10681
+ "summary": "Shared controls for native and pure lofts. Point data and arbitrary Sections default to direct correspondence.",
9006
10682
  "path": "reference/model/LoftOptions.md",
9007
10683
  "importPath": "@metamesh/modeling",
9008
10684
  "availability": "Immutable recipes and math · Node and browsers",
@@ -9161,6 +10837,26 @@
9161
10837
  "NumericArray"
9162
10838
  ]
9163
10839
  },
10840
+ {
10841
+ "id": "modeling/reference/model/PartDeclaration",
10842
+ "title": "PartDeclaration",
10843
+ "summary": "One declared output part. Construct with the context's `part` helper.",
10844
+ "path": "reference/model/PartDeclaration.md",
10845
+ "importPath": "@metamesh/modeling",
10846
+ "availability": "Immutable recipes and math · Node and browsers",
10847
+ "canonical": "https://metamesh.studio/docs/reference/model/PartDeclaration",
10848
+ "keywords": [
10849
+ "reference",
10850
+ "interface",
10851
+ "model",
10852
+ "generation",
10853
+ "PartDeclaration",
10854
+ "id",
10855
+ "geometry",
10856
+ "transform",
10857
+ "color"
10858
+ ]
10859
+ },
9164
10860
  {
9165
10861
  "id": "modeling/reference/model/PartGeometry",
9166
10862
  "title": "PartGeometry",
@@ -9192,8 +10888,7 @@
9192
10888
  "generation",
9193
10889
  "PartOptions",
9194
10890
  "geometry",
9195
- "position",
9196
- "rotation",
10891
+ "transform",
9197
10892
  "color"
9198
10893
  ]
9199
10894
  },
@@ -9992,7 +11687,7 @@
9992
11687
  {
9993
11688
  "id": "modeling/reference/model/revolve",
9994
11689
  "title": "revolve",
9995
- "summary": "Revolves explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Filled Sections use `section.revolve(options)`.",
11690
+ "summary": "Revolves a filled Section or explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Use `section.revolve(options)` in fluent sequences, or this function for generic profile inputs.",
9996
11691
  "path": "reference/model/revolve.md",
9997
11692
  "importPath": "@metamesh/modeling",
9998
11693
  "availability": "Immutable recipes and math · Node and browsers",
@@ -10067,13 +11762,19 @@
10067
11762
  "mirror",
10068
11763
  "transform",
10069
11764
  "toRegionData",
11765
+ "union",
11766
+ "intersect",
10070
11767
  "subtract",
10071
11768
  "simplify",
10072
11769
  "withAnchors",
10073
11770
  "offset",
10074
11771
  "extrude",
10075
11772
  "revolve",
10076
- "sweep"
11773
+ "sweep",
11774
+ "inspect",
11775
+ "isEmpty",
11776
+ "components",
11777
+ "anchor"
10077
11778
  ]
10078
11779
  },
10079
11780
  {
@@ -10109,8 +11810,7 @@
10109
11810
  "isEmpty",
10110
11811
  "area",
10111
11812
  "contourCount",
10112
- "max",
10113
- "min",
11813
+ "bounds",
10114
11814
  "componentCount",
10115
11815
  "vertexCount"
10116
11816
  ]
@@ -10192,14 +11892,24 @@
10192
11892
  "scale",
10193
11893
  "mirror",
10194
11894
  "transform",
10195
- "toTriangleMesh",
11895
+ "toMesh",
11896
+ "union",
11897
+ "intersect",
10196
11898
  "subtract",
10197
11899
  "simplify",
10198
11900
  "withAnchors",
10199
11901
  "attach",
10200
11902
  "withTolerance",
10201
11903
  "projectSection",
10202
- "sliceSection"
11904
+ "sliceSection",
11905
+ "inspect",
11906
+ "isEmpty",
11907
+ "components",
11908
+ "anchor",
11909
+ "distance",
11910
+ "castSegment",
11911
+ "split",
11912
+ "splitByPlane"
10203
11913
  ]
10204
11914
  },
10205
11915
  {
@@ -10233,8 +11943,7 @@
10233
11943
  "mesh-inspection",
10234
11944
  "SolidInspection",
10235
11945
  "isEmpty",
10236
- "max",
10237
- "min",
11946
+ "bounds",
10238
11947
  "componentCount",
10239
11948
  "volume",
10240
11949
  "surfaceArea",
@@ -10253,7 +11962,7 @@
10253
11962
  "reference",
10254
11963
  "interface",
10255
11964
  "model",
10256
- "inspection",
11965
+ "mesh-inspection",
10257
11966
  "SolidSegmentHit",
10258
11967
  "faceId",
10259
11968
  "distance",
@@ -10294,51 +12003,60 @@
10294
12003
  ]
10295
12004
  },
10296
12005
  {
10297
- "id": "modeling/reference/model/split",
10298
- "title": "split",
10299
- "summary": "Splits a solid into [inside the cutter, outside the cutter].",
10300
- "path": "reference/model/split.md",
12006
+ "id": "modeling/reference/model/SquareThreadProfileSpec",
12007
+ "title": "SquareThreadProfileSpec",
12008
+ "summary": "Square profile with equal crest and root widths.",
12009
+ "path": "reference/model/SquareThreadProfileSpec.md",
10301
12010
  "importPath": "@metamesh/modeling",
10302
12011
  "availability": "Immutable recipes and math · Node and browsers",
10303
- "canonical": "https://metamesh.studio/docs/reference/model/split",
12012
+ "canonical": "https://metamesh.studio/docs/reference/model/SquareThreadProfileSpec",
10304
12013
  "keywords": [
10305
12014
  "reference",
10306
- "function",
12015
+ "interface",
10307
12016
  "model",
10308
- "boolean-operations",
10309
- "split"
12017
+ "threads",
12018
+ "SquareThreadProfileSpec",
12019
+ "kind",
12020
+ "depth",
12021
+ "pitch",
12022
+ "tolerance"
10310
12023
  ]
10311
12024
  },
10312
12025
  {
10313
- "id": "modeling/reference/model/splitByPlane",
10314
- "title": "splitByPlane",
10315
- "summary": "Splits a solid into [positive-normal side, negative side] at a world-space plane.",
10316
- "path": "reference/model/splitByPlane.md",
12026
+ "id": "modeling/reference/model/star",
12027
+ "title": "star",
12028
+ "summary": "Alternating outer/inner star vertices.",
12029
+ "path": "reference/model/star.md",
10317
12030
  "importPath": "@metamesh/modeling",
10318
12031
  "availability": "Immutable recipes and math · Node and browsers",
10319
- "canonical": "https://metamesh.studio/docs/reference/model/splitByPlane",
12032
+ "canonical": "https://metamesh.studio/docs/reference/model/star",
10320
12033
  "keywords": [
10321
12034
  "reference",
10322
12035
  "function",
10323
12036
  "model",
10324
- "boolean-operations",
10325
- "splitByPlane"
12037
+ "sections",
12038
+ "star"
10326
12039
  ]
10327
12040
  },
10328
12041
  {
10329
- "id": "modeling/reference/model/star",
10330
- "title": "star",
10331
- "summary": "Alternating outer/inner star vertices.",
10332
- "path": "reference/model/star.md",
12042
+ "id": "modeling/reference/model/StarContourOptions",
12043
+ "title": "StarContourOptions",
12044
+ "summary": "Alternating vertex radii and exact point count for a centered XY star.",
12045
+ "path": "reference/model/StarContourOptions.md",
10333
12046
  "importPath": "@metamesh/modeling",
10334
12047
  "availability": "Immutable recipes and math · Node and browsers",
10335
- "canonical": "https://metamesh.studio/docs/reference/model/star",
12048
+ "canonical": "https://metamesh.studio/docs/reference/model/StarContourOptions",
10336
12049
  "keywords": [
10337
12050
  "reference",
10338
- "function",
12051
+ "interface",
10339
12052
  "model",
10340
12053
  "sections",
10341
- "star"
12054
+ "StarContourOptions",
12055
+ "outerRadius",
12056
+ "innerRadius",
12057
+ "points",
12058
+ "rotation",
12059
+ "limits"
10342
12060
  ]
10343
12061
  },
10344
12062
  {
@@ -10356,11 +12074,11 @@
10356
12074
  "sections",
10357
12075
  "StarOptions",
10358
12076
  "attachment",
10359
- "limits",
10360
12077
  "outerRadius",
10361
12078
  "innerRadius",
10362
12079
  "points",
10363
- "rotation"
12080
+ "rotation",
12081
+ "limits"
10364
12082
  ]
10365
12083
  },
10366
12084
  {
@@ -10526,7 +12244,7 @@
10526
12244
  {
10527
12245
  "id": "modeling/reference/model/sweep",
10528
12246
  "title": "sweep",
10529
- "summary": "Sweeps explicit corresponding contours using the selected frame policy. Filled Sections use `section.sweep(path, options)`.",
12247
+ "summary": "Sweeps a filled Section or explicit corresponding contours using the selected frame policy. Use `section.sweep(path, options)` in fluent sequences, or this function for generic profile inputs.",
10530
12248
  "path": "reference/model/sweep.md",
10531
12249
  "importPath": "@metamesh/modeling",
10532
12250
  "availability": "Immutable recipes and math · Node and browsers",
@@ -10614,35 +12332,36 @@
10614
12332
  ]
10615
12333
  },
10616
12334
  {
10617
- "id": "modeling/reference/model/threadedNut",
10618
- "title": "threadedNut",
10619
- "summary": "Compensated threaded nut.",
10620
- "path": "reference/model/threadedNut.md",
12335
+ "id": "modeling/reference/model/ThreadBevelOptions",
12336
+ "title": "ThreadBevelOptions",
12337
+ "summary": "45-degree end bevels for compensated rods and cutters.",
12338
+ "path": "reference/model/ThreadBevelOptions.md",
10621
12339
  "importPath": "@metamesh/modeling",
10622
12340
  "availability": "Immutable recipes and math · Node and browsers",
10623
- "canonical": "https://metamesh.studio/docs/reference/model/threadedNut",
12341
+ "canonical": "https://metamesh.studio/docs/reference/model/ThreadBevelOptions",
10624
12342
  "keywords": [
10625
12343
  "reference",
10626
- "function",
12344
+ "interface",
10627
12345
  "model",
10628
12346
  "threads",
10629
- "threadedNut"
12347
+ "ThreadBevelOptions",
12348
+ "bevel"
10630
12349
  ]
10631
12350
  },
10632
12351
  {
10633
- "id": "modeling/reference/model/ThreadedNutBevel",
10634
- "title": "ThreadedNutBevel",
10635
- "summary": "Nut-edge bevel selection.",
10636
- "path": "reference/model/ThreadedNutBevel.md",
12352
+ "id": "modeling/reference/model/threadedNut",
12353
+ "title": "threadedNut",
12354
+ "summary": "Compensated threaded nut.",
12355
+ "path": "reference/model/threadedNut.md",
10637
12356
  "importPath": "@metamesh/modeling",
10638
12357
  "availability": "Immutable recipes and math · Node and browsers",
10639
- "canonical": "https://metamesh.studio/docs/reference/model/ThreadedNutBevel",
12358
+ "canonical": "https://metamesh.studio/docs/reference/model/threadedNut",
10640
12359
  "keywords": [
10641
12360
  "reference",
10642
- "type-alias",
12361
+ "function",
10643
12362
  "model",
10644
12363
  "threads",
10645
- "ThreadedNutBevel"
12364
+ "threadedNut"
10646
12365
  ]
10647
12366
  },
10648
12367
  {
@@ -10659,6 +12378,14 @@
10659
12378
  "model",
10660
12379
  "threads",
10661
12380
  "ThreadedNutOptions",
12381
+ "fit",
12382
+ "nominalMajorDiameter",
12383
+ "innerBevel",
12384
+ "outerBevel",
12385
+ "bodyResolution",
12386
+ "shape",
12387
+ "thickness",
12388
+ "width",
10662
12389
  "ends",
10663
12390
  "handedness",
10664
12391
  "limits",
@@ -10666,16 +12393,7 @@
10666
12393
  "profile",
10667
12394
  "resolution",
10668
12395
  "starts",
10669
- "tolerance",
10670
- "fit",
10671
- "nominalMajorDiameter",
10672
- "bevel",
10673
- "bodyResolution",
10674
- "chamferSize",
10675
- "flushBuildPlateBottom",
10676
- "shape",
10677
- "thickness",
10678
- "width"
12396
+ "tolerance"
10679
12397
  ]
10680
12398
  },
10681
12399
  {
@@ -10693,7 +12411,8 @@
10693
12411
  "threads",
10694
12412
  "ThreadedNutPreflight",
10695
12413
  "bodySegments",
10696
- "chamferSize",
12414
+ "innerBevel",
12415
+ "outerBevel",
10697
12416
  "cutterFaceRadius",
10698
12417
  "minimumBodyFaceInradius",
10699
12418
  "minimumFaceWall",
@@ -10747,6 +12466,9 @@
10747
12466
  "model",
10748
12467
  "threads",
10749
12468
  "ThreadedRodOptions",
12469
+ "bevel",
12470
+ "fit",
12471
+ "nominalMajorDiameter",
10750
12472
  "ends",
10751
12473
  "handedness",
10752
12474
  "length",
@@ -10755,12 +12477,7 @@
10755
12477
  "profile",
10756
12478
  "resolution",
10757
12479
  "starts",
10758
- "tolerance",
10759
- "bevelBottom",
10760
- "bevelSize",
10761
- "bevelTop",
10762
- "fit",
10763
- "nominalMajorDiameter"
12480
+ "tolerance"
10764
12481
  ]
10765
12482
  },
10766
12483
  {
@@ -10871,6 +12588,40 @@
10871
12588
  "rootFlatWidth"
10872
12589
  ]
10873
12590
  },
12591
+ {
12592
+ "id": "modeling/reference/model/ThreadProfileBaseSpec",
12593
+ "title": "ThreadProfileBaseSpec",
12594
+ "summary": "Fields shared by all thread profile specifications.",
12595
+ "path": "reference/model/ThreadProfileBaseSpec.md",
12596
+ "importPath": "@metamesh/modeling",
12597
+ "availability": "Immutable recipes and math · Node and browsers",
12598
+ "canonical": "https://metamesh.studio/docs/reference/model/ThreadProfileBaseSpec",
12599
+ "keywords": [
12600
+ "reference",
12601
+ "interface",
12602
+ "model",
12603
+ "threads",
12604
+ "ThreadProfileBaseSpec",
12605
+ "pitch",
12606
+ "tolerance"
12607
+ ]
12608
+ },
12609
+ {
12610
+ "id": "modeling/reference/model/ThreadProfileSpec",
12611
+ "title": "ThreadProfileSpec",
12612
+ "summary": "Supported built-in and caller-defined thread profiles.",
12613
+ "path": "reference/model/ThreadProfileSpec.md",
12614
+ "importPath": "@metamesh/modeling",
12615
+ "availability": "Immutable recipes and math · Node and browsers",
12616
+ "canonical": "https://metamesh.studio/docs/reference/model/ThreadProfileSpec",
12617
+ "keywords": [
12618
+ "reference",
12619
+ "type-alias",
12620
+ "model",
12621
+ "threads",
12622
+ "ThreadProfileSpec"
12623
+ ]
12624
+ },
10874
12625
  {
10875
12626
  "id": "modeling/reference/model/threadRidge",
10876
12627
  "title": "threadRidge",
@@ -10890,17 +12641,47 @@
10890
12641
  {
10891
12642
  "id": "modeling/reference/model/ThreadRidgeOptions",
10892
12643
  "title": "ThreadRidgeOptions",
10893
- "summary": "Parameters for a helical ridge before solid construction.",
12644
+ "summary": "Runtime-neutral options for the dedicated helical ridge mesher.",
10894
12645
  "path": "reference/model/ThreadRidgeOptions.md",
10895
12646
  "importPath": "@metamesh/modeling",
10896
12647
  "availability": "Immutable recipes and math · Node and browsers",
10897
12648
  "canonical": "https://metamesh.studio/docs/reference/model/ThreadRidgeOptions",
10898
12649
  "keywords": [
10899
12650
  "reference",
10900
- "type-alias",
12651
+ "interface",
10901
12652
  "model",
10902
12653
  "threads",
10903
- "ThreadRidgeOptions"
12654
+ "ThreadRidgeOptions",
12655
+ "ends",
12656
+ "handedness",
12657
+ "length",
12658
+ "limits",
12659
+ "majorDiameter",
12660
+ "phase",
12661
+ "profile",
12662
+ "resolution",
12663
+ "starts",
12664
+ "tolerance"
12665
+ ]
12666
+ },
12667
+ {
12668
+ "id": "modeling/reference/model/ThreadSolidPreflight",
12669
+ "title": "ThreadSolidPreflight",
12670
+ "summary": "Selected sampling counts and conservative allocation estimates, before thread mesh construction.",
12671
+ "path": "reference/model/ThreadSolidPreflight.md",
12672
+ "importPath": "@metamesh/modeling",
12673
+ "availability": "Immutable recipes and math · Node and browsers",
12674
+ "canonical": "https://metamesh.studio/docs/reference/model/ThreadSolidPreflight",
12675
+ "keywords": [
12676
+ "reference",
12677
+ "interface",
12678
+ "model",
12679
+ "threads",
12680
+ "ThreadSolidPreflight",
12681
+ "axialIntervals",
12682
+ "circularSegments",
12683
+ "estimatedRows",
12684
+ "estimatedTriangles"
10904
12685
  ]
10905
12686
  },
10906
12687
  {
@@ -11091,10 +12872,31 @@
11091
12872
  "Transform3Input"
11092
12873
  ]
11093
12874
  },
12875
+ {
12876
+ "id": "modeling/reference/model/TrapezoidalThreadProfileSpec",
12877
+ "title": "TrapezoidalThreadProfileSpec",
12878
+ "summary": "Trapezoidal thread profile with a configurable included angle.",
12879
+ "path": "reference/model/TrapezoidalThreadProfileSpec.md",
12880
+ "importPath": "@metamesh/modeling",
12881
+ "availability": "Immutable recipes and math · Node and browsers",
12882
+ "canonical": "https://metamesh.studio/docs/reference/model/TrapezoidalThreadProfileSpec",
12883
+ "keywords": [
12884
+ "reference",
12885
+ "interface",
12886
+ "model",
12887
+ "threads",
12888
+ "TrapezoidalThreadProfileSpec",
12889
+ "pitch",
12890
+ "tolerance",
12891
+ "kind",
12892
+ "depth",
12893
+ "includedAngle"
12894
+ ]
12895
+ },
11094
12896
  {
11095
12897
  "id": "modeling/reference/model/TriangleMesh",
11096
12898
  "title": "TriangleMesh",
11097
- "summary": "A topology-preserving indexed triangle mesh with XYZ vertex positions.",
12899
+ "summary": "A topology-preserving indexed triangle mesh with mutable owned XYZ buffers.",
11098
12900
  "path": "reference/model/TriangleMesh.md",
11099
12901
  "importPath": "@metamesh/modeling",
11100
12902
  "availability": "Immutable recipes and math · Node and browsers",
@@ -11123,7 +12925,7 @@
11123
12925
  "model",
11124
12926
  "mesh-inspection",
11125
12927
  "TriangleMeshAnalysis",
11126
- "connectedComponentCount",
12928
+ "shellCount",
11127
12929
  "edgeCount",
11128
12930
  "bounds",
11129
12931
  "signedVolume",
@@ -11153,6 +12955,50 @@
11153
12955
  "vertexCount"
11154
12956
  ]
11155
12957
  },
12958
+ {
12959
+ "id": "modeling/reference/model/TriangleMeshTopologyAnalysis",
12960
+ "title": "TriangleMeshTopologyAnalysis",
12961
+ "summary": "Mesh measurements with the indexed surface-shell and edge counts requested by includeTopology.",
12962
+ "path": "reference/model/TriangleMeshTopologyAnalysis.md",
12963
+ "importPath": "@metamesh/modeling",
12964
+ "availability": "Immutable recipes and math · Node and browsers",
12965
+ "canonical": "https://metamesh.studio/docs/reference/model/TriangleMeshTopologyAnalysis",
12966
+ "keywords": [
12967
+ "reference",
12968
+ "interface",
12969
+ "model",
12970
+ "mesh-inspection",
12971
+ "TriangleMeshTopologyAnalysis",
12972
+ "bounds",
12973
+ "signedVolume",
12974
+ "surfaceArea",
12975
+ "triangleCount",
12976
+ "vertexCount",
12977
+ "shellCount",
12978
+ "edgeCount"
12979
+ ]
12980
+ },
12981
+ {
12982
+ "id": "modeling/reference/model/TriangularThreadProfileSpec",
12983
+ "title": "TriangularThreadProfileSpec",
12984
+ "summary": "ISO/UTS-like 60-degree truncated triangular profile.",
12985
+ "path": "reference/model/TriangularThreadProfileSpec.md",
12986
+ "importPath": "@metamesh/modeling",
12987
+ "availability": "Immutable recipes and math · Node and browsers",
12988
+ "canonical": "https://metamesh.studio/docs/reference/model/TriangularThreadProfileSpec",
12989
+ "keywords": [
12990
+ "reference",
12991
+ "interface",
12992
+ "model",
12993
+ "threads",
12994
+ "TriangularThreadProfileSpec",
12995
+ "pitch",
12996
+ "tolerance",
12997
+ "kind",
12998
+ "crestFlatRatio",
12999
+ "rootFlatRatio"
13000
+ ]
13001
+ },
11156
13002
  {
11157
13003
  "id": "modeling/reference/model/tube",
11158
13004
  "title": "tube",
@@ -11179,24 +13025,16 @@
11179
13025
  "canonical": "https://metamesh.studio/docs/reference/model/TubeOptions",
11180
13026
  "keywords": [
11181
13027
  "reference",
11182
- "interface",
13028
+ "type-alias",
11183
13029
  "model",
11184
13030
  "primitives",
11185
- "TubeOptions",
11186
- "limits",
11187
- "segments",
11188
- "resolution",
11189
- "attachment",
11190
- "center",
11191
- "height",
11192
- "innerRadius",
11193
- "outerRadius"
13031
+ "TubeOptions"
11194
13032
  ]
11195
13033
  },
11196
13034
  {
11197
13035
  "id": "modeling/reference/model/union",
11198
13036
  "title": "union",
11199
- "summary": "Robust union.",
13037
+ "summary": "Robust union of one or more shapes; empty input rejects during declaration.",
11200
13038
  "path": "reference/model/union.md",
11201
13039
  "importPath": "@metamesh/modeling",
11202
13040
  "availability": "Immutable recipes and math · Node and browsers",
@@ -11440,7 +13278,7 @@
11440
13278
  {
11441
13279
  "id": "modeling/reference/text/categories/font-preparation",
11442
13280
  "title": "Font preparation",
11443
- "summary": "Prepare bounded exact font bytes and reusable vector layouts.",
13281
+ "summary": "Prepare exact font bytes within limits and reuse vector layouts.",
11444
13282
  "path": "reference/text/categories/font-preparation.md",
11445
13283
  "importPath": "@metamesh/modeling/text",
11446
13284
  "availability": "Optional font preparation · Node and Workers",
@@ -11456,7 +13294,7 @@
11456
13294
  {
11457
13295
  "id": "modeling/reference/text/MAX_VECTOR_FONT_BYTES",
11458
13296
  "title": "MAX_VECTOR_FONT_BYTES",
11459
- "summary": "Limits apply before parsing or shaping untrusted font data.",
13297
+ "summary": "Maximum input font size in bytes, checked before parsing or shaping untrusted font data.",
11460
13298
  "path": "reference/text/MAX_VECTOR_FONT_BYTES.md",
11461
13299
  "importPath": "@metamesh/modeling/text",
11462
13300
  "availability": "Optional font preparation · Node and Workers",