@metamesh/modeling 0.13.0 → 0.14.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 (654) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +52 -9
  3. package/dist/api/engine.d.ts +3 -3
  4. package/dist/api/geometry.d.ts +521 -185
  5. package/dist/api/index.d.ts +414 -145
  6. package/dist/api/text.d.ts +3 -3
  7. package/dist/docs/guides/concepts.md +114 -11
  8. package/dist/docs/guides/fonts.md +8 -0
  9. package/dist/docs/guides/fundamentals.md +4 -2
  10. package/dist/docs/guides/generation.md +6 -4
  11. package/dist/docs/guides/hosting.md +7 -4
  12. package/dist/docs/guides/recipes.md +52 -2
  13. package/dist/docs/manifest.json +1246 -394
  14. package/dist/docs/reference/engine/Export3mfOptions.md +1 -1
  15. package/dist/docs/reference/engine/ExportMeshPart.md +1 -1
  16. package/dist/docs/reference/engine/GenerationOptions.md +1 -1
  17. package/dist/docs/reference/engine/GeometryResource.md +1 -1
  18. package/dist/docs/reference/engine/ModelDependencies.md +1 -1
  19. package/dist/docs/reference/engine/ModelEngine.md +1 -1
  20. package/dist/docs/reference/engine/ModelEngineOptions.md +1 -1
  21. package/dist/docs/reference/engine/ModelSession.md +1 -1
  22. package/dist/docs/reference/engine/ModelSnapshot.md +1 -1
  23. package/dist/docs/reference/engine/SessionOptions.md +1 -1
  24. package/dist/docs/reference/engine/SnapshotPart.md +3 -3
  25. package/dist/docs/reference/engine/categories/host-lifecycle.md +1 -1
  26. package/dist/docs/reference/engine/createModelEngine.md +1 -1
  27. package/dist/docs/reference/engine/defaultModelingLimits.md +1 -1
  28. package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
  29. package/dist/docs/reference/engine/validateModel.md +1 -1
  30. package/dist/docs/reference/engine.md +1 -1
  31. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
  32. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +14 -1
  33. package/dist/docs/reference/geometry/Anchor3.md +9 -5
  34. package/dist/docs/reference/geometry/ArcCurve2.md +3 -3
  35. package/dist/docs/reference/geometry/ArcCurve3.md +5 -5
  36. package/dist/docs/reference/geometry/AttachTransformOptions.md +5 -1
  37. package/dist/docs/reference/geometry/AxisAngleRotation3.md +6 -1
  38. package/dist/docs/reference/geometry/Bounds2.md +4 -4
  39. package/dist/docs/reference/geometry/Bounds3.md +4 -4
  40. package/dist/docs/reference/geometry/BoundsFit2.md +3 -3
  41. package/dist/docs/reference/geometry/BoundsFit3.md +3 -3
  42. package/dist/docs/reference/geometry/BoundsFitOptions.md +1 -1
  43. package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +1 -1
  44. package/dist/docs/reference/geometry/BoxAnchorFace.md +8 -1
  45. package/dist/docs/reference/geometry/BoxAnchorOptions.md +8 -4
  46. package/dist/docs/reference/geometry/BoxEdge.md +1 -1
  47. package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
  48. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
  49. package/dist/docs/reference/geometry/BoxOptions.md +3 -3
  50. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +1 -1
  51. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +1 -1
  52. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
  53. package/dist/docs/reference/geometry/CircleContourOptions.md +1 -1
  54. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
  55. package/dist/docs/reference/geometry/CircularResolutionOptions.md +107 -0
  56. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
  57. package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
  58. package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +34 -0
  59. package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +65 -0
  60. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
  61. package/dist/docs/reference/geometry/Contour.md +3 -3
  62. package/dist/docs/reference/geometry/ContourCurve.md +1 -1
  63. package/dist/docs/reference/geometry/ContourPoint.md +1 -1
  64. package/dist/docs/reference/geometry/ContourSegment.md +1 -1
  65. package/dist/docs/reference/geometry/CorrespondingComponent.md +1 -1
  66. package/dist/docs/reference/geometry/CorrespondingContour.md +1 -1
  67. package/dist/docs/reference/geometry/CorrespondingProfile.md +1 -1
  68. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +1 -1
  69. package/dist/docs/reference/geometry/CubicBezierCurve2.md +6 -6
  70. package/dist/docs/reference/geometry/CubicBezierCurve3.md +6 -6
  71. package/dist/docs/reference/geometry/Curve2.md +1 -1
  72. package/dist/docs/reference/geometry/Curve3.md +1 -1
  73. package/dist/docs/reference/geometry/CurveSamplingOptions.md +1 -1
  74. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +3 -3
  75. package/dist/docs/reference/geometry/CylinderAnchorFace.md +8 -1
  76. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +7 -3
  77. package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
  78. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +1 -1
  79. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +1 -1
  80. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +1 -1
  81. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +1 -1
  82. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +1 -1
  83. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +1 -1
  84. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +1 -1
  85. package/dist/docs/reference/geometry/CylindricalGearSpec.md +1 -1
  86. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
  87. package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
  88. package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -3
  89. package/dist/docs/reference/geometry/EndTreatments.md +1 -1
  90. package/dist/docs/reference/geometry/ExtrudeOptions.md +3 -3
  91. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +3 -3
  92. package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
  93. package/dist/docs/reference/geometry/Frame3.md +6 -6
  94. package/dist/docs/reference/geometry/GeometryError.md +1 -1
  95. package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
  96. package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
  97. package/dist/docs/reference/geometry/GeometryResolution.md +10 -1
  98. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +1 -1
  99. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
  100. package/dist/docs/reference/geometry/GridPatternOptions.md +4 -4
  101. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
  102. package/dist/docs/reference/geometry/HeightfieldOptions.md +5 -5
  103. package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
  104. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +1 -1
  105. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +1 -1
  106. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +1 -1
  107. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +7 -3
  108. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +1 -1
  109. package/dist/docs/reference/geometry/LineCurve2.md +4 -4
  110. package/dist/docs/reference/geometry/LineCurve3.md +4 -4
  111. package/dist/docs/reference/geometry/LinearPatternOptions.md +3 -3
  112. package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
  113. package/dist/docs/reference/geometry/LoftMeshStation.md +1 -1
  114. package/dist/docs/reference/geometry/LoftOptions.md +1 -1
  115. package/dist/docs/reference/geometry/LoftPlacement.md +1 -1
  116. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +1 -1
  117. package/dist/docs/reference/geometry/MatchProfilesOptions.md +1 -1
  118. package/dist/docs/reference/geometry/MetricFastenerSize.md +1 -1
  119. package/dist/docs/reference/geometry/MetricFastenerStandard.md +1 -1
  120. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +1 -1
  121. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +1 -1
  122. package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
  123. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +1 -1
  124. package/dist/docs/reference/geometry/Path2.md +3 -3
  125. package/dist/docs/reference/geometry/Path3.md +3 -3
  126. package/dist/docs/reference/geometry/PathFrame.md +5 -5
  127. package/dist/docs/reference/geometry/PathNormalGuide.md +5 -5
  128. package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
  129. package/dist/docs/reference/geometry/PathPlacement.md +4 -4
  130. package/dist/docs/reference/geometry/Pivot2Options.md +26 -0
  131. package/dist/docs/reference/geometry/Pivot3Options.md +26 -0
  132. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
  133. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +1 -1
  134. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
  135. package/dist/docs/reference/geometry/PlanarPatchQuality.md +3 -3
  136. package/dist/docs/reference/geometry/{Polygon.md → PolygonData.md} +2 -2
  137. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +1 -1
  138. package/dist/docs/reference/geometry/PrimitivePlacement.md +1 -1
  139. package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +1 -1
  140. package/dist/docs/reference/geometry/PrintableThreadFit.md +1 -1
  141. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +1 -1
  142. package/dist/docs/reference/geometry/Profile.md +1 -1
  143. package/dist/docs/reference/geometry/ProfileComponent2.md +1 -1
  144. package/dist/docs/reference/geometry/ProfileContour2.md +1 -1
  145. package/dist/docs/reference/geometry/ProfileSpan2.md +3 -3
  146. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
  147. package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
  148. package/dist/docs/reference/geometry/RackPitchSpec.md +1 -1
  149. package/dist/docs/reference/geometry/RadialPatternOptions.md +4 -4
  150. package/dist/docs/reference/geometry/RadialSizing.md +1 -1
  151. package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
  152. package/dist/docs/reference/geometry/RectangleContourOptions.md +3 -3
  153. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +1 -1
  154. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +1 -1
  155. package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
  156. package/dist/docs/reference/geometry/RegionData.md +14 -0
  157. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +1 -1
  158. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
  159. package/dist/docs/reference/geometry/RevolveOptions.md +1 -1
  160. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
  161. package/dist/docs/reference/geometry/RowLayoutOptions.md +1 -1
  162. package/dist/docs/reference/geometry/SampleContourOptions.md +1 -1
  163. package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
  164. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +1 -1
  165. package/dist/docs/reference/geometry/SampledCurve2.md +4 -4
  166. package/dist/docs/reference/geometry/SampledCurve3.md +4 -4
  167. package/dist/docs/reference/geometry/SampledThreadHelices.md +1 -1
  168. package/dist/docs/reference/geometry/SideProfileCurve.md +1 -1
  169. package/dist/docs/reference/geometry/SideProfilePoint.md +1 -1
  170. package/dist/docs/reference/geometry/SideProfileSegment.md +1 -1
  171. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
  172. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +1 -1
  173. package/dist/docs/reference/geometry/SphereOptions.md +1 -1
  174. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
  175. package/dist/docs/reference/geometry/StrokePathCap.md +1 -1
  176. package/dist/docs/reference/geometry/StrokePathJoin.md +1 -1
  177. package/dist/docs/reference/geometry/StrokePathRegionOptions.md +2 -2
  178. package/dist/docs/reference/geometry/SvgImportOptions.md +1 -1
  179. package/dist/docs/reference/geometry/SvgRegionPreflight.md +3 -3
  180. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +1 -1
  181. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +1 -1
  182. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +1 -1
  183. package/dist/docs/reference/geometry/SweepOptions.md +3 -3
  184. package/dist/docs/reference/geometry/SweepOrientation.md +7 -7
  185. package/dist/docs/reference/geometry/ThreadBevelOptions.md +1 -1
  186. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +1 -1
  187. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +1 -1
  188. package/dist/docs/reference/geometry/ThreadEndStyle.md +1 -1
  189. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +1 -1
  190. package/dist/docs/reference/geometry/ThreadHandedness.md +1 -1
  191. package/dist/docs/reference/geometry/ThreadHelixOptions.md +1 -1
  192. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +1 -1
  193. package/dist/docs/reference/geometry/ThreadLeadInShape.md +1 -1
  194. package/dist/docs/reference/geometry/ThreadProfile.md +3 -3
  195. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +1 -1
  196. package/dist/docs/reference/geometry/ThreadProfileSpec.md +1 -1
  197. package/dist/docs/reference/geometry/ThreadRole.md +1 -1
  198. package/dist/docs/reference/geometry/ThreadedNutBevel.md +1 -1
  199. package/dist/docs/reference/geometry/ThreadedNutOptions.md +1 -1
  200. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +1 -1
  201. package/dist/docs/reference/geometry/ThreadedNutShape.md +1 -1
  202. package/dist/docs/reference/geometry/ThreadedRodOptions.md +1 -1
  203. package/dist/docs/reference/geometry/TorusOptions.md +1 -1
  204. package/dist/docs/reference/geometry/Transform2-type.md +255 -0
  205. package/dist/docs/reference/geometry/Transform2Input.md +19 -0
  206. package/dist/docs/reference/geometry/Transform2Matrix.md +14 -0
  207. package/dist/docs/reference/geometry/Transform3-type.md +295 -0
  208. package/dist/docs/reference/geometry/Transform3Input.md +19 -0
  209. package/dist/docs/reference/geometry/Transform3Matrix.md +17 -0
  210. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +1 -1
  211. package/dist/docs/reference/geometry/TriangleMesh.md +1 -1
  212. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +1 -1
  213. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +1 -1
  214. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +1 -1
  215. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +1 -1
  216. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
  217. package/dist/docs/reference/geometry/TriangleMeshSignature.md +1 -1
  218. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +1 -1
  219. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +1 -1
  220. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +1 -1
  221. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +1 -1
  222. package/dist/docs/reference/geometry/TubeOptions.md +1 -1
  223. package/dist/docs/reference/geometry/Vector2-type.md +269 -0
  224. package/dist/docs/reference/geometry/Vector2Input.md +19 -0
  225. package/dist/docs/reference/geometry/Vector2Tuple.md +14 -0
  226. package/dist/docs/reference/geometry/Vector3-type.md +281 -0
  227. package/dist/docs/reference/geometry/Vector3Input.md +19 -0
  228. package/dist/docs/reference/geometry/Vector3Tuple.md +14 -0
  229. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +1 -1
  230. package/dist/docs/reference/geometry/VectorTextLayout.md +1 -1
  231. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +1 -1
  232. package/dist/docs/reference/geometry/VectorTextMetrics.md +1 -1
  233. package/dist/docs/reference/geometry/VectorTextOptions.md +1 -1
  234. package/dist/docs/reference/geometry/add2.md +36 -0
  235. package/dist/docs/reference/geometry/add3.md +10 -6
  236. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +1 -1
  237. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +1 -1
  238. package/dist/docs/reference/geometry/anchorFrame3.md +1 -1
  239. package/dist/docs/reference/geometry/applyTransformDirection3.md +11 -7
  240. package/dist/docs/reference/geometry/applyTransformPoint3.md +11 -7
  241. package/dist/docs/reference/geometry/attachTransform.md +8 -4
  242. package/dist/docs/reference/geometry/boundsCenter.md +7 -7
  243. package/dist/docs/reference/geometry/boundsFromSize.md +7 -7
  244. package/dist/docs/reference/geometry/boundsSize.md +7 -7
  245. package/dist/docs/reference/geometry/boxAnchor3.md +7 -3
  246. package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +1 -1
  247. package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +1 -1
  248. package/dist/docs/reference/geometry/categories/bounds-layout.md +1 -1
  249. package/dist/docs/reference/geometry/categories/curves-paths.md +6 -3
  250. package/dist/docs/reference/geometry/categories/mechanical.md +1 -1
  251. package/dist/docs/reference/geometry/categories/meshes.md +1 -1
  252. package/dist/docs/reference/geometry/categories/pattern-placement.md +2 -2
  253. package/dist/docs/reference/geometry/categories/primitive-options.md +1 -1
  254. package/dist/docs/reference/geometry/categories/profiles-regions.md +6 -6
  255. package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -2
  256. package/dist/docs/reference/geometry/categories/transforms-math.md +37 -8
  257. package/dist/docs/reference/geometry/categories/vector-import.md +2 -2
  258. package/dist/docs/reference/geometry/circleContour.md +1 -1
  259. package/dist/docs/reference/geometry/closeToAxis.md +4 -4
  260. package/dist/docs/reference/geometry/closestPointOnPath.md +110 -0
  261. package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
  262. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +1 -1
  263. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +1 -1
  264. package/dist/docs/reference/geometry/composeTransform3.md +10 -6
  265. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +5 -5
  266. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +5 -5
  267. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +4 -4
  268. package/dist/docs/reference/geometry/containsBounds.md +1 -1
  269. package/dist/docs/reference/geometry/contourContainsPoint.md +4 -4
  270. package/dist/docs/reference/geometry/createAnchor3.md +10 -6
  271. package/dist/docs/reference/geometry/createThreadProfile.md +1 -1
  272. package/dist/docs/reference/geometry/createTriangleMeshSignature.md +1 -1
  273. package/dist/docs/reference/geometry/cross2.md +36 -0
  274. package/dist/docs/reference/geometry/cross3.md +10 -6
  275. package/dist/docs/reference/geometry/cumulativePathLengths.md +4 -4
  276. package/dist/docs/reference/geometry/cylinderAnchor3.md +6 -2
  277. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
  278. package/dist/docs/reference/geometry/distance2.md +36 -0
  279. package/dist/docs/reference/geometry/distance3.md +36 -0
  280. package/dist/docs/reference/geometry/distributeAlongPath.md +4 -4
  281. package/dist/docs/reference/geometry/dot2.md +36 -0
  282. package/dist/docs/reference/geometry/dot3.md +9 -5
  283. package/dist/docs/reference/geometry/ellipseContour.md +1 -1
  284. package/dist/docs/reference/geometry/eulerTransform3.md +10 -6
  285. package/dist/docs/reference/geometry/extrudeMesh.md +2 -2
  286. package/dist/docs/reference/geometry/fitBounds.md +1 -1
  287. package/dist/docs/reference/geometry/fitTextLayout.md +1 -1
  288. package/dist/docs/reference/geometry/frameTransform3.md +8 -4
  289. package/dist/docs/reference/geometry/getMetricClearanceHole.md +1 -1
  290. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
  291. package/dist/docs/reference/geometry/gridPatternTransforms.md +4 -4
  292. package/dist/docs/reference/geometry/heightfieldMesh.md +1 -1
  293. package/dist/docs/reference/geometry/inverseTransform3.md +9 -5
  294. package/dist/docs/reference/geometry/isGeometryError.md +1 -1
  295. package/dist/docs/reference/geometry/joinTriangleMeshes.md +1 -1
  296. package/dist/docs/reference/geometry/layoutRow.md +4 -4
  297. package/dist/docs/reference/geometry/length2.md +30 -0
  298. package/dist/docs/reference/geometry/length3.md +8 -4
  299. package/dist/docs/reference/geometry/lerp2.md +42 -0
  300. package/dist/docs/reference/geometry/lerp3.md +10 -6
  301. package/dist/docs/reference/geometry/linearPatternTransforms.md +4 -4
  302. package/dist/docs/reference/geometry/loftMesh.md +1 -1
  303. package/dist/docs/reference/geometry/matchProfiles.md +1 -1
  304. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +3 -2
  305. package/dist/docs/reference/geometry/measureTriangleMesh.md +1 -1
  306. package/dist/docs/reference/geometry/meshBounds.md +1 -1
  307. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +1 -1
  308. package/dist/docs/reference/geometry/normalize2.md +36 -0
  309. package/dist/docs/reference/geometry/normalize3.md +10 -6
  310. package/dist/docs/reference/geometry/normalizeContour.md +4 -4
  311. package/dist/docs/reference/geometry/normalizePolygon.md +5 -5
  312. package/dist/docs/reference/geometry/normalizeRegion.md +5 -5
  313. package/dist/docs/reference/geometry/optimizePlanarPatches.md +1 -1
  314. package/dist/docs/reference/geometry/pathLength.md +4 -4
  315. package/dist/docs/reference/geometry/pathPatternTransforms.md +6 -6
  316. package/dist/docs/reference/geometry/preflightHeightfield.md +1 -1
  317. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +1 -1
  318. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +1 -1
  319. package/dist/docs/reference/geometry/preflightSvgRegion.md +1 -1
  320. package/dist/docs/reference/geometry/preflightThreadedNut.md +1 -1
  321. package/dist/docs/reference/geometry/preflightThreadedRod.md +1 -1
  322. package/dist/docs/reference/geometry/projectOntoPlane3.md +10 -6
  323. package/dist/docs/reference/geometry/radialPatternTransforms.md +6 -6
  324. package/dist/docs/reference/geometry/rectangleContour.md +2 -2
  325. package/dist/docs/reference/geometry/rectangleProfile.md +2 -2
  326. package/dist/docs/reference/geometry/regionArea.md +4 -4
  327. package/dist/docs/reference/geometry/regionBounds.md +4 -4
  328. package/dist/docs/reference/geometry/regularPolygonContour.md +4 -4
  329. package/dist/docs/reference/geometry/resamplePolyline2.md +4 -4
  330. package/dist/docs/reference/geometry/resamplePolyline3.md +4 -4
  331. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +5 -1
  332. package/dist/docs/reference/geometry/resolveArcSegments.md +4 -4
  333. package/dist/docs/reference/geometry/resolveCircularSegments.md +6 -5
  334. package/dist/docs/reference/geometry/resolveCylindricalGear.md +1 -1
  335. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +1 -1
  336. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +5 -5
  337. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +1 -1
  338. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
  339. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +1 -1
  340. package/dist/docs/reference/geometry/resolveRackPitch.md +1 -1
  341. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +1 -1
  342. package/dist/docs/reference/geometry/reverseTriangleMesh.md +1 -1
  343. package/dist/docs/reference/geometry/revolveMesh.md +4 -4
  344. package/dist/docs/reference/geometry/rotate2.md +36 -0
  345. package/dist/docs/reference/geometry/rotationTransform3.md +10 -6
  346. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +5 -5
  347. package/dist/docs/reference/geometry/sampleContour.md +1 -1
  348. package/dist/docs/reference/geometry/sampleCurve2.md +1 -1
  349. package/dist/docs/reference/geometry/sampleCurve3.md +1 -1
  350. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
  351. package/dist/docs/reference/geometry/sampleHelix.md +4 -4
  352. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
  353. package/dist/docs/reference/geometry/sampleRackToothPath.md +1 -1
  354. package/dist/docs/reference/geometry/sampleSideProfile.md +4 -4
  355. package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
  356. package/dist/docs/reference/geometry/sampleThreadHelices.md +1 -1
  357. package/dist/docs/reference/geometry/scale2.md +36 -0
  358. package/dist/docs/reference/geometry/scale3.md +9 -5
  359. package/dist/docs/reference/geometry/scaleTransform3.md +10 -6
  360. package/dist/docs/reference/geometry/signedContourArea.md +1 -1
  361. package/dist/docs/reference/geometry/starContour.md +4 -4
  362. package/dist/docs/reference/geometry/strokePathRegion.md +4 -4
  363. package/dist/docs/reference/geometry/subtract2.md +36 -0
  364. package/dist/docs/reference/geometry/subtract3.md +10 -6
  365. package/dist/docs/reference/geometry/sweepMesh.md +5 -5
  366. package/dist/docs/reference/geometry/transform2.md +38 -0
  367. package/dist/docs/reference/geometry/transform3.md +38 -0
  368. package/dist/docs/reference/geometry/transformContour.md +5 -5
  369. package/dist/docs/reference/geometry/transformDeterminant3.md +8 -4
  370. package/dist/docs/reference/geometry/transformPath2.md +5 -5
  371. package/dist/docs/reference/geometry/transformPath3.md +5 -5
  372. package/dist/docs/reference/geometry/transformRegionData.md +40 -0
  373. package/dist/docs/reference/geometry/transformTriangleMesh.md +4 -4
  374. package/dist/docs/reference/geometry/translationTransform3.md +10 -6
  375. package/dist/docs/reference/geometry/triangulateContour.md +1 -1
  376. package/dist/docs/reference/geometry/validateSolidMesh.md +1 -1
  377. package/dist/docs/reference/geometry/validateTransform3.md +9 -5
  378. package/dist/docs/reference/geometry/validateTriangleMesh.md +1 -1
  379. package/dist/docs/reference/geometry/vector2.md +31 -0
  380. package/dist/docs/reference/geometry/vector3.md +38 -0
  381. package/dist/docs/reference/geometry.md +2 -2
  382. package/dist/docs/reference/model/Anchor3.md +5 -5
  383. package/dist/docs/reference/model/AttachOptions.md +1 -1
  384. package/dist/docs/reference/model/Bounds2.md +4 -4
  385. package/dist/docs/reference/model/Bounds3.md +4 -4
  386. package/dist/docs/reference/model/BoxEdge.md +1 -1
  387. package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
  388. package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
  389. package/dist/docs/reference/model/BoxOptions.md +3 -3
  390. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
  391. package/dist/docs/reference/model/CircleContourOptions.md +1 -1
  392. package/dist/docs/reference/model/CircleOptions.md +1 -1
  393. package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
  394. package/dist/docs/reference/model/Computed.md +1 -1
  395. package/dist/docs/reference/model/ComputedValue.md +1 -1
  396. package/dist/docs/reference/model/Contour.md +3 -3
  397. package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
  398. package/dist/docs/reference/model/CorrespondingContour.md +1 -1
  399. package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
  400. package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
  401. package/dist/docs/reference/model/CylinderOptions.md +1 -1
  402. package/dist/docs/reference/model/DiagnosticOptions.md +1 -1
  403. package/dist/docs/reference/model/EdgeTreatment.md +1 -1
  404. package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
  405. package/dist/docs/reference/model/EllipseOptions.md +1 -1
  406. package/dist/docs/reference/model/EndTreatments.md +1 -1
  407. package/dist/docs/reference/model/ExtrudeOptions.md +3 -3
  408. package/dist/docs/reference/model/FinalizedModel.md +1 -1
  409. package/dist/docs/reference/model/FinalizedPart.md +1 -1
  410. package/dist/docs/reference/model/Frame3.md +6 -6
  411. package/dist/docs/reference/model/GenerateCallback.md +1 -1
  412. package/dist/docs/reference/model/GenerateContext.md +5 -5
  413. package/dist/docs/reference/model/GeneratedPart.md +6 -6
  414. package/dist/docs/reference/model/GenerationDiagnostic.md +1 -1
  415. package/dist/docs/reference/model/GenerationError.md +1 -1
  416. package/dist/docs/reference/model/GeometryResolution.md +1 -1
  417. package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
  418. package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
  419. package/dist/docs/reference/model/GridPatternOptions.md +4 -4
  420. package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
  421. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +1 -1
  422. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +1 -1
  423. package/dist/docs/reference/model/HullOptions.md +7 -7
  424. package/dist/docs/reference/model/ImmutableBuffer-type.md +1 -1
  425. package/dist/docs/reference/model/ImmutableTriangleMesh.md +1 -1
  426. package/dist/docs/reference/model/ImplicitOptions.md +4 -4
  427. package/dist/docs/reference/model/InternalThreadCutterOptions.md +1 -1
  428. package/dist/docs/reference/model/LinearPatternOptions.md +3 -3
  429. package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
  430. package/dist/docs/reference/model/LoftOptions.md +1 -1
  431. package/dist/docs/reference/model/LoftPlacement.md +1 -1
  432. package/dist/docs/reference/model/LoftStation.md +2 -2
  433. package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
  434. package/dist/docs/reference/model/ModelProgram.md +1 -1
  435. package/dist/docs/reference/model/ModelingLimits.md +1 -1
  436. package/dist/docs/reference/model/NumericArray.md +1 -1
  437. package/dist/docs/reference/model/PartGeometry.md +1 -1
  438. package/dist/docs/reference/model/PartOptions.md +6 -6
  439. package/dist/docs/reference/model/{fromRegion.md → Path2.md} +5 -18
  440. package/dist/docs/reference/model/PathNormalGuide.md +5 -5
  441. package/dist/docs/reference/model/PathPatternOptions.md +1 -1
  442. package/dist/docs/reference/model/PatternSource.md +2 -2
  443. package/dist/docs/reference/model/Pivot2Options.md +27 -0
  444. package/dist/docs/reference/model/Pivot3Options.md +27 -0
  445. package/dist/docs/reference/model/PlaneOptions.md +3 -3
  446. package/dist/docs/reference/model/{Polygon-type.md → PolygonData.md} +2 -2
  447. package/dist/docs/reference/model/PolygonOptions.md +81 -4
  448. package/dist/docs/reference/model/PrimitivePlacement.md +1 -1
  449. package/dist/docs/reference/model/PrimitivePlacementOptions.md +1 -1
  450. package/dist/docs/reference/model/PrintableThreadFit.md +1 -1
  451. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +1 -1
  452. package/dist/docs/reference/model/Profile.md +1 -1
  453. package/dist/docs/reference/model/ProfileComponent2.md +1 -1
  454. package/dist/docs/reference/model/ProfileContour2.md +1 -1
  455. package/dist/docs/reference/model/ProfileSpan2.md +3 -3
  456. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +3 -3
  457. package/dist/docs/reference/model/RadialPatternOptions.md +4 -4
  458. package/dist/docs/reference/model/RadialSizing.md +1 -1
  459. package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
  460. package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
  461. package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
  462. package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
  463. package/dist/docs/reference/model/RectangleOptions.md +3 -3
  464. package/dist/docs/reference/model/{Region.md → RegionData.md} +4 -4
  465. package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
  466. package/dist/docs/reference/model/RevolveOptions.md +1 -1
  467. package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
  468. package/dist/docs/reference/model/Section.md +75 -35
  469. package/dist/docs/reference/model/SectionHullOptions.md +7 -7
  470. package/dist/docs/reference/model/SectionInspection.md +4 -4
  471. package/dist/docs/reference/model/{RegionOffsetJoin.md → SectionOffsetJoin.md} +3 -3
  472. package/dist/docs/reference/model/{RegionOffsetOptions.md → SectionOffsetOptions.md} +4 -4
  473. package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
  474. package/dist/docs/reference/model/Solid.md +44 -21
  475. package/dist/docs/reference/model/SolidInspection.md +4 -4
  476. package/dist/docs/reference/model/SolidRayHit.md +4 -4
  477. package/dist/docs/reference/model/SphereOptions.md +1 -1
  478. package/dist/docs/reference/model/StarOptions.md +1 -1
  479. package/dist/docs/reference/model/StrokeOptions.md +91 -0
  480. package/dist/docs/reference/model/StrokePathCap.md +16 -0
  481. package/dist/docs/reference/model/StrokePathJoin.md +16 -0
  482. package/dist/docs/reference/model/SvgOrigin.md +1 -1
  483. package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
  484. package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
  485. package/dist/docs/reference/model/SweepOptions.md +3 -3
  486. package/dist/docs/reference/model/SweepOrientation.md +7 -7
  487. package/dist/docs/reference/model/TextSectionOptions.md +1 -1
  488. package/dist/docs/reference/model/ThreadEndStyle.md +1 -1
  489. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +1 -1
  490. package/dist/docs/reference/model/ThreadHandedness.md +1 -1
  491. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +1 -1
  492. package/dist/docs/reference/model/ThreadLeadInShape.md +1 -1
  493. package/dist/docs/reference/model/ThreadProfile.md +3 -3
  494. package/dist/docs/reference/model/ThreadRidgeOptions.md +1 -1
  495. package/dist/docs/reference/model/ThreadedNutBevel.md +1 -1
  496. package/dist/docs/reference/model/ThreadedNutOptions.md +1 -1
  497. package/dist/docs/reference/model/ThreadedNutPreflight.md +1 -1
  498. package/dist/docs/reference/model/ThreadedNutShape.md +1 -1
  499. package/dist/docs/reference/model/ThreadedRodOptions.md +1 -1
  500. package/dist/docs/reference/model/TorusOptions.md +1 -1
  501. package/dist/docs/reference/model/Transform2-type.md +256 -0
  502. package/dist/docs/reference/model/Transform2Input.md +20 -0
  503. package/dist/docs/reference/model/Transform2Matrix.md +15 -0
  504. package/dist/docs/reference/model/Transform3-type.md +296 -0
  505. package/dist/docs/reference/model/Transform3Input.md +20 -0
  506. package/dist/docs/reference/model/{Transform3.md → Transform3Matrix.md} +3 -3
  507. package/dist/docs/reference/model/TriangleMesh.md +1 -1
  508. package/dist/docs/reference/model/TriangleMeshAnalysis.md +1 -1
  509. package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
  510. package/dist/docs/reference/model/TubeOptions.md +1 -1
  511. package/dist/docs/reference/model/Vector2-type.md +270 -0
  512. package/dist/docs/reference/model/Vector2Input.md +20 -0
  513. package/dist/docs/reference/model/{Vector2.md → Vector2Tuple.md} +3 -3
  514. package/dist/docs/reference/model/Vector3-type.md +282 -0
  515. package/dist/docs/reference/model/Vector3Input.md +20 -0
  516. package/dist/docs/reference/model/{Vector3.md → Vector3Tuple.md} +3 -3
  517. package/dist/docs/reference/model/VectorTextLayout.md +1 -1
  518. package/dist/docs/reference/model/VectorTextMetrics.md +1 -1
  519. package/dist/docs/reference/model/anchor.md +1 -1
  520. package/dist/docs/reference/model/box.md +2 -2
  521. package/dist/docs/reference/model/categories/boolean-operations.md +4 -4
  522. package/dist/docs/reference/model/categories/bounded-surfaces.md +3 -3
  523. package/dist/docs/reference/model/categories/contracts.md +1 -1
  524. package/dist/docs/reference/model/categories/core-values-errors.md +5 -5
  525. package/dist/docs/reference/model/categories/explicit-profiles.md +2 -2
  526. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +1 -1
  527. package/dist/docs/reference/model/categories/generation.md +1 -1
  528. package/dist/docs/reference/model/categories/inspection.md +5 -5
  529. package/dist/docs/reference/model/categories/mesh-inspection.md +2 -2
  530. package/dist/docs/reference/model/categories/primitives.md +2 -2
  531. package/dist/docs/reference/model/categories/resolution.md +1 -1
  532. package/dist/docs/reference/model/categories/sections.md +11 -8
  533. package/dist/docs/reference/model/categories/threads.md +1 -1
  534. package/dist/docs/reference/model/categories/transforms-placement.md +21 -7
  535. package/dist/docs/reference/model/circle.md +1 -1
  536. package/dist/docs/reference/model/components.md +7 -4
  537. package/dist/docs/reference/model/compose.md +1 -1
  538. package/dist/docs/reference/model/cylinder.md +1 -1
  539. package/dist/docs/reference/model/distance.md +2 -2
  540. package/dist/docs/reference/model/ellipse.md +1 -1
  541. package/dist/docs/reference/model/extrude.md +2 -2
  542. package/dist/docs/reference/model/generate.md +1 -1
  543. package/dist/docs/reference/model/gridPattern.md +1 -1
  544. package/dist/docs/reference/model/heightfield.md +2 -2
  545. package/dist/docs/reference/model/hull.md +2 -2
  546. package/dist/docs/reference/model/immutableBuffer.md +1 -1
  547. package/dist/docs/reference/model/immutableMesh.md +1 -1
  548. package/dist/docs/reference/model/implicit.md +3 -3
  549. package/dist/docs/reference/model/inspectSection.md +1 -1
  550. package/dist/docs/reference/model/inspectSolid.md +1 -1
  551. package/dist/docs/reference/model/internalThreadCutter.md +1 -1
  552. package/dist/docs/reference/model/intersect.md +1 -1
  553. package/dist/docs/reference/model/isEmpty.md +2 -2
  554. package/dist/docs/reference/model/linearPattern.md +1 -1
  555. package/dist/docs/reference/model/loft.md +1 -1
  556. package/dist/docs/reference/model/matchProfiles.md +1 -1
  557. package/dist/docs/reference/model/minkowskiSum.md +1 -1
  558. package/dist/docs/reference/model/pathPattern.md +6 -6
  559. package/dist/docs/reference/model/polygon.md +1 -1
  560. package/dist/docs/reference/model/preflightInternalThreadCutter.md +1 -1
  561. package/dist/docs/reference/model/preflightThreadedNut.md +1 -1
  562. package/dist/docs/reference/model/preflightThreadedRod.md +1 -1
  563. package/dist/docs/reference/model/radialPattern.md +5 -5
  564. package/dist/docs/reference/model/rayCast.md +5 -5
  565. package/dist/docs/reference/model/rectangle.md +2 -2
  566. package/dist/docs/reference/model/regularPolygon.md +1 -1
  567. package/dist/docs/reference/model/revolve.md +1 -1
  568. package/dist/docs/reference/model/solidFromMesh.md +1 -1
  569. package/dist/docs/reference/model/sphere.md +1 -1
  570. package/dist/docs/reference/model/split.md +1 -1
  571. package/dist/docs/reference/model/splitByPlane.md +1 -1
  572. package/dist/docs/reference/model/star.md +1 -1
  573. package/dist/docs/reference/model/stroke.md +74 -0
  574. package/dist/docs/reference/model/svgPathSection.md +1 -1
  575. package/dist/docs/reference/model/svgSection.md +1 -1
  576. package/dist/docs/reference/model/sweep.md +5 -5
  577. package/dist/docs/reference/model/textSection.md +1 -1
  578. package/dist/docs/reference/model/threadRidge.md +1 -1
  579. package/dist/docs/reference/model/threadedNut.md +1 -1
  580. package/dist/docs/reference/model/threadedRod.md +1 -1
  581. package/dist/docs/reference/model/toTriangleMesh.md +1 -1
  582. package/dist/docs/reference/model/torus.md +1 -1
  583. package/dist/docs/reference/model/transform2.md +39 -0
  584. package/dist/docs/reference/model/transform3.md +39 -0
  585. package/dist/docs/reference/model/tube.md +1 -1
  586. package/dist/docs/reference/model/union.md +1 -1
  587. package/dist/docs/reference/model/vector2.md +32 -0
  588. package/dist/docs/reference/model/vector3.md +39 -0
  589. package/dist/docs/reference/model.md +7 -7
  590. package/dist/docs/reference/text/Bounds2.md +4 -4
  591. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
  592. package/dist/docs/reference/text/Vector2Tuple.md +7 -0
  593. package/dist/docs/reference/text/VectorFont.md +1 -1
  594. package/dist/docs/reference/text/VectorFontOptions.md +1 -1
  595. package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
  596. package/dist/docs/reference/text/VectorTextLayout.md +1 -1
  597. package/dist/docs/reference/text/VectorTextLayoutOptions.md +1 -1
  598. package/dist/docs/reference/text/VectorTextMetrics.md +1 -1
  599. package/dist/docs/reference/text/VectorTextOptions.md +1 -1
  600. package/dist/docs/reference/text/categories/font-preparation.md +2 -2
  601. package/dist/docs/reference/text/prepareVectorFont.md +1 -1
  602. package/dist/docs/reference/text.md +1 -1
  603. package/dist/engine/deferred-context.js +11 -181
  604. package/dist/engine/native/transforms.js +6 -1
  605. package/dist/engine/pattern-operations.js +2 -2
  606. package/dist/engine/primitive-profiles.js +1 -0
  607. package/dist/engine/recipe-realization.js +29 -21
  608. package/dist/engine/section-operations.js +19 -3
  609. package/dist/engine/session-graph.js +1 -1
  610. package/dist/engine/session-native.js +1 -1
  611. package/dist/engine/session-snapshot.js +3 -2
  612. package/dist/engine/session.js +3 -3
  613. package/dist/engine/shape-anchors.js +3 -9
  614. package/dist/engine/transform-operations.js +42 -25
  615. package/dist/geometry/index.js +6 -2
  616. package/dist/geometry/math/immutable-value.js +20 -0
  617. package/dist/geometry/math/vector-value.js +168 -0
  618. package/dist/geometry/math/vector2.js +80 -0
  619. package/dist/geometry/math/vector3.js +37 -7
  620. package/dist/geometry/mechanical/gear-motion.js +7 -4
  621. package/dist/geometry/mesh/mesh-solid-intersections.js +5 -1
  622. package/dist/geometry/paths/closest-point.js +74 -0
  623. package/dist/geometry/paths/frames.js +3 -3
  624. package/dist/geometry/primitive-resolution.js +4 -1
  625. package/dist/geometry/resolution.js +17 -5
  626. package/dist/geometry/stroke-path.js +48 -44
  627. package/dist/geometry/sweeps/stations.js +4 -4
  628. package/dist/geometry/sweeps/sweep-closed.js +3 -3
  629. package/dist/geometry/sweeps/sweep-open.js +3 -3
  630. package/dist/geometry/transform-chain.js +172 -0
  631. package/dist/geometry/transform-geometry.js +28 -24
  632. package/dist/geometry/transform-matrix.js +14 -0
  633. package/dist/geometry/transform2.js +60 -0
  634. package/dist/geometry/transform3.js +70 -26
  635. package/dist/index.js +3 -0
  636. package/dist/model/execution-binding.js +10 -5
  637. package/dist/model/geometry-recipes.js +15 -0
  638. package/dist/{engine → model}/immutable-generation-data.js +25 -3
  639. package/dist/model/operation-dispatch.js +10 -3
  640. package/dist/model/operations.js +21 -10
  641. package/dist/model/recipe-declaration.js +193 -0
  642. package/dist/model/shape-handles.js +15 -4
  643. package/package.json +1 -1
  644. package/dist/docs/reference/geometry/Region.md +0 -14
  645. package/dist/docs/reference/geometry/Transform3.md +0 -12
  646. package/dist/docs/reference/geometry/Vector2.md +0 -7
  647. package/dist/docs/reference/geometry/Vector3.md +0 -7
  648. package/dist/docs/reference/geometry/rotateAroundAxis3.md +0 -38
  649. package/dist/docs/reference/geometry/transformRegion.md +0 -40
  650. package/dist/docs/reference/model/Transform2.md +0 -15
  651. package/dist/docs/reference/model/toRegion.md +0 -33
  652. package/dist/docs/reference/text/Vector2.md +0 -7
  653. package/dist/engine/geometry-recipes.js +0 -12
  654. package/dist/engine/pattern-transform.js +0 -9
