@metamesh/modeling 0.11.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 (630) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +60 -58
  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 -2267
  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/immutable-generation-data.js +36 -6
  563. package/dist/engine/loft-operations.js +4 -4
  564. package/dist/engine/native/adapter.js +1 -1
  565. package/dist/engine/native/regions.js +9 -9
  566. package/dist/engine/pattern-operations.js +24 -13
  567. package/dist/engine/pattern-transform.js +9 -0
  568. package/dist/engine/placement.js +2 -2
  569. package/dist/engine/primitive-operations.js +10 -10
  570. package/dist/engine/profile-mesh.js +7 -7
  571. package/dist/engine/section-operations.js +25 -14
  572. package/dist/engine/session-graph.js +40 -33
  573. package/dist/engine/session.js +1 -2
  574. package/dist/geometry/bounds.js +117 -0
  575. package/dist/geometry/cylinder.js +5 -1
  576. package/dist/geometry/edge-finishing.js +2 -2
  577. package/dist/geometry/heightfield.js +1 -1
  578. package/dist/geometry/index.js +15 -12
  579. package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
  580. package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
  581. package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
  582. package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
  583. package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
  584. package/dist/geometry/{loft.js → loft/loft.js} +8 -8
  585. package/dist/geometry/math/vector3.js +5 -1
  586. package/dist/geometry/mechanical/gears.js +2 -2
  587. package/dist/geometry/mechanical/thread-mesh.js +3 -3
  588. package/dist/geometry/mechanical/thread-profiles.js +2 -2
  589. package/dist/geometry/mechanical/thread-surface.js +14 -5
  590. package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
  591. package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
  592. package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
  593. package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
  594. package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
  595. package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
  596. package/dist/geometry/paths/frames.js +4 -5
  597. package/dist/geometry/patterns/options.js +1 -0
  598. package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
  599. package/dist/geometry/patterns.js +25 -0
  600. package/dist/geometry/primitive-resolvers.js +9 -9
  601. package/dist/geometry/profiles/contour.js +3 -3
  602. package/dist/geometry/profiles/matched.js +3 -3
  603. package/dist/geometry/profiles/profiles.js +10 -10
  604. package/dist/geometry/profiles/rectangle.js +7 -7
  605. package/dist/geometry/profiles/shapes.js +9 -9
  606. package/dist/geometry/profiles/side-profile.js +37 -0
  607. package/dist/geometry/regions.js +15 -15
  608. package/dist/geometry/revolve/revolve-mesh.js +5 -5
  609. package/dist/geometry/stroke-path.js +2 -2
  610. package/dist/geometry/svg/errors.js +0 -3
  611. package/dist/geometry/svg/fill.js +7 -7
  612. package/dist/geometry/svg/index.js +1 -1
  613. package/dist/geometry/svg/matrix.js +0 -114
  614. package/dist/geometry/svg/parser.js +1 -439
  615. package/dist/geometry/svg-import.js +3 -3
  616. package/dist/geometry/sweeps/sweep-closed.js +1 -1
  617. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  618. package/dist/geometry/sweeps/sweep-open.js +3 -3
  619. package/dist/geometry/sweeps/validation.js +2 -2
  620. package/dist/geometry/text-fitting.js +85 -0
  621. package/dist/geometry/tolerance.js +2 -2
  622. package/dist/geometry/transform-geometry.js +9 -9
  623. package/dist/model/execution-binding.js +3 -3
  624. package/dist/model/generation.js +1 -1
  625. package/dist/model/operation-contracts.js +1 -0
  626. package/dist/model/operation-dispatch.js +6 -0
  627. package/dist/model/operations.js +19 -49
  628. package/package.json +10 -8
  629. /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
  630. /package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +0 -0
