agentleFS
BigTsungBigTsung/SwiftUI-Motion-Library/llms.txt

SwiftUI-Motion-Library

llms.txt2 starsChanged 8 days agoMITView on GitHub

145 copy-paste SwiftUI motion effects (text, buttons, cards, shapes, loaders, backgrounds, particles and 3D) as small, dependency-free views and modifiers. Effects with large or looping motion respect Reduce Motion. Use the library API instead of hand-writing these animations. Install with Swift Package Manager: Then import MotionLibrary. Requires iOS 17, macOS 14 or visionOS 1; effects marked iOS 18+ are @available(iOS 18, macOS 15, visionOS 2, *). In an Xcode app project, add the package with File → Add Package Dependencies……

The file

We split this llms.txt into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use the library API instead of hand-writing these animations.

    line 5

≈ “Common” is an estimate: at least 1 in 5 of the 3,592 llms.txt files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
llms.txt
# SwiftUI Motion Library

> 145 copy-paste SwiftUI motion effects (text, buttons, cards, shapes, loaders, backgrounds, particles and 3D) as small, dependency-free views and modifiers. Effects with large or looping motion respect Reduce Motion.

Use the library API instead of hand-writing these animations. Install with Swift Package Manager:

```swift
// Package.swift
.package(url: "https://github.com/BigTsung/SwiftUI-Motion-Library", from: "0.6.0")
// target dependencies
.product(name: "MotionLibrary", package: "SwiftUI-Motion-Library")
```

Then `import MotionLibrary`. Requires iOS 17, macOS 14 or visionOS 1; effects marked iOS 18+ are `@available(iOS 18, macOS 15, visionOS 2, *)`.

In an Xcode app project, add the package with **File → Add Package Dependencies…** rather than editing `project.pbxproj` by hand. To use one effect without the package, copy its source file plus any files listed under "Files" for it (shared helpers such as `Support/Haptics.swift`); every effect compiles from just those files.

## Text

- [Typewriter](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/TypewriterText.swift): Characters appear one by one with a blinking cursor. API: `TypewriterText("…")`. Trigger: Appear / Value change.
- [Scramble / Decode](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/ScrambleText.swift): Random glyphs resolve into the real text from left to right. API: `ScrambleText("…")`. Trigger: Appear / Value change.
- [Shimmer](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/Shimmer.swift): A band of light sweeps across text or skeleton placeholders. API: `.shimmer()`. Trigger: Loop.
- [Gradient Sweep](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/GradientSweep.swift): A multi-colour gradient flows through the letters forever. API: `.gradientSweep()`. Trigger: Loop.
- [Blur-in Words](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/BlurInText.swift): Words come into focus one after another: fade, rise and un-blur. API: `BlurInText("…")`. Trigger: Appear / Value change.
- [Marquee](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/MarqueeText.swift): Text too long for its line scrolls sideways forever, with faded edges. API: `MarqueeText("…")`. Trigger: Loop.
- [Wave Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/WaveText.swift): Letters bob in a travelling wave, drawn with a TextRenderer. API: `WaveText("…")`. Trigger: Loop. Requires iOS 18+.
- [Count Up](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/CountUpText.swift): A number counts up from zero, and from old to new value on change. API: `CountUpText(value: …)`. Trigger: Appear / Value change.
- [Split Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/SplitText.swift): Letters rise into place one after another with a small overshoot. API: `SplitText("…")`. Trigger: Appear / Value change. Requires iOS 18+.
- [Rotating Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/RotatingText.swift): Words take turns: the current one slides up and out as the next rises in. API: `RotatingText([…])`. Trigger: Loop.
- [Glitch](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/Glitch.swift): Every few seconds the view tears: an RGB split, sliced rows and jitter. API: `.glitch()`. Trigger: Loop.
- [Circular Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/CircularText.swift): Text wrapped around a circle that slowly turns, like a rotating badge. API: `CircularText("…")`. Trigger: Loop.
- [Focus Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/FocusText.swift): Focus hops from word to word: sharp and bracketed, the rest blurred. API: `FocusText("…")`. Trigger: Loop.
- [Highlighter](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/Highlighter.swift): A marker pen swipes across the text, or underlines it, left to right. API: `.highlighter()`. Trigger: Appear / Value change.
- [Morphing Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/MorphingText.swift): Words melt into each other with a gooey, liquid morph. API: `MorphingText([…])`. Trigger: Loop.
- [Neon Flicker](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/NeonFlicker.swift): A glowing neon tube that stutters on and glitches now and then. API: `.neon(color:flicker:)`. Trigger: Loop.
- [Karaoke Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/KaraokeText.swift): A line fills with colour left to right as progress goes from 0 to 1. API: `KaraokeText(_:progress:)`. Trigger: Value change / Scroll.
- [Weight Wave](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/WeightWaveText.swift): Letters swell from thin to black and back in a travelling wave. API: `WeightWaveText(_:)`. Trigger: Loop.
- [Exploding Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/ExplodingText.swift): Letters blast apart spinning and spring back into place. API: `ExplodingText(_:isExploded:)`. Trigger: Value change / Tap. Requires iOS 18+.
- [Liquid Fill Text](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Text/LiquidFillText.swift): A wavy water line rises inside the letters as progress grows. API: `LiquidFillText(_:progress:)`. Trigger: Value change / Loop.

