@metamesh/modeling 0.17.0 → 0.19.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 (832) hide show
  1. package/CHANGELOG.md +186 -0
  2. package/README.md +147 -157
  3. package/dist/api/engine.d.ts +106 -83
  4. package/dist/api/export-3mf.d.ts +2 -0
  5. package/dist/api/export-glb.d.ts +2 -0
  6. package/dist/api/export-stl.d.ts +2 -0
  7. package/dist/api/export.d.ts +160 -0
  8. package/dist/api/geometry.d.ts +250 -461
  9. package/dist/api/index.d.ts +470 -445
  10. package/dist/api/mesh.d.ts +489 -0
  11. package/dist/api/text.d.ts +1 -1
  12. package/dist/docs/guides/concepts.md +32 -495
  13. package/dist/docs/guides/fonts.md +14 -13
  14. package/dist/docs/guides/fundamentals.md +30 -29
  15. package/dist/docs/guides/generation.md +84 -64
  16. package/dist/docs/guides/geometry-values.md +193 -0
  17. package/dist/docs/guides/hosting.md +147 -48
  18. package/dist/docs/guides/profiles-and-extrusion.md +252 -0
  19. package/dist/docs/guides/recipes.md +33 -769
  20. package/dist/docs/guides/resolution-and-inspection.md +133 -0
  21. package/dist/docs/guides/solid-joins.md +126 -0
  22. package/dist/docs/guides/standalone-model.md +8 -7
  23. package/dist/docs/guides/svg-and-text.md +215 -0
  24. package/dist/docs/guides/sweeps-and-lofts.md +179 -0
  25. package/dist/docs/guides/transforms-and-placement.md +313 -0
  26. package/dist/docs/manifest.json +3224 -4430
  27. package/dist/docs/reference/engine/GenerationOptions.md +12 -5
  28. package/dist/docs/reference/engine/GeometryResource.md +19 -13
  29. package/dist/docs/reference/engine/ModelDependencies.md +9 -3
  30. package/dist/docs/reference/engine/ModelEngine.md +33 -24
  31. package/dist/docs/reference/engine/ModelEngineOptions.md +13 -2
  32. package/dist/docs/reference/engine/ModelPart.md +114 -0
  33. package/dist/docs/reference/engine/ModelResult.md +181 -0
  34. package/dist/docs/reference/engine/ModelRunArguments.md +34 -0
  35. package/dist/docs/reference/engine/ModelRunOptions.md +110 -0
  36. package/dist/docs/reference/engine/ModelSession.md +22 -16
  37. package/dist/docs/reference/engine/SessionOptions.md +21 -10
  38. package/dist/docs/reference/engine/categories/host-lifecycle.md +20 -15
  39. package/dist/docs/reference/engine/checkModel.md +49 -0
  40. package/dist/docs/reference/engine/createModelEngine.md +11 -13
  41. package/dist/docs/reference/engine/defaultModelingLimits.md +15 -2
  42. package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
  43. package/dist/docs/reference/engine.md +8 -15
  44. package/dist/docs/reference/export/Export3mfOptions.md +24 -0
  45. package/dist/docs/reference/export/ExportDiagnostic.md +59 -0
  46. package/dist/docs/reference/export/ExportFormat.md +25 -0
  47. package/dist/docs/reference/export/ExportGeometry.md +39 -0
  48. package/dist/docs/reference/export/ExportGlbOptions.md +118 -0
  49. package/dist/docs/reference/export/ExportLimits.md +83 -0
  50. package/dist/docs/reference/export/ExportMaterial.md +47 -0
  51. package/dist/docs/reference/export/ExportOptions.md +94 -0
  52. package/dist/docs/reference/export/ExportPart.md +88 -0
  53. package/dist/docs/reference/export/ExportReport.md +82 -0
  54. package/dist/docs/reference/export/ExportSink.md +39 -0
  55. package/dist/docs/reference/export/ExportStlOptions.md +24 -0
  56. package/dist/docs/reference/export/ExportedFile.md +110 -0
  57. package/dist/docs/reference/export/categories/mesh-serialization.md +47 -0
  58. package/dist/docs/reference/export/defaultExportLimits.md +20 -0
  59. package/dist/docs/reference/export/export3mf.md +64 -0
  60. package/dist/docs/reference/export/exportGlb.md +68 -0
  61. package/dist/docs/reference/export/exportStl.md +64 -0
  62. package/dist/docs/reference/export/write3mf.md +71 -0
  63. package/dist/docs/reference/export/writeGlb.md +75 -0
  64. package/dist/docs/reference/export/writeStl.md +71 -0
  65. package/dist/docs/reference/export.md +21 -0
  66. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +16 -2
  67. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +7 -1
  68. package/dist/docs/reference/geometry/Anchor3-type.md +13 -3
  69. package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
  70. package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
  71. package/dist/docs/reference/geometry/AttachOptions.md +13 -3
  72. package/dist/docs/reference/geometry/AxisAngleRotation3.md +9 -3
  73. package/dist/docs/reference/geometry/Bevel.md +32 -0
  74. package/dist/docs/reference/geometry/BevelSize.md +28 -0
  75. package/dist/docs/reference/geometry/Bounds2-type.md +18 -4
  76. package/dist/docs/reference/geometry/Bounds2Data.md +22 -4
  77. package/dist/docs/reference/geometry/Bounds2Input.md +18 -4
  78. package/dist/docs/reference/geometry/Bounds2Options.md +61 -11
  79. package/dist/docs/reference/geometry/Bounds3-type.md +18 -4
  80. package/dist/docs/reference/geometry/Bounds3Data.md +18 -4
  81. package/dist/docs/reference/geometry/Bounds3Input.md +18 -4
  82. package/dist/docs/reference/geometry/Bounds3Options.md +61 -11
  83. package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
  84. package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
  85. package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
  86. package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
  87. package/dist/docs/reference/geometry/BoxAnchorOptions.md +12 -6
  88. package/dist/docs/reference/geometry/BoxEdge.md +11 -1
  89. package/dist/docs/reference/geometry/BoxEdgeSelection.md +11 -1
  90. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +11 -1
  91. package/dist/docs/reference/geometry/BoxOptions.md +13 -3
  92. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +16 -2
  93. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +16 -2
  94. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +11 -1
  95. package/dist/docs/reference/geometry/CircleContourOptions.md +12 -2
  96. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +15 -3
  97. package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
  98. package/dist/docs/reference/geometry/CircularSampling.md +7 -1
  99. package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
  100. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +8 -2
  101. package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -2
  102. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +8 -2
  103. package/dist/docs/reference/geometry/Contour.md +12 -2
  104. package/dist/docs/reference/geometry/ContourCurve.md +8 -2
  105. package/dist/docs/reference/geometry/ContourPoint.md +8 -2
  106. package/dist/docs/reference/geometry/ContourSegment.md +8 -2
  107. package/dist/docs/reference/geometry/CorrespondingComponent.md +12 -2
  108. package/dist/docs/reference/geometry/CorrespondingContour.md +12 -2
  109. package/dist/docs/reference/geometry/CorrespondingProfile.md +12 -2
  110. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +12 -2
  111. package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
  112. package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
  113. package/dist/docs/reference/geometry/Curve2.md +8 -2
  114. package/dist/docs/reference/geometry/Curve3.md +8 -2
  115. package/dist/docs/reference/geometry/CurveSamplingOptions.md +16 -2
  116. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +16 -2
  117. package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
  118. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +11 -5
  119. package/dist/docs/reference/geometry/CylinderOptions.md +11 -1
  120. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +8 -2
  121. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -2
  122. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +8 -2
  123. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +8 -2
  124. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +8 -2
  125. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +8 -2
  126. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +8 -2
  127. package/dist/docs/reference/geometry/CylindricalGearSpec.md +8 -2
  128. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
  129. package/dist/docs/reference/geometry/EdgeTreatment.md +11 -1
  130. package/dist/docs/reference/geometry/EllipseContourOptions.md +14 -4
  131. package/dist/docs/reference/geometry/EndTreatments.md +12 -2
  132. package/dist/docs/reference/{model/ExtrudeOptions.md → geometry/ExtrudeMeshOptions.md} +30 -26
  133. package/dist/docs/reference/geometry/ExtrudeOptions.md +29 -11
  134. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +18 -4
  135. package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
  136. package/dist/docs/reference/geometry/Frame3.md +16 -2
  137. package/dist/docs/reference/geometry/GeometryError.md +11 -1
  138. package/dist/docs/reference/geometry/GeometryErrorCode.md +11 -1
  139. package/dist/docs/reference/geometry/GeometryErrorContext.md +11 -1
  140. package/dist/docs/reference/geometry/GeometryResolution.md +15 -1
  141. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +16 -2
  142. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +15 -1
  143. package/dist/docs/reference/geometry/GridPatternOptions.md +12 -2
  144. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +12 -2
  145. package/dist/docs/reference/geometry/HeightfieldOptions.md +18 -3
  146. package/dist/docs/reference/geometry/HeightfieldPreflight.md +12 -2
  147. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +9 -3
  148. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +110 -0
  149. package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +57 -0
  150. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +63 -84
  151. package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +12 -2
  152. package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +8 -2
  153. package/dist/docs/reference/geometry/KnuckleHingeInterval.md +8 -2
  154. package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +12 -2
  155. package/dist/docs/reference/geometry/KnuckleHingeSpec.md +12 -2
  156. package/dist/docs/reference/geometry/LineCurve2.md +8 -2
  157. package/dist/docs/reference/geometry/LineCurve3.md +8 -2
  158. package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -2
  159. package/dist/docs/reference/geometry/LoftCorrespondence.md +16 -2
  160. package/dist/docs/reference/geometry/LoftMeshStation.md +12 -2
  161. package/dist/docs/reference/geometry/LoftOptions.md +18 -4
  162. package/dist/docs/reference/geometry/LoftPlacement.md +16 -2
  163. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +8 -2
  164. package/dist/docs/reference/geometry/MatchProfilesOptions.md +12 -2
  165. package/dist/docs/reference/geometry/MetricFastenerSize.md +8 -2
  166. package/dist/docs/reference/geometry/MetricFastenerStandard.md +8 -2
  167. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +8 -2
  168. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +8 -2
  169. package/dist/docs/reference/geometry/ModelingLimits.md +19 -1
  170. package/dist/docs/reference/geometry/NumericArray.md +28 -0
  171. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
  172. package/dist/docs/reference/geometry/Path2-type.md +16 -2
  173. package/dist/docs/reference/geometry/Path2Data.md +16 -2
  174. package/dist/docs/reference/geometry/Path2Input.md +16 -2
  175. package/dist/docs/reference/geometry/Path3-type.md +16 -2
  176. package/dist/docs/reference/geometry/Path3Data.md +16 -2
  177. package/dist/docs/reference/geometry/Path3Input.md +16 -2
  178. package/dist/docs/reference/geometry/PathFrame.md +8 -2
  179. package/dist/docs/reference/geometry/PathLocation.md +16 -2
  180. package/dist/docs/reference/geometry/PathNormalGuide.md +16 -2
  181. package/dist/docs/reference/geometry/PathOptions.md +12 -2
  182. package/dist/docs/reference/geometry/PathPatternOptions.md +12 -2
  183. package/dist/docs/reference/geometry/PathPlacement.md +8 -2
  184. package/dist/docs/reference/geometry/PathResamplingOptions.md +16 -2
  185. package/dist/docs/reference/geometry/Pivot2Options.md +17 -3
  186. package/dist/docs/reference/geometry/Pivot3Options.md +17 -3
  187. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +12 -2
  188. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +12 -2
  189. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +12 -2
  190. package/dist/docs/reference/geometry/PlanarPatchQuality.md +12 -2
  191. package/dist/docs/reference/geometry/PolygonData.md +12 -2
  192. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
  193. package/dist/docs/reference/geometry/PrimitiveAttachment.md +11 -3
  194. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +11 -1
  195. package/dist/docs/reference/geometry/PrintableThreadFit.md +12 -2
  196. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +12 -2
  197. package/dist/docs/reference/geometry/Profile.md +8 -2
  198. package/dist/docs/reference/geometry/ProfileComponent2.md +12 -2
  199. package/dist/docs/reference/geometry/ProfileContour2.md +12 -2
  200. package/dist/docs/reference/geometry/ProfileSpan2.md +12 -2
  201. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +11 -1
  202. package/dist/docs/reference/geometry/RackPitchDimensions.md +8 -2
  203. package/dist/docs/reference/geometry/RackPitchSpec.md +8 -2
  204. package/dist/docs/reference/geometry/RadialPatternOptions.md +12 -2
  205. package/dist/docs/reference/geometry/RadialSizing.md +11 -1
  206. package/dist/docs/reference/geometry/RadialSizingOptions.md +11 -1
  207. package/dist/docs/reference/geometry/RectangleContourOptions.md +14 -4
  208. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +12 -2
  209. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +12 -2
  210. package/dist/docs/reference/geometry/RectangleProfileOptions.md +10 -4
  211. package/dist/docs/reference/geometry/RegionData.md +12 -2
  212. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
  213. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
  214. package/dist/docs/reference/geometry/RevolveOptions.md +17 -3
  215. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +11 -1
  216. package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
  217. package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
  218. package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
  219. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
  220. package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
  221. package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
  222. package/dist/docs/reference/geometry/SampledThreadHelices.md +8 -2
  223. package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
  224. package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
  225. package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
  226. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +11 -1
  227. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +12 -2
  228. package/dist/docs/reference/geometry/SphereOptions.md +11 -1
  229. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +16 -2
  230. package/dist/docs/reference/geometry/StarContourOptions.md +84 -0
  231. package/dist/docs/reference/geometry/StrokeCap.md +12 -2
  232. package/dist/docs/reference/geometry/StrokeJoin.md +12 -2
  233. package/dist/docs/reference/geometry/StrokeOptions.md +12 -2
  234. package/dist/docs/reference/geometry/SvgImportOptions.md +8 -2
  235. package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
  236. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
  237. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
  238. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
  239. package/dist/docs/reference/geometry/SweepOptions.md +16 -2
  240. package/dist/docs/reference/geometry/SweepOrientation.md +16 -2
  241. package/dist/docs/reference/geometry/ThreadBevelOptions.md +18 -31
  242. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +8 -2
  243. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +8 -2
  244. package/dist/docs/reference/geometry/ThreadEndStyle.md +16 -2
  245. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +16 -2
  246. package/dist/docs/reference/geometry/ThreadHandedness.md +16 -2
  247. package/dist/docs/reference/geometry/ThreadHelixOptions.md +8 -2
  248. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +16 -2
  249. package/dist/docs/reference/geometry/ThreadLeadInShape.md +16 -2
  250. package/dist/docs/reference/geometry/ThreadProfile-type.md +17 -3
  251. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +16 -2
  252. package/dist/docs/reference/geometry/ThreadProfileSpec.md +16 -2
  253. package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +19 -5
  254. package/dist/docs/reference/geometry/ThreadRole.md +8 -2
  255. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +29 -66
  256. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +17 -3
  257. package/dist/docs/reference/geometry/ThreadedNutOptions.md +86 -87
  258. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +29 -7
  259. package/dist/docs/reference/geometry/ThreadedNutShape.md +12 -2
  260. package/dist/docs/reference/geometry/ThreadedRodOptions.md +63 -84
  261. package/dist/docs/reference/geometry/TorusOptions.md +11 -1
  262. package/dist/docs/reference/geometry/Transform2-type.md +17 -3
  263. package/dist/docs/reference/geometry/Transform2Data.md +17 -3
  264. package/dist/docs/reference/geometry/Transform2Input.md +17 -3
  265. package/dist/docs/reference/geometry/Transform3-type.md +17 -3
  266. package/dist/docs/reference/geometry/Transform3Data.md +17 -3
  267. package/dist/docs/reference/geometry/Transform3Input.md +17 -3
  268. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +16 -2
  269. package/dist/docs/reference/geometry/TriangleMesh.md +19 -6
  270. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +25 -5
  271. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +13 -3
  272. package/dist/docs/reference/geometry/TriangleMeshInput.md +29 -0
  273. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +16 -2
  274. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +12 -2
  275. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +12 -2
  276. package/dist/docs/reference/geometry/TriangleMeshSignature.md +14 -4
  277. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +12 -2
  278. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +12 -2
  279. package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +145 -0
  280. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +12 -2
  281. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +16 -2
  282. package/dist/docs/reference/geometry/TubeOptions.md +20 -86
  283. package/dist/docs/reference/geometry/Vector2-type.md +17 -3
  284. package/dist/docs/reference/geometry/Vector2Data.md +21 -3
  285. package/dist/docs/reference/geometry/Vector2Input.md +17 -3
  286. package/dist/docs/reference/geometry/Vector3-type.md +17 -3
  287. package/dist/docs/reference/geometry/Vector3Data.md +17 -3
  288. package/dist/docs/reference/geometry/Vector3Input.md +17 -3
  289. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +12 -2
  290. package/dist/docs/reference/geometry/VectorTextLayout.md +16 -2
  291. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +14 -4
  292. package/dist/docs/reference/geometry/VectorTextMetrics.md +16 -2
  293. package/dist/docs/reference/geometry/VectorTextOptions.md +12 -2
  294. package/dist/docs/reference/geometry/add2.md +9 -3
  295. package/dist/docs/reference/geometry/add3.md +9 -3
  296. package/dist/docs/reference/geometry/anchor3.md +9 -3
  297. package/dist/docs/reference/geometry/anchorFrame3.md +8 -2
  298. package/dist/docs/reference/geometry/applyTransformDirection3.md +9 -3
  299. package/dist/docs/reference/geometry/applyTransformPoint3.md +9 -3
  300. package/dist/docs/reference/geometry/attachmentTransform3.md +9 -3
  301. package/dist/docs/reference/geometry/bounds2.md +18 -8
  302. package/dist/docs/reference/geometry/bounds3.md +18 -8
  303. package/dist/docs/reference/geometry/boundsCenter.md +10 -4
  304. package/dist/docs/reference/geometry/boundsSize.md +10 -4
  305. package/dist/docs/reference/geometry/boxAnchor3.md +11 -5
  306. package/dist/docs/reference/geometry/categories/bounds-layout.md +6 -6
  307. package/dist/docs/reference/geometry/categories/curves-paths.md +3 -3
  308. package/dist/docs/reference/geometry/categories/mechanical.md +9 -11
  309. package/dist/docs/reference/geometry/categories/meshes.md +20 -33
  310. package/dist/docs/reference/geometry/categories/pattern-placement.md +3 -3
  311. package/dist/docs/reference/geometry/categories/primitive-options.md +4 -4
  312. package/dist/docs/reference/geometry/categories/profiles-regions.md +6 -5
  313. package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -3
  314. package/dist/docs/reference/geometry/categories/transforms-math.md +5 -4
  315. package/dist/docs/reference/geometry/categories/vector-import.md +4 -4
  316. package/dist/docs/reference/geometry/circleContour.md +8 -2
  317. package/dist/docs/reference/geometry/closeToAxis.md +8 -2
  318. package/dist/docs/reference/geometry/compensateThreadDiameters.md +8 -2
  319. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +8 -2
  320. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +8 -2
  321. package/dist/docs/reference/geometry/composeTransform3.md +9 -3
  322. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +8 -2
  323. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +8 -2
  324. package/dist/docs/reference/geometry/contourContainsPoint.md +8 -2
  325. package/dist/docs/reference/geometry/cross2.md +9 -3
  326. package/dist/docs/reference/geometry/cross3.md +9 -3
  327. package/dist/docs/reference/geometry/cylinderAnchor3.md +10 -4
  328. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
  329. package/dist/docs/reference/geometry/distance2.md +9 -3
  330. package/dist/docs/reference/geometry/distance3.md +9 -3
  331. package/dist/docs/reference/geometry/distributeAlongPath.md +8 -2
  332. package/dist/docs/reference/geometry/dot2.md +9 -3
  333. package/dist/docs/reference/geometry/dot3.md +9 -3
  334. package/dist/docs/reference/geometry/ellipseContour.md +8 -2
  335. package/dist/docs/reference/geometry/eulerTransform3.md +9 -3
  336. package/dist/docs/reference/geometry/fitBounds.md +10 -4
  337. package/dist/docs/reference/geometry/fitTextLayout.md +8 -2
  338. package/dist/docs/reference/geometry/frameTransform3.md +9 -3
  339. package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +8 -2
  340. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +8 -2
  341. package/dist/docs/reference/geometry/gridPatternTransforms.md +8 -2
  342. package/dist/docs/reference/{model → geometry}/immutableBuffer.md +13 -2
  343. package/dist/docs/reference/geometry/inverseTransform3.md +9 -3
  344. package/dist/docs/reference/geometry/isGeometryError.md +11 -1
  345. package/dist/docs/reference/geometry/layoutRow.md +10 -4
  346. package/dist/docs/reference/geometry/length2.md +9 -3
  347. package/dist/docs/reference/geometry/length3.md +9 -3
  348. package/dist/docs/reference/geometry/lerp2.md +9 -3
  349. package/dist/docs/reference/geometry/lerp3.md +9 -3
  350. package/dist/docs/reference/geometry/linearPatternTransforms.md +8 -2
  351. package/dist/docs/reference/geometry/matchProfiles.md +8 -2
  352. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +8 -2
  353. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +8 -2
  354. package/dist/docs/reference/geometry/normalize2.md +9 -3
  355. package/dist/docs/reference/geometry/normalize3.md +9 -3
  356. package/dist/docs/reference/geometry/normalizeContour.md +8 -2
  357. package/dist/docs/reference/geometry/normalizePolygon.md +8 -2
  358. package/dist/docs/reference/geometry/normalizeRegion.md +8 -2
  359. package/dist/docs/reference/geometry/path2.md +12 -2
  360. package/dist/docs/reference/geometry/path3.md +12 -2
  361. package/dist/docs/reference/geometry/pathPatternTransforms.md +8 -2
  362. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +25 -26
  363. package/dist/docs/reference/geometry/preflightSvgRegion.md +8 -2
  364. package/dist/docs/reference/geometry/preflightThreadedNut.md +31 -27
  365. package/dist/docs/reference/geometry/preflightThreadedRod.md +25 -26
  366. package/dist/docs/reference/geometry/projectOntoPlane3.md +9 -3
  367. package/dist/docs/reference/geometry/radialPatternTransforms.md +8 -2
  368. package/dist/docs/reference/geometry/rectangleContour.md +17 -6
  369. package/dist/docs/reference/geometry/rectangleProfile.md +9 -3
  370. package/dist/docs/reference/geometry/regionArea.md +8 -2
  371. package/dist/docs/reference/geometry/regionBounds.md +8 -2
  372. package/dist/docs/reference/geometry/regularPolygonContour.md +9 -3
  373. package/dist/docs/reference/geometry/resamplePolyline2.md +8 -2
  374. package/dist/docs/reference/geometry/resamplePolyline3.md +8 -2
  375. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +7 -1
  376. package/dist/docs/reference/geometry/resolveArcSegments.md +7 -1
  377. package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
  378. package/dist/docs/reference/geometry/resolveCircularSegments.md +7 -1
  379. package/dist/docs/reference/geometry/resolveCylindricalGear.md +8 -2
  380. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +8 -2
  381. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +8 -2
  382. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +8 -2
  383. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +7 -1
  384. package/dist/docs/reference/geometry/resolveKnuckleHinge.md +8 -2
  385. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +8 -2
  386. package/dist/docs/reference/geometry/resolveRackPitch.md +8 -2
  387. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +8 -2
  388. package/dist/docs/reference/geometry/rotate2.md +9 -3
  389. package/dist/docs/reference/geometry/rotationTransform3.md +9 -3
  390. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -2
  391. package/dist/docs/reference/geometry/sampleContour.md +8 -2
  392. package/dist/docs/reference/geometry/sampleCurve2.md +8 -2
  393. package/dist/docs/reference/geometry/sampleCurve3.md +8 -2
  394. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +8 -2
  395. package/dist/docs/reference/geometry/sampleHelix.md +8 -2
  396. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +8 -2
  397. package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -2
  398. package/dist/docs/reference/geometry/sampleSideProfile.md +8 -2
  399. package/dist/docs/reference/geometry/sampleTextContours.md +8 -2
  400. package/dist/docs/reference/geometry/sampleThreadHelices.md +8 -2
  401. package/dist/docs/reference/geometry/scale2.md +9 -3
  402. package/dist/docs/reference/geometry/scale3.md +9 -3
  403. package/dist/docs/reference/geometry/scaleTransform3.md +9 -3
  404. package/dist/docs/reference/geometry/signedContourArea.md +8 -2
  405. package/dist/docs/reference/geometry/starContour.md +24 -16
  406. package/dist/docs/reference/geometry/strokeRegionData.md +8 -2
  407. package/dist/docs/reference/geometry/subtract2.md +9 -3
  408. package/dist/docs/reference/geometry/subtract3.md +9 -3
  409. package/dist/docs/reference/geometry/threadProfile.md +8 -2
  410. package/dist/docs/reference/geometry/transform2.md +13 -3
  411. package/dist/docs/reference/geometry/transform3.md +13 -3
  412. package/dist/docs/reference/geometry/transformDeterminant3.md +9 -3
  413. package/dist/docs/reference/geometry/transformRegionData.md +8 -2
  414. package/dist/docs/reference/geometry/translationTransform3.md +9 -3
  415. package/dist/docs/reference/geometry/triangulateContour.md +8 -2
  416. package/dist/docs/reference/geometry/validateRigidTransform3.md +41 -0
  417. package/dist/docs/reference/geometry/validateTransform3.md +9 -3
  418. package/dist/docs/reference/geometry/vector2.md +13 -3
  419. package/dist/docs/reference/geometry/vector3.md +13 -3
  420. package/dist/docs/reference/geometry.md +10 -10
  421. package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
  422. package/dist/docs/reference/mesh/RenderMesh.md +68 -0
  423. package/dist/docs/reference/mesh/analyze.md +102 -0
  424. package/dist/docs/reference/mesh/analyzeQuality.md +62 -0
  425. package/dist/docs/reference/mesh/bounds.md +45 -0
  426. package/dist/docs/reference/mesh/categories/operations.md +57 -0
  427. package/dist/docs/reference/mesh/centroid.md +45 -0
  428. package/dist/docs/reference/mesh/extrude.md +79 -0
  429. package/dist/docs/reference/mesh/heightfield.md +57 -0
  430. package/dist/docs/reference/mesh/immutable.md +51 -0
  431. package/dist/docs/reference/mesh/join.md +47 -0
  432. package/dist/docs/reference/mesh/loft.md +83 -0
  433. package/dist/docs/reference/mesh/optimizePlanarPatches.md +102 -0
  434. package/dist/docs/reference/mesh/preflightHeightfield.md +48 -0
  435. package/dist/docs/reference/mesh/preflightThreadSolid.md +96 -0
  436. package/dist/docs/reference/mesh/render.md +57 -0
  437. package/dist/docs/reference/mesh/reverse.md +41 -0
  438. package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +23 -17
  439. package/dist/docs/reference/mesh/signature.md +70 -0
  440. package/dist/docs/reference/mesh/sweep.md +92 -0
  441. package/dist/docs/reference/mesh/threadRidge.md +78 -0
  442. package/dist/docs/reference/mesh/threadSolid.md +96 -0
  443. package/dist/docs/reference/mesh/transform.md +53 -0
  444. package/dist/docs/reference/mesh/validate.md +75 -0
  445. package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +23 -11
  446. package/dist/docs/reference/mesh.md +21 -0
  447. package/dist/docs/reference/model/CircleOptions.md +13 -7
  448. package/dist/docs/reference/model/DiagnosticOptions.md +21 -1
  449. package/dist/docs/reference/model/EllipseOptions.md +13 -7
  450. package/dist/docs/reference/model/GenerateCallback.md +11 -5
  451. package/dist/docs/reference/model/GenerateContext.md +26 -99
  452. package/dist/docs/reference/model/GenerationDiagnostic.md +19 -1
  453. package/dist/docs/reference/model/GenerationError.md +8 -2
  454. package/dist/docs/reference/model/HoleCutterOptions.md +17 -10
  455. package/dist/docs/reference/model/HoleCutterOverrun.md +10 -3
  456. package/dist/docs/reference/model/HoleCutterRecess.md +10 -3
  457. package/dist/docs/reference/model/HullOptions.md +13 -6
  458. package/dist/docs/reference/model/ImmutableValue.md +26 -0
  459. package/dist/docs/reference/model/ImplicitOptions.md +12 -6
  460. package/dist/docs/reference/model/JoinOptions.md +76 -0
  461. package/dist/docs/reference/model/JoinTransition.md +54 -0
  462. package/dist/docs/reference/model/KnuckleHinge-type.md +9 -3
  463. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
  464. package/dist/docs/reference/model/KnuckleHingeOptions.md +10 -4
  465. package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
  466. package/dist/docs/reference/model/LoftStation.md +16 -9
  467. package/dist/docs/reference/model/Memo.md +54 -0
  468. package/dist/docs/reference/model/ModelProgram.md +8 -2
  469. package/dist/docs/reference/model/PartDeclaration.md +87 -0
  470. package/dist/docs/reference/model/PartGeometry.md +10 -4
  471. package/dist/docs/reference/model/PartOptions.md +16 -22
  472. package/dist/docs/reference/model/PatternSource.md +10 -4
  473. package/dist/docs/reference/model/PlaneOptions.md +11 -4
  474. package/dist/docs/reference/model/PolygonOptions.md +20 -14
  475. package/dist/docs/reference/model/Profile.md +10 -4
  476. package/dist/docs/reference/model/RectangleOptions.md +28 -22
  477. package/dist/docs/reference/model/RegularPolygonOptions.md +13 -7
  478. package/dist/docs/reference/model/Section.md +196 -77
  479. package/dist/docs/reference/model/SectionHullOptions.md +13 -6
  480. package/dist/docs/reference/model/SectionInspection.md +12 -18
  481. package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
  482. package/dist/docs/reference/model/SectionOffsetOptions.md +12 -6
  483. package/dist/docs/reference/model/Solid.md +339 -54
  484. package/dist/docs/reference/model/SolidInspection.md +12 -18
  485. package/dist/docs/reference/model/SolidSegmentHit.md +14 -4
  486. package/dist/docs/reference/model/StarOptions.md +53 -25
  487. package/dist/docs/reference/model/SvgOrigin.md +10 -4
  488. package/dist/docs/reference/model/SvgPathSectionOptions.md +14 -8
  489. package/dist/docs/reference/model/SvgSectionOptions.md +16 -10
  490. package/dist/docs/reference/model/TextSectionOptions.md +14 -8
  491. package/dist/docs/reference/model/box.md +18 -11
  492. package/dist/docs/reference/model/categories/boolean-operations.md +13 -11
  493. package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -7
  494. package/dist/docs/reference/model/categories/explicit-profiles.md +1 -14
  495. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +11 -23
  496. package/dist/docs/reference/model/categories/generation.md +10 -15
  497. package/dist/docs/reference/model/categories/hinges.md +1 -4
  498. package/dist/docs/reference/model/categories/mesh-inspection.md +14 -9
  499. package/dist/docs/reference/model/categories/primitives.md +8 -24
  500. package/dist/docs/reference/model/categories/sections.md +6 -16
  501. package/dist/docs/reference/model/categories/threads.md +3 -30
  502. package/dist/docs/reference/model/categories/transforms-placement.md +5 -35
  503. package/dist/docs/reference/model/circle.md +10 -4
  504. package/dist/docs/reference/model/cylinder.md +13 -6
  505. package/dist/docs/reference/model/ellipse.md +10 -4
  506. package/dist/docs/reference/model/extrude.md +28 -20
  507. package/dist/docs/reference/model/generate.md +10 -4
  508. package/dist/docs/reference/model/gridPattern.md +15 -9
  509. package/dist/docs/reference/model/heightfield.md +10 -4
  510. package/dist/docs/reference/model/holeCutter.md +21 -4
  511. package/dist/docs/reference/model/hull.md +9 -2
  512. package/dist/docs/reference/model/implicit.md +9 -3
  513. package/dist/docs/reference/model/internalThreadCutter.md +31 -33
  514. package/dist/docs/reference/model/intersect.md +11 -4
  515. package/dist/docs/reference/model/join.md +89 -0
  516. package/dist/docs/reference/model/knuckleHinge.md +8 -2
  517. package/dist/docs/reference/model/linearPattern.md +15 -9
  518. package/dist/docs/reference/model/loft.md +36 -28
  519. package/dist/docs/reference/model/matchProfiles.md +14 -8
  520. package/dist/docs/reference/model/minkowskiSum.md +9 -2
  521. package/dist/docs/reference/model/pathPattern.md +25 -19
  522. package/dist/docs/reference/model/polygon.md +13 -7
  523. package/dist/docs/reference/model/preflightInternalThreadCutter.md +33 -35
  524. package/dist/docs/reference/model/preflightThreadedNut.md +43 -40
  525. package/dist/docs/reference/model/preflightThreadedRod.md +33 -35
  526. package/dist/docs/reference/model/radialPattern.md +15 -9
  527. package/dist/docs/reference/model/rectangle.md +14 -8
  528. package/dist/docs/reference/model/regularPolygon.md +10 -4
  529. package/dist/docs/reference/model/revolve.md +25 -17
  530. package/dist/docs/reference/model/solidFromMesh.md +16 -9
  531. package/dist/docs/reference/model/sphere.md +13 -6
  532. package/dist/docs/reference/model/star.md +17 -11
  533. package/dist/docs/reference/model/stroke.md +21 -15
  534. package/dist/docs/reference/model/svgPathSection.md +12 -6
  535. package/dist/docs/reference/model/svgSection.md +13 -7
  536. package/dist/docs/reference/model/sweep.md +29 -21
  537. package/dist/docs/reference/model/textSection.md +15 -9
  538. package/dist/docs/reference/model/threadRidge.md +21 -15
  539. package/dist/docs/reference/model/threadedNut.md +41 -38
  540. package/dist/docs/reference/model/threadedRod.md +31 -33
  541. package/dist/docs/reference/model/torus.md +20 -13
  542. package/dist/docs/reference/model/tube.md +13 -41
  543. package/dist/docs/reference/model/union.md +11 -4
  544. package/dist/docs/reference/model.md +11 -20
  545. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +8 -2
  546. package/dist/docs/reference/text/VectorFont.md +39 -33
  547. package/dist/docs/reference/text/VectorFontOptions.md +7 -1
  548. package/dist/docs/reference/text/categories/font-preparation.md +3 -15
  549. package/dist/docs/reference/text/prepareVectorFont.md +7 -1
  550. package/dist/docs/reference/text.md +4 -4
  551. package/dist/engine/execution.js +10 -6
  552. package/dist/engine/finalization.js +2 -74
  553. package/dist/engine/index.js +24 -30
  554. package/dist/engine/model-parts.js +8 -0
  555. package/dist/engine/model-summary.js +5 -5
  556. package/dist/engine/native/construction-mesh.js +41 -0
  557. package/dist/engine/native/index.js +1 -1
  558. package/dist/engine/native/material-components.js +5 -54
  559. package/dist/engine/native/mesh-observation.js +55 -0
  560. package/dist/engine/native/operations.js +0 -7
  561. package/dist/engine/native/regions.js +2 -1
  562. package/dist/engine/native/scoped-primitives.js +5 -4
  563. package/dist/engine/native/threads.js +14 -14
  564. package/dist/engine/{construction-operations.js → operations/construction.js} +25 -23
  565. package/dist/engine/{modeling-context.js → operations/context.js} +12 -10
  566. package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
  567. package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +23 -22
  568. package/dist/engine/{hole-cutter-operation.js → operations/hole-cutter.js} +3 -3
  569. package/dist/engine/{inspection-operations.js → operations/inspection.js} +6 -6
  570. package/dist/engine/operations/join-collar-profile.js +120 -0
  571. package/dist/engine/operations/join.js +508 -0
  572. package/dist/engine/{knuckle-hinge-operation.js → operations/knuckle-hinge.js} +4 -4
  573. package/dist/engine/{loft-operations.js → operations/loft.js} +13 -12
  574. package/dist/engine/{mechanical-operations.js → operations/mechanical.js} +2 -2
  575. package/dist/engine/{pattern-operations.js → operations/patterns.js} +4 -4
  576. package/dist/engine/{primitive-anchors.js → operations/primitives/anchors.js} +9 -4
  577. package/dist/engine/{primitive-operations.js → operations/primitives/construction.js} +18 -19
  578. package/dist/engine/{primitive-correspondence.js → operations/primitives/correspondence.js} +4 -4
  579. package/dist/engine/{profile-mesh.js → operations/primitives/profile-mesh.js} +12 -12
  580. package/dist/engine/{primitive-profiles.js → operations/primitives/profiles.js} +7 -7
  581. package/dist/engine/{section-operations.js → operations/sections.js} +8 -8
  582. package/dist/engine/{transform-operations.js → operations/transforms.js} +8 -8
  583. package/dist/engine/placement.js +3 -4
  584. package/dist/engine/recipe-realization.js +2 -2
  585. package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
  586. package/dist/engine/session/dependencies.js +93 -0
  587. package/dist/engine/session/graph.js +428 -0
  588. package/dist/engine/{session-native.js → session/native-cache.js} +2 -2
  589. package/dist/engine/{session.js → session/session.js} +20 -14
  590. package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +30 -60
  591. package/dist/export/3mf.js +190 -0
  592. package/dist/export/capture.js +178 -0
  593. package/dist/export/glb.js +209 -0
  594. package/dist/export/index.js +5 -0
  595. package/dist/export/limits.js +18 -0
  596. package/dist/export/stl.js +105 -0
  597. package/dist/export/types.js +1 -0
  598. package/dist/export/writer.js +54 -0
  599. package/dist/geometry/anchors.js +4 -11
  600. package/dist/geometry/bounds-value.js +22 -12
  601. package/dist/geometry/heightfield.js +10 -12
  602. package/dist/{model → geometry}/immutable-buffer.js +31 -12
  603. package/dist/geometry/index.js +16 -22
  604. package/dist/geometry/join-geometry.js +839 -0
  605. package/dist/geometry/loft/loft.js +11 -6
  606. package/dist/geometry/mechanical/index.js +5 -5
  607. package/dist/geometry/mechanical/threads/bevel.js +24 -0
  608. package/dist/geometry/mechanical/{threads.js → threads/fit.js} +4 -4
  609. package/dist/geometry/mechanical/{thread-helices.js → threads/helices.js} +3 -3
  610. package/dist/geometry/mechanical/{thread-mesh-plan.js → threads/mesh-plan.js} +38 -53
  611. package/dist/geometry/mechanical/{thread-mesh.js → threads/mesh.js} +9 -9
  612. package/dist/geometry/mechanical/{thread-profiles.js → threads/profiles.js} +3 -3
  613. package/dist/geometry/mechanical/{thread-solids.js → threads/solids.js} +58 -89
  614. package/dist/geometry/mechanical/{thread-surface.js → threads/surface.js} +7 -8
  615. package/dist/geometry/mesh/mesh-centroid.js +3 -2
  616. package/dist/geometry/mesh/mesh-planar.js +27 -8
  617. package/dist/geometry/mesh/mesh-quality.js +2 -1
  618. package/dist/geometry/mesh/mesh-render.js +205 -0
  619. package/dist/geometry/mesh/mesh-signature.js +7 -6
  620. package/dist/geometry/mesh/mesh-solid-intersections.js +43 -17
  621. package/dist/geometry/mesh/mesh-solid.js +8 -5
  622. package/dist/geometry/mesh/mesh-types.js +1 -0
  623. package/dist/geometry/mesh/mesh.js +13 -22
  624. package/dist/geometry/mesh-api.js +15 -0
  625. package/dist/geometry/primitive-resolvers.js +42 -14
  626. package/dist/geometry/profiles/primitives/circle.js +19 -0
  627. package/dist/geometry/profiles/{shapes.js → primitives/ellipse.js} +6 -10
  628. package/dist/geometry/profiles/{rectangle.js → primitives/rectangle.js} +14 -12
  629. package/dist/geometry/profiles/primitives/regular-polygon.js +33 -0
  630. package/dist/geometry/profiles/primitives/star.js +28 -0
  631. package/dist/geometry/region-offset.js +278 -0
  632. package/dist/geometry/regions.js +11 -1
  633. package/dist/geometry/revolve/revolve-mesh.js +1 -1
  634. package/dist/geometry/{svg-import.js → svg/import.js} +10 -10
  635. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  636. package/dist/geometry/transform3.js +29 -0
  637. package/dist/index.js +2 -1
  638. package/dist/model/diagnostic-path.js +26 -0
  639. package/dist/model/execution-binding.js +3 -3
  640. package/dist/model/generation.js +9 -3
  641. package/dist/model/geometry-recipes.js +1 -1
  642. package/dist/model/immutable-generation-data.js +45 -14
  643. package/dist/model/join.js +1 -0
  644. package/dist/model/operations.js +34 -144
  645. package/dist/model/recipe-declaration.js +7 -2
  646. package/dist/model/shape-handles.js +31 -7
  647. package/dist/text/index.js +1 -1
  648. package/package.json +38 -11
  649. package/dist/docs/reference/engine/Export3mfOptions.md +0 -29
  650. package/dist/docs/reference/engine/ExportMeshPart.md +0 -65
  651. package/dist/docs/reference/engine/ModelSnapshot.md +0 -184
  652. package/dist/docs/reference/engine/SnapshotPart.md +0 -133
  653. package/dist/docs/reference/engine/validateModel.md +0 -48
  654. package/dist/docs/reference/geometry/ThreadedNutBevel.md +0 -14
  655. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +0 -61
  656. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +0 -56
  657. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +0 -39
  658. package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +0 -64
  659. package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
  660. package/dist/docs/reference/geometry/heightfieldMesh.md +0 -52
  661. package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
  662. package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
  663. package/dist/docs/reference/geometry/joinTriangleMeshes.md +0 -40
  664. package/dist/docs/reference/geometry/loftMesh.md +0 -77
  665. package/dist/docs/reference/geometry/meshBounds.md +0 -39
  666. package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
  667. package/dist/docs/reference/geometry/preflightHeightfield.md +0 -43
  668. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
  669. package/dist/docs/reference/geometry/reverseTriangleMesh.md +0 -34
  670. package/dist/docs/reference/geometry/sweepMesh.md +0 -86
  671. package/dist/docs/reference/geometry/transformTriangleMesh.md +0 -46
  672. package/dist/docs/reference/geometry/validateTriangleMesh.md +0 -63
  673. package/dist/docs/reference/model/Anchor3.md +0 -55
  674. package/dist/docs/reference/model/AttachOptions.md +0 -69
  675. package/dist/docs/reference/model/Bounds2-type.md +0 -125
  676. package/dist/docs/reference/model/Bounds2Data.md +0 -44
  677. package/dist/docs/reference/model/Bounds2Input.md +0 -19
  678. package/dist/docs/reference/model/Bounds2Options.md +0 -70
  679. package/dist/docs/reference/model/Bounds3-type.md +0 -125
  680. package/dist/docs/reference/model/Bounds3Data.md +0 -44
  681. package/dist/docs/reference/model/Bounds3Input.md +0 -19
  682. package/dist/docs/reference/model/Bounds3Options.md +0 -70
  683. package/dist/docs/reference/model/BoxEdge.md +0 -15
  684. package/dist/docs/reference/model/BoxEdgeSelection.md +0 -19
  685. package/dist/docs/reference/model/BoxEdgeTreatments.md +0 -20
  686. package/dist/docs/reference/model/BoxOptions.md +0 -92
  687. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
  688. package/dist/docs/reference/model/CircleContourOptions.md +0 -21
  689. package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -64
  690. package/dist/docs/reference/model/Computed.md +0 -40
  691. package/dist/docs/reference/model/ComputedValue.md +0 -24
  692. package/dist/docs/reference/model/Contour.md +0 -24
  693. package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
  694. package/dist/docs/reference/model/CorrespondingContour.md +0 -46
  695. package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
  696. package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
  697. package/dist/docs/reference/model/CylinderOptions.md +0 -58
  698. package/dist/docs/reference/model/EdgeTreatment.md +0 -22
  699. package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
  700. package/dist/docs/reference/model/EndTreatments.md +0 -39
  701. package/dist/docs/reference/model/FinalizedModel.md +0 -131
  702. package/dist/docs/reference/model/FinalizedPart.md +0 -87
  703. package/dist/docs/reference/model/Frame3.md +0 -63
  704. package/dist/docs/reference/model/GeneratedPart.md +0 -97
  705. package/dist/docs/reference/model/GeometryResolution.md +0 -70
  706. package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
  707. package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
  708. package/dist/docs/reference/model/GridPatternOptions.md +0 -50
  709. package/dist/docs/reference/model/HeightfieldOptions.md +0 -67
  710. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +0 -141
  711. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +0 -59
  712. package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -84
  713. package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -38
  714. package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -246
  715. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
  716. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
  717. package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
  718. package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
  719. package/dist/docs/reference/model/LoftCorrespondence.md +0 -27
  720. package/dist/docs/reference/model/LoftOptions.md +0 -91
  721. package/dist/docs/reference/model/LoftPlacement.md +0 -73
  722. package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
  723. package/dist/docs/reference/model/ModelingLimits.md +0 -126
  724. package/dist/docs/reference/model/NumericArray.md +0 -14
  725. package/dist/docs/reference/model/Path2-type.md +0 -196
  726. package/dist/docs/reference/model/Path2Data.md +0 -50
  727. package/dist/docs/reference/model/Path2Input.md +0 -20
  728. package/dist/docs/reference/model/Path3-type.md +0 -196
  729. package/dist/docs/reference/model/Path3Data.md +0 -50
  730. package/dist/docs/reference/model/Path3Input.md +0 -20
  731. package/dist/docs/reference/model/PathLocation.md +0 -69
  732. package/dist/docs/reference/model/PathNormalGuide.md +0 -46
  733. package/dist/docs/reference/model/PathOptions.md +0 -38
  734. package/dist/docs/reference/model/PathPatternOptions.md +0 -48
  735. package/dist/docs/reference/model/PathResamplingOptions.md +0 -83
  736. package/dist/docs/reference/model/Pivot2Options.md +0 -28
  737. package/dist/docs/reference/model/Pivot3Options.md +0 -28
  738. package/dist/docs/reference/model/PolygonData.md +0 -44
  739. package/dist/docs/reference/model/PrimitiveAttachment.md +0 -41
  740. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +0 -110
  741. package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
  742. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
  743. package/dist/docs/reference/model/ProfileComponent2.md +0 -46
  744. package/dist/docs/reference/model/ProfileContour2.md +0 -36
  745. package/dist/docs/reference/model/ProfileSpan2.md +0 -47
  746. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
  747. package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
  748. package/dist/docs/reference/model/RadialSizing.md +0 -15
  749. package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
  750. package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
  751. package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
  752. package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
  753. package/dist/docs/reference/model/RegionData.md +0 -19
  754. package/dist/docs/reference/model/RevolveOptions.md +0 -94
  755. package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
  756. package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
  757. package/dist/docs/reference/model/SphereOptions.md +0 -20
  758. package/dist/docs/reference/model/StrokeCap.md +0 -16
  759. package/dist/docs/reference/model/StrokeJoin.md +0 -16
  760. package/dist/docs/reference/model/StrokeOptions.md +0 -91
  761. package/dist/docs/reference/model/SweepOptions.md +0 -116
  762. package/dist/docs/reference/model/SweepOrientation.md +0 -116
  763. package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
  764. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
  765. package/dist/docs/reference/model/ThreadHandedness.md +0 -15
  766. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
  767. package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
  768. package/dist/docs/reference/model/ThreadProfile.md +0 -87
  769. package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -19
  770. package/dist/docs/reference/model/ThreadedNutBevel.md +0 -15
  771. package/dist/docs/reference/model/ThreadedNutOptions.md +0 -274
  772. package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -99
  773. package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
  774. package/dist/docs/reference/model/ThreadedRodOptions.md +0 -246
  775. package/dist/docs/reference/model/TorusOptions.md +0 -110
  776. package/dist/docs/reference/model/Transform2-type.md +0 -257
  777. package/dist/docs/reference/model/Transform2Data.md +0 -16
  778. package/dist/docs/reference/model/Transform2Input.md +0 -21
  779. package/dist/docs/reference/model/Transform3-type.md +0 -297
  780. package/dist/docs/reference/model/Transform3Data.md +0 -19
  781. package/dist/docs/reference/model/Transform3Input.md +0 -21
  782. package/dist/docs/reference/model/TriangleMesh.md +0 -42
  783. package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -123
  784. package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
  785. package/dist/docs/reference/model/TubeOptions.md +0 -143
  786. package/dist/docs/reference/model/Vector2-type.md +0 -271
  787. package/dist/docs/reference/model/Vector2Data.md +0 -15
  788. package/dist/docs/reference/model/Vector2Input.md +0 -21
  789. package/dist/docs/reference/model/Vector3-type.md +0 -283
  790. package/dist/docs/reference/model/Vector3Data.md +0 -15
  791. package/dist/docs/reference/model/Vector3Input.md +0 -21
  792. package/dist/docs/reference/model/VectorTextLayout.md +0 -40
  793. package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
  794. package/dist/docs/reference/model/anchor.md +0 -47
  795. package/dist/docs/reference/model/bounds2.md +0 -37
  796. package/dist/docs/reference/model/bounds3.md +0 -37
  797. package/dist/docs/reference/model/castSegment.md +0 -40
  798. package/dist/docs/reference/model/categories/bounds.md +0 -38
  799. package/dist/docs/reference/model/categories/contracts.md +0 -18
  800. package/dist/docs/reference/model/categories/core-values-errors.md +0 -30
  801. package/dist/docs/reference/model/categories/inspection.md +0 -29
  802. package/dist/docs/reference/model/categories/paths.md +0 -41
  803. package/dist/docs/reference/model/categories/resolution.md +0 -20
  804. package/dist/docs/reference/model/components.md +0 -71
  805. package/dist/docs/reference/model/compose.md +0 -31
  806. package/dist/docs/reference/model/distance.md +0 -45
  807. package/dist/docs/reference/model/immutableMesh.md +0 -44
  808. package/dist/docs/reference/model/inspectSection.md +0 -38
  809. package/dist/docs/reference/model/inspectSolid.md +0 -38
  810. package/dist/docs/reference/model/isEmpty.md +0 -39
  811. package/dist/docs/reference/model/path2.md +0 -54
  812. package/dist/docs/reference/model/path3.md +0 -49
  813. package/dist/docs/reference/model/split.md +0 -54
  814. package/dist/docs/reference/model/splitByPlane.md +0 -66
  815. package/dist/docs/reference/model/transform2.md +0 -46
  816. package/dist/docs/reference/model/transform3.md +0 -48
  817. package/dist/docs/reference/model/vector2.md +0 -40
  818. package/dist/docs/reference/model/vector3.md +0 -47
  819. package/dist/docs/reference/text/Bounds2Data.md +0 -34
  820. package/dist/docs/reference/text/Vector2Data.md +0 -7
  821. package/dist/docs/reference/text/VectorTextArcBaseline.md +0 -53
  822. package/dist/docs/reference/text/VectorTextLayout.md +0 -34
  823. package/dist/docs/reference/text/VectorTextLayoutOptions.md +0 -111
  824. package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
  825. package/dist/docs/reference/text/VectorTextOptions.md +0 -50
  826. package/dist/engine/export-3mf.js +0 -116
  827. package/dist/engine/model-dependencies.js +0 -46
  828. package/dist/engine/session-graph.js +0 -449
  829. package/dist/geometry/profiles/profiles.js +0 -71
  830. /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
  831. /package/dist/{engine → geometry/mesh}/mesh-view-cache.js +0 -0
  832. /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
