@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,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.16.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.16.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.16.0`.
@@ -0,0 +1,38 @@
1
+ # bounds2
2
+
3
+ Snapshots finite ordered XY bounds in millimetres as an immutable fluent value.
4
+
5
+ **bounds2**(`input`: [`Bounds2Input`](Bounds2Input.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
+ Compiled Generator packages passing these values to host recipes or computed data require
12
+ runtime 8.0.0 or newer in major 8.
13
+
14
+ ## Parameters
15
+
16
+ <a id="input"></a>
17
+
18
+ **`input`** · [`Bounds2Input`](Bounds2Input.md) · Required
19
+
20
+
21
+
22
+ ## Returns
23
+
24
+ [`Bounds2`](Bounds2-type.md)
25
+
26
+
27
+ ## Related APIs
28
+
29
+ - [Bounds2](Bounds2-type.md)
30
+ - [Bounds2Input](Bounds2Input.md)
31
+
32
+ ## Guides
33
+
34
+ - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
35
+ - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
36
+ - [Solid inspection](../../guides/recipes.md#solid-inspection)
37
+
38
+ Package: `@metamesh/modeling@0.16.0`.
@@ -0,0 +1,38 @@
1
+ # bounds3
2
+
3
+ Snapshots finite ordered XYZ bounds in millimetres as an immutable fluent value.
4
+
5
+ **bounds3**(`input`: [`Bounds3Input`](Bounds3Input.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
+ Compiled Generator packages passing these values to host recipes or computed data require
12
+ runtime 8.0.0 or newer in major 8.
13
+
14
+ ## Parameters
15
+
16
+ <a id="input"></a>
17
+
18
+ **`input`** · [`Bounds3Input`](Bounds3Input.md) · Required
19
+
20
+
21
+
22
+ ## Returns
23
+
24
+ [`Bounds3`](Bounds3-type.md)
25
+
26
+
27
+ ## Related APIs
28
+
29
+ - [Bounds3](Bounds3-type.md)
30
+ - [Bounds3Input](Bounds3Input.md)
31
+
32
+ ## Guides
33
+
34
+ - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
35
+ - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
36
+ - [Solid inspection](../../guides/recipes.md#solid-inspection)
37
+
38
+ Package: `@metamesh/modeling@0.16.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.16.0`.
@@ -6,7 +6,7 @@ Creates immutable centered XY bounds from nonnegative dimensions in millimetres.
6
6
 
7
7
 
8
8
 
9
- **boundsFromSize**(`size`: [`Vector2Tuple`](Vector2Tuple.md), `options?`: [`BoundsFromSizeOptions`](BoundsFromSizeOptions.md)): [`Bounds2`](Bounds2.md)
9
+ **boundsFromSize**(`size`: [`Vector2Data`](Vector2Data.md), `options?`: [`BoundsFromSizeOptions`](BoundsFromSizeOptions.md)): [`Bounds2Data`](Bounds2Data.md)
10
10
 
11
11
 
12
12
 
@@ -16,7 +16,7 @@ Creates immutable centered XY bounds from nonnegative dimensions in millimetres.
16
16
 
17
17
  <a id="size"></a>
18
18
 
19
- **`size`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
19
+ **`size`** · [`Vector2Data`](Vector2Data.md) · Required
20
20
 
21
21
 
22
22
 
@@ -32,13 +32,13 @@ Creates immutable centered XY bounds from nonnegative dimensions in millimetres.
32
32
 
33
33
  ### Returns
34
34
 
35
- [`Bounds2`](Bounds2.md)
35
+ [`Bounds2Data`](Bounds2Data.md)
36
36
 
37
37
  ## Call Signature
38
38
 
39
39
 
40
40
 
41
- **boundsFromSize**(`size`: [`Vector3Tuple`](Vector3Tuple.md), `options?`: [`BoundsFromSizeOptions`](BoundsFromSizeOptions.md)): [`Bounds3`](Bounds3.md)
41
+ **boundsFromSize**(`size`: [`Vector3Data`](Vector3Data.md), `options?`: [`BoundsFromSizeOptions`](BoundsFromSizeOptions.md)): [`Bounds3Data`](Bounds3Data.md)
42
42
 
43
43
 
44
44
 
@@ -48,7 +48,7 @@ Creates immutable centered XYZ bounds from nonnegative dimensions in millimetres
48
48
 
49
49
  <a id="size-1"></a>
50
50
 
51
- **`size`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
51
+ **`size`** · [`Vector3Data`](Vector3Data.md) · Required
52
52
 
53
53
 
54
54
 
@@ -64,20 +64,21 @@ Creates immutable centered XYZ bounds from nonnegative dimensions in millimetres
64
64
 
65
65
  ### Returns
66
66
 
67
- [`Bounds3`](Bounds3.md)
67
+ [`Bounds3Data`](Bounds3Data.md)
68
68
 
69
69
 
70
70
  ## Related APIs
71
71
 
72
- - [Bounds2](Bounds2.md)
73
- - [Bounds3](Bounds3.md)
72
+ - [Bounds2Data](Bounds2Data.md)
73
+ - [Bounds3Data](Bounds3Data.md)
74
74
  - [BoundsFromSizeOptions](BoundsFromSizeOptions.md)
75
- - [Vector2Tuple](Vector2Tuple.md)
76
- - [Vector3Tuple](Vector3Tuple.md)
75
+ - [Vector2Data](Vector2Data.md)
76
+ - [Vector3Data](Vector3Data.md)
77
77
 
78
78
  ## Guides
79
79
 
80
+ - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
80
81
  - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
81
82
  - [Solid inspection](../../guides/recipes.md#solid-inspection)
82
83
 
83
- Package: `@metamesh/modeling@0.15.0`.
84
+ Package: `@metamesh/modeling@0.16.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.16.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.16.0`.
@@ -1,35 +1,52 @@
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, snapshots, and `boundsFromSize` retain plain `Bounds2Data`/`Bounds3Data` min/max records. `toData()` returns a stable frozen record. Standalone helpers accept values or data.
8
+ - **Construct:** `boundsFromSize` centers on the origin unless `center` is `false`.
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
  | --- | --- |
16
+ | [bounds2](../bounds2.md) | Snapshots finite ordered XY bounds in millimetres as an immutable fluent value. |
17
+ | [bounds3](../bounds3.md) | Snapshots finite ordered XYZ bounds in millimetres as an immutable fluent value. |
11
18
  | [boundsFromSize](../boundsFromSize.md) | Creates immutable centered XY bounds from nonnegative dimensions in millimetres. |
12
19
  | [boundsSize](../boundsSize.md) | Inclusive XY dimensions in millimetres; zero extents are retained. |
13
20
  | [boundsCenter](../boundsCenter.md) | Midpoint of finite XY bounds in millimetres. |
14
21
  | [containsBounds](../containsBounds.md) | Tests actual XY containment, including touching boundaries; dimensions must match. |
15
22
  | [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 []. |
23
+ | [layoutRow](../layoutRow.md) | Returns immutable translations for a +X row of finite XYZ bounds with a nonnegative gap. |
17
24
 
18
25
  ## Interfaces
19
26
 
20
27
  | API | Summary |
21
28
  | --- | --- |
22
- | [Bounds2](../Bounds2.md) | Axis-aligned bounds in two-dimensional model space. |
23
- | [Bounds3](../Bounds3.md) | Axis-aligned bounds in three-dimensional model space. |
29
+ | [Bounds2](../Bounds2-type.md) | Immutable finite XY bounds in millimetres, with tuple coordinates for data interoperability. |
30
+ | [Bounds3](../Bounds3-type.md) | Immutable finite XYZ bounds in millimetres, with tuple coordinates for data interoperability. |
31
+ | [Bounds2Data](../Bounds2Data.md) | Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods. |
32
+ | [Bounds3Data](../Bounds3Data.md) | Plain axis-aligned XYZ bounds for interchange; use bounds3 for immutable measurement methods. |
24
33
  | [BoundsFromSizeOptions](../BoundsFromSizeOptions.md) | Placement of bounds constructed from nonnegative millimetre dimensions. |
25
34
  | [BoundsFitOptions](../BoundsFitOptions.md) | Uniform fitting controls; fitting centers the source inside the target. |
26
35
  | [BoundsFit2](../BoundsFit2.md) | A uniform XY scale followed by translation, and the resulting bounds. |
27
36
  | [BoundsFit3](../BoundsFit3.md) | A uniform XYZ scale followed by translation, and the resulting bounds. |
28
37
  | [RowLayoutOptions](../RowLayoutOptions.md) | Simple +X row placement with every minimum Y and Z grounded at zero. |
29
38
 
39
+ ## Type aliases
40
+
41
+ | API | Summary |
42
+ | --- | --- |
43
+ | [Bounds2Input](../Bounds2Input.md) | An immutable XY bounds value or its plain min/max representation. |
44
+ | [Bounds3Input](../Bounds3Input.md) | An immutable XYZ bounds value or its plain min/max representation. |
45
+
30
46
  ## Guides
31
47
 
48
+ - [Measure and compare bounds](../../../guides/concepts.md#measure-and-compare-bounds)
32
49
  - [Text from a Font parameter](../../../guides/recipes.md#text-from-a-font-parameter)
33
50
  - [Solid inspection](../../../guides/recipes.md#solid-inspection)
34
51
 
35
- Package: `@metamesh/modeling@0.15.0`.
52
+ Package: `@metamesh/modeling@0.16.0`.
@@ -2,7 +2,15 @@
2
2
 
3
3
  Sample reusable lines, arcs, cubic curves, and path frames with explicit physical policies.
4
4
 
5
- Use immutable `path2(points, { closed })` and `path3(points, { closed })` values for sampled trajectories. Closure belongs to the value; closed paths omit the duplicated endpoint. Chain transform, reverse and resample without mutating reusable paths. length includes the closing edge, bounds returns undefined for empty paths, and closestPoint returns a fluent point, distance, edge index and fraction within that edge. Reflections preserve traversal; polygon construction handles filled-shape winding. Geometry accepts matching path values directly. Path2Data and Path3Data are tuple collections for interchange; toArray omits closure metadata. Analytic Curve definitions remain distinct: sampleCurve2/3 retain directed endpoints and tangents; exact curve intervals are uniform in the curve parameter. Low-level resamplePolyline2/3 return tuple points plus tangents at equal arc length. Sampling uses physical policies and checked vertex ceilings. Sweep frames require explicit seam and orientation choices.
5
+ Use immutable `path2(points, { closed })` and `path3(points, { closed })` values for sampled trajectories. Closed paths omit the duplicated endpoint. Geometry accepts matching path values directly.
6
+
7
+ - **Transform:** `transform()`, `reverse()`, and `resample()` return new paths. Reflections preserve traversal; polygon construction handles filled-shape winding.
8
+ - **Query:** `length()` includes the closing edge. `bounds()` returns fluent bounds or `undefined` for empty paths. `closestPoint()` returns a fluent point, distance, edge index, and fraction within that edge.
9
+ - **Interchange:** `toData()` returns `Path2Data` or `Path3Data` with dimension, closure, and point tuples.
10
+ - **Sample curves:** analytic `Curve` definitions are separate. `sampleCurve2`/`sampleCurve3` retain directed endpoints and tangents; exact intervals are uniform in the curve parameter.
11
+ - **Resample:** `resamplePolyline2`/`resamplePolyline3` return tuple points and tangents at equal arc lengths. Sampling uses physical policies and checked vertex ceilings.
12
+
13
+ Sweep frames require explicit seam and orientation choices.
6
14
 
7
15
  ## Functions
8
16
 
@@ -14,7 +22,7 @@ Use immutable `path2(points, { closed })` and `path3(points, { closed })` values
14
22
  | [resolveGeometrySamplingLimits](../resolveGeometrySamplingLimits.md) | Resolves finite positive safe-integer allocation ceilings without ambient state. |
15
23
  | [resamplePolyline2](../resamplePolyline2.md) | Resamples a planar polyline with the same point, tangent, seam and budget guarantees as 3D. |
16
24
  | [resamplePolyline3](../resamplePolyline3.md) | Resamples a spatial polyline at equal arc lengths with directed outgoing tangents. |
17
- | [path2](../path2.md) | 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. |
25
+ | [path2](../path2.md) | Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization. |
18
26
  | [path3](../path3.md) | Snapshots finite XYZ coordinates as an immutable sampled path with the same closure, seam, allocation and error rules as path2. Analytic curves must be sampled explicitly first. |
19
27
 
20
28
  ## Interfaces
@@ -41,6 +49,8 @@ Use immutable `path2(points, { closed })` and `path3(points, { closed })` values
41
49
  | [PathOptions](../PathOptions.md) | Topology and allocation ceiling for an immutable sampled path. |
42
50
  | [PathLocation](../PathLocation.md) | Nearest location on a sampled boundary, rather than inside a filled shape or on an analytic curve. |
43
51
  | [PathResamplingOptions](../PathResamplingOptions.md) | Equal arc-length sampling; the path itself owns whether its closing edge is included. |
52
+ | [Path2Data](../Path2Data.md) | Complete plain XY path representation, including topology and empty-path dimensional identity. |
53
+ | [Path3Data](../Path3Data.md) | Complete plain XYZ path representation, including topology and empty-path dimensional identity. |
44
54
 
45
55
  ## Type aliases
46
56
 
@@ -49,20 +59,22 @@ Use immutable `path2(points, { closed })` and `path3(points, { closed })` values
49
59
  | [Curve2](../Curve2.md) | Reusable planar curve definition. |
50
60
  | [Curve3](../Curve3.md) | Reusable spatial curve definition. |
51
61
  | [PathNormalGuide](../PathNormalGuide.md) | Supplies a profile-X orientation guide for each original normalized sweep station. |
52
- | [Path2Input](../Path2Input.md) | An immutable XY sampled path or a collection of XY tuples and fluent vectors. |
53
- | [Path3Input](../Path3Input.md) | An immutable XYZ sampled path or a collection of XYZ tuples and fluent vectors. |
54
- | [Path2Data](../Path2Data.md) | XY point tuples for interchange; closure is supplied by the consuming operation or Path2 value. |
55
- | [Path3Data](../Path3Data.md) | XYZ point tuples for interchange; closure is supplied by the consuming operation or Path3 value. |
62
+ | [Path2Input](../Path2Input.md) | A matching path value, complete plain path data, or a collection of vectors. |
63
+ | [Path3Input](../Path3Input.md) | A matching path value, complete plain path data, or a collection of vectors. |
56
64
 
57
65
  ## Values
58
66
 
59
67
  | API | Summary |
60
68
  | --- | --- |
61
69
  | [computeClosedParallelTransportFrames](../computeClosedParallelTransportFrames.md) | Builds rotation-minimizing frames for a non-duplicated closed path. |
62
- | [computeParallelTransportFrames](../computeParallelTransportFrames.md) | Builds rotation-minimizing frames by parallel-transporting the previous normal. This avoids the sudden profile flips produced by picking a fresh up-vector per ring. Paths exceeding maxPathPoints (default 100000) reject before frame allocation or guide evaluation. Requires open path values; raw tuples are interpreted as an open path. Invalid paths throw GeometryError. Nonfinite normals and guide results reject. A finite initial guide parallel to the tangent selects a canonical fallback. |
70
+ | [computeParallelTransportFrames](../computeParallelTransportFrames.md) | Builds rotation-minimizing frames by parallel-transporting the previous normal. |
63
71
  | [defaultGeometrySamplingLimits](../defaultGeometrySamplingLimits.md) | Conservative defaults; trusted callers can supply larger explicit ceilings. |
64
72
  | [distributeAlongPath](../distributeAlongPath.md) | Places an exact item count at equal arc-length intervals along a sampled path. |
65
73
  | [roundClosedPolylinePath](../roundClosedPolylinePath.md) | Replaces each vertex of a non-duplicated closed polyline with a sampled quadratic corner in the same coordinate system as the input. |
66
- | [sampleHelix](../sampleHelix.md) | Creates `segments + 1` points including exact helix endpoints from finite positive dimensions. Integrated weights must remain finite. The maxPathPoints ceiling defaults to 100000; excessive exact counts reject before evaluating axial weights or allocating sample arrays. Invalid inputs use GeometryError; exceptions thrown by axialWeight propagate unchanged. |
74
+ | [sampleHelix](../sampleHelix.md) | Creates `segments + 1` points including exact helix endpoints from finite positive dimensions. |
75
+
76
+ ## Guides
77
+
78
+ - [Path queries and closure-preserving interchange](../../../guides/concepts.md#query-paths-and-preserve-closure)
67
79
 
68
- Package: `@metamesh/modeling@0.15.0`.
80
+ Package: `@metamesh/modeling@0.16.0`.