@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,64 @@
1
1
  # @metamesh/modeling
2
2
 
3
+ ## 0.17.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Expose `resolveCircularSampling` for the resolved count and actual vertex/face radii of a sampled
8
+ circle without allocating points. It shares sampling rules with `resolveCircularSegments`, aligned
9
+ counts, and `circleContour`, including exact-count precedence and physical error ceilings.
10
+
11
+ Construct fluent bounds directly with `bounds2({ size: [width, height] })` and
12
+ `bounds3({ size: [width, depth, height], center: false })`. Size construction accepts finite
13
+ nonnegative dimensions, centers by default, and is mutually exclusive with min/max construction.
14
+ Remove `boundsFromSize`, `BoundsFromSizeOptions`, and the standalone `containsBounds` export.
15
+ Containment remains available on `Bounds2` and `Bounds3`, including touching boundaries.
16
+
17
+ Migration: replace `boundsFromSize(size, { center })` with the dimension-specific
18
+ `bounds2({ size, center })` or `bounds3({ size, center })`. Use `.toData()` when a plain record is
19
+ required. For sampled bore and wall checks, use `vertexRadius` and `faceRadius` from
20
+ `resolveCircularSampling` instead of repeating faceting trigonometry.
21
+ Replace `containsBounds(outer, inner)` with `bounds2(outer).containsBounds(inner)` or the matching
22
+ XYZ bounds value's method.
23
+
24
+ - d0cc194: Rename per-half `barrelChamfer` to `chamfer` in `knuckleHinge`. The same 45-degree setback now finishes barrel outer rims and exposed web edges. Keep the buried root square and share bevel coordinates with the barrel and mounting body to avoid microscopic steps and collapsed placement triangles. Reject chamfers that consume the web band or collapse its end contours.
25
+ - Add deferred `holeCutter` recipes for circular screw holes and existing Section pocket profiles.
26
+ Circular cutters support counterbores and countersinks; convex single-contour profiles support
27
+ 45-degree entry chamfers. Explicit `overrun.bottom` and `overrun.top` preserve blind-pocket floors
28
+ unless the caller deliberately extends the cutter.
29
+ Circular entry chamfers retain nominal circular radii; Section entry chamfers offset the supplied
30
+ sampled contour's edges.
31
+
32
+ Advance the Modeling host runtime to major 9 for hole cutters and fitted SVG recipe options.
33
+ Rebuild Generator packages against the new library set; old host/runtime packages are rejected.
34
+
35
+ Migration tip: reuse `regularPolygon`, `rectangle`, or other Section constructors as the cutter's
36
+ `profile`. Position a blind cutter at its intended floor and set only `overrun.top` for opening
37
+ padding. Keep allowances, minimum floor thickness and feature-specific assertions in your model.
38
+
39
+ - Add an optional positioned XY `fit` target to `preflightSvgRegion` and `svgSection`. Reuse `fitBounds` for uniform scale and translation while resampling original SVG curves at the final millimetre tolerance and edge spacing. Normalize fitted source units before topology checks, and use relative matrix conditioning so tiny well-conditioned SVG coordinates can be enlarged safely. Preserve holes, painted strokes, exact circular-count overrides, bounded work, and host-owned sampling ceilings. Preflight results expose the applied fit for registered layers and measure the final region.
40
+
41
+ Migration tip: replace import → measure → scale → re-import code with `preflightSvgRegion(svg, { fit: bounds2({ size: [30, 18] }), resolution: { maxChordError: 0.05 } })`. `svgSection` preserves positioned fit targets instead of centering them again.
42
+
43
+ ## 0.16.0
44
+
45
+ ### Minor Changes
46
+
47
+ - fbd7276: Standardize immutable value interchange on domain names, Data representations, Input construction
48
+ forms, and toData(). Rename vector tuples and transform matrices to Vector2Data/Vector3Data and
49
+ Transform2Data/Transform3Data. Path2Data and Path3Data now preserve dimension, points, and closure;
50
+ path factories accept complete data records as well as coordinate collections. Advance the host
51
+ runtime to major 8 for the new value protocol, and update consumers, examples, and references.
52
+ - 1585391: Add immutable `bounds2()` and `bounds3()` values with fluent measurements, positioned containment,
53
+ and plain-data conversion. Path bounds now return these values. Rename plain bounds records to
54
+ `Bounds2Data` and `Bounds3Data` across geometry, model snapshots, CLI captures, and Testkit contracts.
55
+ Bounds values in recipe inputs and computed data use the runtime 8 value interchange protocol.
56
+ - 29e19a5: Add portable knuckle hinge joint recipes and a pure layout resolver, with captive, inserted-pin,
57
+ and lift-off construction, independent per-half mounting webs, and shared bounded physical sampling.
58
+ Per-half `barrelChamfer` sets the 45-degree outer-rim setback at both ends of every barrel;
59
+ web `zMin` places the lower face in the pin-centered frame, both in millimetres.
60
+ The operation uses the runtime 8 modeling contract.
61
+
3
62
  ## 0.15.0