@@ -0,0 +1,96 @@
1
+ # preflightThreadSolid
2
+
3
+ Checks thread dimensions, profile, end treatments, sampling, and conservative estimates against output limits.
4
+
5
+ **preflightThreadSolid**(`options`: [`ThreadSolidOptions`](../geometry/ThreadSolidOptions.md)): [`ThreadSolidPreflight`](../geometry/ThreadSolidPreflight.md)
6
+
7
+
8
+
9
+ This pure operation needs no engine and constructs planning data without vertex or index buffers.
10
+ `circularSegments` is the selected count; row and triangle counts are conservative estimates.
11
+ Successful preflight leaves generated coordinate and topology checks to mesh construction.
12
+
13
+ See `mesh.threadSolid` for standalone mesh construction.
14
+
15
+ ## Parameters
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`ThreadSolidOptions`](../geometry/ThreadSolidOptions.md) · Required
20
+
21
+ - [`length`](../geometry/ThreadSolidOptions.md#length) · `number` · Required
22
+
23
+ Total threaded axial length in millimetres.
24
+
25
+ - [`majorDiameter`](../geometry/ThreadSolidOptions.md#majordiameter) · `number` · Required
26
+
27
+ Nominal major diameter before any caller-owned fit compensation.
28
+
29
+ - [`profile`](../geometry/ThreadSolidOptions.md#profile) · [`ThreadProfile`](../geometry/ThreadProfile-type.md) · Required
30
+
31
+ Validated periodic profile repeated around the shaft.
32
+
33
+ - [`ends`](../geometry/ThreadSolidOptions.md#ends) · [`ThreadEndTreatmentOptions`](../geometry/ThreadEndTreatmentOptions.md) · Optional
34
+
35
+ Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
36
+ BOSL2-style non-cut lead-in scaling is available on complete thread solids.
37
+
38
+ - [`handedness`](../geometry/ThreadSolidOptions.md#handedness) · [`ThreadHandedness`](../geometry/ThreadHandedness.md) · Optional
39
+
40
+ Helix direction. Default: `right`.
41
+
42
+ - [`limits`](../geometry/ThreadSolidOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
43
+
44
+ Explicit output and circular allocation ceilings.
45
+
46
+ - [`phase`](../geometry/ThreadSolidOptions.md#phase) · `number` · Optional
47
+
48
+ Angular offset of the first start in degrees. Default: `0`.
49
+
50
+ - [`resolution`](../geometry/ThreadSolidOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
51
+
52
+ Optional circular-resolution policy.
53
+
54
+ - [`starts`](../geometry/ThreadSolidOptions.md#starts) · `number` · Optional
55
+
56
+ Number of evenly phased starts. Default: `1`.
57
+
58
+ - [`tolerance`](../geometry/ThreadSolidOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
59
+
60
+ Optional numerical tolerance overrides.
61
+
62
+ - [`bevel`](../geometry/ThreadSolidOptions.md#bevel) · [`Bevel`](../geometry/Bevel.md) · Optional
63
+
64
+ Independent 45-degree bottom/top bevels; omitted disables both. Auto uses profile depth.
65
+
66
+ - [`bevelOffset`](../geometry/ThreadSolidOptions.md#beveloffset) · `number` · Optional
67
+
68
+ Distance of each bevel target face inward from the corresponding mesh end.
69
+
70
+ - [`bevelMode`](../geometry/ThreadSolidOptions.md#bevelmode) · `"inset"` \| `"outset"` · Optional
71
+
72
+ `inset` trims an external rod; `outset` expands an internal cutter.
73
+
74
+
75
+
76
+ ## Returns
77
+
78
+ [`ThreadSolidPreflight`](../geometry/ThreadSolidPreflight.md)
79
+
80
+
81
+ ## Related APIs
82
+
83
+ - [ThreadSolidOptions](../geometry/ThreadSolidOptions.md)
84
+ - [ThreadSolidPreflight](../geometry/ThreadSolidPreflight.md)
85
+
86
+ ## Guides
87
+
88
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
89
+
90
+ ## Supported imports
91
+
92
+ ```ts
93
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
94
+ ```
95
+
96
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,57 @@
1
+ # render
2
+
3
+ Builds crease-aware render buffers without moving or merging distinct positions. Face normals are averaged only at exactly coincident positions within the crease angle. Returns owned buffers; every triangle retains its coordinates, order and winding. Pathological vertex fans exceeding 50 million normal comparisons reject with a complexity error.
4
+
5
+ **render**(`input`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md), `options?`: [`MeshRenderOptions`](MeshRenderOptions.md)): [`RenderMesh`](RenderMesh.md)
6
+
7
+
8
+
9
+ ## Example
10
+
11
+ ```ts
12
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
13
+ const surface = mesh.heightfield({ size: [10, 10], segments: [2, 2], height: () => 0 });
14
+ const rendered = mesh.render(surface);
15
+ // rendered.positions and rendered.normals can be passed to a renderer or GLB writer.
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="input"></a>
21
+
22
+ **`input`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
23
+
24
+
25
+
26
+ <a id="options"></a>
27
+
28
+ **`options`** · [`MeshRenderOptions`](MeshRenderOptions.md) · Optional
29
+
30
+ - [`creaseAngle`](MeshRenderOptions.md#creaseangle) · `number` · Optional
31
+
32
+ Maximum angle between averaged face normals, in degrees. Defaults to `20`; `0` is flat.
33
+
34
+
35
+
36
+ ## Returns
37
+
38
+ [`RenderMesh`](RenderMesh.md)
39
+
40
+
41
+ ## Related APIs
42
+
43
+ - [MeshRenderOptions](MeshRenderOptions.md)
44
+ - [RenderMesh](RenderMesh.md)
45
+ - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
46
+
47
+ ## Guides
48
+
49
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
50
+
51
+ ## Supported imports
52
+
53
+ ```ts
54
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
55
+ ```
56
+
57
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,41 @@
1
+ # reverse
2
+
3
+ Returns a copy of a mesh with every triangle winding reversed.
4
+
5
+ **reverse**(`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)): [`TriangleMesh`](../geometry/TriangleMesh.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="mesh"></a>
12
+
13
+ **`mesh`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
14
+
15
+ Mesh to copy and reverse.
16
+
17
+
18
+
19
+ ## Returns
20
+
21
+ [`TriangleMesh`](../geometry/TriangleMesh.md)
22
+
23
+ Fresh position and index buffers; the input remains unchanged.
24
+
25
+
26
+ ## Related APIs
27
+
28
+ - [TriangleMesh](../geometry/TriangleMesh.md)
29
+ - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
30
+
31
+ ## Guides
32
+
33
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
34
+
35
+ ## Supported imports
36
+
37
+ ```ts
38
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
39
+ ```
40
+
41
+ Package: `@metamesh/modeling@0.19.0`.
@@ -1,8 +1,8 @@
1
- # revolveMesh
1
+ # revolve
2
2
 
3
3
  Revolves a non-duplicated closed `[radius, z]` profile around +Z.
4
4
 
5
- `const` **revolveMesh**: (`input`: [`Path2Input`](Path2Input.md), `options?`: [`RevolveOptions`](RevolveOptions.md)) => [`TriangleMesh`](TriangleMesh.md)
5
+ `const` **revolve**: (`input`: [`Path2Input`](../geometry/Path2Input.md), `options?`: [`RevolveOptions`](../geometry/RevolveOptions.md)) => [`TriangleMesh`](../geometry/TriangleMesh.md)
6
6
 
7
7
 
8
8
 
@@ -18,43 +18,43 @@ Path2 profiles must be closed; raw point collections have an implicit closing ed
18
18
 
19
19
  ```ts
20
20
  // Each point is [radius, Z]; the profile seam is implicit.
21
- revolveMesh([[0, 0], [12, 0], [8, 20], [0, 20]], { degrees: 270 });
21
+ mesh.revolve([[0, 0], [12, 0], [8, 20], [0, 20]], { degrees: 270 });
22
22
  ```
23
23
 
24
24
  ## Parameters
25
25
 
26
26
  <a id="input"></a>
27
27
 
28
- **`input`** · [`Path2Input`](Path2Input.md) · Required
28
+ **`input`** · [`Path2Input`](../geometry/Path2Input.md) · Required
29
29
 
30
30
 
31
31
 
32
32
  <a id="options"></a>
33
33
 
34
- **`options`** · [`RevolveOptions`](RevolveOptions.md) · Optional
34
+ **`options`** · [`RevolveOptions`](../geometry/RevolveOptions.md) · Optional
35
35
 
36
36
  Optional physical or exact circumferential sampling controls. Defaults to `{}`.
37
37
 
38
- - [`segments`](RevolveOptions.md#segments) · `number` · Optional
38
+ - [`segments`](../geometry/RevolveOptions.md#segments) · `number` · Optional
39
39
 
40
40
  Exact circumferential segment count from three through the configured safety limit.
41
41
 
42
- This local topology override takes precedence over [CircularPrimitiveOptions.resolution](CircularPrimitiveOptions.md#resolution)
42
+ This local topology override takes precedence over [CircularPrimitiveOptions.resolution](../geometry/CircularPrimitiveOptions.md#resolution)
43
43
  and any active model-wide resolution policy.
44
44
 
45
- - [`resolution`](RevolveOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
45
+ - [`resolution`](../geometry/RevolveOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
46
46
 
47
47
  Operation-level physical tessellation policy over the active model-wide policy.
48
48
 
49
- - [`degrees`](RevolveOptions.md#degrees) · `number` · Optional · Default: `360`
49
+ - [`degrees`](../geometry/RevolveOptions.md#degrees) · `number` · Optional · Default: `360`
50
50
 
51
51
  Positive sweep in degrees, no greater than 360. Defaults to a full revolution;
52
52
  smaller sweeps form partial revolutions with end caps.
53
53
  Segment counts describe a complete circle and scale to this angular span. Native filled
54
54
  revolutions require at least three sweep intervals: adaptive sampling refines to that floor,
55
- while exact counts that imply fewer intervals reject. Pure revolveMesh supports one interval.
55
+ while exact counts that imply fewer intervals reject. Pure mesh.revolve supports one interval.
56
56
 
57
- - [`limits`](RevolveOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
57
+ - [`limits`](../geometry/RevolveOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
58
58
 
59
59
  Explicit output and sampling allocation ceilings.
60
60
 
@@ -62,19 +62,25 @@ Optional physical or exact circumferential sampling controls. Defaults to `{}`.
62
62
 
63
63
  ## Returns
64
64
 
65
- [`TriangleMesh`](TriangleMesh.md)
65
+ [`TriangleMesh`](../geometry/TriangleMesh.md)
66
66
 
67
67
  A closed indexed triangle mesh revolved counter-clockwise around +Z.
68
68
 
69
69
 
70
70
  ## Related APIs
71
71
 
72
- - [Path2Input](Path2Input.md)
73
- - [RevolveOptions](RevolveOptions.md)
74
- - [TriangleMesh](TriangleMesh.md)
72
+ - [Path2Input](../geometry/Path2Input.md)
73
+ - [RevolveOptions](../geometry/RevolveOptions.md)
74
+ - [TriangleMesh](../geometry/TriangleMesh.md)
75
75
 
76
76
  ## Guides
77
77
 
78
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
78
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
79
79
 
80
- Package: `@metamesh/modeling@0.17.0`.
80
+ ## Supported imports
81
+
82
+ ```ts
83
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
84
+ ```
85
+
86
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,70 @@
1
+ # signature
2
+
3
+ Creates an order-independent regression signature for a manufacturing mesh.
4
+
5
+ **signature**(`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md), `options?`: [`TriangleMeshSignatureOptions`](../geometry/TriangleMeshSignatureOptions.md)): [`TriangleMeshSignature`](../geometry/TriangleMeshSignature.md)
6
+
7
+
8
+
9
+ The input must be non-empty, closed, consistently wound, and have no unreferenced vertices.
10
+ Vertex and triangle order do not affect the fingerprint; winding, quantized geometry, and
11
+ connectivity metrics do. The fingerprint is a regression aid, not a cryptographic digest.
12
+
13
+ ## Parameters
14
+
15
+ <a id="mesh"></a>
16
+
17
+ **`mesh`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
18
+
19
+ Closed oriented mesh to measure without mutation.
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`TriangleMeshSignatureOptions`](../geometry/TriangleMeshSignatureOptions.md) · Optional
26
+
27
+ Absolute quantization and complexity limits.
28
+
29
+ - [`maxTriangles`](../geometry/TriangleMeshSignatureOptions.md#maxtriangles) · `number` · Optional
30
+
31
+ Maximum accepted triangle count. Defaults to 200,000.
32
+
33
+ - [`positionTolerance`](../geometry/TriangleMeshSignatureOptions.md#positiontolerance) · `number` · Optional
34
+
35
+ Position and bounds quantization in model units. Defaults to `1e-5`.
36
+
37
+ - [`volumeTolerance`](../geometry/TriangleMeshSignatureOptions.md#volumetolerance) · `number` · Optional
38
+
39
+ Signed-volume quantization in cubic model units. Defaults to `1e-4`.
40
+
41
+
42
+
43
+ ## Returns
44
+
45
+ [`TriangleMeshSignature`](../geometry/TriangleMeshSignature.md)
46
+
47
+ Compact counts, bounds, volume, topology, tolerances, and canonical fingerprint.
48
+
49
+
50
+ ## Throws
51
+
52
+ - `GeometryError` When validation, topology, tolerance, or complexity checks fail.
53
+
54
+ ## Related APIs
55
+
56
+ - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
57
+ - [TriangleMeshSignature](../geometry/TriangleMeshSignature.md)
58
+ - [TriangleMeshSignatureOptions](../geometry/TriangleMeshSignatureOptions.md)
59
+
60
+ ## Guides
61
+
62
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
63
+
64
+ ## Supported imports
65
+
66
+ ```ts
67
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
68
+ ```
69
+
70
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,92 @@
1
+ # sweep
2
+
3
+ Sweeps one explicitly ordered point loop, with caps or a geometrically matching closed seam.
4
+
5
+ **sweep**(`profile`: [`Path2Input`](../geometry/Path2Input.md), `path`: [`Path3Input`](../geometry/Path3Input.md), `options?`: [`SweepOptions`](../geometry/SweepOptions.md)): [`TriangleMesh`](../geometry/TriangleMesh.md)
6
+
7
+
8
+
9
+ ## Example: Sweep point data along a bent path
10
+
11
+ ```ts
12
+ const profile = rectangleContour({ size: [6, 3] });
13
+ mesh.sweep(profile, [[0, 0, 0], [0, 0, 15], [10, 0, 25]], {
14
+ orientation: { kind: "transport", initialNormal: [0, 1, 0] },
15
+ });
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ <a id="profile"></a>
21
+
22
+ **`profile`** · [`Path2Input`](../geometry/Path2Input.md) · Required
23
+
24
+
25
+
26
+ <a id="path"></a>
27
+
28
+ **`path`** · [`Path3Input`](../geometry/Path3Input.md) · Required
29
+
30
+
31
+
32
+ <a id="options"></a>
33
+
34
+ **`options`** · [`SweepOptions`](../geometry/SweepOptions.md) · Optional
35
+
36
+ - [`closed`](../geometry/SweepOptions.md#closed) · `boolean` · Optional
37
+
38
+ Raw point closure defaults to false; a Path3 supplies its closure and rejects conflicts.
39
+
40
+ - [`limits`](../geometry/SweepOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
41
+
42
+ Explicit output and sampling allocation ceilings.
43
+
44
+ - [`orientation`](../geometry/SweepOptions.md#orientation) · [`SweepOrientation`](../geometry/SweepOrientation.md) · Optional
45
+
46
+ Explicit frame policy; default transport minimizes rotations, initially projecting +X then +Y then +Z.
47
+
48
+ - [`resolution`](../geometry/SweepOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
49
+
50
+ Physical sampling of nonzero twist; inserted stations retain authored station controls.
51
+
52
+ - [`twist`](../geometry/SweepOptions.md#twist) · `number` · Optional
53
+
54
+ Total additional profile rotation in degrees, with progression selected by twistBy.
55
+
56
+ - [`twistBy`](../geometry/SweepOptions.md#twistby) · `"length"` \| `"stations"` · Optional
57
+
58
+ Twist advances by physical path length (default), or normalized authored station position, including a closed seam gap.
59
+
60
+ - [`scale`](../geometry/SweepOptions.md#scale) · `number` \| [`Vector2Input`](../geometry/Vector2Input.md) \| readonly [`Vector2Input`](../geometry/Vector2Input.md)[] · Optional
61
+
62
+ Positive uniform/XY scale, or one XY pair per path station. Defaults to one.
63
+
64
+ - [`seamProfileOffset`](../geometry/SweepOptions.md#seamprofileoffset) · `number` · Optional
65
+
66
+ Corresponding point-index advance at a rotationally equivalent closed seam.
67
+
68
+
69
+
70
+ ## Returns
71
+
72
+ [`TriangleMesh`](../geometry/TriangleMesh.md)
73
+
74
+
75
+ ## Related APIs
76
+
77
+ - [Path2Input](../geometry/Path2Input.md)
78
+ - [Path3Input](../geometry/Path3Input.md)
79
+ - [SweepOptions](../geometry/SweepOptions.md)
80
+ - [TriangleMesh](../geometry/TriangleMesh.md)
81
+
82
+ ## Guides
83
+
84
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
85
+
86
+ ## Supported imports
87
+
88
+ ```ts
89
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
90
+ ```
91
+
92
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,78 @@
1
+ # threadRidge
2
+
3
+ Builds closed thread-ridge components with every profile locked to the shaft's radial/axial frame. The mesh is intended for union with its minor-envelope cylinder and never owns WASM objects.
4
+
5
+ **threadRidge**(`options`: [`ThreadRidgeOptions`](../geometry/ThreadRidgeOptions.md)): [`TriangleMesh`](../geometry/TriangleMesh.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="options"></a>
12
+
13
+ **`options`** · [`ThreadRidgeOptions`](../geometry/ThreadRidgeOptions.md) · Required
14
+
15
+ - [`length`](../geometry/ThreadRidgeOptions.md#length) · `number` · Required
16
+
17
+ Total threaded axial length in millimetres.
18
+
19
+ - [`majorDiameter`](../geometry/ThreadRidgeOptions.md#majordiameter) · `number` · Required
20
+
21
+ Nominal major diameter before any caller-owned fit compensation.
22
+
23
+ - [`profile`](../geometry/ThreadRidgeOptions.md#profile) · [`ThreadProfile`](../geometry/ThreadProfile-type.md) · Required
24
+
25
+ Validated periodic profile repeated around the shaft.
26
+
27
+ - [`ends`](../geometry/ThreadRidgeOptions.md#ends) · [`ThreadEndTreatmentOptions`](../geometry/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`](../geometry/ThreadRidgeOptions.md#handedness) · [`ThreadHandedness`](../geometry/ThreadHandedness.md) · Optional
33
+
34
+ Helix direction. Default: `right`.
35
+
36
+ - [`limits`](../geometry/ThreadRidgeOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
37
+
38
+ Explicit output and circular allocation ceilings.
39
+
40
+ - [`phase`](../geometry/ThreadRidgeOptions.md#phase) · `number` · Optional
41
+
42
+ Angular offset of the first start in degrees. Default: `0`.
43
+
44
+ - [`resolution`](../geometry/ThreadRidgeOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
45
+
46
+ Optional circular-resolution policy.
47
+
48
+ - [`starts`](../geometry/ThreadRidgeOptions.md#starts) · `number` · Optional
49
+
50
+ Number of evenly phased starts. Default: `1`.
51
+
52
+ - [`tolerance`](../geometry/ThreadRidgeOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
53
+
54
+ Optional numerical tolerance overrides.
55
+
56
+
57
+
58
+ ## Returns
59
+
60
+ [`TriangleMesh`](../geometry/TriangleMesh.md)
61
+
62
+
63
+ ## Related APIs
64
+
65
+ - [ThreadRidgeOptions](../geometry/ThreadRidgeOptions.md)
66
+ - [TriangleMesh](../geometry/TriangleMesh.md)
67
+
68
+ ## Guides
69
+
70
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
71
+
72
+ ## Supported imports
73
+
74
+ ```ts
75
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
76
+ ```
77
+
78
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,96 @@
1
+ # threadSolid
2
+
3
+ Builds one closed threaded cylinder without a ridge/core Boolean seam.
4
+
5
+ **threadSolid**(`options`: [`ThreadSolidOptions`](../geometry/ThreadSolidOptions.md)): [`TriangleMesh`](../geometry/TriangleMesh.md)
6
+
7
+
8
+
9
+ Each circular facet includes its exact phase-shifted profile breakpoints, including duplicate-Z
10
+ samples for vertical flanks and blunt transitions. Adjacent variable grids are stitched as a
11
+ monotone strip, with optional intermediate rows bounded by physical `maxSegmentLength`. A
12
+ conservative pre-allocation estimate rejects excessive meshes before constructing position
13
+ arrays.
14
+
15
+ ## Parameters
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`ThreadSolidOptions`](../geometry/ThreadSolidOptions.md) · Required
20
+
21
+ - [`length`](../geometry/ThreadSolidOptions.md#length) · `number` · Required
22
+
23
+ Total threaded axial length in millimetres.
24
+
25
+ - [`majorDiameter`](../geometry/ThreadSolidOptions.md#majordiameter) · `number` · Required
26
+
27
+ Nominal major diameter before any caller-owned fit compensation.
28
+
29
+ - [`profile`](../geometry/ThreadSolidOptions.md#profile) · [`ThreadProfile`](../geometry/ThreadProfile-type.md) · Required
30
+
31
+ Validated periodic profile repeated around the shaft.
32
+
33
+ - [`ends`](../geometry/ThreadSolidOptions.md#ends) · [`ThreadEndTreatmentOptions`](../geometry/ThreadEndTreatmentOptions.md) · Optional
34
+
35
+ Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
36
+ BOSL2-style non-cut lead-in scaling is available on complete thread solids.
37
+
38
+ - [`handedness`](../geometry/ThreadSolidOptions.md#handedness) · [`ThreadHandedness`](../geometry/ThreadHandedness.md) · Optional
39
+
40
+ Helix direction. Default: `right`.
41
+
42
+ - [`limits`](../geometry/ThreadSolidOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
43
+
44
+ Explicit output and circular allocation ceilings.
45
+
46
+ - [`phase`](../geometry/ThreadSolidOptions.md#phase) · `number` · Optional
47
+
48
+ Angular offset of the first start in degrees. Default: `0`.
49
+
50
+ - [`resolution`](../geometry/ThreadSolidOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
51
+
52
+ Optional circular-resolution policy.
53
+
54
+ - [`starts`](../geometry/ThreadSolidOptions.md#starts) · `number` · Optional
55
+
56
+ Number of evenly phased starts. Default: `1`.
57
+
58
+ - [`tolerance`](../geometry/ThreadSolidOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
59
+
60
+ Optional numerical tolerance overrides.
61
+
62
+ - [`bevel`](../geometry/ThreadSolidOptions.md#bevel) · [`Bevel`](../geometry/Bevel.md) · Optional
63
+
64
+ Independent 45-degree bottom/top bevels; omitted disables both. Auto uses profile depth.
65
+
66
+ - [`bevelOffset`](../geometry/ThreadSolidOptions.md#beveloffset) · `number` · Optional
67
+
68
+ Distance of each bevel target face inward from the corresponding mesh end.
69
+
70
+ - [`bevelMode`](../geometry/ThreadSolidOptions.md#bevelmode) · `"inset"` \| `"outset"` · Optional
71
+
72
+ `inset` trims an external rod; `outset` expands an internal cutter.
73
+
74
+
75
+
76
+ ## Returns
77
+
78
+ [`TriangleMesh`](../geometry/TriangleMesh.md)
79
+
80
+
81
+ ## Related APIs
82
+
83
+ - [ThreadSolidOptions](../geometry/ThreadSolidOptions.md)
84
+ - [TriangleMesh](../geometry/TriangleMesh.md)
85
+
86
+ ## Guides
87
+
88
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
89
+
90
+ ## Supported imports
91
+
92
+ ```ts
93
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
94
+ ```
95
+
96
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,53 @@
1
+ # transform
2
+
3
+ Applies an affine transform to a mesh and preserves outward face orientation.
4
+
5
+ **transform**(`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md), `placement`: [`Transform3Input`](../geometry/Transform3Input.md)): [`TriangleMesh`](../geometry/TriangleMesh.md)
6
+
7
+
8
+
9
+ A transform with a negative linear determinant reflects space, so this helper
10
+ automatically reverses every triangle. Singular transforms are rejected.
11
+
12
+ ## Parameters
13
+
14
+ <a id="mesh"></a>
15
+
16
+ **`mesh`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
17
+
18
+ Mesh to transform without mutation.
19
+
20
+
21
+
22
+ <a id="placement"></a>
23
+
24
+ **`placement`** · [`Transform3Input`](../geometry/Transform3Input.md) · Required
25
+
26
+ Immutable spatial placement or canonical row-major affine matrix.
27
+
28
+
29
+
30
+ ## Returns
31
+
32
+ [`TriangleMesh`](../geometry/TriangleMesh.md)
33
+
34
+ A mesh with fresh transformed positions and copied or reversed indices.
35
+
36
+
37
+ ## Related APIs
38
+
39
+ - [Transform3Input](../geometry/Transform3Input.md)
40
+ - [TriangleMesh](../geometry/TriangleMesh.md)
41
+ - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
42
+
43
+ ## Guides
44
+
45
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
46
+
47
+ ## Supported imports
48
+
49
+ ```ts
50
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
51
+ ```
52
+
53
+ Package: `@metamesh/modeling@0.19.0`.