@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
@@ -17,7 +17,7 @@ SVG input is bounded and rejects unsupported resources or content contextually.
17
17
 
18
18
  | API | Summary |
19
19
  | --- | --- |
20
- | [StrokePathRegionOptions](../StrokePathRegionOptions.md) | Physical stroke and topology controls for strokePathRegion. |
20
+ | [StrokePathRegionOptions](../StrokePathRegionOptions.md) | Physical stroke and topology controls shared by pure regions and native Sections. |
21
21
  | [SvgImportOptions](../SvgImportOptions.md) | Sampling controls for deterministic SVG-to-region conversion. |
22
22
  | [SvgRegionPreflight](../SvgRegionPreflight.md) | Exact normalized SVG region plus bounded source, geometry, and safe-repair diagnostics. |
23
23
  | [SvgRegionPreflightRepairs](../SvgRegionPreflightRepairs.md) | Visible, appearance-preserving cleanup counters from bounded SVG import. |
@@ -37,4 +37,4 @@ SVG input is bounded and rejects unsupported resources or content contextually.
37
37
  | [StrokePathCap](../StrokePathCap.md) | End-cap treatment for an open stroked path. |
38
38
  | [StrokePathJoin](../StrokePathJoin.md) | Join treatment where adjacent stroked path segments meet. |
39
39
 
40
- Package: `@metamesh/modeling@0.13.0`.
40
+ Package: `@metamesh/modeling@0.14.0`.
@@ -30,4 +30,4 @@ circleContour({ diameter: 20, segments: 32 });
30
30
  - [CircleContourOptions](CircleContourOptions.md)
