@metamesh/modeling 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (775) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +55 -13
  3. package/dist/api/engine.d.ts +15 -7
  4. package/dist/api/geometry.d.ts +853 -562
  5. package/dist/api/index.d.ts +604 -227
  6. package/dist/api/text.d.ts +9 -7
  7. package/dist/docs/guides/concepts.md +295 -91
  8. package/dist/docs/guides/fonts.md +9 -8
  9. package/dist/docs/guides/fundamentals.md +22 -23
  10. package/dist/docs/guides/generation.md +24 -23
  11. package/dist/docs/guides/hosting.md +26 -11
  12. package/dist/docs/guides/recipes.md +74 -48
  13. package/dist/docs/guides/standalone-model.md +42 -0
  14. package/dist/docs/manifest.json +1555 -749
  15. package/dist/docs/reference/engine/Export3mfOptions.md +1 -1
  16. package/dist/docs/reference/engine/ExportMeshPart.md +1 -1
  17. package/dist/docs/reference/engine/GenerationOptions.md +1 -1
  18. package/dist/docs/reference/engine/GeometryResource.md +1 -1
  19. package/dist/docs/reference/engine/ModelDependencies.md +1 -1
  20. package/dist/docs/reference/engine/ModelEngine.md +1 -1
  21. package/dist/docs/reference/engine/ModelEngineOptions.md +4 -8
  22. package/dist/docs/reference/engine/ModelSession.md +1 -1
  23. package/dist/docs/reference/engine/ModelSnapshot.md +21 -10
  24. package/dist/docs/reference/engine/SessionOptions.md +1 -1
  25. package/dist/docs/reference/engine/SnapshotPart.md +6 -3
  26. package/dist/docs/reference/engine/categories/host-lifecycle.md +7 -2
  27. package/dist/docs/reference/engine/createModelEngine.md +3 -3
  28. package/dist/docs/reference/engine/defaultModelingLimits.md +1 -1
  29. package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
  30. package/dist/docs/reference/engine/validateModel.md +1 -1
  31. package/dist/docs/reference/engine.md +6 -2
  32. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +5 -1
  33. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
  34. package/dist/docs/reference/geometry/{Anchor3.md → Anchor3-type.md} +6 -5
  35. package/dist/docs/reference/geometry/ArcCurve2.md +11 -7
  36. package/dist/docs/reference/geometry/ArcCurve3.md +13 -9
  37. package/dist/docs/reference/geometry/{AttachTransformOptions.md → AttachOptions.md} +11 -5
  38. package/dist/docs/reference/geometry/AxisAngleRotation3.md +2 -1
  39. package/dist/docs/reference/geometry/Bounds2-type.md +127 -0
  40. package/dist/docs/reference/geometry/Bounds2Data.md +45 -0
  41. package/dist/docs/reference/geometry/Bounds2Input.md +21 -0
  42. package/dist/docs/reference/geometry/Bounds3-type.md +127 -0
  43. package/dist/docs/reference/geometry/Bounds3Data.md +45 -0
  44. package/dist/docs/reference/geometry/Bounds3Input.md +21 -0
  45. package/dist/docs/reference/geometry/BoundsFit2.md +6 -5
  46. package/dist/docs/reference/geometry/BoundsFit3.md +6 -5
  47. package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -1
  48. package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +2 -1
  49. package/dist/docs/reference/geometry/BoxAnchorFace.md +2 -1
  50. package/dist/docs/reference/geometry/BoxAnchorOptions.md +5 -4
  51. package/dist/docs/reference/geometry/BoxEdge.md +1 -1
  52. package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
  53. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
  54. package/dist/docs/reference/geometry/BoxOptions.md +10 -10
  55. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +8 -1
  56. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +5 -1
  57. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
  58. package/dist/docs/reference/geometry/CircleContourOptions.md +5 -1
  59. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
  60. package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -7
  61. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +6 -1
  62. package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -1
  63. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +6 -1
  64. package/dist/docs/reference/geometry/Contour.md +10 -4
  65. package/dist/docs/reference/geometry/ContourCurve.md +5 -1
  66. package/dist/docs/reference/geometry/ContourPoint.md +6 -1
  67. package/dist/docs/reference/geometry/ContourSegment.md +5 -1
  68. package/dist/docs/reference/geometry/CorrespondingComponent.md +5 -1
  69. package/dist/docs/reference/geometry/CorrespondingContour.md +5 -1
  70. package/dist/docs/reference/geometry/CorrespondingProfile.md +5 -1
  71. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +5 -1
  72. package/dist/docs/reference/geometry/CubicBezierCurve2.md +10 -6
  73. package/dist/docs/reference/geometry/CubicBezierCurve3.md +10 -6
  74. package/dist/docs/reference/geometry/Curve2.md +5 -1
  75. package/dist/docs/reference/geometry/Curve3.md +5 -1
  76. package/dist/docs/reference/geometry/CurveSamplingOptions.md +9 -3
  77. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +7 -3
  78. package/dist/docs/reference/geometry/CylinderAnchorFace.md +2 -1
  79. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +6 -5
  80. package/dist/docs/reference/geometry/CylinderOptions.md +3 -3
  81. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +8 -3
  82. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -1
  83. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +5 -1
  84. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +7 -3
  85. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +5 -1
  86. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +6 -1
  87. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +5 -1
  88. package/dist/docs/reference/geometry/CylindricalGearSpec.md +11 -6
  89. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
  90. package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
  91. package/dist/docs/reference/geometry/EllipseContourOptions.md +7 -3
  92. package/dist/docs/reference/geometry/EndTreatments.md +1 -1
  93. package/dist/docs/reference/geometry/ExtrudeOptions.md +10 -6
  94. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +9 -5
  95. package/dist/docs/reference/geometry/FittedTextLayout.md +7 -3
  96. package/dist/docs/reference/geometry/Frame3.md +10 -6
  97. package/dist/docs/reference/geometry/GeometryError.md +1 -1
  98. package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
  99. package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
  100. package/dist/docs/reference/geometry/GeometryResolution.md +5 -5
  101. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +5 -1
  102. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
  103. package/dist/docs/reference/geometry/GridPatternOptions.md +11 -5
  104. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +5 -1
  105. package/dist/docs/reference/geometry/HeightfieldOptions.md +9 -5
  106. package/dist/docs/reference/geometry/HeightfieldPreflight.md +9 -4
  107. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +9 -5
  108. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +10 -6
  109. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +7 -2
  110. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +4 -3
  111. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +10 -6
  112. package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +82 -0
  113. package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +148 -0
  114. package/dist/docs/reference/geometry/KnuckleHingeInterval.md +46 -0
  115. package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +51 -0
  116. package/dist/docs/reference/geometry/KnuckleHingeSpec.md +22 -0
  117. package/dist/docs/reference/geometry/LineCurve2.md +8 -4
  118. package/dist/docs/reference/geometry/LineCurve3.md +8 -4
  119. package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -5
  120. package/dist/docs/reference/geometry/LoftCorrespondence.md +6 -1
  121. package/dist/docs/reference/geometry/LoftMeshStation.md +8 -4
  122. package/dist/docs/reference/geometry/LoftOptions.md +5 -1
  123. package/dist/docs/reference/geometry/LoftPlacement.md +5 -1
  124. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +5 -1
  125. package/dist/docs/reference/geometry/MatchProfilesOptions.md +5 -1
  126. package/dist/docs/reference/geometry/MetricFastenerSize.md +9 -2
  127. package/dist/docs/reference/geometry/MetricFastenerStandard.md +5 -1
  128. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +6 -1
  129. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +6 -1
  130. package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
  131. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +5 -1
  132. package/dist/docs/reference/geometry/Path2-type.md +196 -0
  133. package/dist/docs/reference/geometry/Path2Data.md +50 -0
  134. package/dist/docs/reference/geometry/Path2Input.md +20 -0
  135. package/dist/docs/reference/geometry/Path3-type.md +196 -0
  136. package/dist/docs/reference/geometry/Path3Data.md +50 -0
  137. package/dist/docs/reference/geometry/Path3Input.md +20 -0
  138. package/dist/docs/reference/geometry/PathFrame.md +9 -5
  139. package/dist/docs/reference/geometry/PathLocation.md +69 -0
  140. package/dist/docs/reference/geometry/PathNormalGuide.md +10 -5
  141. package/dist/docs/reference/geometry/PathOptions.md +38 -0
  142. package/dist/docs/reference/geometry/PathPatternOptions.md +3 -3
  143. package/dist/docs/reference/geometry/PathPlacement.md +8 -4
  144. package/dist/docs/reference/geometry/PathResamplingOptions.md +84 -0
  145. package/dist/docs/reference/geometry/Pivot2Options.md +2 -1
  146. package/dist/docs/reference/geometry/Pivot3Options.md +2 -1
  147. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +8 -1
  148. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +26 -22
  149. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +5 -1
  150. package/dist/docs/reference/geometry/PlanarPatchQuality.md +7 -3
  151. package/dist/docs/reference/geometry/PolygonData.md +7 -2
  152. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -4
  153. package/dist/docs/reference/geometry/PrimitiveAttachment.md +31 -0
  154. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +104 -0
  155. package/dist/docs/reference/geometry/PrintableThreadFit.md +8 -1
  156. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +6 -1
  157. package/dist/docs/reference/geometry/Profile.md +8 -2
  158. package/dist/docs/reference/geometry/ProfileComponent2.md +5 -1
  159. package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
  160. package/dist/docs/reference/geometry/ProfileSpan2.md +7 -3
  161. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
  162. package/dist/docs/reference/geometry/RackPitchDimensions.md +6 -1
  163. package/dist/docs/reference/geometry/RackPitchSpec.md +10 -5
  164. package/dist/docs/reference/geometry/RadialPatternOptions.md +17 -22
  165. package/dist/docs/reference/geometry/RadialSizing.md +1 -1
  166. package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
  167. package/dist/docs/reference/geometry/RectangleContourOptions.md +7 -3
  168. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +5 -1
  169. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +5 -1
  170. package/dist/docs/reference/geometry/RectangleProfileOptions.md +7 -3
  171. package/dist/docs/reference/geometry/RegionData.md +6 -2
  172. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +7 -3
  173. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
  174. package/dist/docs/reference/geometry/RevolveOptions.md +13 -4
  175. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
  176. package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -1
  177. package/dist/docs/reference/geometry/SampleContourOptions.md +7 -3
  178. package/dist/docs/reference/geometry/SampleHelixOptions.md +5 -1
  179. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +7 -3
  180. package/dist/docs/reference/geometry/SampledCurve2.md +8 -4
  181. package/dist/docs/reference/geometry/SampledCurve3.md +8 -4
  182. package/dist/docs/reference/geometry/SampledThreadHelices.md +7 -3
  183. package/dist/docs/reference/geometry/SideProfileCurve.md +5 -1
  184. package/dist/docs/reference/geometry/SideProfilePoint.md +6 -1
  185. package/dist/docs/reference/geometry/SideProfileSegment.md +5 -1
  186. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
  187. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +7 -3
  188. package/dist/docs/reference/geometry/SphereOptions.md +3 -3
  189. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +5 -1
  190. package/dist/docs/reference/geometry/StrokeCap.md +14 -0
  191. package/dist/docs/reference/geometry/StrokeJoin.md +14 -0
  192. package/dist/docs/reference/geometry/{StrokePathRegionOptions.md → StrokeOptions.md} +11 -7
  193. package/dist/docs/reference/geometry/SvgImportOptions.md +5 -1
  194. package/dist/docs/reference/geometry/SvgRegionPreflight.md +6 -2
  195. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +19 -15
  196. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +16 -11
  197. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +14 -9
  198. package/dist/docs/reference/geometry/SweepOptions.md +10 -6
  199. package/dist/docs/reference/geometry/SweepOrientation.md +11 -7
  200. package/dist/docs/reference/geometry/ThreadBevelOptions.md +5 -1
  201. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +9 -5
  202. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +5 -1
  203. package/dist/docs/reference/geometry/ThreadEndStyle.md +8 -1
  204. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +5 -1
  205. package/dist/docs/reference/geometry/ThreadHandedness.md +8 -1
  206. package/dist/docs/reference/geometry/ThreadHelixOptions.md +7 -3
  207. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +8 -1
  208. package/dist/docs/reference/geometry/ThreadLeadInShape.md +8 -1
  209. package/dist/docs/reference/geometry/{ThreadProfile.md → ThreadProfile-type.md} +7 -3
  210. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +5 -1
  211. package/dist/docs/reference/geometry/ThreadProfileSpec.md +5 -1
  212. package/dist/docs/reference/geometry/ThreadRole.md +8 -1
  213. package/dist/docs/reference/geometry/ThreadedNutBevel.md +8 -1
  214. package/dist/docs/reference/geometry/ThreadedNutOptions.md +10 -6
  215. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +7 -3
  216. package/dist/docs/reference/geometry/ThreadedNutShape.md +8 -1
  217. package/dist/docs/reference/geometry/ThreadedRodOptions.md +10 -6
  218. package/dist/docs/reference/geometry/TorusOptions.md +8 -8
  219. package/dist/docs/reference/geometry/Transform2-type.md +6 -5
  220. package/dist/docs/reference/geometry/Transform2Data.md +15 -0
  221. package/dist/docs/reference/geometry/Transform2Input.md +4 -3
  222. package/dist/docs/reference/geometry/Transform3-type.md +6 -5
  223. package/dist/docs/reference/geometry/Transform3Data.md +18 -0
  224. package/dist/docs/reference/geometry/Transform3Input.md +4 -3
  225. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +9 -4
  226. package/dist/docs/reference/geometry/TriangleMesh.md +6 -1
  227. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +8 -4
  228. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +5 -1
  229. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +7 -3
  230. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +7 -3
  231. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +5 -1
  232. package/dist/docs/reference/geometry/TriangleMeshSignature.md +8 -4
  233. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +8 -3
  234. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +6 -1
  235. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +5 -1
  236. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +5 -1
  237. package/dist/docs/reference/geometry/TubeOptions.md +8 -8
  238. package/dist/docs/reference/geometry/Vector2-type.md +6 -5
  239. package/dist/docs/reference/geometry/Vector2Data.md +15 -0
  240. package/dist/docs/reference/geometry/Vector2Input.md +4 -3
  241. package/dist/docs/reference/geometry/Vector3-type.md +6 -5
  242. package/dist/docs/reference/geometry/Vector3Data.md +15 -0
  243. package/dist/docs/reference/geometry/Vector3Input.md +4 -3
  244. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +8 -3
  245. package/dist/docs/reference/geometry/VectorTextLayout.md +5 -1
  246. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +5 -1
  247. package/dist/docs/reference/geometry/VectorTextMetrics.md +7 -3
  248. package/dist/docs/reference/geometry/VectorTextOptions.md +5 -1
  249. package/dist/docs/reference/geometry/add2.md +7 -6
  250. package/dist/docs/reference/geometry/add3.md +7 -6
  251. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +5 -1
  252. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +6 -2
  253. package/dist/docs/reference/geometry/{createAnchor3.md → anchor3.md} +10 -9
  254. package/dist/docs/reference/geometry/anchorFrame3.md +9 -5
  255. package/dist/docs/reference/geometry/applyTransformDirection3.md +8 -7
  256. package/dist/docs/reference/geometry/applyTransformPoint3.md +8 -7
  257. package/dist/docs/reference/geometry/{attachTransform.md → attachmentTransform3.md} +16 -15
  258. package/dist/docs/reference/geometry/bounds2.md +38 -0
  259. package/dist/docs/reference/geometry/bounds3.md +38 -0
  260. package/dist/docs/reference/geometry/boundsCenter.md +12 -11
  261. package/dist/docs/reference/geometry/boundsFromSize.md +12 -11
  262. package/dist/docs/reference/geometry/boundsSize.md +12 -11
  263. package/dist/docs/reference/geometry/boxAnchor3.md +7 -6
  264. package/dist/docs/reference/geometry/categories/bounds-layout.md +23 -6
  265. package/dist/docs/reference/geometry/categories/curves-paths.md +27 -13
  266. package/dist/docs/reference/geometry/categories/mechanical.md +27 -15
  267. package/dist/docs/reference/geometry/categories/meshes.md +18 -10
  268. package/dist/docs/reference/geometry/categories/pattern-placement.md +11 -9
  269. package/dist/docs/reference/geometry/categories/primitive-options.md +10 -4
  270. package/dist/docs/reference/geometry/categories/profiles-regions.md +21 -13
  271. package/dist/docs/reference/geometry/categories/resolution-errors.md +5 -3
  272. package/dist/docs/reference/geometry/categories/transforms-math.md +25 -16
  273. package/dist/docs/reference/geometry/categories/vector-import.md +15 -9
  274. package/dist/docs/reference/geometry/circleContour.md +5 -1
  275. package/dist/docs/reference/geometry/closeToAxis.md +14 -5
  276. package/dist/docs/reference/geometry/compensateThreadDiameters.md +5 -1
  277. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +9 -5
  278. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +9 -5
  279. package/dist/docs/reference/geometry/composeTransform3.md +7 -6
  280. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +14 -6
  281. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +17 -7
  282. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +13 -5
  283. package/dist/docs/reference/geometry/{createTriangleMeshSignature.md → computeTriangleMeshSignature.md} +8 -4
  284. package/dist/docs/reference/geometry/containsBounds.md +10 -9
  285. package/dist/docs/reference/geometry/contourContainsPoint.md +8 -4
  286. package/dist/docs/reference/geometry/cross2.md +6 -5
  287. package/dist/docs/reference/geometry/cross3.md +7 -6
  288. package/dist/docs/reference/geometry/cylinderAnchor3.md +7 -6
  289. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +5 -1
  290. package/dist/docs/reference/geometry/distance2.md +6 -5
  291. package/dist/docs/reference/geometry/distance3.md +6 -5
  292. package/dist/docs/reference/geometry/distributeAlongPath.md +12 -6
  293. package/dist/docs/reference/geometry/dot2.md +6 -5
  294. package/dist/docs/reference/geometry/dot3.md +6 -5
  295. package/dist/docs/reference/geometry/ellipseContour.md +5 -1
  296. package/dist/docs/reference/geometry/eulerTransform3.md +7 -6
  297. package/dist/docs/reference/geometry/extrudeMesh.md +12 -8
  298. package/dist/docs/reference/geometry/fitBounds.md +10 -9
  299. package/dist/docs/reference/geometry/fitTextLayout.md +13 -5
  300. package/dist/docs/reference/geometry/frameTransform3.md +5 -4
  301. package/dist/docs/reference/geometry/{getMetricClearanceHole.md → getMetricClearanceHoleDiameter.md} +7 -3
  302. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +5 -1
  303. package/dist/docs/reference/geometry/gridPatternTransforms.md +5 -5
  304. package/dist/docs/reference/geometry/heightfieldMesh.md +11 -2
  305. package/dist/docs/reference/geometry/{buildHelicalThreadRidgeMesh.md → helicalThreadRidgeMesh.md} +9 -5
  306. package/dist/docs/reference/geometry/{buildHelicalThreadSolidMesh.md → helicalThreadSolidMesh.md} +9 -5
  307. package/dist/docs/reference/geometry/inverseTransform3.md +6 -5
  308. package/dist/docs/reference/geometry/isGeometryError.md +5 -2
  309. package/dist/docs/reference/geometry/joinTriangleMeshes.md +5 -1
  310. package/dist/docs/reference/geometry/layoutRow.md +11 -7
  311. package/dist/docs/reference/geometry/length2.md +5 -4
  312. package/dist/docs/reference/geometry/length3.md +5 -4
  313. package/dist/docs/reference/geometry/lerp2.md +7 -6
  314. package/dist/docs/reference/geometry/lerp3.md +7 -6
  315. package/dist/docs/reference/geometry/linearPatternTransforms.md +5 -5
  316. package/dist/docs/reference/geometry/loftMesh.md +6 -1
  317. package/dist/docs/reference/geometry/matchProfiles.md +11 -2
  318. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +5 -1
  319. package/dist/docs/reference/geometry/meshBounds.md +8 -4
  320. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +7 -3
  321. package/dist/docs/reference/geometry/normalize2.md +10 -6
  322. package/dist/docs/reference/geometry/normalize3.md +10 -6
  323. package/dist/docs/reference/geometry/normalizeContour.md +8 -4
  324. package/dist/docs/reference/geometry/normalizePolygon.md +5 -1
  325. package/dist/docs/reference/geometry/normalizeRegion.md +5 -1
  326. package/dist/docs/reference/geometry/optimizePlanarPatches.md +15 -11
  327. package/dist/docs/reference/geometry/path2.md +54 -0
  328. package/dist/docs/reference/geometry/path3.md +49 -0
  329. package/dist/docs/reference/geometry/pathPatternTransforms.md +13 -9
  330. package/dist/docs/reference/geometry/preflightHeightfield.md +11 -2
  331. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +13 -4
  332. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +15 -4
  333. package/dist/docs/reference/geometry/preflightSvgRegion.md +15 -2
  334. package/dist/docs/reference/geometry/preflightThreadedNut.md +14 -4
  335. package/dist/docs/reference/geometry/preflightThreadedRod.md +14 -4
  336. package/dist/docs/reference/geometry/projectOntoPlane3.md +7 -6
  337. package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -20
  338. package/dist/docs/reference/geometry/rectangleContour.md +10 -3
  339. package/dist/docs/reference/geometry/rectangleProfile.md +10 -2
  340. package/dist/docs/reference/geometry/regionArea.md +5 -1
  341. package/dist/docs/reference/geometry/regionBounds.md +8 -4
  342. package/dist/docs/reference/geometry/regularPolygonContour.md +9 -5
  343. package/dist/docs/reference/geometry/resamplePolyline2.md +9 -5
  344. package/dist/docs/reference/geometry/resamplePolyline3.md +9 -5
  345. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +4 -4
  346. package/dist/docs/reference/geometry/resolveArcSegments.md +4 -4
  347. package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
  348. package/dist/docs/reference/geometry/resolveCylindricalGear.md +5 -1
  349. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +5 -1
  350. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +7 -3
  351. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -1
  352. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
  353. package/dist/docs/reference/geometry/resolveKnuckleHinge.md +59 -0
  354. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +5 -1
  355. package/dist/docs/reference/geometry/resolveRackPitch.md +5 -1
  356. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +8 -4
  357. package/dist/docs/reference/geometry/reverseTriangleMesh.md +5 -1
  358. package/dist/docs/reference/geometry/revolveMesh.md +14 -10
  359. package/dist/docs/reference/geometry/rotate2.md +6 -5
  360. package/dist/docs/reference/geometry/rotationTransform3.md +7 -6
  361. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +12 -6
  362. package/dist/docs/reference/geometry/sampleContour.md +14 -4
  363. package/dist/docs/reference/geometry/sampleCurve2.md +8 -5
  364. package/dist/docs/reference/geometry/sampleCurve3.md +6 -2
  365. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +5 -1
  366. package/dist/docs/reference/geometry/sampleHelix.md +13 -5
  367. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +5 -1
  368. package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -4
  369. package/dist/docs/reference/geometry/sampleSideProfile.md +17 -7
  370. package/dist/docs/reference/geometry/sampleTextContours.md +5 -1
  371. package/dist/docs/reference/geometry/sampleThreadHelices.md +6 -2
  372. package/dist/docs/reference/geometry/scale2.md +6 -5
  373. package/dist/docs/reference/geometry/scale3.md +6 -5
  374. package/dist/docs/reference/geometry/scaleTransform3.md +7 -6
  375. package/dist/docs/reference/geometry/signedContourArea.md +5 -1
  376. package/dist/docs/reference/geometry/starContour.md +8 -4
  377. package/dist/docs/reference/geometry/strokeRegionData.md +67 -0
  378. package/dist/docs/reference/geometry/subtract2.md +7 -6
  379. package/dist/docs/reference/geometry/subtract3.md +7 -6
  380. package/dist/docs/reference/geometry/sweepMesh.md +13 -9
  381. package/dist/docs/reference/geometry/{createThreadProfile.md → threadProfile.md} +10 -6
  382. package/dist/docs/reference/geometry/transform2.md +14 -7
  383. package/dist/docs/reference/geometry/transform3.md +16 -7
  384. package/dist/docs/reference/geometry/transformDeterminant3.md +5 -4
  385. package/dist/docs/reference/geometry/transformRegionData.md +5 -1
  386. package/dist/docs/reference/geometry/transformTriangleMesh.md +10 -6
  387. package/dist/docs/reference/geometry/translationTransform3.md +7 -6
  388. package/dist/docs/reference/geometry/triangulateContour.md +5 -1
  389. package/dist/docs/reference/geometry/validateSolidMesh.md +10 -3
  390. package/dist/docs/reference/geometry/validateTransform3.md +6 -5
  391. package/dist/docs/reference/geometry/validateTriangleMesh.md +5 -1
  392. package/dist/docs/reference/geometry/vector2.md +10 -2
  393. package/dist/docs/reference/geometry/vector3.md +10 -2
  394. package/dist/docs/reference/geometry.md +8 -6
  395. package/dist/docs/reference/model/Anchor3.md +6 -5
  396. package/dist/docs/reference/model/AttachOptions.md +11 -5
  397. package/dist/docs/reference/model/Bounds2-type.md +125 -0
  398. package/dist/docs/reference/model/Bounds2Data.md +44 -0
  399. package/dist/docs/reference/model/Bounds2Input.md +19 -0
  400. package/dist/docs/reference/model/Bounds3-type.md +125 -0
  401. package/dist/docs/reference/model/Bounds3Data.md +44 -0
  402. package/dist/docs/reference/model/Bounds3Input.md +19 -0
  403. package/dist/docs/reference/model/BoxEdge.md +1 -1
  404. package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
  405. package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
  406. package/dist/docs/reference/model/BoxOptions.md +10 -10
  407. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
  408. package/dist/docs/reference/model/CircleContourOptions.md +1 -1
  409. package/dist/docs/reference/model/CircleOptions.md +3 -3
  410. package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
  411. package/dist/docs/reference/model/Computed.md +6 -1
  412. package/dist/docs/reference/model/ComputedValue.md +5 -1
  413. package/dist/docs/reference/model/Contour.md +6 -4
  414. package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
  415. package/dist/docs/reference/model/CorrespondingContour.md +1 -1
  416. package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
  417. package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
  418. package/dist/docs/reference/model/CylinderOptions.md +3 -3
  419. package/dist/docs/reference/model/DiagnosticOptions.md +6 -1
  420. package/dist/docs/reference/model/EdgeTreatment.md +1 -1
  421. package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
  422. package/dist/docs/reference/model/EllipseOptions.md +3 -3
  423. package/dist/docs/reference/model/EndTreatments.md +1 -1
  424. package/dist/docs/reference/model/ExtrudeOptions.md +6 -6
  425. package/dist/docs/reference/model/FinalizedModel.md +20 -10
  426. package/dist/docs/reference/model/FinalizedPart.md +1 -1
  427. package/dist/docs/reference/model/Frame3.md +6 -6
  428. package/dist/docs/reference/model/GenerateCallback.md +5 -1
  429. package/dist/docs/reference/model/GenerateContext.md +5 -1
  430. package/dist/docs/reference/model/GeneratedPart.md +5 -1
  431. package/dist/docs/reference/model/GenerationDiagnostic.md +6 -1
  432. package/dist/docs/reference/model/GenerationError.md +5 -1
  433. package/dist/docs/reference/model/GeometryResolution.md +5 -5
  434. package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
  435. package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
  436. package/dist/docs/reference/model/GridPatternOptions.md +12 -5
  437. package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
  438. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +4 -3
  439. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +3 -2
  440. package/dist/docs/reference/model/HullOptions.md +5 -5
  441. package/dist/docs/reference/model/ImmutableBuffer-type.md +5 -1
  442. package/dist/docs/reference/model/ImmutableTriangleMesh.md +5 -1
  443. package/dist/docs/reference/model/ImplicitOptions.md +6 -6
  444. package/dist/docs/reference/model/InternalThreadCutterOptions.md +5 -4
  445. package/dist/docs/reference/model/KnuckleHinge-type.md +47 -0
  446. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +77 -0
  447. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +34 -0
  448. package/dist/docs/reference/model/KnuckleHingeOptions.md +38 -0
  449. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +47 -0
  450. package/dist/docs/reference/model/KnuckleHingeSpec.md +18 -0
  451. package/dist/docs/reference/model/KnuckleHingeWeb.md +53 -0
  452. package/dist/docs/reference/model/LinearPatternOptions.md +13 -5
  453. package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
  454. package/dist/docs/reference/model/LoftOptions.md +1 -1
  455. package/dist/docs/reference/model/LoftPlacement.md +1 -1
  456. package/dist/docs/reference/model/LoftStation.md +3 -3
  457. package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
  458. package/dist/docs/reference/model/ModelProgram.md +5 -1
  459. package/dist/docs/reference/model/ModelingLimits.md +1 -1
  460. package/dist/docs/reference/model/NumericArray.md +8 -1
  461. package/dist/docs/reference/model/PartGeometry.md +5 -1
  462. package/dist/docs/reference/model/PartOptions.md +5 -1
  463. package/dist/docs/reference/model/Path2-type.md +196 -0
  464. package/dist/docs/reference/model/Path2Data.md +50 -0
  465. package/dist/docs/reference/model/Path2Input.md +20 -0
  466. package/dist/docs/reference/model/Path3-type.md +196 -0
  467. package/dist/docs/reference/model/Path3Data.md +50 -0
  468. package/dist/docs/reference/model/Path3Input.md +20 -0
  469. package/dist/docs/reference/model/PathLocation.md +69 -0
  470. package/dist/docs/reference/model/PathNormalGuide.md +6 -5
  471. package/dist/docs/reference/model/PathOptions.md +38 -0
  472. package/dist/docs/reference/model/PathPatternOptions.md +4 -3
  473. package/dist/docs/reference/model/PathResamplingOptions.md +83 -0
  474. package/dist/docs/reference/model/PatternSource.md +2 -1
  475. package/dist/docs/reference/model/Pivot2Options.md +2 -1
  476. package/dist/docs/reference/model/Pivot3Options.md +2 -1
  477. package/dist/docs/reference/model/PlaneOptions.md +3 -3
  478. package/dist/docs/reference/model/PolygonData.md +3 -2
  479. package/dist/docs/reference/model/PolygonOptions.md +8 -8
  480. package/dist/docs/reference/model/{PrimitivePlacement.md → PrimitiveAttachment.md} +8 -7
  481. package/dist/docs/reference/model/{PrimitivePlacementOptions.md → PrimitiveAttachmentOptions.md} +42 -20
  482. package/dist/docs/reference/model/PrintableThreadFit.md +2 -1
  483. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +2 -1
  484. package/dist/docs/reference/model/Profile.md +4 -2
  485. package/dist/docs/reference/model/ProfileComponent2.md +1 -1
  486. package/dist/docs/reference/model/ProfileContour2.md +4 -2
  487. package/dist/docs/reference/model/ProfileSpan2.md +3 -3
  488. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +3 -3
  489. package/dist/docs/reference/model/RadialPatternOptions.md +18 -22
  490. package/dist/docs/reference/model/RadialSizing.md +1 -1
  491. package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
  492. package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
  493. package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
  494. package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
  495. package/dist/docs/reference/model/RectangleOptions.md +10 -10
  496. package/dist/docs/reference/model/RegionData.md +2 -2
  497. package/dist/docs/reference/model/RegularPolygonOptions.md +5 -5
  498. package/dist/docs/reference/model/RevolveOptions.md +9 -4
  499. package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
  500. package/dist/docs/reference/model/Section.md +20 -12
  501. package/dist/docs/reference/model/SectionHullOptions.md +5 -5
  502. package/dist/docs/reference/model/SectionInspection.md +10 -10
  503. package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
  504. package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
  505. package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
  506. package/dist/docs/reference/model/Solid.md +31 -7
  507. package/dist/docs/reference/model/SolidInspection.md +7 -7
  508. package/dist/docs/reference/model/{SolidRayHit.md → SolidSegmentHit.md} +6 -6
  509. package/dist/docs/reference/model/SphereOptions.md +3 -3
  510. package/dist/docs/reference/model/StarOptions.md +10 -10
  511. package/dist/docs/reference/model/{StrokePathCap.md → StrokeCap.md} +3 -3
  512. package/dist/docs/reference/model/{StrokePathJoin.md → StrokeJoin.md} +3 -3
  513. package/dist/docs/reference/model/StrokeOptions.md +6 -6
  514. package/dist/docs/reference/model/SvgOrigin.md +1 -1
  515. package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
  516. package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
  517. package/dist/docs/reference/model/SweepOptions.md +6 -6
  518. package/dist/docs/reference/model/SweepOrientation.md +7 -7
  519. package/dist/docs/reference/model/TextSectionOptions.md +1 -1
  520. package/dist/docs/reference/model/ThreadEndStyle.md +2 -1
  521. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +2 -1
  522. package/dist/docs/reference/model/ThreadHandedness.md +2 -1
  523. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +2 -1
  524. package/dist/docs/reference/model/ThreadLeadInShape.md +2 -1
  525. package/dist/docs/reference/model/ThreadProfile.md +4 -3
  526. package/dist/docs/reference/model/ThreadRidgeOptions.md +2 -1
  527. package/dist/docs/reference/model/ThreadedNutBevel.md +2 -1
  528. package/dist/docs/reference/model/ThreadedNutOptions.md +5 -4
  529. package/dist/docs/reference/model/ThreadedNutPreflight.md +4 -3
  530. package/dist/docs/reference/model/ThreadedNutShape.md +2 -1
  531. package/dist/docs/reference/model/ThreadedRodOptions.md +5 -4
  532. package/dist/docs/reference/model/TorusOptions.md +8 -8
  533. package/dist/docs/reference/model/Transform2-type.md +6 -5
  534. package/dist/docs/reference/model/Transform2Data.md +16 -0
  535. package/dist/docs/reference/model/Transform2Input.md +4 -3
  536. package/dist/docs/reference/model/Transform3-type.md +6 -5
  537. package/dist/docs/reference/model/Transform3Data.md +19 -0
  538. package/dist/docs/reference/model/Transform3Input.md +4 -3
  539. package/dist/docs/reference/model/TriangleMesh.md +1 -1
  540. package/dist/docs/reference/model/TriangleMeshAnalysis.md +4 -4
  541. package/dist/docs/reference/model/TriangleMeshMeasurements.md +3 -3
  542. package/dist/docs/reference/model/TubeOptions.md +8 -8
  543. package/dist/docs/reference/model/Vector2-type.md +6 -5
  544. package/dist/docs/reference/model/{Vector2Tuple.md → Vector2Data.md} +3 -3
  545. package/dist/docs/reference/model/Vector2Input.md +4 -3
  546. package/dist/docs/reference/model/Vector3-type.md +6 -5
  547. package/dist/docs/reference/model/{Vector3Tuple.md → Vector3Data.md} +3 -3
  548. package/dist/docs/reference/model/Vector3Input.md +4 -3
  549. package/dist/docs/reference/model/VectorTextLayout.md +1 -1
  550. package/dist/docs/reference/model/VectorTextMetrics.md +3 -3
  551. package/dist/docs/reference/model/anchor.md +2 -1
  552. package/dist/docs/reference/model/bounds2.md +36 -0
  553. package/dist/docs/reference/model/bounds3.md +36 -0
  554. package/dist/docs/reference/model/box.md +4 -4
  555. package/dist/docs/reference/model/castSegment.md +40 -0
  556. package/dist/docs/reference/model/categories/boolean-operations.md +10 -3
  557. package/dist/docs/reference/model/categories/bounded-surfaces.md +5 -3
  558. package/dist/docs/reference/model/categories/bounds.md +36 -0
  559. package/dist/docs/reference/model/categories/contracts.md +4 -2
  560. package/dist/docs/reference/model/categories/core-values-errors.md +11 -11
  561. package/dist/docs/reference/model/categories/explicit-profiles.md +7 -5
  562. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +12 -3
  563. package/dist/docs/reference/model/categories/generation.md +11 -2
  564. package/dist/docs/reference/model/categories/hinges.md +38 -0
  565. package/dist/docs/reference/model/categories/inspection.md +12 -6
  566. package/dist/docs/reference/model/categories/mesh-inspection.md +5 -3
  567. package/dist/docs/reference/model/categories/paths.md +41 -0
  568. package/dist/docs/reference/model/categories/primitives.md +10 -4
  569. package/dist/docs/reference/model/categories/resolution.md +4 -2
  570. package/dist/docs/reference/model/categories/sections.md +12 -8
  571. package/dist/docs/reference/model/categories/threads.md +11 -8
  572. package/dist/docs/reference/model/categories/transforms-placement.md +23 -15
  573. package/dist/docs/reference/model/circle.md +1 -1
  574. package/dist/docs/reference/model/components.md +6 -6
  575. package/dist/docs/reference/model/compose.md +1 -1
  576. package/dist/docs/reference/model/cylinder.md +1 -1
  577. package/dist/docs/reference/model/distance.md +1 -1
  578. package/dist/docs/reference/model/ellipse.md +1 -1
  579. package/dist/docs/reference/model/extrude.md +3 -3
  580. package/dist/docs/reference/model/generate.md +5 -1
  581. package/dist/docs/reference/model/gridPattern.md +5 -4
  582. package/dist/docs/reference/model/heightfield.md +5 -2
  583. package/dist/docs/reference/model/hull.md +1 -1
  584. package/dist/docs/reference/model/immutableBuffer.md +5 -1
  585. package/dist/docs/reference/model/immutableMesh.md +5 -1
  586. package/dist/docs/reference/model/implicit.md +3 -3
  587. package/dist/docs/reference/model/inspectSection.md +1 -1
  588. package/dist/docs/reference/model/inspectSolid.md +1 -1
  589. package/dist/docs/reference/model/internalThreadCutter.md +5 -4
  590. package/dist/docs/reference/model/intersect.md +1 -1
  591. package/dist/docs/reference/model/isEmpty.md +1 -1
  592. package/dist/docs/reference/model/knuckleHinge.md +47 -0
  593. package/dist/docs/reference/model/linearPattern.md +5 -4
  594. package/dist/docs/reference/model/loft.md +1 -1
  595. package/dist/docs/reference/model/matchProfiles.md +2 -2
  596. package/dist/docs/reference/model/minkowskiSum.md +1 -1
  597. package/dist/docs/reference/model/path2.md +54 -0
  598. package/dist/docs/reference/model/path3.md +49 -0
  599. package/dist/docs/reference/model/pathPattern.md +14 -12
  600. package/dist/docs/reference/model/polygon.md +8 -5
  601. package/dist/docs/reference/model/preflightInternalThreadCutter.md +9 -3
  602. package/dist/docs/reference/model/preflightThreadedNut.md +9 -3
  603. package/dist/docs/reference/model/preflightThreadedRod.md +9 -3
  604. package/dist/docs/reference/model/radialPattern.md +6 -37
  605. package/dist/docs/reference/model/rectangle.md +7 -4
  606. package/dist/docs/reference/model/regularPolygon.md +1 -1
  607. package/dist/docs/reference/model/revolve.md +5 -4
  608. package/dist/docs/reference/model/solidFromMesh.md +1 -1
  609. package/dist/docs/reference/model/sphere.md +1 -1
  610. package/dist/docs/reference/model/split.md +1 -1
  611. package/dist/docs/reference/model/splitByPlane.md +1 -1
  612. package/dist/docs/reference/model/star.md +4 -4
  613. package/dist/docs/reference/model/stroke.md +8 -8
  614. package/dist/docs/reference/model/svgPathSection.md +1 -1
  615. package/dist/docs/reference/model/svgSection.md +1 -1
  616. package/dist/docs/reference/model/sweep.md +7 -7
  617. package/dist/docs/reference/model/textSection.md +1 -1
  618. package/dist/docs/reference/model/threadRidge.md +3 -2
  619. package/dist/docs/reference/model/threadedNut.md +5 -4
  620. package/dist/docs/reference/model/threadedRod.md +5 -4
  621. package/dist/docs/reference/model/torus.md +3 -3
  622. package/dist/docs/reference/model/transform2.md +14 -7
  623. package/dist/docs/reference/model/transform3.md +16 -7
  624. package/dist/docs/reference/model/tube.md +3 -3
  625. package/dist/docs/reference/model/union.md +1 -1
  626. package/dist/docs/reference/model/vector2.md +10 -2
  627. package/dist/docs/reference/model/vector3.md +10 -2
  628. package/dist/docs/reference/model.md +17 -9
  629. package/dist/docs/reference/text/Bounds2Data.md +34 -0
  630. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
  631. package/dist/docs/reference/text/Vector2Data.md +7 -0
  632. package/dist/docs/reference/text/VectorFont.md +2 -2
  633. package/dist/docs/reference/text/VectorFontOptions.md +1 -1
  634. package/dist/docs/reference/text/VectorTextArcBaseline.md +3 -3
  635. package/dist/docs/reference/text/VectorTextLayout.md +1 -1
  636. package/dist/docs/reference/text/VectorTextLayoutOptions.md +1 -1
  637. package/dist/docs/reference/text/VectorTextMetrics.md +3 -3
  638. package/dist/docs/reference/text/VectorTextOptions.md +1 -1
  639. package/dist/docs/reference/text/categories/font-preparation.md +8 -6
  640. package/dist/docs/reference/text/prepareVectorFont.md +2 -2
  641. package/dist/docs/reference/text.md +4 -2
  642. package/dist/engine/construction-operations.js +31 -14
  643. package/dist/engine/execution.js +39 -8
  644. package/dist/engine/extrusion-finishing.js +1 -1
  645. package/dist/engine/index.js +6 -1
  646. package/dist/engine/inspection-operations.js +13 -11
  647. package/dist/engine/knuckle-hinge-operation.js +85 -0
  648. package/dist/engine/loft-operations.js +35 -14
  649. package/dist/engine/mechanical-operations.js +3 -1
  650. package/dist/engine/model-summary.js +8 -5
  651. package/dist/engine/modeling-context.js +8 -1
  652. package/dist/engine/native/material-components.js +305 -0
  653. package/dist/engine/native/regions.js +2 -1
  654. package/dist/engine/native/threads.js +3 -3
  655. package/dist/engine/native/transforms.js +5 -7
  656. package/dist/engine/operation-environment.js +2 -2
  657. package/dist/engine/pattern-operations.js +1 -1
  658. package/dist/engine/placement.js +2 -2
  659. package/dist/engine/primitive-anchors.js +17 -17
  660. package/dist/engine/primitive-operations.js +1 -1
  661. package/dist/engine/primitive-profiles.js +7 -7
  662. package/dist/engine/profile-mesh.js +7 -7
  663. package/dist/engine/recipe-realization.js +10 -2
  664. package/dist/engine/section-operations.js +33 -8
  665. package/dist/engine/session-snapshot.js +14 -4
  666. package/dist/engine/session.js +10 -5
  667. package/dist/engine/shape-anchors.js +3 -3
  668. package/dist/engine/transform-operations.js +27 -27
  669. package/dist/geometry/anchors.js +40 -33
  670. package/dist/geometry/bounds-value.js +93 -0
  671. package/dist/geometry/bounds.js +10 -8
  672. package/dist/geometry/curves/sampling.js +15 -16
  673. package/dist/geometry/edge-finishing.js +1 -1
  674. package/dist/geometry/errors.js +1 -0
  675. package/dist/geometry/extrusion.js +13 -16
  676. package/dist/geometry/heightfield.js +12 -1
  677. package/dist/geometry/index.js +12 -11
  678. package/dist/geometry/loft/loft-simple-mesh.js +6 -6
  679. package/dist/geometry/loft/loft.js +22 -13
  680. package/dist/geometry/math/immutable-value.js +1 -1
  681. package/dist/geometry/math/vector-value.js +11 -3
  682. package/dist/geometry/math/vector2.js +1 -0
  683. package/dist/geometry/math/vector3.js +1 -0
  684. package/dist/geometry/mechanical/gear-motion.js +3 -3
  685. package/dist/geometry/mechanical/gears.js +38 -38
  686. package/dist/geometry/mechanical/index.js +4 -3
  687. package/dist/geometry/mechanical/knuckle-hinge.js +110 -0
  688. package/dist/geometry/mechanical/standards.js +1 -1
  689. package/dist/geometry/mechanical/thread-helices.js +2 -3
  690. package/dist/geometry/mechanical/thread-mesh-plan.js +11 -7
  691. package/dist/geometry/mechanical/thread-mesh.js +7 -7
  692. package/dist/geometry/mechanical/thread-profiles.js +5 -5
  693. package/dist/geometry/mechanical/thread-solids.js +31 -6
  694. package/dist/geometry/mechanical/thread-surface.js +1 -1
  695. package/dist/geometry/mechanical/threads.js +8 -8
  696. package/dist/geometry/mesh/mesh-centroid.js +1 -0
  697. package/dist/geometry/mesh/mesh-planar.js +25 -27
  698. package/dist/geometry/mesh/mesh-quality.js +5 -5
  699. package/dist/geometry/mesh/mesh-signature.js +13 -13
  700. package/dist/geometry/mesh/mesh-solid.js +8 -7
  701. package/dist/geometry/mesh/mesh.js +4 -15
  702. package/dist/geometry/paths/closest-point.js +8 -19
  703. package/dist/geometry/paths/frames.js +42 -11
  704. package/dist/geometry/paths/helix.js +17 -6
  705. package/dist/geometry/paths/path-value.js +268 -0
  706. package/dist/geometry/paths/planar.js +36 -23
  707. package/dist/geometry/paths/resampling.js +27 -5
  708. package/dist/geometry/patterns/placements.js +100 -27
  709. package/dist/geometry/patterns.js +5 -3
  710. package/dist/geometry/polygon-clipping.js +17 -0
  711. package/dist/geometry/profiles/contour.js +7 -6
  712. package/dist/geometry/profiles/matched.js +5 -4
  713. package/dist/geometry/profiles/profiles.js +4 -4
  714. package/dist/geometry/profiles/rectangle.js +14 -5
  715. package/dist/geometry/profiles/side-profile.js +9 -7
  716. package/dist/geometry/profiles/span-sampling.js +1 -1
  717. package/dist/geometry/resolution.js +34 -34
  718. package/dist/geometry/revolve/revolve-mesh.js +12 -7
  719. package/dist/geometry/stroke-path.js +12 -27
  720. package/dist/geometry/svg/fill.js +7 -21
  721. package/dist/geometry/svg-import.js +31 -25
  722. package/dist/geometry/sweeps/options.js +5 -4
  723. package/dist/geometry/sweeps/orientation.js +5 -5
  724. package/dist/geometry/sweeps/stations.js +10 -10
  725. package/dist/geometry/sweeps/sweep-closed.js +2 -2
  726. package/dist/geometry/sweeps/sweep-mesh.js +9 -3
  727. package/dist/geometry/sweeps/sweep-open.js +1 -1
  728. package/dist/geometry/sweeps/validation.js +4 -7
  729. package/dist/geometry/text-fitting.js +1 -0
  730. package/dist/geometry/transform-geometry.js +7 -14
  731. package/dist/geometry/transform-matrix.js +1 -1
  732. package/dist/geometry/{transform-chain.js → transform-value.js} +24 -15
  733. package/dist/index.js +3 -1
  734. package/dist/model/execution-binding.js +3 -3
  735. package/dist/model/geometry-recipes.js +1 -1
  736. package/dist/model/immutable-generation-data.js +62 -10
  737. package/dist/model/knuckle-hinge.js +1 -0
  738. package/dist/model/operations.js +79 -26
  739. package/dist/model/recipe-declaration.js +21 -7
  740. package/dist/model/shape-handles.js +2 -1
  741. package/dist/text/index.js +15 -9
  742. package/dist/text/vector-text-layout.js +31 -26
  743. package/package.json +1 -1
  744. package/dist/docs/reference/geometry/Bounds2.md +0 -39
  745. package/dist/docs/reference/geometry/Bounds3.md +0 -39
  746. package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +0 -34
  747. package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +0 -65
  748. package/dist/docs/reference/geometry/Path2.md +0 -14
  749. package/dist/docs/reference/geometry/Path3.md +0 -14
  750. package/dist/docs/reference/geometry/PrimitivePlacement.md +0 -31
  751. package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +0 -83
  752. package/dist/docs/reference/geometry/StrokePathCap.md +0 -7
  753. package/dist/docs/reference/geometry/StrokePathJoin.md +0 -7
  754. package/dist/docs/reference/geometry/Transform2Matrix.md +0 -14
  755. package/dist/docs/reference/geometry/Transform3Matrix.md +0 -17
  756. package/dist/docs/reference/geometry/Vector2Tuple.md +0 -14
  757. package/dist/docs/reference/geometry/Vector3Tuple.md +0 -14
  758. package/dist/docs/reference/geometry/closestPointOnPath.md +0 -110
  759. package/dist/docs/reference/geometry/cumulativePathLengths.md +0 -33
  760. package/dist/docs/reference/geometry/measureTriangleMesh.md +0 -55
  761. package/dist/docs/reference/geometry/pathLength.md +0 -33
  762. package/dist/docs/reference/geometry/strokePathRegion.md +0 -63
  763. package/dist/docs/reference/geometry/transformContour.md +0 -42
  764. package/dist/docs/reference/geometry/transformPath2.md +0 -40
  765. package/dist/docs/reference/geometry/transformPath3.md +0 -33
  766. package/dist/docs/reference/model/Bounds2.md +0 -39
  767. package/dist/docs/reference/model/Bounds3.md +0 -39
  768. package/dist/docs/reference/model/Path2.md +0 -20
  769. package/dist/docs/reference/model/Transform2Matrix.md +0 -15
  770. package/dist/docs/reference/model/Transform3Matrix.md +0 -18
  771. package/dist/docs/reference/model/rayCast.md +0 -40
  772. package/dist/docs/reference/model/toTriangleMesh.md +0 -27
  773. package/dist/docs/reference/text/Bounds2.md +0 -34
  774. package/dist/docs/reference/text/Vector2Tuple.md +0 -7
  775. package/dist/geometry/paths/path.js +0 -32
