@metamesh/modeling 0.18.0 → 0.20.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 (1035) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +96 -64
  3. package/dist/api/engine.d.ts +216 -160
  4. package/dist/api/export.d.ts +204 -0
  5. package/dist/api/geometry.d.ts +410 -2106
  6. package/dist/api/index.d.ts +545 -1821
  7. package/dist/api/math.d.ts +315 -0
  8. package/dist/api/mechanical.d.ts +1041 -0
  9. package/dist/api/mesh.d.ts +395 -94
  10. package/dist/api/text.d.ts +24 -44
  11. package/dist/docs/guides/concepts.md +54 -523
  12. package/dist/docs/guides/exporting.md +88 -0
  13. package/dist/docs/guides/fonts.md +7 -5
  14. package/dist/docs/guides/fundamentals.md +12 -24
  15. package/dist/docs/guides/generation.md +76 -61
  16. package/dist/docs/guides/geometry-values.md +251 -0
  17. package/dist/docs/guides/hosting.md +58 -80
  18. package/dist/docs/guides/profiles-and-extrusion.md +400 -0
  19. package/dist/docs/guides/recipes.md +52 -706
  20. package/dist/docs/guides/resolution-and-inspection.md +153 -0
  21. package/dist/docs/guides/solid-joins.md +136 -0
  22. package/dist/docs/guides/standalone-model.md +5 -3
  23. package/dist/docs/guides/svg-and-text.md +252 -0
  24. package/dist/docs/guides/sweeps-and-lofts.md +223 -0
  25. package/dist/docs/guides/transforms-and-placement.md +323 -0
  26. package/dist/docs/guides/workers.md +166 -0
  27. package/dist/docs/manifest.json +5539 -8603
  28. package/dist/docs/reference/engine/GenerationOptions.md +9 -4
  29. package/dist/docs/reference/engine/GeometryResource.md +11 -5
  30. package/dist/docs/reference/engine/ModelDependencies.md +9 -3
  31. package/dist/docs/reference/engine/ModelEngine.md +8 -3
  32. package/dist/docs/reference/engine/ModelEngineOptions.md +6 -5
  33. package/dist/docs/reference/engine/ModelPart.md +12 -6
  34. package/dist/docs/reference/engine/ModelResult.md +8 -2
  35. package/dist/docs/reference/engine/ModelRunArguments.md +7 -1
  36. package/dist/docs/reference/engine/ModelRunOptions.md +9 -4
  37. package/dist/docs/reference/engine/ModelSession.md +7 -1
  38. package/dist/docs/reference/engine/SessionOptions.md +9 -4
  39. package/dist/docs/reference/engine/categories/host-lifecycle.md +11 -10
  40. package/dist/docs/reference/engine/checkModel.md +11 -1
  41. package/dist/docs/reference/engine/createModelEngine.md +13 -4
  42. package/dist/docs/reference/engine/defaultModelingLimits.md +7 -8
  43. package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
  44. package/dist/docs/reference/engine.md +13 -7
  45. package/dist/docs/reference/export/Export3mfOptions.md +20 -0
  46. package/dist/docs/reference/export/ExportDiagnostic.md +47 -0
  47. package/dist/docs/reference/export/ExportFormat.md +13 -0
  48. package/dist/docs/reference/export/ExportGeometry.md +27 -0
  49. package/dist/docs/reference/export/ExportGlbOptions.md +114 -0
  50. package/dist/docs/reference/export/ExportLimits.md +71 -0
  51. package/dist/docs/reference/export/ExportMaterial.md +35 -0
  52. package/dist/docs/reference/export/ExportOptions.md +82 -0
  53. package/dist/docs/reference/export/ExportPart.md +76 -0
  54. package/dist/docs/reference/export/ExportReport.md +70 -0
  55. package/dist/docs/reference/export/ExportSink.md +29 -0
  56. package/dist/docs/reference/export/ExportStlOptions.md +20 -0
  57. package/dist/docs/reference/export/ExportedFile.md +98 -0
  58. package/dist/docs/reference/export/categories/mesh-serialization.md +53 -0
  59. package/dist/docs/reference/export/defaultExportLimits.md +20 -0
  60. package/dist/docs/reference/export/export3mf.md +62 -0
  61. package/dist/docs/reference/export/exportGlb.md +66 -0
  62. package/dist/docs/reference/export/exportStl.md +62 -0
  63. package/dist/docs/reference/export/write3mf.md +71 -0
  64. package/dist/docs/reference/export/writeGlb.md +75 -0
  65. package/dist/docs/reference/export/writeStl.md +71 -0
  66. package/dist/docs/reference/export.md +27 -0
  67. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +9 -3
  68. package/dist/docs/reference/geometry/Anchor3-type.md +9 -3
  69. package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
  70. package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
  71. package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
  72. package/dist/docs/reference/geometry/AttachOptions.md +10 -5
  73. package/dist/docs/reference/geometry/Bounds2-type.md +17 -24
  74. package/dist/docs/reference/geometry/Bounds2Data.md +10 -9
  75. package/dist/docs/reference/geometry/Bounds2Input.md +10 -4
  76. package/dist/docs/reference/geometry/Bounds2Options.md +10 -4
  77. package/dist/docs/reference/geometry/Bounds3-type.md +17 -24
  78. package/dist/docs/reference/geometry/Bounds3Data.md +10 -9
  79. package/dist/docs/reference/geometry/Bounds3Input.md +10 -4
  80. package/dist/docs/reference/geometry/Bounds3Options.md +10 -4
  81. package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
  82. package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
  83. package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
  84. package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
  85. package/dist/docs/reference/geometry/BoxAnchorOptions.md +9 -3
  86. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +8 -2
  87. package/dist/docs/reference/geometry/CircleContourOptions.md +8 -2
  88. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +8 -3
  89. package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
  90. package/dist/docs/reference/geometry/CircularSampling.md +7 -1
  91. package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
  92. package/dist/docs/reference/geometry/Contour.md +9 -4
  93. package/dist/docs/reference/geometry/ContourCurve.md +8 -2
  94. package/dist/docs/reference/geometry/ContourPoint.md +8 -2
  95. package/dist/docs/reference/geometry/ContourSegment.md +8 -2
  96. package/dist/docs/reference/geometry/CorrespondingComponent.md +8 -2
  97. package/dist/docs/reference/geometry/CorrespondingContour.md +8 -2
  98. package/dist/docs/reference/geometry/CorrespondingProfile.md +8 -2
  99. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +9 -3
  100. package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
  101. package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
  102. package/dist/docs/reference/geometry/Curve2.md +8 -2
  103. package/dist/docs/reference/geometry/Curve3.md +8 -2
  104. package/dist/docs/reference/geometry/CurveSamplingOptions.md +8 -2
  105. package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
  106. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +10 -4
  107. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
  108. package/dist/docs/reference/geometry/EdgeTreatment.md +7 -1
  109. package/dist/docs/reference/geometry/EllipseContourOptions.md +8 -2
  110. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +15 -10
  111. package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
  112. package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +9 -2
  113. package/dist/docs/reference/geometry/Frame3Options.md +69 -0
  114. package/dist/docs/reference/geometry/GeometryError.md +7 -1
  115. package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -1
  116. package/dist/docs/reference/geometry/GeometryErrorContext.md +7 -1
  117. package/dist/docs/reference/geometry/GeometryResolution.md +7 -1
  118. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +8 -2
  119. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +8 -2
  120. package/dist/docs/reference/geometry/GridPatternOptions.md +13 -5
  121. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +8 -14
  122. package/dist/docs/reference/geometry/LineCurve2.md +8 -2
  123. package/dist/docs/reference/geometry/LineCurve3.md +8 -2
  124. package/dist/docs/reference/geometry/LinearPatternOptions.md +8 -2
  125. package/dist/docs/reference/geometry/LoftPlacement.md +19 -13
  126. package/dist/docs/reference/geometry/MatchProfilesOptions.md +8 -2
  127. package/dist/docs/reference/geometry/ModelingLimits.md +7 -1
  128. package/dist/docs/reference/geometry/NumericArray.md +8 -2
  129. package/dist/docs/reference/geometry/Path2-type.md +158 -3
  130. package/dist/docs/reference/geometry/Path2Data.md +8 -2
  131. package/dist/docs/reference/geometry/Path2Input.md +8 -2
  132. package/dist/docs/reference/geometry/Path3-type.md +158 -3
  133. package/dist/docs/reference/geometry/Path3Data.md +8 -2
  134. package/dist/docs/reference/geometry/Path3Input.md +8 -2
  135. package/dist/docs/reference/geometry/PathFrame.md +8 -2
  136. package/dist/docs/reference/geometry/PathLocation.md +8 -2
  137. package/dist/docs/reference/geometry/PathNormalGuide.md +9 -3
  138. package/dist/docs/reference/geometry/PathOptions.md +8 -2
  139. package/dist/docs/reference/geometry/PathPatternOptions.md +9 -3
  140. package/dist/docs/reference/geometry/PathPlacement.md +10 -4
  141. package/dist/docs/reference/geometry/PathResamplingOptions.md +8 -2
  142. package/dist/docs/reference/geometry/PathStation.md +87 -0
  143. package/dist/docs/reference/geometry/PathSubdivisionOptions.md +44 -0
  144. package/dist/docs/reference/geometry/Pivot2Options.md +9 -3
  145. package/dist/docs/reference/geometry/Pivot3Options.md +9 -3
  146. package/dist/docs/reference/geometry/PolygonData.md +9 -3
  147. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
  148. package/dist/docs/reference/geometry/Profile.md +8 -3
  149. package/dist/docs/reference/geometry/ProfileComponent2.md +8 -2
  150. package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
  151. package/dist/docs/reference/geometry/ProfileSpan2.md +8 -2
  152. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +10 -3
  153. package/dist/docs/reference/geometry/RadialPatternOptions.md +8 -2
  154. package/dist/docs/reference/geometry/RadialSizing.md +7 -1
  155. package/dist/docs/reference/geometry/RadialSizingOptions.md +7 -1
  156. package/dist/docs/reference/geometry/RectangleContourOptions.md +9 -2
  157. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +8 -2
  158. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +8 -2
  159. package/dist/docs/reference/geometry/RectangleProfileOptions.md +8 -2
  160. package/dist/docs/reference/geometry/RegionData.md +8 -2
  161. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
  162. package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
  163. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
  164. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +7 -1
  165. package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
  166. package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
  167. package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
  168. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
  169. package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
  170. package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
  171. package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
  172. package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
  173. package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
  174. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +7 -1
  175. package/dist/docs/reference/geometry/SplineOptions.md +69 -0
  176. package/dist/docs/reference/geometry/StarContourOptions.md +12 -2
  177. package/dist/docs/reference/geometry/StrokeCap.md +8 -2
  178. package/dist/docs/reference/geometry/StrokeJoin.md +8 -2
  179. package/dist/docs/reference/geometry/StrokeOptions.md +9 -3
  180. package/dist/docs/reference/geometry/SvgImportOptions.md +10 -4
  181. package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
  182. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
  183. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
  184. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
  185. package/dist/docs/reference/geometry/Transform2-type.md +9 -3
  186. package/dist/docs/reference/geometry/Transform2Data.md +9 -3
  187. package/dist/docs/reference/geometry/Transform2Input.md +9 -3
  188. package/dist/docs/reference/geometry/Transform3-type.md +10 -4
  189. package/dist/docs/reference/geometry/Transform3Data.md +9 -3
  190. package/dist/docs/reference/geometry/Transform3Input.md +12 -5
  191. package/dist/docs/reference/geometry/Vector2-type.md +9 -3
  192. package/dist/docs/reference/geometry/Vector2Data.md +9 -3
  193. package/dist/docs/reference/geometry/Vector2Input.md +9 -3
  194. package/dist/docs/reference/geometry/Vector3-type.md +33 -3
  195. package/dist/docs/reference/geometry/Vector3Data.md +9 -3
  196. package/dist/docs/reference/geometry/Vector3Input.md +9 -3
  197. package/dist/docs/reference/geometry/VectorTextLayout.md +8 -2
  198. package/dist/docs/reference/geometry/VectorTextMetrics.md +9 -3
  199. package/dist/docs/reference/geometry/anchor3.md +23 -26
  200. package/dist/docs/reference/geometry/anchorFrame3.md +11 -5
  201. package/dist/docs/reference/geometry/attachmentTransform3.md +14 -8
  202. package/dist/docs/reference/geometry/bounds2.md +16 -8
  203. package/dist/docs/reference/geometry/bounds3.md +14 -6
  204. package/dist/docs/reference/geometry/boundsCenter.md +10 -4
  205. package/dist/docs/reference/geometry/boundsSize.md +10 -4
  206. package/dist/docs/reference/geometry/boxAnchor3.md +9 -3
  207. package/dist/docs/reference/geometry/categories/bounds-layout.md +12 -6
  208. package/dist/docs/reference/geometry/categories/curves-paths.md +24 -13
  209. package/dist/docs/reference/geometry/categories/immutable-data.md +40 -0
  210. package/dist/docs/reference/geometry/categories/pattern-placement.md +11 -5
  211. package/dist/docs/reference/geometry/categories/primitive-options.md +8 -13
  212. package/dist/docs/reference/geometry/categories/profiles-regions.md +11 -5
  213. package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -1
  214. package/dist/docs/reference/geometry/categories/transforms-math.md +20 -51
  215. package/dist/docs/reference/geometry/categories/vector-import.md +8 -5
  216. package/dist/docs/reference/geometry/circleContour.md +8 -2
  217. package/dist/docs/reference/geometry/closeToAxis.md +12 -2
  218. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +14 -5
  219. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +18 -5
  220. package/dist/docs/reference/geometry/contourContainsPoint.md +12 -2
  221. package/dist/docs/reference/geometry/cylinderAnchor3.md +11 -5
  222. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
  223. package/dist/docs/reference/geometry/distributeAlongPath.md +21 -10
  224. package/dist/docs/reference/geometry/ellipseContour.md +8 -2
  225. package/dist/docs/reference/geometry/fitBounds.md +18 -4
  226. package/dist/docs/reference/geometry/fitTextLayout.md +11 -5
  227. package/dist/docs/reference/geometry/frame3.md +66 -0
  228. package/dist/docs/reference/geometry/gridPatternTransforms.md +12 -6
  229. package/dist/docs/reference/geometry/immutableBuffer.md +11 -3
  230. package/dist/docs/reference/geometry/isGeometryError.md +7 -1
  231. package/dist/docs/reference/geometry/layoutRow.md +12 -4
  232. package/dist/docs/reference/geometry/linearPatternTransforms.md +12 -6
  233. package/dist/docs/reference/geometry/matchProfiles.md +10 -2
  234. package/dist/docs/reference/geometry/normalizeContour.md +13 -3
  235. package/dist/docs/reference/geometry/normalizePolygon.md +10 -2
  236. package/dist/docs/reference/geometry/normalizeRegion.md +10 -2
  237. package/dist/docs/reference/geometry/path2.md +12 -2
  238. package/dist/docs/reference/geometry/path3.md +12 -2
  239. package/dist/docs/reference/geometry/pathPatternTransforms.md +18 -8
  240. package/dist/docs/reference/geometry/preflightSvgRegion.md +11 -5
  241. package/dist/docs/reference/geometry/radialPatternTransforms.md +11 -5
  242. package/dist/docs/reference/geometry/rectangleContour.md +8 -2
  243. package/dist/docs/reference/geometry/rectangleProfile.md +8 -3
  244. package/dist/docs/reference/geometry/regionArea.md +8 -2
  245. package/dist/docs/reference/geometry/regionBounds.md +11 -3
  246. package/dist/docs/reference/geometry/regularPolygonContour.md +8 -2
  247. package/dist/docs/reference/geometry/resamplePolyline2.md +12 -2
  248. package/dist/docs/reference/geometry/resamplePolyline3.md +12 -2
  249. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +10 -4
  250. package/dist/docs/reference/geometry/resolveArcSegments.md +13 -5
  251. package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
  252. package/dist/docs/reference/geometry/resolveCircularSegments.md +10 -2
  253. package/dist/docs/reference/geometry/resolveExtrusionSlices.md +85 -0
  254. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +10 -2
  255. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +8 -2
  256. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +17 -4
  257. package/dist/docs/reference/geometry/sampleContour.md +10 -4
  258. package/dist/docs/reference/geometry/sampleCurve2.md +12 -2
  259. package/dist/docs/reference/geometry/sampleCurve3.md +12 -2
  260. package/dist/docs/reference/geometry/sampleHelix.md +8 -2
  261. package/dist/docs/reference/geometry/sampleSideProfile.md +10 -4
  262. package/dist/docs/reference/geometry/sampleTextContours.md +9 -3
  263. package/dist/docs/reference/geometry/signedContourArea.md +10 -2
  264. package/dist/docs/reference/geometry/spline2.md +68 -0
  265. package/dist/docs/reference/geometry/spline3.md +62 -0
  266. package/dist/docs/reference/geometry/starContour.md +8 -2
  267. package/dist/docs/reference/geometry/strokeRegionData.md +14 -5
  268. package/dist/docs/reference/geometry/transform2.md +11 -3
  269. package/dist/docs/reference/geometry/transform3.md +29 -6
  270. package/dist/docs/reference/geometry/transformRegionData.md +12 -2
  271. package/dist/docs/reference/geometry/triangulateContour.md +11 -3
  272. package/dist/docs/reference/geometry/vector2.md +12 -4
  273. package/dist/docs/reference/geometry/vector3.md +14 -4
  274. package/dist/docs/reference/geometry.md +13 -18
  275. package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +8 -3
  276. package/dist/docs/reference/math/IDENTITY_TRANSFORM3.md +20 -0
  277. package/dist/docs/reference/math/add2.md +38 -0
  278. package/dist/docs/reference/math/add3.md +46 -0
  279. package/dist/docs/reference/math/applyTransformDirection3.md +46 -0
  280. package/dist/docs/reference/math/applyTransformPoint3.md +44 -0
  281. package/dist/docs/reference/math/categories/tuple-matrix.md +67 -0
  282. package/dist/docs/reference/math/cross2.md +38 -0
  283. package/dist/docs/reference/math/cross3.md +44 -0
  284. package/dist/docs/reference/math/distance2.md +38 -0
  285. package/dist/docs/reference/math/distance3.md +38 -0
  286. package/dist/docs/reference/math/dot2.md +38 -0
  287. package/dist/docs/reference/math/dot3.md +44 -0
  288. package/dist/docs/reference/math/eulerTransform3.md +43 -0
  289. package/dist/docs/reference/math/inverseTransform3.md +36 -0
  290. package/dist/docs/reference/math/length2.md +32 -0
  291. package/dist/docs/reference/math/length3.md +32 -0
  292. package/dist/docs/reference/math/lerp2.md +46 -0
  293. package/dist/docs/reference/math/lerp3.md +46 -0
  294. package/dist/docs/reference/math/multiplyTransform3.md +46 -0
  295. package/dist/docs/reference/math/normalize2.md +45 -0
  296. package/dist/docs/reference/math/normalize3.md +45 -0
  297. package/dist/docs/reference/math/projectOntoPlane3.md +40 -0
  298. package/dist/docs/reference/math/rotate2.md +40 -0
  299. package/dist/docs/reference/math/rotationTransform3.md +56 -0
  300. package/dist/docs/reference/math/scale2.md +38 -0
  301. package/dist/docs/reference/math/scale3.md +44 -0
  302. package/dist/docs/reference/math/scaleTransform3.md +39 -0
  303. package/dist/docs/reference/math/subtract2.md +38 -0
  304. package/dist/docs/reference/math/subtract3.md +44 -0
  305. package/dist/docs/reference/math/transformDeterminant3.md +38 -0
  306. package/dist/docs/reference/math/translationTransform3.md +36 -0
  307. package/dist/docs/reference/math/validateRigidTransform3.md +38 -0
  308. package/dist/docs/reference/math/validateTransform3.md +48 -0
  309. package/dist/docs/reference/math.md +22 -0
  310. package/dist/docs/reference/{geometry → mechanical}/AcmeThreadProfileSpec.md +9 -4
  311. package/dist/docs/reference/{geometry → mechanical}/Bevel.md +8 -2
  312. package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +8 -2
  313. package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +8 -2
  314. package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +9 -4
  315. package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +8 -2
  316. package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +8 -2
  317. package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +8 -2
  318. package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +10 -6
  319. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +8 -2
  320. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +8 -2
  321. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +9 -8
  322. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +8 -2
  323. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +8 -2
  324. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +8 -2
  325. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +8 -2
  326. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +8 -2
  327. package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +11 -8
  328. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +8 -2
  329. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +9 -4
  330. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +8 -2
  331. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +9 -8
  332. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +8 -2
  333. package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +8 -2
  334. package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +8 -2
  335. package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +8 -2
  336. package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +8 -2
  337. package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +8 -2
  338. package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
  339. package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +8 -2
  340. package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +8 -2
  341. package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +8 -2
  342. package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +8 -2
  343. package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +8 -6
  344. package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +9 -4
  345. package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +8 -2
  346. package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +10 -6
  347. package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +9 -4
  348. package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +8 -2
  349. package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +8 -2
  350. package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +8 -2
  351. package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +10 -6
  352. package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +8 -2
  353. package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +8 -2
  354. package/dist/docs/reference/{mesh/ThreadProfile.md → mechanical/ThreadProfile-type.md} +8 -6
  355. package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +9 -4
  356. package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +8 -2
  357. package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +12 -9
  358. package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +8 -2
  359. package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +13 -10
  360. package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +8 -2
  361. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +12 -9
  362. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +8 -2
  363. package/dist/docs/reference/mechanical/ThreadedNutShape.md +20 -0
  364. package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +11 -8
  365. package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +9 -4
  366. package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +9 -4
  367. package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +9 -3
  368. package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +9 -3
  369. package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +17 -5
  370. package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +18 -2
  371. package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +8 -2
  372. package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +8 -2
  373. package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +14 -6
  374. package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +10 -2
  375. package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +13 -5
  376. package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +14 -6
  377. package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +13 -5
  378. package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +10 -2
  379. package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +10 -2
  380. package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +14 -6
  381. package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +10 -2
  382. package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +10 -2
  383. package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +12 -4
  384. package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +14 -7
  385. package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +14 -7
  386. package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +15 -7
  387. package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +13 -5
  388. package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +12 -2
  389. package/dist/docs/reference/mechanical.md +19 -0
  390. package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +39 -40
  391. package/dist/docs/reference/mesh/HeightfieldMeshLimits.md +8 -6
  392. package/dist/docs/reference/mesh/HeightfieldPreflight.md +8 -2
  393. package/dist/docs/reference/mesh/ImmutableTriangleMesh.md +8 -6
  394. package/dist/docs/reference/mesh/LoftMeshStation.md +8 -7
  395. package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
  396. package/dist/docs/reference/mesh/PlanarMeshOptimizationFallbackReason.md +9 -3
  397. package/dist/docs/reference/mesh/PlanarMeshOptimizationOptions.md +11 -6
  398. package/dist/docs/reference/mesh/PlanarMeshOptimizationResult.md +13 -7
  399. package/dist/docs/reference/mesh/PlanarPatchQuality.md +7 -5
  400. package/dist/docs/reference/mesh/RenderMesh.md +68 -0
  401. package/dist/docs/reference/mesh/SolidMeshValidationOptions.md +7 -5
  402. package/dist/docs/reference/mesh/TriangleMesh.md +16 -2
  403. package/dist/docs/reference/mesh/TriangleMeshAnalysis.md +16 -11
  404. package/dist/docs/reference/mesh/TriangleMeshAnalysisOptions.md +12 -7
  405. package/dist/docs/reference/mesh/TriangleMeshInput.md +9 -3
  406. package/dist/docs/reference/mesh/TriangleMeshMeasurements.md +10 -5
  407. package/dist/docs/reference/mesh/TriangleMeshQualityOptions.md +9 -4
  408. package/dist/docs/reference/mesh/TriangleMeshQualityReport.md +9 -3
  409. package/dist/docs/reference/mesh/TriangleMeshSignature.md +9 -4
  410. package/dist/docs/reference/mesh/TriangleMeshSignatureOptions.md +8 -2
  411. package/dist/docs/reference/mesh/TriangleMeshSignatureTolerances.md +8 -2
  412. package/dist/docs/reference/mesh/TriangleMeshTopologyAnalysis.md +17 -12
  413. package/dist/docs/reference/mesh/TriangleMeshValidationOptions.md +9 -4
  414. package/dist/docs/reference/mesh/analyze.md +28 -14
  415. package/dist/docs/reference/mesh/analyzeQuality.md +15 -9
  416. package/dist/docs/reference/mesh/bounds.md +10 -5
  417. package/dist/docs/reference/mesh/categories/operations.md +24 -81
  418. package/dist/docs/reference/mesh/centroid.md +10 -5
  419. package/dist/docs/reference/mesh/extrude.md +25 -18
  420. package/dist/docs/reference/mesh/heightfield.md +13 -7
  421. package/dist/docs/reference/mesh/immutable.md +16 -10
  422. package/dist/docs/reference/mesh/join.md +11 -5
  423. package/dist/docs/reference/mesh/loft.md +23 -16
  424. package/dist/docs/reference/mesh/optimizePlanarPatches.md +24 -18
  425. package/dist/docs/reference/mesh/preflightHeightfield.md +13 -7
  426. package/dist/docs/reference/mesh/preflightThreadSolid.md +27 -24
  427. package/dist/docs/reference/mesh/render.md +59 -0
  428. package/dist/docs/reference/mesh/reverse.md +11 -5
  429. package/dist/docs/reference/mesh/revolve.md +17 -13
  430. package/dist/docs/reference/mesh/signature.md +15 -9
  431. package/dist/docs/reference/mesh/sweep.md +101 -24
  432. package/dist/docs/reference/mesh/threadRidge.md +24 -17
  433. package/dist/docs/reference/mesh/threadSolid.md +28 -21
  434. package/dist/docs/reference/mesh/transform.md +12 -7
  435. package/dist/docs/reference/mesh/validate.md +15 -9
  436. package/dist/docs/reference/mesh/validateSolid.md +14 -8
  437. package/dist/docs/reference/mesh.md +8 -2
  438. package/dist/docs/reference/model/BoxEdge.md +11 -3
  439. package/dist/docs/reference/model/BoxEdgeSelection.md +11 -3
  440. package/dist/docs/reference/model/BoxEdgeTreatments.md +12 -5
  441. package/dist/docs/reference/model/BoxOptions.md +14 -9
  442. package/dist/docs/reference/model/CircleOptions.md +11 -6
  443. package/dist/docs/reference/model/CornerCutterOptions.md +93 -0
  444. package/dist/docs/reference/model/CornerCutterTreatment.md +53 -0
  445. package/dist/docs/reference/model/CutterOverrun.md +43 -0
  446. package/dist/docs/reference/model/CylinderOptions.md +12 -6
  447. package/dist/docs/reference/model/DiagnosticOptions.md +7 -1
  448. package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
  449. package/dist/docs/reference/model/EllipseOptions.md +11 -6
  450. package/dist/docs/reference/model/EndTreatments.md +13 -9
  451. package/dist/docs/reference/model/ExtrudeOptions.md +48 -44
  452. package/dist/docs/reference/model/GenerateCallback.md +7 -1
  453. package/dist/docs/reference/model/GenerateContext.md +23 -24
  454. package/dist/docs/reference/model/GenerationDiagnostic.md +7 -1
  455. package/dist/docs/reference/model/GenerationError.md +8 -2
  456. package/dist/docs/reference/model/HeightfieldOptions.md +8 -8
  457. package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
  458. package/dist/docs/reference/model/HoleCutterOptions.md +19 -25
  459. package/dist/docs/reference/model/HoleCutterRecess.md +13 -5
  460. package/dist/docs/reference/model/HullOptions.md +12 -6
  461. package/dist/docs/reference/model/ImmutableValue.md +7 -1
  462. package/dist/docs/reference/model/ImplicitOptions.md +9 -9
  463. package/dist/docs/reference/model/JoinOptions.md +73 -0
  464. package/dist/docs/reference/model/JoinTransition.md +54 -0
  465. package/dist/docs/reference/model/KnuckleHinge-type.md +8 -3
  466. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
  467. package/dist/docs/reference/model/KnuckleHingeOptions.md +8 -4
  468. package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
  469. package/dist/docs/reference/model/LoftCorrespondence.md +13 -5
  470. package/dist/docs/reference/model/LoftOptions.md +16 -10
  471. package/dist/docs/reference/model/LoftStation.md +16 -10
  472. package/dist/docs/reference/model/Memo.md +54 -0
  473. package/dist/docs/reference/model/ModelProgram.md +7 -1
  474. package/dist/docs/reference/model/PartDeclaration.md +12 -8
  475. package/dist/docs/reference/model/PartGeometry.md +8 -4
  476. package/dist/docs/reference/model/PartOptions.md +12 -8
  477. package/dist/docs/reference/model/PatternSource.md +11 -5
  478. package/dist/docs/reference/model/PlaneOptions.md +11 -8
  479. package/dist/docs/reference/model/PolygonOptions.md +17 -16
  480. package/dist/docs/reference/model/PrimitiveAttachment.md +15 -4
  481. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +18 -17
  482. package/dist/docs/reference/model/RectangleOptions.md +31 -30
  483. package/dist/docs/reference/model/RegularPolygonOptions.md +11 -38
  484. package/dist/docs/reference/model/RevolveOptions.md +19 -17
  485. package/dist/docs/reference/model/Section.md +128 -72
  486. package/dist/docs/reference/model/SectionHullOptions.md +12 -6
  487. package/dist/docs/reference/model/SectionInspection.md +8 -6
  488. package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
  489. package/dist/docs/reference/model/SectionOffsetOptions.md +11 -6
  490. package/dist/docs/reference/model/Solid.md +113 -53
  491. package/dist/docs/reference/model/SolidInspection.md +8 -6
  492. package/dist/docs/reference/model/SolidSegmentHit.md +9 -7
  493. package/dist/docs/reference/model/SphereOptions.md +12 -5
  494. package/dist/docs/reference/model/StarOptions.md +33 -29
  495. package/dist/docs/reference/model/SvgOrigin.md +10 -4
  496. package/dist/docs/reference/model/SvgPathSectionOptions.md +13 -9
  497. package/dist/docs/reference/model/SvgSectionOptions.md +14 -11
  498. package/dist/docs/reference/model/SweepOptions.md +21 -28
  499. package/dist/docs/reference/model/SweepOrientation.md +19 -16
  500. package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
  501. package/dist/docs/reference/model/TextSectionOptions.md +11 -10
  502. package/dist/docs/reference/model/TorusOptions.md +13 -7
  503. package/dist/docs/reference/model/TubeOptions.md +25 -8
  504. package/dist/docs/reference/model/box.md +14 -6
  505. package/dist/docs/reference/model/categories/boolean-operations.md +16 -4
  506. package/dist/docs/reference/model/categories/bounded-surfaces.md +7 -1
  507. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +21 -16
  508. package/dist/docs/reference/model/categories/generation.md +15 -12
  509. package/dist/docs/reference/model/categories/hinges.md +7 -4
  510. package/dist/docs/reference/model/categories/mesh-inspection.md +8 -6
  511. package/dist/docs/reference/model/categories/primitives.md +32 -20
  512. package/dist/docs/reference/model/categories/sections.md +11 -16
  513. package/dist/docs/reference/model/categories/threads.md +9 -43
  514. package/dist/docs/reference/model/categories/transforms-placement.md +17 -41
  515. package/dist/docs/reference/model/circle.md +15 -5
  516. package/dist/docs/reference/model/cornerCutter.md +88 -0
  517. package/dist/docs/reference/model/cylinder.md +11 -3
  518. package/dist/docs/reference/model/edgeCutter.md +91 -0
  519. package/dist/docs/reference/model/ellipse.md +15 -5
  520. package/dist/docs/reference/model/extrude.md +37 -24
  521. package/dist/docs/reference/model/generate.md +10 -2
  522. package/dist/docs/reference/model/gridPattern.md +22 -9
  523. package/dist/docs/reference/model/heightfield.md +7 -1
  524. package/dist/docs/reference/model/holeCutter.md +34 -13
  525. package/dist/docs/reference/model/hull.md +9 -2
  526. package/dist/docs/reference/model/implicit.md +10 -4
  527. package/dist/docs/reference/model/internalThreadCutter.md +38 -21
  528. package/dist/docs/reference/model/intersect.md +14 -3
  529. package/dist/docs/reference/model/join.md +93 -0
  530. package/dist/docs/reference/model/knuckleHinge.md +7 -2
  531. package/dist/docs/reference/model/linearPattern.md +22 -9
  532. package/dist/docs/reference/model/loft.md +27 -16
  533. package/dist/docs/reference/model/minkowskiSum.md +10 -3
  534. package/dist/docs/reference/model/pathPattern.md +36 -21
  535. package/dist/docs/reference/model/polygon.md +18 -7
  536. package/dist/docs/reference/model/radialPattern.md +22 -9
  537. package/dist/docs/reference/model/rectangle.md +22 -12
  538. package/dist/docs/reference/model/regularPolygon.md +15 -5
  539. package/dist/docs/reference/model/revolve.md +26 -13
  540. package/dist/docs/reference/model/solidFromMesh.md +16 -6
  541. package/dist/docs/reference/model/sphere.md +12 -4
  542. package/dist/docs/reference/model/star.md +20 -10
  543. package/dist/docs/reference/model/stroke.md +29 -19
  544. package/dist/docs/reference/model/svgPathSection.md +20 -8
  545. package/dist/docs/reference/model/svgSection.md +21 -9
  546. package/dist/docs/reference/model/sweep.md +108 -24
  547. package/dist/docs/reference/model/textSection.md +19 -9
  548. package/dist/docs/reference/model/threadRidge.md +22 -17
  549. package/dist/docs/reference/model/threadedNut.md +31 -22
  550. package/dist/docs/reference/model/threadedRod.md +27 -18
  551. package/dist/docs/reference/model/torus.md +13 -5
  552. package/dist/docs/reference/model/tube.md +11 -3
  553. package/dist/docs/reference/model/union.md +14 -3
  554. package/dist/docs/reference/model.md +11 -11
  555. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -1
  556. package/dist/docs/reference/text/VectorFont.md +22 -12
  557. package/dist/docs/reference/text/VectorFontOptions.md +7 -1
  558. package/dist/docs/reference/text/VectorTextArcBaseline.md +7 -1
  559. package/dist/docs/reference/text/VectorTextLayoutOptions.md +8 -2
  560. package/dist/docs/reference/text/VectorTextOptions.md +7 -1
  561. package/dist/docs/reference/text/categories/font-preparation.md +7 -10
  562. package/dist/docs/reference/text/prepareVectorFont.md +9 -1
  563. package/dist/docs/reference/text.md +7 -1
  564. package/dist/engine/execution.js +5 -3
  565. package/dist/engine/finalization.js +6 -78
  566. package/dist/engine/index.js +11 -6
  567. package/dist/engine/native/adapter.js +1 -1
  568. package/dist/engine/native/construction-mesh.js +51 -0
  569. package/dist/engine/native/context.js +10 -7
  570. package/dist/engine/native/index.js +1 -1
  571. package/dist/engine/native/material-components.js +4 -53
  572. package/dist/engine/native/mesh-observation.js +55 -0
  573. package/dist/engine/native/regions.js +44 -23
  574. package/dist/engine/native/scoped-primitives.js +3 -3
  575. package/dist/engine/native/scoped-threads.js +1 -13
  576. package/dist/engine/native/threads.js +2 -2
  577. package/dist/engine/native/transforms.js +2 -2
  578. package/dist/engine/operations/construction.js +77 -27
  579. package/dist/engine/operations/context.js +15 -6
  580. package/dist/engine/operations/cutters.js +112 -0
  581. package/dist/engine/operations/environment.js +2 -2
  582. package/dist/engine/operations/extrusion-finishing.js +56 -29
  583. package/dist/engine/operations/hole-cutter.js +125 -114
  584. package/dist/engine/operations/join-collar-profile.js +120 -0
  585. package/dist/engine/operations/join.js +521 -0
  586. package/dist/engine/operations/knuckle-hinge.js +25 -20
  587. package/dist/engine/operations/loft.js +9 -16
  588. package/dist/engine/operations/mechanical.js +4 -15
  589. package/dist/engine/operations/primitives/anchors.js +23 -19
  590. package/dist/engine/operations/primitives/construction.js +38 -12
  591. package/dist/engine/operations/primitives/correspondence.js +2 -2
  592. package/dist/engine/operations/primitives/profile-mesh.js +41 -80
  593. package/dist/engine/operations/primitives/profiles.js +5 -5
  594. package/dist/engine/operations/sections.js +8 -8
  595. package/dist/engine/operations/transforms.js +19 -39
  596. package/dist/engine/placement.js +3 -3
  597. package/dist/engine/recipe-realization.js +87 -31
  598. package/dist/engine/session/declarations.js +98 -0
  599. package/dist/engine/session/dependencies.js +139 -39
  600. package/dist/engine/session/graph.js +290 -411
  601. package/dist/engine/session/native-cache.js +1 -1
  602. package/dist/engine/session/parameters.js +78 -0
  603. package/dist/engine/session/session.js +7 -7
  604. package/dist/engine/session/snapshot-cache.js +4 -4
  605. package/dist/engine/shape-anchors.js +13 -6
  606. package/dist/export/3mf.js +197 -0
  607. package/dist/export/capture.js +182 -0
  608. package/dist/export/glb.js +214 -0
  609. package/dist/export/index.js +5 -0
  610. package/dist/export/limits.js +18 -0
  611. package/dist/export/stl.js +120 -0
  612. package/dist/export/writer.js +54 -0
  613. package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
  614. package/dist/geometry/{bounds-value.js → bounds/value.js} +24 -20
  615. package/dist/geometry/curves/evaluation.js +5 -6
  616. package/dist/geometry/curves/sampling.js +30 -6
  617. package/dist/geometry/{extrusion.js → extrusion/controls.js} +58 -35
  618. package/dist/geometry/extrusion/mesh.js +92 -0
  619. package/dist/geometry/extrusion/stations.js +35 -0
  620. package/dist/geometry/extrusion/twisted-chamfer.js +265 -0
  621. package/dist/geometry/immutable-buffer.js +11 -7
  622. package/dist/geometry/index.js +24 -32
  623. package/dist/geometry/{model-limits.js → limits.js} +1 -1
  624. package/dist/geometry/loft/{loft-correspondence.js → correspondence.js} +31 -20
  625. package/dist/geometry/loft/{loft-geometry.js → geometry.js} +15 -17
  626. package/dist/geometry/loft/mesh.js +53 -0
  627. package/dist/geometry/loft/{loft-options.js → options.js} +13 -11
  628. package/dist/geometry/loft/{loft-simple-mesh.js → simple-mesh.js} +26 -17
  629. package/dist/geometry/math/interpolation.js +9 -0
  630. package/dist/geometry/math/vector-value.js +12 -3
  631. package/dist/geometry/math/vector2.js +18 -5
  632. package/dist/geometry/math/vector3.js +28 -5
  633. package/dist/geometry/math-api.js +4 -0
  634. package/dist/geometry/mechanical/gear-motion.js +7 -5
  635. package/dist/geometry/mechanical/gears.js +21 -4
  636. package/dist/geometry/mechanical/knuckle-hinge.js +7 -5
  637. package/dist/geometry/mechanical/threads/fit.js +8 -2
  638. package/dist/geometry/mechanical/threads/helices.js +4 -2
  639. package/dist/geometry/mechanical/threads/mesh-plan.js +4 -2
  640. package/dist/geometry/mechanical/threads/mesh.js +12 -9
  641. package/dist/geometry/mechanical/threads/profiles.js +18 -4
  642. package/dist/geometry/mechanical/threads/solids.js +11 -2
  643. package/dist/geometry/mechanical-api.js +10 -0
  644. package/dist/geometry/mesh/{mesh-centroid.js → centroid.js} +2 -1
  645. package/dist/geometry/{heightfield.js → mesh/heightfield.js} +9 -5
  646. package/dist/geometry/mesh/join-layers.js +833 -0
  647. package/dist/geometry/mesh/{mesh.js → operations.js} +11 -18
  648. package/dist/geometry/mesh/{mesh-planar.js → planar.js} +8 -18
  649. package/dist/geometry/mesh/{mesh-quality.js → quality.js} +10 -42
  650. package/dist/geometry/mesh/render-buffers.js +220 -0
  651. package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
  652. package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +45 -17
  653. package/dist/geometry/mesh/{mesh-solid.js → solid.js} +10 -6
  654. package/dist/geometry/mesh/triangle-quality.js +42 -0
  655. package/dist/geometry/mesh/winding.js +11 -0
  656. package/dist/geometry/{numeric.js → mesh/write-vertex.js} +1 -1
  657. package/dist/geometry/mesh-api.js +12 -10
  658. package/dist/geometry/paths/distribution.js +43 -0
  659. package/dist/geometry/paths/editing.js +76 -0
  660. package/dist/geometry/paths/frames.js +16 -11
  661. package/dist/geometry/paths/helix.js +1 -1
  662. package/dist/geometry/paths/resampling.js +46 -61
  663. package/dist/geometry/paths/{planar.js → rounding.js} +8 -67
  664. package/dist/geometry/paths/spline.js +116 -0
  665. package/dist/geometry/paths/traversal.js +107 -0
  666. package/dist/geometry/paths/{path-value.js → value.js} +97 -18
  667. package/dist/geometry/patterns/placements.js +20 -29
  668. package/dist/geometry/{patterns.js → patterns/transforms.js} +11 -7
  669. package/dist/geometry/primitives/cutters.js +70 -0
  670. package/dist/geometry/{cylinder.js → primitives/cylinder.js} +4 -4
  671. package/dist/geometry/{edge-finishing.js → primitives/edges.js} +5 -5
  672. package/dist/geometry/{primitive-resolvers.js → primitives/resolvers.js} +9 -9
  673. package/dist/geometry/primitives/sampling.js +41 -0
  674. package/dist/geometry/profiles/contour.js +19 -7
  675. package/dist/geometry/profiles/{match-profiles.js → matching.js} +9 -6
  676. package/dist/geometry/profiles/primitives/circle.js +1 -1
  677. package/dist/geometry/profiles/primitives/ellipse.js +2 -2
  678. package/dist/geometry/profiles/primitives/rectangle.js +8 -8
  679. package/dist/geometry/profiles/primitives/star.js +1 -1
  680. package/dist/geometry/profiles/side-profile.js +8 -5
  681. package/dist/geometry/profiles/validation.js +1 -1
  682. package/dist/geometry/{polygon-clipping.js → regions/clipping.js} +1 -1
  683. package/dist/geometry/{convex-offset.js → regions/convex-offset.js} +1 -1
  684. package/dist/geometry/regions/offset.js +280 -0
  685. package/dist/geometry/{regions.js → regions/operations.js} +70 -23
  686. package/dist/geometry/{stroke-path.js → regions/stroke.js} +46 -20
  687. package/dist/geometry/{loft/loft-triangulation.js → regions/triangulation.js} +35 -2
  688. package/dist/geometry/revolve/{revolve-mesh.js → mesh.js} +9 -10
  689. package/dist/geometry/{circular-sampling.js → sampling/circular.js} +3 -3
  690. package/dist/geometry/{sampling-limits.js → sampling/limits.js} +6 -2
  691. package/dist/geometry/{resolution.js → sampling/resolution.js} +15 -14
  692. package/dist/geometry/svg/fill.js +4 -3
  693. package/dist/geometry/svg/import.js +47 -64
  694. package/dist/geometry/svg/path.js +3 -3
  695. package/dist/geometry/sweep/closed.js +55 -0
  696. package/dist/geometry/sweep/mesh.js +30 -0
  697. package/dist/geometry/{sweeps/sweep-open.js → sweep/open.js} +9 -24
  698. package/dist/geometry/sweep/options.js +1 -0
  699. package/dist/geometry/{sweeps → sweep}/orientation.js +14 -11
  700. package/dist/geometry/sweep/seam.js +30 -0
  701. package/dist/geometry/{sweeps → sweep}/stations.js +75 -10
  702. package/dist/geometry/sweep/transforms.js +30 -0
  703. package/dist/geometry/{sweeps → sweep}/validation.js +4 -4
  704. package/dist/geometry/{text-contours.js → text/contours.js} +3 -3
  705. package/dist/geometry/{text-fitting.js → text/fitting.js} +4 -3
  706. package/dist/geometry/text/layout.js +1 -0
  707. package/dist/geometry/{transform3.js → transforms/affine3.js} +31 -46
  708. package/dist/geometry/{anchors.js → transforms/anchors.js} +43 -24
  709. package/dist/geometry/{transform-geometry.js → transforms/apply.js} +8 -5
  710. package/dist/geometry/{transform2.js → transforms/dimensions.js} +23 -19
  711. package/dist/geometry/transforms/frame.js +64 -0
  712. package/dist/geometry/{transform-matrix.js → transforms/matrix-input.js} +8 -1
  713. package/dist/geometry/{transform-value.js → transforms/value.js} +29 -11
  714. package/dist/index.js +3 -9
  715. package/dist/model/cutters.js +1 -0
  716. package/dist/model/execution-binding.js +3 -3
  717. package/dist/model/generation.js +4 -2
  718. package/dist/model/immutable-generation-data.js +15 -13
  719. package/dist/model/join.js +1 -0
  720. package/dist/model/operations.js +150 -94
  721. package/dist/model/recipe-declaration.js +6 -7
  722. package/dist/model/shape-handles.js +1 -0
  723. package/dist/text/index.js +3 -0
  724. package/dist/text/vector-text-layout.js +1 -0
  725. package/package.json +20 -5
  726. package/dist/docs/reference/engine/Export3mfOptions.md +0 -46
  727. package/dist/docs/reference/engine/ExportMeshPart.md +0 -31
  728. package/dist/docs/reference/engine/ModelingLimits.md +0 -121
  729. package/dist/docs/reference/engine/export3mf.md +0 -55
  730. package/dist/docs/reference/geometry/BoxEdge.md +0 -7
  731. package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -14
  732. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -15
  733. package/dist/docs/reference/geometry/BoxOptions.md +0 -87
  734. package/dist/docs/reference/geometry/CylinderOptions.md +0 -53
  735. package/dist/docs/reference/geometry/EndTreatments.md +0 -34
  736. package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -130
  737. package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -146
  738. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +0 -18
  739. package/dist/docs/reference/geometry/HeightfieldOptions.md +0 -72
  740. package/dist/docs/reference/geometry/HeightfieldPreflight.md +0 -58
  741. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -19
  742. package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +0 -43
  743. package/dist/docs/reference/geometry/LoftCorrespondence.md +0 -24
  744. package/dist/docs/reference/geometry/LoftMeshStation.md +0 -31
  745. package/dist/docs/reference/geometry/LoftOptions.md +0 -88
  746. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +0 -14
  747. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +0 -160
  748. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +0 -124
  749. package/dist/docs/reference/geometry/PlanarPatchQuality.md +0 -194
  750. package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -29
  751. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -104
  752. package/dist/docs/reference/geometry/RevolveOptions.md +0 -91
  753. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +0 -38
  754. package/dist/docs/reference/geometry/SphereOptions.md +0 -15
  755. package/dist/docs/reference/geometry/SweepOptions.md +0 -113
  756. package/dist/docs/reference/geometry/SweepOrientation.md +0 -113
  757. package/dist/docs/reference/geometry/ThreadProfile-type.md +0 -86
  758. package/dist/docs/reference/geometry/ThreadedNutShape.md +0 -14
  759. package/dist/docs/reference/geometry/TorusOptions.md +0 -105
  760. package/dist/docs/reference/geometry/TriangleMesh.md +0 -34
  761. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +0 -129
  762. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +0 -79
  763. package/dist/docs/reference/geometry/TriangleMeshInput.md +0 -19
  764. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +0 -79
  765. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +0 -43
  766. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +0 -194
  767. package/dist/docs/reference/geometry/TriangleMeshSignature.md +0 -111
  768. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +0 -46
  769. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +0 -34
  770. package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +0 -131
  771. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +0 -55
  772. package/dist/docs/reference/geometry/TubeOptions.md +0 -62
  773. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +0 -58
  774. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +0 -115
  775. package/dist/docs/reference/geometry/VectorTextOptions.md +0 -54
  776. package/dist/docs/reference/geometry/add2.md +0 -37
  777. package/dist/docs/reference/geometry/add3.md +0 -43
  778. package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -46
  779. package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -44
  780. package/dist/docs/reference/geometry/categories/meshes.md +0 -68
  781. package/dist/docs/reference/geometry/composeTransform3.md +0 -45
  782. package/dist/docs/reference/geometry/cross2.md +0 -37
  783. package/dist/docs/reference/geometry/cross3.md +0 -43
  784. package/dist/docs/reference/geometry/distance2.md +0 -37
  785. package/dist/docs/reference/geometry/distance3.md +0 -37
  786. package/dist/docs/reference/geometry/dot2.md +0 -37
  787. package/dist/docs/reference/geometry/dot3.md +0 -43
  788. package/dist/docs/reference/geometry/eulerTransform3.md +0 -43
  789. package/dist/docs/reference/geometry/frameTransform3.md +0 -49
  790. package/dist/docs/reference/geometry/inverseTransform3.md +0 -35
  791. package/dist/docs/reference/geometry/length2.md +0 -31
  792. package/dist/docs/reference/geometry/length3.md +0 -31
  793. package/dist/docs/reference/geometry/lerp2.md +0 -43
  794. package/dist/docs/reference/geometry/lerp3.md +0 -43
  795. package/dist/docs/reference/geometry/normalize2.md +0 -40
  796. package/dist/docs/reference/geometry/normalize3.md +0 -40
  797. package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -37
  798. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +0 -78
  799. package/dist/docs/reference/geometry/rotate2.md +0 -37
  800. package/dist/docs/reference/geometry/rotationTransform3.md +0 -54
  801. package/dist/docs/reference/geometry/scale2.md +0 -37
  802. package/dist/docs/reference/geometry/scale3.md +0 -43
  803. package/dist/docs/reference/geometry/scaleTransform3.md +0 -39
  804. package/dist/docs/reference/geometry/subtract2.md +0 -37
  805. package/dist/docs/reference/geometry/subtract3.md +0 -43
  806. package/dist/docs/reference/geometry/transformDeterminant3.md +0 -37
  807. package/dist/docs/reference/geometry/translationTransform3.md +0 -36
  808. package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -35
  809. package/dist/docs/reference/geometry/validateTransform3.md +0 -48
  810. package/dist/docs/reference/mesh/AcmeThreadProfileSpec.md +0 -79
  811. package/dist/docs/reference/mesh/Bevel.md +0 -18
  812. package/dist/docs/reference/mesh/BevelSize.md +0 -14
  813. package/dist/docs/reference/mesh/Bounds2.md +0 -125
  814. package/dist/docs/reference/mesh/Bounds2Data.md +0 -43
  815. package/dist/docs/reference/mesh/Bounds2Input.md +0 -19
  816. package/dist/docs/reference/mesh/Bounds3.md +0 -125
  817. package/dist/docs/reference/mesh/Bounds3Data.md +0 -43
  818. package/dist/docs/reference/mesh/Bounds3Input.md +0 -19
  819. package/dist/docs/reference/mesh/ButtressPressureFlankSide.md +0 -14
  820. package/dist/docs/reference/mesh/ButtressThreadProfileSpec.md +0 -97
  821. package/dist/docs/reference/mesh/CircularPrimitiveOptions.md +0 -60
  822. package/dist/docs/reference/mesh/CurveSamplingOptions.md +0 -69
  823. package/dist/docs/reference/mesh/CustomThreadProfileSpec.md +0 -77
  824. package/dist/docs/reference/mesh/ExtrusionSamplingOptions.md +0 -81
  825. package/dist/docs/reference/mesh/Frame3.md +0 -62
  826. package/dist/docs/reference/mesh/GeometryResolution.md +0 -74
  827. package/dist/docs/reference/mesh/GeometrySamplingLimits.md +0 -66
  828. package/dist/docs/reference/mesh/GeometryToleranceOptions.md +0 -46
  829. package/dist/docs/reference/mesh/HeightfieldOptions.md +0 -72
  830. package/dist/docs/reference/mesh/ImmutableBuffer.md +0 -108
  831. package/dist/docs/reference/mesh/LoftCorrespondence.md +0 -24
  832. package/dist/docs/reference/mesh/LoftOptions.md +0 -88
  833. package/dist/docs/reference/mesh/LoftPlacement.md +0 -70
  834. package/dist/docs/reference/mesh/ModelingLimits.md +0 -130
  835. package/dist/docs/reference/mesh/NumericArray.md +0 -14
  836. package/dist/docs/reference/mesh/Path2.md +0 -197
  837. package/dist/docs/reference/mesh/Path2Data.md +0 -50
  838. package/dist/docs/reference/mesh/Path2Input.md +0 -20
  839. package/dist/docs/reference/mesh/Path3.md +0 -197
  840. package/dist/docs/reference/mesh/Path3Data.md +0 -50
  841. package/dist/docs/reference/mesh/Path3Input.md +0 -20
  842. package/dist/docs/reference/mesh/PathLocation.md +0 -69
  843. package/dist/docs/reference/mesh/PathNormalGuide.md +0 -43
  844. package/dist/docs/reference/mesh/PathResamplingOptions.md +0 -84
  845. package/dist/docs/reference/mesh/Pivot2Options.md +0 -26
  846. package/dist/docs/reference/mesh/Pivot3Options.md +0 -26
  847. package/dist/docs/reference/mesh/RevolveOptions.md +0 -91
  848. package/dist/docs/reference/mesh/SquareThreadProfileSpec.md +0 -79
  849. package/dist/docs/reference/mesh/SweepOptions.md +0 -113
  850. package/dist/docs/reference/mesh/SweepOrientation.md +0 -113
  851. package/dist/docs/reference/mesh/ThreadEndStyle.md +0 -14
  852. package/dist/docs/reference/mesh/ThreadEndTreatmentOptions.md +0 -117
  853. package/dist/docs/reference/mesh/ThreadHandedness.md +0 -14
  854. package/dist/docs/reference/mesh/ThreadLeadInEnvelope.md +0 -14
  855. package/dist/docs/reference/mesh/ThreadLeadInShape.md +0 -14
  856. package/dist/docs/reference/mesh/ThreadProfileBaseSpec.md +0 -53
  857. package/dist/docs/reference/mesh/ThreadProfileSpec.md +0 -23
  858. package/dist/docs/reference/mesh/ThreadRidgeOptions.md +0 -145
  859. package/dist/docs/reference/mesh/ThreadSolidOptions.md +0 -222
  860. package/dist/docs/reference/mesh/ThreadSolidPreflight.md +0 -58
  861. package/dist/docs/reference/mesh/Transform2.md +0 -256
  862. package/dist/docs/reference/mesh/Transform2Data.md +0 -14
  863. package/dist/docs/reference/mesh/Transform2Input.md +0 -19
  864. package/dist/docs/reference/mesh/Transform3.md +0 -296
  865. package/dist/docs/reference/mesh/Transform3Data.md +0 -17
  866. package/dist/docs/reference/mesh/Transform3Input.md +0 -19
  867. package/dist/docs/reference/mesh/TrapezoidalThreadProfileSpec.md +0 -96
  868. package/dist/docs/reference/mesh/TriangularThreadProfileSpec.md +0 -95
  869. package/dist/docs/reference/mesh/Vector2.md +0 -270
  870. package/dist/docs/reference/mesh/Vector2Data.md +0 -14
  871. package/dist/docs/reference/mesh/Vector2Input.md +0 -19
  872. package/dist/docs/reference/mesh/Vector3.md +0 -282
  873. package/dist/docs/reference/mesh/Vector3Data.md +0 -14
  874. package/dist/docs/reference/mesh/Vector3Input.md +0 -19
  875. package/dist/docs/reference/model/AcmeThreadProfileSpec.md +0 -80
  876. package/dist/docs/reference/model/Anchor3.md +0 -55
  877. package/dist/docs/reference/model/AttachOptions.md +0 -69
  878. package/dist/docs/reference/model/Bevel.md +0 -19
  879. package/dist/docs/reference/model/BevelSize.md +0 -15
  880. package/dist/docs/reference/model/Bounds2-type.md +0 -125
  881. package/dist/docs/reference/model/Bounds2Data.md +0 -44
  882. package/dist/docs/reference/model/Bounds2Input.md +0 -19
  883. package/dist/docs/reference/model/Bounds2Options.md +0 -110
  884. package/dist/docs/reference/model/Bounds3-type.md +0 -125
  885. package/dist/docs/reference/model/Bounds3Data.md +0 -44
  886. package/dist/docs/reference/model/Bounds3Input.md +0 -19
  887. package/dist/docs/reference/model/Bounds3Options.md +0 -110
  888. package/dist/docs/reference/model/ButtressPressureFlankSide.md +0 -15
  889. package/dist/docs/reference/model/ButtressThreadProfileSpec.md +0 -98
  890. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
  891. package/dist/docs/reference/model/CircleContourOptions.md +0 -21
  892. package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -62
  893. package/dist/docs/reference/model/Computed.md +0 -44
  894. package/dist/docs/reference/model/ComputedValue.md +0 -24
  895. package/dist/docs/reference/model/Contour.md +0 -24
  896. package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
  897. package/dist/docs/reference/model/CorrespondingContour.md +0 -46
  898. package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
  899. package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
  900. package/dist/docs/reference/model/CurveSamplingOptions.md +0 -68
  901. package/dist/docs/reference/model/CustomThreadProfileSpec.md +0 -78
  902. package/dist/docs/reference/model/EdgeTreatment.md +0 -22
  903. package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
  904. package/dist/docs/reference/model/ExtrudeMeshOptions.md +0 -133
  905. package/dist/docs/reference/model/ExtrusionSamplingOptions.md +0 -84
  906. package/dist/docs/reference/model/Frame3.md +0 -63
  907. package/dist/docs/reference/model/GeometryError.md +0 -102
  908. package/dist/docs/reference/model/GeometryErrorCode.md +0 -15
  909. package/dist/docs/reference/model/GeometryErrorContext.md +0 -35
  910. package/dist/docs/reference/model/GeometryResolution.md +0 -70
  911. package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
  912. package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
  913. package/dist/docs/reference/model/GridPatternOptions.md +0 -50
  914. package/dist/docs/reference/model/HoleCutterOverrun.md +0 -35
  915. package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -108
  916. package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -43
  917. package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -216
  918. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
  919. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
  920. package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
  921. package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
  922. package/dist/docs/reference/model/LoftPlacement.md +0 -73
  923. package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
  924. package/dist/docs/reference/model/ModelingLimits.md +0 -126
  925. package/dist/docs/reference/model/NumericArray.md +0 -14
  926. package/dist/docs/reference/model/Path2-type.md +0 -196
  927. package/dist/docs/reference/model/Path2Data.md +0 -50
  928. package/dist/docs/reference/model/Path2Input.md +0 -20
  929. package/dist/docs/reference/model/Path3-type.md +0 -196
  930. package/dist/docs/reference/model/Path3Data.md +0 -50
  931. package/dist/docs/reference/model/Path3Input.md +0 -20
  932. package/dist/docs/reference/model/PathLocation.md +0 -69
  933. package/dist/docs/reference/model/PathNormalGuide.md +0 -46
  934. package/dist/docs/reference/model/PathOptions.md +0 -38
  935. package/dist/docs/reference/model/PathPatternOptions.md +0 -48
  936. package/dist/docs/reference/model/PathResamplingOptions.md +0 -84
  937. package/dist/docs/reference/model/Pivot2Options.md +0 -28
  938. package/dist/docs/reference/model/Pivot3Options.md +0 -28
  939. package/dist/docs/reference/model/PolygonData.md +0 -44
  940. package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
  941. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
  942. package/dist/docs/reference/model/Profile.md +0 -24
  943. package/dist/docs/reference/model/ProfileComponent2.md +0 -46
  944. package/dist/docs/reference/model/ProfileContour2.md +0 -36
  945. package/dist/docs/reference/model/ProfileSpan2.md +0 -47
  946. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
  947. package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
  948. package/dist/docs/reference/model/RadialSizing.md +0 -15
  949. package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
  950. package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
  951. package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
  952. package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
  953. package/dist/docs/reference/model/RegionData.md +0 -19
  954. package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
  955. package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
  956. package/dist/docs/reference/model/SquareThreadProfileSpec.md +0 -80
  957. package/dist/docs/reference/model/StarContourOptions.md +0 -81
  958. package/dist/docs/reference/model/StrokeCap.md +0 -16
  959. package/dist/docs/reference/model/StrokeJoin.md +0 -16
  960. package/dist/docs/reference/model/StrokeOptions.md +0 -91
  961. package/dist/docs/reference/model/ThreadBevelOptions.md +0 -35
  962. package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
  963. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
  964. package/dist/docs/reference/model/ThreadHandedness.md +0 -15
  965. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
  966. package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
  967. package/dist/docs/reference/model/ThreadProfile.md +0 -87
  968. package/dist/docs/reference/model/ThreadProfileBaseSpec.md +0 -54
  969. package/dist/docs/reference/model/ThreadProfileSpec.md +0 -24
  970. package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -141
  971. package/dist/docs/reference/model/ThreadSolidPreflight.md +0 -59
  972. package/dist/docs/reference/model/ThreadedNutOptions.md +0 -263
  973. package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -111
  974. package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
  975. package/dist/docs/reference/model/ThreadedRodOptions.md +0 -216
  976. package/dist/docs/reference/model/Transform2-type.md +0 -257
  977. package/dist/docs/reference/model/Transform2Data.md +0 -16
  978. package/dist/docs/reference/model/Transform2Input.md +0 -21
  979. package/dist/docs/reference/model/Transform3-type.md +0 -297
  980. package/dist/docs/reference/model/Transform3Data.md +0 -19
  981. package/dist/docs/reference/model/Transform3Input.md +0 -21
  982. package/dist/docs/reference/model/TrapezoidalThreadProfileSpec.md +0 -97
  983. package/dist/docs/reference/model/TriangleMesh.md +0 -34
  984. package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -129
  985. package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
  986. package/dist/docs/reference/model/TriangleMeshTopologyAnalysis.md +0 -131
  987. package/dist/docs/reference/model/TriangularThreadProfileSpec.md +0 -96
  988. package/dist/docs/reference/model/Vector2-type.md +0 -271
  989. package/dist/docs/reference/model/Vector2Data.md +0 -15
  990. package/dist/docs/reference/model/Vector2Input.md +0 -21
  991. package/dist/docs/reference/model/Vector3-type.md +0 -283
  992. package/dist/docs/reference/model/Vector3Data.md +0 -15
  993. package/dist/docs/reference/model/Vector3Input.md +0 -21
  994. package/dist/docs/reference/model/VectorTextLayout.md +0 -40
  995. package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
  996. package/dist/docs/reference/model/bounds2.md +0 -37
  997. package/dist/docs/reference/model/bounds3.md +0 -37
  998. package/dist/docs/reference/model/categories/bounds.md +0 -38
  999. package/dist/docs/reference/model/categories/contracts.md +0 -16
  1000. package/dist/docs/reference/model/categories/core-values-errors.md +0 -44
  1001. package/dist/docs/reference/model/categories/explicit-profiles.md +0 -34
  1002. package/dist/docs/reference/model/categories/paths.md +0 -42
  1003. package/dist/docs/reference/model/categories/resolution.md +0 -20
  1004. package/dist/docs/reference/model/immutableBuffer.md +0 -49
  1005. package/dist/docs/reference/model/isGeometryError.md +0 -34
  1006. package/dist/docs/reference/model/matchProfiles.md +0 -42
  1007. package/dist/docs/reference/model/path2.md +0 -54
  1008. package/dist/docs/reference/model/path3.md +0 -49
  1009. package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -87
  1010. package/dist/docs/reference/model/preflightThreadedNut.md +0 -103
  1011. package/dist/docs/reference/model/preflightThreadedRod.md +0 -87
  1012. package/dist/docs/reference/model/transform2.md +0 -46
  1013. package/dist/docs/reference/model/transform3.md +0 -48
  1014. package/dist/docs/reference/model/vector2.md +0 -40
  1015. package/dist/docs/reference/model/vector3.md +0 -47
  1016. package/dist/docs/reference/text/Bounds2Data.md +0 -34
  1017. package/dist/docs/reference/text/Vector2Data.md +0 -7
  1018. package/dist/docs/reference/text/VectorTextLayout.md +0 -34
  1019. package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
  1020. package/dist/engine/export-3mf.js +0 -23
  1021. package/dist/engine/operations/patterns.js +0 -47
  1022. package/dist/engine/serialize-3mf.js +0 -116
  1023. package/dist/geometry/loft/loft.js +0 -105
  1024. package/dist/geometry/mechanical/index.js +0 -14
  1025. package/dist/geometry/primitive-resolution.js +0 -20
  1026. package/dist/geometry/svg/index.js +0 -1
  1027. package/dist/geometry/sweeps/options.js +0 -29
  1028. package/dist/geometry/sweeps/sweep-closed.js +0 -96
  1029. package/dist/geometry/sweeps/sweep-mesh.js +0 -32
  1030. /package/dist/{geometry/mesh/mesh-types.js → export/types.js} +0 -0
  1031. /package/dist/geometry/mechanical/{standards.js → fastener-standards.js} +0 -0
  1032. /package/dist/geometry/mesh/{mesh-edge-table.js → edge-table.js} +0 -0
  1033. /package/dist/geometry/{primitive-options.js → mesh/types.js} +0 -0
  1034. /package/dist/{engine/mesh-view-cache.js → geometry/mesh/view-cache.js} +0 -0
  1035. /package/dist/geometry/{text-layout.js → primitives/options.js} +0 -0
