@metamesh/modeling 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +103 -72
  3. package/dist/api/engine.d.ts +123 -97
  4. package/dist/api/geometry.d.ts +4232 -3307
  5. package/dist/api/index.d.ts +2758 -2268
  6. package/dist/api/text.d.ts +119 -107
  7. package/dist/docs/guides/concepts.md +300 -0
  8. package/dist/docs/guides/fonts.md +59 -0
  9. package/dist/docs/guides/fundamentals.md +137 -0
  10. package/dist/docs/guides/generation.md +223 -0
  11. package/dist/docs/guides/hosting.md +91 -0
  12. package/dist/docs/guides/recipes.md +718 -0
  13. package/dist/docs/manifest.json +10703 -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 +92 -0
  33. package/dist/docs/reference/geometry/Anchor3.md +53 -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 +62 -0
  37. package/dist/docs/reference/geometry/AxisAngleRotation3.md +66 -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 +14 -0
  45. package/dist/docs/reference/geometry/BoxAnchorOptions.md +63 -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/CircularResolutionOptions.md +107 -0
  56. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +41 -0
  57. package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -0
  58. package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +34 -0
  59. package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +65 -0
  60. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +53 -0
  61. package/dist/docs/reference/geometry/Contour.md +17 -0
  62. package/dist/docs/reference/geometry/ContourCurve.md +35 -0
  63. package/dist/docs/reference/geometry/ContourPoint.md +29 -0
  64. package/dist/docs/reference/geometry/ContourSegment.md +86 -0
  65. package/dist/docs/reference/geometry/CorrespondingComponent.md +46 -0
  66. package/dist/docs/reference/geometry/CorrespondingContour.md +46 -0
  67. package/dist/docs/reference/geometry/CorrespondingProfile.md +22 -0
  68. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +27 -0
  69. package/dist/docs/reference/geometry/CubicBezierCurve2.md +70 -0
  70. package/dist/docs/reference/geometry/CubicBezierCurve3.md +70 -0
  71. package/dist/docs/reference/geometry/Curve2.md +16 -0
  72. package/dist/docs/reference/geometry/Curve3.md +16 -0
  73. package/dist/docs/reference/geometry/CurveSamplingOptions.md +64 -0
  74. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +73 -0
  75. package/dist/docs/reference/geometry/CylinderAnchorFace.md +14 -0
  76. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +87 -0
  77. package/dist/docs/reference/geometry/CylinderOptions.md +53 -0
  78. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +209 -0
  79. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +7 -0
  80. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +71 -0
  81. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +82 -0
  82. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +34 -0
  83. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +41 -0
  84. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +47 -0
  85. package/dist/docs/reference/geometry/CylindricalGearSpec.md +82 -0
  86. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -0
  87. package/dist/docs/reference/geometry/EdgeTreatment.md +17 -0
  88. package/dist/docs/reference/geometry/EllipseContourOptions.md +15 -0
  89. package/dist/docs/reference/geometry/EndTreatments.md +34 -0
  90. package/dist/docs/reference/geometry/ExtrudeOptions.md +134 -0
  91. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +77 -0
  92. package/dist/docs/reference/geometry/FittedTextLayout.md +60 -0
  93. package/dist/docs/reference/geometry/Frame3.md +58 -0
  94. package/dist/docs/reference/geometry/GeometryError.md +97 -0
  95. package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -0
  96. package/dist/docs/reference/geometry/GeometryErrorContext.md +29 -0
  97. package/dist/docs/reference/geometry/GeometryResolution.md +74 -0
  98. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +62 -0
  99. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +41 -0
  100. package/dist/docs/reference/geometry/GridPatternOptions.md +42 -0
  101. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +14 -0
  102. package/dist/docs/reference/geometry/HeightfieldOptions.md +67 -0
  103. package/dist/docs/reference/geometry/HeightfieldPreflight.md +53 -0
  104. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +141 -0
  105. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +265 -0
  106. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +53 -0
  107. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +18 -0
  108. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +242 -0
  109. package/dist/docs/reference/geometry/LineCurve2.md +46 -0
  110. package/dist/docs/reference/geometry/LineCurve3.md +46 -0
  111. package/dist/docs/reference/geometry/LinearPatternOptions.md +30 -0
  112. package/dist/docs/reference/geometry/LoftCorrespondence.md +19 -0
  113. package/dist/docs/reference/geometry/LoftMeshStation.md +27 -0
  114. package/dist/docs/reference/geometry/LoftOptions.md +84 -0
  115. package/dist/docs/reference/geometry/LoftPlacement.md +66 -0
  116. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +18 -0
  117. package/dist/docs/reference/geometry/MatchProfilesOptions.md +35 -0
  118. package/dist/docs/reference/geometry/MetricFastenerSize.md +7 -0
  119. package/dist/docs/reference/geometry/MetricFastenerStandard.md +72 -0
  120. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +29 -0
  121. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +41 -0
  122. package/dist/docs/reference/geometry/ModelingLimits.md +126 -0
  123. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +17 -0
  124. package/dist/docs/reference/geometry/Path2.md +14 -0
  125. package/dist/docs/reference/geometry/Path3.md +14 -0
  126. package/dist/docs/reference/geometry/PathFrame.md +46 -0
  127. package/dist/docs/reference/geometry/PathNormalGuide.md +38 -0
  128. package/dist/docs/reference/geometry/PathPatternOptions.md +46 -0
  129. package/dist/docs/reference/geometry/PathPlacement.md +34 -0
  130. package/dist/docs/reference/geometry/Pivot2Options.md +26 -0
  131. package/dist/docs/reference/geometry/Pivot3Options.md +26 -0
  132. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +7 -0
  133. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +156 -0
  134. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +120 -0
  135. package/dist/docs/reference/geometry/PlanarPatchQuality.md +190 -0
  136. package/dist/docs/reference/geometry/PolygonData.md +38 -0
  137. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +92 -0
  138. package/dist/docs/reference/geometry/PrimitivePlacement.md +31 -0
  139. package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +83 -0
  140. package/dist/docs/reference/geometry/PrintableThreadFit.md +7 -0
  141. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +45 -0
  142. package/dist/docs/reference/geometry/Profile.md +22 -0
  143. package/dist/docs/reference/geometry/ProfileComponent2.md +46 -0
  144. package/dist/docs/reference/geometry/ProfileContour2.md +34 -0
  145. package/dist/docs/reference/geometry/ProfileSpan2.md +47 -0
  146. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +36 -0
  147. package/dist/docs/reference/geometry/RackPitchDimensions.md +113 -0
  148. package/dist/docs/reference/geometry/RackPitchSpec.md +77 -0
  149. package/dist/docs/reference/geometry/RadialPatternOptions.md +62 -0
  150. package/dist/docs/reference/geometry/RadialSizing.md +7 -0
  151. package/dist/docs/reference/geometry/RadialSizingOptions.md +40 -0
  152. package/dist/docs/reference/geometry/RectangleContourOptions.md +66 -0
  153. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +34 -0
  154. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +14 -0
  155. package/dist/docs/reference/geometry/RectangleProfileOptions.md +94 -0
  156. package/dist/docs/reference/geometry/RegionData.md +14 -0
  157. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +84 -0
  158. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +65 -0
  159. package/dist/docs/reference/geometry/RevolveOptions.md +82 -0
  160. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +91 -0
  161. package/dist/docs/reference/geometry/RowLayoutOptions.md +23 -0
  162. package/dist/docs/reference/geometry/SampleContourOptions.md +71 -0
  163. package/dist/docs/reference/geometry/SampleHelixOptions.md +95 -0
  164. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +71 -0
  165. package/dist/docs/reference/geometry/SampledCurve2.md +34 -0
  166. package/dist/docs/reference/geometry/SampledCurve3.md +34 -0
  167. package/dist/docs/reference/geometry/SampledThreadHelices.md +58 -0
  168. package/dist/docs/reference/geometry/SideProfileCurve.md +35 -0
  169. package/dist/docs/reference/geometry/SideProfilePoint.md +29 -0
  170. package/dist/docs/reference/geometry/SideProfileSegment.md +86 -0
  171. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +71 -0
  172. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +34 -0
  173. package/dist/docs/reference/geometry/SphereOptions.md +15 -0
  174. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +75 -0
  175. package/dist/docs/reference/geometry/StrokePathCap.md +7 -0
  176. package/dist/docs/reference/geometry/StrokePathJoin.md +7 -0
  177. package/dist/docs/reference/geometry/StrokePathRegionOptions.md +85 -0
  178. package/dist/docs/reference/geometry/SvgImportOptions.md +60 -0
  179. package/dist/docs/reference/geometry/SvgRegionPreflight.md +61 -0
  180. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +118 -0
  181. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +65 -0
  182. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +53 -0
  183. package/dist/docs/reference/geometry/SweepOptions.md +109 -0
  184. package/dist/docs/reference/geometry/SweepOrientation.md +109 -0
  185. package/dist/docs/reference/geometry/ThreadBevelOptions.md +53 -0
  186. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +100 -0
  187. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +73 -0
  188. package/dist/docs/reference/geometry/ThreadEndStyle.md +7 -0
  189. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +113 -0
  190. package/dist/docs/reference/geometry/ThreadHandedness.md +7 -0
  191. package/dist/docs/reference/geometry/ThreadHelixOptions.md +120 -0
  192. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +7 -0
  193. package/dist/docs/reference/geometry/ThreadLeadInShape.md +7 -0
  194. package/dist/docs/reference/geometry/ThreadProfile.md +82 -0
  195. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +49 -0
  196. package/dist/docs/reference/geometry/ThreadProfileSpec.md +19 -0
  197. package/dist/docs/reference/geometry/ThreadRole.md +7 -0
  198. package/dist/docs/reference/geometry/ThreadedNutBevel.md +7 -0
  199. package/dist/docs/reference/geometry/ThreadedNutOptions.md +269 -0
  200. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +94 -0
  201. package/dist/docs/reference/geometry/ThreadedNutShape.md +7 -0
  202. package/dist/docs/reference/geometry/ThreadedRodOptions.md +242 -0
  203. package/dist/docs/reference/geometry/TorusOptions.md +105 -0
  204. package/dist/docs/reference/geometry/Transform2-type.md +255 -0
  205. package/dist/docs/reference/geometry/Transform2Input.md +19 -0
  206. package/dist/docs/reference/geometry/Transform2Matrix.md +14 -0
  207. package/dist/docs/reference/geometry/Transform3-type.md +295 -0
  208. package/dist/docs/reference/geometry/Transform3Input.md +19 -0
  209. package/dist/docs/reference/geometry/Transform3Matrix.md +17 -0
  210. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +91 -0
  211. package/dist/docs/reference/geometry/TriangleMesh.md +34 -0
  212. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +119 -0
  213. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +75 -0
  214. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +75 -0
  215. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +39 -0
  216. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +190 -0
  217. package/dist/docs/reference/geometry/TriangleMeshSignature.md +107 -0
  218. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +41 -0
  219. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +29 -0
  220. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +51 -0
  221. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +91 -0
  222. package/dist/docs/reference/geometry/TubeOptions.md +138 -0
  223. package/dist/docs/reference/geometry/Vector2-type.md +269 -0
  224. package/dist/docs/reference/geometry/Vector2Input.md +19 -0
  225. package/dist/docs/reference/geometry/Vector2Tuple.md +14 -0
  226. package/dist/docs/reference/geometry/Vector3-type.md +281 -0
  227. package/dist/docs/reference/geometry/Vector3Input.md +19 -0
  228. package/dist/docs/reference/geometry/Vector3Tuple.md +14 -0
  229. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +53 -0
  230. package/dist/docs/reference/geometry/VectorTextLayout.md +39 -0
  231. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +111 -0
  232. package/dist/docs/reference/geometry/VectorTextMetrics.md +94 -0
  233. package/dist/docs/reference/geometry/VectorTextOptions.md +50 -0
  234. package/dist/docs/reference/geometry/add2.md +36 -0
  235. package/dist/docs/reference/geometry/add3.md +42 -0
  236. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +57 -0
  237. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +52 -0
  238. package/dist/docs/reference/geometry/anchorFrame3.md +40 -0
  239. package/dist/docs/reference/geometry/applyTransformDirection3.md +45 -0
  240. package/dist/docs/reference/geometry/applyTransformPoint3.md +43 -0
  241. package/dist/docs/reference/geometry/attachTransform.md +77 -0
  242. package/dist/docs/reference/geometry/boundsCenter.md +62 -0
  243. package/dist/docs/reference/geometry/boundsFromSize.md +83 -0
  244. package/dist/docs/reference/geometry/boundsSize.md +62 -0
  245. package/dist/docs/reference/geometry/boxAnchor3.md +52 -0
  246. package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +68 -0
  247. package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +102 -0
  248. package/dist/docs/reference/geometry/categories/bounds-layout.md +35 -0
  249. package/dist/docs/reference/geometry/categories/curves-paths.md +66 -0
  250. package/dist/docs/reference/geometry/categories/mechanical.md +101 -0
  251. package/dist/docs/reference/geometry/categories/meshes.md +73 -0
  252. package/dist/docs/reference/geometry/categories/pattern-placement.md +34 -0
  253. package/dist/docs/reference/geometry/categories/primitive-options.md +36 -0
  254. package/dist/docs/reference/geometry/categories/profiles-regions.md +74 -0
  255. package/dist/docs/reference/geometry/categories/resolution-errors.md +47 -0
  256. package/dist/docs/reference/geometry/categories/transforms-math.md +92 -0
  257. package/dist/docs/reference/geometry/categories/vector-import.md +40 -0
  258. package/dist/docs/reference/geometry/circleContour.md +33 -0
  259. package/dist/docs/reference/geometry/closeToAxis.md +34 -0
  260. package/dist/docs/reference/geometry/closestPointOnPath.md +110 -0
  261. package/dist/docs/reference/geometry/compensateThreadDiameters.md +51 -0
  262. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +42 -0
  263. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +56 -0
  264. package/dist/docs/reference/geometry/composeTransform3.md +44 -0
  265. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +45 -0
  266. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +47 -0
  267. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +31 -0
  268. package/dist/docs/reference/geometry/containsBounds.md +72 -0
  269. package/dist/docs/reference/geometry/contourContainsPoint.md +33 -0
  270. package/dist/docs/reference/geometry/createAnchor3.md +67 -0
  271. package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
  272. package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
  273. package/dist/docs/reference/geometry/cross2.md +36 -0
  274. package/dist/docs/reference/geometry/cross3.md +42 -0
  275. package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
  276. package/dist/docs/reference/geometry/cylinderAnchor3.md +60 -0
  277. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
  278. package/dist/docs/reference/geometry/distance2.md +36 -0
  279. package/dist/docs/reference/geometry/distance3.md +36 -0
  280. package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
  281. package/dist/docs/reference/geometry/dot2.md +36 -0
  282. package/dist/docs/reference/geometry/dot3.md +42 -0
  283. package/dist/docs/reference/geometry/ellipseContour.md +33 -0
  284. package/dist/docs/reference/geometry/eulerTransform3.md +42 -0
  285. package/dist/docs/reference/geometry/extrudeMesh.md +73 -0
  286. package/dist/docs/reference/geometry/fitBounds.md +95 -0
  287. package/dist/docs/reference/geometry/fitTextLayout.md +57 -0
  288. package/dist/docs/reference/geometry/frameTransform3.md +48 -0
  289. package/dist/docs/reference/geometry/getMetricClearanceHole.md +33 -0
  290. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +27 -0
  291. package/dist/docs/reference/geometry/gridPatternTransforms.md +31 -0
  292. package/dist/docs/reference/geometry/heightfieldMesh.md +43 -0
  293. package/dist/docs/reference/geometry/inverseTransform3.md +34 -0
  294. package/dist/docs/reference/geometry/isGeometryError.md +26 -0
  295. package/dist/docs/reference/geometry/joinTriangleMeshes.md +36 -0
  296. package/dist/docs/reference/geometry/layoutRow.md +43 -0
  297. package/dist/docs/reference/geometry/length2.md +30 -0
  298. package/dist/docs/reference/geometry/length3.md +30 -0
  299. package/dist/docs/reference/geometry/lerp2.md +42 -0
  300. package/dist/docs/reference/geometry/lerp3.md +42 -0
  301. package/dist/docs/reference/geometry/linearPatternTransforms.md +31 -0
  302. package/dist/docs/reference/geometry/loftMesh.md +72 -0
  303. package/dist/docs/reference/geometry/matchProfiles.md +51 -0
  304. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +48 -0
  305. package/dist/docs/reference/geometry/measureTriangleMesh.md +55 -0
  306. package/dist/docs/reference/geometry/meshBounds.md +35 -0
  307. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +29 -0
  308. package/dist/docs/reference/geometry/normalize2.md +36 -0
  309. package/dist/docs/reference/geometry/normalize3.md +36 -0
  310. package/dist/docs/reference/geometry/normalizeContour.md +45 -0
  311. package/dist/docs/reference/geometry/normalizePolygon.md +37 -0
  312. package/dist/docs/reference/geometry/normalizeRegion.md +33 -0
  313. package/dist/docs/reference/geometry/optimizePlanarPatches.md +91 -0
  314. package/dist/docs/reference/geometry/pathLength.md +33 -0
  315. package/dist/docs/reference/geometry/pathPatternTransforms.md +57 -0
  316. package/dist/docs/reference/geometry/preflightHeightfield.md +34 -0
  317. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +96 -0
  318. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +85 -0
  319. package/dist/docs/reference/geometry/preflightSvgRegion.md +56 -0
  320. package/dist/docs/reference/geometry/preflightThreadedNut.md +96 -0
  321. package/dist/docs/reference/geometry/preflightThreadedRod.md +85 -0
  322. package/dist/docs/reference/geometry/projectOntoPlane3.md +36 -0
  323. package/dist/docs/reference/geometry/radialPatternTransforms.md +47 -0
  324. package/dist/docs/reference/geometry/rectangleContour.md +49 -0
  325. package/dist/docs/reference/geometry/rectangleProfile.md +53 -0
  326. package/dist/docs/reference/geometry/regionArea.md +34 -0
  327. package/dist/docs/reference/geometry/regionBounds.md +27 -0
  328. package/dist/docs/reference/geometry/regularPolygonContour.md +53 -0
  329. package/dist/docs/reference/geometry/resamplePolyline2.md +64 -0
  330. package/dist/docs/reference/geometry/resamplePolyline3.md +67 -0
  331. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +83 -0
  332. package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
  333. package/dist/docs/reference/geometry/resolveCircularSegments.md +62 -0
  334. package/dist/docs/reference/geometry/resolveCylindricalGear.md +31 -0
  335. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +31 -0
  336. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +74 -0
  337. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +26 -0
  338. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +59 -0
  339. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +27 -0
  340. package/dist/docs/reference/geometry/resolveRackPitch.md +27 -0
  341. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +59 -0
  342. package/dist/docs/reference/geometry/reverseTriangleMesh.md +30 -0
  343. package/dist/docs/reference/geometry/revolveMesh.md +76 -0
  344. package/dist/docs/reference/geometry/rotate2.md +36 -0
  345. package/dist/docs/reference/geometry/rotationTransform3.md +53 -0
  346. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +50 -0
  347. package/dist/docs/reference/geometry/sampleContour.md +77 -0
  348. package/dist/docs/reference/geometry/sampleCurve2.md +61 -0
  349. package/dist/docs/reference/geometry/sampleCurve3.md +61 -0
  350. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +58 -0
  351. package/dist/docs/reference/geometry/sampleHelix.md +41 -0
  352. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +59 -0
  353. package/dist/docs/reference/geometry/sampleRackToothPath.md +39 -0
  354. package/dist/docs/reference/geometry/sampleSideProfile.md +73 -0
  355. package/dist/docs/reference/geometry/sampleTextContours.md +53 -0
  356. package/dist/docs/reference/geometry/sampleThreadHelices.md +63 -0
  357. package/dist/docs/reference/geometry/scale2.md +36 -0
  358. package/dist/docs/reference/geometry/scale3.md +42 -0
  359. package/dist/docs/reference/geometry/scaleTransform3.md +38 -0
  360. package/dist/docs/reference/geometry/signedContourArea.md +26 -0
  361. package/dist/docs/reference/geometry/starContour.md +51 -0
  362. package/dist/docs/reference/geometry/strokePathRegion.md +63 -0
  363. package/dist/docs/reference/geometry/subtract2.md +36 -0
  364. package/dist/docs/reference/geometry/subtract3.md +42 -0
  365. package/dist/docs/reference/geometry/sweepMesh.md +82 -0
  366. package/dist/docs/reference/geometry/transform2.md +38 -0
  367. package/dist/docs/reference/geometry/transform3.md +38 -0
  368. package/dist/docs/reference/geometry/transformContour.md +42 -0
  369. package/dist/docs/reference/geometry/transformDeterminant3.md +36 -0
  370. package/dist/docs/reference/geometry/transformPath2.md +40 -0
  371. package/dist/docs/reference/geometry/transformPath3.md +33 -0
  372. package/dist/docs/reference/geometry/transformRegionData.md +40 -0
  373. package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
  374. package/dist/docs/reference/geometry/translationTransform3.md +35 -0
  375. package/dist/docs/reference/geometry/triangulateContour.md +26 -0
  376. package/dist/docs/reference/geometry/validateSolidMesh.md +52 -0
  377. package/dist/docs/reference/geometry/validateTransform3.md +47 -0
  378. package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -0
  379. package/dist/docs/reference/geometry/vector2.md +31 -0
  380. package/dist/docs/reference/geometry/vector3.md +38 -0
  381. package/dist/docs/reference/geometry.md +30 -0
  382. package/dist/docs/reference/model/Anchor3.md +54 -0
  383. package/dist/docs/reference/model/AttachOptions.md +63 -0
  384. package/dist/docs/reference/model/Bounds2.md +39 -0
  385. package/dist/docs/reference/model/Bounds3.md +39 -0
  386. package/dist/docs/reference/model/BoxEdge.md +15 -0
  387. package/dist/docs/reference/model/BoxEdgeSelection.md +19 -0
  388. package/dist/docs/reference/model/BoxEdgeTreatments.md +20 -0
  389. package/dist/docs/reference/model/BoxOptions.md +92 -0
  390. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +35 -0
  391. package/dist/docs/reference/model/CircleContourOptions.md +21 -0
  392. package/dist/docs/reference/model/CircleOptions.md +21 -0
  393. package/dist/docs/reference/model/CircularPrimitiveOptions.md +64 -0
  394. package/dist/docs/reference/model/Computed.md +35 -0
  395. package/dist/docs/reference/model/ComputedValue.md +20 -0
  396. package/dist/docs/reference/model/Contour.md +22 -0
  397. package/dist/docs/reference/model/CorrespondingComponent.md +46 -0
  398. package/dist/docs/reference/model/CorrespondingContour.md +46 -0
  399. package/dist/docs/reference/model/CorrespondingProfile.md +22 -0
  400. package/dist/docs/reference/model/CorrespondingProfileStation.md +27 -0
  401. package/dist/docs/reference/model/CylinderOptions.md +58 -0
  402. package/dist/docs/reference/model/DiagnosticOptions.md +23 -0
  403. package/dist/docs/reference/model/EdgeTreatment.md +22 -0
  404. package/dist/docs/reference/model/EllipseContourOptions.md +21 -0
  405. package/dist/docs/reference/model/EllipseOptions.md +21 -0
  406. package/dist/docs/reference/model/EndTreatments.md +39 -0
  407. package/dist/docs/reference/model/ExtrudeOptions.md +140 -0
  408. package/dist/docs/reference/model/FinalizedModel.md +121 -0
  409. package/dist/docs/reference/model/FinalizedPart.md +87 -0
  410. package/dist/docs/reference/model/Frame3.md +63 -0
  411. package/dist/docs/reference/model/GenerateCallback.md +37 -0
  412. package/dist/docs/reference/model/GenerateContext.md +277 -0
  413. package/dist/docs/reference/model/GeneratedPart.md +93 -0
  414. package/dist/docs/reference/model/GenerationDiagnostic.md +41 -0
  415. package/dist/docs/reference/model/GenerationError.md +54 -0
  416. package/dist/docs/reference/model/GeometryResolution.md +70 -0
  417. package/dist/docs/reference/model/GeometrySamplingLimits.md +62 -0
  418. package/dist/docs/reference/model/GeometryToleranceOptions.md +46 -0
  419. package/dist/docs/reference/model/GridPatternOptions.md +43 -0
  420. package/dist/docs/reference/model/HeightfieldOptions.md +67 -0
  421. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +140 -0
  422. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +58 -0
  423. package/dist/docs/reference/model/HullOptions.md +72 -0
  424. package/dist/docs/reference/model/ImmutableBuffer-type.md +80 -0
  425. package/dist/docs/reference/model/ImmutableTriangleMesh.md +34 -0
  426. package/dist/docs/reference/model/ImplicitOptions.md +83 -0
  427. package/dist/docs/reference/model/InternalThreadCutterOptions.md +245 -0
  428. package/dist/docs/reference/model/LinearPatternOptions.md +31 -0
  429. package/dist/docs/reference/model/LoftCorrespondence.md +27 -0
  430. package/dist/docs/reference/model/LoftOptions.md +91 -0
  431. package/dist/docs/reference/model/LoftPlacement.md +73 -0
  432. package/dist/docs/reference/model/LoftStation.md +35 -0
  433. package/dist/docs/reference/model/MatchProfilesOptions.md +35 -0
  434. package/dist/docs/reference/model/ModelProgram.md +44 -0
  435. package/dist/docs/reference/model/ModelingLimits.md +126 -0
  436. package/dist/docs/reference/model/NumericArray.md +7 -0
  437. package/dist/docs/reference/model/PartGeometry.md +16 -0
  438. package/dist/docs/reference/model/PartOptions.md +65 -0
  439. package/dist/docs/reference/model/Path2.md +20 -0
  440. package/dist/docs/reference/model/PathNormalGuide.md +45 -0
  441. package/dist/docs/reference/model/PathPatternOptions.md +47 -0
  442. package/dist/docs/reference/model/PatternSource.md +26 -0
  443. package/dist/docs/reference/model/Pivot2Options.md +27 -0
  444. package/dist/docs/reference/model/Pivot3Options.md +27 -0
  445. package/dist/docs/reference/model/PlaneOptions.md +39 -0
  446. package/dist/docs/reference/model/PolygonData.md +43 -0
  447. package/dist/docs/reference/model/PolygonOptions.md +189 -0
  448. package/dist/docs/reference/model/PrimitivePlacement.md +40 -0
  449. package/dist/docs/reference/model/PrimitivePlacementOptions.md +88 -0
  450. package/dist/docs/reference/model/PrintableThreadFit.md +14 -0
  451. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +50 -0
  452. package/dist/docs/reference/model/Profile.md +22 -0
  453. package/dist/docs/reference/model/ProfileComponent2.md +46 -0
  454. package/dist/docs/reference/model/ProfileContour2.md +34 -0
  455. package/dist/docs/reference/model/ProfileSpan2.md +47 -0
  456. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +41 -0
  457. package/dist/docs/reference/model/RadialPatternOptions.md +63 -0
  458. package/dist/docs/reference/model/RadialSizing.md +15 -0
  459. package/dist/docs/reference/model/RadialSizingOptions.md +40 -0
  460. package/dist/docs/reference/model/RectangleContourOptions.md +72 -0
  461. package/dist/docs/reference/model/RectangleCornerTreatment.md +40 -0
  462. package/dist/docs/reference/model/RectangleCornerTreatments.md +20 -0
  463. package/dist/docs/reference/model/RectangleOptions.md +107 -0
  464. package/dist/docs/reference/model/RegionData.md +19 -0
  465. package/dist/docs/reference/model/RegularPolygonOptions.md +53 -0
  466. package/dist/docs/reference/model/RevolveOptions.md +89 -0
  467. package/dist/docs/reference/model/RoundedEdgeTreatment.md +96 -0
  468. package/dist/docs/reference/model/Section.md +490 -0
  469. package/dist/docs/reference/model/SectionHullOptions.md +72 -0
  470. package/dist/docs/reference/model/SectionInspection.md +98 -0
  471. package/dist/docs/reference/model/SectionOffsetJoin.md +16 -0
  472. package/dist/docs/reference/model/SectionOffsetOptions.md +65 -0
  473. package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
  474. package/dist/docs/reference/model/Solid.md +373 -0
  475. package/dist/docs/reference/model/SolidInspection.md +98 -0
  476. package/dist/docs/reference/model/SolidRayHit.md +58 -0
  477. package/dist/docs/reference/model/SphereOptions.md +20 -0
  478. package/dist/docs/reference/model/StarOptions.md +98 -0
  479. package/dist/docs/reference/model/StrokeOptions.md +91 -0
  480. package/dist/docs/reference/model/StrokePathCap.md +16 -0
  481. package/dist/docs/reference/model/StrokePathJoin.md +16 -0
  482. package/dist/docs/reference/model/SvgOrigin.md +16 -0
  483. package/dist/docs/reference/model/SvgPathSectionOptions.md +78 -0
  484. package/dist/docs/reference/model/SvgSectionOptions.md +66 -0
  485. package/dist/docs/reference/model/SweepOptions.md +116 -0
  486. package/dist/docs/reference/model/SweepOrientation.md +116 -0
  487. package/dist/docs/reference/model/TextSectionOptions.md +41 -0
  488. package/dist/docs/reference/model/ThreadEndStyle.md +14 -0
  489. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +117 -0
  490. package/dist/docs/reference/model/ThreadHandedness.md +14 -0
  491. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +14 -0
  492. package/dist/docs/reference/model/ThreadLeadInShape.md +14 -0
  493. package/dist/docs/reference/model/ThreadProfile.md +86 -0
  494. package/dist/docs/reference/model/ThreadRidgeOptions.md +18 -0
  495. package/dist/docs/reference/model/ThreadedNutBevel.md +14 -0
  496. package/dist/docs/reference/model/ThreadedNutOptions.md +273 -0
  497. package/dist/docs/reference/model/ThreadedNutPreflight.md +98 -0
  498. package/dist/docs/reference/model/ThreadedNutShape.md +14 -0
  499. package/dist/docs/reference/model/ThreadedRodOptions.md +245 -0
  500. package/dist/docs/reference/model/TorusOptions.md +110 -0
  501. package/dist/docs/reference/model/Transform2-type.md +256 -0
  502. package/dist/docs/reference/model/Transform2Input.md +20 -0
  503. package/dist/docs/reference/model/Transform2Matrix.md +15 -0
  504. package/dist/docs/reference/model/Transform3-type.md +296 -0
  505. package/dist/docs/reference/model/Transform3Input.md +20 -0
  506. package/dist/docs/reference/model/Transform3Matrix.md +18 -0
  507. package/dist/docs/reference/model/TriangleMesh.md +42 -0
  508. package/dist/docs/reference/model/TriangleMeshAnalysis.md +123 -0
  509. package/dist/docs/reference/model/TriangleMeshMeasurements.md +79 -0
  510. package/dist/docs/reference/model/TubeOptions.md +143 -0
  511. package/dist/docs/reference/model/Vector2-type.md +270 -0
  512. package/dist/docs/reference/model/Vector2Input.md +20 -0
  513. package/dist/docs/reference/model/Vector2Tuple.md +15 -0
  514. package/dist/docs/reference/model/Vector3-type.md +282 -0
  515. package/dist/docs/reference/model/Vector3Input.md +20 -0
  516. package/dist/docs/reference/model/Vector3Tuple.md +15 -0
  517. package/dist/docs/reference/model/VectorTextLayout.md +40 -0
  518. package/dist/docs/reference/model/VectorTextMetrics.md +100 -0
  519. package/dist/docs/reference/model/anchor.md +46 -0
  520. package/dist/docs/reference/model/box.md +62 -0
  521. package/dist/docs/reference/model/categories/boolean-operations.md +37 -0
  522. package/dist/docs/reference/model/categories/bounded-surfaces.md +26 -0
  523. package/dist/docs/reference/model/categories/contracts.md +16 -0
  524. package/dist/docs/reference/model/categories/core-values-errors.md +30 -0
  525. package/dist/docs/reference/model/categories/explicit-profiles.md +32 -0
  526. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +42 -0
  527. package/dist/docs/reference/model/categories/generation.md +44 -0
  528. package/dist/docs/reference/model/categories/inspection.md +23 -0
  529. package/dist/docs/reference/model/categories/mesh-inspection.md +29 -0
  530. package/dist/docs/reference/model/categories/primitives.md +61 -0
  531. package/dist/docs/reference/model/categories/resolution.md +18 -0
  532. package/dist/docs/reference/model/categories/sections.md +62 -0
  533. package/dist/docs/reference/model/categories/threads.md +50 -0
  534. package/dist/docs/reference/model/categories/transforms-placement.md +57 -0
  535. package/dist/docs/reference/model/circle.md +39 -0
  536. package/dist/docs/reference/model/components.md +71 -0
  537. package/dist/docs/reference/model/compose.md +31 -0
  538. package/dist/docs/reference/model/cylinder.md +52 -0
  539. package/dist/docs/reference/model/distance.md +45 -0
  540. package/dist/docs/reference/model/ellipse.md +39 -0
  541. package/dist/docs/reference/model/extrude.md +83 -0
  542. package/dist/docs/reference/model/generate.md +46 -0
  543. package/dist/docs/reference/model/gridPattern.md +80 -0
  544. package/dist/docs/reference/model/heightfield.md +40 -0
  545. package/dist/docs/reference/model/hull.md +74 -0
  546. package/dist/docs/reference/model/immutableBuffer.md +44 -0
  547. package/dist/docs/reference/model/immutableMesh.md +40 -0
  548. package/dist/docs/reference/model/implicit.md +47 -0
  549. package/dist/docs/reference/model/inspectSection.md +38 -0
  550. package/dist/docs/reference/model/inspectSolid.md +38 -0
  551. package/dist/docs/reference/model/internalThreadCutter.md +100 -0
  552. package/dist/docs/reference/model/intersect.md +70 -0
  553. package/dist/docs/reference/model/isEmpty.md +39 -0
  554. package/dist/docs/reference/model/linearPattern.md +80 -0
  555. package/dist/docs/reference/model/loft.md +137 -0
  556. package/dist/docs/reference/model/matchProfiles.md +42 -0
  557. package/dist/docs/reference/model/minkowskiSum.md +37 -0
  558. package/dist/docs/reference/model/pathPattern.md +118 -0
  559. package/dist/docs/reference/model/polygon.md +40 -0
  560. package/dist/docs/reference/model/preflightInternalThreadCutter.md +89 -0
  561. package/dist/docs/reference/model/preflightThreadedNut.md +100 -0
  562. package/dist/docs/reference/model/preflightThreadedRod.md +89 -0
  563. package/dist/docs/reference/model/radialPattern.md +113 -0
  564. package/dist/docs/reference/model/rayCast.md +40 -0
  565. package/dist/docs/reference/model/rectangle.md +59 -0
  566. package/dist/docs/reference/model/regularPolygon.md +39 -0
  567. package/dist/docs/reference/model/revolve.md +74 -0
  568. package/dist/docs/reference/model/solidFromMesh.md +42 -0
  569. package/dist/docs/reference/model/sphere.md +42 -0
  570. package/dist/docs/reference/model/split.md +54 -0
  571. package/dist/docs/reference/model/splitByPlane.md +66 -0
  572. package/dist/docs/reference/model/star.md +63 -0
  573. package/dist/docs/reference/model/stroke.md +74 -0
  574. package/dist/docs/reference/model/svgPathSection.md +65 -0
  575. package/dist/docs/reference/model/svgSection.md +64 -0
  576. package/dist/docs/reference/model/sweep.md +92 -0
  577. package/dist/docs/reference/model/textSection.md +57 -0
  578. package/dist/docs/reference/model/threadRidge.md +72 -0
  579. package/dist/docs/reference/model/threadedNut.md +110 -0
  580. package/dist/docs/reference/model/threadedRod.md +99 -0
  581. package/dist/docs/reference/model/toTriangleMesh.md +27 -0
  582. package/dist/docs/reference/model/torus.md +70 -0
  583. package/dist/docs/reference/model/transform2.md +39 -0
  584. package/dist/docs/reference/model/transform3.md +39 -0
  585. package/dist/docs/reference/model/tube.md +77 -0
  586. package/dist/docs/reference/model/union.md +72 -0
  587. package/dist/docs/reference/model/vector2.md +32 -0
  588. package/dist/docs/reference/model/vector3.md +39 -0
  589. package/dist/docs/reference/model.md +39 -0
  590. package/dist/docs/reference/text/Bounds2.md +34 -0
  591. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -0
  592. package/dist/docs/reference/text/Vector2Tuple.md +7 -0
  593. package/dist/docs/reference/text/VectorFont.md +186 -0
  594. package/dist/docs/reference/text/VectorFontOptions.md +17 -0
  595. package/dist/docs/reference/text/VectorTextArcBaseline.md +53 -0
  596. package/dist/docs/reference/text/VectorTextLayout.md +34 -0
  597. package/dist/docs/reference/text/VectorTextLayoutOptions.md +111 -0
  598. package/dist/docs/reference/text/VectorTextMetrics.md +94 -0
  599. package/dist/docs/reference/text/VectorTextOptions.md +50 -0
  600. package/dist/docs/reference/text/categories/font-preparation.md +38 -0
  601. package/dist/docs/reference/text/prepareVectorFont.md +46 -0
  602. package/dist/docs/reference/text.md +21 -0
  603. package/dist/engine/construction-operations.js +10 -3
  604. package/dist/engine/deferred-context.js +11 -172
  605. package/dist/engine/execution.js +1 -1
  606. package/dist/engine/export-3mf.js +2 -2
  607. package/dist/engine/finalization.js +3 -3
  608. package/dist/engine/loft-operations.js +4 -4
  609. package/dist/engine/native/adapter.js +1 -1
  610. package/dist/engine/native/regions.js +9 -9
  611. package/dist/engine/native/transforms.js +6 -1
  612. package/dist/engine/pattern-operations.js +24 -13
  613. package/dist/engine/placement.js +2 -2
  614. package/dist/engine/primitive-operations.js +10 -10
  615. package/dist/engine/primitive-profiles.js +1 -0
  616. package/dist/engine/profile-mesh.js +7 -7
  617. package/dist/engine/recipe-realization.js +29 -21
  618. package/dist/engine/section-operations.js +44 -17
  619. package/dist/engine/session-graph.js +6 -4
  620. package/dist/engine/session-native.js +1 -1
  621. package/dist/engine/session-snapshot.js +3 -2
  622. package/dist/engine/session.js +4 -5
  623. package/dist/engine/shape-anchors.js +3 -9
  624. package/dist/engine/transform-operations.js +42 -25
  625. package/dist/geometry/bounds.js +117 -0
  626. package/dist/geometry/cylinder.js +5 -1
  627. package/dist/geometry/edge-finishing.js +2 -2
  628. package/dist/geometry/heightfield.js +1 -1
  629. package/dist/geometry/index.js +20 -13
  630. package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
  631. package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
  632. package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
  633. package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
  634. package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
  635. package/dist/geometry/{loft.js → loft/loft.js} +8 -8
  636. package/dist/geometry/math/immutable-value.js +20 -0
  637. package/dist/geometry/math/vector-value.js +168 -0
  638. package/dist/geometry/math/vector2.js +80 -0
  639. package/dist/geometry/math/vector3.js +42 -8
  640. package/dist/geometry/mechanical/gear-motion.js +7 -4
  641. package/dist/geometry/mechanical/gears.js +2 -2
  642. package/dist/geometry/mechanical/thread-mesh.js +3 -3
  643. package/dist/geometry/mechanical/thread-profiles.js +2 -2
  644. package/dist/geometry/mechanical/thread-surface.js +14 -5
  645. package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
  646. package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
  647. package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
  648. package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
  649. package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +5 -1
  650. package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
  651. package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
  652. package/dist/geometry/paths/closest-point.js +74 -0
  653. package/dist/geometry/paths/frames.js +7 -8
  654. package/dist/geometry/patterns/options.js +1 -0
  655. package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
  656. package/dist/geometry/patterns.js +25 -0
  657. package/dist/geometry/primitive-resolution.js +4 -1
  658. package/dist/geometry/primitive-resolvers.js +9 -9
  659. package/dist/geometry/profiles/contour.js +3 -3
  660. package/dist/geometry/profiles/matched.js +3 -3
  661. package/dist/geometry/profiles/profiles.js +10 -10
  662. package/dist/geometry/profiles/rectangle.js +7 -7
  663. package/dist/geometry/profiles/shapes.js +9 -9
  664. package/dist/geometry/profiles/side-profile.js +37 -0
  665. package/dist/geometry/regions.js +15 -15
  666. package/dist/geometry/resolution.js +17 -5
  667. package/dist/geometry/revolve/revolve-mesh.js +5 -5
  668. package/dist/geometry/stroke-path.js +50 -46
  669. package/dist/geometry/svg/errors.js +0 -3
  670. package/dist/geometry/svg/fill.js +7 -7
  671. package/dist/geometry/svg/index.js +1 -1
  672. package/dist/geometry/svg/matrix.js +0 -114
  673. package/dist/geometry/svg/parser.js +1 -439
  674. package/dist/geometry/svg-import.js +3 -3
  675. package/dist/geometry/sweeps/stations.js +4 -4
  676. package/dist/geometry/sweeps/sweep-closed.js +4 -4
  677. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  678. package/dist/geometry/sweeps/sweep-open.js +6 -6
  679. package/dist/geometry/sweeps/validation.js +2 -2
  680. package/dist/geometry/text-fitting.js +85 -0
  681. package/dist/geometry/tolerance.js +2 -2
  682. package/dist/geometry/transform-chain.js +172 -0
  683. package/dist/geometry/transform-geometry.js +31 -27
  684. package/dist/geometry/transform-matrix.js +14 -0
  685. package/dist/geometry/transform2.js +60 -0
  686. package/dist/geometry/transform3.js +70 -26
  687. package/dist/index.js +3 -0
  688. package/dist/model/execution-binding.js +10 -5
  689. package/dist/model/generation.js +1 -1
  690. package/dist/model/geometry-recipes.js +15 -0
  691. package/dist/{engine → model}/immutable-generation-data.js +25 -3
  692. package/dist/model/operation-contracts.js +1 -0
  693. package/dist/model/operation-dispatch.js +13 -0
  694. package/dist/model/operations.js +40 -59
  695. package/dist/model/recipe-declaration.js +193 -0
  696. package/dist/model/shape-handles.js +15 -4
  697. package/package.json +10 -8
  698. package/dist/engine/geometry-recipes.js +0 -12
  699. /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