@@ -1,8 +1,8 @@
1
1
  # transform2
2
2
 
3
- Creates an immutable XY transform, identity by default. Matrices are copied and validated. Pass it directly to Section.transform() and planar data helpers; to3D() explicitly crosses into XYZ. Zero scales and singular matrices throw GeometryError; negative scales reflect.
3
+ Creates an immutable XY transform, identity by default.
4
4
 
5
- **transform2**(`matrix?`: [`Transform2Matrix`](Transform2Matrix.md)): [`Transform2`](Transform2-type.md)
5
+ **transform2**(`input?`: [`Transform2Input`](Transform2Input.md)): [`Transform2`](Transform2-type.md)
6
6
 
7
7
 
8
8
 
@@ -10,14 +10,20 @@ Creates an immutable XY transform, identity by default. Matrices are copied and
10
10
 
11
11
  ```ts
12
12
  const placement = transform2().rotate(90).translate([10, 0]);
13
- placement.applyPoint([1, 0]).toArray(); // approximately [10, 1]
13
+ placement.applyPoint([1, 0]).toData(); // approximately [10, 1]
14
14
  ```
15
15
 
16
+ Values and data are copied and validated.
17
+ Pass it directly to Section.transform() and planar data helpers; to3D() explicitly crosses into XYZ.
18
+ Zero scales and singular matrices throw GeometryError; negative scales reflect.
19
+
20
+ Use `toData()` for frozen matrix interchange.
21
+
16
22
  ## Parameters
