@metamesh/modeling 0.18.0 → 0.20.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 (1035) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +96 -64
  3. package/dist/api/engine.d.ts +216 -160
  4. package/dist/api/export.d.ts +204 -0
  5. package/dist/api/geometry.d.ts +410 -2106
  6. package/dist/api/index.d.ts +545 -1821
  7. package/dist/api/math.d.ts +315 -0
  8. package/dist/api/mechanical.d.ts +1041 -0
  9. package/dist/api/mesh.d.ts +395 -94
  10. package/dist/api/text.d.ts +24 -44
  11. package/dist/docs/guides/concepts.md +54 -523
  12. package/dist/docs/guides/exporting.md +88 -0
  13. package/dist/docs/guides/fonts.md +7 -5
  14. package/dist/docs/guides/fundamentals.md +12 -24
  15. package/dist/docs/guides/generation.md +76 -61
  16. package/dist/docs/guides/geometry-values.md +251 -0
  17. package/dist/docs/guides/hosting.md +58 -80
  18. package/dist/docs/guides/profiles-and-extrusion.md +400 -0
  19. package/dist/docs/guides/recipes.md +52 -706
  20. package/dist/docs/guides/resolution-and-inspection.md +153 -0
  21. package/dist/docs/guides/solid-joins.md +136 -0
  22. package/dist/docs/guides/standalone-model.md +5 -3
  23. package/dist/docs/guides/svg-and-text.md +252 -0
  24. package/dist/docs/guides/sweeps-and-lofts.md +223 -0
  25. package/dist/docs/guides/transforms-and-placement.md +323 -0
  26. package/dist/docs/guides/workers.md +166 -0
  27. package/dist/docs/manifest.json +5539 -8603
  28. package/dist/docs/reference/engine/GenerationOptions.md +9 -4
  29. package/dist/docs/reference/engine/GeometryResource.md +11 -5
  30. package/dist/docs/reference/engine/ModelDependencies.md +9 -3
  31. package/dist/docs/reference/engine/ModelEngine.md +8 -3
  32. package/dist/docs/reference/engine/ModelEngineOptions.md +6 -5
  33. package/dist/docs/reference/engine/ModelPart.md +12 -6
  34. package/dist/docs/reference/engine/ModelResult.md +8 -2
  35. package/dist/docs/reference/engine/ModelRunArguments.md +7 -1
  36. package/dist/docs/reference/engine/ModelRunOptions.md +9 -4
  37. package/dist/docs/reference/engine/ModelSession.md +7 -1
  38. package/dist/docs/reference/engine/SessionOptions.md +9 -4
  39. package/dist/docs/reference/engine/categories/host-lifecycle.md +11 -10
  40. package/dist/docs/reference/engine/checkModel.md +11 -1
  41. package/dist/docs/reference/engine/createModelEngine.md +13 -4
  42. package/dist/docs/reference/engine/defaultModelingLimits.md +7 -8
  43. package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
  44. package/dist/docs/reference/engine.md +13 -7
  45. package/dist/docs/reference/export/Export3mfOptions.md +20 -0
  46. package/dist/docs/reference/export/ExportDiagnostic.md +47 -0
  47. package/dist/docs/reference/export/ExportFormat.md +13 -0
  48. package/dist/docs/reference/export/ExportGeometry.md +27 -0
  49. package/dist/docs/reference/export/ExportGlbOptions.md +114 -0
  50. package/dist/docs/reference/export/ExportLimits.md +71 -0
  51. package/dist/docs/reference/export/ExportMaterial.md +35 -0
  52. package/dist/docs/reference/export/ExportOptions.md +82 -0
  53. package/dist/docs/reference/export/ExportPart.md +76 -0
  54. package/dist/docs/reference/export/ExportReport.md +70 -0
  55. package/dist/docs/reference/export/ExportSink.md +29 -0
  56. package/dist/docs/reference/export/ExportStlOptions.md +20 -0
  57. package/dist/docs/reference/export/ExportedFile.md +98 -0
  58. package/dist/docs/reference/export/categories/mesh-serialization.md +53 -0
  59. package/dist/docs/reference/export/defaultExportLimits.md +20 -0
  60. package/dist/docs/reference/export/export3mf.md +62 -0
  61. package/dist/docs/reference/export/exportGlb.md +66 -0
  62. package/dist/docs/reference/export/exportStl.md +62 -0
  63. package/dist/docs/reference/export/write3mf.md +71 -0
  64. package/dist/docs/reference/export/writeGlb.md +75 -0
  65. package/dist/docs/reference/export/writeStl.md +71 -0
  66. package/dist/docs/reference/export.md +27 -0
  67. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +9 -3
  68. package/dist/docs/reference/geometry/Anchor3-type.md +9 -3
  69. package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
  70. package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
  71. package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
  72. package/dist/docs/reference/geometry/AttachOptions.md +10 -5
  73. package/dist/docs/reference/geometry/Bounds2-type.md +17 -24
  74. package/dist/docs/reference/geometry/Bounds2Data.md +10 -9
  75. package/dist/docs/reference/geometry/Bounds2Input.md +10 -4
  76. package/dist/docs/reference/geometry/Bounds2Options.md +10 -4
  77. package/dist/docs/reference/geometry/Bounds3-type.md +17 -24
  78. package/dist/docs/reference/geometry/Bounds3Data.md +10 -9
  79. package/dist/docs/reference/geometry/Bounds3Input.md +10 -4
  80. package/dist/docs/reference/geometry/Bounds3Options.md +10 -4
  81. package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
  82. package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
  83. package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
  84. package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
  85. package/dist/docs/reference/geometry/BoxAnchorOptions.md +9 -3
  86. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +8 -2
  87. package/dist/docs/reference/geometry/CircleContourOptions.md +8 -2
  88. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +8 -3
  89. package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
  90. package/dist/docs/reference/geometry/CircularSampling.md +7 -1
  91. package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
  92. package/dist/docs/reference/geometry/Contour.md +9 -4
  93. package/dist/docs/reference/geometry/ContourCurve.md +8 -2
  94. package/dist/docs/reference/geometry/ContourPoint.md +8 -2
  95. package/dist/docs/reference/geometry/ContourSegment.md +8 -2
  96. package/dist/docs/reference/geometry/CorrespondingComponent.md +8 -2
  97. package/dist/docs/reference/geometry/CorrespondingContour.md +8 -2
  98. package/dist/docs/reference/geometry/CorrespondingProfile.md +8 -2
  99. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +9 -3
  100. package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
  101. package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
  102. package/dist/docs/reference/geometry/Curve2.md +8 -2
  103. package/dist/docs/reference/geometry/Curve3.md +8 -2
  104. package/dist/docs/reference/geometry/CurveSamplingOptions.md +8 -2
  105. package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
  106. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +10 -4
  107. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
  108. package/dist/docs/reference/geometry/EdgeTreatment.md +7 -1
  109. package/dist/docs/reference/geometry/EllipseContourOptions.md +8 -2
  110. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +15 -10
  111. package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
  112. package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +9 -2
  113. package/dist/docs/reference/geometry/Frame3Options.md +69 -0
  114. package/dist/docs/reference/geometry/GeometryError.md +7 -1
  115. package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -1
  116. package/dist/docs/reference/geometry/GeometryErrorContext.md +7 -1
  117. package/dist/docs/reference/geometry/GeometryResolution.md +7 -1
  118. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +8 -2
  119. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +8 -2
  120. package/dist/docs/reference/geometry/GridPatternOptions.md +13 -5
  121. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +8 -14
  122. package/dist/docs/reference/geometry/LineCurve2.md +8 -2
  123. package/dist/docs/reference/geometry/LineCurve3.md +8 -2
  124. package/dist/docs/reference/geometry/LinearPatternOptions.md +8 -2
  125. package/dist/docs/reference/geometry/LoftPlacement.md +19 -13
  126. package/dist/docs/reference/geometry/MatchProfilesOptions.md +8 -2
  127. package/dist/docs/reference/geometry/ModelingLimits.md +7 -1
  128. package/dist/docs/reference/geometry/NumericArray.md +8 -2
  129. package/dist/docs/reference/geometry/Path2-type.md +158 -3
  130. package/dist/docs/reference/geometry/Path2Data.md +8 -2
  131. package/dist/docs/reference/geometry/Path2Input.md +8 -2
  132. package/dist/docs/reference/geometry/Path3-type.md +158 -3
  133. package/dist/docs/reference/geometry/Path3Data.md +8 -2
  134. package/dist/docs/reference/geometry/Path3Input.md +8 -2
  135. package/dist/docs/reference/geometry/PathFrame.md +8 -2
  136. package/dist/docs/reference/geometry/PathLocation.md +8 -2
  137. package/dist/docs/reference/geometry/PathNormalGuide.md +9 -3
  138. package/dist/docs/reference/geometry/PathOptions.md +8 -2
  139. package/dist/docs/reference/geometry/PathPatternOptions.md +9 -3
  140. package/dist/docs/reference/geometry/PathPlacement.md +10 -4
  141. package/dist/docs/reference/geometry/PathResamplingOptions.md +8 -2
  142. package/dist/docs/reference/geometry/PathStation.md +87 -0
  143. package/dist/docs/reference/geometry/PathSubdivisionOptions.md +44 -0
  144. package/dist/docs/reference/geometry/Pivot2Options.md +9 -3
  145. package/dist/docs/reference/geometry/Pivot3Options.md +9 -3
  146. package/dist/docs/reference/geometry/PolygonData.md +9 -3
  147. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
  148. package/dist/docs/reference/geometry/Profile.md +8 -3
  149. package/dist/docs/reference/geometry/ProfileComponent2.md +8 -2
  150. package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
  151. package/dist/docs/reference/geometry/ProfileSpan2.md +8 -2
  152. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +10 -3
  153. package/dist/docs/reference/geometry/RadialPatternOptions.md +8 -2
  154. package/dist/docs/reference/geometry/RadialSizing.md +7 -1
  155. package/dist/docs/reference/geometry/RadialSizingOptions.md +7 -1
  156. package/dist/docs/reference/geometry/RectangleContourOptions.md +9 -2
  157. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +8 -2
  158. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +8 -2
  159. package/dist/docs/reference/geometry/RectangleProfileOptions.md +8 -2
  160. package/dist/docs/reference/geometry/RegionData.md +8 -2
  161. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
  162. package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
  163. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
  164. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +7 -1
  165. package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
  166. package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
  167. package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
  168. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
  169. package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
  170. package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
  171. package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
  172. package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
  173. package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
  174. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +7 -1
  175. package/dist/docs/reference/geometry/SplineOptions.md +69 -0
  176. package/dist/docs/reference/geometry/StarContourOptions.md +12 -2
  177. package/dist/docs/reference/geometry/StrokeCap.md +8 -2
  178. package/dist/docs/reference/geometry/StrokeJoin.md +8 -2
  179. package/dist/docs/reference/geometry/StrokeOptions.md +9 -3
  180. package/dist/docs/reference/geometry/SvgImportOptions.md +10 -4
  181. package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
  182. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
  183. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
  184. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
  185. package/dist/docs/reference/geometry/Transform2-type.md +9 -3
  186. package/dist/docs/reference/geometry/Transform2Data.md +9 -3
  187. package/dist/docs/reference/geometry/Transform2Input.md +9 -3
  188. package/dist/docs/reference/geometry/Transform3-type.md +10 -4
  189. package/dist/docs/reference/geometry/Transform3Data.md +9 -3
  190. package/dist/docs/reference/geometry/Transform3Input.md +12 -5
  191. package/dist/docs/reference/geometry/Vector2-type.md +9 -3
  192. package/dist/docs/reference/geometry/Vector2Data.md +9 -3
  193. package/dist/docs/reference/geometry/Vector2Input.md +9 -3
  194. package/dist/docs/reference/geometry/Vector3-type.md +33 -3
  195. package/dist/docs/reference/geometry/Vector3Data.md +9 -3
  196. package/dist/docs/reference/geometry/Vector3Input.md +9 -3
  197. package/dist/docs/reference/geometry/VectorTextLayout.md +8 -2
  198. package/dist/docs/reference/geometry/VectorTextMetrics.md +9 -3
  199. package/dist/docs/reference/geometry/anchor3.md +23 -26
  200. package/dist/docs/reference/geometry/anchorFrame3.md +11 -5
  201. package/dist/docs/reference/geometry/attachmentTransform3.md +14 -8
  202. package/dist/docs/reference/geometry/bounds2.md +16 -8
  203. package/dist/docs/reference/geometry/bounds3.md +14 -6
  204. package/dist/docs/reference/geometry/boundsCenter.md +10 -4
  205. package/dist/docs/reference/geometry/boundsSize.md +10 -4
  206. package/dist/docs/reference/geometry/boxAnchor3.md +9 -3
  207. package/dist/docs/reference/geometry/categories/bounds-layout.md +12 -6
  208. package/dist/docs/reference/geometry/categories/curves-paths.md +24 -13
  209. package/dist/docs/reference/geometry/categories/immutable-data.md +40 -0
  210. package/dist/docs/reference/geometry/categories/pattern-placement.md +11 -5
  211. package/dist/docs/reference/geometry/categories/primitive-options.md +8 -13
  212. package/dist/docs/reference/geometry/categories/profiles-regions.md +11 -5
  213. package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -1
  214. package/dist/docs/reference/geometry/categories/transforms-math.md +20 -51
  215. package/dist/docs/reference/geometry/categories/vector-import.md +8 -5
  216. package/dist/docs/reference/geometry/circleContour.md +8 -2
  217. package/dist/docs/reference/geometry/closeToAxis.md +12 -2
  218. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +14 -5
  219. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +18 -5
  220. package/dist/docs/reference/geometry/contourContainsPoint.md +12 -2
  221. package/dist/docs/reference/geometry/cylinderAnchor3.md +11 -5
  222. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
  223. package/dist/docs/reference/geometry/distributeAlongPath.md +21 -10
  224. package/dist/docs/reference/geometry/ellipseContour.md +8 -2
  225. package/dist/docs/reference/geometry/fitBounds.md +18 -4
  226. package/dist/docs/reference/geometry/fitTextLayout.md +11 -5
  227. package/dist/docs/reference/geometry/frame3.md +66 -0
  228. package/dist/docs/reference/geometry/gridPatternTransforms.md +12 -6
  229. package/dist/docs/reference/geometry/immutableBuffer.md +11 -3
  230. package/dist/docs/reference/geometry/isGeometryError.md +7 -1
  231. package/dist/docs/reference/geometry/layoutRow.md +12 -4
  232. package/dist/docs/reference/geometry/linearPatternTransforms.md +12 -6
  233. package/dist/docs/reference/geometry/matchProfiles.md +10 -2
  234. package/dist/docs/reference/geometry/normalizeContour.md +13 -3
  235. package/dist/docs/reference/geometry/normalizePolygon.md +10 -2
  236. package/dist/docs/reference/geometry/normalizeRegion.md +10 -2
  237. package/dist/docs/reference/geometry/path2.md +12 -2
  238. package/dist/docs/reference/geometry/path3.md +12 -2
  239. package/dist/docs/reference/geometry/pathPatternTransforms.md +18 -8
  240. package/dist/docs/reference/geometry/preflightSvgRegion.md +11 -5
  241. package/dist/docs/reference/geometry/radialPatternTransforms.md +11 -5
  242. package/dist/docs/reference/geometry/rectangleContour.md +8 -2
  243. package/dist/docs/reference/geometry/rectangleProfile.md +8 -3
  244. package/dist/docs/reference/geometry/regionArea.md +8 -2
  245. package/dist/docs/reference/geometry/regionBounds.md +11 -3
  246. package/dist/docs/reference/geometry/regularPolygonContour.md +8 -2
  247. package/dist/docs/reference/geometry/resamplePolyline2.md +12 -2
  248. package/dist/docs/reference/geometry/resamplePolyline3.md +12 -2
  249. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +10 -4
  250. package/dist/docs/reference/geometry/resolveArcSegments.md +13 -5
  251. package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
  252. package/dist/docs/reference/geometry/resolveCircularSegments.md +10 -2
  253. package/dist/docs/reference/geometry/resolveExtrusionSlices.md +85 -0
  254. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +10 -2
  255. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +8 -2
  256. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +17 -4
  257. package/dist/docs/reference/geometry/sampleContour.md +10 -4
  258. package/dist/docs/reference/geometry/sampleCurve2.md +12 -2
  259. package/dist/docs/reference/geometry/sampleCurve3.md +12 -2
  260. package/dist/docs/reference/geometry/sampleHelix.md +8 -2
  261. package/dist/docs/reference/geometry/sampleSideProfile.md +10 -4
  262. package/dist/docs/reference/geometry/sampleTextContours.md +9 -3
  263. package/dist/docs/reference/geometry/signedContourArea.md +10 -2
  264. package/dist/docs/reference/geometry/spline2.md +68 -0
  265. package/dist/docs/reference/geometry/spline3.md +62 -0
  266. package/dist/docs/reference/geometry/starContour.md +8 -2
  267. package/dist/docs/reference/geometry/strokeRegionData.md +14 -5
  268. package/dist/docs/reference/geometry/transform2.md +11 -3
  269. package/dist/docs/reference/geometry/transform3.md +29 -6
  270. package/dist/docs/reference/geometry/transformRegionData.md +12 -2
  271. package/dist/docs/reference/geometry/triangulateContour.md +11 -3
  272. package/dist/docs/reference/geometry/vector2.md +12 -4
  273. package/dist/docs/reference/geometry/vector3.md +14 -4
  274. package/dist/docs/reference/geometry.md +13 -18
  275. package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +8 -3
  276. package/dist/docs/reference/math/IDENTITY_TRANSFORM3.md +20 -0
  277. package/dist/docs/reference/math/add2.md +38 -0
  278. package/dist/docs/reference/math/add3.md +46 -0
  279. package/dist/docs/reference/math/applyTransformDirection3.md +46 -0
  280. package/dist/docs/reference/math/applyTransformPoint3.md +44 -0
  281. package/dist/docs/reference/math/categories/tuple-matrix.md +67 -0
  282. package/dist/docs/reference/math/cross2.md +38 -0
  283. package/dist/docs/reference/math/cross3.md +44 -0
  284. package/dist/docs/reference/math/distance2.md +38 -0
  285. package/dist/docs/reference/math/distance3.md +38 -0
  286. package/dist/docs/reference/math/dot2.md +38 -0
  287. package/dist/docs/reference/math/dot3.md +44 -0
  288. package/dist/docs/reference/math/eulerTransform3.md +43 -0
  289. package/dist/docs/reference/math/inverseTransform3.md +36 -0
  290. package/dist/docs/reference/math/length2.md +32 -0
  291. package/dist/docs/reference/math/length3.md +32 -0
  292. package/dist/docs/reference/math/lerp2.md +46 -0
  293. package/dist/docs/reference/math/lerp3.md +46 -0
  294. package/dist/docs/reference/math/multiplyTransform3.md +46 -0
  295. package/dist/docs/reference/math/normalize2.md +45 -0
  296. package/dist/docs/reference/math/normalize3.md +45 -0
  297. package/dist/docs/reference/math/projectOntoPlane3.md +40 -0
  298. package/dist/docs/reference/math/rotate2.md +40 -0
  299. package/dist/docs/reference/math/rotationTransform3.md +56 -0
  300. package/dist/docs/reference/math/scale2.md +38 -0
  301. package/dist/docs/reference/math/scale3.md +44 -0
  302. package/dist/docs/reference/math/scaleTransform3.md +39 -0
  303. package/dist/docs/reference/math/subtract2.md +38 -0
  304. package/dist/docs/reference/math/subtract3.md +44 -0
  305. package/dist/docs/reference/math/transformDeterminant3.md +38 -0
  306. package/dist/docs/reference/math/translationTransform3.md +36 -0
  307. package/dist/docs/reference/math/validateRigidTransform3.md +38 -0
  308. package/dist/docs/reference/math/validateTransform3.md +48 -0
  309. package/dist/docs/reference/math.md +22 -0
  310. package/dist/docs/reference/{geometry → mechanical}/AcmeThreadProfileSpec.md +9 -4
  311. package/dist/docs/reference/{geometry → mechanical}/Bevel.md +8 -2
  312. package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +8 -2
  313. package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +8 -2
  314. package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +9 -4
  315. package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +8 -2
  316. package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +8 -2
  317. package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +8 -2
  318. package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +10 -6
  319. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +8 -2
  320. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +8 -2
  321. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +9 -8
  322. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +8 -2
  323. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +8 -2
  324. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +8 -2
  325. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +8 -2
  326. package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +8 -2
  327. package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +11 -8
  328. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +8 -2
  329. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +9 -4
  330. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +8 -2
  331. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +9 -8
  332. package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +8 -2
  333. package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +8 -2
  334. package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +8 -2
  335. package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +8 -2
  336. package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +8 -2
  337. package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +8 -2
  338. package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
  339. package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +8 -2
  340. package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +8 -2
  341. package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +8 -2
  342. package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +8 -2
  343. package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +8 -6
  344. package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +9 -4
  345. package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +8 -2
  346. package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +10 -6
  347. package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +9 -4
  348. package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +8 -2
  349. package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +8 -2
  350. package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +8 -2
  351. package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +10 -6
  352. package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +8 -2
  353. package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +8 -2
  354. package/dist/docs/reference/{mesh/ThreadProfile.md → mechanical/ThreadProfile-type.md} +8 -6
  355. package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +9 -4
  356. package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +8 -2
  357. package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +12 -9
  358. package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +8 -2
  359. package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +13 -10
  360. package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +8 -2
  361. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +12 -9
  362. package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +8 -2
  363. package/dist/docs/reference/mechanical/ThreadedNutShape.md +20 -0
  364. package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +11 -8
  365. package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +9 -4
  366. package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +9 -4
  367. package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +9 -3
  368. package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +9 -3
  369. package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +17 -5
  370. package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +18 -2
  371. package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +8 -2
  372. package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +8 -2
  373. package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +14 -6
  374. package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +10 -2
  375. package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +13 -5
  376. package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +14 -6
  377. package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +13 -5
  378. package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +10 -2
  379. package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +10 -2
  380. package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +14 -6
  381. package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +10 -2
  382. package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +10 -2
  383. package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +12 -4
  384. package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +14 -7
  385. package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +14 -7
  386. package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +15 -7
  387. package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +13 -5
  388. package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +12 -2
  389. package/dist/docs/reference/mechanical.md +19 -0
  390. package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +39 -40
  391. package/dist/docs/reference/mesh/HeightfieldMeshLimits.md +8 -6
  392. package/dist/docs/reference/mesh/HeightfieldPreflight.md +8 -2
  393. package/dist/docs/reference/mesh/ImmutableTriangleMesh.md +8 -6
  394. package/dist/docs/reference/mesh/LoftMeshStation.md +8 -7
  395. package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
  396. package/dist/docs/reference/mesh/PlanarMeshOptimizationFallbackReason.md +9 -3
  397. package/dist/docs/reference/mesh/PlanarMeshOptimizationOptions.md +11 -6
  398. package/dist/docs/reference/mesh/PlanarMeshOptimizationResult.md +13 -7
  399. package/dist/docs/reference/mesh/PlanarPatchQuality.md +7 -5
  400. package/dist/docs/reference/mesh/RenderMesh.md +68 -0
  401. package/dist/docs/reference/mesh/SolidMeshValidationOptions.md +7 -5
  402. package/dist/docs/reference/mesh/TriangleMesh.md +16 -2
  403. package/dist/docs/reference/mesh/TriangleMeshAnalysis.md +16 -11
  404. package/dist/docs/reference/mesh/TriangleMeshAnalysisOptions.md +12 -7
  405. package/dist/docs/reference/mesh/TriangleMeshInput.md +9 -3
  406. package/dist/docs/reference/mesh/TriangleMeshMeasurements.md +10 -5
  407. package/dist/docs/reference/mesh/TriangleMeshQualityOptions.md +9 -4
  408. package/dist/docs/reference/mesh/TriangleMeshQualityReport.md +9 -3
  409. package/dist/docs/reference/mesh/TriangleMeshSignature.md +9 -4
  410. package/dist/docs/reference/mesh/TriangleMeshSignatureOptions.md +8 -2
  411. package/dist/docs/reference/mesh/TriangleMeshSignatureTolerances.md +8 -2
  412. package/dist/docs/reference/mesh/TriangleMeshTopologyAnalysis.md +17 -12
  413. package/dist/docs/reference/mesh/TriangleMeshValidationOptions.md +9 -4
  414. package/dist/docs/reference/mesh/analyze.md +28 -14
  415. package/dist/docs/reference/mesh/analyzeQuality.md +15 -9
  416. package/dist/docs/reference/mesh/bounds.md +10 -5
  417. package/dist/docs/reference/mesh/categories/operations.md +24 -81
  418. package/dist/docs/reference/mesh/centroid.md +10 -5
  419. package/dist/docs/reference/mesh/extrude.md +25 -18
  420. package/dist/docs/reference/mesh/heightfield.md +13 -7
  421. package/dist/docs/reference/mesh/immutable.md +16 -10
  422. package/dist/docs/reference/mesh/join.md +11 -5
  423. package/dist/docs/reference/mesh/loft.md +23 -16
  424. package/dist/docs/reference/mesh/optimizePlanarPatches.md +24 -18
  425. package/dist/docs/reference/mesh/preflightHeightfield.md +13 -7
  426. package/dist/docs/reference/mesh/preflightThreadSolid.md +27 -24
  427. package/dist/docs/reference/mesh/render.md +59 -0
  428. package/dist/docs/reference/mesh/reverse.md +11 -5
  429. package/dist/docs/reference/mesh/revolve.md +17 -13
  430. package/dist/docs/reference/mesh/signature.md +15 -9
  431. package/dist/docs/reference/mesh/sweep.md +101 -24
  432. package/dist/docs/reference/mesh/threadRidge.md +24 -17
  433. package/dist/docs/reference/mesh/threadSolid.md +28 -21
  434. package/dist/docs/reference/mesh/transform.md +12 -7
  435. package/dist/docs/reference/mesh/validate.md +15 -9
  436. package/dist/docs/reference/mesh/validateSolid.md +14 -8
  437. package/dist/docs/reference/mesh.md +8 -2
  438. package/dist/docs/reference/model/BoxEdge.md +11 -3
  439. package/dist/docs/reference/model/BoxEdgeSelection.md +11 -3
  440. package/dist/docs/reference/model/BoxEdgeTreatments.md +12 -5
  441. package/dist/docs/reference/model/BoxOptions.md +14 -9
  442. package/dist/docs/reference/model/CircleOptions.md +11 -6
  443. package/dist/docs/reference/model/CornerCutterOptions.md +93 -0
  444. package/dist/docs/reference/model/CornerCutterTreatment.md +53 -0
  445. package/dist/docs/reference/model/CutterOverrun.md +43 -0
  446. package/dist/docs/reference/model/CylinderOptions.md +12 -6
  447. package/dist/docs/reference/model/DiagnosticOptions.md +7 -1
  448. package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
  449. package/dist/docs/reference/model/EllipseOptions.md +11 -6
  450. package/dist/docs/reference/model/EndTreatments.md +13 -9
  451. package/dist/docs/reference/model/ExtrudeOptions.md +48 -44
  452. package/dist/docs/reference/model/GenerateCallback.md +7 -1
  453. package/dist/docs/reference/model/GenerateContext.md +23 -24
  454. package/dist/docs/reference/model/GenerationDiagnostic.md +7 -1
  455. package/dist/docs/reference/model/GenerationError.md +8 -2
  456. package/dist/docs/reference/model/HeightfieldOptions.md +8 -8
  457. package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
  458. package/dist/docs/reference/model/HoleCutterOptions.md +19 -25
  459. package/dist/docs/reference/model/HoleCutterRecess.md +13 -5
  460. package/dist/docs/reference/model/HullOptions.md +12 -6
  461. package/dist/docs/reference/model/ImmutableValue.md +7 -1
  462. package/dist/docs/reference/model/ImplicitOptions.md +9 -9
  463. package/dist/docs/reference/model/JoinOptions.md +73 -0
  464. package/dist/docs/reference/model/JoinTransition.md +54 -0
  465. package/dist/docs/reference/model/KnuckleHinge-type.md +8 -3
  466. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
  467. package/dist/docs/reference/model/KnuckleHingeOptions.md +8 -4
  468. package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
  469. package/dist/docs/reference/model/LoftCorrespondence.md +13 -5
  470. package/dist/docs/reference/model/LoftOptions.md +16 -10
  471. package/dist/docs/reference/model/LoftStation.md +16 -10
  472. package/dist/docs/reference/model/Memo.md +54 -0
  473. package/dist/docs/reference/model/ModelProgram.md +7 -1
  474. package/dist/docs/reference/model/PartDeclaration.md +12 -8
  475. package/dist/docs/reference/model/PartGeometry.md +8 -4
  476. package/dist/docs/reference/model/PartOptions.md +12 -8
  477. package/dist/docs/reference/model/PatternSource.md +11 -5
  478. package/dist/docs/reference/model/PlaneOptions.md +11 -8
  479. package/dist/docs/reference/model/PolygonOptions.md +17 -16
  480. package/dist/docs/reference/model/PrimitiveAttachment.md +15 -4
  481. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +18 -17
  482. package/dist/docs/reference/model/RectangleOptions.md +31 -30
  483. package/dist/docs/reference/model/RegularPolygonOptions.md +11 -38
  484. package/dist/docs/reference/model/RevolveOptions.md +19 -17
  485. package/dist/docs/reference/model/Section.md +128 -72
  486. package/dist/docs/reference/model/SectionHullOptions.md +12 -6
  487. package/dist/docs/reference/model/SectionInspection.md +8 -6
  488. package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
  489. package/dist/docs/reference/model/SectionOffsetOptions.md +11 -6
  490. package/dist/docs/reference/model/Solid.md +113 -53
  491. package/dist/docs/reference/model/SolidInspection.md +8 -6
  492. package/dist/docs/reference/model/SolidSegmentHit.md +9 -7
  493. package/dist/docs/reference/model/SphereOptions.md +12 -5
  494. package/dist/docs/reference/model/StarOptions.md +33 -29
  495. package/dist/docs/reference/model/SvgOrigin.md +10 -4
  496. package/dist/docs/reference/model/SvgPathSectionOptions.md +13 -9
  497. package/dist/docs/reference/model/SvgSectionOptions.md +14 -11
  498. package/dist/docs/reference/model/SweepOptions.md +21 -28
  499. package/dist/docs/reference/model/SweepOrientation.md +19 -16
  500. package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
  501. package/dist/docs/reference/model/TextSectionOptions.md +11 -10
  502. package/dist/docs/reference/model/TorusOptions.md +13 -7
  503. package/dist/docs/reference/model/TubeOptions.md +25 -8
  504. package/dist/docs/reference/model/box.md +14 -6
  505. package/dist/docs/reference/model/categories/boolean-operations.md +16 -4
  506. package/dist/docs/reference/model/categories/bounded-surfaces.md +7 -1
  507. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +21 -16
  508. package/dist/docs/reference/model/categories/generation.md +15 -12
  509. package/dist/docs/reference/model/categories/hinges.md +7 -4
  510. package/dist/docs/reference/model/categories/mesh-inspection.md +8 -6
  511. package/dist/docs/reference/model/categories/primitives.md +32 -20
  512. package/dist/docs/reference/model/categories/sections.md +11 -16
  513. package/dist/docs/reference/model/categories/threads.md +9 -43
  514. package/dist/docs/reference/model/categories/transforms-placement.md +17 -41
  515. package/dist/docs/reference/model/circle.md +15 -5
  516. package/dist/docs/reference/model/cornerCutter.md +88 -0
  517. package/dist/docs/reference/model/cylinder.md +11 -3
  518. package/dist/docs/reference/model/edgeCutter.md +91 -0
  519. package/dist/docs/reference/model/ellipse.md +15 -5
  520. package/dist/docs/reference/model/extrude.md +37 -24
  521. package/dist/docs/reference/model/generate.md +10 -2
  522. package/dist/docs/reference/model/gridPattern.md +22 -9
  523. package/dist/docs/reference/model/heightfield.md +7 -1
  524. package/dist/docs/reference/model/holeCutter.md +34 -13
  525. package/dist/docs/reference/model/hull.md +9 -2
  526. package/dist/docs/reference/model/implicit.md +10 -4
  527. package/dist/docs/reference/model/internalThreadCutter.md +38 -21
  528. package/dist/docs/reference/model/intersect.md +14 -3
  529. package/dist/docs/reference/model/join.md +93 -0
  530. package/dist/docs/reference/model/knuckleHinge.md +7 -2
  531. package/dist/docs/reference/model/linearPattern.md +22 -9
  532. package/dist/docs/reference/model/loft.md +27 -16
  533. package/dist/docs/reference/model/minkowskiSum.md +10 -3
  534. package/dist/docs/reference/model/pathPattern.md +36 -21
  535. package/dist/docs/reference/model/polygon.md +18 -7
  536. package/dist/docs/reference/model/radialPattern.md +22 -9
  537. package/dist/docs/reference/model/rectangle.md +22 -12
  538. package/dist/docs/reference/model/regularPolygon.md +15 -5
  539. package/dist/docs/reference/model/revolve.md +26 -13
  540. package/dist/docs/reference/model/solidFromMesh.md +16 -6
  541. package/dist/docs/reference/model/sphere.md +12 -4
  542. package/dist/docs/reference/model/star.md +20 -10
  543. package/dist/docs/reference/model/stroke.md +29 -19
  544. package/dist/docs/reference/model/svgPathSection.md +20 -8
  545. package/dist/docs/reference/model/svgSection.md +21 -9
  546. package/dist/docs/reference/model/sweep.md +108 -24
  547. package/dist/docs/reference/model/textSection.md +19 -9
  548. package/dist/docs/reference/model/threadRidge.md +22 -17
  549. package/dist/docs/reference/model/threadedNut.md +31 -22
  550. package/dist/docs/reference/model/threadedRod.md +27 -18
  551. package/dist/docs/reference/model/torus.md +13 -5
  552. package/dist/docs/reference/model/tube.md +11 -3
  553. package/dist/docs/reference/model/union.md +14 -3
  554. package/dist/docs/reference/model.md +11 -11
  555. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -1
  556. package/dist/docs/reference/text/VectorFont.md +22 -12
  557. package/dist/docs/reference/text/VectorFontOptions.md +7 -1
  558. package/dist/docs/reference/text/VectorTextArcBaseline.md +7 -1
  559. package/dist/docs/reference/text/VectorTextLayoutOptions.md +8 -2
  560. package/dist/docs/reference/text/VectorTextOptions.md +7 -1
  561. package/dist/docs/reference/text/categories/font-preparation.md +7 -10
  562. package/dist/docs/reference/text/prepareVectorFont.md +9 -1
  563. package/dist/docs/reference/text.md +7 -1
  564. package/dist/engine/execution.js +5 -3
  565. package/dist/engine/finalization.js +6 -78
  566. package/dist/engine/index.js +11 -6
  567. package/dist/engine/native/adapter.js +1 -1
  568. package/dist/engine/native/construction-mesh.js +51 -0
  569. package/dist/engine/native/context.js +10 -7
  570. package/dist/engine/native/index.js +1 -1
  571. package/dist/engine/native/material-components.js +4 -53
  572. package/dist/engine/native/mesh-observation.js +55 -0
  573. package/dist/engine/native/regions.js +44 -23
  574. package/dist/engine/native/scoped-primitives.js +3 -3
  575. package/dist/engine/native/scoped-threads.js +1 -13
  576. package/dist/engine/native/threads.js +2 -2
  577. package/dist/engine/native/transforms.js +2 -2
  578. package/dist/engine/operations/construction.js +77 -27
  579. package/dist/engine/operations/context.js +15 -6
  580. package/dist/engine/operations/cutters.js +112 -0
  581. package/dist/engine/operations/environment.js +2 -2
  582. package/dist/engine/operations/extrusion-finishing.js +56 -29
  583. package/dist/engine/operations/hole-cutter.js +125 -114
  584. package/dist/engine/operations/join-collar-profile.js +120 -0
  585. package/dist/engine/operations/join.js +521 -0
  586. package/dist/engine/operations/knuckle-hinge.js +25 -20
  587. package/dist/engine/operations/loft.js +9 -16
  588. package/dist/engine/operations/mechanical.js +4 -15
  589. package/dist/engine/operations/primitives/anchors.js +23 -19
  590. package/dist/engine/operations/primitives/construction.js +38 -12
  591. package/dist/engine/operations/primitives/correspondence.js +2 -2
  592. package/dist/engine/operations/primitives/profile-mesh.js +41 -80
  593. package/dist/engine/operations/primitives/profiles.js +5 -5
  594. package/dist/engine/operations/sections.js +8 -8
  595. package/dist/engine/operations/transforms.js +19 -39
  596. package/dist/engine/placement.js +3 -3
  597. package/dist/engine/recipe-realization.js +87 -31
  598. package/dist/engine/session/declarations.js +98 -0
  599. package/dist/engine/session/dependencies.js +139 -39
  600. package/dist/engine/session/graph.js +290 -411
  601. package/dist/engine/session/native-cache.js +1 -1
  602. package/dist/engine/session/parameters.js +78 -0
  603. package/dist/engine/session/session.js +7 -7
  604. package/dist/engine/session/snapshot-cache.js +4 -4
  605. package/dist/engine/shape-anchors.js +13 -6
  606. package/dist/export/3mf.js +197 -0
  607. package/dist/export/capture.js +182 -0
  608. package/dist/export/glb.js +214 -0
  609. package/dist/export/index.js +5 -0
  610. package/dist/export/limits.js +18 -0
  611. package/dist/export/stl.js +120 -0
  612. package/dist/export/writer.js +54 -0
  613. package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
  614. package/dist/geometry/{bounds-value.js → bounds/value.js} +24 -20
  615. package/dist/geometry/curves/evaluation.js +5 -6
  616. package/dist/geometry/curves/sampling.js +30 -6
  617. package/dist/geometry/{extrusion.js → extrusion/controls.js} +58 -35
  618. package/dist/geometry/extrusion/mesh.js +92 -0
  619. package/dist/geometry/extrusion/stations.js +35 -0
  620. package/dist/geometry/extrusion/twisted-chamfer.js +265 -0
  621. package/dist/geometry/immutable-buffer.js +11 -7
  622. package/dist/geometry/index.js +24 -32
  623. package/dist/geometry/{model-limits.js → limits.js} +1 -1
  624. package/dist/geometry/loft/{loft-correspondence.js → correspondence.js} +31 -20
  625. package/dist/geometry/loft/{loft-geometry.js → geometry.js} +15 -17
  626. package/dist/geometry/loft/mesh.js +53 -0
  627. package/dist/geometry/loft/{loft-options.js → options.js} +13 -11
  628. package/dist/geometry/loft/{loft-simple-mesh.js → simple-mesh.js} +26 -17
  629. package/dist/geometry/math/interpolation.js +9 -0
  630. package/dist/geometry/math/vector-value.js +12 -3
  631. package/dist/geometry/math/vector2.js +18 -5
  632. package/dist/geometry/math/vector3.js +28 -5
  633. package/dist/geometry/math-api.js +4 -0
  634. package/dist/geometry/mechanical/gear-motion.js +7 -5
  635. package/dist/geometry/mechanical/gears.js +21 -4
  636. package/dist/geometry/mechanical/knuckle-hinge.js +7 -5
  637. package/dist/geometry/mechanical/threads/fit.js +8 -2
  638. package/dist/geometry/mechanical/threads/helices.js +4 -2
  639. package/dist/geometry/mechanical/threads/mesh-plan.js +4 -2
  640. package/dist/geometry/mechanical/threads/mesh.js +12 -9
  641. package/dist/geometry/mechanical/threads/profiles.js +18 -4
  642. package/dist/geometry/mechanical/threads/solids.js +11 -2
  643. package/dist/geometry/mechanical-api.js +10 -0
  644. package/dist/geometry/mesh/{mesh-centroid.js → centroid.js} +2 -1
  645. package/dist/geometry/{heightfield.js → mesh/heightfield.js} +9 -5
  646. package/dist/geometry/mesh/join-layers.js +833 -0
  647. package/dist/geometry/mesh/{mesh.js → operations.js} +11 -18
  648. package/dist/geometry/mesh/{mesh-planar.js → planar.js} +8 -18
  649. package/dist/geometry/mesh/{mesh-quality.js → quality.js} +10 -42
  650. package/dist/geometry/mesh/render-buffers.js +220 -0
  651. package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
  652. package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +45 -17
  653. package/dist/geometry/mesh/{mesh-solid.js → solid.js} +10 -6
  654. package/dist/geometry/mesh/triangle-quality.js +42 -0
  655. package/dist/geometry/mesh/winding.js +11 -0
  656. package/dist/geometry/{numeric.js → mesh/write-vertex.js} +1 -1
  657. package/dist/geometry/mesh-api.js +12 -10
  658. package/dist/geometry/paths/distribution.js +43 -0
  659. package/dist/geometry/paths/editing.js +76 -0
  660. package/dist/geometry/paths/frames.js +16 -11
  661. package/dist/geometry/paths/helix.js +1 -1
  662. package/dist/geometry/paths/resampling.js +46 -61
  663. package/dist/geometry/paths/{planar.js → rounding.js} +8 -67
  664. package/dist/geometry/paths/spline.js +116 -0
  665. package/dist/geometry/paths/traversal.js +107 -0
  666. package/dist/geometry/paths/{path-value.js → value.js} +97 -18
  667. package/dist/geometry/patterns/placements.js +20 -29
  668. package/dist/geometry/{patterns.js → patterns/transforms.js} +11 -7
  669. package/dist/geometry/primitives/cutters.js +70 -0
  670. package/dist/geometry/{cylinder.js → primitives/cylinder.js} +4 -4
  671. package/dist/geometry/{edge-finishing.js → primitives/edges.js} +5 -5
  672. package/dist/geometry/{primitive-resolvers.js → primitives/resolvers.js} +9 -9
  673. package/dist/geometry/primitives/sampling.js +41 -0
  674. package/dist/geometry/profiles/contour.js +19 -7
  675. package/dist/geometry/profiles/{match-profiles.js → matching.js} +9 -6
  676. package/dist/geometry/profiles/primitives/circle.js +1 -1
  677. package/dist/geometry/profiles/primitives/ellipse.js +2 -2
  678. package/dist/geometry/profiles/primitives/rectangle.js +8 -8
  679. package/dist/geometry/profiles/primitives/star.js +1 -1
  680. package/dist/geometry/profiles/side-profile.js +8 -5
  681. package/dist/geometry/profiles/validation.js +1 -1
  682. package/dist/geometry/{polygon-clipping.js → regions/clipping.js} +1 -1
  683. package/dist/geometry/{convex-offset.js → regions/convex-offset.js} +1 -1
  684. package/dist/geometry/regions/offset.js +280 -0
  685. package/dist/geometry/{regions.js → regions/operations.js} +70 -23
  686. package/dist/geometry/{stroke-path.js → regions/stroke.js} +46 -20
  687. package/dist/geometry/{loft/loft-triangulation.js → regions/triangulation.js} +35 -2
  688. package/dist/geometry/revolve/{revolve-mesh.js → mesh.js} +9 -10
  689. package/dist/geometry/{circular-sampling.js → sampling/circular.js} +3 -3
  690. package/dist/geometry/{sampling-limits.js → sampling/limits.js} +6 -2
  691. package/dist/geometry/{resolution.js → sampling/resolution.js} +15 -14
  692. package/dist/geometry/svg/fill.js +4 -3
  693. package/dist/geometry/svg/import.js +47 -64
  694. package/dist/geometry/svg/path.js +3 -3
  695. package/dist/geometry/sweep/closed.js +55 -0
  696. package/dist/geometry/sweep/mesh.js +30 -0
  697. package/dist/geometry/{sweeps/sweep-open.js → sweep/open.js} +9 -24
  698. package/dist/geometry/sweep/options.js +1 -0
  699. package/dist/geometry/{sweeps → sweep}/orientation.js +14 -11
  700. package/dist/geometry/sweep/seam.js +30 -0
  701. package/dist/geometry/{sweeps → sweep}/stations.js +75 -10
  702. package/dist/geometry/sweep/transforms.js +30 -0
  703. package/dist/geometry/{sweeps → sweep}/validation.js +4 -4
  704. package/dist/geometry/{text-contours.js → text/contours.js} +3 -3
  705. package/dist/geometry/{text-fitting.js → text/fitting.js} +4 -3
  706. package/dist/geometry/text/layout.js +1 -0
  707. package/dist/geometry/{transform3.js → transforms/affine3.js} +31 -46
  708. package/dist/geometry/{anchors.js → transforms/anchors.js} +43 -24
  709. package/dist/geometry/{transform-geometry.js → transforms/apply.js} +8 -5
  710. package/dist/geometry/{transform2.js → transforms/dimensions.js} +23 -19
  711. package/dist/geometry/transforms/frame.js +64 -0
  712. package/dist/geometry/{transform-matrix.js → transforms/matrix-input.js} +8 -1
  713. package/dist/geometry/{transform-value.js → transforms/value.js} +29 -11
  714. package/dist/index.js +3 -9
  715. package/dist/model/cutters.js +1 -0
  716. package/dist/model/execution-binding.js +3 -3
  717. package/dist/model/generation.js +4 -2
  718. package/dist/model/immutable-generation-data.js +15 -13
  719. package/dist/model/join.js +1 -0
  720. package/dist/model/operations.js +150 -94
  721. package/dist/model/recipe-declaration.js +6 -7
  722. package/dist/model/shape-handles.js +1 -0
  723. package/dist/text/index.js +3 -0
  724. package/dist/text/vector-text-layout.js +1 -0
  725. package/package.json +20 -5
  726. package/dist/docs/reference/engine/Export3mfOptions.md +0 -46
  727. package/dist/docs/reference/engine/ExportMeshPart.md +0 -31
  728. package/dist/docs/reference/engine/ModelingLimits.md +0 -121
  729. package/dist/docs/reference/engine/export3mf.md +0 -55
  730. package/dist/docs/reference/geometry/BoxEdge.md +0 -7
  731. package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -14
  732. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -15
  733. package/dist/docs/reference/geometry/BoxOptions.md +0 -87
  734. package/dist/docs/reference/geometry/CylinderOptions.md +0 -53
  735. package/dist/docs/reference/geometry/EndTreatments.md +0 -34
  736. package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -130
  737. package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -146
  738. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +0 -18
  739. package/dist/docs/reference/geometry/HeightfieldOptions.md +0 -72
  740. package/dist/docs/reference/geometry/HeightfieldPreflight.md +0 -58
  741. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -19
  742. package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +0 -43
  743. package/dist/docs/reference/geometry/LoftCorrespondence.md +0 -24
  744. package/dist/docs/reference/geometry/LoftMeshStation.md +0 -31
  745. package/dist/docs/reference/geometry/LoftOptions.md +0 -88
  746. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +0 -14
  747. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +0 -160
  748. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +0 -124
  749. package/dist/docs/reference/geometry/PlanarPatchQuality.md +0 -194
  750. package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -29
  751. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -104
  752. package/dist/docs/reference/geometry/RevolveOptions.md +0 -91
  753. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +0 -38
  754. package/dist/docs/reference/geometry/SphereOptions.md +0 -15
  755. package/dist/docs/reference/geometry/SweepOptions.md +0 -113
  756. package/dist/docs/reference/geometry/SweepOrientation.md +0 -113
  757. package/dist/docs/reference/geometry/ThreadProfile-type.md +0 -86
  758. package/dist/docs/reference/geometry/ThreadedNutShape.md +0 -14
  759. package/dist/docs/reference/geometry/TorusOptions.md +0 -105
  760. package/dist/docs/reference/geometry/TriangleMesh.md +0 -34
  761. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +0 -129
  762. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +0 -79
  763. package/dist/docs/reference/geometry/TriangleMeshInput.md +0 -19
  764. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +0 -79
  765. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +0 -43
  766. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +0 -194
  767. package/dist/docs/reference/geometry/TriangleMeshSignature.md +0 -111
  768. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +0 -46
  769. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +0 -34
  770. package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +0 -131
  771. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +0 -55
  772. package/dist/docs/reference/geometry/TubeOptions.md +0 -62
  773. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +0 -58
  774. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +0 -115
  775. package/dist/docs/reference/geometry/VectorTextOptions.md +0 -54
  776. package/dist/docs/reference/geometry/add2.md +0 -37
  777. package/dist/docs/reference/geometry/add3.md +0 -43
  778. package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -46
  779. package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -44
  780. package/dist/docs/reference/geometry/categories/meshes.md +0 -68
  781. package/dist/docs/reference/geometry/composeTransform3.md +0 -45
  782. package/dist/docs/reference/geometry/cross2.md +0 -37
  783. package/dist/docs/reference/geometry/cross3.md +0 -43
  784. package/dist/docs/reference/geometry/distance2.md +0 -37
  785. package/dist/docs/reference/geometry/distance3.md +0 -37
  786. package/dist/docs/reference/geometry/dot2.md +0 -37
  787. package/dist/docs/reference/geometry/dot3.md +0 -43
  788. package/dist/docs/reference/geometry/eulerTransform3.md +0 -43
  789. package/dist/docs/reference/geometry/frameTransform3.md +0 -49
  790. package/dist/docs/reference/geometry/inverseTransform3.md +0 -35
  791. package/dist/docs/reference/geometry/length2.md +0 -31
  792. package/dist/docs/reference/geometry/length3.md +0 -31
  793. package/dist/docs/reference/geometry/lerp2.md +0 -43
  794. package/dist/docs/reference/geometry/lerp3.md +0 -43
  795. package/dist/docs/reference/geometry/normalize2.md +0 -40
  796. package/dist/docs/reference/geometry/normalize3.md +0 -40
  797. package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -37
  798. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +0 -78
  799. package/dist/docs/reference/geometry/rotate2.md +0 -37
  800. package/dist/docs/reference/geometry/rotationTransform3.md +0 -54
  801. package/dist/docs/reference/geometry/scale2.md +0 -37
  802. package/dist/docs/reference/geometry/scale3.md +0 -43
  803. package/dist/docs/reference/geometry/scaleTransform3.md +0 -39
  804. package/dist/docs/reference/geometry/subtract2.md +0 -37
  805. package/dist/docs/reference/geometry/subtract3.md +0 -43
  806. package/dist/docs/reference/geometry/transformDeterminant3.md +0 -37
  807. package/dist/docs/reference/geometry/translationTransform3.md +0 -36
  808. package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -35
  809. package/dist/docs/reference/geometry/validateTransform3.md +0 -48
  810. package/dist/docs/reference/mesh/AcmeThreadProfileSpec.md +0 -79
  811. package/dist/docs/reference/mesh/Bevel.md +0 -18
  812. package/dist/docs/reference/mesh/BevelSize.md +0 -14
  813. package/dist/docs/reference/mesh/Bounds2.md +0 -125
  814. package/dist/docs/reference/mesh/Bounds2Data.md +0 -43
  815. package/dist/docs/reference/mesh/Bounds2Input.md +0 -19
  816. package/dist/docs/reference/mesh/Bounds3.md +0 -125
  817. package/dist/docs/reference/mesh/Bounds3Data.md +0 -43
  818. package/dist/docs/reference/mesh/Bounds3Input.md +0 -19
  819. package/dist/docs/reference/mesh/ButtressPressureFlankSide.md +0 -14
  820. package/dist/docs/reference/mesh/ButtressThreadProfileSpec.md +0 -97
  821. package/dist/docs/reference/mesh/CircularPrimitiveOptions.md +0 -60
  822. package/dist/docs/reference/mesh/CurveSamplingOptions.md +0 -69
  823. package/dist/docs/reference/mesh/CustomThreadProfileSpec.md +0 -77
  824. package/dist/docs/reference/mesh/ExtrusionSamplingOptions.md +0 -81
  825. package/dist/docs/reference/mesh/Frame3.md +0 -62
  826. package/dist/docs/reference/mesh/GeometryResolution.md +0 -74
  827. package/dist/docs/reference/mesh/GeometrySamplingLimits.md +0 -66
  828. package/dist/docs/reference/mesh/GeometryToleranceOptions.md +0 -46
  829. package/dist/docs/reference/mesh/HeightfieldOptions.md +0 -72
  830. package/dist/docs/reference/mesh/ImmutableBuffer.md +0 -108
  831. package/dist/docs/reference/mesh/LoftCorrespondence.md +0 -24
  832. package/dist/docs/reference/mesh/LoftOptions.md +0 -88
  833. package/dist/docs/reference/mesh/LoftPlacement.md +0 -70
  834. package/dist/docs/reference/mesh/ModelingLimits.md +0 -130
  835. package/dist/docs/reference/mesh/NumericArray.md +0 -14
  836. package/dist/docs/reference/mesh/Path2.md +0 -197
  837. package/dist/docs/reference/mesh/Path2Data.md +0 -50
  838. package/dist/docs/reference/mesh/Path2Input.md +0 -20
  839. package/dist/docs/reference/mesh/Path3.md +0 -197
  840. package/dist/docs/reference/mesh/Path3Data.md +0 -50
  841. package/dist/docs/reference/mesh/Path3Input.md +0 -20
  842. package/dist/docs/reference/mesh/PathLocation.md +0 -69
  843. package/dist/docs/reference/mesh/PathNormalGuide.md +0 -43
  844. package/dist/docs/reference/mesh/PathResamplingOptions.md +0 -84
  845. package/dist/docs/reference/mesh/Pivot2Options.md +0 -26
  846. package/dist/docs/reference/mesh/Pivot3Options.md +0 -26
  847. package/dist/docs/reference/mesh/RevolveOptions.md +0 -91
  848. package/dist/docs/reference/mesh/SquareThreadProfileSpec.md +0 -79
  849. package/dist/docs/reference/mesh/SweepOptions.md +0 -113
  850. package/dist/docs/reference/mesh/SweepOrientation.md +0 -113
  851. package/dist/docs/reference/mesh/ThreadEndStyle.md +0 -14
  852. package/dist/docs/reference/mesh/ThreadEndTreatmentOptions.md +0 -117
  853. package/dist/docs/reference/mesh/ThreadHandedness.md +0 -14
  854. package/dist/docs/reference/mesh/ThreadLeadInEnvelope.md +0 -14
  855. package/dist/docs/reference/mesh/ThreadLeadInShape.md +0 -14
  856. package/dist/docs/reference/mesh/ThreadProfileBaseSpec.md +0 -53
  857. package/dist/docs/reference/mesh/ThreadProfileSpec.md +0 -23
  858. package/dist/docs/reference/mesh/ThreadRidgeOptions.md +0 -145
  859. package/dist/docs/reference/mesh/ThreadSolidOptions.md +0 -222
  860. package/dist/docs/reference/mesh/ThreadSolidPreflight.md +0 -58
  861. package/dist/docs/reference/mesh/Transform2.md +0 -256
  862. package/dist/docs/reference/mesh/Transform2Data.md +0 -14
  863. package/dist/docs/reference/mesh/Transform2Input.md +0 -19
  864. package/dist/docs/reference/mesh/Transform3.md +0 -296
  865. package/dist/docs/reference/mesh/Transform3Data.md +0 -17
  866. package/dist/docs/reference/mesh/Transform3Input.md +0 -19
  867. package/dist/docs/reference/mesh/TrapezoidalThreadProfileSpec.md +0 -96
  868. package/dist/docs/reference/mesh/TriangularThreadProfileSpec.md +0 -95
  869. package/dist/docs/reference/mesh/Vector2.md +0 -270
  870. package/dist/docs/reference/mesh/Vector2Data.md +0 -14
  871. package/dist/docs/reference/mesh/Vector2Input.md +0 -19
  872. package/dist/docs/reference/mesh/Vector3.md +0 -282
  873. package/dist/docs/reference/mesh/Vector3Data.md +0 -14
  874. package/dist/docs/reference/mesh/Vector3Input.md +0 -19
  875. package/dist/docs/reference/model/AcmeThreadProfileSpec.md +0 -80
  876. package/dist/docs/reference/model/Anchor3.md +0 -55
  877. package/dist/docs/reference/model/AttachOptions.md +0 -69
  878. package/dist/docs/reference/model/Bevel.md +0 -19
  879. package/dist/docs/reference/model/BevelSize.md +0 -15
  880. package/dist/docs/reference/model/Bounds2-type.md +0 -125
  881. package/dist/docs/reference/model/Bounds2Data.md +0 -44
  882. package/dist/docs/reference/model/Bounds2Input.md +0 -19
  883. package/dist/docs/reference/model/Bounds2Options.md +0 -110
  884. package/dist/docs/reference/model/Bounds3-type.md +0 -125
  885. package/dist/docs/reference/model/Bounds3Data.md +0 -44
  886. package/dist/docs/reference/model/Bounds3Input.md +0 -19
  887. package/dist/docs/reference/model/Bounds3Options.md +0 -110
  888. package/dist/docs/reference/model/ButtressPressureFlankSide.md +0 -15
  889. package/dist/docs/reference/model/ButtressThreadProfileSpec.md +0 -98
  890. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
  891. package/dist/docs/reference/model/CircleContourOptions.md +0 -21
  892. package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -62
  893. package/dist/docs/reference/model/Computed.md +0 -44
  894. package/dist/docs/reference/model/ComputedValue.md +0 -24
  895. package/dist/docs/reference/model/Contour.md +0 -24
  896. package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
  897. package/dist/docs/reference/model/CorrespondingContour.md +0 -46
  898. package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
  899. package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
  900. package/dist/docs/reference/model/CurveSamplingOptions.md +0 -68
  901. package/dist/docs/reference/model/CustomThreadProfileSpec.md +0 -78
  902. package/dist/docs/reference/model/EdgeTreatment.md +0 -22
  903. package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
  904. package/dist/docs/reference/model/ExtrudeMeshOptions.md +0 -133
  905. package/dist/docs/reference/model/ExtrusionSamplingOptions.md +0 -84
  906. package/dist/docs/reference/model/Frame3.md +0 -63
  907. package/dist/docs/reference/model/GeometryError.md +0 -102
  908. package/dist/docs/reference/model/GeometryErrorCode.md +0 -15
  909. package/dist/docs/reference/model/GeometryErrorContext.md +0 -35
  910. package/dist/docs/reference/model/GeometryResolution.md +0 -70
  911. package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
  912. package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
  913. package/dist/docs/reference/model/GridPatternOptions.md +0 -50
  914. package/dist/docs/reference/model/HoleCutterOverrun.md +0 -35
  915. package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -108
  916. package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -43
  917. package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -216
  918. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
  919. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
  920. package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
  921. package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
  922. package/dist/docs/reference/model/LoftPlacement.md +0 -73
  923. package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
  924. package/dist/docs/reference/model/ModelingLimits.md +0 -126
  925. package/dist/docs/reference/model/NumericArray.md +0 -14
  926. package/dist/docs/reference/model/Path2-type.md +0 -196
  927. package/dist/docs/reference/model/Path2Data.md +0 -50
  928. package/dist/docs/reference/model/Path2Input.md +0 -20
  929. package/dist/docs/reference/model/Path3-type.md +0 -196
  930. package/dist/docs/reference/model/Path3Data.md +0 -50
  931. package/dist/docs/reference/model/Path3Input.md +0 -20
  932. package/dist/docs/reference/model/PathLocation.md +0 -69
  933. package/dist/docs/reference/model/PathNormalGuide.md +0 -46
  934. package/dist/docs/reference/model/PathOptions.md +0 -38
  935. package/dist/docs/reference/model/PathPatternOptions.md +0 -48
  936. package/dist/docs/reference/model/PathResamplingOptions.md +0 -84
  937. package/dist/docs/reference/model/Pivot2Options.md +0 -28
  938. package/dist/docs/reference/model/Pivot3Options.md +0 -28
  939. package/dist/docs/reference/model/PolygonData.md +0 -44
  940. package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
  941. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
  942. package/dist/docs/reference/model/Profile.md +0 -24
  943. package/dist/docs/reference/model/ProfileComponent2.md +0 -46
  944. package/dist/docs/reference/model/ProfileContour2.md +0 -36
  945. package/dist/docs/reference/model/ProfileSpan2.md +0 -47
  946. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
  947. package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
  948. package/dist/docs/reference/model/RadialSizing.md +0 -15
  949. package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
  950. package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
  951. package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
  952. package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
  953. package/dist/docs/reference/model/RegionData.md +0 -19
  954. package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
  955. package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
  956. package/dist/docs/reference/model/SquareThreadProfileSpec.md +0 -80
  957. package/dist/docs/reference/model/StarContourOptions.md +0 -81
  958. package/dist/docs/reference/model/StrokeCap.md +0 -16
  959. package/dist/docs/reference/model/StrokeJoin.md +0 -16
  960. package/dist/docs/reference/model/StrokeOptions.md +0 -91
  961. package/dist/docs/reference/model/ThreadBevelOptions.md +0 -35
  962. package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
  963. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
  964. package/dist/docs/reference/model/ThreadHandedness.md +0 -15
  965. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
  966. package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
  967. package/dist/docs/reference/model/ThreadProfile.md +0 -87
  968. package/dist/docs/reference/model/ThreadProfileBaseSpec.md +0 -54
  969. package/dist/docs/reference/model/ThreadProfileSpec.md +0 -24
  970. package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -141
  971. package/dist/docs/reference/model/ThreadSolidPreflight.md +0 -59
  972. package/dist/docs/reference/model/ThreadedNutOptions.md +0 -263
  973. package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -111
  974. package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
  975. package/dist/docs/reference/model/ThreadedRodOptions.md +0 -216
  976. package/dist/docs/reference/model/Transform2-type.md +0 -257
  977. package/dist/docs/reference/model/Transform2Data.md +0 -16
  978. package/dist/docs/reference/model/Transform2Input.md +0 -21
  979. package/dist/docs/reference/model/Transform3-type.md +0 -297
  980. package/dist/docs/reference/model/Transform3Data.md +0 -19
  981. package/dist/docs/reference/model/Transform3Input.md +0 -21
  982. package/dist/docs/reference/model/TrapezoidalThreadProfileSpec.md +0 -97
  983. package/dist/docs/reference/model/TriangleMesh.md +0 -34
  984. package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -129
  985. package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
  986. package/dist/docs/reference/model/TriangleMeshTopologyAnalysis.md +0 -131
  987. package/dist/docs/reference/model/TriangularThreadProfileSpec.md +0 -96
  988. package/dist/docs/reference/model/Vector2-type.md +0 -271
  989. package/dist/docs/reference/model/Vector2Data.md +0 -15
  990. package/dist/docs/reference/model/Vector2Input.md +0 -21
  991. package/dist/docs/reference/model/Vector3-type.md +0 -283
  992. package/dist/docs/reference/model/Vector3Data.md +0 -15
  993. package/dist/docs/reference/model/Vector3Input.md +0 -21
  994. package/dist/docs/reference/model/VectorTextLayout.md +0 -40
  995. package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
  996. package/dist/docs/reference/model/bounds2.md +0 -37
  997. package/dist/docs/reference/model/bounds3.md +0 -37
  998. package/dist/docs/reference/model/categories/bounds.md +0 -38
  999. package/dist/docs/reference/model/categories/contracts.md +0 -16
  1000. package/dist/docs/reference/model/categories/core-values-errors.md +0 -44
  1001. package/dist/docs/reference/model/categories/explicit-profiles.md +0 -34
  1002. package/dist/docs/reference/model/categories/paths.md +0 -42
  1003. package/dist/docs/reference/model/categories/resolution.md +0 -20
  1004. package/dist/docs/reference/model/immutableBuffer.md +0 -49
  1005. package/dist/docs/reference/model/isGeometryError.md +0 -34
  1006. package/dist/docs/reference/model/matchProfiles.md +0 -42
  1007. package/dist/docs/reference/model/path2.md +0 -54
  1008. package/dist/docs/reference/model/path3.md +0 -49
  1009. package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -87
  1010. package/dist/docs/reference/model/preflightThreadedNut.md +0 -103
  1011. package/dist/docs/reference/model/preflightThreadedRod.md +0 -87
  1012. package/dist/docs/reference/model/transform2.md +0 -46
  1013. package/dist/docs/reference/model/transform3.md +0 -48
  1014. package/dist/docs/reference/model/vector2.md +0 -40
  1015. package/dist/docs/reference/model/vector3.md +0 -47
  1016. package/dist/docs/reference/text/Bounds2Data.md +0 -34
  1017. package/dist/docs/reference/text/Vector2Data.md +0 -7
  1018. package/dist/docs/reference/text/VectorTextLayout.md +0 -34
  1019. package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
  1020. package/dist/engine/export-3mf.js +0 -23
  1021. package/dist/engine/operations/patterns.js +0 -47
  1022. package/dist/engine/serialize-3mf.js +0 -116
  1023. package/dist/geometry/loft/loft.js +0 -105
  1024. package/dist/geometry/mechanical/index.js +0 -14
  1025. package/dist/geometry/primitive-resolution.js +0 -20
  1026. package/dist/geometry/svg/index.js +0 -1
  1027. package/dist/geometry/sweeps/options.js +0 -29
  1028. package/dist/geometry/sweeps/sweep-closed.js +0 -96
  1029. package/dist/geometry/sweeps/sweep-mesh.js +0 -32
  1030. /package/dist/{geometry/mesh/mesh-types.js → export/types.js} +0 -0
  1031. /package/dist/geometry/mechanical/{standards.js → fastener-standards.js} +0 -0
  1032. /package/dist/geometry/mesh/{mesh-edge-table.js → edge-table.js} +0 -0
  1033. /package/dist/geometry/{primitive-options.js → mesh/types.js} +0 -0
  1034. /package/dist/{engine/mesh-view-cache.js → geometry/mesh/view-cache.js} +0 -0
  1035. /package/dist/geometry/{text-layout.js → primitives/options.js} +0 -0
