@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,63 @@
1
+ # Transforms and vector math
2
+
3
+ Compose explicit coordinate transforms and reusable placement anchors.
4
+
5
+ Lengths are millimetres. Pure rotation constructors require a degrees or radians object. Transform3 is row-major, and directions exclude translation. Attachment matches source and target frames with an explicit offset; physical clearance is an application decision.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [applyTransformDirection3](../applyTransformDirection3.md) | Applies only the linear component of an affine transform to a direction. |
12
+ | [applyTransformPoint3](../applyTransformPoint3.md) | Applies an affine transform to a point, including translation. |
13
+ | [attachTransform](../attachTransform.md) | Builds the transform that moves a source anchor onto a target anchor. |
14
+ | [boxAnchor3](../boxAnchor3.md) | Creates an outward face-center anchor using the same local origin convention as box(). |
15
+ | [composeTransform3](../composeTransform3.md) | Composes two affine transforms without mutating either matrix. |
16
+ | [createAnchor3](../createAnchor3.md) | Constructs a normalized immutable attachment anchor. |
17
+ | [cylinderAnchor3](../cylinderAnchor3.md) | Creates a cap-center or radial-side anchor using cylinder()'s construction origin. |
18
+ | [eulerTransform3](../eulerTransform3.md) | Creates an immutable right-handed XYZ Euler rotation transform. |
19
+ | [frameTransform3](../frameTransform3.md) | Converts a right-handed orthonormal frame into a local-to-world transform. |
20
+ | [inverseTransform3](../inverseTransform3.md) | Inverts a finite, non-singular affine transform. |
21
+ | [rotationTransform3](../rotationTransform3.md) | Creates a right-handed axis-angle rotation transform. |
22
+ | [scaleTransform3](../scaleTransform3.md) | Creates an immutable axis-aligned scale transform. |
23
+ | [transformDeterminant3](../transformDeterminant3.md) | Returns the determinant of a transform's linear 3x3 component. |
24
+ | [translationTransform3](../translationTransform3.md) | Creates an immutable translation transform. |
25
+ | [validateTransform3](../validateTransform3.md) | Validates that a transform is finite, affine, and non-singular. |
26
+
27
+ ## Interfaces
28
+
29
+ | API | Summary |
30
+ | --- | --- |
31
+ | [Anchor3](../Anchor3.md) | An attachment pose on a solid or assembly. |
32
+ | [AttachTransformOptions](../AttachTransformOptions.md) | Options controlling how one anchor is attached to another. |
33
+ | [BoxAnchorOptions](../BoxAnchorOptions.md) | Box dimensions and construction origin for one named face anchor. |
34
+ | [CylinderAnchorOptions](../CylinderAnchorOptions.md) | Cylinder dimensions and construction origin for one named face anchor. |
35
+
36
+ ## Type aliases
37
+
38
+ | API | Summary |
39
+ | --- | --- |
40
+ | [AxisAngleRotation3](../AxisAngleRotation3.md) | One explicitly unit-labelled right-handed axis-angle rotation. |
41
+ | [BoxAnchorFace](../BoxAnchorFace.md) | Named face on an axis-aligned box. |
42
+ | [CylinderAnchorFace](../CylinderAnchorFace.md) | Named face on a cylinder parallel to +Z. |
43
+ | [Transform3](../Transform3.md) | A row-major affine 4x4 matrix applied to column vectors. |
44
+ | [Vector2](../Vector2.md) | A two-dimensional Cartesian vector or point. |
45
+ | [Vector3](../Vector3.md) | A three-dimensional Cartesian vector or point. |
46
+
47
+ ## Values
48
+
49
+ | API | Summary |
50
+ | --- | --- |
51
+ | [add3](../add3.md) | Adds two finite XYZ vectors component-wise. |
52
+ | [cross3](../cross3.md) | Returns the right-handed cross product. |
53
+ | [dot3](../dot3.md) | Returns the scalar dot product. |
54
+ | [IDENTITY_TRANSFORM3](../IDENTITY_TRANSFORM3.md) | Identity transform, safe to share because it is frozen. |
55
+ | [length3](../length3.md) | Returns Euclidean vector length in the vector's coordinate units. |
56
+ | [lerp3](../lerp3.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
57
+ | [normalize3](../normalize3.md) | Normalizes a finite vector and rejects nonfinite lengths or lengths at or below `epsilon`. |
58
+ | [projectOntoPlane3](../projectOntoPlane3.md) | Removes the component parallel to a normalized plane normal. |
59
+ | [rotateAroundAxis3](../rotateAroundAxis3.md) | Rotates a vector right-handed around an axis by `angle` radians. |
60
+ | [scale3](../scale3.md) | Multiplies a vector by a dimensionless scalar. |
61
+ | [subtract3](../subtract3.md) | Subtracts `b` from `a`. |
62
+
63
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,40 @@
1
+ # SVG and vector layouts
2
+
3
+ Parse bounded painted SVG and carry explicit prepared text geometry.
4
+
5
+ SVG input is bounded and rejects unsupported resources or content contextually. Transforms and physical unit conversion precede sampling; input Y-down coordinates convert to model Y-up. Font preparation belongs to the optional text entrypoint and never enters pure parsing or synchronous modeling. fitTextLayout uniformly fits and centers visible ink before sampling, preserving final millimetre tolerance. It rejects invisible layouts; maxScale: 1 prevents enlargement.
6
+
7
+ ## Functions
8
+
9
+ | API | Summary |
10
+ | --- | --- |
11
+ | [preflightSvgRegion](../preflightSvgRegion.md) | Preflights bounded SVG geometry without browser or Manifold dependencies. |
12
+ | [sampleTextContours](../sampleTextContours.md) | Samples a prepared text layout without shaping text again or loading a font. |
13
+ | [strokePathRegion](../strokePathRegion.md) | Converts a sampled millimetre path into the filled region covered by a centered stroke. |
14
+ | [fitTextLayout](../fitTextLayout.md) | Uniformly fits visible text ink inside finite XY bounds, centering it on the target. Transforms retained vector paths before sampling, so later textSection/sampleTextContours resolution remains in final millimetres. Logical advances scale without translation; line count is unchanged. The input layout is preserved. |
15
+
16
+ ## Interfaces
17
+
18
+ | API | Summary |
19
+ | --- | --- |
20
+ | [StrokePathRegionOptions](../StrokePathRegionOptions.md) | Physical stroke and topology controls for strokePathRegion. |
21
+ | [SvgImportOptions](../SvgImportOptions.md) | Sampling controls for deterministic SVG-to-region conversion. |
22
+ | [SvgRegionPreflight](../SvgRegionPreflight.md) | Exact normalized SVG region plus bounded source, geometry, and safe-repair diagnostics. |
23
+ | [SvgRegionPreflightRepairs](../SvgRegionPreflightRepairs.md) | Visible, appearance-preserving cleanup counters from bounded SVG import. |
24
+ | [VectorTextArcBaseline](../VectorTextArcBaseline.md) | A circular baseline centered at the XY origin, with rigid shaped glyph groups. |
25
+ | [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
26
+ | [VectorTextLayoutOptions](../VectorTextLayoutOptions.md) | Text bounded to 512 UTF-16 units: horizontal lines or one circular line without wrapping. |
27
+ | [VectorTextOptions](../VectorTextOptions.md) | Shaping controls for a prepared exact font face; all lengths are in millimetres. |
28
+ | [SvgRegionPreflightGeometryMetrics](../SvgRegionPreflightGeometryMetrics.md) | Physical and final-topology facts for a normalized imported SVG region. |
29
+ | [SvgRegionPreflightSourceMetrics](../SvgRegionPreflightSourceMetrics.md) | Bounded source-complexity facts collected while parsing one SVG document. |
30
+ | [VectorTextMetrics](../VectorTextMetrics.md) | Text measurements from the same immutable layout that supplies geometry and SVG outlines. |
31
+ | [FittedTextLayout](../FittedTextLayout.md) | Fitted immutable text whose visible ink bounds are known to be present. |
32
+
33
+ ## Type aliases
34
+
35
+ | API | Summary |
36
+ | --- | --- |
37
+ | [StrokePathCap](../StrokePathCap.md) | End-cap treatment for an open stroked path. |
38
+ | [StrokePathJoin](../StrokePathJoin.md) | Join treatment where adjacent stroked path segments meet. |
39
+
40
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,33 @@
1
+ # circleContour
2
+
3
+ Creates an immutable centered CCW circle with +X seam and vertex or face radial sizing.
4
+
5
+ `const` **circleContour**: (`options`: [`CircleContourOptions`](CircleContourOptions.md)) => [`Contour`](Contour.md)
6
+
7
+
8
+
9
+ ## Example: Explicit circular point data
10
+
11
+ ```ts
12
+ circleContour({ diameter: 20, segments: 32 });
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <a id="options"></a>
18
+
19
+ **`options`** · [`CircleContourOptions`](CircleContourOptions.md) · Required
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`Contour`](Contour.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [CircleContourOptions](CircleContourOptions.md)
31
+ - [Contour](Contour.md)
32
+
33
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,34 @@
1
+ # closeToAxis
2
+
3
+ Closes an open, strictly upward [radius, height] side outline to the radius-zero axis. Adds horizontal bottom/top edges at the endpoint heights, retaining axis endpoints once. Returns a counterclockwise filled-boundary contour without a repeated seam vertex. Radii must be nonnegative; the result must enclose nonzero area without touching itself. This is a solid-body closure, not a hollow-wall or mounting-bore construction.
4
+
5
+ **closeToAxis**(`side`: readonly [`Vector2`](Vector2.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`Contour`](Contour.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="side"></a>
12
+
13
+ **`side`** · readonly [`Vector2`](Vector2.md)[] · Required
14
+
15
+
16
+
17
+ <a id="limits"></a>
18
+
19
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ [`Contour`](Contour.md)
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Contour](Contour.md)
31
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
32
+ - [Vector2](Vector2.md)
33
+
34
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,51 @@
1
+ # compensateThreadDiameters
2
+
3
+ Applies role-specific radial compensation while preserving thread depth.
4
+
5
+ **compensateThreadDiameters**(`options`: [`ThreadCompensationOptions`](ThreadCompensationOptions.md)): [`CompensatedThreadDiameters`](CompensatedThreadDiameters.md)
6
+
7
+
8
+
9
+ Male envelopes move inward by the policy inset; female envelopes move
10
+ outward by the policy outset. Combining both parts produces the sum of those
11
+ allowances as radial mating clearance.
12
+
13
+ ## Parameters
14
+
15
+ <a id="options"></a>
16
+
17
+ **`options`** · [`ThreadCompensationOptions`](ThreadCompensationOptions.md) · Required
18
+
19
+ - [`nominalMajorDiameter`](ThreadCompensationOptions.md#nominalmajordiameter) · `number` · Required
20
+
21
+ Nominal sharp or truncated major diameter in millimetres.
22
+
23
+ - [`role`](ThreadCompensationOptions.md#role) · [`ThreadRole`](ThreadRole.md) · Required
24
+
25
+ Male or female geometry being compensated.
26
+
27
+ - [`threadDepth`](ThreadCompensationOptions.md#threaddepth) · `number` · Required
28
+
29
+ Radial depth from major to minor envelope in millimetres.
30
+
31
+ - [`fit`](ThreadCompensationOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
32
+
33
+ Named policy or explicit caller-calibrated allowances.
34
+
35
+ - [`tolerance`](ThreadCompensationOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
36
+
37
+ Optional numerical tolerance overrides.
38
+
39
+
40
+
41
+ ## Returns
42
+
43
+ [`CompensatedThreadDiameters`](CompensatedThreadDiameters.md)
44
+
45
+
46
+ ## Related APIs
47
+
48
+ - [CompensatedThreadDiameters](CompensatedThreadDiameters.md)
49
+ - [ThreadCompensationOptions](ThreadCompensationOptions.md)
50
+
51
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,42 @@
1
+ # compensateThreadProfileAxially
2
+
3
+ Applies axial fit allowance to a validated periodic profile.
4
+
5
+ **compensateThreadProfileAxially**(`profile`: [`ThreadProfile`](ThreadProfile.md), `axialBacklash`: `number`, `role`: `"female"` \| `"male"`): [`ThreadProfile`](ThreadProfile.md)
6
+
7
+
8
+
9
+ Male crests/ridges narrow by the requested backlash; female cutter ridges
10
+ widen by it. Periodic root endpoints remain fixed so pitch and lead do not
11
+ change. The returned profile is a new deeply immutable value.
12
+
13
+ ## Parameters
14
+
15
+ <a id="profile"></a>
16
+
17
+ **`profile`** · [`ThreadProfile`](ThreadProfile.md) · Required
18
+
19
+
20
+
21
+ <a id="axialbacklash"></a>
22
+
23
+ **`axialBacklash`** · `number` · Required
24
+
25
+
26
+
27
+ <a id="role"></a>
28
+
29
+ **`role`** · `"female"` \| `"male"` · Required
30
+
31
+
32
+
33
+ ## Returns
34
+
35
+ [`ThreadProfile`](ThreadProfile.md)
36
+
37
+
38
+ ## Related APIs
39
+
40
+ - [ThreadProfile](ThreadProfile.md)
41
+
42
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,56 @@
1
+ # compensateThreadProfileForFaceting
2
+
3
+ Applies printable axial fit plus the conservative phase allowance required by circular facets.
4
+
5
+ **compensateThreadProfileForFaceting**(`profile`: [`ThreadProfile`](ThreadProfile.md), `axialBacklash`: `number`, `role`: `"female"` \| `"male"`, `starts`: `number`, `circularSegments`: `number`): [`ThreadProfile`](ThreadProfile.md)
6
+
7
+
8
+
9
+ One triangulated facet spans `pitch * starts / circularSegments` axially. A directed zipper
10
+ triangle can expose either end of that complete span when independently faceted parts rotate.
11
+ This helper distributes the full conservative flank clearance between the male crest and female
12
+ root according to their available flat widths, and rejects a resolution that cannot represent
13
+ it exactly.
14
+
15
+ ## Parameters
16
+
17
+ <a id="profile"></a>
18
+
19
+ **`profile`** · [`ThreadProfile`](ThreadProfile.md) · Required
20
+
21
+
22
+
23
+ <a id="axialbacklash"></a>
24
+
25
+ **`axialBacklash`** · `number` · Required
26
+
27
+
28
+
29
+ <a id="role"></a>
30
+
31
+ **`role`** · `"female"` \| `"male"` · Required
32
+
33
+
34
+
35
+ <a id="starts"></a>
36
+
37
+ **`starts`** · `number` · Required
38
+
39
+
40
+
41
+ <a id="circularsegments"></a>
42
+
43
+ **`circularSegments`** · `number` · Required
44
+
45
+
46
+
47
+ ## Returns
48
+
49
+ [`ThreadProfile`](ThreadProfile.md)
50
+
51
+
52
+ ## Related APIs
53
+
54
+ - [ThreadProfile](ThreadProfile.md)
55
+
56
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,40 @@
1
+ # composeTransform3
2
+
3
+ Composes two affine transforms without mutating either matrix.
4
+
5
+ **composeTransform3**(`after`: [`Transform3`](Transform3.md), `before`: [`Transform3`](Transform3.md)): [`Transform3`](Transform3.md)
6
+
7
+
8
+
9
+ `composeTransform3(after, before)` applies `before` first and `after` second.
10
+
11
+ ## Parameters
12
+
13
+ <a id="after"></a>
14
+
15
+ **`after`** · [`Transform3`](Transform3.md) · Required
16
+
17
+ Transform applied second.
18
+
19
+
20
+
21
+ <a id="before"></a>
22
+
23
+ **`before`** · [`Transform3`](Transform3.md) · Required
24
+
25
+ Transform applied first.
26
+
27
+
28
+
29
+ ## Returns
30
+
31
+ [`Transform3`](Transform3.md)
32
+
33
+ A new frozen transform equal to `after * before`.
34
+
35
+
36
+ ## Related APIs
37
+
38
+ - [Transform3](Transform3.md)
39
+
40
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,45 @@
1
+ # computeClosedParallelTransportFrames
2
+
3
+ Builds rotation-minimizing frames for a non-duplicated closed path.
4
+
5
+ `const` **computeClosedParallelTransportFrames**: (`path`: readonly [`Vector3`](Vector3.md)[], `initialNormal?`: [`Vector3`](Vector3.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
6
+
7
+
8
+
9
+ Centered cyclic tangents are parallel-transported around the loop. Transporting the last
10
+ normal back to the first tangent measures seam holonomy; distributing that residual rotation
11
+ uniformly over all path intervals avoids a visible seam or accumulated frame flip.
12
+ The maxPathPoints ceiling (default 100000) bounds path points and frames.
13
+
14
+ ## Parameters
15
+
16
+ <a id="path"></a>
17
+
18
+ **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
19
+
20
+
21
+
22
+ <a id="initialnormal"></a>
23
+
24
+ **`initialNormal`** · [`Vector3`](Vector3.md) · Optional
25
+
26
+
27
+
28
+ <a id="limits"></a>
29
+
30
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
31
+
32
+
33
+
34
+ ## Returns
35
+
36
+ readonly [`PathFrame`](PathFrame.md)[]
37
+
38
+
39
+ ## Related APIs
40
+
41
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
42
+ - [PathFrame](PathFrame.md)
43
+ - [Vector3](Vector3.md)
44
+
45
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,47 @@
1
+ # computeParallelTransportFrames
2
+
3
+ Builds rotation-minimizing frames by parallel-transporting the previous normal. This avoids the sudden profile flips produced by picking a fresh up-vector per ring. Paths exceeding maxPathPoints (default 100000) reject before frame allocation or guide evaluation.
4
+
5
+ `const` **computeParallelTransportFrames**: (`path`: readonly [`Vector3`](Vector3.md)[], `initialNormal?`: [`Vector3`](Vector3.md), `normalGuide?`: [`PathNormalGuide`](PathNormalGuide.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="path"></a>
12
+
13
+ **`path`** · readonly [`Vector3`](Vector3.md)[] · Required
14
+
15
+
16
+
17
+ <a id="initialnormal"></a>
18
+
19
+ **`initialNormal`** · [`Vector3`](Vector3.md) · Optional
20
+
21
+
22
+
23
+ <a id="normalguide"></a>
24
+
25
+ **`normalGuide`** · [`PathNormalGuide`](PathNormalGuide.md) · Optional
26
+
27
+
28
+
29
+ <a id="limits"></a>
30
+
31
+ **`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
32
+
33
+
34
+
35
+ ## Returns
36
+
37
+ readonly [`PathFrame`](PathFrame.md)[]
38
+
39
+
40
+ ## Related APIs
41
+
42
+ - [GeometrySamplingLimits](GeometrySamplingLimits.md)
43
+ - [PathFrame](PathFrame.md)
44
+ - [PathNormalGuide](PathNormalGuide.md)
45
+ - [Vector3](Vector3.md)
46
+
47
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,31 @@
1
+ # computeTriangleMeshCentroid
2
+
3
+ Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells. Coordinates are millimetres. Indexed closure and positive aggregate volume are required; callers may use validateSolidMesh first when geometric intersections and shell orientation are untrusted. Fresh mutable input is inspected on every call, and buffers are never changed.
4
+
5
+ **computeTriangleMeshCentroid**(`mesh`: [`TriangleMesh`](TriangleMesh.md)): [`Vector3`](Vector3.md)
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="mesh"></a>
12
+
13
+ **`mesh`** · [`TriangleMesh`](TriangleMesh.md) · Required
14
+
15
+ Consistently oriented closed mesh with positive enclosed volume.
16
+
17
+
18
+
19
+ ## Returns
20
+
21
+ [`Vector3`](Vector3.md)
22
+
23
+ A fresh immutable XYZ volume centroid.
24
+
25
+
26
+ ## Related APIs
27
+
28
+ - [TriangleMesh](TriangleMesh.md)
29
+ - [Vector3](Vector3.md)
30
+
31
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,72 @@
1
+ # containsBounds
2
+
3
+ Tests actual XY containment, including touching boundaries; dimensions must match.
4
+
5
+ ## Call Signature
6
+
7
+
8
+
9
+ **containsBounds**(`outer`: [`Bounds2`](Bounds2.md), `inner`: [`Bounds2`](Bounds2.md)): `boolean`
10
+
11
+
12
+
13
+ Tests actual XY containment, including touching boundaries; dimensions must match.
14
+
15
+ ### Parameters
16
+
17
+ <a id="outer"></a>
18
+
19
+ **`outer`** · [`Bounds2`](Bounds2.md) · Required
20
+
21
+
22
+
23
+ <a id="inner"></a>
24
+
25
+ **`inner`** · [`Bounds2`](Bounds2.md) · Required
26
+
27
+
28
+
29
+ ### Returns
30
+
31
+ `boolean`
32
+
33
+ ## Call Signature
34
+
35
+
36
+
37
+ **containsBounds**(`outer`: [`Bounds3`](Bounds3.md), `inner`: [`Bounds3`](Bounds3.md)): `boolean`
38
+
39
+
40
+
41
+ Tests actual XYZ containment, including touching boundaries; dimensions must match.
42
+
43
+ ### Parameters
44
+
45
+ <a id="outer-1"></a>
46
+
47
+ **`outer`** · [`Bounds3`](Bounds3.md) · Required
48
+
49
+
50
+
51
+ <a id="inner-1"></a>
52
+
53
+ **`inner`** · [`Bounds3`](Bounds3.md) · Required
54
+
55
+
56
+
57
+ ### Returns
58
+
59
+ `boolean`
60
+
61
+
62
+ ## Related APIs
63
+
64
+ - [Bounds2](Bounds2.md)
65
+ - [Bounds3](Bounds3.md)
66
+
67
+ ## Guides
68
+
69
+ - [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
70
+ - [Solid inspection](../../guides/recipes.md#solid-inspection)
71
+
72
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,33 @@
1
+ # contourContainsPoint
2
+
3
+ Returns true when a point lies inside or on the boundary of a loop.
4
+
5
+ **contourContainsPoint**(`loop`: [`Contour`](Contour.md), `point`: [`Vector2`](Vector2.md)): `boolean`
6
+
7
+
8
+
9
+ ## Parameters
10
+
11
+ <a id="loop"></a>
12
+
13
+ **`loop`** · [`Contour`](Contour.md) · Required
14
+
15
+
16
+
17
+ <a id="point"></a>
18
+
19
+ **`point`** · [`Vector2`](Vector2.md) · Required
20
+
21
+
22
+
23
+ ## Returns
24
+
25
+ `boolean`
26
+
27
+
28
+ ## Related APIs
29
+
30
+ - [Contour](Contour.md)
31
+ - [Vector2](Vector2.md)
32
+
33
+ Package: `@metamesh/modeling@0.13.0`.
@@ -0,0 +1,63 @@
1
+ # createAnchor3
2
+
3
+ Constructs a normalized immutable attachment anchor.
4
+
5
+ **createAnchor3**(`position`: [`Vector3`](Vector3.md), `direction`: [`Vector3`](Vector3.md), `up?`: [`Vector3`](Vector3.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Anchor3`](Anchor3.md)
6
+
7
+
8
+
9
+ `up` is projected onto the plane perpendicular to `direction`, removing small
10
+ input drift while preserving its roll intent.
11
+
12
+ ## Parameters
13
+
14
+ <a id="position"></a>
15
+
16
+ **`position`** · [`Vector3`](Vector3.md) · Required
17
+
18
+ Finite anchor point in model coordinates.
19
+
20
+
21
+
22
+ <a id="direction"></a>
23
+
24
+ **`direction`** · [`Vector3`](Vector3.md) · Required
25
+
26
+ Non-zero outward attachment normal.
27
+
28
+
29
+
30
+ <a id="up"></a>
31
+
32
+ **`up`** · [`Vector3`](Vector3.md) · Optional
33
+
34
+ Non-parallel roll reference; defaults to +Y.
35
+
36
+
37
+
38
+ <a id="tolerance"></a>
39
+
40
+ **`tolerance`** · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
41
+
42
+ Optional comparison overrides.
43
+
44
+
45
+
46
+ ## Returns
47
+
48
+ [`Anchor3`](Anchor3.md)
49
+
50
+ A frozen anchor with unit, orthogonal direction and up vectors.
51
+
52
+
53
+ ## Throws
54
+
55
+ - GeometryError For non-finite or degenerate inputs.
56
+
57
+ ## Related APIs
58
+
59
+ - [Anchor3](Anchor3.md)
60
+ - [GeometryToleranceOptions](GeometryToleranceOptions.md)
61
+ - [Vector3](Vector3.md)
62
+
63
+ Package: `@metamesh/modeling@0.13.0`.