17
23
 
18
- <a id="matrix"></a>
24
+ <a id="input"></a>
19
25
 
20
- **`matrix`** · [`Transform2Matrix`](Transform2Matrix.md) · Optional
26
+ **`input`** · [`Transform2Input`](Transform2Input.md) · Optional
21
27
 
22
28
 
23
29
 
@@ -29,10 +35,11 @@ placement.applyPoint([1, 0]).toArray(); // approximately [10, 1]
29
35
  ## Related APIs
30
36
 
31
37
  - [Transform2](Transform2-type.md)
32
- - [Transform2Matrix](Transform2Matrix.md)
38
+ - [Transform2Input](Transform2Input.md)
33
39
 
34
40
  ## Guides
35
41
 
36
42
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
43
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
37
44
 
38
- Package: `@metamesh/modeling@0.14.0`.
45
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,8 +1,8 @@
1
1
  # transform3
2
2
 
3
- Creates an immutable XYZ transform, identity by default. Matrices are copied and validated. Calls apply in written order; rotations use degrees and pivots use current world coordinates. Zero scales, singular matrices, nonfinite inputs and zero rotation axes throw GeometryError. Use frameTransform3(frame) as the input for existing orthonormal frame placement.
3
+ Creates an immutable XYZ transform, identity by default.
4
4
 
