@metamesh/modeling 0.15.0 → 0.17.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 (719) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +54 -6
  3. package/dist/api/engine.d.ts +4 -3
  4. package/dist/api/geometry.d.ts +608 -266
  5. package/dist/api/index.d.ts +516 -110
  6. package/dist/api/text.d.ts +6 -6
  7. package/dist/docs/guides/concepts.md +298 -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 +68 -36
  13. package/dist/docs/guides/standalone-model.md +42 -0
  14. package/dist/docs/manifest.json +1034 -296
  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/Bounds2Options.md +72 -0
  43. package/dist/docs/reference/geometry/Bounds3-type.md +127 -0
  44. package/dist/docs/reference/geometry/Bounds3Data.md +45 -0
  45. package/dist/docs/reference/geometry/Bounds3Input.md +21 -0
  46. package/dist/docs/reference/geometry/Bounds3Options.md +72 -0
  47. package/dist/docs/reference/geometry/BoundsFit2.md +6 -5
  48. package/dist/docs/reference/geometry/BoundsFit3.md +6 -5
  49. package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -1
  50. package/dist/docs/reference/geometry/BoxAnchorFace.md +2 -1
  51. package/dist/docs/reference/geometry/BoxAnchorOptions.md +5 -4
  52. package/dist/docs/reference/geometry/BoxEdge.md +1 -1
  53. package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
  54. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
  55. package/dist/docs/reference/geometry/BoxOptions.md +3 -3
  56. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +8 -1
  57. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +5 -1
  58. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
  59. package/dist/docs/reference/geometry/CircleContourOptions.md +5 -1
  60. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
  61. package/dist/docs/reference/geometry/CircularResolutionOptions.md +1 -1
  62. package/dist/docs/reference/geometry/CircularSampling.md +41 -0
  63. package/dist/docs/reference/geometry/CircularSamplingOptions.md +14 -0
  64. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +6 -1
  65. package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -1
  66. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +6 -1
  67. package/dist/docs/reference/geometry/Contour.md +10 -4
  68. package/dist/docs/reference/geometry/ContourCurve.md +5 -1
  69. package/dist/docs/reference/geometry/ContourPoint.md +6 -1
  70. package/dist/docs/reference/geometry/ContourSegment.md +5 -1
  71. package/dist/docs/reference/geometry/CorrespondingComponent.md +5 -1
  72. package/dist/docs/reference/geometry/CorrespondingContour.md +5 -1
  73. package/dist/docs/reference/geometry/CorrespondingProfile.md +5 -1
  74. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +5 -1
  75. package/dist/docs/reference/geometry/CubicBezierCurve2.md +10 -6
  76. package/dist/docs/reference/geometry/CubicBezierCurve3.md +10 -6
  77. package/dist/docs/reference/geometry/Curve2.md +5 -1
  78. package/dist/docs/reference/geometry/Curve3.md +5 -1
  79. package/dist/docs/reference/geometry/CurveSamplingOptions.md +5 -1
  80. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +7 -3
  81. package/dist/docs/reference/geometry/CylinderAnchorFace.md +2 -1
  82. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +4 -3
  83. package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
  84. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +6 -1
  85. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -1
  86. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +5 -1
  87. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +5 -1
  88. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +5 -1
  89. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +6 -1
  90. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +5 -1
  91. package/dist/docs/reference/geometry/CylindricalGearSpec.md +6 -1
  92. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
  93. package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
  94. package/dist/docs/reference/geometry/EllipseContourOptions.md +7 -3
  95. package/dist/docs/reference/geometry/EndTreatments.md +1 -1
  96. package/dist/docs/reference/geometry/ExtrudeOptions.md +5 -1
  97. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +5 -1
  98. package/dist/docs/reference/geometry/FittedTextLayout.md +7 -3
  99. package/dist/docs/reference/geometry/Frame3.md +10 -6
  100. package/dist/docs/reference/geometry/GeometryError.md +1 -1
  101. package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
  102. package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
  103. package/dist/docs/reference/geometry/GeometryResolution.md +1 -1
  104. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +5 -1
  105. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
  106. package/dist/docs/reference/geometry/GridPatternOptions.md +4 -4
  107. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +5 -1
  108. package/dist/docs/reference/geometry/HeightfieldOptions.md +9 -5
  109. package/dist/docs/reference/geometry/HeightfieldPreflight.md +9 -4
  110. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +5 -1
  111. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +5 -1
  112. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +7 -2
  113. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +4 -3
  114. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +5 -1
  115. package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +82 -0
  116. package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +148 -0
  117. package/dist/docs/reference/geometry/KnuckleHingeInterval.md +46 -0
  118. package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +51 -0
  119. package/dist/docs/reference/geometry/KnuckleHingeSpec.md +22 -0
  120. package/dist/docs/reference/geometry/LineCurve2.md +8 -4
  121. package/dist/docs/reference/geometry/LineCurve3.md +8 -4
  122. package/dist/docs/reference/geometry/LinearPatternOptions.md +1 -1
  123. package/dist/docs/reference/geometry/LoftCorrespondence.md +6 -1
  124. package/dist/docs/reference/geometry/LoftMeshStation.md +5 -1
  125. package/dist/docs/reference/geometry/LoftOptions.md +5 -1
  126. package/dist/docs/reference/geometry/LoftPlacement.md +5 -1
  127. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +5 -1
  128. package/dist/docs/reference/geometry/MatchProfilesOptions.md +5 -1
  129. package/dist/docs/reference/geometry/MetricFastenerSize.md +9 -2
  130. package/dist/docs/reference/geometry/MetricFastenerStandard.md +5 -1
  131. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +6 -1
  132. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +6 -1
  133. package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
  134. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +5 -1
  135. package/dist/docs/reference/geometry/Path2-type.md +12 -8
  136. package/dist/docs/reference/geometry/Path2Data.md +40 -4
  137. package/dist/docs/reference/geometry/Path2Input.md +8 -3
  138. package/dist/docs/reference/geometry/Path3-type.md +12 -8
  139. package/dist/docs/reference/geometry/Path3Data.md +40 -4
  140. package/dist/docs/reference/geometry/Path3Input.md +8 -3
  141. package/dist/docs/reference/geometry/PathFrame.md +9 -5
  142. package/dist/docs/reference/geometry/PathLocation.md +5 -1
  143. package/dist/docs/reference/geometry/PathNormalGuide.md +8 -4
  144. package/dist/docs/reference/geometry/PathOptions.md +5 -1
  145. package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
  146. package/dist/docs/reference/geometry/PathPlacement.md +8 -4
  147. package/dist/docs/reference/geometry/PathResamplingOptions.md +5 -1
  148. package/dist/docs/reference/geometry/Pivot2Options.md +2 -1
  149. package/dist/docs/reference/geometry/Pivot3Options.md +2 -1
  150. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +8 -1
  151. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +5 -1
  152. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +5 -1
  153. package/dist/docs/reference/geometry/PlanarPatchQuality.md +7 -3
  154. package/dist/docs/reference/geometry/PolygonData.md +7 -2
  155. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +5 -1
  156. package/dist/docs/reference/geometry/PrimitiveAttachment.md +1 -1
  157. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +1 -1
  158. package/dist/docs/reference/geometry/PrintableThreadFit.md +8 -1
  159. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +6 -1
  160. package/dist/docs/reference/geometry/Profile.md +8 -2
  161. package/dist/docs/reference/geometry/ProfileComponent2.md +5 -1
  162. package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
  163. package/dist/docs/reference/geometry/ProfileSpan2.md +7 -3
  164. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
  165. package/dist/docs/reference/geometry/RackPitchDimensions.md +6 -1
  166. package/dist/docs/reference/geometry/RackPitchSpec.md +6 -1
  167. package/dist/docs/reference/geometry/RadialPatternOptions.md +1 -1
  168. package/dist/docs/reference/geometry/RadialSizing.md +1 -1
  169. package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
  170. package/dist/docs/reference/geometry/RectangleContourOptions.md +7 -3
  171. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +5 -1
  172. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +5 -1
  173. package/dist/docs/reference/geometry/RectangleProfileOptions.md +7 -3
  174. package/dist/docs/reference/geometry/RegionData.md +6 -2
  175. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +5 -1
  176. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
  177. package/dist/docs/reference/geometry/RevolveOptions.md +5 -1
  178. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
  179. package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -1
  180. package/dist/docs/reference/geometry/SampleContourOptions.md +5 -1
  181. package/dist/docs/reference/geometry/SampleHelixOptions.md +5 -1
  182. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +5 -1
  183. package/dist/docs/reference/geometry/SampledCurve2.md +8 -4
  184. package/dist/docs/reference/geometry/SampledCurve3.md +8 -4
  185. package/dist/docs/reference/geometry/SampledThreadHelices.md +7 -3
  186. package/dist/docs/reference/geometry/SideProfileCurve.md +5 -1
  187. package/dist/docs/reference/geometry/SideProfilePoint.md +6 -1
  188. package/dist/docs/reference/geometry/SideProfileSegment.md +5 -1
  189. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
  190. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +5 -1
  191. package/dist/docs/reference/geometry/SphereOptions.md +1 -1
  192. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +5 -1
  193. package/dist/docs/reference/geometry/StrokeCap.md +8 -1
  194. package/dist/docs/reference/geometry/StrokeJoin.md +8 -1
  195. package/dist/docs/reference/geometry/StrokeOptions.md +5 -1
  196. package/dist/docs/reference/geometry/SvgImportOptions.md +20 -1
  197. package/dist/docs/reference/geometry/SvgRegionPreflight.md +21 -2
  198. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +7 -3
  199. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +6 -1
  200. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +6 -1
  201. package/dist/docs/reference/geometry/SweepOptions.md +5 -1
  202. package/dist/docs/reference/geometry/SweepOrientation.md +5 -1
  203. package/dist/docs/reference/geometry/ThreadBevelOptions.md +5 -1
  204. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +5 -1
  205. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +5 -1
  206. package/dist/docs/reference/geometry/ThreadEndStyle.md +8 -1
  207. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +5 -1
  208. package/dist/docs/reference/geometry/ThreadHandedness.md +8 -1
  209. package/dist/docs/reference/geometry/ThreadHelixOptions.md +5 -1
  210. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +8 -1
  211. package/dist/docs/reference/geometry/ThreadLeadInShape.md +8 -1
  212. package/dist/docs/reference/geometry/ThreadProfile-type.md +7 -3
  213. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +5 -1
  214. package/dist/docs/reference/geometry/ThreadProfileSpec.md +5 -1
  215. package/dist/docs/reference/geometry/ThreadRole.md +8 -1
  216. package/dist/docs/reference/geometry/ThreadedNutBevel.md +8 -1
  217. package/dist/docs/reference/geometry/ThreadedNutOptions.md +5 -1
  218. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +7 -3
  219. package/dist/docs/reference/geometry/ThreadedNutShape.md +8 -1
  220. package/dist/docs/reference/geometry/ThreadedRodOptions.md +5 -1
  221. package/dist/docs/reference/geometry/TorusOptions.md +1 -1
  222. package/dist/docs/reference/geometry/Transform2-type.md +6 -5
  223. package/dist/docs/reference/geometry/Transform2Data.md +15 -0
  224. package/dist/docs/reference/geometry/Transform2Input.md +4 -3
  225. package/dist/docs/reference/geometry/Transform3-type.md +6 -5
  226. package/dist/docs/reference/geometry/Transform3Data.md +18 -0
  227. package/dist/docs/reference/geometry/Transform3Input.md +4 -3
  228. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +5 -1
  229. package/dist/docs/reference/geometry/TriangleMesh.md +6 -1
  230. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +7 -3
  231. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +5 -1
  232. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +7 -3
  233. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +5 -1
  234. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +5 -1
  235. package/dist/docs/reference/geometry/TriangleMeshSignature.md +7 -3
  236. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +6 -1
  237. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +6 -1
  238. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +5 -1
  239. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +5 -1
  240. package/dist/docs/reference/geometry/TubeOptions.md +1 -1
  241. package/dist/docs/reference/geometry/Vector2-type.md +6 -5
  242. package/dist/docs/reference/geometry/Vector2Data.md +15 -0
  243. package/dist/docs/reference/geometry/Vector2Input.md +4 -3
  244. package/dist/docs/reference/geometry/Vector3-type.md +6 -5
  245. package/dist/docs/reference/geometry/Vector3Data.md +15 -0
  246. package/dist/docs/reference/geometry/Vector3Input.md +4 -3
  247. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +6 -1
  248. package/dist/docs/reference/geometry/VectorTextLayout.md +5 -1
  249. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +7 -3
  250. package/dist/docs/reference/geometry/VectorTextMetrics.md +7 -3
  251. package/dist/docs/reference/geometry/VectorTextOptions.md +5 -1
  252. package/dist/docs/reference/geometry/add2.md +7 -6
  253. package/dist/docs/reference/geometry/add3.md +7 -6
  254. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +5 -1
  255. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +5 -1
  256. package/dist/docs/reference/geometry/anchor3.md +2 -1
  257. package/dist/docs/reference/geometry/anchorFrame3.md +5 -1
  258. package/dist/docs/reference/geometry/applyTransformDirection3.md +8 -7
  259. package/dist/docs/reference/geometry/applyTransformPoint3.md +8 -7
  260. package/dist/docs/reference/geometry/attachmentTransform3.md +5 -4
  261. package/dist/docs/reference/geometry/bounds2.md +39 -0
  262. package/dist/docs/reference/geometry/bounds3.md +39 -0
  263. package/dist/docs/reference/geometry/boundsCenter.md +12 -11
  264. package/dist/docs/reference/geometry/boundsSize.md +12 -11
  265. package/dist/docs/reference/geometry/boxAnchor3.md +4 -3
  266. package/dist/docs/reference/geometry/categories/bounds-layout.md +25 -9
  267. package/dist/docs/reference/geometry/categories/curves-paths.md +21 -9
  268. package/dist/docs/reference/geometry/categories/mechanical.md +22 -10
  269. package/dist/docs/reference/geometry/categories/meshes.md +16 -7
  270. package/dist/docs/reference/geometry/categories/pattern-placement.md +6 -4
  271. package/dist/docs/reference/geometry/categories/primitive-options.md +8 -2
  272. package/dist/docs/reference/geometry/categories/profiles-regions.md +21 -12
  273. package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -3
  274. package/dist/docs/reference/geometry/categories/transforms-math.md +21 -12
  275. package/dist/docs/reference/geometry/categories/vector-import.md +11 -5
  276. package/dist/docs/reference/geometry/circleContour.md +5 -1
  277. package/dist/docs/reference/geometry/closeToAxis.md +14 -5
  278. package/dist/docs/reference/geometry/compensateThreadDiameters.md +5 -1
  279. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +5 -1
  280. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +5 -1
  281. package/dist/docs/reference/geometry/composeTransform3.md +7 -6
  282. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +5 -1
  283. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +11 -2
  284. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +13 -5
  285. package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +5 -1
  286. package/dist/docs/reference/geometry/contourContainsPoint.md +8 -4
  287. package/dist/docs/reference/geometry/cross2.md +6 -5
  288. package/dist/docs/reference/geometry/cross3.md +7 -6
  289. package/dist/docs/reference/geometry/cylinderAnchor3.md +3 -2
  290. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +5 -1
  291. package/dist/docs/reference/geometry/distance2.md +6 -5
  292. package/dist/docs/reference/geometry/distance3.md +6 -5
  293. package/dist/docs/reference/geometry/distributeAlongPath.md +5 -1
  294. package/dist/docs/reference/geometry/dot2.md +6 -5
  295. package/dist/docs/reference/geometry/dot3.md +6 -5
  296. package/dist/docs/reference/geometry/ellipseContour.md +5 -1
  297. package/dist/docs/reference/geometry/eulerTransform3.md +7 -6
  298. package/dist/docs/reference/geometry/extrudeMesh.md +5 -1
  299. package/dist/docs/reference/geometry/fitBounds.md +10 -9
  300. package/dist/docs/reference/geometry/fitTextLayout.md +13 -5
  301. package/dist/docs/reference/geometry/frameTransform3.md +5 -4
  302. package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +5 -1
  303. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +5 -1
  304. package/dist/docs/reference/geometry/gridPatternTransforms.md +4 -4
  305. package/dist/docs/reference/geometry/heightfieldMesh.md +11 -2
  306. package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +5 -1
  307. package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +5 -1
  308. package/dist/docs/reference/geometry/inverseTransform3.md +6 -5
  309. package/dist/docs/reference/geometry/isGeometryError.md +5 -2
  310. package/dist/docs/reference/geometry/joinTriangleMeshes.md +5 -1
  311. package/dist/docs/reference/geometry/layoutRow.md +11 -7
  312. package/dist/docs/reference/geometry/length2.md +5 -4
  313. package/dist/docs/reference/geometry/length3.md +5 -4
  314. package/dist/docs/reference/geometry/lerp2.md +7 -6
  315. package/dist/docs/reference/geometry/lerp3.md +7 -6
  316. package/dist/docs/reference/geometry/linearPatternTransforms.md +4 -4
  317. package/dist/docs/reference/geometry/loftMesh.md +5 -1
  318. package/dist/docs/reference/geometry/matchProfiles.md +11 -2
  319. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +5 -1
  320. package/dist/docs/reference/geometry/meshBounds.md +8 -4
  321. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +5 -1
  322. package/dist/docs/reference/geometry/normalize2.md +10 -6
  323. package/dist/docs/reference/geometry/normalize3.md +10 -6
  324. package/dist/docs/reference/geometry/normalizeContour.md +8 -4
  325. package/dist/docs/reference/geometry/normalizePolygon.md +5 -1
  326. package/dist/docs/reference/geometry/normalizeRegion.md +5 -1
  327. package/dist/docs/reference/geometry/optimizePlanarPatches.md +5 -1
  328. package/dist/docs/reference/geometry/path2.md +14 -2
  329. package/dist/docs/reference/geometry/path3.md +8 -1
  330. package/dist/docs/reference/geometry/pathPatternTransforms.md +9 -5
  331. package/dist/docs/reference/geometry/preflightHeightfield.md +11 -2
  332. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +11 -2
  333. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +13 -2
  334. package/dist/docs/reference/geometry/preflightSvgRegion.md +24 -2
  335. package/dist/docs/reference/geometry/preflightThreadedNut.md +12 -2
  336. package/dist/docs/reference/geometry/preflightThreadedRod.md +12 -2
  337. package/dist/docs/reference/geometry/projectOntoPlane3.md +7 -6
  338. package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -4
  339. package/dist/docs/reference/geometry/rectangleContour.md +10 -3
  340. package/dist/docs/reference/geometry/rectangleProfile.md +10 -2
  341. package/dist/docs/reference/geometry/regionArea.md +5 -1
  342. package/dist/docs/reference/geometry/regionBounds.md +8 -4
  343. package/dist/docs/reference/geometry/regularPolygonContour.md +8 -4
  344. package/dist/docs/reference/geometry/resamplePolyline2.md +8 -4
  345. package/dist/docs/reference/geometry/resamplePolyline3.md +8 -4
  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 +40 -0
  349. package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
  350. package/dist/docs/reference/geometry/resolveCylindricalGear.md +5 -1
  351. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +5 -1
  352. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +5 -1
  353. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -1
  354. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
  355. package/dist/docs/reference/geometry/resolveKnuckleHinge.md +59 -0
  356. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +5 -1
  357. package/dist/docs/reference/geometry/resolveRackPitch.md +5 -1
  358. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +5 -1
  359. package/dist/docs/reference/geometry/reverseTriangleMesh.md +5 -1
  360. package/dist/docs/reference/geometry/revolveMesh.md +5 -1
  361. package/dist/docs/reference/geometry/rotate2.md +6 -5
  362. package/dist/docs/reference/geometry/rotationTransform3.md +7 -6
  363. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -4
  364. package/dist/docs/reference/geometry/sampleContour.md +12 -2
  365. package/dist/docs/reference/geometry/sampleCurve2.md +6 -3
  366. package/dist/docs/reference/geometry/sampleCurve3.md +5 -1
  367. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +5 -1
  368. package/dist/docs/reference/geometry/sampleHelix.md +13 -5
  369. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +5 -1
  370. package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -4
  371. package/dist/docs/reference/geometry/sampleSideProfile.md +15 -5
  372. package/dist/docs/reference/geometry/sampleTextContours.md +5 -1
  373. package/dist/docs/reference/geometry/sampleThreadHelices.md +5 -1
  374. package/dist/docs/reference/geometry/scale2.md +6 -5
  375. package/dist/docs/reference/geometry/scale3.md +6 -5
  376. package/dist/docs/reference/geometry/scaleTransform3.md +7 -6
  377. package/dist/docs/reference/geometry/signedContourArea.md +5 -1
  378. package/dist/docs/reference/geometry/starContour.md +8 -4
  379. package/dist/docs/reference/geometry/strokeRegionData.md +5 -1
  380. package/dist/docs/reference/geometry/subtract2.md +7 -6
  381. package/dist/docs/reference/geometry/subtract3.md +7 -6
  382. package/dist/docs/reference/geometry/sweepMesh.md +5 -1
  383. package/dist/docs/reference/geometry/threadProfile.md +5 -1
  384. package/dist/docs/reference/geometry/transform2.md +14 -7
  385. package/dist/docs/reference/geometry/transform3.md +16 -7
  386. package/dist/docs/reference/geometry/transformDeterminant3.md +5 -4
  387. package/dist/docs/reference/geometry/transformRegionData.md +5 -1
  388. package/dist/docs/reference/geometry/transformTriangleMesh.md +5 -1
  389. package/dist/docs/reference/geometry/translationTransform3.md +7 -6
  390. package/dist/docs/reference/geometry/triangulateContour.md +5 -1
  391. package/dist/docs/reference/geometry/validateSolidMesh.md +9 -2
  392. package/dist/docs/reference/geometry/validateTransform3.md +6 -5
  393. package/dist/docs/reference/geometry/validateTriangleMesh.md +5 -1
  394. package/dist/docs/reference/geometry/vector2.md +10 -2
  395. package/dist/docs/reference/geometry/vector3.md +10 -2
  396. package/dist/docs/reference/geometry.md +7 -5
  397. package/dist/docs/reference/model/Anchor3.md +6 -5
  398. package/dist/docs/reference/model/AttachOptions.md +2 -1
  399. package/dist/docs/reference/model/Bounds2-type.md +125 -0
  400. package/dist/docs/reference/model/Bounds2Data.md +44 -0
  401. package/dist/docs/reference/model/Bounds2Input.md +19 -0
  402. package/dist/docs/reference/model/Bounds2Options.md +70 -0
  403. package/dist/docs/reference/model/Bounds3-type.md +125 -0
  404. package/dist/docs/reference/model/Bounds3Data.md +44 -0
  405. package/dist/docs/reference/model/Bounds3Input.md +19 -0
  406. package/dist/docs/reference/model/Bounds3Options.md +70 -0
  407. package/dist/docs/reference/model/BoxEdge.md +1 -1
  408. package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
  409. package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
  410. package/dist/docs/reference/model/BoxOptions.md +3 -3
  411. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
  412. package/dist/docs/reference/model/CircleContourOptions.md +1 -1
  413. package/dist/docs/reference/model/CircleOptions.md +1 -1
  414. package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
  415. package/dist/docs/reference/model/Computed.md +6 -1
  416. package/dist/docs/reference/model/ComputedValue.md +5 -1
  417. package/dist/docs/reference/model/Contour.md +6 -4
  418. package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
  419. package/dist/docs/reference/model/CorrespondingContour.md +1 -1
  420. package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
  421. package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
  422. package/dist/docs/reference/model/CylinderOptions.md +1 -1
  423. package/dist/docs/reference/model/DiagnosticOptions.md +6 -1
  424. package/dist/docs/reference/model/EdgeTreatment.md +1 -1
  425. package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
  426. package/dist/docs/reference/model/EllipseOptions.md +1 -1
  427. package/dist/docs/reference/model/EndTreatments.md +1 -1
  428. package/dist/docs/reference/model/ExtrudeOptions.md +1 -1
  429. package/dist/docs/reference/model/FinalizedModel.md +3 -3
  430. package/dist/docs/reference/model/FinalizedPart.md +1 -1
  431. package/dist/docs/reference/model/Frame3.md +6 -6
  432. package/dist/docs/reference/model/GenerateCallback.md +5 -1
  433. package/dist/docs/reference/model/GenerateContext.md +5 -1
  434. package/dist/docs/reference/model/GeneratedPart.md +5 -1
  435. package/dist/docs/reference/model/GenerationDiagnostic.md +6 -1
  436. package/dist/docs/reference/model/GenerationError.md +5 -1
  437. package/dist/docs/reference/model/GeometryResolution.md +1 -1
  438. package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
  439. package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
  440. package/dist/docs/reference/model/GridPatternOptions.md +5 -4
  441. package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
  442. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +2 -1
  443. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +3 -2
  444. package/dist/docs/reference/model/HoleCutterOptions.md +77 -0
  445. package/dist/docs/reference/model/HoleCutterOverrun.md +35 -0
  446. package/dist/docs/reference/model/HoleCutterRecess.md +87 -0
  447. package/dist/docs/reference/model/HullOptions.md +1 -1
  448. package/dist/docs/reference/model/ImmutableBuffer-type.md +5 -1
  449. package/dist/docs/reference/model/ImmutableTriangleMesh.md +5 -1
  450. package/dist/docs/reference/model/ImplicitOptions.md +6 -6
  451. package/dist/docs/reference/model/InternalThreadCutterOptions.md +2 -1
  452. package/dist/docs/reference/model/KnuckleHinge-type.md +47 -0
  453. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +77 -0
  454. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +38 -0
  455. package/dist/docs/reference/model/KnuckleHingeOptions.md +38 -0
  456. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +47 -0
  457. package/dist/docs/reference/model/KnuckleHingeSpec.md +18 -0
  458. package/dist/docs/reference/model/KnuckleHingeWeb.md +53 -0
  459. package/dist/docs/reference/model/LinearPatternOptions.md +2 -1
  460. package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
  461. package/dist/docs/reference/model/LoftOptions.md +1 -1
  462. package/dist/docs/reference/model/LoftPlacement.md +1 -1
  463. package/dist/docs/reference/model/LoftStation.md +1 -1
  464. package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
  465. package/dist/docs/reference/model/ModelProgram.md +5 -1
  466. package/dist/docs/reference/model/ModelingLimits.md +1 -1
  467. package/dist/docs/reference/model/NumericArray.md +8 -1
  468. package/dist/docs/reference/model/PartGeometry.md +5 -1
  469. package/dist/docs/reference/model/PartOptions.md +5 -1
  470. package/dist/docs/reference/model/Path2-type.md +12 -8
  471. package/dist/docs/reference/model/Path2Data.md +40 -4
  472. package/dist/docs/reference/model/Path2Input.md +8 -3
  473. package/dist/docs/reference/model/Path3-type.md +12 -8
  474. package/dist/docs/reference/model/Path3Data.md +40 -4
  475. package/dist/docs/reference/model/Path3Input.md +8 -3
  476. package/dist/docs/reference/model/PathLocation.md +5 -1
  477. package/dist/docs/reference/model/PathNormalGuide.md +4 -4
  478. package/dist/docs/reference/model/PathOptions.md +5 -1
  479. package/dist/docs/reference/model/PathPatternOptions.md +2 -1
  480. package/dist/docs/reference/model/PathResamplingOptions.md +5 -1
  481. package/dist/docs/reference/model/PatternSource.md +2 -1
  482. package/dist/docs/reference/model/Pivot2Options.md +2 -1
  483. package/dist/docs/reference/model/Pivot3Options.md +2 -1
  484. package/dist/docs/reference/model/PlaneOptions.md +1 -1
  485. package/dist/docs/reference/model/PolygonData.md +3 -2
  486. package/dist/docs/reference/model/PolygonOptions.md +1 -1
  487. package/dist/docs/reference/model/PrimitiveAttachment.md +2 -1
  488. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +2 -1
  489. package/dist/docs/reference/model/PrintableThreadFit.md +2 -1
  490. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +2 -1
  491. package/dist/docs/reference/model/Profile.md +4 -2
  492. package/dist/docs/reference/model/ProfileComponent2.md +1 -1
  493. package/dist/docs/reference/model/ProfileContour2.md +4 -2
  494. package/dist/docs/reference/model/ProfileSpan2.md +3 -3
  495. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +3 -3
  496. package/dist/docs/reference/model/RadialPatternOptions.md +2 -1
  497. package/dist/docs/reference/model/RadialSizing.md +1 -1
  498. package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
  499. package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
  500. package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
  501. package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
  502. package/dist/docs/reference/model/RectangleOptions.md +3 -3
  503. package/dist/docs/reference/model/RegionData.md +2 -2
  504. package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
  505. package/dist/docs/reference/model/RevolveOptions.md +1 -1
  506. package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
  507. package/dist/docs/reference/model/Section.md +9 -2
  508. package/dist/docs/reference/model/SectionHullOptions.md +1 -1
  509. package/dist/docs/reference/model/SectionInspection.md +4 -4
  510. package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
  511. package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
  512. package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
  513. package/dist/docs/reference/model/Solid.md +9 -2
  514. package/dist/docs/reference/model/SolidInspection.md +4 -4
  515. package/dist/docs/reference/model/SolidSegmentHit.md +4 -4
  516. package/dist/docs/reference/model/SphereOptions.md +1 -1
  517. package/dist/docs/reference/model/StarOptions.md +1 -1
  518. package/dist/docs/reference/model/StrokeCap.md +1 -1
  519. package/dist/docs/reference/model/StrokeJoin.md +1 -1
  520. package/dist/docs/reference/model/StrokeOptions.md +1 -1
  521. package/dist/docs/reference/model/SvgOrigin.md +1 -1
  522. package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
  523. package/dist/docs/reference/model/SvgSectionOptions.md +14 -1
  524. package/dist/docs/reference/model/SweepOptions.md +1 -1
  525. package/dist/docs/reference/model/SweepOrientation.md +1 -1
  526. package/dist/docs/reference/model/TextSectionOptions.md +1 -1
  527. package/dist/docs/reference/model/ThreadEndStyle.md +2 -1
  528. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +2 -1
  529. package/dist/docs/reference/model/ThreadHandedness.md +2 -1
  530. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +2 -1
  531. package/dist/docs/reference/model/ThreadLeadInShape.md +2 -1
  532. package/dist/docs/reference/model/ThreadProfile.md +4 -3
  533. package/dist/docs/reference/model/ThreadRidgeOptions.md +2 -1
  534. package/dist/docs/reference/model/ThreadedNutBevel.md +2 -1
  535. package/dist/docs/reference/model/ThreadedNutOptions.md +2 -1
  536. package/dist/docs/reference/model/ThreadedNutPreflight.md +4 -3
  537. package/dist/docs/reference/model/ThreadedNutShape.md +2 -1
  538. package/dist/docs/reference/model/ThreadedRodOptions.md +2 -1
  539. package/dist/docs/reference/model/TorusOptions.md +1 -1
  540. package/dist/docs/reference/model/Transform2-type.md +6 -5
  541. package/dist/docs/reference/model/Transform2Data.md +16 -0
  542. package/dist/docs/reference/model/Transform2Input.md +4 -3
  543. package/dist/docs/reference/model/Transform3-type.md +6 -5
  544. package/dist/docs/reference/model/Transform3Data.md +19 -0
  545. package/dist/docs/reference/model/Transform3Input.md +4 -3
  546. package/dist/docs/reference/model/TriangleMesh.md +1 -1
  547. package/dist/docs/reference/model/TriangleMeshAnalysis.md +3 -3
  548. package/dist/docs/reference/model/TriangleMeshMeasurements.md +3 -3
  549. package/dist/docs/reference/model/TubeOptions.md +1 -1
  550. package/dist/docs/reference/model/Vector2-type.md +6 -5
  551. package/dist/docs/reference/model/{Vector2Tuple.md → Vector2Data.md} +3 -3
  552. package/dist/docs/reference/model/Vector2Input.md +4 -3
  553. package/dist/docs/reference/model/Vector3-type.md +6 -5
  554. package/dist/docs/reference/model/{Vector3Tuple.md → Vector3Data.md} +3 -3
  555. package/dist/docs/reference/model/Vector3Input.md +4 -3
  556. package/dist/docs/reference/model/VectorTextLayout.md +1 -1
  557. package/dist/docs/reference/model/VectorTextMetrics.md +3 -3
  558. package/dist/docs/reference/model/anchor.md +2 -1
  559. package/dist/docs/reference/model/bounds2.md +37 -0
  560. package/dist/docs/reference/model/bounds3.md +37 -0
  561. package/dist/docs/reference/model/box.md +2 -2
  562. package/dist/docs/reference/model/castSegment.md +1 -1
  563. package/dist/docs/reference/model/categories/boolean-operations.md +10 -3
  564. package/dist/docs/reference/model/categories/bounded-surfaces.md +5 -3
  565. package/dist/docs/reference/model/categories/bounds.md +38 -0
  566. package/dist/docs/reference/model/categories/contracts.md +4 -2
  567. package/dist/docs/reference/model/categories/core-values-errors.md +11 -11
  568. package/dist/docs/reference/model/categories/explicit-profiles.md +6 -4
  569. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +12 -3
  570. package/dist/docs/reference/model/categories/generation.md +11 -2
  571. package/dist/docs/reference/model/categories/hinges.md +38 -0
  572. package/dist/docs/reference/model/categories/inspection.md +9 -2
  573. package/dist/docs/reference/model/categories/mesh-inspection.md +5 -3
  574. package/dist/docs/reference/model/categories/paths.md +15 -7
  575. package/dist/docs/reference/model/categories/primitives.md +14 -4
  576. package/dist/docs/reference/model/categories/resolution.md +4 -2
  577. package/dist/docs/reference/model/categories/sections.md +10 -5
  578. package/dist/docs/reference/model/categories/threads.md +10 -7
  579. package/dist/docs/reference/model/categories/transforms-placement.md +17 -9
  580. package/dist/docs/reference/model/circle.md +1 -1
  581. package/dist/docs/reference/model/components.md +1 -1
  582. package/dist/docs/reference/model/compose.md +1 -1
  583. package/dist/docs/reference/model/cylinder.md +1 -1
  584. package/dist/docs/reference/model/distance.md +1 -1
  585. package/dist/docs/reference/model/ellipse.md +1 -1
  586. package/dist/docs/reference/model/extrude.md +1 -1
  587. package/dist/docs/reference/model/generate.md +5 -1
  588. package/dist/docs/reference/model/gridPattern.md +2 -1
  589. package/dist/docs/reference/model/heightfield.md +5 -2
  590. package/dist/docs/reference/model/holeCutter.md +45 -0
  591. package/dist/docs/reference/model/hull.md +1 -1
  592. package/dist/docs/reference/model/immutableBuffer.md +5 -1
  593. package/dist/docs/reference/model/immutableMesh.md +5 -1
  594. package/dist/docs/reference/model/implicit.md +3 -3
  595. package/dist/docs/reference/model/inspectSection.md +1 -1
  596. package/dist/docs/reference/model/inspectSolid.md +1 -1
  597. package/dist/docs/reference/model/internalThreadCutter.md +2 -1
  598. package/dist/docs/reference/model/intersect.md +1 -1
  599. package/dist/docs/reference/model/isEmpty.md +1 -1
  600. package/dist/docs/reference/model/knuckleHinge.md +47 -0
  601. package/dist/docs/reference/model/linearPattern.md +2 -1
  602. package/dist/docs/reference/model/loft.md +1 -1
  603. package/dist/docs/reference/model/matchProfiles.md +1 -1
  604. package/dist/docs/reference/model/minkowskiSum.md +1 -1
  605. package/dist/docs/reference/model/path2.md +14 -2
  606. package/dist/docs/reference/model/path3.md +8 -1
  607. package/dist/docs/reference/model/pathPattern.md +2 -1
  608. package/dist/docs/reference/model/polygon.md +5 -2
  609. package/dist/docs/reference/model/preflightInternalThreadCutter.md +8 -2
  610. package/dist/docs/reference/model/preflightThreadedNut.md +8 -2
  611. package/dist/docs/reference/model/preflightThreadedRod.md +8 -2
  612. package/dist/docs/reference/model/radialPattern.md +2 -1
  613. package/dist/docs/reference/model/rectangle.md +5 -2
  614. package/dist/docs/reference/model/regularPolygon.md +1 -1
  615. package/dist/docs/reference/model/revolve.md +1 -1
  616. package/dist/docs/reference/model/solidFromMesh.md +1 -1
  617. package/dist/docs/reference/model/sphere.md +1 -1
  618. package/dist/docs/reference/model/split.md +1 -1
  619. package/dist/docs/reference/model/splitByPlane.md +1 -1
  620. package/dist/docs/reference/model/star.md +1 -1
  621. package/dist/docs/reference/model/stroke.md +1 -1
  622. package/dist/docs/reference/model/svgPathSection.md +1 -1
  623. package/dist/docs/reference/model/svgSection.md +5 -1
  624. package/dist/docs/reference/model/sweep.md +1 -1
  625. package/dist/docs/reference/model/textSection.md +1 -1
  626. package/dist/docs/reference/model/threadRidge.md +2 -1
  627. package/dist/docs/reference/model/threadedNut.md +2 -1
  628. package/dist/docs/reference/model/threadedRod.md +2 -1
  629. package/dist/docs/reference/model/torus.md +1 -1
  630. package/dist/docs/reference/model/transform2.md +14 -7
  631. package/dist/docs/reference/model/transform3.md +16 -7
  632. package/dist/docs/reference/model/tube.md +1 -1
  633. package/dist/docs/reference/model/union.md +1 -1
  634. package/dist/docs/reference/model/vector2.md +10 -2
  635. package/dist/docs/reference/model/vector3.md +10 -2
  636. package/dist/docs/reference/model.md +15 -8
  637. package/dist/docs/reference/text/Bounds2Data.md +34 -0
  638. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
  639. package/dist/docs/reference/text/Vector2Data.md +7 -0
  640. package/dist/docs/reference/text/VectorFont.md +7 -7
  641. package/dist/docs/reference/text/VectorFontOptions.md +1 -1
  642. package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
  643. package/dist/docs/reference/text/VectorTextLayout.md +1 -1
  644. package/dist/docs/reference/text/VectorTextLayoutOptions.md +3 -3
  645. package/dist/docs/reference/text/VectorTextMetrics.md +3 -3
  646. package/dist/docs/reference/text/VectorTextOptions.md +1 -1
  647. package/dist/docs/reference/text/categories/font-preparation.md +6 -4
  648. package/dist/docs/reference/text/prepareVectorFont.md +1 -1
  649. package/dist/docs/reference/text.md +4 -2
  650. package/dist/engine/construction-operations.js +1 -1
  651. package/dist/engine/extrusion-finishing.js +2 -29
  652. package/dist/engine/hole-cutter-operation.js +148 -0
  653. package/dist/engine/knuckle-hinge-operation.js +128 -0
  654. package/dist/engine/loft-operations.js +1 -1
  655. package/dist/engine/mechanical-operations.js +3 -1
  656. package/dist/engine/modeling-context.js +20 -1
  657. package/dist/engine/primitive-operations.js +19 -6
  658. package/dist/engine/recipe-realization.js +4 -2
  659. package/dist/engine/section-operations.js +2 -2
  660. package/dist/engine/transform-operations.js +3 -3
  661. package/dist/geometry/bounds-value.js +121 -0
  662. package/dist/geometry/bounds.js +10 -25
  663. package/dist/geometry/circular-sampling.js +45 -0
  664. package/dist/geometry/convex-offset.js +41 -0
  665. package/dist/geometry/curves/sampling.js +1 -2
  666. package/dist/geometry/errors.js +1 -0
  667. package/dist/geometry/heightfield.js +12 -1
  668. package/dist/geometry/index.js +5 -2
  669. package/dist/geometry/math/immutable-value.js +1 -1
  670. package/dist/geometry/math/vector-value.js +11 -3
  671. package/dist/geometry/math/vector2.js +1 -0
  672. package/dist/geometry/math/vector3.js +1 -0
  673. package/dist/geometry/mechanical/index.js +1 -0
  674. package/dist/geometry/mechanical/knuckle-hinge.js +110 -0
  675. package/dist/geometry/mechanical/thread-mesh-plan.js +7 -2
  676. package/dist/geometry/mechanical/thread-solids.js +29 -4
  677. package/dist/geometry/mesh/mesh-centroid.js +1 -0
  678. package/dist/geometry/mesh/mesh-solid.js +1 -0
  679. package/dist/geometry/paths/frames.js +1 -0
  680. package/dist/geometry/paths/helix.js +1 -0
  681. package/dist/geometry/paths/path-value.js +43 -27
  682. package/dist/geometry/paths/resampling.js +2 -2
  683. package/dist/geometry/patterns/placements.js +3 -3
  684. package/dist/geometry/patterns.js +3 -1
  685. package/dist/geometry/profiles/contour.js +1 -0
  686. package/dist/geometry/profiles/matched.js +1 -0
  687. package/dist/geometry/profiles/profiles.js +3 -23
  688. package/dist/geometry/profiles/rectangle.js +10 -1
  689. package/dist/geometry/profiles/side-profile.js +2 -0
  690. package/dist/geometry/svg/matrix.js +21 -0
  691. package/dist/geometry/svg-import.js +140 -52
  692. package/dist/geometry/sweeps/options.js +1 -1
  693. package/dist/geometry/text-fitting.js +1 -0
  694. package/dist/geometry/transform-matrix.js +1 -1
  695. package/dist/geometry/{transform-chain.js → transform-value.js} +24 -15
  696. package/dist/index.js +2 -1
  697. package/dist/model/execution-binding.js +1 -1
  698. package/dist/model/geometry-recipes.js +1 -1
  699. package/dist/model/hole-cutter.js +1 -0
  700. package/dist/model/immutable-generation-data.js +4 -12
  701. package/dist/model/knuckle-hinge.js +1 -0
  702. package/dist/model/operations.js +78 -3
  703. package/dist/model/recipe-declaration.js +11 -2
  704. package/package.json +1 -1
  705. package/dist/docs/reference/geometry/Bounds2.md +0 -39
  706. package/dist/docs/reference/geometry/Bounds3.md +0 -39
  707. package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +0 -23
  708. package/dist/docs/reference/geometry/Transform2Matrix.md +0 -14
  709. package/dist/docs/reference/geometry/Transform3Matrix.md +0 -17
  710. package/dist/docs/reference/geometry/Vector2Tuple.md +0 -14
  711. package/dist/docs/reference/geometry/Vector3Tuple.md +0 -14
  712. package/dist/docs/reference/geometry/boundsFromSize.md +0 -83
  713. package/dist/docs/reference/geometry/containsBounds.md +0 -72
  714. package/dist/docs/reference/model/Bounds2.md +0 -39
  715. package/dist/docs/reference/model/Bounds3.md +0 -39
  716. package/dist/docs/reference/model/Transform2Matrix.md +0 -15
  717. package/dist/docs/reference/model/Transform3Matrix.md +0 -18
  718. package/dist/docs/reference/text/Bounds2.md +0 -34
  719. package/dist/docs/reference/text/Vector2Tuple.md +0 -7