## Button

- [Pressable](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/PressableButtonStyle.swift): Button squashes and darkens on press, then springs back with a light haptic. API: `.buttonStyle(.pressable)`. Trigger: Press. Copying it without the package also needs `Haptics.swift`.
- [Tap Ripple](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/Ripple.swift): A circular ripple expands from the exact tap location. API: `.ripple()`. Trigger: Tap.
- [Error Shake](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/Shake.swift): Horizontal "no" shake for wrong input, triggered by a value change. API: `.shake(trigger:)`. Trigger: Value change.
- [Magnetic Button](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/Magnetic.swift): The button drifts toward a nearby pointer or dragging finger, then springs home. API: `.magnetic()`. Trigger: Hover / Drag.
- [Hold to Confirm](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/HoldToConfirmButton.swift): Liquid fills the button while you hold; the action runs only when it's full. API: `HoldToConfirmButton("…") { }`. Trigger: Press. Copying it without the package also needs `Haptics.swift`.
- [Loading → Success](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/StatusButton.swift): The button morphs into a spinner, then a green checkmark or a red shake. API: `StatusButton("…", status:) { }`. Trigger: Tap / Value change. Copying it without the package also needs `CheckmarkShape.swift`, `Haptics.swift`.
- [Glow Border](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/GlowBorder.swift): A rainbow border runs around the view with a soft glow behind it. API: `.glowBorder()`. Trigger: Loop.
- [Shine](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/Shine.swift): A slanted glint of light sweeps across the button, on cue or on a beat. API: `.shine(every:) / .shine(trigger:)`. Trigger: Value change / Loop.
- [Jelly](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/Jelly.swift): A rubbery squash-and-stretch wobble on every tap. API: `.jelly(trigger:)`. Trigger: Tap / Value change.
- [Click Spark](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/ClickSpark.swift): Short spark lines shoot out from the exact point you tapped. API: `.clickSpark()`. Trigger: Tap.
- [Like Button](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/LikeButton.swift): The heart pops in as a ring bursts open and coloured dots fly out. API: `LikeButton(isLiked:)`. Trigger: Tap. Copying it without the package also needs `Haptics.swift`.
- [Animated Symbol](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/AnimatedSymbol.swift): SF Symbols that keep moving: bounce on a beat, pulse, variable colour. API: `AnimatedSymbol("…", style:)`. Trigger: Loop.
- [Liquid Toggle](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/LiquidToggleStyle.swift): A switch whose knob stretches like a drop of liquid as it slides. API: `.toggleStyle(.liquid)`. Trigger: Tap.
- [Gooey Menu](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/GooeyMenu.swift): A round button splits into a fan of buttons like a drop of liquid. API: `GooeyMenu(symbols:action:)`. Trigger: Tap.
- [Slide to Confirm](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/SlideToConfirm.swift): Drag the knob all the way across to run the action; let go early and it springs back. API: `SlideToConfirm(_:action:)`. Trigger: Drag. Copying it without the package also needs `Haptics.swift`.
- [Download Button](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/DownloadButton.swift): A capsule shrinks into a progress ring, then pops into a checkmark. API: `DownloadButton(progress:) { }`. Trigger: Tap / Value change. Copying it without the package also needs `Haptics.swift`.
- [Star Rating](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/StarRating.swift): Stars fill one after another with a springy pop and a burst of sparks. API: `StarRating(rating:)`. Trigger: Tap / Value change. Copying it without the package also needs `Haptics.swift`.
- [Bouncy Tab Bar](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/BouncyTabBar.swift): A pill glides to the selected tab and its icon squashes and hops. API: `BouncyTabBar(selection:items:)`. Trigger: Tap / Value change. Copying it without the package also needs `Haptics.swift`.
- [Pull Cord](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Button/PullCord.swift): A lamp cord toggle: pull the knob down, it clicks and springs back swinging. API: `PullCord(isOn:)`. Trigger: Drag / Tap. Copying it without the package also needs `Haptics.swift`.

