@metamesh/modeling 0.19.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 (789) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +34 -18
  3. package/dist/api/engine.d.ts +217 -121
  4. package/dist/api/export.d.ts +123 -79
  5. package/dist/api/geometry.d.ts +406 -2102
  6. package/dist/api/index.d.ts +472 -1798
  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 +360 -88
  10. package/dist/api/text.d.ts +24 -44
  11. package/dist/docs/guides/concepts.md +67 -33
  12. package/dist/docs/guides/exporting.md +88 -0
  13. package/dist/docs/guides/fonts.md +5 -3
  14. package/dist/docs/guides/fundamentals.md +12 -24
  15. package/dist/docs/guides/generation.md +24 -16
  16. package/dist/docs/guides/geometry-values.md +192 -134
  17. package/dist/docs/guides/hosting.md +51 -96
  18. package/dist/docs/guides/profiles-and-extrusion.md +159 -11
  19. package/dist/docs/guides/recipes.md +121 -28
  20. package/dist/docs/guides/resolution-and-inspection.md +43 -23
  21. package/dist/docs/guides/solid-joins.md +12 -2
  22. package/dist/docs/guides/standalone-model.md +4 -2
  23. package/dist/docs/guides/svg-and-text.md +76 -39
  24. package/dist/docs/guides/sweeps-and-lofts.md +88 -44
  25. package/dist/docs/guides/transforms-and-placement.md +113 -103
  26. package/dist/docs/guides/workers.md +166 -0
  27. package/dist/docs/manifest.json +4133 -4153
  28. package/dist/docs/reference/engine/GenerationOptions.md +2 -3
  29. package/dist/docs/reference/engine/GeometryResource.md +6 -6
  30. package/dist/docs/reference/engine/ModelDependencies.md +2 -2
  31. package/dist/docs/reference/engine/ModelEngine.md +2 -3
  32. package/dist/docs/reference/engine/ModelEngineOptions.md +2 -7
  33. package/dist/docs/reference/engine/ModelPart.md +6 -6
  34. package/dist/docs/reference/engine/ModelResult.md +2 -2
  35. package/dist/docs/reference/engine/ModelRunArguments.md +2 -2
  36. package/dist/docs/reference/engine/ModelRunOptions.md +2 -3
  37. package/dist/docs/reference/engine/ModelSession.md +2 -2
  38. package/dist/docs/reference/engine/SessionOptions.md +2 -3
  39. package/dist/docs/reference/engine/categories/host-lifecycle.md +9 -3
  40. package/dist/docs/reference/engine/checkModel.md +6 -2
  41. package/dist/docs/reference/engine/createModelEngine.md +5 -3
  42. package/dist/docs/reference/engine/defaultModelingLimits.md +4 -11
  43. package/dist/docs/reference/engine/modelingWasmUrl.md +2 -2
  44. package/dist/docs/reference/engine.md +7 -1
  45. package/dist/docs/reference/export/Export3mfOptions.md +2 -6
  46. package/dist/docs/reference/export/ExportDiagnostic.md +2 -14
  47. package/dist/docs/reference/export/ExportFormat.md +2 -14
  48. package/dist/docs/reference/export/ExportGeometry.md +3 -15
  49. package/dist/docs/reference/export/ExportGlbOptions.md +14 -18
  50. package/dist/docs/reference/export/ExportLimits.md +2 -14
  51. package/dist/docs/reference/export/ExportMaterial.md +2 -14
  52. package/dist/docs/reference/export/ExportOptions.md +2 -14
  53. package/dist/docs/reference/export/ExportPart.md +2 -14
  54. package/dist/docs/reference/export/ExportReport.md +2 -14
  55. package/dist/docs/reference/export/ExportSink.md +5 -15
  56. package/dist/docs/reference/export/ExportStlOptions.md +2 -6
  57. package/dist/docs/reference/export/ExportedFile.md +14 -26
  58. package/dist/docs/reference/export/categories/mesh-serialization.md +9 -3
  59. package/dist/docs/reference/export/defaultExportLimits.md +2 -2
  60. package/dist/docs/reference/export/export3mf.md +4 -6
  61. package/dist/docs/reference/export/exportGlb.md +8 -10
  62. package/dist/docs/reference/export/exportStl.md +4 -6
  63. package/dist/docs/reference/export/write3mf.md +6 -6
  64. package/dist/docs/reference/export/writeGlb.md +10 -10
  65. package/dist/docs/reference/export/writeStl.md +6 -6
  66. package/dist/docs/reference/export.md +9 -3
  67. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
  68. package/dist/docs/reference/geometry/Anchor3-type.md +3 -7
  69. package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
  70. package/dist/docs/reference/geometry/ArcCurve2.md +3 -3
  71. package/dist/docs/reference/geometry/ArcCurve3.md +3 -3
  72. package/dist/docs/reference/geometry/AttachOptions.md +4 -9
  73. package/dist/docs/reference/geometry/Bounds2-type.md +9 -30
  74. package/dist/docs/reference/geometry/Bounds2Data.md +2 -19
  75. package/dist/docs/reference/geometry/Bounds2Input.md +2 -10
  76. package/dist/docs/reference/geometry/Bounds2Options.md +2 -6
  77. package/dist/docs/reference/geometry/Bounds3-type.md +9 -30
  78. package/dist/docs/reference/geometry/Bounds3Data.md +2 -15
  79. package/dist/docs/reference/geometry/Bounds3Input.md +2 -10
  80. package/dist/docs/reference/geometry/Bounds3Options.md +2 -6
  81. package/dist/docs/reference/geometry/BoundsFit2.md +2 -2
  82. package/dist/docs/reference/geometry/BoundsFit3.md +2 -2
  83. package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -2
  84. package/dist/docs/reference/geometry/BoxAnchorFace.md +3 -3
  85. package/dist/docs/reference/geometry/BoxAnchorOptions.md +3 -3
  86. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +3 -7
  87. package/dist/docs/reference/geometry/CircleContourOptions.md +3 -7
  88. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +3 -12
  89. package/dist/docs/reference/geometry/CircularResolutionOptions.md +2 -2
  90. package/dist/docs/reference/geometry/CircularSampling.md +2 -2
  91. package/dist/docs/reference/geometry/CircularSamplingOptions.md +2 -2
  92. package/dist/docs/reference/geometry/Contour.md +4 -9
  93. package/dist/docs/reference/geometry/ContourCurve.md +3 -3
  94. package/dist/docs/reference/geometry/ContourPoint.md +3 -3
  95. package/dist/docs/reference/geometry/ContourSegment.md +3 -3
  96. package/dist/docs/reference/geometry/CorrespondingComponent.md +3 -7
  97. package/dist/docs/reference/geometry/CorrespondingContour.md +3 -7
  98. package/dist/docs/reference/geometry/CorrespondingProfile.md +3 -7
  99. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +4 -8
  100. package/dist/docs/reference/geometry/CubicBezierCurve2.md +3 -3
  101. package/dist/docs/reference/geometry/CubicBezierCurve3.md +3 -3
  102. package/dist/docs/reference/geometry/Curve2.md +3 -3
  103. package/dist/docs/reference/geometry/Curve3.md +3 -3
  104. package/dist/docs/reference/geometry/CurveSamplingOptions.md +3 -11
  105. package/dist/docs/reference/geometry/CylinderAnchorFace.md +3 -3
  106. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +4 -4
  107. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +2 -2
  108. package/dist/docs/reference/geometry/EdgeTreatment.md +2 -6
  109. package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -7
  110. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +9 -18
  111. package/dist/docs/reference/geometry/FittedTextLayout.md +2 -2
  112. package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +4 -11
  113. package/dist/docs/reference/geometry/Frame3Options.md +69 -0
  114. package/dist/docs/reference/geometry/GeometryError.md +2 -6
  115. package/dist/docs/reference/geometry/GeometryErrorCode.md +2 -6
  116. package/dist/docs/reference/geometry/GeometryErrorContext.md +2 -6
  117. package/dist/docs/reference/geometry/GeometryResolution.md +2 -10
  118. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +3 -11
  119. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +3 -11
  120. package/dist/docs/reference/geometry/GridPatternOptions.md +7 -9
  121. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +2 -10
  122. package/dist/docs/reference/geometry/LineCurve2.md +3 -3
  123. package/dist/docs/reference/geometry/LineCurve3.md +3 -3
  124. package/dist/docs/reference/geometry/LinearPatternOptions.md +2 -6
  125. package/dist/docs/reference/geometry/LoftPlacement.md +13 -21
  126. package/dist/docs/reference/geometry/MatchProfilesOptions.md +3 -7
  127. package/dist/docs/reference/geometry/ModelingLimits.md +2 -14
  128. package/dist/docs/reference/geometry/NumericArray.md +2 -10
  129. package/dist/docs/reference/geometry/Path2-type.md +153 -12
  130. package/dist/docs/reference/geometry/Path2Data.md +3 -11
  131. package/dist/docs/reference/geometry/Path2Input.md +3 -11
  132. package/dist/docs/reference/geometry/Path3-type.md +153 -12
  133. package/dist/docs/reference/geometry/Path3Data.md +3 -11
  134. package/dist/docs/reference/geometry/Path3Input.md +3 -11
  135. package/dist/docs/reference/geometry/PathFrame.md +3 -3
  136. package/dist/docs/reference/geometry/PathLocation.md +3 -11
  137. package/dist/docs/reference/geometry/PathNormalGuide.md +4 -12
  138. package/dist/docs/reference/geometry/PathOptions.md +3 -7
  139. package/dist/docs/reference/geometry/PathPatternOptions.md +3 -7
  140. package/dist/docs/reference/geometry/PathPlacement.md +5 -5
  141. package/dist/docs/reference/geometry/PathResamplingOptions.md +3 -11
  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 +3 -11
  145. package/dist/docs/reference/geometry/Pivot3Options.md +3 -11
  146. package/dist/docs/reference/geometry/PolygonData.md +4 -8
  147. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +3 -3
  148. package/dist/docs/reference/geometry/Profile.md +3 -4
  149. package/dist/docs/reference/geometry/ProfileComponent2.md +3 -7
  150. package/dist/docs/reference/geometry/ProfileContour2.md +3 -7
  151. package/dist/docs/reference/geometry/ProfileSpan2.md +3 -7
  152. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +5 -8
  153. package/dist/docs/reference/geometry/RadialPatternOptions.md +2 -6
  154. package/dist/docs/reference/geometry/RadialSizing.md +2 -6
  155. package/dist/docs/reference/geometry/RadialSizingOptions.md +2 -6
  156. package/dist/docs/reference/geometry/RectangleContourOptions.md +4 -7
  157. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +3 -7
  158. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +3 -7
  159. package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
  160. package/dist/docs/reference/geometry/RegionData.md +3 -7
  161. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +3 -3
  162. package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
  163. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +2 -2
  164. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +2 -6
  165. package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -2
  166. package/dist/docs/reference/geometry/SampleContourOptions.md +3 -3
  167. package/dist/docs/reference/geometry/SampleHelixOptions.md +3 -3
  168. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +3 -3
  169. package/dist/docs/reference/geometry/SampledCurve2.md +3 -3
  170. package/dist/docs/reference/geometry/SampledCurve3.md +3 -3
  171. package/dist/docs/reference/geometry/SideProfileCurve.md +3 -3
  172. package/dist/docs/reference/geometry/SideProfilePoint.md +3 -3
  173. package/dist/docs/reference/geometry/SideProfileSegment.md +3 -3
  174. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +2 -6
  175. package/dist/docs/reference/geometry/SplineOptions.md +69 -0
  176. package/dist/docs/reference/geometry/StarContourOptions.md +7 -7
  177. package/dist/docs/reference/geometry/StrokeCap.md +2 -6
  178. package/dist/docs/reference/geometry/StrokeJoin.md +2 -6
  179. package/dist/docs/reference/geometry/StrokeOptions.md +3 -7
  180. package/dist/docs/reference/geometry/SvgImportOptions.md +4 -4
  181. package/dist/docs/reference/geometry/SvgRegionPreflight.md +2 -2
  182. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +2 -2
  183. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +2 -2
  184. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +2 -2
  185. package/dist/docs/reference/geometry/Transform2-type.md +3 -11
  186. package/dist/docs/reference/geometry/Transform2Data.md +3 -11
  187. package/dist/docs/reference/geometry/Transform2Input.md +3 -11
  188. package/dist/docs/reference/geometry/Transform3-type.md +4 -12
  189. package/dist/docs/reference/geometry/Transform3Data.md +3 -11
  190. package/dist/docs/reference/geometry/Transform3Input.md +6 -13
  191. package/dist/docs/reference/geometry/Vector2-type.md +3 -11
  192. package/dist/docs/reference/geometry/Vector2Data.md +3 -15
  193. package/dist/docs/reference/geometry/Vector2Input.md +3 -11
  194. package/dist/docs/reference/geometry/Vector3-type.md +27 -11
  195. package/dist/docs/reference/geometry/Vector3Data.md +3 -11
  196. package/dist/docs/reference/geometry/Vector3Input.md +3 -11
  197. package/dist/docs/reference/geometry/VectorTextLayout.md +2 -10
  198. package/dist/docs/reference/geometry/VectorTextMetrics.md +3 -11
  199. package/dist/docs/reference/geometry/anchor3.md +17 -26
  200. package/dist/docs/reference/geometry/anchorFrame3.md +6 -6
  201. package/dist/docs/reference/geometry/attachmentTransform3.md +8 -8
  202. package/dist/docs/reference/geometry/bounds2.md +6 -8
  203. package/dist/docs/reference/geometry/bounds3.md +4 -6
  204. package/dist/docs/reference/geometry/boundsCenter.md +2 -2
  205. package/dist/docs/reference/geometry/boundsSize.md +2 -2
  206. package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
  207. package/dist/docs/reference/geometry/categories/bounds-layout.md +9 -3
  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 +10 -4
  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 +7 -4
  216. package/dist/docs/reference/geometry/circleContour.md +3 -3
  217. package/dist/docs/reference/geometry/closeToAxis.md +7 -3
  218. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +9 -6
  219. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +13 -6
  220. package/dist/docs/reference/geometry/contourContainsPoint.md +7 -3
  221. package/dist/docs/reference/geometry/cylinderAnchor3.md +5 -5
  222. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +3 -3
  223. package/dist/docs/reference/geometry/distributeAlongPath.md +16 -11
  224. package/dist/docs/reference/geometry/ellipseContour.md +3 -3
  225. package/dist/docs/reference/geometry/fitBounds.md +10 -2
  226. package/dist/docs/reference/geometry/fitTextLayout.md +5 -5
  227. package/dist/docs/reference/geometry/frame3.md +66 -0
  228. package/dist/docs/reference/geometry/gridPatternTransforms.md +6 -6
  229. package/dist/docs/reference/geometry/immutableBuffer.md +5 -7
  230. package/dist/docs/reference/geometry/isGeometryError.md +2 -6
  231. package/dist/docs/reference/geometry/layoutRow.md +4 -2
  232. package/dist/docs/reference/geometry/linearPatternTransforms.md +6 -6
  233. package/dist/docs/reference/geometry/matchProfiles.md +5 -3
  234. package/dist/docs/reference/geometry/normalizeContour.md +8 -4
  235. package/dist/docs/reference/geometry/normalizePolygon.md +5 -3
  236. package/dist/docs/reference/geometry/normalizeRegion.md +5 -3
  237. package/dist/docs/reference/geometry/path2.md +7 -7
  238. package/dist/docs/reference/geometry/path3.md +7 -7
  239. package/dist/docs/reference/geometry/pathPatternTransforms.md +12 -8
  240. package/dist/docs/reference/geometry/preflightSvgRegion.md +5 -5
  241. package/dist/docs/reference/geometry/radialPatternTransforms.md +5 -5
  242. package/dist/docs/reference/geometry/rectangleContour.md +3 -3
  243. package/dist/docs/reference/geometry/rectangleProfile.md +3 -4
  244. package/dist/docs/reference/geometry/regionArea.md +3 -3
  245. package/dist/docs/reference/geometry/regionBounds.md +6 -4
  246. package/dist/docs/reference/geometry/regularPolygonContour.md +3 -3
  247. package/dist/docs/reference/geometry/resamplePolyline2.md +7 -3
  248. package/dist/docs/reference/geometry/resamplePolyline3.md +7 -3
  249. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +5 -5
  250. package/dist/docs/reference/geometry/resolveArcSegments.md +8 -6
  251. package/dist/docs/reference/geometry/resolveCircularSampling.md +2 -2
  252. package/dist/docs/reference/geometry/resolveCircularSegments.md +5 -3
  253. package/dist/docs/reference/geometry/{resolveExtrusionDivisions.md → resolveExtrusionSlices.md} +16 -15
  254. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -3
  255. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +3 -3
  256. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +12 -5
  257. package/dist/docs/reference/geometry/sampleContour.md +5 -5
  258. package/dist/docs/reference/geometry/sampleCurve2.md +7 -3
  259. package/dist/docs/reference/geometry/sampleCurve3.md +7 -3
  260. package/dist/docs/reference/geometry/sampleHelix.md +3 -3
  261. package/dist/docs/reference/geometry/sampleSideProfile.md +5 -5
  262. package/dist/docs/reference/geometry/sampleTextContours.md +3 -3
  263. package/dist/docs/reference/geometry/signedContourArea.md +5 -3
  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 +3 -3
  267. package/dist/docs/reference/geometry/strokeRegionData.md +8 -5
  268. package/dist/docs/reference/geometry/transform2.md +5 -7
  269. package/dist/docs/reference/geometry/transform3.md +23 -10
  270. package/dist/docs/reference/geometry/transformRegionData.md +7 -3
  271. package/dist/docs/reference/geometry/triangulateContour.md +6 -4
  272. package/dist/docs/reference/geometry/vector2.md +6 -8
  273. package/dist/docs/reference/geometry/vector3.md +8 -8
  274. package/dist/docs/reference/geometry.md +13 -18
  275. package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +4 -5
  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 +4 -13
  311. package/dist/docs/reference/{geometry → mechanical}/Bevel.md +3 -11
  312. package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +3 -11
  313. package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +3 -11
  314. package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +4 -13
  315. package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +3 -3
  316. package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +3 -3
  317. package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +3 -3
  318. package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +5 -15
  319. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +3 -3
  320. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +3 -3
  321. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +5 -10
  322. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +3 -3
  323. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +3 -3
  324. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +3 -3
  325. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +3 -3
  326. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +3 -3
  327. package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +6 -13
  328. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +3 -7
  329. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +4 -5
  330. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +3 -3
  331. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +5 -14
  332. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +3 -7
  333. package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +3 -3
  334. package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +3 -3
  335. package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +3 -3
  336. package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +3 -3
  337. package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +3 -3
  338. package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +3 -3
  339. package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +3 -7
  340. package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +3 -7
  341. package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +3 -3
  342. package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +3 -3
  343. package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +4 -8
  344. package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +4 -13
  345. package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +3 -7
  346. package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +5 -7
  347. package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +4 -5
  348. package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +3 -11
  349. package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +3 -11
  350. package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +3 -11
  351. package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +5 -7
  352. package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +3 -11
  353. package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +3 -11
  354. package/dist/docs/reference/{geometry → mechanical}/ThreadProfile-type.md +5 -17
  355. package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +4 -13
  356. package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +3 -11
  357. package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +7 -18
  358. package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +3 -3
  359. package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +8 -15
  360. package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +3 -11
  361. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +7 -14
  362. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +3 -7
  363. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutShape.md +3 -7
  364. package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +6 -13
  365. package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +4 -13
  366. package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +4 -13
  367. package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +8 -2
  368. package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +4 -4
  369. package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +12 -6
  370. package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +13 -3
  371. package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +3 -3
  372. package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +3 -3
  373. package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +9 -7
  374. package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +5 -3
  375. package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +8 -6
  376. package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +9 -7
  377. package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +8 -6
  378. package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +5 -3
  379. package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +5 -3
  380. package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +9 -7
  381. package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +5 -3
  382. package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +5 -3
  383. package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +7 -5
  384. package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +9 -8
  385. package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +9 -8
  386. package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +10 -8
  387. package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +8 -6
  388. package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +7 -3
  389. package/dist/docs/reference/mechanical.md +19 -0
  390. package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +128 -0
  391. package/dist/docs/reference/{geometry → mesh}/HeightfieldMeshLimits.md +5 -13
  392. package/dist/docs/reference/{geometry → mesh}/HeightfieldPreflight.md +3 -7
  393. package/dist/docs/reference/{geometry → mesh}/ImmutableTriangleMesh.md +5 -17
  394. package/dist/docs/reference/mesh/LoftMeshStation.md +32 -0
  395. package/dist/docs/reference/mesh/MeshRenderOptions.md +3 -3
  396. package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationFallbackReason.md +4 -8
  397. package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationOptions.md +4 -9
  398. package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationResult.md +4 -8
  399. package/dist/docs/reference/{geometry → mesh}/PlanarPatchQuality.md +4 -12
  400. package/dist/docs/reference/mesh/RenderMesh.md +19 -19
  401. package/dist/docs/reference/{geometry → mesh}/SolidMeshValidationOptions.md +4 -12
  402. package/dist/docs/reference/{geometry → mesh}/TriangleMesh.md +8 -12
  403. package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysis.md +5 -14
  404. package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysisOptions.md +4 -9
  405. package/dist/docs/reference/{geometry → mesh}/TriangleMeshInput.md +3 -7
  406. package/dist/docs/reference/{geometry → mesh}/TriangleMeshMeasurements.md +5 -14
  407. package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityOptions.md +4 -9
  408. package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityReport.md +3 -7
  409. package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignature.md +4 -9
  410. package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureOptions.md +3 -7
  411. package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureTolerances.md +3 -7
  412. package/dist/docs/reference/{geometry → mesh}/TriangleMeshTopologyAnalysis.md +5 -14
  413. package/dist/docs/reference/{geometry → mesh}/TriangleMeshValidationOptions.md +4 -9
  414. package/dist/docs/reference/mesh/analyze.md +26 -18
  415. package/dist/docs/reference/mesh/analyzeQuality.md +12 -12
  416. package/dist/docs/reference/mesh/bounds.md +5 -6
  417. package/dist/docs/reference/mesh/categories/operations.md +37 -4
  418. package/dist/docs/reference/mesh/centroid.md +5 -6
  419. package/dist/docs/reference/mesh/extrude.md +21 -20
  420. package/dist/docs/reference/mesh/heightfield.md +8 -8
  421. package/dist/docs/reference/mesh/immutable.md +7 -5
  422. package/dist/docs/reference/mesh/join.md +7 -7
  423. package/dist/docs/reference/mesh/loft.md +19 -18
  424. package/dist/docs/reference/mesh/optimizePlanarPatches.md +21 -21
  425. package/dist/docs/reference/mesh/preflightHeightfield.md +8 -8
  426. package/dist/docs/reference/mesh/preflightThreadSolid.md +22 -25
  427. package/dist/docs/reference/mesh/render.md +7 -5
  428. package/dist/docs/reference/mesh/reverse.md +7 -7
  429. package/dist/docs/reference/mesh/revolve.md +12 -14
  430. package/dist/docs/reference/mesh/signature.md +12 -12
  431. package/dist/docs/reference/mesh/sweep.md +96 -25
  432. package/dist/docs/reference/mesh/threadRidge.md +19 -18
  433. package/dist/docs/reference/mesh/threadSolid.md +23 -22
  434. package/dist/docs/reference/mesh/transform.md +8 -9
  435. package/dist/docs/reference/mesh/validate.md +11 -11
  436. package/dist/docs/reference/mesh/validateSolid.md +10 -10
  437. package/dist/docs/reference/mesh.md +8 -2
  438. package/dist/docs/reference/model/BoxEdge.md +23 -0
  439. package/dist/docs/reference/model/BoxEdgeSelection.md +27 -0
  440. package/dist/docs/reference/model/BoxEdgeTreatments.md +27 -0
  441. package/dist/docs/reference/{geometry → model}/BoxOptions.md +12 -12
  442. package/dist/docs/reference/model/CircleOptions.md +4 -5
  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/{HoleCutterOverrun.md → CutterOverrun.md} +8 -7
  446. package/dist/docs/reference/model/CylinderOptions.md +64 -0
  447. package/dist/docs/reference/model/DiagnosticOptions.md +2 -2
  448. package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
  449. package/dist/docs/reference/model/EllipseOptions.md +4 -5
  450. package/dist/docs/reference/model/EndTreatments.md +43 -0
  451. package/dist/docs/reference/model/ExtrudeOptions.md +153 -0
  452. package/dist/docs/reference/model/GenerateCallback.md +2 -2
  453. package/dist/docs/reference/model/GenerateContext.md +27 -3
  454. package/dist/docs/reference/model/GenerationDiagnostic.md +2 -2
  455. package/dist/docs/reference/model/GenerationError.md +2 -2
  456. package/dist/docs/reference/{geometry → model}/HeightfieldOptions.md +5 -23
  457. package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
  458. package/dist/docs/reference/model/HoleCutterOptions.md +9 -22
  459. package/dist/docs/reference/model/HoleCutterRecess.md +5 -4
  460. package/dist/docs/reference/model/HullOptions.md +2 -3
  461. package/dist/docs/reference/model/ImmutableValue.md +2 -2
  462. package/dist/docs/reference/model/ImplicitOptions.md +3 -9
  463. package/dist/docs/reference/model/JoinOptions.md +2 -5
  464. package/dist/docs/reference/model/JoinTransition.md +2 -2
  465. package/dist/docs/reference/model/KnuckleHinge-type.md +2 -3
  466. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +2 -2
  467. package/dist/docs/reference/model/KnuckleHingeOptions.md +3 -5
  468. package/dist/docs/reference/model/KnuckleHingeWeb.md +2 -2
  469. package/dist/docs/reference/{geometry → model}/LoftCorrespondence.md +8 -11
  470. package/dist/docs/reference/{geometry → model}/LoftOptions.md +11 -16
  471. package/dist/docs/reference/model/LoftStation.md +4 -5
  472. package/dist/docs/reference/model/Memo.md +2 -2
  473. package/dist/docs/reference/model/ModelProgram.md +2 -2
  474. package/dist/docs/reference/model/PartDeclaration.md +4 -5
  475. package/dist/docs/reference/model/PartGeometry.md +3 -5
  476. package/dist/docs/reference/model/PartOptions.md +4 -5
  477. package/dist/docs/reference/model/PatternSource.md +4 -4
  478. package/dist/docs/reference/model/PlaneOptions.md +3 -7
  479. package/dist/docs/reference/model/PolygonOptions.md +2 -7
  480. package/dist/docs/reference/model/PrimitiveAttachment.md +50 -0
  481. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +111 -0
  482. package/dist/docs/reference/model/RectangleOptions.md +21 -26
  483. package/dist/docs/reference/model/RegularPolygonOptions.md +4 -37
  484. package/dist/docs/reference/{geometry → model}/RevolveOptions.md +15 -24
  485. package/dist/docs/reference/model/Section.md +115 -53
  486. package/dist/docs/reference/model/SectionHullOptions.md +2 -3
  487. package/dist/docs/reference/model/SectionInspection.md +2 -6
  488. package/dist/docs/reference/model/SectionOffsetJoin.md +2 -2
  489. package/dist/docs/reference/model/SectionOffsetOptions.md +2 -3
  490. package/dist/docs/reference/model/Solid.md +24 -12
  491. package/dist/docs/reference/model/SolidInspection.md +2 -6
  492. package/dist/docs/reference/model/SolidSegmentHit.md +2 -6
  493. package/dist/docs/reference/model/SphereOptions.md +27 -0
  494. package/dist/docs/reference/model/StarOptions.md +21 -23
  495. package/dist/docs/reference/model/SvgOrigin.md +2 -2
  496. package/dist/docs/reference/model/SvgPathSectionOptions.md +3 -5
  497. package/dist/docs/reference/model/SvgSectionOptions.md +3 -6
  498. package/dist/docs/reference/model/SweepOptions.md +109 -0
  499. package/dist/docs/reference/model/SweepOrientation.md +119 -0
  500. package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
  501. package/dist/docs/reference/model/TextSectionOptions.md +2 -7
  502. package/dist/docs/reference/{geometry → model}/TorusOptions.md +11 -10
  503. package/dist/docs/reference/model/TubeOptions.md +84 -0
  504. package/dist/docs/reference/model/box.md +11 -10
  505. package/dist/docs/reference/model/categories/boolean-operations.md +9 -3
  506. package/dist/docs/reference/model/categories/bounded-surfaces.md +13 -1
  507. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +26 -7
  508. package/dist/docs/reference/model/categories/generation.md +11 -3
  509. package/dist/docs/reference/model/categories/hinges.md +7 -1
  510. package/dist/docs/reference/model/categories/mesh-inspection.md +7 -1
  511. package/dist/docs/reference/model/categories/primitives.md +34 -6
  512. package/dist/docs/reference/model/categories/sections.md +8 -2
  513. package/dist/docs/reference/model/categories/threads.md +8 -5
  514. package/dist/docs/reference/model/categories/transforms-placement.md +15 -10
  515. package/dist/docs/reference/model/circle.md +7 -3
  516. package/dist/docs/reference/model/cornerCutter.md +88 -0
  517. package/dist/docs/reference/model/cylinder.md +6 -5
  518. package/dist/docs/reference/model/edgeCutter.md +91 -0
  519. package/dist/docs/reference/model/ellipse.md +7 -3
  520. package/dist/docs/reference/model/extrude.md +29 -23
  521. package/dist/docs/reference/model/generate.md +4 -2
  522. package/dist/docs/reference/model/gridPattern.md +11 -4
  523. package/dist/docs/reference/model/heightfield.md +5 -5
  524. package/dist/docs/reference/model/holeCutter.md +26 -12
  525. package/dist/docs/reference/model/hull.md +2 -2
  526. package/dist/docs/reference/model/implicit.md +3 -3
  527. package/dist/docs/reference/model/internalThreadCutter.md +32 -21
  528. package/dist/docs/reference/model/intersect.md +7 -3
  529. package/dist/docs/reference/model/join.md +6 -2
  530. package/dist/docs/reference/model/knuckleHinge.md +2 -3
  531. package/dist/docs/reference/model/linearPattern.md +11 -4
  532. package/dist/docs/reference/model/loft.md +28 -24
  533. package/dist/docs/reference/model/minkowskiSum.md +3 -3
  534. package/dist/docs/reference/model/pathPattern.md +17 -8
  535. package/dist/docs/reference/model/polygon.md +8 -3
  536. package/dist/docs/reference/model/radialPattern.md +11 -4
  537. package/dist/docs/reference/model/rectangle.md +11 -7
  538. package/dist/docs/reference/model/regularPolygon.md +7 -3
  539. package/dist/docs/reference/model/revolve.md +18 -12
  540. package/dist/docs/reference/model/solidFromMesh.md +10 -6
  541. package/dist/docs/reference/model/sphere.md +7 -6
  542. package/dist/docs/reference/model/star.md +11 -7
  543. package/dist/docs/reference/model/stroke.md +12 -8
  544. package/dist/docs/reference/model/svgPathSection.md +10 -4
  545. package/dist/docs/reference/model/svgSection.md +10 -4
  546. package/dist/docs/reference/model/sweep.md +102 -25
  547. package/dist/docs/reference/model/textSection.md +7 -3
  548. package/dist/docs/reference/model/threadRidge.md +16 -17
  549. package/dist/docs/reference/model/threadedNut.md +25 -22
  550. package/dist/docs/reference/model/threadedRod.md +21 -18
  551. package/dist/docs/reference/model/torus.md +13 -12
  552. package/dist/docs/reference/model/tube.md +6 -5
  553. package/dist/docs/reference/model/union.md +7 -3
  554. package/dist/docs/reference/model.md +10 -5
  555. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
  556. package/dist/docs/reference/text/VectorFont.md +38 -34
  557. package/dist/docs/reference/text/VectorFontOptions.md +2 -2
  558. package/dist/docs/reference/{geometry → text}/VectorTextArcBaseline.md +2 -11
  559. package/dist/docs/reference/{geometry → text}/VectorTextLayoutOptions.md +3 -11
  560. package/dist/docs/reference/{geometry → text}/VectorTextOptions.md +2 -10
  561. package/dist/docs/reference/text/categories/font-preparation.md +10 -1
  562. package/dist/docs/reference/text/prepareVectorFont.md +4 -2
  563. package/dist/docs/reference/text.md +7 -1
  564. package/dist/engine/execution.js +5 -3
  565. package/dist/engine/finalization.js +5 -5
  566. package/dist/engine/index.js +9 -4
  567. package/dist/engine/native/adapter.js +1 -1
  568. package/dist/engine/native/construction-mesh.js +15 -5
  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 +2 -2
  572. package/dist/engine/native/mesh-observation.js +1 -1
  573. package/dist/engine/native/regions.js +44 -24
  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 +13 -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 +42 -16
  583. package/dist/engine/operations/hole-cutter.js +125 -114
  584. package/dist/engine/operations/join-collar-profile.js +19 -19
  585. package/dist/engine/operations/join.js +86 -73
  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 +86 -30
  598. package/dist/engine/session/declarations.js +98 -0
  599. package/dist/engine/session/dependencies.js +81 -28
  600. package/dist/engine/session/graph.js +39 -137
  601. package/dist/engine/session/parameters.js +78 -0
  602. package/dist/engine/session/session.js +2 -2
  603. package/dist/engine/session/snapshot-cache.js +2 -2
  604. package/dist/engine/shape-anchors.js +13 -6
  605. package/dist/export/3mf.js +9 -2
  606. package/dist/export/capture.js +10 -6
  607. package/dist/export/glb.js +7 -2
  608. package/dist/export/stl.js +21 -6
  609. package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
  610. package/dist/geometry/{bounds-value.js → bounds/value.js} +20 -16
  611. package/dist/geometry/curves/evaluation.js +5 -6
  612. package/dist/geometry/curves/sampling.js +30 -6
  613. package/dist/geometry/{extrusion.js → extrusion/controls.js} +58 -35
  614. package/dist/geometry/extrusion/mesh.js +92 -0
  615. package/dist/geometry/extrusion/stations.js +35 -0
  616. package/dist/geometry/extrusion/twisted-chamfer.js +265 -0
  617. package/dist/geometry/immutable-buffer.js +7 -1
  618. package/dist/geometry/index.js +24 -32
  619. package/dist/geometry/{model-limits.js → limits.js} +1 -1
  620. package/dist/geometry/loft/{loft-correspondence.js → correspondence.js} +31 -20
  621. package/dist/geometry/loft/{loft-geometry.js → geometry.js} +15 -17
  622. package/dist/geometry/loft/mesh.js +53 -0
  623. package/dist/geometry/loft/{loft-options.js → options.js} +13 -11
  624. package/dist/geometry/loft/{loft-simple-mesh.js → simple-mesh.js} +26 -17
  625. package/dist/geometry/math/interpolation.js +9 -0
  626. package/dist/geometry/math/vector-value.js +12 -3
  627. package/dist/geometry/math/vector2.js +18 -5
  628. package/dist/geometry/math/vector3.js +28 -5
  629. package/dist/geometry/math-api.js +4 -0
  630. package/dist/geometry/mechanical/gear-motion.js +7 -5
  631. package/dist/geometry/mechanical/gears.js +21 -4
  632. package/dist/geometry/mechanical/knuckle-hinge.js +7 -5
  633. package/dist/geometry/mechanical/threads/fit.js +8 -2
  634. package/dist/geometry/mechanical/threads/helices.js +4 -2
  635. package/dist/geometry/mechanical/threads/mesh-plan.js +4 -2
  636. package/dist/geometry/mechanical/threads/mesh.js +12 -9
  637. package/dist/geometry/mechanical/threads/profiles.js +18 -4
  638. package/dist/geometry/mechanical/threads/solids.js +11 -2
  639. package/dist/geometry/mechanical-api.js +10 -0
  640. package/dist/geometry/mesh/{mesh-centroid.js → centroid.js} +2 -1
  641. package/dist/geometry/{heightfield.js → mesh/heightfield.js} +9 -5
  642. package/dist/geometry/{join-geometry.js → mesh/join-layers.js} +53 -59
  643. package/dist/geometry/mesh/{mesh.js → operations.js} +11 -18
  644. package/dist/geometry/mesh/{mesh-planar.js → planar.js} +8 -18
  645. package/dist/geometry/mesh/{mesh-quality.js → quality.js} +10 -42
  646. package/dist/geometry/mesh/{mesh-render.js → render-buffers.js} +22 -7
  647. package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
  648. package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +2 -0
  649. package/dist/geometry/mesh/{mesh-solid.js → solid.js} +4 -4
  650. package/dist/geometry/mesh/triangle-quality.js +42 -0
  651. package/dist/geometry/mesh/winding.js +11 -0
  652. package/dist/geometry/{numeric.js → mesh/write-vertex.js} +1 -1
  653. package/dist/geometry/mesh-api.js +12 -11
  654. package/dist/geometry/paths/distribution.js +43 -0
  655. package/dist/geometry/paths/editing.js +76 -0
  656. package/dist/geometry/paths/frames.js +16 -11
  657. package/dist/geometry/paths/helix.js +1 -1
  658. package/dist/geometry/paths/resampling.js +46 -61
  659. package/dist/geometry/paths/{planar.js → rounding.js} +8 -67
  660. package/dist/geometry/paths/spline.js +116 -0
  661. package/dist/geometry/paths/traversal.js +107 -0
  662. package/dist/geometry/paths/{path-value.js → value.js} +97 -18
  663. package/dist/geometry/patterns/placements.js +20 -29
  664. package/dist/geometry/{patterns.js → patterns/transforms.js} +11 -7
  665. package/dist/geometry/primitives/cutters.js +70 -0
  666. package/dist/geometry/{cylinder.js → primitives/cylinder.js} +4 -4
  667. package/dist/geometry/{edge-finishing.js → primitives/edges.js} +5 -5
  668. package/dist/geometry/{primitive-resolvers.js → primitives/resolvers.js} +9 -9
  669. package/dist/geometry/primitives/sampling.js +41 -0
  670. package/dist/geometry/profiles/contour.js +19 -7
  671. package/dist/geometry/profiles/{match-profiles.js → matching.js} +9 -6
  672. package/dist/geometry/profiles/primitives/circle.js +1 -1
  673. package/dist/geometry/profiles/primitives/ellipse.js +2 -2
  674. package/dist/geometry/profiles/primitives/rectangle.js +8 -8
  675. package/dist/geometry/profiles/primitives/star.js +1 -1
  676. package/dist/geometry/profiles/side-profile.js +8 -5
  677. package/dist/geometry/profiles/validation.js +1 -1
  678. package/dist/geometry/{polygon-clipping.js → regions/clipping.js} +1 -1
  679. package/dist/geometry/{convex-offset.js → regions/convex-offset.js} +1 -1
  680. package/dist/geometry/{region-offset.js → regions/offset.js} +7 -5
  681. package/dist/geometry/{regions.js → regions/operations.js} +59 -22
  682. package/dist/geometry/{stroke-path.js → regions/stroke.js} +46 -20
  683. package/dist/geometry/{loft/loft-triangulation.js → regions/triangulation.js} +35 -2
  684. package/dist/geometry/revolve/{revolve-mesh.js → mesh.js} +9 -10
  685. package/dist/geometry/{circular-sampling.js → sampling/circular.js} +3 -3
  686. package/dist/geometry/{sampling-limits.js → sampling/limits.js} +6 -2
  687. package/dist/geometry/{resolution.js → sampling/resolution.js} +15 -14
  688. package/dist/geometry/svg/fill.js +4 -3
  689. package/dist/geometry/svg/import.js +47 -64
  690. package/dist/geometry/svg/path.js +3 -3
  691. package/dist/geometry/sweep/closed.js +55 -0
  692. package/dist/geometry/sweep/mesh.js +30 -0
  693. package/dist/geometry/{sweeps/sweep-open.js → sweep/open.js} +9 -24
  694. package/dist/geometry/{sweeps → sweep}/orientation.js +14 -11
  695. package/dist/geometry/sweep/seam.js +30 -0
  696. package/dist/geometry/{sweeps → sweep}/stations.js +75 -10
  697. package/dist/geometry/sweep/transforms.js +30 -0
  698. package/dist/geometry/{sweeps → sweep}/validation.js +4 -4
  699. package/dist/geometry/{text-contours.js → text/contours.js} +3 -3
  700. package/dist/geometry/{text-fitting.js → text/fitting.js} +4 -3
  701. package/dist/geometry/text/layout.js +1 -0
  702. package/dist/geometry/{transform3.js → transforms/affine3.js} +31 -46
  703. package/dist/geometry/{anchors.js → transforms/anchors.js} +43 -24
  704. package/dist/geometry/{transform-geometry.js → transforms/apply.js} +8 -5
  705. package/dist/geometry/{transform2.js → transforms/dimensions.js} +23 -19
  706. package/dist/geometry/transforms/frame.js +64 -0
  707. package/dist/geometry/{transform-matrix.js → transforms/matrix-input.js} +8 -1
  708. package/dist/geometry/{transform-value.js → transforms/value.js} +29 -11
  709. package/dist/index.js +3 -9
  710. package/dist/model/cutters.js +1 -0
  711. package/dist/model/execution-binding.js +3 -3
  712. package/dist/model/generation.js +2 -0
  713. package/dist/model/immutable-generation-data.js +2 -0
  714. package/dist/model/operations.js +130 -94
  715. package/dist/model/recipe-declaration.js +5 -7
  716. package/dist/text/index.js +3 -0
  717. package/dist/text/vector-text-layout.js +1 -0
  718. package/package.json +15 -17
  719. package/dist/api/export-3mf.d.ts +0 -2
  720. package/dist/api/export-glb.d.ts +0 -2
  721. package/dist/api/export-stl.d.ts +0 -2
  722. package/dist/docs/reference/geometry/BoxEdge.md +0 -17
  723. package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -24
  724. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -25
  725. package/dist/docs/reference/geometry/CylinderOptions.md +0 -63
  726. package/dist/docs/reference/geometry/EndTreatments.md +0 -44
  727. package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -144
  728. package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -156
  729. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -25
  730. package/dist/docs/reference/geometry/LoftMeshStation.md +0 -41
  731. package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -39
  732. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -114
  733. package/dist/docs/reference/geometry/SphereOptions.md +0 -25
  734. package/dist/docs/reference/geometry/SweepOptions.md +0 -127
  735. package/dist/docs/reference/geometry/SweepOrientation.md +0 -127
  736. package/dist/docs/reference/geometry/TubeOptions.md +0 -72
  737. package/dist/docs/reference/geometry/add2.md +0 -43
  738. package/dist/docs/reference/geometry/add3.md +0 -49
  739. package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -52
  740. package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -50
  741. package/dist/docs/reference/geometry/categories/meshes.md +0 -68
  742. package/dist/docs/reference/geometry/composeTransform3.md +0 -51
  743. package/dist/docs/reference/geometry/cross2.md +0 -43
  744. package/dist/docs/reference/geometry/cross3.md +0 -49
  745. package/dist/docs/reference/geometry/distance2.md +0 -43
  746. package/dist/docs/reference/geometry/distance3.md +0 -43
  747. package/dist/docs/reference/geometry/dot2.md +0 -43
  748. package/dist/docs/reference/geometry/dot3.md +0 -49
  749. package/dist/docs/reference/geometry/eulerTransform3.md +0 -49
  750. package/dist/docs/reference/geometry/frameTransform3.md +0 -55
  751. package/dist/docs/reference/geometry/inverseTransform3.md +0 -41
  752. package/dist/docs/reference/geometry/length2.md +0 -37
  753. package/dist/docs/reference/geometry/length3.md +0 -37
  754. package/dist/docs/reference/geometry/lerp2.md +0 -49
  755. package/dist/docs/reference/geometry/lerp3.md +0 -49
  756. package/dist/docs/reference/geometry/normalize2.md +0 -46
  757. package/dist/docs/reference/geometry/normalize3.md +0 -46
  758. package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -43
  759. package/dist/docs/reference/geometry/rotate2.md +0 -43
  760. package/dist/docs/reference/geometry/rotationTransform3.md +0 -60
  761. package/dist/docs/reference/geometry/scale2.md +0 -43
  762. package/dist/docs/reference/geometry/scale3.md +0 -49
  763. package/dist/docs/reference/geometry/scaleTransform3.md +0 -45
  764. package/dist/docs/reference/geometry/subtract2.md +0 -43
  765. package/dist/docs/reference/geometry/subtract3.md +0 -49
  766. package/dist/docs/reference/geometry/transformDeterminant3.md +0 -43
  767. package/dist/docs/reference/geometry/translationTransform3.md +0 -42
  768. package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -41
  769. package/dist/docs/reference/geometry/validateTransform3.md +0 -54
  770. package/dist/docs/reference/model/Profile.md +0 -30
  771. package/dist/docs/reference/model/categories/explicit-profiles.md +0 -21
  772. package/dist/docs/reference/model/matchProfiles.md +0 -48
  773. package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -93
  774. package/dist/docs/reference/model/preflightThreadedNut.md +0 -109
  775. package/dist/docs/reference/model/preflightThreadedRod.md +0 -93
  776. package/dist/engine/operations/patterns.js +0 -47
  777. package/dist/geometry/loft/loft.js +0 -105
  778. package/dist/geometry/mechanical/index.js +0 -14
  779. package/dist/geometry/primitive-resolution.js +0 -20
  780. package/dist/geometry/svg/index.js +0 -1
  781. package/dist/geometry/sweeps/options.js +0 -29
  782. package/dist/geometry/sweeps/sweep-closed.js +0 -96
  783. package/dist/geometry/sweeps/sweep-mesh.js +0 -32
  784. /package/dist/geometry/mechanical/{standards.js → fastener-standards.js} +0 -0
  785. /package/dist/geometry/mesh/{mesh-edge-table.js → edge-table.js} +0 -0
  786. /package/dist/geometry/mesh/{mesh-types.js → types.js} +0 -0
  787. /package/dist/geometry/mesh/{mesh-view-cache.js → view-cache.js} +0 -0
  788. /package/dist/geometry/{primitive-options.js → primitives/options.js} +0 -0
  789. /package/dist/geometry/{text-layout.js → sweep/options.js} +0 -0