@@ -44,7 +44,7 @@ Maximum miter extension in offset-distance multiples; at least two.
44
44
 
45
45
 
46
46
 
47
- `readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
47
+ `readonly` `optional` **resolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
48
48
 
49
49
 
50
50
 
@@ -53,13 +53,18 @@ Operation-level physical tessellation policy over the active model-wide policy.
53
53
 
54
54
  ## Related APIs
55
55
 
56
- - [GeometryResolution](GeometryResolution.md)
57
56
  - [SectionOffsetJoin](SectionOffsetJoin.md)
58
57
 
59
58
  ## Guides
60
59
 
61
- - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
62
- - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
63
- - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
60
+ - [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
61
+ - [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
62
+ - [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
64
63
 
65
- Package: `@metamesh/modeling@0.18.0`.
64
+ ## Import
65
+
66
+ ```ts
67
+ import type { SectionOffsetOptions } from "@metamesh/modeling";
68
+ ```
69
+
70
+ Package: `@metamesh/modeling@0.20.0`.
@@ -11,31 +11,24 @@ A no-op may reuse the receiver; final part placement belongs in `part` options.
11
11
 
12
12
  ## Example: Shape a body with a through bore
13
13
 
14
+
15
+
14
16
  ```ts
15
17
  const body = box({ size: [30, 20, 6] })
