@metamesh/modeling 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/CHANGELOG.md +186 -0
  2. package/README.md +147 -157
  3. package/dist/api/engine.d.ts +106 -83
  4. package/dist/api/export-3mf.d.ts +2 -0
  5. package/dist/api/export-glb.d.ts +2 -0
  6. package/dist/api/export-stl.d.ts +2 -0
  7. package/dist/api/export.d.ts +160 -0
  8. package/dist/api/geometry.d.ts +250 -461
  9. package/dist/api/index.d.ts +470 -445
  10. package/dist/api/mesh.d.ts +489 -0
  11. package/dist/api/text.d.ts +1 -1
  12. package/dist/docs/guides/concepts.md +32 -495
  13. package/dist/docs/guides/fonts.md +14 -13
  14. package/dist/docs/guides/fundamentals.md +30 -29
  15. package/dist/docs/guides/generation.md +84 -64
  16. package/dist/docs/guides/geometry-values.md +193 -0
  17. package/dist/docs/guides/hosting.md +147 -48
  18. package/dist/docs/guides/profiles-and-extrusion.md +252 -0
  19. package/dist/docs/guides/recipes.md +33 -769
  20. package/dist/docs/guides/resolution-and-inspection.md +133 -0
  21. package/dist/docs/guides/solid-joins.md +126 -0
  22. package/dist/docs/guides/standalone-model.md +8 -7
  23. package/dist/docs/guides/svg-and-text.md +215 -0
  24. package/dist/docs/guides/sweeps-and-lofts.md +179 -0
  25. package/dist/docs/guides/transforms-and-placement.md +313 -0
  26. package/dist/docs/manifest.json +3224 -4430
  27. package/dist/docs/reference/engine/GenerationOptions.md +12 -5
  28. package/dist/docs/reference/engine/GeometryResource.md +19 -13
  29. package/dist/docs/reference/engine/ModelDependencies.md +9 -3
  30. package/dist/docs/reference/engine/ModelEngine.md +33 -24
  31. package/dist/docs/reference/engine/ModelEngineOptions.md +13 -2
  32. package/dist/docs/reference/engine/ModelPart.md +114 -0
  33. package/dist/docs/reference/engine/ModelResult.md +181 -0
  34. package/dist/docs/reference/engine/ModelRunArguments.md +34 -0
  35. package/dist/docs/reference/engine/ModelRunOptions.md +110 -0
  36. package/dist/docs/reference/engine/ModelSession.md +22 -16
  37. package/dist/docs/reference/engine/SessionOptions.md +21 -10
  38. package/dist/docs/reference/engine/categories/host-lifecycle.md +20 -15
  39. package/dist/docs/reference/engine/checkModel.md +49 -0
  40. package/dist/docs/reference/engine/createModelEngine.md +11 -13
  41. package/dist/docs/reference/engine/defaultModelingLimits.md +15 -2
  42. package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
  43. package/dist/docs/reference/engine.md +8 -15
  44. package/dist/docs/reference/export/Export3mfOptions.md +24 -0
  45. package/dist/docs/reference/export/ExportDiagnostic.md +59 -0
  46. package/dist/docs/reference/export/ExportFormat.md +25 -0
  47. package/dist/docs/reference/export/ExportGeometry.md +39 -0
  48. package/dist/docs/reference/export/ExportGlbOptions.md +118 -0
  49. package/dist/docs/reference/export/ExportLimits.md +83 -0
  50. package/dist/docs/reference/export/ExportMaterial.md +47 -0
  51. package/dist/docs/reference/export/ExportOptions.md +94 -0
  52. package/dist/docs/reference/export/ExportPart.md +88 -0
  53. package/dist/docs/reference/export/ExportReport.md +82 -0
  54. package/dist/docs/reference/export/ExportSink.md +39 -0
  55. package/dist/docs/reference/export/ExportStlOptions.md +24 -0
  56. package/dist/docs/reference/export/ExportedFile.md +110 -0
  57. package/dist/docs/reference/export/categories/mesh-serialization.md +47 -0
  58. package/dist/docs/reference/export/defaultExportLimits.md +20 -0
  59. package/dist/docs/reference/export/export3mf.md +64 -0
  60. package/dist/docs/reference/export/exportGlb.md +68 -0
  61. package/dist/docs/reference/export/exportStl.md +64 -0
  62. package/dist/docs/reference/export/write3mf.md +71 -0
  63. package/dist/docs/reference/export/writeGlb.md +75 -0
  64. package/dist/docs/reference/export/writeStl.md +71 -0
  65. package/dist/docs/reference/export.md +21 -0
  66. package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +16 -2
  67. package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +7 -1
  68. package/dist/docs/reference/geometry/Anchor3-type.md +13 -3
  69. package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
  70. package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
  71. package/dist/docs/reference/geometry/AttachOptions.md +13 -3
  72. package/dist/docs/reference/geometry/AxisAngleRotation3.md +9 -3
  73. package/dist/docs/reference/geometry/Bevel.md +32 -0
  74. package/dist/docs/reference/geometry/BevelSize.md +28 -0
  75. package/dist/docs/reference/geometry/Bounds2-type.md +18 -4
  76. package/dist/docs/reference/geometry/Bounds2Data.md +22 -4
  77. package/dist/docs/reference/geometry/Bounds2Input.md +18 -4
  78. package/dist/docs/reference/geometry/Bounds2Options.md +61 -11
  79. package/dist/docs/reference/geometry/Bounds3-type.md +18 -4
  80. package/dist/docs/reference/geometry/Bounds3Data.md +18 -4
  81. package/dist/docs/reference/geometry/Bounds3Input.md +18 -4
  82. package/dist/docs/reference/geometry/Bounds3Options.md +61 -11
  83. package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
  84. package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
  85. package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
  86. package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
  87. package/dist/docs/reference/geometry/BoxAnchorOptions.md +12 -6
  88. package/dist/docs/reference/geometry/BoxEdge.md +11 -1
  89. package/dist/docs/reference/geometry/BoxEdgeSelection.md +11 -1
  90. package/dist/docs/reference/geometry/BoxEdgeTreatments.md +11 -1
  91. package/dist/docs/reference/geometry/BoxOptions.md +13 -3
  92. package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +16 -2
  93. package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +16 -2
  94. package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +11 -1
  95. package/dist/docs/reference/geometry/CircleContourOptions.md +12 -2
  96. package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +15 -3
  97. package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
  98. package/dist/docs/reference/geometry/CircularSampling.md +7 -1
  99. package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
  100. package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +8 -2
  101. package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -2
  102. package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +8 -2
  103. package/dist/docs/reference/geometry/Contour.md +12 -2
  104. package/dist/docs/reference/geometry/ContourCurve.md +8 -2
  105. package/dist/docs/reference/geometry/ContourPoint.md +8 -2
  106. package/dist/docs/reference/geometry/ContourSegment.md +8 -2
  107. package/dist/docs/reference/geometry/CorrespondingComponent.md +12 -2
  108. package/dist/docs/reference/geometry/CorrespondingContour.md +12 -2
  109. package/dist/docs/reference/geometry/CorrespondingProfile.md +12 -2
  110. package/dist/docs/reference/geometry/CorrespondingProfileStation.md +12 -2
  111. package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
  112. package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
  113. package/dist/docs/reference/geometry/Curve2.md +8 -2
  114. package/dist/docs/reference/geometry/Curve3.md +8 -2
  115. package/dist/docs/reference/geometry/CurveSamplingOptions.md +16 -2
  116. package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +16 -2
  117. package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
  118. package/dist/docs/reference/geometry/CylinderAnchorOptions.md +11 -5
  119. package/dist/docs/reference/geometry/CylinderOptions.md +11 -1
  120. package/dist/docs/reference/geometry/CylindricalGearDimensions.md +8 -2
  121. package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -2
  122. package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +8 -2
  123. package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +8 -2
  124. package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +8 -2
  125. package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +8 -2
  126. package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +8 -2
  127. package/dist/docs/reference/geometry/CylindricalGearSpec.md +8 -2
  128. package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
  129. package/dist/docs/reference/geometry/EdgeTreatment.md +11 -1
  130. package/dist/docs/reference/geometry/EllipseContourOptions.md +14 -4
  131. package/dist/docs/reference/geometry/EndTreatments.md +12 -2
  132. package/dist/docs/reference/{model/ExtrudeOptions.md → geometry/ExtrudeMeshOptions.md} +30 -26
  133. package/dist/docs/reference/geometry/ExtrudeOptions.md +29 -11
  134. package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +18 -4
  135. package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
  136. package/dist/docs/reference/geometry/Frame3.md +16 -2
  137. package/dist/docs/reference/geometry/GeometryError.md +11 -1
  138. package/dist/docs/reference/geometry/GeometryErrorCode.md +11 -1
  139. package/dist/docs/reference/geometry/GeometryErrorContext.md +11 -1
  140. package/dist/docs/reference/geometry/GeometryResolution.md +15 -1
  141. package/dist/docs/reference/geometry/GeometrySamplingLimits.md +16 -2
  142. package/dist/docs/reference/geometry/GeometryToleranceOptions.md +15 -1
  143. package/dist/docs/reference/geometry/GridPatternOptions.md +12 -2
  144. package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +12 -2
  145. package/dist/docs/reference/geometry/HeightfieldOptions.md +18 -3
  146. package/dist/docs/reference/geometry/HeightfieldPreflight.md +12 -2
  147. package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +9 -3
  148. package/dist/docs/reference/geometry/ImmutableBuffer-type.md +110 -0
  149. package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +57 -0
  150. package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +63 -84
  151. package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +12 -2
  152. package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +8 -2
  153. package/dist/docs/reference/geometry/KnuckleHingeInterval.md +8 -2
  154. package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +12 -2
  155. package/dist/docs/reference/geometry/KnuckleHingeSpec.md +12 -2
  156. package/dist/docs/reference/geometry/LineCurve2.md +8 -2
  157. package/dist/docs/reference/geometry/LineCurve3.md +8 -2
  158. package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -2
  159. package/dist/docs/reference/geometry/LoftCorrespondence.md +16 -2
  160. package/dist/docs/reference/geometry/LoftMeshStation.md +12 -2
  161. package/dist/docs/reference/geometry/LoftOptions.md +18 -4
  162. package/dist/docs/reference/geometry/LoftPlacement.md +16 -2
  163. package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +8 -2
  164. package/dist/docs/reference/geometry/MatchProfilesOptions.md +12 -2
  165. package/dist/docs/reference/geometry/MetricFastenerSize.md +8 -2
  166. package/dist/docs/reference/geometry/MetricFastenerStandard.md +8 -2
  167. package/dist/docs/reference/geometry/MetricHexNutDimensions.md +8 -2
  168. package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +8 -2
  169. package/dist/docs/reference/geometry/ModelingLimits.md +19 -1
  170. package/dist/docs/reference/geometry/NumericArray.md +28 -0
  171. package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
  172. package/dist/docs/reference/geometry/Path2-type.md +16 -2
  173. package/dist/docs/reference/geometry/Path2Data.md +16 -2
  174. package/dist/docs/reference/geometry/Path2Input.md +16 -2
  175. package/dist/docs/reference/geometry/Path3-type.md +16 -2
  176. package/dist/docs/reference/geometry/Path3Data.md +16 -2
  177. package/dist/docs/reference/geometry/Path3Input.md +16 -2
  178. package/dist/docs/reference/geometry/PathFrame.md +8 -2
  179. package/dist/docs/reference/geometry/PathLocation.md +16 -2
  180. package/dist/docs/reference/geometry/PathNormalGuide.md +16 -2
  181. package/dist/docs/reference/geometry/PathOptions.md +12 -2
  182. package/dist/docs/reference/geometry/PathPatternOptions.md +12 -2
  183. package/dist/docs/reference/geometry/PathPlacement.md +8 -2
  184. package/dist/docs/reference/geometry/PathResamplingOptions.md +16 -2
  185. package/dist/docs/reference/geometry/Pivot2Options.md +17 -3
  186. package/dist/docs/reference/geometry/Pivot3Options.md +17 -3
  187. package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +12 -2
  188. package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +12 -2
  189. package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +12 -2
  190. package/dist/docs/reference/geometry/PlanarPatchQuality.md +12 -2
  191. package/dist/docs/reference/geometry/PolygonData.md +12 -2
  192. package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
  193. package/dist/docs/reference/geometry/PrimitiveAttachment.md +11 -3
  194. package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +11 -1
  195. package/dist/docs/reference/geometry/PrintableThreadFit.md +12 -2
  196. package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +12 -2
  197. package/dist/docs/reference/geometry/Profile.md +8 -2
  198. package/dist/docs/reference/geometry/ProfileComponent2.md +12 -2
  199. package/dist/docs/reference/geometry/ProfileContour2.md +12 -2
  200. package/dist/docs/reference/geometry/ProfileSpan2.md +12 -2
  201. package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +11 -1
  202. package/dist/docs/reference/geometry/RackPitchDimensions.md +8 -2
  203. package/dist/docs/reference/geometry/RackPitchSpec.md +8 -2
  204. package/dist/docs/reference/geometry/RadialPatternOptions.md +12 -2
  205. package/dist/docs/reference/geometry/RadialSizing.md +11 -1
  206. package/dist/docs/reference/geometry/RadialSizingOptions.md +11 -1
  207. package/dist/docs/reference/geometry/RectangleContourOptions.md +14 -4
  208. package/dist/docs/reference/geometry/RectangleCornerTreatment.md +12 -2
  209. package/dist/docs/reference/geometry/RectangleCornerTreatments.md +12 -2
  210. package/dist/docs/reference/geometry/RectangleProfileOptions.md +10 -4
  211. package/dist/docs/reference/geometry/RegionData.md +12 -2
  212. package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
  213. package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
  214. package/dist/docs/reference/geometry/RevolveOptions.md +17 -3
  215. package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +11 -1
  216. package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
  217. package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
  218. package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
  219. package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
  220. package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
  221. package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
  222. package/dist/docs/reference/geometry/SampledThreadHelices.md +8 -2
  223. package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
  224. package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
  225. package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
  226. package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +11 -1
  227. package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +12 -2
  228. package/dist/docs/reference/geometry/SphereOptions.md +11 -1
  229. package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +16 -2
  230. package/dist/docs/reference/geometry/StarContourOptions.md +84 -0
  231. package/dist/docs/reference/geometry/StrokeCap.md +12 -2
  232. package/dist/docs/reference/geometry/StrokeJoin.md +12 -2
  233. package/dist/docs/reference/geometry/StrokeOptions.md +12 -2
  234. package/dist/docs/reference/geometry/SvgImportOptions.md +8 -2
  235. package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
  236. package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
  237. package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
  238. package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
  239. package/dist/docs/reference/geometry/SweepOptions.md +16 -2
  240. package/dist/docs/reference/geometry/SweepOrientation.md +16 -2
  241. package/dist/docs/reference/geometry/ThreadBevelOptions.md +18 -31
  242. package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +8 -2
  243. package/dist/docs/reference/geometry/ThreadCompensationOptions.md +8 -2
  244. package/dist/docs/reference/geometry/ThreadEndStyle.md +16 -2
  245. package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +16 -2
  246. package/dist/docs/reference/geometry/ThreadHandedness.md +16 -2
  247. package/dist/docs/reference/geometry/ThreadHelixOptions.md +8 -2
  248. package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +16 -2
  249. package/dist/docs/reference/geometry/ThreadLeadInShape.md +16 -2
  250. package/dist/docs/reference/geometry/ThreadProfile-type.md +17 -3
  251. package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +16 -2
  252. package/dist/docs/reference/geometry/ThreadProfileSpec.md +16 -2
  253. package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +19 -5
  254. package/dist/docs/reference/geometry/ThreadRole.md +8 -2
  255. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +29 -66
  256. package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +17 -3
  257. package/dist/docs/reference/geometry/ThreadedNutOptions.md +86 -87
  258. package/dist/docs/reference/geometry/ThreadedNutPreflight.md +29 -7
  259. package/dist/docs/reference/geometry/ThreadedNutShape.md +12 -2
  260. package/dist/docs/reference/geometry/ThreadedRodOptions.md +63 -84
  261. package/dist/docs/reference/geometry/TorusOptions.md +11 -1
  262. package/dist/docs/reference/geometry/Transform2-type.md +17 -3
  263. package/dist/docs/reference/geometry/Transform2Data.md +17 -3
  264. package/dist/docs/reference/geometry/Transform2Input.md +17 -3
  265. package/dist/docs/reference/geometry/Transform3-type.md +17 -3
  266. package/dist/docs/reference/geometry/Transform3Data.md +17 -3
  267. package/dist/docs/reference/geometry/Transform3Input.md +17 -3
  268. package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +16 -2
  269. package/dist/docs/reference/geometry/TriangleMesh.md +19 -6
  270. package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +25 -5
  271. package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +13 -3
  272. package/dist/docs/reference/geometry/TriangleMeshInput.md +29 -0
  273. package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +16 -2
  274. package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +12 -2
  275. package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +12 -2
  276. package/dist/docs/reference/geometry/TriangleMeshSignature.md +14 -4
  277. package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +12 -2
  278. package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +12 -2
  279. package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +145 -0
  280. package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +12 -2
  281. package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +16 -2
  282. package/dist/docs/reference/geometry/TubeOptions.md +20 -86
  283. package/dist/docs/reference/geometry/Vector2-type.md +17 -3
  284. package/dist/docs/reference/geometry/Vector2Data.md +21 -3
  285. package/dist/docs/reference/geometry/Vector2Input.md +17 -3
  286. package/dist/docs/reference/geometry/Vector3-type.md +17 -3
  287. package/dist/docs/reference/geometry/Vector3Data.md +17 -3
  288. package/dist/docs/reference/geometry/Vector3Input.md +17 -3
  289. package/dist/docs/reference/geometry/VectorTextArcBaseline.md +12 -2
  290. package/dist/docs/reference/geometry/VectorTextLayout.md +16 -2
  291. package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +14 -4
  292. package/dist/docs/reference/geometry/VectorTextMetrics.md +16 -2
  293. package/dist/docs/reference/geometry/VectorTextOptions.md +12 -2
  294. package/dist/docs/reference/geometry/add2.md +9 -3
  295. package/dist/docs/reference/geometry/add3.md +9 -3
  296. package/dist/docs/reference/geometry/anchor3.md +9 -3
  297. package/dist/docs/reference/geometry/anchorFrame3.md +8 -2
  298. package/dist/docs/reference/geometry/applyTransformDirection3.md +9 -3
  299. package/dist/docs/reference/geometry/applyTransformPoint3.md +9 -3
  300. package/dist/docs/reference/geometry/attachmentTransform3.md +9 -3
  301. package/dist/docs/reference/geometry/bounds2.md +18 -8
  302. package/dist/docs/reference/geometry/bounds3.md +18 -8
  303. package/dist/docs/reference/geometry/boundsCenter.md +10 -4
  304. package/dist/docs/reference/geometry/boundsSize.md +10 -4
  305. package/dist/docs/reference/geometry/boxAnchor3.md +11 -5
  306. package/dist/docs/reference/geometry/categories/bounds-layout.md +6 -6
  307. package/dist/docs/reference/geometry/categories/curves-paths.md +3 -3
  308. package/dist/docs/reference/geometry/categories/mechanical.md +9 -11
  309. package/dist/docs/reference/geometry/categories/meshes.md +20 -33
  310. package/dist/docs/reference/geometry/categories/pattern-placement.md +3 -3
  311. package/dist/docs/reference/geometry/categories/primitive-options.md +4 -4
  312. package/dist/docs/reference/geometry/categories/profiles-regions.md +6 -5
  313. package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -3
  314. package/dist/docs/reference/geometry/categories/transforms-math.md +5 -4
  315. package/dist/docs/reference/geometry/categories/vector-import.md +4 -4
  316. package/dist/docs/reference/geometry/circleContour.md +8 -2
  317. package/dist/docs/reference/geometry/closeToAxis.md +8 -2
  318. package/dist/docs/reference/geometry/compensateThreadDiameters.md +8 -2
  319. package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +8 -2
  320. package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +8 -2
  321. package/dist/docs/reference/geometry/composeTransform3.md +9 -3
  322. package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +8 -2
  323. package/dist/docs/reference/geometry/computeParallelTransportFrames.md +8 -2
  324. package/dist/docs/reference/geometry/contourContainsPoint.md +8 -2
  325. package/dist/docs/reference/geometry/cross2.md +9 -3
  326. package/dist/docs/reference/geometry/cross3.md +9 -3
  327. package/dist/docs/reference/geometry/cylinderAnchor3.md +10 -4
  328. package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
  329. package/dist/docs/reference/geometry/distance2.md +9 -3
  330. package/dist/docs/reference/geometry/distance3.md +9 -3
  331. package/dist/docs/reference/geometry/distributeAlongPath.md +8 -2
  332. package/dist/docs/reference/geometry/dot2.md +9 -3
  333. package/dist/docs/reference/geometry/dot3.md +9 -3
  334. package/dist/docs/reference/geometry/ellipseContour.md +8 -2
  335. package/dist/docs/reference/geometry/eulerTransform3.md +9 -3
  336. package/dist/docs/reference/geometry/fitBounds.md +10 -4
  337. package/dist/docs/reference/geometry/fitTextLayout.md +8 -2
  338. package/dist/docs/reference/geometry/frameTransform3.md +9 -3
  339. package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +8 -2
  340. package/dist/docs/reference/geometry/getMetricFastenerStandard.md +8 -2
  341. package/dist/docs/reference/geometry/gridPatternTransforms.md +8 -2
  342. package/dist/docs/reference/{model → geometry}/immutableBuffer.md +13 -2
  343. package/dist/docs/reference/geometry/inverseTransform3.md +9 -3
  344. package/dist/docs/reference/geometry/isGeometryError.md +11 -1
  345. package/dist/docs/reference/geometry/layoutRow.md +10 -4
  346. package/dist/docs/reference/geometry/length2.md +9 -3
  347. package/dist/docs/reference/geometry/length3.md +9 -3
  348. package/dist/docs/reference/geometry/lerp2.md +9 -3
  349. package/dist/docs/reference/geometry/lerp3.md +9 -3
  350. package/dist/docs/reference/geometry/linearPatternTransforms.md +8 -2
  351. package/dist/docs/reference/geometry/matchProfiles.md +8 -2
  352. package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +8 -2
  353. package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +8 -2
  354. package/dist/docs/reference/geometry/normalize2.md +9 -3
  355. package/dist/docs/reference/geometry/normalize3.md +9 -3
  356. package/dist/docs/reference/geometry/normalizeContour.md +8 -2
  357. package/dist/docs/reference/geometry/normalizePolygon.md +8 -2
  358. package/dist/docs/reference/geometry/normalizeRegion.md +8 -2
  359. package/dist/docs/reference/geometry/path2.md +12 -2
  360. package/dist/docs/reference/geometry/path3.md +12 -2
  361. package/dist/docs/reference/geometry/pathPatternTransforms.md +8 -2
  362. package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +25 -26
  363. package/dist/docs/reference/geometry/preflightSvgRegion.md +8 -2
  364. package/dist/docs/reference/geometry/preflightThreadedNut.md +31 -27
  365. package/dist/docs/reference/geometry/preflightThreadedRod.md +25 -26
  366. package/dist/docs/reference/geometry/projectOntoPlane3.md +9 -3
  367. package/dist/docs/reference/geometry/radialPatternTransforms.md +8 -2
  368. package/dist/docs/reference/geometry/rectangleContour.md +17 -6
  369. package/dist/docs/reference/geometry/rectangleProfile.md +9 -3
  370. package/dist/docs/reference/geometry/regionArea.md +8 -2
  371. package/dist/docs/reference/geometry/regionBounds.md +8 -2
  372. package/dist/docs/reference/geometry/regularPolygonContour.md +9 -3
  373. package/dist/docs/reference/geometry/resamplePolyline2.md +8 -2
  374. package/dist/docs/reference/geometry/resamplePolyline3.md +8 -2
  375. package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +7 -1
  376. package/dist/docs/reference/geometry/resolveArcSegments.md +7 -1
  377. package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
  378. package/dist/docs/reference/geometry/resolveCircularSegments.md +7 -1
  379. package/dist/docs/reference/geometry/resolveCylindricalGear.md +8 -2
  380. package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +8 -2
  381. package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +8 -2
  382. package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +8 -2
  383. package/dist/docs/reference/geometry/resolveGeometryTolerance.md +7 -1
  384. package/dist/docs/reference/geometry/resolveKnuckleHinge.md +8 -2
  385. package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +8 -2
  386. package/dist/docs/reference/geometry/resolveRackPitch.md +8 -2
  387. package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +8 -2
  388. package/dist/docs/reference/geometry/rotate2.md +9 -3
  389. package/dist/docs/reference/geometry/rotationTransform3.md +9 -3
  390. package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -2
  391. package/dist/docs/reference/geometry/sampleContour.md +8 -2
  392. package/dist/docs/reference/geometry/sampleCurve2.md +8 -2
  393. package/dist/docs/reference/geometry/sampleCurve3.md +8 -2
  394. package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +8 -2
  395. package/dist/docs/reference/geometry/sampleHelix.md +8 -2
  396. package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +8 -2
  397. package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -2
  398. package/dist/docs/reference/geometry/sampleSideProfile.md +8 -2
  399. package/dist/docs/reference/geometry/sampleTextContours.md +8 -2
  400. package/dist/docs/reference/geometry/sampleThreadHelices.md +8 -2
  401. package/dist/docs/reference/geometry/scale2.md +9 -3
  402. package/dist/docs/reference/geometry/scale3.md +9 -3
  403. package/dist/docs/reference/geometry/scaleTransform3.md +9 -3
  404. package/dist/docs/reference/geometry/signedContourArea.md +8 -2
  405. package/dist/docs/reference/geometry/starContour.md +24 -16
  406. package/dist/docs/reference/geometry/strokeRegionData.md +8 -2
  407. package/dist/docs/reference/geometry/subtract2.md +9 -3
  408. package/dist/docs/reference/geometry/subtract3.md +9 -3
  409. package/dist/docs/reference/geometry/threadProfile.md +8 -2
  410. package/dist/docs/reference/geometry/transform2.md +13 -3
  411. package/dist/docs/reference/geometry/transform3.md +13 -3
  412. package/dist/docs/reference/geometry/transformDeterminant3.md +9 -3
  413. package/dist/docs/reference/geometry/transformRegionData.md +8 -2
  414. package/dist/docs/reference/geometry/translationTransform3.md +9 -3
  415. package/dist/docs/reference/geometry/triangulateContour.md +8 -2
  416. package/dist/docs/reference/geometry/validateRigidTransform3.md +41 -0
  417. package/dist/docs/reference/geometry/validateTransform3.md +9 -3
  418. package/dist/docs/reference/geometry/vector2.md +13 -3
  419. package/dist/docs/reference/geometry/vector3.md +13 -3
  420. package/dist/docs/reference/geometry.md +10 -10
  421. package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
  422. package/dist/docs/reference/mesh/RenderMesh.md +68 -0
  423. package/dist/docs/reference/mesh/analyze.md +102 -0
  424. package/dist/docs/reference/mesh/analyzeQuality.md +62 -0
  425. package/dist/docs/reference/mesh/bounds.md +45 -0
  426. package/dist/docs/reference/mesh/categories/operations.md +57 -0
  427. package/dist/docs/reference/mesh/centroid.md +45 -0
  428. package/dist/docs/reference/mesh/extrude.md +79 -0
  429. package/dist/docs/reference/mesh/heightfield.md +57 -0
  430. package/dist/docs/reference/mesh/immutable.md +51 -0
  431. package/dist/docs/reference/mesh/join.md +47 -0
  432. package/dist/docs/reference/mesh/loft.md +83 -0
  433. package/dist/docs/reference/mesh/optimizePlanarPatches.md +102 -0
  434. package/dist/docs/reference/mesh/preflightHeightfield.md +48 -0
  435. package/dist/docs/reference/mesh/preflightThreadSolid.md +96 -0
  436. package/dist/docs/reference/mesh/render.md +57 -0
  437. package/dist/docs/reference/mesh/reverse.md +41 -0
  438. package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +23 -17
  439. package/dist/docs/reference/mesh/signature.md +70 -0
  440. package/dist/docs/reference/mesh/sweep.md +92 -0
  441. package/dist/docs/reference/mesh/threadRidge.md +78 -0
  442. package/dist/docs/reference/mesh/threadSolid.md +96 -0
  443. package/dist/docs/reference/mesh/transform.md +53 -0
  444. package/dist/docs/reference/mesh/validate.md +75 -0
  445. package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +23 -11
  446. package/dist/docs/reference/mesh.md +21 -0
  447. package/dist/docs/reference/model/CircleOptions.md +13 -7
  448. package/dist/docs/reference/model/DiagnosticOptions.md +21 -1
  449. package/dist/docs/reference/model/EllipseOptions.md +13 -7
  450. package/dist/docs/reference/model/GenerateCallback.md +11 -5
  451. package/dist/docs/reference/model/GenerateContext.md +26 -99
  452. package/dist/docs/reference/model/GenerationDiagnostic.md +19 -1
  453. package/dist/docs/reference/model/GenerationError.md +8 -2
  454. package/dist/docs/reference/model/HoleCutterOptions.md +17 -10
  455. package/dist/docs/reference/model/HoleCutterOverrun.md +10 -3
  456. package/dist/docs/reference/model/HoleCutterRecess.md +10 -3
  457. package/dist/docs/reference/model/HullOptions.md +13 -6
  458. package/dist/docs/reference/model/ImmutableValue.md +26 -0
  459. package/dist/docs/reference/model/ImplicitOptions.md +12 -6
  460. package/dist/docs/reference/model/JoinOptions.md +76 -0
  461. package/dist/docs/reference/model/JoinTransition.md +54 -0
  462. package/dist/docs/reference/model/KnuckleHinge-type.md +9 -3
  463. package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
  464. package/dist/docs/reference/model/KnuckleHingeOptions.md +10 -4
  465. package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
  466. package/dist/docs/reference/model/LoftStation.md +16 -9
  467. package/dist/docs/reference/model/Memo.md +54 -0
  468. package/dist/docs/reference/model/ModelProgram.md +8 -2
  469. package/dist/docs/reference/model/PartDeclaration.md +87 -0
  470. package/dist/docs/reference/model/PartGeometry.md +10 -4
  471. package/dist/docs/reference/model/PartOptions.md +16 -22
  472. package/dist/docs/reference/model/PatternSource.md +10 -4
  473. package/dist/docs/reference/model/PlaneOptions.md +11 -4
  474. package/dist/docs/reference/model/PolygonOptions.md +20 -14
  475. package/dist/docs/reference/model/Profile.md +10 -4
  476. package/dist/docs/reference/model/RectangleOptions.md +28 -22
  477. package/dist/docs/reference/model/RegularPolygonOptions.md +13 -7
  478. package/dist/docs/reference/model/Section.md +196 -77
  479. package/dist/docs/reference/model/SectionHullOptions.md +13 -6
  480. package/dist/docs/reference/model/SectionInspection.md +12 -18
  481. package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
  482. package/dist/docs/reference/model/SectionOffsetOptions.md +12 -6
  483. package/dist/docs/reference/model/Solid.md +339 -54
  484. package/dist/docs/reference/model/SolidInspection.md +12 -18
  485. package/dist/docs/reference/model/SolidSegmentHit.md +14 -4
  486. package/dist/docs/reference/model/StarOptions.md +53 -25
  487. package/dist/docs/reference/model/SvgOrigin.md +10 -4
  488. package/dist/docs/reference/model/SvgPathSectionOptions.md +14 -8
  489. package/dist/docs/reference/model/SvgSectionOptions.md +16 -10
  490. package/dist/docs/reference/model/TextSectionOptions.md +14 -8
  491. package/dist/docs/reference/model/box.md +18 -11
  492. package/dist/docs/reference/model/categories/boolean-operations.md +13 -11
  493. package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -7
  494. package/dist/docs/reference/model/categories/explicit-profiles.md +1 -14
  495. package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +11 -23
  496. package/dist/docs/reference/model/categories/generation.md +10 -15
  497. package/dist/docs/reference/model/categories/hinges.md +1 -4
  498. package/dist/docs/reference/model/categories/mesh-inspection.md +14 -9
  499. package/dist/docs/reference/model/categories/primitives.md +8 -24
  500. package/dist/docs/reference/model/categories/sections.md +6 -16
  501. package/dist/docs/reference/model/categories/threads.md +3 -30
  502. package/dist/docs/reference/model/categories/transforms-placement.md +5 -35
  503. package/dist/docs/reference/model/circle.md +10 -4
  504. package/dist/docs/reference/model/cylinder.md +13 -6
  505. package/dist/docs/reference/model/ellipse.md +10 -4
  506. package/dist/docs/reference/model/extrude.md +28 -20
  507. package/dist/docs/reference/model/generate.md +10 -4
  508. package/dist/docs/reference/model/gridPattern.md +15 -9
  509. package/dist/docs/reference/model/heightfield.md +10 -4
  510. package/dist/docs/reference/model/holeCutter.md +21 -4
  511. package/dist/docs/reference/model/hull.md +9 -2
  512. package/dist/docs/reference/model/implicit.md +9 -3
  513. package/dist/docs/reference/model/internalThreadCutter.md +31 -33
  514. package/dist/docs/reference/model/intersect.md +11 -4
  515. package/dist/docs/reference/model/join.md +89 -0
  516. package/dist/docs/reference/model/knuckleHinge.md +8 -2
  517. package/dist/docs/reference/model/linearPattern.md +15 -9
  518. package/dist/docs/reference/model/loft.md +36 -28
  519. package/dist/docs/reference/model/matchProfiles.md +14 -8
  520. package/dist/docs/reference/model/minkowskiSum.md +9 -2
  521. package/dist/docs/reference/model/pathPattern.md +25 -19
  522. package/dist/docs/reference/model/polygon.md +13 -7
  523. package/dist/docs/reference/model/preflightInternalThreadCutter.md +33 -35
  524. package/dist/docs/reference/model/preflightThreadedNut.md +43 -40
  525. package/dist/docs/reference/model/preflightThreadedRod.md +33 -35
  526. package/dist/docs/reference/model/radialPattern.md +15 -9
  527. package/dist/docs/reference/model/rectangle.md +14 -8
  528. package/dist/docs/reference/model/regularPolygon.md +10 -4
  529. package/dist/docs/reference/model/revolve.md +25 -17
  530. package/dist/docs/reference/model/solidFromMesh.md +16 -9
  531. package/dist/docs/reference/model/sphere.md +13 -6
  532. package/dist/docs/reference/model/star.md +17 -11
  533. package/dist/docs/reference/model/stroke.md +21 -15
  534. package/dist/docs/reference/model/svgPathSection.md +12 -6
  535. package/dist/docs/reference/model/svgSection.md +13 -7
  536. package/dist/docs/reference/model/sweep.md +29 -21
  537. package/dist/docs/reference/model/textSection.md +15 -9
  538. package/dist/docs/reference/model/threadRidge.md +21 -15
  539. package/dist/docs/reference/model/threadedNut.md +41 -38
  540. package/dist/docs/reference/model/threadedRod.md +31 -33
  541. package/dist/docs/reference/model/torus.md +20 -13
  542. package/dist/docs/reference/model/tube.md +13 -41
  543. package/dist/docs/reference/model/union.md +11 -4
  544. package/dist/docs/reference/model.md +11 -20
  545. package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +8 -2
  546. package/dist/docs/reference/text/VectorFont.md +39 -33
  547. package/dist/docs/reference/text/VectorFontOptions.md +7 -1
  548. package/dist/docs/reference/text/categories/font-preparation.md +3 -15
  549. package/dist/docs/reference/text/prepareVectorFont.md +7 -1
  550. package/dist/docs/reference/text.md +4 -4
  551. package/dist/engine/execution.js +10 -6
  552. package/dist/engine/finalization.js +2 -74
  553. package/dist/engine/index.js +24 -30
  554. package/dist/engine/model-parts.js +8 -0
  555. package/dist/engine/model-summary.js +5 -5
  556. package/dist/engine/native/construction-mesh.js +41 -0
  557. package/dist/engine/native/index.js +1 -1
  558. package/dist/engine/native/material-components.js +5 -54
  559. package/dist/engine/native/mesh-observation.js +55 -0
  560. package/dist/engine/native/operations.js +0 -7
  561. package/dist/engine/native/regions.js +2 -1
  562. package/dist/engine/native/scoped-primitives.js +5 -4
  563. package/dist/engine/native/threads.js +14 -14
  564. package/dist/engine/{construction-operations.js → operations/construction.js} +25 -23
  565. package/dist/engine/{modeling-context.js → operations/context.js} +12 -10
  566. package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
  567. package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +23 -22
  568. package/dist/engine/{hole-cutter-operation.js → operations/hole-cutter.js} +3 -3
  569. package/dist/engine/{inspection-operations.js → operations/inspection.js} +6 -6
  570. package/dist/engine/operations/join-collar-profile.js +120 -0
  571. package/dist/engine/operations/join.js +508 -0
  572. package/dist/engine/{knuckle-hinge-operation.js → operations/knuckle-hinge.js} +4 -4
  573. package/dist/engine/{loft-operations.js → operations/loft.js} +13 -12
  574. package/dist/engine/{mechanical-operations.js → operations/mechanical.js} +2 -2
  575. package/dist/engine/{pattern-operations.js → operations/patterns.js} +4 -4
  576. package/dist/engine/{primitive-anchors.js → operations/primitives/anchors.js} +9 -4
  577. package/dist/engine/{primitive-operations.js → operations/primitives/construction.js} +18 -19
  578. package/dist/engine/{primitive-correspondence.js → operations/primitives/correspondence.js} +4 -4
  579. package/dist/engine/{profile-mesh.js → operations/primitives/profile-mesh.js} +12 -12
  580. package/dist/engine/{primitive-profiles.js → operations/primitives/profiles.js} +7 -7
  581. package/dist/engine/{section-operations.js → operations/sections.js} +8 -8
  582. package/dist/engine/{transform-operations.js → operations/transforms.js} +8 -8
  583. package/dist/engine/placement.js +3 -4
  584. package/dist/engine/recipe-realization.js +2 -2
  585. package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
  586. package/dist/engine/session/dependencies.js +93 -0
  587. package/dist/engine/session/graph.js +428 -0
  588. package/dist/engine/{session-native.js → session/native-cache.js} +2 -2
  589. package/dist/engine/{session.js → session/session.js} +20 -14
  590. package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +30 -60
  591. package/dist/export/3mf.js +190 -0
  592. package/dist/export/capture.js +178 -0
  593. package/dist/export/glb.js +209 -0
  594. package/dist/export/index.js +5 -0
  595. package/dist/export/limits.js +18 -0
  596. package/dist/export/stl.js +105 -0
  597. package/dist/export/types.js +1 -0
  598. package/dist/export/writer.js +54 -0
  599. package/dist/geometry/anchors.js +4 -11
  600. package/dist/geometry/bounds-value.js +22 -12
  601. package/dist/geometry/heightfield.js +10 -12
  602. package/dist/{model → geometry}/immutable-buffer.js +31 -12
  603. package/dist/geometry/index.js +16 -22
  604. package/dist/geometry/join-geometry.js +839 -0
  605. package/dist/geometry/loft/loft.js +11 -6
  606. package/dist/geometry/mechanical/index.js +5 -5
  607. package/dist/geometry/mechanical/threads/bevel.js +24 -0
  608. package/dist/geometry/mechanical/{threads.js → threads/fit.js} +4 -4
  609. package/dist/geometry/mechanical/{thread-helices.js → threads/helices.js} +3 -3
  610. package/dist/geometry/mechanical/{thread-mesh-plan.js → threads/mesh-plan.js} +38 -53
  611. package/dist/geometry/mechanical/{thread-mesh.js → threads/mesh.js} +9 -9
  612. package/dist/geometry/mechanical/{thread-profiles.js → threads/profiles.js} +3 -3
  613. package/dist/geometry/mechanical/{thread-solids.js → threads/solids.js} +58 -89
  614. package/dist/geometry/mechanical/{thread-surface.js → threads/surface.js} +7 -8
  615. package/dist/geometry/mesh/mesh-centroid.js +3 -2
  616. package/dist/geometry/mesh/mesh-planar.js +27 -8
  617. package/dist/geometry/mesh/mesh-quality.js +2 -1
  618. package/dist/geometry/mesh/mesh-render.js +205 -0
  619. package/dist/geometry/mesh/mesh-signature.js +7 -6
  620. package/dist/geometry/mesh/mesh-solid-intersections.js +43 -17
  621. package/dist/geometry/mesh/mesh-solid.js +8 -5
  622. package/dist/geometry/mesh/mesh-types.js +1 -0
  623. package/dist/geometry/mesh/mesh.js +13 -22
  624. package/dist/geometry/mesh-api.js +15 -0
  625. package/dist/geometry/primitive-resolvers.js +42 -14
  626. package/dist/geometry/profiles/primitives/circle.js +19 -0
  627. package/dist/geometry/profiles/{shapes.js → primitives/ellipse.js} +6 -10
  628. package/dist/geometry/profiles/{rectangle.js → primitives/rectangle.js} +14 -12
  629. package/dist/geometry/profiles/primitives/regular-polygon.js +33 -0
  630. package/dist/geometry/profiles/primitives/star.js +28 -0
  631. package/dist/geometry/region-offset.js +278 -0
  632. package/dist/geometry/regions.js +11 -1
  633. package/dist/geometry/revolve/revolve-mesh.js +1 -1
  634. package/dist/geometry/{svg-import.js → svg/import.js} +10 -10
  635. package/dist/geometry/sweeps/sweep-mesh.js +1 -1
  636. package/dist/geometry/transform3.js +29 -0
  637. package/dist/index.js +2 -1
  638. package/dist/model/diagnostic-path.js +26 -0
  639. package/dist/model/execution-binding.js +3 -3
  640. package/dist/model/generation.js +9 -3
  641. package/dist/model/geometry-recipes.js +1 -1
  642. package/dist/model/immutable-generation-data.js +45 -14
  643. package/dist/model/join.js +1 -0
  644. package/dist/model/operations.js +34 -144
  645. package/dist/model/recipe-declaration.js +7 -2
  646. package/dist/model/shape-handles.js +31 -7
  647. package/dist/text/index.js +1 -1
  648. package/package.json +38 -11
  649. package/dist/docs/reference/engine/Export3mfOptions.md +0 -29
  650. package/dist/docs/reference/engine/ExportMeshPart.md +0 -65
  651. package/dist/docs/reference/engine/ModelSnapshot.md +0 -184
  652. package/dist/docs/reference/engine/SnapshotPart.md +0 -133
  653. package/dist/docs/reference/engine/validateModel.md +0 -48
  654. package/dist/docs/reference/geometry/ThreadedNutBevel.md +0 -14
  655. package/dist/docs/reference/geometry/analyzeTriangleMesh.md +0 -61
  656. package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +0 -56
  657. package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +0 -39
  658. package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +0 -64
  659. package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
  660. package/dist/docs/reference/geometry/heightfieldMesh.md +0 -52
  661. package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
  662. package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
  663. package/dist/docs/reference/geometry/joinTriangleMeshes.md +0 -40
  664. package/dist/docs/reference/geometry/loftMesh.md +0 -77
  665. package/dist/docs/reference/geometry/meshBounds.md +0 -39
  666. package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
  667. package/dist/docs/reference/geometry/preflightHeightfield.md +0 -43
  668. package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
  669. package/dist/docs/reference/geometry/reverseTriangleMesh.md +0 -34
  670. package/dist/docs/reference/geometry/sweepMesh.md +0 -86
  671. package/dist/docs/reference/geometry/transformTriangleMesh.md +0 -46
  672. package/dist/docs/reference/geometry/validateTriangleMesh.md +0 -63
  673. package/dist/docs/reference/model/Anchor3.md +0 -55
  674. package/dist/docs/reference/model/AttachOptions.md +0 -69
  675. package/dist/docs/reference/model/Bounds2-type.md +0 -125
  676. package/dist/docs/reference/model/Bounds2Data.md +0 -44
  677. package/dist/docs/reference/model/Bounds2Input.md +0 -19
  678. package/dist/docs/reference/model/Bounds2Options.md +0 -70
  679. package/dist/docs/reference/model/Bounds3-type.md +0 -125
  680. package/dist/docs/reference/model/Bounds3Data.md +0 -44
  681. package/dist/docs/reference/model/Bounds3Input.md +0 -19
  682. package/dist/docs/reference/model/Bounds3Options.md +0 -70
  683. package/dist/docs/reference/model/BoxEdge.md +0 -15
  684. package/dist/docs/reference/model/BoxEdgeSelection.md +0 -19
  685. package/dist/docs/reference/model/BoxEdgeTreatments.md +0 -20
  686. package/dist/docs/reference/model/BoxOptions.md +0 -92
  687. package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
  688. package/dist/docs/reference/model/CircleContourOptions.md +0 -21
  689. package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -64
  690. package/dist/docs/reference/model/Computed.md +0 -40
  691. package/dist/docs/reference/model/ComputedValue.md +0 -24
  692. package/dist/docs/reference/model/Contour.md +0 -24
  693. package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
  694. package/dist/docs/reference/model/CorrespondingContour.md +0 -46
  695. package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
  696. package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
  697. package/dist/docs/reference/model/CylinderOptions.md +0 -58
  698. package/dist/docs/reference/model/EdgeTreatment.md +0 -22
  699. package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
  700. package/dist/docs/reference/model/EndTreatments.md +0 -39
  701. package/dist/docs/reference/model/FinalizedModel.md +0 -131
  702. package/dist/docs/reference/model/FinalizedPart.md +0 -87
  703. package/dist/docs/reference/model/Frame3.md +0 -63
  704. package/dist/docs/reference/model/GeneratedPart.md +0 -97
  705. package/dist/docs/reference/model/GeometryResolution.md +0 -70
  706. package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
  707. package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
  708. package/dist/docs/reference/model/GridPatternOptions.md +0 -50
  709. package/dist/docs/reference/model/HeightfieldOptions.md +0 -67
  710. package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +0 -141
  711. package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +0 -59
  712. package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -84
  713. package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -38
  714. package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -246
  715. package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
  716. package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
  717. package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
  718. package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
  719. package/dist/docs/reference/model/LoftCorrespondence.md +0 -27
  720. package/dist/docs/reference/model/LoftOptions.md +0 -91
  721. package/dist/docs/reference/model/LoftPlacement.md +0 -73
  722. package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
  723. package/dist/docs/reference/model/ModelingLimits.md +0 -126
  724. package/dist/docs/reference/model/NumericArray.md +0 -14
  725. package/dist/docs/reference/model/Path2-type.md +0 -196
  726. package/dist/docs/reference/model/Path2Data.md +0 -50
  727. package/dist/docs/reference/model/Path2Input.md +0 -20
  728. package/dist/docs/reference/model/Path3-type.md +0 -196
  729. package/dist/docs/reference/model/Path3Data.md +0 -50
  730. package/dist/docs/reference/model/Path3Input.md +0 -20
  731. package/dist/docs/reference/model/PathLocation.md +0 -69
  732. package/dist/docs/reference/model/PathNormalGuide.md +0 -46
  733. package/dist/docs/reference/model/PathOptions.md +0 -38
  734. package/dist/docs/reference/model/PathPatternOptions.md +0 -48
  735. package/dist/docs/reference/model/PathResamplingOptions.md +0 -83
  736. package/dist/docs/reference/model/Pivot2Options.md +0 -28
  737. package/dist/docs/reference/model/Pivot3Options.md +0 -28
  738. package/dist/docs/reference/model/PolygonData.md +0 -44
  739. package/dist/docs/reference/model/PrimitiveAttachment.md +0 -41
  740. package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +0 -110
  741. package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
  742. package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
  743. package/dist/docs/reference/model/ProfileComponent2.md +0 -46
  744. package/dist/docs/reference/model/ProfileContour2.md +0 -36
  745. package/dist/docs/reference/model/ProfileSpan2.md +0 -47
  746. package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
  747. package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
  748. package/dist/docs/reference/model/RadialSizing.md +0 -15
  749. package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
  750. package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
  751. package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
  752. package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
  753. package/dist/docs/reference/model/RegionData.md +0 -19
  754. package/dist/docs/reference/model/RevolveOptions.md +0 -94
  755. package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
  756. package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
  757. package/dist/docs/reference/model/SphereOptions.md +0 -20
  758. package/dist/docs/reference/model/StrokeCap.md +0 -16
  759. package/dist/docs/reference/model/StrokeJoin.md +0 -16
  760. package/dist/docs/reference/model/StrokeOptions.md +0 -91
  761. package/dist/docs/reference/model/SweepOptions.md +0 -116
  762. package/dist/docs/reference/model/SweepOrientation.md +0 -116
  763. package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
  764. package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
  765. package/dist/docs/reference/model/ThreadHandedness.md +0 -15
  766. package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
  767. package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
  768. package/dist/docs/reference/model/ThreadProfile.md +0 -87
  769. package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -19
  770. package/dist/docs/reference/model/ThreadedNutBevel.md +0 -15
  771. package/dist/docs/reference/model/ThreadedNutOptions.md +0 -274
  772. package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -99
  773. package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
  774. package/dist/docs/reference/model/ThreadedRodOptions.md +0 -246
  775. package/dist/docs/reference/model/TorusOptions.md +0 -110
  776. package/dist/docs/reference/model/Transform2-type.md +0 -257
  777. package/dist/docs/reference/model/Transform2Data.md +0 -16
  778. package/dist/docs/reference/model/Transform2Input.md +0 -21
  779. package/dist/docs/reference/model/Transform3-type.md +0 -297
  780. package/dist/docs/reference/model/Transform3Data.md +0 -19
  781. package/dist/docs/reference/model/Transform3Input.md +0 -21
  782. package/dist/docs/reference/model/TriangleMesh.md +0 -42
  783. package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -123
  784. package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
  785. package/dist/docs/reference/model/TubeOptions.md +0 -143
  786. package/dist/docs/reference/model/Vector2-type.md +0 -271
  787. package/dist/docs/reference/model/Vector2Data.md +0 -15
  788. package/dist/docs/reference/model/Vector2Input.md +0 -21
  789. package/dist/docs/reference/model/Vector3-type.md +0 -283
  790. package/dist/docs/reference/model/Vector3Data.md +0 -15
  791. package/dist/docs/reference/model/Vector3Input.md +0 -21
  792. package/dist/docs/reference/model/VectorTextLayout.md +0 -40
  793. package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
  794. package/dist/docs/reference/model/anchor.md +0 -47
  795. package/dist/docs/reference/model/bounds2.md +0 -37
  796. package/dist/docs/reference/model/bounds3.md +0 -37
  797. package/dist/docs/reference/model/castSegment.md +0 -40
  798. package/dist/docs/reference/model/categories/bounds.md +0 -38
  799. package/dist/docs/reference/model/categories/contracts.md +0 -18
  800. package/dist/docs/reference/model/categories/core-values-errors.md +0 -30
  801. package/dist/docs/reference/model/categories/inspection.md +0 -29
  802. package/dist/docs/reference/model/categories/paths.md +0 -41
  803. package/dist/docs/reference/model/categories/resolution.md +0 -20
  804. package/dist/docs/reference/model/components.md +0 -71
  805. package/dist/docs/reference/model/compose.md +0 -31
  806. package/dist/docs/reference/model/distance.md +0 -45
  807. package/dist/docs/reference/model/immutableMesh.md +0 -44
  808. package/dist/docs/reference/model/inspectSection.md +0 -38
  809. package/dist/docs/reference/model/inspectSolid.md +0 -38
  810. package/dist/docs/reference/model/isEmpty.md +0 -39
  811. package/dist/docs/reference/model/path2.md +0 -54
  812. package/dist/docs/reference/model/path3.md +0 -49
  813. package/dist/docs/reference/model/split.md +0 -54
  814. package/dist/docs/reference/model/splitByPlane.md +0 -66
  815. package/dist/docs/reference/model/transform2.md +0 -46
  816. package/dist/docs/reference/model/transform3.md +0 -48
  817. package/dist/docs/reference/model/vector2.md +0 -40
  818. package/dist/docs/reference/model/vector3.md +0 -47
  819. package/dist/docs/reference/text/Bounds2Data.md +0 -34
  820. package/dist/docs/reference/text/Vector2Data.md +0 -7
  821. package/dist/docs/reference/text/VectorTextArcBaseline.md +0 -53
  822. package/dist/docs/reference/text/VectorTextLayout.md +0 -34
  823. package/dist/docs/reference/text/VectorTextLayoutOptions.md +0 -111
  824. package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
  825. package/dist/docs/reference/text/VectorTextOptions.md +0 -50
  826. package/dist/engine/export-3mf.js +0 -116
  827. package/dist/engine/model-dependencies.js +0 -46
  828. package/dist/engine/session-graph.js +0 -449
  829. package/dist/geometry/profiles/profiles.js +0 -71
  830. /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
  831. /package/dist/{engine → geometry/mesh}/mesh-view-cache.js +0 -0
  832. /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
