@metamesh/modeling 0.12.0 → 0.13.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 (629) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +60 -72
  3. package/dist/api/engine.d.ts +123 -97
  4. package/dist/api/geometry.d.ts +3896 -3307
  5. package/dist/api/index.d.ts +2489 -2268
  6. package/dist/api/text.d.ts +119 -107
  7. package/dist/docs/guides/concepts.md +197 -0
  8. package/dist/docs/guides/fonts.md +51 -0
  9. package/dist/docs/guides/fundamentals.md +135 -0
  10. package/dist/docs/guides/generation.md +221 -0
  11. package/dist/docs/guides/hosting.md +88 -0
  12. package/dist/docs/guides/recipes.md +668 -0
  13. package/dist/docs/manifest.json +9851 -0
  14. package/dist/docs/reference/engine/Export3mfOptions.md +29 -0
  15. package/dist/docs/reference/engine/ExportMeshPart.md +65 -0
  16. package/dist/docs/reference/engine/GenerationOptions.md +62 -0
  17. package/dist/docs/reference/engine/GeometryResource.md +77 -0
  18. package/dist/docs/reference/engine/ModelDependencies.md +41 -0
  19. package/dist/docs/reference/engine/ModelEngine.md +103 -0
  20. package/dist/docs/reference/engine/ModelEngineOptions.md +33 -0
  21. package/dist/docs/reference/engine/ModelSession.md +96 -0
  22. package/dist/docs/reference/engine/ModelSnapshot.md +173 -0
  23. package/dist/docs/reference/engine/SessionOptions.md +123 -0
  24. package/dist/docs/reference/engine/SnapshotPart.md +130 -0
  25. package/dist/docs/reference/engine/categories/host-lifecycle.md +37 -0
  26. package/dist/docs/reference/engine/createModelEngine.md +56 -0
  27. package/dist/docs/reference/engine/defaultModelingLimits.md +7 -0
  28. package/dist/docs/reference/engine/modelingWasmUrl.md +7 -0
  29. package/dist/docs/reference/engine/validateModel.md +48 -0
  30. package/dist/docs/reference/engine.md +25 -0
  31. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +75 -0
  32. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +79 -0
  33. package/dist/docs/reference/geometry/Anchor3.md +49 -0
  34. package/dist/docs/reference/geometry/ArcCurve2.md +70 -0
  35. package/dist/docs/reference/geometry/ArcCurve3.md +94 -0
  36. package/dist/docs/reference/geometry/AttachTransformOptions.md +58 -0
  37. package/dist/docs/reference/geometry/AxisAngleRotation3.md +61 -0
  38. package/dist/docs/reference/geometry/Bounds2.md +39 -0
  39. package/dist/docs/reference/geometry/Bounds3.md +39 -0
  40. package/dist/docs/reference/geometry/BoundsFit2.md +52 -0
  41. package/dist/docs/reference/geometry/BoundsFit3.md +52 -0
  42. package/dist/docs/reference/geometry/BoundsFitOptions.md +23 -0
  43. package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +23 -0
  44. package/dist/docs/reference/geometry/BoxAnchorFace.md +7 -0
  45. package/dist/docs/reference/geometry/BoxAnchorOptions.md +59 -0
  46. package/dist/docs/reference/geometry/BoxEdge.md +7 -0
  47. package/dist/docs/reference/geometry/BoxEdgeSelection.md +14 -0
  48. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +15 -0
  49. package/dist/docs/reference/geometry/BoxOptions.md +87 -0
  50. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +7 -0
  51. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +93 -0
  52. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +29 -0
  53. package/dist/docs/reference/geometry/CircleContourOptions.md +15 -0
  54. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +59 -0
  55. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +41 -0
  56. package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -0
  57. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +53 -0
  58. package/dist/docs/reference/geometry/Contour.md +17 -0
  59. package/dist/docs/reference/geometry/ContourCurve.md +35 -0
  60. package/dist/docs/reference/geometry/ContourPoint.md +29 -0
  61. package/dist/docs/reference/geometry/ContourSegment.md +86 -0
  62. package/dist/docs/reference/geometry/CorrespondingComponent.md +46 -0
  63. package/dist/docs/reference/geometry/CorrespondingContour.md +46 -0
  64. package/dist/docs/reference/geometry/CorrespondingProfile.md +22 -0
  65. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +27 -0
  66. package/dist/docs/reference/geometry/CubicBezierCurve2.md +70 -0
  67. package/dist/docs/reference/geometry/CubicBezierCurve3.md +70 -0
  68. package/dist/docs/reference/geometry/Curve2.md +16 -0
  69. package/dist/docs/reference/geometry/Curve3.md +16 -0
  70. package/dist/docs/reference/geometry/CurveSamplingOptions.md +64 -0
  71. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +73 -0
  72. package/dist/docs/reference/geometry/CylinderAnchorFace.md +7 -0
  73. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +83 -0
  74. package/dist/docs/reference/geometry/CylinderOptions.md +53 -0
  75. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +209 -0
  76. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +7 -0
  77. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +71 -0
  78. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +82 -0
  79. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +34 -0
  80. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +41 -0
  81. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +47 -0
  82. package/dist/docs/reference/geometry/CylindricalGearSpec.md +82 -0
  83. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -0
  84. package/dist/docs/reference/geometry/EdgeTreatment.md +17 -0
  85. package/dist/docs/reference/geometry/EllipseContourOptions.md +15 -0
  86. package/dist/docs/reference/geometry/EndTreatments.md +34 -0
  87. package/dist/docs/reference/geometry/ExtrudeOptions.md +134 -0
  88. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +77 -0
  89. package/dist/docs/reference/geometry/FittedTextLayout.md +60 -0
  90. package/dist/docs/reference/geometry/Frame3.md +58 -0
  91. package/dist/docs/reference/geometry/GeometryError.md +97 -0
  92. package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -0
  93. package/dist/docs/reference/geometry/GeometryErrorContext.md +29 -0
  94. package/dist/docs/reference/geometry/GeometryResolution.md +65 -0
  95. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +62 -0
  96. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +41 -0
  97. package/dist/docs/reference/geometry/GridPatternOptions.md +42 -0
  98. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +14 -0
  99. package/dist/docs/reference/geometry/HeightfieldOptions.md +67 -0
  100. package/dist/docs/reference/geometry/HeightfieldPreflight.md +53 -0
  101. package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +141 -0
  102. package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +265 -0
  103. package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +53 -0
  104. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +14 -0
  105. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +242 -0
  106. package/dist/docs/reference/geometry/LineCurve2.md +46 -0
  107. package/dist/docs/reference/geometry/LineCurve3.md +46 -0
  108. package/dist/docs/reference/geometry/LinearPatternOptions.md +30 -0
  109. package/dist/docs/reference/geometry/LoftCorrespondence.md +19 -0
  110. package/dist/docs/reference/geometry/LoftMeshStation.md +27 -0
  111. package/dist/docs/reference/geometry/LoftOptions.md +84 -0
  112. package/dist/docs/reference/geometry/LoftPlacement.md +66 -0
  113. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +18 -0
  114. package/dist/docs/reference/geometry/MatchProfilesOptions.md +35 -0
  115. package/dist/docs/reference/geometry/MetricFastenerSize.md +7 -0
  116. package/dist/docs/reference/geometry/MetricFastenerStandard.md +72 -0
  117. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +29 -0
  118. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +41 -0
  119. package/dist/docs/reference/geometry/ModelingLimits.md +126 -0
  120. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +17 -0
  121. package/dist/docs/reference/geometry/Path2.md +14 -0
  122. package/dist/docs/reference/geometry/Path3.md +14 -0
  123. package/dist/docs/reference/geometry/PathFrame.md +46 -0
  124. package/dist/docs/reference/geometry/PathNormalGuide.md +38 -0
  125. package/dist/docs/reference/geometry/PathPatternOptions.md +46 -0
  126. package/dist/docs/reference/geometry/PathPlacement.md +34 -0
  127. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +7 -0
  128. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +156 -0
  129. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +120 -0
  130. package/dist/docs/reference/geometry/PlanarPatchQuality.md +190 -0
  131. package/dist/docs/reference/geometry/Polygon.md +38 -0
  132. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +92 -0
  133. package/dist/docs/reference/geometry/PrimitivePlacement.md +31 -0
  134. package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +83 -0
  135. package/dist/docs/reference/geometry/PrintableThreadFit.md +7 -0
  136. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +45 -0
  137. package/dist/docs/reference/geometry/Profile.md +22 -0
  138. package/dist/docs/reference/geometry/ProfileComponent2.md +46 -0
  139. package/dist/docs/reference/geometry/ProfileContour2.md +34 -0
  140. package/dist/docs/reference/geometry/ProfileSpan2.md +47 -0
  141. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +36 -0
  142. package/dist/docs/reference/geometry/RackPitchDimensions.md +113 -0
  143. package/dist/docs/reference/geometry/RackPitchSpec.md +77 -0
  144. package/dist/docs/reference/geometry/RadialPatternOptions.md +62 -0
  145. package/dist/docs/reference/geometry/RadialSizing.md +7 -0
  146. package/dist/docs/reference/geometry/RadialSizingOptions.md +40 -0
  147. package/dist/docs/reference/geometry/RectangleContourOptions.md +66 -0
  148. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +34 -0
  149. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +14 -0
  150. package/dist/docs/reference/geometry/RectangleProfileOptions.md +94 -0
  151. package/dist/docs/reference/geometry/Region.md +14 -0
  152. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +84 -0
  153. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +65 -0
  154. package/dist/docs/reference/geometry/RevolveOptions.md +82 -0
  155. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +91 -0
  156. package/dist/docs/reference/geometry/RowLayoutOptions.md +23 -0
  157. package/dist/docs/reference/geometry/SampleContourOptions.md +71 -0
  158. package/dist/docs/reference/geometry/SampleHelixOptions.md +95 -0
  159. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +71 -0
  160. package/dist/docs/reference/geometry/SampledCurve2.md +34 -0
  161. package/dist/docs/reference/geometry/SampledCurve3.md +34 -0
  162. package/dist/docs/reference/geometry/SampledThreadHelices.md +58 -0
  163. package/dist/docs/reference/geometry/SideProfileCurve.md +35 -0
  164. package/dist/docs/reference/geometry/SideProfilePoint.md +29 -0
  165. package/dist/docs/reference/geometry/SideProfileSegment.md +86 -0
  166. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +71 -0
  167. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +34 -0
  168. package/dist/docs/reference/geometry/SphereOptions.md +15 -0
  169. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +75 -0
  170. package/dist/docs/reference/geometry/StrokePathCap.md +7 -0
  171. package/dist/docs/reference/geometry/StrokePathJoin.md +7 -0
  172. package/dist/docs/reference/geometry/StrokePathRegionOptions.md +85 -0
  173. package/dist/docs/reference/geometry/SvgImportOptions.md +60 -0
  174. package/dist/docs/reference/geometry/SvgRegionPreflight.md +61 -0
  175. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +118 -0
  176. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +65 -0
  177. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +53 -0
  178. package/dist/docs/reference/geometry/SweepOptions.md +109 -0
  179. package/dist/docs/reference/geometry/SweepOrientation.md +109 -0
  180. package/dist/docs/reference/geometry/ThreadBevelOptions.md +53 -0
  181. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +100 -0
  182. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +73 -0
  183. package/dist/docs/reference/geometry/ThreadEndStyle.md +7 -0
  184. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +113 -0
  185. package/dist/docs/reference/geometry/ThreadHandedness.md +7 -0
  186. package/dist/docs/reference/geometry/ThreadHelixOptions.md +120 -0
  187. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +7 -0
  188. package/dist/docs/reference/geometry/ThreadLeadInShape.md +7 -0
  189. package/dist/docs/reference/geometry/ThreadProfile.md +82 -0
  190. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +49 -0
  191. package/dist/docs/reference/geometry/ThreadProfileSpec.md +19 -0
  192. package/dist/docs/reference/geometry/ThreadRole.md +7 -0
  193. package/dist/docs/reference/geometry/ThreadedNutBevel.md +7 -0
  194. package/dist/docs/reference/geometry/ThreadedNutOptions.md +269 -0
  195. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +94 -0
  196. package/dist/docs/reference/geometry/ThreadedNutShape.md +7 -0
  197. package/dist/docs/reference/geometry/ThreadedRodOptions.md +242 -0
  198. package/dist/docs/reference/geometry/TorusOptions.md +105 -0
  199. package/dist/docs/reference/geometry/Transform3.md +12 -0
  200. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +91 -0
  201. package/dist/docs/reference/geometry/TriangleMesh.md +34 -0
  202. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +119 -0
  203. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +75 -0
  204. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +75 -0
  205. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +39 -0
  206. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +190 -0
  207. package/dist/docs/reference/geometry/TriangleMeshSignature.md +107 -0
  208. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +41 -0
  209. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +29 -0
  210. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +51 -0
  211. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +91 -0
  212. package/dist/docs/reference/geometry/TubeOptions.md +138 -0
  213. package/dist/docs/reference/geometry/Vector2.md +7 -0
  214. package/dist/docs/reference/geometry/Vector3.md +7 -0
  215. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +53 -0
  216. package/dist/docs/reference/geometry/VectorTextLayout.md +39 -0
  217. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +111 -0
  218. package/dist/docs/reference/geometry/VectorTextMetrics.md +94 -0
  219. package/dist/docs/reference/geometry/VectorTextOptions.md +50 -0
  220. package/dist/docs/reference/geometry/add3.md +38 -0
  221. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +57 -0
  222. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +52 -0
  223. package/dist/docs/reference/geometry/anchorFrame3.md +40 -0
  224. package/dist/docs/reference/geometry/applyTransformDirection3.md +41 -0
  225. package/dist/docs/reference/geometry/applyTransformPoint3.md +39 -0
  226. package/dist/docs/reference/geometry/attachTransform.md +73 -0
  227. package/dist/docs/reference/geometry/boundsCenter.md +62 -0
  228. package/dist/docs/reference/geometry/boundsFromSize.md +83 -0
  229. package/dist/docs/reference/geometry/boundsSize.md +62 -0
  230. package/dist/docs/reference/geometry/boxAnchor3.md +48 -0
  231. package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +68 -0
  232. package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +102 -0
  233. package/dist/docs/reference/geometry/categories/bounds-layout.md +35 -0
  234. package/dist/docs/reference/geometry/categories/curves-paths.md +63 -0
  235. package/dist/docs/reference/geometry/categories/mechanical.md +101 -0
  236. package/dist/docs/reference/geometry/categories/meshes.md +73 -0
  237. package/dist/docs/reference/geometry/categories/pattern-placement.md +34 -0
  238. package/dist/docs/reference/geometry/categories/primitive-options.md +36 -0
  239. package/dist/docs/reference/geometry/categories/profiles-regions.md +74 -0
  240. package/dist/docs/reference/geometry/categories/resolution-errors.md +46 -0
  241. package/dist/docs/reference/geometry/categories/transforms-math.md +63 -0
  242. package/dist/docs/reference/geometry/categories/vector-import.md +40 -0
  243. package/dist/docs/reference/geometry/circleContour.md +33 -0
  244. package/dist/docs/reference/geometry/closeToAxis.md +34 -0
  245. package/dist/docs/reference/geometry/compensateThreadDiameters.md +51 -0
  246. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +42 -0
  247. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +56 -0
  248. package/dist/docs/reference/geometry/composeTransform3.md +40 -0
  249. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +45 -0
  250. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +47 -0
  251. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +31 -0
  252. package/dist/docs/reference/geometry/containsBounds.md +72 -0
  253. package/dist/docs/reference/geometry/contourContainsPoint.md +33 -0
  254. package/dist/docs/reference/geometry/createAnchor3.md +63 -0
  255. package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
  256. package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
  257. package/dist/docs/reference/geometry/cross3.md +38 -0
  258. package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
  259. package/dist/docs/reference/geometry/cylinderAnchor3.md +56 -0
  260. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
  261. package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
  262. package/dist/docs/reference/geometry/dot3.md +38 -0
  263. package/dist/docs/reference/geometry/ellipseContour.md +33 -0
  264. package/dist/docs/reference/geometry/eulerTransform3.md +38 -0
  265. package/dist/docs/reference/geometry/extrudeMesh.md +73 -0
  266. package/dist/docs/reference/geometry/fitBounds.md +95 -0
  267. package/dist/docs/reference/geometry/fitTextLayout.md +57 -0
  268. package/dist/docs/reference/geometry/frameTransform3.md +44 -0
  269. package/dist/docs/reference/geometry/getMetricClearanceHole.md +33 -0
  270. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +27 -0
  271. package/dist/docs/reference/geometry/gridPatternTransforms.md +31 -0
  272. package/dist/docs/reference/geometry/heightfieldMesh.md +43 -0
  273. package/dist/docs/reference/geometry/inverseTransform3.md +30 -0
  274. package/dist/docs/reference/geometry/isGeometryError.md +26 -0
  275. package/dist/docs/reference/geometry/joinTriangleMeshes.md +36 -0
  276. package/dist/docs/reference/geometry/layoutRow.md +43 -0
  277. package/dist/docs/reference/geometry/length3.md +26 -0
  278. package/dist/docs/reference/geometry/lerp3.md +38 -0
  279. package/dist/docs/reference/geometry/linearPatternTransforms.md +31 -0
  280. package/dist/docs/reference/geometry/loftMesh.md +72 -0
  281. package/dist/docs/reference/geometry/matchProfiles.md +51 -0
  282. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +47 -0
  283. package/dist/docs/reference/geometry/measureTriangleMesh.md +55 -0
  284. package/dist/docs/reference/geometry/meshBounds.md +35 -0
  285. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +29 -0
  286. package/dist/docs/reference/geometry/normalize3.md +32 -0
  287. package/dist/docs/reference/geometry/normalizeContour.md +45 -0
  288. package/dist/docs/reference/geometry/normalizePolygon.md +37 -0
  289. package/dist/docs/reference/geometry/normalizeRegion.md +33 -0
  290. package/dist/docs/reference/geometry/optimizePlanarPatches.md +91 -0
  291. package/dist/docs/reference/geometry/pathLength.md +33 -0
  292. package/dist/docs/reference/geometry/pathPatternTransforms.md +57 -0
  293. package/dist/docs/reference/geometry/preflightHeightfield.md +34 -0
  294. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +96 -0
  295. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +85 -0
  296. package/dist/docs/reference/geometry/preflightSvgRegion.md +56 -0
  297. package/dist/docs/reference/geometry/preflightThreadedNut.md +96 -0
  298. package/dist/docs/reference/geometry/preflightThreadedRod.md +85 -0
  299. package/dist/docs/reference/geometry/projectOntoPlane3.md +32 -0
  300. package/dist/docs/reference/geometry/radialPatternTransforms.md +47 -0
  301. package/dist/docs/reference/geometry/rectangleContour.md +49 -0
  302. package/dist/docs/reference/geometry/rectangleProfile.md +53 -0
  303. package/dist/docs/reference/geometry/regionArea.md +34 -0
  304. package/dist/docs/reference/geometry/regionBounds.md +27 -0
  305. package/dist/docs/reference/geometry/regularPolygonContour.md +53 -0
  306. package/dist/docs/reference/geometry/resamplePolyline2.md +64 -0
  307. package/dist/docs/reference/geometry/resamplePolyline3.md +67 -0
  308. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +79 -0
  309. package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
  310. package/dist/docs/reference/geometry/resolveCircularSegments.md +61 -0
  311. package/dist/docs/reference/geometry/resolveCylindricalGear.md +31 -0
  312. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +31 -0
  313. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +74 -0
  314. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +26 -0
  315. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +59 -0
  316. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +27 -0
  317. package/dist/docs/reference/geometry/resolveRackPitch.md +27 -0
  318. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +59 -0
  319. package/dist/docs/reference/geometry/reverseTriangleMesh.md +30 -0
  320. package/dist/docs/reference/geometry/revolveMesh.md +76 -0
  321. package/dist/docs/reference/geometry/rotateAroundAxis3.md +38 -0
  322. package/dist/docs/reference/geometry/rotationTransform3.md +49 -0
  323. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +50 -0
  324. package/dist/docs/reference/geometry/sampleContour.md +77 -0
  325. package/dist/docs/reference/geometry/sampleCurve2.md +61 -0
  326. package/dist/docs/reference/geometry/sampleCurve3.md +61 -0
  327. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +58 -0
  328. package/dist/docs/reference/geometry/sampleHelix.md +41 -0
  329. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +59 -0
  330. package/dist/docs/reference/geometry/sampleRackToothPath.md +39 -0
  331. package/dist/docs/reference/geometry/sampleSideProfile.md +73 -0
  332. package/dist/docs/reference/geometry/sampleTextContours.md +53 -0
  333. package/dist/docs/reference/geometry/sampleThreadHelices.md +63 -0
  334. package/dist/docs/reference/geometry/scale3.md +38 -0
  335. package/dist/docs/reference/geometry/scaleTransform3.md +34 -0
  336. package/dist/docs/reference/geometry/signedContourArea.md +26 -0
  337. package/dist/docs/reference/geometry/starContour.md +51 -0
  338. package/dist/docs/reference/geometry/strokePathRegion.md +63 -0
  339. package/dist/docs/reference/geometry/subtract3.md +38 -0
  340. package/dist/docs/reference/geometry/sweepMesh.md +82 -0
  341. package/dist/docs/reference/geometry/transformContour.md +42 -0
  342. package/dist/docs/reference/geometry/transformDeterminant3.md +32 -0
  343. package/dist/docs/reference/geometry/transformPath2.md +40 -0
  344. package/dist/docs/reference/geometry/transformPath3.md +33 -0
  345. package/dist/docs/reference/geometry/transformRegion.md +40 -0
  346. package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
  347. package/dist/docs/reference/geometry/translationTransform3.md +31 -0
  348. package/dist/docs/reference/geometry/triangulateContour.md +26 -0
  349. package/dist/docs/reference/geometry/validateSolidMesh.md +52 -0
  350. package/dist/docs/reference/geometry/validateTransform3.md +43 -0
  351. package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -0
  352. package/dist/docs/reference/geometry.md +30 -0
  353. package/dist/docs/reference/model/Anchor3.md +54 -0
  354. package/dist/docs/reference/model/AttachOptions.md +63 -0
  355. package/dist/docs/reference/model/Bounds2.md +39 -0
  356. package/dist/docs/reference/model/Bounds3.md +39 -0
  357. package/dist/docs/reference/model/BoxEdge.md +15 -0
  358. package/dist/docs/reference/model/BoxEdgeSelection.md +19 -0
  359. package/dist/docs/reference/model/BoxEdgeTreatments.md +20 -0
  360. package/dist/docs/reference/model/BoxOptions.md +92 -0
  361. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +35 -0
  362. package/dist/docs/reference/model/CircleContourOptions.md +21 -0
  363. package/dist/docs/reference/model/CircleOptions.md +21 -0
  364. package/dist/docs/reference/model/CircularPrimitiveOptions.md +64 -0
  365. package/dist/docs/reference/model/Computed.md +35 -0
  366. package/dist/docs/reference/model/ComputedValue.md +20 -0
  367. package/dist/docs/reference/model/Contour.md +22 -0
  368. package/dist/docs/reference/model/CorrespondingComponent.md +46 -0
  369. package/dist/docs/reference/model/CorrespondingContour.md +46 -0
  370. package/dist/docs/reference/model/CorrespondingProfile.md +22 -0
  371. package/dist/docs/reference/model/CorrespondingProfileStation.md +27 -0
  372. package/dist/docs/reference/model/CylinderOptions.md +58 -0
  373. package/dist/docs/reference/model/DiagnosticOptions.md +23 -0
  374. package/dist/docs/reference/model/EdgeTreatment.md +22 -0
  375. package/dist/docs/reference/model/EllipseContourOptions.md +21 -0
  376. package/dist/docs/reference/model/EllipseOptions.md +21 -0
  377. package/dist/docs/reference/model/EndTreatments.md +39 -0
  378. package/dist/docs/reference/model/ExtrudeOptions.md +140 -0
  379. package/dist/docs/reference/model/FinalizedModel.md +121 -0
  380. package/dist/docs/reference/model/FinalizedPart.md +87 -0
  381. package/dist/docs/reference/model/Frame3.md +63 -0
  382. package/dist/docs/reference/model/GenerateCallback.md +37 -0
  383. package/dist/docs/reference/model/GenerateContext.md +277 -0
  384. package/dist/docs/reference/model/GeneratedPart.md +93 -0
  385. package/dist/docs/reference/model/GenerationDiagnostic.md +41 -0
  386. package/dist/docs/reference/model/GenerationError.md +54 -0
  387. package/dist/docs/reference/model/GeometryResolution.md +70 -0
  388. package/dist/docs/reference/model/GeometrySamplingLimits.md +62 -0
  389. package/dist/docs/reference/model/GeometryToleranceOptions.md +46 -0
  390. package/dist/docs/reference/model/GridPatternOptions.md +43 -0
  391. package/dist/docs/reference/model/HeightfieldOptions.md +67 -0
  392. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +140 -0
  393. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +58 -0
  394. package/dist/docs/reference/model/HullOptions.md +72 -0
  395. package/dist/docs/reference/model/ImmutableBuffer-type.md +80 -0
  396. package/dist/docs/reference/model/ImmutableTriangleMesh.md +34 -0
  397. package/dist/docs/reference/model/ImplicitOptions.md +83 -0
  398. package/dist/docs/reference/model/InternalThreadCutterOptions.md +245 -0
  399. package/dist/docs/reference/model/LinearPatternOptions.md +31 -0
  400. package/dist/docs/reference/model/LoftCorrespondence.md +27 -0
  401. package/dist/docs/reference/model/LoftOptions.md +91 -0
  402. package/dist/docs/reference/model/LoftPlacement.md +73 -0
  403. package/dist/docs/reference/model/LoftStation.md +35 -0
  404. package/dist/docs/reference/model/MatchProfilesOptions.md +35 -0
  405. package/dist/docs/reference/model/ModelProgram.md +44 -0
  406. package/dist/docs/reference/model/ModelingLimits.md +126 -0
  407. package/dist/docs/reference/model/NumericArray.md +7 -0
  408. package/dist/docs/reference/model/PartGeometry.md +16 -0
  409. package/dist/docs/reference/model/PartOptions.md +65 -0
  410. package/dist/docs/reference/model/PathNormalGuide.md +45 -0
  411. package/dist/docs/reference/model/PathPatternOptions.md +47 -0
  412. package/dist/docs/reference/model/PatternSource.md +26 -0
  413. package/dist/docs/reference/model/PlaneOptions.md +39 -0
  414. package/dist/docs/reference/model/Polygon-type.md +43 -0
  415. package/dist/docs/reference/model/PolygonOptions.md +112 -0
  416. package/dist/docs/reference/model/PrimitivePlacement.md +40 -0
  417. package/dist/docs/reference/model/PrimitivePlacementOptions.md +88 -0
  418. package/dist/docs/reference/model/PrintableThreadFit.md +14 -0
  419. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +50 -0
  420. package/dist/docs/reference/model/Profile.md +22 -0
  421. package/dist/docs/reference/model/ProfileComponent2.md +46 -0
  422. package/dist/docs/reference/model/ProfileContour2.md +34 -0
  423. package/dist/docs/reference/model/ProfileSpan2.md +47 -0
  424. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +41 -0
  425. package/dist/docs/reference/model/RadialPatternOptions.md +63 -0
  426. package/dist/docs/reference/model/RadialSizing.md +15 -0
  427. package/dist/docs/reference/model/RadialSizingOptions.md +40 -0
  428. package/dist/docs/reference/model/RectangleContourOptions.md +72 -0
  429. package/dist/docs/reference/model/RectangleCornerTreatment.md +40 -0
  430. package/dist/docs/reference/model/RectangleCornerTreatments.md +20 -0
  431. package/dist/docs/reference/model/RectangleOptions.md +107 -0
  432. package/dist/docs/reference/model/Region.md +19 -0
  433. package/dist/docs/reference/model/RegionOffsetJoin.md +16 -0
  434. package/dist/docs/reference/model/RegionOffsetOptions.md +65 -0
  435. package/dist/docs/reference/model/RegularPolygonOptions.md +53 -0
  436. package/dist/docs/reference/model/RevolveOptions.md +89 -0
  437. package/dist/docs/reference/model/RoundedEdgeTreatment.md +96 -0
  438. package/dist/docs/reference/model/Section.md +450 -0
  439. package/dist/docs/reference/model/SectionHullOptions.md +72 -0
  440. package/dist/docs/reference/model/SectionInspection.md +98 -0
  441. package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
  442. package/dist/docs/reference/model/Solid.md +350 -0
  443. package/dist/docs/reference/model/SolidInspection.md +98 -0
  444. package/dist/docs/reference/model/SolidRayHit.md +58 -0
  445. package/dist/docs/reference/model/SphereOptions.md +20 -0
  446. package/dist/docs/reference/model/StarOptions.md +98 -0
  447. package/dist/docs/reference/model/SvgOrigin.md +16 -0
  448. package/dist/docs/reference/model/SvgPathSectionOptions.md +78 -0
  449. package/dist/docs/reference/model/SvgSectionOptions.md +66 -0
  450. package/dist/docs/reference/model/SweepOptions.md +116 -0
  451. package/dist/docs/reference/model/SweepOrientation.md +116 -0
  452. package/dist/docs/reference/model/TextSectionOptions.md +41 -0
  453. package/dist/docs/reference/model/ThreadEndStyle.md +14 -0
  454. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +117 -0
  455. package/dist/docs/reference/model/ThreadHandedness.md +14 -0
  456. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +14 -0
  457. package/dist/docs/reference/model/ThreadLeadInShape.md +14 -0
  458. package/dist/docs/reference/model/ThreadProfile.md +86 -0
  459. package/dist/docs/reference/model/ThreadRidgeOptions.md +18 -0
  460. package/dist/docs/reference/model/ThreadedNutBevel.md +14 -0
  461. package/dist/docs/reference/model/ThreadedNutOptions.md +273 -0
  462. package/dist/docs/reference/model/ThreadedNutPreflight.md +98 -0
  463. package/dist/docs/reference/model/ThreadedNutShape.md +14 -0
  464. package/dist/docs/reference/model/ThreadedRodOptions.md +245 -0
  465. package/dist/docs/reference/model/TorusOptions.md +110 -0
  466. package/dist/docs/reference/model/Transform2.md +15 -0
  467. package/dist/docs/reference/model/Transform3.md +18 -0
  468. package/dist/docs/reference/model/TriangleMesh.md +42 -0
  469. package/dist/docs/reference/model/TriangleMeshAnalysis.md +123 -0
  470. package/dist/docs/reference/model/TriangleMeshMeasurements.md +79 -0
  471. package/dist/docs/reference/model/TubeOptions.md +143 -0
  472. package/dist/docs/reference/model/Vector2.md +15 -0
  473. package/dist/docs/reference/model/Vector3.md +15 -0
  474. package/dist/docs/reference/model/VectorTextLayout.md +40 -0
  475. package/dist/docs/reference/model/VectorTextMetrics.md +100 -0
  476. package/dist/docs/reference/model/anchor.md +46 -0
  477. package/dist/docs/reference/model/box.md +62 -0
  478. package/dist/docs/reference/model/categories/boolean-operations.md +37 -0
  479. package/dist/docs/reference/model/categories/bounded-surfaces.md +26 -0
  480. package/dist/docs/reference/model/categories/contracts.md +16 -0
  481. package/dist/docs/reference/model/categories/core-values-errors.md +30 -0
  482. package/dist/docs/reference/model/categories/explicit-profiles.md +32 -0
  483. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +42 -0
  484. package/dist/docs/reference/model/categories/generation.md +44 -0
  485. package/dist/docs/reference/model/categories/inspection.md +23 -0
  486. package/dist/docs/reference/model/categories/mesh-inspection.md +29 -0
  487. package/dist/docs/reference/model/categories/primitives.md +61 -0
  488. package/dist/docs/reference/model/categories/resolution.md +18 -0
  489. package/dist/docs/reference/model/categories/sections.md +59 -0
  490. package/dist/docs/reference/model/categories/threads.md +50 -0
  491. package/dist/docs/reference/model/categories/transforms-placement.md +43 -0
  492. package/dist/docs/reference/model/circle.md +39 -0
  493. package/dist/docs/reference/model/components.md +68 -0
  494. package/dist/docs/reference/model/compose.md +31 -0
  495. package/dist/docs/reference/model/cylinder.md +52 -0
  496. package/dist/docs/reference/model/distance.md +45 -0
  497. package/dist/docs/reference/model/ellipse.md +39 -0
  498. package/dist/docs/reference/model/extrude.md +83 -0
  499. package/dist/docs/reference/model/fromRegion.md +33 -0
  500. package/dist/docs/reference/model/generate.md +46 -0
  501. package/dist/docs/reference/model/gridPattern.md +80 -0
  502. package/dist/docs/reference/model/heightfield.md +40 -0
  503. package/dist/docs/reference/model/hull.md +74 -0
  504. package/dist/docs/reference/model/immutableBuffer.md +44 -0
  505. package/dist/docs/reference/model/immutableMesh.md +40 -0
  506. package/dist/docs/reference/model/implicit.md +47 -0
  507. package/dist/docs/reference/model/inspectSection.md +38 -0
  508. package/dist/docs/reference/model/inspectSolid.md +38 -0
  509. package/dist/docs/reference/model/internalThreadCutter.md +100 -0
  510. package/dist/docs/reference/model/intersect.md +70 -0
  511. package/dist/docs/reference/model/isEmpty.md +39 -0
  512. package/dist/docs/reference/model/linearPattern.md +80 -0
  513. package/dist/docs/reference/model/loft.md +137 -0
  514. package/dist/docs/reference/model/matchProfiles.md +42 -0
  515. package/dist/docs/reference/model/minkowskiSum.md +37 -0
  516. package/dist/docs/reference/model/pathPattern.md +118 -0
  517. package/dist/docs/reference/model/polygon.md +40 -0
  518. package/dist/docs/reference/model/preflightInternalThreadCutter.md +89 -0
  519. package/dist/docs/reference/model/preflightThreadedNut.md +100 -0
  520. package/dist/docs/reference/model/preflightThreadedRod.md +89 -0
  521. package/dist/docs/reference/model/radialPattern.md +113 -0
  522. package/dist/docs/reference/model/rayCast.md +40 -0
  523. package/dist/docs/reference/model/rectangle.md +59 -0
  524. package/dist/docs/reference/model/regularPolygon.md +39 -0
  525. package/dist/docs/reference/model/revolve.md +74 -0
  526. package/dist/docs/reference/model/solidFromMesh.md +42 -0
  527. package/dist/docs/reference/model/sphere.md +42 -0
  528. package/dist/docs/reference/model/split.md +54 -0
  529. package/dist/docs/reference/model/splitByPlane.md +66 -0
  530. package/dist/docs/reference/model/star.md +63 -0
  531. package/dist/docs/reference/model/svgPathSection.md +65 -0
  532. package/dist/docs/reference/model/svgSection.md +64 -0
  533. package/dist/docs/reference/model/sweep.md +92 -0
  534. package/dist/docs/reference/model/textSection.md +57 -0
  535. package/dist/docs/reference/model/threadRidge.md +72 -0
  536. package/dist/docs/reference/model/threadedNut.md +110 -0
  537. package/dist/docs/reference/model/threadedRod.md +99 -0
  538. package/dist/docs/reference/model/toRegion.md +33 -0
  539. package/dist/docs/reference/model/toTriangleMesh.md +27 -0
  540. package/dist/docs/reference/model/torus.md +70 -0
  541. package/dist/docs/reference/model/tube.md +77 -0
  542. package/dist/docs/reference/model/union.md +72 -0
  543. package/dist/docs/reference/model.md +39 -0
  544. package/dist/docs/reference/text/Bounds2.md +34 -0
  545. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -0
  546. package/dist/docs/reference/text/Vector2.md +7 -0
  547. package/dist/docs/reference/text/VectorFont.md +186 -0
  548. package/dist/docs/reference/text/VectorFontOptions.md +17 -0
  549. package/dist/docs/reference/text/VectorTextArcBaseline.md +53 -0
  550. package/dist/docs/reference/text/VectorTextLayout.md +34 -0
  551. package/dist/docs/reference/text/VectorTextLayoutOptions.md +111 -0
  552. package/dist/docs/reference/text/VectorTextMetrics.md +94 -0
  553. package/dist/docs/reference/text/VectorTextOptions.md +50 -0
  554. package/dist/docs/reference/text/categories/font-preparation.md +38 -0
  555. package/dist/docs/reference/text/prepareVectorFont.md +46 -0
  556. package/dist/docs/reference/text.md +21 -0
  557. package/dist/engine/construction-operations.js +10 -3
  558. package/dist/engine/deferred-context.js +12 -3
  559. package/dist/engine/execution.js +1 -1
  560. package/dist/engine/export-3mf.js +2 -2
  561. package/dist/engine/finalization.js +3 -3
  562. package/dist/engine/loft-operations.js +4 -4
  563. package/dist/engine/native/adapter.js +1 -1
  564. package/dist/engine/native/regions.js +9 -9
  565. package/dist/engine/pattern-operations.js +24 -13
  566. package/dist/engine/pattern-transform.js +9 -0
  567. package/dist/engine/placement.js +2 -2
  568. package/dist/engine/primitive-operations.js +10 -10
  569. package/dist/engine/profile-mesh.js +7 -7
  570. package/dist/engine/section-operations.js +25 -14
  571. package/dist/engine/session-graph.js +5 -3
  572. package/dist/engine/session.js +1 -2
  573. package/dist/geometry/bounds.js +117 -0
  574. package/dist/geometry/cylinder.js +5 -1
  575. package/dist/geometry/edge-finishing.js +2 -2
  576. package/dist/geometry/heightfield.js +1 -1
  577. package/dist/geometry/index.js +15 -12
  578. package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
  579. package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
  580. package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
  581. package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
  582. package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
  583. package/dist/geometry/{loft.js → loft/loft.js} +8 -8
  584. package/dist/geometry/math/vector3.js +5 -1
  585. package/dist/geometry/mechanical/gears.js +2 -2
  586. package/dist/geometry/mechanical/thread-mesh.js +3 -3
  587. package/dist/geometry/mechanical/thread-profiles.js +2 -2
  588. package/dist/geometry/mechanical/thread-surface.js +14 -5
  589. package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
  590. package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
  591. package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
  592. package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
  593. package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
  594. package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
  595. package/dist/geometry/paths/frames.js +4 -5
  596. package/dist/geometry/patterns/options.js +1 -0
  597. package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
  598. package/dist/geometry/patterns.js +25 -0
  599. package/dist/geometry/primitive-resolvers.js +9 -9
  600. package/dist/geometry/profiles/contour.js +3 -3
  601. package/dist/geometry/profiles/matched.js +3 -3
  602. package/dist/geometry/profiles/profiles.js +10 -10
  603. package/dist/geometry/profiles/rectangle.js +7 -7
  604. package/dist/geometry/profiles/shapes.js +9 -9
  605. package/dist/geometry/profiles/side-profile.js +37 -0
  606. package/dist/geometry/regions.js +15 -15
  607. package/dist/geometry/revolve/revolve-mesh.js +5 -5
  608. package/dist/geometry/stroke-path.js +2 -2
  609. package/dist/geometry/svg/errors.js +0 -3
  610. package/dist/geometry/svg/fill.js +7 -7
  611. package/dist/geometry/svg/index.js +1 -1
  612. package/dist/geometry/svg/matrix.js +0 -114
  613. package/dist/geometry/svg/parser.js +1 -439
  614. package/dist/geometry/svg-import.js +3 -3
  615. package/dist/geometry/sweeps/sweep-closed.js +1 -1
  616. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  617. package/dist/geometry/sweeps/sweep-open.js +3 -3
  618. package/dist/geometry/sweeps/validation.js +2 -2
  619. package/dist/geometry/text-fitting.js +85 -0
  620. package/dist/geometry/tolerance.js +2 -2
  621. package/dist/geometry/transform-geometry.js +9 -9
  622. package/dist/model/execution-binding.js +3 -3
  623. package/dist/model/generation.js +1 -1
  624. package/dist/model/operation-contracts.js +1 -0
  625. package/dist/model/operation-dispatch.js +6 -0
  626. package/dist/model/operations.js +19 -49
  627. package/package.json +10 -8
  628. /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
  629. /package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +0 -0
