@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
@@ -2,7 +2,7 @@
2
2
 
3
3
  Helical ridge mesh construction.
4
4
 
5
- **threadRidge**(`options`: [`HelicalThreadRidgeMeshOptions`](HelicalThreadRidgeMeshOptions.md)): [`Solid`](Solid.md)
5
+ **threadRidge**(`options`: [`ThreadRidgeOptions`](ThreadRidgeOptions.md)): [`Solid`](Solid.md)
6
6
 
7
7
 
8
8
 
@@ -10,46 +10,46 @@ Helical ridge mesh construction.
10
10
 
11
11
  <a id="options"></a>
12
12
 
13
- **`options`** · [`HelicalThreadRidgeMeshOptions`](HelicalThreadRidgeMeshOptions.md) · Required
13
+ **`options`** · [`ThreadRidgeOptions`](ThreadRidgeOptions.md) · Required
14
14
 
15
- - [`length`](HelicalThreadRidgeMeshOptions.md#length) · `number` · Required
15
+ - [`length`](ThreadRidgeOptions.md#length) · `number` · Required
16
16
 
17
17
  Total threaded axial length in millimetres.
18
18
 
19
- - [`majorDiameter`](HelicalThreadRidgeMeshOptions.md#majordiameter) · `number` · Required
19
+ - [`majorDiameter`](ThreadRidgeOptions.md#majordiameter) · `number` · Required
20
20
 
21
21
  Nominal major diameter before any caller-owned fit compensation.
22
22
 
23
- - [`profile`](HelicalThreadRidgeMeshOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
23
+ - [`profile`](ThreadRidgeOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
24
24
 
25
25
  Validated periodic profile repeated around the shaft.
26
26
 
27
- - [`ends`](HelicalThreadRidgeMeshOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
27
+ - [`ends`](ThreadRidgeOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
28
28
 
29
29
  Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
30
30
  BOSL2-style non-cut lead-in scaling is available on complete thread solids.
31
31
 
32
- - [`handedness`](HelicalThreadRidgeMeshOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
32
+ - [`handedness`](ThreadRidgeOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
33
33
 
34
34
  Helix direction. Default: `right`.
35
35
 
36
- - [`limits`](HelicalThreadRidgeMeshOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
36
+ - [`limits`](ThreadRidgeOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
37
37
 
38
38
  Explicit output and circular allocation ceilings.
39
39
 
40
- - [`phase`](HelicalThreadRidgeMeshOptions.md#phase) · `number` · Optional
40
+ - [`phase`](ThreadRidgeOptions.md#phase) · `number` · Optional
41
41
 
42
42
  Angular offset of the first start in degrees. Default: `0`.
43
43
 
44
- - [`resolution`](HelicalThreadRidgeMeshOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
44
+ - [`resolution`](ThreadRidgeOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
45
45
 
46
46
  Optional circular-resolution policy.
47
47
 
48
- - [`starts`](HelicalThreadRidgeMeshOptions.md#starts) · `number` · Optional
48
+ - [`starts`](ThreadRidgeOptions.md#starts) · `number` · Optional
49
49
 
50
50
  Number of evenly phased starts. Default: `1`.
51
51
 
52
- - [`tolerance`](HelicalThreadRidgeMeshOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
52
+ - [`tolerance`](ThreadRidgeOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
53
53
 
54
54
  Optional numerical tolerance overrides.
55
55
 
@@ -62,12 +62,12 @@ Helical ridge mesh construction.
62
62
 
63
63
  ## Related APIs
64
64
 
65
- - [HelicalThreadRidgeMeshOptions](HelicalThreadRidgeMeshOptions.md)
66
65
  - [Solid](Solid.md)
66
+ - [ThreadRidgeOptions](ThreadRidgeOptions.md)
67
67
 
68
68
  ## Guides
69
69
 
70
70
  - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
71
71
  - [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
72
72
 
73
- Package: `@metamesh/modeling@0.17.0`.
73
+ Package: `@metamesh/modeling@0.18.0`.
@@ -22,10 +22,6 @@ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", p
22
22
 
23
23
  **`options`** · [`ThreadedNutOptions`](ThreadedNutOptions.md) · Required
24
24
 
25
- - [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
26
-
27
- Validated periodic profile repeated around the shaft.
28
-
29
25
  - [`nominalMajorDiameter`](ThreadedNutOptions.md#nominalmajordiameter) · `number` · Required
30
26
 
31
27
  Nominal major diameter before female compensation and faceting correction.
@@ -42,6 +38,27 @@ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", p
42
38
 
43
39
  Across-flats width for hex/square or diameter for round, in millimetres.
44
40
 
41
+ - [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
42
+
43
+ Validated periodic profile repeated around the shaft.
44
+
45
+ - [`fit`](ThreadedNutOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
46
+
47
+ Printable fit or caller-calibrated allowances. Default: `normal`.
48
+
49
+ - [`innerBevel`](ThreadedNutOptions.md#innerbevel) · [`Bevel`](Bevel.md) · Optional
50
+
51
+ Opening bevels in [bottom, top] order. Omitted or auto uses min(profile.depth, thickness/4); zero disables.
52
+
53
+ - [`outerBevel`](ThreadedNutOptions.md#outerbevel) · [`Bevel`](Bevel.md) · Optional
54
+
55
+ Body bevels in [bottom, top] order. Omitted or auto uses min(profile.depth, thickness/4).
56
+ Use [0, "auto"] to keep the outside bottom flat without disabling its inner opening bevel.
57
+
58
+ - [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
59
+
60
+ Optional physical policy for a round body, independent of the thread's matched facet grid.
61
+
45
62
  - [`ends`](ThreadedNutOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
46
63
 
47
64
  Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
@@ -71,26 +88,6 @@ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", p
71
88
 
72
89
  Optional numerical tolerance overrides.
73
90
 
74
- - [`fit`](ThreadedNutOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
75
-
76
- Printable fit or caller-calibrated allowances. Default: `normal`.
77
-
78
- - [`bevel`](ThreadedNutOptions.md#bevel) · [`ThreadedNutBevel`](ThreadedNutBevel.md) · Optional
79
-
80
- Nut body bevel selection. Default: `automatic`.
81
-
82
- - [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
83
-
84
- Optional physical policy for a round body, independent of the thread's matched facet grid.
85
-
86
- - [`chamferSize`](ThreadedNutOptions.md#chamfersize) · `number` · Optional
87
-
88
- 45-degree body chamfer extent. Default: `min(profile.depth, thickness/4)`.
89
-
90
- - [`flushBuildPlateBottom`](ThreadedNutOptions.md#flushbuildplatebottom) · `boolean` · Optional
91
-
92
- Leave the bottom outside edge flat for build-plate adhesion. Default: `false`.
93
-
94
91
 
95
92
 
96
93
  ## Returns
@@ -108,4 +105,4 @@ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", p
108
105
  - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
109
106
  - [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
110
107
 
111
- Package: `@metamesh/modeling@0.17.0`.
108
+ Package: `@metamesh/modeling@0.18.0`.
@@ -22,6 +22,10 @@ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
22
22
 
23
23
  **`options`** · [`ThreadedRodOptions`](ThreadedRodOptions.md) · Required
24
24
 
25
+ - [`nominalMajorDiameter`](ThreadedRodOptions.md#nominalmajordiameter) · `number` · Required
26
+
27
+ Nominal major diameter before male compensation.
28
+
25
29
  - [`length`](ThreadedRodOptions.md#length) · `number` · Required
26
30
 
27
31
  Total threaded axial length in millimetres.
@@ -30,9 +34,14 @@ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
30
34
 
31
35
  Validated periodic profile repeated around the shaft.
32
36
 
33
- - [`nominalMajorDiameter`](ThreadedRodOptions.md#nominalmajordiameter) · `number` · Required
37
+ - [`bevel`](ThreadedRodOptions.md#bevel) · [`Bevel`](Bevel.md) · Optional
34
38
 
35
- Nominal major diameter before male compensation.
39
+ Bottom/top sizes in millimetres. Omitted disables both. Auto uses profile depth for standard/tapered ends,
40
+ or one sixth of the compensated male minor/female major radius for blunt ends.
41
+
42
+ - [`fit`](ThreadedRodOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
43
+
44
+ Printable fit or caller-calibrated allowances. Default: `normal`.
36
45
 
37
46
  - [`ends`](ThreadedRodOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
38
47
 
@@ -63,23 +72,6 @@ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
63
72
 
64
73
  Optional numerical tolerance overrides.
65
74
 
66
- - [`bevelBottom`](ThreadedRodOptions.md#bevelbottom) · `boolean` · Optional
67
-
68
- Apply a 45-degree bevel at Z=0.
69
-
70
- - [`bevelSize`](ThreadedRodOptions.md#bevelsize) · `number` · Optional
71
-
72
- Axial bevel extent in millimetres. Active blunt ends default to one sixth of the compensated
73
- male minor radius or female major radius; other ends default to the profile depth.
74
-
75
- - [`bevelTop`](ThreadedRodOptions.md#beveltop) · `boolean` · Optional
76
-
77
- Apply a 45-degree bevel at Z=length.
78
-
79
- - [`fit`](ThreadedRodOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
80
-
81
- Printable fit or caller-calibrated allowances. Default: `normal`.
82
-
83
75
 
84
76
 
85
77
  ## Returns
@@ -97,4 +89,4 @@ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
97
89
  - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
98
90
  - [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
99
91
 
100
- Package: `@metamesh/modeling@0.17.0`.
92
+ Package: `@metamesh/modeling@0.18.0`.
@@ -67,4 +67,4 @@ torus({ majorRadius: 12, minorRadius: 3 });
67
67
  - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
68
68
  - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
69
69
 
70
- Package: `@metamesh/modeling@0.17.0`.
70
+ Package: `@metamesh/modeling@0.18.0`.
@@ -43,4 +43,4 @@ Use `toData()` for frozen matrix interchange.
43
43
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
44
44
  - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
45
45
 
46
- Package: `@metamesh/modeling@0.17.0`.
46
+ Package: `@metamesh/modeling@0.18.0`.
@@ -45,4 +45,4 @@ Use `toData()` for frozen matrix interchange.
45
45
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
46
46
  - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
47
47
 
48
- Package: `@metamesh/modeling@0.17.0`.
48
+ Package: `@metamesh/modeling@0.18.0`.
@@ -22,41 +22,6 @@ tube({ height: 20, outerRadius: 10, innerRadius: 6 });
22
22
 
23
23
  **`options`** · [`TubeOptions`](TubeOptions.md) · Required
24
24
 
25
- - [`height`](TubeOptions.md#height) · `number` · Required
26
-
27
- Total height along Z in millimetres.
28
-
29
- - [`innerRadius`](TubeOptions.md#innerradius) · `number` · Required
30
-
31
- Positive inner radius in millimetres.
32
-
33
- - [`outerRadius`](TubeOptions.md#outerradius) · `number` · Required
34
-
35
- Outer radius in millimetres; greater than [TubeOptions.innerRadius](TubeOptions.md#innerradius).
36
-
37
- - [`limits`](TubeOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
38
-
39
- Explicit sampling ceilings; bound modeling operations may only lower the host policy.
40
-
41
- - [`segments`](TubeOptions.md#segments) · `number` · Optional
42
-
43
- Exact circumferential segment count from three through the configured safety limit.
44
-
45
- This local topology override takes precedence over [CircularPrimitiveOptions.resolution](CircularPrimitiveOptions.md#resolution)
46
- and any active model-wide resolution policy.
47
-
48
- - [`resolution`](TubeOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
49
-
50
- Operation-level physical tessellation policy over the active model-wide policy.
51
-
52
- - [`attachment`](TubeOptions.md#attachment) · [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md) · Optional
53
-
54
- Applied after local construction; Section attachment must preserve the XY plane.
55
-
56
- - [`center`](TubeOptions.md#center) · `boolean` · Optional · Default: `true`
57
-
58
- Centers the tube on the Z origin when `true`; otherwise its bottom is at `Z = 0`.
59
-
60
25
 
61
26
 
62
27
  ## Returns
@@ -74,4 +39,4 @@ tube({ height: 20, outerRadius: 10, innerRadius: 6 });
74
39
  - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
75
40
  - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
76
41
 
77
- Package: `@metamesh/modeling@0.17.0`.
42
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,6 +1,6 @@
1
1
  # union
2
2
 
3
- Robust union.
3
+ Robust union of one or more shapes; empty input rejects during declaration.
4
4
 
5
5
  ## Call Signature
6
6
 
@@ -22,7 +22,7 @@ union([block, cap]);
22
22
 
23
23
 
24
24
 
25
- Robust union.
25
+ Robust union of one or more shapes; empty input rejects during declaration.
26
26
 
27
27
  ### Parameters
28
28
 
@@ -69,4 +69,4 @@ Native filled section union; dimensions cannot be mixed.
69
69
  - [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
70
70
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
71
71
 
72
- Package: `@metamesh/modeling@0.17.0`.
72
+ Package: `@metamesh/modeling@0.18.0`.
@@ -37,4 +37,4 @@ Use `toData()` for frozen tuple interchange, or
37
37
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
38
38
  - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
39
39
 
40
- Package: `@metamesh/modeling@0.17.0`.
40
+ Package: `@metamesh/modeling@0.18.0`.
@@ -44,4 +44,4 @@ Use `toData()` for frozen tuple interchange, or
44
44
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
45
45
  - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
46
46
 
47
- Package: `@metamesh/modeling@0.17.0`.
47
+ Package: `@metamesh/modeling@0.18.0`.
@@ -2,46 +2,42 @@
2
2
 
3
3
  Immutable shapes, vectors and transforms with fluent operations and host-owned geometry evaluation.
4
4
 
5
- Import `generate`, shape constructors, vectors, transforms and collection functions from `@metamesh/modeling`. Chain shape methods to transform, subtract, and finish immutable recipes; a host session owns execution and optional computed caches.
5
+ Build models from immutable shapes with `@metamesh/modeling`. Import `generate`, shape constructors, vectors, transforms, and collection functions, then chain shape methods to transform, combine, query, and finish recipes. A host session runs the model and manages optional computed caches.
6
6
 
7
7
  ```ts
8
8
  import { box, cylinder, generate } from "@metamesh/modeling";
9
9
  import { createModelEngine } from "@metamesh/modeling/engine";
10
- const model = generate<Record<never, never>>(({ part }) => [part("plate", box({ size: [30, 20, 6] }).subtract([cylinder({ radius: 3, height: 8 })]))]);
10
+ const model = generate<Record<never, never>>(({ part }) => [part("plate", box({ size: [30, 20, 6] }).subtract(cylinder({ radius: 3, height: 8 })))]);
11
11
  const engine = await createModelEngine();
12
- const session = engine.createSession(model);
13
- const snapshot = session.run({});
14
- snapshot.dispose();
15
- session.dispose();
12
+ const result = engine.run(model);
16
13
  ```
17
14
 
18
- Computed data and recipes reuse unchanged work. Part placement and color are separate from local geometry. Section recipes preserve holes through Boolean and offset chains.
15
+ Computed data and recipes let you reuse unchanged work. Keep part placement and color separate from local geometry. Section recipes preserve holes through Boolean and offset chains.
19
16
 
20
17
  - **Construction:** recipes and composition require no engine. Ordinary recipes can be reused across sessions, wherever constructed.
21
18
  - **Resolution:** explicit settings are captured; unspecified settings inherit the evaluating host's defaults.
22
- - **Observation:** synchronous host execution is required. Observed component selections stay restricted to their originating session.
23
- - **Ownership:** the current transaction owns temporary native allocations; sessions may retain bounded evaluated geometry privately. Copied snapshots remain valid after session disposal until you dispose them.
19
+ - **Observation:** call `shape.inspect()`, `shape.isEmpty()`, `shape.components()`, or `shape.anchor(name)` during synchronous host execution. Solids also expose `distance`, `castSegment`, `split`, `splitByPlane`, and `toMesh` methods. Observed component selections stay restricted to their originating session.
20
+ - **Ownership:** the current transaction owns temporary native allocations; sessions may keep evaluated geometry in bounded private caches. Both run methods return durable immutable results without disposal; sessions alone own cache and native-resource lifetimes.
24
21
 
25
22
  See [host lifecycle](engine.md) and [pure foundations](geometry.md).
26
23
 
27
24
  ## Categories
28
25
 
29
- - [Primitives](model/categories/primitives.md) — Create foundational solid geometry and configure its dimensions and tessellation.
26
+ - [Primitives](model/categories/primitives.md) — Create basic solids with explicit dimensions and tessellation.
30
27
  - [Local resolution](model/categories/resolution.md) — Choose physical curve sampling and explicit native tolerance.
31
28
  - [2D sections](model/categories/sections.md) — Create immutable filled XY shapes, including prepared text and bounded painted SVG.
32
- - [Sampled paths](model/categories/paths.md) — Reusable immutable planar and spatial trajectories.
29
+ - [Sampled paths](model/categories/paths.md) — Reuse immutable sampled paths in 2D or 3D.
33
30
  - [Boolean operations](model/categories/boolean-operations.md) — Combine, intersect and subtract same-dimensional shapes; construct solid envelopes and sums.
34
- - [Transforms, vectors, and placement](model/categories/transforms-placement.md) — Calculate with immutable vectors, reuse transforms, and arrange geometry with explicit placement contracts.
31
+ - [Transforms, vectors, and placement](model/categories/transforms-placement.md) — Calculate with immutable vectors, reuse transforms, and position geometry.
35
32
  - [Extrude, revolve, and sweep](model/categories/extrude-revolve-sweep.md) — Turn sections and paths into extruded, lofted, revolved, or swept solids.
36
33
  - [Knuckle joints](model/categories/hinges.md) — Compose reusable knuckle joints with independent mounting attachments.
37
34
  - [Printable threads](model/categories/threads.md) — Construct compensated thread forms and inspect bounded preflight facts.
38
- - [Mesh and inspection](model/categories/mesh-inspection.md) — Convert validated meshes and inspect stable section or solid measurements.
39
- - [Core values](model/categories/core-values-errors.md) — Use shared coordinate, path, polygon, and bounds data.
40
- - [Bounds](model/categories/bounds.md) — Measure immutable axis-aligned extents and test positioned containment.
35
+ - [Mesh and inspection](model/categories/mesh-inspection.md) — Convert validated meshes and read stable section or solid measurements.
36
+ - [Core values and errors](model/categories/core-values-errors.md) — Use shared coordinate data and recognize structured geometry errors.
37
+ - [Bounds](model/categories/bounds.md) — Measure immutable axis-aligned bounds and check whether positioned bounds contain one another.
41
38
  - [Explicit matching profiles](model/categories/explicit-profiles.md) — Build hollow or multicomponent lofts and sweeps using stable landmarks.
42
39
  - [Sampled surfaces](model/categories/bounded-surfaces.md) — Construct bounded heightfields and positive-inside implicit fields.
43
- - [Solid inspection](model/categories/inspection.md) — Evaluate recipes and copy observations while the host owns native resources.
44
- - [Model generation](model/categories/generation.md) — Declare typed programs, optional computations, semantic parts and structured diagnostics.
45
- - [Model contracts](model/categories/contracts.md) — Describe opaque handles, dimensions, manufacturing parts, and completed snapshots.
40
+ - [Model generation](model/categories/generation.md) — Build typed models with optional cached computations, named parts, and structured warnings or errors.
41
+ - [Model contracts](model/categories/contracts.md) — Understand opaque shape handles, dimensions, manufacturing parts, and durable model results.
46
42
 
47
- Package: `@metamesh/modeling@0.17.0`.
43
+ Package: `@metamesh/modeling@0.18.0`.
@@ -31,4 +31,4 @@ Inclusive minimum X/Y coordinates.
31
31
 
32
32
  - [Vector2Data](Vector2Data.md)
33
33
 
34
- Package: `@metamesh/modeling@0.17.0`.
34
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,7 +1,7 @@
1
1
  # MAX_VECTOR_FONT_BYTES
2
2
 
3
- Limits apply before parsing or shaping untrusted font data.
3
+ Maximum input font size in bytes, checked before parsing or shaping untrusted font data.
4
4
 
5
5
  `const` **MAX\_VECTOR\_FONT\_BYTES**: `number`
6
6
 
7
- Package: `@metamesh/modeling@0.17.0`.
7
+ Package: `@metamesh/modeling@0.18.0`.
@@ -4,4 +4,4 @@ A two-dimensional Cartesian vector or point.
4
4
 
5
5
  **Vector2Data** = readonly \[`x`: `number`, `y`: `number`\]
6
6
 
7
- Package: `@metamesh/modeling@0.17.0`.
7
+ Package: `@metamesh/modeling@0.18.0`.
@@ -30,7 +30,7 @@ Shape horizontal lines or one circular line; bounded to 512 UTF-16 units and sup
30
30
 
31
31
  Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
32
32
 
33
- - [`align`](VectorTextLayoutOptions.md#align) · `"center"` \| `"left"` \| `"right"` · Optional
33
+ - [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
34
34
 
35
35
  Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
36
36
 
@@ -42,7 +42,7 @@ Shape horizontal lines or one circular line; bounded to 512 UTF-16 units and sup
42
42
 
43
43
  Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
44
44
 
45
- - [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"center"` \| `"top"` \| `"bottom"` \| `"baseline"` · Optional
45
+ - [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
46
46
 
47
47
  Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
48
48
 
@@ -88,7 +88,7 @@ Measure the same cached vector layout; all returned lengths are in millimetres.
88
88
 
89
89
  Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
90
90
 
91
- - [`align`](VectorTextLayoutOptions.md#align) · `"center"` \| `"left"` \| `"right"` · Optional
91
+ - [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
92
92
 
93
93
  Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
94
94
 
@@ -100,7 +100,7 @@ Measure the same cached vector layout; all returned lengths are in millimetres.
100
100
 
101
101
  Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
102
102
 
103
- - [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"center"` \| `"top"` \| `"bottom"` \| `"baseline"` · Optional
103
+ - [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
104
104
 
105
105
  Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
106
106
 
@@ -146,7 +146,7 @@ Serialize visible horizontal or circular outlines as bounded path-only SVG in ph
146
146
 
147
147
  Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
148
148
 
149
- - [`align`](VectorTextLayoutOptions.md#align) · `"center"` \| `"left"` \| `"right"` · Optional
149
+ - [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
150
150
 
151
151
  Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
152
152
 
@@ -158,7 +158,7 @@ Serialize visible horizontal or circular outlines as bounded path-only SVG in ph
158
158
 
159
159
  Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
160
160
 
161
- - [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"center"` \| `"top"` \| `"bottom"` \| `"baseline"` · Optional
161
+ - [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
162
162
 
163
163
  Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
164
164
 
@@ -183,4 +183,4 @@ Serialize visible horizontal or circular outlines as bounded path-only SVG in ph
183
183
  - [VectorTextLayoutOptions](VectorTextLayoutOptions.md)
184
184
  - [VectorTextMetrics](VectorTextMetrics.md)
185
185
 
186
- Package: `@metamesh/modeling@0.17.0`.
186
+ Package: `@metamesh/modeling@0.18.0`.
@@ -14,4 +14,4 @@ Identifies the actual weight of a static face, without synthesizing a different
14
14
 
15
15
  Actual weight of a static face, 1–1000; defaults to 400.
16
16
 
17
- Package: `@metamesh/modeling@0.17.0`.
17
+ Package: `@metamesh/modeling@0.18.0`.
@@ -50,4 +50,4 @@ Alignment datum in degrees counterclockwise from +X; defaults to 90.
50
50
 
51
51
  Reading direction around the circle; defaults to clockwise.
52
52
 
53
- Package: `@metamesh/modeling@0.17.0`.
53
+ Package: `@metamesh/modeling@0.18.0`.
@@ -31,4 +31,4 @@ Exact measurements of these paths and their logical text layout.
31
31
 
32
32
  - [VectorTextMetrics](VectorTextMetrics.md)
33
33
 
34
- Package: `@metamesh/modeling@0.17.0`.
34
+ Package: `@metamesh/modeling@0.18.0`.
@@ -12,7 +12,7 @@ Text bounded to 512 UTF-16 units: horizontal lines or one circular line without
12
12
 
13
13
 
14
14
 
15
- `readonly` `optional` **align?**: `"center"` \| `"left"` \| `"right"`
15
+ `readonly` `optional` **align?**: `"left"` \| `"right"` \| `"center"`
16
16
 
17
17
 
18
18
 
@@ -48,7 +48,7 @@ Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural verti
48
48
 
49
49
 
50
50
 
51
- `readonly` `optional` **verticalAlign?**: `"center"` \| `"top"` \| `"bottom"` \| `"baseline"`
51
+ `readonly` `optional` **verticalAlign?**: `"top"` \| `"bottom"` \| `"center"` \| `"baseline"`
52
52
 
53
53
 
54
54
 
@@ -108,4 +108,4 @@ Tracking between glyph clusters in millimetres, -100–100; defaults to zero.
108
108
  - [VectorTextArcBaseline](VectorTextArcBaseline.md)
109
109
  - [VectorTextOptions](VectorTextOptions.md)
110
110
 
111
- Package: `@metamesh/modeling@0.17.0`.
111
+ Package: `@metamesh/modeling@0.18.0`.
@@ -91,4 +91,4 @@ Number of lines, including empty and trailing lines; empty text occupies one lin
91
91
 
92
92
  - [Bounds2Data](Bounds2Data.md)
93
93
 
94
- Package: `@metamesh/modeling@0.17.0`.
94
+ Package: `@metamesh/modeling@0.18.0`.
@@ -47,4 +47,4 @@ Tracking between glyph clusters in millimetres, -100–100; defaults to zero.
47
47
 
48
48
  - [VectorTextLayoutOptions](VectorTextLayoutOptions.md)
49
49
 
50
- Package: `@metamesh/modeling@0.17.0`.
50
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,6 +1,6 @@
1
1
  # Font preparation
2
2
 
3
- Prepare bounded exact font bytes and reusable vector layouts.
3
+ Prepare exact font bytes within limits and reuse vector layouts.
4
4
 
5
5
  Prepare fonts before modeling. TTF, OTF, and WOFF are parsed directly; WOFF2 decoding loads lazily. Supply font bytes yourself; this library never fetches fonts.
6
6
 
@@ -35,6 +35,6 @@ Layout returns immutable paths and metrics in Y-up millimetres. Pass the prepare
35
35
 
36
36
  | API | Summary |
37
37
  | --- | --- |
38
- | [MAX_VECTOR_FONT_BYTES](../MAX_VECTOR_FONT_BYTES.md) | Limits apply before parsing or shaping untrusted font data. |
38
+ | [MAX_VECTOR_FONT_BYTES](../MAX_VECTOR_FONT_BYTES.md) | Maximum input font size in bytes, checked before parsing or shaping untrusted font data. |
39
39
 
40
- Package: `@metamesh/modeling@0.17.0`.
40
+ Package: `@metamesh/modeling@0.18.0`.
@@ -43,4 +43,4 @@ async function prepareLabel(fontBytes: Uint8Array) {
43
43
  - [VectorFont](VectorFont.md)
44
44
  - [VectorFontOptions](VectorFontOptions.md)
45
45
 
46
- Package: `@metamesh/modeling@0.17.0`.
46
+ Package: `@metamesh/modeling@0.18.0`.
@@ -2,9 +2,9 @@
2
2
 
3
3
  Prepare exact font bytes and shape reusable vector layouts before entering synchronous modeling.
4
4
 
5
- Install `fontkit` for font preparation and `woff2-encoder` for WOFF2 decoding. Import optional exact-font preparation from `@metamesh/modeling/text`.
5
+ Use the optional `@metamesh/modeling/text` entry point to prepare exact font bytes and reusable vector layouts. Install `fontkit` for font preparation and `woff2-encoder` for WOFF2 decoding.
6
6
 
7
- Supply font bytes yourself; this entry point never fetches fonts. Shape once during preparation and pass the immutable layout to modeling.
7
+ Supply font bytes yourself; this entry point never fetches fonts. Shape text once during preparation, then pass the immutable layout to modeling.
8
8
 
9
9
  ```ts
10
10
  import { prepareVectorFont } from "@metamesh/modeling/text";
@@ -18,6 +18,6 @@ Paths and metrics use Y-up millimetres and a baseline origin. Empty layouts can
18
18
 
19
19
  ## Categories
20
20
 
21
- - [Font preparation](text/categories/font-preparation.md) — Prepare bounded exact font bytes and reusable vector layouts.
21
+ - [Font preparation](text/categories/font-preparation.md) — Prepare exact font bytes within limits and reuse vector layouts.
22
22
 
23
- Package: `@metamesh/modeling@0.17.0`.
23
+ Package: `@metamesh/modeling@0.18.0`.
@@ -3,12 +3,12 @@ import { analyzeTriangleMesh, } from "../geometry/mesh/mesh.js";
3
3
  import { assertMeshAllocationWithinLimits } from "../geometry/model-limits.js";
4
4
  import { assertSamplingCount } from "../geometry/sampling-limits.js";
5
5
  import { createSectionHandle, createSolidHandle } from "../model/shape-handles.js";
6
- import { createModelingContext } from "./modeling-context.js";
7
6
  import { ownScopedManifoldValue, scopedManifoldScope, trackScopedManifoldValue, } from "./native/context.js";
8
7
  import { copiedFloat32Array, copiedUint32Array } from "./native/copied-views.js";
9
8
  import * as kernel from "./native/index.js";
10
9
  import { solidMaterialComponents } from "./native/material-components.js";
11
10
  import { assertNativeSolidStatus } from "./native/status.js";
11
+ import { createModelingContext } from "./operations/context.js";
12
12
  import { createShapeAnchorOwner } from "./shape-anchors.js";
13
13
  /** Internal execution owner; no native value or constructor crosses the public facade. */
14
14
  export function createExecutionContext(module, scope, limits, initialResolution = {}) {
@@ -101,8 +101,10 @@ export function createExecutionContext(module, scope, limits, initialResolution
101
101
  const bounds = native.boundingBox();
102
102
  const components = solidComponentsFor(handle);
103
103
  const facts = Object.freeze({
104
- min: Object.freeze([...bounds.min]),
105
- max: Object.freeze([...bounds.max]),
104
+ bounds: Object.freeze({
105
+ min: Object.freeze([...bounds.min]),
106
+ max: Object.freeze([...bounds.max]),
107
+ }),
106
108
  isEmpty: native.isEmpty(),
107
109
  componentCount: components.length,
108
110
  volume: native.volume(),
@@ -121,8 +123,10 @@ export function createExecutionContext(module, scope, limits, initialResolution
121
123
  const empty = native.isEmpty();
122
124
  const components = sectionComponentsFor(handle);
123
125
  const facts = Object.freeze({
124
- min: Object.freeze([...bounds.min]),
125
- max: Object.freeze([...bounds.max]),
126
+ bounds: Object.freeze({
127
+ min: Object.freeze([...bounds.min]),
128
+ max: Object.freeze([...bounds.max]),
129
+ }),
126
130
  isEmpty: empty,
127
131
  area: native.area(),
128
132
  contourCount: native.numContour(),
@@ -166,7 +170,7 @@ export function createExecutionContext(module, scope, limits, initialResolution
166
170
  assertMeshAllocationWithinLimits(vertices, triangles, bytes, operation, limits);
167
171
  };
168
172
  const copyNativeMesh = (native) => {
169
- assertNativeSolidStatus(native, "toTriangleMesh");
173
+ assertNativeSolidStatus(native, "toMesh");
170
174
  const raw = native.getMesh();
171
175
  assertMeshAllocation(raw.numVert, raw.numTri, (raw.numVert + raw.numTri) * 12, "copyMesh");
172
176
  const positions = copiedFloat32Array(raw.numVert * 3);