## Card & Group

- [Staggered Entrance](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/StaggeredAppear.swift): List items fade and rise into place one after another. API: `.staggeredAppear(index:)`. Trigger: Appear.
- [3D Tilt](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/Tilt.swift): Card tilts in 3D toward the finger with a moving glare, then springs flat. API: `.tiltOnDrag()`. Trigger: Drag.
- [Scroll Reveal](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/ScrollReveal.swift): Rows scale up and come into focus as they enter the visible area. API: `.scrollReveal()`. Trigger: Scroll.
- [Flip Card](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/FlipCard.swift): A two-sided card turns over in 3D with a spring. API: `FlipCard(isFlipped:) { } back: { }`. Trigger: Tap / Value change.
- [Swipe Card Stack](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/SwipeCardStack.swift): Tinder-style deck: drag the top card away and the pile moves up. API: `SwipeCardStack(items) { item in }`. Trigger: Drag.
- [Parallax Carousel](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/ParallaxCarousel.swift): Paging cards whose images slide slower than the cards, for depth. API: `ParallaxCarousel(items) { item in }`. Trigger: Scroll.
- [Expandable Card](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/ExpandableCard.swift): Tap the header and the card springs open, un-blurring its detail. API: `ExpandableCard(isExpanded:) { } detail: { }`. Trigger: Tap.
- [Hero Expand](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/HeroGrid.swift): A thumbnail grows into a full detail card, morphing with matchedGeometryEffect. API: `HeroGrid(items) { thumbnail } detail: { }`. Trigger: Tap.
- [Spotlight Card](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/Spotlight.swift): A soft glow follows the pointer across the card, like a torch. API: `.spotlight()`. Trigger: Hover / Drag.
- [Magnifying Dock](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/MagnifyingDock.swift): Icons swell as the pointer passes over them, like the macOS Dock. API: `MagnifyingDock(items) { item in }`. Trigger: Hover / Drag.
- [Jiggle](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/Jiggle.swift): The home-screen edit-mode wiggle, each item slightly out of step. API: `.jiggle(isActive:)`. Trigger: Loop / Value change.
- [Fan Stack](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/FanStack.swift): A pile of cards fans out like a hand of playing cards, and gathers back. API: `FanStack(items, isSpread:) { item in }`. Trigger: Tap / Value change.
- [Scratch Card](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/ScratchCard.swift): Rub away a scratch-off cover to reveal what's underneath. API: `.scratchToReveal(_:onReveal:)`. Trigger: Drag.
- [Stacking Cards](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/StackingCards.swift): Cards stick at the top while scrolling and shrink as the next one covers them. API: `.stackingCard()`. Trigger: Scroll.
- [Deck Shuffle](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/DeckShuffle.swift): A deck splits in two, mixes, and springs back into a messy stack. API: `DeckShuffle(items, trigger:) { item in }`. Trigger: Value change / Tap.
- [Looping Carousel](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/LoopingCarousel.swift): A paging carousel that wraps around forever, with peeking neighbours. API: `LoopingCarousel(items) { item in }`. Trigger: Drag / Loop.
- [Drag to Dismiss](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/DragToDismiss.swift): Fling a card away; it flies off with your throw or springs back. API: `.dragToDismiss(isPresented:)`. Trigger: Drag.
- [Shrinking Header](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/ScrollHeaders.swift): The header sticks to the top and shrinks as content scrolls under it. API: `.shrinkingHeader()`. Trigger: Scroll.
- [Stretchy Header](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/ScrollHeaders.swift): A header image stretches when pulled down and drifts with parallax when scrolled. API: `.stretchyHeader()`. Trigger: Scroll.
- [Island Pill](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/IslandPill.swift): A black pill springs open into a card and back, its contents blurring across. API: `IslandPill(isExpanded:) { } expanded: { }`. Trigger: Tap / Value change.
- [Hover Lift](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/HoverLift.swift): Cards rise, grow and lean towards the pointer on iPad and Mac. API: `.hoverLift(isActive:)`. Trigger: Hover.
- [Marquee Wall](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/MarqueeWall.swift): A tilted wall of cards, columns scrolling endlessly up and down. API: `MarqueeWall(count:) { index in }`. Trigger: Loop.
- [Photo Develop](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Card/PhotoDevelop.swift): The view develops like an instant photo, from murky dark to full colour. API: `.photoDevelop()`. Trigger: Appear / Value change.