@@ -0,0 +1,59 @@
1
+ # validateTriangleMesh
2
+
3
+ Validates mesh buffers, indices, triangle area, and optionally closed topology.
4
+
5
+ **validateTriangleMesh**(`mesh`: [`TriangleMesh`](TriangleMesh.md), `options?`: [`TriangleMeshValidationOptions`](TriangleMeshValidationOptions.md)): [`TriangleMesh`](TriangleMesh.md)
6
+
7
+
8
+
9
+ Closed validation requires exactly two oppositely directed uses per edge, rejecting boundary
10
+ and non-manifold edges. It establishes edge connectivity without detecting geometric
11
+ self-intersections between faces. The mesh is neither mutated nor copied.
12
+
13
+ ## Parameters
14
+
15
+ <a id="mesh"></a>
16
+
17
+ **`mesh`** · [`TriangleMesh`](TriangleMesh.md) · Required
18
+
19
+ Mesh to inspect.
20
+
21
+
22
+
23
+ <a id="options"></a>
24
+
25
+ **`options`** · [`TriangleMeshValidationOptions`](TriangleMeshValidationOptions.md) · Optional
26
+
27
+ Empty-mesh, topology, and tolerance policy.
28
+
29
+ - [`allowEmpty`](TriangleMeshValidationOptions.md#allowempty) · `boolean` · Optional
30
+
31
+ Permit an empty position and index buffer. Defaults to `false`.
32
+
33
+ - [`requireClosed`](TriangleMeshValidationOptions.md#requireclosed) · `boolean` · Optional
34
+
35
+ Require two oppositely wound faces per edge; geometric self-intersections are not detected.
36
+
37
+ - [`tolerance`](TriangleMeshValidationOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
38
+
39
+ Numeric comparison overrides used for zero-area triangle detection.
40
+
41
+
42
+
43
+ ## Returns
44
+
45
+ [`TriangleMesh`](TriangleMesh.md)
46
+
47
+ The original mesh after successful validation.
48
+
49
+
50
+ ## Throws
51
+
52
+ - GeometryError When any requested invariant fails.
53
+
54
+ ## Related APIs
55
+
56
+ - [TriangleMesh](TriangleMesh.md)
57
+ - [TriangleMeshValidationOptions](TriangleMeshValidationOptions.md)
58
+
59
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,30 @@
1
+ # Geometry foundations
2
+
3
+ Pure curves, profiles, regions, meshes, transforms, and mechanical construction without initializing a native engine.
4
+
5
+ Import runtime-neutral geometry from `@metamesh/modeling/geometry`. Curves, profiles, transforms, regions, meshes, SVG parsing, and mechanical kernels work without an SDK or native engine.
6
+
7
+ ```ts
8
+ import { sampleCurve2, rectangleContour } from "@metamesh/modeling/geometry";
9
+ const arc = sampleCurve2({ kind: "arc", center: [0, 0], radius: 10, sweepDegrees: 90 });
10
+ const contour = rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
11
+ ```
12
+
13
+ Lengths use millimetres. Winding and closing conventions are explicit. Mutable external meshes are inspected freshly, and predictable allocations are bounded before sampling.
14
+
15
+ Use shared Bounds2/Bounds3 and bounds helpers for measurements, positioned containment, fitting, and part layout. Fit text vector paths before sampling to retain physical tolerance.
16
+
17
+ ## Categories
18
+
19
+ - [Mechanical foundations](geometry/categories/mechanical.md) — Resolve gears, fastener standards, thread profiles, fit, and predictable allocations.
20
+ - [Triangle meshes and surfaces](geometry/categories/meshes.md) — Build, transform, validate, analyze, and locally optimize copied indexed meshes.
21
+ - [SVG and vector layouts](geometry/categories/vector-import.md) — Parse bounded painted SVG and carry explicit prepared text geometry.
22
+ - [Profiles and regions](geometry/categories/profiles-regions.md) — Define winding, holes, stable profile landmarks, and reusable planar boundaries.
23
+ - [Curves and paths](geometry/categories/curves-paths.md) — Sample reusable lines, arcs, cubic curves, and path frames with explicit physical policies.
24
+ - [Bounds & Layout](geometry/categories/bounds-layout.md) — Measure finite bounds, test positioned containment, and fit or arrange geometry.
25
+ - [Pattern Placement](geometry/categories/pattern-placement.md) — Calculate pure linear, radial, grid, and path transforms.
26
+ - [Transforms and vector math](geometry/categories/transforms-math.md) — Compose explicit coordinate transforms and reusable placement anchors.
27
+ - [Resolution and errors](geometry/categories/resolution-errors.md) — Resolve physical sampling, numerical tolerances, and contextual failures.
28
+ - [Primitive options](geometry/categories/primitive-options.md) — Share one option contract for dimensional primitives and edge treatments.
29
+
30
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,54 @@
1
+ # Anchor3
2
+
3
+ An attachment pose on a solid or assembly.
4
+
5
+ `direction` is the outward attachment normal. `up` controls roll and must not
6
+ be parallel to `direction`; anchor construction projects and normalizes it.
7
+
8
+ ## Properties
9
+
10
+ ### direction
11
+
12
+
13
+
14
+ `readonly` **direction**: [`Vector3`](Vector3.md)
15
+
16
+
17
+
18
+ Unit outward normal used as the anchor's local +Z direction.
19
+
20
+ ***
21
+
22
+ ### position
23
+
24
+
25
+
26
+ `readonly` **position**: [`Vector3`](Vector3.md)
27
+
28
+
29
+
30
+ World-space attachment position.
31
+
32
+ ***
33
+
34
+ ### up
35
+
36
+
37
+
38
+ `readonly` **up**: [`Vector3`](Vector3.md)
39
+
40
+
41
+
42
+ Roll guide projected into the plane perpendicular to `direction`.
43
+
44
+
45
+ ## Related APIs
46
+
47
+ - [Vector3](Vector3.md)
48
+
49
+ ## Guides
50
+
51
+ - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
52
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
53
+
54
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,63 @@
1
+ # AttachOptions
2
+
3
+ Degree-based anchor attachment controls for a scoped solid.
4
+
5
+ ## Properties
6
+
7
+ ### alignment?
8
+
9
+
10
+
11
+ `readonly` `optional` **alignment?**: `"opposed"` \| `"same"`
12
+
13
+
14
+
15
+ Align outward directions face-to-face (`opposed`) or in parallel (`same`).
16
+
17
+ ***
18
+
19
+ ### gap?
20
+
21
+
22
+
23
+ `readonly` `optional` **gap?**: `number`
24
+
25
+
26
+
27
+ Separation along the target anchor's outward direction in millimetres.
28
+
29
+ ***
30
+
31
+ ### spinDegrees?
32
+
33
+
34
+
35
+ `readonly` `optional` **spinDegrees?**: `number`
36
+
37
+
38
+
39
+ Additional right-handed roll about the attached direction, in degrees.
40
+
41
+ ***
42
+
43
+ ### tolerance?
44
+
45
+
46
+
47
+ `readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)
48
+
49
+
50
+
51
+ Optional numeric comparison overrides.
52
+
53
+
54
+ ## Related APIs
55
+
56
+ - [GeometryToleranceOptions](GeometryToleranceOptions.md)
57
+
58
+ ## Guides
59
+
60
+ - [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
61
+ - [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
62
+
63
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,39 @@
1
+ # Bounds2
2
+
3
+ Axis-aligned bounds in two-dimensional model space.
4
+
5
+ ## Properties
6
+
7
+ ### max
8
+
9
+
10
+
11
+ `readonly` **max**: [`Vector2`](Vector2.md)
12
+
13
+
14
+
15
+ Inclusive maximum X/Y coordinates.
16
+
17
+ ***
18
+
19
+ ### min
20
+
21
+
22
+
23
+ `readonly` **min**: [`Vector2`](Vector2.md)
24
+
25
+
26
+
27
+ Inclusive minimum X/Y coordinates.
28
+
29
+
30
+ ## Related APIs
31
+
32
+ - [Vector2](Vector2.md)
33
+
34
+ ## Guides
35
+
36
+ - [Geometry vocabulary](../../guides/concepts.md#geometry-vocabulary)
37
+ - [Lifecycle and inspection](../../guides/concepts.md#lifecycle-and-inspection)
38
+
39
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,39 @@
1
+ # Bounds3
2
+
3
+ Axis-aligned bounds in three-dimensional model space.
4
+
5
+ ## Properties
6
+
7
+ ### max
8
+
9
+
10
+
11
+ `readonly` **max**: [`Vector3`](Vector3.md)
12
+
13
+
14
+
15
+ Inclusive maximum X/Y/Z coordinates.
16
+
17
+ ***
18
+
19
+ ### min
20
+
21
+
22
+
23
+ `readonly` **min**: [`Vector3`](Vector3.md)
24
+
25
+
26
+
27
+ Inclusive minimum X/Y/Z coordinates.
28
+
29
+
30
+ ## Related APIs
31
+
32
+ - [Vector3](Vector3.md)
33
+
34
+ ## Guides
35
+
36
+ - [Geometry vocabulary](../../guides/concepts.md#geometry-vocabulary)
37
+ - [Lifecycle and inspection](../../guides/concepts.md#lifecycle-and-inspection)
38
+
39
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,15 @@
1
+ # BoxEdge
2
+
3
+ Box edges use +Z top, +Y front and +X right; vertical names list front/back first.
4
+
5
+ **BoxEdge** = `"top-front"` \| `"top-back"` \| `"top-left"` \| `"top-right"` \| `"bottom-front"` \| `"bottom-back"` \| `"bottom-left"` \| `"bottom-right"` \| `"front-left"` \| `"front-right"` \| `"back-left"` \| `"back-right"`
6
+
7
+
8
+
9
+
10
+ ## Guides
11
+
12
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
13
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
14
+
15
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,19 @@
1
+ # BoxEdgeSelection
2
+
3
+ Named individual edges or top/bottom rims and all four vertical edges.
4
+
5
+ **BoxEdgeSelection** = [`BoxEdge`](BoxEdge.md) \| `"top"` \| `"bottom"` \| `"vertical"`
6
+
7
+
8
+
9
+
10
+ ## Related APIs
11
+
12
+ - [BoxEdge](BoxEdge.md)
13
+
14
+ ## Guides
15
+
16
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
17
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
18
+
19
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,20 @@
1
+ # BoxEdgeTreatments
2
+
3
+ Independent treatments for disjoint named edge selections; overlapping selections fail.
4
+
5
+ **BoxEdgeTreatments** = `Readonly`\<`Partial`\<`Record`\<[`BoxEdgeSelection`](BoxEdgeSelection.md), [`EdgeTreatment`](EdgeTreatment.md)\>\>\>
6
+
7
+
8
+
9
+
10
+ ## Related APIs
11
+
12
+ - [BoxEdgeSelection](BoxEdgeSelection.md)
13
+ - [EdgeTreatment](EdgeTreatment.md)
14
+
15
+ ## Guides
16
+
17
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
18
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
19
+
20
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,92 @@
1
+ # BoxOptions
2
+
3
+ Dimensions, placement, and uniform or independently selected finishing for an axis-aligned box.
4
+
5
+ ## Extends
6
+
7
+ - [`PrimitivePlacement`](PrimitivePlacement.md)
8
+
9
+ ## Properties
10
+
11
+ ### limits?
12
+
13
+
14
+
15
+ `readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>
16
+
17
+
18
+
19
+ Explicit sampling ceilings for edge treatments, bounded by the host policy.
20
+
21
+ ***
22
+
23
+ ### center?
24
+
25
+
26
+
27
+ `readonly` `optional` **center?**: `boolean`
28
+
29
+
30
+
31
+ Centers the box on the XYZ origin when `true`; otherwise its minimum corner is at the origin.
32
+
33
+ #### Default Value
34
+
35
+ `true`
36
+
37
+ ***
38
+
39
+ ### size
40
+
41
+
42
+
43
+ `readonly` **size**: `number` \| [`Vector3`](Vector3.md)
44
+
45
+
46
+
47
+ Positive uniform size or explicit `[X, Y, Z]` extents in millimetres.
48
+
49
+ ***
50
+
51
+ ### treatment?
52
+
53
+
54
+
55
+ `readonly` `optional` **treatment?**: [`EdgeTreatment`](EdgeTreatment.md) \| `Readonly`\<`Partial`\<`Record`\<[`BoxEdgeSelection`](BoxEdgeSelection.md), [`EdgeTreatment`](EdgeTreatment.md)\>\>\>
56
+
57
+
58
+
59
+ Uniform treatment or independent disjoint nominal edge/group treatments.
60
+
61
+ ***
62
+
63
+ ### placement?
64
+
65
+
66
+
67
+ `readonly` `optional` **placement?**: [`PrimitivePlacementOptions`](PrimitivePlacementOptions.md)
68
+
69
+
70
+
71
+ Applied after local construction; Section placement must preserve the XY plane.
72
+
73
+ #### Inherited from
74
+
75
+ [`PrimitivePlacement`](PrimitivePlacement.md).[`placement`](PrimitivePlacement.md#placement)
76
+
77
+
78
+ ## Related APIs
79
+
80
+ - [BoxEdgeSelection](BoxEdgeSelection.md)
81
+ - [EdgeTreatment](EdgeTreatment.md)
82
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
83
+ - [PrimitivePlacement](PrimitivePlacement.md)
84
+ - [PrimitivePlacementOptions](PrimitivePlacementOptions.md)
85
+ - [Vector3](Vector3.md)
86
+
87
+ ## Guides
88
+
89
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
90
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
91
+
92
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,35 @@
1
+ # ChamferedEdgeTreatment
2
+
3
+ A planar edge or corner chamfer with equal or independent surface setbacks.
4
+
5
+ ## Properties
6
+
7
+ ### kind
8
+
9
+
10
+
11
+ `readonly` **kind**: `"chamfer"`
12
+
13
+
14
+
15
+ Selects a straight bevel between adjoining surfaces.
16
+
17
+ ***
18
+
19
+ ### distance
20
+
21
+
22
+
23
+ `readonly` **distance**: `number` \| readonly \[`number`, `number`\]
24
+
25
+
26
+
27
+ Millimetre setbacks, equal or [first surface, second surface]. Zero or [0, 0] leaves the edge untreated; otherwise both must be positive and fit without overlap.
28
+
29
+
30
+ ## Guides
31
+
32
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
33
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
34
+
35
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,21 @@
1
+ # CircleContourOptions
2
+
3
+ Circular profile dimensions with exactly one radius or diameter and explicit sampling.
4
+
5
+ **CircleContourOptions** = [`CircularPrimitiveOptions`](CircularPrimitiveOptions.md) & [`RadialSizingOptions`](RadialSizingOptions.md) & (\{ `radius`: `number`; `diameter?`: `never`; \} \| \{ `diameter`: `number`; `radius?`: `never`; \})
6
+
7
+
8
+
9
+
10
+ ## Related APIs
11
+
12
+ - [CircularPrimitiveOptions](CircularPrimitiveOptions.md)
13
+ - [RadialSizingOptions](RadialSizingOptions.md)
14
+
15
+ ## Guides
16
+
17
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
18
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
19
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
20
+
21
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,21 @@
1
+ # CircleOptions
2
+
3
+ Circular dimensions with exactly one nominal radius or diameter.
4
+
5
+ **CircleOptions** = [`CircleContourOptions`](CircleContourOptions.md) & [`PrimitivePlacement`](PrimitivePlacement.md)
6
+
7
+
8
+
9
+
10
+ ## Related APIs
11
+
12
+ - [CircleContourOptions](CircleContourOptions.md)
13
+ - [PrimitivePlacement](PrimitivePlacement.md)
14
+
15
+ ## Guides
16
+
17
+ - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
18
+ - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
19
+ - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
20
+
21
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,64 @@
1
+ # CircularPrimitiveOptions
2
+
3
+ Tessellation controls shared by circular primitives across Geometry entry points.
4
+
5
+ ## Extended by
6
+
7
+ - [`RevolveOptions`](RevolveOptions.md)
8
+ - [`RoundedEdgeTreatment`](RoundedEdgeTreatment.md)
9
+ - [`TubeOptions`](TubeOptions.md)
10
+
11
+ ## Properties
12
+
13
+ ### limits?
14
+
15
+
16
+
17
+ `readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>
18
+
19
+
20
+
21
+ Explicit sampling ceilings; bound modeling operations may only lower the host policy.
22
+
23
+ ***
24
+
25
+ ### segments?
26
+
27
+
28
+
29
+ `readonly` `optional` **segments?**: `number`
30
+
31
+
32
+
33
+ Exact circumferential segment count from three through the configured safety limit.
34
+
35
+ This local topology override takes precedence over [CircularPrimitiveOptions.resolution](#resolution)
36
+ and any active model-wide resolution policy.
37
+
38
+ ***
39
+
40
+ ### resolution?
41
+
42
+
43
+
44
+ `readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
45
+
46
+
47
+
48
+ Operation-level physical tessellation policy over the active model-wide policy.
49
+
50
+
51
+ ## Related APIs
52
+
53
+ - [GeometryResolution](GeometryResolution.md)
54
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
55
+ - [RevolveOptions](RevolveOptions.md)
56
+ - [RoundedEdgeTreatment](RoundedEdgeTreatment.md)
57
+ - [TubeOptions](TubeOptions.md)
58
+
59
+ ## Guides
60
+
61
+ - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
62
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
63
+
64
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,35 @@
1
+ # Computed
2
+
3
+ Reads immutable data or a deferred recipe; evaluation is synchronous and cached.
4
+
5
+ A lazy session-owned reader. Calling it tracks its output in the current computation.
6
+
7
+ ## Type Parameters
8
+
9
+ ### T
10
+
11
+ `T`
12
+
13
+
14
+
15
+ **Computed**(): `T`
16
+
17
+
18
+
19
+ ## Returns
20
+
21
+ `T`
22
+
23
+ ## Properties
24
+
25
+ ### \[computedBrand\]
26
+
27
+
28
+
29
+ `readonly` **\[computedBrand\]**: `"Computed"`
30
+
31
+
32
+
33
+ Compile-time ownership brand; readers are created by the engine's context helper.
34
+
35
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,20 @@
1
+ # ComputedValue
2
+
3
+ A value supplied immediately or by a lazy computed reader.
4
+
5
+ **ComputedValue**\<`T`\> = `T` \| [`Computed`](Computed.md)\<`T`\>
6
+
7
+
8
+
9
+ ## Type Parameters
10
+
11
+ ### T
12
+
13
+ `T`
14
+
15
+
16
+ ## Related APIs
17
+
18
+ - [Computed](Computed.md)
19
+
20
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,22 @@
1
+ # Contour
2
+
3
+ A closed two-dimensional boundary whose first point is not repeated at the end.
4
+
5
+ **Contour** = readonly [`Vector2`](Vector2.md)[]
6
+
7
+
8
+
9
+ Polygon exteriors are counter-clockwise and holes are clockwise. Algorithms
10
+ may reject duplicate adjacent points or fewer than three effective vertices.
11
+
12
+
13
+ ## Related APIs
14
+
15
+ - [Vector2](Vector2.md)
16
+
17
+ ## Guides
18
+
19
+ - [Geometry vocabulary](../../guides/concepts.md#geometry-vocabulary)
20
+ - [Lifecycle and inspection](../../guides/concepts.md#lifecycle-and-inspection)
21
+
22
+ Package: `@metamesh/modeling@0.13.0`.