@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
@@ -51,17 +51,16 @@ Use [rectangle](../model/rectangle.md) for a filled Section.
51
51
 
52
52
  - [Profile](Profile.md)
53
53
  - [RectangleProfileOptions](RectangleProfileOptions.md)
54
- - [matchProfiles](matchProfiles.md)
55
54
  - [rectangleContour](rectangleContour.md)
56
55
 
57
56
  ## Guides
58
57
 
59
- - [Choose a geometry representation](../../guides/geometry-values.md#geometry-vocabulary)
58
+ - [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
60
59
 
61
- ## Supported imports
60
+ ## Import
62
61
 
63
62
  ```ts
64
63
  import { rectangleProfile } from "@metamesh/modeling/geometry";
65
64
  ```
66
65
 
67
- Package: `@metamesh/modeling@0.19.0`.
66
+ Package: `@metamesh/modeling@0.20.0`.
@@ -33,12 +33,12 @@ Total filled area in square millimetres.
33
33
 
34
34
  ## Guides
35
35
 
36
- - [Choose a geometry representation](../../guides/geometry-values.md#geometry-vocabulary)
36
+ - [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
37
37
 
38
- ## Supported imports
38
+ ## Import
39
39
 
40
40
  ```ts
41
41
  import { regionArea } from "@metamesh/modeling/geometry";
42
42
  ```
43
43
 
44
- Package: `@metamesh/modeling@0.19.0`.
44
+ Package: `@metamesh/modeling@0.20.0`.
@@ -1,6 +1,6 @@
1
1
  # regionBounds
2
2
 
3
- Returns finite axis-aligned bounds for a non-empty region.
3
+ Returns finite axis-aligned bounds for a nonempty region.
4
4
 
5
5
  **regionBounds**(`region`: [`RegionData`](RegionData.md)): [`Bounds2Data`](Bounds2Data.md)
6
6
 
@@ -12,6 +12,8 @@ Returns finite axis-aligned bounds for a non-empty region.
12
12
 
13
13
  **`region`** · [`RegionData`](RegionData.md) · Required
14
14
 
15
+ Nonempty region with finite millimetre exterior coordinates.
16
+
15
17
 
16
18
 
17
19
  ## Returns
@@ -26,12 +28,12 @@ Returns finite axis-aligned bounds for a non-empty region.
26
28
 
27
29
  ## Guides
28
30
 
29
- - [Choose a geometry representation](../../guides/geometry-values.md#geometry-vocabulary)
31
+ - [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
30
32
 
31
- ## Supported imports
33
+ ## Import
32
34
 
33
35
  ```ts
34
36
  import { regionBounds } from "@metamesh/modeling/geometry";
35
37
  ```
36
38
 
37
- Package: `@metamesh/modeling@0.19.0`.
39
+ Package: `@metamesh/modeling@0.20.0`.
@@ -52,12 +52,12 @@ readonly [`Vector2Data`](Vector2Data.md)[]
52
52
 
53
53
  ## Guides
54
54
 
55
- - [Choose a geometry representation](../../guides/geometry-values.md#geometry-vocabulary)
55
+ - [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
56
56
 
57
- ## Supported imports
57
+ ## Import
58
58
 
59
59
  ```ts
60
60
  import { regularPolygonContour } from "@metamesh/modeling/geometry";
61
61
  ```
62
62
 
63
- Package: `@metamesh/modeling@0.19.0`.
63
+ Package: `@metamesh/modeling@0.20.0`.
@@ -18,12 +18,16 @@ const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segment
18
18
 
19
19
  **`path`** · readonly [`Vector2Data`](Vector2Data.md)[] · Required
20
20
 
21
+ XY points in millimetres; duplicate neighbors are removed.
22
+
21
23
 
22
24
 
23
25
  <a id="options"></a>
24
26
 
25
27
  **`options`** · [`PolylineResamplingOptions`](PolylineResamplingOptions.md) · Optional
26
28
 
29
+ Closure and exact intervals or physical edge spacing.
30
+
27
31
  - [`resolution`](PolylineResamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
28
32
 
29
33
  Millimetre sampling policy; circularSegments applies only to arcs.
@@ -63,12 +67,12 @@ Only final 2D output vectors are copied and frozen. No immutable 3D intermediate
63
67
 
64
68
  ## Guides
65
69
 
66
- - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
70
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
67
71
 
68
- ## Supported imports
72
+ ## Import
69
73
 
70
74
  ```ts
71
75
  import { resamplePolyline2 } from "@metamesh/modeling/geometry";
72
76
  ```
73
77
 
74
- Package: `@metamesh/modeling@0.19.0`.
78
+ Package: `@metamesh/modeling@0.20.0`.
@@ -18,12 +18,16 @@ const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
18
18
 
19
19
  **`path`** · readonly [`Vector3Data`](Vector3Data.md)[] · Required
20
20
 
21
+ XYZ points in millimetres; duplicate neighbors are removed.
22
+
21
23
 
22
24
 
23
25
  <a id="options"></a>
24
26
 
25
27
  **`options`** · [`PolylineResamplingOptions`](PolylineResamplingOptions.md) · Optional
26
28
 
29
+ Closure and exact intervals or physical edge spacing.
30
+
27
31
  - [`resolution`](PolylineResamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
28
32
 
29
33
  Millimetre sampling policy; circularSegments applies only to arcs.
@@ -66,12 +70,12 @@ may bridge original corners. Sampling never silently lowers the requested detail
66
70
 
67
71
  ## Guides
68
72
 
69
- - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
73
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
70
74
 
71
- ## Supported imports
75
+ ## Import
72
76
 
73
77
  ```ts
74
78
  import { resamplePolyline3 } from "@metamesh/modeling/geometry";
75
79
  ```
76
80
 
77
- Package: `@metamesh/modeling@0.19.0`.
81
+ Package: `@metamesh/modeling@0.20.0`.
@@ -12,7 +12,7 @@ Resolves a deterministic full-circle count aligned to reusable topology factors.
12
12
  const alignedSegments = resolveAlignedCircularSegments(20, { alignTo: [4, 6] });
13
13
  ```
14
14
 
15
- `alignTo` must be non-empty and contain only positive safe integers. Its checked least common
15
+ `alignTo` must be nonempty and contain only positive safe integers. Its checked least common
16
16
  multiple defines the alignment grid. An exact `segments` value wins over
17
17
  `resolution.circularSegments` and adaptive sampling, but is never rounded: it must already be
18
18
  aligned and meet `minSegments`. Adaptive counts are rounded upward and fail with
@@ -36,7 +36,7 @@ Required alignment factors plus optional floor, exact count, and resolution.
36
36
 
37
37
  - [`alignTo`](AlignedCircularSegmentsOptions.md#alignto) · readonly `number`[] · Required
38
38
 
39
- Non-empty alignment factors. Every value must be a positive safe integer; the returned count
39
+ Nonempty alignment factors. Every value must be a positive safe integer; the returned count
40
40
  is divisible by their checked least common multiple.
41
41
 
42
42
  - [`sizing`](AlignedCircularSegmentsOptions.md#sizing) · [`RadialSizing`](RadialSizing.md) · Optional
@@ -60,7 +60,7 @@ Required alignment factors plus optional floor, exact count, and resolution.
60
60
 
61
61
  - [`resolution`](AlignedCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
62
62
 
63
- Operation-level physical tessellation policy over the active model-wide policy.
63
+ Explicit physical tessellation policy; omitted fields use package defaults.
64
64
 
65
65
 
66
66
 
@@ -80,10 +80,10 @@ An aligned full-circle segment count.
80
80
  - [AlignedCircularSegmentsOptions](AlignedCircularSegmentsOptions.md)
81
81
  - [resolveCircularSegments](resolveCircularSegments.md)
82
82
 
83
- ## Supported imports
83
+ ## Import
84
84
 
85
85
  ```ts
86
86
  import { resolveAlignedCircularSegments } from "@metamesh/modeling/geometry";
87
87
  ```
88
88
 
89
- Package: `@metamesh/modeling@0.19.0`.
89
+ Package: `@metamesh/modeling@0.20.0`.
@@ -12,8 +12,8 @@ Resolves the number of segments needed for a circular arc.
12
12
  const quarterTurnSegments = resolveArcSegments(10, 90);
13
13
  ```
14
14
 
15
- Full-circle limits and exact circular counts are scaled to the requested angular span, matching
16
- the reusable BOSL2-style convention while retaining at least one segment.
15
+ Full-circle limits and exact circular counts are scaled to the requested angular span,
16
+ retaining at least one segment.
17
17
 
18
18
  ## Parameters
19
19
 
@@ -29,7 +29,7 @@ Arc radius in millimetres.
29
29
 
30
30
  **`angle`** · `number` · Required
31
31
 
32
- Non-zero signed sweep angle no greater than 360 degrees in magnitude.
32
+ Nonzero signed sweep angle no greater than 360 degrees in magnitude.
33
33
 
34
34
 
35
35
 
@@ -37,7 +37,7 @@ Non-zero signed sweep angle no greater than 360 degrees in magnitude.
37
37
 
38
38
  **`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
39
39
 
40
- Optional operation-level policy over the active model scope.
40
+ Explicit physical sampling policy; omitted fields use package defaults.
41
41
 
42
42
 
43
43
 
@@ -45,6 +45,8 @@ Optional operation-level policy over the active model scope.
45
45
 
46
46
  **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
47
47
 
48
+ Full-circle segment limit, applied before scaling to the arc.
49
+
48
50
 
49
51
 
50
52
  ## Returns
@@ -64,10 +66,10 @@ Segment count for the requested arc span.
64
66
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
65
67
  - [resolveCircularSegments](resolveCircularSegments.md)
66
68
 
67
- ## Supported imports
69
+ ## Import
68
70
 
69
71
  ```ts
70
72
  import { resolveArcSegments } from "@metamesh/modeling/geometry";
71
73
  ```
72
74
 
73
- Package: `@metamesh/modeling@0.19.0`.
75
+ Package: `@metamesh/modeling@0.20.0`.
@@ -37,10 +37,10 @@ exhausted limits rather than coarsening. The returned record is immutable and ne
37
37
  - [CircleContourOptions](CircleContourOptions.md)
38
38
  - [CircularSampling](CircularSampling.md)
39
39
 
40
- ## Supported imports
40
+ ## Import
41
41
 
42
42
  ```ts
43
43
  import { resolveCircularSampling } from "@metamesh/modeling/geometry";
44
44
  ```
45
45
 
46
- Package: `@metamesh/modeling@0.19.0`.
46
+ Package: `@metamesh/modeling@0.20.0`.
@@ -31,7 +31,7 @@ Circle radius in millimetres.
31
31
 
32
32
  **`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
33
33
 
34
- Optional operation-level policy under explicit sampling ceilings.
34
+ Optional operation-level policy under explicit sampling limits.
35
35
 
36
36
 
37
37
 
@@ -39,6 +39,8 @@ Optional operation-level policy under explicit sampling ceilings.
39
39
 
40
40
  **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
41
41
 
42
+ Full-circle segment limits; omitted fields use defaults.
43
+
42
44
 
43
45
 
44
46
  ## Returns
@@ -59,10 +61,10 @@ Full-circle segment count.
59
61
  - [resolveAlignedCircularSegments](resolveAlignedCircularSegments.md)
60
62
  - [resolveArcSegments](resolveArcSegments.md)
61
63
 
62
- ## Supported imports
64
+ ## Import
63
65
 
64
66
  ```ts
65
67
  import { resolveCircularSegments } from "@metamesh/modeling/geometry";
66
68
  ```
67
69
 
68
- Package: `@metamesh/modeling@0.19.0`.
70
+ Package: `@metamesh/modeling@0.20.0`.
@@ -1,22 +1,23 @@
1
- # resolveExtrusionDivisions
1
+ # resolveExtrusionSlices
2
2
 
3
- Resolves intermediate profile copies for linear extrusion from physical curve resolution.
3
+ Resolves longitudinal intervals for ordinary linear extrusion from physical curve resolution.
4
4
 
5
- **resolveExtrusionDivisions**(`profile`: [`Contour`](Contour.md) \| [`RegionData`](RegionData.md), `height`: `number`, `options?`: [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md)): `number`
5
+ **resolveExtrusionSlices**(`profile`: [`RegionData`](RegionData.md) \| [`Contour`](Contour.md), `height`: `number`, `options?`: [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md)): `number`
6
6
 
7
7
 
8
8
 
9
9
  Accepts one XY loop or a filled XY region, including every hole and disconnected component.
10
- Exact `divisions`, including zero, override physical sampling. Otherwise chord error bounds
10
+ End treatments are unsupported; native finishing inserts its own treatment stations.
11
+ Explicit positive `slices` override physical sampling. Otherwise chord error bounds
11
12
  the triangulated side surface, including rotation across each profile edge. Optional segment
12
- length bounds station travel including Z. Straight extrusions need no intermediate copies by default.
13
+ length bounds station travel including Z. Straight extrusions use one interval by default.
13
14
  Exceeding the selected maxPathPoints ceiling raises `COMPLEXITY_LIMIT` instead of reducing fidelity.
14
15
 
15
16
  ## Parameters
16
17
 
17
18
  <a id="profile"></a>
18
19
 
19
- **`profile`** · [`Contour`](Contour.md) \| [`RegionData`](RegionData.md) · Required
20
+ **`profile`** · [`RegionData`](RegionData.md) \| [`Contour`](Contour.md) · Required
20
21
 
21
22
  Ordered XY millimetre contours with implicit closing edges.
22
23
 
@@ -34,11 +35,11 @@ Positive extrusion height in millimetres.
34
35
 
35
36
  **`options`** · [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md) · Optional
36
37
 
37
- Twist, scale, exact divisions, and physical resolution controls.
38
+ Twist, scale, exact slices, and physical resolution controls.
38
39
 
39
- - [`divisions`](ExtrusionSamplingOptions.md#divisions) · `number` · Optional
40
+ - [`slices`](ExtrusionSamplingOptions.md#slices) · `number` · Optional
40
41
 
41
- Exact number of intermediate profiles, nonnegative; overrides physical sampling.
42
+ Positive longitudinal interval count; n slices create n + 1 profile layers. Overrides ordinary extrusion's physical sampling.
42
43
 
43
44
  - [`limits`](ExtrusionSamplingOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
44
45
 
@@ -48,9 +49,9 @@ Twist, scale, exact divisions, and physical resolution controls.
48
49
 
49
50
  Operation-level physical policy over the nearest model scope.
50
51
 
51
- - [`scaleTop`](ExtrusionSamplingOptions.md#scaletop) · `number` \| [`Vector2Input`](Vector2Input.md) · Optional
52
+ - [`scale`](ExtrusionSamplingOptions.md#scale) · `number` \| [`Vector2Input`](Vector2Input.md) · Optional
52
53
 
53
- Finite uniform or XY scale of the top profile; defaults to one.
54
+ 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.
54
55
 
55
56
  - [`twist`](ExtrusionSamplingOptions.md#twist) · `number` · Optional
56
57
 
@@ -62,7 +63,7 @@ Twist, scale, exact divisions, and physical resolution controls.
62
63
 
63
64
  `number`
64
65
 
65
- Number of intermediate copies, excluding the two end profiles.
66
+ Positive interval count, creating one more profile layer than intervals.
66
67
 
67
68
 
68
69
  ## Related APIs
@@ -75,10 +76,10 @@ Number of intermediate copies, excluding the two end profiles.
75
76
 
76
77
  - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
77
78
 
78
- ## Supported imports
79
+ ## Import
79
80
 
80
81
  ```ts
81
- import { resolveExtrusionDivisions } from "@metamesh/modeling/geometry";
82
+ import { resolveExtrusionSlices } from "@metamesh/modeling/geometry";
82
83
  ```
83
84
 
84
- Package: `@metamesh/modeling@0.19.0`.
85
+ Package: `@metamesh/modeling@0.20.0`.
@@ -12,6 +12,8 @@ Resolves finite positive safe-integer allocation ceilings without ambient state.
12
12
 
13
13
  **`overrides`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
14
14
 
15
+ Trusted overrides that may raise defaults; omitted fields keep them.
16
+
15
17
 
16
18
 
17
19
  ## Returns
@@ -25,12 +27,12 @@ Resolves finite positive safe-integer allocation ceilings without ambient state.
25
27
 
26
28
  ## Guides
27
29
 
28
- - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
30
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
29
31
 
30
- ## Supported imports
32
+ ## Import
31
33
 
32
34
  ```ts
33
35
  import { resolveGeometrySamplingLimits } from "@metamesh/modeling/geometry";
34
36
  ```
35
37
 
36
- Package: `@metamesh/modeling@0.19.0`.
38
+ Package: `@metamesh/modeling@0.20.0`.
@@ -36,7 +36,7 @@ Optional policy overrides.
36
36
 
37
37
  - [`relative`](GeometryToleranceOptions.md#relative) · `number` · Optional
38
38
 
39
- Dimensionless scale multiplier. Must be finite and non-negative.
39
+ Dimensionless scale multiplier. Must be finite and nonnegative.
40
40
 
41
41
 
42
42
 
@@ -56,10 +56,10 @@ A complete tolerance policy including the scale-resolved distance.
56
56
  - [GeometryToleranceOptions](GeometryToleranceOptions.md)
57
57
  - [ResolvedGeometryTolerance](ResolvedGeometryTolerance.md)
58
58
 
59
- ## Supported imports
59
+ ## Import
60
60
 
61
61
  ```ts
62
62
  import { resolveGeometryTolerance } from "@metamesh/modeling/geometry";
63
63
  ```
64
64
 
65
- Package: `@metamesh/modeling@0.19.0`.
65
+ Package: `@metamesh/modeling@0.20.0`.
@@ -9,8 +9,7 @@ Replaces each vertex of a non-duplicated closed polyline with a sampled quadrati
9
9
  `radius` is the desired tangent distance for a right angle and is capped to
10
10
  45% of adjacent segment lengths to prevent neighboring corners from crossing.
11
11
  The returned path does not duplicate its closing point.
12
- Coordinates and radius must be finite; input and output are each limited by maxPathPoints (default 100000).
13
- Requires a closed path value; raw tuples are interpreted as closed. Invalid inputs throw GeometryError.
12
+ Invalid coordinates, topology, dimensions, or exhausted budgets throw GeometryError.
14
13
 
15
14
  ## Parameters
16
15
 
@@ -18,24 +17,32 @@ Requires a closed path value; raw tuples are interpreted as closed. Invalid inpu
18
17
 
19
18
  **`input`** · [`Path3Input`](Path3Input.md) · Required
20
19
 
20
+ Closed XYZ path or points in millimetres, without a repeated seam.
21
+
21
22
 
22
23
 
23
24
  <a id="radius"></a>
24
25
 
25
26
  **`radius`** · `number` · Required
26
27
 
28
+ Positive right-angle tangent distance in millimetres.
29
+
27
30
 
28
31
 
29
32
  <a id="segmentspercorner"></a>
30
33
 
31
34
  **`segmentsPerCorner`** · `number` · Required
32
35
 
36
+ Quadratic intervals per corner; a positive integer.
37
+
33
38
 
34
39
 
35
40
  <a id="limits"></a>
36
41
 
37
42
  **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
38
43
 
44
+ Limits on input and rounded path points.
45
+
39
46
 
40
47
 
41
48
  ## Returns
@@ -51,12 +58,12 @@ readonly [`Vector3Data`](Vector3Data.md)[]
51
58
 
52
59
  ## Guides
53
60
 
54
- - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
61
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
55
62
 
56
- ## Supported imports
63
+ ## Import
57
64
 
58
65
  ```ts
59
66
  import { roundClosedPolylinePath } from "@metamesh/modeling/geometry";
60
67
  ```
61
68
 
62
- Package: `@metamesh/modeling@0.19.0`.
69
+ Package: `@metamesh/modeling@0.20.0`.
@@ -31,7 +31,7 @@ coordinate range are required. No native engine, SDK, or ambient resolution is u
31
31
 
32
32
  **`curve`** · [`ContourCurve`](ContourCurve.md) · Required
33
33
 
34
- Closed contour in millimetres unless positive scales convert its coordinates.
34
+ Closed contour in millimetres, or coordinates converted by the selected scales.
35
35
 
36
36
 
37
37
 
@@ -39,7 +39,7 @@ Closed contour in millimetres unless positive scales convert its coordinates.
39
39
 
40
40
  **`options`** · [`SampleContourOptions`](SampleContourOptions.md) · Optional
41
41
 
42
- Physical resolution and unique vertex budget; defaults to min(4096, maxProfilePoints).
42
+ Coordinate scales, physical sampling, and vertex limits.
43
43
 
44
44
  - [`widthScale`](SampleContourOptions.md#widthscale) · `number` · Optional
45
45
 
@@ -82,12 +82,12 @@ Frozen counterclockwise loop in millimetres, without a repeated seam endpoint.
82
82
 
83
83
  ## Guides
84
84
 
85
- - [Choose a geometry representation](../../guides/geometry-values.md#geometry-vocabulary)
85
+ - [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
86
86
 
87
- ## Supported imports
87
+ ## Import
88
88
 
89
89
  ```ts
90
90
  import { sampleContour } from "@metamesh/modeling/geometry";
91
91
  ```
92
92
 
93
- Package: `@metamesh/modeling@0.19.0`.
93
+ Package: `@metamesh/modeling@0.20.0`.
@@ -18,12 +18,16 @@ const turn = sampleCurve2({kind: "arc", center: [0,0], radius: 10, sweepAngle: 9
18
18
 
19
19
  **`curve`** · [`Curve2`](Curve2.md) · Required
20
20
 
21
+ XY curve in millimetres; arc angles use degrees.
22
+
21
23
 
22
24
 
23
25
  <a id="options"></a>
24
26
 
25
27
  **`options`** · [`CurveSamplingOptions`](CurveSamplingOptions.md) · Optional
26
28
 
29
+ Physical sampling or an exact interval count, within vertex limits.
30
+
27
31
  - [`segments`](CurveSamplingOptions.md#segments) · `number` · Optional
28
32
 
29
33
  Exact segment count overrides physical criteria; curve parameters are spaced uniformly.
@@ -59,12 +63,12 @@ Returned planar points and tangents are copied and frozen. At stationary tangent
59
63
 
60
64
  ## Guides
61
65
 
62
- - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
66
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
63
67
 
64
- ## Supported imports
68
+ ## Import
65
69
 
66
70
  ```ts
67
71
  import { sampleCurve2 } from "@metamesh/modeling/geometry";
68
72
  ```
69
73
 
70
- Package: `@metamesh/modeling@0.19.0`.
74
+ Package: `@metamesh/modeling@0.20.0`.
@@ -18,12 +18,16 @@ const path = sampleCurve3({kind: "cubic", start: [0,0,0], control1: [5,0,0], con
18
18
 
19
19
  **`curve`** · [`Curve3`](Curve3.md) · Required
20
20
 
21
+ XYZ curve in millimetres; arc angles use degrees.
22
+
21
23
 
22
24
 
23
25
  <a id="options"></a>
24
26
 
25
27
  **`options`** · [`CurveSamplingOptions`](CurveSamplingOptions.md) · Optional
26
28
 
29
+ Physical sampling or an exact interval count, within vertex limits.
30
+
27
31
  - [`segments`](CurveSamplingOptions.md#segments) · `number` · Optional
28
32
 
29
33
  Exact segment count overrides physical criteria; curve parameters are spaced uniformly.
@@ -60,12 +64,12 @@ bound the full control hull. Full-circle arcs repeat their endpoint; closed poly
60
64
 
61
65
  ## Guides
62
66
 
63
- - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
67
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
64
68
 
65
- ## Supported imports
69
+ ## Import
66
70
 
67
71
  ```ts
68
72
  import { sampleCurve3 } from "@metamesh/modeling/geometry";
69
73
  ```
70
74
 
71
- Package: `@metamesh/modeling@0.19.0`.
75
+ Package: `@metamesh/modeling@0.20.0`.
@@ -44,12 +44,12 @@ readonly [`Vector3Data`](Vector3Data.md)[]
44
44
 
45
45
  ## Guides
46
46
 
47
- - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
47
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
48
48
 
49
- ## Supported imports
49
+ ## Import
50
50
 
51
51
  ```ts
52
52
  import { sampleHelix } from "@metamesh/modeling/geometry";
53
53
  ```
54
54
 
55
- Package: `@metamesh/modeling@0.19.0`.
55
+ Package: `@metamesh/modeling@0.20.0`.
@@ -27,7 +27,7 @@ no axis closure, winding normalization, or manufacturing repair is performed.
27
27
 
28
28
  **`curve`** · [`SideProfileCurve`](SideProfileCurve.md) · Required
29
29
 
30
- Open outline in millimetres unless the positive scales convert its coordinates.
30
+ Open outline in millimetres, or coordinates converted by the selected scales.
31
31
 
32
32
 
33
33
 
@@ -35,7 +35,7 @@ Open outline in millimetres unless the positive scales convert its coordinates.
35
35
 
36
36
  **`options`** · [`SampleSideProfileOptions`](SampleSideProfileOptions.md) · Optional
37
37
 
38
- Physical resolution and output budget; defaults to min(4096, maxProfilePoints).
38
+ Coordinate scales, physical sampling, and vertex limits.
39
39
 
40
40
  - [`radiusScale`](SampleSideProfileOptions.md#radiusscale) · `number` · Optional
41
41
 
@@ -78,12 +78,12 @@ Frozen open polyline in millimetres, ordered from lowest to highest anchor.
78
78
 
79
79
  ## Guides
80
80
 
81
- - [Choose a geometry representation](../../guides/geometry-values.md#geometry-vocabulary)
81
+ - [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
82
82
 
83
- ## Supported imports
83
+ ## Import
84
84
 
85
85
  ```ts
86
86
  import { sampleSideProfile } from "@metamesh/modeling/geometry";
87
87
  ```
88
88
 
89
- Package: `@metamesh/modeling@0.19.0`.
89
+ Package: `@metamesh/modeling@0.20.0`.
@@ -28,7 +28,7 @@ Explicit curve sampling policy; omitted uses the pure default policy.
28
28
 
29
29
  **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
30
30
 
31
- Explicit profile and circular allocation ceilings.
31
+ Profile-point and circle-segment limits.
32
32
 
33
33
 
34
34
 
@@ -54,10 +54,10 @@ Frozen contours with original glyph winding and no repeated closing vertex.
54
54
 
55
55
  - [SVG preflight work and guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
56
56
 
57
- ## Supported imports
57
+ ## Import
58
58
 
59
59
  ```ts
60
60
  import { sampleTextContours } from "@metamesh/modeling/geometry";
61
61
  ```
62
62
 
63
- Package: `@metamesh/modeling@0.19.0`.
63
+ Package: `@metamesh/modeling@0.20.0`.