@@ -7,7 +7,7 @@ Use `import * as mesh from "@metamesh/modeling/geometry/mesh"` for static, remov
7
7
  Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle indices. Mesh analysis accepts raw arrays or stable immutable buffers directly; signatures add quantized topology and a regression hash. Predictable constructors reject unsafe allocations before sampling.
8
8
 
9
9
  - **Construct:** `mesh.extrude`, `mesh.loft`, `mesh.sweep`, `mesh.revolve`, `mesh.threadRidge`, and `mesh.threadSolid` return `TriangleMesh` data without a host engine. `LoftOptions`, `SweepOptions`, and `ExtrudeMeshOptions` describe pure construction. Native `ExtrudeOptions` additionally accepts end treatments.
10
- - **Match lofts:** `mesh.loft` defaults to `direct` correspondence; select `reindex`, `fast-distance`, or `distance` explicitly when needed. Stations specify exactly one `z` or `frame`, retain original vertices, and interpolate slices in world coordinates. Profile association and sampling-grid work have explicit limits; fidelity isn't reduced to meet them.
10
+ - **Match lofts:** `mesh.loft` defaults to `direct` correspondence; select `reindex`, `fast-distance`, or `distance` explicitly when needed. Stations specify exactly one `z` or `transform`, retain original vertices, and interpolate slices in world coordinates. Profile association and sampling-grid work have explicit limits; fidelity isn't reduced to meet them.
11
11
  - **Validate:** closed oriented-edge checks do not establish freedom from self-intersections. `mesh.validateSolid` adds bounded floating-point intersection and nested-shell orientation checks, including cavity boundaries. Contacts within tolerance reject conservatively; exhausted work limits fail explicitly.
