@metamesh/modeling 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +52 -9
- package/dist/api/engine.d.ts +3 -3
- package/dist/api/geometry.d.ts +521 -185
- package/dist/api/index.d.ts +414 -145
- package/dist/api/text.d.ts +3 -3
- package/dist/docs/guides/concepts.md +114 -11
- package/dist/docs/guides/fonts.md +8 -0
- package/dist/docs/guides/fundamentals.md +4 -2
- package/dist/docs/guides/generation.md +6 -4
- package/dist/docs/guides/hosting.md +7 -4
- package/dist/docs/guides/recipes.md +52 -2
- package/dist/docs/manifest.json +1246 -394
- 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 +1 -1
- package/dist/docs/reference/engine/ModelSession.md +1 -1
- package/dist/docs/reference/engine/ModelSnapshot.md +1 -1
- package/dist/docs/reference/engine/SessionOptions.md +1 -1
- package/dist/docs/reference/engine/SnapshotPart.md +3 -3
- package/dist/docs/reference/engine/categories/host-lifecycle.md +1 -1
- package/dist/docs/reference/engine/createModelEngine.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +14 -1
- package/dist/docs/reference/geometry/Anchor3.md +9 -5
- package/dist/docs/reference/geometry/ArcCurve2.md +3 -3
- package/dist/docs/reference/geometry/ArcCurve3.md +5 -5
- package/dist/docs/reference/geometry/AttachTransformOptions.md +5 -1
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +6 -1
- package/dist/docs/reference/geometry/Bounds2.md +4 -4
- package/dist/docs/reference/geometry/Bounds3.md +4 -4
- package/dist/docs/reference/geometry/BoundsFit2.md +3 -3
- package/dist/docs/reference/geometry/BoundsFit3.md +3 -3
- 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 +8 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +8 -4
- 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 +3 -3
- 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 +107 -0
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
- package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +34 -0
- package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +65 -0
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/Contour.md +3 -3
- 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 +6 -6
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +6 -6
- 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 +1 -1
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +3 -3
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +8 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +7 -3
- package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +3 -3
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeOptions.md +3 -3
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +3 -3
- package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
- package/dist/docs/reference/geometry/Frame3.md +6 -6
- 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 +10 -1
- 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 +4 -4
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +1 -1
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +1 -1
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +1 -1
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +7 -3
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +1 -1
- package/dist/docs/reference/geometry/LineCurve2.md +4 -4
- package/dist/docs/reference/geometry/LineCurve3.md +4 -4
- package/dist/docs/reference/geometry/LinearPatternOptions.md +3 -3
- package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +1 -1
- 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.md +3 -3
- package/dist/docs/reference/geometry/Path3.md +3 -3
- package/dist/docs/reference/geometry/PathFrame.md +5 -5
- package/dist/docs/reference/geometry/PathNormalGuide.md +5 -5
- package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/PathPlacement.md +4 -4
- package/dist/docs/reference/geometry/Pivot2Options.md +26 -0
- package/dist/docs/reference/geometry/Pivot3Options.md +26 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +3 -3
- package/dist/docs/reference/geometry/{Polygon.md → PolygonData.md} +2 -2
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/PrimitivePlacement.md +1 -1
- package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +1 -1
- 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 +3 -3
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +1 -1
- package/dist/docs/reference/geometry/RadialPatternOptions.md +4 -4
- 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 +3 -3
- 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 +3 -3
- package/dist/docs/reference/geometry/RegionData.md +14 -0
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +1 -1
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +1 -1
- package/dist/docs/reference/geometry/SampledCurve2.md +4 -4
- package/dist/docs/reference/geometry/SampledCurve3.md +4 -4
- package/dist/docs/reference/geometry/SampledThreadHelices.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/geometry/SphereOptions.md +1 -1
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/StrokePathCap.md +1 -1
- package/dist/docs/reference/geometry/StrokePathJoin.md +1 -1
- package/dist/docs/reference/geometry/StrokePathRegionOptions.md +2 -2
- package/dist/docs/reference/geometry/SvgImportOptions.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +3 -3
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +1 -1
- package/dist/docs/reference/geometry/SweepOptions.md +3 -3
- 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 +1 -1
- 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 +1 -1
- 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 +3 -3
- 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 +1 -1
- 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 +1 -1
- package/dist/docs/reference/geometry/TorusOptions.md +1 -1
- package/dist/docs/reference/geometry/Transform2-type.md +255 -0
- package/dist/docs/reference/geometry/Transform2Input.md +19 -0
- package/dist/docs/reference/geometry/Transform2Matrix.md +14 -0
- package/dist/docs/reference/geometry/Transform3-type.md +295 -0
- package/dist/docs/reference/geometry/Transform3Input.md +19 -0
- package/dist/docs/reference/geometry/Transform3Matrix.md +17 -0
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/TriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/geometry/Vector2-type.md +269 -0
- package/dist/docs/reference/geometry/Vector2Input.md +19 -0
- package/dist/docs/reference/geometry/Vector2Tuple.md +14 -0
- package/dist/docs/reference/geometry/Vector3-type.md +281 -0
- package/dist/docs/reference/geometry/Vector3Input.md +19 -0
- package/dist/docs/reference/geometry/Vector3Tuple.md +14 -0
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +1 -1
- 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 +36 -0
- package/dist/docs/reference/geometry/add3.md +10 -6
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +1 -1
- package/dist/docs/reference/geometry/anchorFrame3.md +1 -1
- package/dist/docs/reference/geometry/applyTransformDirection3.md +11 -7
- package/dist/docs/reference/geometry/applyTransformPoint3.md +11 -7
- package/dist/docs/reference/geometry/attachTransform.md +8 -4
- package/dist/docs/reference/geometry/boundsCenter.md +7 -7
- package/dist/docs/reference/geometry/boundsFromSize.md +7 -7
- package/dist/docs/reference/geometry/boundsSize.md +7 -7
- package/dist/docs/reference/geometry/boxAnchor3.md +7 -3
- package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +1 -1
- package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +1 -1
- package/dist/docs/reference/geometry/categories/bounds-layout.md +1 -1
- package/dist/docs/reference/geometry/categories/curves-paths.md +6 -3
- package/dist/docs/reference/geometry/categories/mechanical.md +1 -1
- package/dist/docs/reference/geometry/categories/meshes.md +1 -1
- package/dist/docs/reference/geometry/categories/pattern-placement.md +2 -2
- package/dist/docs/reference/geometry/categories/primitive-options.md +1 -1
- package/dist/docs/reference/geometry/categories/profiles-regions.md +6 -6
- package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -2
- package/dist/docs/reference/geometry/categories/transforms-math.md +37 -8
- package/dist/docs/reference/geometry/categories/vector-import.md +2 -2
- package/dist/docs/reference/geometry/circleContour.md +1 -1
- package/dist/docs/reference/geometry/closeToAxis.md +4 -4
- package/dist/docs/reference/geometry/closestPointOnPath.md +110 -0
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +1 -1
- package/dist/docs/reference/geometry/composeTransform3.md +10 -6
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +5 -5
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +5 -5
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +4 -4
- package/dist/docs/reference/geometry/containsBounds.md +1 -1
- package/dist/docs/reference/geometry/contourContainsPoint.md +4 -4
- package/dist/docs/reference/geometry/createAnchor3.md +10 -6
- package/dist/docs/reference/geometry/createThreadProfile.md +1 -1
- package/dist/docs/reference/geometry/createTriangleMeshSignature.md +1 -1
- package/dist/docs/reference/geometry/cross2.md +36 -0
- package/dist/docs/reference/geometry/cross3.md +10 -6
- package/dist/docs/reference/geometry/cumulativePathLengths.md +4 -4
- package/dist/docs/reference/geometry/cylinderAnchor3.md +6 -2
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/distance2.md +36 -0
- package/dist/docs/reference/geometry/distance3.md +36 -0
- package/dist/docs/reference/geometry/distributeAlongPath.md +4 -4
- package/dist/docs/reference/geometry/dot2.md +36 -0
- package/dist/docs/reference/geometry/dot3.md +9 -5
- package/dist/docs/reference/geometry/ellipseContour.md +1 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +10 -6
- package/dist/docs/reference/geometry/extrudeMesh.md +2 -2
- 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 +8 -4
- package/dist/docs/reference/geometry/getMetricClearanceHole.md +1 -1
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +4 -4
- package/dist/docs/reference/geometry/heightfieldMesh.md +1 -1
- package/dist/docs/reference/geometry/inverseTransform3.md +9 -5
- 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 +4 -4
- package/dist/docs/reference/geometry/length2.md +30 -0
- package/dist/docs/reference/geometry/length3.md +8 -4
- package/dist/docs/reference/geometry/lerp2.md +42 -0
- package/dist/docs/reference/geometry/lerp3.md +10 -6
- package/dist/docs/reference/geometry/linearPatternTransforms.md +4 -4
- package/dist/docs/reference/geometry/loftMesh.md +1 -1
- package/dist/docs/reference/geometry/matchProfiles.md +1 -1
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +3 -2
- package/dist/docs/reference/geometry/measureTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/meshBounds.md +1 -1
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +1 -1
- package/dist/docs/reference/geometry/normalize2.md +36 -0
- package/dist/docs/reference/geometry/normalize3.md +10 -6
- package/dist/docs/reference/geometry/normalizeContour.md +4 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -5
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -5
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +1 -1
- package/dist/docs/reference/geometry/pathLength.md +4 -4
- 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 +1 -1
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +1 -1
- package/dist/docs/reference/geometry/preflightSvgRegion.md +1 -1
- package/dist/docs/reference/geometry/preflightThreadedNut.md +1 -1
- package/dist/docs/reference/geometry/preflightThreadedRod.md +1 -1
- package/dist/docs/reference/geometry/projectOntoPlane3.md +10 -6
- package/dist/docs/reference/geometry/radialPatternTransforms.md +6 -6
- package/dist/docs/reference/geometry/rectangleContour.md +2 -2
- package/dist/docs/reference/geometry/rectangleProfile.md +2 -2
- package/dist/docs/reference/geometry/regionArea.md +4 -4
- package/dist/docs/reference/geometry/regionBounds.md +4 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +4 -4
- package/dist/docs/reference/geometry/resamplePolyline2.md +4 -4
- package/dist/docs/reference/geometry/resamplePolyline3.md +4 -4
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +5 -1
- package/dist/docs/reference/geometry/resolveArcSegments.md +4 -4
- package/dist/docs/reference/geometry/resolveCircularSegments.md +6 -5
- 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 +5 -5
- 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 +1 -1
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/revolveMesh.md +4 -4
- package/dist/docs/reference/geometry/rotate2.md +36 -0
- package/dist/docs/reference/geometry/rotationTransform3.md +10 -6
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +5 -5
- package/dist/docs/reference/geometry/sampleContour.md +1 -1
- package/dist/docs/reference/geometry/sampleCurve2.md +1 -1
- package/dist/docs/reference/geometry/sampleCurve3.md +1 -1
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleHelix.md +4 -4
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +1 -1
- package/dist/docs/reference/geometry/sampleSideProfile.md +4 -4
- package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +1 -1
- package/dist/docs/reference/geometry/scale2.md +36 -0
- package/dist/docs/reference/geometry/scale3.md +9 -5
- package/dist/docs/reference/geometry/scaleTransform3.md +10 -6
- package/dist/docs/reference/geometry/signedContourArea.md +1 -1
- package/dist/docs/reference/geometry/starContour.md +4 -4
- package/dist/docs/reference/geometry/strokePathRegion.md +4 -4
- package/dist/docs/reference/geometry/subtract2.md +36 -0
- package/dist/docs/reference/geometry/subtract3.md +10 -6
- package/dist/docs/reference/geometry/sweepMesh.md +5 -5
- package/dist/docs/reference/geometry/transform2.md +38 -0
- package/dist/docs/reference/geometry/transform3.md +38 -0
- package/dist/docs/reference/geometry/transformContour.md +5 -5
- package/dist/docs/reference/geometry/transformDeterminant3.md +8 -4
- package/dist/docs/reference/geometry/transformPath2.md +5 -5
- package/dist/docs/reference/geometry/transformPath3.md +5 -5
- package/dist/docs/reference/geometry/transformRegionData.md +40 -0
- package/dist/docs/reference/geometry/transformTriangleMesh.md +4 -4
- package/dist/docs/reference/geometry/translationTransform3.md +10 -6
- package/dist/docs/reference/geometry/triangulateContour.md +1 -1
- package/dist/docs/reference/geometry/validateSolidMesh.md +1 -1
- package/dist/docs/reference/geometry/validateTransform3.md +9 -5
- package/dist/docs/reference/geometry/validateTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/vector2.md +31 -0
- package/dist/docs/reference/geometry/vector3.md +38 -0
- package/dist/docs/reference/geometry.md +2 -2
- package/dist/docs/reference/model/Anchor3.md +5 -5
- package/dist/docs/reference/model/AttachOptions.md +1 -1
- package/dist/docs/reference/model/Bounds2.md +4 -4
- package/dist/docs/reference/model/Bounds3.md +4 -4
- 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 +3 -3
- 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 +1 -1
- 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 +3 -3
- 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 +1 -1
- 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 +3 -3
- package/dist/docs/reference/model/EllipseOptions.md +1 -1
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeOptions.md +3 -3
- package/dist/docs/reference/model/FinalizedModel.md +1 -1
- package/dist/docs/reference/model/FinalizedPart.md +1 -1
- package/dist/docs/reference/model/Frame3.md +6 -6
- package/dist/docs/reference/model/GenerateCallback.md +1 -1
- package/dist/docs/reference/model/GenerateContext.md +5 -5
- package/dist/docs/reference/model/GeneratedPart.md +6 -6
- 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 +1 -1
- 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 +4 -4
- package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +1 -1
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +1 -1
- package/dist/docs/reference/model/HullOptions.md +7 -7
- 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 +4 -4
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +1 -1
- package/dist/docs/reference/model/LinearPatternOptions.md +3 -3
- 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 +2 -2
- 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 +6 -6
- package/dist/docs/reference/model/{fromRegion.md → Path2.md} +5 -18
- package/dist/docs/reference/model/PathNormalGuide.md +5 -5
- package/dist/docs/reference/model/PathPatternOptions.md +1 -1
- package/dist/docs/reference/model/PatternSource.md +2 -2
- package/dist/docs/reference/model/Pivot2Options.md +27 -0
- package/dist/docs/reference/model/Pivot3Options.md +27 -0
- package/dist/docs/reference/model/PlaneOptions.md +3 -3
- package/dist/docs/reference/model/{Polygon-type.md → PolygonData.md} +2 -2
- package/dist/docs/reference/model/PolygonOptions.md +81 -4
- package/dist/docs/reference/model/PrimitivePlacement.md +1 -1
- package/dist/docs/reference/model/PrimitivePlacementOptions.md +1 -1
- 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 +3 -3
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/model/RadialPatternOptions.md +4 -4
- 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 +3 -3
- 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 +3 -3
- package/dist/docs/reference/model/{Region.md → RegionData.md} +4 -4
- package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
- package/dist/docs/reference/model/RevolveOptions.md +1 -1
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +75 -35
- package/dist/docs/reference/model/SectionHullOptions.md +7 -7
- package/dist/docs/reference/model/SectionInspection.md +4 -4
- package/dist/docs/reference/model/{RegionOffsetJoin.md → SectionOffsetJoin.md} +3 -3
- package/dist/docs/reference/model/{RegionOffsetOptions.md → SectionOffsetOptions.md} +4 -4
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Solid.md +44 -21
- package/dist/docs/reference/model/SolidInspection.md +4 -4
- package/dist/docs/reference/model/SolidRayHit.md +4 -4
- package/dist/docs/reference/model/SphereOptions.md +1 -1
- package/dist/docs/reference/model/StarOptions.md +1 -1
- package/dist/docs/reference/model/StrokeOptions.md +91 -0
- package/dist/docs/reference/model/StrokePathCap.md +16 -0
- package/dist/docs/reference/model/StrokePathJoin.md +16 -0
- package/dist/docs/reference/model/SvgOrigin.md +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 +3 -3
- 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 +3 -3
- 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 +1 -1
- 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 +1 -1
- package/dist/docs/reference/model/TorusOptions.md +1 -1
- package/dist/docs/reference/model/Transform2-type.md +256 -0
- package/dist/docs/reference/model/Transform2Input.md +20 -0
- package/dist/docs/reference/model/Transform2Matrix.md +15 -0
- package/dist/docs/reference/model/Transform3-type.md +296 -0
- package/dist/docs/reference/model/Transform3Input.md +20 -0
- package/dist/docs/reference/model/{Transform3.md → Transform3Matrix.md} +3 -3
- package/dist/docs/reference/model/TriangleMesh.md +1 -1
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +1 -1
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/model/TubeOptions.md +1 -1
- package/dist/docs/reference/model/Vector2-type.md +270 -0
- package/dist/docs/reference/model/Vector2Input.md +20 -0
- package/dist/docs/reference/model/{Vector2.md → Vector2Tuple.md} +3 -3
- package/dist/docs/reference/model/Vector3-type.md +282 -0
- package/dist/docs/reference/model/Vector3Input.md +20 -0
- package/dist/docs/reference/model/{Vector3.md → Vector3Tuple.md} +3 -3
- 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 +2 -2
- package/dist/docs/reference/model/categories/boolean-operations.md +4 -4
- package/dist/docs/reference/model/categories/bounded-surfaces.md +3 -3
- package/dist/docs/reference/model/categories/contracts.md +1 -1
- package/dist/docs/reference/model/categories/core-values-errors.md +5 -5
- package/dist/docs/reference/model/categories/explicit-profiles.md +2 -2
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +1 -1
- package/dist/docs/reference/model/categories/generation.md +1 -1
- package/dist/docs/reference/model/categories/inspection.md +5 -5
- package/dist/docs/reference/model/categories/mesh-inspection.md +2 -2
- package/dist/docs/reference/model/categories/primitives.md +2 -2
- package/dist/docs/reference/model/categories/resolution.md +1 -1
- package/dist/docs/reference/model/categories/sections.md +11 -8
- package/dist/docs/reference/model/categories/threads.md +1 -1
- package/dist/docs/reference/model/categories/transforms-placement.md +21 -7
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/components.md +7 -4
- 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 +2 -2
- package/dist/docs/reference/model/ellipse.md +1 -1
- package/dist/docs/reference/model/extrude.md +2 -2
- package/dist/docs/reference/model/generate.md +1 -1
- package/dist/docs/reference/model/gridPattern.md +1 -1
- package/dist/docs/reference/model/heightfield.md +2 -2
- package/dist/docs/reference/model/hull.md +2 -2
- 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 +3 -3
- 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 +1 -1
- package/dist/docs/reference/model/intersect.md +1 -1
- package/dist/docs/reference/model/isEmpty.md +2 -2
- package/dist/docs/reference/model/linearPattern.md +1 -1
- package/dist/docs/reference/model/loft.md +1 -1
- package/dist/docs/reference/model/matchProfiles.md +1 -1
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/pathPattern.md +6 -6
- package/dist/docs/reference/model/polygon.md +1 -1
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +1 -1
- package/dist/docs/reference/model/preflightThreadedNut.md +1 -1
- package/dist/docs/reference/model/preflightThreadedRod.md +1 -1
- package/dist/docs/reference/model/radialPattern.md +5 -5
- package/dist/docs/reference/model/rayCast.md +5 -5
- package/dist/docs/reference/model/rectangle.md +2 -2
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/model/stroke.md +74 -0
- 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 +5 -5
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +1 -1
- package/dist/docs/reference/model/threadedNut.md +1 -1
- package/dist/docs/reference/model/threadedRod.md +1 -1
- package/dist/docs/reference/model/toTriangleMesh.md +1 -1
- package/dist/docs/reference/model/torus.md +1 -1
- package/dist/docs/reference/model/transform2.md +39 -0
- package/dist/docs/reference/model/transform3.md +39 -0
- package/dist/docs/reference/model/tube.md +1 -1
- package/dist/docs/reference/model/union.md +1 -1
- package/dist/docs/reference/model/vector2.md +32 -0
- package/dist/docs/reference/model/vector3.md +39 -0
- package/dist/docs/reference/model.md +7 -7
- package/dist/docs/reference/text/Bounds2.md +4 -4
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
- package/dist/docs/reference/text/Vector2Tuple.md +7 -0
- package/dist/docs/reference/text/VectorFont.md +1 -1
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
- 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 +2 -2
- package/dist/docs/reference/text/prepareVectorFont.md +1 -1
- package/dist/docs/reference/text.md +1 -1
- package/dist/engine/deferred-context.js +11 -181
- package/dist/engine/native/transforms.js +6 -1
- package/dist/engine/pattern-operations.js +2 -2
- package/dist/engine/primitive-profiles.js +1 -0
- package/dist/engine/recipe-realization.js +29 -21
- package/dist/engine/section-operations.js +19 -3
- package/dist/engine/session-graph.js +1 -1
- package/dist/engine/session-native.js +1 -1
- package/dist/engine/session-snapshot.js +3 -2
- package/dist/engine/session.js +3 -3
- package/dist/engine/shape-anchors.js +3 -9
- package/dist/engine/transform-operations.js +42 -25
- package/dist/geometry/index.js +6 -2
- package/dist/geometry/math/immutable-value.js +20 -0
- package/dist/geometry/math/vector-value.js +168 -0
- package/dist/geometry/math/vector2.js +80 -0
- package/dist/geometry/math/vector3.js +37 -7
- package/dist/geometry/mechanical/gear-motion.js +7 -4
- package/dist/geometry/mesh/mesh-solid-intersections.js +5 -1
- package/dist/geometry/paths/closest-point.js +74 -0
- package/dist/geometry/paths/frames.js +3 -3
- package/dist/geometry/primitive-resolution.js +4 -1
- package/dist/geometry/resolution.js +17 -5
- package/dist/geometry/stroke-path.js +48 -44
- package/dist/geometry/sweeps/stations.js +4 -4
- package/dist/geometry/sweeps/sweep-closed.js +3 -3
- package/dist/geometry/sweeps/sweep-open.js +3 -3
- package/dist/geometry/transform-chain.js +172 -0
- package/dist/geometry/transform-geometry.js +28 -24
- package/dist/geometry/transform-matrix.js +14 -0
- package/dist/geometry/transform2.js +60 -0
- package/dist/geometry/transform3.js +70 -26
- package/dist/index.js +3 -0
- package/dist/model/execution-binding.js +10 -5
- package/dist/model/geometry-recipes.js +15 -0
- package/dist/{engine → model}/immutable-generation-data.js +25 -3
- package/dist/model/operation-dispatch.js +10 -3
- package/dist/model/operations.js +21 -10
- package/dist/model/recipe-declaration.js +193 -0
- package/dist/model/shape-handles.js +15 -4
- package/package.json +1 -1
- package/dist/docs/reference/geometry/Region.md +0 -14
- package/dist/docs/reference/geometry/Transform3.md +0 -12
- package/dist/docs/reference/geometry/Vector2.md +0 -7
- package/dist/docs/reference/geometry/Vector3.md +0 -7
- package/dist/docs/reference/geometry/rotateAroundAxis3.md +0 -38
- package/dist/docs/reference/geometry/transformRegion.md +0 -40
- package/dist/docs/reference/model/Transform2.md +0 -15
- package/dist/docs/reference/model/toRegion.md +0 -33
- package/dist/docs/reference/text/Vector2.md +0 -7
- package/dist/engine/geometry-recipes.js +0 -12
- package/dist/engine/pattern-transform.js +0 -9
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Adds two finite XYZ vectors component-wise.
|
|
4
4
|
|
|
5
|
-
`const` **add3**: (`a`: [`
|
|
5
|
+
`const` **add3**: (`a`: [`Vector3Tuple`](Vector3Tuple.md), `b`: [`Vector3Tuple`](Vector3Tuple.md)) => [`Vector3Tuple`](Vector3Tuple.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,23 +16,27 @@ add3([1, 2, 3], [4, 5, 6]); // [5, 7, 9]
|
|
|
16
16
|
|
|
17
17
|
<a id="a"></a>
|
|
18
18
|
|
|
19
|
-
**`a`** · [`
|
|
19
|
+
**`a`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
<a id="b"></a>
|
|
24
24
|
|
|
25
|
-
**`b`** · [`
|
|
25
|
+
**`b`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
## Returns
|
|
30
30
|
|
|
31
|
-
[`
|
|
31
|
+
[`Vector3Tuple`](Vector3Tuple.md)
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
## Related APIs
|
|
35
35
|
|
|
36
|
-
- [
|
|
36
|
+
- [Vector3Tuple](Vector3Tuple.md)
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
## Guides
|
|
39
|
+
|
|
40
|
+
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
41
|
+
|
|
42
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -49,4 +49,4 @@ A deterministic report without mutating or copying the mesh.
|
|
|
49
49
|
- [TriangleMeshQualityOptions](TriangleMeshQualityOptions.md)
|
|
50
50
|
- [TriangleMeshQualityReport](TriangleMeshQualityReport.md)
|
|
51
51
|
|
|
52
|
-
Package: `@metamesh/modeling@0.
|
|
52
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Applies only the linear component of an affine transform to a direction.
|
|
4
4
|
|
|
5
|
-
**applyTransformDirection3**(`transform`: [`
|
|
5
|
+
**applyTransformDirection3**(`transform`: [`Transform3Matrix`](Transform3Matrix.md), `direction`: [`Vector3Tuple`](Vector3Tuple.md)): [`Vector3Tuple`](Vector3Tuple.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ The result is not normalized, preserving scale information.
|
|
|
12
12
|
|
|
13
13
|
<a id="transform"></a>
|
|
14
14
|
|
|
15
|
-
**`transform`** · [`
|
|
15
|
+
**`transform`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
|
|
16
16
|
|
|
17
17
|
Valid row-major affine transform.
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ Valid row-major affine transform.
|
|
|
20
20
|
|
|
21
21
|
<a id="direction"></a>
|
|
22
22
|
|
|
23
|
-
**`direction`** · [`
|
|
23
|
+
**`direction`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
24
24
|
|
|
25
25
|
Finite XYZ direction.
|
|
26
26
|
|
|
@@ -28,14 +28,18 @@ Finite XYZ direction.
|
|
|
28
28
|
|
|
29
29
|
## Returns
|
|
30
30
|
|
|
31
|
-
[`
|
|
31
|
+
[`Vector3Tuple`](Vector3Tuple.md)
|
|
32
32
|
|
|
33
33
|
A fresh transformed direction.
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
## Related APIs
|
|
37
37
|
|
|
38
|
-
- [
|
|
39
|
-
- [
|
|
38
|
+
- [Transform3Matrix](Transform3Matrix.md)
|
|
39
|
+
- [Vector3Tuple](Vector3Tuple.md)
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
## Guides
|
|
42
|
+
|
|
43
|
+
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
44
|
+
|
|
45
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Applies an affine transform to a point, including translation.
|
|
4
4
|
|
|
5
|
-
**applyTransformPoint3**(`transform`: [`
|
|
5
|
+
**applyTransformPoint3**(`transform`: [`Transform3Matrix`](Transform3Matrix.md), `point`: [`Vector3Tuple`](Vector3Tuple.md)): [`Vector3Tuple`](Vector3Tuple.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Applies an affine transform to a point, including translation.
|
|
|
10
10
|
|
|
11
11
|
<a id="transform"></a>
|
|
12
12
|
|
|
13
|
-
**`transform`** · [`
|
|
13
|
+
**`transform`** · [`Transform3Matrix`](Transform3Matrix.md) · Required
|
|
14
14
|
|
|
15
15
|
Valid row-major affine transform.
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ Valid row-major affine transform.
|
|
|
18
18
|
|
|
19
19
|
<a id="point"></a>
|
|
20
20
|
|
|
21
|
-
**`point`** · [`
|
|
21
|
+
**`point`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
22
22
|
|
|
23
23
|
Finite XYZ point.
|
|
24
24
|
|
|
@@ -26,14 +26,18 @@ Finite XYZ point.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
[`
|
|
29
|
+
[`Vector3Tuple`](Vector3Tuple.md)
|
|
30
30
|
|
|
31
31
|
A fresh transformed point.
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
## Related APIs
|
|
35
35
|
|
|
36
|
-
- [
|
|
37
|
-
- [
|
|
36
|
+
- [Transform3Matrix](Transform3Matrix.md)
|
|
37
|
+
- [Vector3Tuple](Vector3Tuple.md)
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
## Guides
|
|
40
|
+
|
|
41
|
+
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
42
|
+
|
|
43
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Builds the transform that moves a source anchor onto a target anchor.
|
|
4
4
|
|
|
5
|
-
**attachTransform**(`source`: [`Anchor3`](Anchor3.md), `target`: [`Anchor3`](Anchor3.md), `options?`: [`AttachTransformOptions`](AttachTransformOptions.md)): [`
|
|
5
|
+
**attachTransform**(`source`: [`Anchor3`](Anchor3.md), `target`: [`Anchor3`](Anchor3.md), `options?`: [`AttachTransformOptions`](AttachTransformOptions.md)): [`Transform3Matrix`](Transform3Matrix.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -55,7 +55,7 @@ Alignment, gap, spin, and tolerance policy.
|
|
|
55
55
|
|
|
56
56
|
## Returns
|
|
57
57
|
|
|
58
|
-
[`
|
|
58
|
+
[`Transform3Matrix`](Transform3Matrix.md)
|
|
59
59
|
|
|
60
60
|
A frozen affine transform for the moving object.
|
|
61
61
|
|
|
@@ -68,6 +68,10 @@ A frozen affine transform for the moving object.
|
|
|
68
68
|
|
|
69
69
|
- [Anchor3](Anchor3.md)
|
|
70
70
|
- [AttachTransformOptions](AttachTransformOptions.md)
|
|
71
|
-
- [
|
|
71
|
+
- [Transform3Matrix](Transform3Matrix.md)
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
## Guides
|
|
74
|
+
|
|
75
|
+
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
76
|
+
|
|
77
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -6,7 +6,7 @@ Midpoint of finite XY bounds in millimetres.
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
**boundsCenter**(`bounds`: [`Bounds2`](Bounds2.md)): [`
|
|
9
|
+
**boundsCenter**(`bounds`: [`Bounds2`](Bounds2.md)): [`Vector2Tuple`](Vector2Tuple.md)
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -22,13 +22,13 @@ Midpoint of finite XY bounds in millimetres.
|
|
|
22
22
|
|
|
23
23
|
### Returns
|
|
24
24
|
|
|
25
|
-
[`
|
|
25
|
+
[`Vector2Tuple`](Vector2Tuple.md)
|
|
26
26
|
|
|
27
27
|
## Call Signature
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
**boundsCenter**(`bounds`: [`Bounds3`](Bounds3.md)): [`
|
|
31
|
+
**boundsCenter**(`bounds`: [`Bounds3`](Bounds3.md)): [`Vector3Tuple`](Vector3Tuple.md)
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
@@ -44,19 +44,19 @@ Midpoint of finite XYZ bounds in millimetres.
|
|
|
44
44
|
|
|
45
45
|
### Returns
|
|
46
46
|
|
|
47
|
-
[`
|
|
47
|
+
[`Vector3Tuple`](Vector3Tuple.md)
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
## Related APIs
|
|
51
51
|
|
|
52
52
|
- [Bounds2](Bounds2.md)
|
|
53
53
|
- [Bounds3](Bounds3.md)
|
|
54
|
-
- [
|
|
55
|
-
- [
|
|
54
|
+
- [Vector2Tuple](Vector2Tuple.md)
|
|
55
|
+
- [Vector3Tuple](Vector3Tuple.md)
|
|
56
56
|
|
|
57
57
|
## Guides
|
|
58
58
|
|
|
59
59
|
- [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
|
|
60
60
|
- [Solid inspection](../../guides/recipes.md#solid-inspection)
|
|
61
61
|
|
|
62
|
-
Package: `@metamesh/modeling@0.
|
|
62
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -6,7 +6,7 @@ Creates immutable centered XY bounds from nonnegative dimensions in millimetres.
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
**boundsFromSize**(`size`: [`
|
|
9
|
+
**boundsFromSize**(`size`: [`Vector2Tuple`](Vector2Tuple.md), `options?`: [`BoundsFromSizeOptions`](BoundsFromSizeOptions.md)): [`Bounds2`](Bounds2.md)
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ Creates immutable centered XY bounds from nonnegative dimensions in millimetres.
|
|
|
16
16
|
|
|
17
17
|
<a id="size"></a>
|
|
18
18
|
|
|
19
|
-
**`size`** · [`
|
|
19
|
+
**`size`** · [`Vector2Tuple`](Vector2Tuple.md) · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -38,7 +38,7 @@ Creates immutable centered XY bounds from nonnegative dimensions in millimetres.
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
**boundsFromSize**(`size`: [`
|
|
41
|
+
**boundsFromSize**(`size`: [`Vector3Tuple`](Vector3Tuple.md), `options?`: [`BoundsFromSizeOptions`](BoundsFromSizeOptions.md)): [`Bounds3`](Bounds3.md)
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -48,7 +48,7 @@ Creates immutable centered XYZ bounds from nonnegative dimensions in millimetres
|
|
|
48
48
|
|
|
49
49
|
<a id="size-1"></a>
|
|
50
50
|
|
|
51
|
-
**`size`** · [`
|
|
51
|
+
**`size`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
|
|
@@ -72,12 +72,12 @@ Creates immutable centered XYZ bounds from nonnegative dimensions in millimetres
|
|
|
72
72
|
- [Bounds2](Bounds2.md)
|
|
73
73
|
- [Bounds3](Bounds3.md)
|
|
74
74
|
- [BoundsFromSizeOptions](BoundsFromSizeOptions.md)
|
|
75
|
-
- [
|
|
76
|
-
- [
|
|
75
|
+
- [Vector2Tuple](Vector2Tuple.md)
|
|
76
|
+
- [Vector3Tuple](Vector3Tuple.md)
|
|
77
77
|
|
|
78
78
|
## Guides
|
|
79
79
|
|
|
80
80
|
- [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
|
|
81
81
|
- [Solid inspection](../../guides/recipes.md#solid-inspection)
|
|
82
82
|
|
|
83
|
-
Package: `@metamesh/modeling@0.
|
|
83
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -6,7 +6,7 @@ Inclusive XY dimensions in millimetres; zero extents are retained.
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
**boundsSize**(`bounds`: [`Bounds2`](Bounds2.md)): [`
|
|
9
|
+
**boundsSize**(`bounds`: [`Bounds2`](Bounds2.md)): [`Vector2Tuple`](Vector2Tuple.md)
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -22,13 +22,13 @@ Inclusive XY dimensions in millimetres; zero extents are retained.
|
|
|
22
22
|
|
|
23
23
|
### Returns
|
|
24
24
|
|
|
25
|
-
[`
|
|
25
|
+
[`Vector2Tuple`](Vector2Tuple.md)
|
|
26
26
|
|
|
27
27
|
## Call Signature
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
**boundsSize**(`bounds`: [`Bounds3`](Bounds3.md)): [`
|
|
31
|
+
**boundsSize**(`bounds`: [`Bounds3`](Bounds3.md)): [`Vector3Tuple`](Vector3Tuple.md)
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
@@ -44,19 +44,19 @@ Inclusive XYZ dimensions in millimetres; zero extents are retained.
|
|
|
44
44
|
|
|
45
45
|
### Returns
|
|
46
46
|
|
|
47
|
-
[`
|
|
47
|
+
[`Vector3Tuple`](Vector3Tuple.md)
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
## Related APIs
|
|
51
51
|
|
|
52
52
|
- [Bounds2](Bounds2.md)
|
|
53
53
|
- [Bounds3](Bounds3.md)
|
|
54
|
-
- [
|
|
55
|
-
- [
|
|
54
|
+
- [Vector2Tuple](Vector2Tuple.md)
|
|
55
|
+
- [Vector3Tuple](Vector3Tuple.md)
|
|
56
56
|
|
|
57
57
|
## Guides
|
|
58
58
|
|
|
59
59
|
- [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
|
|
60
60
|
- [Solid inspection](../../guides/recipes.md#solid-inspection)
|
|
61
61
|
|
|
62
|
-
Package: `@metamesh/modeling@0.
|
|
62
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -12,7 +12,7 @@ Creates an outward face-center anchor using the same local origin convention as
|
|
|
12
12
|
|
|
13
13
|
**`options`** · [`BoxAnchorOptions`](BoxAnchorOptions.md) · Required
|
|
14
14
|
|
|
15
|
-
- [`size`](BoxAnchorOptions.md#size) · `number` \| [`
|
|
15
|
+
- [`size`](BoxAnchorOptions.md#size) · `number` \| [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
16
16
|
|
|
17
17
|
XYZ dimensions, or one uniform dimension, in millimetres.
|
|
18
18
|
|
|
@@ -24,7 +24,7 @@ Creates an outward face-center anchor using the same local origin convention as
|
|
|
24
24
|
|
|
25
25
|
Centers the box around its construction origin; defaults to true, matching box().
|
|
26
26
|
|
|
27
|
-
- [`origin`](BoxAnchorOptions.md#origin) · [`
|
|
27
|
+
- [`origin`](BoxAnchorOptions.md#origin) · [`Vector3Tuple`](Vector3Tuple.md) · Optional
|
|
28
28
|
|
|
29
29
|
Construction origin; centered-box center or noncentered minimum corner. Defaults to zero.
|
|
30
30
|
|
|
@@ -45,4 +45,8 @@ resulting anchor frame explicitly; no anchor is inherited from a Boolean result.
|
|
|
45
45
|
- [Anchor3](Anchor3.md)
|
|
46
46
|
- [BoxAnchorOptions](BoxAnchorOptions.md)
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
## Guides
|
|
49
|
+
|
|
50
|
+
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
51
|
+
|
|
52
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -65,4 +65,4 @@ Builds closed thread-ridge components with every profile locked to the shaft's r
|
|
|
65
65
|
- [HelicalThreadRidgeMeshOptions](HelicalThreadRidgeMeshOptions.md)
|
|
66
66
|
- [TriangleMesh](TriangleMesh.md)
|
|
67
67
|
|
|
68
|
-
Package: `@metamesh/modeling@0.
|
|
68
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -32,4 +32,4 @@ Bounds2 and Bounds3 are shared min/max data for text, mesh measurements, and pla
|
|
|
32
32
|
- [Text from a Font parameter](../../../guides/recipes.md#text-from-a-font-parameter)
|
|
33
33
|
- [Solid inspection](../../../guides/recipes.md#solid-inspection)
|
|
34
34
|
|
|
35
|
-
Package: `@metamesh/modeling@0.
|
|
35
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Sample reusable lines, arcs, cubic curves, and path frames with explicit physical policies.
|
|
4
4
|
|
|
5
|
-
sampleCurve2/3 retain directed endpoints and tangents. Exact curve intervals are uniform in the curve parameter; resamplePolyline2/3 use equal arc length. Both resampling dimensions accept the same closed option and return points plus tangents; closed outputs include the closing edge without repeating the first point. Adaptive policies use millimetre deviation and edge length, with checked vertex ceilings. Sweep frames require explicit seam and orientation choices.
|
|
5
|
+
sampleCurve2/3 retain directed endpoints and tangents. Exact curve intervals are uniform in the curve parameter; resamplePolyline2/3 use equal arc length. Both resampling dimensions accept the same closed option and return points plus tangents; closed outputs include the closing edge without repeating the first point. Adaptive policies use millimetre deviation and edge length, with checked vertex ceilings. transformPath2 accepts Transform2 placements or Transform2Matrix data; transformPath3 accepts Transform3 placements or Transform3Matrix data. Paths retain point order after reflection. closestPointOnPath returns a point, distance, edge index and interpolation fraction on an open path or explicitly closed boundary. Sweep frames require explicit seam and orientation choices.
|
|
6
6
|
|
|
7
7
|
## Functions
|
|
8
8
|
|
|
9
9
|
| API | Summary |
|
|
10
10
|
| --- | --- |
|
|
11
11
|
| [anchorFrame3](../anchorFrame3.md) | Converts an anchor into a right-handed frame with direction as local +Z. |
|
|
12
|
+
| [closestPointOnPath](../closestPointOnPath.md) | Finds the closest position anywhere on an open XY path or closed contour. |
|
|
12
13
|
| [sampleCurve2](../sampleCurve2.md) | Samples a planar curve with the same guarantees and policy as spatial sampling. |
|
|
13
14
|
| [sampleCurve3](../sampleCurve3.md) | Samples a spatial curve, preserving endpoints and directed unit tangents. |
|
|
14
|
-
| [transformPath2](../transformPath2.md) | Applies
|
|
15
|
+
| [transformPath2](../transformPath2.md) | Applies a canonical affine XY transform to a 2D path without changing point order. |
|
|
15
16
|
| [transformPath3](../transformPath3.md) | Applies an affine transform to a 3D path without mutating its points. |
|
|
16
17
|
| [resolveGeometrySamplingLimits](../resolveGeometrySamplingLimits.md) | Resolves finite positive safe-integer allocation ceilings without ambient state. |
|
|
17
18
|
| [resamplePolyline2](../resamplePolyline2.md) | Resamples a planar polyline with the same point, tangent, seam and budget guarantees as 3D. |
|
|
@@ -25,6 +26,8 @@ sampleCurve2/3 retain directed endpoints and tangents. Exact curve intervals are
|
|
|
25
26
|
| [ArcCurve3](../ArcCurve3.md) | Spatial circular arc in the plane of two orthogonal unit directions. |
|
|
26
27
|
| [CubicBezierCurve2](../CubicBezierCurve2.md) | Planar cubic Bézier with explicit endpoint and control coordinates. |
|
|
27
28
|
| [CubicBezierCurve3](../CubicBezierCurve3.md) | Spatial cubic Bézier with explicit endpoint and control coordinates. |
|
|
29
|
+
| [ClosestPointOnPathOptions](../ClosestPointOnPathOptions.md) | Topology and work ceiling for a closest-point query on a sampled path. |
|
|
30
|
+
| [ClosestPointOnPathResult](../ClosestPointOnPathResult.md) | Closest position on a sampled path, measured in millimetres. |
|
|
28
31
|
| [CurveSamplingOptions](../CurveSamplingOptions.md) | Explicit physical sampling and allocation policy for reusable curves. |
|
|
29
32
|
| [Frame3](../Frame3.md) | A right-handed orthonormal coordinate frame expressed in world coordinates. |
|
|
30
33
|
| [GeometrySamplingLimits](../GeometrySamplingLimits.md) | Explicit allocation ceilings for pure sampling and host-owned modeling operations. |
|
|
@@ -60,4 +63,4 @@ sampleCurve2/3 retain directed endpoints and tangents. Exact curve intervals are
|
|
|
60
63
|
| [roundClosedPolylinePath](../roundClosedPolylinePath.md) | Replaces each vertex of a non-duplicated closed polyline with a sampled quadratic corner in the same coordinate system as the input. |
|
|
61
64
|
| [sampleHelix](../sampleHelix.md) | Creates `segments + 1` points including exact helix endpoints from finite positive dimensions. Integrated weights must remain finite. The maxPathPoints ceiling defaults to 100000; excessive exact counts reject before evaluating axial weights or allocating sample arrays. |
|
|
62
65
|
|
|
63
|
-
Package: `@metamesh/modeling@0.
|
|
66
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -98,4 +98,4 @@ Pure kernels resolve dimensions and emit outlines or meshes without native state
|
|
|
98
98
|
| [METRIC_FASTENER_STANDARDS](../METRIC_FASTENER_STANDARDS.md) | Curated metric modeling dimensions for clearance holes, regular hex nuts, and socket-head cap screws. |
|
|
99
99
|
| [PRINTABLE_THREAD_FIT_POLICIES](../PRINTABLE_THREAD_FIT_POLICIES.md) | Conservative baseline print-fit policies in millimetres. |
|
|
100
100
|
|
|
101
|
-
Package: `@metamesh/modeling@0.
|
|
101
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -70,4 +70,4 @@ Manufacturing meshes use Float32 XYZ positions and Uint32 triangle indices. Clos
|
|
|
70
70
|
| [meshBounds](../meshBounds.md) | Computes axis-aligned bounds for a non-empty mesh. |
|
|
71
71
|
| [revolveMesh](../revolveMesh.md) | Revolves a non-duplicated closed `[radius, z]` profile around +Z. |
|
|
72
72
|
|
|
73
|
-
Package: `@metamesh/modeling@0.
|
|
73
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Calculate pure linear, radial, grid, and path transforms.
|
|
4
4
|
|
|
5
|
-
Pure pattern transforms use the same counts, spacing, centering and frames as root pattern operations.
|
|
5
|
+
Pure pattern transforms use the same counts, spacing, centering and frames as root pattern operations. Transform3Matrix values can place points, meshes or explicit geometry without a native engine. Linear and grid spacing use millimetres; radial angles use degrees. Paths use physical arc-length intervals and omit the seam when closed.
|
|
6
6
|
|
|
7
7
|
## Functions
|
|
8
8
|
|
|
@@ -31,4 +31,4 @@ Pure pattern transforms use the same counts, spacing, centering and frames as ro
|
|
|
31
31
|
|
|
32
32
|
- [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
33
33
|
|
|
34
|
-
Package: `@metamesh/modeling@0.
|
|
34
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -33,4 +33,4 @@ Dimensional shapes share object options, millimetre units and explicit placement
|
|
|
33
33
|
| [BoxEdgeSelection](../BoxEdgeSelection.md) | Named individual edges or top/bottom rims and all four vertical edges. |
|
|
34
34
|
| [BoxEdgeTreatments](../BoxEdgeTreatments.md) | Independent treatments for disjoint named edge selections; overlapping selections fail. |
|
|
35
35
|
|
|
36
|
-
Package: `@metamesh/modeling@0.
|
|
36
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Define winding, holes, stable profile landmarks, and reusable planar boundaries.
|
|
4
4
|
|
|
5
|
-
Outer contours are counterclockwise and holes clockwise in Y-up coordinates, with implicit closing edges. The Loop factories return point data; regularPolygonContour uses degree rotation and explicit vertex/face sizing. `rectangleProfile({ size, treatment, id })` returns identified spans for family matching, not sampled points. Profile families preserve component, contour and span identities; matchProfiles returns CorrespondingProfile values with stable shared landmarks. No automatic topology guessing or reordering occurs. closeToAxis closes an open upward radius/height outline into a solid-body contour; hollow walls and bores require explicit material contours.
|
|
5
|
+
Outer contours are counterclockwise and holes clockwise in Y-up coordinates, with implicit closing edges. The Loop factories return point data; regularPolygonContour uses degree rotation and explicit vertex/face sizing. transformContour and transformRegionData accept Transform2 placements or canonical Transform2Matrix data and retain reflection-safe winding. Use Section.transform for ordinary filled-shape authoring; transformRegionData serves serialized data preparation. `rectangleProfile({ size, treatment, id })` returns identified spans for family matching, not sampled points. Profile families preserve component, contour and span identities; matchProfiles returns CorrespondingProfile values with stable shared landmarks. No automatic topology guessing or reordering occurs. closeToAxis closes an open upward radius/height outline into a solid-body contour; hollow walls and bores require explicit material contours.
|
|
6
6
|
|
|
7
7
|
## Functions
|
|
8
8
|
|
|
@@ -21,8 +21,8 @@ Outer contours are counterclockwise and holes clockwise in Y-up coordinates, wit
|
|
|
21
21
|
| [sampleSideProfile](../sampleSideProfile.md) | Samples 1–31 line/cubic segments into a deeply immutable open [radius,height] polyline. Anchors must progress strictly upward; nonnegative-radius cubic controls must have ordered heights between their endpoints. Cubics use de Casteljau subdivision with a conservative control-hull chord-error bound. Lines also obey the optional physical edge-length ceiling. Neither normalized coordinates nor editor metadata are required. Endpoints are retained once; no axis closure, winding normalization, or manufacturing repair is performed. |
|
|
22
22
|
| [sampleContour](../sampleContour.md) | Samples 2–32 connected line/cubic segments into a simple, nonzero-area, immutable CCW XY loop. Physical scaling precedes adaptive curve sampling; the final end must repeat start exactly. Shared anchors and the closing seam are emitted once. Winding normalization may change the starting vertex. The sampled loop is checked for self-intersection and degeneracy by `normalizeContour`; this is a single contour without holes. No editor modes or normalized coordinate range are required. No native engine, SDK, or ambient resolution is used. |
|
|
23
23
|
| [signedContourArea](../signedContourArea.md) | Returns the signed area of a non-duplicated loop; positive means CCW. |
|
|
24
|
-
| [transformContour](../transformContour.md) |
|
|
25
|
-
| [
|
|
24
|
+
| [transformContour](../transformContour.md) | Applies a canonical affine XY transform to a closed loop and preserves its original winding. |
|
|
25
|
+
| [transformRegionData](../transformRegionData.md) | Transforms serialized polygon data with reflection-safe winding, without an engine. Use Section.transform(placement) when authoring filled geometry; this utility serves pure data preparation. |
|
|
26
26
|
| [triangulateContour](../triangulateContour.md) | Ear-clips one normalized simple CCW loop into stable local vertex indices. |
|
|
27
27
|
| [closeToAxis](../closeToAxis.md) | Closes an open, strictly upward [radius, height] side outline to the radius-zero axis. Adds horizontal bottom/top edges at the endpoint heights, retaining axis endpoints once. Returns a counterclockwise filled-boundary contour without a repeated seam vertex. Radii must be nonnegative; the result must enclose nonzero area without touching itself. This is a solid-body closure, not a hollow-wall or mounting-bore construction. |
|
|
28
28
|
|
|
@@ -36,7 +36,7 @@ Outer contours are counterclockwise and holes clockwise in Y-up coordinates, wit
|
|
|
36
36
|
| [ContourCurve](../ContourCurve.md) | One explicitly closed planar contour, independent of editor metadata and parameter contracts. |
|
|
37
37
|
| [ContourPoint](../ContourPoint.md) | Planar X and upward Y in millimetres, or in units converted by sampling scales. |
|
|
38
38
|
| [SideProfilePoint](../SideProfilePoint.md) | Radius and upward height in millimetres, or in units converted by sampling scales. |
|
|
39
|
-
| [
|
|
39
|
+
| [PolygonData](../PolygonData.md) | One bounded two-dimensional polygon. |
|
|
40
40
|
| [Profile](../Profile.md) | An explicit component/contour/span topology, before shared family sampling. |
|
|
41
41
|
| [ProfileComponent2](../ProfileComponent2.md) | One component and its explicitly identified holes. |
|
|
42
42
|
| [ProfileContour2](../ProfileContour2.md) | Ordered, closed spans. Outer winding is CCW and hole winding is CW. |
|
|
@@ -59,7 +59,7 @@ Outer contours are counterclockwise and holes clockwise in Y-up coordinates, wit
|
|
|
59
59
|
| [ContourSegment](../ContourSegment.md) | Straight or cubic Bézier segment in one closed planar contour. |
|
|
60
60
|
| [SideProfileSegment](../SideProfileSegment.md) | One straight or cubic segment of an open, upward-progressing radius/height outline. |
|
|
61
61
|
| [ProfileSpan2](../ProfileSpan2.md) | An identified line, circular arc, or cubic Bézier between corresponding landmarks. |
|
|
62
|
-
| [
|
|
62
|
+
| [RegionData](../RegionData.md) | A two-dimensional region represented by disjoint filled polygons. |
|
|
63
63
|
| [RectangleCornerTreatment](../RectangleCornerTreatment.md) | A rectangle corner, including an explicitly untreated corner in a treatment tuple. |
|
|
64
64
|
| [RectangleCornerTreatments](../RectangleCornerTreatments.md) | Corner treatments ordered top-right, top-left, bottom-left, bottom-right. |
|
|
65
65
|
|
|
@@ -71,4 +71,4 @@ Outer contours are counterclockwise and holes clockwise in Y-up coordinates, wit
|
|
|
71
71
|
| [regularPolygonContour](../regularPolygonContour.md) | Creates a centered CCW point loop with vertex or face radial sizing and an implicit seam. |
|
|
72
72
|
| [starContour](../starContour.md) | Creates a centered CCW alternating-radius star within the selected profile sampling ceiling. |
|
|
73
73
|
|
|
74
|
-
Package: `@metamesh/modeling@0.
|
|
74
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Resolve physical sampling, numerical tolerances, and contextual failures.
|
|
4
4
|
|
|
5
|
-
Defaults are 0.05 mm maximum circular chord error and 16–512 segments per complete circle. Exact local counts win. Algorithm limits fail explicitly. GeometryError supplies structured codes and operation context; no ambient resolution state exists.
|
|
5
|
+
Defaults are 0.05 mm maximum circular chord error and 16–512 segments per complete circle. Face-sized circular sampling bounds outward radial excess and actual edge lengths. Exact local counts win. Algorithm limits fail explicitly. GeometryError supplies structured codes and operation context; no ambient resolution state exists.
|
|
6
6
|
|
|
7
7
|
## Functions
|
|
8
8
|
|
|
@@ -25,6 +25,7 @@ Defaults are 0.05 mm maximum circular chord error and 16–512 segments per comp
|
|
|
25
25
|
| API | Summary |
|
|
26
26
|
| --- | --- |
|
|
27
27
|
| [AlignedCircularSegmentsOptions](../AlignedCircularSegmentsOptions.md) | Controls full-circle sampling that must satisfy one or more topology alignments. |
|
|
28
|
+
| [CircularResolutionOptions](../CircularResolutionOptions.md) | Circular sampling measured from the nominal inscribed or circumscribed radius. |
|
|
28
29
|
| [GeometryErrorContext](../GeometryErrorContext.md) | Serializable context attached to a geometry failure. |
|
|
29
30
|
| [GeometryResolution](../GeometryResolution.md) | Tessellation policy for sampled geometry measured in millimetres. |
|
|
30
31
|
| [GeometryToleranceOptions](../GeometryToleranceOptions.md) | Optional overrides for MetaMesh's geometry comparison policy. |
|
|
@@ -43,4 +44,4 @@ Defaults are 0.05 mm maximum circular chord error and 16–512 segments per comp
|
|
|
43
44
|
| --- | --- |
|
|
44
45
|
| [DEFAULT_GEOMETRY_TOLERANCE](../DEFAULT_GEOMETRY_TOLERANCE.md) | Default absolute, relative, and angular tolerances for millimetre-scale models. |
|
|
45
46
|
|
|
46
|
-
Package: `@metamesh/modeling@0.
|
|
47
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
# Transforms and vector math
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Build immutable reusable placements and calculate with fluent vectors or tuple kernels.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Use immutable vector2/vector3 and transform2/transform3 values for ordinary authoring. Operations return new values; tuples remain convenient inputs. dot, length and distance return numbers; cross returns a signed scalar in 2D and a right-handed vector in 3D. Normalization rejects zero vectors; fluent values reject nonfinite inputs and results. Rotations use degrees and named optional `{ pivot }` points in world coordinates. Calls and andThen composition apply in execution order. Points include translation; directions exclude it and retain scale; normals use inverse-transpose normalization. Shape methods and path helpers accept matching transforms directly. toArray and toMatrix serve interchange using Vector2Tuple/Vector3Tuple and canonical Transform2Matrix/Transform3Matrix data. to3D/to2D convert dimensions explicitly; XY restriction requires a preserved plane. Raw tuple kernels avoid fluent object allocation in hot loops, and matrix constructors provide lower-level interoperability. rotationTransform3 requires an explicit degrees or radians object; composeTransform3(after, before) applies before first. Attachment matches source and target frames; physical clearance is an application decision.
|
|
6
6
|
|
|
7
7
|
## Functions
|
|
8
8
|
|
|
9
9
|
| API | Summary |
|
|
10
10
|
| --- | --- |
|
|
11
|
+
| [transform2](../transform2.md) | Creates an immutable XY transform, identity by default. Matrices are copied and validated. Pass it directly to Section.transform() and planar data helpers; to3D() explicitly crosses into XYZ. Zero scales and singular matrices throw GeometryError; negative scales reflect. |
|
|
12
|
+
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. Matrices are copied and validated. Calls apply in written order; rotations use degrees and pivots use current world coordinates. Zero scales, singular matrices, nonfinite inputs and zero rotation axes throw GeometryError. Use frameTransform3(frame) as the input for existing orthonormal frame placement. |
|
|
13
|
+
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. Values and results are finite. Invalid dimensions throw `INVALID_ARGUMENT`; nonfinite coordinates and overflow throw `NON_FINITE_VALUE` GeometryError. Use transform2().applyDirection(value) for rotations and nonuniform scaling. |
|
|
14
|
+
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. Values and results are finite. Invalid dimensions throw `INVALID_ARGUMENT`; nonfinite coordinates and overflow throw `NON_FINITE_VALUE` GeometryError. Use transform3().applyDirection(value) for rotations and nonuniform scaling. |
|
|
11
15
|
| [applyTransformDirection3](../applyTransformDirection3.md) | Applies only the linear component of an affine transform to a direction. |
|
|
12
16
|
| [applyTransformPoint3](../applyTransformPoint3.md) | Applies an affine transform to a point, including translation. |
|
|
13
17
|
| [attachTransform](../attachTransform.md) | Builds the transform that moves a source anchor onto a target anchor. |
|
|
@@ -28,6 +32,12 @@ Lengths are millimetres. Pure rotation constructors require a degrees or radians
|
|
|
28
32
|
|
|
29
33
|
| API | Summary |
|
|
30
34
|
| --- | --- |
|
|
35
|
+
| [Transform2](../Transform2-type.md) | Immutable reusable XY placement. Methods apply in written order; angles are degrees. |
|
|
36
|
+
| [Transform3](../Transform3-type.md) | Immutable reusable XYZ placement. Methods apply in written order; angles are degrees. |
|
|
37
|
+
| [Pivot2Options](../Pivot2Options.md) | A fixed XY point in world coordinates; omitted pivots use the coordinate origin. |
|
|
38
|
+
| [Pivot3Options](../Pivot3Options.md) | A fixed XYZ point in world coordinates; omitted pivots use the coordinate origin. |
|
|
39
|
+
| [Vector2](../Vector2-type.md) | Immutable XY arithmetic; vector operations return new values and measurements return numbers. |
|
|
40
|
+
| [Vector3](../Vector3-type.md) | Immutable XYZ arithmetic; vector operations return new values and measurements return numbers. |
|
|
31
41
|
| [Anchor3](../Anchor3.md) | An attachment pose on a solid or assembly. |
|
|
32
42
|
| [AttachTransformOptions](../AttachTransformOptions.md) | Options controlling how one anchor is attached to another. |
|
|
33
43
|
| [BoxAnchorOptions](../BoxAnchorOptions.md) | Box dimensions and construction origin for one named face anchor. |
|
|
@@ -37,27 +47,46 @@ Lengths are millimetres. Pure rotation constructors require a degrees or radians
|
|
|
37
47
|
|
|
38
48
|
| API | Summary |
|
|
39
49
|
| --- | --- |
|
|
50
|
+
| [Transform2Input](../Transform2Input.md) | An immutable XY transform or its canonical row-major matrix for interchange. |
|
|
51
|
+
| [Transform3Input](../Transform3Input.md) | An immutable XYZ transform or its canonical row-major matrix for interchange. |
|
|
52
|
+
| [Vector2Input](../Vector2Input.md) | An XY tuple or immutable fluent vector accepted by vector operations. |
|
|
53
|
+
| [Vector3Input](../Vector3Input.md) | An XYZ tuple or immutable fluent vector accepted by vector operations. |
|
|
40
54
|
| [AxisAngleRotation3](../AxisAngleRotation3.md) | One explicitly unit-labelled right-handed axis-angle rotation. |
|
|
41
55
|
| [BoxAnchorFace](../BoxAnchorFace.md) | Named face on an axis-aligned box. |
|
|
42
56
|
| [CylinderAnchorFace](../CylinderAnchorFace.md) | Named face on a cylinder parallel to +Z. |
|
|
43
|
-
| [
|
|
44
|
-
| [
|
|
45
|
-
| [
|
|
57
|
+
| [Transform2Matrix](../Transform2Matrix.md) | A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`. |
|
|
58
|
+
| [Transform3Matrix](../Transform3Matrix.md) | A row-major affine 4x4 matrix applied to column vectors. |
|
|
59
|
+
| [Vector2Tuple](../Vector2Tuple.md) | A two-dimensional Cartesian vector or point. |
|
|
60
|
+
| [Vector3Tuple](../Vector3Tuple.md) | A three-dimensional Cartesian vector or point. |
|
|
46
61
|
|
|
47
62
|
## Values
|
|
48
63
|
|
|
49
64
|
| API | Summary |
|
|
50
65
|
| --- | --- |
|
|
66
|
+
| [add2](../add2.md) | Adds two finite XY vectors component-wise. |
|
|
51
67
|
| [add3](../add3.md) | Adds two finite XYZ vectors component-wise. |
|
|
52
68
|
| [cross3](../cross3.md) | Returns the right-handed cross product. |
|
|
69
|
+
| [cross2](../cross2.md) | Returns the signed scalar cross product; positive means `b` is counter-clockwise from `a`. |
|
|
70
|
+
| [distance2](../distance2.md) | Returns Euclidean point distance without allocating an intermediate difference vector. |
|
|
71
|
+
| [distance3](../distance3.md) | Returns Euclidean point distance without allocating an intermediate difference vector. |
|
|
53
72
|
| [dot3](../dot3.md) | Returns the scalar dot product. |
|
|
73
|
+
| [dot2](../dot2.md) | Returns the scalar dot product. |
|
|
54
74
|
| [IDENTITY_TRANSFORM3](../IDENTITY_TRANSFORM3.md) | Identity transform, safe to share because it is frozen. |
|
|
55
75
|
| [length3](../length3.md) | Returns Euclidean vector length in the vector's coordinate units. |
|
|
76
|
+
| [length2](../length2.md) | Returns Euclidean vector length in the vector's coordinate units. |
|
|
56
77
|
| [lerp3](../lerp3.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
|
|
57
|
-
| [
|
|
78
|
+
| [lerp2](../lerp2.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
|
|
79
|
+
| [normalize3](../normalize3.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). Rejects invalid thresholds, nonfinite lengths, and lengths at or below the threshold with `INVALID_TOLERANCE`, `NON_FINITE_VALUE`, and `DEGENERATE_GEOMETRY` respectively. |
|
|
80
|
+
| [normalize2](../normalize2.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). Rejects invalid thresholds, nonfinite lengths, and lengths at or below the threshold with `INVALID_TOLERANCE`, `NON_FINITE_VALUE`, and `DEGENERATE_GEOMETRY` respectively. |
|
|
58
81
|
| [projectOntoPlane3](../projectOntoPlane3.md) | Removes the component parallel to a normalized plane normal. |
|
|
59
|
-
| [
|
|
82
|
+
| [rotate2](../rotate2.md) | Rotates a finite vector counter-clockwise in XY by `degrees` about the origin. Throws `NON_FINITE_VALUE` for nonfinite coordinates, angles, or derived coordinates. |
|
|
60
83
|
| [scale3](../scale3.md) | Multiplies a vector by a dimensionless scalar. |
|
|
84
|
+
| [scale2](../scale2.md) | Multiplies a vector by a dimensionless scalar. |
|
|
61
85
|
| [subtract3](../subtract3.md) | Subtracts `b` from `a`. |
|
|
86
|
+
| [subtract2](../subtract2.md) | Subtracts `b` from `a` component-wise. |
|
|
62
87
|
|
|
63
|
-
|
|
88
|
+
## Guides
|
|
89
|
+
|
|
90
|
+
- [Reusable transforms and vector math](../../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
91
|
+
|
|
92
|
+
Package: `@metamesh/modeling@0.14.0`.
|