@@ -36,7 +36,7 @@ Require two oppositely wound faces per edge; geometric self-intersections are no
36
36
 
37
37
 
38
38
 
39
- `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)
39
+ `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md)
40
40
 
41
41
 
42
42
 
@@ -45,21 +45,16 @@ Numeric comparison overrides used for zero-area triangle detection.
45
45
 
46
46
  ## Related APIs
47
47
 
48
- - [GeometryToleranceOptions](GeometryToleranceOptions.md)
49
48
  - [TriangleMeshAnalysisOptions](TriangleMeshAnalysisOptions.md)
50
49
 
51
50
  ## Guides
52
51
 
53
52
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
54
53
 
55
- ## Supported imports
54
+ ## Import
56
55
 
57
56
  ```ts
58
- import type { TriangleMeshValidationOptions } from "@metamesh/modeling/geometry";
57
+ import type { TriangleMeshValidationOptions } from "@metamesh/modeling/geometry/mesh";
59
58
  ```
60
59
 
61
- ```ts
62
- import * as mesh from "@metamesh/modeling/geometry/mesh";
63
- ```
64
-
65
- Package: `@metamesh/modeling@0.19.0`.
60
+ Package: `@metamesh/modeling@0.20.0`.
@@ -6,7 +6,7 @@ Validates and measures a mesh with one pass over positions and one over triangle
6
6
 