12
12
  - **Measure:** `mesh.centroid` returns the uniform-density volume centroid of consistently oriented closed geometry, including cavities.
13
13
 
@@ -16,8 +16,8 @@ Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle
16
16
  | API | Summary |
17
17
  | --- | --- |
18
18
  | [extrude](../extrude.md) | Linearly extrudes one simple profile along +Z with robust ear-clipped caps. Path2 profiles must be closed; raw point collections have an implicit closing edge. End treatments are unsupported and reject at runtime. Use Section.extrude for finished ends. |
19
- | [loft](../loft.md) | Lofts simple point loops at z heights or explicit right-handed frames, in input order. |
20
- | [sweep](../sweep.md) | Sweeps one explicitly ordered point loop, with caps or a geometrically matching closed seam. |
19
+ | [loft](../loft.md) | Lofts simple point contours at z heights or explicit affine transforms, in input order. |
20
+ | [sweep](../sweep.md) | Sweeps one ordered point loop along a path or explicit affine placements. Path mode computes orientation and deformation, automatically matching compatible closed seams. Transform mode connects only the supplied stations, preserving profile indices without refinement. |
21
21
  | [heightfield](../heightfield.md) | Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base. |
22
22
  | [preflightHeightfield](../preflightHeightfield.md) | Checks grid options, Float32 axis precision, and output limits; returns exact mesh buffer counts. |