## Shape

- [Pulse Rings](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/PulseRings.swift): Concentric rings expand and fade continuously, like a radar or live dot. API: `PulseRings()`. Trigger: Loop.
- [Like Burst](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/Burst.swift): Particles fly outward from the centre when a value changes. API: `.burst(trigger:)`. Trigger: Tap / Value change.
- [Checkmark Draw](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/AnimatedCheckmark.swift): A success mark draws itself: circle stroke, fill, then a popping check. API: `AnimatedCheckmark(isChecked:)`. Trigger: Value change. Copying it without the package also needs `CheckmarkShape.swift`.
- [Confetti](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/Confetti.swift): Confetti bursts out of the view, tumbles under gravity and fades. API: `.confetti(trigger:)`. Trigger: Tap / Value change.
- [Loaders](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/MotionLoader.swift): Five looping activity indicators: spinner, dots, bars, orbit and pulse. API: `MotionLoader(.spinner)`. Trigger: Loop.
- [Morphing Blob](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/MorphingBlob.swift): An organic, lava-lamp blob whose outline never stops changing. API: `MorphingBlob()`. Trigger: Loop.
- [Draw On](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/DrawOn.swift): Any Shape strokes itself on like a pen, and erases back. API: `Shape.drawOn()`. Trigger: Appear / Value change.
- [Progress Ring](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/ProgressRing.swift): A gradient ring springs to each value as the percentage rolls. API: `ProgressRing(progress:)`. Trigger: Value change.
- [Skeleton](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/Skeleton.swift): A shimmering placeholder of the view's own layout while it loads. API: `.skeleton(isLoading:)`. Trigger: Loop / Value change. Copying it without the package also needs `Shimmer.swift`.
- [Sliding Tabs](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/SlidingTabs.swift): A segmented control whose pill or underline glides to the selection. API: `SlidingTabs([…], selection:)`. Trigger: Tap.
- [Reading Progress](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Shape/ReadingProgress.swift): A bar along the top fills as you scroll through the content. API: `ReadingProgressScrollView { … }`. Trigger: Scroll.

## Background

- [Aurora](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/AuroraBackground.swift): Soft, blurred colour blobs drift slowly behind your content. API: `AuroraBackground()`. Trigger: Loop.
- [Mesh Gradient](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/AnimatedMeshGradient.swift): A 3×3 MeshGradient whose points drift so the colours flow like liquid. API: `AnimatedMeshGradient()`. Trigger: Loop. Requires iOS 18+.
- [Retro Grid](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/RetroGrid.swift): A synthwave floor: a perspective grid scrolling toward you. API: `RetroGrid()`. Trigger: Loop.
- [Border Beam](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/BorderBeam.swift): A short comet of light runs around the card's border forever. API: `.borderBeam()`. Trigger: Loop.
- [Waves](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/WaveBackground.swift): Layered sine waves roll across the bottom, back layers slower and paler. API: `WaveBackground()`. Trigger: Loop.
- [Film Grain](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/Grain.swift): Flickering film grain over any view, from a tiled noise texture. API: `.grain()`. Trigger: Loop. Copying it without the package also needs `SeededRandom.swift`.
- [Flashlight](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/Flashlight.swift): The view goes dark except a soft circle of light around the pointer. API: `.flashlight()`. Trigger: Hover / Drag.
- [Lava Lamp](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/LavaLamp.swift): Soft blobs drift up and down, stretching and merging like hot wax. API: `LavaLamp()`. Trigger: Loop.
- [Matrix Rain](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/MatrixRain.swift): Columns of glyphs rain down with bright heads and fading trails. API: `MatrixRain()`. Trigger: Loop.
- [Interactive Dot Grid](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/InteractiveDotGrid.swift): A grid of dots scatters away from your finger and eases back. API: `InteractiveDotGrid()`. Trigger: Drag / Hover / Loop.
- [Meteors](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/Meteors.swift): Meteors streak across a starry sky with glowing heads and fading tails. API: `Meteors()`. Trigger: Loop.
- [Flow Field](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/FlowField.swift): Generative curves follow a shifting vector field with dashes flowing along them. API: `FlowField()`. Trigger: Loop.
- [Network](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/NetworkBackground.swift): Drifting points link up with lines when close, and gather at your finger. API: `NetworkBackground()`. Trigger: Loop / Hover / Drag.
- [Topographic Lines](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/TopographicLines.swift): Contour lines of a shifting landscape flow like a living map. API: `TopographicLines()`. Trigger: Loop.
- [Day & Night Sky](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Background/DayNightSky.swift): A sky runs from starry night through dawn, noon and sunset, sun and moon arcing over. API: `DayNightSky(time:)`. Trigger: Loop / Value change.