31
31
  - [Contour](Contour.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
  Closes an open, strictly upward [radius, height] side outline to the radius-zero axis. Adds horizontal bottom/top edges at the endpoint heights, retaining axis endpoints once. Returns a counterclockwise filled-boundary contour without a repeated seam vertex. Radii must be nonnegative; the result must enclose nonzero area without touching itself. This is a solid-body closure, not a hollow-wall or mounting-bore construction.
4
4
 
5
- **closeToAxis**(`side`: readonly [`Vector2`](Vector2.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`Contour`](Contour.md)
5
+ **closeToAxis**(`side`: readonly [`Vector2Tuple`](Vector2Tuple.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`Contour`](Contour.md)
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Closes an open, strictly upward [radius, height] side outline to the radius-zero
10
10
 
11
11
  <a id="side"></a>
12
12
 
13
- **`side`** · readonly [`Vector2`](Vector2.md)[] · Required
13
+ **`side`** · readonly [`Vector2Tuple`](Vector2Tuple.md)[] · Required
14
14
 
15
15
 
16
16
 
@@ -29,6 +29,6 @@ Closes an open, strictly upward [radius, height] side outline to the radius-zero
29
29
 
30
30
  - [Contour](Contour.md)
31
31
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
32
- - [Vector2](Vector2.md)
32
+ - [Vector2Tuple](Vector2Tuple.md)
33
33
 
34
- Package: `@metamesh/modeling@0.13.0`.
34
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,110 @@
1
+ # closestPointOnPath
2
+
3
+ Finds the closest position anywhere on an open XY path or closed contour.
4
+
5
+ ## Call Signature
6
+
7
+
8
+
9
+ **closestPointOnPath**(`path`: [`Path2`](Path2.md), `point`: [`Vector2Tuple`](Vector2Tuple.md), `options?`: [`ClosestPointOnPathOptions`](ClosestPointOnPathOptions.md)): [`ClosestPointOnPathResult`](ClosestPointOnPathResult.md)\<[`Vector2Tuple`](Vector2Tuple.md)\>
10
+
11
+
12
+
13
+ ## Example: Find a point on a closed boundary
14
+
15
+ ```ts
16
+ closestPointOnPath([[0, 0], [10, 0], [10, 10]], [4, -2], { closed: true });
17
+ ```
18
+
19
+ Finds the closest position anywhere on an open XY path or closed contour.
20
+
21
+ Open paths need two points; closed paths need three and omit the duplicated seam.
22
+ Repeated vertices are treated as zero-length edges. Inputs and derived distances must be
23
+ finite. Only the final result is allocated, so scanning a dense boundary creates no per-edge objects.
24
+ This measures the sampled boundary, not its filled interior or an underlying analytic curve.
25
+
26
+ ### Parameters
27
+
28
+ <a id="path"></a>
29
+
30
+ **`path`** · [`Path2`](Path2.md) · Required
31
+
32
+
33
+
34
+ <a id="point"></a>
35
+
36
+ **`point`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
37
+
38
+
39
+
40
+ <a id="options"></a>
41
+
42
+ **`options`** · [`ClosestPointOnPathOptions`](ClosestPointOnPathOptions.md) · Optional
43
+
44
+ - [`closed`](ClosestPointOnPathOptions.md#closed) · `boolean` · Optional
45
+
46
+ Include the last-to-first edge without duplicating the seam point. Defaults to false.
47
+
48
+ - [`limits`](ClosestPointOnPathOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
49
+
50
+ Explicit path point ceiling; defaults to the package sampling limits.
51
+
52
+
53
+
54
+ ### Returns
55
+
56
+ [`ClosestPointOnPathResult`](ClosestPointOnPathResult.md)\<[`Vector2Tuple`](Vector2Tuple.md)\>
57
+
58
+ ## Call Signature
59
+
60
+
61
+
62
+ **closestPointOnPath**(`path`: [`Path3`](Path3.md), `point`: [`Vector3Tuple`](Vector3Tuple.md), `options?`: [`ClosestPointOnPathOptions`](ClosestPointOnPathOptions.md)): [`ClosestPointOnPathResult`](ClosestPointOnPathResult.md)\<[`Vector3Tuple`](Vector3Tuple.md)\>
63
+
64
+
65
+
66
+ Finds the closest position on an open XYZ path or explicitly closed spatial loop.
67
+
68
+ ### Parameters
69
+
70
+ <a id="path-1"></a>
71
+
72
+ **`path`** · [`Path3`](Path3.md) · Required
73
+
74
+
75
+
76
+ <a id="point-1"></a>
77
+
78
+ **`point`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
79
+
80
+
81
+
82
+ <a id="options-1"></a>
83
+
84
+ **`options`** · [`ClosestPointOnPathOptions`](ClosestPointOnPathOptions.md) · Optional
85
+
86
+ - [`closed`](ClosestPointOnPathOptions.md#closed) · `boolean` · Optional
87
+
88
+ Include the last-to-first edge without duplicating the seam point. Defaults to false.
89
+
90
+ - [`limits`](ClosestPointOnPathOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
91
+
92
+ Explicit path point ceiling; defaults to the package sampling limits.
93
+
94
+
95
+
96
+ ### Returns
97
+
98
+ [`ClosestPointOnPathResult`](ClosestPointOnPathResult.md)\<[`Vector3Tuple`](Vector3Tuple.md)\>
99
+
100
+
101
+ ## Related APIs
102
+
103
+ - [ClosestPointOnPathOptions](ClosestPointOnPathOptions.md)
104
+ - [ClosestPointOnPathResult](ClosestPointOnPathResult.md)
105
+ - [Path2](Path2.md)
106
+ - [Path3](Path3.md)
107
+ - [Vector2Tuple](Vector2Tuple.md)
108
+ - [Vector3Tuple](Vector3Tuple.md)
109
+
110
+ Package: `@metamesh/modeling@0.14.0`.
@@ -48,4 +48,4 @@ allowances as radial mating clearance.
48
48
  - [CompensatedThreadDiameters](CompensatedThreadDiameters.md)
49
49
  - [ThreadCompensationOptions](ThreadCompensationOptions.md)
50
50
 
51
- Package: `@metamesh/modeling@0.13.0`.
51
+ Package: `@metamesh/modeling@0.14.0`.
@@ -39,4 +39,4 @@ change. The returned profile is a new deeply immutable value.
39
39
 
40
40
  - [ThreadProfile](ThreadProfile.md)
41
41
 
42
- Package: `@metamesh/modeling@0.13.0`.
42
+ Package: `@metamesh/modeling@0.14.0`.
@@ -53,4 +53,4 @@ it exactly.
53
53
 
54
54
  - [ThreadProfile](ThreadProfile.md)
55
55
 
56
- Package: `@metamesh/modeling@0.13.0`.
56
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Composes two affine transforms without mutating either matrix.
4
4
 
5
- **composeTransform3**(`after`: [`Transform3`](Transform3.md), `before`: [`Transform3`](Transform3.md)): [`Transform3`](Transform3.md)
5
+ **composeTransform3**(`after`: [`Transform3Matrix`](Transform3Matrix.md), `before`: [`Transform3Matrix`](Transform3Matrix.md)): [`Transform3Matrix`](Transform3Matrix.md)
6
6
 
7
7
 
8
8
 
@@ -12,7 +12,7 @@ Composes two affine transforms without mutating either matrix.
12
12
 
13
13
  <a id="after"></a>
14
14
 
15
- **`after`** · [`Transform3`](Transform3.md) · Required
15
+ **`after`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
16
16
 
17
17
  Transform applied second.
18
18
 
@@ -20,7 +20,7 @@ Transform applied second.
20
20
 
21
21
  <a id="before"></a>
22
22
 
23
- **`before`** · [`Transform3`](Transform3.md) · Required
23
+ **`before`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
24
24
 
25
25
  Transform applied first.
26
26
 
@@ -28,13 +28,17 @@ Transform applied first.
28
28
 
29
29
  ## Returns
30
30
 
31
- [`Transform3`](Transform3.md)
31
+ [`Transform3Matrix`](Transform3Matrix.md)
32
32
 
33
33
  A new frozen transform equal to `after * before`.
34
34
 
35
35
 
36
36
  ## Related APIs
37
37
 
38
- - [Transform3](Transform3.md)
38
+ - [Transform3Matrix](Transform3Matrix.md)
39
39
 
40
- Package: `@metamesh/modeling@0.13.0`.
40
+ ## Guides
41
+
42
+ - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
43
+
44
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Builds rotation-minimizing frames for a non-duplicated closed path.
4
4
 
5
- `const` **computeClosedParallelTransportFrames**: (`path`: readonly [`Vector3`](Vector3.md)[], `initialNormal?`: [`Vector3`](Vector3.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
5
+ `const` **computeClosedParallelTransportFrames**: (`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `initialNormal?`: [`Vector3Tuple`](Vector3Tuple.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
6
6
 
7
7
 
8
8
 
@@ -15,13 +15,13 @@ The maxPathPoints ceiling (default 100000) bounds path points and frames.
15
15
 
16
16
  <a id="path"></a>
17
17
 
18
- **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
18
+ **`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
19
19
 
20
20
 
21
21
 
22
22
  <a id="initialnormal"></a>
23
23
 
24
- **`initialNormal`** · [`Vector3`](Vector3.md) · Optional
24
+ **`initialNormal`** · [`Vector3Tuple`](Vector3Tuple.md) · Optional
25
25
 
26
26
 
27
27
 
@@ -40,6 +40,6 @@ readonly [`PathFrame`](PathFrame.md)[]
40
40
 
41
41
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
42
42
  - [PathFrame](PathFrame.md)
43
- - [Vector3](Vector3.md)
43
+ - [Vector3Tuple](Vector3Tuple.md)
44
44
 
45
- Package: `@metamesh/modeling@0.13.0`.
45
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Builds rotation-minimizing frames by parallel-transporting the previous normal. This avoids the sudden profile flips produced by picking a fresh up-vector per ring. Paths exceeding maxPathPoints (default 100000) reject before frame allocation or guide evaluation.
4
4
 
5
- `const` **computeParallelTransportFrames**: (`path`: readonly [`Vector3`](Vector3.md)[], `initialNormal?`: [`Vector3`](Vector3.md), `normalGuide?`: [`PathNormalGuide`](PathNormalGuide.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
5
+ `const` **computeParallelTransportFrames**: (`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `initialNormal?`: [`Vector3Tuple`](Vector3Tuple.md), `normalGuide?`: [`PathNormalGuide`](PathNormalGuide.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
6
6
 
7
7
 
8
8
 
@@ -10,13 +10,13 @@ Builds rotation-minimizing frames by parallel-transporting the previous normal.
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
 
17
17
  <a id="initialnormal"></a>
18
18
 
19
- **`initialNormal`** · [`Vector3`](Vector3.md) · Optional
19
+ **`initialNormal`** · [`Vector3Tuple`](Vector3Tuple.md) · Optional
20
20
 
21
21
 
22
22
 
@@ -42,6 +42,6 @@ readonly [`PathFrame`](PathFrame.md)[]
42
42
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
43
43
  - [PathFrame](PathFrame.md)
44
44
  - [PathNormalGuide](PathNormalGuide.md)
45
- - [Vector3](Vector3.md)
45
+ - [Vector3Tuple](Vector3Tuple.md)
46
46
 
47
- Package: `@metamesh/modeling@0.13.0`.
47
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells. Coordinates are millimetres. Indexed closure and positive aggregate volume are required; callers may use validateSolidMesh first when geometric intersections and shell orientation are untrusted. Fresh mutable input is inspected on every call, and buffers are never changed.
4
4
 
5
- **computeTriangleMeshCentroid**(`mesh`: [`TriangleMesh`](TriangleMesh.md)): [`Vector3`](Vector3.md)
5
+ **computeTriangleMeshCentroid**(`mesh`: [`TriangleMesh`](TriangleMesh.md)): [`Vector3Tuple`](Vector3Tuple.md)
6
6
 
7
7
 
8
8
 
@@ -18,7 +18,7 @@ Consistently oriented closed mesh with positive enclosed volume.
18
18
 
19
19
  ## Returns
20
20
 
21
- [`Vector3`](Vector3.md)
21
+ [`Vector3Tuple`](Vector3Tuple.md)
22
22
 
23
23
  A fresh immutable XYZ volume centroid.
24
24
 
@@ -26,6 +26,6 @@ A fresh immutable XYZ volume centroid.
26
26
  ## Related APIs
27
27
 
28
28
  - [TriangleMesh](TriangleMesh.md)
29
- - [Vector3](Vector3.md)
29
+ - [Vector3Tuple](Vector3Tuple.md)
30
30
 
31
- Package: `@metamesh/modeling@0.13.0`.
31
+ Package: `@metamesh/modeling@0.14.0`.
@@ -69,4 +69,4 @@ Tests actual XYZ containment, including touching boundaries; dimensions must mat
69
69
  - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
70
70
  - [Solid inspection](../../guides/recipes.md#solid-inspection)
71
71
 
72
- Package: `@metamesh/modeling@0.13.0`.
72
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Returns true when a point lies inside or on the boundary of a loop.
4
4
 
5
- **contourContainsPoint**(`loop`: [`Contour`](Contour.md), `point`: [`Vector2`](Vector2.md)): `boolean`
5
+ **contourContainsPoint**(`loop`: [`Contour`](Contour.md), `point`: [`Vector2Tuple`](Vector2Tuple.md)): `boolean`
6
6
 
7
7
 
8
8
 
@@ -16,7 +16,7 @@ Returns true when a point lies inside or on the boundary of a loop.
16
16
 
17
17
  <a id="point"></a>
18
18
 
19
- **`point`** · [`Vector2`](Vector2.md) · Required
19
+ **`point`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
20
20
 
21
21
 
22
22
 
@@ -28,6 +28,6 @@ Returns true when a point lies inside or on the boundary of a loop.
28
28
  ## Related APIs
29
29
 
30
30
  - [Contour](Contour.md)
31
- - [Vector2](Vector2.md)
31
+ - [Vector2Tuple](Vector2Tuple.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
  Constructs a normalized immutable attachment anchor.
4
4
 
5
- **createAnchor3**(`position`: [`Vector3`](Vector3.md), `direction`: [`Vector3`](Vector3.md), `up?`: [`Vector3`](Vector3.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Anchor3`](Anchor3.md)
5
+ **createAnchor3**(`position`: [`Vector3Tuple`](Vector3Tuple.md), `direction`: [`Vector3Tuple`](Vector3Tuple.md), `up?`: [`Vector3Tuple`](Vector3Tuple.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Anchor3`](Anchor3.md)
6
6
 
7
7
 
8
8
 
@@ -13,7 +13,7 @@ input drift while preserving its roll intent.
13
13
 
14
14
  <a id="position"></a>
15
15
 
16
- **`position`** · [`Vector3`](Vector3.md) · Required
16
+ **`position`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
17
17
 
18
18
  Finite anchor point in model coordinates.
19
19
 
@@ -21,7 +21,7 @@ Finite anchor point in model coordinates.
21
21
 
22
22
  <a id="direction"></a>
23
23
 
24
- **`direction`** · [`Vector3`](Vector3.md) · Required
24
+ **`direction`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
25
25
 
26
26
  Non-zero outward attachment normal.
27
27
 
@@ -29,7 +29,7 @@ Non-zero outward attachment normal.
29
29
 
30
30
  <a id="up"></a>
31
31
 
32
- **`up`** · [`Vector3`](Vector3.md) · Optional
32
+ **`up`** · [`Vector3Tuple`](Vector3Tuple.md) · Optional
33
33
 
34
34
  Non-parallel roll reference; defaults to +Y.
35
35
 
@@ -58,6 +58,10 @@ A frozen anchor with unit, orthogonal direction and up vectors.
58
58
 
59
59
  - [Anchor3](Anchor3.md)
60
60
  - [GeometryToleranceOptions](GeometryToleranceOptions.md)
61
- - [Vector3](Vector3.md)
61
+ - [Vector3Tuple](Vector3Tuple.md)
62
62
 
63
- Package: `@metamesh/modeling@0.13.0`.
63
+ ## Guides
64
+
65
+ - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
66
+
67
+ Package: `@metamesh/modeling@0.14.0`.
@@ -34,4 +34,4 @@ non-decreasing, periodic at their endpoints, and reach radial zero.
34
34
  - [ThreadProfile](ThreadProfile.md)
35
35
  - [ThreadProfileSpec](ThreadProfileSpec.md)
36
36
 
37
- Package: `@metamesh/modeling@0.13.0`.
37
+ Package: `@metamesh/modeling@0.14.0`.
@@ -57,4 +57,4 @@ Compact counts, bounds, volume, topology, tolerances, and canonical fingerprint.
57
57
  - [TriangleMeshSignature](TriangleMeshSignature.md)
58
58
  - [TriangleMeshSignatureOptions](TriangleMeshSignatureOptions.md)
59
59
 
60
- Package: `@metamesh/modeling@0.13.0`.
60
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,36 @@
1
+ # cross2
2
+
3
+ Returns the signed scalar cross product; positive means `b` is counter-clockwise from `a`.
4
+
5
+ `const` **cross2**: (`a`: [`Vector2Tuple`](Vector2Tuple.md), `b`: [`Vector2Tuple`](Vector2Tuple.md)) => `number`
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="a"></a>
12
+
13
+ **`a`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
14
+
15
+
16
+
17
+ <a id="b"></a>
18
+
19
+ **`b`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ `number`
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Vector2Tuple](Vector2Tuple.md)
31
+
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
  Returns the right-handed cross product.
4
4
 
5
- `const` **cross3**: (`a`: [`Vector3`](Vector3.md), `b`: [`Vector3`](Vector3.md)) => [`Vector3`](Vector3.md)
5
+ `const` **cross3**: (`a`: [`Vector3Tuple`](Vector3Tuple.md), `b`: [`Vector3Tuple`](Vector3Tuple.md)) => [`Vector3Tuple`](Vector3Tuple.md)
6
6
 
7
7
 
8
8
 
@@ -16,23 +16,27 @@ cross3([1, 0, 0], [0, 1, 0]); // [0, 0, 1]
16
16
 
17
17
  <a id="a"></a>
18
18
 
19
- **`a`** · [`Vector3`](Vector3.md) · Required
19
+ **`a`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
20
20
 
21
21
 
22
22
 
23
23
  <a id="b"></a>
24
24
 
25
- **`b`** · [`Vector3`](Vector3.md) · Required
25
+ **`b`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
26
26
 
27
27
 
28
28
 
29
29
  ## Returns
30
30
 
31
- [`Vector3`](Vector3.md)
31
+ [`Vector3Tuple`](Vector3Tuple.md)
32
32
 
33
33
 
34
34
  ## Related APIs
35
35
 
36
- - [Vector3](Vector3.md)
36
+ - [Vector3Tuple](Vector3Tuple.md)
37
37
 
38
- Package: `@metamesh/modeling@0.13.0`.
38
+ ## Guides
39
+
40
+ - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
41
+
42
+ Package: `@metamesh/modeling@0.14.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Returns cumulative arc length for finite points under maxPathPoints (default 100000); rejects overflowing length.
4
4
 
5
- `const` **cumulativePathLengths**: (`path`: readonly [`Vector3`](Vector3.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly `number`[]
5
+ `const` **cumulativePathLengths**: (`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly `number`[]
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Returns cumulative arc length for finite points under maxPathPoints (default 100
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 @@ readonly `number`[]
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`.
@@ -32,7 +32,7 @@ Creates a cap-center or radial-side anchor using cylinder()'s construction origi
32
32
 
33
33
  Centers the cylinder along Z; defaults to true, matching cylinder().
34
34
 
35
- - [`origin`](CylinderAnchorOptions.md#origin) · [`Vector3`](Vector3.md) · Optional
35
+ - [`origin`](CylinderAnchorOptions.md#origin) · [`Vector3Tuple`](Vector3Tuple.md) · Optional
36
36
 
37
37
  Construction origin; centered-axis midpoint or noncentered bottom axis. Defaults to zero.
38
38
 
@@ -53,4 +53,8 @@ origin applies an explicit translation, and arbitrary component transforms remai
53
53
  - [Anchor3](Anchor3.md)
54
54
  - [CylinderAnchorOptions](CylinderAnchorOptions.md)
55
55
 
56
- Package: `@metamesh/modeling@0.13.0`.
56
+ ## Guides
57
+
58
+ - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
59
+
60
+ Package: `@metamesh/modeling@0.14.0`.
@@ -11,4 +11,4 @@ Conservative defaults; trusted callers can supply larger explicit ceilings.
11
11
 
12
12
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
13
13
 
14
- Package: `@metamesh/modeling@0.13.0`.
14
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,36 @@
1
+ # distance2
2
+
3
+ Returns Euclidean point distance without allocating an intermediate difference vector.
4
+
5
+ `const` **distance2**: (`a`: [`Vector2Tuple`](Vector2Tuple.md), `b`: [`Vector2Tuple`](Vector2Tuple.md)) => `number`
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="a"></a>
12
+
13
+ **`a`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
14
+
15
+
16
+
17
+ <a id="b"></a>
18
+
19
+ **`b`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ `number`
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Vector2Tuple](Vector2Tuple.md)
31
+
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`.
@@ -0,0 +1,36 @@
1
+ # distance3
2
+
3
+ Returns Euclidean point distance without allocating an intermediate difference vector.
4
+
5
+ `const` **distance3**: (`a`: [`Vector3Tuple`](Vector3Tuple.md), `b`: [`Vector3Tuple`](Vector3Tuple.md)) => `number`
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="a"></a>
12
+
13
+ **`a`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
14
+
15
+
16
+
17
+ <a id="b"></a>
18
+
19
+ **`b`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ `number`
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Vector3Tuple](Vector3Tuple.md)
31
+
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
  Places an exact item count at equal arc-length intervals along a sampled path.
4
4
 
5
- `const` **distributeAlongPath**: (`path`: readonly [`Vector3`](Vector3.md)[], `count`: `number`, `closed`: `boolean`, `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathPlacement`](PathPlacement.md)[]
5
+ `const` **distributeAlongPath**: (`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `count`: `number`, `closed`: `boolean`, `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathPlacement`](PathPlacement.md)[]
6
6
 
7
7
 
8
8
 
@@ -15,7 +15,7 @@ limited by maxPathPoints (default 100000); exact counts exceeding that ceiling r
15
15
 
16
16
  <a id="path"></a>
17
17
 
18
- **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
18
+ **`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
19
19
 
20
20
 
21
21
 
@@ -46,6 +46,6 @@ readonly [`PathPlacement`](PathPlacement.md)[]
46
46
 
47
47
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
48
48
  - [PathPlacement](PathPlacement.md)
49
- - [Vector3](Vector3.md)
49
+ - [Vector3Tuple](Vector3Tuple.md)
50
50
 
51
- Package: `@metamesh/modeling@0.13.0`.
51
+ Package: `@metamesh/modeling@0.14.0`.