5
- **transform3**(`matrix?`: [`Transform3Matrix`](Transform3Matrix.md)): [`Transform3`](Transform3-type.md)
5
+ **transform3**(`input?`: [`Transform3Input`](Transform3Input.md)): [`Transform3`](Transform3-type.md)
6
6
 
7
7
 
8
8
 
@@ -10,14 +10,22 @@ Creates an immutable XYZ transform, identity by default. Matrices are copied and
10
10
 
11
11
  ```ts
12
12
  const placement = transform3().rotate([0, 0, 90]).translate([10, 0, 0]);
13
- placement.applyPoint([1, 0, 0]).toArray(); // approximately [10, 1, 0]
13
+ placement.applyPoint([1, 0, 0]).toData(); // approximately [10, 1, 0]
14
14
  ```
15
15
 
16
+ Values and data are copied and validated.
17
+ Calls apply in written order; rotations use degrees and pivots use current world coordinates.
18
+ Zero scales, singular matrices, nonfinite inputs and zero rotation axes throw GeometryError.
19
+ Use frameTransform3(frame) as the input for existing orthonormal frame placement.
20
+
21
+ Use `toData()` for frozen matrix interchange.
22
+ [composeTransform3](composeTransform3.md) takes matrices in after, before order.
23
+
16
24
  ## Parameters
