@metamesh/modeling 0.14.0 → 0.15.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 +42 -0
- package/README.md +25 -10
- package/dist/api/engine.d.ts +11 -4
- package/dist/api/geometry.d.ts +345 -341
- package/dist/api/index.d.ts +262 -144
- package/dist/api/text.d.ts +3 -1
- package/dist/docs/guides/concepts.md +22 -7
- package/dist/docs/guides/fundamentals.md +8 -5
- package/dist/docs/guides/hosting.md +21 -11
- package/dist/docs/guides/recipes.md +42 -21
- package/dist/docs/manifest.json +710 -507
- package/dist/docs/reference/engine/Export3mfOptions.md +1 -1
- package/dist/docs/reference/engine/ExportMeshPart.md +1 -1
- package/dist/docs/reference/engine/GenerationOptions.md +1 -1
- package/dist/docs/reference/engine/GeometryResource.md +1 -1
- package/dist/docs/reference/engine/ModelDependencies.md +1 -1
- package/dist/docs/reference/engine/ModelEngine.md +1 -1
- package/dist/docs/reference/engine/ModelEngineOptions.md +4 -8
- package/dist/docs/reference/engine/ModelSession.md +1 -1
- package/dist/docs/reference/engine/ModelSnapshot.md +20 -9
- package/dist/docs/reference/engine/SessionOptions.md +1 -1
- package/dist/docs/reference/engine/SnapshotPart.md +2 -2
- package/dist/docs/reference/engine/categories/host-lifecycle.md +2 -2
- package/dist/docs/reference/engine/createModelEngine.md +3 -3
- package/dist/docs/reference/engine/defaultModelingLimits.md +1 -1
- package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
- package/dist/docs/reference/engine/validateModel.md +1 -1
- package/dist/docs/reference/engine.md +2 -2
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
- package/dist/docs/reference/geometry/{Anchor3.md → Anchor3-type.md} +1 -1
- package/dist/docs/reference/geometry/ArcCurve2.md +5 -5
- package/dist/docs/reference/geometry/ArcCurve3.md +5 -5
- package/dist/docs/reference/geometry/{AttachTransformOptions.md → AttachOptions.md} +10 -5
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +1 -1
- package/dist/docs/reference/geometry/Bounds2.md +1 -1
- package/dist/docs/reference/geometry/Bounds3.md +1 -1
- package/dist/docs/reference/geometry/BoundsFit2.md +1 -1
- package/dist/docs/reference/geometry/BoundsFit3.md +1 -1
- package/dist/docs/reference/geometry/BoundsFitOptions.md +1 -1
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +1 -1
- package/dist/docs/reference/geometry/BoxAnchorFace.md +1 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +1 -1
- package/dist/docs/reference/geometry/BoxEdge.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/geometry/BoxOptions.md +8 -8
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +1 -1
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -7
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/Contour.md +1 -1
- package/dist/docs/reference/geometry/ContourCurve.md +1 -1
- package/dist/docs/reference/geometry/ContourPoint.md +1 -1
- package/dist/docs/reference/geometry/ContourSegment.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingContour.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +1 -1
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +1 -1
- package/dist/docs/reference/geometry/Curve2.md +1 -1
- package/dist/docs/reference/geometry/Curve3.md +1 -1
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +5 -3
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +1 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +3 -3
- package/dist/docs/reference/geometry/CylinderOptions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +6 -6
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +1 -1
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeOptions.md +6 -6
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +5 -5
- package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
- package/dist/docs/reference/geometry/Frame3.md +1 -1
- package/dist/docs/reference/geometry/GeometryError.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +5 -5
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +9 -3
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +5 -5
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +6 -6
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +1 -1
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +1 -1
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +6 -6
- package/dist/docs/reference/geometry/LineCurve2.md +1 -1
- package/dist/docs/reference/geometry/LineCurve3.md +1 -1
- package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -5
- package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +4 -4
- package/dist/docs/reference/geometry/LoftOptions.md +1 -1
- package/dist/docs/reference/geometry/LoftPlacement.md +1 -1
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +1 -1
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerSize.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +1 -1
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +1 -1
- package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +1 -1
- package/dist/docs/reference/geometry/Path2-type.md +192 -0
- package/dist/docs/reference/geometry/Path2Data.md +14 -0
- package/dist/docs/reference/geometry/Path2Input.md +15 -0
- package/dist/docs/reference/geometry/Path3-type.md +192 -0
- package/dist/docs/reference/geometry/Path3Data.md +14 -0
- package/dist/docs/reference/geometry/Path3Input.md +15 -0
- package/dist/docs/reference/geometry/PathFrame.md +1 -1
- package/dist/docs/reference/geometry/PathLocation.md +65 -0
- package/dist/docs/reference/geometry/PathNormalGuide.md +4 -3
- package/dist/docs/reference/geometry/PathOptions.md +34 -0
- package/dist/docs/reference/geometry/PathPatternOptions.md +3 -3
- package/dist/docs/reference/geometry/PathPlacement.md +1 -1
- package/dist/docs/reference/geometry/PathResamplingOptions.md +80 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +1 -1
- package/dist/docs/reference/geometry/Pivot3Options.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +22 -22
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +1 -1
- package/dist/docs/reference/geometry/PolygonData.md +1 -1
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +4 -4
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +31 -0
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +104 -0
- package/dist/docs/reference/geometry/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/Profile.md +1 -1
- package/dist/docs/reference/geometry/ProfileComponent2.md +1 -1
- package/dist/docs/reference/geometry/ProfileContour2.md +1 -1
- package/dist/docs/reference/geometry/ProfileSpan2.md +2 -2
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +5 -5
- package/dist/docs/reference/geometry/RadialPatternOptions.md +17 -22
- package/dist/docs/reference/geometry/RadialSizing.md +1 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +1 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +1 -1
- package/dist/docs/reference/geometry/RegionData.md +1 -1
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +3 -3
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +9 -4
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve2.md +1 -1
- package/dist/docs/reference/geometry/SampledCurve3.md +1 -1
- package/dist/docs/reference/geometry/SampledThreadHelices.md +3 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +1 -1
- package/dist/docs/reference/geometry/SideProfilePoint.md +1 -1
- package/dist/docs/reference/geometry/SideProfileSegment.md +1 -1
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +3 -3
- package/dist/docs/reference/geometry/SphereOptions.md +3 -3
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/StrokeCap.md +7 -0
- package/dist/docs/reference/geometry/StrokeJoin.md +7 -0
- package/dist/docs/reference/geometry/{StrokePathRegionOptions.md → StrokeOptions.md} +7 -7
- package/dist/docs/reference/geometry/SvgImportOptions.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +13 -13
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +11 -11
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +9 -9
- package/dist/docs/reference/geometry/SweepOptions.md +6 -6
- package/dist/docs/reference/geometry/SweepOrientation.md +7 -7
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +5 -5
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadHandedness.md +1 -1
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +3 -3
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/geometry/{ThreadProfile.md → ThreadProfile-type.md} +1 -1
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +1 -1
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/ThreadRole.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +6 -6
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +6 -6
- package/dist/docs/reference/geometry/TorusOptions.md +8 -8
- package/dist/docs/reference/geometry/Transform2-type.md +1 -1
- package/dist/docs/reference/geometry/Transform2Input.md +1 -1
- package/dist/docs/reference/geometry/Transform2Matrix.md +1 -1
- package/dist/docs/reference/geometry/Transform3-type.md +1 -1
- package/dist/docs/reference/geometry/Transform3Input.md +1 -1
- package/dist/docs/reference/geometry/Transform3Matrix.md +1 -1
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +5 -4
- package/dist/docs/reference/geometry/TriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +2 -2
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +3 -3
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +2 -2
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +3 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/TubeOptions.md +8 -8
- package/dist/docs/reference/geometry/Vector2-type.md +1 -1
- package/dist/docs/reference/geometry/Vector2Input.md +1 -1
- package/dist/docs/reference/geometry/Vector2Tuple.md +1 -1
- package/dist/docs/reference/geometry/Vector3-type.md +1 -1
- package/dist/docs/reference/geometry/Vector3Input.md +1 -1
- package/dist/docs/reference/geometry/Vector3Tuple.md +1 -1
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +3 -3
- package/dist/docs/reference/geometry/VectorTextLayout.md +1 -1
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +1 -1
- package/dist/docs/reference/geometry/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/geometry/VectorTextOptions.md +1 -1
- package/dist/docs/reference/geometry/add2.md +1 -1
- package/dist/docs/reference/geometry/add3.md +1 -1
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +2 -2
- package/dist/docs/reference/geometry/{createAnchor3.md → anchor3.md} +9 -9
- package/dist/docs/reference/geometry/anchorFrame3.md +5 -5
- package/dist/docs/reference/geometry/applyTransformDirection3.md +1 -1
- package/dist/docs/reference/geometry/applyTransformPoint3.md +1 -1
- package/dist/docs/reference/geometry/{attachTransform.md → attachmentTransform3.md} +13 -13
- package/dist/docs/reference/geometry/boundsCenter.md +1 -1
- package/dist/docs/reference/geometry/boundsFromSize.md +1 -1
- package/dist/docs/reference/geometry/boundsSize.md +1 -1
- package/dist/docs/reference/geometry/boxAnchor3.md +4 -4
- package/dist/docs/reference/geometry/categories/bounds-layout.md +1 -1
- package/dist/docs/reference/geometry/categories/curves-paths.md +15 -13
- package/dist/docs/reference/geometry/categories/mechanical.md +6 -6
- package/dist/docs/reference/geometry/categories/meshes.md +3 -4
- package/dist/docs/reference/geometry/categories/pattern-placement.md +6 -6
- package/dist/docs/reference/geometry/categories/primitive-options.md +4 -4
- package/dist/docs/reference/geometry/categories/profiles-regions.md +2 -3
- package/dist/docs/reference/geometry/categories/resolution-errors.md +1 -1
- package/dist/docs/reference/geometry/categories/transforms-math.md +5 -5
- package/dist/docs/reference/geometry/categories/vector-import.md +5 -5
- package/dist/docs/reference/geometry/circleContour.md +1 -1
- package/dist/docs/reference/geometry/closeToAxis.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +5 -5
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +5 -5
- package/dist/docs/reference/geometry/composeTransform3.md +1 -1
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +10 -6
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +8 -7
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +1 -1
- package/dist/docs/reference/geometry/{createTriangleMeshSignature.md → computeTriangleMeshSignature.md} +4 -4
- package/dist/docs/reference/geometry/containsBounds.md +1 -1
- package/dist/docs/reference/geometry/contourContainsPoint.md +1 -1
- package/dist/docs/reference/geometry/cross2.md +1 -1
- package/dist/docs/reference/geometry/cross3.md +1 -1
- package/dist/docs/reference/geometry/cylinderAnchor3.md +5 -5
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/distance2.md +1 -1
- package/dist/docs/reference/geometry/distance3.md +1 -1
- package/dist/docs/reference/geometry/distributeAlongPath.md +8 -6
- package/dist/docs/reference/geometry/dot2.md +1 -1
- package/dist/docs/reference/geometry/dot3.md +1 -1
- package/dist/docs/reference/geometry/ellipseContour.md +1 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +1 -1
- package/dist/docs/reference/geometry/extrudeMesh.md +8 -8
- package/dist/docs/reference/geometry/fitBounds.md +1 -1
- package/dist/docs/reference/geometry/fitTextLayout.md +1 -1
- package/dist/docs/reference/geometry/frameTransform3.md +1 -1
- package/dist/docs/reference/geometry/{getMetricClearanceHole.md → getMetricClearanceHoleDiameter.md} +3 -3
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +2 -2
- package/dist/docs/reference/geometry/heightfieldMesh.md +1 -1
- package/dist/docs/reference/geometry/{buildHelicalThreadRidgeMesh.md → helicalThreadRidgeMesh.md} +5 -5
- package/dist/docs/reference/geometry/{buildHelicalThreadSolidMesh.md → helicalThreadSolidMesh.md} +5 -5
- package/dist/docs/reference/geometry/inverseTransform3.md +1 -1
- package/dist/docs/reference/geometry/isGeometryError.md +1 -1
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +1 -1
- package/dist/docs/reference/geometry/layoutRow.md +1 -1
- package/dist/docs/reference/geometry/length2.md +1 -1
- package/dist/docs/reference/geometry/length3.md +1 -1
- package/dist/docs/reference/geometry/lerp2.md +1 -1
- package/dist/docs/reference/geometry/lerp3.md +1 -1
- package/dist/docs/reference/geometry/linearPatternTransforms.md +2 -2
- package/dist/docs/reference/geometry/loftMesh.md +2 -1
- package/dist/docs/reference/geometry/matchProfiles.md +1 -1
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +1 -1
- package/dist/docs/reference/geometry/meshBounds.md +1 -1
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +3 -3
- package/dist/docs/reference/geometry/normalize2.md +1 -1
- package/dist/docs/reference/geometry/normalize3.md +1 -1
- package/dist/docs/reference/geometry/normalizeContour.md +1 -1
- package/dist/docs/reference/geometry/normalizePolygon.md +1 -1
- package/dist/docs/reference/geometry/normalizeRegion.md +1 -1
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +11 -11
- package/dist/docs/reference/geometry/path2.md +42 -0
- package/dist/docs/reference/geometry/path3.md +42 -0
- package/dist/docs/reference/geometry/pathPatternTransforms.md +6 -6
- package/dist/docs/reference/geometry/preflightHeightfield.md +1 -1
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +3 -3
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +3 -3
- package/dist/docs/reference/geometry/preflightSvgRegion.md +1 -1
- package/dist/docs/reference/geometry/preflightThreadedNut.md +3 -3
- package/dist/docs/reference/geometry/preflightThreadedRod.md +3 -3
- package/dist/docs/reference/geometry/projectOntoPlane3.md +1 -1
- package/dist/docs/reference/geometry/radialPatternTransforms.md +1 -17
- package/dist/docs/reference/geometry/rectangleContour.md +1 -1
- package/dist/docs/reference/geometry/rectangleProfile.md +1 -1
- package/dist/docs/reference/geometry/regionArea.md +1 -1
- package/dist/docs/reference/geometry/regionBounds.md +1 -1
- package/dist/docs/reference/geometry/regularPolygonContour.md +2 -2
- package/dist/docs/reference/geometry/resamplePolyline2.md +2 -2
- package/dist/docs/reference/geometry/resamplePolyline3.md +2 -2
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +4 -4
- package/dist/docs/reference/geometry/resolveArcSegments.md +4 -4
- package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +1 -1
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +3 -3
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/resolveRackPitch.md +1 -1
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +4 -4
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/revolveMesh.md +10 -10
- package/dist/docs/reference/geometry/rotate2.md +1 -1
- package/dist/docs/reference/geometry/rotationTransform3.md +1 -1
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +6 -4
- package/dist/docs/reference/geometry/sampleContour.md +3 -3
- package/dist/docs/reference/geometry/sampleCurve2.md +3 -3
- package/dist/docs/reference/geometry/sampleCurve3.md +2 -2
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleHelix.md +2 -2
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +4 -4
- package/dist/docs/reference/geometry/sampleSideProfile.md +3 -3
- package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +2 -2
- package/dist/docs/reference/geometry/scale2.md +1 -1
- package/dist/docs/reference/geometry/scale3.md +1 -1
- package/dist/docs/reference/geometry/scaleTransform3.md +1 -1
- package/dist/docs/reference/geometry/signedContourArea.md +1 -1
- package/dist/docs/reference/geometry/starContour.md +1 -1
- package/dist/docs/reference/geometry/strokeRegionData.md +63 -0
- package/dist/docs/reference/geometry/subtract2.md +1 -1
- package/dist/docs/reference/geometry/subtract3.md +1 -1
- package/dist/docs/reference/geometry/sweepMesh.md +9 -9
- package/dist/docs/reference/geometry/{createThreadProfile.md → threadProfile.md} +6 -6
- package/dist/docs/reference/geometry/transform2.md +1 -1
- package/dist/docs/reference/geometry/transform3.md +1 -1
- package/dist/docs/reference/geometry/transformDeterminant3.md +1 -1
- package/dist/docs/reference/geometry/transformRegionData.md +1 -1
- package/dist/docs/reference/geometry/transformTriangleMesh.md +6 -6
- package/dist/docs/reference/geometry/translationTransform3.md +1 -1
- package/dist/docs/reference/geometry/triangulateContour.md +1 -1
- package/dist/docs/reference/geometry/validateSolidMesh.md +2 -2
- package/dist/docs/reference/geometry/validateTransform3.md +1 -1
- package/dist/docs/reference/geometry/validateTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/vector2.md +1 -1
- package/dist/docs/reference/geometry/vector3.md +1 -1
- package/dist/docs/reference/geometry.md +2 -2
- package/dist/docs/reference/model/Anchor3.md +1 -1
- package/dist/docs/reference/model/AttachOptions.md +10 -5
- package/dist/docs/reference/model/Bounds2.md +1 -1
- package/dist/docs/reference/model/Bounds3.md +1 -1
- package/dist/docs/reference/model/BoxEdge.md +1 -1
- package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/model/BoxOptions.md +8 -8
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/CircleContourOptions.md +1 -1
- package/dist/docs/reference/model/CircleOptions.md +3 -3
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/model/Computed.md +1 -1
- package/dist/docs/reference/model/ComputedValue.md +1 -1
- package/dist/docs/reference/model/Contour.md +1 -1
- package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/model/CorrespondingContour.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/model/CylinderOptions.md +3 -3
- package/dist/docs/reference/model/DiagnosticOptions.md +1 -1
- package/dist/docs/reference/model/EdgeTreatment.md +1 -1
- package/dist/docs/reference/model/EllipseContourOptions.md +1 -1
- package/dist/docs/reference/model/EllipseOptions.md +3 -3
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeOptions.md +6 -6
- package/dist/docs/reference/model/FinalizedModel.md +18 -8
- package/dist/docs/reference/model/FinalizedPart.md +1 -1
- package/dist/docs/reference/model/Frame3.md +1 -1
- package/dist/docs/reference/model/GenerateCallback.md +1 -1
- package/dist/docs/reference/model/GenerateContext.md +1 -1
- package/dist/docs/reference/model/GeneratedPart.md +1 -1
- package/dist/docs/reference/model/GenerationDiagnostic.md +1 -1
- package/dist/docs/reference/model/GenerationError.md +1 -1
- package/dist/docs/reference/model/GeometryResolution.md +5 -5
- package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/model/GridPatternOptions.md +9 -3
- package/dist/docs/reference/model/HeightfieldOptions.md +1 -1
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +3 -3
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +1 -1
- package/dist/docs/reference/model/HullOptions.md +5 -5
- package/dist/docs/reference/model/ImmutableBuffer-type.md +1 -1
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +1 -1
- package/dist/docs/reference/model/ImplicitOptions.md +1 -1
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +4 -4
- package/dist/docs/reference/model/LinearPatternOptions.md +12 -5
- package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/model/LoftOptions.md +1 -1
- package/dist/docs/reference/model/LoftPlacement.md +1 -1
- package/dist/docs/reference/model/LoftStation.md +3 -3
- package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/model/ModelProgram.md +1 -1
- package/dist/docs/reference/model/ModelingLimits.md +1 -1
- package/dist/docs/reference/model/NumericArray.md +1 -1
- package/dist/docs/reference/model/PartGeometry.md +1 -1
- package/dist/docs/reference/model/PartOptions.md +1 -1
- package/dist/docs/reference/model/Path2-type.md +192 -0
- package/dist/docs/reference/model/Path2Data.md +14 -0
- package/dist/docs/reference/model/Path2Input.md +15 -0
- package/dist/docs/reference/model/Path3-type.md +192 -0
- package/dist/docs/reference/model/Path3Data.md +14 -0
- package/dist/docs/reference/model/Path3Input.md +15 -0
- package/dist/docs/reference/model/PathLocation.md +65 -0
- package/dist/docs/reference/model/PathNormalGuide.md +4 -3
- package/dist/docs/reference/model/PathOptions.md +34 -0
- package/dist/docs/reference/model/PathPatternOptions.md +3 -3
- package/dist/docs/reference/model/PathResamplingOptions.md +79 -0
- package/dist/docs/reference/model/PatternSource.md +1 -1
- package/dist/docs/reference/model/Pivot2Options.md +1 -1
- package/dist/docs/reference/model/Pivot3Options.md +1 -1
- package/dist/docs/reference/model/PlaneOptions.md +3 -3
- package/dist/docs/reference/model/PolygonData.md +1 -1
- package/dist/docs/reference/model/PolygonOptions.md +8 -8
- package/dist/docs/reference/model/{PrimitivePlacement.md → PrimitiveAttachment.md} +7 -7
- package/dist/docs/reference/model/{PrimitivePlacementOptions.md → PrimitiveAttachmentOptions.md} +41 -20
- package/dist/docs/reference/model/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/model/Profile.md +1 -1
- package/dist/docs/reference/model/ProfileComponent2.md +1 -1
- package/dist/docs/reference/model/ProfileContour2.md +1 -1
- package/dist/docs/reference/model/ProfileSpan2.md +2 -2
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/RadialPatternOptions.md +17 -22
- package/dist/docs/reference/model/RadialSizing.md +1 -1
- package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/model/RectangleContourOptions.md +1 -1
- package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/model/RectangleOptions.md +8 -8
- package/dist/docs/reference/model/RegionData.md +1 -1
- package/dist/docs/reference/model/RegularPolygonOptions.md +5 -5
- package/dist/docs/reference/model/RevolveOptions.md +9 -4
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +12 -11
- package/dist/docs/reference/model/SectionHullOptions.md +5 -5
- package/dist/docs/reference/model/SectionInspection.md +7 -7
- package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
- package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Solid.md +23 -6
- package/dist/docs/reference/model/SolidInspection.md +4 -4
- package/dist/docs/reference/model/{SolidRayHit.md → SolidSegmentHit.md} +3 -3
- package/dist/docs/reference/model/SphereOptions.md +3 -3
- package/dist/docs/reference/model/StarOptions.md +10 -10
- package/dist/docs/reference/model/{StrokePathCap.md → StrokeCap.md} +3 -3
- package/dist/docs/reference/model/{StrokePathJoin.md → StrokeJoin.md} +3 -3
- package/dist/docs/reference/model/StrokeOptions.md +6 -6
- package/dist/docs/reference/model/SvgOrigin.md +1 -1
- package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
- package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
- package/dist/docs/reference/model/SweepOptions.md +6 -6
- package/dist/docs/reference/model/SweepOrientation.md +7 -7
- package/dist/docs/reference/model/TextSectionOptions.md +1 -1
- package/dist/docs/reference/model/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/model/ThreadHandedness.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/model/ThreadProfile.md +1 -1
- package/dist/docs/reference/model/ThreadRidgeOptions.md +1 -1
- package/dist/docs/reference/model/ThreadedNutBevel.md +1 -1
- package/dist/docs/reference/model/ThreadedNutOptions.md +4 -4
- package/dist/docs/reference/model/ThreadedNutPreflight.md +1 -1
- package/dist/docs/reference/model/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/model/ThreadedRodOptions.md +4 -4
- package/dist/docs/reference/model/TorusOptions.md +8 -8
- package/dist/docs/reference/model/Transform2-type.md +1 -1
- package/dist/docs/reference/model/Transform2Input.md +1 -1
- package/dist/docs/reference/model/Transform2Matrix.md +1 -1
- package/dist/docs/reference/model/Transform3-type.md +1 -1
- package/dist/docs/reference/model/Transform3Input.md +1 -1
- package/dist/docs/reference/model/Transform3Matrix.md +1 -1
- package/dist/docs/reference/model/TriangleMesh.md +1 -1
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +2 -2
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/model/TubeOptions.md +8 -8
- package/dist/docs/reference/model/Vector2-type.md +1 -1
- package/dist/docs/reference/model/Vector2Input.md +1 -1
- package/dist/docs/reference/model/Vector2Tuple.md +1 -1
- package/dist/docs/reference/model/Vector3-type.md +1 -1
- package/dist/docs/reference/model/Vector3Input.md +1 -1
- package/dist/docs/reference/model/Vector3Tuple.md +1 -1
- package/dist/docs/reference/model/VectorTextLayout.md +1 -1
- package/dist/docs/reference/model/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/model/anchor.md +1 -1
- package/dist/docs/reference/model/box.md +3 -3
- package/dist/docs/reference/model/castSegment.md +40 -0
- package/dist/docs/reference/model/categories/boolean-operations.md +1 -1
- package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -1
- package/dist/docs/reference/model/categories/contracts.md +2 -2
- package/dist/docs/reference/model/categories/core-values-errors.md +1 -1
- package/dist/docs/reference/model/categories/explicit-profiles.md +2 -2
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +2 -2
- package/dist/docs/reference/model/categories/generation.md +1 -1
- package/dist/docs/reference/model/categories/inspection.md +4 -5
- package/dist/docs/reference/model/categories/mesh-inspection.md +2 -2
- package/dist/docs/reference/model/categories/paths.md +33 -0
- package/dist/docs/reference/model/categories/primitives.md +2 -2
- package/dist/docs/reference/model/categories/resolution.md +2 -2
- package/dist/docs/reference/model/categories/sections.md +3 -4
- package/dist/docs/reference/model/categories/threads.md +5 -5
- package/dist/docs/reference/model/categories/transforms-placement.md +8 -8
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/components.md +6 -6
- package/dist/docs/reference/model/compose.md +1 -1
- package/dist/docs/reference/model/cylinder.md +1 -1
- package/dist/docs/reference/model/distance.md +1 -1
- package/dist/docs/reference/model/ellipse.md +1 -1
- package/dist/docs/reference/model/extrude.md +3 -3
- package/dist/docs/reference/model/generate.md +1 -1
- package/dist/docs/reference/model/gridPattern.md +4 -4
- package/dist/docs/reference/model/heightfield.md +1 -1
- package/dist/docs/reference/model/hull.md +1 -1
- package/dist/docs/reference/model/immutableBuffer.md +1 -1
- package/dist/docs/reference/model/immutableMesh.md +1 -1
- package/dist/docs/reference/model/implicit.md +1 -1
- package/dist/docs/reference/model/inspectSection.md +1 -1
- package/dist/docs/reference/model/inspectSolid.md +1 -1
- package/dist/docs/reference/model/internalThreadCutter.md +4 -4
- package/dist/docs/reference/model/intersect.md +1 -1
- package/dist/docs/reference/model/isEmpty.md +1 -1
- package/dist/docs/reference/model/linearPattern.md +4 -4
- package/dist/docs/reference/model/loft.md +1 -1
- package/dist/docs/reference/model/matchProfiles.md +2 -2
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/path2.md +42 -0
- package/dist/docs/reference/model/path3.md +42 -0
- package/dist/docs/reference/model/pathPattern.md +13 -12
- package/dist/docs/reference/model/polygon.md +4 -4
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +3 -3
- package/dist/docs/reference/model/preflightThreadedNut.md +3 -3
- package/dist/docs/reference/model/preflightThreadedRod.md +3 -3
- package/dist/docs/reference/model/radialPattern.md +5 -37
- package/dist/docs/reference/model/rectangle.md +3 -3
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +5 -4
- package/dist/docs/reference/model/solidFromMesh.md +1 -1
- package/dist/docs/reference/model/sphere.md +1 -1
- package/dist/docs/reference/model/split.md +1 -1
- package/dist/docs/reference/model/splitByPlane.md +1 -1
- package/dist/docs/reference/model/star.md +4 -4
- package/dist/docs/reference/model/stroke.md +8 -8
- package/dist/docs/reference/model/svgPathSection.md +1 -1
- package/dist/docs/reference/model/svgSection.md +1 -1
- package/dist/docs/reference/model/sweep.md +7 -7
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +2 -2
- package/dist/docs/reference/model/threadedNut.md +4 -4
- package/dist/docs/reference/model/threadedRod.md +4 -4
- package/dist/docs/reference/model/torus.md +3 -3
- package/dist/docs/reference/model/transform2.md +1 -1
- package/dist/docs/reference/model/transform3.md +1 -1
- package/dist/docs/reference/model/tube.md +3 -3
- package/dist/docs/reference/model/union.md +1 -1
- package/dist/docs/reference/model/vector2.md +1 -1
- package/dist/docs/reference/model/vector3.md +1 -1
- package/dist/docs/reference/model.md +3 -2
- package/dist/docs/reference/text/Bounds2.md +1 -1
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
- package/dist/docs/reference/text/Vector2Tuple.md +1 -1
- package/dist/docs/reference/text/VectorFont.md +2 -2
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +3 -3
- package/dist/docs/reference/text/VectorTextLayout.md +1 -1
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/text/VectorTextOptions.md +1 -1
- package/dist/docs/reference/text/categories/font-preparation.md +3 -3
- package/dist/docs/reference/text/prepareVectorFont.md +2 -2
- package/dist/docs/reference/text.md +1 -1
- package/dist/engine/construction-operations.js +31 -14
- package/dist/engine/execution.js +39 -8
- package/dist/engine/extrusion-finishing.js +1 -1
- package/dist/engine/index.js +6 -1
- package/dist/engine/inspection-operations.js +13 -11
- package/dist/engine/loft-operations.js +35 -14
- package/dist/engine/model-summary.js +8 -5
- package/dist/engine/native/material-components.js +305 -0
- package/dist/engine/native/regions.js +2 -1
- package/dist/engine/native/threads.js +3 -3
- package/dist/engine/native/transforms.js +5 -7
- package/dist/engine/operation-environment.js +2 -2
- package/dist/engine/pattern-operations.js +1 -1
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-anchors.js +17 -17
- package/dist/engine/primitive-operations.js +1 -1
- package/dist/engine/primitive-profiles.js +7 -7
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/recipe-realization.js +6 -0
- package/dist/engine/section-operations.js +33 -8
- package/dist/engine/session-snapshot.js +14 -4
- package/dist/engine/session.js +10 -5
- package/dist/engine/shape-anchors.js +3 -3
- package/dist/engine/transform-operations.js +24 -24
- package/dist/geometry/anchors.js +40 -33
- package/dist/geometry/curves/sampling.js +14 -14
- package/dist/geometry/edge-finishing.js +1 -1
- package/dist/geometry/extrusion.js +13 -16
- package/dist/geometry/index.js +9 -10
- package/dist/geometry/loft/loft-simple-mesh.js +6 -6
- package/dist/geometry/loft/loft.js +22 -13
- package/dist/geometry/math/immutable-value.js +1 -1
- package/dist/geometry/mechanical/gear-motion.js +3 -3
- package/dist/geometry/mechanical/gears.js +38 -38
- package/dist/geometry/mechanical/index.js +3 -3
- package/dist/geometry/mechanical/standards.js +1 -1
- package/dist/geometry/mechanical/thread-helices.js +2 -3
- package/dist/geometry/mechanical/thread-mesh-plan.js +4 -5
- package/dist/geometry/mechanical/thread-mesh.js +7 -7
- package/dist/geometry/mechanical/thread-profiles.js +5 -5
- package/dist/geometry/mechanical/thread-solids.js +2 -2
- package/dist/geometry/mechanical/thread-surface.js +1 -1
- package/dist/geometry/mechanical/threads.js +8 -8
- package/dist/geometry/mesh/mesh-planar.js +25 -27
- package/dist/geometry/mesh/mesh-quality.js +5 -5
- package/dist/geometry/mesh/mesh-signature.js +13 -13
- package/dist/geometry/mesh/mesh-solid.js +7 -7
- package/dist/geometry/mesh/mesh.js +4 -15
- package/dist/geometry/paths/closest-point.js +8 -19
- package/dist/geometry/paths/frames.js +41 -11
- package/dist/geometry/paths/helix.js +16 -6
- package/dist/geometry/paths/path-value.js +252 -0
- package/dist/geometry/paths/planar.js +36 -23
- package/dist/geometry/paths/resampling.js +27 -5
- package/dist/geometry/patterns/placements.js +100 -27
- package/dist/geometry/patterns.js +2 -2
- package/dist/geometry/polygon-clipping.js +17 -0
- package/dist/geometry/profiles/contour.js +6 -6
- package/dist/geometry/profiles/matched.js +4 -4
- package/dist/geometry/profiles/profiles.js +4 -4
- package/dist/geometry/profiles/rectangle.js +4 -4
- package/dist/geometry/profiles/side-profile.js +7 -7
- package/dist/geometry/profiles/span-sampling.js +1 -1
- package/dist/geometry/resolution.js +34 -34
- package/dist/geometry/revolve/revolve-mesh.js +12 -7
- package/dist/geometry/stroke-path.js +12 -27
- package/dist/geometry/svg/fill.js +7 -21
- package/dist/geometry/svg-import.js +23 -23
- package/dist/geometry/sweeps/options.js +5 -4
- package/dist/geometry/sweeps/orientation.js +5 -5
- package/dist/geometry/sweeps/stations.js +10 -10
- package/dist/geometry/sweeps/sweep-closed.js +2 -2
- package/dist/geometry/sweeps/sweep-mesh.js +9 -3
- package/dist/geometry/sweeps/sweep-open.js +1 -1
- package/dist/geometry/sweeps/validation.js +4 -7
- package/dist/geometry/transform-geometry.js +7 -14
- package/dist/index.js +1 -0
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/immutable-generation-data.js +66 -6
- package/dist/model/operations.js +25 -26
- package/dist/model/recipe-declaration.js +13 -7
- package/dist/model/shape-handles.js +2 -1
- package/dist/text/index.js +15 -9
- package/dist/text/vector-text-layout.js +31 -26
- package/package.json +1 -1
- package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +0 -34
- package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +0 -65
- package/dist/docs/reference/geometry/Path2.md +0 -14
- package/dist/docs/reference/geometry/Path3.md +0 -14
- package/dist/docs/reference/geometry/PrimitivePlacement.md +0 -31
- package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +0 -83
- package/dist/docs/reference/geometry/StrokePathCap.md +0 -7
- package/dist/docs/reference/geometry/StrokePathJoin.md +0 -7
- package/dist/docs/reference/geometry/closestPointOnPath.md +0 -110
- package/dist/docs/reference/geometry/cumulativePathLengths.md +0 -33
- package/dist/docs/reference/geometry/measureTriangleMesh.md +0 -55
- package/dist/docs/reference/geometry/pathLength.md +0 -33
- package/dist/docs/reference/geometry/strokePathRegion.md +0 -63
- package/dist/docs/reference/geometry/transformContour.md +0 -42
- package/dist/docs/reference/geometry/transformPath2.md +0 -40
- package/dist/docs/reference/geometry/transformPath3.md +0 -33
- package/dist/docs/reference/model/Path2.md +0 -20
- package/dist/docs/reference/model/rayCast.md +0 -40
- package/dist/docs/reference/model/toTriangleMesh.md +0 -27
- package/dist/geometry/paths/path.js +0 -32
package/dist/api/text.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare const MAX_VECTOR_FONT_BYTES: number;
|
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Parses bounded font bytes using optional fontkit and WOFF2 peers; no font fetching occurs here.
|
|
14
|
+
* Argument and resource failures use GeometryError; parser and decoder exceptions propagate unchanged.
|
|
14
15
|
*
|
|
15
16
|
* @example Prepare a label before building geometry
|
|
16
17
|
* ```ts
|
|
@@ -30,6 +31,7 @@ export declare type Vector2Tuple = readonly [x: number, y: number];
|
|
|
30
31
|
|
|
31
32
|
/**
|
|
32
33
|
* A prepared font owns its parsed bytes; keep handles local to their Worker or invocation.
|
|
34
|
+
* Invalid arguments and bounded-work failures use GeometryError; unexpected dependency errors propagate.
|
|
33
35
|
*/
|
|
34
36
|
export declare interface VectorFont {
|
|
35
37
|
/** Shape horizontal lines or one circular line; bounded to 512 UTF-16 units and supports blank text. */
|
|
@@ -59,7 +61,7 @@ export declare interface VectorTextArcBaseline {
|
|
|
59
61
|
/** Baseline radius in millimetres, greater than zero and at most 10000. */
|
|
60
62
|
readonly radius: number;
|
|
61
63
|
/** Alignment datum in degrees counterclockwise from +X; defaults to 90. */
|
|
62
|
-
readonly
|
|
64
|
+
readonly centerAngle?: number;
|
|
63
65
|
/** Reading direction around the circle; defaults to clockwise. */
|
|
64
66
|
readonly direction?: "clockwise" | "counterclockwise";
|
|
65
67
|
}
|
|
@@ -26,7 +26,7 @@ exact signatures; this guide explains how the concepts fit together.
|
|
|
26
26
|
| [`@metamesh/modeling/engine`](../reference/engine.md) | Standalone initialization, model finalization, and 3MF export | Your Node application or browser Worker |
|
|
27
27
|
| [`@metamesh/modeling/text`](../reference/text.md) | Prepare exact font bytes and vector layouts outside Studio | Your host acquires the font bytes |
|
|
28
28
|
|
|
29
|
-
Construct immutable shapes, vectors, and transforms in ordinary TypeScript and reuse them in
|
|
29
|
+
Construct immutable shapes, vectors, paths, and transforms in ordinary TypeScript and reuse them in
|
|
30
30
|
synchronous generation. A host evaluates geometry and owns observations and export. Add pure
|
|
31
31
|
geometry helpers for custom calculations.
|
|
32
32
|
|
|
@@ -40,8 +40,9 @@ For lettering, [prepare exact font bytes](fonts.md) before building.
|
|
|
40
40
|
|
|
41
41
|
The public API names values by modeling role:
|
|
42
42
|
|
|
43
|
-
-
|
|
44
|
-
|
|
43
|
+
- `Path2` and `Path3` are immutable sampled trajectories created by `path2` and `path3`.
|
|
44
|
+
Each owns its closure, traversal order, and finite coordinates.
|
|
45
|
+
- `Path2Data` and `Path3Data` are tuple collections for path interchange.
|
|
45
46
|
- A `Contour` is plain point data for a closed 2D boundary, without a repeated closing point.
|
|
46
47
|
- `PolygonData` contains one outer contour and its holes. `RegionData` is the plain serialized
|
|
47
48
|
representation of filled 2D geometry, including disconnected polygons.
|
|
@@ -77,6 +78,20 @@ Every form returns the same `Section` type as `circle` or `rectangle`; subsequen
|
|
|
77
78
|
produce holes or disconnected components. `section.toRegionData()` observes the evaluated shape
|
|
78
79
|
inside synchronous generation. Keep serialized point data for interchange or pure preparation.
|
|
79
80
|
|
|
81
|
+
Use `path2(points, { closed: true })` for a reusable boundary. Its `length()` includes the closing
|
|
82
|
+
edge, and `closestPoint(query)` returns a fluent point, distance, edge index, and fraction within
|
|
83
|
+
that edge. Queries measure the sampled boundary; they do not measure a filled interior or an
|
|
84
|
+
underlying analytic curve. Chain `transform`, `reverse`, and equal-distance `resample` to create
|
|
85
|
+
new paths. Closed paths omit the duplicated endpoint. Open paths may be empty; their bounds are
|
|
86
|
+
`undefined`, and closest-point queries need at least two points.
|
|
87
|
+
|
|
88
|
+
Pass paths directly to `polygon`, `stroke`, sweeps, and path patterns in the matching dimension.
|
|
89
|
+
`polygon(path)` requires a closed planar value and establishes exterior/hole winding. A path's
|
|
90
|
+
transform preserves traversal even after reflection. Individual vector inputs and authored point
|
|
91
|
+
collections accept fluent vectors as well as tuples; serialized data contracts remain tuple-only.
|
|
92
|
+
`toArray()` returns frozen tuples for interchange and does not encode closure. Keep the path value
|
|
93
|
+
when passing closure between operations.
|
|
94
|
+
|
|
80
95
|
`rectangleProfile({ size: [width, height], treatment: { kind: "round", radius }, id })` describes
|
|
81
96
|
identified spans for custom geometry. Prepare a complete explicit family with `matchProfiles`
|
|
82
97
|
when loft stations or a sweep need authored holes, seams, or landmarks beyond ordinary primitives.
|
|
@@ -105,8 +120,8 @@ filled Section and `box({ size: [24, 16, 6] })` creates a Solid. `union` and `in
|
|
|
105
120
|
combine same-dimensional arrays. `shape.subtract(cutters)` accepts an array of same-dimensional
|
|
106
121
|
cutters. `section.offset(distance, options)` stays in the filled XY plane.
|
|
107
122
|
|
|
108
|
-
`section.extrude({ height,
|
|
109
|
-
`center: true` is requested. `section.revolve({
|
|
123
|
+
`section.extrude({ height, twist, scaleTop })` adds +Z depth, with its bottom at zero unless
|
|
124
|
+
`center: true` is requested. `section.revolve({ degrees })` rotates radial/Z geometry around
|
|
110
125
|
+Z. `loft` pairs retained landmarks in compatible primitive Sections, including zero and fully
|
|
111
126
|
rounded rectangle corners, and circle/ellipse stations transitioning to rectangles. This also works
|
|
112
127
|
after invertible XY transforms with consistent handedness. It accepts explicit corresponding
|
|
@@ -135,7 +150,7 @@ match point for point. Use physical chord and segment limits for ordinary printa
|
|
|
135
150
|
requested tolerance cannot fit within the safety cap, the operation fails instead of silently
|
|
136
151
|
returning a coarser shape.
|
|
137
152
|
|
|
138
|
-
`regularPolygon({ radius, sides,
|
|
153
|
+
`regularPolygon({ radius, sides, rotation, sizing })` makes a filled regular polygon.
|
|
139
154
|
`sizing: "vertex"` uses the specified vertex radius; `"face"` compensates faceting so the faces
|
|
140
155
|
meet the nominal radius. `circle` and `cylinder` support the same radial convention.
|
|
141
156
|
|
|
@@ -147,7 +162,7 @@ Zero rounding radius, zero chamfer/smooth distance, or an all-zero distance pair
|
|
|
147
162
|
selected feature untreated. Other setback pairs must have two positive values; negative and
|
|
148
163
|
nonfinite amounts reject. Disabled extrusion end treatments retain ordinary extrusion support,
|
|
149
164
|
including holes and twist.
|
|
150
|
-
`
|
|
165
|
+
`attachment` maps a named or explicit shape-local anchor to a world anchor after local
|
|
151
166
|
construction, using alignment, millimetre gap and degree spin. Section placement must stay in XY.
|
|
152
167
|
|
|
153
168
|
## Reuse a transform across shapes and coordinates
|
|
@@ -118,11 +118,14 @@ Geometry values allocate resources outside ordinary JavaScript objects. Studio's
|
|
|
118
118
|
those resources for each run and cleans them up deterministically. Authored code should never
|
|
119
119
|
initialize the kernel or manually delete a `Section` or `Solid`.
|
|
120
120
|
|
|
121
|
-
Use `inspectSection()` or `inspectSolid()`
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
Use `inspectSection()` or `inspectSolid()` for measurements such as bounds, area, volume, and
|
|
122
|
+
`componentCount`. `components()` returns disconnected material pieces, preserving holes and
|
|
123
|
+
enclosed cavities. A sealed hollow box is one component; adding a loose ball inside its cavity
|
|
124
|
+
makes two. Recombining the pieces preserves the original material.
|
|
125
|
+
|
|
126
|
+
Snapshot `stats.partCount` counts the named output parts declared with `part(...)`. One output
|
|
127
|
+
part may contain several material components. Return one declaration or an array of them to hand
|
|
128
|
+
the result back to Studio for preview and export.
|
|
126
129
|
|
|
127
130
|
|
|
128
131
|
|
|
@@ -53,27 +53,37 @@ move engine initialization out of the function and reuse that engine and its mod
|
|
|
53
53
|
|
|
54
54
|
## Keep execution synchronous
|
|
55
55
|
|
|
56
|
-
Acquire assets before generation.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
Acquire assets before generation. Ordinary immutable Solid/Section recipes, vectors, paths and
|
|
57
|
+
transforms can be constructed without an engine and reused across sessions. Explicit resolution
|
|
58
|
+
settings stay with a recipe; omitted settings inherit the evaluating host's defaults. Computed
|
|
59
|
+
readers and geometry observations require active synchronous generation and cannot cross an async
|
|
60
|
+
boundary. Sessions cannot execute nested runs in one realm. Services are explicit synchronous
|
|
61
|
+
capabilities supplied at session creation.
|
|
62
|
+
|
|
63
|
+
A session owns evaluation, optional computed caches and native resources. It may retain evaluated
|
|
61
64
|
computed shapes privately for later cuts or Booleans; temporary native allocations are cleaned after
|
|
62
|
-
each run. Separate expensive base geometry from finishing operations to reuse it.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
each run. Separate expensive base geometry from finishing operations to reuse it. Observed
|
|
66
|
+
`components()` selections depend on evaluated topology and remain restricted to their originating
|
|
67
|
+
session; ordinary recipes remain portable.
|
|
68
|
+
|
|
69
|
+
A returned snapshot retains captured manufacturing buffers independently of its session. Accessing
|
|
70
|
+
a part's `positions` or `indices`, including through its local `geometry` resource, returns a fresh
|
|
71
|
+
owned copy on every read. Read each field once when processing its buffer. `session.dispose()`
|
|
72
|
+
releases caches while captured snapshots remain usable. `snapshot.dispose()` releases its references
|
|
73
|
+
and makes subsequent `parts`, `bounds` and `stats` access invalid; diagnostics, dependencies and parts
|
|
74
|
+
already obtained remain usable. Disposing a snapshot does not affect another snapshot or an export
|
|
75
|
+
already in progress. Release captured output when its consumer is done.
|
|
66
76
|
|
|
67
77
|
## Load WASM in a browser Worker
|
|
68
78
|
|
|
69
79
|
The package includes its matching JS/WASM kernel. Node and unbundled browser modules resolve the
|
|
70
80
|
installed WASM asset automatically. A browser bundler must retain or emit that relative asset;
|
|
71
81
|
[`modelingWasmUrl`](../reference/engine/modelingWasmUrl.md) can supply the emitted URL through
|
|
72
|
-
`createModelEngine({
|
|
82
|
+
`createModelEngine({ wasmUrl: modelingWasmUrl })`.
|
|
73
83
|
|
|
74
84
|
Your application owns Worker creation and message handling. Separate Workers have independent
|
|
75
85
|
execution scopes. Transfer owned copies of completed buffers; transferring cache backing storage
|
|
76
|
-
would detach it. Native
|
|
86
|
+
would detach it. Native handles remain private to their engine.
|
|
77
87
|
|
|
78
88
|
## Set resource limits
|
|
79
89
|
|
|
@@ -101,7 +101,7 @@ export default generate(({ part }) => {
|
|
|
101
101
|
`);
|
|
102
102
|
// Check the imported topology before using it in the manufacturing solid.
|
|
103
103
|
const measurements = inspectSection(badge);
|
|
104
|
-
if (measurements.
|
|
104
|
+
if (measurements.componentCount !== 1 || measurements.contourCount !== 2) {
|
|
105
105
|
throw new Error("Expected one badge with one rectangular opening.");
|
|
106
106
|
}
|
|
107
107
|
return [part("model", badge.extrude({ height: 4, center: true }))];
|
|
@@ -160,7 +160,7 @@ One radial wall profile revolved around +Z creates the floor and tapered cup wal
|
|
|
160
160
|
|
|
161
161
|
[`polygon`](../reference/model/polygon.md) fills the ordered contour.
|
|
162
162
|
[`Section.revolve`](../reference/model/Section.md#revolve) defaults to a complete `360°` turn. Set
|
|
163
|
-
`
|
|
163
|
+
`degrees: 270` for a capped partial turn that exposes the cross section. Keep the closed
|
|
164
164
|
profile free of self-intersections and never repeat its first point at the end.
|
|
165
165
|
|
|
166
166
|
For an open side outline, [`sampleSideProfile`](../reference/geometry/sampleSideProfile.md)
|
|
@@ -240,7 +240,7 @@ export default generate(({ part }) => {
|
|
|
240
240
|
const arms = radialPattern(arm.translate([18, 0, 0]).rotate([0, 0, 30]), {
|
|
241
241
|
count: 6,
|
|
242
242
|
axis: [0, 0, 1],
|
|
243
|
-
|
|
243
|
+
angle: 60,
|
|
244
244
|
});
|
|
245
245
|
// Both shapes are Z-centered; extra cutter height clears both hub faces.
|
|
246
246
|
const bore = cylinder({ height: 16, radius: 4 });
|
|
@@ -269,8 +269,7 @@ to a Section and its plain point data. This placement rotates around `[2, 1]`, t
|
|
|
269
269
|
|
|
270
270
|
|
|
271
271
|
```ts
|
|
272
|
-
import { polygon, transform2 } from "@metamesh/modeling";
|
|
273
|
-
import { transformContour } from "@metamesh/modeling/geometry";
|
|
272
|
+
import { path2, pathPattern, polygon, rectangle, transform2, union } from "@metamesh/modeling";
|
|
274
273
|
|
|
275
274
|
const planarPlacement = transform2()
|
|
276
275
|
.rotate(90, { pivot: [2, 1] })
|
|
@@ -286,24 +285,46 @@ export const placedBody = polygon({ outer: outline, holes: [] })
|
|
|
286
285
|
.transform(planarPlacement)
|
|
287
286
|
.extrude({ height: 8 });
|
|
288
287
|
|
|
289
|
-
//
|
|
288
|
+
// Paths accept the same placement. Matrices and tuples remain available for interchange.
|
|
290
289
|
export const sectionMatrix = planarPlacement.toMatrix();
|
|
291
|
-
export const placedContour =
|
|
290
|
+
export const placedContour = path2(outline, { closed: true }).transform(planarPlacement);
|
|
292
291
|
```
|
|
293
292
|
|
|
294
293
|
|
|
295
294
|
|
|
296
|
-
Pass the placement directly to `section.transform(planarPlacement)
|
|
297
|
-
|
|
298
|
-
[`transformRegionData`](../reference/geometry/transformRegionData.md)
|
|
299
|
-
[`transformPath2`](../reference/geometry/transformPath2.md).
|
|
295
|
+
Pass the placement directly to `section.transform(planarPlacement)` or `path.transform(planarPlacement)`.
|
|
296
|
+
Fill the transformed closed path with `polygon(placedContour)` when you need material.
|
|
297
|
+
[`transformRegionData`](../reference/geometry/transformRegionData.md) serves serialized filled data.
|
|
300
298
|
|
|
301
|
-
A negative scale factor reflects the placement. Paths retain
|
|
302
|
-
|
|
303
|
-
|
|
299
|
+
A negative scale factor reflects the placement. Paths retain traversal order, including closed
|
|
300
|
+
paths; filled Sections and serialized regions restore outer and hole winding. `andThen(next)`
|
|
301
|
+
composes another placement in execution order;
|
|
304
302
|
reuse the placement instead of building a chain inside each point iteration. `toMatrix()` is
|
|
305
303
|
available for matrix interchange.
|
|
306
304
|
|
|
305
|
+
Section path patterns consume `Path2` values directly. Tangent orientation aligns the Section's
|
|
306
|
+
local +X direction with the path while preserving its XY plane:
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
```ts
|
|
311
|
+
const guide = path2([
|
|
312
|
+
[0, 0],
|
|
313
|
+
[12, 0],
|
|
314
|
+
[12, 12],
|
|
315
|
+
]);
|
|
316
|
+
const tabs = pathPattern(rectangle({ size: [4, 2] }), guide, {
|
|
317
|
+
count: 5,
|
|
318
|
+
orientation: "tangent",
|
|
319
|
+
});
|
|
320
|
+
export const patternedTabs = union(tabs).extrude({ height: 3 });
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
Linear Section patterns use XY directions. Radial Section patterns rotate about an optional XY
|
|
326
|
+
`pivot` using the implicit +Z axis; spatial Solid patterns retain their explicit rotation axis.
|
|
327
|
+
|
|
307
328
|
## Rotation-minimizing path sweep
|
|
308
329
|
|
|
309
330
|
|
|
@@ -342,7 +363,7 @@ The asymmetric section makes its transported orientation visible as the path tur
|
|
|
342
363
|
`section.sweep(path, options)` transports the filled shape along the path. Choose the starting profile-X direction with
|
|
343
364
|
`orientation: { kind: "transport", initialNormal: [0, 1, 0] }`. Fixed normals, directed normal guides
|
|
344
365
|
and discrete Frenet frames are explicit alternative policies; singular selected policies reject.
|
|
345
|
-
`
|
|
366
|
+
`twist` adds total rotation, following physical path length by default; `twistBy: "stations"`
|
|
346
367
|
uses the authored station schedule. `scale` accepts a positive uniform size, XY pair or one XY pair
|
|
347
368
|
per normalized station. `closed: true` joins an implicitly closed path without repeated endpoints;
|
|
348
369
|
orientation, scales and `seamProfileOffset` must describe a compatible closing seam.
|
|
@@ -381,7 +402,7 @@ and placement. `pin.attach("bottom", anchor(base, "top"))` mates opposed directi
|
|
|
381
402
|
patterns carry those frames with the shape, with outward normals preserved under nonuniform scale
|
|
382
403
|
and reflection. The axis names are `left/right` (−X/+X), `back/front` (−Y/+Y) and `bottom/top` (−Z/+Z).
|
|
383
404
|
|
|
384
|
-
Use `shape.withAnchors({ mount:
|
|
405
|
+
Use `shape.withAnchors({ mount: anchor3(position, direction, up) })` to define a custom datum
|
|
385
406
|
on a new handle. Existing names remain unless replaced; definitions are copied and immutable.
|
|
386
407
|
Boolean and other constructed shapes need explicit definitions because their surfaces may change.
|
|
387
408
|
Anchor names use lowercase kebab-case, with at most 64 characters and 128 definitions per shape.
|
|
@@ -392,8 +413,8 @@ move them. Tube and torus axial datums may lie over an opening; a cone has no ca
|
|
|
392
413
|
Regular polygons and stars expose only `center`. Custom `Anchor3` frames, including pure
|
|
393
414
|
`boxAnchor3` and `cylinderAnchor3` helpers, work wherever a source or target frame is required.
|
|
394
415
|
|
|
395
|
-
Primitive `
|
|
396
|
-
vocabulary as `attach`, including a named `source`. It applies after local shape construction. Filled Section
|
|
416
|
+
Primitive `attachment` uses the same source/target anchor, `alignment`, `gap` and `spin`
|
|
417
|
+
vocabulary as `attach`, including a named `source`. It applies after local shape construction. Filled Section attachment must
|
|
397
418
|
preserve the XY plane.
|
|
398
419
|
|
|
399
420
|
The `gap` here separates the two pieces along the target normal; it is a placement distance, not
|
|
@@ -494,7 +515,7 @@ The two rounded rectangles retain matching corner identities while their size an
|
|
|
494
515
|
This [`loft`](../reference/model/loft.md) example places a rounded rectangle at two heights. Use
|
|
495
516
|
`scale`, `rotate` and `translate` to pose the top profile in XY; `rotate` takes degrees. Each
|
|
496
517
|
station uses `z` for an ordinary horizontal plane. To tilt a station, pass
|
|
497
|
-
`frame: anchorFrame3(
|
|
518
|
+
`frame: anchorFrame3(anchor3(position, direction, up))` instead; the direction chooses its
|
|
498
519
|
normal and a nonparallel `up` vector chooses its roll.
|
|
499
520
|
|
|
500
521
|
The primitive retains its corner identities, so `loft` pairs corresponding landmarks without
|
|
@@ -648,7 +669,7 @@ export function fitLabel(layout: VectorTextLayout): FittedTextLayout {
|
|
|
648
669
|
|
|
649
670
|
For a circular label, add a [`baseline`](../reference/text/VectorTextArcBaseline.md) with
|
|
650
671
|
`kind: "arc"` and a positive `radius` in millimetres to the layout options. The baseline is centered
|
|
651
|
-
at the XY origin; `
|
|
672
|
+
at the XY origin; `centerAngle` chooses its alignment datum and `direction` chooses the
|
|
652
673
|
reading direction. Each shaped glyph group rotates without bending. Circular text requires one
|
|
653
674
|
line and baseline vertical alignment; its default horizontal alignment is centered. Arbitrary
|
|
654
675
|
path text and automatic wrapping are outside this API.
|
|
@@ -676,7 +697,7 @@ export default generate(({ part }) => {
|
|
|
676
697
|
const result = box({ size: [40, 30, 5] });
|
|
677
698
|
const measurements = inspectSolid(result);
|
|
678
699
|
|
|
679
|
-
if (measurements.min[2] < -2.5 || measurements.
|
|
700
|
+
if (measurements.min[2] < -2.5 || measurements.componentCount !== 1) {
|
|
680
701
|
throw new Error("Unexpected placement or disconnected result.");
|
|
681
702
|
}
|
|
682
703
|
|