@metamesh/modeling 0.15.0 → 0.16.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 (700) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +33 -6
  3. package/dist/api/engine.d.ts +4 -3
  4. package/dist/api/geometry.d.ts +529 -242
  5. package/dist/api/index.d.ts +363 -104
  6. package/dist/api/text.d.ts +6 -6
  7. package/dist/docs/guides/concepts.md +295 -106
  8. package/dist/docs/guides/fonts.md +9 -8
  9. package/dist/docs/guides/fundamentals.md +17 -21
  10. package/dist/docs/guides/generation.md +24 -23
  11. package/dist/docs/guides/hosting.md +25 -20
  12. package/dist/docs/guides/recipes.md +35 -30
  13. package/dist/docs/guides/standalone-model.md +42 -0
  14. package/dist/docs/manifest.json +846 -243
  15. package/dist/docs/reference/engine/Export3mfOptions.md +1 -1
  16. package/dist/docs/reference/engine/ExportMeshPart.md +1 -1
  17. package/dist/docs/reference/engine/GenerationOptions.md +1 -1
  18. package/dist/docs/reference/engine/GeometryResource.md +1 -1
  19. package/dist/docs/reference/engine/ModelDependencies.md +1 -1
  20. package/dist/docs/reference/engine/ModelEngine.md +1 -1
  21. package/dist/docs/reference/engine/ModelEngineOptions.md +1 -1
  22. package/dist/docs/reference/engine/ModelSession.md +1 -1
  23. package/dist/docs/reference/engine/ModelSnapshot.md +2 -2
  24. package/dist/docs/reference/engine/SessionOptions.md +1 -1
  25. package/dist/docs/reference/engine/SnapshotPart.md +7 -4
  26. package/dist/docs/reference/engine/categories/host-lifecycle.md +8 -3
  27. package/dist/docs/reference/engine/createModelEngine.md +1 -1
  28. package/dist/docs/reference/engine/defaultModelingLimits.md +1 -1
  29. package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
  30. package/dist/docs/reference/engine/validateModel.md +1 -1
  31. package/dist/docs/reference/engine.md +6 -2
  32. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +5 -1
  33. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +1 -1
  34. package/dist/docs/reference/geometry/Anchor3-type.md +6 -5
  35. package/dist/docs/reference/geometry/ArcCurve2.md +7 -3
  36. package/dist/docs/reference/geometry/ArcCurve3.md +9 -5
  37. package/dist/docs/reference/geometry/AttachOptions.md +2 -1
  38. package/dist/docs/reference/geometry/AxisAngleRotation3.md +2 -1
  39. package/dist/docs/reference/geometry/Bounds2-type.md +127 -0
  40. package/dist/docs/reference/geometry/Bounds2Data.md +45 -0
  41. package/dist/docs/reference/geometry/Bounds2Input.md +21 -0
  42. package/dist/docs/reference/geometry/Bounds3-type.md +127 -0
  43. package/dist/docs/reference/geometry/Bounds3Data.md +45 -0
  44. package/dist/docs/reference/geometry/Bounds3Input.md +21 -0
  45. package/dist/docs/reference/geometry/BoundsFit2.md +6 -5
  46. package/dist/docs/reference/geometry/BoundsFit3.md +6 -5
  47. package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -1
  48. package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +2 -1
  49. package/dist/docs/reference/geometry/BoxAnchorFace.md +2 -1
  50. package/dist/docs/reference/geometry/BoxAnchorOptions.md +5 -4
  51. package/dist/docs/reference/geometry/BoxEdge.md +1 -1
  52. package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
  53. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
  54. package/dist/docs/reference/geometry/BoxOptions.md +3 -3
  55. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +8 -1
  56. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +5 -1
  57. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
  58. package/dist/docs/reference/geometry/CircleContourOptions.md +5 -1
  59. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
  60. package/dist/docs/reference/geometry/CircularResolutionOptions.md +1 -1
  61. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +6 -1
  62. package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -1
  63. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +6 -1
  64. package/dist/docs/reference/geometry/Contour.md +10 -4
  65. package/dist/docs/reference/geometry/ContourCurve.md +5 -1
  66. package/dist/docs/reference/geometry/ContourPoint.md +6 -1
  67. package/dist/docs/reference/geometry/ContourSegment.md +5 -1
  68. package/dist/docs/reference/geometry/CorrespondingComponent.md +5 -1
  69. package/dist/docs/reference/geometry/CorrespondingContour.md +5 -1
  70. package/dist/docs/reference/geometry/CorrespondingProfile.md +5 -1
  71. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +5 -1
  72. package/dist/docs/reference/geometry/CubicBezierCurve2.md +10 -6
  73. package/dist/docs/reference/geometry/CubicBezierCurve3.md +10 -6
  74. package/dist/docs/reference/geometry/Curve2.md +5 -1
  75. package/dist/docs/reference/geometry/Curve3.md +5 -1
  76. package/dist/docs/reference/geometry/CurveSamplingOptions.md +5 -1
  77. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +7 -3
  78. package/dist/docs/reference/geometry/CylinderAnchorFace.md +2 -1
  79. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +4 -3
  80. package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
  81. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +6 -1
  82. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -1
  83. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +5 -1
  84. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +5 -1
  85. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +5 -1
  86. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +6 -1
  87. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +5 -1
  88. package/dist/docs/reference/geometry/CylindricalGearSpec.md +6 -1
  89. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
  90. package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
  91. package/dist/docs/reference/geometry/EllipseContourOptions.md +7 -3
  92. package/dist/docs/reference/geometry/EndTreatments.md +1 -1
  93. package/dist/docs/reference/geometry/ExtrudeOptions.md +5 -1
  94. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +5 -1
  95. package/dist/docs/reference/geometry/FittedTextLayout.md +7 -3
  96. package/dist/docs/reference/geometry/Frame3.md +10 -6
  97. package/dist/docs/reference/geometry/GeometryError.md +1 -1
  98. package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
  99. package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
  100. package/dist/docs/reference/geometry/GeometryResolution.md +1 -1
  101. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +5 -1
  102. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
  103. package/dist/docs/reference/geometry/GridPatternOptions.md +4 -4
  104. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +5 -1
  105. package/dist/docs/reference/geometry/HeightfieldOptions.md +9 -5
  106. package/dist/docs/reference/geometry/HeightfieldPreflight.md +9 -4
  107. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +5 -1
  108. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +5 -1
  109. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +7 -2
  110. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +4 -3
  111. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +5 -1
  112. package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +82 -0
  113. package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +148 -0
  114. package/dist/docs/reference/geometry/KnuckleHingeInterval.md +46 -0
  115. package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +51 -0
  116. package/dist/docs/reference/geometry/KnuckleHingeSpec.md +22 -0
  117. package/dist/docs/reference/geometry/LineCurve2.md +8 -4
  118. package/dist/docs/reference/geometry/LineCurve3.md +8 -4
  119. package/dist/docs/reference/geometry/LinearPatternOptions.md +1 -1
  120. package/dist/docs/reference/geometry/LoftCorrespondence.md +6 -1
  121. package/dist/docs/reference/geometry/LoftMeshStation.md +5 -1
  122. package/dist/docs/reference/geometry/LoftOptions.md +5 -1
  123. package/dist/docs/reference/geometry/LoftPlacement.md +5 -1
  124. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +5 -1
  125. package/dist/docs/reference/geometry/MatchProfilesOptions.md +5 -1
  126. package/dist/docs/reference/geometry/MetricFastenerSize.md +9 -2
  127. package/dist/docs/reference/geometry/MetricFastenerStandard.md +5 -1
  128. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +6 -1
  129. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +6 -1
  130. package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
  131. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +5 -1
  132. package/dist/docs/reference/geometry/Path2-type.md +12 -8
  133. package/dist/docs/reference/geometry/Path2Data.md +40 -4
  134. package/dist/docs/reference/geometry/Path2Input.md +8 -3
  135. package/dist/docs/reference/geometry/Path3-type.md +12 -8
  136. package/dist/docs/reference/geometry/Path3Data.md +40 -4
  137. package/dist/docs/reference/geometry/Path3Input.md +8 -3
  138. package/dist/docs/reference/geometry/PathFrame.md +9 -5
  139. package/dist/docs/reference/geometry/PathLocation.md +5 -1
  140. package/dist/docs/reference/geometry/PathNormalGuide.md +8 -4
  141. package/dist/docs/reference/geometry/PathOptions.md +5 -1
  142. package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
  143. package/dist/docs/reference/geometry/PathPlacement.md +8 -4
  144. package/dist/docs/reference/geometry/PathResamplingOptions.md +5 -1
  145. package/dist/docs/reference/geometry/Pivot2Options.md +2 -1
  146. package/dist/docs/reference/geometry/Pivot3Options.md +2 -1
  147. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +8 -1
  148. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +5 -1
  149. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +5 -1
  150. package/dist/docs/reference/geometry/PlanarPatchQuality.md +7 -3
  151. package/dist/docs/reference/geometry/PolygonData.md +7 -2
  152. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +5 -1
  153. package/dist/docs/reference/geometry/PrimitiveAttachment.md +1 -1
  154. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +1 -1
  155. package/dist/docs/reference/geometry/PrintableThreadFit.md +8 -1
  156. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +6 -1
  157. package/dist/docs/reference/geometry/Profile.md +8 -2
  158. package/dist/docs/reference/geometry/ProfileComponent2.md +5 -1
  159. package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
  160. package/dist/docs/reference/geometry/ProfileSpan2.md +7 -3
  161. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
  162. package/dist/docs/reference/geometry/RackPitchDimensions.md +6 -1
  163. package/dist/docs/reference/geometry/RackPitchSpec.md +6 -1
  164. package/dist/docs/reference/geometry/RadialPatternOptions.md +1 -1
  165. package/dist/docs/reference/geometry/RadialSizing.md +1 -1
  166. package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
  167. package/dist/docs/reference/geometry/RectangleContourOptions.md +7 -3
  168. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +5 -1
  169. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +5 -1
  170. package/dist/docs/reference/geometry/RectangleProfileOptions.md +7 -3
  171. package/dist/docs/reference/geometry/RegionData.md +6 -2
  172. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +5 -1
  173. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
  174. package/dist/docs/reference/geometry/RevolveOptions.md +5 -1
  175. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
  176. package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -1
  177. package/dist/docs/reference/geometry/SampleContourOptions.md +5 -1
  178. package/dist/docs/reference/geometry/SampleHelixOptions.md +5 -1
  179. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +5 -1
  180. package/dist/docs/reference/geometry/SampledCurve2.md +8 -4
  181. package/dist/docs/reference/geometry/SampledCurve3.md +8 -4
  182. package/dist/docs/reference/geometry/SampledThreadHelices.md +7 -3
  183. package/dist/docs/reference/geometry/SideProfileCurve.md +5 -1
  184. package/dist/docs/reference/geometry/SideProfilePoint.md +6 -1
  185. package/dist/docs/reference/geometry/SideProfileSegment.md +5 -1
  186. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
  187. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +5 -1
  188. package/dist/docs/reference/geometry/SphereOptions.md +1 -1
  189. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +5 -1
  190. package/dist/docs/reference/geometry/StrokeCap.md +8 -1
  191. package/dist/docs/reference/geometry/StrokeJoin.md +8 -1
  192. package/dist/docs/reference/geometry/StrokeOptions.md +5 -1
  193. package/dist/docs/reference/geometry/SvgImportOptions.md +5 -1
  194. package/dist/docs/reference/geometry/SvgRegionPreflight.md +6 -2
  195. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +7 -3
  196. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +6 -1
  197. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +6 -1
  198. package/dist/docs/reference/geometry/SweepOptions.md +5 -1
  199. package/dist/docs/reference/geometry/SweepOrientation.md +5 -1
  200. package/dist/docs/reference/geometry/ThreadBevelOptions.md +5 -1
  201. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +5 -1
  202. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +5 -1
  203. package/dist/docs/reference/geometry/ThreadEndStyle.md +8 -1
  204. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +5 -1
  205. package/dist/docs/reference/geometry/ThreadHandedness.md +8 -1
  206. package/dist/docs/reference/geometry/ThreadHelixOptions.md +5 -1
  207. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +8 -1
  208. package/dist/docs/reference/geometry/ThreadLeadInShape.md +8 -1
  209. package/dist/docs/reference/geometry/ThreadProfile-type.md +7 -3
  210. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +5 -1
  211. package/dist/docs/reference/geometry/ThreadProfileSpec.md +5 -1
  212. package/dist/docs/reference/geometry/ThreadRole.md +8 -1
  213. package/dist/docs/reference/geometry/ThreadedNutBevel.md +8 -1
  214. package/dist/docs/reference/geometry/ThreadedNutOptions.md +5 -1
  215. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +7 -3
  216. package/dist/docs/reference/geometry/ThreadedNutShape.md +8 -1
  217. package/dist/docs/reference/geometry/ThreadedRodOptions.md +5 -1
  218. package/dist/docs/reference/geometry/TorusOptions.md +1 -1
  219. package/dist/docs/reference/geometry/Transform2-type.md +6 -5
  220. package/dist/docs/reference/geometry/Transform2Data.md +15 -0
  221. package/dist/docs/reference/geometry/Transform2Input.md +4 -3
  222. package/dist/docs/reference/geometry/Transform3-type.md +6 -5
  223. package/dist/docs/reference/geometry/Transform3Data.md +18 -0
  224. package/dist/docs/reference/geometry/Transform3Input.md +4 -3
  225. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +5 -1
  226. package/dist/docs/reference/geometry/TriangleMesh.md +6 -1
  227. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +7 -3
  228. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +5 -1
  229. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +7 -3
  230. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +5 -1
  231. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +5 -1
  232. package/dist/docs/reference/geometry/TriangleMeshSignature.md +7 -3
  233. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +6 -1
  234. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +6 -1
  235. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +5 -1
  236. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +5 -1
  237. package/dist/docs/reference/geometry/TubeOptions.md +1 -1
  238. package/dist/docs/reference/geometry/Vector2-type.md +6 -5
  239. package/dist/docs/reference/geometry/Vector2Data.md +15 -0
  240. package/dist/docs/reference/geometry/Vector2Input.md +4 -3
  241. package/dist/docs/reference/geometry/Vector3-type.md +6 -5
  242. package/dist/docs/reference/geometry/Vector3Data.md +15 -0
  243. package/dist/docs/reference/geometry/Vector3Input.md +4 -3
  244. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +6 -1
  245. package/dist/docs/reference/geometry/VectorTextLayout.md +5 -1
  246. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +5 -1
  247. package/dist/docs/reference/geometry/VectorTextMetrics.md +7 -3
  248. package/dist/docs/reference/geometry/VectorTextOptions.md +5 -1
  249. package/dist/docs/reference/geometry/add2.md +7 -6
  250. package/dist/docs/reference/geometry/add3.md +7 -6
  251. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +5 -1
  252. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +5 -1
  253. package/dist/docs/reference/geometry/anchor3.md +2 -1
  254. package/dist/docs/reference/geometry/anchorFrame3.md +5 -1
  255. package/dist/docs/reference/geometry/applyTransformDirection3.md +8 -7
  256. package/dist/docs/reference/geometry/applyTransformPoint3.md +8 -7
  257. package/dist/docs/reference/geometry/attachmentTransform3.md +5 -4
  258. package/dist/docs/reference/geometry/bounds2.md +38 -0
  259. package/dist/docs/reference/geometry/bounds3.md +38 -0
  260. package/dist/docs/reference/geometry/boundsCenter.md +12 -11
  261. package/dist/docs/reference/geometry/boundsFromSize.md +12 -11
  262. package/dist/docs/reference/geometry/boundsSize.md +12 -11
  263. package/dist/docs/reference/geometry/boxAnchor3.md +4 -3
  264. package/dist/docs/reference/geometry/categories/bounds-layout.md +23 -6
  265. package/dist/docs/reference/geometry/categories/curves-paths.md +21 -9
  266. package/dist/docs/reference/geometry/categories/mechanical.md +22 -10
  267. package/dist/docs/reference/geometry/categories/meshes.md +16 -7
  268. package/dist/docs/reference/geometry/categories/pattern-placement.md +6 -4
  269. package/dist/docs/reference/geometry/categories/primitive-options.md +8 -2
  270. package/dist/docs/reference/geometry/categories/profiles-regions.md +21 -12
  271. package/dist/docs/reference/geometry/categories/resolution-errors.md +5 -3
  272. package/dist/docs/reference/geometry/categories/transforms-math.md +21 -12
  273. package/dist/docs/reference/geometry/categories/vector-import.md +11 -5
  274. package/dist/docs/reference/geometry/circleContour.md +5 -1
  275. package/dist/docs/reference/geometry/closeToAxis.md +14 -5
  276. package/dist/docs/reference/geometry/compensateThreadDiameters.md +5 -1
  277. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +5 -1
  278. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +5 -1
  279. package/dist/docs/reference/geometry/composeTransform3.md +7 -6
  280. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +5 -1
  281. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +11 -2
  282. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +13 -5
  283. package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +5 -1
  284. package/dist/docs/reference/geometry/containsBounds.md +10 -9
  285. package/dist/docs/reference/geometry/contourContainsPoint.md +8 -4
  286. package/dist/docs/reference/geometry/cross2.md +6 -5
  287. package/dist/docs/reference/geometry/cross3.md +7 -6
  288. package/dist/docs/reference/geometry/cylinderAnchor3.md +3 -2
  289. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +5 -1
  290. package/dist/docs/reference/geometry/distance2.md +6 -5
  291. package/dist/docs/reference/geometry/distance3.md +6 -5
  292. package/dist/docs/reference/geometry/distributeAlongPath.md +5 -1
  293. package/dist/docs/reference/geometry/dot2.md +6 -5
  294. package/dist/docs/reference/geometry/dot3.md +6 -5
  295. package/dist/docs/reference/geometry/ellipseContour.md +5 -1
  296. package/dist/docs/reference/geometry/eulerTransform3.md +7 -6
  297. package/dist/docs/reference/geometry/extrudeMesh.md +5 -1
  298. package/dist/docs/reference/geometry/fitBounds.md +10 -9
  299. package/dist/docs/reference/geometry/fitTextLayout.md +13 -5
  300. package/dist/docs/reference/geometry/frameTransform3.md +5 -4
  301. package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +5 -1
  302. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +5 -1
  303. package/dist/docs/reference/geometry/gridPatternTransforms.md +4 -4
  304. package/dist/docs/reference/geometry/heightfieldMesh.md +11 -2
  305. package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +5 -1
  306. package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +5 -1
  307. package/dist/docs/reference/geometry/inverseTransform3.md +6 -5
  308. package/dist/docs/reference/geometry/isGeometryError.md +5 -2
  309. package/dist/docs/reference/geometry/joinTriangleMeshes.md +5 -1
  310. package/dist/docs/reference/geometry/layoutRow.md +11 -7
  311. package/dist/docs/reference/geometry/length2.md +5 -4
  312. package/dist/docs/reference/geometry/length3.md +5 -4
  313. package/dist/docs/reference/geometry/lerp2.md +7 -6
  314. package/dist/docs/reference/geometry/lerp3.md +7 -6
  315. package/dist/docs/reference/geometry/linearPatternTransforms.md +4 -4
  316. package/dist/docs/reference/geometry/loftMesh.md +5 -1
  317. package/dist/docs/reference/geometry/matchProfiles.md +11 -2
  318. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +5 -1
  319. package/dist/docs/reference/geometry/meshBounds.md +8 -4
  320. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +5 -1
  321. package/dist/docs/reference/geometry/normalize2.md +10 -6
  322. package/dist/docs/reference/geometry/normalize3.md +10 -6
  323. package/dist/docs/reference/geometry/normalizeContour.md +8 -4
  324. package/dist/docs/reference/geometry/normalizePolygon.md +5 -1
  325. package/dist/docs/reference/geometry/normalizeRegion.md +5 -1
  326. package/dist/docs/reference/geometry/optimizePlanarPatches.md +5 -1
  327. package/dist/docs/reference/geometry/path2.md +14 -2
  328. package/dist/docs/reference/geometry/path3.md +8 -1
  329. package/dist/docs/reference/geometry/pathPatternTransforms.md +9 -5
  330. package/dist/docs/reference/geometry/preflightHeightfield.md +11 -2
  331. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +11 -2
  332. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +13 -2
  333. package/dist/docs/reference/geometry/preflightSvgRegion.md +15 -2
  334. package/dist/docs/reference/geometry/preflightThreadedNut.md +12 -2
  335. package/dist/docs/reference/geometry/preflightThreadedRod.md +12 -2
  336. package/dist/docs/reference/geometry/projectOntoPlane3.md +7 -6
  337. package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -4
  338. package/dist/docs/reference/geometry/rectangleContour.md +10 -3
  339. package/dist/docs/reference/geometry/rectangleProfile.md +10 -2
  340. package/dist/docs/reference/geometry/regionArea.md +5 -1
  341. package/dist/docs/reference/geometry/regionBounds.md +8 -4
  342. package/dist/docs/reference/geometry/regularPolygonContour.md +8 -4
  343. package/dist/docs/reference/geometry/resamplePolyline2.md +8 -4
  344. package/dist/docs/reference/geometry/resamplePolyline3.md +8 -4
  345. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +1 -1
  346. package/dist/docs/reference/geometry/resolveArcSegments.md +1 -1
  347. package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
  348. package/dist/docs/reference/geometry/resolveCylindricalGear.md +5 -1
  349. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +5 -1
  350. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +5 -1
  351. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -1
  352. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
  353. package/dist/docs/reference/geometry/resolveKnuckleHinge.md +59 -0
  354. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +5 -1
  355. package/dist/docs/reference/geometry/resolveRackPitch.md +5 -1
  356. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +5 -1
  357. package/dist/docs/reference/geometry/reverseTriangleMesh.md +5 -1
  358. package/dist/docs/reference/geometry/revolveMesh.md +5 -1
  359. package/dist/docs/reference/geometry/rotate2.md +6 -5
  360. package/dist/docs/reference/geometry/rotationTransform3.md +7 -6
  361. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -4
  362. package/dist/docs/reference/geometry/sampleContour.md +12 -2
  363. package/dist/docs/reference/geometry/sampleCurve2.md +6 -3
  364. package/dist/docs/reference/geometry/sampleCurve3.md +5 -1
  365. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +5 -1
  366. package/dist/docs/reference/geometry/sampleHelix.md +13 -5
  367. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +5 -1
  368. package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -4
  369. package/dist/docs/reference/geometry/sampleSideProfile.md +15 -5
  370. package/dist/docs/reference/geometry/sampleTextContours.md +5 -1
  371. package/dist/docs/reference/geometry/sampleThreadHelices.md +5 -1
  372. package/dist/docs/reference/geometry/scale2.md +6 -5
  373. package/dist/docs/reference/geometry/scale3.md +6 -5
  374. package/dist/docs/reference/geometry/scaleTransform3.md +7 -6
  375. package/dist/docs/reference/geometry/signedContourArea.md +5 -1
  376. package/dist/docs/reference/geometry/starContour.md +8 -4
  377. package/dist/docs/reference/geometry/strokeRegionData.md +5 -1
  378. package/dist/docs/reference/geometry/subtract2.md +7 -6
  379. package/dist/docs/reference/geometry/subtract3.md +7 -6
  380. package/dist/docs/reference/geometry/sweepMesh.md +5 -1
  381. package/dist/docs/reference/geometry/threadProfile.md +5 -1
  382. package/dist/docs/reference/geometry/transform2.md +14 -7
  383. package/dist/docs/reference/geometry/transform3.md +16 -7
  384. package/dist/docs/reference/geometry/transformDeterminant3.md +5 -4
  385. package/dist/docs/reference/geometry/transformRegionData.md +5 -1
  386. package/dist/docs/reference/geometry/transformTriangleMesh.md +5 -1
  387. package/dist/docs/reference/geometry/translationTransform3.md +7 -6
  388. package/dist/docs/reference/geometry/triangulateContour.md +5 -1
  389. package/dist/docs/reference/geometry/validateSolidMesh.md +9 -2
  390. package/dist/docs/reference/geometry/validateTransform3.md +6 -5
  391. package/dist/docs/reference/geometry/validateTriangleMesh.md +5 -1
  392. package/dist/docs/reference/geometry/vector2.md +10 -2
  393. package/dist/docs/reference/geometry/vector3.md +10 -2
  394. package/dist/docs/reference/geometry.md +7 -5
  395. package/dist/docs/reference/model/Anchor3.md +6 -5
  396. package/dist/docs/reference/model/AttachOptions.md +2 -1
  397. package/dist/docs/reference/model/Bounds2-type.md +125 -0
  398. package/dist/docs/reference/model/Bounds2Data.md +44 -0
  399. package/dist/docs/reference/model/Bounds2Input.md +19 -0
  400. package/dist/docs/reference/model/Bounds3-type.md +125 -0
  401. package/dist/docs/reference/model/Bounds3Data.md +44 -0
  402. package/dist/docs/reference/model/Bounds3Input.md +19 -0
  403. package/dist/docs/reference/model/BoxEdge.md +1 -1
  404. package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
  405. package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
  406. package/dist/docs/reference/model/BoxOptions.md +3 -3
  407. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
  408. package/dist/docs/reference/model/CircleContourOptions.md +1 -1
  409. package/dist/docs/reference/model/CircleOptions.md +1 -1
  410. package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
  411. package/dist/docs/reference/model/Computed.md +6 -1
  412. package/dist/docs/reference/model/ComputedValue.md +5 -1
  413. package/dist/docs/reference/model/Contour.md +6 -4
  414. package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
  415. package/dist/docs/reference/model/CorrespondingContour.md +1 -1
  416. package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
  417. package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
  418. package/dist/docs/reference/model/CylinderOptions.md +1 -1
  419. package/dist/docs/reference/model/DiagnosticOptions.md +6 -1
  420. package/dist/docs/reference/model/EdgeTreatment.md +1 -1
  421. package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
  422. package/dist/docs/reference/model/EllipseOptions.md +1 -1
  423. package/dist/docs/reference/model/EndTreatments.md +1 -1
  424. package/dist/docs/reference/model/ExtrudeOptions.md +1 -1
  425. package/dist/docs/reference/model/FinalizedModel.md +3 -3
  426. package/dist/docs/reference/model/FinalizedPart.md +1 -1
  427. package/dist/docs/reference/model/Frame3.md +6 -6
  428. package/dist/docs/reference/model/GenerateCallback.md +5 -1
  429. package/dist/docs/reference/model/GenerateContext.md +5 -1
  430. package/dist/docs/reference/model/GeneratedPart.md +5 -1
  431. package/dist/docs/reference/model/GenerationDiagnostic.md +6 -1
  432. package/dist/docs/reference/model/GenerationError.md +5 -1
  433. package/dist/docs/reference/model/GeometryResolution.md +1 -1
  434. package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
  435. package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
  436. package/dist/docs/reference/model/GridPatternOptions.md +5 -4
  437. package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
  438. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +2 -1
  439. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +3 -2
  440. package/dist/docs/reference/model/HullOptions.md +1 -1
  441. package/dist/docs/reference/model/ImmutableBuffer-type.md +5 -1
  442. package/dist/docs/reference/model/ImmutableTriangleMesh.md +5 -1
  443. package/dist/docs/reference/model/ImplicitOptions.md +6 -6
  444. package/dist/docs/reference/model/InternalThreadCutterOptions.md +2 -1
  445. package/dist/docs/reference/model/KnuckleHinge-type.md +47 -0
  446. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +77 -0
  447. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +34 -0
  448. package/dist/docs/reference/model/KnuckleHingeOptions.md +38 -0
  449. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +47 -0
  450. package/dist/docs/reference/model/KnuckleHingeSpec.md +18 -0
  451. package/dist/docs/reference/model/KnuckleHingeWeb.md +53 -0
  452. package/dist/docs/reference/model/LinearPatternOptions.md +2 -1
  453. package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
  454. package/dist/docs/reference/model/LoftOptions.md +1 -1
  455. package/dist/docs/reference/model/LoftPlacement.md +1 -1
  456. package/dist/docs/reference/model/LoftStation.md +1 -1
  457. package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
  458. package/dist/docs/reference/model/ModelProgram.md +5 -1
  459. package/dist/docs/reference/model/ModelingLimits.md +1 -1
  460. package/dist/docs/reference/model/NumericArray.md +8 -1
  461. package/dist/docs/reference/model/PartGeometry.md +5 -1
  462. package/dist/docs/reference/model/PartOptions.md +5 -1
  463. package/dist/docs/reference/model/Path2-type.md +12 -8
  464. package/dist/docs/reference/model/Path2Data.md +40 -4
  465. package/dist/docs/reference/model/Path2Input.md +8 -3
  466. package/dist/docs/reference/model/Path3-type.md +12 -8
  467. package/dist/docs/reference/model/Path3Data.md +40 -4
  468. package/dist/docs/reference/model/Path3Input.md +8 -3
  469. package/dist/docs/reference/model/PathLocation.md +5 -1
  470. package/dist/docs/reference/model/PathNormalGuide.md +4 -4
  471. package/dist/docs/reference/model/PathOptions.md +5 -1
  472. package/dist/docs/reference/model/PathPatternOptions.md +2 -1
  473. package/dist/docs/reference/model/PathResamplingOptions.md +5 -1
  474. package/dist/docs/reference/model/PatternSource.md +2 -1
  475. package/dist/docs/reference/model/Pivot2Options.md +2 -1
  476. package/dist/docs/reference/model/Pivot3Options.md +2 -1
  477. package/dist/docs/reference/model/PlaneOptions.md +1 -1
  478. package/dist/docs/reference/model/PolygonData.md +3 -2
  479. package/dist/docs/reference/model/PolygonOptions.md +1 -1
  480. package/dist/docs/reference/model/PrimitiveAttachment.md +2 -1
  481. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +2 -1
  482. package/dist/docs/reference/model/PrintableThreadFit.md +2 -1
  483. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +2 -1
  484. package/dist/docs/reference/model/Profile.md +4 -2
  485. package/dist/docs/reference/model/ProfileComponent2.md +1 -1
  486. package/dist/docs/reference/model/ProfileContour2.md +4 -2
  487. package/dist/docs/reference/model/ProfileSpan2.md +3 -3
  488. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +3 -3
  489. package/dist/docs/reference/model/RadialPatternOptions.md +2 -1
  490. package/dist/docs/reference/model/RadialSizing.md +1 -1
  491. package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
  492. package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
  493. package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
  494. package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
  495. package/dist/docs/reference/model/RectangleOptions.md +3 -3
  496. package/dist/docs/reference/model/RegionData.md +2 -2
  497. package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
  498. package/dist/docs/reference/model/RevolveOptions.md +1 -1
  499. package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
  500. package/dist/docs/reference/model/Section.md +9 -2
  501. package/dist/docs/reference/model/SectionHullOptions.md +1 -1
  502. package/dist/docs/reference/model/SectionInspection.md +4 -4
  503. package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
  504. package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
  505. package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
  506. package/dist/docs/reference/model/Solid.md +9 -2
  507. package/dist/docs/reference/model/SolidInspection.md +4 -4
  508. package/dist/docs/reference/model/SolidSegmentHit.md +4 -4
  509. package/dist/docs/reference/model/SphereOptions.md +1 -1
  510. package/dist/docs/reference/model/StarOptions.md +1 -1
  511. package/dist/docs/reference/model/StrokeCap.md +1 -1
  512. package/dist/docs/reference/model/StrokeJoin.md +1 -1
  513. package/dist/docs/reference/model/StrokeOptions.md +1 -1
  514. package/dist/docs/reference/model/SvgOrigin.md +1 -1
  515. package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
  516. package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
  517. package/dist/docs/reference/model/SweepOptions.md +1 -1
  518. package/dist/docs/reference/model/SweepOrientation.md +1 -1
  519. package/dist/docs/reference/model/TextSectionOptions.md +1 -1
  520. package/dist/docs/reference/model/ThreadEndStyle.md +2 -1
  521. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +2 -1
  522. package/dist/docs/reference/model/ThreadHandedness.md +2 -1
  523. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +2 -1
  524. package/dist/docs/reference/model/ThreadLeadInShape.md +2 -1
  525. package/dist/docs/reference/model/ThreadProfile.md +4 -3
  526. package/dist/docs/reference/model/ThreadRidgeOptions.md +2 -1
  527. package/dist/docs/reference/model/ThreadedNutBevel.md +2 -1
  528. package/dist/docs/reference/model/ThreadedNutOptions.md +2 -1
  529. package/dist/docs/reference/model/ThreadedNutPreflight.md +4 -3
  530. package/dist/docs/reference/model/ThreadedNutShape.md +2 -1
  531. package/dist/docs/reference/model/ThreadedRodOptions.md +2 -1
  532. package/dist/docs/reference/model/TorusOptions.md +1 -1
  533. package/dist/docs/reference/model/Transform2-type.md +6 -5
  534. package/dist/docs/reference/model/Transform2Data.md +16 -0
  535. package/dist/docs/reference/model/Transform2Input.md +4 -3
  536. package/dist/docs/reference/model/Transform3-type.md +6 -5
  537. package/dist/docs/reference/model/Transform3Data.md +19 -0
  538. package/dist/docs/reference/model/Transform3Input.md +4 -3
  539. package/dist/docs/reference/model/TriangleMesh.md +1 -1
  540. package/dist/docs/reference/model/TriangleMeshAnalysis.md +3 -3
  541. package/dist/docs/reference/model/TriangleMeshMeasurements.md +3 -3
  542. package/dist/docs/reference/model/TubeOptions.md +1 -1
  543. package/dist/docs/reference/model/Vector2-type.md +6 -5
  544. package/dist/docs/reference/model/{Vector2Tuple.md → Vector2Data.md} +3 -3
  545. package/dist/docs/reference/model/Vector2Input.md +4 -3
  546. package/dist/docs/reference/model/Vector3-type.md +6 -5
  547. package/dist/docs/reference/model/{Vector3Tuple.md → Vector3Data.md} +3 -3
  548. package/dist/docs/reference/model/Vector3Input.md +4 -3
  549. package/dist/docs/reference/model/VectorTextLayout.md +1 -1
  550. package/dist/docs/reference/model/VectorTextMetrics.md +3 -3
  551. package/dist/docs/reference/model/anchor.md +2 -1
  552. package/dist/docs/reference/model/bounds2.md +36 -0
  553. package/dist/docs/reference/model/bounds3.md +36 -0
  554. package/dist/docs/reference/model/box.md +2 -2
  555. package/dist/docs/reference/model/castSegment.md +1 -1
  556. package/dist/docs/reference/model/categories/boolean-operations.md +10 -3
  557. package/dist/docs/reference/model/categories/bounded-surfaces.md +5 -3
  558. package/dist/docs/reference/model/categories/bounds.md +36 -0
  559. package/dist/docs/reference/model/categories/contracts.md +4 -2
  560. package/dist/docs/reference/model/categories/core-values-errors.md +11 -11
  561. package/dist/docs/reference/model/categories/explicit-profiles.md +6 -4
  562. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +12 -3
  563. package/dist/docs/reference/model/categories/generation.md +11 -2
  564. package/dist/docs/reference/model/categories/hinges.md +38 -0
  565. package/dist/docs/reference/model/categories/inspection.md +9 -2
  566. package/dist/docs/reference/model/categories/mesh-inspection.md +5 -3
  567. package/dist/docs/reference/model/categories/paths.md +15 -7
  568. package/dist/docs/reference/model/categories/primitives.md +10 -4
  569. package/dist/docs/reference/model/categories/resolution.md +4 -2
  570. package/dist/docs/reference/model/categories/sections.md +10 -5
  571. package/dist/docs/reference/model/categories/threads.md +10 -7
  572. package/dist/docs/reference/model/categories/transforms-placement.md +17 -9
  573. package/dist/docs/reference/model/circle.md +1 -1
  574. package/dist/docs/reference/model/components.md +1 -1
  575. package/dist/docs/reference/model/compose.md +1 -1
  576. package/dist/docs/reference/model/cylinder.md +1 -1
  577. package/dist/docs/reference/model/distance.md +1 -1
  578. package/dist/docs/reference/model/ellipse.md +1 -1
  579. package/dist/docs/reference/model/extrude.md +1 -1
  580. package/dist/docs/reference/model/generate.md +5 -1
  581. package/dist/docs/reference/model/gridPattern.md +2 -1
  582. package/dist/docs/reference/model/heightfield.md +5 -2
  583. package/dist/docs/reference/model/hull.md +1 -1
  584. package/dist/docs/reference/model/immutableBuffer.md +5 -1
  585. package/dist/docs/reference/model/immutableMesh.md +5 -1
  586. package/dist/docs/reference/model/implicit.md +3 -3
  587. package/dist/docs/reference/model/inspectSection.md +1 -1
  588. package/dist/docs/reference/model/inspectSolid.md +1 -1
  589. package/dist/docs/reference/model/internalThreadCutter.md +2 -1
  590. package/dist/docs/reference/model/intersect.md +1 -1
  591. package/dist/docs/reference/model/isEmpty.md +1 -1
  592. package/dist/docs/reference/model/knuckleHinge.md +47 -0
  593. package/dist/docs/reference/model/linearPattern.md +2 -1
  594. package/dist/docs/reference/model/loft.md +1 -1
  595. package/dist/docs/reference/model/matchProfiles.md +1 -1
  596. package/dist/docs/reference/model/minkowskiSum.md +1 -1
  597. package/dist/docs/reference/model/path2.md +14 -2
  598. package/dist/docs/reference/model/path3.md +8 -1
  599. package/dist/docs/reference/model/pathPattern.md +2 -1
  600. package/dist/docs/reference/model/polygon.md +5 -2
  601. package/dist/docs/reference/model/preflightInternalThreadCutter.md +8 -2
  602. package/dist/docs/reference/model/preflightThreadedNut.md +8 -2
  603. package/dist/docs/reference/model/preflightThreadedRod.md +8 -2
  604. package/dist/docs/reference/model/radialPattern.md +2 -1
  605. package/dist/docs/reference/model/rectangle.md +5 -2
  606. package/dist/docs/reference/model/regularPolygon.md +1 -1
  607. package/dist/docs/reference/model/revolve.md +1 -1
  608. package/dist/docs/reference/model/solidFromMesh.md +1 -1
  609. package/dist/docs/reference/model/sphere.md +1 -1
  610. package/dist/docs/reference/model/split.md +1 -1
  611. package/dist/docs/reference/model/splitByPlane.md +1 -1
  612. package/dist/docs/reference/model/star.md +1 -1
  613. package/dist/docs/reference/model/stroke.md +1 -1
  614. package/dist/docs/reference/model/svgPathSection.md +1 -1
  615. package/dist/docs/reference/model/svgSection.md +1 -1
  616. package/dist/docs/reference/model/sweep.md +1 -1
  617. package/dist/docs/reference/model/textSection.md +1 -1
  618. package/dist/docs/reference/model/threadRidge.md +2 -1
  619. package/dist/docs/reference/model/threadedNut.md +2 -1
  620. package/dist/docs/reference/model/threadedRod.md +2 -1
  621. package/dist/docs/reference/model/torus.md +1 -1
  622. package/dist/docs/reference/model/transform2.md +14 -7
  623. package/dist/docs/reference/model/transform3.md +16 -7
  624. package/dist/docs/reference/model/tube.md +1 -1
  625. package/dist/docs/reference/model/union.md +1 -1
  626. package/dist/docs/reference/model/vector2.md +10 -2
  627. package/dist/docs/reference/model/vector3.md +10 -2
  628. package/dist/docs/reference/model.md +15 -8
  629. package/dist/docs/reference/text/Bounds2Data.md +34 -0
  630. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
  631. package/dist/docs/reference/text/Vector2Data.md +7 -0
  632. package/dist/docs/reference/text/VectorFont.md +1 -1
  633. package/dist/docs/reference/text/VectorFontOptions.md +1 -1
  634. package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
  635. package/dist/docs/reference/text/VectorTextLayout.md +1 -1
  636. package/dist/docs/reference/text/VectorTextLayoutOptions.md +1 -1
  637. package/dist/docs/reference/text/VectorTextMetrics.md +3 -3
  638. package/dist/docs/reference/text/VectorTextOptions.md +1 -1
  639. package/dist/docs/reference/text/categories/font-preparation.md +6 -4
  640. package/dist/docs/reference/text/prepareVectorFont.md +1 -1
  641. package/dist/docs/reference/text.md +4 -2
  642. package/dist/engine/construction-operations.js +1 -1
  643. package/dist/engine/knuckle-hinge-operation.js +85 -0
  644. package/dist/engine/loft-operations.js +1 -1
  645. package/dist/engine/mechanical-operations.js +3 -1
  646. package/dist/engine/modeling-context.js +8 -1
  647. package/dist/engine/recipe-realization.js +4 -2
  648. package/dist/engine/section-operations.js +1 -1
  649. package/dist/engine/transform-operations.js +3 -3
  650. package/dist/geometry/bounds-value.js +93 -0
  651. package/dist/geometry/bounds.js +10 -8
  652. package/dist/geometry/curves/sampling.js +1 -2
  653. package/dist/geometry/errors.js +1 -0
  654. package/dist/geometry/heightfield.js +12 -1
  655. package/dist/geometry/index.js +3 -1
  656. package/dist/geometry/math/immutable-value.js +1 -1
  657. package/dist/geometry/math/vector-value.js +11 -3
  658. package/dist/geometry/math/vector2.js +1 -0
  659. package/dist/geometry/math/vector3.js +1 -0
  660. package/dist/geometry/mechanical/index.js +1 -0
  661. package/dist/geometry/mechanical/knuckle-hinge.js +110 -0
  662. package/dist/geometry/mechanical/thread-mesh-plan.js +7 -2
  663. package/dist/geometry/mechanical/thread-solids.js +29 -4
  664. package/dist/geometry/mesh/mesh-centroid.js +1 -0
  665. package/dist/geometry/mesh/mesh-solid.js +1 -0
  666. package/dist/geometry/paths/frames.js +1 -0
  667. package/dist/geometry/paths/helix.js +1 -0
  668. package/dist/geometry/paths/path-value.js +43 -27
  669. package/dist/geometry/paths/resampling.js +2 -2
  670. package/dist/geometry/patterns/placements.js +3 -3
  671. package/dist/geometry/patterns.js +3 -1
  672. package/dist/geometry/profiles/contour.js +1 -0
  673. package/dist/geometry/profiles/matched.js +1 -0
  674. package/dist/geometry/profiles/rectangle.js +10 -1
  675. package/dist/geometry/profiles/side-profile.js +2 -0
  676. package/dist/geometry/svg-import.js +8 -2
  677. package/dist/geometry/sweeps/options.js +1 -1
  678. package/dist/geometry/text-fitting.js +1 -0
  679. package/dist/geometry/transform-matrix.js +1 -1
  680. package/dist/geometry/{transform-chain.js → transform-value.js} +24 -15
  681. package/dist/index.js +2 -1
  682. package/dist/model/execution-binding.js +1 -1
  683. package/dist/model/geometry-recipes.js +1 -1
  684. package/dist/model/immutable-generation-data.js +4 -12
  685. package/dist/model/knuckle-hinge.js +1 -0
  686. package/dist/model/operations.js +57 -3
  687. package/dist/model/recipe-declaration.js +10 -2
  688. package/package.json +1 -1
  689. package/dist/docs/reference/geometry/Bounds2.md +0 -39
  690. package/dist/docs/reference/geometry/Bounds3.md +0 -39
  691. package/dist/docs/reference/geometry/Transform2Matrix.md +0 -14
  692. package/dist/docs/reference/geometry/Transform3Matrix.md +0 -17
  693. package/dist/docs/reference/geometry/Vector2Tuple.md +0 -14
  694. package/dist/docs/reference/geometry/Vector3Tuple.md +0 -14
  695. package/dist/docs/reference/model/Bounds2.md +0 -39
  696. package/dist/docs/reference/model/Bounds3.md +0 -39
  697. package/dist/docs/reference/model/Transform2Matrix.md +0 -15
  698. package/dist/docs/reference/model/Transform3Matrix.md +0 -18
  699. package/dist/docs/reference/text/Bounds2.md +0 -34
  700. package/dist/docs/reference/text/Vector2Tuple.md +0 -7