17
25
 
18
- <a id="matrix"></a>
26
+ <a id="input"></a>
19
27
 
20
- **`matrix`** · [`Transform3Matrix`](Transform3Matrix.md) · Optional
28
+ **`input`** · [`Transform3Input`](Transform3Input.md) · Optional
21
29
 
22
30
 
23
31
 
@@ -29,10 +37,11 @@ placement.applyPoint([1, 0, 0]).toArray(); // approximately [10, 1, 0]
29
37
  ## Related APIs
30
38
 
31
39
  - [Transform3](Transform3-type.md)
32
- - [Transform3Matrix](Transform3Matrix.md)
40
+ - [Transform3Input](Transform3Input.md)
33
41
 
34
42
  ## Guides
35
43
 
36
44
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
45
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
37
46
 
38
- Package: `@metamesh/modeling@0.14.0`.
47
+ Package: `@metamesh/modeling@0.16.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Returns the determinant of a transform's linear 3x3 component.
4
4
 
5
- **transformDeterminant3**(`transform`: [`Transform3Matrix`](Transform3Matrix.md)): `number`
5
+ **transformDeterminant3**(`transform`: [`Transform3Data`](Transform3Data.md)): `number`
6
6
 
7
7
 
8
8
 
@@ -12,7 +12,7 @@ A negative result identifies a reflection; zero is rejected as singular.
12
12
 
13
13
  <a id="transform"></a>
14
14
 
15
- **`transform`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
15
+ **`transform`** · [`Transform3Data`](Transform3Data.md) · Required
16
16
 
17
17
  Valid affine transform.
18
18
 
@@ -27,10 +27,11 @@ Signed linear determinant.
27
27
 
28
28
  ## Related APIs
29
29
 
30
- - [Transform3Matrix](Transform3Matrix.md)
30
+ - [Transform3Data](Transform3Data.md)
31
31
 
32
32
  ## Guides
33
33
 
34
34
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
35
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
35
36
 
36
- Package: `@metamesh/modeling@0.14.0`.
37
+ Package: `@metamesh/modeling@0.16.0`.
@@ -37,4 +37,8 @@ Transforms serialized polygon data with reflection-safe winding, without an engi
37
37
  - [RegionData](RegionData.md)
38
38
  - [Transform2Input](Transform2Input.md)
39
39
 
40
- Package: `@metamesh/modeling@0.14.0`.
40
+ ## Guides
41
+
42
+ - [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
43
+
44
+ Package: `@metamesh/modeling@0.16.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Applies an affine transform to a mesh and preserves outward face orientation.
4
4
 