23
23
  | [threadRidge](../threadRidge.md) | 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. |
@@ -34,104 +34,41 @@ Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle
34
34
  | [validateSolid](../validateSolid.md) | Checks closed indexed topology, triangle intersections, and alternating nested shell orientation. |
35
35
  | [optimizePlanarPatches](../optimizePlanarPatches.md) | Improves pathological planar triangulation with bounded legal diagonal flips. |
36
36
  | [immutable](../immutable.md) | Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing. |
37
+ | [render](../render.md) | 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. |
37
38
 
38
39
  ## Interfaces
39
40
 
40
41
  | API | Summary |
41
42
  | --- | --- |
43
+ | [MeshRenderOptions](../MeshRenderOptions.md) | Shading policy for a render copy; manufacturing positions and triangle order never change. |
44
+ | [RenderMesh](../RenderMesh.md) | Owned indexed render buffers with unit vertex normals and positions in millimetres. |
45
+ | [SolidMeshValidationOptions](../SolidMeshValidationOptions.md) | Bounded floating-point intersection and shell-orientation validation settings. |
42
46
  | [TriangleMesh](../TriangleMesh.md) | A topology-preserving indexed triangle mesh with mutable owned XYZ buffers. |
43
- | [TriangleMeshMeasurements](../TriangleMeshMeasurements.md) | Geometric measurements derived from a validated, non-empty triangle mesh. |
44
47
  | [TriangleMeshAnalysis](../TriangleMeshAnalysis.md) | Measurements and optional edge-connected topology from one validated mesh traversal. |