@@ -0,0 +1,46 @@
1
+ # anchor
2
+
3
+ Reads a copied, immutable named anchor from this exact active generation.
4
+
5
+ **anchor**(`shape`: [`Solid`](Solid.md) \| [`Section`](Section.md), `name`: `string`): [`Anchor3`](Anchor3.md)
6
+
7
+
8
+
9
+ ## Example: Read the top datum
10
+
11
+ ```ts
12
+ const plate = box({ size: [30, 20, 6] });
13
+ anchor(plate, "top"); // position [0, 0, 3], direction [0, 0, 1]
14
+ ```
15
+
16
+ ## Parameters
17
+
18
+ <a id="shape"></a>
19
+
20
+ **`shape`** · [`Solid`](Solid.md) \| [`Section`](Section.md) · Required
21
+
22
+
23
+
24
+ <a id="name"></a>
25
+
26
+ **`name`** · `string` · Required
27
+
28
+
29
+
30
+ ## Returns
31
+
32
+ [`Anchor3`](Anchor3.md)
33
+
34
+
35
+ ## Related APIs
36
+
37
+ - [Anchor3](Anchor3.md)
38
+ - [Section](Section.md)
39
+ - [Solid](Solid.md)
40
+
41
+ ## Guides
42
+
43
+ - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
44
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
45
+
46
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,62 @@
1
+ # box
2
+
3
+ Axis-aligned box with uniform or disjoint named edge/group treatments.
4
+
5
+ **box**(`options`: [`BoxOptions`](BoxOptions.md)): [`Solid`](Solid.md)
6
+
7
+
8
+
9
+ ## Example: Rounded box
10
+
11
+
12
+
13
+ ```ts
14
+ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
15
+ ```
16
+
17
+
18
+
19
+ ## Parameters
20
+
21
+ <a id="options"></a>
22
+
23
+ **`options`** · [`BoxOptions`](BoxOptions.md) · Required
24
+
25
+ - [`size`](BoxOptions.md#size) · `number` \| [`Vector3`](Vector3.md) · Required
26
+
27
+ Positive uniform size or explicit `[X, Y, Z]` extents in millimetres.
28
+
29
+ - [`limits`](BoxOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
30
+
31
+ Explicit sampling ceilings for edge treatments, bounded by the host policy.
32
+
33
+ - [`center`](BoxOptions.md#center) · `boolean` · Optional · Default: `true`
34
+
35
+ Centers the box on the XYZ origin when `true`; otherwise its minimum corner is at the origin.
36
+
37
+ - [`treatment`](BoxOptions.md#treatment) · [`EdgeTreatment`](EdgeTreatment.md) \| `Readonly`\<`Partial`\<`Record`\<[`BoxEdgeSelection`](BoxEdgeSelection.md), [`EdgeTreatment`](EdgeTreatment.md)\>\>\> · Optional
38
+
39
+ Uniform treatment or independent disjoint nominal edge/group treatments.
40
+
41
+ - [`placement`](BoxOptions.md#placement) · [`PrimitivePlacementOptions`](PrimitivePlacementOptions.md) · Optional
42
+
43
+ Applied after local construction; Section placement must preserve the XY plane.
44
+
45
+
46
+
47
+ ## Returns
48
+
49
+ [`Solid`](Solid.md)
50
+
51
+
52
+ ## Related APIs
53
+
54
+ - [BoxOptions](BoxOptions.md)
55
+ - [Solid](Solid.md)
56
+
57
+ ## Guides
58
+
59
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
60
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
61
+
62
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,37 @@
1
+ # Boolean Operations
2
+
3
+ Combine, intersect and subtract same-dimensional shapes; construct solid envelopes and sums.
4
+
5
+ union and intersect combine arrays of Sections or Solids; shape.subtract(cutters) cuts an array from one base. Every operand must have the same dimension. Section operations preserve filled holes and disconnected components. compose combines solid components without a Boolean union; hull and minkowskiSum construct envelopes. Keep Boolean overtravel separate from physical fit clearance. hull accepts same-session solids, sections, or finite points. split returns intersection then subtraction without repeating the cutter setup. Plane operations use a nonzero normal and a signed millimetre offset along its normalized direction; empty results remain queryable handles.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [compose](../compose.md) | Combines disjoint components without resolving overlap. |
12
+ | [hull](../hull.md) | Convex hull of points or solids. |
13
+ | [intersect](../intersect.md) | Robust intersection. |
14
+ | [minkowskiSum](../minkowskiSum.md) | Three-dimensional Minkowski sum. |
15
+ | [union](../union.md) | Robust union. |
16
+ | [split](../split.md) | Splits a solid into [inside the cutter, outside the cutter]. |
17
+ | [splitByPlane](../splitByPlane.md) | Splits a solid into [positive-normal side, negative side] at a world-space plane. |
18
+
19
+ ## Interfaces
20
+
21
+ | API | Summary |
22
+ | --- | --- |
23
+ | [PlaneOptions](../PlaneOptions.md) | A world-space cutting plane, retaining the half-space in the normal's direction. |
24
+
25
+ ## Type aliases
26
+
27
+ | API | Summary |
28
+ | --- | --- |
29
+ | [HullOptions](../HullOptions.md) | Hull inputs are either finite points or same-session solids. |
30
+ | [SectionHullOptions](../SectionHullOptions.md) | Planar convex hull inputs are finite XY points or same-session filled sections. |
31
+
32
+ ## Guides
33
+
34
+ - [Choose the Boolean by the material you want](../../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
35
+ - [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
36
+
37
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,26 @@
1
+ # Sampled surfaces
2
+
3
+ Construct bounded heightfields and positive-inside implicit fields.
4
+
5
+ Heightfields accept uniform or explicit uneven XY coordinates and close absolute heights against a flat base. Fixed or shorter-edge triangulation samples each grid point once; centre-error selection also samples each cell centre without adding triangles. Implicit sampling uses finite bounds, positive grid spacing, and fixed algorithm limits before the engine checks actual extracted output. Neither operation silently reduces fidelity.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [heightfield](../heightfield.md) | Closed rectilinear top above a flat base, with uniform or explicit XY coordinates. Samples each grid height once; center-error triangulation also samples each cell centre. |
12
+ | [implicit](../implicit.md) | Bounded positive-inside implicit field constructor. |
13
+
14
+ ## Interfaces
15
+
16
+ | API | Summary |
17
+ | --- | --- |
18
+ | [ImplicitOptions](../ImplicitOptions.md) | Positive-inside sampling, bounded to 4M native BCC grid slots and 8M field calls. |
19
+
20
+ ## Type aliases
21
+
22
+ | API | Summary |
23
+ | --- | --- |
24
+ | [HeightfieldOptions](../HeightfieldOptions.md) | A closed rectilinear heightfield above a flat base, with uniform or explicit XY samples in millimetres. |
25
+
26
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,16 @@
1
+ # Model contracts
2
+
3
+ Describe opaque handles, dimensions, manufacturing parts, and completed snapshots.
4
+
5
+ Generation returns semantic parts from part(id, geometry) or placement/color options. Opaque recipe handles belong to their session. Finalized snapshots carry copied manufacturing arrays and exact facts.
6
+
7
+ ## Interfaces
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [FinalizedModel](../FinalizedModel.md) | Finalized manufacturing snapshot. Its arrays are independent of all native values. |
12
+ | [FinalizedPart](../FinalizedPart.md) | Copied manufacturing part with facts computed from the finalized mesh. |
13
+ | [GeometrySamplingLimits](../GeometrySamplingLimits.md) | Explicit allocation ceilings for pure sampling and host-owned modeling operations. |
14
+ | [ModelingLimits](../ModelingLimits.md) | Aggregate manufacturing output ceilings selected by a trusted host. |
15
+
16
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,30 @@
1
+ # Core Values & Errors
2
+
3
+ Use the small shared vocabulary for authored geometry, coordinates, paths, and stable failures.
4
+
5
+ Use the small shared vocabulary for authored geometry, coordinates, paths, and stable failures.
6
+
7
+ ## Interfaces
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [Frame3](../Frame3.md) | A right-handed orthonormal coordinate frame expressed in world coordinates. |
12
+ | [Polygon](../Polygon-type.md) | One bounded two-dimensional polygon. |
13
+ | [Bounds2](../Bounds2.md) | Axis-aligned bounds in two-dimensional model space. |
14
+ | [Bounds3](../Bounds3.md) | Axis-aligned bounds in three-dimensional model space. |
15
+
16
+ ## Type aliases
17
+
18
+ | API | Summary |
19
+ | --- | --- |
20
+ | [Contour](../Contour.md) | A closed two-dimensional boundary whose first point is not repeated at the end. |
21
+ | [Region](../Region.md) | A two-dimensional region represented by disjoint filled polygons. |
22
+ | [Vector2](../Vector2.md) | A two-dimensional Cartesian vector or point. |
23
+ | [Vector3](../Vector3.md) | A three-dimensional Cartesian vector or point. |
24
+
25
+ ## Guides
26
+
27
+ - [Geometry vocabulary](../../../guides/concepts.md#geometry-vocabulary)
28
+ - [Lifecycle and inspection](../../../guides/concepts.md#lifecycle-and-inspection)
29
+
30
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,32 @@
1
+ # Explicit matching profiles
2
+
3
+ Build hollow or multicomponent lofts and sweeps using stable landmarks.
4
+
5
+ Contour is plain point data with an implicit closing edge. Profile is an identified family specification with stable component, contour and span IDs; it is distinct from a filled native Section. Prepare matchProfiles over the complete family once to produce CorrespondingProfile values. All paired spans share a physical sampling grid, including logical slots for collapsed corners. loft and sweep consume this correspondence without guessing topology or rematching.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [matchProfiles](../matchProfiles.md) | Explicit family matching on a shared physical span grid using session or operation resolution. |
12
+
13
+ ## Interfaces
14
+
15
+ | API | Summary |
16
+ | --- | --- |
17
+ | [CorrespondingProfile](../CorrespondingProfile.md) | Shared logical contour sampling suitable for a loft or hollow sweep. |
18
+ | [CorrespondingComponent](../CorrespondingComponent.md) | One sampled component retaining contour identities and logical point correspondence. |
19
+ | [CorrespondingContour](../CorrespondingContour.md) | A sampled contour retaining logical slots, including intentionally collapsed spans. |
20
+ | [MatchProfilesOptions](../MatchProfilesOptions.md) | Explicit family sampling settings; omitted values use physical package defaults. |
21
+ | [Profile](../Profile.md) | An explicit component/contour/span topology, before shared family sampling. |
22
+ | [ProfileComponent2](../ProfileComponent2.md) | One component and its explicitly identified holes. |
23
+ | [ProfileContour2](../ProfileContour2.md) | Ordered, closed spans. Outer winding is CCW and hole winding is CW. |
24
+
25
+ ## Type aliases
26
+
27
+ | API | Summary |
28
+ | --- | --- |
29
+ | [CorrespondingProfileStation](../CorrespondingProfileStation.md) | One already matched profile at an explicit height or right-handed spatial frame. |
30
+ | [ProfileSpan2](../ProfileSpan2.md) | An identified line, circular arc, or cubic Bézier between corresponding landmarks. |
31
+
32
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,42 @@
1
+ # Extrude, Revolve & Sweep
2
+
3
+ Turn sections and paths into extruded, lofted, revolved, or swept solids.
4
+
5
+ `section.extrude({ height, twistDegrees, scaleTop })` adds +Z depth; center defaults to false. `section.revolve({ revolveDegrees })` rotates radial/Z geometry around +Z and caps partial turns. loft(stations, options) places each profile at exactly one z or frame in input order. Compatible primitive landmarks match 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. refine controls density and slices interpolate world vertices. Identified CorrespondingProfile landmarks reject geometric remapping. section.sweep(path, options) supports implicit closed paths, transport/fixed-normal/guide/Frenet orientation, physical-length or station twist progression, uniform/XY/per-station scales and an explicit rotationally equivalent seamProfileOffset. Open sweeps have watertight end caps; closed sweeps require compatible orientation and scale at the seam. Standalone extrude, revolve and sweep accept CorrespondingProfile data only; Section construction uses its methods.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [extrude](../extrude.md) | Extrudes explicit corresponding contours along +Z with degree twist and top scaling. Filled Sections use `section.extrude(options)`. |
12
+ | [loft](../loft.md) | Lofts primitive Sections at z heights or frames; arbitrary Sections and loops require an explicit correspondence method. |
13
+ | [revolve](../revolve.md) | Revolves explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Filled Sections use `section.revolve(options)`. |
14
+ | [sweep](../sweep.md) | Sweeps explicit corresponding contours using the selected frame policy. Filled Sections use `section.sweep(path, options)`. |
15
+
16
+ ## Interfaces
17
+
18
+ | API | Summary |
19
+ | --- | --- |
20
+ | [ExtrudeOptions](../ExtrudeOptions.md) | Dimensions and sampling shared by native and pure +Z extrusion. |
21
+ | [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections require explicit correspondence. |
22
+ | [RevolveOptions](../RevolveOptions.md) | Circumferential sampling and degree sweep shared by pure and filled revolution. |
23
+ | [SweepOptions](../SweepOptions.md) | Controls shared by pure mesh construction and filled modeling sweeps. |
24
+
25
+ ## Type aliases
26
+
27
+ | API | Summary |
28
+ | --- | --- |
29
+ | [LoftCorrespondence](../LoftCorrespondence.md) | Associates ordered loft contours without inferring component identities or repairing topology. |
30
+ | [LoftPlacement](../LoftPlacement.md) | A horizontal XY station height, or an explicit right-handed spatial frame, never both. |
31
+ | [LoftStation](../LoftStation.md) | A Section or point loop at an explicit height or frame. |
32
+ | [PathNormalGuide](../PathNormalGuide.md) | Supplies a profile-X orientation guide for each original normalized sweep station. |
33
+ | [SweepOrientation](../SweepOrientation.md) | Explicit profile-X frame policy; all normals are directed, and selected singular policies reject. |
34
+
35
+ ## Guides
36
+
37
+ - [Revolve a radial profile](../../../guides/recipes.md#revolve-a-radial-profile)
38
+ - [Rotation-minimizing path sweep](../../../guides/recipes.md#rotation-minimizing-path-sweep)
39
+ - [Matched-section loft](../../../guides/recipes.md#matched-section-loft)
40
+ - [Choose a modeling path](../../../guides/concepts.md#choose-a-modeling-path)
41
+
42
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,44 @@
1
+ # Model generation
2
+
3
+ Declare typed programs, optional computations, semantic parts and structured diagnostics.
4
+
5
+ Start with `generate(({ params, part, assert }) => ...)` and return one `part(...)` or a readonly array of parts. Parameter values are ordinary readonly data. `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. Assertions stop immediately; warnings continue and must be emitted in the outer callback. Place finished parts with `position` in millimetres and fixed global XYZ `rotation` in degrees. Capture cached numeric arrays with `immutableBuffer` and indexed meshes with `immutableMesh`. Buffers expose only length, at(index), and copy(); snapshots still contain ordinary typed arrays.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [generate](../generate.md) | Defines a typed model without executing it. Use `computed` only for work worth reusing. |
12
+ | [immutableBuffer](../immutableBuffer.md) | Copies numeric data once into private storage. This pure helper needs no active generation. |
13
+ | [immutableMesh](../immutableMesh.md) | Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing. |
14
+
15
+ ## Classes
16
+
17
+ | API | Summary |
18
+ | --- | --- |
19
+ | [GenerationError](../GenerationError.md) | A user-correctable assertion failure. Successful computation caches never retain failures. |
20
+
21
+ ## Interfaces
22
+
23
+ | API | Summary |
24
+ | --- | --- |
25
+ | [ImmutableBuffer](../ImmutableBuffer-type.md) | Owned immutable numeric data. Use copy() to obtain mutable storage for numerical work. |
26
+ | [ImmutableTriangleMesh](../ImmutableTriangleMesh.md) | Immutable local XYZ positions and triangle indices, suitable for a computed value or part. |
27
+ | [Computed](../Computed.md) | Reads immutable data or a deferred recipe; evaluation is synchronous and cached. |
28
+ | [DiagnosticOptions](../DiagnosticOptions.md) | Typed parameter association for an assertion or warning. |
29
+ | [GenerateContext](../GenerateContext.md) | The sole synchronous authoring context, supplied independently of Studio. |
30
+ | [GeneratedPart](../GeneratedPart.md) | One declared output part. Construct with the context's `part` helper. |
31
+ | [GenerationDiagnostic](../GenerationDiagnostic.md) | Structured user-facing issue associated with the attempted revision. |
32
+ | [ModelProgram](../ModelProgram.md) | Stateless portable program descriptor. Execution and caches belong to an engine session. |
33
+ | [PartOptions](../PartOptions.md) | Appearance and rigid placement of a finished local manufacturing part. |
34
+
35
+ ## Type aliases
36
+
37
+ | API | Summary |
38
+ | --- | --- |
39
+ | [NumericArray](../NumericArray.md) | Numeric storage supported by immutable generation buffers. |
40
+ | [ComputedValue](../ComputedValue.md) | A value supplied immediately or by a lazy computed reader. |
41
+ | [GenerateCallback](../GenerateCallback.md) | Pure synchronous callback returning one declared part or an array; caches are optional. |
42
+ | [PartGeometry](../PartGeometry.md) | Manufacturing geometry; filled sections are intermediate construction values. |
43
+
44
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,23 @@
1
+ # Solid inspection
2
+
3
+ Inspect and convert session-owned recipes while retaining host ownership.
4
+
5
+ Inspection returns copied scalar facts and finite bounds. Mesh extraction is explicit; finalized engine output is already copied and validated. A handle belongs to one session and cannot cross a worker or be used after session disposal. components accepts either dimension; simplify is an immutable shape method. Solid.projectSection and Solid.sliceSection return Sections. isEmpty distinguishes empty Boolean/split results; distance measures the minimum separation between nonempty solids and returns zero for contact or overlapping material.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [components](../components.md) | Separates a solid's disconnected surface shells into same-session solid handles. |
12
+ | [rayCast](../rayCast.md) | Copies intersections along the finite directed origin-to-endpoint segment. |
13
+ | [toTriangleMesh](../toTriangleMesh.md) | Copies a handle to manufacturing mesh buffers. |
14
+ | [isEmpty](../isEmpty.md) | Checks whether a same-session solid or filled section contains no geometry. |
15
+ | [distance](../distance.md) | Measures the minimum separation between two nonempty solids in millimetres. |
16
+
17
+ ## Interfaces
18
+
19
+ | API | Summary |
20
+ | --- | --- |
21
+ | [SolidRayHit](../SolidRayHit.md) | Copied surface intersection from a finite directed segment. Distance is in millimetres. |
22
+
23
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,29 @@
1
+ # Mesh & Inspection
2
+
3
+ Convert validated meshes and inspect stable section or solid measurements.
4
+
5
+ inspectSection and inspectSolid copy native scalar facts and bounds from same-build handles. toTriangleMesh returns copied manufacturing arrays; final engine output also receives strict mesh analysis. Neither inspection certifies wall thickness, overhangs, printer fit or material behavior.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [inspectSection](../inspectSection.md) | Copies lightweight section measurements. |
12
+ | [inspectSolid](../inspectSolid.md) | Reads immutable native facts once per solid; temporary components are owned by the build. |
13
+ | [solidFromMesh](../solidFromMesh.md) | Imports a bounded closed indexed mesh. |
14
+
15
+ ## Interfaces
16
+
17
+ | API | Summary |
18
+ | --- | --- |
19
+ | [SectionInspection](../SectionInspection.md) | Immutable native filled section facts in millimetres and square millimetres. Repeated inspections of the same native shape share these facts within one revision. |
20
+ | [SolidInspection](../SolidInspection.md) | Immutable solid bounds, emptiness, component count, volume, surface area and native tolerance. Repeated inspections of the same native shape share these facts within one revision. |
21
+ | [TriangleMesh](../TriangleMesh.md) | A topology-preserving indexed triangle mesh with XYZ vertex positions. |
22
+ | [TriangleMeshAnalysis](../TriangleMeshAnalysis.md) | Measurements and optional edge-connected topology from one validated mesh traversal. |
23
+ | [TriangleMeshMeasurements](../TriangleMeshMeasurements.md) | Geometric measurements derived from a validated, non-empty triangle mesh. |
24
+
25
+ ## Guides
26
+
27
+ - [Solid inspection](../../../guides/recipes.md#solid-inspection)
28
+
29
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,61 @@
1
+ # Primitives
2
+
3
+ Create foundational solid geometry and configure its dimensions and tessellation.
4
+
5
+ All primitives use millimetres and one options object. `box` accepts scalar or XYZ size; `cylinder` accepts exactly one radius or diameter, uniformly or as a bottom/top tuple along +Z. Radial sizing explicitly selects polygon vertices or compensated faces. Treatments share `{kind: "round", radius}`, `{kind: "chamfer", distance}`, `{kind: "smooth", distance}` and `{kind: "profile", profile}`; boxes may select named edges; cylinder and straight convex extrusion ends select independent bottom/top treatments. Boxes, cylinders and tubes are centered by default. `placement` maps a named or explicit local anchor onto a world anchor after shape construction.
6
+
7
+ Use imported primitives inside generation:
8
+
9
+ ```ts
10
+ import { box, cylinder, generate } from "@metamesh/modeling";
11
+ export default generate(({ part }) => {
12
+ const plate = box({ size: [30, 20, 6], treatment: { kind: "chamfer", distance: 0.5 } });
13
+ const bore = cylinder({ radius: 3, height: 8, sizing: "face" });
14
+ return [part("plate", plate.subtract([bore]))];
15
+ });
16
+ ``` Zero round radius or zero chamfer/smooth setbacks leave a feature untreated; setback tuples are either all zero or both positive.
17
+
18
+ ## Functions
19
+
20
+ | API | Summary |
21
+ | --- | --- |
22
+ | [box](../box.md) | Axis-aligned box with uniform or disjoint named edge/group treatments. |
23
+ | [cylinder](../cylinder.md) | +Z cylinder or frustum. Face sizing compensates polygon faceting. |
24
+ | [sphere](../sphere.md) | Origin-centered sphere. |
25
+ | [torus](../torus.md) | Torus around +Z. |
26
+ | [tube](../tube.md) | Hollow +Z tube. |
27
+
28
+ ## Interfaces
29
+
30
+ | API | Summary |
31
+ | --- | --- |
32
+ | [Solid](../Solid.md) | Immutable deferred solid recipe belonging to exactly one model session. Methods run during synchronous generation, preserve their receiver, and use millimetres and degrees. A no-op may reuse the receiver; final part placement belongs in `part` options. |
33
+ | [BoxOptions](../BoxOptions.md) | Dimensions, placement, and uniform or independently selected finishing for an axis-aligned box. |
34
+ | [ChamferedEdgeTreatment](../ChamferedEdgeTreatment.md) | A planar edge or corner chamfer with equal or independent surface setbacks. |
35
+ | [CircularPrimitiveOptions](../CircularPrimitiveOptions.md) | Tessellation controls shared by circular primitives across Geometry entry points. |
36
+ | [EndTreatments](../EndTreatments.md) | Independent inward finishing on primitive or straight convex extrusion ends. Zero amounts leave the end untreated, including when all ends are disabled. |
37
+ | [RadialSizingOptions](../RadialSizingOptions.md) | Nominal radial sizing shared by circular and regular polygon construction. |
38
+ | [RoundedEdgeTreatment](../RoundedEdgeTreatment.md) | A circular edge or corner roundover with explicit physical sampling. |
39
+ | [TorusOptions](../TorusOptions.md) | Dimensions and independent ring/profile tessellation for a torus around the Z axis. |
40
+ | [TubeOptions](../TubeOptions.md) | Dimensions, placement, and tessellation for a hollow Z-axis tube. |
41
+ | [SmoothEdgeTreatment](../SmoothEdgeTreatment.md) | A cubic corner transition with zero curvature at its straight tangent joins. |
42
+ | [ProfiledEdgeTreatment](../ProfiledEdgeTreatment.md) | A deliberately sampled, inward-only corner profile with exact polyline geometry. |
43
+
44
+ ## Type aliases
45
+
46
+ | API | Summary |
47
+ | --- | --- |
48
+ | [CylinderOptions](../CylinderOptions.md) | Dimensions, placement, independent end finishing, and tessellation for a Z-axis cylinder or frustum. |
49
+ | [EdgeTreatment](../EdgeTreatment.md) | Uniform finishing vocabulary shared by applicable solid edges and profile corners. |
50
+ | [RadialSizing](../RadialSizing.md) | Radial dimensions refer to polygon vertices or compensate faceting to meet polygon faces. |
51
+ | [SphereOptions](../SphereOptions.md) | Exactly one radius or diameter, placement, and tessellation for an origin-centered sphere. |
52
+ | [BoxEdge](../BoxEdge.md) | Box edges use +Z top, +Y front and +X right; vertical names list front/back first. |
53
+ | [BoxEdgeSelection](../BoxEdgeSelection.md) | Named individual edges or top/bottom rims and all four vertical edges. |
54
+ | [BoxEdgeTreatments](../BoxEdgeTreatments.md) | Independent treatments for disjoint named edge selections; overlapping selections fail. |
55
+
56
+ ## Guides
57
+
58
+ - [Choose a primitive](../../../guides/recipes.md#choose-a-primitive)
59
+ - [Treated boxes, frustums, and mirrored arrays](../../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
60
+
61
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,18 @@
1
+ # Local resolution
2
+
3
+ Choose physical curve sampling and explicit native tolerance.
4
+
5
+ Exact operation counts take precedence over the operation’s resolution policy, followed by host session defaults. Pass resolution explicitly to each affected constructor or Section operation. Solid.setTolerance changes native geometric tolerance on an immutable copy; it does not select curve sampling.
6
+
7
+ ## Interfaces
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [GeometryResolution](../GeometryResolution.md) | Tessellation policy for sampled geometry measured in millimetres. |
12
+ | [GeometryToleranceOptions](../GeometryToleranceOptions.md) | Optional overrides for MetaMesh's geometry comparison policy. |
13
+
14
+ ## Guides
15
+
16
+ - [Coordinates, units, and resolution](../../../guides/concepts.md#coordinates-units-and-resolution)
17
+
18
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,59 @@
1
+ # 2D Sections
2
+
3
+ Create native filled XY sections, including prepared text and bounded painted SVG.
4
+
5
+ A Section is a filled native XY shape with holes and disconnected components. rectangle, circle, ellipse, regularPolygon and star take object options. Boolean and offset chains stay native until an explicit toRegion conversion. textSection consumes prepared VectorTextLayout without shaping again. Extrusion and revolution preserve filled topology; sweeps retain all contours. Compatible primitive Sections retain their authored landmarks for direct lofting; arbitrary Sections require explicit vertex correspondence. `polygon(points)` fills a single implicit closed contour. `polygon({ outer, holes })` validates explicit topology; `polygon({ contours, fillRule })` resolves compound winding with nonzero fill by default or evenodd fill. All forms return a Section.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [circle](../circle.md) | Centered circular section. |
12
+ | [ellipse](../ellipse.md) | Centered elliptical section. |
13
+ | [fromRegion](../fromRegion.md) | Imports explicit region topology once. |
14
+ | [rectangle](../rectangle.md) | Filled rectangular section with uniform or independently treated corners. |
15
+ | [regularPolygon](../regularPolygon.md) | Regular polygon with a vertex on +X. |
16
+ | [polygon](../polygon.md) | Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours. Closing edges are implicit. Compound contours use nonzero fill unless selected otherwise. Explicit topology must be simple and disjoint; compound winding may resolve overlaps. |
17
+ | [star](../star.md) | Alternating outer/inner star vertices. |
18
+ | [svgPathSection](../svgPathSection.md) | Imports bounded filled SVG path data. |
19
+ | [svgSection](../svgSection.md) | Imports bounded painted SVG document geometry. |
20
+ | [textSection](../textSection.md) | Consumes a previously prepared layout; never shapes or fetches a font. |
21
+ | [toRegion](../toRegion.md) | Explicit copied topology inspection; not needed for section operations. |
22
+
23
+ ## Interfaces
24
+
25
+ | API | Summary |
26
+ | --- | --- |
27
+ | [Section](../Section.md) | Immutable deferred filled XY section recipe belonging to exactly one model session. Methods run during synchronous generation and preserve their receiver. Distances use millimetres; rotations are counterclockwise degrees about the origin. Construction uses the session resolution unless the operation supplies explicit options. |
28
+ | [RectangleContourOptions](../RectangleContourOptions.md) | Shared rectangle dimensions, origin and uniform or per-corner treatment. |
29
+ | [RectangleOptions](../RectangleOptions.md) | Rectangle dimensions, placement and uniform or per-corner treatment. |
30
+ | [RegionOffsetOptions](../RegionOffsetOptions.md) | Options controlling robust Clipper2 region offsets. |
31
+ | [StarOptions](../StarOptions.md) | Alternating outer and inner vertices, centered on the XY origin. |
32
+ | [SvgPathSectionOptions](../SvgPathSectionOptions.md) | Bounded filled SVG path sampling. Path scale converts user units to millimetres. |
33
+ | [SvgSectionOptions](../SvgSectionOptions.md) | Bounded SVG document sampling. Center origin uses the final painted bounds. |
34
+ | [TextSectionOptions](../TextSectionOptions.md) | Physical curve sampling applied to already prepared vector text. |
35
+ | [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
36
+ | [VectorTextMetrics](../VectorTextMetrics.md) | Text measurements from the same immutable layout that supplies geometry and SVG outlines. |
37
+
38
+ ## Type aliases
39
+
40
+ | API | Summary |
41
+ | --- | --- |
42
+ | [CircleContourOptions](../CircleContourOptions.md) | Circular profile dimensions with exactly one radius or diameter and explicit sampling. |
43
+ | [CircleOptions](../CircleOptions.md) | Circular dimensions with exactly one nominal radius or diameter. |
44
+ | [EllipseContourOptions](../EllipseContourOptions.md) | Ellipse dimensions with exactly one XY radii or full-size tuple and explicit sampling. |
45
+ | [EllipseOptions](../EllipseOptions.md) | Ellipse dimensions in local XY, with exactly one radii or full-size tuple. |
46
+ | [RectangleCornerTreatment](../RectangleCornerTreatment.md) | A rectangle corner, including an explicitly untreated corner in a treatment tuple. |
47
+ | [RectangleCornerTreatments](../RectangleCornerTreatments.md) | Corner treatments ordered top-right, top-left, bottom-left, bottom-right. |
48
+ | [RegularPolygonOptions](../RegularPolygonOptions.md) | Regular polygon dimensions, radial convention and degree rotation. |
49
+ | [RegionOffsetJoin](../RegionOffsetJoin.md) | Clipper2 join styles accepted by robust region offsets. |
50
+ | [PolygonOptions](../PolygonOptions.md) | Explicit polygon topology or compound contours; all closing edges are implicit. |
51
+ | [SvgOrigin](../SvgOrigin.md) | Placement of painted SVG geometry after SVG Y-axis inversion. |
52
+
53
+ ## Guides
54
+
55
+ - [Section, hole, offset, and extrusion](../../../guides/recipes.md#section-hole-offset-and-extrusion)
56
+ - [SVG sections: fills and strokes are different inputs](../../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
57
+ - [Text and font variability](../../../guides/concepts.md#text-and-font-variability)
58
+
59
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,50 @@
1
+ # Printable threads
2
+
3
+ Construct compensated thread forms and inspect allocation-free preflight facts.
4
+
5
+ Thread pitch is adjacent axial spacing; lead equals pitch times starts. Prepare shared thread dimensions once. Constructors enforce safety automatically; optional preflight provides resource estimates or early control-specific validation. Native rods, internal cutters, and nuts share printable fit and end-treatment options. These forms do not certify a structural rating or a metrology class.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [internalThreadCutter](../internalThreadCutter.md) | Compensated internal threaded cutter. |
12
+ | [preflightInternalThreadCutter](../preflightInternalThreadCutter.md) | Allocation-free internal-thread facts. |
13
+ | [preflightThreadedNut](../preflightThreadedNut.md) | Allocation-free nut/cutter facts. |
14
+ | [preflightThreadedRod](../preflightThreadedRod.md) | Allocation-free external-thread facts. |
15
+ | [threadedNut](../threadedNut.md) | Compensated threaded nut. |
16
+ | [threadedRod](../threadedRod.md) | Compensated external threaded rod. |
17
+ | [threadRidge](../threadRidge.md) | Helical ridge mesh construction. |
18
+
19
+ ## Interfaces
20
+
21
+ | API | Summary |
22
+ | --- | --- |
23
+ | [HelicalThreadRidgeMeshOptions](../HelicalThreadRidgeMeshOptions.md) | Runtime-neutral options for the dedicated helical ridge mesher. |
24
+ | [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) | Conservative allocation facts resolved before constructing a direct thread solid mesh. |
25
+ | [InternalThreadCutterOptions](../InternalThreadCutterOptions.md) | Options for a compensated internal-thread subtraction tool along +Z. |
26
+ | [PrintableThreadFitPolicy](../PrintableThreadFitPolicy.md) | Explicit radial and axial allowances for a mating printed thread pair. |
27
+ | [ThreadedNutOptions](../ThreadedNutOptions.md) | Options for a compensated nut with an internal thread. |
28
+ | [ThreadedNutPreflight](../ThreadedNutPreflight.md) | Allocation-free body, cutter, and end-face facts resolved for a threaded nut. |
29
+ | [ThreadedRodOptions](../ThreadedRodOptions.md) | Options for a compensated external threaded rod along +Z. |
30
+ | [ThreadEndTreatmentOptions](../ThreadEndTreatmentOptions.md) | Axial end controls for a generated ridge. |
31
+ | [ThreadProfile](../ThreadProfile.md) | A validated immutable periodic thread profile in `[axial, radial]` millimetres. |
32
+
33
+ ## Type aliases
34
+
35
+ | API | Summary |
36
+ | --- | --- |
37
+ | [PrintableThreadFit](../PrintableThreadFit.md) | Named baseline fit policies for calibrated FDM-style printed threads. |
38
+ | [ThreadedNutBevel](../ThreadedNutBevel.md) | Nut-edge bevel selection. |
39
+ | [ThreadedNutShape](../ThreadedNutShape.md) | Supported printable nut body shapes. |
40
+ | [ThreadEndStyle](../ThreadEndStyle.md) | End shape of a generated helical ridge. |
41
+ | [ThreadHandedness](../ThreadHandedness.md) | Direction in which a conventional helical thread advances around +Z. |
42
+ | [ThreadLeadInEnvelope](../ThreadLeadInEnvelope.md) | Radial envelope toward which a blunt lead-in collapses. |
43
+ | [ThreadLeadInShape](../ThreadLeadInShape.md) | BOSL2-compatible cross-section scaling curve for a blunt thread lead-in. |
44
+ | [ThreadRidgeOptions](../ThreadRidgeOptions.md) | Parameters for a helical ridge before solid construction. |
45
+
46
+ ## Guides
47
+
48
+ - [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
49
+
50
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,43 @@
1
+ # Transforms & Placement
2
+
3
+ Transform 2D sections and 3D solids; arrange and attach solids with explicit placement contracts.
4
+
5
+ Solid and Section methods translate, rotate, scale, mirror and transform return immutable same-dimensional recipes. Sections use XY vectors and counterclockwise degree rotations; solids use XYZ vectors and degree Euler angles. Calls apply in written order about the origin: translating then rotating also rotates the translated position. Transform2 and Transform3 are row-major affine matrices. Solid.attach and primitive placement share source/target anchors, alignment, millimetre gap and degree spin. withAnchors adds explicit datums to either shape. Patterns return same-session Solid or Section arrays; Section placements must preserve XY. Pure *PatternTransforms expose matching placements from /geometry. Place completed parts through part options so placement can reuse geometry.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [anchor](../anchor.md) | Reads a copied, immutable named anchor from this exact active generation. |
12
+ | [gridPattern](../gridPattern.md) | XY or XYZ copies, optionally centered or placed in an explicit frame. |
13
+ | [linearPattern](../linearPattern.md) | Repeats one solid along a normalized direction. |
14
+ | [pathPattern](../pathPattern.md) | Physical arc-length copies along a sampled path, with optional tangent orientation. |
15
+ | [radialPattern](../radialPattern.md) | Repeats one solid about an axis. |
16
+
17
+ ## Interfaces
18
+
19
+ | API | Summary |
20
+ | --- | --- |
21
+ | [Anchor3](../Anchor3.md) | An attachment pose on a solid or assembly. |
22
+ | [AttachOptions](../AttachOptions.md) | Degree-based anchor attachment controls for a scoped solid. |
23
+ | [PathPatternOptions](../PathPatternOptions.md) | Equal physical arc-length placements along an open or implicitly closed sampled path. |
24
+ | [PrimitivePlacement](../PrimitivePlacement.md) | Placement shared by solid and filled-section factories. |
25
+ | [PrimitivePlacementOptions](../PrimitivePlacementOptions.md) | Maps an explicit or named shape-local attachment anchor onto a world-space anchor. |
26
+ | [RadialPatternOptions](../RadialPatternOptions.md) | Options for repeating one solid around an axis through a center point. |
27
+
28
+ ## Type aliases
29
+
30
+ | API | Summary |
31
+ | --- | --- |
32
+ | [GridPatternOptions](../GridPatternOptions.md) | XY or XYZ grid with X varying fastest. The first item starts at the local origin. |
33
+ | [LinearPatternOptions](../LinearPatternOptions.md) | Equal linear intervals determined by exactly two of count, spacing and total length. |
34
+ | [PatternSource](../PatternSource.md) | One same-session shape, or a synchronous factory called once per copy in index order. |
35
+ | [Transform2](../Transform2.md) | Row-major affine XY matrix. Translation occupies m02/m12; final row is [0, 0, 1]. |
36
+ | [Transform3](../Transform3.md) | A row-major affine 4x4 matrix applied to column vectors. |
37
+
38
+ ## Guides
39
+
40
+ - [Named anchors and custom frames](../../../guides/recipes.md#named-anchors-and-custom-frames)
41
+ - [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
42
+
43
+ Package: `@metamesh/modeling@0.13.0`.