@metamesh/modeling 0.14.0 → 0.16.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 +61 -0
- package/README.md +55 -13
- package/dist/api/engine.d.ts +15 -7
- package/dist/api/geometry.d.ts +853 -562
- package/dist/api/index.d.ts +604 -227
- package/dist/api/text.d.ts +9 -7
- package/dist/docs/guides/concepts.md +295 -91
- package/dist/docs/guides/fonts.md +9 -8
- package/dist/docs/guides/fundamentals.md +22 -23
- package/dist/docs/guides/generation.md +24 -23
- package/dist/docs/guides/hosting.md +26 -11
- package/dist/docs/guides/recipes.md +74 -48
- package/dist/docs/guides/standalone-model.md +42 -0
- package/dist/docs/manifest.json +1555 -749
- 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 +21 -10
- package/dist/docs/reference/engine/SessionOptions.md +1 -1
- package/dist/docs/reference/engine/SnapshotPart.md +6 -3
- package/dist/docs/reference/engine/categories/host-lifecycle.md +7 -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 +6 -2
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
- package/dist/docs/reference/geometry/{Anchor3.md → Anchor3-type.md} +6 -5
- package/dist/docs/reference/geometry/ArcCurve2.md +11 -7
- package/dist/docs/reference/geometry/ArcCurve3.md +13 -9
- package/dist/docs/reference/geometry/{AttachTransformOptions.md → AttachOptions.md} +11 -5
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +2 -1
- package/dist/docs/reference/geometry/Bounds2-type.md +127 -0
- package/dist/docs/reference/geometry/Bounds2Data.md +45 -0
- package/dist/docs/reference/geometry/Bounds2Input.md +21 -0
- package/dist/docs/reference/geometry/Bounds3-type.md +127 -0
- package/dist/docs/reference/geometry/Bounds3Data.md +45 -0
- package/dist/docs/reference/geometry/Bounds3Input.md +21 -0
- package/dist/docs/reference/geometry/BoundsFit2.md +6 -5
- package/dist/docs/reference/geometry/BoundsFit3.md +6 -5
- package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -1
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +2 -1
- package/dist/docs/reference/geometry/BoxAnchorFace.md +2 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +5 -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 +10 -10
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +8 -1
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +5 -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 +6 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -1
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +6 -1
- package/dist/docs/reference/geometry/Contour.md +10 -4
- package/dist/docs/reference/geometry/ContourCurve.md +5 -1
- package/dist/docs/reference/geometry/ContourPoint.md +6 -1
- package/dist/docs/reference/geometry/ContourSegment.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingComponent.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingContour.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingProfile.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +5 -1
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +10 -6
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +10 -6
- package/dist/docs/reference/geometry/Curve2.md +5 -1
- package/dist/docs/reference/geometry/Curve3.md +5 -1
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +9 -3
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +7 -3
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +2 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +6 -5
- package/dist/docs/reference/geometry/CylinderOptions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +8 -3
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -1
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +7 -3
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +6 -1
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +11 -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 +7 -3
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeOptions.md +10 -6
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +9 -5
- package/dist/docs/reference/geometry/FittedTextLayout.md +7 -3
- package/dist/docs/reference/geometry/Frame3.md +10 -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 +5 -5
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +11 -5
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +5 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +9 -5
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +9 -4
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +9 -5
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +10 -6
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +7 -2
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +4 -3
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +10 -6
- package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +82 -0
- package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +148 -0
- package/dist/docs/reference/geometry/KnuckleHingeInterval.md +46 -0
- package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +51 -0
- package/dist/docs/reference/geometry/KnuckleHingeSpec.md +22 -0
- package/dist/docs/reference/geometry/LineCurve2.md +8 -4
- package/dist/docs/reference/geometry/LineCurve3.md +8 -4
- package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -5
- package/dist/docs/reference/geometry/LoftCorrespondence.md +6 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +8 -4
- package/dist/docs/reference/geometry/LoftOptions.md +5 -1
- package/dist/docs/reference/geometry/LoftPlacement.md +5 -1
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +5 -1
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +5 -1
- package/dist/docs/reference/geometry/MetricFastenerSize.md +9 -2
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +5 -1
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +6 -1
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +6 -1
- package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +5 -1
- package/dist/docs/reference/geometry/Path2-type.md +196 -0
- package/dist/docs/reference/geometry/Path2Data.md +50 -0
- package/dist/docs/reference/geometry/Path2Input.md +20 -0
- package/dist/docs/reference/geometry/Path3-type.md +196 -0
- package/dist/docs/reference/geometry/Path3Data.md +50 -0
- package/dist/docs/reference/geometry/Path3Input.md +20 -0
- package/dist/docs/reference/geometry/PathFrame.md +9 -5
- package/dist/docs/reference/geometry/PathLocation.md +69 -0
- package/dist/docs/reference/geometry/PathNormalGuide.md +10 -5
- package/dist/docs/reference/geometry/PathOptions.md +38 -0
- package/dist/docs/reference/geometry/PathPatternOptions.md +3 -3
- package/dist/docs/reference/geometry/PathPlacement.md +8 -4
- package/dist/docs/reference/geometry/PathResamplingOptions.md +84 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +2 -1
- package/dist/docs/reference/geometry/Pivot3Options.md +2 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +8 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +26 -22
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +5 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +7 -3
- package/dist/docs/reference/geometry/PolygonData.md +7 -2
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -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 +8 -1
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +6 -1
- package/dist/docs/reference/geometry/Profile.md +8 -2
- package/dist/docs/reference/geometry/ProfileComponent2.md +5 -1
- package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
- package/dist/docs/reference/geometry/ProfileSpan2.md +7 -3
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/geometry/RackPitchDimensions.md +6 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +10 -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 +7 -3
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +5 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +5 -1
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +7 -3
- package/dist/docs/reference/geometry/RegionData.md +6 -2
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +7 -3
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +13 -4
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -1
- package/dist/docs/reference/geometry/SampleContourOptions.md +7 -3
- package/dist/docs/reference/geometry/SampleHelixOptions.md +5 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +7 -3
- package/dist/docs/reference/geometry/SampledCurve2.md +8 -4
- package/dist/docs/reference/geometry/SampledCurve3.md +8 -4
- package/dist/docs/reference/geometry/SampledThreadHelices.md +7 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +5 -1
- package/dist/docs/reference/geometry/SideProfilePoint.md +6 -1
- package/dist/docs/reference/geometry/SideProfileSegment.md +5 -1
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +7 -3
- package/dist/docs/reference/geometry/SphereOptions.md +3 -3
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/StrokeCap.md +14 -0
- package/dist/docs/reference/geometry/StrokeJoin.md +14 -0
- package/dist/docs/reference/geometry/{StrokePathRegionOptions.md → StrokeOptions.md} +11 -7
- package/dist/docs/reference/geometry/SvgImportOptions.md +5 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +6 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +19 -15
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +16 -11
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +14 -9
- package/dist/docs/reference/geometry/SweepOptions.md +10 -6
- package/dist/docs/reference/geometry/SweepOrientation.md +11 -7
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +9 -5
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadEndStyle.md +8 -1
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadHandedness.md +8 -1
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +7 -3
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +8 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +8 -1
- package/dist/docs/reference/geometry/{ThreadProfile.md → ThreadProfile-type.md} +7 -3
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +5 -1
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/ThreadRole.md +8 -1
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +8 -1
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +10 -6
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +7 -3
- package/dist/docs/reference/geometry/ThreadedNutShape.md +8 -1
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +10 -6
- package/dist/docs/reference/geometry/TorusOptions.md +8 -8
- package/dist/docs/reference/geometry/Transform2-type.md +6 -5
- package/dist/docs/reference/geometry/Transform2Data.md +15 -0
- package/dist/docs/reference/geometry/Transform2Input.md +4 -3
- package/dist/docs/reference/geometry/Transform3-type.md +6 -5
- package/dist/docs/reference/geometry/Transform3Data.md +18 -0
- package/dist/docs/reference/geometry/Transform3Input.md +4 -3
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +9 -4
- package/dist/docs/reference/geometry/TriangleMesh.md +6 -1
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +8 -4
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +5 -1
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +7 -3
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +7 -3
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +5 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +8 -4
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +8 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +6 -1
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +5 -1
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/TubeOptions.md +8 -8
- package/dist/docs/reference/geometry/Vector2-type.md +6 -5
- package/dist/docs/reference/geometry/Vector2Data.md +15 -0
- package/dist/docs/reference/geometry/Vector2Input.md +4 -3
- package/dist/docs/reference/geometry/Vector3-type.md +6 -5
- package/dist/docs/reference/geometry/Vector3Data.md +15 -0
- package/dist/docs/reference/geometry/Vector3Input.md +4 -3
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +8 -3
- package/dist/docs/reference/geometry/VectorTextLayout.md +5 -1
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +5 -1
- package/dist/docs/reference/geometry/VectorTextMetrics.md +7 -3
- package/dist/docs/reference/geometry/VectorTextOptions.md +5 -1
- package/dist/docs/reference/geometry/add2.md +7 -6
- package/dist/docs/reference/geometry/add3.md +7 -6
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +6 -2
- package/dist/docs/reference/geometry/{createAnchor3.md → anchor3.md} +10 -9
- package/dist/docs/reference/geometry/anchorFrame3.md +9 -5
- package/dist/docs/reference/geometry/applyTransformDirection3.md +8 -7
- package/dist/docs/reference/geometry/applyTransformPoint3.md +8 -7
- package/dist/docs/reference/geometry/{attachTransform.md → attachmentTransform3.md} +16 -15
- package/dist/docs/reference/geometry/bounds2.md +38 -0
- package/dist/docs/reference/geometry/bounds3.md +38 -0
- package/dist/docs/reference/geometry/boundsCenter.md +12 -11
- package/dist/docs/reference/geometry/boundsFromSize.md +12 -11
- package/dist/docs/reference/geometry/boundsSize.md +12 -11
- package/dist/docs/reference/geometry/boxAnchor3.md +7 -6
- package/dist/docs/reference/geometry/categories/bounds-layout.md +23 -6
- package/dist/docs/reference/geometry/categories/curves-paths.md +27 -13
- package/dist/docs/reference/geometry/categories/mechanical.md +27 -15
- package/dist/docs/reference/geometry/categories/meshes.md +18 -10
- package/dist/docs/reference/geometry/categories/pattern-placement.md +11 -9
- package/dist/docs/reference/geometry/categories/primitive-options.md +10 -4
- package/dist/docs/reference/geometry/categories/profiles-regions.md +21 -13
- package/dist/docs/reference/geometry/categories/resolution-errors.md +5 -3
- package/dist/docs/reference/geometry/categories/transforms-math.md +25 -16
- package/dist/docs/reference/geometry/categories/vector-import.md +15 -9
- package/dist/docs/reference/geometry/circleContour.md +5 -1
- package/dist/docs/reference/geometry/closeToAxis.md +14 -5
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +5 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +9 -5
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +9 -5
- package/dist/docs/reference/geometry/composeTransform3.md +7 -6
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +14 -6
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +17 -7
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +13 -5
- package/dist/docs/reference/geometry/{createTriangleMeshSignature.md → computeTriangleMeshSignature.md} +8 -4
- package/dist/docs/reference/geometry/containsBounds.md +10 -9
- package/dist/docs/reference/geometry/contourContainsPoint.md +8 -4
- package/dist/docs/reference/geometry/cross2.md +6 -5
- package/dist/docs/reference/geometry/cross3.md +7 -6
- package/dist/docs/reference/geometry/cylinderAnchor3.md +7 -6
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/distance2.md +6 -5
- package/dist/docs/reference/geometry/distance3.md +6 -5
- package/dist/docs/reference/geometry/distributeAlongPath.md +12 -6
- package/dist/docs/reference/geometry/dot2.md +6 -5
- package/dist/docs/reference/geometry/dot3.md +6 -5
- package/dist/docs/reference/geometry/ellipseContour.md +5 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +7 -6
- package/dist/docs/reference/geometry/extrudeMesh.md +12 -8
- package/dist/docs/reference/geometry/fitBounds.md +10 -9
- package/dist/docs/reference/geometry/fitTextLayout.md +13 -5
- package/dist/docs/reference/geometry/frameTransform3.md +5 -4
- package/dist/docs/reference/geometry/{getMetricClearanceHole.md → getMetricClearanceHoleDiameter.md} +7 -3
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +5 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/heightfieldMesh.md +11 -2
- package/dist/docs/reference/geometry/{buildHelicalThreadRidgeMesh.md → helicalThreadRidgeMesh.md} +9 -5
- package/dist/docs/reference/geometry/{buildHelicalThreadSolidMesh.md → helicalThreadSolidMesh.md} +9 -5
- package/dist/docs/reference/geometry/inverseTransform3.md +6 -5
- package/dist/docs/reference/geometry/isGeometryError.md +5 -2
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +5 -1
- package/dist/docs/reference/geometry/layoutRow.md +11 -7
- package/dist/docs/reference/geometry/length2.md +5 -4
- package/dist/docs/reference/geometry/length3.md +5 -4
- package/dist/docs/reference/geometry/lerp2.md +7 -6
- package/dist/docs/reference/geometry/lerp3.md +7 -6
- package/dist/docs/reference/geometry/linearPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/loftMesh.md +6 -1
- package/dist/docs/reference/geometry/matchProfiles.md +11 -2
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +5 -1
- package/dist/docs/reference/geometry/meshBounds.md +8 -4
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +7 -3
- package/dist/docs/reference/geometry/normalize2.md +10 -6
- package/dist/docs/reference/geometry/normalize3.md +10 -6
- package/dist/docs/reference/geometry/normalizeContour.md +8 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -1
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -1
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +15 -11
- package/dist/docs/reference/geometry/path2.md +54 -0
- package/dist/docs/reference/geometry/path3.md +49 -0
- package/dist/docs/reference/geometry/pathPatternTransforms.md +13 -9
- package/dist/docs/reference/geometry/preflightHeightfield.md +11 -2
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +13 -4
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +15 -4
- package/dist/docs/reference/geometry/preflightSvgRegion.md +15 -2
- package/dist/docs/reference/geometry/preflightThreadedNut.md +14 -4
- package/dist/docs/reference/geometry/preflightThreadedRod.md +14 -4
- package/dist/docs/reference/geometry/projectOntoPlane3.md +7 -6
- package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -20
- package/dist/docs/reference/geometry/rectangleContour.md +10 -3
- package/dist/docs/reference/geometry/rectangleProfile.md +10 -2
- package/dist/docs/reference/geometry/regionArea.md +5 -1
- package/dist/docs/reference/geometry/regionBounds.md +8 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +9 -5
- package/dist/docs/reference/geometry/resamplePolyline2.md +9 -5
- package/dist/docs/reference/geometry/resamplePolyline3.md +9 -5
- 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 +5 -1
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +5 -1
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +7 -3
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/resolveKnuckleHinge.md +59 -0
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +5 -1
- package/dist/docs/reference/geometry/resolveRackPitch.md +5 -1
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +8 -4
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/revolveMesh.md +14 -10
- package/dist/docs/reference/geometry/rotate2.md +6 -5
- package/dist/docs/reference/geometry/rotationTransform3.md +7 -6
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +12 -6
- package/dist/docs/reference/geometry/sampleContour.md +14 -4
- package/dist/docs/reference/geometry/sampleCurve2.md +8 -5
- package/dist/docs/reference/geometry/sampleCurve3.md +6 -2
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +5 -1
- package/dist/docs/reference/geometry/sampleHelix.md +13 -5
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +5 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -4
- package/dist/docs/reference/geometry/sampleSideProfile.md +17 -7
- package/dist/docs/reference/geometry/sampleTextContours.md +5 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +6 -2
- package/dist/docs/reference/geometry/scale2.md +6 -5
- package/dist/docs/reference/geometry/scale3.md +6 -5
- package/dist/docs/reference/geometry/scaleTransform3.md +7 -6
- package/dist/docs/reference/geometry/signedContourArea.md +5 -1
- package/dist/docs/reference/geometry/starContour.md +8 -4
- package/dist/docs/reference/geometry/strokeRegionData.md +67 -0
- package/dist/docs/reference/geometry/subtract2.md +7 -6
- package/dist/docs/reference/geometry/subtract3.md +7 -6
- package/dist/docs/reference/geometry/sweepMesh.md +13 -9
- package/dist/docs/reference/geometry/{createThreadProfile.md → threadProfile.md} +10 -6
- package/dist/docs/reference/geometry/transform2.md +14 -7
- package/dist/docs/reference/geometry/transform3.md +16 -7
- package/dist/docs/reference/geometry/transformDeterminant3.md +5 -4
- package/dist/docs/reference/geometry/transformRegionData.md +5 -1
- package/dist/docs/reference/geometry/transformTriangleMesh.md +10 -6
- package/dist/docs/reference/geometry/translationTransform3.md +7 -6
- package/dist/docs/reference/geometry/triangulateContour.md +5 -1
- package/dist/docs/reference/geometry/validateSolidMesh.md +10 -3
- package/dist/docs/reference/geometry/validateTransform3.md +6 -5
- package/dist/docs/reference/geometry/validateTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/vector2.md +10 -2
- package/dist/docs/reference/geometry/vector3.md +10 -2
- package/dist/docs/reference/geometry.md +8 -6
- package/dist/docs/reference/model/Anchor3.md +6 -5
- package/dist/docs/reference/model/AttachOptions.md +11 -5
- package/dist/docs/reference/model/Bounds2-type.md +125 -0
- package/dist/docs/reference/model/Bounds2Data.md +44 -0
- package/dist/docs/reference/model/Bounds2Input.md +19 -0
- package/dist/docs/reference/model/Bounds3-type.md +125 -0
- package/dist/docs/reference/model/Bounds3Data.md +44 -0
- package/dist/docs/reference/model/Bounds3Input.md +19 -0
- 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 +10 -10
- 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 +6 -1
- package/dist/docs/reference/model/ComputedValue.md +5 -1
- package/dist/docs/reference/model/Contour.md +6 -4
- 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 +6 -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 +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 +20 -10
- 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 +5 -1
- package/dist/docs/reference/model/GenerateContext.md +5 -1
- package/dist/docs/reference/model/GeneratedPart.md +5 -1
- package/dist/docs/reference/model/GenerationDiagnostic.md +6 -1
- package/dist/docs/reference/model/GenerationError.md +5 -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 +12 -5
- package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +4 -3
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +3 -2
- package/dist/docs/reference/model/HullOptions.md +5 -5
- package/dist/docs/reference/model/ImmutableBuffer-type.md +5 -1
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +5 -1
- package/dist/docs/reference/model/ImplicitOptions.md +6 -6
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +5 -4
- package/dist/docs/reference/model/KnuckleHinge-type.md +47 -0
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +77 -0
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +34 -0
- package/dist/docs/reference/model/KnuckleHingeOptions.md +38 -0
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +47 -0
- package/dist/docs/reference/model/KnuckleHingeSpec.md +18 -0
- package/dist/docs/reference/model/KnuckleHingeWeb.md +53 -0
- package/dist/docs/reference/model/LinearPatternOptions.md +13 -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 +5 -1
- package/dist/docs/reference/model/ModelingLimits.md +1 -1
- package/dist/docs/reference/model/NumericArray.md +8 -1
- package/dist/docs/reference/model/PartGeometry.md +5 -1
- package/dist/docs/reference/model/PartOptions.md +5 -1
- package/dist/docs/reference/model/Path2-type.md +196 -0
- package/dist/docs/reference/model/Path2Data.md +50 -0
- package/dist/docs/reference/model/Path2Input.md +20 -0
- package/dist/docs/reference/model/Path3-type.md +196 -0
- package/dist/docs/reference/model/Path3Data.md +50 -0
- package/dist/docs/reference/model/Path3Input.md +20 -0
- package/dist/docs/reference/model/PathLocation.md +69 -0
- package/dist/docs/reference/model/PathNormalGuide.md +6 -5
- package/dist/docs/reference/model/PathOptions.md +38 -0
- package/dist/docs/reference/model/PathPatternOptions.md +4 -3
- package/dist/docs/reference/model/PathResamplingOptions.md +83 -0
- package/dist/docs/reference/model/PatternSource.md +2 -1
- package/dist/docs/reference/model/Pivot2Options.md +2 -1
- package/dist/docs/reference/model/Pivot3Options.md +2 -1
- package/dist/docs/reference/model/PlaneOptions.md +3 -3
- package/dist/docs/reference/model/PolygonData.md +3 -2
- package/dist/docs/reference/model/PolygonOptions.md +8 -8
- package/dist/docs/reference/model/{PrimitivePlacement.md → PrimitiveAttachment.md} +8 -7
- package/dist/docs/reference/model/{PrimitivePlacementOptions.md → PrimitiveAttachmentOptions.md} +42 -20
- package/dist/docs/reference/model/PrintableThreadFit.md +2 -1
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +2 -1
- package/dist/docs/reference/model/Profile.md +4 -2
- package/dist/docs/reference/model/ProfileComponent2.md +1 -1
- package/dist/docs/reference/model/ProfileContour2.md +4 -2
- 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 +18 -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 +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 +10 -10
- package/dist/docs/reference/model/RegionData.md +2 -2
- 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 +20 -12
- package/dist/docs/reference/model/SectionHullOptions.md +5 -5
- package/dist/docs/reference/model/SectionInspection.md +10 -10
- 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 +31 -7
- package/dist/docs/reference/model/SolidInspection.md +7 -7
- package/dist/docs/reference/model/{SolidRayHit.md → SolidSegmentHit.md} +6 -6
- 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 +2 -1
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +2 -1
- package/dist/docs/reference/model/ThreadHandedness.md +2 -1
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +2 -1
- package/dist/docs/reference/model/ThreadLeadInShape.md +2 -1
- package/dist/docs/reference/model/ThreadProfile.md +4 -3
- package/dist/docs/reference/model/ThreadRidgeOptions.md +2 -1
- package/dist/docs/reference/model/ThreadedNutBevel.md +2 -1
- package/dist/docs/reference/model/ThreadedNutOptions.md +5 -4
- package/dist/docs/reference/model/ThreadedNutPreflight.md +4 -3
- package/dist/docs/reference/model/ThreadedNutShape.md +2 -1
- package/dist/docs/reference/model/ThreadedRodOptions.md +5 -4
- package/dist/docs/reference/model/TorusOptions.md +8 -8
- package/dist/docs/reference/model/Transform2-type.md +6 -5
- package/dist/docs/reference/model/Transform2Data.md +16 -0
- package/dist/docs/reference/model/Transform2Input.md +4 -3
- package/dist/docs/reference/model/Transform3-type.md +6 -5
- package/dist/docs/reference/model/Transform3Data.md +19 -0
- package/dist/docs/reference/model/Transform3Input.md +4 -3
- package/dist/docs/reference/model/TriangleMesh.md +1 -1
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +4 -4
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +3 -3
- package/dist/docs/reference/model/TubeOptions.md +8 -8
- package/dist/docs/reference/model/Vector2-type.md +6 -5
- package/dist/docs/reference/model/{Vector2Tuple.md → Vector2Data.md} +3 -3
- package/dist/docs/reference/model/Vector2Input.md +4 -3
- package/dist/docs/reference/model/Vector3-type.md +6 -5
- package/dist/docs/reference/model/{Vector3Tuple.md → Vector3Data.md} +3 -3
- package/dist/docs/reference/model/Vector3Input.md +4 -3
- package/dist/docs/reference/model/VectorTextLayout.md +1 -1
- package/dist/docs/reference/model/VectorTextMetrics.md +3 -3
- package/dist/docs/reference/model/anchor.md +2 -1
- package/dist/docs/reference/model/bounds2.md +36 -0
- package/dist/docs/reference/model/bounds3.md +36 -0
- package/dist/docs/reference/model/box.md +4 -4
- package/dist/docs/reference/model/castSegment.md +40 -0
- package/dist/docs/reference/model/categories/boolean-operations.md +10 -3
- package/dist/docs/reference/model/categories/bounded-surfaces.md +5 -3
- package/dist/docs/reference/model/categories/bounds.md +36 -0
- package/dist/docs/reference/model/categories/contracts.md +4 -2
- package/dist/docs/reference/model/categories/core-values-errors.md +11 -11
- package/dist/docs/reference/model/categories/explicit-profiles.md +7 -5
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +12 -3
- package/dist/docs/reference/model/categories/generation.md +11 -2
- package/dist/docs/reference/model/categories/hinges.md +38 -0
- package/dist/docs/reference/model/categories/inspection.md +12 -6
- package/dist/docs/reference/model/categories/mesh-inspection.md +5 -3
- package/dist/docs/reference/model/categories/paths.md +41 -0
- package/dist/docs/reference/model/categories/primitives.md +10 -4
- package/dist/docs/reference/model/categories/resolution.md +4 -2
- package/dist/docs/reference/model/categories/sections.md +12 -8
- package/dist/docs/reference/model/categories/threads.md +11 -8
- package/dist/docs/reference/model/categories/transforms-placement.md +23 -15
- 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 +5 -1
- package/dist/docs/reference/model/gridPattern.md +5 -4
- package/dist/docs/reference/model/heightfield.md +5 -2
- package/dist/docs/reference/model/hull.md +1 -1
- package/dist/docs/reference/model/immutableBuffer.md +5 -1
- package/dist/docs/reference/model/immutableMesh.md +5 -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 +5 -4
- package/dist/docs/reference/model/intersect.md +1 -1
- package/dist/docs/reference/model/isEmpty.md +1 -1
- package/dist/docs/reference/model/knuckleHinge.md +47 -0
- package/dist/docs/reference/model/linearPattern.md +5 -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 +54 -0
- package/dist/docs/reference/model/path3.md +49 -0
- package/dist/docs/reference/model/pathPattern.md +14 -12
- package/dist/docs/reference/model/polygon.md +8 -5
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +9 -3
- package/dist/docs/reference/model/preflightThreadedNut.md +9 -3
- package/dist/docs/reference/model/preflightThreadedRod.md +9 -3
- package/dist/docs/reference/model/radialPattern.md +6 -37
- package/dist/docs/reference/model/rectangle.md +7 -4
- 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 +3 -2
- package/dist/docs/reference/model/threadedNut.md +5 -4
- package/dist/docs/reference/model/threadedRod.md +5 -4
- package/dist/docs/reference/model/torus.md +3 -3
- package/dist/docs/reference/model/transform2.md +14 -7
- package/dist/docs/reference/model/transform3.md +16 -7
- 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 +10 -2
- package/dist/docs/reference/model/vector3.md +10 -2
- package/dist/docs/reference/model.md +17 -9
- package/dist/docs/reference/text/Bounds2Data.md +34 -0
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
- package/dist/docs/reference/text/Vector2Data.md +7 -0
- 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 +3 -3
- package/dist/docs/reference/text/VectorTextOptions.md +1 -1
- package/dist/docs/reference/text/categories/font-preparation.md +8 -6
- package/dist/docs/reference/text/prepareVectorFont.md +2 -2
- package/dist/docs/reference/text.md +4 -2
- 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/knuckle-hinge-operation.js +85 -0
- package/dist/engine/loft-operations.js +35 -14
- package/dist/engine/mechanical-operations.js +3 -1
- package/dist/engine/model-summary.js +8 -5
- package/dist/engine/modeling-context.js +8 -1
- 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 +10 -2
- 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 +27 -27
- package/dist/geometry/anchors.js +40 -33
- package/dist/geometry/bounds-value.js +93 -0
- package/dist/geometry/bounds.js +10 -8
- package/dist/geometry/curves/sampling.js +15 -16
- package/dist/geometry/edge-finishing.js +1 -1
- package/dist/geometry/errors.js +1 -0
- package/dist/geometry/extrusion.js +13 -16
- package/dist/geometry/heightfield.js +12 -1
- package/dist/geometry/index.js +12 -11
- 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/math/vector-value.js +11 -3
- package/dist/geometry/math/vector2.js +1 -0
- package/dist/geometry/math/vector3.js +1 -0
- package/dist/geometry/mechanical/gear-motion.js +3 -3
- package/dist/geometry/mechanical/gears.js +38 -38
- package/dist/geometry/mechanical/index.js +4 -3
- package/dist/geometry/mechanical/knuckle-hinge.js +110 -0
- 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 +11 -7
- 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 +31 -6
- package/dist/geometry/mechanical/thread-surface.js +1 -1
- package/dist/geometry/mechanical/threads.js +8 -8
- package/dist/geometry/mesh/mesh-centroid.js +1 -0
- 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 +8 -7
- package/dist/geometry/mesh/mesh.js +4 -15
- package/dist/geometry/paths/closest-point.js +8 -19
- package/dist/geometry/paths/frames.js +42 -11
- package/dist/geometry/paths/helix.js +17 -6
- package/dist/geometry/paths/path-value.js +268 -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 +5 -3
- package/dist/geometry/polygon-clipping.js +17 -0
- package/dist/geometry/profiles/contour.js +7 -6
- package/dist/geometry/profiles/matched.js +5 -4
- package/dist/geometry/profiles/profiles.js +4 -4
- package/dist/geometry/profiles/rectangle.js +14 -5
- package/dist/geometry/profiles/side-profile.js +9 -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 +31 -25
- 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/text-fitting.js +1 -0
- package/dist/geometry/transform-geometry.js +7 -14
- package/dist/geometry/transform-matrix.js +1 -1
- package/dist/geometry/{transform-chain.js → transform-value.js} +24 -15
- package/dist/index.js +3 -1
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/immutable-generation-data.js +62 -10
- package/dist/model/knuckle-hinge.js +1 -0
- package/dist/model/operations.js +79 -26
- package/dist/model/recipe-declaration.js +21 -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/Bounds2.md +0 -39
- package/dist/docs/reference/geometry/Bounds3.md +0 -39
- 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/Transform2Matrix.md +0 -14
- package/dist/docs/reference/geometry/Transform3Matrix.md +0 -17
- package/dist/docs/reference/geometry/Vector2Tuple.md +0 -14
- package/dist/docs/reference/geometry/Vector3Tuple.md +0 -14
- 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/Bounds2.md +0 -39
- package/dist/docs/reference/model/Bounds3.md +0 -39
- package/dist/docs/reference/model/Path2.md +0 -20
- package/dist/docs/reference/model/Transform2Matrix.md +0 -15
- package/dist/docs/reference/model/Transform3Matrix.md +0 -18
- package/dist/docs/reference/model/rayCast.md +0 -40
- package/dist/docs/reference/model/toTriangleMesh.md +0 -27
- package/dist/docs/reference/text/Bounds2.md +0 -34
- package/dist/docs/reference/text/Vector2Tuple.md +0 -7
- package/dist/geometry/paths/path.js +0 -32
|
@@ -2,22 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
Build immutable reusable placements and calculate with fluent vectors or tuple kernels.
|
|
4
4
|
|
|
5
|
-
Use immutable vector2
|
|
5
|
+
Use immutable `vector2`/`vector3` and `transform2`/`transform3` values for ordinary authoring. Operations return new values; tuples remain convenient inputs.
|
|
6
|
+
|
|
7
|
+
- **Arithmetic:** `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.
|
|
8
|
+
- **Order and units:** rotations use degrees and optional `{ pivot }` points in world coordinates. Calls and `andThen()` composition apply in execution order.
|
|
9
|
+
- **Transformed values:** points include translation; directions exclude it and retain scale; normals use inverse-transpose normalization. Shape methods and path helpers accept matching transforms.
|
|
10
|
+
- **Interchange:** `toData()` returns `Vector2Data`/`Vector3Data` tuples or `Transform2Data`/`Transform3Data` matrices. `to3D()`/`to2D()` convert dimensions explicitly; XY restriction requires a preserved plane.
|
|
11
|
+
- **Low-level work:** tuple kernels avoid fluent object allocation in hot loops. Matrix constructors support interoperability. `rotationTransform3` requires an explicit degrees or radians object; `composeTransform3(after, before)` applies `before` first.
|
|
12
|
+
|
|
13
|
+
Attachment matches source and target frames. You choose physical clearance.
|
|
6
14
|
|
|
7
15
|
## Functions
|
|
8
16
|
|
|
9
17
|
| API | Summary |
|
|
10
18
|
| --- | --- |
|
|
11
|
-
| [transform2](../transform2.md) | Creates an immutable XY transform, identity by default.
|
|
12
|
-
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default.
|
|
13
|
-
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates.
|
|
14
|
-
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates.
|
|
19
|
+
| [transform2](../transform2.md) | Creates an immutable XY transform, identity by default. |
|
|
20
|
+
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. |
|
|
21
|
+
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
22
|
+
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
15
23
|
| [applyTransformDirection3](../applyTransformDirection3.md) | Applies only the linear component of an affine transform to a direction. |
|
|
16
24
|
| [applyTransformPoint3](../applyTransformPoint3.md) | Applies an affine transform to a point, including translation. |
|
|
17
|
-
| [
|
|
25
|
+
| [attachmentTransform3](../attachmentTransform3.md) | Builds the transform that moves a source anchor onto a target anchor. |
|
|
18
26
|
| [boxAnchor3](../boxAnchor3.md) | Creates an outward face-center anchor using the same local origin convention as box(). |
|
|
19
27
|
| [composeTransform3](../composeTransform3.md) | Composes two affine transforms without mutating either matrix. |
|
|
20
|
-
| [
|
|
28
|
+
| [anchor3](../anchor3.md) | Constructs a normalized immutable attachment anchor. |
|
|
21
29
|
| [cylinderAnchor3](../cylinderAnchor3.md) | Creates a cap-center or radial-side anchor using cylinder()'s construction origin. |
|
|
22
30
|
| [eulerTransform3](../eulerTransform3.md) | Creates an immutable right-handed XYZ Euler rotation transform. |
|
|
23
31
|
| [frameTransform3](../frameTransform3.md) | Converts a right-handed orthonormal frame into a local-to-world transform. |
|
|
@@ -38,8 +46,8 @@ Use immutable vector2/vector3 and transform2/transform3 values for ordinary auth
|
|
|
38
46
|
| [Pivot3Options](../Pivot3Options.md) | A fixed XYZ point in world coordinates; omitted pivots use the coordinate origin. |
|
|
39
47
|
| [Vector2](../Vector2-type.md) | Immutable XY arithmetic; vector operations return new values and measurements return numbers. |
|
|
40
48
|
| [Vector3](../Vector3-type.md) | Immutable XYZ arithmetic; vector operations return new values and measurements return numbers. |
|
|
41
|
-
| [Anchor3](../Anchor3.md) | An attachment pose on a solid or assembly. |
|
|
42
|
-
| [
|
|
49
|
+
| [Anchor3](../Anchor3-type.md) | An attachment pose on a solid or assembly. |
|
|
50
|
+
| [AttachOptions](../AttachOptions.md) | Options controlling how one anchor is attached to another. |
|
|
43
51
|
| [BoxAnchorOptions](../BoxAnchorOptions.md) | Box dimensions and construction origin for one named face anchor. |
|
|
44
52
|
| [CylinderAnchorOptions](../CylinderAnchorOptions.md) | Cylinder dimensions and construction origin for one named face anchor. |
|
|
45
53
|
|
|
@@ -54,10 +62,10 @@ Use immutable vector2/vector3 and transform2/transform3 values for ordinary auth
|
|
|
54
62
|
| [AxisAngleRotation3](../AxisAngleRotation3.md) | One explicitly unit-labelled right-handed axis-angle rotation. |
|
|
55
63
|
| [BoxAnchorFace](../BoxAnchorFace.md) | Named face on an axis-aligned box. |
|
|
56
64
|
| [CylinderAnchorFace](../CylinderAnchorFace.md) | Named face on a cylinder parallel to +Z. |
|
|
57
|
-
| [
|
|
58
|
-
| [
|
|
59
|
-
| [
|
|
60
|
-
| [
|
|
65
|
+
| [Transform2Data](../Transform2Data.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]`. |
|
|
66
|
+
| [Transform3Data](../Transform3Data.md) | A row-major affine 4x4 matrix applied to column vectors. |
|
|
67
|
+
| [Vector2Data](../Vector2Data.md) | A two-dimensional Cartesian vector or point. |
|
|
68
|
+
| [Vector3Data](../Vector3Data.md) | A three-dimensional Cartesian vector or point. |
|
|
61
69
|
|
|
62
70
|
## Values
|
|
63
71
|
|
|
@@ -76,8 +84,8 @@ Use immutable vector2/vector3 and transform2/transform3 values for ordinary auth
|
|
|
76
84
|
| [length2](../length2.md) | Returns Euclidean vector length in the vector's coordinate units. |
|
|
77
85
|
| [lerp3](../lerp3.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
|
|
78
86
|
| [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`).
|
|
80
|
-
| [normalize2](../normalize2.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`).
|
|
87
|
+
| [normalize3](../normalize3.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). |
|
|
88
|
+
| [normalize2](../normalize2.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). |
|
|
81
89
|
| [projectOntoPlane3](../projectOntoPlane3.md) | Removes the component parallel to a normalized plane normal. |
|
|
82
90
|
| [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. |
|
|
83
91
|
| [scale3](../scale3.md) | Multiplies a vector by a dimensionless scalar. |
|
|
@@ -88,5 +96,6 @@ Use immutable vector2/vector3 and transform2/transform3 values for ordinary auth
|
|
|
88
96
|
## Guides
|
|
89
97
|
|
|
90
98
|
- [Reusable transforms and vector math](../../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
99
|
+
- [Fluent values and tuple kernels](../../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
91
100
|
|
|
92
|
-
Package: `@metamesh/modeling@0.
|
|
101
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,24 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
Parse bounded painted SVG and carry explicit prepared text geometry.
|
|
4
4
|
|
|
5
|
-
SVG
|
|
5
|
+
SVG parsing bounds input and reports unsupported resources or content with context. Transforms and physical unit conversion precede sampling; Y-down input converts to model Y-up coordinates.
|
|
6
|
+
|
|
7
|
+
Font preparation belongs to the optional text entry point, outside pure parsing and synchronous modeling. `fitTextLayout` uniformly fits and centers visible ink before sampling, preserving final millimetre tolerance. It rejects invisible layouts; `maxScale: 1` prevents enlargement.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
9
11
|
| API | Summary |
|
|
10
12
|
| --- | --- |
|
|
11
|
-
| [preflightSvgRegion](../preflightSvgRegion.md) |
|
|
13
|
+
| [preflightSvgRegion](../preflightSvgRegion.md) | Parses and validates bounded SVG input, constructing its normalized sampled region and diagnostics. |
|
|
12
14
|
| [sampleTextContours](../sampleTextContours.md) | Samples a prepared text layout without shaping text again or loading a font. |
|
|
13
|
-
| [
|
|
14
|
-
| [fitTextLayout](../fitTextLayout.md) | Uniformly fits visible text ink inside finite XY bounds, centering it on the target.
|
|
15
|
+
| [strokeRegionData](../strokeRegionData.md) | Converts a sampled millimetre path into the filled region covered by a centered stroke. |
|
|
16
|
+
| [fitTextLayout](../fitTextLayout.md) | Uniformly fits visible text ink inside finite XY bounds, centering it on the target. |
|
|
15
17
|
|
|
16
18
|
## Interfaces
|
|
17
19
|
|
|
18
20
|
| API | Summary |
|
|
19
21
|
| --- | --- |
|
|
20
|
-
| [
|
|
22
|
+
| [StrokeOptions](../StrokeOptions.md) | Physical stroke and topology controls shared by pure regions and native Sections. |
|
|
21
23
|
| [SvgImportOptions](../SvgImportOptions.md) | Sampling controls for deterministic SVG-to-region conversion. |
|
|
22
|
-
| [SvgRegionPreflight](../SvgRegionPreflight.md) |
|
|
24
|
+
| [SvgRegionPreflight](../SvgRegionPreflight.md) | Normalized sampled SVG region plus bounded source, geometry, and safe-repair diagnostics. |
|
|
23
25
|
| [SvgRegionPreflightRepairs](../SvgRegionPreflightRepairs.md) | Visible, appearance-preserving cleanup counters from bounded SVG import. |
|
|
24
26
|
| [VectorTextArcBaseline](../VectorTextArcBaseline.md) | A circular baseline centered at the XY origin, with rigid shaped glyph groups. |
|
|
25
27
|
| [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
|
|
@@ -34,7 +36,11 @@ SVG input is bounded and rejects unsupported resources or content contextually.
|
|
|
34
36
|
|
|
35
37
|
| API | Summary |
|
|
36
38
|
| --- | --- |
|
|
37
|
-
| [
|
|
38
|
-
| [
|
|
39
|
+
| [StrokeCap](../StrokeCap.md) | End-cap treatment for an open stroked path. |
|
|
40
|
+
| [StrokeJoin](../StrokeJoin.md) | Join treatment where adjacent stroked path segments meet. |
|
|
41
|
+
|
|
42
|
+
## Guides
|
|
43
|
+
|
|
44
|
+
- [SVG preflight work and guarantees](../../../guides/concepts.md#check-preflight-guarantees)
|
|
39
45
|
|
|
40
|
-
Package: `@metamesh/modeling@0.
|
|
46
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -30,4 +30,8 @@ circleContour({ diameter: 20, segments: 32 });
|
|
|
30
30
|
- [CircleContourOptions](CircleContourOptions.md)
|
|
31
31
|
- [Contour](Contour.md)
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
## Guides
|
|
34
|
+
|
|
35
|
+
- [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
|
|
36
|
+
|
|
37
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
# closeToAxis
|
|
2
2
|
|
|
3
|
-
Closes an open, strictly upward [radius, height] side outline to the radius-zero axis.
|
|
3
|
+
Closes an open, strictly upward [radius, height] side outline to the radius-zero axis.
|
|
4
4
|
|
|
5
|
-
**closeToAxis**(`side`: readonly [`
|
|
5
|
+
**closeToAxis**(`side`: readonly [`Vector2Data`](Vector2Data.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`Contour`](Contour.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
Adds horizontal bottom/top edges at the endpoint heights, retaining axis endpoints once.
|
|
10
|
+
Returns a counterclockwise filled-boundary contour without a repeated seam vertex.
|
|
11
|
+
Radii must be nonnegative; the result must enclose nonzero area without touching itself.
|
|
12
|
+
This is a solid-body closure, not a hollow-wall or mounting-bore construction.
|
|
13
|
+
|
|
9
14
|
## Parameters
|
|
10
15
|
|
|
11
16
|
<a id="side"></a>
|
|
12
17
|
|
|
13
|
-
**`side`** · readonly [`
|
|
18
|
+
**`side`** · readonly [`Vector2Data`](Vector2Data.md)[] · Required
|
|
14
19
|
|
|
15
20
|
|
|
16
21
|
|
|
@@ -29,6 +34,10 @@ Closes an open, strictly upward [radius, height] side outline to the radius-zero
|
|
|
29
34
|
|
|
30
35
|
- [Contour](Contour.md)
|
|
31
36
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
32
|
-
- [
|
|
37
|
+
- [Vector2Data](Vector2Data.md)
|
|
38
|
+
|
|
39
|
+
## Guides
|
|
40
|
+
|
|
41
|
+
- [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
|
|
33
42
|
|
|
34
|
-
Package: `@metamesh/modeling@0.
|
|
43
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -48,4 +48,8 @@ allowances as radial mating clearance.
|
|
|
48
48
|
- [CompensatedThreadDiameters](CompensatedThreadDiameters.md)
|
|
49
49
|
- [ThreadCompensationOptions](ThreadCompensationOptions.md)
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
## Guides
|
|
52
|
+
|
|
53
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
54
|
+
|
|
55
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Applies axial fit allowance to a validated periodic profile.
|
|
4
4
|
|
|
5
|
-
**compensateThreadProfileAxially**(`profile`: [`ThreadProfile`](ThreadProfile.md), `axialBacklash`: `number`, `role`: `"female"` \| `"male"`): [`ThreadProfile`](ThreadProfile.md)
|
|
5
|
+
**compensateThreadProfileAxially**(`profile`: [`ThreadProfile`](ThreadProfile-type.md), `axialBacklash`: `number`, `role`: `"female"` \| `"male"`): [`ThreadProfile`](ThreadProfile-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@ change. The returned profile is a new deeply immutable value.
|
|
|
14
14
|
|
|
15
15
|
<a id="profile"></a>
|
|
16
16
|
|
|
17
|
-
**`profile`** · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
17
|
+
**`profile`** · [`ThreadProfile`](ThreadProfile-type.md) · Required
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
@@ -32,11 +32,15 @@ change. The returned profile is a new deeply immutable value.
|
|
|
32
32
|
|
|
33
33
|
## Returns
|
|
34
34
|
|
|
35
|
-
[`ThreadProfile`](ThreadProfile.md)
|
|
35
|
+
[`ThreadProfile`](ThreadProfile-type.md)
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
## Related APIs
|
|
39
39
|
|
|
40
|
-
- [ThreadProfile](ThreadProfile.md)
|
|
40
|
+
- [ThreadProfile](ThreadProfile-type.md)
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
## Guides
|
|
43
|
+
|
|
44
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
45
|
+
|
|
46
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Applies printable axial fit plus the conservative phase allowance required by circular facets.
|
|
4
4
|
|
|
5
|
-
**compensateThreadProfileForFaceting**(`profile`: [`ThreadProfile`](ThreadProfile.md), `axialBacklash`: `number`, `role`: `"female"` \| `"male"`, `starts`: `number`, `circularSegments`: `number`): [`ThreadProfile`](ThreadProfile.md)
|
|
5
|
+
**compensateThreadProfileForFaceting**(`profile`: [`ThreadProfile`](ThreadProfile-type.md), `axialBacklash`: `number`, `role`: `"female"` \| `"male"`, `starts`: `number`, `circularSegments`: `number`): [`ThreadProfile`](ThreadProfile-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ it exactly.
|
|
|
16
16
|
|
|
17
17
|
<a id="profile"></a>
|
|
18
18
|
|
|
19
|
-
**`profile`** · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
19
|
+
**`profile`** · [`ThreadProfile`](ThreadProfile-type.md) · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -46,11 +46,15 @@ it exactly.
|
|
|
46
46
|
|
|
47
47
|
## Returns
|
|
48
48
|
|
|
49
|
-
[`ThreadProfile`](ThreadProfile.md)
|
|
49
|
+
[`ThreadProfile`](ThreadProfile-type.md)
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
## Related APIs
|
|
53
53
|
|
|
54
|
-
- [ThreadProfile](ThreadProfile.md)
|
|
54
|
+
- [ThreadProfile](ThreadProfile-type.md)
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
## Guides
|
|
57
|
+
|
|
58
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
59
|
+
|
|
60
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Composes two affine transforms without mutating either matrix.
|
|
4
4
|
|
|
5
|
-
**composeTransform3**(`after`: [`
|
|
5
|
+
**composeTransform3**(`after`: [`Transform3Data`](Transform3Data.md), `before`: [`Transform3Data`](Transform3Data.md)): [`Transform3Data`](Transform3Data.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ Composes two affine transforms without mutating either matrix.
|
|
|
12
12
|
|
|
13
13
|
<a id="after"></a>
|
|
14
14
|
|
|
15
|
-
**`after`** · [`
|
|
15
|
+
**`after`** · [`Transform3Data`](Transform3Data.md) · Required
|
|
16
16
|
|
|
17
17
|
Transform applied second.
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ Transform applied second.
|
|
|
20
20
|
|
|
21
21
|
<a id="before"></a>
|
|
22
22
|
|
|
23
|
-
**`before`** · [`
|
|
23
|
+
**`before`** · [`Transform3Data`](Transform3Data.md) · Required
|
|
24
24
|
|
|
25
25
|
Transform applied first.
|
|
26
26
|
|
|
@@ -28,17 +28,18 @@ Transform applied first.
|
|
|
28
28
|
|
|
29
29
|
## Returns
|
|
30
30
|
|
|
31
|
-
[`
|
|
31
|
+
[`Transform3Data`](Transform3Data.md)
|
|
32
32
|
|
|
33
33
|
A new frozen transform equal to `after * before`.
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
## Related APIs
|
|
37
37
|
|
|
38
|
-
- [
|
|
38
|
+
- [Transform3Data](Transform3Data.md)
|
|
39
39
|
|
|
40
40
|
## Guides
|
|
41
41
|
|
|
42
42
|
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
43
|
+
- [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
43
44
|
|
|
44
|
-
Package: `@metamesh/modeling@0.
|
|
45
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Builds rotation-minimizing frames for a non-duplicated closed path.
|
|
4
4
|
|
|
5
|
-
`const` **computeClosedParallelTransportFrames**: (`
|
|
5
|
+
`const` **computeClosedParallelTransportFrames**: (`input`: [`Path3Input`](Path3Input.md), `initialNormal?`: [`Vector3Input`](Vector3Input.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,18 +10,21 @@ Centered cyclic tangents are parallel-transported around the loop. Transporting
|
|
|
10
10
|
normal back to the first tangent measures seam holonomy; distributing that residual rotation
|
|
11
11
|
uniformly over all path intervals avoids a visible seam or accumulated frame flip.
|
|
12
12
|
The maxPathPoints ceiling (default 100000) bounds path points and frames.
|
|
13
|
+
Requires closed path values; raw tuples are interpreted as closed and must omit their seam point.
|
|
14
|
+
Invalid paths throw GeometryError.
|
|
15
|
+
Nonfinite initial normals reject; finite parallel preferences select a canonical fallback.
|
|
13
16
|
|
|
14
17
|
## Parameters
|
|
15
18
|
|
|
16
|
-
<a id="
|
|
19
|
+
<a id="input"></a>
|
|
17
20
|
|
|
18
|
-
**`
|
|
21
|
+
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
19
22
|
|
|
20
23
|
|
|
21
24
|
|
|
22
25
|
<a id="initialnormal"></a>
|
|
23
26
|
|
|
24
|
-
**`initialNormal`** · [`
|
|
27
|
+
**`initialNormal`** · [`Vector3Input`](Vector3Input.md) · Optional
|
|
25
28
|
|
|
26
29
|
|
|
27
30
|
|
|
@@ -39,7 +42,12 @@ readonly [`PathFrame`](PathFrame.md)[]
|
|
|
39
42
|
## Related APIs
|
|
40
43
|
|
|
41
44
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
45
|
+
- [Path3Input](Path3Input.md)
|
|
42
46
|
- [PathFrame](PathFrame.md)
|
|
43
|
-
- [
|
|
47
|
+
- [Vector3Input](Vector3Input.md)
|
|
44
48
|
|
|
45
|
-
|
|
49
|
+
## Guides
|
|
50
|
+
|
|
51
|
+
- [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
52
|
+
|
|
53
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
# computeParallelTransportFrames
|
|
2
2
|
|
|
3
|
-
Builds rotation-minimizing frames by parallel-transporting the previous normal.
|
|
3
|
+
Builds rotation-minimizing frames by parallel-transporting the previous normal.
|
|
4
4
|
|
|
5
|
-
`const` **computeParallelTransportFrames**: (`
|
|
5
|
+
`const` **computeParallelTransportFrames**: (`input`: [`Path3Input`](Path3Input.md), `initialNormal?`: [`Vector3Input`](Vector3Input.md), `normalGuide?`: [`PathNormalGuide`](PathNormalGuide.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
This avoids the sudden profile flips produced by picking a fresh up-vector per ring.
|
|
10
|
+
Paths exceeding maxPathPoints (default 100000) reject before frame allocation or guide evaluation.
|
|
11
|
+
Requires open path values; raw tuples are interpreted as an open path. Invalid paths throw GeometryError.
|
|
12
|
+
Nonfinite normals and guide results reject. A finite initial guide parallel to the tangent selects a canonical fallback.
|
|
13
|
+
|
|
9
14
|
## Parameters
|
|
10
15
|
|
|
11
|
-
<a id="
|
|
16
|
+
<a id="input"></a>
|
|
12
17
|
|
|
13
|
-
**`
|
|
18
|
+
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
14
19
|
|
|
15
20
|
|
|
16
21
|
|
|
17
22
|
<a id="initialnormal"></a>
|
|
18
23
|
|
|
19
|
-
**`initialNormal`** · [`
|
|
24
|
+
**`initialNormal`** · [`Vector3Input`](Vector3Input.md) · Optional
|
|
20
25
|
|
|
21
26
|
|
|
22
27
|
|
|
@@ -40,8 +45,13 @@ readonly [`PathFrame`](PathFrame.md)[]
|
|
|
40
45
|
## Related APIs
|
|
41
46
|
|
|
42
47
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
48
|
+
- [Path3Input](Path3Input.md)
|
|
43
49
|
- [PathFrame](PathFrame.md)
|
|
44
50
|
- [PathNormalGuide](PathNormalGuide.md)
|
|
45
|
-
- [
|
|
51
|
+
- [Vector3Input](Vector3Input.md)
|
|
52
|
+
|
|
53
|
+
## Guides
|
|
54
|
+
|
|
55
|
+
- [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
46
56
|
|
|
47
|
-
Package: `@metamesh/modeling@0.
|
|
57
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
# computeTriangleMeshCentroid
|
|
2
2
|
|
|
3
|
-
Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells.
|
|
3
|
+
Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells.
|
|
4
4
|
|
|
5
|
-
**computeTriangleMeshCentroid**(`mesh`: [`TriangleMesh`](TriangleMesh.md)): [`
|
|
5
|
+
**computeTriangleMeshCentroid**(`mesh`: [`TriangleMesh`](TriangleMesh.md)): [`Vector3Data`](Vector3Data.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
Coordinates are millimetres. Indexed closure and positive aggregate volume are required; callers
|
|
10
|
+
may use validateSolidMesh first when geometric intersections and shell orientation are untrusted.
|
|
11
|
+
Fresh mutable input is inspected on every call, and buffers are never changed.
|
|
12
|
+
|
|
9
13
|
## Parameters
|
|
10
14
|
|
|
11
15
|
<a id="mesh"></a>
|
|
@@ -18,7 +22,7 @@ Consistently oriented closed mesh with positive enclosed volume.
|
|
|
18
22
|
|
|
19
23
|
## Returns
|
|
20
24
|
|
|
21
|
-
[`
|
|
25
|
+
[`Vector3Data`](Vector3Data.md)
|
|
22
26
|
|
|
23
27
|
A fresh immutable XYZ volume centroid.
|
|
24
28
|
|
|
@@ -26,6 +30,10 @@ A fresh immutable XYZ volume centroid.
|
|
|
26
30
|
## Related APIs
|
|
27
31
|
|
|
28
32
|
- [TriangleMesh](TriangleMesh.md)
|
|
29
|
-
- [
|
|
33
|
+
- [Vector3Data](Vector3Data.md)
|
|
34
|
+
|
|
35
|
+
## Guides
|
|
36
|
+
|
|
37
|
+
- [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
30
38
|
|
|
31
|
-
Package: `@metamesh/modeling@0.
|
|
39
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# computeTriangleMeshSignature
|
|
2
2
|
|
|
3
3
|
Creates an order-independent regression signature for a manufacturing mesh.
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**computeTriangleMeshSignature**(`mesh`: [`TriangleMesh`](TriangleMesh.md), `options?`: [`TriangleMeshSignatureOptions`](TriangleMeshSignatureOptions.md)): [`TriangleMeshSignature`](TriangleMeshSignature.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -26,7 +26,7 @@ Closed oriented mesh to measure without mutation.
|
|
|
26
26
|
|
|
27
27
|
Absolute quantization and complexity limits.
|
|
28
28
|
|
|
29
|
-
- [`
|
|
29
|
+
- [`maxTriangles`](TriangleMeshSignatureOptions.md#maxtriangles) · `number` · Optional
|
|
30
30
|
|
|
31
31
|
Maximum accepted triangle count. Defaults to 200,000.
|
|
32
32
|
|
|
@@ -57,4 +57,8 @@ Compact counts, bounds, volume, topology, tolerances, and canonical fingerprint.
|
|
|
57
57
|
- [TriangleMeshSignature](TriangleMeshSignature.md)
|
|
58
58
|
- [TriangleMeshSignatureOptions](TriangleMeshSignatureOptions.md)
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
## Guides
|
|
61
|
+
|
|
62
|
+
- [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
63
|
+
|
|
64
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -6,7 +6,7 @@ Tests actual XY containment, including touching boundaries; dimensions must matc
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
**containsBounds**(`outer`: [`
|
|
9
|
+
**containsBounds**(`outer`: [`Bounds2Data`](Bounds2Data.md), `inner`: [`Bounds2Data`](Bounds2Data.md)): `boolean`
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -16,13 +16,13 @@ Tests actual XY containment, including touching boundaries; dimensions must matc
|
|
|
16
16
|
|
|
17
17
|
<a id="outer"></a>
|
|
18
18
|
|
|
19
|
-
**`outer`** · [`
|
|
19
|
+
**`outer`** · [`Bounds2Data`](Bounds2Data.md) · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
<a id="inner"></a>
|
|
24
24
|
|
|
25
|
-
**`inner`** · [`
|
|
25
|
+
**`inner`** · [`Bounds2Data`](Bounds2Data.md) · Required
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
@@ -34,7 +34,7 @@ Tests actual XY containment, including touching boundaries; dimensions must matc
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
**containsBounds**(`outer`: [`
|
|
37
|
+
**containsBounds**(`outer`: [`Bounds3Data`](Bounds3Data.md), `inner`: [`Bounds3Data`](Bounds3Data.md)): `boolean`
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
@@ -44,13 +44,13 @@ Tests actual XYZ containment, including touching boundaries; dimensions must mat
|
|
|
44
44
|
|
|
45
45
|
<a id="outer-1"></a>
|
|
46
46
|
|
|
47
|
-
**`outer`** · [`
|
|
47
|
+
**`outer`** · [`Bounds3Data`](Bounds3Data.md) · Required
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
<a id="inner-1"></a>
|
|
52
52
|
|
|
53
|
-
**`inner`** · [`
|
|
53
|
+
**`inner`** · [`Bounds3Data`](Bounds3Data.md) · Required
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
@@ -61,12 +61,13 @@ Tests actual XYZ containment, including touching boundaries; dimensions must mat
|
|
|
61
61
|
|
|
62
62
|
## Related APIs
|
|
63
63
|
|
|
64
|
-
- [
|
|
65
|
-
- [
|
|
64
|
+
- [Bounds2Data](Bounds2Data.md)
|
|
65
|
+
- [Bounds3Data](Bounds3Data.md)
|
|
66
66
|
|
|
67
67
|
## Guides
|
|
68
68
|
|
|
69
|
+
- [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
|
|
69
70
|
- [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
|
|
70
71
|
- [Solid inspection](../../guides/recipes.md#solid-inspection)
|
|
71
72
|
|
|
72
|
-
Package: `@metamesh/modeling@0.
|
|
73
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Returns true when a point lies inside or on the boundary of a loop.
|
|
4
4
|
|
|
5
|
-
**contourContainsPoint**(`loop`: [`Contour`](Contour.md), `point`: [`
|
|
5
|
+
**contourContainsPoint**(`loop`: [`Contour`](Contour.md), `point`: [`Vector2Data`](Vector2Data.md)): `boolean`
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ Returns true when a point lies inside or on the boundary of a loop.
|
|
|
16
16
|
|
|
17
17
|
<a id="point"></a>
|
|
18
18
|
|
|
19
|
-
**`point`** · [`
|
|
19
|
+
**`point`** · [`Vector2Data`](Vector2Data.md) · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -28,6 +28,10 @@ Returns true when a point lies inside or on the boundary of a loop.
|
|
|
28
28
|
## Related APIs
|
|
29
29
|
|
|
30
30
|
- [Contour](Contour.md)
|
|
31
|
-
- [
|
|
31
|
+
- [Vector2Data](Vector2Data.md)
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
## Guides
|
|
34
|
+
|
|
35
|
+
- [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
|
|
36
|
+
|
|
37
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Returns the signed scalar cross product; positive means `b` is counter-clockwise from `a`.
|
|
4
4
|
|
|
5
|
-
`const` **cross2**: (`a`: [`
|
|
5
|
+
`const` **cross2**: (`a`: [`Vector2Data`](Vector2Data.md), `b`: [`Vector2Data`](Vector2Data.md)) => `number`
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,13 +10,13 @@ Returns the signed scalar cross product; positive means `b` is counter-clockwise
|
|
|
10
10
|
|
|
11
11
|
<a id="a"></a>
|
|
12
12
|
|
|
13
|
-
**`a`** · [`
|
|
13
|
+
**`a`** · [`Vector2Data`](Vector2Data.md) · Required
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
<a id="b"></a>
|
|
18
18
|
|
|
19
|
-
**`b`** · [`
|
|
19
|
+
**`b`** · [`Vector2Data`](Vector2Data.md) · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -27,10 +27,11 @@ Returns the signed scalar cross product; positive means `b` is counter-clockwise
|
|
|
27
27
|
|
|
28
28
|
## Related APIs
|
|
29
29
|
|
|
30
|
-
- [
|
|
30
|
+
- [Vector2Data](Vector2Data.md)
|
|
31
31
|
|
|
32
32
|
## Guides
|
|
33
33
|
|
|
34
34
|
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
35
|
+
- [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
35
36
|
|
|
36
|
-
Package: `@metamesh/modeling@0.
|
|
37
|
+
Package: `@metamesh/modeling@0.16.0`.
|