@metamesh/modeling 0.12.0 → 0.13.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 (629) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +60 -72
  3. package/dist/api/engine.d.ts +123 -97
  4. package/dist/api/geometry.d.ts +3896 -3307
  5. package/dist/api/index.d.ts +2489 -2268
  6. package/dist/api/text.d.ts +119 -107
  7. package/dist/docs/guides/concepts.md +197 -0
  8. package/dist/docs/guides/fonts.md +51 -0
  9. package/dist/docs/guides/fundamentals.md +135 -0
  10. package/dist/docs/guides/generation.md +221 -0
  11. package/dist/docs/guides/hosting.md +88 -0
  12. package/dist/docs/guides/recipes.md +668 -0
  13. package/dist/docs/manifest.json +9851 -0
  14. package/dist/docs/reference/engine/Export3mfOptions.md +29 -0
  15. package/dist/docs/reference/engine/ExportMeshPart.md +65 -0
  16. package/dist/docs/reference/engine/GenerationOptions.md +62 -0
  17. package/dist/docs/reference/engine/GeometryResource.md +77 -0
  18. package/dist/docs/reference/engine/ModelDependencies.md +41 -0
  19. package/dist/docs/reference/engine/ModelEngine.md +103 -0
  20. package/dist/docs/reference/engine/ModelEngineOptions.md +33 -0
  21. package/dist/docs/reference/engine/ModelSession.md +96 -0
  22. package/dist/docs/reference/engine/ModelSnapshot.md +173 -0
  23. package/dist/docs/reference/engine/SessionOptions.md +123 -0
  24. package/dist/docs/reference/engine/SnapshotPart.md +130 -0
  25. package/dist/docs/reference/engine/categories/host-lifecycle.md +37 -0
  26. package/dist/docs/reference/engine/createModelEngine.md +56 -0
  27. package/dist/docs/reference/engine/defaultModelingLimits.md +7 -0
  28. package/dist/docs/reference/engine/modelingWasmUrl.md +7 -0
  29. package/dist/docs/reference/engine/validateModel.md +48 -0
  30. package/dist/docs/reference/engine.md +25 -0
  31. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +75 -0
  32. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +79 -0
  33. package/dist/docs/reference/geometry/Anchor3.md +49 -0
  34. package/dist/docs/reference/geometry/ArcCurve2.md +70 -0
  35. package/dist/docs/reference/geometry/ArcCurve3.md +94 -0
  36. package/dist/docs/reference/geometry/AttachTransformOptions.md +58 -0
  37. package/dist/docs/reference/geometry/AxisAngleRotation3.md +61 -0
  38. package/dist/docs/reference/geometry/Bounds2.md +39 -0
  39. package/dist/docs/reference/geometry/Bounds3.md +39 -0
  40. package/dist/docs/reference/geometry/BoundsFit2.md +52 -0
  41. package/dist/docs/reference/geometry/BoundsFit3.md +52 -0
  42. package/dist/docs/reference/geometry/BoundsFitOptions.md +23 -0
  43. package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +23 -0
  44. package/dist/docs/reference/geometry/BoxAnchorFace.md +7 -0
  45. package/dist/docs/reference/geometry/BoxAnchorOptions.md +59 -0
  46. package/dist/docs/reference/geometry/BoxEdge.md +7 -0
  47. package/dist/docs/reference/geometry/BoxEdgeSelection.md +14 -0
  48. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +15 -0
  49. package/dist/docs/reference/geometry/BoxOptions.md +87 -0
  50. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +7 -0
  51. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +93 -0
  52. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +29 -0
  53. package/dist/docs/reference/geometry/CircleContourOptions.md +15 -0
  54. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +59 -0
  55. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +41 -0
  56. package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -0
  57. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +53 -0
  58. package/dist/docs/reference/geometry/Contour.md +17 -0
  59. package/dist/docs/reference/geometry/ContourCurve.md +35 -0
  60. package/dist/docs/reference/geometry/ContourPoint.md +29 -0
  61. package/dist/docs/reference/geometry/ContourSegment.md +86 -0
  62. package/dist/docs/reference/geometry/CorrespondingComponent.md +46 -0
  63. package/dist/docs/reference/geometry/CorrespondingContour.md +46 -0
  64. package/dist/docs/reference/geometry/CorrespondingProfile.md +22 -0
  65. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +27 -0
  66. package/dist/docs/reference/geometry/CubicBezierCurve2.md +70 -0
  67. package/dist/docs/reference/geometry/CubicBezierCurve3.md +70 -0
  68. package/dist/docs/reference/geometry/Curve2.md +16 -0
  69. package/dist/docs/reference/geometry/Curve3.md +16 -0
  70. package/dist/docs/reference/geometry/CurveSamplingOptions.md +64 -0
  71. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +73 -0
  72. package/dist/docs/reference/geometry/CylinderAnchorFace.md +7 -0
  73. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +83 -0
  74. package/dist/docs/reference/geometry/CylinderOptions.md +53 -0
  75. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +209 -0
  76. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +7 -0
  77. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +71 -0
  78. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +82 -0
  79. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +34 -0
  80. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +41 -0
  81. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +47 -0
  82. package/dist/docs/reference/geometry/CylindricalGearSpec.md +82 -0
  83. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -0
  84. package/dist/docs/reference/geometry/EdgeTreatment.md +17 -0
  85. package/dist/docs/reference/geometry/EllipseContourOptions.md +15 -0
  86. package/dist/docs/reference/geometry/EndTreatments.md +34 -0
  87. package/dist/docs/reference/geometry/ExtrudeOptions.md +134 -0
  88. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +77 -0
  89. package/dist/docs/reference/geometry/FittedTextLayout.md +60 -0
  90. package/dist/docs/reference/geometry/Frame3.md +58 -0
  91. package/dist/docs/reference/geometry/GeometryError.md +97 -0
  92. package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -0
  93. package/dist/docs/reference/geometry/GeometryErrorContext.md +29 -0
  94. package/dist/docs/reference/geometry/GeometryResolution.md +65 -0
  95. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +62 -0
  96. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +41 -0
  97. package/dist/docs/reference/geometry/GridPatternOptions.md +42 -0
  98. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +14 -0
  99. package/dist/docs/reference/geometry/HeightfieldOptions.md +67 -0
  100. package/dist/docs/reference/geometry/HeightfieldPreflight.md +53 -0
  101. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +141 -0
  102. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +265 -0
  103. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +53 -0
  104. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +14 -0
  105. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +242 -0
  106. package/dist/docs/reference/geometry/LineCurve2.md +46 -0
  107. package/dist/docs/reference/geometry/LineCurve3.md +46 -0
  108. package/dist/docs/reference/geometry/LinearPatternOptions.md +30 -0
  109. package/dist/docs/reference/geometry/LoftCorrespondence.md +19 -0
  110. package/dist/docs/reference/geometry/LoftMeshStation.md +27 -0
  111. package/dist/docs/reference/geometry/LoftOptions.md +84 -0
  112. package/dist/docs/reference/geometry/LoftPlacement.md +66 -0
  113. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +18 -0
  114. package/dist/docs/reference/geometry/MatchProfilesOptions.md +35 -0
  115. package/dist/docs/reference/geometry/MetricFastenerSize.md +7 -0
  116. package/dist/docs/reference/geometry/MetricFastenerStandard.md +72 -0
  117. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +29 -0
  118. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +41 -0
  119. package/dist/docs/reference/geometry/ModelingLimits.md +126 -0
  120. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +17 -0
  121. package/dist/docs/reference/geometry/Path2.md +14 -0
  122. package/dist/docs/reference/geometry/Path3.md +14 -0
  123. package/dist/docs/reference/geometry/PathFrame.md +46 -0
  124. package/dist/docs/reference/geometry/PathNormalGuide.md +38 -0
  125. package/dist/docs/reference/geometry/PathPatternOptions.md +46 -0
  126. package/dist/docs/reference/geometry/PathPlacement.md +34 -0
  127. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +7 -0
  128. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +156 -0
  129. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +120 -0
  130. package/dist/docs/reference/geometry/PlanarPatchQuality.md +190 -0
  131. package/dist/docs/reference/geometry/Polygon.md +38 -0
  132. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +92 -0
  133. package/dist/docs/reference/geometry/PrimitivePlacement.md +31 -0
  134. package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +83 -0
  135. package/dist/docs/reference/geometry/PrintableThreadFit.md +7 -0
  136. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +45 -0
  137. package/dist/docs/reference/geometry/Profile.md +22 -0
  138. package/dist/docs/reference/geometry/ProfileComponent2.md +46 -0
  139. package/dist/docs/reference/geometry/ProfileContour2.md +34 -0
  140. package/dist/docs/reference/geometry/ProfileSpan2.md +47 -0
  141. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +36 -0
  142. package/dist/docs/reference/geometry/RackPitchDimensions.md +113 -0
  143. package/dist/docs/reference/geometry/RackPitchSpec.md +77 -0
  144. package/dist/docs/reference/geometry/RadialPatternOptions.md +62 -0
  145. package/dist/docs/reference/geometry/RadialSizing.md +7 -0
  146. package/dist/docs/reference/geometry/RadialSizingOptions.md +40 -0
  147. package/dist/docs/reference/geometry/RectangleContourOptions.md +66 -0
  148. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +34 -0
  149. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +14 -0
  150. package/dist/docs/reference/geometry/RectangleProfileOptions.md +94 -0
  151. package/dist/docs/reference/geometry/Region.md +14 -0
  152. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +84 -0
  153. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +65 -0
  154. package/dist/docs/reference/geometry/RevolveOptions.md +82 -0
  155. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +91 -0
  156. package/dist/docs/reference/geometry/RowLayoutOptions.md +23 -0
  157. package/dist/docs/reference/geometry/SampleContourOptions.md +71 -0
  158. package/dist/docs/reference/geometry/SampleHelixOptions.md +95 -0
  159. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +71 -0
  160. package/dist/docs/reference/geometry/SampledCurve2.md +34 -0
  161. package/dist/docs/reference/geometry/SampledCurve3.md +34 -0
  162. package/dist/docs/reference/geometry/SampledThreadHelices.md +58 -0
  163. package/dist/docs/reference/geometry/SideProfileCurve.md +35 -0
  164. package/dist/docs/reference/geometry/SideProfilePoint.md +29 -0
  165. package/dist/docs/reference/geometry/SideProfileSegment.md +86 -0
  166. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +71 -0
  167. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +34 -0
  168. package/dist/docs/reference/geometry/SphereOptions.md +15 -0
  169. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +75 -0
  170. package/dist/docs/reference/geometry/StrokePathCap.md +7 -0
  171. package/dist/docs/reference/geometry/StrokePathJoin.md +7 -0
  172. package/dist/docs/reference/geometry/StrokePathRegionOptions.md +85 -0
  173. package/dist/docs/reference/geometry/SvgImportOptions.md +60 -0
  174. package/dist/docs/reference/geometry/SvgRegionPreflight.md +61 -0
  175. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +118 -0
  176. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +65 -0
  177. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +53 -0
  178. package/dist/docs/reference/geometry/SweepOptions.md +109 -0
  179. package/dist/docs/reference/geometry/SweepOrientation.md +109 -0
  180. package/dist/docs/reference/geometry/ThreadBevelOptions.md +53 -0
  181. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +100 -0
  182. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +73 -0
  183. package/dist/docs/reference/geometry/ThreadEndStyle.md +7 -0
  184. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +113 -0
  185. package/dist/docs/reference/geometry/ThreadHandedness.md +7 -0
  186. package/dist/docs/reference/geometry/ThreadHelixOptions.md +120 -0
  187. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +7 -0
  188. package/dist/docs/reference/geometry/ThreadLeadInShape.md +7 -0
  189. package/dist/docs/reference/geometry/ThreadProfile.md +82 -0
  190. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +49 -0
  191. package/dist/docs/reference/geometry/ThreadProfileSpec.md +19 -0
  192. package/dist/docs/reference/geometry/ThreadRole.md +7 -0
  193. package/dist/docs/reference/geometry/ThreadedNutBevel.md +7 -0
  194. package/dist/docs/reference/geometry/ThreadedNutOptions.md +269 -0
  195. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +94 -0
  196. package/dist/docs/reference/geometry/ThreadedNutShape.md +7 -0
  197. package/dist/docs/reference/geometry/ThreadedRodOptions.md +242 -0
  198. package/dist/docs/reference/geometry/TorusOptions.md +105 -0
  199. package/dist/docs/reference/geometry/Transform3.md +12 -0
  200. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +91 -0
  201. package/dist/docs/reference/geometry/TriangleMesh.md +34 -0
  202. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +119 -0
  203. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +75 -0
  204. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +75 -0
  205. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +39 -0
  206. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +190 -0
  207. package/dist/docs/reference/geometry/TriangleMeshSignature.md +107 -0
  208. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +41 -0
  209. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +29 -0
  210. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +51 -0
  211. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +91 -0
  212. package/dist/docs/reference/geometry/TubeOptions.md +138 -0
  213. package/dist/docs/reference/geometry/Vector2.md +7 -0
  214. package/dist/docs/reference/geometry/Vector3.md +7 -0
  215. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +53 -0
  216. package/dist/docs/reference/geometry/VectorTextLayout.md +39 -0
  217. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +111 -0
  218. package/dist/docs/reference/geometry/VectorTextMetrics.md +94 -0
  219. package/dist/docs/reference/geometry/VectorTextOptions.md +50 -0
  220. package/dist/docs/reference/geometry/add3.md +38 -0
  221. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +57 -0
  222. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +52 -0
  223. package/dist/docs/reference/geometry/anchorFrame3.md +40 -0
  224. package/dist/docs/reference/geometry/applyTransformDirection3.md +41 -0
  225. package/dist/docs/reference/geometry/applyTransformPoint3.md +39 -0
  226. package/dist/docs/reference/geometry/attachTransform.md +73 -0
  227. package/dist/docs/reference/geometry/boundsCenter.md +62 -0
  228. package/dist/docs/reference/geometry/boundsFromSize.md +83 -0
  229. package/dist/docs/reference/geometry/boundsSize.md +62 -0
  230. package/dist/docs/reference/geometry/boxAnchor3.md +48 -0
  231. package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +68 -0
  232. package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +102 -0
  233. package/dist/docs/reference/geometry/categories/bounds-layout.md +35 -0
  234. package/dist/docs/reference/geometry/categories/curves-paths.md +63 -0
  235. package/dist/docs/reference/geometry/categories/mechanical.md +101 -0
  236. package/dist/docs/reference/geometry/categories/meshes.md +73 -0
  237. package/dist/docs/reference/geometry/categories/pattern-placement.md +34 -0
  238. package/dist/docs/reference/geometry/categories/primitive-options.md +36 -0
  239. package/dist/docs/reference/geometry/categories/profiles-regions.md +74 -0
  240. package/dist/docs/reference/geometry/categories/resolution-errors.md +46 -0
  241. package/dist/docs/reference/geometry/categories/transforms-math.md +63 -0
  242. package/dist/docs/reference/geometry/categories/vector-import.md +40 -0
  243. package/dist/docs/reference/geometry/circleContour.md +33 -0
  244. package/dist/docs/reference/geometry/closeToAxis.md +34 -0
  245. package/dist/docs/reference/geometry/compensateThreadDiameters.md +51 -0
  246. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +42 -0
  247. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +56 -0
  248. package/dist/docs/reference/geometry/composeTransform3.md +40 -0
  249. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +45 -0
  250. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +47 -0
  251. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +31 -0
  252. package/dist/docs/reference/geometry/containsBounds.md +72 -0
  253. package/dist/docs/reference/geometry/contourContainsPoint.md +33 -0
  254. package/dist/docs/reference/geometry/createAnchor3.md +63 -0
  255. package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
  256. package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
  257. package/dist/docs/reference/geometry/cross3.md +38 -0
  258. package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
  259. package/dist/docs/reference/geometry/cylinderAnchor3.md +56 -0
  260. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
  261. package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
  262. package/dist/docs/reference/geometry/dot3.md +38 -0
  263. package/dist/docs/reference/geometry/ellipseContour.md +33 -0
  264. package/dist/docs/reference/geometry/eulerTransform3.md +38 -0
  265. package/dist/docs/reference/geometry/extrudeMesh.md +73 -0
  266. package/dist/docs/reference/geometry/fitBounds.md +95 -0
  267. package/dist/docs/reference/geometry/fitTextLayout.md +57 -0
  268. package/dist/docs/reference/geometry/frameTransform3.md +44 -0
  269. package/dist/docs/reference/geometry/getMetricClearanceHole.md +33 -0
  270. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +27 -0
  271. package/dist/docs/reference/geometry/gridPatternTransforms.md +31 -0
  272. package/dist/docs/reference/geometry/heightfieldMesh.md +43 -0
  273. package/dist/docs/reference/geometry/inverseTransform3.md +30 -0
  274. package/dist/docs/reference/geometry/isGeometryError.md +26 -0
  275. package/dist/docs/reference/geometry/joinTriangleMeshes.md +36 -0
  276. package/dist/docs/reference/geometry/layoutRow.md +43 -0
  277. package/dist/docs/reference/geometry/length3.md +26 -0
  278. package/dist/docs/reference/geometry/lerp3.md +38 -0
  279. package/dist/docs/reference/geometry/linearPatternTransforms.md +31 -0
  280. package/dist/docs/reference/geometry/loftMesh.md +72 -0
  281. package/dist/docs/reference/geometry/matchProfiles.md +51 -0
  282. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +47 -0
  283. package/dist/docs/reference/geometry/measureTriangleMesh.md +55 -0
  284. package/dist/docs/reference/geometry/meshBounds.md +35 -0
  285. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +29 -0
  286. package/dist/docs/reference/geometry/normalize3.md +32 -0
  287. package/dist/docs/reference/geometry/normalizeContour.md +45 -0
  288. package/dist/docs/reference/geometry/normalizePolygon.md +37 -0
  289. package/dist/docs/reference/geometry/normalizeRegion.md +33 -0
  290. package/dist/docs/reference/geometry/optimizePlanarPatches.md +91 -0
  291. package/dist/docs/reference/geometry/pathLength.md +33 -0
  292. package/dist/docs/reference/geometry/pathPatternTransforms.md +57 -0
  293. package/dist/docs/reference/geometry/preflightHeightfield.md +34 -0
  294. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +96 -0
  295. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +85 -0
  296. package/dist/docs/reference/geometry/preflightSvgRegion.md +56 -0
  297. package/dist/docs/reference/geometry/preflightThreadedNut.md +96 -0
  298. package/dist/docs/reference/geometry/preflightThreadedRod.md +85 -0
  299. package/dist/docs/reference/geometry/projectOntoPlane3.md +32 -0
  300. package/dist/docs/reference/geometry/radialPatternTransforms.md +47 -0
  301. package/dist/docs/reference/geometry/rectangleContour.md +49 -0
  302. package/dist/docs/reference/geometry/rectangleProfile.md +53 -0
  303. package/dist/docs/reference/geometry/regionArea.md +34 -0
  304. package/dist/docs/reference/geometry/regionBounds.md +27 -0
  305. package/dist/docs/reference/geometry/regularPolygonContour.md +53 -0
  306. package/dist/docs/reference/geometry/resamplePolyline2.md +64 -0
  307. package/dist/docs/reference/geometry/resamplePolyline3.md +67 -0
  308. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +79 -0
  309. package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
  310. package/dist/docs/reference/geometry/resolveCircularSegments.md +61 -0
  311. package/dist/docs/reference/geometry/resolveCylindricalGear.md +31 -0
  312. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +31 -0
  313. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +74 -0
  314. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +26 -0
  315. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +59 -0
  316. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +27 -0
  317. package/dist/docs/reference/geometry/resolveRackPitch.md +27 -0
  318. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +59 -0
  319. package/dist/docs/reference/geometry/reverseTriangleMesh.md +30 -0
  320. package/dist/docs/reference/geometry/revolveMesh.md +76 -0
  321. package/dist/docs/reference/geometry/rotateAroundAxis3.md +38 -0
  322. package/dist/docs/reference/geometry/rotationTransform3.md +49 -0
  323. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +50 -0
  324. package/dist/docs/reference/geometry/sampleContour.md +77 -0
  325. package/dist/docs/reference/geometry/sampleCurve2.md +61 -0
  326. package/dist/docs/reference/geometry/sampleCurve3.md +61 -0
  327. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +58 -0
  328. package/dist/docs/reference/geometry/sampleHelix.md +41 -0
  329. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +59 -0
  330. package/dist/docs/reference/geometry/sampleRackToothPath.md +39 -0
  331. package/dist/docs/reference/geometry/sampleSideProfile.md +73 -0
  332. package/dist/docs/reference/geometry/sampleTextContours.md +53 -0
  333. package/dist/docs/reference/geometry/sampleThreadHelices.md +63 -0
  334. package/dist/docs/reference/geometry/scale3.md +38 -0
  335. package/dist/docs/reference/geometry/scaleTransform3.md +34 -0
  336. package/dist/docs/reference/geometry/signedContourArea.md +26 -0
  337. package/dist/docs/reference/geometry/starContour.md +51 -0
  338. package/dist/docs/reference/geometry/strokePathRegion.md +63 -0
  339. package/dist/docs/reference/geometry/subtract3.md +38 -0
  340. package/dist/docs/reference/geometry/sweepMesh.md +82 -0
  341. package/dist/docs/reference/geometry/transformContour.md +42 -0
  342. package/dist/docs/reference/geometry/transformDeterminant3.md +32 -0
  343. package/dist/docs/reference/geometry/transformPath2.md +40 -0
  344. package/dist/docs/reference/geometry/transformPath3.md +33 -0
  345. package/dist/docs/reference/geometry/transformRegion.md +40 -0
  346. package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
  347. package/dist/docs/reference/geometry/translationTransform3.md +31 -0
  348. package/dist/docs/reference/geometry/triangulateContour.md +26 -0
  349. package/dist/docs/reference/geometry/validateSolidMesh.md +52 -0
  350. package/dist/docs/reference/geometry/validateTransform3.md +43 -0
  351. package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -0
  352. package/dist/docs/reference/geometry.md +30 -0
  353. package/dist/docs/reference/model/Anchor3.md +54 -0
  354. package/dist/docs/reference/model/AttachOptions.md +63 -0
  355. package/dist/docs/reference/model/Bounds2.md +39 -0
  356. package/dist/docs/reference/model/Bounds3.md +39 -0
  357. package/dist/docs/reference/model/BoxEdge.md +15 -0
  358. package/dist/docs/reference/model/BoxEdgeSelection.md +19 -0
  359. package/dist/docs/reference/model/BoxEdgeTreatments.md +20 -0
  360. package/dist/docs/reference/model/BoxOptions.md +92 -0
  361. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +35 -0
  362. package/dist/docs/reference/model/CircleContourOptions.md +21 -0
  363. package/dist/docs/reference/model/CircleOptions.md +21 -0
  364. package/dist/docs/reference/model/CircularPrimitiveOptions.md +64 -0
  365. package/dist/docs/reference/model/Computed.md +35 -0
  366. package/dist/docs/reference/model/ComputedValue.md +20 -0
  367. package/dist/docs/reference/model/Contour.md +22 -0
  368. package/dist/docs/reference/model/CorrespondingComponent.md +46 -0
  369. package/dist/docs/reference/model/CorrespondingContour.md +46 -0
  370. package/dist/docs/reference/model/CorrespondingProfile.md +22 -0
  371. package/dist/docs/reference/model/CorrespondingProfileStation.md +27 -0
  372. package/dist/docs/reference/model/CylinderOptions.md +58 -0
  373. package/dist/docs/reference/model/DiagnosticOptions.md +23 -0
  374. package/dist/docs/reference/model/EdgeTreatment.md +22 -0
  375. package/dist/docs/reference/model/EllipseContourOptions.md +21 -0
  376. package/dist/docs/reference/model/EllipseOptions.md +21 -0
  377. package/dist/docs/reference/model/EndTreatments.md +39 -0
  378. package/dist/docs/reference/model/ExtrudeOptions.md +140 -0
  379. package/dist/docs/reference/model/FinalizedModel.md +121 -0
  380. package/dist/docs/reference/model/FinalizedPart.md +87 -0
  381. package/dist/docs/reference/model/Frame3.md +63 -0
  382. package/dist/docs/reference/model/GenerateCallback.md +37 -0
  383. package/dist/docs/reference/model/GenerateContext.md +277 -0
  384. package/dist/docs/reference/model/GeneratedPart.md +93 -0
  385. package/dist/docs/reference/model/GenerationDiagnostic.md +41 -0
  386. package/dist/docs/reference/model/GenerationError.md +54 -0
  387. package/dist/docs/reference/model/GeometryResolution.md +70 -0
  388. package/dist/docs/reference/model/GeometrySamplingLimits.md +62 -0
  389. package/dist/docs/reference/model/GeometryToleranceOptions.md +46 -0
  390. package/dist/docs/reference/model/GridPatternOptions.md +43 -0
  391. package/dist/docs/reference/model/HeightfieldOptions.md +67 -0
  392. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +140 -0
  393. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +58 -0
  394. package/dist/docs/reference/model/HullOptions.md +72 -0
  395. package/dist/docs/reference/model/ImmutableBuffer-type.md +80 -0
  396. package/dist/docs/reference/model/ImmutableTriangleMesh.md +34 -0
  397. package/dist/docs/reference/model/ImplicitOptions.md +83 -0
  398. package/dist/docs/reference/model/InternalThreadCutterOptions.md +245 -0
  399. package/dist/docs/reference/model/LinearPatternOptions.md +31 -0
  400. package/dist/docs/reference/model/LoftCorrespondence.md +27 -0
  401. package/dist/docs/reference/model/LoftOptions.md +91 -0
  402. package/dist/docs/reference/model/LoftPlacement.md +73 -0
  403. package/dist/docs/reference/model/LoftStation.md +35 -0
  404. package/dist/docs/reference/model/MatchProfilesOptions.md +35 -0
  405. package/dist/docs/reference/model/ModelProgram.md +44 -0
  406. package/dist/docs/reference/model/ModelingLimits.md +126 -0
  407. package/dist/docs/reference/model/NumericArray.md +7 -0
  408. package/dist/docs/reference/model/PartGeometry.md +16 -0
  409. package/dist/docs/reference/model/PartOptions.md +65 -0
  410. package/dist/docs/reference/model/PathNormalGuide.md +45 -0
  411. package/dist/docs/reference/model/PathPatternOptions.md +47 -0
  412. package/dist/docs/reference/model/PatternSource.md +26 -0
  413. package/dist/docs/reference/model/PlaneOptions.md +39 -0
  414. package/dist/docs/reference/model/Polygon-type.md +43 -0
  415. package/dist/docs/reference/model/PolygonOptions.md +112 -0
  416. package/dist/docs/reference/model/PrimitivePlacement.md +40 -0
  417. package/dist/docs/reference/model/PrimitivePlacementOptions.md +88 -0
  418. package/dist/docs/reference/model/PrintableThreadFit.md +14 -0
  419. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +50 -0
  420. package/dist/docs/reference/model/Profile.md +22 -0
  421. package/dist/docs/reference/model/ProfileComponent2.md +46 -0
  422. package/dist/docs/reference/model/ProfileContour2.md +34 -0
  423. package/dist/docs/reference/model/ProfileSpan2.md +47 -0
  424. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +41 -0
  425. package/dist/docs/reference/model/RadialPatternOptions.md +63 -0
  426. package/dist/docs/reference/model/RadialSizing.md +15 -0
  427. package/dist/docs/reference/model/RadialSizingOptions.md +40 -0
  428. package/dist/docs/reference/model/RectangleContourOptions.md +72 -0
  429. package/dist/docs/reference/model/RectangleCornerTreatment.md +40 -0
  430. package/dist/docs/reference/model/RectangleCornerTreatments.md +20 -0
  431. package/dist/docs/reference/model/RectangleOptions.md +107 -0
  432. package/dist/docs/reference/model/Region.md +19 -0
  433. package/dist/docs/reference/model/RegionOffsetJoin.md +16 -0
  434. package/dist/docs/reference/model/RegionOffsetOptions.md +65 -0
  435. package/dist/docs/reference/model/RegularPolygonOptions.md +53 -0
  436. package/dist/docs/reference/model/RevolveOptions.md +89 -0
  437. package/dist/docs/reference/model/RoundedEdgeTreatment.md +96 -0
  438. package/dist/docs/reference/model/Section.md +450 -0
  439. package/dist/docs/reference/model/SectionHullOptions.md +72 -0
  440. package/dist/docs/reference/model/SectionInspection.md +98 -0
  441. package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
  442. package/dist/docs/reference/model/Solid.md +350 -0
  443. package/dist/docs/reference/model/SolidInspection.md +98 -0
  444. package/dist/docs/reference/model/SolidRayHit.md +58 -0
  445. package/dist/docs/reference/model/SphereOptions.md +20 -0
  446. package/dist/docs/reference/model/StarOptions.md +98 -0
  447. package/dist/docs/reference/model/SvgOrigin.md +16 -0
  448. package/dist/docs/reference/model/SvgPathSectionOptions.md +78 -0
  449. package/dist/docs/reference/model/SvgSectionOptions.md +66 -0
  450. package/dist/docs/reference/model/SweepOptions.md +116 -0
  451. package/dist/docs/reference/model/SweepOrientation.md +116 -0
  452. package/dist/docs/reference/model/TextSectionOptions.md +41 -0
  453. package/dist/docs/reference/model/ThreadEndStyle.md +14 -0
  454. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +117 -0
  455. package/dist/docs/reference/model/ThreadHandedness.md +14 -0
  456. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +14 -0
  457. package/dist/docs/reference/model/ThreadLeadInShape.md +14 -0
  458. package/dist/docs/reference/model/ThreadProfile.md +86 -0
  459. package/dist/docs/reference/model/ThreadRidgeOptions.md +18 -0
  460. package/dist/docs/reference/model/ThreadedNutBevel.md +14 -0
  461. package/dist/docs/reference/model/ThreadedNutOptions.md +273 -0
  462. package/dist/docs/reference/model/ThreadedNutPreflight.md +98 -0
  463. package/dist/docs/reference/model/ThreadedNutShape.md +14 -0
  464. package/dist/docs/reference/model/ThreadedRodOptions.md +245 -0
  465. package/dist/docs/reference/model/TorusOptions.md +110 -0
  466. package/dist/docs/reference/model/Transform2.md +15 -0
  467. package/dist/docs/reference/model/Transform3.md +18 -0
  468. package/dist/docs/reference/model/TriangleMesh.md +42 -0
  469. package/dist/docs/reference/model/TriangleMeshAnalysis.md +123 -0
  470. package/dist/docs/reference/model/TriangleMeshMeasurements.md +79 -0
  471. package/dist/docs/reference/model/TubeOptions.md +143 -0
  472. package/dist/docs/reference/model/Vector2.md +15 -0
  473. package/dist/docs/reference/model/Vector3.md +15 -0
  474. package/dist/docs/reference/model/VectorTextLayout.md +40 -0
  475. package/dist/docs/reference/model/VectorTextMetrics.md +100 -0
  476. package/dist/docs/reference/model/anchor.md +46 -0
  477. package/dist/docs/reference/model/box.md +62 -0
  478. package/dist/docs/reference/model/categories/boolean-operations.md +37 -0
  479. package/dist/docs/reference/model/categories/bounded-surfaces.md +26 -0
  480. package/dist/docs/reference/model/categories/contracts.md +16 -0
  481. package/dist/docs/reference/model/categories/core-values-errors.md +30 -0
  482. package/dist/docs/reference/model/categories/explicit-profiles.md +32 -0
  483. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +42 -0
  484. package/dist/docs/reference/model/categories/generation.md +44 -0
  485. package/dist/docs/reference/model/categories/inspection.md +23 -0
  486. package/dist/docs/reference/model/categories/mesh-inspection.md +29 -0
  487. package/dist/docs/reference/model/categories/primitives.md +61 -0
  488. package/dist/docs/reference/model/categories/resolution.md +18 -0
  489. package/dist/docs/reference/model/categories/sections.md +59 -0
  490. package/dist/docs/reference/model/categories/threads.md +50 -0
  491. package/dist/docs/reference/model/categories/transforms-placement.md +43 -0
  492. package/dist/docs/reference/model/circle.md +39 -0
  493. package/dist/docs/reference/model/components.md +68 -0
  494. package/dist/docs/reference/model/compose.md +31 -0
  495. package/dist/docs/reference/model/cylinder.md +52 -0
  496. package/dist/docs/reference/model/distance.md +45 -0
  497. package/dist/docs/reference/model/ellipse.md +39 -0
  498. package/dist/docs/reference/model/extrude.md +83 -0
  499. package/dist/docs/reference/model/fromRegion.md +33 -0
  500. package/dist/docs/reference/model/generate.md +46 -0
  501. package/dist/docs/reference/model/gridPattern.md +80 -0
  502. package/dist/docs/reference/model/heightfield.md +40 -0
  503. package/dist/docs/reference/model/hull.md +74 -0
  504. package/dist/docs/reference/model/immutableBuffer.md +44 -0
  505. package/dist/docs/reference/model/immutableMesh.md +40 -0
  506. package/dist/docs/reference/model/implicit.md +47 -0
  507. package/dist/docs/reference/model/inspectSection.md +38 -0
  508. package/dist/docs/reference/model/inspectSolid.md +38 -0
  509. package/dist/docs/reference/model/internalThreadCutter.md +100 -0
  510. package/dist/docs/reference/model/intersect.md +70 -0
  511. package/dist/docs/reference/model/isEmpty.md +39 -0
  512. package/dist/docs/reference/model/linearPattern.md +80 -0
  513. package/dist/docs/reference/model/loft.md +137 -0
  514. package/dist/docs/reference/model/matchProfiles.md +42 -0
  515. package/dist/docs/reference/model/minkowskiSum.md +37 -0
  516. package/dist/docs/reference/model/pathPattern.md +118 -0
  517. package/dist/docs/reference/model/polygon.md +40 -0
  518. package/dist/docs/reference/model/preflightInternalThreadCutter.md +89 -0
  519. package/dist/docs/reference/model/preflightThreadedNut.md +100 -0
  520. package/dist/docs/reference/model/preflightThreadedRod.md +89 -0
  521. package/dist/docs/reference/model/radialPattern.md +113 -0
  522. package/dist/docs/reference/model/rayCast.md +40 -0
  523. package/dist/docs/reference/model/rectangle.md +59 -0
  524. package/dist/docs/reference/model/regularPolygon.md +39 -0
  525. package/dist/docs/reference/model/revolve.md +74 -0
  526. package/dist/docs/reference/model/solidFromMesh.md +42 -0
  527. package/dist/docs/reference/model/sphere.md +42 -0
  528. package/dist/docs/reference/model/split.md +54 -0
  529. package/dist/docs/reference/model/splitByPlane.md +66 -0
  530. package/dist/docs/reference/model/star.md +63 -0
  531. package/dist/docs/reference/model/svgPathSection.md +65 -0
  532. package/dist/docs/reference/model/svgSection.md +64 -0
  533. package/dist/docs/reference/model/sweep.md +92 -0
  534. package/dist/docs/reference/model/textSection.md +57 -0
  535. package/dist/docs/reference/model/threadRidge.md +72 -0
  536. package/dist/docs/reference/model/threadedNut.md +110 -0
  537. package/dist/docs/reference/model/threadedRod.md +99 -0
  538. package/dist/docs/reference/model/toRegion.md +33 -0
  539. package/dist/docs/reference/model/toTriangleMesh.md +27 -0
  540. package/dist/docs/reference/model/torus.md +70 -0
  541. package/dist/docs/reference/model/tube.md +77 -0
  542. package/dist/docs/reference/model/union.md +72 -0
  543. package/dist/docs/reference/model.md +39 -0
  544. package/dist/docs/reference/text/Bounds2.md +34 -0
  545. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -0
  546. package/dist/docs/reference/text/Vector2.md +7 -0
  547. package/dist/docs/reference/text/VectorFont.md +186 -0
  548. package/dist/docs/reference/text/VectorFontOptions.md +17 -0
  549. package/dist/docs/reference/text/VectorTextArcBaseline.md +53 -0
  550. package/dist/docs/reference/text/VectorTextLayout.md +34 -0
  551. package/dist/docs/reference/text/VectorTextLayoutOptions.md +111 -0
  552. package/dist/docs/reference/text/VectorTextMetrics.md +94 -0
  553. package/dist/docs/reference/text/VectorTextOptions.md +50 -0
  554. package/dist/docs/reference/text/categories/font-preparation.md +38 -0
  555. package/dist/docs/reference/text/prepareVectorFont.md +46 -0
  556. package/dist/docs/reference/text.md +21 -0
  557. package/dist/engine/construction-operations.js +10 -3
  558. package/dist/engine/deferred-context.js +12 -3
  559. package/dist/engine/execution.js +1 -1
  560. package/dist/engine/export-3mf.js +2 -2
  561. package/dist/engine/finalization.js +3 -3
  562. package/dist/engine/loft-operations.js +4 -4
  563. package/dist/engine/native/adapter.js +1 -1
  564. package/dist/engine/native/regions.js +9 -9
  565. package/dist/engine/pattern-operations.js +24 -13
  566. package/dist/engine/pattern-transform.js +9 -0
  567. package/dist/engine/placement.js +2 -2
  568. package/dist/engine/primitive-operations.js +10 -10
  569. package/dist/engine/profile-mesh.js +7 -7
  570. package/dist/engine/section-operations.js +25 -14
  571. package/dist/engine/session-graph.js +5 -3
  572. package/dist/engine/session.js +1 -2
  573. package/dist/geometry/bounds.js +117 -0
  574. package/dist/geometry/cylinder.js +5 -1
  575. package/dist/geometry/edge-finishing.js +2 -2
  576. package/dist/geometry/heightfield.js +1 -1
  577. package/dist/geometry/index.js +15 -12
  578. package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
  579. package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
  580. package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
  581. package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
  582. package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
  583. package/dist/geometry/{loft.js → loft/loft.js} +8 -8
  584. package/dist/geometry/math/vector3.js +5 -1
  585. package/dist/geometry/mechanical/gears.js +2 -2
  586. package/dist/geometry/mechanical/thread-mesh.js +3 -3
  587. package/dist/geometry/mechanical/thread-profiles.js +2 -2
  588. package/dist/geometry/mechanical/thread-surface.js +14 -5
  589. package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
  590. package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
  591. package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
  592. package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
  593. package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
  594. package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
  595. package/dist/geometry/paths/frames.js +4 -5
  596. package/dist/geometry/patterns/options.js +1 -0
  597. package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
  598. package/dist/geometry/patterns.js +25 -0
  599. package/dist/geometry/primitive-resolvers.js +9 -9
  600. package/dist/geometry/profiles/contour.js +3 -3
  601. package/dist/geometry/profiles/matched.js +3 -3
  602. package/dist/geometry/profiles/profiles.js +10 -10
  603. package/dist/geometry/profiles/rectangle.js +7 -7
  604. package/dist/geometry/profiles/shapes.js +9 -9
  605. package/dist/geometry/profiles/side-profile.js +37 -0
  606. package/dist/geometry/regions.js +15 -15
  607. package/dist/geometry/revolve/revolve-mesh.js +5 -5
  608. package/dist/geometry/stroke-path.js +2 -2
  609. package/dist/geometry/svg/errors.js +0 -3
  610. package/dist/geometry/svg/fill.js +7 -7
  611. package/dist/geometry/svg/index.js +1 -1
  612. package/dist/geometry/svg/matrix.js +0 -114
  613. package/dist/geometry/svg/parser.js +1 -439
  614. package/dist/geometry/svg-import.js +3 -3
  615. package/dist/geometry/sweeps/sweep-closed.js +1 -1
  616. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  617. package/dist/geometry/sweeps/sweep-open.js +3 -3
  618. package/dist/geometry/sweeps/validation.js +2 -2
  619. package/dist/geometry/text-fitting.js +85 -0
  620. package/dist/geometry/tolerance.js +2 -2
  621. package/dist/geometry/transform-geometry.js +9 -9
  622. package/dist/model/execution-binding.js +3 -3
  623. package/dist/model/generation.js +1 -1
  624. package/dist/model/operation-contracts.js +1 -0
  625. package/dist/model/operation-dispatch.js +6 -0
  626. package/dist/model/operations.js +19 -49
  627. package/package.json +10 -8
  628. /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
  629. /package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +0 -0