16
18
  .subtract(cylinder({ height: 8, radius: 3 }))
17
19
  .rotate([0, 0, 45]);
20
+ body;
18
21
  ```
19
22
 
20
- ## Properties
21
-
22
- ### \[solidBrand\]
23
-
24
-
25
-
26
- `readonly` **\[solidBrand\]**: `"Solid"`
27
-
28
23
 
29
24
 
30
- Compile-time identity brand for an immutable solid recipe.
31
-
32
25
  ## Methods
33
26
 
34
27
  ### translate()
35
28
 
36
29
 
37
30
 
38
- **translate**(`offset`: [`Vector3Input`](Vector3Input.md)): `Solid`
31
+ **translate**(`offset`: [`Vector3Input`](../geometry/Vector3Input.md)): `Solid`
39
32
 
40
33
 
41
34
 
@@ -45,7 +38,7 @@ Translates XYZ coordinates in millimetres.
45
38
 
46
39
  <a id="offset"></a>
47
40
 
48
- **`offset`** · [`Vector3Input`](Vector3Input.md) · Required
41
+ **`offset`** · [`Vector3Input`](../geometry/Vector3Input.md) · Required
49
42
 
50
43
 
51
44
 
@@ -59,7 +52,7 @@ Translates XYZ coordinates in millimetres.
59
52
 
60
53
 
61
54
 
62
- **rotate**(`degrees`: [`Vector3Input`](Vector3Input.md), `options?`: [`Pivot3Options`](Pivot3Options.md)): `Solid`
55
+ **rotate**(`degrees`: [`Vector3Input`](../geometry/Vector3Input.md), `options?`: [`Pivot3Options`](../geometry/Pivot3Options.md)): `Solid`
63
56
 
64
57
 
65
58
 
@@ -70,15 +63,15 @@ Rotates about global X, then Y, then Z in degrees.
70
63
 
71
64
  <a id="degrees"></a>
72
65
 
73
- **`degrees`** · [`Vector3Input`](Vector3Input.md) · Required
66
+ **`degrees`** · [`Vector3Input`](../geometry/Vector3Input.md) · Required
74
67
 
75
68
 
76
69
 
77
70
  <a id="options"></a>
78
71
 
79
- **`options`** · [`Pivot3Options`](Pivot3Options.md) · Optional
72
+ **`options`** · [`Pivot3Options`](../geometry/Pivot3Options.md) · Optional
80
73
 
81
- - [`pivot`](Pivot3Options.md#pivot) · [`Vector3Input`](Vector3Input.md) · Optional
74
+ - [`pivot`](../geometry/Pivot3Options.md#pivot) · [`Vector3Input`](../geometry/Vector3Input.md) · Optional
82
75
 
83
76
  World-space point left fixed by rotation or scaling.
84
77
 
@@ -94,7 +87,7 @@ Rotates about global X, then Y, then Z in degrees.
94
87
 
95
88
 
96
89
 
97
- **scale**(`factors`: `number` \| [`Vector3Input`](Vector3Input.md), `options?`: [`Pivot3Options`](Pivot3Options.md)): `Solid`
90
+ **scale**(`factors`: `number` \| [`Vector3Input`](../geometry/Vector3Input.md), `options?`: [`Pivot3Options`](../geometry/Pivot3Options.md)): `Solid`
98
91
 
99
92
 
100
93
 
@@ -105,15 +98,15 @@ Uniform or per-axis nonsingular scaling; negative factors reflect geometry.
105
98
 
106
99
  <a id="factors"></a>
107
100
 
108
- **`factors`** · `number` \| [`Vector3Input`](Vector3Input.md) · Required
101
+ **`factors`** · `number` \| [`Vector3Input`](../geometry/Vector3Input.md) · Required
109
102
 
110
103
 
111
104
 
112
105
  <a id="options-1"></a>
113
106
 
114
- **`options`** · [`Pivot3Options`](Pivot3Options.md) · Optional
107
+ **`options`** · [`Pivot3Options`](../geometry/Pivot3Options.md) · Optional
115
108
 
116
- - [`pivot`](Pivot3Options.md#pivot) · [`Vector3Input`](Vector3Input.md) · Optional
109
+ - [`pivot`](../geometry/Pivot3Options.md#pivot) · [`Vector3Input`](../geometry/Vector3Input.md) · Optional
117
110
 
118
111
  World-space point left fixed by rotation or scaling.
119
112
 
@@ -129,17 +122,19 @@ Uniform or per-axis nonsingular scaling; negative factors reflect geometry.
129
122
 
130
123
 
131
124
 
132
- **mirror**(`normal`: [`Vector3Input`](Vector3Input.md)): `Solid`
125
+ **mirror**(`normal`: [`Vector3Input`](../geometry/Vector3Input.md)): `Solid`
133
126
 
134
127
 
135
128
 
136
- Reflection across an origin line/plane.
129
+ Reflects across a plane through the origin.
137
130
 
138
131
  #### Parameters
139
132
 
140
133
  <a id="normal"></a>
141
134
 
142
- **`normal`** · [`Vector3Input`](Vector3Input.md) · Required
135
+ **`normal`** · [`Vector3Input`](../geometry/Vector3Input.md) · Required
136
+
137
+ Nonzero XYZ plane normal; length has no effect.
143
138
 
144
139
 
145
140
 
@@ -153,17 +148,17 @@ Reflection across an origin line/plane.
153
148
 
154
149
 
155
150
 
156
- **transform**(`placement`: [`Transform3Input`](Transform3Input.md)): `Solid`
151
+ **transform**(`placement`: [`Transform3Input`](../geometry/Transform3Input.md)): `Solid`
157
152
 
158
153
 
159
154
 
160
- Applies a reusable XYZ placement or canonical row-major matrix.
155
+ Applies an XYZ frame, transform value, or canonical row-major affine matrix.
161
156
 
162
157
  #### Parameters
163
158
 
164
159
  <a id="placement"></a>
165
160
 
166
- **`placement`** · [`Transform3Input`](Transform3Input.md) · Required
161
+ **`placement`** · [`Transform3Input`](../geometry/Transform3Input.md) · Required
167
162
 
168
163
 
169
164
 
@@ -177,7 +172,7 @@ Applies a reusable XYZ placement or canonical row-major matrix.
177
172
 
178
173
 
179
174
 
180
- **toMesh**(): [`TriangleMesh`](TriangleMesh.md)
175
+ **toMesh**(): [`TriangleMesh`](../mesh/TriangleMesh.md)
181
176
 
182
177
 
183
178
 
@@ -186,7 +181,7 @@ Requires an active synchronous model execution; the returned TriangleMesh is cal
186
181
 
187
182
  #### Returns
188
183
 
189
- [`TriangleMesh`](TriangleMesh.md)
184
+ [`TriangleMesh`](../mesh/TriangleMesh.md)
190
185
 
191
186
  ***
192
187
 
@@ -208,6 +203,60 @@ Robust union with one or more solids; an empty operand array preserves this soli
208
203
 
209
204
 
210
205
 
206
+ #### Returns
207
+
208
+ `Solid`
209
+
210
+ ***
211
+
212
+ ### join()
213
+
214
+
215
+
216
+ **join**(`feature`: `Solid`, `options`: [`JoinOptions`](JoinOptions.md)): `Solid`
217
+
218
+
219
+
220
+ Fuses an already positioned feature with a smooth (default) or straight width/height transition.
221
+ The source datum belongs to the feature; neither input moves or loses material.
222
+ Requires a verified local straight collar and continuous sampled support patch.
223
+ The result has no inherited anchors. This is not a rolling-ball fillet.
224
+
225
+ #### Parameters
226
+
227
+ <a id="feature"></a>
228
+
229
+ **`feature`** · `Solid` · Required
230
+
231
+ Positioned feature that owns the source datum.
232
+
233
+
234
+
235
+ <a id="options-2"></a>
236
+
237
+ **`options`** · [`JoinOptions`](JoinOptions.md) · Required
238
+
239
+ - [`source`](JoinOptions.md#source) · `string` \| [`Anchor3`](../geometry/Anchor3-type.md) · Required
240
+
241
+ Outward feature-root datum, pointing toward the base. Names resolve lazily on the feature;
242
+ explicit anchors use the operands' shared modeling coordinates. The collar grows opposite
243
+ this direction, with its roll fixed by the anchor's up vector. Every collar section cut
244
+ by the source plane participates, including disconnected roots.
245
+
246
+ - [`transition`](JoinOptions.md#transition) · [`JoinTransition`](JoinTransition.md) · Required
247
+
248
+ Both dimensions must be positive, or both zero to validate contact and fuse without a blend.
249
+
250
+ - [`resolution`](JoinOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
251
+
252
+ Physical connection sampling. Input solids retain their own captured sampling.
253
+
254
+ - [`limits`](JoinOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
255
+
256
+ Local allocation ceilings may only lower the evaluating host's limits.
257
+
258
+
259
+
211
260
  #### Returns
212
261
 
213
262
  `Solid`
@@ -294,7 +343,7 @@ and the solid's existing native tolerance. Choose it from the detail you can aff
294
343
 
295
344
 
296
345
 
297
- **withAnchors**(`anchors`: `Readonly`\<`Record`\<`string`, [`Anchor3`](Anchor3.md)\>\>): `Solid`
346
+ **withAnchors**(`anchors`: `Readonly`\<`Record`\<`string`, [`Anchor3`](../geometry/Anchor3-type.md)\>\>): `Solid`
298
347
 
299
348
 
300
349
 
@@ -304,7 +353,7 @@ Returns a new recipe with copied named anchors; existing names may be replaced.
304
353
 
305
354
  <a id="anchors"></a>
306
355
 
307
- **`anchors`** · `Readonly`\<`Record`\<`string`, [`Anchor3`](Anchor3.md)\>\> · Required
356
+ **`anchors`** · `Readonly`\<`Record`\<`string`, [`Anchor3`](../geometry/Anchor3-type.md)\>\> · Required
308
357
 
309
358
 
310
359
 
@@ -318,7 +367,7 @@ Returns a new recipe with copied named anchors; existing names may be replaced.
318
367
 
319
368
 
320
369
 
321
- **attach**(`source`: `string` \| [`Anchor3`](Anchor3.md), `target`: [`Anchor3`](Anchor3.md), `options?`: [`AttachOptions`](AttachOptions.md)): `Solid`
370
+ **attach**(`source`: `string` \| [`Anchor3`](../geometry/Anchor3-type.md), `target`: [`Anchor3`](../geometry/Anchor3-type.md), `options?`: [`AttachOptions`](../geometry/AttachOptions.md)): `Solid`
322
371
 
323
372
 
324
373
 
@@ -328,33 +377,37 @@ Places an explicit or named source anchor against an explicit target anchor.
328
377
 
329
378
  <a id="source"></a>
330
379
 
331
- **`source`** · `string` \| [`Anchor3`](Anchor3.md) · Required
380
+ **`source`** · `string` \| [`Anchor3`](../geometry/Anchor3-type.md) · Required
381
+
382
+ Anchor on this solid, supplied directly or by name.
332
383
 
333
384
 
334
385
 
335
386
  <a id="target"></a>
336
387
 
337
- **`target`** · [`Anchor3`](Anchor3.md) · Required
388
+ **`target`** · [`Anchor3`](../geometry/Anchor3-type.md) · Required
338
389
 
390
+ Anchor in shared modeling coordinates.
339
391
 
340
392
 
341
- <a id="options-2"></a>
342
393
 
343
- **`options`** · [`AttachOptions`](AttachOptions.md) · Optional
394
+ <a id="options-3"></a>
395
+
396
+ **`options`** · [`AttachOptions`](../geometry/AttachOptions.md) · Optional
344
397
 
345
- - [`alignment`](AttachOptions.md#alignment) · `"opposed"` \| `"same"` · Optional
398
+ - [`alignment`](../geometry/AttachOptions.md#alignment) · `"opposed"` \| `"same"` · Optional
346
399
 
347
400
  Align outward directions face-to-face (`opposed`) or in parallel (`same`).
348
401
 
349
- - [`gap`](AttachOptions.md#gap) · `number` · Optional
402
+ - [`gap`](../geometry/AttachOptions.md#gap) · `number` · Optional
350
403
 
351
404
  Separation along the target anchor's outward direction in model units.
352
405
 
353
- - [`spin`](AttachOptions.md#spin) · `number` · Optional
406
+ - [`spin`](../geometry/AttachOptions.md#spin) · `number` · Optional
354
407
 
355
408
  Additional right-handed roll about the attached direction, in degrees.
356
409
 
357
- - [`tolerance`](AttachOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
410
+ - [`tolerance`](../geometry/AttachOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
358
411
 
359
412
  Optional numeric comparison overrides.
360
413
 
@@ -486,7 +539,7 @@ readonly `Solid`[]
486
539
 
487
540
 
488
541
 
489
- **anchor**(`name`: `string`): [`Anchor3`](Anchor3.md)
542
+ **anchor**(`name`: `string`): [`Anchor3`](../geometry/Anchor3-type.md)
490
543
 
491
544
 
492
545
 
@@ -502,7 +555,7 @@ Reads a copied immutable named anchor during active synchronous model execution.
502
555
 
503
556
  #### Returns
504
557
 
505
- [`Anchor3`](Anchor3.md)
558
+ [`Anchor3`](../geometry/Anchor3-type.md)
506
559
 
507
560
  ***
508
561
 
@@ -536,7 +589,7 @@ The kernel manages its search range; results follow native numeric precision.
536
589
 
537
590
 
538
591
 
539
- **castSegment**(`origin`: [`Vector3Input`](Vector3Input.md), `endpoint`: [`Vector3Input`](Vector3Input.md)): readonly [`SolidSegmentHit`](SolidSegmentHit.md)[]
592
+ **castSegment**(`origin`: [`Vector3Input`](../geometry/Vector3Input.md), `endpoint`: [`Vector3Input`](../geometry/Vector3Input.md)): readonly [`SolidSegmentHit`](SolidSegmentHit.md)[]
540
593
 
541
594
 
542
595
 
@@ -547,13 +600,17 @@ Requires active synchronous model execution.
547
600
 
548
601
  <a id="origin"></a>
549
602
 
550
- **`origin`** · [`Vector3Input`](Vector3Input.md) · Required
603
+ **`origin`** · [`Vector3Input`](../geometry/Vector3Input.md) · Required
604
+
605
+ Segment start in modeling coordinates.
551
606
 
552
607
 
553
608
 
554
609
  <a id="endpoint"></a>
555
610
 
556
- **`endpoint`** · [`Vector3Input`](Vector3Input.md) · Required
611
+ **`endpoint`** · [`Vector3Input`](../geometry/Vector3Input.md) · Required
612
+
613
+ Segment end in modeling coordinates.
557
614
 
558
615
 
559
616
 
@@ -615,20 +672,23 @@ readonly \[`Solid`, `Solid`\]
615
672
 
616
673
  ## Related APIs
617
674
 
618
- - [Anchor3](Anchor3.md)
619
- - [AttachOptions](AttachOptions.md)
620
- - [Pivot3Options](Pivot3Options.md)
675
+ - [JoinOptions](JoinOptions.md)
621
676
  - [PlaneOptions](PlaneOptions.md)
622
677
  - [Section](Section.md)
623
678
  - [SolidInspection](SolidInspection.md)
624
679
  - [SolidSegmentHit](SolidSegmentHit.md)
625
- - [Transform3Input](Transform3Input.md)
626
- - [TriangleMesh](TriangleMesh.md)
627
- - [Vector3Input](Vector3Input.md)
628
680
 
629
681
  ## Guides
630
682
 
631
- - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
632
- - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
683
+ - [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
684
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
685
+ - [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
686
+ - [Shape openings and local edges](../../guides/profiles-and-extrusion.md#shape-openings-and-local-edges)
687
+
688
+ ## Import
689
+
690
+ ```ts
691
+ import type { Solid } from "@metamesh/modeling";
692
+ ```
633
693
 
634
- Package: `@metamesh/modeling@0.18.0`.
694
+ Package: `@metamesh/modeling@0.20.0`.
@@ -20,7 +20,7 @@ Whether this native solid contains no material.
20
20
 
21
21
 
22
22
 
23
- `readonly` **bounds**: [`Bounds3Data`](Bounds3Data.md)
23
+ `readonly` **bounds**: [`Bounds3Data`](../geometry/Bounds3Data.md)
24
24
 
25
25
 
26
26
 
@@ -75,12 +75,14 @@ Total native surface area in square millimetres.
75
75
  Effective native geometric tolerance in millimetres.
76
76
 
77
77
 
78
- ## Related APIs
78
+ ## Guides
79
79
 
80
- - [Bounds3Data](Bounds3Data.md)
80
+ - [Solid inspection](../../guides/resolution-and-inspection.md#solid-inspection)
81
81
 
82
- ## Guides
82
+ ## Import
83
83
 
84
- - [Solid inspection](../../guides/recipes.md#solid-inspection)
84
+ ```ts
85
+ import type { SolidInspection } from "@metamesh/modeling";
86
+ ```
85
87
 
86
- Package: `@metamesh/modeling@0.18.0`.
88
+ Package: `@metamesh/modeling@0.20.0`.
@@ -32,7 +32,7 @@ Distance from the segment origin in millimetres.
32
32
 
33
33
 
34
34
 
35
- `readonly` **position**: [`Vector3Data`](Vector3Data.md)
35
+ `readonly` **position**: [`Vector3Data`](../geometry/Vector3Data.md)
36
36
 
37
37
 
38
38
 
@@ -44,19 +44,21 @@ Intersection position in millimetres.
44
44
 
45
45
 
46
46
 
47
- `readonly` **normal**: [`Vector3Data`](Vector3Data.md)
47
+ `readonly` **normal**: [`Vector3Data`](../geometry/Vector3Data.md)
48
48
 
49
49
 
50
50
 
51
51
  Outward unit surface normal at the intersection.
52
52
 
53
53
 
54
- ## Related APIs
54
+ ## Guides
55
55
 
56
- - [Vector3Data](Vector3Data.md)
56
+ - [Solid inspection](../../guides/resolution-and-inspection.md#solid-inspection)
57
57
 
58
- ## Guides
58
+ ## Import
59
59
 
60
- - [Solid inspection](../../guides/recipes.md#solid-inspection)
60
+ ```ts
61
+ import type { SolidSegmentHit } from "@metamesh/modeling";
62
+ ```
61
63
 
62
- Package: `@metamesh/modeling@0.18.0`.
64
+ Package: `@metamesh/modeling@0.20.0`.
@@ -2,19 +2,26 @@
2
2
 
3
3
  Exactly one radius or diameter, placement, and tessellation for an origin-centered sphere.
4
4
 
5
- **SphereOptions** = [`CircularPrimitiveOptions`](CircularPrimitiveOptions.md) & [`PrimitiveAttachment`](PrimitiveAttachment.md) & (\{ `radius`: `number`; `diameter?`: `never`; \} \| \{ `diameter`: `number`; `radius?`: `never`; \})
5
+ **SphereOptions** = [`CircularPrimitiveOptions`](../geometry/CircularPrimitiveOptions.md) & [`PrimitiveAttachment`](PrimitiveAttachment.md) & (\{ `radius`: `number`; `diameter?`: `never`; \} \| \{ `diameter`: `number`; `radius?`: `never`; \})
6
6
 
7
7
 
8
8
 
9
9
 
10
10
  ## Related APIs
11
11
 
12
- - [CircularPrimitiveOptions](CircularPrimitiveOptions.md)
13
12
  - [PrimitiveAttachment](PrimitiveAttachment.md)
14
13
 
15
14
  ## Guides
16
15
 
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)
16
+ - [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
17
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
18
+ - [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
19
+ - [Shape openings and local edges](../../guides/profiles-and-extrusion.md#shape-openings-and-local-edges)
19
20
 
20
- Package: `@metamesh/modeling@0.18.0`.
21
+ ## Import
22
+
23
+ ```ts
24
+ import type { SphereOptions } from "@metamesh/modeling";
25
+ ```
26
+
27
+ Package: `@metamesh/modeling@0.20.0`.
@@ -4,27 +4,11 @@ Alternating outer and inner vertices, centered on the XY origin.
4
4
 
5
5
  ## Extends
6
6
 
7
- - [`StarContourOptions`](StarContourOptions.md)
7
+ - [`StarContourOptions`](../geometry/StarContourOptions.md)
8
8
  - [`PrimitiveAttachment`](PrimitiveAttachment.md)
9
9
 
10
10
  ## Properties
11
11
 
12
- ### attachment?
13
-
14
-
15
-
16
- `readonly` `optional` **attachment?**: [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md)
17
-
18
-
19
-
20
- Applied after local construction; Section attachment must preserve the XY plane.
21
-
22
- #### Inherited from
23
-
24
- [`PrimitiveAttachment`](PrimitiveAttachment.md).[`attachment`](PrimitiveAttachment.md#attachment)
25
-
26
- ***
27
-
28
12
  ### outerRadius
29
13
 
30
14
 
@@ -37,7 +21,7 @@ Positive outer vertex radius in millimetres.
37
21
 
38
22
  #### Inherited from
39
23
 
40
- [`StarContourOptions`](StarContourOptions.md).[`outerRadius`](StarContourOptions.md#outerradius)
24
+ [`StarContourOptions`](../geometry/StarContourOptions.md).[`outerRadius`](../geometry/StarContourOptions.md#outerradius)
41
25
 
42
26
  ***
43
27
 
@@ -53,7 +37,7 @@ Positive inner vertex radius in millimetres, smaller than the outer radius.
53
37
 
54
38
  #### Inherited from
55
39
 
56
- [`StarContourOptions`](StarContourOptions.md).[`innerRadius`](StarContourOptions.md#innerradius)
40
+ [`StarContourOptions`](../geometry/StarContourOptions.md).[`innerRadius`](../geometry/StarContourOptions.md#innerradius)
57
41
 
58
42
  ***
59
43
 
@@ -69,7 +53,7 @@ Integer outer point count, at least three; output contains twice as many vertice
69
53
 
70
54
  #### Inherited from
71
55
 
72
- [`StarContourOptions`](StarContourOptions.md).[`points`](StarContourOptions.md#points)
56
+ [`StarContourOptions`](../geometry/StarContourOptions.md).[`points`](../geometry/StarContourOptions.md#points)
73
57
 
74
58
  ***
75
59
 
@@ -85,7 +69,7 @@ Counterclockwise rotation in degrees; defaults to zero with an outer vertex on +
85
69
 
86
70
  #### Inherited from
87
71
 
88
- [`StarContourOptions`](StarContourOptions.md).[`rotation`](StarContourOptions.md#rotation)
72
+ [`StarContourOptions`](../geometry/StarContourOptions.md).[`rotation`](../geometry/StarContourOptions.md#rotation)
89
73
 
90
74
  ***
91
75
 
@@ -93,7 +77,7 @@ Counterclockwise rotation in degrees; defaults to zero with an outer vertex on +
93
77
 
94
78
 
95
79
 
96
- `readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>
80
+ `readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\>
97
81
 
98
82
 
99
83
 
@@ -101,20 +85,40 @@ Explicit sampling ceilings, bounded by the host policy during modeling.
101
85
 
102
86
  #### Inherited from
103
87
 
104
- [`StarContourOptions`](StarContourOptions.md).[`limits`](StarContourOptions.md#limits)
88
+ [`StarContourOptions`](../geometry/StarContourOptions.md).[`limits`](../geometry/StarContourOptions.md#limits)
89
+
90
+ ***
91
+
92
+ ### attachment?
93
+
94
+
95
+
96
+ `readonly` `optional` **attachment?**: [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md)
97
+
98
+
99
+
100
+ Applied after local construction; Section attachment must preserve the XY plane.
101
+
102
+ #### Inherited from
103
+
104
+ [`PrimitiveAttachment`](PrimitiveAttachment.md).[`attachment`](PrimitiveAttachment.md#attachment)
105
105
 
106
106
 
107
107
  ## Related APIs
108
108
 
109
- - [GeometrySamplingLimits](GeometrySamplingLimits.md)
110
109
  - [PrimitiveAttachment](PrimitiveAttachment.md)
111
110
  - [PrimitiveAttachmentOptions](PrimitiveAttachmentOptions.md)
112
- - [StarContourOptions](StarContourOptions.md)
113
111
 
114
112
  ## Guides
115
113
 
116
- - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
117
- - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
118
- - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
114
+ - [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
115
+ - [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
116
+ - [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
117
+
118
+ ## Import
119
+
120
+ ```ts
121
+ import type { StarOptions } from "@metamesh/modeling";
122
+ ```
119
123
 
120
- Package: `@metamesh/modeling@0.18.0`.
124
+ Package: `@metamesh/modeling@0.20.0`.
@@ -9,8 +9,14 @@ Placement of painted SVG geometry after SVG Y-axis inversion.
9
9
 
10
10
  ## Guides
11
11
 
12
- - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
13
- - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
14
- - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
12
+ - [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
13
+ - [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
14
+ - [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
15
15
 
16
- Package: `@metamesh/modeling@0.18.0`.
16
+ ## Import
17
+
18
+ ```ts
19
+ import type { SvgOrigin } from "@metamesh/modeling";
20
+ ```
21
+
22
+ Package: `@metamesh/modeling@0.20.0`.