@@ -2,7 +2,11 @@
2
2
 
3
3
  Create foundational solid geometry and configure its dimensions and tessellation.
4
4
 
5
- All primitives use millimetres and one options object. `box` accepts scalar or XYZ size; `cylinder` accepts exactly one radius or diameter, uniformly or as a bottom/top tuple along +Z. Radial sizing explicitly selects polygon vertices or compensated faces. Treatments share `{kind: "round", radius}`, `{kind: "chamfer", distance}`, `{kind: "smooth", distance}` and `{kind: "profile", profile}`; boxes may select named edges; cylinder and straight convex extrusion ends select independent bottom/top treatments. Boxes, cylinders and tubes are centered by default. `attachment` maps a named or explicit local anchor onto a world anchor after shape construction.
5
+ All primitives use millimetres and one options object. Boxes, cylinders, and tubes are centered by default.
6
+
7
+ - **Dimensions:** `box` accepts a scalar or XYZ size. `cylinder` accepts exactly one radius or diameter, uniform or a bottom/top tuple along +Z. Radial sizing selects polygon vertices or compensated faces.
8
+ - **Treatments:** choose `{ kind: "round", radius }`, `{ kind: "chamfer", distance }`, `{ kind: "smooth", distance }`, or `{ kind: "profile", profile }`. Boxes support named edges; cylinders and straight convex extrusions support independent bottom/top treatments.
9
+ - **Placement:** `attachment` maps a named or explicit local anchor onto a world anchor after construction.
6
10
 