7
7
 
8
8
 
9
- **analyze**(`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md), `options`: [`TriangleMeshAnalysisOptions`](../geometry/TriangleMeshAnalysisOptions.md) & `object`): [`TriangleMeshTopologyAnalysis`](../geometry/TriangleMeshTopologyAnalysis.md)
9
+ **analyze**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md), `options`: [`TriangleMeshAnalysisOptions`](TriangleMeshAnalysisOptions.md) & `object`): [`TriangleMeshTopologyAnalysis`](TriangleMeshTopologyAnalysis.md)
10
10
 
11
11
 
12
12
 
@@ -23,25 +23,29 @@ inspected on every call, never cached.
23
23
 
24
24
  <a id="mesh"></a>
25
25
 
26
- **`mesh`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
26
+ **`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
27
+
28
+ Indexed triangle buffers in consistent units; source buffers remain unchanged.
27
29
 
28
30
 
29
31
 
30
32
  <a id="options"></a>
31
33
 
32
- **`options`** · [`TriangleMeshAnalysisOptions`](../geometry/TriangleMeshAnalysisOptions.md) & `object` · Required
34
+ **`options`** · [`TriangleMeshAnalysisOptions`](TriangleMeshAnalysisOptions.md) & `object` · Required
35
+
36
+ Validation policy with indexed edge and shell counts explicitly requested.
33
37
 
34
38
 
35
39
 
36
40
  ### Returns
37
41
 
38
- [`TriangleMeshTopologyAnalysis`](../geometry/TriangleMeshTopologyAnalysis.md)
42
+ [`TriangleMeshTopologyAnalysis`](TriangleMeshTopologyAnalysis.md)
39
43
 
40
44
  ## Call Signature
41
45
 
42
46
 
43
47
 
44
- **analyze**(`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md), `options?`: [`TriangleMeshAnalysisOptions`](../geometry/TriangleMeshAnalysisOptions.md)): [`TriangleMeshAnalysis`](../geometry/TriangleMeshAnalysis.md)
48
+ **analyze**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md), `options?`: [`TriangleMeshAnalysisOptions`](TriangleMeshAnalysisOptions.md)): [`TriangleMeshAnalysis`](TriangleMeshAnalysis.md)
45
49
 
46
50
 
47
51
 
@@ -51,27 +55,31 @@ Measures a mesh; topology fields are present only when includeTopology is enable
51
55
 
52
56
  <a id="mesh-1"></a>
53
57
 
54
- **`mesh`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
58
+ **`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
59
+
60
+ Indexed triangle buffers in consistent units; source buffers remain unchanged.
55
61
 
56
62
 
57
63
 
58
64
  <a id="options-1"></a>
59
65
 
60
- **`options`** · [`TriangleMeshAnalysisOptions`](../geometry/TriangleMeshAnalysisOptions.md) · Optional
66
+ **`options`** · [`TriangleMeshAnalysisOptions`](TriangleMeshAnalysisOptions.md) · Optional
67
+
68
+ Validation policy and optional indexed edge and shell counts.
61
69
 
62
- - [`includeTopology`](../geometry/TriangleMeshAnalysisOptions.md#includetopology) · `boolean` · Optional
70
+ - [`includeTopology`](TriangleMeshAnalysisOptions.md#includetopology) · `boolean` · Optional
63
71
 
64
72
  Compute indexed edge/shell counts and reject unreferenced vertices; defaults to false.
65
73
 
66
- - [`allowEmpty`](../geometry/TriangleMeshAnalysisOptions.md#allowempty) · `boolean` · Optional
74
+ - [`allowEmpty`](TriangleMeshAnalysisOptions.md#allowempty) · `boolean` · Optional
67
75
 
68
76
  Permit an empty position and index buffer. Defaults to `false`.
69
77
 
70
- - [`requireClosed`](../geometry/TriangleMeshAnalysisOptions.md#requireclosed) · `boolean` · Optional
78
+ - [`requireClosed`](TriangleMeshAnalysisOptions.md#requireclosed) · `boolean` · Optional
71
79
 
72
80
  Require two oppositely wound faces per edge; geometric self-intersections are not detected.
73
81
 
74
- - [`tolerance`](../geometry/TriangleMeshAnalysisOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
82
+ - [`tolerance`](TriangleMeshAnalysisOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
75
83
 
76
84
  Numeric comparison overrides used for zero-area triangle detection.
77
85
 
@@ -79,24 +87,24 @@ Measures a mesh; topology fields are present only when includeTopology is enable
79
87
 
80
88
  ### Returns
81
89
 
82
- [`TriangleMeshAnalysis`](../geometry/TriangleMeshAnalysis.md)
90
+ [`TriangleMeshAnalysis`](TriangleMeshAnalysis.md)
83
91
 
84
92
 
85
93
  ## Related APIs
86
94
 
87
- - [TriangleMeshAnalysis](../geometry/TriangleMeshAnalysis.md)
88
- - [TriangleMeshAnalysisOptions](../geometry/TriangleMeshAnalysisOptions.md)
89
- - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
90
- - [TriangleMeshTopologyAnalysis](../geometry/TriangleMeshTopologyAnalysis.md)
95
+ - [TriangleMeshAnalysis](TriangleMeshAnalysis.md)
96
+ - [TriangleMeshAnalysisOptions](TriangleMeshAnalysisOptions.md)
97
+ - [TriangleMeshInput](TriangleMeshInput.md)
98
+ - [TriangleMeshTopologyAnalysis](TriangleMeshTopologyAnalysis.md)
91
99
 
92
100
  ## Guides
93
101
 
94
102
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
95
103
 
96
- ## Supported imports
104
+ ## Import
97
105
 
98
106
  ```ts
99
107
  import * as mesh from "@metamesh/modeling/geometry/mesh";
100
108
  ```
101
109
 
102
- Package: `@metamesh/modeling@0.19.0`.
110
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Measures triangle shape, edge topology, vertex concentration, and connected planar patches.
4
4
 
5
- **analyzeQuality**(`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md), `options?`: [`TriangleMeshQualityOptions`](../geometry/TriangleMeshQualityOptions.md)): [`TriangleMeshQualityReport`](../geometry/TriangleMeshQualityReport.md)
5
+ **analyzeQuality**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md), `options?`: [`TriangleMeshQualityOptions`](TriangleMeshQualityOptions.md)): [`TriangleMeshQualityReport`](TriangleMeshQualityReport.md)
6
6
 
7
7
 
8
8
 
@@ -14,23 +14,23 @@ positions, missing vertex references, and the configured complexity limit throw.
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
- Indexed triangle mesh in arbitrary consistent model units.
19
+ Indexed triangle mesh in consistent units.
20
20
 
21
21
 
22
22
 
23
23
  <a id="options"></a>
24
24
 
25
- **`options`** · [`TriangleMeshQualityOptions`](../geometry/TriangleMeshQualityOptions.md) · Optional
25
+ **`options`** · [`TriangleMeshQualityOptions`](TriangleMeshQualityOptions.md) · Optional
26
26
 
27
27
  Scale-aware tolerance and analysis budget.
28
28
 
29
- - [`maxTriangles`](../geometry/TriangleMeshQualityOptions.md#maxtriangles) · `number` · Optional
29
+ - [`maxTriangles`](TriangleMeshQualityOptions.md#maxtriangles) · `number` · Optional
30
30
 
31
31
  Maximum number of triangles inspected. Defaults to `200000`.
32
32
 
33
- - [`tolerance`](../geometry/TriangleMeshQualityOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
33
+ - [`tolerance`](TriangleMeshQualityOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
34
34
 
35
35
  Numeric comparison overrides; model coordinates are interpreted in their existing units.
36
36
 
@@ -38,25 +38,25 @@ Scale-aware tolerance and analysis budget.
38
38
 
39
39
  ## Returns
40
40
 
41
- [`TriangleMeshQualityReport`](../geometry/TriangleMeshQualityReport.md)
41
+ [`TriangleMeshQualityReport`](TriangleMeshQualityReport.md)
42
42
 
43
43
  A deterministic report without mutating or copying the mesh.
44
44
 
45
45
 
46
46
  ## Related APIs
47
47
 
48
- - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
49
- - [TriangleMeshQualityOptions](../geometry/TriangleMeshQualityOptions.md)
50
- - [TriangleMeshQualityReport](../geometry/TriangleMeshQualityReport.md)
48
+ - [TriangleMeshInput](TriangleMeshInput.md)
49
+ - [TriangleMeshQualityOptions](TriangleMeshQualityOptions.md)
50
+ - [TriangleMeshQualityReport](TriangleMeshQualityReport.md)
51
51
 
52
52
  ## Guides
53
53
 
54
54
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
55
55
 
56
- ## Supported imports
56
+ ## Import
57
57
 
58
58
  ```ts
59
59
  import * as mesh from "@metamesh/modeling/geometry/mesh";
60
60
  ```
61
61
 
62
- Package: `@metamesh/modeling@0.19.0`.
62
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Computes axis-aligned bounds for a non-empty mesh.
4
4
 
5
- `const` **bounds**: (`mesh`: [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)) => [`Bounds3Data`](../geometry/Bounds3Data.md)
5
+ `const` **bounds**: (`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md)) => [`Bounds3Data`](../geometry/Bounds3Data.md)
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Computes axis-aligned bounds for a non-empty mesh.
10
10
 
11
11
  <a id="mesh"></a>
12
12
 
13
- **`mesh`** · [`TriangleMeshInput`](../geometry/TriangleMeshInput.md) · Required
13
+ **`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
14
14
 
15
15
  Mesh whose finite complete vertices will be measured.
16
16
 
@@ -29,17 +29,16 @@ Fresh immutable minimum and maximum XYZ tuples.
29
29
 
30
30
  ## Related APIs
31
31
 
32
- - [Bounds3Data](../geometry/Bounds3Data.md)
33
- - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
32
+ - [TriangleMeshInput](TriangleMeshInput.md)
34
33
 
35
34
  ## Guides
36
35
 
37
36
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
38
37
 
39
- ## Supported imports
38
+ ## Import
40
39
 
41
40
  ```ts
42
41
  import * as mesh from "@metamesh/modeling/geometry/mesh";
43
42
  ```
44
43
 
45
- Package: `@metamesh/modeling@0.19.0`.
44
+ Package: `@metamesh/modeling@0.20.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. |
@@ -42,6 +42,33 @@ Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle
42
42
  | --- | --- |
43
43
  | [MeshRenderOptions](../MeshRenderOptions.md) | Shading policy for a render copy; manufacturing positions and triangle order never change. |
44
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. |
46
+ | [TriangleMesh](../TriangleMesh.md) | A topology-preserving indexed triangle mesh with mutable owned XYZ buffers. |
47
+ | [TriangleMeshAnalysis](../TriangleMeshAnalysis.md) | Measurements and optional edge-connected topology from one validated mesh traversal. |
48
+ | [TriangleMeshTopologyAnalysis](../TriangleMeshTopologyAnalysis.md) | Mesh measurements with the indexed surface-shell and edge counts requested by includeTopology. |
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. |
51
+ | [TriangleMeshValidationOptions](../TriangleMeshValidationOptions.md) | Options controlling structural and manufacturing validation of a mesh. |
52
+ | [TriangleMeshSignature](../TriangleMeshSignature.md) | Immutable deterministic measurements for a closed, oriented triangle mesh. |
53
+ | [TriangleMeshSignatureOptions](../TriangleMeshSignatureOptions.md) | Options controlling deterministic triangle-mesh regression signatures. |
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. |
57
+ | [PlanarPatchQuality](../PlanarPatchQuality.md) | Quality measurements for one edge-connected coplanar triangle patch. |
58
+ | [TriangleMeshQualityOptions](../TriangleMeshQualityOptions.md) | Options controlling bounded triangle-mesh quality analysis. |
59
+ | [TriangleMeshQualityReport](../TriangleMeshQualityReport.md) | Structural, topological, and planar-patch measurements for one indexed triangle mesh. |
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. |
63
+
64
+ ## Type aliases
65
+
66
+ | API | Summary |
67
+ | --- | --- |
68
+ | [PlanarMeshOptimizationFallbackReason](../PlanarMeshOptimizationFallbackReason.md) | Stable reason why planar optimization preserved the original connectivity. |
69
+ | [TriangleMeshInput](../TriangleMeshInput.md) | Raw construction buffers or immutable captured geometry accepted by mesh utilities. |
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. |
45
72
 
46
73
  ## Values
47
74
 
@@ -54,4 +81,10 @@ Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle
54
81
 
55
82
  - [Exact counts and preflight guarantees](../../../guides/resolution-and-inspection.md#check-preflight-guarantees)
56
83
 
57
- Package: `@metamesh/modeling@0.19.0`.
84
+ ## Import
85
+
86
+ ```ts
87
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
88
+ ```
89
+
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
 
@@ -29,17 +29,16 @@ A fresh immutable XYZ volume centroid.
29
29
 
30
30
  ## Related APIs
31
31
 
32
- - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
33
- - [Vector3Data](../geometry/Vector3Data.md)
32
+ - [TriangleMeshInput](TriangleMeshInput.md)
34
33
 
35
34
  ## Guides
36
35
 
37
36
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
38
37
 
39
- ## Supported imports
38
+ ## Import
40
39
 
41
40
  ```ts
42
41
  import * as mesh from "@metamesh/modeling/geometry/mesh";
43
42
  ```
44
43
 
45
- Package: `@metamesh/modeling@0.19.0`.
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,61 +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
- - [ExtrudeMeshOptions](../geometry/ExtrudeMeshOptions.md)
66
- - [Path2Input](../geometry/Path2Input.md)
67
- - [TriangleMesh](../geometry/TriangleMesh.md)
67
+ - [ExtrudeMeshOptions](ExtrudeMeshOptions.md)
68
+ - [TriangleMesh](TriangleMesh.md)
68
69
 
69
70
  ## Guides
70
71
 
71
72
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
72
73
 
73
- ## Supported imports
74
+ ## Import
74
75
 
75
76
  ```ts
76
77
  import * as mesh from "@metamesh/modeling/geometry/mesh";
77
78
  ```
78
79
 
79
- Package: `@metamesh/modeling@0.19.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,23 +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](../geometry/HeightfieldOptions.md)
44
- - [ModelingLimits](../geometry/ModelingLimits.md)
45
- - [TriangleMesh](../geometry/TriangleMesh.md)
45
+ - [TriangleMesh](TriangleMesh.md)
46
46
 
47
47
  ## Guides
48
48
 
49
49
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
50
50
 
51
- ## Supported imports
51
+ ## Import
52
52
 
53
53
  ```ts
54
54
  import * as mesh from "@metamesh/modeling/geometry/mesh";
55
55
  ```
56
56
 
57
- Package: `@metamesh/modeling@0.19.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
 
@@ -21,6 +21,8 @@ const model = generate(({ memo, part }) => part("surface", memo(buildSurface)));
21
21
 
22
22
  ### mesh
23
23
 
24
+ Triangle buffers to copy; the consumer validates topology.
25
+
24
26
  #### positions
25
27
 
26
28
  `Float32Array`
@@ -31,21 +33,21 @@ const model = generate(({ memo, part }) => part("surface", memo(buildSurface)));
31
33
 
32
34
  ## Returns
33
35
 
34
- [`ImmutableTriangleMesh`](../geometry/ImmutableTriangleMesh.md)
36
+ [`ImmutableTriangleMesh`](ImmutableTriangleMesh.md)
35
37
 
36
38
 
37
39
  ## Related APIs
38
40
 
39
- - [ImmutableTriangleMesh](../geometry/ImmutableTriangleMesh.md)
41
+ - [ImmutableTriangleMesh](ImmutableTriangleMesh.md)
40
42
 
41
43
  ## Guides
42
44
 
43
45
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
44
46
 
45
- ## Supported imports
47
+ ## Import
46
48
 
47
49
  ```ts
48
50
  import * as mesh from "@metamesh/modeling/geometry/mesh";
49
51
  ```
50
52
 
51
- Package: `@metamesh/modeling@0.19.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
 
@@ -31,17 +31,17 @@ Fresh typed arrays with indices offset to their source vertex ranges.
31
31
 
32
32
  ## Related APIs
33
33
 
34
- - [TriangleMesh](../geometry/TriangleMesh.md)
35
- - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
34
+ - [TriangleMesh](TriangleMesh.md)
35
+ - [TriangleMeshInput](TriangleMeshInput.md)
36
36
 
37
37
  ## Guides
38
38
 
39
39
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
40
40
 
41
- ## Supported imports
41
+ ## Import
42
42
 
43
43
  ```ts
44
44
  import * as mesh from "@metamesh/modeling/geometry/mesh";
45
45
  ```
46
46
 
47
- Package: `@metamesh/modeling@0.19.0`.
47
+ Package: `@metamesh/modeling@0.20.0`.