@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,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Returns finite axis-aligned bounds for a non-empty region.
|
|
4
4
|
|
|
5
|
-
**regionBounds**(`region`: [`RegionData`](RegionData.md)): [`
|
|
5
|
+
**regionBounds**(`region`: [`RegionData`](RegionData.md)): [`Bounds2Data`](Bounds2Data.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,12 +16,16 @@ Returns finite axis-aligned bounds for a non-empty region.
|
|
|
16
16
|
|
|
17
17
|
## Returns
|
|
18
18
|
|
|
19
|
-
[`
|
|
19
|
+
[`Bounds2Data`](Bounds2Data.md)
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
## Related APIs
|
|
23
23
|
|
|
24
|
-
- [
|
|
24
|
+
- [Bounds2Data](Bounds2Data.md)
|
|
25
25
|
- [RegionData](RegionData.md)
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
## Guides
|
|
28
|
+
|
|
29
|
+
- [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
|
|
30
|
+
|
|
31
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Creates a centered CCW point loop with vertex or face radial sizing and an implicit seam.
|
|
4
4
|
|
|
5
|
-
`const` **regularPolygonContour**: (`options`: [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md)) => readonly [`
|
|
5
|
+
`const` **regularPolygonContour**: (`options`: [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md)) => readonly [`Vector2Data`](Vector2Data.md)[]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -34,7 +34,7 @@ regularPolygonContour({ radius: 10, sides: 6, sizing: "face" });
|
|
|
34
34
|
|
|
35
35
|
Vertex sizing is inscribed; face sizing circumscribes the nominal radius. Defaults to vertex.
|
|
36
36
|
|
|
37
|
-
- [`
|
|
37
|
+
- [`rotation`](RegularPolygonContourOptions.md#rotation) · `number` · Optional
|
|
38
38
|
|
|
39
39
|
Counterclockwise rotation in degrees; defaults to zero with a vertex on +X.
|
|
40
40
|
|
|
@@ -42,12 +42,16 @@ regularPolygonContour({ radius: 10, sides: 6, sizing: "face" });
|
|
|
42
42
|
|
|
43
43
|
## Returns
|
|
44
44
|
|
|
45
|
-
readonly [`
|
|
45
|
+
readonly [`Vector2Data`](Vector2Data.md)[]
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
## Related APIs
|
|
49
49
|
|
|
50
50
|
- [RegularPolygonContourOptions](RegularPolygonContourOptions.md)
|
|
51
|
-
- [
|
|
51
|
+
- [Vector2Data](Vector2Data.md)
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
## Guides
|
|
54
|
+
|
|
55
|
+
- [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
|
|
56
|
+
|
|
57
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Resamples a planar polyline with the same point, tangent, seam and budget guarantees as 3D.
|
|
4
4
|
|
|
5
|
-
**resamplePolyline2**(`path`: readonly [`
|
|
5
|
+
**resamplePolyline2**(`path`: readonly [`Vector2Data`](Vector2Data.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve2`](SampledCurve2.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segment
|
|
|
16
16
|
|
|
17
17
|
<a id="path"></a>
|
|
18
18
|
|
|
19
|
-
**`path`** · readonly [`
|
|
19
|
+
**`path`** · readonly [`Vector2Data`](Vector2Data.md)[] · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segment
|
|
|
28
28
|
|
|
29
29
|
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
30
30
|
|
|
31
|
-
- [`
|
|
31
|
+
- [`maxVertices`](PolylineResamplingOptions.md#maxvertices) · `number` · Optional
|
|
32
32
|
|
|
33
33
|
Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
|
|
34
34
|
|
|
@@ -59,6 +59,10 @@ Only final 2D output vectors are copied and frozen. No immutable 3D intermediate
|
|
|
59
59
|
|
|
60
60
|
- [PolylineResamplingOptions](PolylineResamplingOptions.md)
|
|
61
61
|
- [SampledCurve2](SampledCurve2.md)
|
|
62
|
-
- [
|
|
62
|
+
- [Vector2Data](Vector2Data.md)
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
## Guides
|
|
65
|
+
|
|
66
|
+
- [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
67
|
+
|
|
68
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Resamples a spatial polyline at equal arc lengths with directed outgoing tangents.
|
|
4
4
|
|
|
5
|
-
**resamplePolyline3**(`path`: readonly [`
|
|
5
|
+
**resamplePolyline3**(`path`: readonly [`Vector3Data`](Vector3Data.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve3`](SampledCurve3.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
|
|
|
16
16
|
|
|
17
17
|
<a id="path"></a>
|
|
18
18
|
|
|
19
|
-
**`path`** · readonly [`
|
|
19
|
+
**`path`** · readonly [`Vector3Data`](Vector3Data.md)[] · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
|
|
|
28
28
|
|
|
29
29
|
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
30
30
|
|
|
31
|
-
- [`
|
|
31
|
+
- [`maxVertices`](PolylineResamplingOptions.md#maxvertices) · `number` · Optional
|
|
32
32
|
|
|
33
33
|
Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
|
|
34
34
|
|
|
@@ -62,6 +62,10 @@ may bridge original corners. Sampling never silently lowers the requested detail
|
|
|
62
62
|
|
|
63
63
|
- [PolylineResamplingOptions](PolylineResamplingOptions.md)
|
|
64
64
|
- [SampledCurve3](SampledCurve3.md)
|
|
65
|
-
- [
|
|
65
|
+
- [Vector3Data](Vector3Data.md)
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
## Guides
|
|
68
|
+
|
|
69
|
+
- [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
70
|
+
|
|
71
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -15,7 +15,7 @@ const alignedSegments = resolveAlignedCircularSegments(20, { alignTo: [4, 6] });
|
|
|
15
15
|
`alignTo` must be non-empty and contain only positive safe integers. Its checked least common
|
|
16
16
|
multiple defines the alignment grid. An exact `segments` value wins over
|
|
17
17
|
`resolution.circularSegments` and adaptive sampling, but is never rounded: it must already be
|
|
18
|
-
aligned and meet `
|
|
18
|
+
aligned and meet `minSegments`. Adaptive counts are rounded upward and fail with
|
|
19
19
|
`COMPLEXITY_LIMIT` when the aligned result exceeds the configured safety cap.
|
|
20
20
|
|
|
21
21
|
## Parameters
|
|
@@ -47,7 +47,7 @@ Required alignment factors plus optional floor, exact count, and resolution.
|
|
|
47
47
|
|
|
48
48
|
Explicit sampling allocation ceilings.
|
|
49
49
|
|
|
50
|
-
- [`
|
|
50
|
+
- [`minSegments`](AlignedCircularSegmentsOptions.md#minsegments) · `number` · Optional · Default: `3`
|
|
51
51
|
|
|
52
52
|
Additional full-circle segment floor, as a safe integer of at least three.
|
|
53
53
|
|
|
@@ -56,7 +56,7 @@ Required alignment factors plus optional floor, exact count, and resolution.
|
|
|
56
56
|
Exact full-circle segment count.
|
|
57
57
|
|
|
58
58
|
This takes precedence over `resolution.circularSegments` and adaptive sampling, and must
|
|
59
|
-
already satisfy every alignment factor and `
|
|
59
|
+
already satisfy every alignment factor and `minSegments`.
|
|
60
60
|
|
|
61
61
|
- [`resolution`](AlignedCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
62
62
|
|
|
@@ -80,4 +80,4 @@ An aligned full-circle segment count.
|
|
|
80
80
|
- [AlignedCircularSegmentsOptions](AlignedCircularSegmentsOptions.md)
|
|
81
81
|
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
82
82
|
|
|
83
|
-
Package: `@metamesh/modeling@0.
|
|
83
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Resolves the number of segments needed for a circular arc.
|
|
4
4
|
|
|
5
|
-
**resolveArcSegments**(`radius`: `number`, `
|
|
5
|
+
**resolveArcSegments**(`radius`: `number`, `angle`: `number`, `policy?`: [`CircularResolutionOptions`](CircularResolutionOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -25,9 +25,9 @@ Arc radius in millimetres.
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
<a id="
|
|
28
|
+
<a id="angle"></a>
|
|
29
29
|
|
|
30
|
-
**`
|
|
30
|
+
**`angle`** · `number` · Required
|
|
31
31
|
|
|
32
32
|
Non-zero signed sweep angle no greater than 360 degrees in magnitude.
|
|
33
33
|
|
|
@@ -64,4 +64,4 @@ Segment count for the requested arc span.
|
|
|
64
64
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
65
65
|
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
66
66
|
|
|
67
|
-
Package: `@metamesh/modeling@0.
|
|
67
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -28,4 +28,8 @@ currently supported.
|
|
|
28
28
|
- [CylindricalGearDimensions](CylindricalGearDimensions.md)
|
|
29
29
|
- [CylindricalGearSpec](CylindricalGearSpec.md)
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
## Guides
|
|
32
|
+
|
|
33
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
34
|
+
|
|
35
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -28,4 +28,8 @@ the same hand. The function validates those conjugate pitch invariants.
|
|
|
28
28
|
- [CylindricalGearPairDimensions](CylindricalGearPairDimensions.md)
|
|
29
29
|
- [CylindricalGearPairSpec](CylindricalGearPairSpec.md)
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
## Guides
|
|
32
|
+
|
|
33
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
34
|
+
|
|
35
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -48,11 +48,11 @@ Twist, scale, exact divisions, and physical resolution controls.
|
|
|
48
48
|
|
|
49
49
|
Operation-level physical policy over the nearest model scope.
|
|
50
50
|
|
|
51
|
-
- [`scaleTop`](ExtrusionSamplingOptions.md#scaletop) · `number` \| [`
|
|
51
|
+
- [`scaleTop`](ExtrusionSamplingOptions.md#scaletop) · `number` \| [`Vector2Input`](Vector2Input.md) · Optional
|
|
52
52
|
|
|
53
53
|
Finite uniform or XY scale of the top profile; defaults to one.
|
|
54
54
|
|
|
55
|
-
- [`
|
|
55
|
+
- [`twist`](ExtrusionSamplingOptions.md#twist) · `number` · Optional
|
|
56
56
|
|
|
57
57
|
Finite rotation of the top profile about +Z, in degrees; defaults to zero.
|
|
58
58
|
|
|
@@ -71,4 +71,8 @@ Number of intermediate copies, excluding the two end profiles.
|
|
|
71
71
|
- [ExtrusionSamplingOptions](ExtrusionSamplingOptions.md)
|
|
72
72
|
- [RegionData](RegionData.md)
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
## Guides
|
|
75
|
+
|
|
76
|
+
- [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
77
|
+
|
|
78
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -23,4 +23,8 @@ Resolves finite positive safe-integer allocation ceilings without ambient state.
|
|
|
23
23
|
|
|
24
24
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
## Guides
|
|
27
|
+
|
|
28
|
+
- [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
29
|
+
|
|
30
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -56,4 +56,4 @@ A complete tolerance policy including the scale-resolved distance.
|
|
|
56
56
|
- [GeometryToleranceOptions](GeometryToleranceOptions.md)
|
|
57
57
|
- [ResolvedGeometryTolerance](ResolvedGeometryTolerance.md)
|
|
58
58
|
|
|
59
|
-
Package: `@metamesh/modeling@0.
|
|
59
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# resolveKnuckleHinge
|
|
2
|
+
|
|
3
|
+
Resolves equal alternating knuckles along +X, centered at the origin, in millimetres.
|
|
4
|
+
|
|
5
|
+
**resolveKnuckleHinge**(`spec`: [`KnuckleHingeSpec`](KnuckleHingeSpec.md), `options?`: [`KnuckleHingeSamplingOptions`](KnuckleHingeSamplingOptions.md)): [`KnuckleHingeDimensions`](KnuckleHingeDimensions.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Both faces of each running pair use a common polygon count; face-sized bores contain the
|
|
10
|
+
shaft's complete rotational envelope. Adaptive sampling satisfies both face and vertex error
|
|
11
|
+
bounds; an insufficient ceiling rejects instead of reducing quality. Exact counts are intentional
|
|
12
|
+
facets. Zero allowances describe ideal contact, not a printable running fit.
|
|
13
|
+
|
|
14
|
+
Rejects nonfinite or nonpositive dimensions, invalid mode/count combinations, exhausted axial
|
|
15
|
+
length, missing/excessive lift-off engagement, and nonpositive conservative faceted barrel walls.
|
|
16
|
+
Manufacturing minima, strength, mounting, retention, handedness, and motion remain caller policy.
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
<a id="spec"></a>
|
|
21
|
+
|
|
22
|
+
**`spec`** · [`KnuckleHingeSpec`](KnuckleHingeSpec.md) · Required
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
<a id="options"></a>
|
|
27
|
+
|
|
28
|
+
**`options`** · [`KnuckleHingeSamplingOptions`](KnuckleHingeSamplingOptions.md) · Optional
|
|
29
|
+
|
|
30
|
+
- [`segments`](KnuckleHingeSamplingOptions.md#segments) · `number` · Optional
|
|
31
|
+
|
|
32
|
+
Exact full-circle count, divisible by four and at least four; overrides adaptive sampling.
|
|
33
|
+
|
|
34
|
+
- [`resolution`](KnuckleHingeSamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
35
|
+
|
|
36
|
+
Physical tessellation policy. Exact circular counts must also be divisible by four.
|
|
37
|
+
|
|
38
|
+
- [`limits`](KnuckleHingeSamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
39
|
+
|
|
40
|
+
Explicit allocation ceilings; defaults to the pure geometry sampling limits.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Returns
|
|
45
|
+
|
|
46
|
+
[`KnuckleHingeDimensions`](KnuckleHingeDimensions.md)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Related APIs
|
|
50
|
+
|
|
51
|
+
- [KnuckleHingeDimensions](KnuckleHingeDimensions.md)
|
|
52
|
+
- [KnuckleHingeSamplingOptions](KnuckleHingeSamplingOptions.md)
|
|
53
|
+
- [KnuckleHingeSpec](KnuckleHingeSpec.md)
|
|
54
|
+
|
|
55
|
+
## Guides
|
|
56
|
+
|
|
57
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
58
|
+
|
|
59
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -24,4 +24,8 @@ Resolves and validates a named or caller-defined print-fit policy.
|
|
|
24
24
|
- [PrintableThreadFit](PrintableThreadFit.md)
|
|
25
25
|
- [PrintableThreadFitPolicy](PrintableThreadFitPolicy.md)
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
## Guides
|
|
28
|
+
|
|
29
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
30
|
+
|
|
31
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -24,4 +24,8 @@ Resolves a rack segment that is conjugate with the same normal cylindrical pitch
|
|
|
24
24
|
- [RackPitchDimensions](RackPitchDimensions.md)
|
|
25
25
|
- [RackPitchSpec](RackPitchSpec.md)
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
## Guides
|
|
28
|
+
|
|
29
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
30
|
+
|
|
31
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -7,7 +7,7 @@ Resolves a role-independent, start-aligned facet count from the larger female ma
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
An exact `circularSegments` value must already be divisible by `starts`; it is never silently
|
|
10
|
-
raised. Adaptive policies align upward and fail if that would exceed `
|
|
10
|
+
raised. Adaptive policies align upward and fail if that would exceed `maxSegments`.
|
|
11
11
|
|
|
12
12
|
## Parameters
|
|
13
13
|
|
|
@@ -19,7 +19,7 @@ raised. Adaptive policies align upward and fail if that would exceed `maximumSeg
|
|
|
19
19
|
|
|
20
20
|
Nominal major diameter before role-specific compensation.
|
|
21
21
|
|
|
22
|
-
- [`profile`](ThreadCircularSegmentsOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
22
|
+
- [`profile`](ThreadCircularSegmentsOptions.md#profile) · [`ThreadProfile`](ThreadProfile-type.md) · Required
|
|
23
23
|
|
|
24
24
|
Validated mating profile whose pitch and flank capacities govern tessellation.
|
|
25
25
|
|
|
@@ -31,7 +31,7 @@ raised. Adaptive policies align upward and fail if that would exceed `maximumSeg
|
|
|
31
31
|
|
|
32
32
|
Printable fit whose larger compensated female envelope governs tessellation.
|
|
33
33
|
|
|
34
|
-
- [`
|
|
34
|
+
- [`maxRadialOutset`](ThreadCircularSegmentsOptions.md#maxradialoutset) · `number` · Optional
|
|
35
35
|
|
|
36
36
|
Maximum active female face outset beyond the compensated major envelope, in millimetres.
|
|
37
37
|
This keeps a compensated male/female pair on one role-independent grid when an internal
|
|
@@ -56,4 +56,8 @@ raised. Adaptive policies align upward and fail if that would exceed `maximumSeg
|
|
|
56
56
|
|
|
57
57
|
- [ThreadCircularSegmentsOptions](ThreadCircularSegmentsOptions.md)
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
## Guides
|
|
60
|
+
|
|
61
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
62
|
+
|
|
63
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -27,4 +27,8 @@ Fresh position and index buffers; the input remains unchanged.
|
|
|
27
27
|
|
|
28
28
|
- [TriangleMesh](TriangleMesh.md)
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
## Guides
|
|
31
|
+
|
|
32
|
+
- [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
33
|
+
|
|
34
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Revolves a non-duplicated closed `[radius, z]` profile around +Z.
|
|
4
4
|
|
|
5
|
-
`const` **revolveMesh**: (`
|
|
5
|
+
`const` **revolveMesh**: (`input`: [`Path2Input`](Path2Input.md), `options?`: [`RevolveOptions`](RevolveOptions.md)) => [`TriangleMesh`](TriangleMesh.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,21 +12,20 @@ axis is emitted once and joined as a triangle fan, avoiding coincident seam
|
|
|
12
12
|
vertices and zero-area quads. Profile edges that lie entirely on the axis
|
|
13
13
|
collapse to the solid's interior and are intentionally omitted.
|
|
14
14
|
Profile coordinates must fit finite Float32 mesh storage.
|
|
15
|
+
Path2 profiles must be closed; raw point collections have an implicit closing edge.
|
|
15
16
|
|
|
16
17
|
## Example: Partial revolution with end caps
|
|
17
18
|
|
|
18
19
|
```ts
|
|
19
20
|
// Each point is [radius, Z]; the profile seam is implicit.
|
|
20
|
-
revolveMesh([[0, 0], [12, 0], [8, 20], [0, 20]], {
|
|
21
|
+
revolveMesh([[0, 0], [12, 0], [8, 20], [0, 20]], { degrees: 270 });
|
|
21
22
|
```
|
|
22
23
|
|
|
23
24
|
## Parameters
|
|
24
25
|
|
|
25
|
-
<a id="
|
|
26
|
+
<a id="input"></a>
|
|
26
27
|
|
|
27
|
-
**`
|
|
28
|
-
|
|
29
|
-
Closed CCW `[radius, z]` profile without a duplicated seam point.
|
|
28
|
+
**`input`** · [`Path2Input`](Path2Input.md) · Required
|
|
30
29
|
|
|
31
30
|
|
|
32
31
|
|
|
@@ -47,9 +46,10 @@ Optional physical or exact circumferential sampling controls. Defaults to `{}`.
|
|
|
47
46
|
|
|
48
47
|
Operation-level physical tessellation policy over the active model-wide policy.
|
|
49
48
|
|
|
50
|
-
- [`
|
|
49
|
+
- [`degrees`](RevolveOptions.md#degrees) · `number` · Optional · Default: `360`
|
|
51
50
|
|
|
52
|
-
Positive
|
|
51
|
+
Positive sweep in degrees, no greater than 360. Defaults to a full revolution;
|
|
52
|
+
smaller sweeps form partial revolutions with end caps.
|
|
53
53
|
Segment counts describe a complete circle and scale to this angular span. Native filled
|
|
54
54
|
revolutions require at least three sweep intervals: adaptive sampling refines to that floor,
|
|
55
55
|
while exact counts that imply fewer intervals reject. Pure revolveMesh supports one interval.
|
|
@@ -69,8 +69,12 @@ A closed indexed triangle mesh revolved counter-clockwise around +Z.
|
|
|
69
69
|
|
|
70
70
|
## Related APIs
|
|
71
71
|
|
|
72
|
+
- [Path2Input](Path2Input.md)
|
|
72
73
|
- [RevolveOptions](RevolveOptions.md)
|
|
73
74
|
- [TriangleMesh](TriangleMesh.md)
|
|
74
|
-
- [Vector2Tuple](Vector2Tuple.md)
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
## Guides
|
|
77
|
+
|
|
78
|
+
- [Exact counts and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
79
|
+
|
|
80
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Rotates a finite vector counter-clockwise in XY by `degrees` about the origin. Throws `NON_FINITE_VALUE` for nonfinite coordinates, angles, or derived coordinates.
|
|
4
4
|
|
|
5
|
-
`const` **rotate2**: (`vector`: [`
|
|
5
|
+
`const` **rotate2**: (`vector`: [`Vector2Data`](Vector2Data.md), `degrees`: `number`) => [`Vector2Data`](Vector2Data.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Rotates a finite vector counter-clockwise in XY by `degrees` about the origin. T
|
|
|
10
10
|
|
|
11
11
|
<a id="vector"></a>
|
|
12
12
|
|
|
13
|
-
**`vector`** · [`
|
|
13
|
+
**`vector`** · [`Vector2Data`](Vector2Data.md) · Required
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -22,15 +22,16 @@ Rotates a finite vector counter-clockwise in XY by `degrees` about the origin. T
|
|
|
22
22
|
|
|
23
23
|
## Returns
|
|
24
24
|
|
|
25
|
-
[`
|
|
25
|
+
[`Vector2Data`](Vector2Data.md)
|
|
26
26
|
|
|
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`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Creates a right-handed axis-angle rotation transform.
|
|
4
4
|
|
|
5
|
-
**rotationTransform3**(`axis`: [`
|
|
5
|
+
**rotationTransform3**(`axis`: [`Vector3Data`](Vector3Data.md), `angle`: [`AxisAngleRotation3`](AxisAngleRotation3.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Transform3Data`](Transform3Data.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Creates a right-handed axis-angle rotation transform.
|
|
|
10
10
|
|
|
11
11
|
<a id="axis"></a>
|
|
12
12
|
|
|
13
|
-
**`axis`** · [`
|
|
13
|
+
**`axis`** · [`Vector3Data`](Vector3Data.md) · Required
|
|
14
14
|
|
|
15
15
|
Rotation axis; normalization is performed internally.
|
|
16
16
|
|
|
@@ -34,7 +34,7 @@ Optional zero-length comparison overrides.
|
|
|
34
34
|
|
|
35
35
|
## Returns
|
|
36
36
|
|
|
37
|
-
[`
|
|
37
|
+
[`Transform3Data`](Transform3Data.md)
|
|
38
38
|
|
|
39
39
|
A frozen row-major transform.
|
|
40
40
|
|
|
@@ -43,11 +43,12 @@ A frozen row-major transform.
|
|
|
43
43
|
|
|
44
44
|
- [AxisAngleRotation3](AxisAngleRotation3.md)
|
|
45
45
|
- [GeometryToleranceOptions](GeometryToleranceOptions.md)
|
|
46
|
-
- [
|
|
47
|
-
- [
|
|
46
|
+
- [Transform3Data](Transform3Data.md)
|
|
47
|
+
- [Vector3Data](Vector3Data.md)
|
|
48
48
|
|
|
49
49
|
## Guides
|
|
50
50
|
|
|
51
51
|
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
52
|
+
- [Fluent values and tuple kernels](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
52
53
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
54
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Replaces each vertex of a non-duplicated closed polyline with a sampled quadratic corner in the same coordinate system as the input.
|
|
4
4
|
|
|
5
|
-
`const` **roundClosedPolylinePath**: (`
|
|
5
|
+
`const` **roundClosedPolylinePath**: (`input`: [`Path3Input`](Path3Input.md), `radius`: `number`, `segmentsPerCorner`: `number`, `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`Vector3Data`](Vector3Data.md)[]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,12 +10,13 @@ Replaces each vertex of a non-duplicated closed polyline with a sampled quadrati
|
|
|
10
10
|
45% of adjacent segment lengths to prevent neighboring corners from crossing.
|
|
11
11
|
The returned path does not duplicate its closing point.
|
|
12
12
|
Coordinates and radius must be finite; input and output are each limited by maxPathPoints (default 100000).
|
|
13
|
+
Requires a closed path value; raw tuples are interpreted as closed. Invalid inputs throw GeometryError.
|
|
13
14
|
|
|
14
15
|
## Parameters
|
|
15
16
|
|
|
16
|
-
<a id="
|
|
17
|
+
<a id="input"></a>
|
|
17
18
|
|
|
18
|
-
**`
|
|
19
|
+
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
|
|
@@ -39,12 +40,17 @@ Coordinates and radius must be finite; input and output are each limited by maxP
|
|
|
39
40
|
|
|
40
41
|
## Returns
|
|
41
42
|
|
|
42
|
-
readonly [`
|
|
43
|
+
readonly [`Vector3Data`](Vector3Data.md)[]
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
## Related APIs
|
|
46
47
|
|
|
47
48
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
48
|
-
- [
|
|
49
|
+
- [Path3Input](Path3Input.md)
|
|
50
|
+
- [Vector3Data](Vector3Data.md)
|
|
49
51
|
|
|
50
|
-
|
|
52
|
+
## Guides
|
|
53
|
+
|
|
54
|
+
- [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
55
|
+
|
|
56
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# sampleContour
|
|
2
2
|
|
|
3
|
-
Samples 2–32 connected line/cubic segments into a simple, nonzero-area, immutable CCW XY loop.
|
|
3
|
+
Samples 2–32 connected line/cubic segments into a simple, nonzero-area, immutable CCW XY loop.
|
|
4
4
|
|
|
5
5
|
**sampleContour**(`curve`: [`ContourCurve`](ContourCurve.md), `options?`: [`SampleContourOptions`](SampleContourOptions.md)): [`Contour`](Contour.md)
|
|
6
6
|
|
|
@@ -19,6 +19,12 @@ const section = sampleContour({
|
|
|
19
19
|
}, { widthScale: 20, heightScale: 12 });
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
Physical scaling precedes adaptive curve sampling; the final end must repeat start exactly.
|
|
23
|
+
Shared anchors and the closing seam are emitted once. Winding normalization may change the
|
|
24
|
+
starting vertex. The sampled loop is checked for self-intersection and degeneracy by
|
|
25
|
+
`normalizeContour`; this is a single contour without holes. No editor modes or normalized
|
|
26
|
+
coordinate range are required. No native engine, SDK, or ambient resolution is used.
|
|
27
|
+
|
|
22
28
|
## Parameters
|
|
23
29
|
|
|
24
30
|
<a id="curve"></a>
|
|
@@ -33,7 +39,7 @@ Closed contour in millimetres unless positive scales convert its coordinates.
|
|
|
33
39
|
|
|
34
40
|
**`options`** · [`SampleContourOptions`](SampleContourOptions.md) · Optional
|
|
35
41
|
|
|
36
|
-
Physical resolution and unique vertex budget; defaults to 4096
|
|
42
|
+
Physical resolution and unique vertex budget; defaults to min(4096, maxProfilePoints).
|
|
37
43
|
|
|
38
44
|
- [`widthScale`](SampleContourOptions.md#widthscale) · `number` · Optional
|
|
39
45
|
|
|
@@ -47,7 +53,7 @@ Physical resolution and unique vertex budget; defaults to 4096 vertices.
|
|
|
47
53
|
|
|
48
54
|
Physical policy evaluated after scaling, using the shared curve sampler.
|
|
49
55
|
|
|
50
|
-
- [`
|
|
56
|
+
- [`maxVertices`](SampleContourOptions.md#maxvertices) · `number` · Optional
|
|
51
57
|
|
|
52
58
|
Unique output vertex ceiling, at least three, within maxProfilePoints. Defaults to min(4096, maxProfilePoints).
|
|
53
59
|
|
|
@@ -74,4 +80,8 @@ Frozen counterclockwise loop in millimetres, without a repeated seam endpoint.
|
|
|
74
80
|
- [ContourCurve](ContourCurve.md)
|
|
75
81
|
- [SampleContourOptions](SampleContourOptions.md)
|
|
76
82
|
|
|
77
|
-
|
|
83
|
+
## Guides
|
|
84
|
+
|
|
85
|
+
- [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
|
|
86
|
+
|
|
87
|
+
Package: `@metamesh/modeling@0.16.0`.
|