45
48
  | [TriangleMeshTopologyAnalysis](../TriangleMeshTopologyAnalysis.md) | Mesh measurements with the indexed surface-shell and edge counts requested by includeTopology. |
46
49
  | [TriangleMeshAnalysisOptions](../TriangleMeshAnalysisOptions.md) | Validation and optional connectivity controls for a shared mesh analysis. |
50
+ | [TriangleMeshMeasurements](../TriangleMeshMeasurements.md) | Geometric measurements derived from a validated, non-empty triangle mesh. |
47
51
  | [TriangleMeshValidationOptions](../TriangleMeshValidationOptions.md) | Options controlling structural and manufacturing validation of a mesh. |
48
- | [ImmutableTriangleMesh](../ImmutableTriangleMesh.md) | Immutable local XYZ positions and triangle indices, suitable for a computed value or part. |
49
- | [ExtrudeMeshOptions](../ExtrudeMeshOptions.md) | Dimensions and sampling for pure +Z mesh extrusion, without end treatments. |
50
- | [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections default to direct correspondence. |
51
- | [RevolveOptions](../RevolveOptions.md) | Circumferential sampling and degree sweep shared by pure and filled revolution. |
52
- | [SweepOptions](../SweepOptions.md) | Controls shared by pure mesh construction and filled modeling sweeps. |
53
- | [HeightfieldPreflight](../HeightfieldPreflight.md) | Exact grid and mesh buffer allocation counts resolved without evaluating the height callback. |
54
- | [SolidMeshValidationOptions](../SolidMeshValidationOptions.md) | Bounded floating-point intersection and shell-orientation validation settings. |
55
52
  | [TriangleMeshSignature](../TriangleMeshSignature.md) | Immutable deterministic measurements for a closed, oriented triangle mesh. |
56
53
  | [TriangleMeshSignatureOptions](../TriangleMeshSignatureOptions.md) | Options controlling deterministic triangle-mesh regression signatures. |
57
54
  | [TriangleMeshSignatureTolerances](../TriangleMeshSignatureTolerances.md) | Absolute tolerances recorded in a triangle-mesh regression signature. |
55
+ | [PlanarMeshOptimizationOptions](../PlanarMeshOptimizationOptions.md) | Options controlling bounded, connectivity-only optimization of planar triangle patches. |
56
+ | [PlanarMeshOptimizationResult](../PlanarMeshOptimizationResult.md) | Outcome of bounded planar-patch optimization, including before/after diagnostics. |
58
57
  | [PlanarPatchQuality](../PlanarPatchQuality.md) | Quality measurements for one edge-connected coplanar triangle patch. |
59
58
  | [TriangleMeshQualityOptions](../TriangleMeshQualityOptions.md) | Options controlling bounded triangle-mesh quality analysis. |
60
59
  | [TriangleMeshQualityReport](../TriangleMeshQualityReport.md) | Structural, topological, and planar-patch measurements for one indexed triangle mesh. |
61
- | [PlanarMeshOptimizationOptions](../PlanarMeshOptimizationOptions.md) | Options controlling bounded, connectivity-only optimization of planar triangle patches. |
62
- | [PlanarMeshOptimizationResult](../PlanarMeshOptimizationResult.md) | Outcome of bounded planar-patch optimization, including before/after diagnostics. |
63
- | [ImmutableBuffer](../ImmutableBuffer.md) | Owned immutable numeric data. Iterate without copying; use copy() for mutable storage. |
64
- | [ExtrusionSamplingOptions](../ExtrusionSamplingOptions.md) | Shared sampling controls for a twisted or scaled linear extrusion. |
65
- | [Bounds2](../Bounds2.md) | Immutable finite XY bounds in millimetres, with tuple coordinates for data interoperability. |
66
- | [Bounds3](../Bounds3.md) | Immutable finite XYZ bounds in millimetres, with tuple coordinates for data interoperability. |
67
- | [Vector2](../Vector2.md) | Immutable XY arithmetic; vector operations return new values and measurements return numbers. |
68
- | [Vector3](../Vector3.md) | Immutable XYZ arithmetic; vector operations return new values and measurements return numbers. |
69
- | [Path2](../Path2.md) | Immutable directed XY polyline. Closure is explicit and does not imply a filled Section. |
70
- | [Path3](../Path3.md) | Immutable directed XYZ polyline; it represents sampled edges, not an analytic curve. |
71
- | [PathLocation](../PathLocation.md) | Nearest location on a sampled boundary, rather than inside a filled shape or on an analytic curve. |
72
- | [PathResamplingOptions](../PathResamplingOptions.md) | Equal arc-length sampling; the path itself owns whether its closing edge is included. |
73
- | [Transform2](../Transform2.md) | Immutable reusable XY placement. Methods apply in written order; angles are degrees. |
74
- | [Transform3](../Transform3.md) | Immutable reusable XYZ placement. Methods apply in written order; angles are degrees. |
75
- | [Pivot2Options](../Pivot2Options.md) | A fixed XY point in world coordinates; omitted pivots use the coordinate origin. |
76
- | [Pivot3Options](../Pivot3Options.md) | A fixed XYZ point in world coordinates; omitted pivots use the coordinate origin. |
77
- | [Bounds2Data](../Bounds2Data.md) | Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods. |
78
- | [Bounds3Data](../Bounds3Data.md) | Plain axis-aligned XYZ bounds for interchange; use bounds3 for immutable measurement methods. |
79
- | [Frame3](../Frame3.md) | A right-handed orthonormal coordinate frame expressed in world coordinates. |
80
- | [Path2Data](../Path2Data.md) | Complete plain XY path representation, including topology and empty-path dimensional identity. |
81
- | [Path3Data](../Path3Data.md) | Complete plain XYZ path representation, including topology and empty-path dimensional identity. |
82
- | [CurveSamplingOptions](../CurveSamplingOptions.md) | Explicit physical sampling and allocation policy for reusable curves. |
83
- | [CircularPrimitiveOptions](../CircularPrimitiveOptions.md) | Tessellation controls shared by circular primitives across Geometry entry points. |
84
- | [GeometryResolution](../GeometryResolution.md) | Tessellation policy for sampled geometry measured in millimetres. |
85
- | [GeometrySamplingLimits](../GeometrySamplingLimits.md) | Explicit allocation ceilings for pure sampling and host-owned modeling operations. |
86
- | [GeometryToleranceOptions](../GeometryToleranceOptions.md) | Optional overrides for MetaMesh's geometry comparison policy. |
87
- | [ModelingLimits](../ModelingLimits.md) | Aggregate manufacturing output ceilings selected by a trusted host. |
88
- | [ThreadRidgeOptions](../ThreadRidgeOptions.md) | Runtime-neutral options for the dedicated helical ridge mesher. |
89
- | [ThreadSolidOptions](../ThreadSolidOptions.md) | Options for a complete threaded-cylinder mesh; base semantics match the ridge builder. |
90
- | [ThreadSolidPreflight](../ThreadSolidPreflight.md) | Selected sampling counts and conservative allocation estimates, before thread mesh construction. |
91
- | [ThreadEndTreatmentOptions](../ThreadEndTreatmentOptions.md) | Axial end controls for a generated ridge. |
92
- | [ThreadProfile](../ThreadProfile.md) | A validated immutable periodic thread profile in `[axial, radial]` millimetres. |
93
- | [AcmeThreadProfileSpec](../AcmeThreadProfileSpec.md) | ACME 29-degree included-angle profile. |
94
- | [ButtressThreadProfileSpec](../ButtressThreadProfileSpec.md) | Asymmetric printable buttress profile with 7/45-degree flanks. |
95
- | [CustomThreadProfileSpec](../CustomThreadProfileSpec.md) | Caller-defined periodic axial/radial profile in millimetres. |
96
- | [SquareThreadProfileSpec](../SquareThreadProfileSpec.md) | Square profile with equal crest and root widths. |
97
- | [ThreadProfileBaseSpec](../ThreadProfileBaseSpec.md) | Fields shared by all thread profile specifications. |
98
- | [TrapezoidalThreadProfileSpec](../TrapezoidalThreadProfileSpec.md) | Trapezoidal thread profile with a configurable included angle. |
99
- | [TriangularThreadProfileSpec](../TriangularThreadProfileSpec.md) | ISO/UTS-like 60-degree truncated triangular profile. |
60
+ | [ImmutableTriangleMesh](../ImmutableTriangleMesh.md) | Immutable local XYZ positions and triangle indices, suitable for a memo result or part. |
61
+ | [HeightfieldPreflight](../HeightfieldPreflight.md) | Exact grid and mesh buffer allocation counts resolved without evaluating the height callback. |
62
+ | [ExtrudeMeshOptions](../ExtrudeMeshOptions.md) | Dimensions and sampling for pure +Z mesh extrusion, without end treatments. |
100
63
 
101
64
  ## Type aliases
102
65
 
103
66
  | API | Summary |
104
67
  | --- | --- |
68
+ | [PlanarMeshOptimizationFallbackReason](../PlanarMeshOptimizationFallbackReason.md) | Stable reason why planar optimization preserved the original connectivity. |
105
69
  | [TriangleMeshInput](../TriangleMeshInput.md) | Raw construction buffers or immutable captured geometry accepted by mesh utilities. |
106
- | [LoftMeshStation](../LoftMeshStation.md) | One point-data profile at a height or explicit right-handed spatial frame. |
107
- | [LoftPlacement](../LoftPlacement.md) | A horizontal XY station height, or an explicit right-handed spatial frame, never both. |
108
- | [LoftCorrespondence](../LoftCorrespondence.md) | Associates ordered loft contours without inferring component identities or repairing topology. |
109
- | [SweepOrientation](../SweepOrientation.md) | Explicit profile-X frame policy; all normals are directed, and selected singular policies reject. |
110
- | [HeightfieldOptions](../HeightfieldOptions.md) | A closed rectilinear heightfield above a flat base, with uniform or explicit XY samples in millimetres. |
111
- | [HeightfieldMeshLimits](../HeightfieldMeshLimits.md) | Trusted output ceilings for pure construction; omitted fields use engine defaults. |
112
- | [PlanarMeshOptimizationFallbackReason](../PlanarMeshOptimizationFallbackReason.md) | Stable reason why planar optimization returned the original mesh unchanged. |
113
- | [NumericArray](../NumericArray.md) | Numeric storage supported by immutable generation buffers. |
114
- | [Bounds2Input](../Bounds2Input.md) | An immutable XY bounds value or its plain min/max representation. |
115
- | [Bounds3Input](../Bounds3Input.md) | An immutable XYZ bounds value or its plain min/max representation. |
116
- | [Vector2Input](../Vector2Input.md) | An XY tuple or immutable fluent vector accepted by vector operations. |
117
- | [Vector3Input](../Vector3Input.md) | An XYZ tuple or immutable fluent vector accepted by vector operations. |
118
- | [Path2Input](../Path2Input.md) | A matching path value, complete plain path data, or a collection of vectors. |
119
- | [Path3Input](../Path3Input.md) | A matching path value, complete plain path data, or a collection of vectors. |
120
- | [PathNormalGuide](../PathNormalGuide.md) | Supplies a profile-X orientation guide for each original normalized sweep station. |
121
- | [Transform2Input](../Transform2Input.md) | An immutable XY transform or its canonical row-major matrix for interchange. |
122
- | [Transform3Input](../Transform3Input.md) | An immutable XYZ transform or its canonical row-major matrix for interchange. |
123
- | [Transform2Data](../Transform2Data.md) | A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`. |
124
- | [Transform3Data](../Transform3Data.md) | A row-major affine 4x4 matrix applied to column vectors. |
125
- | [Vector2Data](../Vector2Data.md) | A two-dimensional Cartesian vector or point. |
126
- | [Vector3Data](../Vector3Data.md) | A three-dimensional Cartesian vector or point. |
127
- | [ThreadEndStyle](../ThreadEndStyle.md) | End shape of a generated helical ridge. |
128
- | [ThreadLeadInEnvelope](../ThreadLeadInEnvelope.md) | Radial envelope toward which a blunt lead-in collapses. |
129
- | [ThreadLeadInShape](../ThreadLeadInShape.md) | BOSL2-compatible cross-section scaling curve for a blunt thread lead-in. |
130
- | [ThreadHandedness](../ThreadHandedness.md) | Direction in which a conventional helical thread advances around +Z. |
131
- | [Bevel](../Bevel.md) | One size for both ends, or independent sizes in bottom/top order. Zero disables an end. |
132
- | [BevelSize](../BevelSize.md) | Nonnegative 45-degree axial/radial bevel size in millimetres, or factory automatic sizing. |
133
- | [ButtressPressureFlankSide](../ButtressPressureFlankSide.md) | Axial side carrying the near-normal pressure flank of a buttress thread. |
134
- | [ThreadProfileSpec](../ThreadProfileSpec.md) | Supported built-in and caller-defined thread profiles. |
70
+ | [HeightfieldMeshLimits](../HeightfieldMeshLimits.md) | Trusted output ceilings for pure construction; omitted fields use package defaults. |
71
+ | [LoftMeshStation](../LoftMeshStation.md) | One point-data profile at a horizontal height or explicit affine transform. |
135
72
 
136
73
  ## Values
137
74
 
@@ -142,6 +79,12 @@ Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle
142
79
 
143
80
  ## Guides
144
81
 
145
- - [Exact counts and preflight guarantees](../../../guides/concepts.md#check-preflight-guarantees)
82
+ - [Exact counts and preflight guarantees](../../../guides/resolution-and-inspection.md#check-preflight-guarantees)
83
+
84
+ ## Import
85
+
86
+ ```ts
87
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
88
+ ```
146
89
 
147
- Package: `@metamesh/modeling@0.18.0`.
90
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells.
4
4
 
5
- **centroid**(`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)): [`Vector3Data`](../geometry/Vector3Data.md)
5
+ **centroid**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md)): [`Vector3Data`](../geometry/Vector3Data.md)
6
6
 