## Number

- [Rolling Number](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Number/RollingNumber.swift): Digits roll like an odometer when the value changes. API: `RollingNumber(value:)`. Trigger: Value change.
- [Split-Flap Display](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Number/SplitFlap.swift): Characters flip through the alphabet like an airport departures board. API: `SplitFlapText(_:)`. Trigger: Value change.
- [Slot Machine](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Number/SlotMachineNumber.swift): Number reels spin with motion blur and land one after another. API: `SlotMachineNumber(value:)`. Trigger: Value change.
- [Price Ticker](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Number/PriceTicker.swift): Digits roll to the new price as the background flashes green or red. API: `PriceTicker(value:)`. Trigger: Value change.
- [Animated Chart](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Number/AnimatedChart.swift): Bars grow up one after another; a line draws itself left to right. API: `GrowingBarChart(values:) / DrawingLineChart(values:)`. Trigger: Appear / Value change.
- [Needle Gauge](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Number/NeedleGauge.swift): A speedometer needle swings to the value, overshoots and settles. API: `NeedleGauge(value:)`. Trigger: Value change.
- [Contribution Grid](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Number/ContributionGrid.swift): Activity squares pop in column by column, shaded by how busy each day was. API: `ContributionGrid(values:)`. Trigger: Appear / Value change.
- [Analog Clock](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Number/AnalogClock.swift): A clock with a sweeping second hand; set a time and the hands spring to it. API: `AnalogClock(date:)`. Trigger: Loop / Value change.

## Particle & 3D

- [Particle Field](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/ParticleField.swift): Drifting particles linked by faint lines, like a living constellation. API: `ParticleField()`. Trigger: Loop. Copying it without the package also needs `SeededRandom.swift`.
- [Starfield](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Starfield.swift): Stars stream out of the centre and stretch into streaks: warp speed. API: `Starfield()`. Trigger: Loop. Copying it without the package also needs `SeededRandom.swift`.
- [Cover Flow](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/CoverFlow.swift): Side items turn away in 3D, shrink and dim; the centre faces you. API: `CoverFlow(items) { item in }`. Trigger: Scroll.
- [Float 3D](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Float3D.swift): The view hovers: a gentle bob, a slow 3D sway and a breathing shadow. API: `.float3D()`. Trigger: Loop.
- [Fireworks](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Fireworks.swift): Rockets climb and burst into rings of falling, fading sparks. API: `Fireworks()`. Trigger: Loop. Copying it without the package also needs `SeededRandom.swift`.
- [Snowfall & Rain](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Snowfall.swift): Drifting, swaying snowflakes or fast slanted rain, with depth. API: `Snowfall(.snow / .rain)`. Trigger: Loop. Copying it without the package also needs `SeededRandom.swift`.
- [Floating Reactions](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/FloatingReactions.swift): Live-stream style emoji float up, swaying, every time you react. API: `.floatingReactions(trigger:)`. Trigger: Tap / Value change.
- [Warp Tunnel](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/WarpTunnel.swift): Rings rush out of the vanishing point toward you: flying down a tunnel. API: `WarpTunnel()`. Trigger: Loop.
- [Holographic Card](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Holographic.swift): A trading card that tilts toward you with a rainbow foil and moving glare. API: `.holographic()`. Trigger: Hover / Drag.
- [Physics Emoji](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/PhysicsEmoji.swift): Emoji tumble in with gravity, bounce off each other and pile up. API: `PhysicsEmoji(trigger:)`. Trigger: Value change / Tap.
- [Shatter](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Shatter.swift): The view breaks into triangular shards that fly, spin and fall away. API: `.transition(.shatter)`. Trigger: Value change.
- [3D Cube](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/CubeTransition.swift): Views swap by turning a cube: one face folds away as the next rotates in. API: `.transition(.cube)`. Trigger: Value change.
- [Dot Globe](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/DotGlobe.swift): A globe of evenly spread dots spins on a tilted axis, with pulsing cities. API: `DotGlobe()`. Trigger: Loop.
- [Bubbles](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Bubbles.swift): Soap bubbles rise and wobble with rainbow rims and glossy highlights. API: `Bubbles()`. Trigger: Loop.
- [Fireflies](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Fireflies.swift): Glowing fireflies drift lazily and blink on their own rhythms. API: `Fireflies()`. Trigger: Loop.
- [Flock](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Flock.swift): Little arrows swim together like birds or fish, and chase your finger. API: `Flock()`. Trigger: Loop / Drag / Hover.
- [Ink Trail](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/InkTrail.swift): The pointer or finger leaves puffs of ink that swell, drift up and fade. API: `.inkTrail(color:)`. Trigger: Drag / Hover.
- [Rain on Glass](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/RainOnGlass.swift): Raindrops cling to a window while bigger drops slide down in fits and starts. API: `RainOnGlass()`. Trigger: Loop.
- [Orbits](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Particle/Orbits.swift): Planets circle a glowing star on tilted orbits, passing behind it and in front. API: `Orbits(colors:)`. Trigger: Loop.