5
- **transformTriangleMesh**(`mesh`: [`TriangleMesh`](TriangleMesh.md), `transform`: [`Transform3Matrix`](Transform3Matrix.md)): [`TriangleMesh`](TriangleMesh.md)
5
+ **transformTriangleMesh**(`mesh`: [`TriangleMesh`](TriangleMesh.md), `placement`: [`Transform3Input`](Transform3Input.md)): [`TriangleMesh`](TriangleMesh.md)
6
6
 
7
7
 
8
8
 
@@ -19,11 +19,11 @@ Mesh to transform without mutation.
19
19
 
20
20
 
21
21
 
22
- <a id="transform"></a>
22
+ <a id="placement"></a>
23
23
 
24
- **`transform`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
24
+ **`placement`** · [`Transform3Input`](Transform3Input.md) · Required
25
25
 
26
- Row-major affine transform.
26
+ Immutable spatial placement or canonical row-major affine matrix.
27
27
 
28
28
 
29
29
 
@@ -36,7 +36,11 @@ A mesh with fresh transformed positions and copied or reversed indices.
36
36
 
37
37
  ## Related APIs
38
38
 
39
- - [Transform3Matrix](Transform3Matrix.md)
39
+ - [Transform3Input](Transform3Input.md)
40
40
  - [TriangleMesh](TriangleMesh.md)
41
41
 
