@metamesh/modeling 0.12.0 → 0.14.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.
- package/CHANGELOG.md +40 -0
- package/README.md +103 -72
- package/dist/api/engine.d.ts +123 -97
- package/dist/api/geometry.d.ts +4232 -3307
- package/dist/api/index.d.ts +2758 -2268
- package/dist/api/text.d.ts +119 -107
- package/dist/docs/guides/concepts.md +300 -0
- package/dist/docs/guides/fonts.md +59 -0
- package/dist/docs/guides/fundamentals.md +137 -0
- package/dist/docs/guides/generation.md +223 -0
- package/dist/docs/guides/hosting.md +91 -0
- package/dist/docs/guides/recipes.md +718 -0
- package/dist/docs/manifest.json +10703 -0
- package/dist/docs/reference/engine/Export3mfOptions.md +29 -0
- package/dist/docs/reference/engine/ExportMeshPart.md +65 -0
- package/dist/docs/reference/engine/GenerationOptions.md +62 -0
- package/dist/docs/reference/engine/GeometryResource.md +77 -0
- package/dist/docs/reference/engine/ModelDependencies.md +41 -0
- package/dist/docs/reference/engine/ModelEngine.md +103 -0
- package/dist/docs/reference/engine/ModelEngineOptions.md +33 -0
- package/dist/docs/reference/engine/ModelSession.md +96 -0
- package/dist/docs/reference/engine/ModelSnapshot.md +173 -0
- package/dist/docs/reference/engine/SessionOptions.md +123 -0
- package/dist/docs/reference/engine/SnapshotPart.md +130 -0
- package/dist/docs/reference/engine/categories/host-lifecycle.md +37 -0
- package/dist/docs/reference/engine/createModelEngine.md +56 -0
- package/dist/docs/reference/engine/defaultModelingLimits.md +7 -0
- package/dist/docs/reference/engine/modelingWasmUrl.md +7 -0
- package/dist/docs/reference/engine/validateModel.md +48 -0
- package/dist/docs/reference/engine.md +25 -0
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +75 -0
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +92 -0
- package/dist/docs/reference/geometry/Anchor3.md +53 -0
- package/dist/docs/reference/geometry/ArcCurve2.md +70 -0
- package/dist/docs/reference/geometry/ArcCurve3.md +94 -0
- package/dist/docs/reference/geometry/AttachTransformOptions.md +62 -0
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +66 -0
- package/dist/docs/reference/geometry/Bounds2.md +39 -0
- package/dist/docs/reference/geometry/Bounds3.md +39 -0
- package/dist/docs/reference/geometry/BoundsFit2.md +52 -0
- package/dist/docs/reference/geometry/BoundsFit3.md +52 -0
- package/dist/docs/reference/geometry/BoundsFitOptions.md +23 -0
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +23 -0
- package/dist/docs/reference/geometry/BoxAnchorFace.md +14 -0
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +63 -0
- package/dist/docs/reference/geometry/BoxEdge.md +7 -0
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +14 -0
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +15 -0
- package/dist/docs/reference/geometry/BoxOptions.md +87 -0
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +7 -0
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +93 -0
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +29 -0
- package/dist/docs/reference/geometry/CircleContourOptions.md +15 -0
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +59 -0
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +107 -0
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +41 -0
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -0
- package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +34 -0
- package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +65 -0
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +53 -0
- package/dist/docs/reference/geometry/Contour.md +17 -0
- package/dist/docs/reference/geometry/ContourCurve.md +35 -0
- package/dist/docs/reference/geometry/ContourPoint.md +29 -0
- package/dist/docs/reference/geometry/ContourSegment.md +86 -0
- package/dist/docs/reference/geometry/CorrespondingComponent.md +46 -0
- package/dist/docs/reference/geometry/CorrespondingContour.md +46 -0
- package/dist/docs/reference/geometry/CorrespondingProfile.md +22 -0
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +27 -0
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +70 -0
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +70 -0
- package/dist/docs/reference/geometry/Curve2.md +16 -0
- package/dist/docs/reference/geometry/Curve3.md +16 -0
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +64 -0
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +73 -0
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +14 -0
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +87 -0
- package/dist/docs/reference/geometry/CylinderOptions.md +53 -0
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +209 -0
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +7 -0
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +71 -0
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +82 -0
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +34 -0
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +41 -0
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +47 -0
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +82 -0
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -0
- package/dist/docs/reference/geometry/EdgeTreatment.md +17 -0
- package/dist/docs/reference/geometry/EllipseContourOptions.md +15 -0
- package/dist/docs/reference/geometry/EndTreatments.md +34 -0
- package/dist/docs/reference/geometry/ExtrudeOptions.md +134 -0
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +77 -0
- package/dist/docs/reference/geometry/FittedTextLayout.md +60 -0
- package/dist/docs/reference/geometry/Frame3.md +58 -0
- package/dist/docs/reference/geometry/GeometryError.md +97 -0
- package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -0
- package/dist/docs/reference/geometry/GeometryErrorContext.md +29 -0
- package/dist/docs/reference/geometry/GeometryResolution.md +74 -0
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +62 -0
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +41 -0
- package/dist/docs/reference/geometry/GridPatternOptions.md +42 -0
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +14 -0
- package/dist/docs/reference/geometry/HeightfieldOptions.md +67 -0
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +53 -0
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +141 -0
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +265 -0
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +53 -0
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +18 -0
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +242 -0
- package/dist/docs/reference/geometry/LineCurve2.md +46 -0
- package/dist/docs/reference/geometry/LineCurve3.md +46 -0
- package/dist/docs/reference/geometry/LinearPatternOptions.md +30 -0
- package/dist/docs/reference/geometry/LoftCorrespondence.md +19 -0
- package/dist/docs/reference/geometry/LoftMeshStation.md +27 -0
- package/dist/docs/reference/geometry/LoftOptions.md +84 -0
- package/dist/docs/reference/geometry/LoftPlacement.md +66 -0
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +18 -0
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +35 -0
- package/dist/docs/reference/geometry/MetricFastenerSize.md +7 -0
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +72 -0
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +29 -0
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +41 -0
- package/dist/docs/reference/geometry/ModelingLimits.md +126 -0
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +17 -0
- package/dist/docs/reference/geometry/Path2.md +14 -0
- package/dist/docs/reference/geometry/Path3.md +14 -0
- package/dist/docs/reference/geometry/PathFrame.md +46 -0
- package/dist/docs/reference/geometry/PathNormalGuide.md +38 -0
- package/dist/docs/reference/geometry/PathPatternOptions.md +46 -0
- package/dist/docs/reference/geometry/PathPlacement.md +34 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +26 -0
- package/dist/docs/reference/geometry/Pivot3Options.md +26 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +7 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +156 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +120 -0
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +190 -0
- package/dist/docs/reference/geometry/PolygonData.md +38 -0
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +92 -0
- package/dist/docs/reference/geometry/PrimitivePlacement.md +31 -0
- package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +83 -0
- package/dist/docs/reference/geometry/PrintableThreadFit.md +7 -0
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +45 -0
- package/dist/docs/reference/geometry/Profile.md +22 -0
- package/dist/docs/reference/geometry/ProfileComponent2.md +46 -0
- package/dist/docs/reference/geometry/ProfileContour2.md +34 -0
- package/dist/docs/reference/geometry/ProfileSpan2.md +47 -0
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +36 -0
- package/dist/docs/reference/geometry/RackPitchDimensions.md +113 -0
- package/dist/docs/reference/geometry/RackPitchSpec.md +77 -0
- package/dist/docs/reference/geometry/RadialPatternOptions.md +62 -0
- package/dist/docs/reference/geometry/RadialSizing.md +7 -0
- package/dist/docs/reference/geometry/RadialSizingOptions.md +40 -0
- package/dist/docs/reference/geometry/RectangleContourOptions.md +66 -0
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +34 -0
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +14 -0
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +94 -0
- package/dist/docs/reference/geometry/RegionData.md +14 -0
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +84 -0
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +65 -0
- package/dist/docs/reference/geometry/RevolveOptions.md +82 -0
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +91 -0
- package/dist/docs/reference/geometry/RowLayoutOptions.md +23 -0
- package/dist/docs/reference/geometry/SampleContourOptions.md +71 -0
- package/dist/docs/reference/geometry/SampleHelixOptions.md +95 -0
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +71 -0
- package/dist/docs/reference/geometry/SampledCurve2.md +34 -0
- package/dist/docs/reference/geometry/SampledCurve3.md +34 -0
- package/dist/docs/reference/geometry/SampledThreadHelices.md +58 -0
- package/dist/docs/reference/geometry/SideProfileCurve.md +35 -0
- package/dist/docs/reference/geometry/SideProfilePoint.md +29 -0
- package/dist/docs/reference/geometry/SideProfileSegment.md +86 -0
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +71 -0
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +34 -0
- package/dist/docs/reference/geometry/SphereOptions.md +15 -0
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +75 -0
- package/dist/docs/reference/geometry/StrokePathCap.md +7 -0
- package/dist/docs/reference/geometry/StrokePathJoin.md +7 -0
- package/dist/docs/reference/geometry/StrokePathRegionOptions.md +85 -0
- package/dist/docs/reference/geometry/SvgImportOptions.md +60 -0
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +61 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +118 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +65 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +53 -0
- package/dist/docs/reference/geometry/SweepOptions.md +109 -0
- package/dist/docs/reference/geometry/SweepOrientation.md +109 -0
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +53 -0
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +100 -0
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +73 -0
- package/dist/docs/reference/geometry/ThreadEndStyle.md +7 -0
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +113 -0
- package/dist/docs/reference/geometry/ThreadHandedness.md +7 -0
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +120 -0
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +7 -0
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +7 -0
- package/dist/docs/reference/geometry/ThreadProfile.md +82 -0
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +49 -0
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +19 -0
- package/dist/docs/reference/geometry/ThreadRole.md +7 -0
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +7 -0
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +269 -0
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +94 -0
- package/dist/docs/reference/geometry/ThreadedNutShape.md +7 -0
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +242 -0
- package/dist/docs/reference/geometry/TorusOptions.md +105 -0
- package/dist/docs/reference/geometry/Transform2-type.md +255 -0
- package/dist/docs/reference/geometry/Transform2Input.md +19 -0
- package/dist/docs/reference/geometry/Transform2Matrix.md +14 -0
- package/dist/docs/reference/geometry/Transform3-type.md +295 -0
- package/dist/docs/reference/geometry/Transform3Input.md +19 -0
- package/dist/docs/reference/geometry/Transform3Matrix.md +17 -0
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +91 -0
- package/dist/docs/reference/geometry/TriangleMesh.md +34 -0
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +119 -0
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +75 -0
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +75 -0
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +39 -0
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +190 -0
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +107 -0
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +41 -0
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +29 -0
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +51 -0
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +91 -0
- package/dist/docs/reference/geometry/TubeOptions.md +138 -0
- package/dist/docs/reference/geometry/Vector2-type.md +269 -0
- package/dist/docs/reference/geometry/Vector2Input.md +19 -0
- package/dist/docs/reference/geometry/Vector2Tuple.md +14 -0
- package/dist/docs/reference/geometry/Vector3-type.md +281 -0
- package/dist/docs/reference/geometry/Vector3Input.md +19 -0
- package/dist/docs/reference/geometry/Vector3Tuple.md +14 -0
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +53 -0
- package/dist/docs/reference/geometry/VectorTextLayout.md +39 -0
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +111 -0
- package/dist/docs/reference/geometry/VectorTextMetrics.md +94 -0
- package/dist/docs/reference/geometry/VectorTextOptions.md +50 -0
- package/dist/docs/reference/geometry/add2.md +36 -0
- package/dist/docs/reference/geometry/add3.md +42 -0
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +57 -0
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +52 -0
- package/dist/docs/reference/geometry/anchorFrame3.md +40 -0
- package/dist/docs/reference/geometry/applyTransformDirection3.md +45 -0
- package/dist/docs/reference/geometry/applyTransformPoint3.md +43 -0
- package/dist/docs/reference/geometry/attachTransform.md +77 -0
- package/dist/docs/reference/geometry/boundsCenter.md +62 -0
- package/dist/docs/reference/geometry/boundsFromSize.md +83 -0
- package/dist/docs/reference/geometry/boundsSize.md +62 -0
- package/dist/docs/reference/geometry/boxAnchor3.md +52 -0
- package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +68 -0
- package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +102 -0
- package/dist/docs/reference/geometry/categories/bounds-layout.md +35 -0
- package/dist/docs/reference/geometry/categories/curves-paths.md +66 -0
- package/dist/docs/reference/geometry/categories/mechanical.md +101 -0
- package/dist/docs/reference/geometry/categories/meshes.md +73 -0
- package/dist/docs/reference/geometry/categories/pattern-placement.md +34 -0
- package/dist/docs/reference/geometry/categories/primitive-options.md +36 -0
- package/dist/docs/reference/geometry/categories/profiles-regions.md +74 -0
- package/dist/docs/reference/geometry/categories/resolution-errors.md +47 -0
- package/dist/docs/reference/geometry/categories/transforms-math.md +92 -0
- package/dist/docs/reference/geometry/categories/vector-import.md +40 -0
- package/dist/docs/reference/geometry/circleContour.md +33 -0
- package/dist/docs/reference/geometry/closeToAxis.md +34 -0
- package/dist/docs/reference/geometry/closestPointOnPath.md +110 -0
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +51 -0
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +42 -0
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +56 -0
- package/dist/docs/reference/geometry/composeTransform3.md +44 -0
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +45 -0
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +47 -0
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +31 -0
- package/dist/docs/reference/geometry/containsBounds.md +72 -0
- package/dist/docs/reference/geometry/contourContainsPoint.md +33 -0
- package/dist/docs/reference/geometry/createAnchor3.md +67 -0
- package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
- package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
- package/dist/docs/reference/geometry/cross2.md +36 -0
- package/dist/docs/reference/geometry/cross3.md +42 -0
- package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
- package/dist/docs/reference/geometry/cylinderAnchor3.md +60 -0
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
- package/dist/docs/reference/geometry/distance2.md +36 -0
- package/dist/docs/reference/geometry/distance3.md +36 -0
- package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
- package/dist/docs/reference/geometry/dot2.md +36 -0
- package/dist/docs/reference/geometry/dot3.md +42 -0
- package/dist/docs/reference/geometry/ellipseContour.md +33 -0
- package/dist/docs/reference/geometry/eulerTransform3.md +42 -0
- package/dist/docs/reference/geometry/extrudeMesh.md +73 -0
- package/dist/docs/reference/geometry/fitBounds.md +95 -0
- package/dist/docs/reference/geometry/fitTextLayout.md +57 -0
- package/dist/docs/reference/geometry/frameTransform3.md +48 -0
- package/dist/docs/reference/geometry/getMetricClearanceHole.md +33 -0
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +27 -0
- package/dist/docs/reference/geometry/gridPatternTransforms.md +31 -0
- package/dist/docs/reference/geometry/heightfieldMesh.md +43 -0
- package/dist/docs/reference/geometry/inverseTransform3.md +34 -0
- package/dist/docs/reference/geometry/isGeometryError.md +26 -0
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +36 -0
- package/dist/docs/reference/geometry/layoutRow.md +43 -0
- package/dist/docs/reference/geometry/length2.md +30 -0
- package/dist/docs/reference/geometry/length3.md +30 -0
- package/dist/docs/reference/geometry/lerp2.md +42 -0
- package/dist/docs/reference/geometry/lerp3.md +42 -0
- package/dist/docs/reference/geometry/linearPatternTransforms.md +31 -0
- package/dist/docs/reference/geometry/loftMesh.md +72 -0
- package/dist/docs/reference/geometry/matchProfiles.md +51 -0
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +48 -0
- package/dist/docs/reference/geometry/measureTriangleMesh.md +55 -0
- package/dist/docs/reference/geometry/meshBounds.md +35 -0
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +29 -0
- package/dist/docs/reference/geometry/normalize2.md +36 -0
- package/dist/docs/reference/geometry/normalize3.md +36 -0
- package/dist/docs/reference/geometry/normalizeContour.md +45 -0
- package/dist/docs/reference/geometry/normalizePolygon.md +37 -0
- package/dist/docs/reference/geometry/normalizeRegion.md +33 -0
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +91 -0
- package/dist/docs/reference/geometry/pathLength.md +33 -0
- package/dist/docs/reference/geometry/pathPatternTransforms.md +57 -0
- package/dist/docs/reference/geometry/preflightHeightfield.md +34 -0
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +96 -0
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +85 -0
- package/dist/docs/reference/geometry/preflightSvgRegion.md +56 -0
- package/dist/docs/reference/geometry/preflightThreadedNut.md +96 -0
- package/dist/docs/reference/geometry/preflightThreadedRod.md +85 -0
- package/dist/docs/reference/geometry/projectOntoPlane3.md +36 -0
- package/dist/docs/reference/geometry/radialPatternTransforms.md +47 -0
- package/dist/docs/reference/geometry/rectangleContour.md +49 -0
- package/dist/docs/reference/geometry/rectangleProfile.md +53 -0
- package/dist/docs/reference/geometry/regionArea.md +34 -0
- package/dist/docs/reference/geometry/regionBounds.md +27 -0
- package/dist/docs/reference/geometry/regularPolygonContour.md +53 -0
- package/dist/docs/reference/geometry/resamplePolyline2.md +64 -0
- package/dist/docs/reference/geometry/resamplePolyline3.md +67 -0
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +83 -0
- package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
- package/dist/docs/reference/geometry/resolveCircularSegments.md +62 -0
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +31 -0
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +31 -0
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +74 -0
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +26 -0
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +59 -0
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +27 -0
- package/dist/docs/reference/geometry/resolveRackPitch.md +27 -0
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +59 -0
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +30 -0
- package/dist/docs/reference/geometry/revolveMesh.md +76 -0
- package/dist/docs/reference/geometry/rotate2.md +36 -0
- package/dist/docs/reference/geometry/rotationTransform3.md +53 -0
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +50 -0
- package/dist/docs/reference/geometry/sampleContour.md +77 -0
- package/dist/docs/reference/geometry/sampleCurve2.md +61 -0
- package/dist/docs/reference/geometry/sampleCurve3.md +61 -0
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +58 -0
- package/dist/docs/reference/geometry/sampleHelix.md +41 -0
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +59 -0
- package/dist/docs/reference/geometry/sampleRackToothPath.md +39 -0
- package/dist/docs/reference/geometry/sampleSideProfile.md +73 -0
- package/dist/docs/reference/geometry/sampleTextContours.md +53 -0
- package/dist/docs/reference/geometry/sampleThreadHelices.md +63 -0
- package/dist/docs/reference/geometry/scale2.md +36 -0
- package/dist/docs/reference/geometry/scale3.md +42 -0
- package/dist/docs/reference/geometry/scaleTransform3.md +38 -0
- package/dist/docs/reference/geometry/signedContourArea.md +26 -0
- package/dist/docs/reference/geometry/starContour.md +51 -0
- package/dist/docs/reference/geometry/strokePathRegion.md +63 -0
- package/dist/docs/reference/geometry/subtract2.md +36 -0
- package/dist/docs/reference/geometry/subtract3.md +42 -0
- package/dist/docs/reference/geometry/sweepMesh.md +82 -0
- package/dist/docs/reference/geometry/transform2.md +38 -0
- package/dist/docs/reference/geometry/transform3.md +38 -0
- package/dist/docs/reference/geometry/transformContour.md +42 -0
- package/dist/docs/reference/geometry/transformDeterminant3.md +36 -0
- package/dist/docs/reference/geometry/transformPath2.md +40 -0
- package/dist/docs/reference/geometry/transformPath3.md +33 -0
- package/dist/docs/reference/geometry/transformRegionData.md +40 -0
- package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
- package/dist/docs/reference/geometry/translationTransform3.md +35 -0
- package/dist/docs/reference/geometry/triangulateContour.md +26 -0
- package/dist/docs/reference/geometry/validateSolidMesh.md +52 -0
- package/dist/docs/reference/geometry/validateTransform3.md +47 -0
- package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -0
- package/dist/docs/reference/geometry/vector2.md +31 -0
- package/dist/docs/reference/geometry/vector3.md +38 -0
- package/dist/docs/reference/geometry.md +30 -0
- package/dist/docs/reference/model/Anchor3.md +54 -0
- package/dist/docs/reference/model/AttachOptions.md +63 -0
- package/dist/docs/reference/model/Bounds2.md +39 -0
- package/dist/docs/reference/model/Bounds3.md +39 -0
- package/dist/docs/reference/model/BoxEdge.md +15 -0
- package/dist/docs/reference/model/BoxEdgeSelection.md +19 -0
- package/dist/docs/reference/model/BoxEdgeTreatments.md +20 -0
- package/dist/docs/reference/model/BoxOptions.md +92 -0
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +35 -0
- package/dist/docs/reference/model/CircleContourOptions.md +21 -0
- package/dist/docs/reference/model/CircleOptions.md +21 -0
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +64 -0
- package/dist/docs/reference/model/Computed.md +35 -0
- package/dist/docs/reference/model/ComputedValue.md +20 -0
- package/dist/docs/reference/model/Contour.md +22 -0
- package/dist/docs/reference/model/CorrespondingComponent.md +46 -0
- package/dist/docs/reference/model/CorrespondingContour.md +46 -0
- package/dist/docs/reference/model/CorrespondingProfile.md +22 -0
- package/dist/docs/reference/model/CorrespondingProfileStation.md +27 -0
- package/dist/docs/reference/model/CylinderOptions.md +58 -0
- package/dist/docs/reference/model/DiagnosticOptions.md +23 -0
- package/dist/docs/reference/model/EdgeTreatment.md +22 -0
- package/dist/docs/reference/model/EllipseContourOptions.md +21 -0
- package/dist/docs/reference/model/EllipseOptions.md +21 -0
- package/dist/docs/reference/model/EndTreatments.md +39 -0
- package/dist/docs/reference/model/ExtrudeOptions.md +140 -0
- package/dist/docs/reference/model/FinalizedModel.md +121 -0
- package/dist/docs/reference/model/FinalizedPart.md +87 -0
- package/dist/docs/reference/model/Frame3.md +63 -0
- package/dist/docs/reference/model/GenerateCallback.md +37 -0
- package/dist/docs/reference/model/GenerateContext.md +277 -0
- package/dist/docs/reference/model/GeneratedPart.md +93 -0
- package/dist/docs/reference/model/GenerationDiagnostic.md +41 -0
- package/dist/docs/reference/model/GenerationError.md +54 -0
- package/dist/docs/reference/model/GeometryResolution.md +70 -0
- package/dist/docs/reference/model/GeometrySamplingLimits.md +62 -0
- package/dist/docs/reference/model/GeometryToleranceOptions.md +46 -0
- package/dist/docs/reference/model/GridPatternOptions.md +43 -0
- package/dist/docs/reference/model/HeightfieldOptions.md +67 -0
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +140 -0
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +58 -0
- package/dist/docs/reference/model/HullOptions.md +72 -0
- package/dist/docs/reference/model/ImmutableBuffer-type.md +80 -0
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +34 -0
- package/dist/docs/reference/model/ImplicitOptions.md +83 -0
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +245 -0
- package/dist/docs/reference/model/LinearPatternOptions.md +31 -0
- package/dist/docs/reference/model/LoftCorrespondence.md +27 -0
- package/dist/docs/reference/model/LoftOptions.md +91 -0
- package/dist/docs/reference/model/LoftPlacement.md +73 -0
- package/dist/docs/reference/model/LoftStation.md +35 -0
- package/dist/docs/reference/model/MatchProfilesOptions.md +35 -0
- package/dist/docs/reference/model/ModelProgram.md +44 -0
- package/dist/docs/reference/model/ModelingLimits.md +126 -0
- package/dist/docs/reference/model/NumericArray.md +7 -0
- package/dist/docs/reference/model/PartGeometry.md +16 -0
- package/dist/docs/reference/model/PartOptions.md +65 -0
- package/dist/docs/reference/model/Path2.md +20 -0
- package/dist/docs/reference/model/PathNormalGuide.md +45 -0
- package/dist/docs/reference/model/PathPatternOptions.md +47 -0
- package/dist/docs/reference/model/PatternSource.md +26 -0
- package/dist/docs/reference/model/Pivot2Options.md +27 -0
- package/dist/docs/reference/model/Pivot3Options.md +27 -0
- package/dist/docs/reference/model/PlaneOptions.md +39 -0
- package/dist/docs/reference/model/PolygonData.md +43 -0
- package/dist/docs/reference/model/PolygonOptions.md +189 -0
- package/dist/docs/reference/model/PrimitivePlacement.md +40 -0
- package/dist/docs/reference/model/PrimitivePlacementOptions.md +88 -0
- package/dist/docs/reference/model/PrintableThreadFit.md +14 -0
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +50 -0
- package/dist/docs/reference/model/Profile.md +22 -0
- package/dist/docs/reference/model/ProfileComponent2.md +46 -0
- package/dist/docs/reference/model/ProfileContour2.md +34 -0
- package/dist/docs/reference/model/ProfileSpan2.md +47 -0
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +41 -0
- package/dist/docs/reference/model/RadialPatternOptions.md +63 -0
- package/dist/docs/reference/model/RadialSizing.md +15 -0
- package/dist/docs/reference/model/RadialSizingOptions.md +40 -0
- package/dist/docs/reference/model/RectangleContourOptions.md +72 -0
- package/dist/docs/reference/model/RectangleCornerTreatment.md +40 -0
- package/dist/docs/reference/model/RectangleCornerTreatments.md +20 -0
- package/dist/docs/reference/model/RectangleOptions.md +107 -0
- package/dist/docs/reference/model/RegionData.md +19 -0
- package/dist/docs/reference/model/RegularPolygonOptions.md +53 -0
- package/dist/docs/reference/model/RevolveOptions.md +89 -0
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +96 -0
- package/dist/docs/reference/model/Section.md +490 -0
- package/dist/docs/reference/model/SectionHullOptions.md +72 -0
- package/dist/docs/reference/model/SectionInspection.md +98 -0
- package/dist/docs/reference/model/SectionOffsetJoin.md +16 -0
- package/dist/docs/reference/model/SectionOffsetOptions.md +65 -0
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
- package/dist/docs/reference/model/Solid.md +373 -0
- package/dist/docs/reference/model/SolidInspection.md +98 -0
- package/dist/docs/reference/model/SolidRayHit.md +58 -0
- package/dist/docs/reference/model/SphereOptions.md +20 -0
- package/dist/docs/reference/model/StarOptions.md +98 -0
- package/dist/docs/reference/model/StrokeOptions.md +91 -0
- package/dist/docs/reference/model/StrokePathCap.md +16 -0
- package/dist/docs/reference/model/StrokePathJoin.md +16 -0
- package/dist/docs/reference/model/SvgOrigin.md +16 -0
- package/dist/docs/reference/model/SvgPathSectionOptions.md +78 -0
- package/dist/docs/reference/model/SvgSectionOptions.md +66 -0
- package/dist/docs/reference/model/SweepOptions.md +116 -0
- package/dist/docs/reference/model/SweepOrientation.md +116 -0
- package/dist/docs/reference/model/TextSectionOptions.md +41 -0
- package/dist/docs/reference/model/ThreadEndStyle.md +14 -0
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +117 -0
- package/dist/docs/reference/model/ThreadHandedness.md +14 -0
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +14 -0
- package/dist/docs/reference/model/ThreadLeadInShape.md +14 -0
- package/dist/docs/reference/model/ThreadProfile.md +86 -0
- package/dist/docs/reference/model/ThreadRidgeOptions.md +18 -0
- package/dist/docs/reference/model/ThreadedNutBevel.md +14 -0
- package/dist/docs/reference/model/ThreadedNutOptions.md +273 -0
- package/dist/docs/reference/model/ThreadedNutPreflight.md +98 -0
- package/dist/docs/reference/model/ThreadedNutShape.md +14 -0
- package/dist/docs/reference/model/ThreadedRodOptions.md +245 -0
- package/dist/docs/reference/model/TorusOptions.md +110 -0
- package/dist/docs/reference/model/Transform2-type.md +256 -0
- package/dist/docs/reference/model/Transform2Input.md +20 -0
- package/dist/docs/reference/model/Transform2Matrix.md +15 -0
- package/dist/docs/reference/model/Transform3-type.md +296 -0
- package/dist/docs/reference/model/Transform3Input.md +20 -0
- package/dist/docs/reference/model/Transform3Matrix.md +18 -0
- package/dist/docs/reference/model/TriangleMesh.md +42 -0
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +123 -0
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +79 -0
- package/dist/docs/reference/model/TubeOptions.md +143 -0
- package/dist/docs/reference/model/Vector2-type.md +270 -0
- package/dist/docs/reference/model/Vector2Input.md +20 -0
- package/dist/docs/reference/model/Vector2Tuple.md +15 -0
- package/dist/docs/reference/model/Vector3-type.md +282 -0
- package/dist/docs/reference/model/Vector3Input.md +20 -0
- package/dist/docs/reference/model/Vector3Tuple.md +15 -0
- package/dist/docs/reference/model/VectorTextLayout.md +40 -0
- package/dist/docs/reference/model/VectorTextMetrics.md +100 -0
- package/dist/docs/reference/model/anchor.md +46 -0
- package/dist/docs/reference/model/box.md +62 -0
- package/dist/docs/reference/model/categories/boolean-operations.md +37 -0
- package/dist/docs/reference/model/categories/bounded-surfaces.md +26 -0
- package/dist/docs/reference/model/categories/contracts.md +16 -0
- package/dist/docs/reference/model/categories/core-values-errors.md +30 -0
- package/dist/docs/reference/model/categories/explicit-profiles.md +32 -0
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +42 -0
- package/dist/docs/reference/model/categories/generation.md +44 -0
- package/dist/docs/reference/model/categories/inspection.md +23 -0
- package/dist/docs/reference/model/categories/mesh-inspection.md +29 -0
- package/dist/docs/reference/model/categories/primitives.md +61 -0
- package/dist/docs/reference/model/categories/resolution.md +18 -0
- package/dist/docs/reference/model/categories/sections.md +62 -0
- package/dist/docs/reference/model/categories/threads.md +50 -0
- package/dist/docs/reference/model/categories/transforms-placement.md +57 -0
- package/dist/docs/reference/model/circle.md +39 -0
- package/dist/docs/reference/model/components.md +71 -0
- package/dist/docs/reference/model/compose.md +31 -0
- package/dist/docs/reference/model/cylinder.md +52 -0
- package/dist/docs/reference/model/distance.md +45 -0
- package/dist/docs/reference/model/ellipse.md +39 -0
- package/dist/docs/reference/model/extrude.md +83 -0
- package/dist/docs/reference/model/generate.md +46 -0
- package/dist/docs/reference/model/gridPattern.md +80 -0
- package/dist/docs/reference/model/heightfield.md +40 -0
- package/dist/docs/reference/model/hull.md +74 -0
- package/dist/docs/reference/model/immutableBuffer.md +44 -0
- package/dist/docs/reference/model/immutableMesh.md +40 -0
- package/dist/docs/reference/model/implicit.md +47 -0
- package/dist/docs/reference/model/inspectSection.md +38 -0
- package/dist/docs/reference/model/inspectSolid.md +38 -0
- package/dist/docs/reference/model/internalThreadCutter.md +100 -0
- package/dist/docs/reference/model/intersect.md +70 -0
- package/dist/docs/reference/model/isEmpty.md +39 -0
- package/dist/docs/reference/model/linearPattern.md +80 -0
- package/dist/docs/reference/model/loft.md +137 -0
- package/dist/docs/reference/model/matchProfiles.md +42 -0
- package/dist/docs/reference/model/minkowskiSum.md +37 -0
- package/dist/docs/reference/model/pathPattern.md +118 -0
- package/dist/docs/reference/model/polygon.md +40 -0
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +89 -0
- package/dist/docs/reference/model/preflightThreadedNut.md +100 -0
- package/dist/docs/reference/model/preflightThreadedRod.md +89 -0
- package/dist/docs/reference/model/radialPattern.md +113 -0
- package/dist/docs/reference/model/rayCast.md +40 -0
- package/dist/docs/reference/model/rectangle.md +59 -0
- package/dist/docs/reference/model/regularPolygon.md +39 -0
- package/dist/docs/reference/model/revolve.md +74 -0
- package/dist/docs/reference/model/solidFromMesh.md +42 -0
- package/dist/docs/reference/model/sphere.md +42 -0
- package/dist/docs/reference/model/split.md +54 -0
- package/dist/docs/reference/model/splitByPlane.md +66 -0
- package/dist/docs/reference/model/star.md +63 -0
- package/dist/docs/reference/model/stroke.md +74 -0
- package/dist/docs/reference/model/svgPathSection.md +65 -0
- package/dist/docs/reference/model/svgSection.md +64 -0
- package/dist/docs/reference/model/sweep.md +92 -0
- package/dist/docs/reference/model/textSection.md +57 -0
- package/dist/docs/reference/model/threadRidge.md +72 -0
- package/dist/docs/reference/model/threadedNut.md +110 -0
- package/dist/docs/reference/model/threadedRod.md +99 -0
- package/dist/docs/reference/model/toTriangleMesh.md +27 -0
- package/dist/docs/reference/model/torus.md +70 -0
- package/dist/docs/reference/model/transform2.md +39 -0
- package/dist/docs/reference/model/transform3.md +39 -0
- package/dist/docs/reference/model/tube.md +77 -0
- package/dist/docs/reference/model/union.md +72 -0
- package/dist/docs/reference/model/vector2.md +32 -0
- package/dist/docs/reference/model/vector3.md +39 -0
- package/dist/docs/reference/model.md +39 -0
- package/dist/docs/reference/text/Bounds2.md +34 -0
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -0
- package/dist/docs/reference/text/Vector2Tuple.md +7 -0
- package/dist/docs/reference/text/VectorFont.md +186 -0
- package/dist/docs/reference/text/VectorFontOptions.md +17 -0
- package/dist/docs/reference/text/VectorTextArcBaseline.md +53 -0
- package/dist/docs/reference/text/VectorTextLayout.md +34 -0
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +111 -0
- package/dist/docs/reference/text/VectorTextMetrics.md +94 -0
- package/dist/docs/reference/text/VectorTextOptions.md +50 -0
- package/dist/docs/reference/text/categories/font-preparation.md +38 -0
- package/dist/docs/reference/text/prepareVectorFont.md +46 -0
- package/dist/docs/reference/text.md +21 -0
- package/dist/engine/construction-operations.js +10 -3
- package/dist/engine/deferred-context.js +11 -172
- package/dist/engine/execution.js +1 -1
- package/dist/engine/export-3mf.js +2 -2
- package/dist/engine/finalization.js +3 -3
- package/dist/engine/loft-operations.js +4 -4
- package/dist/engine/native/adapter.js +1 -1
- package/dist/engine/native/regions.js +9 -9
- package/dist/engine/native/transforms.js +6 -1
- package/dist/engine/pattern-operations.js +24 -13
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-operations.js +10 -10
- package/dist/engine/primitive-profiles.js +1 -0
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/recipe-realization.js +29 -21
- package/dist/engine/section-operations.js +44 -17
- package/dist/engine/session-graph.js +6 -4
- package/dist/engine/session-native.js +1 -1
- package/dist/engine/session-snapshot.js +3 -2
- package/dist/engine/session.js +4 -5
- package/dist/engine/shape-anchors.js +3 -9
- package/dist/engine/transform-operations.js +42 -25
- package/dist/geometry/bounds.js +117 -0
- package/dist/geometry/cylinder.js +5 -1
- package/dist/geometry/edge-finishing.js +2 -2
- package/dist/geometry/heightfield.js +1 -1
- package/dist/geometry/index.js +20 -13
- package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
- package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
- package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
- package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
- package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
- package/dist/geometry/{loft.js → loft/loft.js} +8 -8
- package/dist/geometry/math/immutable-value.js +20 -0
- package/dist/geometry/math/vector-value.js +168 -0
- package/dist/geometry/math/vector2.js +80 -0
- package/dist/geometry/math/vector3.js +42 -8
- package/dist/geometry/mechanical/gear-motion.js +7 -4
- package/dist/geometry/mechanical/gears.js +2 -2
- package/dist/geometry/mechanical/thread-mesh.js +3 -3
- package/dist/geometry/mechanical/thread-profiles.js +2 -2
- package/dist/geometry/mechanical/thread-surface.js +14 -5
- package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
- package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
- package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
- package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
- package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +5 -1
- package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
- package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
- package/dist/geometry/paths/closest-point.js +74 -0
- package/dist/geometry/paths/frames.js +7 -8
- package/dist/geometry/patterns/options.js +1 -0
- package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
- package/dist/geometry/patterns.js +25 -0
- package/dist/geometry/primitive-resolution.js +4 -1
- package/dist/geometry/primitive-resolvers.js +9 -9
- package/dist/geometry/profiles/contour.js +3 -3
- package/dist/geometry/profiles/matched.js +3 -3
- package/dist/geometry/profiles/profiles.js +10 -10
- package/dist/geometry/profiles/rectangle.js +7 -7
- package/dist/geometry/profiles/shapes.js +9 -9
- package/dist/geometry/profiles/side-profile.js +37 -0
- package/dist/geometry/regions.js +15 -15
- package/dist/geometry/resolution.js +17 -5
- package/dist/geometry/revolve/revolve-mesh.js +5 -5
- package/dist/geometry/stroke-path.js +50 -46
- package/dist/geometry/svg/errors.js +0 -3
- package/dist/geometry/svg/fill.js +7 -7
- package/dist/geometry/svg/index.js +1 -1
- package/dist/geometry/svg/matrix.js +0 -114
- package/dist/geometry/svg/parser.js +1 -439
- package/dist/geometry/svg-import.js +3 -3
- package/dist/geometry/sweeps/stations.js +4 -4
- package/dist/geometry/sweeps/sweep-closed.js +4 -4
- package/dist/geometry/sweeps/sweep-mesh.js +1 -1
- package/dist/geometry/sweeps/sweep-open.js +6 -6
- package/dist/geometry/sweeps/validation.js +2 -2
- package/dist/geometry/text-fitting.js +85 -0
- package/dist/geometry/tolerance.js +2 -2
- package/dist/geometry/transform-chain.js +172 -0
- package/dist/geometry/transform-geometry.js +31 -27
- package/dist/geometry/transform-matrix.js +14 -0
- package/dist/geometry/transform2.js +60 -0
- package/dist/geometry/transform3.js +70 -26
- package/dist/index.js +3 -0
- package/dist/model/execution-binding.js +10 -5
- package/dist/model/generation.js +1 -1
- package/dist/model/geometry-recipes.js +15 -0
- package/dist/{engine → model}/immutable-generation-data.js +25 -3
- package/dist/model/operation-contracts.js +1 -0
- package/dist/model/operation-dispatch.js +13 -0
- package/dist/model/operations.js +40 -59
- package/dist/model/recipe-declaration.js +193 -0
- package/dist/model/shape-handles.js +15 -4
- package/package.json +10 -8
- package/dist/engine/geometry-recipes.js +0 -12
- /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# VectorTextMetrics
|
|
2
|
+
|
|
3
|
+
Text measurements from the same immutable layout that supplies geometry and SVG outlines.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
### bounds
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
`readonly` **bounds**: [`Bounds2`](Bounds2.md) \| `null`
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Visible curve bounds after alignment, or null when the text has no ink.
|
|
16
|
+
|
|
17
|
+
***
|
|
18
|
+
|
|
19
|
+
### advance
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
`readonly` **advance**: readonly \[`number`, `number`\]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Unaligned logical advance and negative baseline displacement in mm; arcs retain [arc length, 0].
|
|
28
|
+
|
|
29
|
+
***
|
|
30
|
+
|
|
31
|
+
### logicalWidth
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
`readonly` **logicalWidth**: `number`
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Maximum logical line advance in millimetres, including spaces; arc length on circular baselines.
|
|
40
|
+
|
|
41
|
+
***
|
|
42
|
+
|
|
43
|
+
### ascent
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
`readonly` **ascent**: `number`
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
Selected font's ascender distance above a baseline in millimetres, independent of the text.
|
|
52
|
+
|
|
53
|
+
***
|
|
54
|
+
|
|
55
|
+
### descent
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
`readonly` **descent**: `number`
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
Selected font's descender distance below a baseline in millimetres, a non-negative value.
|
|
64
|
+
|
|
65
|
+
***
|
|
66
|
+
|
|
67
|
+
### lineHeight
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
`readonly` **lineHeight**: `number`
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
Actual distance between baselines in millimetres.
|
|
76
|
+
|
|
77
|
+
***
|
|
78
|
+
|
|
79
|
+
### lineCount
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
`readonly` **lineCount**: `number`
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
Number of lines, including empty and trailing lines; empty text occupies one line.
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## Related APIs
|
|
91
|
+
|
|
92
|
+
- [Bounds2](Bounds2.md)
|
|
93
|
+
|
|
94
|
+
## Guides
|
|
95
|
+
|
|
96
|
+
- [Section, hole, offset, and extrusion](../../guides/recipes.md#section-hole-offset-and-extrusion)
|
|
97
|
+
- [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
98
|
+
- [Text and font variability](../../guides/concepts.md#text-and-font-variability)
|
|
99
|
+
|
|
100
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# anchor
|
|
2
|
+
|
|
3
|
+
Reads a copied, immutable named anchor from this exact active generation.
|
|
4
|
+
|
|
5
|
+
**anchor**(`shape`: [`Solid`](Solid.md) \| [`Section`](Section.md), `name`: `string`): [`Anchor3`](Anchor3.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Read the top datum
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const plate = box({ size: [30, 20, 6] });
|
|
13
|
+
anchor(plate, "top"); // position [0, 0, 3], direction [0, 0, 1]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Parameters
|
|
17
|
+
|
|
18
|
+
<a id="shape"></a>
|
|
19
|
+
|
|
20
|
+
**`shape`** · [`Solid`](Solid.md) \| [`Section`](Section.md) · Required
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<a id="name"></a>
|
|
25
|
+
|
|
26
|
+
**`name`** · `string` · Required
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Returns
|
|
31
|
+
|
|
32
|
+
[`Anchor3`](Anchor3.md)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Related APIs
|
|
36
|
+
|
|
37
|
+
- [Anchor3](Anchor3.md)
|
|
38
|
+
- [Section](Section.md)
|
|
39
|
+
- [Solid](Solid.md)
|
|
40
|
+
|
|
41
|
+
## Guides
|
|
42
|
+
|
|
43
|
+
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
44
|
+
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
45
|
+
|
|
46
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# box
|
|
2
|
+
|
|
3
|
+
Axis-aligned box with uniform or disjoint named edge/group treatments.
|
|
4
|
+
|
|
5
|
+
**box**(`options`: [`BoxOptions`](BoxOptions.md)): [`Solid`](Solid.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Rounded box
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Parameters
|
|
20
|
+
|
|
21
|
+
<a id="options"></a>
|
|
22
|
+
|
|
23
|
+
**`options`** · [`BoxOptions`](BoxOptions.md) · Required
|
|
24
|
+
|
|
25
|
+
- [`size`](BoxOptions.md#size) · `number` \| [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
26
|
+
|
|
27
|
+
Positive uniform size or explicit `[X, Y, Z]` extents in millimetres.
|
|
28
|
+
|
|
29
|
+
- [`limits`](BoxOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
30
|
+
|
|
31
|
+
Explicit sampling ceilings for edge treatments, bounded by the host policy.
|
|
32
|
+
|
|
33
|
+
- [`center`](BoxOptions.md#center) · `boolean` · Optional · Default: `true`
|
|
34
|
+
|
|
35
|
+
Centers the box on the XYZ origin when `true`; otherwise its minimum corner is at the origin.
|
|
36
|
+
|
|
37
|
+
- [`treatment`](BoxOptions.md#treatment) · [`EdgeTreatment`](EdgeTreatment.md) \| `Readonly`\<`Partial`\<`Record`\<[`BoxEdgeSelection`](BoxEdgeSelection.md), [`EdgeTreatment`](EdgeTreatment.md)\>\>\> · Optional
|
|
38
|
+
|
|
39
|
+
Uniform treatment or independent disjoint nominal edge/group treatments.
|
|
40
|
+
|
|
41
|
+
- [`placement`](BoxOptions.md#placement) · [`PrimitivePlacementOptions`](PrimitivePlacementOptions.md) · Optional
|
|
42
|
+
|
|
43
|
+
Applied after local construction; Section placement must preserve the XY plane.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Returns
|
|
48
|
+
|
|
49
|
+
[`Solid`](Solid.md)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## Related APIs
|
|
53
|
+
|
|
54
|
+
- [BoxOptions](BoxOptions.md)
|
|
55
|
+
- [Solid](Solid.md)
|
|
56
|
+
|
|
57
|
+
## Guides
|
|
58
|
+
|
|
59
|
+
- [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
|
|
60
|
+
- [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
61
|
+
|
|
62
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Boolean Operations
|
|
2
|
+
|
|
3
|
+
Combine, intersect and subtract same-dimensional shapes; construct solid envelopes and sums.
|
|
4
|
+
|
|
5
|
+
union and intersect combine arrays of Sections or Solids; shape.subtract(cutters) cuts an array from one base. Every operand must have the same dimension. Section operations preserve filled holes and disconnected components. compose combines solid components without a Boolean union; hull and minkowskiSum construct envelopes. Keep Boolean overtravel separate from physical fit clearance. hull accepts compatible solid and section recipes, or finite points. split returns intersection then subtraction without repeating the cutter setup. Plane operations use a nonzero normal and a signed millimetre offset along its normalized direction; empty results remain queryable handles.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [compose](../compose.md) | Combines disjoint components without resolving overlap. |
|
|
12
|
+
| [hull](../hull.md) | Convex hull of points or solids. |
|
|
13
|
+
| [intersect](../intersect.md) | Robust intersection. |
|
|
14
|
+
| [minkowskiSum](../minkowskiSum.md) | Three-dimensional Minkowski sum. |
|
|
15
|
+
| [union](../union.md) | Robust union. |
|
|
16
|
+
| [split](../split.md) | Splits a solid into [inside the cutter, outside the cutter]. |
|
|
17
|
+
| [splitByPlane](../splitByPlane.md) | Splits a solid into [positive-normal side, negative side] at a world-space plane. |
|
|
18
|
+
|
|
19
|
+
## Interfaces
|
|
20
|
+
|
|
21
|
+
| API | Summary |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| [PlaneOptions](../PlaneOptions.md) | A world-space cutting plane, retaining the half-space in the normal's direction. |
|
|
24
|
+
|
|
25
|
+
## Type aliases
|
|
26
|
+
|
|
27
|
+
| API | Summary |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| [HullOptions](../HullOptions.md) | Hull inputs are either finite points or solid recipes. |
|
|
30
|
+
| [SectionHullOptions](../SectionHullOptions.md) | Planar convex hull inputs are finite XY points or filled section recipes. |
|
|
31
|
+
|
|
32
|
+
## Guides
|
|
33
|
+
|
|
34
|
+
- [Choose the Boolean by the material you want](../../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
35
|
+
- [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
36
|
+
|
|
37
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Sampled surfaces
|
|
2
|
+
|
|
3
|
+
Construct bounded heightfields and positive-inside implicit fields.
|
|
4
|
+
|
|
5
|
+
Heightfields accept uniform or explicit uneven XY coordinates and close absolute heights against a flat base. Fixed or shorter-edge triangulation samples each grid point once; centre-error selection also samples each cell centre without adding triangles. Implicit sampling uses finite bounds, positive grid spacing, and fixed algorithm limits before the engine checks actual extracted output. Neither operation silently reduces fidelity.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [heightfield](../heightfield.md) | Closed rectilinear top above a flat base, with uniform or explicit XY coordinates. Samples each grid height once; center-error triangulation also samples each cell centre. The retained callback must capture independent immutable inputs, not live session readers or parameters. |
|
|
12
|
+
| [implicit](../implicit.md) | Bounded positive-inside implicit field constructor. The retained callback must capture independent immutable inputs, not live session readers or parameters. |
|
|
13
|
+
|
|
14
|
+
## Interfaces
|
|
15
|
+
|
|
16
|
+
| API | Summary |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| [ImplicitOptions](../ImplicitOptions.md) | Positive-inside sampling, bounded to 4M native BCC grid slots and 8M field calls. |
|
|
19
|
+
|
|
20
|
+
## Type aliases
|
|
21
|
+
|
|
22
|
+
| API | Summary |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| [HeightfieldOptions](../HeightfieldOptions.md) | A closed rectilinear heightfield above a flat base, with uniform or explicit XY samples in millimetres. |
|
|
25
|
+
|
|
26
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Model contracts
|
|
2
|
+
|
|
3
|
+
Describe opaque handles, dimensions, manufacturing parts, and completed snapshots.
|
|
4
|
+
|
|
5
|
+
Generation returns semantic parts from part(id, geometry) or placement/color options. Opaque recipe handles belong to their session. Finalized snapshots carry copied manufacturing arrays and exact facts.
|
|
6
|
+
|
|
7
|
+
## Interfaces
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [FinalizedModel](../FinalizedModel.md) | Finalized manufacturing snapshot. Its arrays are independent of all native values. |
|
|
12
|
+
| [FinalizedPart](../FinalizedPart.md) | Copied manufacturing part with facts computed from the finalized mesh. |
|
|
13
|
+
| [GeometrySamplingLimits](../GeometrySamplingLimits.md) | Explicit allocation ceilings for pure sampling and host-owned modeling operations. |
|
|
14
|
+
| [ModelingLimits](../ModelingLimits.md) | Aggregate manufacturing output ceilings selected by a trusted host. |
|
|
15
|
+
|
|
16
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Core Values & Errors
|
|
2
|
+
|
|
3
|
+
Use the small shared vocabulary for authored geometry, coordinates, paths, and stable failures.
|
|
4
|
+
|
|
5
|
+
Use the small shared vocabulary for authored geometry, coordinates, paths, and stable failures.
|
|
6
|
+
|
|
7
|
+
## Interfaces
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [Frame3](../Frame3.md) | A right-handed orthonormal coordinate frame expressed in world coordinates. |
|
|
12
|
+
| [PolygonData](../PolygonData.md) | One bounded two-dimensional polygon. |
|
|
13
|
+
| [Bounds2](../Bounds2.md) | Axis-aligned bounds in two-dimensional model space. |
|
|
14
|
+
| [Bounds3](../Bounds3.md) | Axis-aligned bounds in three-dimensional model space. |
|
|
15
|
+
|
|
16
|
+
## Type aliases
|
|
17
|
+
|
|
18
|
+
| API | Summary |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| [Contour](../Contour.md) | A closed two-dimensional boundary whose first point is not repeated at the end. |
|
|
21
|
+
| [RegionData](../RegionData.md) | A two-dimensional region represented by disjoint filled polygons. |
|
|
22
|
+
| [Vector2Tuple](../Vector2Tuple.md) | A two-dimensional Cartesian vector or point. |
|
|
23
|
+
| [Vector3Tuple](../Vector3Tuple.md) | A three-dimensional Cartesian vector or point. |
|
|
24
|
+
|
|
25
|
+
## Guides
|
|
26
|
+
|
|
27
|
+
- [Geometry vocabulary](../../../guides/concepts.md#geometry-vocabulary)
|
|
28
|
+
- [Lifecycle and inspection](../../../guides/concepts.md#lifecycle-and-inspection)
|
|
29
|
+
|
|
30
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Explicit matching profiles
|
|
2
|
+
|
|
3
|
+
Build hollow or multicomponent lofts and sweeps using stable landmarks.
|
|
4
|
+
|
|
5
|
+
Contour is plain point data with an implicit closing edge. Profile is an identified family specification with stable component, contour and span IDs; it is distinct from a filled Section. Prepare matchProfiles over the complete family once to produce CorrespondingProfile values. All paired spans share a physical sampling grid, including logical slots for collapsed corners. loft and sweep consume this correspondence without guessing topology or rematching.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [matchProfiles](../matchProfiles.md) | Explicit family matching on a shared physical span grid using session or operation resolution. |
|
|
12
|
+
|
|
13
|
+
## Interfaces
|
|
14
|
+
|
|
15
|
+
| API | Summary |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| [CorrespondingProfile](../CorrespondingProfile.md) | Shared logical contour sampling suitable for a loft or hollow sweep. |
|
|
18
|
+
| [CorrespondingComponent](../CorrespondingComponent.md) | One sampled component retaining contour identities and logical point correspondence. |
|
|
19
|
+
| [CorrespondingContour](../CorrespondingContour.md) | A sampled contour retaining logical slots, including intentionally collapsed spans. |
|
|
20
|
+
| [MatchProfilesOptions](../MatchProfilesOptions.md) | Explicit family sampling settings; omitted values use physical package defaults. |
|
|
21
|
+
| [Profile](../Profile.md) | An explicit component/contour/span topology, before shared family sampling. |
|
|
22
|
+
| [ProfileComponent2](../ProfileComponent2.md) | One component and its explicitly identified holes. |
|
|
23
|
+
| [ProfileContour2](../ProfileContour2.md) | Ordered, closed spans. Outer winding is CCW and hole winding is CW. |
|
|
24
|
+
|
|
25
|
+
## Type aliases
|
|
26
|
+
|
|
27
|
+
| API | Summary |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| [CorrespondingProfileStation](../CorrespondingProfileStation.md) | One already matched profile at an explicit height or right-handed spatial frame. |
|
|
30
|
+
| [ProfileSpan2](../ProfileSpan2.md) | An identified line, circular arc, or cubic Bézier between corresponding landmarks. |
|
|
31
|
+
|
|
32
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Extrude, Revolve & Sweep
|
|
2
|
+
|
|
3
|
+
Turn sections and paths into extruded, lofted, revolved, or swept solids.
|
|
4
|
+
|
|
5
|
+
`section.extrude({ height, twistDegrees, scaleTop })` adds +Z depth; center defaults to false. `section.revolve({ revolveDegrees })` rotates radial/Z geometry around +Z and caps partial turns. loft(stations, options) places each profile at exactly one z or frame in input order. Compatible primitive landmarks match directly, including circle/ellipse quadrants to rectangle corners. Other unlike primitive families use direct perimeter association from construction-local +X seams. Arbitrary Sections and loops require an explicit direct, reindex, fast-distance or distance method. refine controls density and slices interpolate world vertices. Identified CorrespondingProfile landmarks reject geometric remapping. section.sweep(path, options) supports implicit closed paths, transport/fixed-normal/guide/Frenet orientation, physical-length or station twist progression, uniform/XY/per-station scales and an explicit rotationally equivalent seamProfileOffset. Open sweeps have watertight end caps; closed sweeps require compatible orientation and scale at the seam. Standalone extrude, revolve and sweep accept CorrespondingProfile data only; Section construction uses its methods.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [extrude](../extrude.md) | Extrudes explicit corresponding contours along +Z with degree twist and top scaling. Filled Sections use `section.extrude(options)`. |
|
|
12
|
+
| [loft](../loft.md) | Lofts primitive Sections at z heights or frames; arbitrary Sections and loops require an explicit correspondence method. |
|
|
13
|
+
| [revolve](../revolve.md) | Revolves explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Filled Sections use `section.revolve(options)`. |
|
|
14
|
+
| [sweep](../sweep.md) | Sweeps explicit corresponding contours using the selected frame policy. Filled Sections use `section.sweep(path, options)`. |
|
|
15
|
+
|
|
16
|
+
## Interfaces
|
|
17
|
+
|
|
18
|
+
| API | Summary |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| [ExtrudeOptions](../ExtrudeOptions.md) | Dimensions and sampling shared by native and pure +Z extrusion. |
|
|
21
|
+
| [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections require explicit correspondence. |
|
|
22
|
+
| [RevolveOptions](../RevolveOptions.md) | Circumferential sampling and degree sweep shared by pure and filled revolution. |
|
|
23
|
+
| [SweepOptions](../SweepOptions.md) | Controls shared by pure mesh construction and filled modeling sweeps. |
|
|
24
|
+
|
|
25
|
+
## Type aliases
|
|
26
|
+
|
|
27
|
+
| API | Summary |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| [LoftCorrespondence](../LoftCorrespondence.md) | Associates ordered loft contours without inferring component identities or repairing topology. |
|
|
30
|
+
| [LoftPlacement](../LoftPlacement.md) | A horizontal XY station height, or an explicit right-handed spatial frame, never both. |
|
|
31
|
+
| [LoftStation](../LoftStation.md) | A Section or point loop at an explicit height or frame. |
|
|
32
|
+
| [PathNormalGuide](../PathNormalGuide.md) | Supplies a profile-X orientation guide for each original normalized sweep station. |
|
|
33
|
+
| [SweepOrientation](../SweepOrientation.md) | Explicit profile-X frame policy; all normals are directed, and selected singular policies reject. |
|
|
34
|
+
|
|
35
|
+
## Guides
|
|
36
|
+
|
|
37
|
+
- [Revolve a radial profile](../../../guides/recipes.md#revolve-a-radial-profile)
|
|
38
|
+
- [Rotation-minimizing path sweep](../../../guides/recipes.md#rotation-minimizing-path-sweep)
|
|
39
|
+
- [Matched-section loft](../../../guides/recipes.md#matched-section-loft)
|
|
40
|
+
- [Choose a modeling path](../../../guides/concepts.md#choose-a-modeling-path)
|
|
41
|
+
|
|
42
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Model generation
|
|
2
|
+
|
|
3
|
+
Declare typed programs, optional computations, semantic parts and structured diagnostics.
|
|
4
|
+
|
|
5
|
+
Start with `generate(({ params, part, assert }) => ...)` and return one `part(...)` or a readonly array of parts. Parameter values are ordinary readonly data. `computed(id, callback)` optionally caches pure data or geometry and tracks synchronous reads. List changing outer captures with `computed(id, () => ..., [value])`; dependency arrays supplement automatic tracking. Assertions stop immediately; warnings continue and must be emitted in the outer callback. Place finished parts with `position` in millimetres and fixed global XYZ `rotation` in degrees. Capture cached numeric arrays with `immutableBuffer` and indexed meshes with `immutableMesh`. Buffers expose only length, at(index), and copy(); snapshots still contain ordinary typed arrays.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [generate](../generate.md) | Defines a typed model without executing it. Use `computed` only for work worth reusing. |
|
|
12
|
+
| [immutableBuffer](../immutableBuffer.md) | Copies numeric data once into private storage. This pure helper needs no active generation. |
|
|
13
|
+
| [immutableMesh](../immutableMesh.md) | Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing. |
|
|
14
|
+
|
|
15
|
+
## Classes
|
|
16
|
+
|
|
17
|
+
| API | Summary |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| [GenerationError](../GenerationError.md) | A user-correctable assertion failure. Successful computation caches never retain failures. |
|
|
20
|
+
|
|
21
|
+
## Interfaces
|
|
22
|
+
|
|
23
|
+
| API | Summary |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| [ImmutableBuffer](../ImmutableBuffer-type.md) | Owned immutable numeric data. Use copy() to obtain mutable storage for numerical work. |
|
|
26
|
+
| [ImmutableTriangleMesh](../ImmutableTriangleMesh.md) | Immutable local XYZ positions and triangle indices, suitable for a computed value or part. |
|
|
27
|
+
| [Computed](../Computed.md) | Reads immutable data or a deferred recipe; evaluation is synchronous and cached. |
|
|
28
|
+
| [DiagnosticOptions](../DiagnosticOptions.md) | Typed parameter association for an assertion or warning. |
|
|
29
|
+
| [GenerateContext](../GenerateContext.md) | The sole synchronous authoring context, supplied independently of Studio. |
|
|
30
|
+
| [GeneratedPart](../GeneratedPart.md) | One declared output part. Construct with the context's `part` helper. |
|
|
31
|
+
| [GenerationDiagnostic](../GenerationDiagnostic.md) | Structured user-facing issue associated with the attempted revision. |
|
|
32
|
+
| [ModelProgram](../ModelProgram.md) | Stateless portable program descriptor. Execution and caches belong to an engine session. |
|
|
33
|
+
| [PartOptions](../PartOptions.md) | Appearance and rigid placement of a finished local manufacturing part. |
|
|
34
|
+
|
|
35
|
+
## Type aliases
|
|
36
|
+
|
|
37
|
+
| API | Summary |
|
|
38
|
+
| --- | --- |
|
|
39
|
+
| [NumericArray](../NumericArray.md) | Numeric storage supported by immutable generation buffers. |
|
|
40
|
+
| [ComputedValue](../ComputedValue.md) | A value supplied immediately or by a lazy computed reader. |
|
|
41
|
+
| [GenerateCallback](../GenerateCallback.md) | Pure synchronous callback returning one declared part or an array; caches are optional. |
|
|
42
|
+
| [PartGeometry](../PartGeometry.md) | Manufacturing geometry; filled sections are intermediate construction values. |
|
|
43
|
+
|
|
44
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Solid inspection
|
|
2
|
+
|
|
3
|
+
Evaluate recipes and copy observations while the host owns native resources.
|
|
4
|
+
|
|
5
|
+
Inspection returns copied scalar facts and finite bounds. Mesh extraction is explicit; finalized engine output is already copied and validated. Ordinary recipes remain reusable after session disposal. Observed component selections and recipes using them can only be evaluated in their originating session. Recipe handles cannot cross a Worker boundary. components accepts either dimension; simplify is an immutable shape method. Solid.projectSection and Solid.sliceSection return Sections. isEmpty distinguishes empty Boolean/split results; distance measures the minimum separation between nonempty solids and returns zero for contact or overlapping material.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [components](../components.md) | Observes a solid's disconnected surface shells as session-restricted solid selections. |
|
|
12
|
+
| [rayCast](../rayCast.md) | Copies intersections along the finite directed origin-to-endpoint segment. |
|
|
13
|
+
| [toTriangleMesh](../toTriangleMesh.md) | Copies a handle to manufacturing mesh buffers. |
|
|
14
|
+
| [isEmpty](../isEmpty.md) | Checks whether a solid or filled section contains no geometry during host execution. |
|
|
15
|
+
| [distance](../distance.md) | Measures the minimum separation between two nonempty solids in millimetres. |
|
|
16
|
+
|
|
17
|
+
## Interfaces
|
|
18
|
+
|
|
19
|
+
| API | Summary |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| [SolidRayHit](../SolidRayHit.md) | Copied surface intersection from a finite directed segment. Distance is in millimetres. |
|
|
22
|
+
|
|
23
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Mesh & Inspection
|
|
2
|
+
|
|
3
|
+
Convert validated meshes and inspect stable section or solid measurements.
|
|
4
|
+
|
|
5
|
+
inspectSection and inspectSolid copy native scalar facts and bounds from recipes in the active host execution. toTriangleMesh returns copied manufacturing arrays; final engine output also receives strict mesh analysis. Neither inspection certifies wall thickness, overhangs, printer fit or material behavior.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [inspectSection](../inspectSection.md) | Copies lightweight section measurements. |
|
|
12
|
+
| [inspectSolid](../inspectSolid.md) | Reads immutable native facts once per solid; temporary components are owned by the build. |
|
|
13
|
+
| [solidFromMesh](../solidFromMesh.md) | Imports a bounded closed indexed mesh. |
|
|
14
|
+
|
|
15
|
+
## Interfaces
|
|
16
|
+
|
|
17
|
+
| API | Summary |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| [SectionInspection](../SectionInspection.md) | Immutable native filled section facts in millimetres and square millimetres. Repeated inspections of the same native shape share these facts within one revision. |
|
|
20
|
+
| [SolidInspection](../SolidInspection.md) | Immutable solid bounds, emptiness, component count, volume, surface area and native tolerance. Repeated inspections of the same native shape share these facts within one revision. |
|
|
21
|
+
| [TriangleMesh](../TriangleMesh.md) | A topology-preserving indexed triangle mesh with XYZ vertex positions. |
|
|
22
|
+
| [TriangleMeshAnalysis](../TriangleMeshAnalysis.md) | Measurements and optional edge-connected topology from one validated mesh traversal. |
|
|
23
|
+
| [TriangleMeshMeasurements](../TriangleMeshMeasurements.md) | Geometric measurements derived from a validated, non-empty triangle mesh. |
|
|
24
|
+
|
|
25
|
+
## Guides
|
|
26
|
+
|
|
27
|
+
- [Solid inspection](../../../guides/recipes.md#solid-inspection)
|
|
28
|
+
|
|
29
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Primitives
|
|
2
|
+
|
|
3
|
+
Create foundational solid geometry and configure its dimensions and tessellation.
|
|
4
|
+
|
|
5
|
+
All primitives use millimetres and one options object. `box` accepts scalar or XYZ size; `cylinder` accepts exactly one radius or diameter, uniformly or as a bottom/top tuple along +Z. Radial sizing explicitly selects polygon vertices or compensated faces. Treatments share `{kind: "round", radius}`, `{kind: "chamfer", distance}`, `{kind: "smooth", distance}` and `{kind: "profile", profile}`; boxes may select named edges; cylinder and straight convex extrusion ends select independent bottom/top treatments. Boxes, cylinders and tubes are centered by default. `placement` maps a named or explicit local anchor onto a world anchor after shape construction.
|
|
6
|
+
|
|
7
|
+
Use imported primitives inside generation:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { box, cylinder, generate } from "@metamesh/modeling";
|
|
11
|
+
export default generate(({ part }) => {
|
|
12
|
+
const plate = box({ size: [30, 20, 6], treatment: { kind: "chamfer", distance: 0.5 } });
|
|
13
|
+
const bore = cylinder({ radius: 3, height: 8, sizing: "face" });
|
|
14
|
+
return [part("plate", plate.subtract([bore]))];
|
|
15
|
+
});
|
|
16
|
+
``` Zero round radius or zero chamfer/smooth setbacks leave a feature untreated; setback tuples are either all zero or both positive.
|
|
17
|
+
|
|
18
|
+
## Functions
|
|
19
|
+
|
|
20
|
+
| API | Summary |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| [box](../box.md) | Axis-aligned box with uniform or disjoint named edge/group treatments. |
|
|
23
|
+
| [cylinder](../cylinder.md) | +Z cylinder or frustum. Face sizing compensates polygon faceting. |
|
|
24
|
+
| [sphere](../sphere.md) | Origin-centered sphere. |
|
|
25
|
+
| [torus](../torus.md) | Torus around +Z. |
|
|
26
|
+
| [tube](../tube.md) | Hollow +Z tube. |
|
|
27
|
+
|
|
28
|
+
## Interfaces
|
|
29
|
+
|
|
30
|
+
| API | Summary |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| [Solid](../Solid.md) | Immutable deferred solid recipe. Construction and composition require no engine. Ordinary recipes may be reused across sessions regardless of where constructed. Explicit resolution settings are captured; unspecified settings inherit the evaluating host's defaults. Observed components and recipes using them can only be evaluated in their originating session. Methods leave the source unchanged and use millimetres and degrees. A no-op may reuse the receiver; final part placement belongs in `part` options. |
|
|
33
|
+
| [BoxOptions](../BoxOptions.md) | Dimensions, placement, and uniform or independently selected finishing for an axis-aligned box. |
|
|
34
|
+
| [ChamferedEdgeTreatment](../ChamferedEdgeTreatment.md) | A planar edge or corner chamfer with equal or independent surface setbacks. |
|
|
35
|
+
| [CircularPrimitiveOptions](../CircularPrimitiveOptions.md) | Tessellation controls shared by circular primitives across Geometry entry points. |
|
|
36
|
+
| [EndTreatments](../EndTreatments.md) | Independent inward finishing on primitive or straight convex extrusion ends. Zero amounts leave the end untreated, including when all ends are disabled. |
|
|
37
|
+
| [RadialSizingOptions](../RadialSizingOptions.md) | Nominal radial sizing shared by circular and regular polygon construction. |
|
|
38
|
+
| [RoundedEdgeTreatment](../RoundedEdgeTreatment.md) | A circular edge or corner roundover with explicit physical sampling. |
|
|
39
|
+
| [TorusOptions](../TorusOptions.md) | Dimensions and independent ring/profile tessellation for a torus around the Z axis. |
|
|
40
|
+
| [TubeOptions](../TubeOptions.md) | Dimensions, placement, and tessellation for a hollow Z-axis tube. |
|
|
41
|
+
| [SmoothEdgeTreatment](../SmoothEdgeTreatment.md) | A cubic corner transition with zero curvature at its straight tangent joins. |
|
|
42
|
+
| [ProfiledEdgeTreatment](../ProfiledEdgeTreatment.md) | A deliberately sampled, inward-only corner profile with exact polyline geometry. |
|
|
43
|
+
|
|
44
|
+
## Type aliases
|
|
45
|
+
|
|
46
|
+
| API | Summary |
|
|
47
|
+
| --- | --- |
|
|
48
|
+
| [CylinderOptions](../CylinderOptions.md) | Dimensions, placement, independent end finishing, and tessellation for a Z-axis cylinder or frustum. |
|
|
49
|
+
| [EdgeTreatment](../EdgeTreatment.md) | Uniform finishing vocabulary shared by applicable solid edges and profile corners. |
|
|
50
|
+
| [RadialSizing](../RadialSizing.md) | Radial dimensions refer to polygon vertices or compensate faceting to meet polygon faces. |
|
|
51
|
+
| [SphereOptions](../SphereOptions.md) | Exactly one radius or diameter, placement, and tessellation for an origin-centered sphere. |
|
|
52
|
+
| [BoxEdge](../BoxEdge.md) | Box edges use +Z top, +Y front and +X right; vertical names list front/back first. |
|
|
53
|
+
| [BoxEdgeSelection](../BoxEdgeSelection.md) | Named individual edges or top/bottom rims and all four vertical edges. |
|
|
54
|
+
| [BoxEdgeTreatments](../BoxEdgeTreatments.md) | Independent treatments for disjoint named edge selections; overlapping selections fail. |
|
|
55
|
+
|
|
56
|
+
## Guides
|
|
57
|
+
|
|
58
|
+
- [Choose a primitive](../../../guides/recipes.md#choose-a-primitive)
|
|
59
|
+
- [Treated boxes, frustums, and mirrored arrays](../../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
60
|
+
|
|
61
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Local resolution
|
|
2
|
+
|
|
3
|
+
Choose physical curve sampling and explicit native tolerance.
|
|
4
|
+
|
|
5
|
+
Exact operation counts take precedence over the operation’s resolution policy, followed by host session defaults. Pass resolution explicitly to each affected constructor or Section operation. Solid.setTolerance changes native geometric tolerance on an immutable copy; it does not select curve sampling.
|
|
6
|
+
|
|
7
|
+
## Interfaces
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [GeometryResolution](../GeometryResolution.md) | Tessellation policy for sampled geometry measured in millimetres. |
|
|
12
|
+
| [GeometryToleranceOptions](../GeometryToleranceOptions.md) | Optional overrides for MetaMesh's geometry comparison policy. |
|
|
13
|
+
|
|
14
|
+
## Guides
|
|
15
|
+
|
|
16
|
+
- [Coordinates, units, and resolution](../../../guides/concepts.md#coordinates-units-and-resolution)
|
|
17
|
+
|
|
18
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# 2D Sections
|
|
2
|
+
|
|
3
|
+
Create immutable filled XY shapes, including prepared text and bounded painted SVG.
|
|
4
|
+
|
|
5
|
+
Section is the filled XY modeling value with holes and disconnected components. RegionData is its serialized polygon data. Construct with `polygon(points)`, `polygon({ outer, holes })`, `polygon({ contours, fillRule })`, or `polygon({ polygons: data })`. Explicit topology validates boundaries and winding; compound contours use nonzero fill by default or evenodd fill. Observe evaluated coordinates with section.toRegionData() during synchronous host execution. Construction and composition are engine-independent; native evaluation is host-owned. textSection consumes prepared VectorTextLayout without shaping again. Extrusion, revolution and sweeps preserve filled topology. Compatible primitive Sections retain authored landmarks for lofting; arbitrary Sections need explicit correspondence.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [stroke](../stroke.md) | Creates a centered-width native Section along a sampled XY path. |
|
|
12
|
+
| [circle](../circle.md) | Centered circular section. |
|
|
13
|
+
| [ellipse](../ellipse.md) | Centered elliptical section. |
|
|
14
|
+
| [rectangle](../rectangle.md) | Filled rectangular section with uniform or independently treated corners. |
|
|
15
|
+
| [regularPolygon](../regularPolygon.md) | Regular polygon with a vertex on +X. |
|
|
16
|
+
| [polygon](../polygon.md) | Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours. Closing edges are implicit. Compound contours use nonzero fill unless selected otherwise. Explicit topology must be simple and disjoint; compound winding may resolve overlaps. |
|
|
17
|
+
| [star](../star.md) | Alternating outer/inner star vertices. |
|
|
18
|
+
| [svgPathSection](../svgPathSection.md) | Imports bounded filled SVG path data. |
|
|
19
|
+
| [svgSection](../svgSection.md) | Imports bounded painted SVG document geometry. |
|
|
20
|
+
| [textSection](../textSection.md) | Consumes a previously prepared layout; never shapes or fetches a font. |
|
|
21
|
+
|
|
22
|
+
## Interfaces
|
|
23
|
+
|
|
24
|
+
| API | Summary |
|
|
25
|
+
| --- | --- |
|
|
26
|
+
| [Section](../Section.md) | Immutable deferred filled XY section recipe. Construction and composition require no engine. Ordinary recipes may be reused across sessions regardless of where constructed. Observed components and recipes using them can only be evaluated in their originating session. Methods leave the source unchanged; observations require a synchronous model execution. Distances use millimetres; rotations use counterclockwise degrees. Explicit resolution settings are captured; unspecified settings inherit the evaluating host's defaults. |
|
|
27
|
+
| [StrokeOptions](../StrokeOptions.md) | Physical stroke and topology controls shared by pure regions and native Sections. |
|
|
28
|
+
| [RectangleContourOptions](../RectangleContourOptions.md) | Shared rectangle dimensions, origin and uniform or per-corner treatment. |
|
|
29
|
+
| [RectangleOptions](../RectangleOptions.md) | Rectangle dimensions, placement and uniform or per-corner treatment. |
|
|
30
|
+
| [SectionOffsetOptions](../SectionOffsetOptions.md) | Options controlling robust Clipper2 region offsets. |
|
|
31
|
+
| [StarOptions](../StarOptions.md) | Alternating outer and inner vertices, centered on the XY origin. |
|
|
32
|
+
| [SvgPathSectionOptions](../SvgPathSectionOptions.md) | Bounded filled SVG path sampling. Path scale converts user units to millimetres. |
|
|
33
|
+
| [SvgSectionOptions](../SvgSectionOptions.md) | Bounded SVG document sampling. Center origin uses the final painted bounds. |
|
|
34
|
+
| [TextSectionOptions](../TextSectionOptions.md) | Physical curve sampling applied to already prepared vector text. |
|
|
35
|
+
| [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
|
|
36
|
+
| [VectorTextMetrics](../VectorTextMetrics.md) | Text measurements from the same immutable layout that supplies geometry and SVG outlines. |
|
|
37
|
+
|
|
38
|
+
## Type aliases
|
|
39
|
+
|
|
40
|
+
| API | Summary |
|
|
41
|
+
| --- | --- |
|
|
42
|
+
| [Path2](../Path2.md) | An ordered, open sequence of two-dimensional points. |
|
|
43
|
+
| [StrokePathCap](../StrokePathCap.md) | End-cap treatment for an open stroked path. |
|
|
44
|
+
| [StrokePathJoin](../StrokePathJoin.md) | Join treatment where adjacent stroked path segments meet. |
|
|
45
|
+
| [CircleContourOptions](../CircleContourOptions.md) | Circular profile dimensions with exactly one radius or diameter and explicit sampling. |
|
|
46
|
+
| [CircleOptions](../CircleOptions.md) | Circular dimensions with exactly one nominal radius or diameter. |
|
|
47
|
+
| [EllipseContourOptions](../EllipseContourOptions.md) | Ellipse dimensions with exactly one XY radii or full-size tuple and explicit sampling. |
|
|
48
|
+
| [EllipseOptions](../EllipseOptions.md) | Ellipse dimensions in local XY, with exactly one radii or full-size tuple. |
|
|
49
|
+
| [RectangleCornerTreatment](../RectangleCornerTreatment.md) | A rectangle corner, including an explicitly untreated corner in a treatment tuple. |
|
|
50
|
+
| [RectangleCornerTreatments](../RectangleCornerTreatments.md) | Corner treatments ordered top-right, top-left, bottom-left, bottom-right. |
|
|
51
|
+
| [RegularPolygonOptions](../RegularPolygonOptions.md) | Regular polygon dimensions, radial convention and degree rotation. |
|
|
52
|
+
| [SectionOffsetJoin](../SectionOffsetJoin.md) | Clipper2 join styles accepted by robust region offsets. |
|
|
53
|
+
| [PolygonOptions](../PolygonOptions.md) | Explicit polygon topology or compound contours; all closing edges are implicit. |
|
|
54
|
+
| [SvgOrigin](../SvgOrigin.md) | Placement of painted SVG geometry after SVG Y-axis inversion. |
|
|
55
|
+
|
|
56
|
+
## Guides
|
|
57
|
+
|
|
58
|
+
- [Section, hole, offset, and extrusion](../../../guides/recipes.md#section-hole-offset-and-extrusion)
|
|
59
|
+
- [SVG sections: fills and strokes are different inputs](../../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
60
|
+
- [Text and font variability](../../../guides/concepts.md#text-and-font-variability)
|
|
61
|
+
|
|
62
|
+
Package: `@metamesh/modeling@0.14.0`.
|