## Transition

- [Iris](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/MaskTransitions.swift): A circle opens from a point to reveal the view, like a camera iris. API: `.transition(.iris)`. Trigger: Appear.
- [Blinds](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/MaskTransitions.swift): Horizontal slats open together to reveal the view, like Venetian blinds. API: `.transition(.blinds)`. Trigger: Appear.
- [Clock Wipe](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/MaskTransitions.swift): A wedge sweeps clockwise from twelve o'clock, like a clock hand. API: `.transition(.clockWipe)`. Trigger: Appear.
- [Pixel Dissolve](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/MaskTransitions.swift): The view appears and vanishes in square pixels, in random order. API: `.transition(.dissolve)`. Trigger: Appear.
- [Poof](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/StyleTransitions.swift): The view puffs away like smoke: it swells and blurs out. API: `.transition(.poof)`. Trigger: Appear.
- [Swoosh](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/StyleTransitions.swift): The view whooshes in leaning forward, with a motion blur. API: `.transition(.swoosh)`. Trigger: Appear.
- [Film Exposure](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/StyleTransitions.swift): The view develops like a photo, from over-exposed white to full colour. API: `.transition(.filmExposure)`. Trigger: Appear.
- [Circular Reveal](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/CircularReveal.swift): New content spreads out in a circle from where you tapped. API: `CircularReveal(value:) { value in }`. Trigger: Tap / Value change.
- [Liquid Swipe](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/LiquidSwipe.swift): The next page pours in from the edge behind a bulging liquid wave. API: `.transition(.liquidSwipe)`. Trigger: Value change.
- [Page Turn](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/PageTurn.swift): The old page swings away like a book page, revealing the next one. API: `.transition(.pageTurn)`. Trigger: Value change.
- [Glitch Transition](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/GlitchTransition.swift): The view breaks up like a bad signal on its way in or out. API: `.transition(.glitch)`. Trigger: Value change. Copying it without the package also needs `GlitchSlice.swift`.
- [Origami Fold](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/OrigamiFold.swift): The view folds up into creased panels like a paper map. API: `.transition(.origami)`. Trigger: Value change. Copying it without the package also needs `GlitchSlice.swift`.
- [Ink Bleed](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/InkBleed.swift): New content spreads in like a blot of ink on wet paper, with a ragged edge. API: `.transition(.inkBleed)`. Trigger: Value change.
- [Zoom Blur](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionLibrary/Transition/ZoomBlur.swift): Content rushes in from the camera, blurred and trailed by echoes, then snaps sharp. API: `.transition(.zoomBlur)`. Trigger: Value change.

## Shader