42
- Package: `@metamesh/modeling@0.14.0`.
42
+ ## Guides
43
+
44
+ - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
45
+
46
+ Package: `@metamesh/modeling@0.16.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Creates an immutable translation transform.
4
4
 
5
- **translationTransform3**(`offset`: [`Vector3Tuple`](Vector3Tuple.md)): [`Transform3Matrix`](Transform3Matrix.md)
5
+ **translationTransform3**(`offset`: [`Vector3Data`](Vector3Data.md)): [`Transform3Data`](Transform3Data.md)
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Creates an immutable translation transform.
10
10
 
11
11
  <a id="offset"></a>
12
12
 
13
- **`offset`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
13
+ **`offset`** · [`Vector3Data`](Vector3Data.md) · Required
14
14
 
15
15
  Finite XYZ translation in model units.
16
16
 
@@ -18,18 +18,19 @@ Finite XYZ translation in model units.
18
18
 
19
19
  ## Returns
20
20
 
21
- [`Transform3Matrix`](Transform3Matrix.md)
21
+ [`Transform3Data`](Transform3Data.md)
22
22
 
23
23
  A frozen row-major transform.
24
24
 
25
25
 
26
26
  ## Related APIs
27
27
 
28
- - [Transform3Matrix](Transform3Matrix.md)
29
- - [Vector3Tuple](Vector3Tuple.md)
28
+ - [Transform3Data](Transform3Data.md)
29
+ - [Vector3Data](Vector3Data.md)
30
30
 
31
31
  ## Guides
32
32
 
33
33
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
34
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
34
35
 
35
- Package: `@metamesh/modeling@0.14.0`.
36
+ Package: `@metamesh/modeling@0.16.0`.
@@ -23,4 +23,8 @@ Ear-clips one normalized simple CCW loop into stable local vertex indices.
23
23
 
24
24
  - [Contour](Contour.md)
25
25
 
26
- Package: `@metamesh/modeling@0.14.0`.
26
+ ## Guides
27
+
28
+ - [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
29
+
30
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,11 +1,14 @@
1
1
  # validateSolidMesh
2
2
 
3
- Checks closed indexed topology, triangle intersections, and alternating nested shell orientation. Outward exterior shells and inward cavity shells are accepted. Separate shells must not touch, intersect, or overlap as material. Indexed neighbours may share their own vertex or edge.
3
+ Checks closed indexed topology, triangle intersections, and alternating nested shell orientation.
4
4
 
5
5
  **validateSolidMesh**(`mesh`: [`TriangleMesh`](TriangleMesh.md), `options?`: [`SolidMeshValidationOptions`](SolidMeshValidationOptions.md)): [`TriangleMesh`](TriangleMesh.md)
6
6
 
7
7
 
8
8
 
9
+ Outward exterior shells and inward cavity shells are accepted. Separate shells must not touch,
10
+ intersect, or overlap as material. Indexed neighbours may share their own vertex or edge.
11
+
9
12
  Uses bounded floating-point tests, not exact predicates or repair. Contacts within the selected
10
13
  tolerance reject conservatively. At most 200,000 triangles and 2,000,000 spatial/containment tests
11
14
  are supported; exhausting a ceiling throws COMPLEXITY_LIMIT rather than claiming validity.
@@ -27,7 +30,7 @@ Closed triangle mesh to inspect.
27
30
 
28
31
  Optional lower work ceiling and numeric comparison policy.
29
32
 
30
- - [`maximumTests`](SolidMeshValidationOptions.md#maximumtests) · `number` · Optional
33
+ - [`maxTests`](SolidMeshValidationOptions.md#maxtests) · `number` · Optional
31
34
 
32
35
  Work ceiling for spatial comparisons and containment tests; defaults to 2,000,000 and may only lower it.
33
36
 
@@ -49,4 +52,8 @@ The original mesh after every requested check succeeds.
49
52
  - [SolidMeshValidationOptions](SolidMeshValidationOptions.md)
50
53
  - [TriangleMesh](TriangleMesh.md)
51
54
 
52
- Package: `@metamesh/modeling@0.14.0`.
55
+ ## Guides
56
+
57
+ - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
58
+
59
+ Package: `@metamesh/modeling@0.16.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Validates that a transform is finite, affine, and non-singular.
4
4
 
