@metamesh/modeling 0.16.0 → 0.18.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 (881) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/README.md +137 -142
  3. package/dist/api/engine.d.ts +128 -65
  4. package/dist/api/geometry.d.ts +327 -483
  5. package/dist/api/index.d.ts +537 -415
  6. package/dist/api/mesh.d.ts +460 -0
  7. package/dist/api/text.d.ts +1 -1
  8. package/dist/docs/guides/concepts.md +130 -87
  9. package/dist/docs/guides/fonts.md +11 -10
  10. package/dist/docs/guides/fundamentals.md +30 -29
  11. package/dist/docs/guides/generation.md +44 -31
  12. package/dist/docs/guides/hosting.md +122 -46
  13. package/dist/docs/guides/recipes.md +94 -56
  14. package/dist/docs/guides/standalone-model.md +8 -7
  15. package/dist/docs/manifest.json +2941 -968
  16. package/dist/docs/reference/engine/Export3mfOptions.md +19 -2
  17. package/dist/docs/reference/engine/ExportMeshPart.md +5 -39
  18. package/dist/docs/reference/engine/GenerationOptions.md +4 -3
  19. package/dist/docs/reference/engine/GeometryResource.md +13 -13
  20. package/dist/docs/reference/engine/ModelDependencies.md +1 -1
  21. package/dist/docs/reference/engine/ModelEngine.md +26 -23
  22. package/dist/docs/reference/engine/ModelEngineOptions.md +6 -1
  23. package/dist/docs/reference/engine/ModelPart.md +108 -0
  24. package/dist/docs/reference/engine/ModelResult.md +175 -0
  25. package/dist/docs/reference/engine/ModelRunArguments.md +28 -0
  26. package/dist/docs/reference/engine/ModelRunOptions.md +104 -0
  27. package/dist/docs/reference/engine/ModelSession.md +16 -16
  28. package/dist/docs/reference/engine/ModelingLimits.md +121 -0
  29. package/dist/docs/reference/engine/SessionOptions.md +13 -8
  30. package/dist/docs/reference/engine/categories/host-lifecycle.md +25 -15
  31. package/dist/docs/reference/engine/checkModel.md +43 -0
  32. package/dist/docs/reference/engine/createModelEngine.md +4 -13
  33. package/dist/docs/reference/engine/defaultModelingLimits.md +8 -1
  34. package/dist/docs/reference/engine/export3mf.md +55 -0
  35. package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
  36. package/dist/docs/reference/engine.md +8 -15
  37. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
  38. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +1 -1
  39. package/dist/docs/reference/geometry/Anchor3-type.md +1 -1
  40. package/dist/docs/reference/geometry/ArcCurve2.md +1 -1
  41. package/dist/docs/reference/geometry/ArcCurve3.md +1 -1
  42. package/dist/docs/reference/geometry/AttachOptions.md +1 -1
  43. package/dist/docs/reference/geometry/AxisAngleRotation3.md +1 -1
  44. package/dist/docs/reference/geometry/Bevel.md +18 -0
  45. package/dist/docs/reference/geometry/BevelSize.md +14 -0
  46. package/dist/docs/reference/geometry/Bounds2-type.md +1 -1
  47. package/dist/docs/reference/geometry/Bounds2Data.md +1 -1
  48. package/dist/docs/reference/geometry/Bounds2Input.md +1 -1
  49. package/dist/docs/reference/geometry/Bounds2Options.md +112 -0
  50. package/dist/docs/reference/geometry/Bounds3-type.md +1 -1
  51. package/dist/docs/reference/geometry/Bounds3Data.md +1 -1
  52. package/dist/docs/reference/geometry/Bounds3Input.md +1 -1
  53. package/dist/docs/reference/geometry/Bounds3Options.md +112 -0
  54. package/dist/docs/reference/geometry/BoundsFit2.md +1 -1
  55. package/dist/docs/reference/geometry/BoundsFit3.md +1 -1
  56. package/dist/docs/reference/geometry/BoundsFitOptions.md +1 -1
  57. package/dist/docs/reference/geometry/BoxAnchorFace.md +1 -1
  58. package/dist/docs/reference/geometry/BoxAnchorOptions.md +4 -4
  59. package/dist/docs/reference/geometry/BoxEdge.md +1 -1
  60. package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
  61. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
  62. package/dist/docs/reference/geometry/BoxOptions.md +3 -3
  63. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +1 -1
  64. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +1 -1
  65. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
  66. package/dist/docs/reference/geometry/CircleContourOptions.md +1 -1
  67. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -3
  68. package/dist/docs/reference/geometry/CircularResolutionOptions.md +1 -1
  69. package/dist/docs/reference/geometry/CircularSampling.md +41 -0
  70. package/dist/docs/reference/geometry/CircularSamplingOptions.md +14 -0
  71. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
  72. package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
  73. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
  74. package/dist/docs/reference/geometry/Contour.md +1 -1
  75. package/dist/docs/reference/geometry/ContourCurve.md +1 -1
  76. package/dist/docs/reference/geometry/ContourPoint.md +1 -1
  77. package/dist/docs/reference/geometry/ContourSegment.md +1 -1
  78. package/dist/docs/reference/geometry/CorrespondingComponent.md +1 -1
  79. package/dist/docs/reference/geometry/CorrespondingContour.md +1 -1
  80. package/dist/docs/reference/geometry/CorrespondingProfile.md +1 -1
  81. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +1 -1
  82. package/dist/docs/reference/geometry/CubicBezierCurve2.md +1 -1
  83. package/dist/docs/reference/geometry/CubicBezierCurve3.md +1 -1
  84. package/dist/docs/reference/geometry/Curve2.md +1 -1
  85. package/dist/docs/reference/geometry/Curve3.md +1 -1
  86. package/dist/docs/reference/geometry/CurveSamplingOptions.md +1 -1
  87. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +1 -1
  88. package/dist/docs/reference/geometry/CylinderAnchorFace.md +1 -1
  89. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +3 -3
  90. package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
  91. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +1 -1
  92. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +1 -1
  93. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +1 -1
  94. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +1 -1
  95. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +1 -1
  96. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +1 -1
  97. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +1 -1
  98. package/dist/docs/reference/geometry/CylindricalGearSpec.md +1 -1
  99. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
  100. package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
  101. package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -3
  102. package/dist/docs/reference/geometry/EndTreatments.md +1 -1
  103. package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +130 -0
  104. package/dist/docs/reference/geometry/ExtrudeOptions.md +17 -9
  105. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +3 -3
  106. package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
  107. package/dist/docs/reference/geometry/Frame3.md +1 -1
  108. package/dist/docs/reference/geometry/GeometryError.md +1 -1
  109. package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
  110. package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
  111. package/dist/docs/reference/geometry/GeometryResolution.md +1 -1
  112. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +1 -1
  113. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
  114. package/dist/docs/reference/geometry/GridPatternOptions.md +1 -1
  115. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
  116. package/dist/docs/reference/geometry/HeightfieldOptions.md +3 -2
  117. package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
  118. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +1 -1
  119. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +108 -0
  120. package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +43 -0
  121. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +52 -83
  122. package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +1 -1
  123. package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +1 -1
  124. package/dist/docs/reference/geometry/KnuckleHingeInterval.md +1 -1
  125. package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +1 -1
  126. package/dist/docs/reference/geometry/KnuckleHingeSpec.md +1 -1
  127. package/dist/docs/reference/geometry/LineCurve2.md +1 -1
  128. package/dist/docs/reference/geometry/LineCurve3.md +1 -1
  129. package/dist/docs/reference/geometry/LinearPatternOptions.md +1 -1
  130. package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
  131. package/dist/docs/reference/geometry/LoftMeshStation.md +1 -1
  132. package/dist/docs/reference/geometry/LoftOptions.md +3 -3
  133. package/dist/docs/reference/geometry/LoftPlacement.md +1 -1
  134. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +1 -1
  135. package/dist/docs/reference/geometry/MatchProfilesOptions.md +1 -1
  136. package/dist/docs/reference/geometry/MetricFastenerSize.md +1 -1
  137. package/dist/docs/reference/geometry/MetricFastenerStandard.md +1 -1
  138. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +1 -1
  139. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +1 -1
  140. package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
  141. package/dist/docs/reference/geometry/NumericArray.md +14 -0
  142. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +1 -1
  143. package/dist/docs/reference/geometry/Path2-type.md +1 -1
  144. package/dist/docs/reference/geometry/Path2Data.md +1 -1
  145. package/dist/docs/reference/geometry/Path2Input.md +1 -1
  146. package/dist/docs/reference/geometry/Path3-type.md +1 -1
  147. package/dist/docs/reference/geometry/Path3Data.md +1 -1
  148. package/dist/docs/reference/geometry/Path3Input.md +1 -1
  149. package/dist/docs/reference/geometry/PathFrame.md +1 -1
  150. package/dist/docs/reference/geometry/PathLocation.md +1 -1
  151. package/dist/docs/reference/geometry/PathNormalGuide.md +1 -1
  152. package/dist/docs/reference/geometry/PathOptions.md +1 -1
  153. package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
  154. package/dist/docs/reference/geometry/PathPlacement.md +1 -1
  155. package/dist/docs/reference/geometry/PathResamplingOptions.md +1 -1
  156. package/dist/docs/reference/geometry/Pivot2Options.md +1 -1
  157. package/dist/docs/reference/geometry/Pivot3Options.md +1 -1
  158. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
  159. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +1 -1
  160. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
  161. package/dist/docs/reference/geometry/PlanarPatchQuality.md +1 -1
  162. package/dist/docs/reference/geometry/PolygonData.md +1 -1
  163. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +1 -1
  164. package/dist/docs/reference/geometry/PrimitiveAttachment.md +1 -3
  165. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +1 -1
  166. package/dist/docs/reference/geometry/PrintableThreadFit.md +1 -1
  167. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +1 -1
  168. package/dist/docs/reference/geometry/Profile.md +1 -1
  169. package/dist/docs/reference/geometry/ProfileComponent2.md +1 -1
  170. package/dist/docs/reference/geometry/ProfileContour2.md +1 -1
  171. package/dist/docs/reference/geometry/ProfileSpan2.md +1 -1
  172. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +1 -1
  173. package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
  174. package/dist/docs/reference/geometry/RackPitchSpec.md +1 -1
  175. package/dist/docs/reference/geometry/RadialPatternOptions.md +1 -1
  176. package/dist/docs/reference/geometry/RadialSizing.md +1 -1
  177. package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
  178. package/dist/docs/reference/geometry/RectangleContourOptions.md +3 -3
  179. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +1 -1
  180. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +1 -1
  181. package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
  182. package/dist/docs/reference/geometry/RegionData.md +1 -1
  183. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +1 -1
  184. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
  185. package/dist/docs/reference/geometry/RevolveOptions.md +2 -2
  186. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
  187. package/dist/docs/reference/geometry/RowLayoutOptions.md +1 -1
  188. package/dist/docs/reference/geometry/SampleContourOptions.md +1 -1
  189. package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
  190. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +1 -1
  191. package/dist/docs/reference/geometry/SampledCurve2.md +1 -1
  192. package/dist/docs/reference/geometry/SampledCurve3.md +1 -1
  193. package/dist/docs/reference/geometry/SampledThreadHelices.md +1 -1
  194. package/dist/docs/reference/geometry/SideProfileCurve.md +1 -1
  195. package/dist/docs/reference/geometry/SideProfilePoint.md +1 -1
  196. package/dist/docs/reference/geometry/SideProfileSegment.md +1 -1
  197. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
  198. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +1 -1
  199. package/dist/docs/reference/geometry/SphereOptions.md +1 -1
  200. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
  201. package/dist/docs/reference/geometry/StarContourOptions.md +74 -0
  202. package/dist/docs/reference/geometry/StrokeCap.md +1 -1
  203. package/dist/docs/reference/geometry/StrokeJoin.md +1 -1
  204. package/dist/docs/reference/geometry/StrokeOptions.md +1 -1
  205. package/dist/docs/reference/geometry/SvgImportOptions.md +16 -1
  206. package/dist/docs/reference/geometry/SvgRegionPreflight.md +16 -1
  207. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +1 -1
  208. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +1 -1
  209. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +1 -1
  210. package/dist/docs/reference/geometry/SweepOptions.md +1 -1
  211. package/dist/docs/reference/geometry/SweepOrientation.md +1 -1
  212. package/dist/docs/reference/geometry/ThreadBevelOptions.md +7 -30
  213. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +1 -1
  214. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +1 -1
  215. package/dist/docs/reference/geometry/ThreadEndStyle.md +1 -1
  216. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +1 -1
  217. package/dist/docs/reference/geometry/ThreadHandedness.md +1 -1
  218. package/dist/docs/reference/geometry/ThreadHelixOptions.md +1 -1
  219. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +1 -1
  220. package/dist/docs/reference/geometry/ThreadLeadInShape.md +1 -1
  221. package/dist/docs/reference/geometry/ThreadProfile-type.md +2 -2
  222. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +1 -1
  223. package/dist/docs/reference/geometry/ThreadProfileSpec.md +1 -1
  224. package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +4 -4
  225. package/dist/docs/reference/geometry/ThreadRole.md +1 -1
  226. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +18 -65
  227. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +2 -2
  228. package/dist/docs/reference/geometry/ThreadedNutOptions.md +75 -86
  229. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +18 -6
  230. package/dist/docs/reference/geometry/ThreadedNutShape.md +1 -1
  231. package/dist/docs/reference/geometry/ThreadedRodOptions.md +52 -83
  232. package/dist/docs/reference/geometry/TorusOptions.md +1 -1
  233. package/dist/docs/reference/geometry/Transform2-type.md +1 -1
  234. package/dist/docs/reference/geometry/Transform2Data.md +1 -1
  235. package/dist/docs/reference/geometry/Transform2Input.md +1 -1
  236. package/dist/docs/reference/geometry/Transform3-type.md +1 -1
  237. package/dist/docs/reference/geometry/Transform3Data.md +1 -1
  238. package/dist/docs/reference/geometry/Transform3Input.md +1 -1
  239. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +1 -1
  240. package/dist/docs/reference/geometry/TriangleMesh.md +3 -8
  241. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +10 -4
  242. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +2 -2
  243. package/dist/docs/reference/geometry/TriangleMeshInput.md +19 -0
  244. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +1 -1
  245. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +1 -1
  246. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
  247. package/dist/docs/reference/geometry/TriangleMeshSignature.md +3 -3
  248. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +1 -1
  249. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +1 -1
  250. package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +131 -0
  251. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +1 -1
  252. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +1 -1
  253. package/dist/docs/reference/geometry/TubeOptions.md +10 -86
  254. package/dist/docs/reference/geometry/Vector2-type.md +1 -1
  255. package/dist/docs/reference/geometry/Vector2Data.md +1 -1
  256. package/dist/docs/reference/geometry/Vector2Input.md +1 -1
  257. package/dist/docs/reference/geometry/Vector3-type.md +1 -1
  258. package/dist/docs/reference/geometry/Vector3Data.md +1 -1
  259. package/dist/docs/reference/geometry/Vector3Input.md +1 -1
  260. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +1 -1
  261. package/dist/docs/reference/geometry/VectorTextLayout.md +1 -1
  262. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +1 -1
  263. package/dist/docs/reference/geometry/VectorTextMetrics.md +1 -1
  264. package/dist/docs/reference/geometry/VectorTextOptions.md +1 -1
  265. package/dist/docs/reference/geometry/add2.md +1 -1
  266. package/dist/docs/reference/geometry/add3.md +1 -1
  267. package/dist/docs/reference/geometry/anchor3.md +1 -1
  268. package/dist/docs/reference/geometry/anchorFrame3.md +1 -1
  269. package/dist/docs/reference/geometry/applyTransformDirection3.md +1 -1
  270. package/dist/docs/reference/geometry/applyTransformPoint3.md +1 -1
  271. package/dist/docs/reference/geometry/attachmentTransform3.md +1 -1
  272. package/dist/docs/reference/geometry/bounds2.md +7 -6
  273. package/dist/docs/reference/geometry/bounds3.md +7 -6
  274. package/dist/docs/reference/geometry/boundsCenter.md +1 -1
  275. package/dist/docs/reference/geometry/boundsSize.md +1 -1
  276. package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
  277. package/dist/docs/reference/geometry/categories/bounds-layout.md +8 -9
  278. package/dist/docs/reference/geometry/categories/curves-paths.md +2 -2
  279. package/dist/docs/reference/geometry/categories/mechanical.md +8 -10
  280. package/dist/docs/reference/geometry/categories/meshes.md +19 -32
  281. package/dist/docs/reference/geometry/categories/pattern-placement.md +2 -2
  282. package/dist/docs/reference/geometry/categories/primitive-options.md +3 -3
  283. package/dist/docs/reference/geometry/categories/profiles-regions.md +5 -4
  284. package/dist/docs/reference/geometry/categories/resolution-errors.md +7 -4
  285. package/dist/docs/reference/geometry/categories/transforms-math.md +3 -2
  286. package/dist/docs/reference/geometry/categories/vector-import.md +3 -3
  287. package/dist/docs/reference/geometry/circleContour.md +1 -1
  288. package/dist/docs/reference/geometry/closeToAxis.md +1 -1
  289. package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
  290. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +1 -1
  291. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +1 -1
  292. package/dist/docs/reference/geometry/composeTransform3.md +1 -1
  293. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +1 -1
  294. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +1 -1
  295. package/dist/docs/reference/geometry/contourContainsPoint.md +1 -1
  296. package/dist/docs/reference/geometry/cross2.md +1 -1
  297. package/dist/docs/reference/geometry/cross3.md +1 -1
  298. package/dist/docs/reference/geometry/cylinderAnchor3.md +2 -2
  299. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
  300. package/dist/docs/reference/geometry/distance2.md +1 -1
  301. package/dist/docs/reference/geometry/distance3.md +1 -1
  302. package/dist/docs/reference/geometry/distributeAlongPath.md +1 -1
  303. package/dist/docs/reference/geometry/dot2.md +1 -1
  304. package/dist/docs/reference/geometry/dot3.md +1 -1
  305. package/dist/docs/reference/geometry/ellipseContour.md +1 -1
  306. package/dist/docs/reference/geometry/eulerTransform3.md +1 -1
  307. package/dist/docs/reference/geometry/fitBounds.md +1 -1
  308. package/dist/docs/reference/geometry/fitTextLayout.md +1 -1
  309. package/dist/docs/reference/geometry/frameTransform3.md +1 -1
  310. package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +1 -1
  311. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
  312. package/dist/docs/reference/geometry/gridPatternTransforms.md +1 -1
  313. package/dist/docs/reference/geometry/immutableBuffer.md +49 -0
  314. package/dist/docs/reference/geometry/inverseTransform3.md +1 -1
  315. package/dist/docs/reference/geometry/isGeometryError.md +1 -1
  316. package/dist/docs/reference/geometry/layoutRow.md +1 -1
  317. package/dist/docs/reference/geometry/length2.md +1 -1
  318. package/dist/docs/reference/geometry/length3.md +1 -1
  319. package/dist/docs/reference/geometry/lerp2.md +1 -1
  320. package/dist/docs/reference/geometry/lerp3.md +1 -1
  321. package/dist/docs/reference/geometry/linearPatternTransforms.md +1 -1
  322. package/dist/docs/reference/geometry/matchProfiles.md +1 -1
  323. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +1 -1
  324. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +1 -1
  325. package/dist/docs/reference/geometry/normalize2.md +1 -1
  326. package/dist/docs/reference/geometry/normalize3.md +1 -1
  327. package/dist/docs/reference/geometry/normalizeContour.md +1 -1
  328. package/dist/docs/reference/geometry/normalizePolygon.md +1 -1
  329. package/dist/docs/reference/geometry/normalizeRegion.md +1 -1
  330. package/dist/docs/reference/geometry/path2.md +1 -1
  331. package/dist/docs/reference/geometry/path3.md +1 -1
  332. package/dist/docs/reference/geometry/pathPatternTransforms.md +1 -1
  333. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +18 -25
  334. package/dist/docs/reference/geometry/preflightSvgRegion.md +12 -3
  335. package/dist/docs/reference/geometry/preflightThreadedNut.md +24 -26
  336. package/dist/docs/reference/geometry/preflightThreadedRod.md +18 -25
  337. package/dist/docs/reference/geometry/projectOntoPlane3.md +1 -1
  338. package/dist/docs/reference/geometry/radialPatternTransforms.md +1 -1
  339. package/dist/docs/reference/geometry/rectangleContour.md +10 -5
  340. package/dist/docs/reference/geometry/rectangleProfile.md +2 -2
  341. package/dist/docs/reference/geometry/regionArea.md +1 -1
  342. package/dist/docs/reference/geometry/regionBounds.md +1 -1
  343. package/dist/docs/reference/geometry/regularPolygonContour.md +2 -2
  344. package/dist/docs/reference/geometry/resamplePolyline2.md +1 -1
  345. package/dist/docs/reference/geometry/resamplePolyline3.md +1 -1
  346. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +1 -1
  347. package/dist/docs/reference/geometry/resolveArcSegments.md +1 -1
  348. package/dist/docs/reference/geometry/resolveCircularSampling.md +40 -0
  349. package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
  350. package/dist/docs/reference/geometry/resolveCylindricalGear.md +1 -1
  351. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +1 -1
  352. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +1 -1
  353. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +1 -1
  354. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
  355. package/dist/docs/reference/geometry/resolveKnuckleHinge.md +1 -1
  356. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +1 -1
  357. package/dist/docs/reference/geometry/resolveRackPitch.md +1 -1
  358. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +1 -1
  359. package/dist/docs/reference/geometry/rotate2.md +1 -1
  360. package/dist/docs/reference/geometry/rotationTransform3.md +1 -1
  361. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +1 -1
  362. package/dist/docs/reference/geometry/sampleContour.md +1 -1
  363. package/dist/docs/reference/geometry/sampleCurve2.md +1 -1
  364. package/dist/docs/reference/geometry/sampleCurve3.md +1 -1
  365. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
  366. package/dist/docs/reference/geometry/sampleHelix.md +1 -1
  367. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
  368. package/dist/docs/reference/geometry/sampleRackToothPath.md +1 -1
  369. package/dist/docs/reference/geometry/sampleSideProfile.md +1 -1
  370. package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
  371. package/dist/docs/reference/geometry/sampleThreadHelices.md +1 -1
  372. package/dist/docs/reference/geometry/scale2.md +1 -1
  373. package/dist/docs/reference/geometry/scale3.md +1 -1
  374. package/dist/docs/reference/geometry/scaleTransform3.md +1 -1
  375. package/dist/docs/reference/geometry/signedContourArea.md +1 -1
  376. package/dist/docs/reference/geometry/starContour.md +17 -15
  377. package/dist/docs/reference/geometry/strokeRegionData.md +1 -1
  378. package/dist/docs/reference/geometry/subtract2.md +1 -1
  379. package/dist/docs/reference/geometry/subtract3.md +1 -1
  380. package/dist/docs/reference/geometry/threadProfile.md +1 -1
  381. package/dist/docs/reference/geometry/transform2.md +1 -1
  382. package/dist/docs/reference/geometry/transform3.md +1 -1
  383. package/dist/docs/reference/geometry/transformDeterminant3.md +1 -1
  384. package/dist/docs/reference/geometry/transformRegionData.md +1 -1
  385. package/dist/docs/reference/geometry/translationTransform3.md +1 -1
  386. package/dist/docs/reference/geometry/triangulateContour.md +1 -1
  387. package/dist/docs/reference/geometry/validateRigidTransform3.md +35 -0
  388. package/dist/docs/reference/geometry/validateTransform3.md +1 -1
  389. package/dist/docs/reference/geometry/vector2.md +1 -1
  390. package/dist/docs/reference/geometry/vector3.md +1 -1
  391. package/dist/docs/reference/geometry.md +9 -9
  392. package/dist/docs/reference/mesh/AcmeThreadProfileSpec.md +79 -0
  393. package/dist/docs/reference/mesh/Bevel.md +18 -0
  394. package/dist/docs/reference/mesh/BevelSize.md +14 -0
  395. package/dist/docs/reference/mesh/Bounds2.md +125 -0
  396. package/dist/docs/reference/mesh/Bounds2Data.md +43 -0
  397. package/dist/docs/reference/mesh/Bounds2Input.md +19 -0
  398. package/dist/docs/reference/mesh/Bounds3.md +125 -0
  399. package/dist/docs/reference/mesh/Bounds3Data.md +43 -0
  400. package/dist/docs/reference/mesh/Bounds3Input.md +19 -0
  401. package/dist/docs/reference/mesh/ButtressPressureFlankSide.md +14 -0
  402. package/dist/docs/reference/mesh/ButtressThreadProfileSpec.md +97 -0
  403. package/dist/docs/reference/mesh/CircularPrimitiveOptions.md +60 -0
  404. package/dist/docs/reference/mesh/CurveSamplingOptions.md +69 -0
  405. package/dist/docs/reference/mesh/CustomThreadProfileSpec.md +77 -0
  406. package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +129 -0
  407. package/dist/docs/reference/mesh/ExtrusionSamplingOptions.md +81 -0
  408. package/dist/docs/reference/mesh/Frame3.md +62 -0
  409. package/dist/docs/reference/mesh/GeometryResolution.md +74 -0
  410. package/dist/docs/reference/mesh/GeometrySamplingLimits.md +66 -0
  411. package/dist/docs/reference/mesh/GeometryToleranceOptions.md +46 -0
  412. package/dist/docs/reference/mesh/HeightfieldMeshLimits.md +18 -0
  413. package/dist/docs/reference/mesh/HeightfieldOptions.md +72 -0
  414. package/dist/docs/reference/mesh/HeightfieldPreflight.md +58 -0
  415. package/dist/docs/reference/mesh/ImmutableBuffer.md +108 -0
  416. package/dist/docs/reference/mesh/ImmutableTriangleMesh.md +43 -0
  417. package/dist/docs/reference/mesh/LoftCorrespondence.md +24 -0
  418. package/dist/docs/reference/mesh/LoftMeshStation.md +31 -0
  419. package/dist/docs/reference/mesh/LoftOptions.md +88 -0
  420. package/dist/docs/reference/mesh/LoftPlacement.md +70 -0
  421. package/dist/docs/reference/mesh/ModelingLimits.md +130 -0
  422. package/dist/docs/reference/mesh/NumericArray.md +14 -0
  423. package/dist/docs/reference/mesh/Path2.md +197 -0
  424. package/dist/docs/reference/mesh/Path2Data.md +50 -0
  425. package/dist/docs/reference/mesh/Path2Input.md +20 -0
  426. package/dist/docs/reference/mesh/Path3.md +197 -0
  427. package/dist/docs/reference/mesh/Path3Data.md +50 -0
  428. package/dist/docs/reference/mesh/Path3Input.md +20 -0
  429. package/dist/docs/reference/mesh/PathLocation.md +69 -0
  430. package/dist/docs/reference/mesh/PathNormalGuide.md +43 -0
  431. package/dist/docs/reference/mesh/PathResamplingOptions.md +84 -0
  432. package/dist/docs/reference/mesh/Pivot2Options.md +26 -0
  433. package/dist/docs/reference/mesh/Pivot3Options.md +26 -0
  434. package/dist/docs/reference/mesh/PlanarMeshOptimizationFallbackReason.md +14 -0
  435. package/dist/docs/reference/mesh/PlanarMeshOptimizationOptions.md +160 -0
  436. package/dist/docs/reference/mesh/PlanarMeshOptimizationResult.md +124 -0
  437. package/dist/docs/reference/mesh/PlanarPatchQuality.md +194 -0
  438. package/dist/docs/reference/mesh/RevolveOptions.md +91 -0
  439. package/dist/docs/reference/mesh/SolidMeshValidationOptions.md +38 -0
  440. package/dist/docs/reference/mesh/SquareThreadProfileSpec.md +79 -0
  441. package/dist/docs/reference/mesh/SweepOptions.md +113 -0
  442. package/dist/docs/reference/mesh/SweepOrientation.md +113 -0
  443. package/dist/docs/reference/mesh/ThreadEndStyle.md +14 -0
  444. package/dist/docs/reference/mesh/ThreadEndTreatmentOptions.md +117 -0
  445. package/dist/docs/reference/mesh/ThreadHandedness.md +14 -0
  446. package/dist/docs/reference/mesh/ThreadLeadInEnvelope.md +14 -0
  447. package/dist/docs/reference/mesh/ThreadLeadInShape.md +14 -0
  448. package/dist/docs/reference/mesh/ThreadProfile.md +86 -0
  449. package/dist/docs/reference/mesh/ThreadProfileBaseSpec.md +53 -0
  450. package/dist/docs/reference/mesh/ThreadProfileSpec.md +23 -0
  451. package/dist/docs/reference/{model/HelicalThreadRidgeMeshOptions.md → mesh/ThreadRidgeOptions.md} +14 -10
  452. package/dist/docs/reference/mesh/ThreadSolidOptions.md +222 -0
  453. package/dist/docs/reference/mesh/ThreadSolidPreflight.md +58 -0
  454. package/dist/docs/reference/mesh/Transform2.md +256 -0
  455. package/dist/docs/reference/mesh/Transform2Data.md +14 -0
  456. package/dist/docs/reference/mesh/Transform2Input.md +19 -0
  457. package/dist/docs/reference/mesh/Transform3.md +296 -0
  458. package/dist/docs/reference/mesh/Transform3Data.md +17 -0
  459. package/dist/docs/reference/mesh/Transform3Input.md +19 -0
  460. package/dist/docs/reference/mesh/TrapezoidalThreadProfileSpec.md +96 -0
  461. package/dist/docs/reference/mesh/TriangleMesh.md +34 -0
  462. package/dist/docs/reference/mesh/TriangleMeshAnalysis.md +129 -0
  463. package/dist/docs/reference/mesh/TriangleMeshAnalysisOptions.md +79 -0
  464. package/dist/docs/reference/mesh/TriangleMeshInput.md +19 -0
  465. package/dist/docs/reference/mesh/TriangleMeshMeasurements.md +79 -0
  466. package/dist/docs/reference/mesh/TriangleMeshQualityOptions.md +43 -0
  467. package/dist/docs/reference/mesh/TriangleMeshQualityReport.md +194 -0
  468. package/dist/docs/reference/mesh/TriangleMeshSignature.md +111 -0
  469. package/dist/docs/reference/mesh/TriangleMeshSignatureOptions.md +46 -0
  470. package/dist/docs/reference/mesh/TriangleMeshSignatureTolerances.md +34 -0
  471. package/dist/docs/reference/mesh/TriangleMeshTopologyAnalysis.md +131 -0
  472. package/dist/docs/reference/mesh/TriangleMeshValidationOptions.md +55 -0
  473. package/dist/docs/reference/mesh/TriangularThreadProfileSpec.md +95 -0
  474. package/dist/docs/reference/mesh/Vector2.md +270 -0
  475. package/dist/docs/reference/mesh/Vector2Data.md +14 -0
  476. package/dist/docs/reference/mesh/Vector2Input.md +19 -0
  477. package/dist/docs/reference/mesh/Vector3.md +282 -0
  478. package/dist/docs/reference/mesh/Vector3Data.md +14 -0
  479. package/dist/docs/reference/mesh/Vector3Input.md +19 -0
  480. package/dist/docs/reference/mesh/analyze.md +96 -0
  481. package/dist/docs/reference/{geometry/analyzeTriangleMeshQuality.md → mesh/analyzeQuality.md} +9 -9
  482. package/dist/docs/reference/mesh/bounds.md +39 -0
  483. package/dist/docs/reference/mesh/categories/operations.md +147 -0
  484. package/dist/docs/reference/{geometry/computeTriangleMeshCentroid.md → mesh/centroid.md} +7 -7
  485. package/dist/docs/reference/mesh/extrude.md +73 -0
  486. package/dist/docs/reference/{geometry/heightfieldMesh.md → mesh/heightfield.md} +7 -8
  487. package/dist/docs/reference/mesh/immutable.md +47 -0
  488. package/dist/docs/reference/{geometry/joinTriangleMeshes.md → mesh/join.md} +7 -6
  489. package/dist/docs/reference/{geometry/loftMesh.md → mesh/loft.md} +15 -15
  490. package/dist/docs/reference/mesh/optimizePlanarPatches.md +96 -0
  491. package/dist/docs/reference/{geometry → mesh}/preflightHeightfield.md +5 -6
  492. package/dist/docs/reference/mesh/preflightThreadSolid.md +90 -0
  493. package/dist/docs/reference/{geometry/reverseTriangleMesh.md → mesh/reverse.md} +6 -5
  494. package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +13 -13
  495. package/dist/docs/reference/{geometry/computeTriangleMeshSignature.md → mesh/signature.md} +11 -11
  496. package/dist/docs/reference/mesh/sweep.md +86 -0
  497. package/dist/docs/reference/mesh/threadRidge.md +72 -0
  498. package/dist/docs/reference/mesh/threadSolid.md +90 -0
  499. package/dist/docs/reference/{geometry/transformTriangleMesh.md → mesh/transform.md} +7 -6
  500. package/dist/docs/reference/{geometry/validateTriangleMesh.md → mesh/validate.md} +17 -11
  501. package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +15 -9
  502. package/dist/docs/reference/mesh.md +21 -0
  503. package/dist/docs/reference/model/AcmeThreadProfileSpec.md +80 -0
  504. package/dist/docs/reference/model/Anchor3.md +1 -1
  505. package/dist/docs/reference/model/AttachOptions.md +1 -1
  506. package/dist/docs/reference/model/Bevel.md +19 -0
  507. package/dist/docs/reference/model/{ThreadedNutBevel.md → BevelSize.md} +4 -4
  508. package/dist/docs/reference/model/Bounds2-type.md +1 -1
  509. package/dist/docs/reference/model/Bounds2Data.md +1 -1
  510. package/dist/docs/reference/model/Bounds2Input.md +1 -1
  511. package/dist/docs/reference/model/Bounds2Options.md +110 -0
  512. package/dist/docs/reference/model/Bounds3-type.md +1 -1
  513. package/dist/docs/reference/model/Bounds3Data.md +1 -1
  514. package/dist/docs/reference/model/Bounds3Input.md +1 -1
  515. package/dist/docs/reference/model/Bounds3Options.md +110 -0
  516. package/dist/docs/reference/model/BoxEdge.md +1 -1
  517. package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
  518. package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
  519. package/dist/docs/reference/model/BoxOptions.md +3 -3
  520. package/dist/docs/reference/model/ButtressPressureFlankSide.md +15 -0
  521. package/dist/docs/reference/model/ButtressThreadProfileSpec.md +98 -0
  522. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
  523. package/dist/docs/reference/model/CircleContourOptions.md +1 -1
  524. package/dist/docs/reference/model/CircleOptions.md +1 -1
  525. package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -3
  526. package/dist/docs/reference/model/Computed.md +7 -3
  527. package/dist/docs/reference/model/ComputedValue.md +1 -1
  528. package/dist/docs/reference/model/Contour.md +1 -1
  529. package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
  530. package/dist/docs/reference/model/CorrespondingContour.md +1 -1
  531. package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
  532. package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
  533. package/dist/docs/reference/model/CurveSamplingOptions.md +68 -0
  534. package/dist/docs/reference/model/CustomThreadProfileSpec.md +78 -0
  535. package/dist/docs/reference/model/CylinderOptions.md +1 -1
  536. package/dist/docs/reference/model/DiagnosticOptions.md +15 -1
  537. package/dist/docs/reference/model/EdgeTreatment.md +1 -1
  538. package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
  539. package/dist/docs/reference/model/EllipseOptions.md +1 -1
  540. package/dist/docs/reference/model/EndTreatments.md +1 -1
  541. package/dist/docs/reference/model/ExtrudeMeshOptions.md +133 -0
  542. package/dist/docs/reference/model/ExtrudeOptions.md +17 -8
  543. package/dist/docs/reference/model/ExtrusionSamplingOptions.md +84 -0
  544. package/dist/docs/reference/model/Frame3.md +1 -1
  545. package/dist/docs/reference/model/GenerateCallback.md +5 -5
  546. package/dist/docs/reference/model/GenerateContext.md +15 -63
  547. package/dist/docs/reference/model/GenerationDiagnostic.md +13 -1
  548. package/dist/docs/reference/model/GenerationError.md +1 -1
  549. package/dist/docs/reference/model/GeometryError.md +102 -0
  550. package/dist/docs/reference/model/GeometryErrorCode.md +15 -0
  551. package/dist/docs/reference/model/GeometryErrorContext.md +35 -0
  552. package/dist/docs/reference/model/GeometryResolution.md +1 -1
  553. package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
  554. package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
  555. package/dist/docs/reference/model/GridPatternOptions.md +1 -1
  556. package/dist/docs/reference/model/HeightfieldOptions.md +3 -2
  557. package/dist/docs/reference/model/HoleCutterOptions.md +77 -0
  558. package/dist/docs/reference/model/HoleCutterOverrun.md +35 -0
  559. package/dist/docs/reference/model/HoleCutterRecess.md +87 -0
  560. package/dist/docs/reference/model/HullOptions.md +1 -1
  561. package/dist/docs/reference/model/ImmutableBuffer-type.md +27 -3
  562. package/dist/docs/reference/model/ImmutableTriangleMesh.md +8 -3
  563. package/dist/docs/reference/model/ImmutableValue.md +20 -0
  564. package/dist/docs/reference/model/ImplicitOptions.md +1 -1
  565. package/dist/docs/reference/model/InternalThreadCutterOptions.md +54 -84
  566. package/dist/docs/reference/model/KnuckleHinge-type.md +1 -1
  567. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +1 -1
  568. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +9 -5
  569. package/dist/docs/reference/model/KnuckleHingeOptions.md +3 -3
  570. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +1 -1
  571. package/dist/docs/reference/model/KnuckleHingeSpec.md +1 -1
  572. package/dist/docs/reference/model/KnuckleHingeWeb.md +2 -2
  573. package/dist/docs/reference/model/LinearPatternOptions.md +1 -1
  574. package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
  575. package/dist/docs/reference/model/LoftOptions.md +3 -3
  576. package/dist/docs/reference/model/LoftPlacement.md +1 -1
  577. package/dist/docs/reference/model/LoftStation.md +1 -1
  578. package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
  579. package/dist/docs/reference/model/ModelProgram.md +2 -2
  580. package/dist/docs/reference/model/ModelingLimits.md +1 -1
  581. package/dist/docs/reference/model/NumericArray.md +1 -1
  582. package/dist/docs/reference/model/{GeneratedPart.md → PartDeclaration.md} +8 -23
  583. package/dist/docs/reference/model/PartGeometry.md +2 -2
  584. package/dist/docs/reference/model/PartOptions.md +8 -19
  585. package/dist/docs/reference/model/Path2-type.md +1 -1
  586. package/dist/docs/reference/model/Path2Data.md +1 -1
  587. package/dist/docs/reference/model/Path2Input.md +1 -1
  588. package/dist/docs/reference/model/Path3-type.md +1 -1
  589. package/dist/docs/reference/model/Path3Data.md +1 -1
  590. package/dist/docs/reference/model/Path3Input.md +1 -1
  591. package/dist/docs/reference/model/PathLocation.md +1 -1
  592. package/dist/docs/reference/model/PathNormalGuide.md +1 -1
  593. package/dist/docs/reference/model/PathOptions.md +1 -1
  594. package/dist/docs/reference/model/PathPatternOptions.md +1 -1
  595. package/dist/docs/reference/model/PathResamplingOptions.md +7 -6
  596. package/dist/docs/reference/model/PatternSource.md +1 -1
  597. package/dist/docs/reference/model/Pivot2Options.md +1 -1
  598. package/dist/docs/reference/model/Pivot3Options.md +1 -1
  599. package/dist/docs/reference/model/PlaneOptions.md +1 -1
  600. package/dist/docs/reference/model/PolygonData.md +1 -1
  601. package/dist/docs/reference/model/PolygonOptions.md +1 -1
  602. package/dist/docs/reference/model/PrimitiveAttachment.md +1 -3
  603. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +1 -1
  604. package/dist/docs/reference/model/PrintableThreadFit.md +1 -1
  605. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +1 -1
  606. package/dist/docs/reference/model/Profile.md +1 -1
  607. package/dist/docs/reference/model/ProfileComponent2.md +1 -1
  608. package/dist/docs/reference/model/ProfileContour2.md +1 -1
  609. package/dist/docs/reference/model/ProfileSpan2.md +1 -1
  610. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +1 -1
  611. package/dist/docs/reference/model/RadialPatternOptions.md +1 -1
  612. package/dist/docs/reference/model/RadialSizing.md +1 -1
  613. package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
  614. package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
  615. package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
  616. package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
  617. package/dist/docs/reference/model/RectangleOptions.md +3 -3
  618. package/dist/docs/reference/model/RegionData.md +1 -1
  619. package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
  620. package/dist/docs/reference/model/RevolveOptions.md +2 -2
  621. package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
  622. package/dist/docs/reference/model/Section.md +131 -6
  623. package/dist/docs/reference/model/SectionHullOptions.md +1 -1
  624. package/dist/docs/reference/model/SectionInspection.md +5 -17
  625. package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
  626. package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
  627. package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
  628. package/dist/docs/reference/model/Solid.md +245 -8
  629. package/dist/docs/reference/model/SolidInspection.md +5 -17
  630. package/dist/docs/reference/model/SolidSegmentHit.md +5 -1
  631. package/dist/docs/reference/model/SphereOptions.md +1 -1
  632. package/dist/docs/reference/model/SquareThreadProfileSpec.md +80 -0
  633. package/dist/docs/reference/model/StarContourOptions.md +81 -0
  634. package/dist/docs/reference/model/StarOptions.md +38 -16
  635. package/dist/docs/reference/model/StrokeCap.md +1 -1
  636. package/dist/docs/reference/model/StrokeJoin.md +1 -1
  637. package/dist/docs/reference/model/StrokeOptions.md +1 -1
  638. package/dist/docs/reference/model/SvgOrigin.md +1 -1
  639. package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
  640. package/dist/docs/reference/model/SvgSectionOptions.md +14 -1
  641. package/dist/docs/reference/model/SweepOptions.md +1 -1
  642. package/dist/docs/reference/model/SweepOrientation.md +1 -1
  643. package/dist/docs/reference/model/TextSectionOptions.md +1 -1
  644. package/dist/docs/reference/model/ThreadBevelOptions.md +35 -0
  645. package/dist/docs/reference/model/ThreadEndStyle.md +1 -1
  646. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +1 -1
  647. package/dist/docs/reference/model/ThreadHandedness.md +1 -1
  648. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +1 -1
  649. package/dist/docs/reference/model/ThreadLeadInShape.md +1 -1
  650. package/dist/docs/reference/model/ThreadProfile.md +2 -2
  651. package/dist/docs/reference/model/ThreadProfileBaseSpec.md +54 -0
  652. package/dist/docs/reference/model/ThreadProfileSpec.md +24 -0
  653. package/dist/docs/reference/model/ThreadRidgeOptions.md +126 -4
  654. package/dist/docs/reference/model/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +2 -2
  655. package/dist/docs/reference/model/ThreadedNutOptions.md +75 -86
  656. package/dist/docs/reference/model/ThreadedNutPreflight.md +18 -6
  657. package/dist/docs/reference/model/ThreadedNutShape.md +1 -1
  658. package/dist/docs/reference/model/ThreadedRodOptions.md +54 -84
  659. package/dist/docs/reference/model/TorusOptions.md +1 -1
  660. package/dist/docs/reference/model/Transform2-type.md +1 -1
  661. package/dist/docs/reference/model/Transform2Data.md +1 -1
  662. package/dist/docs/reference/model/Transform2Input.md +1 -1
  663. package/dist/docs/reference/model/Transform3-type.md +1 -1
  664. package/dist/docs/reference/model/Transform3Data.md +1 -1
  665. package/dist/docs/reference/model/Transform3Input.md +1 -1
  666. package/dist/docs/reference/model/TrapezoidalThreadProfileSpec.md +97 -0
  667. package/dist/docs/reference/model/TriangleMesh.md +3 -11
  668. package/dist/docs/reference/model/TriangleMeshAnalysis.md +10 -4
  669. package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
  670. package/dist/docs/reference/model/TriangleMeshTopologyAnalysis.md +131 -0
  671. package/dist/docs/reference/model/TriangularThreadProfileSpec.md +96 -0
  672. package/dist/docs/reference/model/TubeOptions.md +10 -86
  673. package/dist/docs/reference/model/Vector2-type.md +1 -1
  674. package/dist/docs/reference/model/Vector2Data.md +1 -1
  675. package/dist/docs/reference/model/Vector2Input.md +1 -1
  676. package/dist/docs/reference/model/Vector3-type.md +1 -1
  677. package/dist/docs/reference/model/Vector3Data.md +1 -1
  678. package/dist/docs/reference/model/Vector3Input.md +1 -1
  679. package/dist/docs/reference/model/VectorTextLayout.md +1 -1
  680. package/dist/docs/reference/model/VectorTextMetrics.md +1 -1
  681. package/dist/docs/reference/model/bounds2.md +7 -6
  682. package/dist/docs/reference/model/bounds3.md +7 -6
  683. package/dist/docs/reference/model/box.md +2 -2
  684. package/dist/docs/reference/model/categories/boolean-operations.md +6 -10
  685. package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -1
  686. package/dist/docs/reference/model/categories/bounds.md +6 -4
  687. package/dist/docs/reference/model/categories/contracts.md +3 -5
  688. package/dist/docs/reference/model/categories/core-values-errors.md +17 -3
  689. package/dist/docs/reference/model/categories/explicit-profiles.md +1 -1
  690. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +10 -8
  691. package/dist/docs/reference/model/categories/generation.md +8 -8
  692. package/dist/docs/reference/model/categories/hinges.md +2 -2
  693. package/dist/docs/reference/model/categories/mesh-inspection.md +15 -6
  694. package/dist/docs/reference/model/categories/paths.md +4 -3
  695. package/dist/docs/reference/model/categories/primitives.md +8 -4
  696. package/dist/docs/reference/model/categories/resolution.md +1 -1
  697. package/dist/docs/reference/model/categories/sections.md +4 -3
  698. package/dist/docs/reference/model/categories/threads.md +16 -6
  699. package/dist/docs/reference/model/categories/transforms-placement.md +2 -3
  700. package/dist/docs/reference/model/circle.md +1 -1
  701. package/dist/docs/reference/model/cylinder.md +1 -1
  702. package/dist/docs/reference/model/ellipse.md +1 -1
  703. package/dist/docs/reference/model/extrude.md +5 -4
  704. package/dist/docs/reference/model/generate.md +4 -4
  705. package/dist/docs/reference/model/gridPattern.md +1 -1
  706. package/dist/docs/reference/model/heightfield.md +1 -1
  707. package/dist/docs/reference/model/holeCutter.md +55 -0
  708. package/dist/docs/reference/model/hull.md +1 -1
  709. package/dist/docs/reference/model/immutableBuffer.md +5 -4
  710. package/dist/docs/reference/model/implicit.md +1 -1
  711. package/dist/docs/reference/model/internalThreadCutter.md +12 -20
  712. package/dist/docs/reference/model/intersect.md +3 -3
  713. package/dist/docs/reference/model/isGeometryError.md +34 -0
  714. package/dist/docs/reference/model/knuckleHinge.md +3 -3
  715. package/dist/docs/reference/model/linearPattern.md +1 -1
  716. package/dist/docs/reference/model/loft.md +6 -5
  717. package/dist/docs/reference/model/matchProfiles.md +1 -1
  718. package/dist/docs/reference/model/minkowskiSum.md +1 -1
  719. package/dist/docs/reference/model/path2.md +1 -1
  720. package/dist/docs/reference/model/path3.md +1 -1
  721. package/dist/docs/reference/model/pathPattern.md +1 -1
  722. package/dist/docs/reference/model/polygon.md +1 -1
  723. package/dist/docs/reference/model/preflightInternalThreadCutter.md +15 -23
  724. package/dist/docs/reference/model/preflightThreadedNut.md +22 -25
  725. package/dist/docs/reference/model/preflightThreadedRod.md +15 -23
  726. package/dist/docs/reference/model/radialPattern.md +1 -1
  727. package/dist/docs/reference/model/rectangle.md +2 -2
  728. package/dist/docs/reference/model/regularPolygon.md +1 -1
  729. package/dist/docs/reference/model/revolve.md +6 -5
  730. package/dist/docs/reference/model/solidFromMesh.md +7 -6
  731. package/dist/docs/reference/model/sphere.md +1 -1
  732. package/dist/docs/reference/model/star.md +7 -7
  733. package/dist/docs/reference/model/stroke.md +1 -1
  734. package/dist/docs/reference/model/svgPathSection.md +1 -1
  735. package/dist/docs/reference/model/svgSection.md +5 -1
  736. package/dist/docs/reference/model/sweep.md +5 -4
  737. package/dist/docs/reference/model/textSection.md +1 -1
  738. package/dist/docs/reference/model/threadRidge.md +14 -14
  739. package/dist/docs/reference/model/threadedNut.md +22 -25
  740. package/dist/docs/reference/model/threadedRod.md +12 -20
  741. package/dist/docs/reference/model/torus.md +1 -1
  742. package/dist/docs/reference/model/transform2.md +1 -1
  743. package/dist/docs/reference/model/transform3.md +1 -1
  744. package/dist/docs/reference/model/tube.md +1 -36
  745. package/dist/docs/reference/model/union.md +3 -3
  746. package/dist/docs/reference/model/vector2.md +1 -1
  747. package/dist/docs/reference/model/vector3.md +1 -1
  748. package/dist/docs/reference/model.md +15 -19
  749. package/dist/docs/reference/text/Bounds2Data.md +1 -1
  750. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
  751. package/dist/docs/reference/text/Vector2Data.md +1 -1
  752. package/dist/docs/reference/text/VectorFont.md +1 -1
  753. package/dist/docs/reference/text/VectorFontOptions.md +1 -1
  754. package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
  755. package/dist/docs/reference/text/VectorTextLayout.md +1 -1
  756. package/dist/docs/reference/text/VectorTextLayoutOptions.md +1 -1
  757. package/dist/docs/reference/text/VectorTextMetrics.md +1 -1
  758. package/dist/docs/reference/text/VectorTextOptions.md +1 -1
  759. package/dist/docs/reference/text/categories/font-preparation.md +3 -3
  760. package/dist/docs/reference/text/prepareVectorFont.md +1 -1
  761. package/dist/docs/reference/text.md +4 -4
  762. package/dist/engine/execution.js +10 -6
  763. package/dist/engine/export-3mf.js +22 -115
  764. package/dist/engine/finalization.js +10 -10
  765. package/dist/engine/index.js +25 -31
  766. package/dist/engine/model-parts.js +8 -0
  767. package/dist/engine/model-summary.js +5 -5
  768. package/dist/engine/native/index.js +1 -1
  769. package/dist/engine/native/material-components.js +3 -3
  770. package/dist/engine/native/operations.js +0 -7
  771. package/dist/engine/native/scoped-primitives.js +5 -4
  772. package/dist/engine/native/threads.js +14 -14
  773. package/dist/engine/{construction-operations.js → operations/construction.js} +25 -23
  774. package/dist/engine/{modeling-context.js → operations/context.js} +21 -9
  775. package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
  776. package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +8 -35
  777. package/dist/engine/operations/hole-cutter.js +148 -0
  778. package/dist/engine/{inspection-operations.js → operations/inspection.js} +6 -6
  779. package/dist/engine/operations/knuckle-hinge.js +128 -0
  780. package/dist/engine/{loft-operations.js → operations/loft.js} +13 -12
  781. package/dist/engine/{mechanical-operations.js → operations/mechanical.js} +2 -2
  782. package/dist/engine/{pattern-operations.js → operations/patterns.js} +4 -4
  783. package/dist/engine/{primitive-anchors.js → operations/primitives/anchors.js} +9 -4
  784. package/dist/engine/{primitive-operations.js → operations/primitives/construction.js} +36 -24
  785. package/dist/engine/{primitive-correspondence.js → operations/primitives/correspondence.js} +4 -4
  786. package/dist/engine/{profile-mesh.js → operations/primitives/profile-mesh.js} +12 -12
  787. package/dist/engine/{primitive-profiles.js → operations/primitives/profiles.js} +7 -7
  788. package/dist/engine/{section-operations.js → operations/sections.js} +9 -9
  789. package/dist/engine/{transform-operations.js → operations/transforms.js} +8 -8
  790. package/dist/engine/placement.js +3 -4
  791. package/dist/engine/recipe-realization.js +1 -1
  792. package/dist/engine/serialize-3mf.js +116 -0
  793. package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
  794. package/dist/engine/{model-dependencies.js → session/dependencies.js} +1 -1
  795. package/dist/engine/{session-graph.js → session/graph.js} +13 -11
  796. package/dist/engine/{session-native.js → session/native-cache.js} +1 -1
  797. package/dist/engine/{session.js → session/session.js} +16 -10
  798. package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +29 -59
  799. package/dist/geometry/anchors.js +4 -11
  800. package/dist/geometry/bounds-value.js +49 -11
  801. package/dist/geometry/bounds.js +0 -17
  802. package/dist/geometry/circular-sampling.js +45 -0
  803. package/dist/geometry/convex-offset.js +41 -0
  804. package/dist/geometry/heightfield.js +10 -12
  805. package/dist/{model → geometry}/immutable-buffer.js +28 -7
  806. package/dist/geometry/index.js +18 -23
  807. package/dist/geometry/loft/loft.js +11 -6
  808. package/dist/geometry/math/immutable-value.js +1 -1
  809. package/dist/geometry/mechanical/index.js +5 -5
  810. package/dist/geometry/mechanical/threads/bevel.js +24 -0
  811. package/dist/geometry/mechanical/{threads.js → threads/fit.js} +4 -4
  812. package/dist/geometry/mechanical/{thread-helices.js → threads/helices.js} +3 -3
  813. package/dist/geometry/mechanical/{thread-mesh-plan.js → threads/mesh-plan.js} +38 -53
  814. package/dist/geometry/mechanical/{thread-mesh.js → threads/mesh.js} +9 -9
  815. package/dist/geometry/mechanical/{thread-profiles.js → threads/profiles.js} +3 -3
  816. package/dist/geometry/mechanical/{thread-solids.js → threads/solids.js} +58 -89
  817. package/dist/geometry/mechanical/{thread-surface.js → threads/surface.js} +7 -8
  818. package/dist/geometry/mesh/mesh-centroid.js +3 -2
  819. package/dist/geometry/mesh/mesh-planar.js +27 -8
  820. package/dist/geometry/mesh/mesh-quality.js +2 -1
  821. package/dist/geometry/mesh/mesh-signature.js +7 -6
  822. package/dist/geometry/mesh/mesh-solid.js +2 -3
  823. package/dist/geometry/mesh/mesh-types.js +1 -0
  824. package/dist/geometry/mesh/mesh.js +13 -22
  825. package/dist/geometry/mesh-api.js +14 -0
  826. package/dist/geometry/primitive-resolvers.js +42 -14
  827. package/dist/geometry/profiles/primitives/circle.js +19 -0
  828. package/dist/geometry/profiles/{shapes.js → primitives/ellipse.js} +6 -10
  829. package/dist/geometry/profiles/{rectangle.js → primitives/rectangle.js} +14 -12
  830. package/dist/geometry/profiles/primitives/regular-polygon.js +33 -0
  831. package/dist/geometry/profiles/primitives/star.js +28 -0
  832. package/dist/geometry/revolve/revolve-mesh.js +1 -1
  833. package/dist/geometry/{svg-import.js → svg/import.js} +141 -59
  834. package/dist/geometry/svg/matrix.js +21 -0
  835. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  836. package/dist/geometry/transform3.js +29 -0
  837. package/dist/index.js +2 -1
  838. package/dist/model/diagnostic-path.js +26 -0
  839. package/dist/model/execution-binding.js +3 -3
  840. package/dist/model/generation.js +8 -2
  841. package/dist/model/geometry-recipes.js +1 -1
  842. package/dist/model/hole-cutter.js +1 -0
  843. package/dist/model/immutable-generation-data.js +33 -2
  844. package/dist/model/operations.js +35 -144
  845. package/dist/model/recipe-declaration.js +7 -2
  846. package/dist/model/shape-handles.js +30 -7
  847. package/dist/text/index.js +1 -1
  848. package/package.json +21 -11
  849. package/dist/docs/reference/engine/ModelSnapshot.md +0 -184
  850. package/dist/docs/reference/engine/SnapshotPart.md +0 -133
  851. package/dist/docs/reference/engine/validateModel.md +0 -48
  852. package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +0 -24
  853. package/dist/docs/reference/geometry/ThreadedNutBevel.md +0 -14
  854. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +0 -61
  855. package/dist/docs/reference/geometry/boundsFromSize.md +0 -84
  856. package/dist/docs/reference/geometry/containsBounds.md +0 -73
  857. package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
  858. package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
  859. package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
  860. package/dist/docs/reference/geometry/meshBounds.md +0 -39
  861. package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
  862. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
  863. package/dist/docs/reference/geometry/sweepMesh.md +0 -86
  864. package/dist/docs/reference/model/FinalizedModel.md +0 -131
  865. package/dist/docs/reference/model/FinalizedPart.md +0 -87
  866. package/dist/docs/reference/model/anchor.md +0 -47
  867. package/dist/docs/reference/model/castSegment.md +0 -40
  868. package/dist/docs/reference/model/categories/inspection.md +0 -29
  869. package/dist/docs/reference/model/components.md +0 -71
  870. package/dist/docs/reference/model/compose.md +0 -31
  871. package/dist/docs/reference/model/distance.md +0 -45
  872. package/dist/docs/reference/model/immutableMesh.md +0 -44
  873. package/dist/docs/reference/model/inspectSection.md +0 -38
  874. package/dist/docs/reference/model/inspectSolid.md +0 -38
  875. package/dist/docs/reference/model/isEmpty.md +0 -39
  876. package/dist/docs/reference/model/split.md +0 -54
  877. package/dist/docs/reference/model/splitByPlane.md +0 -66
  878. package/dist/engine/knuckle-hinge-operation.js +0 -85
  879. package/dist/geometry/profiles/profiles.js +0 -91
  880. /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
  881. /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
