@metamesh/modeling 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/CHANGELOG.md +186 -0
  2. package/README.md +147 -157
  3. package/dist/api/engine.d.ts +106 -83
  4. package/dist/api/export-3mf.d.ts +2 -0
  5. package/dist/api/export-glb.d.ts +2 -0
  6. package/dist/api/export-stl.d.ts +2 -0
  7. package/dist/api/export.d.ts +160 -0
  8. package/dist/api/geometry.d.ts +250 -461
  9. package/dist/api/index.d.ts +470 -445
  10. package/dist/api/mesh.d.ts +489 -0
  11. package/dist/api/text.d.ts +1 -1
  12. package/dist/docs/guides/concepts.md +32 -495
  13. package/dist/docs/guides/fonts.md +14 -13
  14. package/dist/docs/guides/fundamentals.md +30 -29
  15. package/dist/docs/guides/generation.md +84 -64
  16. package/dist/docs/guides/geometry-values.md +193 -0
  17. package/dist/docs/guides/hosting.md +147 -48
  18. package/dist/docs/guides/profiles-and-extrusion.md +252 -0
  19. package/dist/docs/guides/recipes.md +33 -769
  20. package/dist/docs/guides/resolution-and-inspection.md +133 -0
  21. package/dist/docs/guides/solid-joins.md +126 -0
  22. package/dist/docs/guides/standalone-model.md +8 -7
  23. package/dist/docs/guides/svg-and-text.md +215 -0
  24. package/dist/docs/guides/sweeps-and-lofts.md +179 -0
  25. package/dist/docs/guides/transforms-and-placement.md +313 -0
  26. package/dist/docs/manifest.json +3224 -4430
  27. package/dist/docs/reference/engine/GenerationOptions.md +12 -5
  28. package/dist/docs/reference/engine/GeometryResource.md +19 -13
  29. package/dist/docs/reference/engine/ModelDependencies.md +9 -3
  30. package/dist/docs/reference/engine/ModelEngine.md +33 -24
  31. package/dist/docs/reference/engine/ModelEngineOptions.md +13 -2
  32. package/dist/docs/reference/engine/ModelPart.md +114 -0
  33. package/dist/docs/reference/engine/ModelResult.md +181 -0
  34. package/dist/docs/reference/engine/ModelRunArguments.md +34 -0
  35. package/dist/docs/reference/engine/ModelRunOptions.md +110 -0
  36. package/dist/docs/reference/engine/ModelSession.md +22 -16
  37. package/dist/docs/reference/engine/SessionOptions.md +21 -10
  38. package/dist/docs/reference/engine/categories/host-lifecycle.md +20 -15
  39. package/dist/docs/reference/engine/checkModel.md +49 -0
  40. package/dist/docs/reference/engine/createModelEngine.md +11 -13
  41. package/dist/docs/reference/engine/defaultModelingLimits.md +15 -2
  42. package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
  43. package/dist/docs/reference/engine.md +8 -15
  44. package/dist/docs/reference/export/Export3mfOptions.md +24 -0
  45. package/dist/docs/reference/export/ExportDiagnostic.md +59 -0
  46. package/dist/docs/reference/export/ExportFormat.md +25 -0
  47. package/dist/docs/reference/export/ExportGeometry.md +39 -0
  48. package/dist/docs/reference/export/ExportGlbOptions.md +118 -0
  49. package/dist/docs/reference/export/ExportLimits.md +83 -0
  50. package/dist/docs/reference/export/ExportMaterial.md +47 -0
  51. package/dist/docs/reference/export/ExportOptions.md +94 -0
  52. package/dist/docs/reference/export/ExportPart.md +88 -0
  53. package/dist/docs/reference/export/ExportReport.md +82 -0
  54. package/dist/docs/reference/export/ExportSink.md +39 -0
  55. package/dist/docs/reference/export/ExportStlOptions.md +24 -0
  56. package/dist/docs/reference/export/ExportedFile.md +110 -0
  57. package/dist/docs/reference/export/categories/mesh-serialization.md +47 -0
  58. package/dist/docs/reference/export/defaultExportLimits.md +20 -0
  59. package/dist/docs/reference/export/export3mf.md +64 -0
  60. package/dist/docs/reference/export/exportGlb.md +68 -0
  61. package/dist/docs/reference/export/exportStl.md +64 -0
  62. package/dist/docs/reference/export/write3mf.md +71 -0
  63. package/dist/docs/reference/export/writeGlb.md +75 -0
  64. package/dist/docs/reference/export/writeStl.md +71 -0
  65. package/dist/docs/reference/export.md +21 -0
  66. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +16 -2
  67. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +7 -1
  68. package/dist/docs/reference/geometry/Anchor3-type.md +13 -3
  69. package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
  70. package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
  71. package/dist/docs/reference/geometry/AttachOptions.md +13 -3
  72. package/dist/docs/reference/geometry/AxisAngleRotation3.md +9 -3
  73. package/dist/docs/reference/geometry/Bevel.md +32 -0
  74. package/dist/docs/reference/geometry/BevelSize.md +28 -0
  75. package/dist/docs/reference/geometry/Bounds2-type.md +18 -4
  76. package/dist/docs/reference/geometry/Bounds2Data.md +22 -4
  77. package/dist/docs/reference/geometry/Bounds2Input.md +18 -4
  78. package/dist/docs/reference/geometry/Bounds2Options.md +61 -11
  79. package/dist/docs/reference/geometry/Bounds3-type.md +18 -4
  80. package/dist/docs/reference/geometry/Bounds3Data.md +18 -4
  81. package/dist/docs/reference/geometry/Bounds3Input.md +18 -4
  82. package/dist/docs/reference/geometry/Bounds3Options.md +61 -11
  83. package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
  84. package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
  85. package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
  86. package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
  87. package/dist/docs/reference/geometry/BoxAnchorOptions.md +12 -6
  88. package/dist/docs/reference/geometry/BoxEdge.md +11 -1
  89. package/dist/docs/reference/geometry/BoxEdgeSelection.md +11 -1
  90. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +11 -1
  91. package/dist/docs/reference/geometry/BoxOptions.md +13 -3
  92. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +16 -2
  93. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +16 -2
  94. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +11 -1
  95. package/dist/docs/reference/geometry/CircleContourOptions.md +12 -2
  96. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +15 -3
  97. package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
  98. package/dist/docs/reference/geometry/CircularSampling.md +7 -1
  99. package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
  100. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +8 -2
  101. package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -2
  102. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +8 -2
  103. package/dist/docs/reference/geometry/Contour.md +12 -2
  104. package/dist/docs/reference/geometry/ContourCurve.md +8 -2
  105. package/dist/docs/reference/geometry/ContourPoint.md +8 -2
  106. package/dist/docs/reference/geometry/ContourSegment.md +8 -2
  107. package/dist/docs/reference/geometry/CorrespondingComponent.md +12 -2
  108. package/dist/docs/reference/geometry/CorrespondingContour.md +12 -2
  109. package/dist/docs/reference/geometry/CorrespondingProfile.md +12 -2
  110. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +12 -2
  111. package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
  112. package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
  113. package/dist/docs/reference/geometry/Curve2.md +8 -2
  114. package/dist/docs/reference/geometry/Curve3.md +8 -2
  115. package/dist/docs/reference/geometry/CurveSamplingOptions.md +16 -2
  116. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +16 -2
  117. package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
  118. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +11 -5
  119. package/dist/docs/reference/geometry/CylinderOptions.md +11 -1
  120. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +8 -2
  121. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -2
  122. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +8 -2
  123. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +8 -2
  124. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +8 -2
  125. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +8 -2
  126. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +8 -2
  127. package/dist/docs/reference/geometry/CylindricalGearSpec.md +8 -2
  128. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
  129. package/dist/docs/reference/geometry/EdgeTreatment.md +11 -1
  130. package/dist/docs/reference/geometry/EllipseContourOptions.md +14 -4
  131. package/dist/docs/reference/geometry/EndTreatments.md +12 -2
  132. package/dist/docs/reference/{model/ExtrudeOptions.md → geometry/ExtrudeMeshOptions.md} +30 -26
  133. package/dist/docs/reference/geometry/ExtrudeOptions.md +29 -11
  134. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +18 -4
  135. package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
  136. package/dist/docs/reference/geometry/Frame3.md +16 -2
  137. package/dist/docs/reference/geometry/GeometryError.md +11 -1
  138. package/dist/docs/reference/geometry/GeometryErrorCode.md +11 -1
  139. package/dist/docs/reference/geometry/GeometryErrorContext.md +11 -1
  140. package/dist/docs/reference/geometry/GeometryResolution.md +15 -1
  141. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +16 -2
  142. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +15 -1
  143. package/dist/docs/reference/geometry/GridPatternOptions.md +12 -2
  144. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +12 -2
  145. package/dist/docs/reference/geometry/HeightfieldOptions.md +18 -3
  146. package/dist/docs/reference/geometry/HeightfieldPreflight.md +12 -2
  147. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +9 -3
  148. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +110 -0
  149. package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +57 -0
  150. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +63 -84
  151. package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +12 -2
  152. package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +8 -2
  153. package/dist/docs/reference/geometry/KnuckleHingeInterval.md +8 -2
  154. package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +12 -2
  155. package/dist/docs/reference/geometry/KnuckleHingeSpec.md +12 -2
  156. package/dist/docs/reference/geometry/LineCurve2.md +8 -2
  157. package/dist/docs/reference/geometry/LineCurve3.md +8 -2
  158. package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -2
  159. package/dist/docs/reference/geometry/LoftCorrespondence.md +16 -2
  160. package/dist/docs/reference/geometry/LoftMeshStation.md +12 -2
  161. package/dist/docs/reference/geometry/LoftOptions.md +18 -4
  162. package/dist/docs/reference/geometry/LoftPlacement.md +16 -2
  163. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +8 -2
  164. package/dist/docs/reference/geometry/MatchProfilesOptions.md +12 -2
  165. package/dist/docs/reference/geometry/MetricFastenerSize.md +8 -2
  166. package/dist/docs/reference/geometry/MetricFastenerStandard.md +8 -2
  167. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +8 -2
  168. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +8 -2
  169. package/dist/docs/reference/geometry/ModelingLimits.md +19 -1
  170. package/dist/docs/reference/geometry/NumericArray.md +28 -0
  171. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
  172. package/dist/docs/reference/geometry/Path2-type.md +16 -2
  173. package/dist/docs/reference/geometry/Path2Data.md +16 -2
  174. package/dist/docs/reference/geometry/Path2Input.md +16 -2
  175. package/dist/docs/reference/geometry/Path3-type.md +16 -2
  176. package/dist/docs/reference/geometry/Path3Data.md +16 -2
  177. package/dist/docs/reference/geometry/Path3Input.md +16 -2
  178. package/dist/docs/reference/geometry/PathFrame.md +8 -2
  179. package/dist/docs/reference/geometry/PathLocation.md +16 -2
  180. package/dist/docs/reference/geometry/PathNormalGuide.md +16 -2
  181. package/dist/docs/reference/geometry/PathOptions.md +12 -2
  182. package/dist/docs/reference/geometry/PathPatternOptions.md +12 -2
  183. package/dist/docs/reference/geometry/PathPlacement.md +8 -2
  184. package/dist/docs/reference/geometry/PathResamplingOptions.md +16 -2
  185. package/dist/docs/reference/geometry/Pivot2Options.md +17 -3
  186. package/dist/docs/reference/geometry/Pivot3Options.md +17 -3
  187. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +12 -2
  188. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +12 -2
  189. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +12 -2
  190. package/dist/docs/reference/geometry/PlanarPatchQuality.md +12 -2
  191. package/dist/docs/reference/geometry/PolygonData.md +12 -2
  192. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
  193. package/dist/docs/reference/geometry/PrimitiveAttachment.md +11 -3
  194. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +11 -1
  195. package/dist/docs/reference/geometry/PrintableThreadFit.md +12 -2
  196. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +12 -2
  197. package/dist/docs/reference/geometry/Profile.md +8 -2
  198. package/dist/docs/reference/geometry/ProfileComponent2.md +12 -2
  199. package/dist/docs/reference/geometry/ProfileContour2.md +12 -2
  200. package/dist/docs/reference/geometry/ProfileSpan2.md +12 -2
  201. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +11 -1
  202. package/dist/docs/reference/geometry/RackPitchDimensions.md +8 -2
  203. package/dist/docs/reference/geometry/RackPitchSpec.md +8 -2
  204. package/dist/docs/reference/geometry/RadialPatternOptions.md +12 -2
  205. package/dist/docs/reference/geometry/RadialSizing.md +11 -1
  206. package/dist/docs/reference/geometry/RadialSizingOptions.md +11 -1
  207. package/dist/docs/reference/geometry/RectangleContourOptions.md +14 -4
  208. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +12 -2
  209. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +12 -2
  210. package/dist/docs/reference/geometry/RectangleProfileOptions.md +10 -4
  211. package/dist/docs/reference/geometry/RegionData.md +12 -2
  212. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
  213. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
  214. package/dist/docs/reference/geometry/RevolveOptions.md +17 -3
  215. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +11 -1
  216. package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
  217. package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
  218. package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
  219. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
  220. package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
  221. package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
  222. package/dist/docs/reference/geometry/SampledThreadHelices.md +8 -2
  223. package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
  224. package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
  225. package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
  226. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +11 -1
  227. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +12 -2
  228. package/dist/docs/reference/geometry/SphereOptions.md +11 -1
  229. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +16 -2
  230. package/dist/docs/reference/geometry/StarContourOptions.md +84 -0
  231. package/dist/docs/reference/geometry/StrokeCap.md +12 -2
  232. package/dist/docs/reference/geometry/StrokeJoin.md +12 -2
  233. package/dist/docs/reference/geometry/StrokeOptions.md +12 -2
  234. package/dist/docs/reference/geometry/SvgImportOptions.md +8 -2
  235. package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
  236. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
  237. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
  238. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
  239. package/dist/docs/reference/geometry/SweepOptions.md +16 -2
  240. package/dist/docs/reference/geometry/SweepOrientation.md +16 -2
  241. package/dist/docs/reference/geometry/ThreadBevelOptions.md +18 -31
  242. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +8 -2
  243. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +8 -2
  244. package/dist/docs/reference/geometry/ThreadEndStyle.md +16 -2
  245. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +16 -2
  246. package/dist/docs/reference/geometry/ThreadHandedness.md +16 -2
  247. package/dist/docs/reference/geometry/ThreadHelixOptions.md +8 -2
  248. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +16 -2
  249. package/dist/docs/reference/geometry/ThreadLeadInShape.md +16 -2
  250. package/dist/docs/reference/geometry/ThreadProfile-type.md +17 -3
  251. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +16 -2
  252. package/dist/docs/reference/geometry/ThreadProfileSpec.md +16 -2
  253. package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +19 -5
  254. package/dist/docs/reference/geometry/ThreadRole.md +8 -2
  255. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +29 -66
  256. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +17 -3
  257. package/dist/docs/reference/geometry/ThreadedNutOptions.md +86 -87
  258. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +29 -7
  259. package/dist/docs/reference/geometry/ThreadedNutShape.md +12 -2
  260. package/dist/docs/reference/geometry/ThreadedRodOptions.md +63 -84
  261. package/dist/docs/reference/geometry/TorusOptions.md +11 -1
  262. package/dist/docs/reference/geometry/Transform2-type.md +17 -3
  263. package/dist/docs/reference/geometry/Transform2Data.md +17 -3
  264. package/dist/docs/reference/geometry/Transform2Input.md +17 -3
  265. package/dist/docs/reference/geometry/Transform3-type.md +17 -3
  266. package/dist/docs/reference/geometry/Transform3Data.md +17 -3
  267. package/dist/docs/reference/geometry/Transform3Input.md +17 -3
  268. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +16 -2
  269. package/dist/docs/reference/geometry/TriangleMesh.md +19 -6
  270. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +25 -5
  271. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +13 -3
  272. package/dist/docs/reference/geometry/TriangleMeshInput.md +29 -0
  273. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +16 -2
  274. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +12 -2
  275. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +12 -2
  276. package/dist/docs/reference/geometry/TriangleMeshSignature.md +14 -4
  277. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +12 -2
  278. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +12 -2
  279. package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +145 -0
  280. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +12 -2
  281. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +16 -2
  282. package/dist/docs/reference/geometry/TubeOptions.md +20 -86
  283. package/dist/docs/reference/geometry/Vector2-type.md +17 -3
  284. package/dist/docs/reference/geometry/Vector2Data.md +21 -3
  285. package/dist/docs/reference/geometry/Vector2Input.md +17 -3
  286. package/dist/docs/reference/geometry/Vector3-type.md +17 -3
  287. package/dist/docs/reference/geometry/Vector3Data.md +17 -3
  288. package/dist/docs/reference/geometry/Vector3Input.md +17 -3
  289. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +12 -2
  290. package/dist/docs/reference/geometry/VectorTextLayout.md +16 -2
  291. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +14 -4
  292. package/dist/docs/reference/geometry/VectorTextMetrics.md +16 -2
  293. package/dist/docs/reference/geometry/VectorTextOptions.md +12 -2
  294. package/dist/docs/reference/geometry/add2.md +9 -3
  295. package/dist/docs/reference/geometry/add3.md +9 -3
  296. package/dist/docs/reference/geometry/anchor3.md +9 -3
  297. package/dist/docs/reference/geometry/anchorFrame3.md +8 -2
  298. package/dist/docs/reference/geometry/applyTransformDirection3.md +9 -3
  299. package/dist/docs/reference/geometry/applyTransformPoint3.md +9 -3
  300. package/dist/docs/reference/geometry/attachmentTransform3.md +9 -3
  301. package/dist/docs/reference/geometry/bounds2.md +18 -8
  302. package/dist/docs/reference/geometry/bounds3.md +18 -8
  303. package/dist/docs/reference/geometry/boundsCenter.md +10 -4
  304. package/dist/docs/reference/geometry/boundsSize.md +10 -4
  305. package/dist/docs/reference/geometry/boxAnchor3.md +11 -5
  306. package/dist/docs/reference/geometry/categories/bounds-layout.md +6 -6
  307. package/dist/docs/reference/geometry/categories/curves-paths.md +3 -3
  308. package/dist/docs/reference/geometry/categories/mechanical.md +9 -11
  309. package/dist/docs/reference/geometry/categories/meshes.md +20 -33
  310. package/dist/docs/reference/geometry/categories/pattern-placement.md +3 -3
  311. package/dist/docs/reference/geometry/categories/primitive-options.md +4 -4
  312. package/dist/docs/reference/geometry/categories/profiles-regions.md +6 -5
  313. package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -3
  314. package/dist/docs/reference/geometry/categories/transforms-math.md +5 -4
  315. package/dist/docs/reference/geometry/categories/vector-import.md +4 -4
  316. package/dist/docs/reference/geometry/circleContour.md +8 -2
  317. package/dist/docs/reference/geometry/closeToAxis.md +8 -2
  318. package/dist/docs/reference/geometry/compensateThreadDiameters.md +8 -2
  319. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +8 -2
  320. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +8 -2
  321. package/dist/docs/reference/geometry/composeTransform3.md +9 -3
  322. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +8 -2
  323. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +8 -2
  324. package/dist/docs/reference/geometry/contourContainsPoint.md +8 -2
  325. package/dist/docs/reference/geometry/cross2.md +9 -3
  326. package/dist/docs/reference/geometry/cross3.md +9 -3
  327. package/dist/docs/reference/geometry/cylinderAnchor3.md +10 -4
  328. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
  329. package/dist/docs/reference/geometry/distance2.md +9 -3
  330. package/dist/docs/reference/geometry/distance3.md +9 -3
  331. package/dist/docs/reference/geometry/distributeAlongPath.md +8 -2
  332. package/dist/docs/reference/geometry/dot2.md +9 -3
  333. package/dist/docs/reference/geometry/dot3.md +9 -3
  334. package/dist/docs/reference/geometry/ellipseContour.md +8 -2
  335. package/dist/docs/reference/geometry/eulerTransform3.md +9 -3
  336. package/dist/docs/reference/geometry/fitBounds.md +10 -4
  337. package/dist/docs/reference/geometry/fitTextLayout.md +8 -2
  338. package/dist/docs/reference/geometry/frameTransform3.md +9 -3
  339. package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +8 -2
  340. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +8 -2
  341. package/dist/docs/reference/geometry/gridPatternTransforms.md +8 -2
  342. package/dist/docs/reference/{model → geometry}/immutableBuffer.md +13 -2
  343. package/dist/docs/reference/geometry/inverseTransform3.md +9 -3
  344. package/dist/docs/reference/geometry/isGeometryError.md +11 -1
  345. package/dist/docs/reference/geometry/layoutRow.md +10 -4
  346. package/dist/docs/reference/geometry/length2.md +9 -3
  347. package/dist/docs/reference/geometry/length3.md +9 -3
  348. package/dist/docs/reference/geometry/lerp2.md +9 -3
  349. package/dist/docs/reference/geometry/lerp3.md +9 -3
  350. package/dist/docs/reference/geometry/linearPatternTransforms.md +8 -2
  351. package/dist/docs/reference/geometry/matchProfiles.md +8 -2
  352. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +8 -2
  353. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +8 -2
  354. package/dist/docs/reference/geometry/normalize2.md +9 -3
  355. package/dist/docs/reference/geometry/normalize3.md +9 -3
  356. package/dist/docs/reference/geometry/normalizeContour.md +8 -2
  357. package/dist/docs/reference/geometry/normalizePolygon.md +8 -2
  358. package/dist/docs/reference/geometry/normalizeRegion.md +8 -2
  359. package/dist/docs/reference/geometry/path2.md +12 -2
  360. package/dist/docs/reference/geometry/path3.md +12 -2
  361. package/dist/docs/reference/geometry/pathPatternTransforms.md +8 -2
  362. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +25 -26
  363. package/dist/docs/reference/geometry/preflightSvgRegion.md +8 -2
  364. package/dist/docs/reference/geometry/preflightThreadedNut.md +31 -27
  365. package/dist/docs/reference/geometry/preflightThreadedRod.md +25 -26
  366. package/dist/docs/reference/geometry/projectOntoPlane3.md +9 -3
  367. package/dist/docs/reference/geometry/radialPatternTransforms.md +8 -2
  368. package/dist/docs/reference/geometry/rectangleContour.md +17 -6
  369. package/dist/docs/reference/geometry/rectangleProfile.md +9 -3
  370. package/dist/docs/reference/geometry/regionArea.md +8 -2
  371. package/dist/docs/reference/geometry/regionBounds.md +8 -2
  372. package/dist/docs/reference/geometry/regularPolygonContour.md +9 -3
  373. package/dist/docs/reference/geometry/resamplePolyline2.md +8 -2
  374. package/dist/docs/reference/geometry/resamplePolyline3.md +8 -2
  375. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +7 -1
  376. package/dist/docs/reference/geometry/resolveArcSegments.md +7 -1
  377. package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
  378. package/dist/docs/reference/geometry/resolveCircularSegments.md +7 -1
  379. package/dist/docs/reference/geometry/resolveCylindricalGear.md +8 -2
  380. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +8 -2
  381. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +8 -2
  382. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +8 -2
  383. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +7 -1
  384. package/dist/docs/reference/geometry/resolveKnuckleHinge.md +8 -2
  385. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +8 -2
  386. package/dist/docs/reference/geometry/resolveRackPitch.md +8 -2
  387. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +8 -2
  388. package/dist/docs/reference/geometry/rotate2.md +9 -3
  389. package/dist/docs/reference/geometry/rotationTransform3.md +9 -3
  390. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -2
  391. package/dist/docs/reference/geometry/sampleContour.md +8 -2
  392. package/dist/docs/reference/geometry/sampleCurve2.md +8 -2
  393. package/dist/docs/reference/geometry/sampleCurve3.md +8 -2
  394. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +8 -2
  395. package/dist/docs/reference/geometry/sampleHelix.md +8 -2
  396. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +8 -2
  397. package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -2
  398. package/dist/docs/reference/geometry/sampleSideProfile.md +8 -2
  399. package/dist/docs/reference/geometry/sampleTextContours.md +8 -2
  400. package/dist/docs/reference/geometry/sampleThreadHelices.md +8 -2
  401. package/dist/docs/reference/geometry/scale2.md +9 -3
  402. package/dist/docs/reference/geometry/scale3.md +9 -3
  403. package/dist/docs/reference/geometry/scaleTransform3.md +9 -3
  404. package/dist/docs/reference/geometry/signedContourArea.md +8 -2
  405. package/dist/docs/reference/geometry/starContour.md +24 -16
  406. package/dist/docs/reference/geometry/strokeRegionData.md +8 -2
  407. package/dist/docs/reference/geometry/subtract2.md +9 -3
  408. package/dist/docs/reference/geometry/subtract3.md +9 -3
  409. package/dist/docs/reference/geometry/threadProfile.md +8 -2
  410. package/dist/docs/reference/geometry/transform2.md +13 -3
  411. package/dist/docs/reference/geometry/transform3.md +13 -3
  412. package/dist/docs/reference/geometry/transformDeterminant3.md +9 -3
  413. package/dist/docs/reference/geometry/transformRegionData.md +8 -2
  414. package/dist/docs/reference/geometry/translationTransform3.md +9 -3
  415. package/dist/docs/reference/geometry/triangulateContour.md +8 -2
  416. package/dist/docs/reference/geometry/validateRigidTransform3.md +41 -0
  417. package/dist/docs/reference/geometry/validateTransform3.md +9 -3
  418. package/dist/docs/reference/geometry/vector2.md +13 -3
  419. package/dist/docs/reference/geometry/vector3.md +13 -3
  420. package/dist/docs/reference/geometry.md +10 -10
  421. package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
  422. package/dist/docs/reference/mesh/RenderMesh.md +68 -0
  423. package/dist/docs/reference/mesh/analyze.md +102 -0
  424. package/dist/docs/reference/mesh/analyzeQuality.md +62 -0
  425. package/dist/docs/reference/mesh/bounds.md +45 -0
  426. package/dist/docs/reference/mesh/categories/operations.md +57 -0
  427. package/dist/docs/reference/mesh/centroid.md +45 -0
  428. package/dist/docs/reference/mesh/extrude.md +79 -0
  429. package/dist/docs/reference/mesh/heightfield.md +57 -0
  430. package/dist/docs/reference/mesh/immutable.md +51 -0
  431. package/dist/docs/reference/mesh/join.md +47 -0
  432. package/dist/docs/reference/mesh/loft.md +83 -0
  433. package/dist/docs/reference/mesh/optimizePlanarPatches.md +102 -0
  434. package/dist/docs/reference/mesh/preflightHeightfield.md +48 -0
  435. package/dist/docs/reference/mesh/preflightThreadSolid.md +96 -0
  436. package/dist/docs/reference/mesh/render.md +57 -0
  437. package/dist/docs/reference/mesh/reverse.md +41 -0
  438. package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +23 -17
  439. package/dist/docs/reference/mesh/signature.md +70 -0
  440. package/dist/docs/reference/mesh/sweep.md +92 -0
  441. package/dist/docs/reference/mesh/threadRidge.md +78 -0
  442. package/dist/docs/reference/mesh/threadSolid.md +96 -0
  443. package/dist/docs/reference/mesh/transform.md +53 -0
  444. package/dist/docs/reference/mesh/validate.md +75 -0
  445. package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +23 -11
  446. package/dist/docs/reference/mesh.md +21 -0
  447. package/dist/docs/reference/model/CircleOptions.md +13 -7
  448. package/dist/docs/reference/model/DiagnosticOptions.md +21 -1
  449. package/dist/docs/reference/model/EllipseOptions.md +13 -7
  450. package/dist/docs/reference/model/GenerateCallback.md +11 -5
  451. package/dist/docs/reference/model/GenerateContext.md +26 -99
  452. package/dist/docs/reference/model/GenerationDiagnostic.md +19 -1
  453. package/dist/docs/reference/model/GenerationError.md +8 -2
  454. package/dist/docs/reference/model/HoleCutterOptions.md +17 -10
  455. package/dist/docs/reference/model/HoleCutterOverrun.md +10 -3
  456. package/dist/docs/reference/model/HoleCutterRecess.md +10 -3
  457. package/dist/docs/reference/model/HullOptions.md +13 -6
  458. package/dist/docs/reference/model/ImmutableValue.md +26 -0
  459. package/dist/docs/reference/model/ImplicitOptions.md +12 -6
  460. package/dist/docs/reference/model/JoinOptions.md +76 -0
  461. package/dist/docs/reference/model/JoinTransition.md +54 -0
  462. package/dist/docs/reference/model/KnuckleHinge-type.md +9 -3
  463. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
  464. package/dist/docs/reference/model/KnuckleHingeOptions.md +10 -4
  465. package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
  466. package/dist/docs/reference/model/LoftStation.md +16 -9
  467. package/dist/docs/reference/model/Memo.md +54 -0
  468. package/dist/docs/reference/model/ModelProgram.md +8 -2
  469. package/dist/docs/reference/model/PartDeclaration.md +87 -0
  470. package/dist/docs/reference/model/PartGeometry.md +10 -4
  471. package/dist/docs/reference/model/PartOptions.md +16 -22
  472. package/dist/docs/reference/model/PatternSource.md +10 -4
  473. package/dist/docs/reference/model/PlaneOptions.md +11 -4
  474. package/dist/docs/reference/model/PolygonOptions.md +20 -14
  475. package/dist/docs/reference/model/Profile.md +10 -4
  476. package/dist/docs/reference/model/RectangleOptions.md +28 -22
  477. package/dist/docs/reference/model/RegularPolygonOptions.md +13 -7
  478. package/dist/docs/reference/model/Section.md +196 -77
  479. package/dist/docs/reference/model/SectionHullOptions.md +13 -6
  480. package/dist/docs/reference/model/SectionInspection.md +12 -18
  481. package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
  482. package/dist/docs/reference/model/SectionOffsetOptions.md +12 -6
  483. package/dist/docs/reference/model/Solid.md +339 -54
  484. package/dist/docs/reference/model/SolidInspection.md +12 -18
  485. package/dist/docs/reference/model/SolidSegmentHit.md +14 -4
  486. package/dist/docs/reference/model/StarOptions.md +53 -25
  487. package/dist/docs/reference/model/SvgOrigin.md +10 -4
  488. package/dist/docs/reference/model/SvgPathSectionOptions.md +14 -8
  489. package/dist/docs/reference/model/SvgSectionOptions.md +16 -10
  490. package/dist/docs/reference/model/TextSectionOptions.md +14 -8
  491. package/dist/docs/reference/model/box.md +18 -11
  492. package/dist/docs/reference/model/categories/boolean-operations.md +13 -11
  493. package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -7
  494. package/dist/docs/reference/model/categories/explicit-profiles.md +1 -14
  495. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +11 -23
  496. package/dist/docs/reference/model/categories/generation.md +10 -15
  497. package/dist/docs/reference/model/categories/hinges.md +1 -4
  498. package/dist/docs/reference/model/categories/mesh-inspection.md +14 -9
  499. package/dist/docs/reference/model/categories/primitives.md +8 -24
  500. package/dist/docs/reference/model/categories/sections.md +6 -16
  501. package/dist/docs/reference/model/categories/threads.md +3 -30
  502. package/dist/docs/reference/model/categories/transforms-placement.md +5 -35
  503. package/dist/docs/reference/model/circle.md +10 -4
  504. package/dist/docs/reference/model/cylinder.md +13 -6
  505. package/dist/docs/reference/model/ellipse.md +10 -4
  506. package/dist/docs/reference/model/extrude.md +28 -20
  507. package/dist/docs/reference/model/generate.md +10 -4
  508. package/dist/docs/reference/model/gridPattern.md +15 -9
  509. package/dist/docs/reference/model/heightfield.md +10 -4
  510. package/dist/docs/reference/model/holeCutter.md +21 -4
  511. package/dist/docs/reference/model/hull.md +9 -2
  512. package/dist/docs/reference/model/implicit.md +9 -3
  513. package/dist/docs/reference/model/internalThreadCutter.md +31 -33
  514. package/dist/docs/reference/model/intersect.md +11 -4
  515. package/dist/docs/reference/model/join.md +89 -0
  516. package/dist/docs/reference/model/knuckleHinge.md +8 -2
  517. package/dist/docs/reference/model/linearPattern.md +15 -9
  518. package/dist/docs/reference/model/loft.md +36 -28
  519. package/dist/docs/reference/model/matchProfiles.md +14 -8
  520. package/dist/docs/reference/model/minkowskiSum.md +9 -2
  521. package/dist/docs/reference/model/pathPattern.md +25 -19
  522. package/dist/docs/reference/model/polygon.md +13 -7
  523. package/dist/docs/reference/model/preflightInternalThreadCutter.md +33 -35
  524. package/dist/docs/reference/model/preflightThreadedNut.md +43 -40
  525. package/dist/docs/reference/model/preflightThreadedRod.md +33 -35
  526. package/dist/docs/reference/model/radialPattern.md +15 -9
  527. package/dist/docs/reference/model/rectangle.md +14 -8
  528. package/dist/docs/reference/model/regularPolygon.md +10 -4
  529. package/dist/docs/reference/model/revolve.md +25 -17
  530. package/dist/docs/reference/model/solidFromMesh.md +16 -9
  531. package/dist/docs/reference/model/sphere.md +13 -6
  532. package/dist/docs/reference/model/star.md +17 -11
  533. package/dist/docs/reference/model/stroke.md +21 -15
  534. package/dist/docs/reference/model/svgPathSection.md +12 -6
  535. package/dist/docs/reference/model/svgSection.md +13 -7
  536. package/dist/docs/reference/model/sweep.md +29 -21
  537. package/dist/docs/reference/model/textSection.md +15 -9
  538. package/dist/docs/reference/model/threadRidge.md +21 -15
  539. package/dist/docs/reference/model/threadedNut.md +41 -38
  540. package/dist/docs/reference/model/threadedRod.md +31 -33
  541. package/dist/docs/reference/model/torus.md +20 -13
  542. package/dist/docs/reference/model/tube.md +13 -41
  543. package/dist/docs/reference/model/union.md +11 -4
  544. package/dist/docs/reference/model.md +11 -20
  545. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +8 -2
  546. package/dist/docs/reference/text/VectorFont.md +39 -33
  547. package/dist/docs/reference/text/VectorFontOptions.md +7 -1
  548. package/dist/docs/reference/text/categories/font-preparation.md +3 -15
  549. package/dist/docs/reference/text/prepareVectorFont.md +7 -1
  550. package/dist/docs/reference/text.md +4 -4
  551. package/dist/engine/execution.js +10 -6
  552. package/dist/engine/finalization.js +2 -74
  553. package/dist/engine/index.js +24 -30
  554. package/dist/engine/model-parts.js +8 -0
  555. package/dist/engine/model-summary.js +5 -5
  556. package/dist/engine/native/construction-mesh.js +41 -0
  557. package/dist/engine/native/index.js +1 -1
  558. package/dist/engine/native/material-components.js +5 -54
  559. package/dist/engine/native/mesh-observation.js +55 -0
  560. package/dist/engine/native/operations.js +0 -7
  561. package/dist/engine/native/regions.js +2 -1
  562. package/dist/engine/native/scoped-primitives.js +5 -4
  563. package/dist/engine/native/threads.js +14 -14
  564. package/dist/engine/{construction-operations.js → operations/construction.js} +25 -23
  565. package/dist/engine/{modeling-context.js → operations/context.js} +12 -10
  566. package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
  567. package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +23 -22
  568. package/dist/engine/{hole-cutter-operation.js → operations/hole-cutter.js} +3 -3
  569. package/dist/engine/{inspection-operations.js → operations/inspection.js} +6 -6
  570. package/dist/engine/operations/join-collar-profile.js +120 -0
  571. package/dist/engine/operations/join.js +508 -0
  572. package/dist/engine/{knuckle-hinge-operation.js → operations/knuckle-hinge.js} +4 -4
  573. package/dist/engine/{loft-operations.js → operations/loft.js} +13 -12
  574. package/dist/engine/{mechanical-operations.js → operations/mechanical.js} +2 -2
  575. package/dist/engine/{pattern-operations.js → operations/patterns.js} +4 -4
  576. package/dist/engine/{primitive-anchors.js → operations/primitives/anchors.js} +9 -4
  577. package/dist/engine/{primitive-operations.js → operations/primitives/construction.js} +18 -19
  578. package/dist/engine/{primitive-correspondence.js → operations/primitives/correspondence.js} +4 -4
  579. package/dist/engine/{profile-mesh.js → operations/primitives/profile-mesh.js} +12 -12
  580. package/dist/engine/{primitive-profiles.js → operations/primitives/profiles.js} +7 -7
  581. package/dist/engine/{section-operations.js → operations/sections.js} +8 -8
  582. package/dist/engine/{transform-operations.js → operations/transforms.js} +8 -8
  583. package/dist/engine/placement.js +3 -4
  584. package/dist/engine/recipe-realization.js +2 -2
  585. package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
  586. package/dist/engine/session/dependencies.js +93 -0
  587. package/dist/engine/session/graph.js +428 -0
  588. package/dist/engine/{session-native.js → session/native-cache.js} +2 -2
  589. package/dist/engine/{session.js → session/session.js} +20 -14
  590. package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +30 -60
  591. package/dist/export/3mf.js +190 -0
  592. package/dist/export/capture.js +178 -0
  593. package/dist/export/glb.js +209 -0
  594. package/dist/export/index.js +5 -0
  595. package/dist/export/limits.js +18 -0
  596. package/dist/export/stl.js +105 -0
  597. package/dist/export/types.js +1 -0
  598. package/dist/export/writer.js +54 -0
  599. package/dist/geometry/anchors.js +4 -11
  600. package/dist/geometry/bounds-value.js +22 -12
  601. package/dist/geometry/heightfield.js +10 -12
  602. package/dist/{model → geometry}/immutable-buffer.js +31 -12
  603. package/dist/geometry/index.js +16 -22
  604. package/dist/geometry/join-geometry.js +839 -0
  605. package/dist/geometry/loft/loft.js +11 -6
  606. package/dist/geometry/mechanical/index.js +5 -5
  607. package/dist/geometry/mechanical/threads/bevel.js +24 -0
  608. package/dist/geometry/mechanical/{threads.js → threads/fit.js} +4 -4
  609. package/dist/geometry/mechanical/{thread-helices.js → threads/helices.js} +3 -3
  610. package/dist/geometry/mechanical/{thread-mesh-plan.js → threads/mesh-plan.js} +38 -53
  611. package/dist/geometry/mechanical/{thread-mesh.js → threads/mesh.js} +9 -9
  612. package/dist/geometry/mechanical/{thread-profiles.js → threads/profiles.js} +3 -3
  613. package/dist/geometry/mechanical/{thread-solids.js → threads/solids.js} +58 -89
  614. package/dist/geometry/mechanical/{thread-surface.js → threads/surface.js} +7 -8
  615. package/dist/geometry/mesh/mesh-centroid.js +3 -2
  616. package/dist/geometry/mesh/mesh-planar.js +27 -8
  617. package/dist/geometry/mesh/mesh-quality.js +2 -1
  618. package/dist/geometry/mesh/mesh-render.js +205 -0
  619. package/dist/geometry/mesh/mesh-signature.js +7 -6
  620. package/dist/geometry/mesh/mesh-solid-intersections.js +43 -17
  621. package/dist/geometry/mesh/mesh-solid.js +8 -5
  622. package/dist/geometry/mesh/mesh-types.js +1 -0
  623. package/dist/geometry/mesh/mesh.js +13 -22
  624. package/dist/geometry/mesh-api.js +15 -0
  625. package/dist/geometry/primitive-resolvers.js +42 -14
  626. package/dist/geometry/profiles/primitives/circle.js +19 -0
  627. package/dist/geometry/profiles/{shapes.js → primitives/ellipse.js} +6 -10
  628. package/dist/geometry/profiles/{rectangle.js → primitives/rectangle.js} +14 -12
  629. package/dist/geometry/profiles/primitives/regular-polygon.js +33 -0
  630. package/dist/geometry/profiles/primitives/star.js +28 -0
  631. package/dist/geometry/region-offset.js +278 -0
  632. package/dist/geometry/regions.js +11 -1
  633. package/dist/geometry/revolve/revolve-mesh.js +1 -1
  634. package/dist/geometry/{svg-import.js → svg/import.js} +10 -10
  635. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  636. package/dist/geometry/transform3.js +29 -0
  637. package/dist/index.js +2 -1
  638. package/dist/model/diagnostic-path.js +26 -0
  639. package/dist/model/execution-binding.js +3 -3
  640. package/dist/model/generation.js +9 -3
  641. package/dist/model/geometry-recipes.js +1 -1
  642. package/dist/model/immutable-generation-data.js +45 -14
  643. package/dist/model/join.js +1 -0
  644. package/dist/model/operations.js +34 -144
  645. package/dist/model/recipe-declaration.js +7 -2
  646. package/dist/model/shape-handles.js +31 -7
  647. package/dist/text/index.js +1 -1
  648. package/package.json +38 -11
  649. package/dist/docs/reference/engine/Export3mfOptions.md +0 -29
  650. package/dist/docs/reference/engine/ExportMeshPart.md +0 -65
  651. package/dist/docs/reference/engine/ModelSnapshot.md +0 -184
  652. package/dist/docs/reference/engine/SnapshotPart.md +0 -133
  653. package/dist/docs/reference/engine/validateModel.md +0 -48
  654. package/dist/docs/reference/geometry/ThreadedNutBevel.md +0 -14
  655. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +0 -61
  656. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +0 -56
  657. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +0 -39
  658. package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +0 -64
  659. package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
  660. package/dist/docs/reference/geometry/heightfieldMesh.md +0 -52
  661. package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
  662. package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
  663. package/dist/docs/reference/geometry/joinTriangleMeshes.md +0 -40
  664. package/dist/docs/reference/geometry/loftMesh.md +0 -77
  665. package/dist/docs/reference/geometry/meshBounds.md +0 -39
  666. package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
  667. package/dist/docs/reference/geometry/preflightHeightfield.md +0 -43
  668. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
  669. package/dist/docs/reference/geometry/reverseTriangleMesh.md +0 -34
  670. package/dist/docs/reference/geometry/sweepMesh.md +0 -86
  671. package/dist/docs/reference/geometry/transformTriangleMesh.md +0 -46
  672. package/dist/docs/reference/geometry/validateTriangleMesh.md +0 -63
  673. package/dist/docs/reference/model/Anchor3.md +0 -55
  674. package/dist/docs/reference/model/AttachOptions.md +0 -69
  675. package/dist/docs/reference/model/Bounds2-type.md +0 -125
  676. package/dist/docs/reference/model/Bounds2Data.md +0 -44
  677. package/dist/docs/reference/model/Bounds2Input.md +0 -19
  678. package/dist/docs/reference/model/Bounds2Options.md +0 -70
  679. package/dist/docs/reference/model/Bounds3-type.md +0 -125
  680. package/dist/docs/reference/model/Bounds3Data.md +0 -44
  681. package/dist/docs/reference/model/Bounds3Input.md +0 -19
  682. package/dist/docs/reference/model/Bounds3Options.md +0 -70
  683. package/dist/docs/reference/model/BoxEdge.md +0 -15
  684. package/dist/docs/reference/model/BoxEdgeSelection.md +0 -19
  685. package/dist/docs/reference/model/BoxEdgeTreatments.md +0 -20
  686. package/dist/docs/reference/model/BoxOptions.md +0 -92
  687. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
  688. package/dist/docs/reference/model/CircleContourOptions.md +0 -21
  689. package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -64
  690. package/dist/docs/reference/model/Computed.md +0 -40
  691. package/dist/docs/reference/model/ComputedValue.md +0 -24
  692. package/dist/docs/reference/model/Contour.md +0 -24
  693. package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
  694. package/dist/docs/reference/model/CorrespondingContour.md +0 -46
  695. package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
  696. package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
  697. package/dist/docs/reference/model/CylinderOptions.md +0 -58
  698. package/dist/docs/reference/model/EdgeTreatment.md +0 -22
  699. package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
  700. package/dist/docs/reference/model/EndTreatments.md +0 -39
  701. package/dist/docs/reference/model/FinalizedModel.md +0 -131
  702. package/dist/docs/reference/model/FinalizedPart.md +0 -87
  703. package/dist/docs/reference/model/Frame3.md +0 -63
  704. package/dist/docs/reference/model/GeneratedPart.md +0 -97
  705. package/dist/docs/reference/model/GeometryResolution.md +0 -70
  706. package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
  707. package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
  708. package/dist/docs/reference/model/GridPatternOptions.md +0 -50
  709. package/dist/docs/reference/model/HeightfieldOptions.md +0 -67
  710. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +0 -141
  711. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +0 -59
  712. package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -84
  713. package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -38
  714. package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -246
  715. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
  716. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
  717. package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
  718. package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
  719. package/dist/docs/reference/model/LoftCorrespondence.md +0 -27
  720. package/dist/docs/reference/model/LoftOptions.md +0 -91
  721. package/dist/docs/reference/model/LoftPlacement.md +0 -73
  722. package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
  723. package/dist/docs/reference/model/ModelingLimits.md +0 -126
  724. package/dist/docs/reference/model/NumericArray.md +0 -14
  725. package/dist/docs/reference/model/Path2-type.md +0 -196
  726. package/dist/docs/reference/model/Path2Data.md +0 -50
  727. package/dist/docs/reference/model/Path2Input.md +0 -20
  728. package/dist/docs/reference/model/Path3-type.md +0 -196
  729. package/dist/docs/reference/model/Path3Data.md +0 -50
  730. package/dist/docs/reference/model/Path3Input.md +0 -20
  731. package/dist/docs/reference/model/PathLocation.md +0 -69
  732. package/dist/docs/reference/model/PathNormalGuide.md +0 -46
  733. package/dist/docs/reference/model/PathOptions.md +0 -38
  734. package/dist/docs/reference/model/PathPatternOptions.md +0 -48
  735. package/dist/docs/reference/model/PathResamplingOptions.md +0 -83
  736. package/dist/docs/reference/model/Pivot2Options.md +0 -28
  737. package/dist/docs/reference/model/Pivot3Options.md +0 -28
  738. package/dist/docs/reference/model/PolygonData.md +0 -44
  739. package/dist/docs/reference/model/PrimitiveAttachment.md +0 -41
  740. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +0 -110
  741. package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
  742. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
  743. package/dist/docs/reference/model/ProfileComponent2.md +0 -46
  744. package/dist/docs/reference/model/ProfileContour2.md +0 -36
  745. package/dist/docs/reference/model/ProfileSpan2.md +0 -47
  746. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
  747. package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
  748. package/dist/docs/reference/model/RadialSizing.md +0 -15
  749. package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
  750. package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
  751. package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
  752. package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
  753. package/dist/docs/reference/model/RegionData.md +0 -19
  754. package/dist/docs/reference/model/RevolveOptions.md +0 -94
  755. package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
  756. package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
  757. package/dist/docs/reference/model/SphereOptions.md +0 -20
  758. package/dist/docs/reference/model/StrokeCap.md +0 -16
  759. package/dist/docs/reference/model/StrokeJoin.md +0 -16
  760. package/dist/docs/reference/model/StrokeOptions.md +0 -91
  761. package/dist/docs/reference/model/SweepOptions.md +0 -116
  762. package/dist/docs/reference/model/SweepOrientation.md +0 -116
  763. package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
  764. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
  765. package/dist/docs/reference/model/ThreadHandedness.md +0 -15
  766. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
  767. package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
  768. package/dist/docs/reference/model/ThreadProfile.md +0 -87
  769. package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -19
  770. package/dist/docs/reference/model/ThreadedNutBevel.md +0 -15
  771. package/dist/docs/reference/model/ThreadedNutOptions.md +0 -274
  772. package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -99
  773. package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
  774. package/dist/docs/reference/model/ThreadedRodOptions.md +0 -246
  775. package/dist/docs/reference/model/TorusOptions.md +0 -110
  776. package/dist/docs/reference/model/Transform2-type.md +0 -257
  777. package/dist/docs/reference/model/Transform2Data.md +0 -16
  778. package/dist/docs/reference/model/Transform2Input.md +0 -21
  779. package/dist/docs/reference/model/Transform3-type.md +0 -297
  780. package/dist/docs/reference/model/Transform3Data.md +0 -19
  781. package/dist/docs/reference/model/Transform3Input.md +0 -21
  782. package/dist/docs/reference/model/TriangleMesh.md +0 -42
  783. package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -123
  784. package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
  785. package/dist/docs/reference/model/TubeOptions.md +0 -143
  786. package/dist/docs/reference/model/Vector2-type.md +0 -271
  787. package/dist/docs/reference/model/Vector2Data.md +0 -15
  788. package/dist/docs/reference/model/Vector2Input.md +0 -21
  789. package/dist/docs/reference/model/Vector3-type.md +0 -283
  790. package/dist/docs/reference/model/Vector3Data.md +0 -15
  791. package/dist/docs/reference/model/Vector3Input.md +0 -21
  792. package/dist/docs/reference/model/VectorTextLayout.md +0 -40
  793. package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
  794. package/dist/docs/reference/model/anchor.md +0 -47
  795. package/dist/docs/reference/model/bounds2.md +0 -37
  796. package/dist/docs/reference/model/bounds3.md +0 -37
  797. package/dist/docs/reference/model/castSegment.md +0 -40
  798. package/dist/docs/reference/model/categories/bounds.md +0 -38
  799. package/dist/docs/reference/model/categories/contracts.md +0 -18
  800. package/dist/docs/reference/model/categories/core-values-errors.md +0 -30
  801. package/dist/docs/reference/model/categories/inspection.md +0 -29
  802. package/dist/docs/reference/model/categories/paths.md +0 -41
  803. package/dist/docs/reference/model/categories/resolution.md +0 -20
  804. package/dist/docs/reference/model/components.md +0 -71
  805. package/dist/docs/reference/model/compose.md +0 -31
  806. package/dist/docs/reference/model/distance.md +0 -45
  807. package/dist/docs/reference/model/immutableMesh.md +0 -44
  808. package/dist/docs/reference/model/inspectSection.md +0 -38
  809. package/dist/docs/reference/model/inspectSolid.md +0 -38
  810. package/dist/docs/reference/model/isEmpty.md +0 -39
  811. package/dist/docs/reference/model/path2.md +0 -54
  812. package/dist/docs/reference/model/path3.md +0 -49
  813. package/dist/docs/reference/model/split.md +0 -54
  814. package/dist/docs/reference/model/splitByPlane.md +0 -66
  815. package/dist/docs/reference/model/transform2.md +0 -46
  816. package/dist/docs/reference/model/transform3.md +0 -48
  817. package/dist/docs/reference/model/vector2.md +0 -40
  818. package/dist/docs/reference/model/vector3.md +0 -47
  819. package/dist/docs/reference/text/Bounds2Data.md +0 -34
  820. package/dist/docs/reference/text/Vector2Data.md +0 -7
  821. package/dist/docs/reference/text/VectorTextArcBaseline.md +0 -53
  822. package/dist/docs/reference/text/VectorTextLayout.md +0 -34
  823. package/dist/docs/reference/text/VectorTextLayoutOptions.md +0 -111
  824. package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
  825. package/dist/docs/reference/text/VectorTextOptions.md +0 -50
  826. package/dist/engine/export-3mf.js +0 -116
  827. package/dist/engine/model-dependencies.js +0 -46
  828. package/dist/engine/session-graph.js +0 -449
  829. package/dist/geometry/profiles/profiles.js +0 -71
  830. /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
  831. /package/dist/{engine → geometry/mesh}/mesh-view-cache.js +0 -0
  832. /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