@@ -8,7 +8,7 @@ Text measurements from the same immutable layout that supplies geometry and SVG
8
8
 
9
9
 
10
10
 
11
- `readonly` **bounds**: [`Bounds2`](Bounds2.md) \| `null`
11
+ `readonly` **bounds**: [`Bounds2Data`](Bounds2Data.md) \| `null`
12
12
 
13
13
 
14
14
 
@@ -89,6 +89,10 @@ Number of lines, including empty and trailing lines; empty text occupies one lin
89
89
 
90
90
  ## Related APIs
91
91
 
92
- - [Bounds2](Bounds2.md)
92
+ - [Bounds2Data](Bounds2Data.md)
93
93
 
94
- Package: `@metamesh/modeling@0.15.0`.
94
+ ## Guides
95
+
96
+ - [SVG preflight work and guarantees](../../guides/concepts.md#check-preflight-guarantees)
97
+
98
+ Package: `@metamesh/modeling@0.17.0`.
@@ -47,4 +47,8 @@ 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.15.0`.
50
+ ## Guides
51
+
52
+ - [SVG preflight work and guarantees](../../guides/concepts.md#check-preflight-guarantees)
53
+
54
+ Package: `@metamesh/modeling@0.17.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Adds two finite XY vectors component-wise.
4
4
 
5
- `const` **add2**: (`a`: [`Vector2Tuple`](Vector2Tuple.md), `b`: [`Vector2Tuple`](Vector2Tuple.md)) => [`Vector2Tuple`](Vector2Tuple.md)
5
+ `const` **add2**: (`a`: [`Vector2Data`](Vector2Data.md), `b`: [`Vector2Data`](Vector2Data.md)) => [`Vector2Data`](Vector2Data.md)
6
6
 
7
7
 
8
8
 
@@ -10,27 +10,28 @@ Adds two finite XY vectors component-wise.
10
10
 
11
11
  <a id="a"></a>
12
12
 
13
- **`a`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
13
+ **`a`** · [`Vector2Data`](Vector2Data.md) · Required
14
14
 
15
15
 
16
16
 
17
17
  <a id="b"></a>
18
18
 
19
- **`b`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
19
+ **`b`** · [`Vector2Data`](Vector2Data.md) · Required
20
20
 
21
21
 
22
22
 
23
23
  ## Returns
24
24
 
25
- [`Vector2Tuple`](Vector2Tuple.md)
25
+ [`Vector2Data`](Vector2Data.md)
26
26
 
27
27
 
28
28
  ## Related APIs
29
29
 
30
- - [Vector2Tuple](Vector2Tuple.md)
30
+ - [Vector2Data](Vector2Data.md)
31
31
 
32
32
  ## Guides
33
33
 
34
34
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
35
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
35
36
 
36
- Package: `@metamesh/modeling@0.15.0`.
37
+ Package: `@metamesh/modeling@0.17.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Adds two finite XYZ vectors component-wise.
4
4
 
5
- `const` **add3**: (`a`: [`Vector3Tuple`](Vector3Tuple.md), `b`: [`Vector3Tuple`](Vector3Tuple.md)) => [`Vector3Tuple`](Vector3Tuple.md)
5
+ `const` **add3**: (`a`: [`Vector3Data`](Vector3Data.md), `b`: [`Vector3Data`](Vector3Data.md)) => [`Vector3Data`](Vector3Data.md)
6
6
 
7
7
 
8
8
 
@@ -16,27 +16,28 @@ add3([1, 2, 3], [4, 5, 6]); // [5, 7, 9]
16
16
 
17
17
  <a id="a"></a>
18
18
 
19
- **`a`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
19
+ **`a`** · [`Vector3Data`](Vector3Data.md) · Required
20
20
 
21
21
 
22
22
 
23
23
  <a id="b"></a>
24
24
 
25
- **`b`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
25
+ **`b`** · [`Vector3Data`](Vector3Data.md) · Required
26
26
 
27
27
 
28
28
 
29
29
  ## Returns
30
30
 
31
- [`Vector3Tuple`](Vector3Tuple.md)
31
+ [`Vector3Data`](Vector3Data.md)
32
32
 
33
33
 
34
34
  ## Related APIs
35
35
 
36
- - [Vector3Tuple](Vector3Tuple.md)
36
+ - [Vector3Data](Vector3Data.md)
37
37
 
38
38
  ## Guides
39
39
 
40
40
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
41
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
41
42
 
42
- Package: `@metamesh/modeling@0.15.0`.
43
+ Package: `@metamesh/modeling@0.17.0`.
@@ -54,4 +54,8 @@ inspected on every call, never cached.
54
54
  - [TriangleMeshAnalysis](TriangleMeshAnalysis.md)
55
55
  - [TriangleMeshAnalysisOptions](TriangleMeshAnalysisOptions.md)
56
56
 
57
- Package: `@metamesh/modeling@0.15.0`.
57
+ ## Guides
58
+
59
+ - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
60
+
61
+ Package: `@metamesh/modeling@0.17.0`.
@@ -49,4 +49,8 @@ A deterministic report without mutating or copying the mesh.
49
49
  - [TriangleMeshQualityOptions](TriangleMeshQualityOptions.md)
50
50
  - [TriangleMeshQualityReport](TriangleMeshQualityReport.md)
51
51
 
52
- Package: `@metamesh/modeling@0.15.0`.
52
+ ## Guides
53
+
54
+ - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
55
+
56
+ Package: `@metamesh/modeling@0.17.0`.
@@ -63,5 +63,6 @@ A frozen anchor with unit, orthogonal direction and up vectors.
63
63
  ## Guides
64
64
 
65
65
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
66
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
66
67
 
67
- Package: `@metamesh/modeling@0.15.0`.
68
+ Package: `@metamesh/modeling@0.17.0`.
@@ -37,4 +37,8 @@ A normalized right-handed frame at the anchor position.
37
37
  - [Frame3](Frame3.md)
38
38
  - [GeometryToleranceOptions](GeometryToleranceOptions.md)
39
39
 
40
- Package: `@metamesh/modeling@0.15.0`.
40
+ ## Guides
41
+
42
+ - [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
43
+
44
+ Package: `@metamesh/modeling@0.17.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Applies only the linear component of an affine transform to a direction.
4
4
 
5
- **applyTransformDirection3**(`transform`: [`Transform3Matrix`](Transform3Matrix.md), `direction`: [`Vector3Tuple`](Vector3Tuple.md)): [`Vector3Tuple`](Vector3Tuple.md)
5
+ **applyTransformDirection3**(`transform`: [`Transform3Data`](Transform3Data.md), `direction`: [`Vector3Data`](Vector3Data.md)): [`Vector3Data`](Vector3Data.md)
6
6
 
7
7
 
8
8
 
@@ -12,7 +12,7 @@ The result is not normalized, preserving scale information.
12
12
 
13
13
  <a id="transform"></a>
14
14
 
15
- **`transform`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
15
+ **`transform`** · [`Transform3Data`](Transform3Data.md) · Required
16
16
 
17
17
  Valid row-major affine transform.
18
18
 
@@ -20,7 +20,7 @@ Valid row-major affine transform.
20
20
 
21
21
  <a id="direction"></a>
22
22
 
23
- **`direction`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
23
+ **`direction`** · [`Vector3Data`](Vector3Data.md) · Required
24
24
 
25
25
  Finite XYZ direction.
26
26
 
@@ -28,18 +28,19 @@ Finite XYZ direction.
28
28
 
29
29
  ## Returns
30
30
 
31
- [`Vector3Tuple`](Vector3Tuple.md)
31
+ [`Vector3Data`](Vector3Data.md)
32
32
 
33
33
  A fresh transformed direction.
34
34
 
35
35
 
36
36
  ## Related APIs
37
37
 
38
- - [Transform3Matrix](Transform3Matrix.md)
39
- - [Vector3Tuple](Vector3Tuple.md)
38
+ - [Transform3Data](Transform3Data.md)
39
+ - [Vector3Data](Vector3Data.md)
40
40
 
41
41
  ## Guides
42
42
 
43
43
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
44
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
44
45
 
45
- Package: `@metamesh/modeling@0.15.0`.
46
+ Package: `@metamesh/modeling@0.17.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Applies an affine transform to a point, including translation.
4
4
 
5
- **applyTransformPoint3**(`transform`: [`Transform3Matrix`](Transform3Matrix.md), `point`: [`Vector3Tuple`](Vector3Tuple.md)): [`Vector3Tuple`](Vector3Tuple.md)
5
+ **applyTransformPoint3**(`transform`: [`Transform3Data`](Transform3Data.md), `point`: [`Vector3Data`](Vector3Data.md)): [`Vector3Data`](Vector3Data.md)
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Applies an affine transform to a point, including translation.
10
10
 
11
11
  <a id="transform"></a>
12
12
 
13
- **`transform`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
13
+ **`transform`** · [`Transform3Data`](Transform3Data.md) · Required
14
14
 
15
15
  Valid row-major affine transform.
16
16
 
@@ -18,7 +18,7 @@ Valid row-major affine transform.
18
18
 
19
19
  <a id="point"></a>
20
20
 
21
- **`point`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
21
+ **`point`** · [`Vector3Data`](Vector3Data.md) · Required
22
22
 
23
23
  Finite XYZ point.
24
24
 
@@ -26,18 +26,19 @@ Finite XYZ point.
26
26
 
27
27
  ## Returns
28
28
 
29
- [`Vector3Tuple`](Vector3Tuple.md)
29
+ [`Vector3Data`](Vector3Data.md)
30
30
 
31
31
  A fresh transformed point.
32
32
 
33
33
 
34
34
  ## Related APIs
35
35
 
36
- - [Transform3Matrix](Transform3Matrix.md)
37
- - [Vector3Tuple](Vector3Tuple.md)
36
+ - [Transform3Data](Transform3Data.md)
37
+ - [Vector3Data](Vector3Data.md)
38
38
 
39
39
  ## Guides
40
40
 
41
41
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
42
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
42
43
 
43
- Package: `@metamesh/modeling@0.15.0`.
44
+ Package: `@metamesh/modeling@0.17.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Builds the transform that moves a source anchor onto a target anchor.
4
4
 
5
- **attachmentTransform3**(`source`: [`Anchor3`](Anchor3-type.md), `target`: [`Anchor3`](Anchor3-type.md), `options?`: [`AttachOptions`](AttachOptions.md)): [`Transform3Matrix`](Transform3Matrix.md)
5
+ **attachmentTransform3**(`source`: [`Anchor3`](Anchor3-type.md), `target`: [`Anchor3`](Anchor3-type.md), `options?`: [`AttachOptions`](AttachOptions.md)): [`Transform3Data`](Transform3Data.md)
6
6
 
7
7
 
8
8
 
@@ -55,7 +55,7 @@ Alignment, gap, spin, and tolerance policy.
55
55
 
56
56
  ## Returns
57
57
 
58
- [`Transform3Matrix`](Transform3Matrix.md)
58
+ [`Transform3Data`](Transform3Data.md)
59
59
 
60
60
  A frozen affine transform for the moving object.
61
61
 
@@ -68,10 +68,11 @@ A frozen affine transform for the moving object.
68
68
 
69
69
  - [Anchor3](Anchor3-type.md)
70
70
  - [AttachOptions](AttachOptions.md)
71
- - [Transform3Matrix](Transform3Matrix.md)
71
+ - [Transform3Data](Transform3Data.md)
72
72
 
73
73
  ## Guides
74
74
 
75
75
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
76
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
76
77
 
77
- Package: `@metamesh/modeling@0.15.0`.
78
+ Package: `@metamesh/modeling@0.17.0`.
@@ -0,0 +1,39 @@
1
+ # bounds2
2
+
3
+ Constructs immutable finite XY bounds from ordered extrema or nonnegative size in millimetres.
4
+
5
+ **bounds2**(`input`: [`Bounds2Options`](Bounds2Options.md)): [`Bounds2`](Bounds2-type.md)
6
+
7
+
8
+
9
+ Zero extents are valid. Invalid dimensions, nonfinite coordinates, reversed bounds and
10
+ overflowing extents throw `INVALID_ARGUMENT` GeometryError. Use `toData()` for plain records.
11
+ Size construction centers on the origin unless `center` is false. Size and extrema are exclusive.
12
+ Compiled Generator packages passing these values to host recipes or computed data require
13
+ runtime 9.0.0 or newer in major 9.
14
+
15
+ ## Parameters
16
+
17
+ <a id="input"></a>
18
+
19
+ **`input`** · [`Bounds2Options`](Bounds2Options.md) · Required
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`Bounds2`](Bounds2-type.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Bounds2](Bounds2-type.md)
31
+ - [Bounds2Options](Bounds2Options.md)
32
+
33
+ ## Guides
34
+
35
+ - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
36
+ - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
37
+ - [Solid inspection](../../guides/recipes.md#solid-inspection)
38
+
39
+ Package: `@metamesh/modeling@0.17.0`.
@@ -0,0 +1,39 @@
1
+ # bounds3
2
+
3
+ Constructs immutable finite XYZ bounds from ordered extrema or nonnegative size in millimetres.
4
+
5
+ **bounds3**(`input`: [`Bounds3Options`](Bounds3Options.md)): [`Bounds3`](Bounds3-type.md)
6
+
7
+
8
+
9
+ Zero extents are valid. Invalid dimensions, nonfinite coordinates, reversed bounds and
10
+ overflowing extents throw `INVALID_ARGUMENT` GeometryError. Use `toData()` for plain records.
11
+ Size construction centers on the origin unless `center` is false. Size and extrema are exclusive.
12
+ Compiled Generator packages passing these values to host recipes or computed data require
13
+ runtime 9.0.0 or newer in major 9.
14
+
15
+ ## Parameters
16
+
17
+ <a id="input"></a>
18
+
19
+ **`input`** · [`Bounds3Options`](Bounds3Options.md) · Required
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`Bounds3`](Bounds3-type.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Bounds3](Bounds3-type.md)
31
+ - [Bounds3Options](Bounds3Options.md)
32
+
33
+ ## Guides
34
+
35
+ - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
36
+ - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
37
+ - [Solid inspection](../../guides/recipes.md#solid-inspection)
38
+
39
+ Package: `@metamesh/modeling@0.17.0`.
@@ -6,7 +6,7 @@ Midpoint of finite XY bounds in millimetres.
6
6
 
7
7
 
8
8
 
9
- **boundsCenter**(`bounds`: [`Bounds2`](Bounds2.md)): [`Vector2Tuple`](Vector2Tuple.md)
9
+ **boundsCenter**(`bounds`: [`Bounds2Data`](Bounds2Data.md)): [`Vector2Data`](Vector2Data.md)
10
10
 
11
11
 
12
12
 
@@ -16,19 +16,19 @@ Midpoint of finite XY bounds in millimetres.
16
16
 
17
17
  <a id="bounds"></a>
18
18
 
19
- **`bounds`** · [`Bounds2`](Bounds2.md) · Required
19
+ **`bounds`** · [`Bounds2Data`](Bounds2Data.md) · Required
20
20
 
21
21
 
22
22
 
23
23
  ### Returns
24
24
 
25
- [`Vector2Tuple`](Vector2Tuple.md)
25
+ [`Vector2Data`](Vector2Data.md)
26
26
 
27
27
  ## Call Signature
28
28
 
29
29
 
30
30
 
31
- **boundsCenter**(`bounds`: [`Bounds3`](Bounds3.md)): [`Vector3Tuple`](Vector3Tuple.md)
31
+ **boundsCenter**(`bounds`: [`Bounds3Data`](Bounds3Data.md)): [`Vector3Data`](Vector3Data.md)
32
32
 
33
33
 
34
34
 
@@ -38,25 +38,26 @@ Midpoint of finite XYZ bounds in millimetres.
38
38
 
39
39
  <a id="bounds-1"></a>
40
40
 
41
- **`bounds`** · [`Bounds3`](Bounds3.md) · Required
41
+ **`bounds`** · [`Bounds3Data`](Bounds3Data.md) · Required
42
42
 
43
43
 
44
44
 
45
45
  ### Returns
46
46
 
47
- [`Vector3Tuple`](Vector3Tuple.md)
47
+ [`Vector3Data`](Vector3Data.md)
48
48
 
49
49
 
50
50
  ## Related APIs
51
51
 
52
- - [Bounds2](Bounds2.md)
53
- - [Bounds3](Bounds3.md)
54
- - [Vector2Tuple](Vector2Tuple.md)
55
- - [Vector3Tuple](Vector3Tuple.md)
52
+ - [Bounds2Data](Bounds2Data.md)
53
+ - [Bounds3Data](Bounds3Data.md)
54
+ - [Vector2Data](Vector2Data.md)
55
+ - [Vector3Data](Vector3Data.md)
56
56
 
57
57
  ## Guides
58
58
 
59
+ - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
59
60
  - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
60
61
  - [Solid inspection](../../guides/recipes.md#solid-inspection)
61
62
 
62
- Package: `@metamesh/modeling@0.15.0`.
63
+ Package: `@metamesh/modeling@0.17.0`.
@@ -6,7 +6,7 @@ Inclusive XY dimensions in millimetres; zero extents are retained.
6
6
 
7
7
 
8
8
 
9
- **boundsSize**(`bounds`: [`Bounds2`](Bounds2.md)): [`Vector2Tuple`](Vector2Tuple.md)
9
+ **boundsSize**(`bounds`: [`Bounds2Data`](Bounds2Data.md)): [`Vector2Data`](Vector2Data.md)
10
10
 
11
11
 
12
12
 
@@ -16,19 +16,19 @@ Inclusive XY dimensions in millimetres; zero extents are retained.
16
16
 
17
17
  <a id="bounds"></a>
18
18
 
19
- **`bounds`** · [`Bounds2`](Bounds2.md) · Required
19
+ **`bounds`** · [`Bounds2Data`](Bounds2Data.md) · Required
20
20
 
21
21
 
22
22
 
23
23
  ### Returns
24
24
 
25
- [`Vector2Tuple`](Vector2Tuple.md)
25
+ [`Vector2Data`](Vector2Data.md)
26
26
 
27
27
  ## Call Signature
28
28
 
29
29
 
30
30
 
31
- **boundsSize**(`bounds`: [`Bounds3`](Bounds3.md)): [`Vector3Tuple`](Vector3Tuple.md)
31
+ **boundsSize**(`bounds`: [`Bounds3Data`](Bounds3Data.md)): [`Vector3Data`](Vector3Data.md)
32
32
 
33
33
 
34
34
 
@@ -38,25 +38,26 @@ Inclusive XYZ dimensions in millimetres; zero extents are retained.
38
38
 
39
39
  <a id="bounds-1"></a>
40
40
 
41
- **`bounds`** · [`Bounds3`](Bounds3.md) · Required
41
+ **`bounds`** · [`Bounds3Data`](Bounds3Data.md) · Required
42
42
 
43
43
 
44
44
 
45
45
  ### Returns
46
46
 
47
- [`Vector3Tuple`](Vector3Tuple.md)
47
+ [`Vector3Data`](Vector3Data.md)
48
48
 
49
49
 
50
50
  ## Related APIs
51
51
 
52
- - [Bounds2](Bounds2.md)
53
- - [Bounds3](Bounds3.md)
54
- - [Vector2Tuple](Vector2Tuple.md)
55
- - [Vector3Tuple](Vector3Tuple.md)
52
+ - [Bounds2Data](Bounds2Data.md)
53
+ - [Bounds3Data](Bounds3Data.md)
54
+ - [Vector2Data](Vector2Data.md)
55
+ - [Vector3Data](Vector3Data.md)
56
56
 
57
57
  ## Guides
58
58
 
59
+ - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
59
60
  - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
60
61
  - [Solid inspection](../../guides/recipes.md#solid-inspection)
61
62
 
62
- Package: `@metamesh/modeling@0.15.0`.
63
+ Package: `@metamesh/modeling@0.17.0`.
@@ -12,7 +12,7 @@ Creates an outward face-center anchor using the same local origin convention as
12
12
 
13
13
  **`options`** · [`BoxAnchorOptions`](BoxAnchorOptions.md) · Required
14
14
 
15
- - [`size`](BoxAnchorOptions.md#size) · `number` \| [`Vector3Tuple`](Vector3Tuple.md) · Required
15
+ - [`size`](BoxAnchorOptions.md#size) · `number` \| [`Vector3Data`](Vector3Data.md) · Required
16
16
 
17
17
  XYZ dimensions, or one uniform dimension, in millimetres.
18
18
 
@@ -24,7 +24,7 @@ Creates an outward face-center anchor using the same local origin convention as
24
24
 
25
25
  Centers the box around its construction origin; defaults to true, matching box().
26
26
 
27
- - [`origin`](BoxAnchorOptions.md#origin) · [`Vector3Tuple`](Vector3Tuple.md) · Optional
27
+ - [`origin`](BoxAnchorOptions.md#origin) · [`Vector3Data`](Vector3Data.md) · Optional
28
28
 
29
29
  Construction origin; centered-box center or noncentered minimum corner. Defaults to zero.
30
30
 
@@ -48,5 +48,6 @@ resulting anchor frame explicitly; no anchor is inherited from a Boolean result.
48
48
  ## Guides
49
49
 
50
50
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
51
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
51
52
 
52
- Package: `@metamesh/modeling@0.15.0`.
53
+ Package: `@metamesh/modeling@0.17.0`.
@@ -1,35 +1,51 @@
1
- # Bounds & Layout
1
+ # Bounds and layout
2
2
 
3
3
  Measure finite bounds, test positioned containment, and fit or arrange geometry.
4
4
 
5
- Bounds2 and Bounds3 are shared min/max data for text, mesh measurements, and placement. boundsFromSize creates centered bounds unless center is false. containsBounds tests actual positioned containment, including boundary contact. fitBounds uniformly scales and centers into a target, returning scale, position and resulting bounds; maxScale limits enlargement. layoutRow returns translations for a +X row with minimum Y/Z grounded at zero; supply bounds after intended rotations and apply positions through part options.
5
+ Use `bounds2` and `bounds3` for immutable extents with fluent `size()`, `center()`, and `containsBounds()` queries. Zero extents are valid. Containment includes boundary contact in the same coordinate frame; it does not establish manufacturing fit.
6
+
7
+ - **Interchange:** measurements and snapshots retain plain `Bounds2Data`/`Bounds3Data` min/max records. `toData()` returns a stable frozen record. Standalone helpers accept values or data.
8
+ - **Construct:** `bounds2({ size })` and `bounds3({ size })` center on the origin unless `center` is `false`. Size and min/max construction are mutually exclusive.
9
+ - **Fit:** `fitBounds` scales uniformly and centers in a target, returning scale, position, and resulting data bounds. `maxScale` limits enlargement.
10
+ - **Arrange:** `layoutRow` returns translations for a +X row with minimum Y/Z at zero. Supply bounds after intended rotations, then apply positions through part options.
6
11
 
7
12
  ## Functions
8
13
 
9
14
  | API | Summary |
10
15
  | --- | --- |
11
- | [boundsFromSize](../boundsFromSize.md) | Creates immutable centered XY bounds from nonnegative dimensions in millimetres. |
16
+ | [bounds2](../bounds2.md) | Constructs immutable finite XY bounds from ordered extrema or nonnegative size in millimetres. |
17
+ | [bounds3](../bounds3.md) | Constructs immutable finite XYZ bounds from ordered extrema or nonnegative size in millimetres. |
12
18
  | [boundsSize](../boundsSize.md) | Inclusive XY dimensions in millimetres; zero extents are retained. |
13
19
  | [boundsCenter](../boundsCenter.md) | Midpoint of finite XY bounds in millimetres. |
14
- | [containsBounds](../containsBounds.md) | Tests actual XY containment, including touching boundaries; dimensions must match. |
15
20
  | [fitBounds](../fitBounds.md) | Fits XY bounds uniformly and centers them in the target; zero source axes do not constrain scale. |
16
- | [layoutRow](../layoutRow.md) | Returns immutable translations for a +X row of finite XYZ bounds with a nonnegative gap. Each minimum Y/Z becomes zero, and the first minimum X becomes zero. Supply bounds after any intended part rotation; translations apply to those bounds. An empty input returns []. |
21
+ | [layoutRow](../layoutRow.md) | Returns immutable translations for a +X row of finite XYZ bounds with a nonnegative gap. |
17
22
 
18
23
  ## Interfaces
19
24
 
20
25
  | API | Summary |
21
26
  | --- | --- |
22
- | [Bounds2](../Bounds2.md) | Axis-aligned bounds in two-dimensional model space. |
23
- | [Bounds3](../Bounds3.md) | Axis-aligned bounds in three-dimensional model space. |
24
- | [BoundsFromSizeOptions](../BoundsFromSizeOptions.md) | Placement of bounds constructed from nonnegative millimetre dimensions. |
27
+ | [Bounds2](../Bounds2-type.md) | Immutable finite XY bounds in millimetres, with tuple coordinates for data interoperability. |
28
+ | [Bounds3](../Bounds3-type.md) | Immutable finite XYZ bounds in millimetres, with tuple coordinates for data interoperability. |
29
+ | [Bounds2Data](../Bounds2Data.md) | Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods. |
30
+ | [Bounds3Data](../Bounds3Data.md) | Plain axis-aligned XYZ bounds for interchange; use bounds3 for immutable measurement methods. |
25
31
  | [BoundsFitOptions](../BoundsFitOptions.md) | Uniform fitting controls; fitting centers the source inside the target. |
26
32
  | [BoundsFit2](../BoundsFit2.md) | A uniform XY scale followed by translation, and the resulting bounds. |
27
33
  | [BoundsFit3](../BoundsFit3.md) | A uniform XYZ scale followed by translation, and the resulting bounds. |
28
34
  | [RowLayoutOptions](../RowLayoutOptions.md) | Simple +X row placement with every minimum Y and Z grounded at zero. |
29
35
 
36
+ ## Type aliases
37
+
38
+ | API | Summary |
39
+ | --- | --- |
40
+ | [Bounds2Input](../Bounds2Input.md) | An immutable XY bounds value or its plain min/max representation. |
41
+ | [Bounds3Input](../Bounds3Input.md) | An immutable XYZ bounds value or its plain min/max representation. |
42
+ | [Bounds2Options](../Bounds2Options.md) | XY bounds construction from existing extrema or nonnegative dimensions, never both. |
43
+ | [Bounds3Options](../Bounds3Options.md) | XYZ bounds construction from existing extrema or nonnegative dimensions, never both. |
44
+
30
45
  ## Guides
31
46
 
47
+ - [Measure and compare bounds](../../../guides/concepts.md#measure-and-compare-bounds)
32
48
  - [Text from a Font parameter](../../../guides/recipes.md#text-from-a-font-parameter)
33
49
  - [Solid inspection](../../../guides/recipes.md#solid-inspection)
34
50
 
35
- Package: `@metamesh/modeling@0.15.0`.
51
+ Package: `@metamesh/modeling@0.17.0`.