7
7
 
8
8
 
@@ -14,7 +14,7 @@ Fresh mutable input is inspected on every call, and buffers are never changed.
14
14
 
15
15
  <a id="mesh"></a>
16
16
 
17
- **`mesh`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
17
+ **`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
18
18
 
19
19
  Consistently oriented closed mesh with positive enclosed volume.
20
20
 
@@ -30,10 +30,15 @@ A fresh immutable XYZ volume centroid.
30
30
  ## Related APIs
31
31
 
32
32
  - [TriangleMeshInput](TriangleMeshInput.md)
33
- - [Vector3Data](Vector3Data.md)
34
33
 
35
34
  ## Guides
36
35
 
37
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
36
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
38
37
 
39
- Package: `@metamesh/modeling@0.18.0`.
38
+ ## Import
39
+
40
+ ```ts
41
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
42
+ ```
43
+
44
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Linearly extrudes one simple profile along +Z with robust ear-clipped caps. Path2 profiles must be closed; raw point collections have an implicit closing edge. End treatments are unsupported and reject at runtime. Use Section.extrude for finished ends.
4
4
 
5
- **extrude**(`input`: [`Path2Input`](../geometry/Path2Input.md), `options`: [`ExtrudeMeshOptions`](../geometry/ExtrudeMeshOptions.md)): [`TriangleMesh`](../geometry/TriangleMesh.md)
5
+ **extrude**(`input`: [`Path2Input`](../geometry/Path2Input.md), `options`: [`ExtrudeMeshOptions`](ExtrudeMeshOptions.md)): [`TriangleMesh`](TriangleMesh.md)
6
6
 
7
7
 
8
8
 
@@ -19,55 +19,62 @@ mesh.extrude(outline, { height: 8 });
19
19
 
20
20
  **`input`** · [`Path2Input`](../geometry/Path2Input.md) · Required
21
21
 
22
+ Closed XY path or simple contour, in millimetres.
23
+
22
24
 
23
25
 
24
26
  <a id="options"></a>
25
27
 
26
- **`options`** · [`ExtrudeMeshOptions`](../geometry/ExtrudeMeshOptions.md) · Required
28
+ **`options`** · [`ExtrudeMeshOptions`](ExtrudeMeshOptions.md) · Required
27
29
 
28
- - [`height`](../geometry/ExtrudeMeshOptions.md#height) · `number` · Required
30
+ - [`height`](ExtrudeMeshOptions.md#height) · `number` · Required
29
31
 
30
32
  Positive extrusion height in millimetres.
31
33
 
32
- - [`center`](../geometry/ExtrudeMeshOptions.md#center) · `boolean` · Optional
33
-
34
- Center the extrusion on Z; otherwise its bottom is at zero. Defaults to false.
35
-
36
- - [`divisions`](../geometry/ExtrudeMeshOptions.md#divisions) · `number` · Optional
34
+ - [`slices`](ExtrudeMeshOptions.md#slices) · `number` · Optional
37
35
 
38
- Exact number of intermediate profiles, nonnegative; overrides physical sampling.
36
+ Positive longitudinal interval count; n slices create n + 1 profile layers. Overrides ordinary extrusion's physical sampling.
39
37
 
40
- - [`limits`](../geometry/ExtrudeMeshOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
38
+ - [`limits`](ExtrudeMeshOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
41
39
 
42
40
  Explicit output and sampling allocation ceilings.
43
41
 
44
- - [`resolution`](../geometry/ExtrudeMeshOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
42
+ - [`resolution`](ExtrudeMeshOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
45
43
 
46
44
  Operation-level physical policy over the nearest model scope.
47
45
 
48
- - [`scaleTop`](../geometry/ExtrudeMeshOptions.md#scaletop) · `number` \| [`Vector2Input`](../geometry/Vector2Input.md) · Optional
46
+ - [`scale`](ExtrudeMeshOptions.md#scale) · `number` \| [`Vector2Input`](../geometry/Vector2Input.md) · Optional
49
47
 
50
- Finite uniform or XY scale of the top profile; defaults to one.
48
+ Final profile-local uniform or XY scale, interpolated from one before twisting. Both components must be positive or both zero for an apex of one simple boundary. Defaults to one.
51
49
 
52
- - [`twist`](../geometry/ExtrudeMeshOptions.md#twist) · `number` · Optional
50
+ - [`twist`](ExtrudeMeshOptions.md#twist) · `number` · Optional
53
51
 
54
52
  Finite rotation of the top profile about +Z, in degrees; defaults to zero.
55
53
 
54
+ - [`center`](ExtrudeMeshOptions.md#center) · `boolean` · Optional
55
+
56
+ Center the extrusion on Z; otherwise its bottom is at zero. Defaults to false.
57
+
56
58
 
57
59
 
58
60
  ## Returns
59
61
 
60
- [`TriangleMesh`](../geometry/TriangleMesh.md)
62
+ [`TriangleMesh`](TriangleMesh.md)
61
63
 
62
64
 
63
65
  ## Related APIs
64
66
 
65
67
  - [ExtrudeMeshOptions](ExtrudeMeshOptions.md)
66
- - [Path2Input](Path2Input.md)
67
68
  - [TriangleMesh](TriangleMesh.md)
68
69
 
69
70
  ## Guides
70
71
 
71
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
72
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
73
+
74
+ ## Import
75
+
76
+ ```ts
77
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
78
+ ```
72
79
 
73
- Package: `@metamesh/modeling@0.18.0`.
80
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base.
4
4
 
5
- **heightfield**(`options`: [`HeightfieldOptions`](../geometry/HeightfieldOptions.md), `limits?`: `Partial`\<`Pick`\<[`ModelingLimits`](../geometry/ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\>): [`TriangleMesh`](../geometry/TriangleMesh.md)
5
+ **heightfield**(`options`: [`HeightfieldOptions`](../model/HeightfieldOptions.md), `limits?`: `Partial`\<`Pick`\<[`ModelingLimits`](../geometry/ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\>): [`TriangleMesh`](TriangleMesh.md)
6
6
 
7
7
 
8
8
 
@@ -23,7 +23,9 @@ Float32 storage. Explicit axes are captured before sampling; shared wall vertice
23
23
 
24
24
  <a id="options"></a>
25
25
 
26
- **`options`** · [`HeightfieldOptions`](../geometry/HeightfieldOptions.md) · Required
26
+ **`options`** · [`HeightfieldOptions`](../model/HeightfieldOptions.md) · Required
27
+
28
+ Grid and absolute height callback in millimetres.
27
29
 
28
30
 
29
31
 
@@ -35,17 +37,21 @@ Float32 storage. Explicit axes are captured before sampling; shared wall vertice
35
37
 
36
38
  ## Returns
37
39
 
38
- [`TriangleMesh`](../geometry/TriangleMesh.md)
40
+ [`TriangleMesh`](TriangleMesh.md)
39
41
 
40
42
 
41
43
  ## Related APIs
42
44
 
43
- - [HeightfieldOptions](HeightfieldOptions.md)
44
- - [ModelingLimits](ModelingLimits.md)
45
45
  - [TriangleMesh](TriangleMesh.md)
46
46
 
47
47
  ## Guides
48
48
 
49
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
49
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
50
+
51
+ ## Import
52
+
53
+ ```ts
54
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
55
+ ```
50
56
 
51
- Package: `@metamesh/modeling@0.18.0`.
57
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing.
4
4
 
5
- **immutable**(`mesh`: `object`): [`ImmutableTriangleMesh`](../geometry/ImmutableTriangleMesh.md)
5
+ **immutable**(`mesh`: `object`): [`ImmutableTriangleMesh`](ImmutableTriangleMesh.md)
6
6
 
7
7
 
8
8
 
@@ -11,18 +11,18 @@ Copies mesh buffers into immutable data; geometric validation still occurs when
11
11
  ```ts