@@ -0,0 +1,29 @@
1
+ # minimumCylindricalGearToothCountWithoutUndercut
2
+
3
+ Returns the smallest unshifted full-depth external tooth count that avoids rack-cutter undercut.
4
+
5
+ **minimumCylindricalGearToothCountWithoutUndercut**(`spec?`: `Readonly`\<`Pick`\<[`CylindricalGearSpec`](CylindricalGearSpec.md), `"helixAngleDegrees"` \| `"pressureAngleDegrees"`\>\>): `number`
6
+
7
+
8
+
9
+ The normal-plane limit is `2 / sin²(alpha_n)`. Helical gears use the standard virtual tooth
10
+ count `z_v = z / cos³(beta)`, so increasing helix angle can reduce the physical tooth count.
11
+
12
+ ## Parameters
13
+
14
+ <a id="spec"></a>
15
+
16
+ **`spec`** · `Readonly`\<`Pick`\<[`CylindricalGearSpec`](CylindricalGearSpec.md), `"helixAngleDegrees"` \| `"pressureAngleDegrees"`\>\> · Optional
17
+
18
+
19
+
20
+ ## Returns
21
+
22
+ `number`
23
+
24
+
25
+ ## Related APIs
26
+
27
+ - [CylindricalGearSpec](CylindricalGearSpec.md)
28
+
29
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,36 @@
1
+ # normalize2
2
+
3
+ Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). Rejects invalid thresholds, nonfinite lengths, and lengths at or below the threshold with `INVALID_TOLERANCE`, `NON_FINITE_VALUE`, and `DEGENERATE_GEOMETRY` respectively.
4
+
5
+ `const` **normalize2**: (`vector`: [`Vector2Tuple`](Vector2Tuple.md), `epsilon?`: `number`) => [`Vector2Tuple`](Vector2Tuple.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="vector"></a>
12
+
13
+ **`vector`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
14
+
15
+
16
+
17
+ <a id="epsilon"></a>
18
+
19
+ **`epsilon`** · `number` · Optional
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`Vector2Tuple`](Vector2Tuple.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Vector2Tuple](Vector2Tuple.md)
31
+
32
+ ## Guides
33
+
34
+ - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
35
+
36
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,36 @@
1
+ # normalize3
2
+
3
+ Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). Rejects invalid thresholds, nonfinite lengths, and lengths at or below the threshold with `INVALID_TOLERANCE`, `NON_FINITE_VALUE`, and `DEGENERATE_GEOMETRY` respectively.
4
+
5
+ `const` **normalize3**: (`vector`: [`Vector3Tuple`](Vector3Tuple.md), `epsilon?`: `number`) => [`Vector3Tuple`](Vector3Tuple.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="vector"></a>
12
+
13
+ **`vector`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
14
+
15
+
16
+
17
+ <a id="epsilon"></a>
18
+
19
+ **`epsilon`** · `number` · Optional
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`Vector3Tuple`](Vector3Tuple.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Vector3Tuple](Vector3Tuple.md)
31
+
32
+ ## Guides
33
+
34
+ - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
35
+
36
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,45 @@
1
+ # normalizeContour
2
+
3
+ Cleans and validates one closed loop.
4
+
5
+ **normalizeContour**(`input`: readonly [`Vector2Tuple`](Vector2Tuple.md)[], `counterClockwise`: `boolean`, `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Contour`](Contour.md)
6
+
7
+
8
+
9
+ Adjacent duplicates and a repeated seam point are removed. Coordinates must
10
+ be finite, the effective loop must contain at least three points, and the
11
+ result must be simple and have non-zero area. Previously validated immutable results may be
12
+ returned unchanged when their winding and tolerance policy match.
13
+
14
+ ## Parameters
15
+
16
+ <a id="input"></a>
17
+
18
+ **`input`** · readonly [`Vector2Tuple`](Vector2Tuple.md)[] · Required
19
+
20
+
21
+
22
+ <a id="counterclockwise"></a>
23
+
24
+ **`counterClockwise`** · `boolean` · Required
25
+
26
+
27
+
28
+ <a id="tolerance"></a>
29
+
30
+ **`tolerance`** · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
31
+
32
+
33
+
34
+ ## Returns
35
+
36
+ [`Contour`](Contour.md)
37
+
38
+
39
+ ## Related APIs
40
+
41
+ - [Contour](Contour.md)
42
+ - [GeometryToleranceOptions](GeometryToleranceOptions.md)
43
+ - [Vector2Tuple](Vector2Tuple.md)
44
+
45
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,37 @@
1
+ # normalizePolygon
2
+
3
+ Validates explicit polygon topology and normalizes its winding.
4
+
5
+ **normalizePolygon**(`polygon`: [`PolygonData`](PolygonData.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`PolygonData`](PolygonData.md)
6
+
7
+
8
+
9
+ Exteriors become CCW and holes clockwise. Every hole must lie strictly
10
+ within its exterior and boundaries may not intersect. Previously validated immutable results
11
+ may be returned unchanged under the same tolerance policy.
12
+
13
+ ## Parameters
14
+
15
+ <a id="polygon"></a>
16
+
17
+ **`polygon`** · [`PolygonData`](PolygonData.md) · Required
18
+
19
+
20
+
21
+ <a id="tolerance"></a>
22
+
23
+ **`tolerance`** · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
24
+
25
+
26
+
27
+ ## Returns
28
+
29
+ [`PolygonData`](PolygonData.md)
30
+
31
+
32
+ ## Related APIs
33
+
34
+ - [GeometryToleranceOptions](GeometryToleranceOptions.md)
35
+ - [PolygonData](PolygonData.md)
36
+
37
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,33 @@
1
+ # normalizeRegion
2
+
3
+ Validates a disjoint explicit region and returns immutable normalized data. Previously validated immutable results may be returned unchanged under the same tolerance policy.
4
+
5
+ **normalizeRegion**(`region`: [`RegionData`](RegionData.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`RegionData`](RegionData.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="region"></a>
12
+
13
+ **`region`** · [`RegionData`](RegionData.md) · Required
14
+
15
+
16
+
17
+ <a id="tolerance"></a>
18
+
19
+ **`tolerance`** · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`RegionData`](RegionData.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [GeometryToleranceOptions](GeometryToleranceOptions.md)
31
+ - [RegionData](RegionData.md)
32
+
33
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,91 @@
1
+ # optimizePlanarPatches
2
+
3
+ Improves pathological planar triangulation with bounded legal diagonal flips.
4
+
5
+ **optimizePlanarPatches**(`mesh`: [`TriangleMesh`](TriangleMesh.md), `options?`: [`PlanarMeshOptimizationOptions`](PlanarMeshOptimizationOptions.md)): [`PlanarMeshOptimizationResult`](PlanarMeshOptimizationResult.md)
6
+
7
+
8
+
9
+ The operation changes indices only: it never moves, adds, welds, or removes vertices; never
10
+ crosses a coplanar-patch boundary; and never changes the face count. Each accepted flip improves
11
+ a deterministic ordering of triangle angles, aspect ratio, diagonal locality, and local
12
+ incidence/valence concentration. Unsupported input or a failed final integrity check returns the
13
+ exact original mesh object. Malformed buffers and the configured analysis complexity limit throw.
14
+
15
+ ## Parameters
16
+
17
+ <a id="mesh"></a>
18
+
19
+ **`mesh`** · [`TriangleMesh`](TriangleMesh.md) · Required
20
+
21
+ Closed, consistently wound indexed triangle mesh in arbitrary consistent units.
22
+
23
+
24
+
25
+ <a id="options"></a>
26
+
27
+ **`options`** · [`PlanarMeshOptimizationOptions`](PlanarMeshOptimizationOptions.md) · Optional
28
+
29
+ Patch eligibility, numeric tolerance, and deterministic work bounds.
30
+
31
+ - [`maximumFlipAttempts`](PlanarMeshOptimizationOptions.md#maximumflipattempts) · `number` · Optional
32
+
33
+ Maximum attempted edge evaluations. By default this is twenty times the initial candidate
34
+ edge count, capped at `1000000`.
35
+
36
+ - [`maximumEdgeRevisits`](PlanarMeshOptimizationOptions.md#maximumedgerevisits) · `number` · Optional
37
+
38
+ Maximum times one edge may be reconsidered after neighbouring flips. Defaults to `12`.
39
+
40
+ - [`maximumPatchTriangleCount`](PlanarMeshOptimizationOptions.md#maximumpatchtrianglecount) · `number` · Optional
41
+
42
+ Maximum triangles allowed in one selected patch. Defaults to `50000`.
43
+
44
+ - [`maximumProcessedTriangleCount`](PlanarMeshOptimizationOptions.md#maximumprocessedtrianglecount) · `number` · Optional
45
+
46
+ Maximum cumulative triangles across selected patches. Defaults to `200000`.
47
+
48
+ - [`minimumPatchTriangleCount`](PlanarMeshOptimizationOptions.md#minimumpatchtrianglecount) · `number` · Optional
49
+
50
+ Minimum triangles required before a planar patch is eligible. Defaults to `8`.
51
+
52
+ - [`triggerMaximumAspectRatio`](PlanarMeshOptimizationOptions.md#triggermaximumaspectratio) · `number` · Optional
53
+
54
+ Select patches whose worst normalized aspect ratio exceeds this value. Defaults to `12`.
55
+
56
+ - [`triggerMaximumFanRatio`](PlanarMeshOptimizationOptions.md#triggermaximumfanratio) · `number` · Optional
57
+
58
+ Select patches whose largest per-vertex triangle share exceeds this ratio. Defaults to `0.2`.
59
+
60
+ - [`triggerMaximumVertexTriangleIncidence`](PlanarMeshOptimizationOptions.md#triggermaximumvertextriangleincidence) · `number` · Optional
61
+
62
+ Select patches whose largest vertex triangle incidence exceeds this value. Defaults to `16`.
63
+
64
+ - [`triggerMinimumAngleDegrees`](PlanarMeshOptimizationOptions.md#triggerminimumangledegrees) · `number` · Optional
65
+
66
+ Select patches whose smallest interior angle is below this many degrees. Defaults to `8`.
67
+
68
+ - [`maximumTriangleCount`](PlanarMeshOptimizationOptions.md#maximumtrianglecount) · `number` · Optional
69
+
70
+ Maximum number of triangles inspected. Defaults to `200000`.
71
+
72
+ - [`tolerance`](PlanarMeshOptimizationOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
73
+
74
+ Numeric comparison overrides; model coordinates are interpreted in their existing units.
75
+
76
+
77
+
78
+ ## Returns
79
+
80
+ [`PlanarMeshOptimizationResult`](PlanarMeshOptimizationResult.md)
81
+
82
+ Optimized connectivity and before/after diagnostics, or an unchanged safe fallback.
83
+
84
+
85
+ ## Related APIs
86
+
87
+ - [PlanarMeshOptimizationOptions](PlanarMeshOptimizationOptions.md)
88
+ - [PlanarMeshOptimizationResult](PlanarMeshOptimizationResult.md)
89
+ - [TriangleMesh](TriangleMesh.md)
90
+
91
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,33 @@
1
+ # pathLength
2
+
3
+ Returns total sampled 3D path length, or zero for an empty path.
4
+
5
+ `const` **pathLength**: (`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => `number`
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="path"></a>
12
+
13
+ **`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
14
+
15
+
16
+
17
+ <a id="limits"></a>
18
+
19
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ `number`
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
31
+ - [Vector3Tuple](Vector3Tuple.md)
32
+
33
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,57 @@
1
+ # pathPatternTransforms
2
+
3
+ Equal physical arc-length placements along a sampled XYZ path. Tangent orientation maps +Z onto the local path tangent; fixed orientation only translates. Closed paths omit a repeated seam. Explicit sampling ceilings bound both input points and output placements.
4
+
5
+ **pathPatternTransforms**(`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `options`: [`PathPatternOptions`](PathPatternOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): readonly [`Transform3Matrix`](Transform3Matrix.md)[]
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="path"></a>
12
+
13
+ **`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
14
+
15
+
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`PathPatternOptions`](PathPatternOptions.md) · Required
20
+
21
+ - [`count`](PathPatternOptions.md#count) · `number` · Required
22
+
23
+ Positive number of copies; open paths include both endpoints when greater than one.
24
+
25
+ - [`closed`](PathPatternOptions.md#closed) · `boolean` · Optional
26
+
27
+ Include the closing edge without duplicating the seam; defaults to false.
28
+
29
+ - [`orientation`](PathPatternOptions.md#orientation) · `"fixed"` \| `"tangent"` · Optional
30
+
31
+ Preserve the source orientation, or align its +Z to the path tangent; defaults to fixed.
32
+
33
+
34
+
35
+ <a id="limits"></a>
36
+
37
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
38
+
39
+
40
+
41
+ ## Returns
42
+
43
+ readonly [`Transform3Matrix`](Transform3Matrix.md)[]
44
+
45
+
46
+ ## Related APIs
47
+
48
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
49
+ - [PathPatternOptions](PathPatternOptions.md)
50
+ - [Transform3Matrix](Transform3Matrix.md)
51
+ - [Vector3Tuple](Vector3Tuple.md)
52
+
53
+ ## Guides
54
+
55
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
56
+
57
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,34 @@
1
+ # preflightHeightfield
2
+
3
+ Checks grid dimensions, coordinate precision, and allocation bounds before evaluating heights.
4
+
5
+ **preflightHeightfield**(`options`: [`HeightfieldOptions`](HeightfieldOptions.md), `limits?`: `Partial`\<`Pick`\<[`ModelingLimits`](ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\>): [`HeightfieldPreflight`](HeightfieldPreflight.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`HeightfieldOptions`](HeightfieldOptions.md) · Required
14
+
15
+
16
+
17
+ <a id="limits"></a>
18
+
19
+ **`limits`** · `Partial`\<`Pick`\<[`ModelingLimits`](ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\> · Optional
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`HeightfieldPreflight`](HeightfieldPreflight.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [HeightfieldOptions](HeightfieldOptions.md)
31
+ - [HeightfieldPreflight](HeightfieldPreflight.md)
32
+ - [ModelingLimits](ModelingLimits.md)
33
+
34
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,96 @@
1
+ # preflightHelicalThreadSolidMesh
2
+
3
+ Validates a direct thread solid and returns its conservative allocation estimate without constructing vertex or index buffers.
4
+
5
+ **preflightHelicalThreadSolidMesh**(`options`: [`HelicalThreadSolidMeshOptions`](HelicalThreadSolidMeshOptions.md)): [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`HelicalThreadSolidMeshOptions`](HelicalThreadSolidMeshOptions.md) · Required
14
+
15
+ - [`length`](HelicalThreadSolidMeshOptions.md#length) · `number` · Required
16
+
17
+ Total threaded axial length in millimetres.
18
+
19
+ - [`majorDiameter`](HelicalThreadSolidMeshOptions.md#majordiameter) · `number` · Required
20
+
21
+ Nominal major diameter before any caller-owned fit compensation.
22
+
23
+ - [`profile`](HelicalThreadSolidMeshOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
24
+
25
+ Validated periodic profile repeated around the shaft.
26
+
27
+ - [`ends`](HelicalThreadSolidMeshOptions.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`](HelicalThreadSolidMeshOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
33
+
34
+ Helix direction. Default: `right`.
35
+
36
+ - [`limits`](HelicalThreadSolidMeshOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
37
+
38
+ Explicit output and circular allocation ceilings.
39
+
40
+ - [`phaseDegrees`](HelicalThreadSolidMeshOptions.md#phasedegrees) · `number` · Optional
41
+
42
+ Angular offset of the first start in degrees. Default: `0`.
43
+
44
+ - [`resolution`](HelicalThreadSolidMeshOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
45
+
46
+ Optional circular-resolution policy.
47
+
48
+ - [`starts`](HelicalThreadSolidMeshOptions.md#starts) · `number` · Optional
49
+
50
+ Number of evenly phased starts. Default: `1`.
51
+
52
+ - [`tolerance`](HelicalThreadSolidMeshOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
53
+
54
+ Optional numerical tolerance overrides.
55
+
56
+ - [`bevelBottom`](HelicalThreadSolidMeshOptions.md#bevelbottom) · `boolean` · Optional
57
+
58
+ Apply a 45-degree radial bevel at the lower target face.
59
+
60
+ - [`bevelBottomSize`](HelicalThreadSolidMeshOptions.md#bevelbottomsize) · `number` · Optional
61
+
62
+ Lower bevel size override. Takes precedence over `bevelSize`.
63
+
64
+ - [`bevelOffset`](HelicalThreadSolidMeshOptions.md#beveloffset) · `number` · Optional
65
+
66
+ Distance of each bevel target face inward from the corresponding mesh end.
67
+
68
+ - [`bevelMode`](HelicalThreadSolidMeshOptions.md#bevelmode) · `"inset"` \| `"outset"` · Optional
69
+
70
+ `inset` trims an external rod; `outset` expands an internal cutter.
71
+
72
+ - [`bevelSize`](HelicalThreadSolidMeshOptions.md#bevelsize) · `number` · Optional
73
+
74
+ Axial and radial bevel size. Defaults to the profile depth.
75
+
76
+ - [`bevelTop`](HelicalThreadSolidMeshOptions.md#beveltop) · `boolean` · Optional
77
+
78
+ Apply a 45-degree radial bevel at the upper target face.
79
+
80
+ - [`bevelTopSize`](HelicalThreadSolidMeshOptions.md#beveltopsize) · `number` · Optional
81
+
82
+ Upper bevel size override. Takes precedence over `bevelSize`.
83
+
84
+
85
+
86
+ ## Returns
87
+
88
+ [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
89
+
90
+
91
+ ## Related APIs
92
+
93
+ - [HelicalThreadSolidMeshOptions](HelicalThreadSolidMeshOptions.md)
94
+ - [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
95
+
96
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,85 @@
1
+ # preflightInternalThreadCutter
2
+
3
+ Preflights the exact extended mesh used by the internal thread cutter constructor.
4
+
5
+ **preflightInternalThreadCutter**(`options`: [`InternalThreadCutterOptions`](InternalThreadCutterOptions.md)): [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`InternalThreadCutterOptions`](InternalThreadCutterOptions.md) · Required
14
+
15
+ - [`length`](InternalThreadCutterOptions.md#length) · `number` · Required
16
+
17
+ Total threaded axial length in millimetres.
18
+
19
+ - [`profile`](InternalThreadCutterOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
20
+
21
+ Validated periodic profile repeated around the shaft.
22
+
23
+ - [`nominalMajorDiameter`](InternalThreadCutterOptions.md#nominalmajordiameter) · `number` · Required
24
+
25
+ Nominal major diameter before female compensation and faceting correction.
26
+
27
+ - [`ends`](InternalThreadCutterOptions.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`](InternalThreadCutterOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
33
+
34
+ Helix direction. Default: `right`.
35
+
36
+ - [`limits`](InternalThreadCutterOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
37
+
38
+ Explicit output and circular allocation ceilings.
39
+
40
+ - [`phaseDegrees`](InternalThreadCutterOptions.md#phasedegrees) · `number` · Optional
41
+
42
+ Angular offset of the first start in degrees. Default: `0`.
43
+
44
+ - [`resolution`](InternalThreadCutterOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
45
+
46
+ Optional circular-resolution policy.
47
+
48
+ - [`starts`](InternalThreadCutterOptions.md#starts) · `number` · Optional
49
+
50
+ Number of evenly phased starts. Default: `1`.
51
+
52
+ - [`tolerance`](InternalThreadCutterOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
53
+
54
+ Optional numerical tolerance overrides.
55
+
56
+ - [`fit`](InternalThreadCutterOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
57
+
58
+ Printable fit or caller-calibrated allowances. Default: `normal`.
59
+
60
+ - [`bevelBottom`](InternalThreadCutterOptions.md#bevelbottom) · `boolean` · Optional
61
+
62
+ Apply a 45-degree bevel at Z=0.
63
+
64
+ - [`bevelSize`](InternalThreadCutterOptions.md#bevelsize) · `number` · Optional
65
+
66
+ Axial bevel extent in millimetres. Active blunt ends default to one sixth of the compensated
67
+ male minor radius or female major radius; other ends default to the profile depth.
68
+
69
+ - [`bevelTop`](InternalThreadCutterOptions.md#beveltop) · `boolean` · Optional
70
+
71
+ Apply a 45-degree bevel at Z=length.
72
+
73
+
74
+
75
+ ## Returns
76
+
77
+ [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
78
+
79
+
80
+ ## Related APIs
81
+
82
+ - [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
83
+ - [InternalThreadCutterOptions](InternalThreadCutterOptions.md)
84
+
85
+ Package: `@metamesh/modeling@0.14.0`.
@@ -0,0 +1,56 @@
1
+ # preflightSvgRegion
2
+
3
+ Preflights bounded SVG geometry without browser or Manifold dependencies.
4
+
5
+ **preflightSvgRegion**(`svg`: `string`, `options?`: [`SvgImportOptions`](SvgImportOptions.md)): [`SvgRegionPreflight`](SvgRegionPreflight.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="svg"></a>
12
+
13
+ **`svg`** · `string` · Required
14
+
15
+ Complete SVG XML source, limited to 256 KiB of UTF-8.
16
+
17
+
18
+
19
+ <a id="options"></a>
20
+
21
+ **`options`** · [`SvgImportOptions`](SvgImportOptions.md) · Optional
22
+
23
+ Physical flattening and viewport-origin controls.
24
+
25
+ - [`limits`](SvgImportOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
26
+
27
+ Explicit profile and circular allocation ceilings; bounded SVG source/work limits remain fixed.
28
+
29
+ - [`circularSegments`](SvgImportOptions.md#circularsegments) · `number` · Optional
30
+
31
+ Exact segments for a complete ellipse or round stroke feature.
32
+
33
+ - [`resolution`](SvgImportOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
34
+
35
+ Operation-level physical tessellation policy over the active model-wide policy.
36
+
37
+ - [`origin`](SvgImportOptions.md#origin) · `"center"` \| `"document"` · Optional
38
+
39
+ `"center"` places the viewport center at the origin. `"document"` places its converted
40
+ lower-left corner at the origin. Default: `"center"`.
41
+
42
+
43
+
44
+ ## Returns
45
+
46
+ [`SvgRegionPreflight`](SvgRegionPreflight.md)
47
+
48
+ The canonical normalized region plus bounded source, topology, and safe-repair facts.
49
+
50
+
51
+ ## Related APIs
52
+
53
+ - [SvgImportOptions](SvgImportOptions.md)
54
+ - [SvgRegionPreflight](SvgRegionPreflight.md)
55
+
56
+ Package: `@metamesh/modeling@0.14.0`.