@metamesh/modeling 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/README.md +60 -58
- package/dist/api/engine.d.ts +123 -97
- package/dist/api/geometry.d.ts +3896 -3307
- package/dist/api/index.d.ts +2489 -2267
- package/dist/api/text.d.ts +119 -107
- package/dist/docs/guides/concepts.md +197 -0
- package/dist/docs/guides/fonts.md +51 -0
- package/dist/docs/guides/fundamentals.md +135 -0
- package/dist/docs/guides/generation.md +221 -0
- package/dist/docs/guides/hosting.md +88 -0
- package/dist/docs/guides/recipes.md +668 -0
- package/dist/docs/manifest.json +9851 -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 +79 -0
- package/dist/docs/reference/geometry/Anchor3.md +49 -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 +58 -0
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +61 -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 +7 -0
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +59 -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/ClearanceHoleDimensions.md +41 -0
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -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 +7 -0
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +83 -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 +65 -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 +14 -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/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/Polygon.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/Region.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/Transform3.md +12 -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.md +7 -0
- package/dist/docs/reference/geometry/Vector3.md +7 -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/add3.md +38 -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 +41 -0
- package/dist/docs/reference/geometry/applyTransformPoint3.md +39 -0
- package/dist/docs/reference/geometry/attachTransform.md +73 -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 +48 -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 +63 -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 +46 -0
- package/dist/docs/reference/geometry/categories/transforms-math.md +63 -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/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 +40 -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 +63 -0
- package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
- package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
- package/dist/docs/reference/geometry/cross3.md +38 -0
- package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
- package/dist/docs/reference/geometry/cylinderAnchor3.md +56 -0
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
- package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
- package/dist/docs/reference/geometry/dot3.md +38 -0
- package/dist/docs/reference/geometry/ellipseContour.md +33 -0
- package/dist/docs/reference/geometry/eulerTransform3.md +38 -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 +44 -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 +30 -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/length3.md +26 -0
- package/dist/docs/reference/geometry/lerp3.md +38 -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 +47 -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/normalize3.md +32 -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 +32 -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 +79 -0
- package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
- package/dist/docs/reference/geometry/resolveCircularSegments.md +61 -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/rotateAroundAxis3.md +38 -0
- package/dist/docs/reference/geometry/rotationTransform3.md +49 -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/scale3.md +38 -0
- package/dist/docs/reference/geometry/scaleTransform3.md +34 -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/subtract3.md +38 -0
- package/dist/docs/reference/geometry/sweepMesh.md +82 -0
- package/dist/docs/reference/geometry/transformContour.md +42 -0
- package/dist/docs/reference/geometry/transformDeterminant3.md +32 -0
- package/dist/docs/reference/geometry/transformPath2.md +40 -0
- package/dist/docs/reference/geometry/transformPath3.md +33 -0
- package/dist/docs/reference/geometry/transformRegion.md +40 -0
- package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
- package/dist/docs/reference/geometry/translationTransform3.md +31 -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 +43 -0
- package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -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/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/PlaneOptions.md +39 -0
- package/dist/docs/reference/model/Polygon-type.md +43 -0
- package/dist/docs/reference/model/PolygonOptions.md +112 -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/Region.md +19 -0
- package/dist/docs/reference/model/RegionOffsetJoin.md +16 -0
- package/dist/docs/reference/model/RegionOffsetOptions.md +65 -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 +450 -0
- package/dist/docs/reference/model/SectionHullOptions.md +72 -0
- package/dist/docs/reference/model/SectionInspection.md +98 -0
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
- package/dist/docs/reference/model/Solid.md +350 -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/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.md +15 -0
- package/dist/docs/reference/model/Transform3.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.md +15 -0
- package/dist/docs/reference/model/Vector3.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 +59 -0
- package/dist/docs/reference/model/categories/threads.md +50 -0
- package/dist/docs/reference/model/categories/transforms-placement.md +43 -0
- package/dist/docs/reference/model/circle.md +39 -0
- package/dist/docs/reference/model/components.md +68 -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/fromRegion.md +33 -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/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/toRegion.md +33 -0
- package/dist/docs/reference/model/toTriangleMesh.md +27 -0
- package/dist/docs/reference/model/torus.md +70 -0
- package/dist/docs/reference/model/tube.md +77 -0
- package/dist/docs/reference/model/union.md +72 -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/Vector2.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 +12 -3
- 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/immutable-generation-data.js +36 -6
- 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/pattern-operations.js +24 -13
- package/dist/engine/pattern-transform.js +9 -0
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-operations.js +10 -10
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/section-operations.js +25 -14
- package/dist/engine/session-graph.js +40 -33
- package/dist/engine/session.js +1 -2
- 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 +15 -12
- 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/vector3.js +5 -1
- 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.js → mesh/mesh-solid.js} +2 -2
- package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
- package/dist/geometry/paths/frames.js +4 -5
- 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-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/revolve/revolve-mesh.js +5 -5
- package/dist/geometry/stroke-path.js +2 -2
- 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/sweep-closed.js +1 -1
- package/dist/geometry/sweeps/sweep-mesh.js +1 -1
- package/dist/geometry/sweeps/sweep-open.js +3 -3
- 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-geometry.js +9 -9
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +1 -1
- package/dist/model/operation-contracts.js +1 -0
- package/dist/model/operation-dispatch.js +6 -0
- package/dist/model/operations.js +19 -49
- package/package.json +10 -8
- /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
- /package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +0 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# VectorFont
|
|
2
|
+
|
|
3
|
+
A prepared font owns its parsed bytes; keep handles local to their Worker or invocation.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
### layout
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
`readonly` **layout**: (`text`: `string`, `options`: [`VectorTextLayoutOptions`](VectorTextLayoutOptions.md)) => [`VectorTextLayout`](VectorTextLayout.md)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Shape horizontal lines or one circular line; bounded to 512 UTF-16 units and supports blank text.
|
|
16
|
+
|
|
17
|
+
#### Parameters
|
|
18
|
+
|
|
19
|
+
<a id="text"></a>
|
|
20
|
+
|
|
21
|
+
**`text`** · `string` · Required
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
<a id="options"></a>
|
|
26
|
+
|
|
27
|
+
**`options`** · [`VectorTextLayoutOptions`](VectorTextLayoutOptions.md) · Required
|
|
28
|
+
|
|
29
|
+
- [`fontSize`](VectorTextLayoutOptions.md#fontsize) · `number` · Required
|
|
30
|
+
|
|
31
|
+
Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
|
|
32
|
+
|
|
33
|
+
- [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
|
|
34
|
+
|
|
35
|
+
Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
|
|
36
|
+
|
|
37
|
+
- [`baseline`](VectorTextLayoutOptions.md#baseline) · [`VectorTextArcBaseline`](VectorTextArcBaseline.md) · Optional
|
|
38
|
+
|
|
39
|
+
Omitted uses horizontal lines. Arcs require one line and baseline vertical alignment.
|
|
40
|
+
|
|
41
|
+
- [`lineHeight`](VectorTextLayoutOptions.md#lineheight) · `number` · Optional
|
|
42
|
+
|
|
43
|
+
Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
|
|
44
|
+
|
|
45
|
+
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
|
|
46
|
+
|
|
47
|
+
Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
|
|
48
|
+
|
|
49
|
+
- [`fontWeight`](VectorTextLayoutOptions.md#fontweight) · `number` · Optional
|
|
50
|
+
|
|
51
|
+
Actual static or variable weight, 1–1000; defaults to the prepared face's static weight.
|
|
52
|
+
|
|
53
|
+
- [`letterSpacing`](VectorTextLayoutOptions.md#letterspacing) · `number` · Optional
|
|
54
|
+
|
|
55
|
+
Tracking between glyph clusters in millimetres, -100–100; defaults to zero.
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
#### Returns
|
|
60
|
+
|
|
61
|
+
[`VectorTextLayout`](VectorTextLayout.md)
|
|
62
|
+
|
|
63
|
+
***
|
|
64
|
+
|
|
65
|
+
### measure
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
`readonly` **measure**: (`text`: `string`, `options`: [`VectorTextLayoutOptions`](VectorTextLayoutOptions.md)) => [`VectorTextMetrics`](VectorTextMetrics.md)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
Measure the same cached vector layout; all returned lengths are in millimetres.
|
|
74
|
+
|
|
75
|
+
#### Parameters
|
|
76
|
+
|
|
77
|
+
<a id="text-1"></a>
|
|
78
|
+
|
|
79
|
+
**`text`** · `string` · Required
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
<a id="options-1"></a>
|
|
84
|
+
|
|
85
|
+
**`options`** · [`VectorTextLayoutOptions`](VectorTextLayoutOptions.md) · Required
|
|
86
|
+
|
|
87
|
+
- [`fontSize`](VectorTextLayoutOptions.md#fontsize) · `number` · Required
|
|
88
|
+
|
|
89
|
+
Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
|
|
90
|
+
|
|
91
|
+
- [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
|
|
92
|
+
|
|
93
|
+
Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
|
|
94
|
+
|
|
95
|
+
- [`baseline`](VectorTextLayoutOptions.md#baseline) · [`VectorTextArcBaseline`](VectorTextArcBaseline.md) · Optional
|
|
96
|
+
|
|
97
|
+
Omitted uses horizontal lines. Arcs require one line and baseline vertical alignment.
|
|
98
|
+
|
|
99
|
+
- [`lineHeight`](VectorTextLayoutOptions.md#lineheight) · `number` · Optional
|
|
100
|
+
|
|
101
|
+
Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
|
|
102
|
+
|
|
103
|
+
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
|
|
104
|
+
|
|
105
|
+
Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
|
|
106
|
+
|
|
107
|
+
- [`fontWeight`](VectorTextLayoutOptions.md#fontweight) · `number` · Optional
|
|
108
|
+
|
|
109
|
+
Actual static or variable weight, 1–1000; defaults to the prepared face's static weight.
|
|
110
|
+
|
|
111
|
+
- [`letterSpacing`](VectorTextLayoutOptions.md#letterspacing) · `number` · Optional
|
|
112
|
+
|
|
113
|
+
Tracking between glyph clusters in millimetres, -100–100; defaults to zero.
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
#### Returns
|
|
118
|
+
|
|
119
|
+
[`VectorTextMetrics`](VectorTextMetrics.md)
|
|
120
|
+
|
|
121
|
+
***
|
|
122
|
+
|
|
123
|
+
### toSvg
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
`readonly` **toSvg**: (`text`: `string`, `options`: [`VectorTextLayoutOptions`](VectorTextLayoutOptions.md)) => `string`
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
Serialize visible horizontal or circular outlines as bounded path-only SVG in physical millimetres.
|
|
132
|
+
|
|
133
|
+
#### Parameters
|
|
134
|
+
|
|
135
|
+
<a id="text-2"></a>
|
|
136
|
+
|
|
137
|
+
**`text`** · `string` · Required
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
<a id="options-2"></a>
|
|
142
|
+
|
|
143
|
+
**`options`** · [`VectorTextLayoutOptions`](VectorTextLayoutOptions.md) · Required
|
|
144
|
+
|
|
145
|
+
- [`fontSize`](VectorTextLayoutOptions.md#fontsize) · `number` · Required
|
|
146
|
+
|
|
147
|
+
Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
|
|
148
|
+
|
|
149
|
+
- [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
|
|
150
|
+
|
|
151
|
+
Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
|
|
152
|
+
|
|
153
|
+
- [`baseline`](VectorTextLayoutOptions.md#baseline) · [`VectorTextArcBaseline`](VectorTextArcBaseline.md) · Optional
|
|
154
|
+
|
|
155
|
+
Omitted uses horizontal lines. Arcs require one line and baseline vertical alignment.
|
|
156
|
+
|
|
157
|
+
- [`lineHeight`](VectorTextLayoutOptions.md#lineheight) · `number` · Optional
|
|
158
|
+
|
|
159
|
+
Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
|
|
160
|
+
|
|
161
|
+
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
|
|
162
|
+
|
|
163
|
+
Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
|
|
164
|
+
|
|
165
|
+
- [`fontWeight`](VectorTextLayoutOptions.md#fontweight) · `number` · Optional
|
|
166
|
+
|
|
167
|
+
Actual static or variable weight, 1–1000; defaults to the prepared face's static weight.
|
|
168
|
+
|
|
169
|
+
- [`letterSpacing`](VectorTextLayoutOptions.md#letterspacing) · `number` · Optional
|
|
170
|
+
|
|
171
|
+
Tracking between glyph clusters in millimetres, -100–100; defaults to zero.
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
#### Returns
|
|
176
|
+
|
|
177
|
+
`string`
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
## Related APIs
|
|
181
|
+
|
|
182
|
+
- [VectorTextLayout](VectorTextLayout.md)
|
|
183
|
+
- [VectorTextLayoutOptions](VectorTextLayoutOptions.md)
|
|
184
|
+
- [VectorTextMetrics](VectorTextMetrics.md)
|
|
185
|
+
|
|
186
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# VectorFontOptions
|
|
2
|
+
|
|
3
|
+
Identifies the actual weight of a static face, without synthesizing a different weight.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
### staticWeight?
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
`readonly` `optional` **staticWeight?**: `number`
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Actual weight of a static face, 1–1000; defaults to 400.
|
|
16
|
+
|
|
17
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# VectorTextArcBaseline
|
|
2
|
+
|
|
3
|
+
A circular baseline centered at the XY origin, with rigid shaped glyph groups.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
### kind
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
`readonly` **kind**: `"arc"`
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Selects a circular baseline; glyph outlines rotate without bending or stretching.
|
|
16
|
+
|
|
17
|
+
***
|
|
18
|
+
|
|
19
|
+
### radius
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
`readonly` **radius**: `number`
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Baseline radius in millimetres, greater than zero and at most 10000.
|
|
28
|
+
|
|
29
|
+
***
|
|
30
|
+
|
|
31
|
+
### centerAngleDegrees?
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
`readonly` `optional` **centerAngleDegrees?**: `number`
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Alignment datum in degrees counterclockwise from +X; defaults to 90.
|
|
40
|
+
|
|
41
|
+
***
|
|
42
|
+
|
|
43
|
+
### direction?
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
`readonly` `optional` **direction?**: `"clockwise"` \| `"counterclockwise"`
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
Reading direction around the circle; defaults to clockwise.
|
|
52
|
+
|
|
53
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# VectorTextLayout
|
|
2
|
+
|
|
3
|
+
Immutable vector layout with no browser, font parser, or kernel ownership.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
### paths
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
`readonly` **paths**: readonly `string`[]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Nonzero-filled path data in millimetres, positive Y upward; empty for text with no ink.
|
|
16
|
+
|
|
17
|
+
***
|
|
18
|
+
|
|
19
|
+
### metrics
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
`readonly` **metrics**: [`VectorTextMetrics`](VectorTextMetrics.md)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Exact measurements of these paths and their logical text layout.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Related APIs
|
|
31
|
+
|
|
32
|
+
- [VectorTextMetrics](VectorTextMetrics.md)
|
|
33
|
+
|
|
34
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# VectorTextLayoutOptions
|
|
2
|
+
|
|
3
|
+
Text bounded to 512 UTF-16 units: horizontal lines or one circular line without wrapping.
|
|
4
|
+
|
|
5
|
+
## Extends
|
|
6
|
+
|
|
7
|
+
- [`VectorTextOptions`](VectorTextOptions.md)
|
|
8
|
+
|
|
9
|
+
## Properties
|
|
10
|
+
|
|
11
|
+
### align?
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
`readonly` `optional` **align?**: `"left"` \| `"right"` \| `"center"`
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
|
|
20
|
+
|
|
21
|
+
***
|
|
22
|
+
|
|
23
|
+
### baseline?
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
`readonly` `optional` **baseline?**: [`VectorTextArcBaseline`](VectorTextArcBaseline.md)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
Omitted uses horizontal lines. Arcs require one line and baseline vertical alignment.
|
|
32
|
+
|
|
33
|
+
***
|
|
34
|
+
|
|
35
|
+
### lineHeight?
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
`readonly` `optional` **lineHeight?**: `number`
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
|
|
44
|
+
|
|
45
|
+
***
|
|
46
|
+
|
|
47
|
+
### verticalAlign?
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
`readonly` `optional` **verticalAlign?**: `"top"` \| `"bottom"` \| `"center"` \| `"baseline"`
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
|
|
56
|
+
|
|
57
|
+
***
|
|
58
|
+
|
|
59
|
+
### fontSize
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
`readonly` **fontSize**: `number`
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
|
|
68
|
+
|
|
69
|
+
#### Inherited from
|
|
70
|
+
|
|
71
|
+
[`VectorTextOptions`](VectorTextOptions.md).[`fontSize`](VectorTextOptions.md#fontsize)
|
|
72
|
+
|
|
73
|
+
***
|
|
74
|
+
|
|
75
|
+
### fontWeight?
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
`readonly` `optional` **fontWeight?**: `number`
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
Actual static or variable weight, 1–1000; defaults to the prepared face's static weight.
|
|
84
|
+
|
|
85
|
+
#### Inherited from
|
|
86
|
+
|
|
87
|
+
[`VectorTextOptions`](VectorTextOptions.md).[`fontWeight`](VectorTextOptions.md#fontweight)
|
|
88
|
+
|
|
89
|
+
***
|
|
90
|
+
|
|
91
|
+
### letterSpacing?
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
`readonly` `optional` **letterSpacing?**: `number`
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
Tracking between glyph clusters in millimetres, -100–100; defaults to zero.
|
|
100
|
+
|
|
101
|
+
#### Inherited from
|
|
102
|
+
|
|
103
|
+
[`VectorTextOptions`](VectorTextOptions.md).[`letterSpacing`](VectorTextOptions.md#letterspacing)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
## Related APIs
|
|
107
|
+
|
|
108
|
+
- [VectorTextArcBaseline](VectorTextArcBaseline.md)
|
|
109
|
+
- [VectorTextOptions](VectorTextOptions.md)
|
|
110
|
+
|
|
111
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,94 @@
|
|
|
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
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# VectorTextOptions
|
|
2
|
+
|
|
3
|
+
Shaping controls for a prepared exact font face; all lengths are in millimetres.
|
|
4
|
+
|
|
5
|
+
## Extended by
|
|
6
|
+
|
|
7
|
+
- [`VectorTextLayoutOptions`](VectorTextLayoutOptions.md)
|
|
8
|
+
|
|
9
|
+
## Properties
|
|
10
|
+
|
|
11
|
+
### fontSize
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
`readonly` **fontSize**: `number`
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
|
|
20
|
+
|
|
21
|
+
***
|
|
22
|
+
|
|
23
|
+
### fontWeight?
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
`readonly` `optional` **fontWeight?**: `number`
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
Actual static or variable weight, 1–1000; defaults to the prepared face's static weight.
|
|
32
|
+
|
|
33
|
+
***
|
|
34
|
+
|
|
35
|
+
### letterSpacing?
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
`readonly` `optional` **letterSpacing?**: `number`
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Tracking between glyph clusters in millimetres, -100–100; defaults to zero.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Related APIs
|
|
47
|
+
|
|
48
|
+
- [VectorTextLayoutOptions](VectorTextLayoutOptions.md)
|
|
49
|
+
|
|
50
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Font preparation
|
|
2
|
+
|
|
3
|
+
Prepare bounded exact font bytes and reusable vector layouts.
|
|
4
|
+
|
|
5
|
+
Prepare fonts before modeling. TTF, OTF, and WOFF are parsed directly; WOFF2 decoding loads lazily. No fetching occurs in this library. Font layout returns immutable paths and metrics in Y-up millimetres. Pass that prepared layout to textSection inside a build; do not shape it again.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [prepareVectorFont](../prepareVectorFont.md) | Parses bounded font bytes using optional fontkit and WOFF2 peers; no font fetching occurs here. |
|
|
12
|
+
|
|
13
|
+
## Interfaces
|
|
14
|
+
|
|
15
|
+
| API | Summary |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| [VectorFont](../VectorFont.md) | A prepared font owns its parsed bytes; keep handles local to their Worker or invocation. |
|
|
18
|
+
| [VectorFontOptions](../VectorFontOptions.md) | Identifies the actual weight of a static face, without synthesizing a different weight. |
|
|
19
|
+
| [VectorTextArcBaseline](../VectorTextArcBaseline.md) | A circular baseline centered at the XY origin, with rigid shaped glyph groups. |
|
|
20
|
+
| [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
|
|
21
|
+
| [VectorTextLayoutOptions](../VectorTextLayoutOptions.md) | Text bounded to 512 UTF-16 units: horizontal lines or one circular line without wrapping. |
|
|
22
|
+
| [VectorTextMetrics](../VectorTextMetrics.md) | Text measurements from the same immutable layout that supplies geometry and SVG outlines. |
|
|
23
|
+
| [VectorTextOptions](../VectorTextOptions.md) | Shaping controls for a prepared exact font face; all lengths are in millimetres. |
|
|
24
|
+
| [Bounds2](../Bounds2.md) | Axis-aligned bounds in two-dimensional model space. |
|
|
25
|
+
|
|
26
|
+
## Type aliases
|
|
27
|
+
|
|
28
|
+
| API | Summary |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| [Vector2](../Vector2.md) | A two-dimensional Cartesian vector or point. |
|
|
31
|
+
|
|
32
|
+
## Values
|
|
33
|
+
|
|
34
|
+
| API | Summary |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| [MAX_VECTOR_FONT_BYTES](../MAX_VECTOR_FONT_BYTES.md) | Limits apply before parsing or shaping untrusted font data. |
|
|
37
|
+
|
|
38
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# prepareVectorFont
|
|
2
|
+
|
|
3
|
+
Parses bounded font bytes using optional fontkit and WOFF2 peers; no font fetching occurs here.
|
|
4
|
+
|
|
5
|
+
**prepareVectorFont**(`bytes`: `Uint8Array`, `options?`: [`VectorFontOptions`](VectorFontOptions.md)): `Promise`\<[`VectorFont`](VectorFont.md)\>
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Prepare a label before building geometry
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
async function prepareLabel(fontBytes: Uint8Array) {
|
|
13
|
+
const font = await prepareVectorFont(fontBytes);
|
|
14
|
+
return font.layout("MetaMesh", { fontSize: 8 });
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
<a id="bytes"></a>
|
|
21
|
+
|
|
22
|
+
**`bytes`** · `Uint8Array` · Required
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
<a id="options"></a>
|
|
27
|
+
|
|
28
|
+
**`options`** · [`VectorFontOptions`](VectorFontOptions.md) · Optional
|
|
29
|
+
|
|
30
|
+
- [`staticWeight`](VectorFontOptions.md#staticweight) · `number` · Optional
|
|
31
|
+
|
|
32
|
+
Actual weight of a static face, 1–1000; defaults to 400.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Returns
|
|
37
|
+
|
|
38
|
+
`Promise`\<[`VectorFont`](VectorFont.md)\>
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Related APIs
|
|
42
|
+
|
|
43
|
+
- [VectorFont](VectorFont.md)
|
|
44
|
+
- [VectorFontOptions](VectorFontOptions.md)
|
|
45
|
+
|
|
46
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Text preparation
|
|
2
|
+
|
|
3
|
+
Prepare exact font bytes and shape reusable vector layouts before entering synchronous modeling.
|
|
4
|
+
|
|
5
|
+
Install `fontkit` for font preparation and `woff2-encoder` for WOFF2 decoding. Import optional exact-font preparation from `@metamesh/modeling/text`. Supply already acquired font bytes; this entrypoint never fetches a font. Shape once during preparation and pass the immutable layout to modeling.
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { prepareVectorFont } from "@metamesh/modeling/text";
|
|
9
|
+
export async function prepareLabel(bytes: Uint8Array) {
|
|
10
|
+
const font = await prepareVectorFont(bytes);
|
|
11
|
+
return font.layout("MetaMesh", { fontSize: 8 });
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Paths and metrics use Y-up millimetres and a baseline origin. Empty layouts can be measured but cannot create a manufacturing section. Font parsing and WOFF2 decoding stay outside synchronous native builds.
|
|
16
|
+
|
|
17
|
+
## Categories
|
|
18
|
+
|
|
19
|
+
- [Font preparation](text/categories/font-preparation.md) — Prepare bounded exact font bytes and reusable vector layouts.
|
|
20
|
+
|
|
21
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { edgeTreatmentSetbacks } from "../geometry/edge-finishing.js";
|
|
1
2
|
import { GeometryError } from "../geometry/errors.js";
|
|
2
3
|
import { resolveExtrusionContourDivisions, resolveExtrusionControls, } from "../geometry/extrusion.js";
|
|
3
4
|
import { heightfieldMesh } from "../geometry/heightfield.js";
|
|
@@ -28,7 +29,7 @@ export function createConstructionOperations(environment, sections) {
|
|
|
28
29
|
const normal = [scaled[0] / length, scaled[1] / length, scaled[2] / length];
|
|
29
30
|
return { normal, offset: validateFiniteNumber(value.offset ?? 0, operation) };
|
|
30
31
|
};
|
|
31
|
-
const fromContours = sections.
|
|
32
|
+
const fromContours = (contours) => sections.polygon({ contours });
|
|
32
33
|
const corresponding = (value) => typeof value === "object" && value !== null && "components" in value;
|
|
33
34
|
const shapeSection = (shape) => corresponding(shape)
|
|
34
35
|
? nativeSection(fromContours(shape.components.flatMap((component) => [component.outer, ...component.holes].map((contour) => contour.points))))
|
|
@@ -38,8 +39,14 @@ export function createConstructionOperations(environment, sections) {
|
|
|
38
39
|
assertPrimitiveOptions(value, "extrude");
|
|
39
40
|
const native = shapeSection(handle), resolved = withResolutionDefaults(value);
|
|
40
41
|
if (value.ends !== undefined) {
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
assertPrimitiveOptions(value.ends, "extrude");
|
|
43
|
+
const setbacks = [value.ends.bottom, value.ends.top].map((treatment) => treatment === undefined
|
|
44
|
+
? [0, 0]
|
|
45
|
+
: edgeTreatmentSetbacks(treatment, "extrude", Math.PI / 2, resolved.limits));
|
|
46
|
+
if (setbacks.some((pair) => pair.some((distance) => distance > 0))) {
|
|
47
|
+
const profile = corresponding(handle) ? handle : environment.sectionProfileFor(handle);
|
|
48
|
+
return solidFromMesh(buildFinishedExtrusion(module, profile, resolved));
|
|
49
|
+
}
|
|
43
50
|
}
|
|
44
51
|
assertSamplingCount(native.numVert(), "extrude", resolved.limits.maxProfilePoints);
|
|
45
52
|
const controls = resolveExtrusionControls(value.height, resolved, "extrude");
|