@@ -0,0 +1,47 @@
1
+ # Mesh serialization
2
+
3
+ Serialize captured geometry, placement, appearance, and portable material identities.
4
+
5
+ Choose STL for binary triangle exchange, 3MF for portable manufacturing objects and material intent, or GLB for named display parts and crease-aware shading. Export limits are independent of generation limits. Buffered helpers collect the same output written by their streaming counterparts. Invalid geometry and delivery failures reject; diagnostics describe expected format losses. See [host export](../../../guides/hosting.md#export-the-completed-result) for lifecycle and coordinate conventions.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [exportStl](../exportStl.md) | Serializes a captured model as binary STL in millimetres and Z-up coordinates. Placement is baked into triangles. Diagnostics describe dropped names, appearance and materials. Mutable input is captured before the first await; no engine or renderer is needed. |
12
+ | [writeStl](../writeStl.md) | Writes owned binary STL chunks to a sink, awaiting backpressure after each bounded chunk. The host owns sink completion and recovery after failure. Honors cancellation and output limits. |
13
+ | [export3mf](../export3mf.md) | Serializes selected completed meshes as an owned 3MF file without initializing an engine. |
14
+ | [write3mf](../write3mf.md) | Writes 3MF with local mesh reuse, semantic parts, rigid placement, and standard color groups. Colored output requires the Materials extension. Explicit material IDs remain distinct base-material names, combined with appearance through multiproperties; display colors never select filament. Captures mutable inputs before awaiting and awaits each owned output chunk for backpressure. The host owns destination closing and cleanup of partial output after rejection. |
15
+ | [exportGlb](../exportGlb.md) | Serializes captured local meshes as uncompressed glTF 2.0 binary, in metres and Y-up. Preserves named parts, placement, shared geometry and display appearance. Authored normals take precedence over crease-aware shading; no engine, renderer or optional compression codec is loaded. |
16
+ | [writeGlb](../writeGlb.md) | Writes owned GLB chunks with backpressure, cancellation and explicit output limits. Plans accessor and container lengths before writing, then emits bounded binary chunks. Hosts own sink completion, scheduling and recovery after a partially written failure. |
17
+
18
+ ## Interfaces
19
+
20
+ | API | Summary |
21
+ | --- | --- |
22
+ | [ExportPart](../ExportPart.md) | A semantic part referencing reusable local geometry, with placement and appearance kept separate. |
23
+ | [ExportMaterial](../ExportMaterial.md) | Portable print material intent. Equal display colors do not merge different identities. |
24
+ | [ExportLimits](../ExportLimits.md) | Independent trusted export ceilings; output limits also apply to streaming writers. |
25
+ | [ExportOptions](../ExportOptions.md) | Shared serialization policy; hosts own scheduling, filenames, and delivery. |
26
+ | [ExportGlbOptions](../ExportGlbOptions.md) | Uncompressed glTF 2.0 binary serialization; converts millimetres/Z-up to metres/Y-up. |
27
+ | [ExportDiagnostic](../ExportDiagnostic.md) | Expected information loss imposed by the selected file format. |
28
+ | [ExportReport](../ExportReport.md) | Completed writer metadata; successful completion means the sink accepted every chunk. |
29
+ | [ExportedFile](../ExportedFile.md) | Owned file bytes and format metadata, usable in both Node and browsers. |
30
+
31
+ ## Type aliases
32
+
33
+ | API | Summary |
34
+ | --- | --- |
35
+ | [ExportGeometry](../ExportGeometry.md) | Local millimetre, Z-up indexed geometry; optional unit normals describe display shading only. |
36
+ | [ExportFormat](../ExportFormat.md) | Supported completed-mesh file formats. |
37
+ | [Export3mfOptions](../Export3mfOptions.md) | 3MF serialization of closed manufacturing meshes in millimetres; colored output uses the standard Materials extension. |
38
+ | [ExportStlOptions](../ExportStlOptions.md) | Binary STL serialization in millimetres; open triangle surfaces are permitted by default. |
39
+ | [ExportSink](../ExportSink.md) | Receives owned chunks in order. Writers await each call for backpressure; the host closes its destination. |
40
+
41
+ ## Values
42
+
43
+ | API | Summary |
44
+ | --- | --- |
45
+ | [defaultExportLimits](../defaultExportLimits.md) | Default standalone export policy: 64 parts, one million vertices, two million triangles, 96 MiB input, 512 MiB output. |
46
+
47
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,20 @@
1
+ # defaultExportLimits
2
+
3
+ Default standalone export policy: 64 parts, one million vertices, two million triangles, 96 MiB input, 512 MiB output.
4
+
5
+ `const` **defaultExportLimits**: [`ExportLimits`](ExportLimits.md)
6
+
7
+
8
+
9
+
10
+ ## Related APIs
11
+
12
+ - [ExportLimits](ExportLimits.md)
13
+
14
+ ## Supported imports
15
+
16
+ ```ts
17
+ import { defaultExportLimits } from "@metamesh/modeling/export";
18
+ ```
19
+
20
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,64 @@
1
+ # export3mf
2
+
3
+ Serializes selected completed meshes as an owned 3MF file without initializing an engine.
4
+
5
+ **export3mf**(`parts`: readonly [`ExportPart`](ExportPart.md)[], `options?`: [`ExportOptions`](ExportOptions.md)): `Promise`\<[`ExportedFile`](ExportedFile.md)\>
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="parts"></a>
12
+
13
+ **`parts`** · readonly [`ExportPart`](ExportPart.md)[] · Required
14
+
15
+
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`ExportOptions`](ExportOptions.md) · Optional
20
+
21
+ - [`name`](ExportOptions.md#name) · `string` · Optional
22
+
23
+ Display name, one through 1024 valid XML characters; defaults to MetaMesh model.
24
+
25
+ - [`limits`](ExportOptions.md#limits) · `Partial`\<[`ExportLimits`](ExportLimits.md)\> · Optional
26
+
27
+ Explicit export ceilings, independent of engine/session configuration.
28
+
29
+ - [`meshValidation`](ExportOptions.md#meshvalidation) · `"topology"` \| `"solid"` · Optional
30
+
31
+ Topology validation by default; solid additionally checks bounded intersections and shell nesting.
32
+
33
+ - [`materials`](ExportOptions.md#materials) · readonly [`ExportMaterial`](ExportMaterial.md)[] · Optional
34
+
35
+ Portable material identities referenced by parts. No slicer or device mapping is implied.
36
+
37
+ - [`signal`](ExportOptions.md#signal) · `AbortSignal` · Optional
38
+
39
+ Cancellation checked between bounded writing tasks; browser hosts should schedule CPU work in a Worker.
40
+
41
+
42
+
43
+ ## Returns
44
+
45
+ `Promise`\<[`ExportedFile`](ExportedFile.md)\>
46
+
47
+
48
+ ## Related APIs
49
+
50
+ - [ExportedFile](ExportedFile.md)
51
+ - [ExportOptions](ExportOptions.md)
52
+ - [ExportPart](ExportPart.md)
53
+
54
+ ## Supported imports
55
+
56
+ ```ts
57
+ import { export3mf } from "@metamesh/modeling/export";
58
+ ```
59
+
60
+ ```ts
61
+ import { export3mf } from "@metamesh/modeling/export/3mf";
62
+ ```
63
+
64
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,68 @@
1
+ # exportGlb
2
+
3
+ Serializes captured local meshes as uncompressed glTF 2.0 binary, in metres and Y-up. Preserves named parts, placement, shared geometry and display appearance. Authored normals take precedence over crease-aware shading; no engine, renderer or optional compression codec is loaded.
4
+
5
+ **exportGlb**(`parts`: readonly [`ExportPart`](ExportPart.md)[], `options?`: [`ExportGlbOptions`](ExportGlbOptions.md)): `Promise`\<[`ExportedFile`](ExportedFile.md)\>
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="parts"></a>
12
+
13
+ **`parts`** · readonly [`ExportPart`](ExportPart.md)[] · Required
14
+
15
+
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`ExportGlbOptions`](ExportGlbOptions.md) · Optional
20
+
21
+ - [`name`](ExportGlbOptions.md#name) · `string` · Optional
22
+
23
+ Display name, one through 1024 valid XML characters; defaults to MetaMesh model.
24
+
25
+ - [`limits`](ExportGlbOptions.md#limits) · `Partial`\<[`ExportLimits`](ExportLimits.md)\> · Optional
26
+
27
+ Explicit export ceilings, independent of engine/session configuration.
28
+
29
+ - [`meshValidation`](ExportGlbOptions.md#meshvalidation) · `"topology"` \| `"solid"` · Optional
30
+
31
+ Topology validation by default; solid additionally checks bounded intersections and shell nesting.
32
+
33
+ - [`materials`](ExportGlbOptions.md#materials) · readonly [`ExportMaterial`](ExportMaterial.md)[] · Optional
34
+
35
+ Portable material identities referenced by parts. No slicer or device mapping is implied.
36
+
37
+ - [`signal`](ExportGlbOptions.md#signal) · `AbortSignal` · Optional
38
+
39
+ Cancellation checked between bounded writing tasks; browser hosts should schedule CPU work in a Worker.
40
+
41
+ - [`creaseAngle`](ExportGlbOptions.md#creaseangle) · `number` · Optional
42
+
43
+ Normal smoothing threshold in degrees from zero through 180; defaults to 20. Authored normals take precedence.
44
+
45
+
46
+
47
+ ## Returns
48
+
49
+ `Promise`\<[`ExportedFile`](ExportedFile.md)\>
50
+
51
+
52
+ ## Related APIs
53
+
54
+ - [ExportedFile](ExportedFile.md)
55
+ - [ExportGlbOptions](ExportGlbOptions.md)
56
+ - [ExportPart](ExportPart.md)
57
+
58
+ ## Supported imports
59
+
60
+ ```ts
61
+ import { exportGlb } from "@metamesh/modeling/export";
62
+ ```
63
+
64
+ ```ts
65
+ import { exportGlb } from "@metamesh/modeling/export/glb";
66
+ ```
67
+
68
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,64 @@
1
+ # exportStl
2
+
3
+ Serializes a captured model as binary STL in millimetres and Z-up coordinates. Placement is baked into triangles. Diagnostics describe dropped names, appearance and materials. Mutable input is captured before the first await; no engine or renderer is needed.
4
+
5
+ **exportStl**(`parts`: readonly [`ExportPart`](ExportPart.md)[], `options?`: [`ExportOptions`](ExportOptions.md)): `Promise`\<[`ExportedFile`](ExportedFile.md)\>
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="parts"></a>
12
+
13
+ **`parts`** · readonly [`ExportPart`](ExportPart.md)[] · Required
14
+
15
+
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`ExportOptions`](ExportOptions.md) · Optional
20
+
21
+ - [`name`](ExportOptions.md#name) · `string` · Optional
22
+
23
+ Display name, one through 1024 valid XML characters; defaults to MetaMesh model.
24
+
25
+ - [`limits`](ExportOptions.md#limits) · `Partial`\<[`ExportLimits`](ExportLimits.md)\> · Optional
26
+
27
+ Explicit export ceilings, independent of engine/session configuration.
28
+
29
+ - [`meshValidation`](ExportOptions.md#meshvalidation) · `"topology"` \| `"solid"` · Optional
30
+
31
+ Topology validation by default; solid additionally checks bounded intersections and shell nesting.
32
+
33
+ - [`materials`](ExportOptions.md#materials) · readonly [`ExportMaterial`](ExportMaterial.md)[] · Optional
34
+
35
+ Portable material identities referenced by parts. No slicer or device mapping is implied.
36
+
37
+ - [`signal`](ExportOptions.md#signal) · `AbortSignal` · Optional
38
+
39
+ Cancellation checked between bounded writing tasks; browser hosts should schedule CPU work in a Worker.
40
+
41
+
42
+
43
+ ## Returns
44
+
45
+ `Promise`\<[`ExportedFile`](ExportedFile.md)\>
46
+
47
+
48
+ ## Related APIs
49
+
50
+ - [ExportedFile](ExportedFile.md)
51
+ - [ExportOptions](ExportOptions.md)
52
+ - [ExportPart](ExportPart.md)
53
+
54
+ ## Supported imports
55
+
56
+ ```ts
57
+ import { exportStl } from "@metamesh/modeling/export";
58
+ ```
59
+
60
+ ```ts
61
+ import { exportStl } from "@metamesh/modeling/export/stl";
62
+ ```
63
+
64
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,71 @@
1
+ # write3mf
2
+
3
+ Writes 3MF with local mesh reuse, semantic parts, rigid placement, and standard color groups. Colored output requires the Materials extension. Explicit material IDs remain distinct base-material names, combined with appearance through multiproperties; display colors never select filament. Captures mutable inputs before awaiting and awaits each owned output chunk for backpressure. The host owns destination closing and cleanup of partial output after rejection.
4
+
5
+ **write3mf**(`parts`: readonly [`ExportPart`](ExportPart.md)[], `sink`: [`ExportSink`](ExportSink.md), `options?`: [`ExportOptions`](ExportOptions.md)): `Promise`\<[`ExportReport`](ExportReport.md)\>
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="parts"></a>
12
+
13
+ **`parts`** · readonly [`ExportPart`](ExportPart.md)[] · Required
14
+
15
+
16
+
17
+ <a id="sink"></a>
18
+
19
+ **`sink`** · [`ExportSink`](ExportSink.md) · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`ExportOptions`](ExportOptions.md) · Optional
26
+
27
+ - [`name`](ExportOptions.md#name) · `string` · Optional
28
+
29
+ Display name, one through 1024 valid XML characters; defaults to MetaMesh model.
30
+
31
+ - [`limits`](ExportOptions.md#limits) · `Partial`\<[`ExportLimits`](ExportLimits.md)\> · Optional
32
+
33
+ Explicit export ceilings, independent of engine/session configuration.
34
+
35
+ - [`meshValidation`](ExportOptions.md#meshvalidation) · `"topology"` \| `"solid"` · Optional
36
+
37
+ Topology validation by default; solid additionally checks bounded intersections and shell nesting.
38
+
39
+ - [`materials`](ExportOptions.md#materials) · readonly [`ExportMaterial`](ExportMaterial.md)[] · Optional
40
+
41
+ Portable material identities referenced by parts. No slicer or device mapping is implied.
42
+
43
+ - [`signal`](ExportOptions.md#signal) · `AbortSignal` · Optional
44
+
45
+ Cancellation checked between bounded writing tasks; browser hosts should schedule CPU work in a Worker.
46
+
47
+
48
+
49
+ ## Returns
50
+
51
+ `Promise`\<[`ExportReport`](ExportReport.md)\>
52
+
53
+
54
+ ## Related APIs
55
+
56
+ - [ExportOptions](ExportOptions.md)
57
+ - [ExportPart](ExportPart.md)
58
+ - [ExportReport](ExportReport.md)
59
+ - [ExportSink](ExportSink.md)
60
+
61
+ ## Supported imports
62
+
63
+ ```ts
64
+ import { write3mf } from "@metamesh/modeling/export";
65
+ ```
66
+
67
+ ```ts
68
+ import { write3mf } from "@metamesh/modeling/export/3mf";
69
+ ```
70
+
71
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,75 @@
1
+ # writeGlb
2
+
3
+ Writes owned GLB chunks with backpressure, cancellation and explicit output limits. Plans accessor and container lengths before writing, then emits bounded binary chunks. Hosts own sink completion, scheduling and recovery after a partially written failure.
4
+
5
+ **writeGlb**(`parts`: readonly [`ExportPart`](ExportPart.md)[], `sink`: [`ExportSink`](ExportSink.md), `options?`: [`ExportGlbOptions`](ExportGlbOptions.md)): `Promise`\<[`ExportReport`](ExportReport.md)\>
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="parts"></a>
12
+
13
+ **`parts`** · readonly [`ExportPart`](ExportPart.md)[] · Required
14
+
15
+
16
+
17
+ <a id="sink"></a>
18
+
19
+ **`sink`** · [`ExportSink`](ExportSink.md) · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`ExportGlbOptions`](ExportGlbOptions.md) · Optional
26
+
27
+ - [`name`](ExportGlbOptions.md#name) · `string` · Optional
28
+
29
+ Display name, one through 1024 valid XML characters; defaults to MetaMesh model.
30
+
31
+ - [`limits`](ExportGlbOptions.md#limits) · `Partial`\<[`ExportLimits`](ExportLimits.md)\> · Optional
32
+
33
+ Explicit export ceilings, independent of engine/session configuration.
34
+
35
+ - [`meshValidation`](ExportGlbOptions.md#meshvalidation) · `"topology"` \| `"solid"` · Optional
36
+
37
+ Topology validation by default; solid additionally checks bounded intersections and shell nesting.
38
+
39
+ - [`materials`](ExportGlbOptions.md#materials) · readonly [`ExportMaterial`](ExportMaterial.md)[] · Optional
40
+
41
+ Portable material identities referenced by parts. No slicer or device mapping is implied.
42
+
43
+ - [`signal`](ExportGlbOptions.md#signal) · `AbortSignal` · Optional
44
+
45
+ Cancellation checked between bounded writing tasks; browser hosts should schedule CPU work in a Worker.
46
+
47
+ - [`creaseAngle`](ExportGlbOptions.md#creaseangle) · `number` · Optional
48
+
49
+ Normal smoothing threshold in degrees from zero through 180; defaults to 20. Authored normals take precedence.
50
+
51
+
52
+
53
+ ## Returns
54
+
55
+ `Promise`\<[`ExportReport`](ExportReport.md)\>
56
+
57
+
58
+ ## Related APIs
59
+
60
+ - [ExportGlbOptions](ExportGlbOptions.md)
61
+ - [ExportPart](ExportPart.md)
62
+ - [ExportReport](ExportReport.md)
63
+ - [ExportSink](ExportSink.md)
64
+
65
+ ## Supported imports
66
+
67
+ ```ts
68
+ import { writeGlb } from "@metamesh/modeling/export";
69
+ ```
70
+
71
+ ```ts
72
+ import { writeGlb } from "@metamesh/modeling/export/glb";
73
+ ```
74
+
75
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,71 @@
1
+ # writeStl
2
+
3
+ Writes owned binary STL chunks to a sink, awaiting backpressure after each bounded chunk. The host owns sink completion and recovery after failure. Honors cancellation and output limits.
4
+
5
+ **writeStl**(`parts`: readonly [`ExportPart`](ExportPart.md)[], `sink`: [`ExportSink`](ExportSink.md), `options?`: [`ExportOptions`](ExportOptions.md)): `Promise`\<[`ExportReport`](ExportReport.md)\>
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="parts"></a>
12
+
13
+ **`parts`** · readonly [`ExportPart`](ExportPart.md)[] · Required
14
+
15
+
16
+
17
+ <a id="sink"></a>
18
+
19
+ **`sink`** · [`ExportSink`](ExportSink.md) · Required
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`ExportOptions`](ExportOptions.md) · Optional
26
+
27
+ - [`name`](ExportOptions.md#name) · `string` · Optional
28
+
29
+ Display name, one through 1024 valid XML characters; defaults to MetaMesh model.
30
+
31
+ - [`limits`](ExportOptions.md#limits) · `Partial`\<[`ExportLimits`](ExportLimits.md)\> · Optional
32
+
33
+ Explicit export ceilings, independent of engine/session configuration.
34
+
35
+ - [`meshValidation`](ExportOptions.md#meshvalidation) · `"topology"` \| `"solid"` · Optional
36
+
37
+ Topology validation by default; solid additionally checks bounded intersections and shell nesting.
38
+
39
+ - [`materials`](ExportOptions.md#materials) · readonly [`ExportMaterial`](ExportMaterial.md)[] · Optional
40
+
41
+ Portable material identities referenced by parts. No slicer or device mapping is implied.
42
+
43
+ - [`signal`](ExportOptions.md#signal) · `AbortSignal` · Optional
44
+
45
+ Cancellation checked between bounded writing tasks; browser hosts should schedule CPU work in a Worker.
46
+
47
+
48
+
49
+ ## Returns
50
+
51
+ `Promise`\<[`ExportReport`](ExportReport.md)\>
52
+
53
+
54
+ ## Related APIs
55
+
56
+ - [ExportOptions](ExportOptions.md)
57
+ - [ExportPart](ExportPart.md)
58
+ - [ExportReport](ExportReport.md)
59
+ - [ExportSink](ExportSink.md)
60
+
61
+ ## Supported imports
62
+
63
+ ```ts
64
+ import { writeStl } from "@metamesh/modeling/export";
65
+ ```
66
+
67
+ ```ts
68
+ import { writeStl } from "@metamesh/modeling/export/stl";
69
+ ```
70
+
71
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,21 @@
1
+ # Mesh export
2
+
3
+ Export immutable mesh snapshots as STL, 3MF, or GLB with explicit limits, placement, and appearance.
4
+
5
+ Use `@metamesh/modeling/export` to serialize captured mesh parts as STL, 3MF, or GLB without an engine or renderer. Format subpaths `/export/stl`, `/export/3mf`, and `/export/glb` load only their writer.
6
+
7
+ ```ts
8
+ import { exportStl } from "@metamesh/modeling/export/stl";
9
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
10
+ import { rectangleContour } from "@metamesh/modeling/geometry";
11
+ const geometry = mesh.extrude(rectangleContour({ size: [30, 20] }), { height: 6 });
12
+ const file = await exportStl([{ id: "plate", geometry }]);
13
+ ```
14
+
15
+ Inputs use millimetres and Z-up local geometry plus optional rigid placement. Mutable external buffers are captured before awaiting; immutable library resources can be reused. Every result includes owned bytes, metadata, and expected-loss diagnostics. Writers await sink calls for backpressure. Hosts own Workers, filenames, and delivery. Explicit material IDs retain identity independently of display color; no slicer filament or device mapping is implied.
16
+
17
+ ## Categories
18
+
19
+ - [Mesh serialization](export/categories/mesh-serialization.md) — Serialize captured geometry, placement, appearance, and portable material identities.
20
+
21
+ Package: `@metamesh/modeling@0.19.0`.
@@ -74,6 +74,20 @@ Optional numerical tolerance overrides.
74
74
 
75
75
  ## Guides
76
76
 
77
- - [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
77
+ - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
78
78
 
79
- Package: `@metamesh/modeling@0.17.0`.
79
+ ## Supported imports
80
+
81
+ ```ts
82
+ import type { AcmeThreadProfileSpec } from "@metamesh/modeling";
83
+ ```
84
+
85
+ ```ts
86
+ import type { AcmeThreadProfileSpec } from "@metamesh/modeling/geometry";
87
+ ```
88
+
89
+ ```ts
90
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
91
+ ```
92
+
93
+ Package: `@metamesh/modeling@0.19.0`.
@@ -89,4 +89,10 @@ Operation-level physical tessellation policy over the active model-wide policy.
89
89
  - [GeometrySamplingLimits](GeometrySamplingLimits.md)
90
90
  - [RadialSizing](RadialSizing.md)
91
91
 
92
- Package: `@metamesh/modeling@0.17.0`.
92
+ ## Supported imports
93
+
94
+ ```ts
95
+ import type { AlignedCircularSegmentsOptions } from "@metamesh/modeling/geometry";
96
+ ```
97
+
98
+ Package: `@metamesh/modeling@0.19.0`.
@@ -48,7 +48,17 @@ Roll guide projected into the plane perpendicular to `direction`.
48
48
 
49
49
  ## Guides
50
50
 
51
- - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
52
- - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
51
+ - [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
52
+ - [Fluent values and tuple kernels](../../guides/geometry-values.md#choose-fluent-values-or-standalone-algorithms)
53
53
 
54
- Package: `@metamesh/modeling@0.17.0`.
54
+ ## Supported imports
55
+
56
+ ```ts
57
+ import type { Anchor3 } from "@metamesh/modeling";
58
+ ```
59
+
60
+ ```ts
61
+ import type { Anchor3 } from "@metamesh/modeling/geometry";
62
+ ```
63
+
64
+ Package: `@metamesh/modeling@0.19.0`.
@@ -69,6 +69,12 @@ Nonzero signed sweep in degrees, bounded to one complete turn.
69
69
 
70
70
  ## Guides
71
71
 
72
- - [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
72
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
73
73
 
74
- Package: `@metamesh/modeling@0.17.0`.
74
+ ## Supported imports
75
+
76
+ ```ts
77
+ import type { ArcCurve2 } from "@metamesh/modeling/geometry";
78
+ ```
79
+
80
+ Package: `@metamesh/modeling@0.19.0`.
@@ -93,6 +93,12 @@ Nonzero signed sweep in degrees, bounded to one complete turn.
93
93
 
94
94
  ## Guides
95
95
 
96
- - [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
96
+ - [Path queries and closure-preserving interchange](../../guides/geometry-values.md#query-paths-and-preserve-closure)
97
97
 
98
- Package: `@metamesh/modeling@0.17.0`.
98
+ ## Supported imports
99
+
100
+ ```ts
101
+ import type { ArcCurve3 } from "@metamesh/modeling/geometry";
102
+ ```
103
+
104
+ Package: `@metamesh/modeling@0.19.0`.
@@ -62,7 +62,17 @@ Optional numeric comparison overrides.
62
62
 
63
63
  ## Guides
64
64
 
65
- - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
66
- - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
65
+ - [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
66
+ - [Fluent values and tuple kernels](../../guides/geometry-values.md#choose-fluent-values-or-standalone-algorithms)
67
67
 
68
- Package: `@metamesh/modeling@0.17.0`.
68
+ ## Supported imports
69
+
70
+ ```ts
71
+ import type { AttachOptions } from "@metamesh/modeling";
72
+ ```
73
+
74
+ ```ts
75
+ import type { AttachOptions } from "@metamesh/modeling/geometry";
76
+ ```
77
+
78
+ Package: `@metamesh/modeling@0.19.0`.
@@ -61,7 +61,13 @@ Excluded when the angle is expressed in radians.
61
61
 
62
62
  ## Guides
63
63
 
64
- - [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
65
- - [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
64
+ - [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
65
+ - [Fluent values and tuple kernels](../../guides/geometry-values.md#choose-fluent-values-or-standalone-algorithms)
66
66
 
67
- Package: `@metamesh/modeling@0.17.0`.
67
+ ## Supported imports
68
+
69
+ ```ts
70
+ import type { AxisAngleRotation3 } from "@metamesh/modeling/geometry";
71
+ ```
72
+
73
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,32 @@
1
+ # Bevel
2
+
3
+ One size for both ends, or independent sizes in bottom/top order. Zero disables an end.
4
+
5
+ **Bevel** = [`BevelSize`](BevelSize.md) \| readonly \[`bottom`: [`BevelSize`](BevelSize.md), `top`: [`BevelSize`](BevelSize.md)\]
6
+
7
+
8
+
9
+
10
+ ## Related APIs
11
+
12
+ - [BevelSize](BevelSize.md)
13
+
14
+ ## Guides
15
+
16
+ - [Conservative estimates and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
17
+
18
+ ## Supported imports
19
+
20
+ ```ts
21
+ import type { Bevel } from "@metamesh/modeling";
22
+ ```
23
+
24
+ ```ts
25
+ import type { Bevel } from "@metamesh/modeling/geometry";
26
+ ```
27
+
28
+ ```ts
29
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
30
+ ```
31
+
32
+ Package: `@metamesh/modeling@0.19.0`.