- [Water Ripple](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/WaterRipple.swift): A real ripple distorts the view's pixels outward from a tap. API: `.waterRippleOnTap() / .waterRipple(at:trigger:)`. Trigger: Tap / Value change. Copying it without the package also needs `WaterRipple.metal`.
- [Pixellate](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Pixellate.swift): The view melts into a mosaic of square blocks and back. API: `.pixellate(_:)`. Trigger: Value change. Copying it without the package also needs `Pixellate.metal`.
- [Chromatic Aberration](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/ChromaticAberration.swift): Red and blue split sideways like a cheap lens; animate it on a beat. API: `.chromaticAberration(_:)`. Trigger: Value change / Loop. Copying it without the package also needs `ChromaticAberration.metal`.
- [CRT Screen](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/CRT.swift): Curved glass, scanlines, a rolling band and flicker, like an old monitor. API: `.crtScreen()`. Trigger: Loop. Copying it without the package also needs `CRT.metal`.
- [Heat Haze](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/HeatHaze.swift): The view shimmers like hot air over a desert road. API: `.heatHaze(strength:)`. Trigger: Loop. Copying it without the package also needs `HeatHaze.metal`.
- [Noise Dissolve](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/NoiseDissolve.swift): The view burns away in organic blotches with a glowing edge. API: `.noiseDissolve(_:) / .transition(.noiseDissolve)`. Trigger: Value change. Copying it without the package also needs `NoiseDissolve.metal`.
- [Disintegrate](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Disintegrate.swift): The view crumbles into grains of sand that blow away on the wind. API: `.disintegrate(_:) / .transition(.disintegrate)`. Trigger: Value change. Copying it without the package also needs `Disintegrate.metal`.
- [Genie](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Genie.swift): The view pinches and pours into a point below it, like minimising a window. API: `.genie(_:toward:) / .transition(.genie)`. Trigger: Value change. Copying it without the package also needs `Genie.metal`.
- [Glass Lens](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/GlassLens.swift): A round glass lens magnifies what's under it, bending light at its rim. API: `.glassLensOnDrag() / .glassLens(at:)`. Trigger: Drag / Hover. Copying it without the package also needs `GlassLens.metal`.
- [Swirl](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Swirl.swift): The view twists around a point like water going down a drain. API: `.swirlOnDrag() / .swirl(at:strength:)`. Trigger: Drag / Value change. Copying it without the package also needs `Swirl.metal`.
- [Kaleidoscope](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Kaleidoscope.swift): One wedge of the view mirrored round the centre, turning into new patterns. API: `.kaleidoscope(segments:)`. Trigger: Loop / Value change. Copying it without the package also needs `Kaleidoscope.metal`.
- [Halftone](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Halftone.swift): The view is printed in round dots, bigger where it's darker, like newsprint. API: `.halftone(dotSize:)`. Trigger: Value change. Copying it without the package also needs `Halftone.metal`.
- [Dither](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Dither.swift): Chunky pixels in a few flat colours with a Bayer cross-hatch, like a retro handheld. API: `.dither(pixelSize:palette:)`. Trigger: Value change. Copying it without the package also needs `Dither.metal`.
- [Thermal Vision](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Thermal.swift): Brightness turns into heat colours, from cold indigo to white hot. API: `.thermal(_:)`. Trigger: Value change. Copying it without the package also needs `Thermal.metal`.
- [Flag Wave](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/FlagWave.swift): The view ripples like a flag on a pole, its folds catching the light. API: `.flagWave()`. Trigger: Loop. Copying it without the package also needs `FlagWave.metal`.
- [Voronoi Cells](https://github.com/BigTsung/SwiftUI-Motion-Library/blob/main/Sources/MotionShaders/Voronoi.swift): Slowly drifting cells like stained glass, with soft seams between them. API: `VoronoiCells(colors:)`. Trigger: Loop. Copying it without the package also needs `Voronoi.metal`.

## Reference

- [llms-full.txt](https://raw.githubusercontent.com/BigTsung/SwiftUI-Motion-Library/main/llms-full.txt): usage, implementation notes and full source of every effect
- [motion-catalog.json](https://raw.githubusercontent.com/BigTsung/SwiftUI-Motion-Library/main/Docs/motion-catalog.json): the same data as JSON
- [MCP server](https://github.com/BigTsung/SwiftUI-Motion-Library/tree/main/mcp): search effects and fetch their code from any MCP client

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.