@@ -2,7 +2,7 @@
2
2
 
3
3
  Validates explicit polygon topology and normalizes its winding.
4
4
 
5
- **normalizePolygon**(`polygon`: [`Polygon`](Polygon.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Polygon`](Polygon.md)
5
+ **normalizePolygon**(`polygon`: [`PolygonData`](PolygonData.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`PolygonData`](PolygonData.md)
6
6
 
7
7
 
8
8
 
@@ -14,7 +14,7 @@ may be returned unchanged under the same tolerance policy.
14
14
 
15
15
  <a id="polygon"></a>
16
16
 
17
- **`polygon`** · [`Polygon`](Polygon.md) · Required
17
+ **`polygon`** · [`PolygonData`](PolygonData.md) · Required
18
18
 
19
19
 
20
20
 
@@ -26,12 +26,12 @@ may be returned unchanged under the same tolerance policy.
26
26
 
27
27
  ## Returns
28
28
 
29
- [`Polygon`](Polygon.md)
29
+ [`PolygonData`](PolygonData.md)
30
30
 
31
31
 
32
32
  ## Related APIs
33
33
 
34
34
  - [GeometryToleranceOptions](GeometryToleranceOptions.md)
35
- - [Polygon](Polygon.md)
35
+ - [PolygonData](PolygonData.md)
36
36
 
37
- Package: `@metamesh/modeling@0.13.0`.
37
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Validates a disjoint explicit region and returns immutable normalized data. Previously validated immutable results may be returned unchanged under the same tolerance policy.
4
4
 
5
- **normalizeRegion**(`region`: [`Region`](Region.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Region`](Region.md)
5
+ **normalizeRegion**(`region`: [`RegionData`](RegionData.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`RegionData`](RegionData.md)
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Validates a disjoint explicit region and returns immutable normalized data. Prev
10
10
 
11
11
  <a id="region"></a>
12
12
 
13
- **`region`** · [`Region`](Region.md) · Required
13
+ **`region`** · [`RegionData`](RegionData.md) · Required
14
14
 
15
15
 
16
16
 
@@ -22,12 +22,12 @@ Validates a disjoint explicit region and returns immutable normalized data. Prev
22
22
 
23
23
  ## Returns
24
24
 
25
- [`Region`](Region.md)
25
+ [`RegionData`](RegionData.md)
26
26
 
27
27
 
28
28
  ## Related APIs
29
29
 
30
30
  - [GeometryToleranceOptions](GeometryToleranceOptions.md)
31
- - [Region](Region.md)
31
+ - [RegionData](RegionData.md)
32
32
 
33
- Package: `@metamesh/modeling@0.13.0`.
33
+ Package: `@metamesh/modeling@0.14.0`.
@@ -88,4 +88,4 @@ Optimized connectivity and before/after diagnostics, or an unchanged safe fallba
88
88
  - [PlanarMeshOptimizationResult](PlanarMeshOptimizationResult.md)
89
89
  - [TriangleMesh](TriangleMesh.md)
90
90
 
91
- Package: `@metamesh/modeling@0.13.0`.
91
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Returns total sampled 3D path length, or zero for an empty path.
4
4
 
5
- `const` **pathLength**: (`path`: readonly [`Vector3`](Vector3.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => `number`
5
+ `const` **pathLength**: (`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => `number`
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Returns total sampled 3D path length, or zero for an empty path.
10
10
 
11
11
  <a id="path"></a>
12
12
 
13
- **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
13
+ **`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
14
14
 
15
15
 
16
16
 
@@ -28,6 +28,6 @@ Returns total sampled 3D path length, or zero for an empty path.
28
28
  ## Related APIs
29
29
 
30
30
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
31
- - [Vector3](Vector3.md)
31
+ - [Vector3Tuple](Vector3Tuple.md)
32
32
 
33
- Package: `@metamesh/modeling@0.13.0`.
33
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Equal physical arc-length placements along a sampled XYZ path. Tangent orientation maps +Z onto the local path tangent; fixed orientation only translates. Closed paths omit a repeated seam. Explicit sampling ceilings bound both input points and output placements.
4
4
 
5
- **pathPatternTransforms**(`path`: readonly [`Vector3`](Vector3.md)[], `options`: [`PathPatternOptions`](PathPatternOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): readonly [`Transform3`](Transform3.md)[]
5
+ **pathPatternTransforms**(`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `options`: [`PathPatternOptions`](PathPatternOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): readonly [`Transform3Matrix`](Transform3Matrix.md)[]
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Equal physical arc-length placements along a sampled XYZ path. Tangent orientati
10
10
 
11
11
  <a id="path"></a>
12
12
 
13
- **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
13
+ **`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
14
14
 
15
15
 
16
16
 
@@ -40,18 +40,18 @@ Equal physical arc-length placements along a sampled XYZ path. Tangent orientati
40
40
 
41
41
  ## Returns
42
42
 
43
- readonly [`Transform3`](Transform3.md)[]
43
+ readonly [`Transform3Matrix`](Transform3Matrix.md)[]
44
44
 
45
45
 
46
46
  ## Related APIs
47
47
 
48
48
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
49
49
  - [PathPatternOptions](PathPatternOptions.md)
50
- - [Transform3](Transform3.md)
51
- - [Vector3](Vector3.md)
50
+ - [Transform3Matrix](Transform3Matrix.md)
51
+ - [Vector3Tuple](Vector3Tuple.md)
52
52
 
53
53
  ## Guides
54
54
 
55
55
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
56
56
 
57
- Package: `@metamesh/modeling@0.13.0`.
57
+ Package: `@metamesh/modeling@0.14.0`.
@@ -31,4 +31,4 @@ Checks grid dimensions, coordinate precision, and allocation bounds before evalu
31
31
  - [HeightfieldPreflight](HeightfieldPreflight.md)
32
32
  - [ModelingLimits](ModelingLimits.md)
33
33
 
34
- Package: `@metamesh/modeling@0.13.0`.
34
+ Package: `@metamesh/modeling@0.14.0`.
@@ -93,4 +93,4 @@ Validates a direct thread solid and returns its conservative allocation estimate
93
93
  - [HelicalThreadSolidMeshOptions](HelicalThreadSolidMeshOptions.md)
94
94
  - [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
95
95
 
96
- Package: `@metamesh/modeling@0.13.0`.
96
+ Package: `@metamesh/modeling@0.14.0`.
@@ -82,4 +82,4 @@ Preflights the exact extended mesh used by the internal thread cutter constructo
82
82
  - [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
83
83
  - [InternalThreadCutterOptions](InternalThreadCutterOptions.md)
84
84
 
85
- Package: `@metamesh/modeling@0.13.0`.
85
+ Package: `@metamesh/modeling@0.14.0`.
@@ -53,4 +53,4 @@ The canonical normalized region plus bounded source, topology, and safe-repair f
53
53
  - [SvgImportOptions](SvgImportOptions.md)
54
54
  - [SvgRegionPreflight](SvgRegionPreflight.md)
55
55
 
56
- Package: `@metamesh/modeling@0.13.0`.
56
+ Package: `@metamesh/modeling@0.14.0`.
@@ -93,4 +93,4 @@ Resolves a nut's exact body/cutter chamfer and preflights its extended thread me
93
93
  - [ThreadedNutOptions](ThreadedNutOptions.md)
94
94
  - [ThreadedNutPreflight](ThreadedNutPreflight.md)
95
95
 
96
- Package: `@metamesh/modeling@0.13.0`.
96
+ Package: `@metamesh/modeling@0.14.0`.
@@ -82,4 +82,4 @@ Preflights the exact compensated direct mesh used by the threaded rod constructo
82
82
  - [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
83
83
  - [ThreadedRodOptions](ThreadedRodOptions.md)
84
84
 
85
- Package: `@metamesh/modeling@0.13.0`.
85
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Removes the component parallel to a normalized plane normal.
4
4
 
5
- `const` **projectOntoPlane3**: (`vector`: [`Vector3`](Vector3.md), `normal`: [`Vector3`](Vector3.md)) => [`Vector3`](Vector3.md)
5
+ `const` **projectOntoPlane3**: (`vector`: [`Vector3Tuple`](Vector3Tuple.md), `normal`: [`Vector3Tuple`](Vector3Tuple.md)) => [`Vector3Tuple`](Vector3Tuple.md)
6
6
 
7
7
 
8
8
 
@@ -10,23 +10,27 @@ Removes the component parallel to a normalized plane normal.
10
10
 
11
11
  <a id="vector"></a>
12
12
 
13
- **`vector`** · [`Vector3`](Vector3.md) · Required
13
+ **`vector`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
14
14
 
15
15
 
16
16
 
17
17
  <a id="normal"></a>
18
18
 
19
- **`normal`** · [`Vector3`](Vector3.md) · Required
19
+ **`normal`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
20
20
 
21
21
 
22
22
 
23
23
  ## Returns
24
24
 
25
- [`Vector3`](Vector3.md)
25
+ [`Vector3Tuple`](Vector3Tuple.md)
26
26
 
27
27
 
28
28
  ## Related APIs
29
29
 
30
- - [Vector3](Vector3.md)
30
+ - [Vector3Tuple](Vector3Tuple.md)
31
31
 
32
- Package: `@metamesh/modeling@0.13.0`.
32
+ ## Guides
33
+
34
+ - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
35
+
36
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Rotations about an explicit axis; angles use degrees and the first placement is identity.
4
4
 
5
- **radialPatternTransforms**(`options`: [`RadialPatternOptions`](RadialPatternOptions.md)): readonly [`Transform3`](Transform3.md)[]
5
+ **radialPatternTransforms**(`options`: [`RadialPatternOptions`](RadialPatternOptions.md)): readonly [`Transform3Matrix`](Transform3Matrix.md)[]
6
6
 
7
7
 
8
8
 
@@ -16,7 +16,7 @@ Rotations about an explicit axis; angles use degrees and the first placement is
16
16
 
17
17
  Number of solids to return, including the original.
18
18
 
19
- - [`axis`](RadialPatternOptions.md#axis) · [`Vector3`](Vector3.md) · Required
19
+ - [`axis`](RadialPatternOptions.md#axis) · [`Vector3Tuple`](Vector3Tuple.md) · Required
20
20
 
21
21
  Axis of the right-handed rotation. Its magnitude is ignored.
22
22
 
@@ -24,7 +24,7 @@ Rotations about an explicit axis; angles use degrees and the first placement is
24
24
 
25
25
  Signed rotation from one copy to the next, in degrees.
26
26
 
27
- - [`center`](RadialPatternOptions.md#center) · [`Vector3`](Vector3.md) · Optional
27
+ - [`center`](RadialPatternOptions.md#center) · [`Vector3Tuple`](Vector3Tuple.md) · Optional
28
28
 
29
29
  Rotation center in world coordinates. Defaults to the origin.
30
30
 
@@ -32,16 +32,16 @@ Rotations about an explicit axis; angles use degrees and the first placement is
32
32
 
33
33
  ## Returns
34
34
 
35
- readonly [`Transform3`](Transform3.md)[]
35
+ readonly [`Transform3Matrix`](Transform3Matrix.md)[]
36
36
 
37
37
 
38
38
  ## Related APIs
39
39
 
40
40
  - [RadialPatternOptions](RadialPatternOptions.md)
41
- - [Transform3](Transform3.md)
41
+ - [Transform3Matrix](Transform3Matrix.md)
42
42
 
43
43
  ## Guides
44
44
 
45
45
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
46
46
 
47
- Package: `@metamesh/modeling@0.13.0`.
47
+ Package: `@metamesh/modeling@0.14.0`.
@@ -18,7 +18,7 @@ rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
18
18
 
19
19
  **`options`** · [`RectangleContourOptions`](RectangleContourOptions.md) · Required
20
20
 
21
- - [`size`](RectangleContourOptions.md#size) · `number` \| [`Vector2`](Vector2.md) · Required
21
+ - [`size`](RectangleContourOptions.md#size) · `number` \| [`Vector2Tuple`](Vector2Tuple.md) · Required
22
22
 
23
23
  Positive uniform size or explicit XY extents in millimetres.
24
24
 
@@ -46,4 +46,4 @@ rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
46
46
  - [Contour](Contour.md)
47
47
  - [RectangleContourOptions](RectangleContourOptions.md)
48
48
 
49
- Package: `@metamesh/modeling@0.13.0`.
49
+ Package: `@metamesh/modeling@0.14.0`.
@@ -18,7 +18,7 @@ rectangleProfile({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
18
18
 
19
19
  **`options`** · [`RectangleProfileOptions`](RectangleProfileOptions.md) · Required
20
20
 
21
- - [`size`](RectangleProfileOptions.md#size) · `number` \| [`Vector2`](Vector2.md) · Required
21
+ - [`size`](RectangleProfileOptions.md#size) · `number` \| [`Vector2Tuple`](Vector2Tuple.md) · Required
22
22
 
23
23
  Positive uniform size or explicit XY extents in millimetres.
24
24
 
@@ -50,4 +50,4 @@ rectangleProfile({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
50
50
  - [Profile](Profile.md)
51
51
  - [RectangleProfileOptions](RectangleProfileOptions.md)
52
52
 
53
- Package: `@metamesh/modeling@0.13.0`.
53
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Returns the total filled area of a normalized region in square millimetres.
4
4
 
5
- **regionArea**(`region`: [`Region`](Region.md)): `number`
5
+ **regionArea**(`region`: [`RegionData`](RegionData.md)): `number`
6
6
 
7
7
 
8
8
 
@@ -14,7 +14,7 @@ canonical.
14
14
 
15
15
  <a id="region"></a>
16
16
 
17
- **`region`** · [`Region`](Region.md) · Required
17
+ **`region`** · [`RegionData`](RegionData.md) · Required
18
18
 
19
19
  Normalized disjoint polygons with CCW outers and clockwise holes.
20
20
 
@@ -29,6 +29,6 @@ Total filled area in square millimetres.
29
29
 
30
30
  ## Related APIs
31
31
 
32
- - [Region](Region.md)
32
+ - [RegionData](RegionData.md)
33
33
 
34
- Package: `@metamesh/modeling@0.13.0`.
34
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Returns finite axis-aligned bounds for a non-empty region.
4
4
 
5
- **regionBounds**(`region`: [`Region`](Region.md)): [`Bounds2`](Bounds2.md)
5
+ **regionBounds**(`region`: [`RegionData`](RegionData.md)): [`Bounds2`](Bounds2.md)
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Returns finite axis-aligned bounds for a non-empty region.
10
10
 
11
11
  <a id="region"></a>
12
12
 
13
- **`region`** · [`Region`](Region.md) · Required
13
+ **`region`** · [`RegionData`](RegionData.md) · Required
14
14
 
15
15
 
16
16
 
@@ -22,6 +22,6 @@ Returns finite axis-aligned bounds for a non-empty region.
22
22
  ## Related APIs
23
23
 
24
24
  - [Bounds2](Bounds2.md)
25
- - [Region](Region.md)
25
+ - [RegionData](RegionData.md)
26
26
 
27
- Package: `@metamesh/modeling@0.13.0`.
27
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Creates a centered CCW point loop with vertex or face radial sizing and an implicit seam.
4
4
 
5
- `const` **regularPolygonContour**: (`options`: [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md)) => readonly [`Vector2`](Vector2.md)[]
5
+ `const` **regularPolygonContour**: (`options`: [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md)) => readonly [`Vector2Tuple`](Vector2Tuple.md)[]
6
6
 
7
7
 
8
8
 
@@ -42,12 +42,12 @@ regularPolygonContour({ radius: 10, sides: 6, sizing: "face" });
42
42
 
43
43
  ## Returns
44
44
 
45
- readonly [`Vector2`](Vector2.md)[]
45
+ readonly [`Vector2Tuple`](Vector2Tuple.md)[]
46
46
 
47
47
 
48
48
  ## Related APIs
49
49
 
50
50
  - [RegularPolygonContourOptions](RegularPolygonContourOptions.md)
51
- - [Vector2](Vector2.md)
51
+ - [Vector2Tuple](Vector2Tuple.md)
52
52
 
53
- Package: `@metamesh/modeling@0.13.0`.
53
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Resamples a planar polyline with the same point, tangent, seam and budget guarantees as 3D.
4
4
 
5
- **resamplePolyline2**(`path`: readonly [`Vector2`](Vector2.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve2`](SampledCurve2.md)
5
+ **resamplePolyline2**(`path`: readonly [`Vector2Tuple`](Vector2Tuple.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve2`](SampledCurve2.md)
6
6
 
7
7
 
8
8
 
@@ -16,7 +16,7 @@ const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segment
16
16
 
17
17
  <a id="path"></a>
18
18
 
19
- **`path`** · readonly [`Vector2`](Vector2.md)[] · Required
19
+ **`path`** · readonly [`Vector2Tuple`](Vector2Tuple.md)[] · Required
20
20
 
21
21
 
22
22
 
@@ -59,6 +59,6 @@ Only final 2D output vectors are copied and frozen. No immutable 3D intermediate
59
59
 
60
60
  - [PolylineResamplingOptions](PolylineResamplingOptions.md)
61
61
  - [SampledCurve2](SampledCurve2.md)
62
- - [Vector2](Vector2.md)
62
+ - [Vector2Tuple](Vector2Tuple.md)
63
63
 
64
- Package: `@metamesh/modeling@0.13.0`.
64
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Resamples a spatial polyline at equal arc lengths with directed outgoing tangents.
4
4
 
5
- **resamplePolyline3**(`path`: readonly [`Vector3`](Vector3.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve3`](SampledCurve3.md)
5
+ **resamplePolyline3**(`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve3`](SampledCurve3.md)
6
6
 
7
7
 
8
8
 
@@ -16,7 +16,7 @@ const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
16
16
 
17
17
  <a id="path"></a>
18
18
 
19
- **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
19
+ **`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
20
20
 
21
21
 
22
22
 
@@ -62,6 +62,6 @@ may bridge original corners. Sampling never silently lowers the requested detail
62
62
 
63
63
  - [PolylineResamplingOptions](PolylineResamplingOptions.md)
64
64
  - [SampledCurve3](SampledCurve3.md)
65
- - [Vector3](Vector3.md)
65
+ - [Vector3Tuple](Vector3Tuple.md)
66
66
 
67
- Package: `@metamesh/modeling@0.13.0`.
67
+ Package: `@metamesh/modeling@0.14.0`.
@@ -39,6 +39,10 @@ Required alignment factors plus optional floor, exact count, and resolution.
39
39
  Non-empty alignment factors. Every value must be a positive safe integer; the returned count
40
40
  is divisible by their checked least common multiple.
41
41
 
42
+ - [`sizing`](AlignedCircularSegmentsOptions.md#sizing) · [`RadialSizing`](RadialSizing.md) · Optional
43
+
44
+ Radial sizing used by adaptive error and edge-length checks. Defaults to vertex.
45
+
42
46
  - [`limits`](AlignedCircularSegmentsOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
43
47
 
44
48
  Explicit sampling allocation ceilings.
@@ -76,4 +80,4 @@ An aligned full-circle segment count.
76
80
  - [AlignedCircularSegmentsOptions](AlignedCircularSegmentsOptions.md)
77
81
  - [resolveCircularSegments](resolveCircularSegments.md)
78
82
 
79
- Package: `@metamesh/modeling@0.13.0`.
83
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Resolves the number of segments needed for a circular arc.
4
4
 
5
- **resolveArcSegments**(`radius`: `number`, `angleDegrees`: `number`, `policy?`: [`GeometryResolution`](GeometryResolution.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
5
+ **resolveArcSegments**(`radius`: `number`, `angleDegrees`: `number`, `policy?`: [`CircularResolutionOptions`](CircularResolutionOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
6
6
 
7
7
 
8
8
 
@@ -35,7 +35,7 @@ Non-zero signed sweep angle no greater than 360 degrees in magnitude.
35
35
 
36
36
  <a id="policy"></a>
37
37
 
38
- **`policy`** · [`GeometryResolution`](GeometryResolution.md) · Optional
38
+ **`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
39
39
 
40
40
  Optional operation-level policy over the active model scope.
41
41
 
@@ -60,8 +60,8 @@ Segment count for the requested arc span.
60
60
 
61
61
  ## Related APIs
62
62
 
63
- - [GeometryResolution](GeometryResolution.md)
63
+ - [CircularResolutionOptions](CircularResolutionOptions.md)
64
64
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
65
65
  - [resolveCircularSegments](resolveCircularSegments.md)
66
66
 
67
- Package: `@metamesh/modeling@0.13.0`.
67
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Resolves a deterministic full-circle segment count for one radius.
4
4
 
5
- **resolveCircularSegments**(`radius`: `number`, `policy?`: [`GeometryResolution`](GeometryResolution.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
5
+ **resolveCircularSegments**(`radius`: `number`, `policy?`: [`CircularResolutionOptions`](CircularResolutionOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
6
6
 
7
7
 
8
8
 
@@ -13,7 +13,8 @@ const circleSegments = resolveCircularSegments(25, { maxChordError: 0.05 });
13
13
  ```
14
14
 
15
15
  An exact `circularSegments` value wins. Otherwise the smallest regular polygon satisfying both
16
- physical error criteria is used. A safety cap that would violate either criterion raises
16
+ physical error criteria is used. Face sizing bounds the circumscribed polygon's outward
17
+ excess and actual edge length. A safety cap that would violate either criterion raises
17
18
  `COMPLEXITY_LIMIT` rather than silently reducing quality.
18
19
 
19
20
  ## Parameters
@@ -28,7 +29,7 @@ Circle radius in millimetres.
28
29
 
29
30
  <a id="policy"></a>
30
31
 
31
- **`policy`** · [`GeometryResolution`](GeometryResolution.md) · Optional
32
+ **`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
32
33
 
33
34
  Optional operation-level policy under explicit sampling ceilings.
34
35
 
@@ -53,9 +54,9 @@ Full-circle segment count.
53
54
 
54
55
  ## Related APIs
55
56
 
56
- - [GeometryResolution](GeometryResolution.md)
57
+ - [CircularResolutionOptions](CircularResolutionOptions.md)
57
58
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
58
59
  - [resolveAlignedCircularSegments](resolveAlignedCircularSegments.md)
59
60
  - [resolveArcSegments](resolveArcSegments.md)
60
61
 
61
- Package: `@metamesh/modeling@0.13.0`.
62
+ Package: `@metamesh/modeling@0.14.0`.
@@ -28,4 +28,4 @@ currently supported.
28
28
  - [CylindricalGearDimensions](CylindricalGearDimensions.md)
29
29
  - [CylindricalGearSpec](CylindricalGearSpec.md)
30
30
 
31
- Package: `@metamesh/modeling@0.13.0`.
31
+ Package: `@metamesh/modeling@0.14.0`.
@@ -28,4 +28,4 @@ the same hand. The function validates those conjugate pitch invariants.
28
28
  - [CylindricalGearPairDimensions](CylindricalGearPairDimensions.md)
29
29
  - [CylindricalGearPairSpec](CylindricalGearPairSpec.md)
30
30
 
31
- Package: `@metamesh/modeling@0.13.0`.
31
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Resolves intermediate profile copies for linear extrusion from physical curve resolution.
4
4
 
5
- **resolveExtrusionDivisions**(`profile`: [`Contour`](Contour.md) \| [`Region`](Region.md), `height`: `number`, `options?`: [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md)): `number`
5
+ **resolveExtrusionDivisions**(`profile`: [`Contour`](Contour.md) \| [`RegionData`](RegionData.md), `height`: `number`, `options?`: [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md)): `number`
6
6
 
7
7
 
8
8
 
@@ -16,7 +16,7 @@ Exceeding the selected maxPathPoints ceiling raises `COMPLEXITY_LIMIT` instead o
16
16
 
17
17
  <a id="profile"></a>
18
18
 
19
- **`profile`** · [`Contour`](Contour.md) \| [`Region`](Region.md) · Required
19
+ **`profile`** · [`Contour`](Contour.md) \| [`RegionData`](RegionData.md) · Required
20
20
 
21
21
  Ordered XY millimetre contours with implicit closing edges.
22
22
 
@@ -48,7 +48,7 @@ Twist, scale, exact divisions, and physical resolution controls.
48
48
 
49
49
  Operation-level physical policy over the nearest model scope.
50
50
 
51
- - [`scaleTop`](ExtrusionSamplingOptions.md#scaletop) · `number` \| [`Vector2`](Vector2.md) · Optional
51
+ - [`scaleTop`](ExtrusionSamplingOptions.md#scaletop) · `number` \| [`Vector2Tuple`](Vector2Tuple.md) · Optional
52
52
 
53
53
  Finite uniform or XY scale of the top profile; defaults to one.
54
54
 
@@ -69,6 +69,6 @@ Number of intermediate copies, excluding the two end profiles.
69
69
 
70
70
  - [Contour](Contour.md)
71
71
  - [ExtrusionSamplingOptions](ExtrusionSamplingOptions.md)
72
- - [Region](Region.md)
72
+ - [RegionData](RegionData.md)
73
73
 
74
- Package: `@metamesh/modeling@0.13.0`.
74
+ Package: `@metamesh/modeling@0.14.0`.
@@ -23,4 +23,4 @@ Resolves finite positive safe-integer allocation ceilings without ambient state.
23
23
 
24
24
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
25
25
 
26
- Package: `@metamesh/modeling@0.13.0`.
26
+ Package: `@metamesh/modeling@0.14.0`.
@@ -56,4 +56,4 @@ A complete tolerance policy including the scale-resolved distance.
56
56
  - [GeometryToleranceOptions](GeometryToleranceOptions.md)
57
57
  - [ResolvedGeometryTolerance](ResolvedGeometryTolerance.md)
58
58
 
59
- Package: `@metamesh/modeling@0.13.0`.
59
+ Package: `@metamesh/modeling@0.14.0`.
@@ -24,4 +24,4 @@ Resolves and validates a named or caller-defined print-fit policy.
24
24
  - [PrintableThreadFit](PrintableThreadFit.md)
25
25
  - [PrintableThreadFitPolicy](PrintableThreadFitPolicy.md)
26
26
 
27
- Package: `@metamesh/modeling@0.13.0`.
27
+ Package: `@metamesh/modeling@0.14.0`.
@@ -24,4 +24,4 @@ Resolves a rack segment that is conjugate with the same normal cylindrical pitch
24
24
  - [RackPitchDimensions](RackPitchDimensions.md)
25
25
  - [RackPitchSpec](RackPitchSpec.md)
26
26
 
27
- Package: `@metamesh/modeling@0.13.0`.
27
+ Package: `@metamesh/modeling@0.14.0`.
@@ -56,4 +56,4 @@ raised. Adaptive policies align upward and fail if that would exceed `maximumSeg
56
56
 
57
57
  - [ThreadCircularSegmentsOptions](ThreadCircularSegmentsOptions.md)
58
58
 
59
- Package: `@metamesh/modeling@0.13.0`.
59
+ Package: `@metamesh/modeling@0.14.0`.
@@ -27,4 +27,4 @@ Fresh position and index buffers; the input remains unchanged.
27
27
 
28
28
  - [TriangleMesh](TriangleMesh.md)
29
29
 
30
- Package: `@metamesh/modeling@0.13.0`.
30
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Revolves a non-duplicated closed `[radius, z]` profile around +Z.
4
4
 
5
- `const` **revolveMesh**: (`profile`: readonly [`Vector2`](Vector2.md)[], `options?`: [`RevolveOptions`](RevolveOptions.md)) => [`TriangleMesh`](TriangleMesh.md)
5
+ `const` **revolveMesh**: (`profile`: readonly [`Vector2Tuple`](Vector2Tuple.md)[], `options?`: [`RevolveOptions`](RevolveOptions.md)) => [`TriangleMesh`](TriangleMesh.md)
6
6
 
7
7
 
8
8
 
@@ -24,7 +24,7 @@ revolveMesh([[0, 0], [12, 0], [8, 20], [0, 20]], { revolveDegrees: 270 });
24
24
 
25
25
  <a id="profile"></a>
26
26
 
27
- **`profile`** · readonly [`Vector2`](Vector2.md)[] · Required
27
+ **`profile`** · readonly [`Vector2Tuple`](Vector2Tuple.md)[] · Required
28
28
 
29
29
  Closed CCW `[radius, z]` profile without a duplicated seam point.
30
30
 
@@ -71,6 +71,6 @@ A closed indexed triangle mesh revolved counter-clockwise around +Z.
71
71
 
72
72
  - [RevolveOptions](RevolveOptions.md)
73
73
  - [TriangleMesh](TriangleMesh.md)
74
- - [Vector2](Vector2.md)
74
+ - [Vector2Tuple](Vector2Tuple.md)
75
75
 
76
- Package: `@metamesh/modeling@0.13.0`.
76
+ Package: `@metamesh/modeling@0.14.0`.