12
12
  import { generate } from "@metamesh/modeling";
13
13
  import * as mesh from "@metamesh/modeling/geometry/mesh";
14
- const model = generate(({ computed, part }) => {
15
- const surface = computed("surface", () => mesh.immutable(mesh.heightfield({
16
- size: [10, 10], segments: [8, 8], height: () => 2,
17
- })));
18
- return [part("surface", surface)];
19
- });
14
+ const buildSurface = () => mesh.immutable(mesh.heightfield({
15
+ size: [10, 10], segments: [8, 8], height: () => 2,
16
+ }));
17
+ const model = generate(({ memo, part }) => part("surface", memo(buildSurface)));
20
18
  ```
21
19
 
22
20
  ## Parameters
23
21
 
24
22
  ### mesh
25
23
 
24
+ Triangle buffers to copy; the consumer validates topology.
25
+
26
26
  #### positions
27
27
 
28
28
  `Float32Array`
@@ -33,7 +33,7 @@ const model = generate(({ computed, part }) => {
33
33
 
34
34
  ## Returns
35
35
 
36
- [`ImmutableTriangleMesh`](../geometry/ImmutableTriangleMesh.md)
36
+ [`ImmutableTriangleMesh`](ImmutableTriangleMesh.md)
37
37
 
38
38
 
39
39
  ## Related APIs
@@ -42,6 +42,12 @@ const model = generate(({ computed, part }) => {
42
42
 
43
43
  ## Guides
44
44
 
45
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
45
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
46
+
47
+ ## Import
48
+
49
+ ```ts
50
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
51
+ ```
46
52
 
47
- Package: `@metamesh/modeling@0.18.0`.
53
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Concatenates meshes into one indexed mesh without welding coincident vertices.
4
4
 
5
- **join**(`meshes`: readonly [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)[]): [`TriangleMesh`](../geometry/TriangleMesh.md)
5
+ **join**(`meshes`: readonly [`TriangleMeshInput`](TriangleMeshInput.md)[]): [`TriangleMesh`](TriangleMesh.md)
6
6
 
7
7
 
8
8
 
@@ -12,7 +12,7 @@ Inputs are validated and never mutated. Face order and winding remain stable.
12
12
 
13
13
  <a id="meshes"></a>
14
14
 
15
- **`meshes`** · readonly [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)[] · Required
15
+ **`meshes`** · readonly [`TriangleMeshInput`](TriangleMeshInput.md)[] · Required
16
16
 
17
17
  One or more meshes to concatenate.
18
18
 
@@ -20,7 +20,7 @@ One or more meshes to concatenate.
20
20
 
21
21
  ## Returns
22
22
 
23
- [`TriangleMesh`](../geometry/TriangleMesh.md)
23
+ [`TriangleMesh`](TriangleMesh.md)
24
24
 
25
25
  Fresh typed arrays with indices offset to their source vertex ranges.
26
26
 
@@ -36,6 +36,12 @@ Fresh typed arrays with indices offset to their source vertex ranges.
36
36
 
37
37
  ## Guides
38
38
 
39
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
39
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
40
40
 
41
- Package: `@metamesh/modeling@0.18.0`.
41
+ ## Import
42
+
43
+ ```ts
44
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
45
+ ```
46
+
47
+ Package: `@metamesh/modeling@0.20.0`.
@@ -1,8 +1,8 @@
1
1
  # loft
2
2
 
3
- Lofts simple point loops at z heights or explicit right-handed frames, in input order.
3
+ Lofts simple point contours at z heights or explicit affine transforms, in input order.
4
4
 
5
- **loft**(`stations`: readonly [`LoftMeshStation`](../geometry/LoftMeshStation.md)[], `options?`: [`LoftOptions`](../geometry/LoftOptions.md)): [`TriangleMesh`](../geometry/TriangleMesh.md)
5
+ **loft**(`stations`: readonly [`LoftMeshStation`](LoftMeshStation.md)[], `options?`: [`LoftOptions`](../model/LoftOptions.md)): [`TriangleMesh`](TriangleMesh.md)
6
6
 
7
7
 
8
8
 
@@ -14,7 +14,7 @@ const top = rectangleContour({ size: [30, 20], treatment: { kind: "round", radiu
14
14
  mesh.loft([{ profile: bottom, z: 0 }, { profile: top, z: 30 }], { correspondence: "reindex" });
15
15
  ```