@@ -0,0 +1,75 @@
1
+ # validate
2
+
3
+ Validates mesh buffers, indices, triangle area, and optionally closed topology.
4
+
5
+ **validate**\<`T` *extends* [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)\>(`mesh`: `T`, `options?`: [`TriangleMeshValidationOptions`](../geometry/TriangleMeshValidationOptions.md)): `T`
6
+
7
+
8
+
9
+ Closed validation requires exactly two oppositely directed uses per edge, rejecting boundary
10
+ and non-manifold edges. It establishes edge connectivity without detecting geometric
11
+ self-intersections between faces. The mesh is neither mutated nor copied.
12
+
13
+ ## Type Parameters
14
+
15
+ ### T
16
+
17
+ `T` *extends* [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)
18
+
19
+ ## Parameters
20
+
21
+ <a id="mesh"></a>
22
+
23
+ **`mesh`** · `T` · Required
24
+
25
+ Mesh to inspect.
26
+
27
+
28
+
29
+ <a id="options"></a>
30
+
31
+ **`options`** · [`TriangleMeshValidationOptions`](../geometry/TriangleMeshValidationOptions.md) · Optional
32
+
33
+ Empty-mesh, topology, and tolerance policy.
34
+
35
+ - [`allowEmpty`](../geometry/TriangleMeshValidationOptions.md#allowempty) · `boolean` · Optional
36
+
37
+ Permit an empty position and index buffer. Defaults to `false`.
38
+
39
+ - [`requireClosed`](../geometry/TriangleMeshValidationOptions.md#requireclosed) · `boolean` · Optional
40
+
41
+ Require two oppositely wound faces per edge; geometric self-intersections are not detected.
42
+
43
+ - [`tolerance`](../geometry/TriangleMeshValidationOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
44
+
45
+ Numeric comparison overrides used for zero-area triangle detection.
46
+
47
+
48
+
49
+ ## Returns
50
+
51
+ `T`
52
+
53
+ The original mesh after successful validation.
54
+
55
+
56
+ ## Throws
57
+
58
+ - `GeometryError` When any requested invariant fails.
59
+
60
+ ## Related APIs
61
+
62
+ - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
63
+ - [TriangleMeshValidationOptions](../geometry/TriangleMeshValidationOptions.md)
64
+
65
+ ## Guides
66
+
67
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
68
+
69
+ ## Supported imports
70
+
71
+ ```ts
72
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
73
+ ```
74
+
75
+ Package: `@metamesh/modeling@0.19.0`.
@@ -1,8 +1,8 @@
1
- # validateSolidMesh
1
+ # validateSolid
2
2
 
3
3
  Checks closed indexed topology, triangle intersections, and alternating nested shell orientation.
4
4
 
5
- **validateSolidMesh**(`mesh`: [`TriangleMesh`](TriangleMesh.md), `options?`: [`SolidMeshValidationOptions`](SolidMeshValidationOptions.md)): [`TriangleMesh`](TriangleMesh.md)
5
+ **validateSolid**\<`T` *extends* [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)\>(`mesh`: `T`, `options?`: [`SolidMeshValidationOptions`](../geometry/SolidMeshValidationOptions.md)): `T`
6
6
 
7
7
 
8
8
 
@@ -14,11 +14,17 @@ tolerance reject conservatively. At most 200,000 triangles and 2,000,000 spatial
14
14
  are supported; exhausting a ceiling throws COMPLEXITY_LIMIT rather than claiming validity.
15
15
  Input buffers are freshly inspected and never modified; units are millimetres.
16
16
 
17
+ ## Type Parameters
18
+
19
+ ### T
20
+
21
+ `T` *extends* [`TriangleMeshInput`](../geometry/TriangleMeshInput.md)
22
+
17
23
  ## Parameters
18
24
 
19
25
  <a id="mesh"></a>
20
26
 
21
- **`mesh`** · [`TriangleMesh`](TriangleMesh.md) · Required
27
+ **`mesh`** · `T` · Required
22
28
 
23
29
  Closed triangle mesh to inspect.
24
30
 
@@ -26,15 +32,15 @@ Closed triangle mesh to inspect.
26
32
 
27
33
  <a id="options"></a>
28
34
 
29
- **`options`** · [`SolidMeshValidationOptions`](SolidMeshValidationOptions.md) · Optional
35
+ **`options`** · [`SolidMeshValidationOptions`](../geometry/SolidMeshValidationOptions.md) · Optional
30
36
 
31
37
  Optional lower work ceiling and numeric comparison policy.
32
38
 
33
- - [`maxTests`](SolidMeshValidationOptions.md#maxtests) · `number` · Optional
39
+ - [`maxTests`](../geometry/SolidMeshValidationOptions.md#maxtests) · `number` · Optional
34
40
 
35
41
  Work ceiling for spatial comparisons and containment tests; defaults to 2,000,000 and may only lower it.
36
42
 
37
- - [`tolerance`](SolidMeshValidationOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
43
+ - [`tolerance`](../geometry/SolidMeshValidationOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
38
44
 
39
45
  Distance comparison policy in millimetres; near contacts reject conservatively.
40
46
 
@@ -42,18 +48,24 @@ Optional lower work ceiling and numeric comparison policy.
42
48
 
43
49
  ## Returns
44
50
 
45
- [`TriangleMesh`](TriangleMesh.md)
51
+ `T`
46
52
 
47
53
  The original mesh after every requested check succeeds.
48
54
 
49
55
 
50
56
  ## Related APIs
51
57
 
52
- - [SolidMeshValidationOptions](SolidMeshValidationOptions.md)
53
- - [TriangleMesh](TriangleMesh.md)
58
+ - [SolidMeshValidationOptions](../geometry/SolidMeshValidationOptions.md)
59
+ - [TriangleMeshInput](../geometry/TriangleMeshInput.md)
54
60
 
55
61
  ## Guides
56
62
 
57
- - [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
63
+ - [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
64
+
65
+ ## Supported imports
66
+
67
+ ```ts
68
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
69
+ ```
58
70
 
59
- Package: `@metamesh/modeling@0.17.0`.
71
+ Package: `@metamesh/modeling@0.19.0`.
@@ -0,0 +1,21 @@
1
+ # Triangle meshes
2
+
3
+ Construct, transform, inspect, and process triangle buffers without a native engine.
4
+
5
+ Use `@metamesh/modeling/geometry/mesh` to construct and process ordinary `TriangleMesh` values. Import the module directly so bundlers can remove unused operations and their dependencies. Mesh option and result types are exported beside their operations; profile helpers and transforms live in `/geometry`.
6
+
7
+ ```ts
8
+ import { rectangleContour, transform3 } from "@metamesh/modeling/geometry";
9
+ import * as mesh from "@metamesh/modeling/geometry/mesh";
10
+ const plate = mesh.extrude(rectangleContour({ size: [30, 20] }), { height: 8 });
11
+ const positioned = mesh.transform(plate, transform3().translate([10, 0, 0]));
12
+ const facts = mesh.analyze(positioned, { requireClosed: true });
13
+ ```
14
+
15
+ Operations return copied buffers or their documented measurement and processing reports. There is no builder or cleanup requirement. `mesh.join` concatenates meshes without Boolean union. Solid mesh validation includes bounded intersection and shell orientation checks; basic validation checks buffer structure and triangles.
16
+
17
+ ## Categories
18
+
19
+ - [Mesh operations](mesh/categories/operations.md) — Construct, transform, validate, analyze, and optimize indexed meshes.
20
+
21
+ Package: `@metamesh/modeling@0.19.0`.
@@ -2,20 +2,26 @@
2
2
 
3
3
  Circular dimensions with exactly one nominal radius or diameter.
4
4
 
5
- **CircleOptions** = [`CircleContourOptions`](CircleContourOptions.md) & [`PrimitiveAttachment`](PrimitiveAttachment.md)
5
+ **CircleOptions** = [`CircleContourOptions`](../geometry/CircleContourOptions.md) & [`PrimitiveAttachment`](../geometry/PrimitiveAttachment.md)
6
6
 
7
7
 
8
8
 
9
9
 
10
10
  ## Related APIs
11
11
 
12
- - [CircleContourOptions](CircleContourOptions.md)
13
- - [PrimitiveAttachment](PrimitiveAttachment.md)
12
+ - [CircleContourOptions](../geometry/CircleContourOptions.md)
13
+ - [PrimitiveAttachment](../geometry/PrimitiveAttachment.md)
14
14
 
15
15
  ## Guides
16
16
 
17
- - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
18
- - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
19
- - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
17
+ - [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
18
+ - [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
19
+ - [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
20
20
 
21
- Package: `@metamesh/modeling@0.17.0`.
21
+ ## Supported imports
22
+
23
+ ```ts
24
+ import type { CircleOptions } from "@metamesh/modeling";
25
+ ```
26
+
27
+ Package: `@metamesh/modeling@0.19.0`.
@@ -20,9 +20,29 @@ Typed parameter association for an assertion or warning.
20
20
 
21
21
  Existing top-level parameter key.
22
22
 
23
+ ***
24
+
25
+ ### path?
26
+
27
+
28
+
29
+ `readonly` `optional` **path?**: readonly (`string` \| `number`)[]
30
+
31
+
32
+
33
+ Relative field path, at most 32 nonnegative safe indices or 1–120 character field names.
34
+ Starts within parameterId's value, or the whole input map when no parameterId is supplied.
35
+ Omitted or empty addresses the whole value; paths do not validate field existence.
36
+
23
37
 
24
38
  ## Guides
25
39
 
26
40
  - [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
27
41
 
28
- Package: `@metamesh/modeling@0.17.0`.
42
+ ## Supported imports
43
+
44
+ ```ts
45
+ import type { DiagnosticOptions } from "@metamesh/modeling";
46
+ ```
47
+
48
+ Package: `@metamesh/modeling@0.19.0`.
@@ -2,20 +2,26 @@
2
2
 
3
3
  Ellipse dimensions in local XY, with exactly one radii or full-size tuple.
4
4
 
5
- **EllipseOptions** = [`EllipseContourOptions`](EllipseContourOptions.md) & [`PrimitiveAttachment`](PrimitiveAttachment.md)
5
+ **EllipseOptions** = [`EllipseContourOptions`](../geometry/EllipseContourOptions.md) & [`PrimitiveAttachment`](../geometry/PrimitiveAttachment.md)
6
6
 
7
7
 
8
8
 
9
9
 
10
10
  ## Related APIs
11
11
 
12
- - [EllipseContourOptions](EllipseContourOptions.md)
13
- - [PrimitiveAttachment](PrimitiveAttachment.md)
12
+ - [EllipseContourOptions](../geometry/EllipseContourOptions.md)
13
+ - [PrimitiveAttachment](../geometry/PrimitiveAttachment.md)
14
14
 
15
15
  ## Guides
16
16
 
17
- - [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
18
- - [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
19
- - [Text and font variability](../../guides/concepts.md#text-and-font-variability)
17
+ - [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
18
+ - [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
19
+ - [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
20
20
 
21
- Package: `@metamesh/modeling@0.17.0`.
21
+ ## Supported imports
22
+
23
+ ```ts
24
+ import type { EllipseOptions } from "@metamesh/modeling";
25
+ ```
26
+
27
+ Package: `@metamesh/modeling@0.19.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Pure synchronous callback returning one declared part or an array; caches are optional.
4
4
 
5
- **GenerateCallback**\<`P`, `S` = `Record`\<`never`, `never`\>\> = (`context`: [`GenerateContext`](GenerateContext.md)\<`P`, `S`\>) => [`GeneratedPart`](GeneratedPart.md) \| readonly [`GeneratedPart`](GeneratedPart.md)[]
5
+ **GenerateCallback**\<`P` *extends* `object`, `S` = `Record`\<`never`, `never`\>\> = (`context`: [`GenerateContext`](GenerateContext.md)\<`P`, `S`\>) => [`PartDeclaration`](PartDeclaration.md) \| readonly [`PartDeclaration`](PartDeclaration.md)[]
6
6
 
7
7
 
8
8
 
@@ -10,7 +10,7 @@ Pure synchronous callback returning one declared part or an array; caches are op
10
10
 
11
11
  ### P
12
12
 
13
- `P`
13
+ `P` *extends* `object`
14
14
 
15
15
  ### S
16
16
 
@@ -26,16 +26,22 @@ Pure synchronous callback returning one declared part or an array; caches are op
26
26
 
27
27
  ## Returns
28
28
 
29
- [`GeneratedPart`](GeneratedPart.md) \| readonly [`GeneratedPart`](GeneratedPart.md)[]
29
+ [`PartDeclaration`](PartDeclaration.md) \| readonly [`PartDeclaration`](PartDeclaration.md)[]
30
30
 
31
31
 
32
32
  ## Related APIs
33
33
 
34
34
  - [GenerateContext](GenerateContext.md)
35
- - [GeneratedPart](GeneratedPart.md)
35
+ - [PartDeclaration](PartDeclaration.md)
36
36
 
37
37
  ## Guides
38
38
 
39
39
  - [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
40
40
 
41
- Package: `@metamesh/modeling@0.17.0`.
41
+ ## Supported imports
42
+
43
+ ```ts
44
+ import type { GenerateCallback } from "@metamesh/modeling";
45
+ ```
46
+
47
+ Package: `@metamesh/modeling@0.19.0`.
@@ -6,7 +6,7 @@ The sole synchronous authoring context, supplied independently of Studio.
6
6
 
7
7
  ### P
8
8
 
9
- `P`
9
+ `P` *extends* `object`
10
10
 
11
11
  ### S
12
12
 
@@ -18,7 +18,7 @@ The sole synchronous authoring context, supplied independently of Studio.
18
18
 
19
19
 
20
20
 
21
- `readonly` **params**: `Readonly`\<`P`\>
21
+ `readonly` **params**: [`ImmutableValue`](ImmutableValue.md)\<`P`\>
22
22
 
23
23
 
24
24
 
@@ -38,45 +38,15 @@ Host-prepared readonly synchronous capabilities, fixed for the session.
38
38
 
39
39
  ***
40
40
 
41
- ### computed
41
+ ### memo
42
42
 
43
43
 
44
44
 
45
- `readonly` **computed**: \<`T`\>(`id`: `string`, `callback`: () => `T`, `dependencies?`: readonly `unknown`[]) => [`Computed`](Computed.md)\<`T`\>
45
+ `readonly` **memo**: [`Memo`](Memo.md)
46
46
 
47
47
 
48
48
 
49
- Registers a lazy pure calculation and automatically tracks parameter and computed-reader reads.
50
- Optional dependencies add changing outer captures; entries compare with Object.is. Objects and
51
- arrays must be deeply immutable. An empty list still tracks reads inside the callback.
52
-
53
- #### Type Parameters
54
-
55
- ##### T
56
-
57
- `T`
58
-
59
- #### Parameters
60
-
61
- <a id="id"></a>
62
-
63
- **`id`** · `string` · Required
64
-
65
-
66
-
67
- ##### callback
68
-
69
- () => `T`
70
-
71
- <a id="dependencies"></a>
72
-
73
- **`dependencies`** · readonly `unknown`[] · Optional
74
-
75
-
76
-
77
- #### Returns
78
-
79
- [`Computed`](Computed.md)\<`T`\>
49
+ Reuses a pure synchronous function; pass changing inputs as arguments and keep helpers stable.
80
50
 
81
51
  ***
82
52
 
@@ -84,79 +54,29 @@ arrays must be deeply immutable. An empty list still tracks reads inside the cal
84
54
 
85
55
 
86
56
 
87
- `readonly` **part**: \{(`id`: `string`, `geometry`: [`ComputedValue`](ComputedValue.md)\<[`PartGeometry`](PartGeometry.md)\>): [`GeneratedPart`](GeneratedPart.md); (`id`: `string`, `options`: [`PartOptions`](PartOptions.md)): [`GeneratedPart`](GeneratedPart.md); \}
57
+ `readonly` **part**: (`id`: `string`, `input`: [`PartOptions`](PartOptions.md) \| [`PartGeometry`](PartGeometry.md)) => [`PartDeclaration`](PartDeclaration.md)
88
58
 
89
59
 
90
60
 
91
61
  Declares a semantic part with identity placement, or explicit placement and appearance.
92
62
 
93
- #### Call Signature
94
-
95
-
96
-
97
- (`id`: `string`, `geometry`: [`ComputedValue`](ComputedValue.md)\<[`PartGeometry`](PartGeometry.md)\>): [`GeneratedPart`](GeneratedPart.md)
98
-
99
-
100
-
101
- ##### Parameters
102
-
103
- <a id="id-1"></a>
104
-
105
- **`id`** · `string` · Required
106
-
107
-
108
-
109
- <a id="geometry"></a>
110
-
111
- **`geometry`** · [`ComputedValue`](ComputedValue.md)\<[`PartGeometry`](PartGeometry.md)\> · Required
112
-
113
-
114
-
115
- ##### Returns
116
-
117
- [`GeneratedPart`](GeneratedPart.md)
118
-
119
- #### Call Signature
120
-
121
-
122
-
123
- (`id`: `string`, `options`: [`PartOptions`](PartOptions.md)): [`GeneratedPart`](GeneratedPart.md)
124
-
125
-
126
-
127
- ##### Parameters
63
+ #### Parameters
128
64
 
129
- <a id="id-2"></a>
65
+ <a id="id"></a>
130
66
 
131
67
  **`id`** · `string` · Required
132
68
 
133
69
 
134
70
 
135
- <a id="options"></a>
136
-
137
- **`options`** · [`PartOptions`](PartOptions.md) · Required
138
-
139
- - [`geometry`](PartOptions.md#geometry) · [`ComputedValue`](ComputedValue.md)\<[`PartGeometry`](PartGeometry.md)\> · Required
140
-
141
- Local geometry or a lazy reader; native objects never cross a revision.
142
-
143
- - [`position`](PartOptions.md#position) · [`ComputedValue`](ComputedValue.md)\<[`Vector3Input`](Vector3Input.md)\> · Optional
144
-
145
- XYZ vector or tuple translation in millimetres, applied after rotation; defaults to zero.
71
+ <a id="input"></a>
146
72
 
147
- - [`rotation`](PartOptions.md#rotation) · [`ComputedValue`](ComputedValue.md)\<[`Vector3Input`](Vector3Input.md)\> · Optional
73
+ **`input`** · [`PartOptions`](PartOptions.md) \| [`PartGeometry`](PartGeometry.md) · Required
148
74
 
149
- XYZ vector or tuple of fixed global X, Y, Z rotations in degrees; defaults to zero.
150
75
 
151
- - [`color`](PartOptions.md#color) · `string` · Optional
152
76
 
153
- Optional six-digit hexadecimal semantic part color.
154
-
155
-
156
-
157
- ##### Returns
77
+ #### Returns
158
78
 
159
- [`GeneratedPart`](GeneratedPart.md)
79
+ [`PartDeclaration`](PartDeclaration.md)
160
80
 
161
81
  ***
162
82
 
@@ -169,6 +89,7 @@ Declares a semantic part with identity placement, or explicit placement and appe
169
89
 
170
90
 
171
91
  Immediately aborts on false; geometry observations in the condition run first.
92
+ This diagnostic helper does not narrow TypeScript types; use an explicit conditional guard when needed.
172
93
 
173
94
  #### Call Signature
174
95
 
@@ -192,7 +113,7 @@ Immediately aborts on false; geometry observations in the condition run first.
192
113
 
193
114
 
194
115
 
195
- <a id="options-1"></a>
116
+ <a id="options"></a>
196
117
 
197
118
  **`options`** · [`DiagnosticOptions`](DiagnosticOptions.md)\<`P`\> · Optional
198
119
 
@@ -224,7 +145,7 @@ Immediately aborts on false; geometry observations in the condition run first.
224
145
 
225
146
 
226
147
 
227
- <a id="options-2"></a>
148
+ <a id="options-1"></a>
228
149
 
229
150
  **`options`** · [`DiagnosticOptions`](DiagnosticOptions.md)\<`P`\> · Optional
230
151
 
@@ -254,7 +175,7 @@ Records a nonblocking issue; call only in the outer generation callback.
254
175
 
255
176
 
256
177
 
257
- <a id="options-3"></a>
178
+ <a id="options-2"></a>
258
179
 
259
180
  **`options`** · [`DiagnosticOptions`](DiagnosticOptions.md)\<`P`\> · Optional
260
181
 
@@ -267,10 +188,10 @@ Records a nonblocking issue; call only in the outer generation callback.
267
188
 
268
189
  ## Related APIs
269
190
 
270
- - [Computed](Computed.md)
271
- - [ComputedValue](ComputedValue.md)
272
191
  - [DiagnosticOptions](DiagnosticOptions.md)
273
- - [GeneratedPart](GeneratedPart.md)
192
+ - [ImmutableValue](ImmutableValue.md)
193
+ - [Memo](Memo.md)
194
+ - [PartDeclaration](PartDeclaration.md)
274
195
  - [PartGeometry](PartGeometry.md)
275
196
  - [PartOptions](PartOptions.md)
276
197
 
@@ -278,4 +199,10 @@ Records a nonblocking issue; call only in the outer generation callback.
278
199
 
279
200
  - [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
280
201
 
281
- Package: `@metamesh/modeling@0.17.0`.
202
+ ## Supported imports
203
+
204
+ ```ts
205
+ import type { GenerateContext } from "@metamesh/modeling";
206
+ ```
207
+
208
+ Package: `@metamesh/modeling@0.19.0`.
@@ -38,9 +38,27 @@ Human-readable corrective guidance.
38
38
 
39
39
  Optional control identity, validated against the supplied parameters.
40
40
 
41
+ ***
42
+
43
+ ### path?
44
+
45
+
46
+
47
+ `readonly` `optional` **path?**: readonly (`string` \| `number`)[]
48
+
49
+
50
+
51
+ Relative field location within the parameter, or input map when parameterId is omitted.
52
+
41
53
 
42
54
  ## Guides
43
55
 
44
56
  - [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
45
57
 
46
- Package: `@metamesh/modeling@0.17.0`.
58
+ ## Supported imports
59
+
60
+ ```ts
61
+ import type { GenerationDiagnostic } from "@metamesh/modeling";
62
+ ```
63
+
64
+ Package: `@metamesh/modeling@0.19.0`.
@@ -1,6 +1,6 @@
1
1
  # GenerationError
2
2
 
3
- A user-correctable assertion failure. Successful computation caches never retain failures.
3
+ A user-correctable assertion failure. Successful memo caches never retain failures.
4
4
 
5
5
  ## Extends
6
6
 
@@ -55,4 +55,10 @@ Issues reached in normal JavaScript order, ending with the first failed assertio
55
55
 
56
56
  - [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
57
57
 
58
- Package: `@metamesh/modeling@0.17.0`.
58
+ ## Supported imports
59
+
60
+ ```ts
61
+ import { GenerationError } from "@metamesh/modeling";
62
+ ```
63
+
64
+ Package: `@metamesh/modeling@0.19.0`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  A deferred +Z hole or pocket cutter, with exactly one circular diameter or existing Section. Profile entry chamfers expand one strictly convex contour without holes by parallel-edge offsets; the supplied sampled boundary remains authoritative. Plain profile cutters accept any Section. Circular entry chamfers retain nominal circular/frustum radii under the selected radial sizing.
4
4
 
5
- **HoleCutterOptions** = `object` & ([`CircularPrimitiveOptions`](CircularPrimitiveOptions.md) & [`RadialSizingOptions`](RadialSizingOptions.md) & `object` & (\{ `entryChamfer?`: `number`; `recess?`: `never`; \} \| \{ `recess`: [`HoleCutterRecess`](HoleCutterRecess.md); `entryChamfer?`: `never`; \}) \| \{ `profile`: [`Section`](Section.md); `diameter?`: `never`; `recess?`: `never`; `segments?`: `never`; `sizing?`: `never`; `entryChamfer?`: `number`; \})
5
+ **HoleCutterOptions** = `object` & ([`CircularPrimitiveOptions`](../geometry/CircularPrimitiveOptions.md) & [`RadialSizingOptions`](../geometry/RadialSizingOptions.md) & `object` & (\{ `entryChamfer?`: `number`; `recess?`: `never`; \} \| \{ `recess`: [`HoleCutterRecess`](HoleCutterRecess.md); `entryChamfer?`: `never`; \}) \| \{ `profile`: [`Section`](Section.md); `diameter?`: `never`; `recess?`: `never`; `segments?`: `never`; `sizing?`: `never`; `entryChamfer?`: `number`; \})
6
6
 
7
7
 
8
8
 
@@ -42,7 +42,7 @@ Extra length outside each nominal face; both ends default to zero.
42
42
 
43
43
 
44
44
 
45
- `readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
45
+ `readonly` `optional` **resolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
46
46
 
47
47
 
48
48
 
@@ -52,7 +52,7 @@ Operation-level physical sampling; an existing Section retains its sampled bound
52
52
 
53
53
 
54
54
 
55
- `readonly` `optional` **limits?**: `Partial`\<[`ModelingLimits`](ModelingLimits.md)\>
55
+ `readonly` `optional` **limits?**: `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\>
56
56
 
57
57
 
58
58
 
@@ -61,17 +61,24 @@ Local allocation ceilings may only lower the evaluating host's limits.
61
61
 
62
62
  ## Related APIs
63
63
 
64
- - [CircularPrimitiveOptions](CircularPrimitiveOptions.md)
65
- - [GeometryResolution](GeometryResolution.md)
64
+ - [CircularPrimitiveOptions](../geometry/CircularPrimitiveOptions.md)
65
+ - [GeometryResolution](../geometry/GeometryResolution.md)
66
66
  - [HoleCutterOverrun](HoleCutterOverrun.md)
67
67
  - [HoleCutterRecess](HoleCutterRecess.md)
68
- - [ModelingLimits](ModelingLimits.md)
69
- - [RadialSizingOptions](RadialSizingOptions.md)
68
+ - [ModelingLimits](../geometry/ModelingLimits.md)
69
+ - [RadialSizingOptions](../geometry/RadialSizingOptions.md)
70
70
  - [Section](Section.md)
71
71
 
72
72
  ## Guides
73
73
 
74
- - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
75
- - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
74
+ - [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
75
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
76
+ - [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
76
77
 
77
- Package: `@metamesh/modeling@0.17.0`.
78
+ ## Supported imports
79
+
80
+ ```ts
81
+ import type { HoleCutterOptions } from "@metamesh/modeling";
82
+ ```
83
+
84
+ Package: `@metamesh/modeling@0.19.0`.
@@ -29,7 +29,14 @@ Extension above Z=height. Omitted means zero.
29
29
 
30
30
  ## Guides
31
31
 
32
- - [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
33
- - [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
32
+ - [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
33
+ - [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
34
+ - [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
34
35
 
35
- Package: `@metamesh/modeling@0.17.0`.
36
+ ## Supported imports
37
+
38
+ ```ts
39
+ import type { HoleCutterOverrun } from "@metamesh/modeling";
40
+ ```
41
+
42
+ Package: `@metamesh/modeling@0.19.0`.