@@ -0,0 +1,96 @@
1
+ # preflightThreadedNut
2
+
3
+ Resolves a nut's exact body/cutter chamfer and preflights its extended thread mesh without allocating Manifold WASM objects.
4
+
5
+ **preflightThreadedNut**(`options`: [`ThreadedNutOptions`](ThreadedNutOptions.md)): [`ThreadedNutPreflight`](ThreadedNutPreflight.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`ThreadedNutOptions`](ThreadedNutOptions.md) · Required
14
+
15
+ - [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
16
+
17
+ Validated periodic profile repeated around the shaft.
18
+
19
+ - [`nominalMajorDiameter`](ThreadedNutOptions.md#nominalmajordiameter) · `number` · Required
20
+
21
+ Nominal major diameter before female compensation and faceting correction.
22
+
23
+ - [`shape`](ThreadedNutOptions.md#shape) · [`ThreadedNutShape`](ThreadedNutShape.md) · Required
24
+
25
+ Nut body shape.
26
+
27
+ - [`thickness`](ThreadedNutOptions.md#thickness) · `number` · Required
28
+
29
+ Nut thickness along +Z in millimetres.
30
+
31
+ - [`width`](ThreadedNutOptions.md#width) · `number` · Required
32
+
33
+ Across-flats width for hex/square or diameter for round, in millimetres.
34
+
35
+ - [`ends`](ThreadedNutOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
36
+
37
+ Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
38
+ BOSL2-style non-cut lead-in scaling is available on complete thread solids.
39
+
40
+ - [`handedness`](ThreadedNutOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
41
+
42
+ Helix direction. Default: `right`.
43
+
44
+ - [`limits`](ThreadedNutOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
45
+
46
+ Explicit output and circular allocation ceilings.
47
+
48
+ - [`phaseDegrees`](ThreadedNutOptions.md#phasedegrees) · `number` · Optional
49
+
50
+ Angular offset of the first start in degrees. Default: `0`.
51
+
52
+ - [`resolution`](ThreadedNutOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
53
+
54
+ Optional circular-resolution policy.
55
+
56
+ - [`starts`](ThreadedNutOptions.md#starts) · `number` · Optional
57
+
58
+ Number of evenly phased starts. Default: `1`.
59
+
60
+ - [`tolerance`](ThreadedNutOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
61
+
62
+ Optional numerical tolerance overrides.
63
+
64
+ - [`fit`](ThreadedNutOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
65
+
66
+ Printable fit or caller-calibrated allowances. Default: `normal`.
67
+
68
+ - [`bevel`](ThreadedNutOptions.md#bevel) · [`ThreadedNutBevel`](ThreadedNutBevel.md) · Optional
69
+
70
+ Nut body bevel selection. Default: `automatic`.
71
+
72
+ - [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
73
+
74
+ Optional physical policy for a round body, independent of the thread's matched facet grid.
75
+
76
+ - [`chamferSize`](ThreadedNutOptions.md#chamfersize) · `number` · Optional
77
+
78
+ 45-degree body chamfer extent. Default: `min(profile.depth, thickness/4)`.
79
+
80
+ - [`flushBuildPlateBottom`](ThreadedNutOptions.md#flushbuildplatebottom) · `boolean` · Optional
81
+
82
+ Leave the bottom outside edge flat for build-plate adhesion. Default: `false`.
83
+
84
+
85
+
86
+ ## Returns
87
+
88
+ [`ThreadedNutPreflight`](ThreadedNutPreflight.md)
89
+
90
+
91
+ ## Related APIs
92
+
93
+ - [ThreadedNutOptions](ThreadedNutOptions.md)
94
+ - [ThreadedNutPreflight](ThreadedNutPreflight.md)
95
+
96
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,85 @@
1
+ # preflightThreadedRod
2
+
3
+ Preflights the exact compensated direct mesh used by the threaded rod constructor.
4
+
5
+ **preflightThreadedRod**(`options`: [`ThreadedRodOptions`](ThreadedRodOptions.md)): [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`ThreadedRodOptions`](ThreadedRodOptions.md) · Required
14
+
15
+ - [`length`](ThreadedRodOptions.md#length) · `number` · Required
16
+
17
+ Total threaded axial length in millimetres.
18
+
19
+ - [`profile`](ThreadedRodOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
20
+
21
+ Validated periodic profile repeated around the shaft.
22
+
23
+ - [`nominalMajorDiameter`](ThreadedRodOptions.md#nominalmajordiameter) · `number` · Required
24
+
25
+ Nominal major diameter before male compensation.
26
+
27
+ - [`ends`](ThreadedRodOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
28
+
29
+ Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
30
+ BOSL2-style non-cut lead-in scaling is available on complete thread solids.
31
+
32
+ - [`handedness`](ThreadedRodOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
33
+
34
+ Helix direction. Default: `right`.
35
+
36
+ - [`limits`](ThreadedRodOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
37
+
38
+ Explicit output and circular allocation ceilings.
39
+
40
+ - [`phaseDegrees`](ThreadedRodOptions.md#phasedegrees) · `number` · Optional
41
+
42
+ Angular offset of the first start in degrees. Default: `0`.
43
+
44
+ - [`resolution`](ThreadedRodOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
45
+
46
+ Optional circular-resolution policy.
47
+
48
+ - [`starts`](ThreadedRodOptions.md#starts) · `number` · Optional
49
+
50
+ Number of evenly phased starts. Default: `1`.
51
+
52
+ - [`tolerance`](ThreadedRodOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
53
+
54
+ Optional numerical tolerance overrides.
55
+
56
+ - [`bevelBottom`](ThreadedRodOptions.md#bevelbottom) · `boolean` · Optional
57
+
58
+ Apply a 45-degree bevel at Z=0.
59
+
60
+ - [`bevelSize`](ThreadedRodOptions.md#bevelsize) · `number` · Optional
61
+
62
+ Axial bevel extent in millimetres. Active blunt ends default to one sixth of the compensated
63
+ male minor radius or female major radius; other ends default to the profile depth.
64
+
65
+ - [`bevelTop`](ThreadedRodOptions.md#beveltop) · `boolean` · Optional
66
+
67
+ Apply a 45-degree bevel at Z=length.
68
+
69
+ - [`fit`](ThreadedRodOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
70
+
71
+ Printable fit or caller-calibrated allowances. Default: `normal`.
72
+
73
+
74
+
75
+ ## Returns
76
+
77
+ [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
78
+
79
+
80
+ ## Related APIs
81
+
82
+ - [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
83
+ - [ThreadedRodOptions](ThreadedRodOptions.md)
84
+
85
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,32 @@
1
+ # projectOntoPlane3
2
+
3
+ Removes the component parallel to a normalized plane normal.
4
+
5
+ `const` **projectOntoPlane3**: (`vector`: [`Vector3`](Vector3.md), `normal`: [`Vector3`](Vector3.md)) => [`Vector3`](Vector3.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="vector"></a>
12
+
13
+ **`vector`** · [`Vector3`](Vector3.md) · Required
14
+
15
+
16
+
17
+ <a id="normal"></a>
18
+
19
+ **`normal`** · [`Vector3`](Vector3.md) · Required
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`Vector3`](Vector3.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Vector3](Vector3.md)
31
+
32
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,47 @@
1
+ # radialPatternTransforms
2
+
3
+ Rotations about an explicit axis; angles use degrees and the first placement is identity.
4
+
5
+ **radialPatternTransforms**(`options`: [`RadialPatternOptions`](RadialPatternOptions.md)): readonly [`Transform3`](Transform3.md)[]
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`RadialPatternOptions`](RadialPatternOptions.md) · Required
14
+
15
+ - [`count`](RadialPatternOptions.md#count) · `number` · Required
16
+
17
+ Number of solids to return, including the original.
18
+
19
+ - [`axis`](RadialPatternOptions.md#axis) · [`Vector3`](Vector3.md) · Required
20
+
21
+ Axis of the right-handed rotation. Its magnitude is ignored.
22
+
23
+ - [`angleDegrees`](RadialPatternOptions.md#angledegrees) · `number` · Required
24
+
25
+ Signed rotation from one copy to the next, in degrees.
26
+
27
+ - [`center`](RadialPatternOptions.md#center) · [`Vector3`](Vector3.md) · Optional
28
+
29
+ Rotation center in world coordinates. Defaults to the origin.
30
+
31
+
32
+
33
+ ## Returns
34
+
35
+ readonly [`Transform3`](Transform3.md)[]
36
+
37
+
38
+ ## Related APIs
39
+
40
+ - [RadialPatternOptions](RadialPatternOptions.md)
41
+ - [Transform3](Transform3.md)
42
+
43
+ ## Guides
44
+
45
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
46
+
47
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,49 @@
1
+ # rectangleContour
2
+
3
+ Creates an immutable CCW rectangle loop. Round radius zero is square; tangent saturated endpoints occur once.
4
+
5
+ **rectangleContour**(`options`: [`RectangleContourOptions`](RectangleContourOptions.md)): [`Contour`](Contour.md)
6
+
7
+
8
+
9
+ ## Example: Rounded rectangle outline
10
+
11
+ ```ts
12
+ rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`RectangleContourOptions`](RectangleContourOptions.md) · Required
20
+
21
+ - [`size`](RectangleContourOptions.md#size) · `number` \| [`Vector2`](Vector2.md) · Required
22
+
23
+ Positive uniform size or explicit XY extents in millimetres.
24
+
25
+ - [`center`](RectangleContourOptions.md#center) · `boolean` · Optional
26
+
27
+ Center on XY; otherwise the minimum corner is the origin. Defaults to true.
28
+
29
+ - [`treatment`](RectangleContourOptions.md#treatment) · [`EdgeTreatment`](EdgeTreatment.md) \| [`RectangleCornerTreatments`](RectangleCornerTreatments.md) · Optional
30
+
31
+ Uniform treatment or four corner treatments. Exact round segments describe a complete circle and must divide by four.
32
+
33
+ - [`limits`](RectangleContourOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
34
+
35
+ Explicit sampling ceiling for the complete output profile.
36
+
37
+
38
+
39
+ ## Returns
40
+
41
+ [`Contour`](Contour.md)
42
+
43
+
44
+ ## Related APIs
45
+
46
+ - [Contour](Contour.md)
47
+ - [RectangleContourOptions](RectangleContourOptions.md)
48
+
49
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,53 @@
1
+ # rectangleProfile
2
+
3
+ Creates an identified rectangle whose edge/corner spans survive zero and saturated round radii. Outer winding is CCW.
4
+
5
+ **rectangleProfile**(`options`: [`RectangleProfileOptions`](RectangleProfileOptions.md)): [`Profile`](Profile.md)
6
+
7
+
8
+
9
+ ## Example: Retain rectangle landmarks
10
+
11
+ ```ts
12
+ rectangleProfile({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`RectangleProfileOptions`](RectangleProfileOptions.md) · Required
20
+
21
+ - [`size`](RectangleProfileOptions.md#size) · `number` \| [`Vector2`](Vector2.md) · Required
22
+
23
+ Positive uniform size or explicit XY extents in millimetres.
24
+
25
+ - [`center`](RectangleProfileOptions.md#center) · `boolean` · Optional
26
+
27
+ Center on XY; otherwise the minimum corner is the origin. Defaults to true.
28
+
29
+ - [`treatment`](RectangleProfileOptions.md#treatment) · [`EdgeTreatment`](EdgeTreatment.md) \| [`RectangleCornerTreatments`](RectangleCornerTreatments.md) · Optional
30
+
31
+ Uniform treatment or four corner treatments. Exact round segments describe a complete circle and must divide by four.
32
+
33
+ - [`limits`](RectangleProfileOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
34
+
35
+ Explicit sampling ceiling for the complete output profile.
36
+
37
+ - [`id`](RectangleProfileOptions.md#id) · `string` · Optional
38
+
39
+ Canonical component identity of at most 64 characters. Defaults to body.
40
+
41
+
42
+
43
+ ## Returns
44
+
45
+ [`Profile`](Profile.md)
46
+
47
+
48
+ ## Related APIs
49
+
50
+ - [Profile](Profile.md)
51
+ - [RectangleProfileOptions](RectangleProfileOptions.md)
52
+
53
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,34 @@
1
+ # regionArea
2
+
3
+ Returns the total filled area of a normalized region in square millimetres.
4
+
5
+ **regionArea**(`region`: [`Region`](Region.md)): `number`
6
+
7
+
8
+
9
+ Each polygon contributes its outer-loop area minus the areas of its holes. An empty region has
10
+ zero area. Call [normalizeRegion](normalizeRegion.md) first when input winding or topology is not already
11
+ canonical.
12
+
13
+ ## Parameters
14
+
15
+ <a id="region"></a>
16
+
17
+ **`region`** · [`Region`](Region.md) · Required
18
+
19
+ Normalized disjoint polygons with CCW outers and clockwise holes.
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ `number`
26
+
27
+ Total filled area in square millimetres.
28
+
29
+
30
+ ## Related APIs
31
+
32
+ - [Region](Region.md)
33
+
34
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,27 @@
1
+ # regionBounds
2
+
3
+ Returns finite axis-aligned bounds for a non-empty region.
4
+
5
+ **regionBounds**(`region`: [`Region`](Region.md)): [`Bounds2`](Bounds2.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="region"></a>
12
+
13
+ **`region`** · [`Region`](Region.md) · Required
14
+
15
+
16
+
17
+ ## Returns
18
+
19
+ [`Bounds2`](Bounds2.md)
20
+
21
+
22
+ ## Related APIs
23
+
24
+ - [Bounds2](Bounds2.md)
25
+ - [Region](Region.md)
26
+
27
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,53 @@
1
+ # regularPolygonContour
2
+
3
+ Creates a centered CCW point loop with vertex or face radial sizing and an implicit seam.
4
+
5
+ `const` **regularPolygonContour**: (`options`: [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md)) => readonly [`Vector2`](Vector2.md)[]
6
+
7
+
8
+
9
+ ## Example: Hexagon sized to its faces
10
+
11
+ ```ts
12
+ regularPolygonContour({ radius: 10, sides: 6, sizing: "face" });
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md) · Required
20
+
21
+ - [`radius`](RegularPolygonContourOptions.md#radius) · `number` · Required
22
+
23
+ Positive nominal radius in millimetres, interpreted according to sizing.
24
+
25
+ - [`sides`](RegularPolygonContourOptions.md#sides) · `number` · Required
26
+
27
+ Exact side count from three through the selected profile sampling ceiling.
28
+
29
+ - [`limits`](RegularPolygonContourOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
30
+
31
+ Explicit sampling ceilings; bound modeling operations may only lower the host policy.
32
+
33
+ - [`sizing`](RegularPolygonContourOptions.md#sizing) · [`RadialSizing`](RadialSizing.md) · Optional
34
+
35
+ Vertex sizing is inscribed; face sizing circumscribes the nominal radius. Defaults to vertex.
36
+
37
+ - [`rotationDegrees`](RegularPolygonContourOptions.md#rotationdegrees) · `number` · Optional
38
+
39
+ Counterclockwise rotation in degrees; defaults to zero with a vertex on +X.
40
+
41
+
42
+
43
+ ## Returns
44
+
45
+ readonly [`Vector2`](Vector2.md)[]
46
+
47
+
48
+ ## Related APIs
49
+
50
+ - [RegularPolygonContourOptions](RegularPolygonContourOptions.md)
51
+ - [Vector2](Vector2.md)
52
+
53
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,64 @@
1
+ # resamplePolyline2
2
+
3
+ Resamples a planar polyline with the same point, tangent, seam and budget guarantees as 3D.
4
+
5
+ **resamplePolyline2**(`path`: readonly [`Vector2`](Vector2.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve2`](SampledCurve2.md)
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segments: 20});
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="path"></a>
18
+
19
+ **`path`** · readonly [`Vector2`](Vector2.md)[] · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`PolylineResamplingOptions`](PolylineResamplingOptions.md) · Optional
26
+
27
+ - [`resolution`](PolylineResamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
28
+
29
+ Millimetre sampling policy; circularSegments applies only to arcs.
30
+
31
+ - [`maximumVertices`](PolylineResamplingOptions.md#maximumvertices) · `number` · Optional
32
+
33
+ Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
34
+
35
+ - [`limits`](PolylineResamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
36
+
37
+ Explicit sampling ceilings; omitted values use package defaults without ambient state.
38
+
39
+ - [`segments`](PolylineResamplingOptions.md#segments) · `number` · Optional
40
+
41
+ Exact equal arc-length intervals; closed paths require at least three.
42
+
43
+ - [`closed`](PolylineResamplingOptions.md#closed) · `boolean` · Optional
44
+
45
+ Includes the closing edge without repeating the first output point; defaults to false.
46
+
47
+
48
+
49
+ ## Returns
50
+
51
+ [`SampledCurve2`](SampledCurve2.md)
52
+
53
+ ## Remarks
54
+
55
+ Only final 2D output vectors are copied and frozen. No immutable 3D intermediate is built.
56
+
57
+
58
+ ## Related APIs
59
+
60
+ - [PolylineResamplingOptions](PolylineResamplingOptions.md)
61
+ - [SampledCurve2](SampledCurve2.md)
62
+ - [Vector2](Vector2.md)
63
+
64
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,67 @@
1
+ # resamplePolyline3
2
+
3
+ Resamples a spatial polyline at equal arc lengths with directed outgoing tangents.
4
+
5
+ **resamplePolyline3**(`path`: readonly [`Vector3`](Vector3.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve3`](SampledCurve3.md)
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="path"></a>
18
+
19
+ **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`PolylineResamplingOptions`](PolylineResamplingOptions.md) · Optional
26
+
27
+ - [`resolution`](PolylineResamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
28
+
29
+ Millimetre sampling policy; circularSegments applies only to arcs.
30
+
31
+ - [`maximumVertices`](PolylineResamplingOptions.md#maximumvertices) · `number` · Optional
32
+
33
+ Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
34
+
35
+ - [`limits`](PolylineResamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
36
+
37
+ Explicit sampling ceilings; omitted values use package defaults without ambient state.
38
+
39
+ - [`segments`](PolylineResamplingOptions.md#segments) · `number` · Optional
40
+
41
+ Exact equal arc-length intervals; closed paths require at least three.
42
+
43
+ - [`closed`](PolylineResamplingOptions.md#closed) · `boolean` · Optional
44
+
45
+ Includes the closing edge without repeating the first output point; defaults to false.
46
+
47
+
48
+
49
+ ## Returns
50
+
51
+ [`SampledCurve3`](SampledCurve3.md)
52
+
53
+ ## Remarks
54
+
55
+ Open paths retain both endpoints; closed paths include the closing edge and omit the
56
+ repeated seam. Repeated adjacent inputs and explicit closing duplicates are removed. Physical
57
+ maxSegmentLength bounds arc-length intervals; exact counts override that policy. Output edges
58
+ may bridge original corners. Sampling never silently lowers the requested detail to fit its budget.
59
+
60
+
61
+ ## Related APIs
62
+
63
+ - [PolylineResamplingOptions](PolylineResamplingOptions.md)
64
+ - [SampledCurve3](SampledCurve3.md)
65
+ - [Vector3](Vector3.md)
66
+
67
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,79 @@
1
+ # resolveAlignedCircularSegments
2
+
3
+ Resolves a deterministic full-circle count aligned to reusable topology factors.
4
+
5
+ **resolveAlignedCircularSegments**(`radius`: `number`, `options`: [`AlignedCircularSegmentsOptions`](AlignedCircularSegmentsOptions.md)): `number`
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ const alignedSegments = resolveAlignedCircularSegments(20, { alignTo: [4, 6] });
13
+ ```
14
+
15
+ `alignTo` must be non-empty and contain only positive safe integers. Its checked least common
16
+ multiple defines the alignment grid. An exact `segments` value wins over
17
+ `resolution.circularSegments` and adaptive sampling, but is never rounded: it must already be
18
+ aligned and meet `minimumSegments`. Adaptive counts are rounded upward and fail with
19
+ `COMPLEXITY_LIMIT` when the aligned result exceeds the configured safety cap.
20
+
21
+ ## Parameters
22
+
23
+ <a id="radius"></a>
24
+
25
+ **`radius`** · `number` · Required
26
+
27
+ Positive circle radius in millimetres used for adaptive physical sampling.
28
+
29
+
30
+
31
+ <a id="options"></a>
32
+
33
+ **`options`** · [`AlignedCircularSegmentsOptions`](AlignedCircularSegmentsOptions.md) · Required
34
+
35
+ Required alignment factors plus optional floor, exact count, and resolution.
36
+
37
+ - [`alignTo`](AlignedCircularSegmentsOptions.md#alignto) · readonly `number`[] · Required
38
+
39
+ Non-empty alignment factors. Every value must be a positive safe integer; the returned count
40
+ is divisible by their checked least common multiple.
41
+
42
+ - [`limits`](AlignedCircularSegmentsOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
43
+
44
+ Explicit sampling allocation ceilings.
45
+
46
+ - [`minimumSegments`](AlignedCircularSegmentsOptions.md#minimumsegments) · `number` · Optional · Default: `3`
47
+
48
+ Additional full-circle segment floor, as a safe integer of at least three.
49
+
50
+ - [`segments`](AlignedCircularSegmentsOptions.md#segments) · `number` · Optional
51
+
52
+ Exact full-circle segment count.
53
+
54
+ This takes precedence over `resolution.circularSegments` and adaptive sampling, and must
55
+ already satisfy every alignment factor and `minimumSegments`.
56
+
57
+ - [`resolution`](AlignedCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
58
+
59
+ Operation-level physical tessellation policy over the active model-wide policy.
60
+
61
+
62
+
63
+ ## Returns
64
+
65
+ `number`
66
+
67
+ An aligned full-circle segment count.
68
+
69
+
70
+ ## Throws
71
+
72
+ - GeometryError when radius, alignment factors, segment floors, or resolution are invalid, or alignment exceeds safe integer or configured complexity limits.
73
+
74
+ ## Related APIs
75
+
76
+ - [AlignedCircularSegmentsOptions](AlignedCircularSegmentsOptions.md)
77
+ - [resolveCircularSegments](resolveCircularSegments.md)
78
+
79
+ Package: `@metamesh/modeling@0.13.0`.