@@ -0,0 +1,96 @@
1
+ # TriangularThreadProfileSpec
2
+
3
+ ISO/UTS-like 60-degree truncated triangular profile.
4
+
5
+ ## Extends
6
+
7
+ - [`ThreadProfileBaseSpec`](ThreadProfileBaseSpec.md)
8
+
9
+ ## Properties
10
+
11
+ ### pitch
12
+
13
+
14
+
15
+ `readonly` **pitch**: `number`
16
+
17
+
18
+
19
+ Adjacent axial thread spacing in millimetres.
20
+
21
+ #### Inherited from
22
+
23
+ [`ThreadProfileBaseSpec`](ThreadProfileBaseSpec.md).[`pitch`](ThreadProfileBaseSpec.md#pitch)
24
+
25
+ ***
26
+
27
+ ### tolerance?
28
+
29
+
30
+
31
+ `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)
32
+
33
+
34
+
35
+ Optional numerical tolerance overrides.
36
+
37
+ #### Inherited from
38
+
39
+ [`ThreadProfileBaseSpec`](ThreadProfileBaseSpec.md).[`tolerance`](ThreadProfileBaseSpec.md#tolerance)
40
+
41
+ ***
42
+
43
+ ### kind
44
+
45
+
46
+
47
+ `readonly` **kind**: `"triangular"`
48
+
49
+
50
+
51
+ Selects the 60-degree triangular profile family.
52
+
53
+ ***
54
+
55
+ ### crestFlatRatio?
56
+
57
+
58
+
59
+ `readonly` `optional` **crestFlatRatio?**: `number`
60
+
61
+
62
+
63
+ Crest width divided by pitch.
64
+
65
+ #### Default Value
66
+
67
+ `1 / 8`
68
+
69
+ ***
70
+
71
+ ### rootFlatRatio?
72
+
73
+
74
+
75
+ `readonly` `optional` **rootFlatRatio?**: `number`
76
+
77
+
78
+
79
+ Root width divided by pitch.
80
+
81
+ #### Default Value
82
+
83
+ `1 / 4`
84
+
85
+
86
+ ## Related APIs
87
+
88
+ - [GeometryToleranceOptions](GeometryToleranceOptions.md)
89
+ - [ThreadProfileBaseSpec](ThreadProfileBaseSpec.md)
90
+
91
+ ## Guides
92
+
93
+ - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
94
+ - [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
95
+
96
+ Package: `@metamesh/modeling@0.18.0`.
@@ -2,79 +2,11 @@
2
2
 
3
3
  Dimensions, placement, and tessellation for a hollow Z-axis tube.
4
4
 
5
- ## Extends
5
+ **TubeOptions** = [`CircularPrimitiveOptions`](CircularPrimitiveOptions.md) & [`PrimitiveAttachment`](PrimitiveAttachment.md) & `object` & (\{ `innerRadius`: `number`; `outerRadius`: `number`; `innerDiameter?`: `never`; `outerDiameter?`: `never`; \} \| \{ `innerDiameter`: `number`; `outerDiameter`: `number`; `innerRadius?`: `never`; `outerRadius?`: `never`; \})
6
6
 
7
- - [`CircularPrimitiveOptions`](CircularPrimitiveOptions.md)
8
- - [`PrimitiveAttachment`](PrimitiveAttachment.md)
9
7
 
10
- ## Properties
11
8
 
12
- ### limits?
13
-
14
-
15
-
16
- `readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>
17
-
18
-
19
-
20
- Explicit sampling ceilings; bound modeling operations may only lower the host policy.
21
-
22
- #### Inherited from
23
-
24
- [`CircularPrimitiveOptions`](CircularPrimitiveOptions.md).[`limits`](CircularPrimitiveOptions.md#limits)
25
-
26
- ***
27
-
28
- ### segments?
29
-
30
-
31
-
32
- `readonly` `optional` **segments?**: `number`
33
-
34
-
35
-
36
- Exact circumferential segment count from three through the configured safety limit.
37
-
38
- This local topology override takes precedence over [CircularPrimitiveOptions.resolution](CircularPrimitiveOptions.md#resolution)
39
- and any active model-wide resolution policy.
40
-
41
- #### Inherited from
42
-
43
- [`CircularPrimitiveOptions`](CircularPrimitiveOptions.md).[`segments`](CircularPrimitiveOptions.md#segments)
44
-
45
- ***
46
-
47
- ### resolution?
48
-
49
-
50
-
51
- `readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
52
-
53
-
54
-
55
- Operation-level physical tessellation policy over the active model-wide policy.
56
-
57
- #### Inherited from
58
-
59
- [`CircularPrimitiveOptions`](CircularPrimitiveOptions.md).[`resolution`](CircularPrimitiveOptions.md#resolution)
60
-
61
- ***
62
-
63
- ### attachment?
64
-
65
-
66
-
67
- `readonly` `optional` **attachment?**: [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md)
68
-
69
-
70
-
71
- Applied after local construction; Section attachment must preserve the XY plane.
72
-
73
- #### Inherited from
74
-
75
- [`PrimitiveAttachment`](PrimitiveAttachment.md).[`attachment`](PrimitiveAttachment.md#attachment)
76
-
77
- ***
9
+ ## Type Declaration
78
10
 
79
11
  ### center?
80
12
 
@@ -90,8 +22,6 @@ Centers the tube on the Z origin when `true`; otherwise its bottom is at `Z = 0`
90
22
 
91
23
  `true`
92
24
 
93
- ***
94
-
95
25
  ### height
96
26
 
97
27
 
@@ -102,42 +32,36 @@ Centers the tube on the Z origin when `true`; otherwise its bottom is at `Z = 0`
102
32
 
103
33
  Total height along Z in millimetres.
104
34
 
105
- ***
106
-
107
- ### innerRadius
108
-
35
+ ### innerSizing?
109
36
 
110
37
 
111
- `readonly` **innerRadius**: `number`
112
38
 
39
+ `readonly` `optional` **innerSizing?**: [`RadialSizing`](RadialSizing.md)
113
40
 
114
41
 
115
- Positive inner radius in millimetres.
116
42
 
117
- ***
43
+ Inner nominal dimension meets polygon vertices or faces; defaults to vertex.
118
44
 
119
- ### outerRadius
45
+ ### outerSizing?
120
46
 
121
47
 
122
48
 
123
- `readonly` **outerRadius**: `number`
49
+ `readonly` `optional` **outerSizing?**: [`RadialSizing`](RadialSizing.md)
124
50
 
125
51
 
126
52
 
127
- Outer radius in millimetres; greater than [TubeOptions.innerRadius](#innerradius).
53
+ Outer nominal dimension meets polygon vertices or faces; defaults to vertex.
128
54
 
129
55
 
130
56
  ## Related APIs
131
57
 
132
58
  - [CircularPrimitiveOptions](CircularPrimitiveOptions.md)
133
- - [GeometryResolution](GeometryResolution.md)
134
- - [GeometrySamplingLimits](GeometrySamplingLimits.md)
135
59
  - [PrimitiveAttachment](PrimitiveAttachment.md)
136
- - [PrimitiveAttachmentOptions](PrimitiveAttachmentOptions.md)
60
+ - [RadialSizing](RadialSizing.md)
137
61
 
138
62
  ## Guides
139
63
 
140
64
  - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
141
65
  - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
142
66
 
143
- Package: `@metamesh/modeling@0.16.0`.
67
+ Package: `@metamesh/modeling@0.18.0`.
@@ -268,4 +268,4 @@ Returns this value's frozen readonly tuple for interchange; repeated calls do no
268
268
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
269
269
  - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
270
270
 
271
- Package: `@metamesh/modeling@0.16.0`.
271
+ Package: `@metamesh/modeling@0.18.0`.
@@ -12,4 +12,4 @@ A two-dimensional Cartesian vector or point.
12
12
  - [Geometry vocabulary](../../guides/concepts.md#geometry-vocabulary)
13
13
  - [Lifecycle and inspection](../../guides/concepts.md#lifecycle-and-inspection)
14
14
 
15
- Package: `@metamesh/modeling@0.16.0`.
15
+ Package: `@metamesh/modeling@0.18.0`.
@@ -18,4 +18,4 @@ An XY tuple or immutable fluent vector accepted by vector operations.
18
18
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
19
19
  - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
20
20
 
21
- Package: `@metamesh/modeling@0.16.0`.
21
+ Package: `@metamesh/modeling@0.18.0`.
@@ -280,4 +280,4 @@ Returns this value's frozen readonly tuple for interchange; repeated calls do no
280
280
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
281
281
  - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
282
282
 
283
- Package: `@metamesh/modeling@0.16.0`.
283
+ Package: `@metamesh/modeling@0.18.0`.
@@ -12,4 +12,4 @@ A three-dimensional Cartesian vector or point.
12
12
  - [Geometry vocabulary](../../guides/concepts.md#geometry-vocabulary)
13
13
  - [Lifecycle and inspection](../../guides/concepts.md#lifecycle-and-inspection)
14
14
 
15
- Package: `@metamesh/modeling@0.16.0`.
15
+ Package: `@metamesh/modeling@0.18.0`.
@@ -18,4 +18,4 @@ An XYZ tuple or immutable fluent vector accepted by vector operations.
18
18
  - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
19
19
  - [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
20
20
 
21
- Package: `@metamesh/modeling@0.16.0`.
21
+ Package: `@metamesh/modeling@0.18.0`.
@@ -37,4 +37,4 @@ Exact measurements of these paths and their logical text layout.
37
37
  - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
38
38
  - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
39
39
 
40
- Package: `@metamesh/modeling@0.16.0`.
40
+ Package: `@metamesh/modeling@0.18.0`.
@@ -97,4 +97,4 @@ Number of lines, including empty and trailing lines; empty text occupies one lin
97
97
  - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
98
98
  - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
99
99
 
100
- Package: `@metamesh/modeling@0.16.0`.
100
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,21 +1,22 @@
1
1
  # bounds2
2
2
 
3
- Snapshots finite ordered XY bounds in millimetres as an immutable fluent value.
3
+ Constructs immutable finite XY bounds from ordered extrema or nonnegative size in millimetres.
4
4
 
5
- **bounds2**(`input`: [`Bounds2Input`](Bounds2Input.md)): [`Bounds2`](Bounds2-type.md)
5
+ **bounds2**(`input`: [`Bounds2Options`](Bounds2Options.md) \| [`Bounds2`](Bounds2-type.md)): [`Bounds2`](Bounds2-type.md)
6
6
 
7
7
 
8
8
 
9
9
  Zero extents are valid. Invalid dimensions, nonfinite coordinates, reversed bounds and
10
10
  overflowing extents throw `INVALID_ARGUMENT` GeometryError. Use `toData()` for plain records.
11
+ Size construction centers on the origin unless `center` is false. Size and extrema are exclusive.
11
12
  Compiled Generator packages passing these values to host recipes or computed data require
12
- runtime 8.0.0 or newer in major 8.
13
+ runtime 10.0.0 or newer in major 10.
13
14
 
14
15
  ## Parameters
15
16
 
16
17
  <a id="input"></a>
17
18
 
18
- **`input`** · [`Bounds2Input`](Bounds2Input.md) · Required
19
+ **`input`** · [`Bounds2Options`](Bounds2Options.md) \| [`Bounds2`](Bounds2-type.md) · Required
19
20
 
20
21
 
21
22
 
@@ -27,10 +28,10 @@ runtime 8.0.0 or newer in major 8.
27
28
  ## Related APIs
28
29
 
29
30
  - [Bounds2](Bounds2-type.md)
30
- - [Bounds2Input](Bounds2Input.md)
31
+ - [Bounds2Options](Bounds2Options.md)
31
32
 
32
33
  ## Guides
33
34
 
34
35
  - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
35
36
 
36
- Package: `@metamesh/modeling@0.16.0`.
37
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,21 +1,22 @@
1
1
  # bounds3
2
2
 
3
- Snapshots finite ordered XYZ bounds in millimetres as an immutable fluent value.
3
+ Constructs immutable finite XYZ bounds from ordered extrema or nonnegative size in millimetres.
4
4
 
5
- **bounds3**(`input`: [`Bounds3Input`](Bounds3Input.md)): [`Bounds3`](Bounds3-type.md)
5
+ **bounds3**(`input`: [`Bounds3Options`](Bounds3Options.md) \| [`Bounds3`](Bounds3-type.md)): [`Bounds3`](Bounds3-type.md)
6
6
 
7
7
 
8
8
 
9
9
  Zero extents are valid. Invalid dimensions, nonfinite coordinates, reversed bounds and
10
10
  overflowing extents throw `INVALID_ARGUMENT` GeometryError. Use `toData()` for plain records.
11
+ Size construction centers on the origin unless `center` is false. Size and extrema are exclusive.
11
12
  Compiled Generator packages passing these values to host recipes or computed data require
12
- runtime 8.0.0 or newer in major 8.
13
+ runtime 10.0.0 or newer in major 10.
13
14
 
14
15
  ## Parameters
15
16
 
16
17
  <a id="input"></a>
17
18
 
18
- **`input`** · [`Bounds3Input`](Bounds3Input.md) · Required
19
+ **`input`** · [`Bounds3Options`](Bounds3Options.md) \| [`Bounds3`](Bounds3-type.md) · Required
19
20
 
20
21
 
21
22
 
@@ -27,10 +28,10 @@ runtime 8.0.0 or newer in major 8.
27
28
  ## Related APIs
28
29
 
29
30
  - [Bounds3](Bounds3-type.md)
30
- - [Bounds3Input](Bounds3Input.md)
31
+ - [Bounds3Options](Bounds3Options.md)
31
32
 
32
33
  ## Guides
33
34
 
34
35
  - [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
35
36
 
36
- Package: `@metamesh/modeling@0.16.0`.
37
+ Package: `@metamesh/modeling@0.18.0`.
@@ -22,7 +22,7 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
22
22
 
23
23
  **`options`** · [`BoxOptions`](BoxOptions.md) · Required
24
24
 
25
- - [`size`](BoxOptions.md#size) · `number` \| [`Vector3Data`](Vector3Data.md) · Required
25
+ - [`size`](BoxOptions.md#size) · `number` \| [`Vector3Input`](Vector3Input.md) · Required
26
26
 
27
27
  Positive uniform size or explicit `[X, Y, Z]` extents in millimetres.
28
28
 
@@ -59,4 +59,4 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
59
59
  - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
60
60
  - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
61
61
 
62
- Package: `@metamesh/modeling@0.16.0`.
62
+ Package: `@metamesh/modeling@0.18.0`.
@@ -2,12 +2,11 @@
2
2
 
3
3
  Combine, intersect and subtract same-dimensional shapes; construct solid envelopes and sums.
4
4
 
5
- Use `union` and `intersect` with arrays of Sections or Solids, or `shape.subtract(cutters)` to cut one base. All operands must have the same dimension. Section operations preserve holes and disconnected components.
5
+ Use `shape.union(operands)`, `shape.subtract(operands)`, and `shape.intersect(operands)` when continuing work on one body. Each method accepts one same-dimensional shape or a readonly array; an empty array preserves the receiver. Collection `union(shapes)` and `intersect(shapes)` combine peers and require at least one shape. Section operations preserve holes and disconnected components.
6
6
 
7
- - `compose` combines solid components without a Boolean union.
8
7
  - `hull` accepts compatible Solid or Section recipes, or finite points. `minkowskiSum` constructs solid sums.
9
- - `split` returns intersection followed by subtraction, reusing the cutter setup.
10
- - Plane operations use a nonzero normal and a signed millimetre offset along its normalized direction. Empty results remain queryable handles.
8
+ - `solid.split(cutter)` returns intersection followed by subtraction, reusing the cutter setup.
9
+ - `solid.splitByPlane(plane)` returns the positive-normal side followed by the negative side. The plane uses a nonzero normal and a signed millimetre offset along its normalized direction. Empty results can still be queried.
11
10
 
12
11
  Keep Boolean overtravel separate from physical fit clearance.
13
12
 
@@ -15,13 +14,10 @@ Keep Boolean overtravel separate from physical fit clearance.
15
14
 
16
15
  | API | Summary |
17
16
  | --- | --- |
18
- | [compose](../compose.md) | Combines disjoint components without resolving overlap. |
19
17
  | [hull](../hull.md) | Convex hull of points or solids. |
20
- | [intersect](../intersect.md) | Robust intersection. |
18
+ | [intersect](../intersect.md) | Robust intersection of one or more shapes; empty input rejects during declaration. |
21
19
  | [minkowskiSum](../minkowskiSum.md) | Three-dimensional Minkowski sum. |
22
- | [union](../union.md) | Robust union. |
23
- | [split](../split.md) | Splits a solid into [inside the cutter, outside the cutter]. |
24
- | [splitByPlane](../splitByPlane.md) | Splits a solid into [positive-normal side, negative side] at a world-space plane. |
20
+ | [union](../union.md) | Robust union of one or more shapes; empty input rejects during declaration. |
25
21
 
26
22
  ## Interfaces
27
23
 
@@ -41,4 +37,4 @@ Keep Boolean overtravel separate from physical fit clearance.
41
37
  - [Choose the Boolean by the material you want](../../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
42
38
  - [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
43
39
 
44
- Package: `@metamesh/modeling@0.16.0`.
40
+ Package: `@metamesh/modeling@0.18.0`.
@@ -25,4 +25,4 @@ Implicit sampling requires finite bounds, positive grid spacing, and fixed algor
25
25
  | --- | --- |
26
26
  | [HeightfieldOptions](../HeightfieldOptions.md) | A closed rectilinear heightfield above a flat base, with uniform or explicit XY samples in millimetres. |
27
27
 
28
- Package: `@metamesh/modeling@0.16.0`.
28
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,6 +1,6 @@
1
1
  # Bounds
2
2
 
3
- Measure immutable axis-aligned extents and test positioned containment.
3
+ Measure immutable axis-aligned bounds and check whether positioned bounds contain one another.
4
4
 
5
5
  Use `bounds2` and `bounds3` for immutable axis-aligned bounds. `size()` and `center()` return fluent vectors. `containsBounds()` includes boundary contact in the same coordinate frame; zero extents are valid.
6
6
 
@@ -12,8 +12,8 @@ Containment alone does not establish a manufacturing fit.
12
12
 
13
13
  | API | Summary |
14
14
  | --- | --- |
15
- | [bounds2](../bounds2.md) | Snapshots finite ordered XY bounds in millimetres as an immutable fluent value. |
16
- | [bounds3](../bounds3.md) | Snapshots finite ordered XYZ bounds in millimetres as an immutable fluent value. |
15
+ | [bounds2](../bounds2.md) | Constructs immutable finite XY bounds from ordered extrema or nonnegative size in millimetres. |
16
+ | [bounds3](../bounds3.md) | Constructs immutable finite XYZ bounds from ordered extrema or nonnegative size in millimetres. |
17
17
 
18
18
  ## Interfaces
19
19
 
@@ -28,9 +28,11 @@ Containment alone does not establish a manufacturing fit.
28
28
  | --- | --- |
29
29
  | [Bounds2Input](../Bounds2Input.md) | An immutable XY bounds value or its plain min/max representation. |
30
30
  | [Bounds3Input](../Bounds3Input.md) | An immutable XYZ bounds value or its plain min/max representation. |
31
+ | [Bounds2Options](../Bounds2Options.md) | XY bounds construction from existing extrema or nonnegative dimensions, never both. |
32
+ | [Bounds3Options](../Bounds3Options.md) | XYZ bounds construction from existing extrema or nonnegative dimensions, never both. |
31
33
 
32
34
  ## Guides
33
35
 
34
36
  - [Measure and compare bounds](../../../guides/concepts.md#measure-and-compare-bounds)
35
37
 
36
- Package: `@metamesh/modeling@0.16.0`.
38
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,18 +1,16 @@
1
1
  # Model contracts
2
2
 
3
- Describe opaque handles, dimensions, manufacturing parts, and completed snapshots.
3
+ Understand opaque shape handles, dimensions, manufacturing parts, and durable model results.
4
4
 
5
5
  Generation returns semantic parts through `part(id, geometry)` with optional placement and color. Ordinary immutable recipes are portable across sessions; observed component selections retain their originating session.
6
6
 
7
- Finalized snapshots contain copied manufacturing arrays and exact facts. Resource ceilings bound sampling and aggregate output.
7
+ Finalized results contain copied manufacturing arrays and exact facts. Resource ceilings bound sampling and aggregate output.
8
8
 
9
9
  ## Interfaces
10
10
 
11
11
  | API | Summary |
12
12
  | --- | --- |
13
- | [FinalizedModel](../FinalizedModel.md) | Finalized manufacturing snapshot. Its arrays are independent of all native values. |
14
- | [FinalizedPart](../FinalizedPart.md) | Copied manufacturing part with facts computed from the finalized mesh. |
15
13
  | [GeometrySamplingLimits](../GeometrySamplingLimits.md) | Explicit allocation ceilings for pure sampling and host-owned modeling operations. |
16
14
  | [ModelingLimits](../ModelingLimits.md) | Aggregate manufacturing output ceilings selected by a trusted host. |
17
15
 
18
- Package: `@metamesh/modeling@0.16.0`.
16
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,9 +1,21 @@
1
- # Core values
1
+ # Core values and errors
2
2
 
3
- Use shared coordinate, path, polygon, and bounds data.
3
+ Use shared coordinate data and recognize structured geometry errors.
4
4
 
5
5
  Use coordinate tuples, frames, contours, polygons, regions, and bounds records for plain-data interchange. `Contour` omits the duplicated closing point; `PolygonData` associates an exterior with its holes.
6
6
 
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [isGeometryError](../isGeometryError.md) | Recognizes structured geometry errors from separately bundled Modeling copies in the same realm. |
12
+
13
+ ## Classes
14
+
15
+ | API | Summary |
16
+ | --- | --- |
17
+ | [GeometryError](../GeometryError.md) | Error raised when a geometry precondition or invariant is not satisfied. |
18
+
7
19
  ## Interfaces
8
20
 
9
21
  | API | Summary |
@@ -12,6 +24,7 @@ Use coordinate tuples, frames, contours, polygons, regions, and bounds records f
12
24
  | [PolygonData](../PolygonData.md) | One filled two-dimensional polygon with an exterior and optional holes. |
13
25
  | [Bounds2Data](../Bounds2Data.md) | Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods. |
14
26
  | [Bounds3Data](../Bounds3Data.md) | Plain axis-aligned XYZ bounds for interchange; use bounds3 for immutable measurement methods. |
27
+ | [GeometryErrorContext](../GeometryErrorContext.md) | Serializable context attached to a geometry failure. |
15
28
 
16
29
  ## Type aliases
17
30
 
@@ -21,10 +34,11 @@ Use coordinate tuples, frames, contours, polygons, regions, and bounds records f
21
34
  | [RegionData](../RegionData.md) | A two-dimensional region represented by disjoint filled polygons. Each PolygonData owns one exterior and its holes; an empty region contains no material. |
22
35
  | [Vector2Data](../Vector2Data.md) | A two-dimensional Cartesian vector or point. |
23
36
  | [Vector3Data](../Vector3Data.md) | A three-dimensional Cartesian vector or point. |
37
+ | [GeometryErrorCode](../GeometryErrorCode.md) | Stable categories for invalid inputs, topology, allocation, and runtime failures. |
24
38
 
25
39
  ## Guides
26
40
 
27
41
  - [Geometry vocabulary](../../../guides/concepts.md#geometry-vocabulary)
28
42
  - [Lifecycle and inspection](../../../guides/concepts.md#lifecycle-and-inspection)
29
43
 
30
- Package: `@metamesh/modeling@0.16.0`.
44
+ Package: `@metamesh/modeling@0.18.0`.
@@ -31,4 +31,4 @@ Call `matchProfiles` once over the complete family to produce `CorrespondingProf
31
31
  | [CorrespondingProfileStation](../CorrespondingProfileStation.md) | One already matched profile at an explicit height or right-handed spatial frame. |
32
32
  | [ProfileSpan2](../ProfileSpan2.md) | An identified line, circular arc, or cubic Bézier between corresponding landmarks. |
33
33
 
34
- Package: `@metamesh/modeling@0.16.0`.
34
+ Package: `@metamesh/modeling@0.18.0`.
@@ -11,25 +11,27 @@ Turn filled Sections or explicitly matched profiles into solids:
11
11
 
12
12
  Lofts match compatible primitive landmarks directly, including circle/ellipse quadrants to rectangle corners. Other unlike primitive families use direct perimeter association from construction-local +X seams. Arbitrary Sections and loops require an explicit `direct`, `reindex`, `fast-distance`, or `distance` method. Identified `CorrespondingProfile` landmarks reject geometric remapping.
13
13
 
14
- Standalone `extrude`, `revolve`, and `sweep` accept only `CorrespondingProfile` data. Use Section methods for filled Sections.
14
+ Use Section methods in fluent modeling sequences. Imported `extrude`, `revolve`, and `sweep` accept `Section | CorrespondingProfile` for generic profile functions without branching. Both forms use the same operation contracts. Use `mesh.extrude`, `mesh.revolve`, and `mesh.sweep` for direct triangle-buffer construction.
15
15
 
16
16
  ## Functions
17
17
 
18
18
  | API | Summary |
19
19
  | --- | --- |
20
- | [extrude](../extrude.md) | Extrudes explicit corresponding contours along +Z with degree twist and top scaling. Filled Sections use `section.extrude(options)`. |
21
- | [loft](../loft.md) | Lofts primitive Sections at z heights or frames; arbitrary Sections and loops require an explicit correspondence method. |
22
- | [revolve](../revolve.md) | Revolves explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Filled Sections use `section.revolve(options)`. |
23
- | [sweep](../sweep.md) | Sweeps explicit corresponding contours using the selected frame policy. Filled Sections use `section.sweep(path, options)`. |
20
+ | [extrude](../extrude.md) | Extrudes a filled Section or explicit corresponding contours along +Z with degree twist and top scaling. Use `section.extrude(options)` in fluent sequences, or this function for generic profile inputs. |
21
+ | [loft](../loft.md) | Lofts Sections and point loops at z heights or frames. Known primitive landmarks are retained; other profiles default to direct correspondence, preserving their supplied seams. |
22
+ | [revolve](../revolve.md) | Revolves a filled Section or explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Use `section.revolve(options)` in fluent sequences, or this function for generic profile inputs. |
23
+ | [sweep](../sweep.md) | Sweeps a filled Section or explicit corresponding contours using the selected frame policy. Use `section.sweep(path, options)` in fluent sequences, or this function for generic profile inputs. |
24
24
 
25
25
  ## Interfaces
26
26
 
27
27
  | API | Summary |
28
28
  | --- | --- |
29
- | [ExtrudeOptions](../ExtrudeOptions.md) | Dimensions and sampling shared by native and pure +Z extrusion. |
30
- | [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections require explicit correspondence. |
29
+ | [ExtrudeOptions](../ExtrudeOptions.md) | Native +Z extrusion with optional inward end treatments. |
30
+ | [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections default to direct correspondence. |
31
31
  | [RevolveOptions](../RevolveOptions.md) | Circumferential sampling and degree sweep shared by pure and filled revolution. |
32
32
  | [SweepOptions](../SweepOptions.md) | Controls shared by pure mesh construction and filled modeling sweeps. |
33
+ | [ExtrudeMeshOptions](../ExtrudeMeshOptions.md) | Dimensions and sampling for pure +Z mesh extrusion, without end treatments. |
34
+ | [ExtrusionSamplingOptions](../ExtrusionSamplingOptions.md) | Shared sampling controls for a twisted or scaled linear extrusion. |
33
35
 
34
36
  ## Type aliases
35
37
 
@@ -48,4 +50,4 @@ Standalone `extrude`, `revolve`, and `sweep` accept only `CorrespondingProfile`
48
50
  - [Matched-section loft](../../../guides/recipes.md#matched-section-loft)
49
51
  - [Choose a modeling path](../../../guides/concepts.md#choose-a-modeling-path)
50
52
 
51
- Package: `@metamesh/modeling@0.16.0`.
53
+ Package: `@metamesh/modeling@0.18.0`.
@@ -1,21 +1,20 @@
1
1
  # Model generation
2
2
 
3
- Declare typed programs, optional computations, semantic parts and structured diagnostics.
3
+ Build typed models with optional cached computations, named parts, and structured warnings or errors.
4
4
 
5
5
  Start with `generate(({ params, part, assert }) => ...)` and return one `part(...)` or a readonly array of parts. Parameter values are ordinary readonly data.
6
6
 
7
7
  - **Cache:** `computed(id, callback)` optionally caches pure data or geometry and tracks synchronous reads. List changing outer captures with `computed(id, () => ..., [value])`; dependency arrays supplement automatic tracking.
8
8
  - **Report issues:** assertions stop immediately. Warnings continue and must be emitted in the outer callback.
9
- - **Place parts:** `position` uses millimetres; `rotation` uses fixed global XYZ degrees.
10
- - **Keep cached data immutable:** use `immutableBuffer` for numeric arrays and `immutableMesh` for indexed meshes. Buffers expose only `length`, `at(index)`, and `copy()`. Snapshots still contain ordinary typed arrays.
9
+ - **Place parts:** `transform` accepts a fluent `transform3()` value or row-major 16-number matrix. Only translation and proper rotation are supported; omission means identity. Pattern and attachment matrices work directly.
10
+ - **Keep cached data immutable:** use `immutableBuffer` for numeric arrays and `mesh.immutable` for indexed meshes. Buffers expose `length`, `at(index)`, standard iteration, and `copy()`. Results expose these immutable buffers; call `copy()` for mutable typed arrays.
11
11
 
12
12
  ## Functions
13
13
 
14
14
  | API | Summary |
15
15
  | --- | --- |
16
- | [generate](../generate.md) | Defines a typed model without executing it. Use `computed` only for work worth reusing. |
16
+ | [generate](../generate.md) | Defines a typed model without executing it. Parameters are an object map of capturable data; runtime capture rejects arrays at the root, ordinary class instances, mutable buffers, and functions. Supply live capabilities through services. Use `computed` only for work worth reusing. |
17
17
  | [immutableBuffer](../immutableBuffer.md) | Copies numeric data once into private storage. This pure helper needs no active generation. |
18
- | [immutableMesh](../immutableMesh.md) | Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing. |
19
18
 
20
19
  ## Classes
21
20
 
@@ -27,12 +26,12 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
27
26
 
28
27
  | API | Summary |
29
28
  | --- | --- |
30
- | [ImmutableBuffer](../ImmutableBuffer-type.md) | Owned immutable numeric data. Use copy() to obtain mutable storage for numerical work. |
29
+ | [ImmutableBuffer](../ImmutableBuffer-type.md) | Owned immutable numeric data. Iterate without copying; use copy() for mutable storage. |
31
30
  | [ImmutableTriangleMesh](../ImmutableTriangleMesh.md) | Immutable local XYZ positions and triangle indices, suitable for a computed value or part. |
32
31
  | [Computed](../Computed.md) | Reads immutable data or a deferred recipe; evaluation is synchronous and cached. |
33
32
  | [DiagnosticOptions](../DiagnosticOptions.md) | Typed parameter association for an assertion or warning. |
34
33
  | [GenerateContext](../GenerateContext.md) | The sole synchronous authoring context, supplied independently of Studio. |
35
- | [GeneratedPart](../GeneratedPart.md) | One declared output part. Construct with the context's `part` helper. |
34
+ | [PartDeclaration](../PartDeclaration.md) | One declared output part. Construct with the context's `part` helper. |
36
35
  | [GenerationDiagnostic](../GenerationDiagnostic.md) | Structured user-facing issue associated with the attempted revision. |
37
36
  | [ModelProgram](../ModelProgram.md) | Stateless portable program descriptor. Execution and caches belong to an engine session. |
38
37
  | [PartOptions](../PartOptions.md) | Appearance and rigid placement of a finished local manufacturing part. |
@@ -42,6 +41,7 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
42
41
  | API | Summary |
43
42
  | --- | --- |
44
43
  | [NumericArray](../NumericArray.md) | Numeric storage supported by immutable generation buffers. |
44
+ | [ImmutableValue](../ImmutableValue.md) | Deeply readonly view of captured generation data, including nested arrays and tuples. Modeling value methods keep their signatures, including explicit mutable copies. This type does not make unsupported runtime values valid generation data. |
45
45
  | [ComputedValue](../ComputedValue.md) | A value supplied immediately or by a lazy computed reader. |
46
46
  | [GenerateCallback](../GenerateCallback.md) | Pure synchronous callback returning one declared part or an array; caches are optional. |
47
47
  | [PartGeometry](../PartGeometry.md) | Manufacturing geometry; filled sections are intermediate construction values. |
@@ -50,4 +50,4 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
50
50
 
51
51
  - [Complete standalone model example](../../../guides/standalone-model.md#minimal-model-entry)
52
52
 
53
- Package: `@metamesh/modeling@0.16.0`.
53
+ Package: `@metamesh/modeling@0.18.0`.