16
16
 
17
- Correspondence defaults to direct. CCW-normalized loops retain their
17
+ Correspondence defaults to direct. CCW-normalized contours retain their
18
18
  seam and original vertices; unequal counts gain subdivisions or repeated fan slots.
19
19
  Both ends use ear-clipped caps, supporting concave profiles without center fans.
20
20
  Intermediate slices interpolate placed world vertices, never frame axes.
@@ -25,35 +25,37 @@ Path2 profiles must be closed; raw point collections are interpreted as closed.
25
25
 
26
26
  <a id="stations"></a>
27
27
 
28
- **`stations`** · readonly [`LoftMeshStation`](../geometry/LoftMeshStation.md)[] · Required
28
+ **`stations`** · readonly [`LoftMeshStation`](LoftMeshStation.md)[] · Required
29
+
30
+ At least two XY profiles in connection order, each with Z height or affine placement.
29
31
 
30
32
 
31
33
 
32
34
  <a id="options"></a>
33
35
 
34
- **`options`** · [`LoftOptions`](../geometry/LoftOptions.md) · Optional
36
+ **`options`** · [`LoftOptions`](../model/LoftOptions.md) · Optional
35
37
 
36
- - [`correspondence`](../geometry/LoftOptions.md#correspondence) · [`LoftCorrespondence`](../geometry/LoftCorrespondence.md) \| readonly [`LoftCorrespondence`](../geometry/LoftCorrespondence.md)[] · Optional
38
+ - [`correspondence`](../model/LoftOptions.md#correspondence) · [`LoftCorrespondence`](../model/LoftCorrespondence.md) \| readonly [`LoftCorrespondence`](../model/LoftCorrespondence.md)[] · Optional
37
39
 
38
40
  One method or one per consecutive station gap. Omitted preserves known primitive landmarks, including circle/ellipse-to-rectangle corners, and otherwise uses direct correspondence with the supplied seams.
39
41
 
40
- - [`distribution`](../geometry/LoftOptions.md#distribution) · `"perimeter"` \| `"segments"` · Optional
42
+ - [`distribution`](../model/LoftOptions.md#distribution) · `"perimeter"` \| `"segments"` · Optional
41
43
 
42
44
  Extra points follow edge length or distribute equally across existing segments. Defaults to perimeter for direct/reindex, or segments when any distance method is selected; distance methods require segments.
43
45
 
44
- - [`refine`](../geometry/LoftOptions.md#refine) · `number` \| readonly `number`[] · Optional
46
+ - [`refine`](../model/LoftOptions.md#refine) · `number` \| readonly `number`[] · Optional
45
47
 
46
48
  Positive integer point-density multiplier, uniformly or per input profile. Original vertices are retained. Defaults to one.
47
49
 
48
- - [`slices`](../geometry/LoftOptions.md#slices) · `number` \| readonly `number`[] · Optional
50
+ - [`slices`](../model/LoftOptions.md#slices) · `number` \| readonly `number`[] · Optional
49
51
 
50
- Nonnegative count of world-linearly interpolated profiles, uniformly or per gap. Defaults to zero.
52
+ Positive longitudinal interval count, uniformly or per supplied station gap. Each gap with n slices has n - 1 inserted profiles. Defaults to one; placed world vertices interpolate linearly.
51
53
 
52
- - [`resolution`](../geometry/LoftOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
54
+ - [`resolution`](../model/LoftOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
53
55
 
54
56
  Physical curve policy for retained primitives, and maximum edge length for point data. Exact primitive curve counts take precedence.
55
57
 
56
- - [`limits`](../geometry/LoftOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
58
+ - [`limits`](../model/LoftOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
57
59
 
58
60
  Explicit output and sampling budgets; native operations may only lower host ceilings.
59
61
 
@@ -61,17 +63,22 @@ Path2 profiles must be closed; raw point collections are interpreted as closed.
61
63
 
62
64
  ## Returns
63
65
 
64
- [`TriangleMesh`](../geometry/TriangleMesh.md)
66
+ [`TriangleMesh`](TriangleMesh.md)
65
67
 
66
68
 
67
69
  ## Related APIs
68
70
 
69
71
  - [LoftMeshStation](LoftMeshStation.md)
70
- - [LoftOptions](LoftOptions.md)
71
72
  - [TriangleMesh](TriangleMesh.md)
72
73
 
73
74
  ## Guides
74
75
 
75
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
76
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
77
+
78
+ ## Import
79
+
80
+ ```ts
81
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
82
+ ```
76
83
 
77
- Package: `@metamesh/modeling@0.18.0`.
84
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Improves pathological planar triangulation with bounded legal diagonal flips.
4
4
 
5
- **optimizePlanarPatches**(`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md), `options?`: [`PlanarMeshOptimizationOptions`](../geometry/PlanarMeshOptimizationOptions.md)): [`PlanarMeshOptimizationResult`](../geometry/PlanarMeshOptimizationResult.md)
5
+ **optimizePlanarPatches**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md), `options?`: [`PlanarMeshOptimizationOptions`](PlanarMeshOptimizationOptions.md)): [`PlanarMeshOptimizationResult`](PlanarMeshOptimizationResult.md)
6
6
 
7
7
 
8
8
 
@@ -17,60 +17,60 @@ results. Malformed buffers and the configured analysis complexity limit throw.
17
17
 
18
18
  <a id="mesh"></a>
19
19
 
20
- **`mesh`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
20
+ **`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
21
21
 
22
- Closed, consistently wound indexed triangle mesh in arbitrary consistent units.
22
+ Closed, consistently wound mesh in consistent units.
23
23
 
24
24
 
25
25
 
26
26
  <a id="options"></a>
27
27
 
28
- **`options`** · [`PlanarMeshOptimizationOptions`](../geometry/PlanarMeshOptimizationOptions.md) · Optional
28
+ **`options`** · [`PlanarMeshOptimizationOptions`](PlanarMeshOptimizationOptions.md) · Optional
29
29
 
30
30
  Patch eligibility, numeric tolerance, and deterministic work bounds.
31
31
 
32
- - [`maxFlipAttempts`](../geometry/PlanarMeshOptimizationOptions.md#maxflipattempts) · `number` · Optional
32
+ - [`maxFlipAttempts`](PlanarMeshOptimizationOptions.md#maxflipattempts) · `number` · Optional
33
33
 
34
34
  Maximum attempted edge evaluations. By default this is twenty times the initial candidate
35
35
  edge count, capped at `1000000`.
36
36
 
37
- - [`maxEdgeRevisits`](../geometry/PlanarMeshOptimizationOptions.md#maxedgerevisits) · `number` · Optional
37
+ - [`maxEdgeRevisits`](PlanarMeshOptimizationOptions.md#maxedgerevisits) · `number` · Optional
38
38
 
39
39
  Maximum times one edge may be reconsidered after neighbouring flips. Defaults to `12`.
40
40
 
41
- - [`maxPatchTriangles`](../geometry/PlanarMeshOptimizationOptions.md#maxpatchtriangles) · `number` · Optional
41
+ - [`maxPatchTriangles`](PlanarMeshOptimizationOptions.md#maxpatchtriangles) · `number` · Optional
42
42
 
43
43
  Maximum triangles allowed in one selected patch. Defaults to `50000`.
44
44
 
45
- - [`maxProcessedTriangles`](../geometry/PlanarMeshOptimizationOptions.md#maxprocessedtriangles) · `number` · Optional
45
+ - [`maxProcessedTriangles`](PlanarMeshOptimizationOptions.md#maxprocessedtriangles) · `number` · Optional
46
46
 
47
47
  Maximum cumulative triangles across selected patches. Defaults to `200000`.
48
48
 
49
- - [`minPatchTriangles`](../geometry/PlanarMeshOptimizationOptions.md#minpatchtriangles) · `number` · Optional
49
+ - [`minPatchTriangles`](PlanarMeshOptimizationOptions.md#minpatchtriangles) · `number` · Optional
50
50
 
51
51
  Minimum triangles required before a planar patch is eligible. Defaults to `8`.
52
52
 
53
- - [`triggerMaxAspectRatio`](../geometry/PlanarMeshOptimizationOptions.md#triggermaxaspectratio) · `number` · Optional
53
+ - [`triggerMaxAspectRatio`](PlanarMeshOptimizationOptions.md#triggermaxaspectratio) · `number` · Optional
54
54
 
55
55
  Select patches whose worst normalized aspect ratio exceeds this value. Defaults to `12`.
56
56
 
57
- - [`triggerMaxFanRatio`](../geometry/PlanarMeshOptimizationOptions.md#triggermaxfanratio) · `number` · Optional
57
+ - [`triggerMaxFanRatio`](PlanarMeshOptimizationOptions.md#triggermaxfanratio) · `number` · Optional
58
58
 
59
59
  Select patches whose largest per-vertex triangle share exceeds this ratio. Defaults to `0.2`.
60
60
 
61
- - [`triggerMaxVertexTriangleIncidence`](../geometry/PlanarMeshOptimizationOptions.md#triggermaxvertextriangleincidence) · `number` · Optional
61
+ - [`triggerMaxVertexTriangleIncidence`](PlanarMeshOptimizationOptions.md#triggermaxvertextriangleincidence) · `number` · Optional
62
62
 
63
63
  Select patches whose largest vertex triangle incidence exceeds this value. Defaults to `16`.
64
64
 
65
- - [`triggerMinAngleDegrees`](../geometry/PlanarMeshOptimizationOptions.md#triggerminangledegrees) · `number` · Optional
65
+ - [`triggerMinAngleDegrees`](PlanarMeshOptimizationOptions.md#triggerminangledegrees) · `number` · Optional
66
66
 
67
67
  Select patches whose smallest interior angle is below this many degrees. Defaults to `8`.
68
68
 
69
- - [`maxTriangles`](../geometry/PlanarMeshOptimizationOptions.md#maxtriangles) · `number` · Optional
69
+ - [`maxTriangles`](PlanarMeshOptimizationOptions.md#maxtriangles) · `number` · Optional
70
70
 
71
71
  Maximum number of triangles inspected. Defaults to `200000`.
72
72
 
73
- - [`tolerance`](../geometry/PlanarMeshOptimizationOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
73
+ - [`tolerance`](PlanarMeshOptimizationOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
74
74
 
75
75
  Numeric comparison overrides; model coordinates are interpreted in their existing units.
76
76
 
@@ -78,7 +78,7 @@ Patch eligibility, numeric tolerance, and deterministic work bounds.
78
78
 
79
79
  ## Returns
80
80
 
81
- [`PlanarMeshOptimizationResult`](../geometry/PlanarMeshOptimizationResult.md)
81
+ [`PlanarMeshOptimizationResult`](PlanarMeshOptimizationResult.md)
82
82
 
83
83
  Optimized connectivity and before/after diagnostics, or an unchanged safe fallback.
84
84
 
@@ -91,6 +91,12 @@ Optimized connectivity and before/after diagnostics, or an unchanged safe fallba
91
91
 
92
92
  ## Guides
93
93
 
94
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
94
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
95
95
 
96
- Package: `@metamesh/modeling@0.18.0`.
96
+ ## Import
97
+
98
+ ```ts
99
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
100
+ ```
101
+
102
+ Package: `@metamesh/modeling@0.20.0`.