7
11
  Use imported primitives inside generation:
8
12
 
@@ -13,7 +17,9 @@ export default generate(({ part }) => {
13
17
  const bore = cylinder({ radius: 3, height: 8, sizing: "face" });
14
18
  return [part("plate", plate.subtract([bore]))];
15
19
  });
16
- ``` Zero round radius or zero chamfer/smooth setbacks leave a feature untreated; setback tuples are either all zero or both positive.
20
+ ```
21
+
22
+ A zero round radius or zero chamfer/smooth setback leaves a feature untreated. Setback tuples must be all zero or both positive.
17
23
 
18
24
  ## Functions
19
25
 
@@ -29,7 +35,7 @@ export default generate(({ part }) => {
29
35
 
30
36
  | API | Summary |
31
37
  | --- | --- |
32
- | [Solid](../Solid.md) | Immutable deferred solid recipe. Construction and composition require no engine. Ordinary recipes may be reused across sessions regardless of where constructed. Explicit resolution settings are captured; unspecified settings inherit the evaluating host's defaults. Observed components and recipes using them can only be evaluated in their originating session. Methods leave the source unchanged and use millimetres and degrees. A no-op may reuse the receiver; final part placement belongs in `part` options. |
38
+ | [Solid](../Solid.md) | Immutable deferred solid recipe. |
33
39
  | [BoxOptions](../BoxOptions.md) | Dimensions, placement, and uniform or independently selected finishing for an axis-aligned box. |
34
40
  | [ChamferedEdgeTreatment](../ChamferedEdgeTreatment.md) | A planar edge or corner chamfer with equal or independent surface setbacks. |
35
41
  | [CircularPrimitiveOptions](../CircularPrimitiveOptions.md) | Tessellation controls shared by circular primitives across Geometry entry points. |
@@ -58,4 +64,4 @@ export default generate(({ part }) => {
58
64
  - [Choose a primitive](../../../guides/recipes.md#choose-a-primitive)
59
65
  - [Treated boxes, frustums, and mirrored arrays](../../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
60
66
 
61
- Package: `@metamesh/modeling@0.15.0`.
67
+ Package: `@metamesh/modeling@0.16.0`.
@@ -2,7 +2,9 @@
2
2
 
3
3
  Choose physical curve sampling and explicit native tolerance.
4
4
 
5
- Exact operation counts take precedence over the operation’s resolution policy, followed by host session defaults. Pass resolution explicitly to each affected constructor or Section operation. Solid.withTolerance changes native geometric tolerance on an immutable copy; it does not select curve sampling.
5
+ Exact operation counts override the operation's resolution policy, which overrides host session defaults. Pass resolution to each affected constructor or `Section` operation.
6
+
7
+ `Solid.withTolerance()` changes native geometric tolerance on an immutable copy; it does not select curve sampling.
6
8
 
7
9
  ## Interfaces
8
10
 
@@ -15,4 +17,4 @@ Exact operation counts take precedence over the operation’s resolution policy,
15
17
 
16
18
  - [Coordinates, units, and resolution](../../../guides/concepts.md#coordinates-units-and-resolution)
17
19
 
18
- Package: `@metamesh/modeling@0.15.0`.
20
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,8 +1,13 @@
1
- # 2D Sections
1
+ # 2D sections
2
2
 
3
3
  Create immutable filled XY shapes, including prepared text and bounded painted SVG.
4
4
 
5
- Section is the filled XY modeling value with holes and disconnected components. RegionData is its serialized polygon data. Construct with `polygon(points)`, `polygon({ outer, holes })`, `polygon({ contours, fillRule })`, or `polygon({ polygons: data })`. Explicit topology validates boundaries and winding; compound contours use nonzero fill by default or evenodd fill. Observe evaluated coordinates with section.toRegionData() during synchronous host execution. Construction and composition are engine-independent; native evaluation is host-owned. textSection consumes prepared VectorTextLayout without shaping again. Extrusion, revolution and sweeps preserve filled topology. Compatible primitive Sections retain authored landmarks for lofting; arbitrary Sections need explicit correspondence.
5
+ `Section` is an immutable filled XY shape with holes and disconnected components. `RegionData` is its serialized polygon data. Construction and composition require no engine; native evaluation belongs to the host.
6
+
7
+ - **Construct:** use `polygon(points)`, `polygon({ outer, holes })`, `polygon({ contours, fillRule })`, or `polygon({ polygons: data })`. Explicit topology validates boundaries and winding. Compound contours default to `nonzero` fill; select `evenodd` when needed.
8
+ - **Inspect:** call `section.toRegionData()` during synchronous host execution.
9
+ - **Build solids:** extrusion, revolution, and sweeps preserve filled topology. Compatible primitive Sections retain loft landmarks; arbitrary Sections need explicit correspondence.
10
+ - **Add text:** `textSection` consumes a prepared `VectorTextLayout` without shaping again.
6
11
 
7
12
  ## Functions
8
13
 
@@ -13,7 +18,7 @@ Section is the filled XY modeling value with holes and disconnected components.
13
18
  | [ellipse](../ellipse.md) | Centered elliptical section. |
14
19
  | [rectangle](../rectangle.md) | Filled rectangular section with uniform or independently treated corners. |
15
20
  | [regularPolygon](../regularPolygon.md) | Regular polygon with a vertex on +X. |
16
- | [polygon](../polygon.md) | Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours. Closing edges are implicit. Compound contours use nonzero fill unless selected otherwise. Explicit topology must be simple and disjoint; compound winding may resolve overlaps. |
21
+ | [polygon](../polygon.md) | Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours. |
17
22
  | [star](../star.md) | Alternating outer/inner star vertices. |
18
23
  | [svgPathSection](../svgPathSection.md) | Imports bounded filled SVG path data. |
19
24
  | [svgSection](../svgSection.md) | Imports bounded painted SVG document geometry. |
@@ -23,7 +28,7 @@ Section is the filled XY modeling value with holes and disconnected components.
23
28
 
24
29
  | API | Summary |
25
30
  | --- | --- |
26
- | [Section](../Section.md) | Immutable deferred filled XY section recipe. Construction and composition require no engine. Ordinary recipes may be reused across sessions regardless of where constructed. Observed components and recipes using them can only be evaluated in their originating session. Methods leave the source unchanged; observations require a synchronous model execution. Distances use millimetres; rotations use counterclockwise degrees. Explicit resolution settings are captured; unspecified settings inherit the evaluating host's defaults. |
31
+ | [Section](../Section.md) | Immutable deferred filled XY section recipe. |
27
32
  | [StrokeOptions](../StrokeOptions.md) | Physical stroke and topology controls shared by pure regions and native Sections. |
28
33
  | [RectangleContourOptions](../RectangleContourOptions.md) | Shared rectangle dimensions, origin and uniform or per-corner treatment. |
29
34
  | [RectangleOptions](../RectangleOptions.md) | Rectangle dimensions, placement and uniform or per-corner treatment. |
@@ -58,4 +63,4 @@ Section is the filled XY modeling value with holes and disconnected components.
58
63
  - [SVG sections: fills and strokes are different inputs](../../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
59
64
  - [Text and font variability](../../../guides/concepts.md#text-and-font-variability)
60
65
 
61
- Package: `@metamesh/modeling@0.15.0`.
66
+ Package: `@metamesh/modeling@0.16.0`.
@@ -2,16 +2,18 @@
2
2
 
3
3
  Construct compensated thread forms and inspect bounded preflight facts.
4
4
 
5
- Thread pitch is adjacent axial spacing; lead equals pitch times starts. Prepare shared thread dimensions once. Constructors enforce safety automatically; optional preflight provides resource estimates or early control-specific validation. Native rods, internal cutters, and nuts share printable fit and end-treatment options. These forms do not certify a structural rating or a metrology class.
5
+ Thread pitch is adjacent axial spacing; lead is `pitch × starts`. Prepare shared dimensions once. Native rods, internal cutters, and nuts share printable fit and end-treatment options.
6
+
7
+ Constructors enforce safety automatically. Optional preflight provides resource estimates or early validation for individual controls. These forms do not certify a structural rating or metrology class.
6
8
 
7
9
  ## Functions
8
10
 
9
11
  | API | Summary |
10
12
  | --- | --- |
11
13
  | [internalThreadCutter](../internalThreadCutter.md) | Compensated internal threaded cutter. |
12
- | [preflightInternalThreadCutter](../preflightInternalThreadCutter.md) | Internal-thread facts using host resolution and limits; requires active synchronous model execution. |
13
- | [preflightThreadedNut](../preflightThreadedNut.md) | Nut/cutter facts using host resolution and limits; requires active synchronous model execution. |
14
- | [preflightThreadedRod](../preflightThreadedRod.md) | External-thread facts using host resolution and limits; requires active synchronous model execution. |
14
+ | [preflightInternalThreadCutter](../preflightInternalThreadCutter.md) | Checks compensated cutter dimensions and conservative mesh estimates against host output limits. |
15
+ | [preflightThreadedNut](../preflightThreadedNut.md) | Checks nut dimensions, chamfers, end-face wall, and the extended compensated cutter's allocation plan. |
16
+ | [preflightThreadedRod](../preflightThreadedRod.md) | Checks compensated rod dimensions and conservative mesh estimates against host output limits. |
15
17
  | [threadedNut](../threadedNut.md) | Compensated threaded nut. |
16
18
  | [threadedRod](../threadedRod.md) | Compensated external threaded rod. |
17
19
  | [threadRidge](../threadRidge.md) | Helical ridge mesh construction. |
@@ -21,11 +23,11 @@ Thread pitch is adjacent axial spacing; lead equals pitch times starts. Prepare
21
23
  | API | Summary |
22
24
  | --- | --- |
23
25
  | [HelicalThreadRidgeMeshOptions](../HelicalThreadRidgeMeshOptions.md) | Runtime-neutral options for the dedicated helical ridge mesher. |
24
- | [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) | Conservative allocation facts resolved before constructing a direct thread solid mesh. |
26
+ | [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) | Selected sampling counts and conservative allocation estimates, before thread mesh construction. |
25
27
  | [InternalThreadCutterOptions](../InternalThreadCutterOptions.md) | Options for a compensated internal-thread subtraction tool along +Z. |
26
28
  | [PrintableThreadFitPolicy](../PrintableThreadFitPolicy.md) | Explicit radial and axial allowances for a mating printed thread pair. |
27
29
  | [ThreadedNutOptions](../ThreadedNutOptions.md) | Options for a compensated nut with an internal thread. |
28
- | [ThreadedNutPreflight](../ThreadedNutPreflight.md) | Allocation-free body, cutter, and end-face facts resolved for a threaded nut. |
30
+ | [ThreadedNutPreflight](../ThreadedNutPreflight.md) | Resolved body and end-face dimensions plus conservative allocation estimates for the thread cutter. |
29
31
  | [ThreadedRodOptions](../ThreadedRodOptions.md) | Options for a compensated external threaded rod along +Z. |
30
32
  | [ThreadEndTreatmentOptions](../ThreadEndTreatmentOptions.md) | Axial end controls for a generated ridge. |
31
33
  | [ThreadProfile](../ThreadProfile.md) | A validated immutable periodic thread profile in `[axial, radial]` millimetres. |
@@ -46,5 +48,6 @@ Thread pitch is adjacent axial spacing; lead equals pitch times starts. Prepare
46
48
  ## Guides
47
49
 
48
50
  - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
51
+ - [Preflight guarantees and host settings](../../../guides/concepts.md#check-preflight-guarantees)
49
52
 
50
- Package: `@metamesh/modeling@0.15.0`.
53
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,17 +1,24 @@
1
- # Transforms, Vectors & Placement
1
+ # Transforms, vectors, and placement
2
2
 
3
3
  Calculate with immutable vectors, reuse transforms, and arrange geometry with explicit placement contracts.
4
4
 
5
- Use vector2/vector3 for immutable arithmetic and transform2/transform3 for reusable placements. Tuples are accepted as operands; scalar dot, length and distance return numbers. Shape.transform accepts a matching transform directly. Operations apply in written order, rotations use degrees, and optional `{ pivot }` points use world coordinates, defaulting to the origin. andThen composes placements in execution order. applyPoint includes translation, applyDirection retains scale without translation, and applyNormal uses the inverse transpose and returns a unit vector. toArray and toMatrix expose canonical data for interchange. Solid.attach and primitive attachment share source/target anchors, alignment, millimetre gap and degree spin. XY placements can be explicitly embedded with to3D; to2D rejects plane changes. Part placement can reuse finished geometry. Section patterns use XY directions and Path2 trajectories; tangent orientation aligns local +X in the XY plane. Radial Section patterns use an XY pivot and implicit +Z axis. Solid patterns use XYZ inputs and explicit radial axes; path tangent orientation aligns local +Z.
5
+ Use `vector2`/`vector3` for immutable arithmetic and `transform2`/`transform3` for reusable placements. Tuples are accepted as operands; `dot()`, `length()`, and `distance()` return numbers. Shape `transform()` methods accept matching transforms directly.
6
+
7
+ - **Order and units:** operations and `andThen()` composition apply in written order. Rotations use degrees. Optional `{ pivot }` points use world coordinates and default to the origin.
8
+ - **Transformed values:** `applyPoint()` includes translation; `applyDirection()` retains scale without translation; `applyNormal()` uses the inverse transpose and returns a unit vector.
9
+ - **Interchange:** `toData()` returns canonical data. `to3D()` embeds XY placements explicitly; `to2D()` rejects plane changes.
10
+ - **Attachment:** `Solid.attach()` and primitive attachment share source/target anchors, alignment, millimetre gap, and degree spin. Part placement can reuse finished geometry.
11
+ - **Section patterns:** use XY directions and `Path2` trajectories. Tangent orientation aligns local +X in the XY plane; radial patterns use an XY pivot and implicit +Z axis.
12
+ - **Solid patterns:** use XYZ inputs and explicit radial axes. Path tangent orientation aligns local +Z.
6
13
 
7
14
  ## Functions
8
15
 
9
16
  | API | Summary |
10
17
  | --- | --- |
11
- | [transform2](../transform2.md) | Creates an immutable XY transform, identity by default. Matrices are copied and validated. Pass it directly to Section.transform() and planar data helpers; to3D() explicitly crosses into XYZ. Zero scales and singular matrices throw GeometryError; negative scales reflect. |
12
- | [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. Matrices are copied and validated. Calls apply in written order; rotations use degrees and pivots use current world coordinates. Zero scales, singular matrices, nonfinite inputs and zero rotation axes throw GeometryError. Use frameTransform3(frame) as the input for existing orthonormal frame placement. |
13
- | [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. Values and results are finite. Invalid dimensions throw `INVALID_ARGUMENT`; nonfinite coordinates and overflow throw `NON_FINITE_VALUE` GeometryError. Use transform2().applyDirection(value) for rotations and nonuniform scaling. |
14
- | [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. Values and results are finite. Invalid dimensions throw `INVALID_ARGUMENT`; nonfinite coordinates and overflow throw `NON_FINITE_VALUE` GeometryError. Use transform3().applyDirection(value) for rotations and nonuniform scaling. |
18
+ | [transform2](../transform2.md) | Creates an immutable XY transform, identity by default. |
19
+ | [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. |
20
+ | [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. |
21
+ | [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. |
15
22
  | [anchor](../anchor.md) | Reads a copied, immutable named anchor from this exact active generation. |
16
23
  | [gridPattern](../gridPattern.md) | XY or XYZ copies, optionally centered or placed in an explicit frame. |
17
24
  | [linearPattern](../linearPattern.md) | Repeats one solid along a normalized direction. |
@@ -46,12 +53,13 @@ Use vector2/vector3 for immutable arithmetic and transform2/transform3 for reusa
46
53
  | [LinearPatternOptions](../LinearPatternOptions.md) | Equal linear intervals determined by exactly two of count, spacing and total length. Dimension defaults to 3; Section patterns use 2 and accept XY vector directions. |
47
54
  | [PatternSource](../PatternSource.md) | One immutable shape, or a synchronous factory called once per copy in index order. |
48
55
  | [RadialPatternOptions](../RadialPatternOptions.md) | Degree rotations about a fixed world-space pivot; XY patterns use the implicit +Z axis. |
49
- | [Transform2Matrix](../Transform2Matrix.md) | A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`. |
50
- | [Transform3Matrix](../Transform3Matrix.md) | A row-major affine 4x4 matrix applied to column vectors. |
56
+ | [Transform2Data](../Transform2Data.md) | A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`. |
57
+ | [Transform3Data](../Transform3Data.md) | A row-major affine 4x4 matrix applied to column vectors. |
51
58
 
52
59
  ## Guides
53
60
 
54
61
  - [Named anchors and custom frames](../../../guides/recipes.md#named-anchors-and-custom-frames)
55
62
  - [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
63
+ - [Fluent values and standalone algorithms](../../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
56
64
 
57
- Package: `@metamesh/modeling@0.15.0`.
65
+ Package: `@metamesh/modeling@0.16.0`.
@@ -36,4 +36,4 @@ circle({ diameter: 12, sizing: "face" });
36
36
  - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
37
37
  - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
38
38
 
39
- Package: `@metamesh/modeling@0.15.0`.
39
+ Package: `@metamesh/modeling@0.16.0`.
@@ -68,4 +68,4 @@ readonly [`Section`](Section.md)[]
68
68
  - [Section](Section.md)
69
69
  - [Solid](Solid.md)
70
70
 
71
- Package: `@metamesh/modeling@0.15.0`.
71
+ Package: `@metamesh/modeling@0.16.0`.
@@ -28,4 +28,4 @@ Combines disjoint components without resolving overlap.
28
28
  - [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
29
29
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
30
30
 
31
- Package: `@metamesh/modeling@0.15.0`.
31
+ Package: `@metamesh/modeling@0.16.0`.
@@ -49,4 +49,4 @@ cylinder({ height: 20, radius: [10, 0] });
49
49
  - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
50
50
  - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
51
51
 
52
- Package: `@metamesh/modeling@0.15.0`.
52
+ Package: `@metamesh/modeling@0.16.0`.
@@ -42,4 +42,4 @@ Empty geometry and component selections from another session reject. Results fol
42
42
 
43
43
  - [Solid](Solid.md)
44
44
 
45
- Package: `@metamesh/modeling@0.15.0`.
45
+ Package: `@metamesh/modeling@0.16.0`.
@@ -36,4 +36,4 @@ ellipse({ size: [30, 20] });
36
36
  - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
37
37
  - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
38
38
 
39
- Package: `@metamesh/modeling@0.15.0`.
39
+ Package: `@metamesh/modeling@0.16.0`.
@@ -80,4 +80,4 @@ extrude(profile!, { height: 8 });
80
80
  - [Matched-section loft](../../guides/recipes.md#matched-section-loft)
81
81
  - [Choose a modeling path](../../guides/concepts.md#choose-a-modeling-path)
82
82
 
83
- Package: `@metamesh/modeling@0.15.0`.
83
+ Package: `@metamesh/modeling@0.16.0`.
@@ -43,4 +43,8 @@ const model = generate<{ height: number }>(({ params, part, assert }) => {
43
43
  - [GenerateCallback](GenerateCallback.md)
44
44
  - [ModelProgram](ModelProgram.md)
45
45
 
46
- Package: `@metamesh/modeling@0.15.0`.
46
+ ## Guides
47
+
48
+ - [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
49
+
50
+ Package: `@metamesh/modeling@0.16.0`.
@@ -76,5 +76,6 @@ readonly [`Section`](Section.md)[]
76
76
 
77
77
  - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
78
78
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
79
+ - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
79
80
 
80
- Package: `@metamesh/modeling@0.15.0`.
81
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,6 +1,6 @@
1
1
  # heightfield
2
2
 
3
- Closed rectilinear top above a flat base, with uniform or explicit XY coordinates. Samples each grid height once; center-error triangulation also samples each cell centre. The retained callback must capture independent immutable inputs, not live session readers or parameters.
3
+ Closed rectilinear top above a flat base, with uniform or explicit XY coordinates.
4
4
 
5
5
  **heightfield**(`options`: [`HeightfieldOptions`](HeightfieldOptions.md)): [`Solid`](Solid.md)
6
6
 
@@ -19,6 +19,9 @@ heightfield({
19
19
 
20
20
 
21
21
 
22
+ Samples each grid height once; center-error triangulation also samples each cell centre.
23
+ The retained callback must capture independent immutable inputs, not live session readers or parameters.
24
+
22
25
  ## Parameters
23
26
 
24
27
  <a id="options"></a>
@@ -37,4 +40,4 @@ heightfield({
37
40
  - [HeightfieldOptions](HeightfieldOptions.md)
38
41
  - [Solid](Solid.md)
39
42
 
40
- Package: `@metamesh/modeling@0.15.0`.
43
+ Package: `@metamesh/modeling@0.16.0`.
@@ -71,4 +71,4 @@ Convex filled XY hull of finite points or filled section recipes.
71
71
  - [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
72
72
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
73
73
 
74
- Package: `@metamesh/modeling@0.15.0`.
74
+ Package: `@metamesh/modeling@0.16.0`.
@@ -41,4 +41,8 @@ editable[0] = 8; // heights still contains 2, 4, 6.
41
41
  - [ImmutableBuffer](ImmutableBuffer-type.md)
42
42
  - [NumericArray](NumericArray.md)
43
43
 
44
- Package: `@metamesh/modeling@0.15.0`.
44
+ ## Guides
45
+
46
+ - [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
47
+
48
+ Package: `@metamesh/modeling@0.16.0`.
@@ -37,4 +37,8 @@ const model = generate(({ computed, part }) => {
37
37
  - [ImmutableTriangleMesh](ImmutableTriangleMesh.md)
38
38
  - [TriangleMesh](TriangleMesh.md)
39
39
 
40
- Package: `@metamesh/modeling@0.15.0`.
40
+ ## Guides
41
+
42
+ - [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
43
+
44
+ Package: `@metamesh/modeling@0.16.0`.
@@ -12,11 +12,11 @@ Bounded positive-inside implicit field constructor. The retained callback must c
12
12
 
13
13
  **`options`** · [`ImplicitOptions`](ImplicitOptions.md) · Required
14
14
 
15
- - [`field`](ImplicitOptions.md#field) · (`point`: [`Vector3Tuple`](Vector3Tuple.md)) => `number` · Required
15
+ - [`field`](ImplicitOptions.md#field) · (`point`: [`Vector3Data`](Vector3Data.md)) => `number` · Required
16
16
 
17
17
  Positive-inside scalar field evaluated at finite XYZ points.
18
18
 
19
- - [`bounds`](ImplicitOptions.md#bounds) · [`Bounds3`](Bounds3.md) · Required
19
+ - [`bounds`](ImplicitOptions.md#bounds) · [`Bounds3Data`](Bounds3Data.md) · Required
20
20
 
21
21
  Axis-aligned XYZ bounds in millimetres.
22
22
 
@@ -44,4 +44,4 @@ Bounded positive-inside implicit field constructor. The retained callback must c
44
44
  - [ImplicitOptions](ImplicitOptions.md)
45
45
  - [Solid](Solid.md)
46
46
 
47
- Package: `@metamesh/modeling@0.15.0`.
47
+ Package: `@metamesh/modeling@0.16.0`.
@@ -35,4 +35,4 @@ facts.area; // 200 mm²
35
35
 
36
36
  - [Solid inspection](../../guides/recipes.md#solid-inspection)
37
37
 
38
- Package: `@metamesh/modeling@0.15.0`.
38
+ Package: `@metamesh/modeling@0.16.0`.
@@ -35,4 +35,4 @@ facts.volume; // 3600 mm³
35
35
 
36
36
  - [Solid inspection](../../guides/recipes.md#solid-inspection)
37
37
 
38
- Package: `@metamesh/modeling@0.15.0`.
38
+ Package: `@metamesh/modeling@0.16.0`.
@@ -96,5 +96,6 @@ body.subtract([cutter]);
96
96
  ## Guides
97
97
 
98
98
  - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
99
+ - [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
99
100
 
100
- Package: `@metamesh/modeling@0.15.0`.
101
+ Package: `@metamesh/modeling@0.16.0`.
@@ -67,4 +67,4 @@ Native filled section intersection; dimensions cannot be mixed.
67
67
  - [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
68
68
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
69
69
 
70
- Package: `@metamesh/modeling@0.15.0`.
70
+ Package: `@metamesh/modeling@0.16.0`.
@@ -36,4 +36,4 @@ Useful after a Boolean operation whose inputs may not overlap; no mesh is extrac
36
36
  - [Section](Section.md)
37
37
  - [Solid](Solid.md)
38
38
 
39
- Package: `@metamesh/modeling@0.15.0`.
39
+ Package: `@metamesh/modeling@0.16.0`.
@@ -0,0 +1,47 @@
1
+ # knuckleHinge
2
+
3
+ Declares separate knuckle-joint halves along the centered +X pin axis, in millimetres.
4
+
5
+ **knuckleHinge**(`options`: [`KnuckleHingeOptions`](KnuckleHingeOptions.md)): [`KnuckleHinge`](KnuckleHinge-type.md)
6
+
7
+
8
+
9
+ ## Example: Integral-pin hinge with two mounting webs
10
+
11
+ ```ts
12
+ const joint = knuckleHinge({
13
+ mode: "print-in-place", length: 30, knuckleCount: 3,
14
+ barrelDiameter: 10, pinDiameter: 3, radialClearance: 0.3, axialGap: 0.4,
15
+ halfA: { web: { direction: "positive-y", reach: 8, zMin: -5, thickness: 2 } },
16
+ halfB: { web: { direction: "negative-y", reach: 8, zMin: -5, thickness: 2 } },
17
+ });
18
+ ```
19
+
20
+ A starts at negative X. Attach independent webs or use barrels only; caller geometry connects
21
+ otherwise disconnected intervals. Returns portable recipes without initializing the engine.
22
+ Unspecified resolution inherits the evaluating session. Axis direction is +X with +Z up.
23
+
24
+ Barrel end chamfers affect outer rims only; webs have square edges. Consumers own plates, screw holes,
25
+ pin retention, fit policy, and part placement. Added mounting material must preserve the bores.
26
+ No opening range or collision freedom is implied for arbitrary caller attachments.
27
+ Compiled Generator packages using this operation require runtime 8.0.0 or newer in major 8.
28
+
29
+ ## Parameters
30
+
31
+ <a id="options"></a>
32
+
33
+ **`options`** · [`KnuckleHingeOptions`](KnuckleHingeOptions.md) · Required
34
+
35
+
36
+
37
+ ## Returns
38
+
39
+ [`KnuckleHinge`](KnuckleHinge-type.md)
40
+
41
+
42
+ ## Related APIs
43
+
44
+ - [KnuckleHinge](KnuckleHinge-type.md)
45
+ - [KnuckleHingeOptions](KnuckleHingeOptions.md)
46
+
47
+ Package: `@metamesh/modeling@0.16.0`.
@@ -76,5 +76,6 @@ readonly [`Section`](Section.md)[]
76
76
 
77
77
  - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
78
78
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
79
+ - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
79
80
 
80
- Package: `@metamesh/modeling@0.15.0`.
81
+ Package: `@metamesh/modeling@0.16.0`.
@@ -134,4 +134,4 @@ Lofts explicit corresponding contours, including holes and collapsed logical slo
134
134
  - [Matched-section loft](../../guides/recipes.md#matched-section-loft)
135
135
  - [Choose a modeling path](../../guides/concepts.md#choose-a-modeling-path)
136
136
 
137
- Package: `@metamesh/modeling@0.15.0`.
137
+ Package: `@metamesh/modeling@0.16.0`.
@@ -39,4 +39,4 @@ readonly [`CorrespondingProfile`](CorrespondingProfile.md)[]
39
39
  - [MatchProfilesOptions](MatchProfilesOptions.md)
40
40
  - [Profile](Profile.md)
41
41
 
42
- Package: `@metamesh/modeling@0.15.0`.
42
+ Package: `@metamesh/modeling@0.16.0`.
@@ -34,4 +34,4 @@ Three-dimensional Minkowski sum.
34
34
  - [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
35
35
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
36
36
 
37
- Package: `@metamesh/modeling@0.15.0`.
37
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,11 +1,19 @@
1
1
  # path2
2
2
 
3
- Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization. Open paths may be empty or have one point; closed paths need three vertices and omit a duplicated seam. Repeated adjacent vertices are retained. No winding normalization or filling is performed. Malformed dimensions or topology throw INVALID_ARGUMENT; nonfinite coordinates or measurement overflow throw NON_FINITE_VALUE; exhausted allocation ceilings throw COMPLEXITY_LIMIT GeometryError. A path input retains its closure. Limits bound construction only; resampling takes its own limits.
3
+ Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization.
4
4
 
5
5
  **path2**(`input`: [`Path2Input`](Path2Input.md), `options?`: [`PathOptions`](PathOptions.md)): [`Path2`](Path2-type.md)
6
6
 
7
7
 
8
8
 
9
+ Open paths may be empty or have one point; closed paths need three vertices and omit a duplicated
10
+ seam. Repeated adjacent vertices are retained. No winding normalization or filling is performed.
11
+ Malformed dimensions or topology throw INVALID_ARGUMENT; nonfinite coordinates or measurement
12
+ overflow throw NON_FINITE_VALUE; exhausted allocation ceilings throw COMPLEXITY_LIMIT GeometryError.
13
+ A path input retains its closure. Limits bound construction only; resampling takes its own limits.
14
+
15
+ Use `toData()` for a frozen record that restores coordinates, closure, and dimension together.
16
+
9
17
  ## Parameters
10
18
 
11
19
  <a id="input"></a>
@@ -39,4 +47,8 @@ Snapshots finite XY coordinates as an immutable sampled path, independent of eng
39
47
  - [Path2Input](Path2Input.md)
40
48
  - [PathOptions](PathOptions.md)
41
49
 
42
- Package: `@metamesh/modeling@0.15.0`.
50
+ ## Guides
51
+
52
+ - [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
53
+
54
+ Package: `@metamesh/modeling@0.16.0`.
@@ -6,6 +6,8 @@ Snapshots finite XYZ coordinates as an immutable sampled path with the same clos
6
6
 
7
7
 
8
8
 
9
+ Use `toData()` for a frozen record that restores coordinates, closure, and dimension together.
10
+
9
11
  ## Parameters
10
12
 
11
13
  <a id="input"></a>
@@ -38,5 +40,10 @@ Snapshots finite XYZ coordinates as an immutable sampled path with the same clos
38
40
  - [Path3](Path3-type.md)
39
41
  - [Path3Input](Path3Input.md)
40
42
  - [PathOptions](PathOptions.md)
43
+ - [path2](path2.md)
44
+
45
+ ## Guides
46
+
47
+ - [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
41
48
 
42
- Package: `@metamesh/modeling@0.15.0`.
49
+ Package: `@metamesh/modeling@0.16.0`.
@@ -115,5 +115,6 @@ readonly [`Section`](Section.md)[]
115
115
 
116
116
  - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
117
117
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
118
+ - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
118
119
 
119
- Package: `@metamesh/modeling@0.15.0`.
120
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,6 +1,6 @@
1
1
  # polygon
2
2
 
3
- Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours. Closing edges are implicit. Compound contours use nonzero fill unless selected otherwise. Explicit topology must be simple and disjoint; compound winding may resolve overlaps.
3
+ Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours.
4
4
 
5
5
  **polygon**(`input`: [`Path2Input`](Path2Input.md) \| [`PolygonOptions`](PolygonOptions.md)): [`Section`](Section.md)
6
6
 
@@ -12,6 +12,9 @@ Fills one closed millimetre XY outline, explicit outer/hole topology, or compoun
12
12
  polygon([[0, 0], [20, 0], [10, 12]]).extrude({ height: 3 });
13
13
  ```
14
14
 
15
+ Closing edges are implicit. Compound contours use nonzero fill unless selected otherwise.
16
+ Explicit topology must be simple and disjoint; compound winding may resolve overlaps.
17
+
15
18
  ## Parameters
16
19
 
17
20
  <a id="input"></a>
@@ -37,4 +40,4 @@ polygon([[0, 0], [20, 0], [10, 12]]).extrude({ height: 3 });
37
40
  - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
38
41
  - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
39
42
 
40
- Package: `@metamesh/modeling@0.15.0`.
43
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,11 +1,15 @@
1
1
  # preflightInternalThreadCutter
2
2
 
3
- Internal-thread facts using host resolution and limits; requires active synchronous model execution.
3
+ Checks compensated cutter dimensions and conservative mesh estimates against host output limits.
4
4
 
5
5
  **preflightInternalThreadCutter**(`options`: [`InternalThreadCutterOptions`](InternalThreadCutterOptions.md)): [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
6
6
 
7
7
 
8
8
 
9
+ Requires active synchronous model execution and uses its resolution and limits. Estimates include
10
+ the one-pitch extension beyond each requested face, without mesh buffers or native objects.
11
+ Mesh validity, native construction, and aggregate output limits are checked later.
12
+
9
13
  ## Parameters
10
14
 
11
15
  <a id="options"></a>
@@ -81,9 +85,11 @@ Internal-thread facts using host resolution and limits; requires active synchron
81
85
 
82
86
  - [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
83
87
  - [InternalThreadCutterOptions](InternalThreadCutterOptions.md)
88
+ - [internalThreadCutter](internalThreadCutter.md)
84
89
 
85
90
  ## Guides
86
91
 
87
92
  - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
93
+ - [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
88
94
 
89
- Package: `@metamesh/modeling@0.15.0`.
95
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,11 +1,15 @@
1
1
  # preflightThreadedNut
2
2
 
3
- Nut/cutter facts using host resolution and limits; requires active synchronous model execution.
3
+ Checks nut dimensions, chamfers, end-face wall, and the extended compensated cutter's allocation plan.
4
4
 
5
5
  **preflightThreadedNut**(`options`: [`ThreadedNutOptions`](ThreadedNutOptions.md)): [`ThreadedNutPreflight`](ThreadedNutPreflight.md)
6
6
 
7
7
 
8
8
 
9
+ Requires active synchronous model execution and uses its resolution and limits, without mesh
10
+ buffers or native objects. Returned thread estimates cover the cutter, excluding the body and
11
+ Boolean result. Mesh validity, native construction, and aggregate output limits are checked later.
12
+
9
13
  ## Parameters
10
14
 
11
15
  <a id="options"></a>
@@ -92,9 +96,11 @@ Nut/cutter facts using host resolution and limits; requires active synchronous m
92
96
 
93
97
  - [ThreadedNutOptions](ThreadedNutOptions.md)
94
98
  - [ThreadedNutPreflight](ThreadedNutPreflight.md)
99
+ - [threadedNut](threadedNut.md)
95
100
 
96
101
  ## Guides
97
102
 
98
103
  - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
104
+ - [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
99
105
 
100
- Package: `@metamesh/modeling@0.15.0`.
106
+ Package: `@metamesh/modeling@0.16.0`.