5
- **validateTransform3**(`transform`: [`Transform3Matrix`](Transform3Matrix.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Transform3Matrix`](Transform3Matrix.md)
5
+ **validateTransform3**(`transform`: [`Transform3Data`](Transform3Data.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Transform3Data`](Transform3Data.md)
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Validates that a transform is finite, affine, and non-singular.
10
10
 
11
11
  <a id="transform"></a>
12
12
 
13
- **`transform`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
13
+ **`transform`** · [`Transform3Data`](Transform3Data.md) · Required
14
14
 
15
15
  Row-major matrix to validate.
16
16
 
@@ -26,7 +26,7 @@ Optional comparison overrides.
26
26
 
27
27
  ## Returns
28
28
 
29
- [`Transform3Matrix`](Transform3Matrix.md)
29
+ [`Transform3Data`](Transform3Data.md)
30
30
 
31
31
  The original transform after successful validation.
32
32
 
@@ -38,10 +38,11 @@ The original transform after successful validation.
38
38
  ## Related APIs
39
39
 
40
40
  - [GeometryToleranceOptions](GeometryToleranceOptions.md)
41
- - [Transform3Matrix](Transform3Matrix.md)
41
+ - [Transform3Data](Transform3Data.md)
42
42
 
43
43
  ## Guides
44
44
 
45
45
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
46
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
46
47
 
47
- Package: `@metamesh/modeling@0.14.0`.
48
+ Package: `@metamesh/modeling@0.16.0`.
@@ -56,4 +56,8 @@ The original mesh after successful validation.
56
56
  - [TriangleMesh](TriangleMesh.md)
57
57
  - [TriangleMeshValidationOptions](TriangleMeshValidationOptions.md)
58
58
 
59
- Package: `@metamesh/modeling@0.14.0`.
59
+ ## Guides
60
+
61
+ - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
62
+
63
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,11 +1,18 @@
1
1
  # vector2
2
2
 
3
- Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. Values and results are finite. Invalid dimensions throw `INVALID_ARGUMENT`; nonfinite coordinates and overflow throw `NON_FINITE_VALUE` GeometryError. Use transform2().applyDirection(value) for rotations and nonuniform scaling.
3
+ Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates.
4
4
 
5
5
  **vector2**(`input`: [`Vector2Input`](Vector2Input.md)): [`Vector2`](Vector2-type.md)
6
6
 
7
7
 
8
8
 
9
+ Values and results are finite. Invalid dimensions throw `INVALID_ARGUMENT`; nonfinite coordinates
10
+ and overflow throw `NON_FINITE_VALUE` GeometryError.
11
+ Use transform2().applyDirection(value) for rotations and nonuniform scaling.
12
+
13
+ Use `toData()` for frozen tuple interchange, or
14
+ [normalize2](normalize2.md) for tuple-based normalization in numerical loops.
15
+
9
16
  ## Parameters
10
17
 
11
18
  <a id="input"></a>
@@ -27,5 +34,6 @@ Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the
27
34
  ## Guides
28
35
 
29
36
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
37
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
30
38
 
31
- Package: `@metamesh/modeling@0.14.0`.
39
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,6 +1,6 @@
1
1
  # vector3
2
2
 
3
- Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. Values and results are finite. Invalid dimensions throw `INVALID_ARGUMENT`; nonfinite coordinates and overflow throw `NON_FINITE_VALUE` GeometryError. Use transform3().applyDirection(value) for rotations and nonuniform scaling.
3
+ Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates.
4
4
 
5
5
  **vector3**(`input`: [`Vector3Input`](Vector3Input.md)): [`Vector3`](Vector3-type.md)
6
6
 
@@ -13,6 +13,13 @@ const direction = vector3([1, 2, 3]).add([4, 0, 0]).normalize().scale(10);
13
13
  const alignment = direction.dot([0, 0, 1]);
14
14
  ```
15
15
 
16
+ Values and results are finite. Invalid dimensions throw `INVALID_ARGUMENT`; nonfinite coordinates
17
+ and overflow throw `NON_FINITE_VALUE` GeometryError.
18
+ Use transform3().applyDirection(value) for rotations and nonuniform scaling.
19
+
20
+ Use `toData()` for frozen tuple interchange, or
21
+ [normalize3](normalize3.md) for tuple-based normalization in numerical loops.
22
+
16
23
  ## Parameters
17
24
 
18
25
  <a id="input"></a>
@@ -34,5 +41,6 @@ const alignment = direction.dot([0, 0, 1]);
34
41
  ## Guides
35
42
 
36
43
  - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
44
+ - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
37
45
 
38
- Package: `@metamesh/modeling@0.14.0`.
46
+ Package: `@metamesh/modeling@0.16.0`.
@@ -6,25 +6,27 @@ Import runtime-neutral geometry from `@metamesh/modeling/geometry`. Curves, prof
6
6
 
7
7
  ```ts
8
8
  import { sampleCurve2, rectangleContour } from "@metamesh/modeling/geometry";
9
- const arc = sampleCurve2({ kind: "arc", center: [0, 0], radius: 10, sweepDegrees: 90 });
9
+ const arc = sampleCurve2({ kind: "arc", center: [0, 0], radius: 10, sweepAngle: 90 });
10
10
  const contour = rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
11
11
  ```
12
12
 
13
13
  Lengths use millimetres. Winding and closing conventions are explicit. Mutable external meshes are inspected freshly, and predictable allocations are bounded before sampling.
14
14
 
15
- Use shared Bounds2/Bounds3 and bounds helpers for measurements, positioned containment, fitting, and part layout. Fit text vector paths before sampling to retain physical tolerance.
15
+ Use `bounds2`/`bounds3` for immutable measurement queries and `Bounds2Data`/`Bounds3Data` for min/max records. Standalone bounds helpers fit and arrange parts from either form. Fit text vector paths before sampling to retain physical tolerance.
16
+
17
+ Choose [fluent values or standalone algorithms](../guides/concepts.md#choose-fluent-values-or-standalone-algorithms), compare [geometry representations](../guides/concepts.md#geometry-vocabulary), and check [preflight guarantees](../guides/concepts.md#check-preflight-guarantees).
16
18
 
17
19
  ## Categories
18
20
 
19
- - [Mechanical foundations](geometry/categories/mechanical.md) — Resolve gears, fastener standards, thread profiles, fit, and predictable allocations.
21
+ - [Mechanical foundations](geometry/categories/mechanical.md) — Resolve gears, knuckle joints, fastener standards, thread profiles, fit, and predictable allocations.
20
22
  - [Triangle meshes and surfaces](geometry/categories/meshes.md) — Build, transform, validate, analyze, and locally optimize copied indexed meshes.
21
23
  - [SVG and vector layouts](geometry/categories/vector-import.md) — Parse bounded painted SVG and carry explicit prepared text geometry.
22
24
  - [Profiles and regions](geometry/categories/profiles-regions.md) — Define winding, holes, stable profile landmarks, and reusable planar boundaries.
23
25
  - [Curves and paths](geometry/categories/curves-paths.md) — Sample reusable lines, arcs, cubic curves, and path frames with explicit physical policies.
24
- - [Bounds & Layout](geometry/categories/bounds-layout.md) — Measure finite bounds, test positioned containment, and fit or arrange geometry.
25
- - [Pattern Placement](geometry/categories/pattern-placement.md) — Calculate pure linear, radial, grid, and path transforms.
26
+ - [Bounds and layout](geometry/categories/bounds-layout.md) — Measure finite bounds, test positioned containment, and fit or arrange geometry.
27
+ - [Pattern placement](geometry/categories/pattern-placement.md) — Calculate pure linear, radial, grid, and path transforms.
26
28
  - [Transforms and vector math](geometry/categories/transforms-math.md) — Build immutable reusable placements and calculate with fluent vectors or tuple kernels.
27
29
  - [Resolution and errors](geometry/categories/resolution-errors.md) — Resolve physical sampling, numerical tolerances, and contextual failures.
28
30
  - [Primitive options](geometry/categories/primitive-options.md) — Share one option contract for dimensional primitives and edge treatments.
29
31
 
30
- Package: `@metamesh/modeling@0.14.0`.
32
+ Package: `@metamesh/modeling@0.16.0`.
@@ -11,7 +11,7 @@ be parallel to `direction`; anchor construction projects and normalizes it.
11
11
 
12
12
 
13
13
 
14
- `readonly` **direction**: [`Vector3Tuple`](Vector3Tuple.md)
14
+ `readonly` **direction**: [`Vector3Data`](Vector3Data.md)
15
15
 
16
16
 
17
17
 
@@ -23,7 +23,7 @@ Unit outward normal used as the anchor's local +Z direction.
23
23
 
24
24
 
25
25
 
26
- `readonly` **position**: [`Vector3Tuple`](Vector3Tuple.md)
26
+ `readonly` **position**: [`Vector3Data`](Vector3Data.md)
27
27
 
28
28
 
29
29
 
@@ -35,7 +35,7 @@ World-space attachment position.
35
35
 
36
36
 
37
37
 
38
- `readonly` **up**: [`Vector3Tuple`](Vector3Tuple.md)
38
+ `readonly` **up**: [`Vector3Data`](Vector3Data.md)
39
39
 
40
40
 
41
41
 
@@ -44,11 +44,12 @@ Roll guide projected into the plane perpendicular to `direction`.
44
44
 
45
45
  ## Related APIs
46
46
 
47
- - [Vector3Tuple](Vector3Tuple.md)
47
+ - [Vector3Data](Vector3Data.md)
48
48
 
49
49
  ## Guides
50
50
 
51
51
  - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
52
52
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
53
+ - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
53
54
 
54
- Package: `@metamesh/modeling@0.14.0`.
55
+ Package: `@metamesh/modeling@0.16.0`.
@@ -1,6 +1,10 @@
1
1
  # AttachOptions
2
2
 
3
- Degree-based anchor attachment controls for a scoped solid.
3
+ Options controlling how one anchor is attached to another.
4
+
5
+ ## Extended by
6
+
7
+ - [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md)
4
8
 
5
9
  ## Properties
6
10
 
@@ -24,15 +28,15 @@ Align outward directions face-to-face (`opposed`) or in parallel (`same`).
24
28
 
25
29
 
26
30
 
27
- Separation along the target anchor's outward direction in millimetres.
31
+ Separation along the target anchor's outward direction in model units.
28
32
 
29
33
  ***
30
34
 
31
- ### spinDegrees?
35
+ ### spin?
32
36
 
33
37
 
34
38
 
35
- `readonly` `optional` **spinDegrees?**: `number`
39
+ `readonly` `optional` **spin?**: `number`
36
40
 
37
41
 
38
42
 
@@ -54,10 +58,12 @@ Optional numeric comparison overrides.
54
58
  ## Related APIs
55
59
 
56
60
  - [GeometryToleranceOptions](GeometryToleranceOptions.md)
61
+ - [PrimitiveAttachmentOptions](PrimitiveAttachmentOptions.md)
57
62
 
58
63
  ## Guides
59
64
 
60
65
  - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
61
66
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
67
+ - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
62
68
 
63
- Package: `@metamesh/modeling@0.14.0`.
69
+ Package: `@metamesh/modeling@0.16.0`.
@@ -0,0 +1,125 @@
1
+ # Bounds2
2
+
3
+ Immutable finite XY bounds in millimetres, with tuple coordinates for data interoperability.
4
+
5
+ ## Extends
6
+
7
+ - [`Bounds2Data`](Bounds2Data.md)
8
+
9
+ ## Properties
10
+
11
+ ### max
12
+
13
+
14
+
15
+ `readonly` **max**: [`Vector2Data`](Vector2Data.md)
16
+
17
+
18
+
19
+ Inclusive maximum X/Y coordinates.
20
+
21
+ #### Inherited from
22
+
23
+ [`Bounds2Data`](Bounds2Data.md).[`max`](Bounds2Data.md#max)
24
+
25
+ ***
26
+
27
+ ### min
28
+
29
+
30
+
31
+ `readonly` **min**: [`Vector2Data`](Vector2Data.md)
32
+
33
+
34
+
35
+ Inclusive minimum X/Y coordinates.
36
+
37
+ #### Inherited from
38
+
39
+ [`Bounds2Data`](Bounds2Data.md).[`min`](Bounds2Data.md#min)
40
+
41
+ ## Methods
42
+
43
+ ### size()
44
+
45
+
46
+
47
+ **size**(): [`Vector2`](Vector2-type.md)
48
+
49
+
50
+
51
+ Returns nonnegative X/Y dimensions in millimetres, including zero extents.
52
+
53
+ #### Returns
54
+
55
+ [`Vector2`](Vector2-type.md)
56
+
57
+ ***
58
+
59
+ ### center()
60
+
61
+
62
+
63
+ **center**(): [`Vector2`](Vector2-type.md)
64
+
65
+
66
+
67
+ Returns the midpoint in millimetres.
68
+
69
+ #### Returns
70
+
71
+ [`Vector2`](Vector2-type.md)
72
+
73
+ ***
74
+
75
+ ### containsBounds()
76
+
77
+
78
+
79
+ **containsBounds**(`other`: [`Bounds2Input`](Bounds2Input.md)): `boolean`
80
+
81
+
82
+
83
+ Tests positioned XY containment, including touching boundaries.
84
+
85
+ #### Parameters
86
+
87
+ <a id="other"></a>
88
+
89
+ **`other`** · [`Bounds2Input`](Bounds2Input.md) · Required
90
+
91
+
92
+
93
+ #### Returns
94
+
95
+ `boolean`
96
+
97
+ ***
98
+
99
+ ### toData()
100
+
101
+
102
+
103
+ **toData**(): [`Bounds2Data`](Bounds2Data.md)
104
+
105
+
106
+
107
+ Returns this value's frozen plain record; repeated calls do not allocate.
108
+
109
+ #### Returns
110
+
111
+ [`Bounds2Data`](Bounds2Data.md)
112
+
113
+
114
+ ## Related APIs
115
+
116
+ - [Bounds2Data](Bounds2Data.md)
117
+ - [Bounds2Input](Bounds2Input.md)
118
+ - [Vector2](Vector2-type.md)
119
+ - [Vector2Data](Vector2Data.md)
120
+
121
+ ## Guides
122
+
123
+ - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
124
+
125
+ Package: `@metamesh/modeling@0.16.0`.
@@ -0,0 +1,44 @@
1
+ # Bounds2Data
2
+
3
+ Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods.
4
+
5
+ ## Extended by
6
+
7
+ - [`Bounds2`](Bounds2-type.md)
8
+
9
+ ## Properties
10
+
11
+ ### max
12
+
13
+
14
+
15
+ `readonly` **max**: [`Vector2Data`](Vector2Data.md)
16
+
17
+
18
+
19
+ Inclusive maximum X/Y coordinates.
20
+
21
+ ***
22
+
23
+ ### min
24
+
25
+
26
+
27
+ `readonly` **min**: [`Vector2Data`](Vector2Data.md)
28
+
29
+
30
+
31
+ Inclusive minimum X/Y coordinates.
32
+
33
+
34
+ ## Related APIs
35
+
36
+ - [Bounds2](Bounds2-type.md)
37
+ - [Vector2Data](Vector2Data.md)
38
+
39
+ ## Guides
40
+
41
+ - [Geometry vocabulary](../../guides/concepts.md#geometry-vocabulary)
42
+ - [Lifecycle and inspection](../../guides/concepts.md#lifecycle-and-inspection)
43
+
44
+ Package: `@metamesh/modeling@0.16.0`.