4
63
 
5
64
  ### Minor Changes
package/README.md CHANGED
@@ -69,7 +69,7 @@ for browser WASM setup, resource limits, and lifecycle details.
69
69
 
70
70
  ## Reusable math and shapes
71
71
 
72
- Use immutable fluent vectors, paths, and transforms for ordinary modeling. Chains apply in written order,
72
+ Use immutable fluent vectors, paths, bounds, and transforms for ordinary modeling. Transform chains apply in written order,
73
73
  rotations use degrees, and an optional `pivot` is a fixed world-space point:
74
74
 
75
75
  ```ts
@@ -95,7 +95,9 @@ const alignment = direction.dot([0, 0, 1]);
95
95
 
96
96
  Transforms apply separately to points, directions and normals with `applyPoint`, `applyDirection`
97
97
  and `applyNormal`. `andThen` composes placements in execution order; `inverse` reverses them.
98
- Use `toArray()` and `toMatrix()` for interchange. Tuple arithmetic kernels remain available in
98
+ Value types use domain names (`Vector2`, `Transform2`, `Path2`, `Bounds2`); their plain
99
+ representations use `Data`, and accepted construction forms use `Input`. Use `toData()` for
100
+ canonical plain interchange, including path dimension and closure. Tuple arithmetic kernels remain available in
99
101
  `/geometry` for dense numerical loops.
100
102
 
101
103
  Primitive `attachment` maps a local anchor to a target anchor using the same degree-based
@@ -108,8 +110,53 @@ separate from reusable geometry.
108
110
  geometry observations need an active synchronous host execution.
109
111
  `solid.toTriangleMesh()` follows the same observation rule and returns copied mesh buffers.
110
112
  Closed `Path2` values describe traversal, not material; `polygon(path)` fills them and normalizes
111
- winding. Path transforms preserve traversal under reflection. `toArray()` supplies frozen tuple
112
- data for interchange; closure remains on the path value.
113
+ winding. Path transforms preserve traversal under reflection. `toData()` supplies a frozen record with points, closure, and dimension for interchange.
114
+
115
+ Use `bounds2({ min, max })` and `bounds3({ min, max })` for axis-aligned extents with fluent
116
+ `size()`, `center()`, and `containsBounds()` queries. Construct from dimensions with
117
+ `bounds2({ size: [30, 18] })` or `bounds3({ size: [30, 18, 8], center: false })`; centered size
118
+ construction is the default, and size cannot be combined with min/max. Path `bounds()` returns these values, or
119
+ `undefined` for an empty path. Measurements and snapshots retain plain `Bounds2Data` / `Bounds3Data`;
120
+ wrap them once for fluent queries and use `toData()` for a frozen min/max record.
121
+ Containment includes touching boundaries in the same coordinate frame; it does not establish
122
+ manufacturing fit. Pure `fitBounds` and `layoutRow` accept values or data for fitting and row placement.
123
+
124
+ ## Hole and pocket cutters
125
+
126
+ `holeCutter({ diameter, height })` declares a circular cutter from Z=0 to `height`.
127
+ Use `profile: regularPolygon(...)` or `profile: rectangle(...)` instead of `diameter` for
128
+ existing Section outlines. Plain profiles may have holes or disconnected regions. A positive
129
+ `entryChamfer` must be smaller than `height`. Circular entries use nominal frustum radii;
130
+ profile entries expand one strictly convex contour without holes by 45-degree parallel-edge
131
+ offsets of its sampled boundary.
132
+
133
+ Circular cutters additionally accept a `recess` with `kind: "counterbore"`, `diameter` and `depth`,
134
+ or `kind: "countersink"`, `diameter` and full `includedAngle` in degrees. Recesses and entry chamfers
135
+ are alternatives; `face` selects the top opening by default or the bottom opening explicitly.
136
+ Both `overrun.bottom` and `overrun.top` default to zero. To preserve a blind pocket floor, position
137
+ the cutter at that floor and extend only its top. Consumers own fit allowances and retained walls.
138
+
139
+ ## Mechanical joints
140
+
141
+ `knuckleHinge(options)` declares separate `halfA` and `halfB` solids with a centered +X pin axis
142
+ and +Z roll guide. Choose `print-in-place`, `inserted-pin`, or `lift-off` construction. Captive
143
+ joints require an odd knuckle count; lift-off joints require two knuckles and an explicit
144
+ `pinEngagement`. Inserted-pin joints supply no pin or retention hardware.
145
+
146
+ Each half accepts an optional rectangular web with its own Y direction, lower-face Z coordinate
147
+ (`zMin`), thickness, and reach, or can remain barrels only. Optional per-half `chamfer` sets the
148
+ 45-degree setback in millimetres at both ends of every barrel and on exposed web edges. The root
149
+ at the pin centreline stays square so its faces merge with the barrel. The setback defaults to
150
+ zero and must leave a positive barrel wall and axial band. Web thickness must exceed twice the
151
+ setback; web reach and knuckle length must exceed `2 * Math.SQRT2 * chamfer` to retain the end contours.
152
+ Consumers connect disconnected intervals to their plates or shells, preserve bores when adding
153
+ material, and own mounting holes, part placement, and motion. Arbitrary attachments
154
+ have no guaranteed opening range. Use `resolveKnuckleHinge(spec, sampling)` from `/geometry` for
155
+ the immutable interval schedule, axis frame, integral pin extent, and conservative faceted wall.
156
+
157
+ Radial clearance is a per-side allowance; axial gap is the total space between neighboring
158
+ knuckle ends. Both may be zero for ideal contact, which does not establish a printable fit.
159
+ Sampling follows the normal resolution contract; exact circular counts must be divisible by four.
113
160
 
114
161
  ## Reuse unchanged work
115
162
 
@@ -146,8 +193,9 @@ The installed package exposes `@metamesh/modeling/docs/manifest.json`: an exact-
146
193
  plain Markdown guides and every public API symbol. Resolve that export from your project to find
147
194
  the documentation beside your installed release. Its paths are relative to the manifest.
148
195
  With `@metamesh/cli` installed, use `pnpm exec metamesh docs search "your topic"` and
149
- `pnpm exec metamesh docs show DOCUMENT_ID` for bounded offline lookup. Start with
150
- `modeling/guide/concepts` and `modeling/guide/hosting` when choosing an execution environment.
196
+ `pnpm exec metamesh docs show DOCUMENT_ID` for bounded offline lookup. Read
197
+ `modeling/guide/standalone-model` for a short complete example, `modeling/guide/concepts` to choose
198
+ geometry, or `modeling/guide/hosting` to run a program in your application.
151
199
 
152
200
  - [Geometry concepts](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/docs/develop/geometry-package.mdx) — coordinates, resolution, and supported modeling paths.
153
201
  - [Geometry recipes](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/docs/develop/geometry-recipes.mdx) — primitives, sweeps, lofts, text, SVG, and booleans.
@@ -6,7 +6,7 @@ import type {
6
6
  GeometryResolution,
7
7
  ModelingLimits,
8
8
  ModelProgram,
9
- Vector3Tuple,
9
+ Vector3Data,
10
10
  } from "@metamesh/modeling";
11
11
  /** Default host resource ceilings for parts, vertices, triangles, and transferable bytes. */
12
12
  declare const defaultModelingLimits: Readonly<ModelingLimits>;
@@ -72,6 +72,7 @@ export interface GeometryResource extends TriangleMesh {
72
72
  }
73
73
  /**
74
74
  * A world-space manufacturing part plus its reusable local renderer resource.
75
+ *
75
76
  * Each `positions` or `indices` read returns an owned buffer copy; retain that copy when
76
77
  * traversing the mesh. Measurements and placement are immutable data and do not copy on access.
77
78
  */
@@ -79,9 +80,9 @@ export interface SnapshotPart extends FinalizedPart {
79
80
  /** Validated geometry in local coordinates, independent of placement and appearance. */
80
81
  readonly geometry: GeometryResource;
81
82
  /** XYZ translation in millimetres after rotation. */
82
- readonly position: Vector3Tuple;
83
+ readonly position: Vector3Data;
83
84
  /** Fixed global X, then Y, then Z rotation in degrees. */
84
- readonly rotation: Vector3Tuple;
85
+ readonly rotation: Vector3Data;
85
86
  }
86
87
  /** Captured immutable revision; disposal never changes another snapshot or an in-flight export. */
87
88
  export interface ModelSnapshot extends FinalizedModel {