# b3ll/motion

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/b3ll-motion).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

1,485 stars · 39 forks · Swift · BSD-2-Clause

## Links

- GitHub: https://github.com/b3ll/Motion
- awesome-repositories: https://awesome-repositories.com/repository/b3ll-motion.md

## Description

Motion is a physics-based animation engine for building gesturally-driven user interfaces and interactions on Apple platforms. It functions as a Swift frame-by-frame animation utility that drives declarative state changes and simulates physical behaviors.

The library executes continuous frame updates by invoking custom value blocks directly from display link timing loops, handling standard numeric and vector types. It supports mid-flight animation interruption, allowing active animations to be stopped, altered, or redirected instantly by mutating live parameters. Additionally, the engine simulates elastic rubberbanding effects with non-linear resistance and boundary stretching, and generates standard keyframe animation objects automatically from mathematical physics models for layer integration.

The framework suppresses default implicit rendering transactions during programmatic updates to maintain synchronization with custom animation engines, preventing pairing errors during transaction calls. It integrates directly with declarative user interface components to drive state transitions without manual frame calculations.

## Tags

### Mobile Development

- [iOS Animation Frameworks](https://awesome-repositories.com/f/mobile-development/ios-animation-frameworks.md) — Provides a physics-based animation engine for building fluid interactions on Apple platforms.
- [Declarative UI State Bindings](https://awesome-repositories.com/f/mobile-development/declarative-data-bindings/declarative-ui-state-bindings.md) — Synchronizes user interface components with application state changes automatically using reactive data binding.
- [Animation Libraries](https://awesome-repositories.com/f/mobile-development/ios-apple-ecosystem/swiftui/animation-libraries.md) — Functions as a Swift frame-by-frame animation utility for driving declarative state changes.
- [Swift Animation Libraries](https://awesome-repositories.com/f/mobile-development/swift-animation-libraries.md) — Provides a Swift animation framework for declarative state changes and elastic rubberbanding effects.

### Part of an Awesome List

- [Interaction and Gestures](https://awesome-repositories.com/f/awesome-lists/devtools/interaction-and-gestures.md) — Creates responsive touch and gesture-driven user interfaces reacting with natural spring physics.
- [Elastic Bounce Effects](https://awesome-repositories.com/f/awesome-lists/devtools/animation-and-effects/predefined-animation-effects/elastic-bounce-effects.md) — Simulates elastic rubberbanding effects with non-linear resistance and boundary stretching. ([source](https://github.com/b3ll/motion#readme))

### Programming Languages & Runtimes

- [Animation Layer Mutators](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-object-mutators/animation-layer-mutators.md) — Allows stopping, altering, or redirecting active animations instantly by mutating live parameters mid-flight.

### User Interface & Experience

- [Declarative Animations](https://awesome-repositories.com/f/user-interface-experience/declarative-animations.md) — Drives smooth state transitions inside modern declarative user interface components.
- [Frame-Based Updates](https://awesome-repositories.com/f/user-interface-experience/state-update-logic/frame-based-updates.md) — Executes continuous frame updates using display link timing loops to drive real-time animation states.
- [Animation State Management](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/playback-lifecycle-controllers/animation-state-management.md) — Stops, alters, or redirects active animations instantly without complex state calculations. ([source](https://github.com/b3ll/motion#readme))
- [Numerical Animations](https://awesome-repositories.com/f/user-interface-experience/numerical-animations.md) — Executes frame-by-frame updates for standard numeric and vector types via value and completion blocks. ([source](https://github.com/b3ll/motion#readme))

### Game Development

- [Elastic Links](https://awesome-repositories.com/f/game-development/particle-simulations/elastic-links.md) — Simulates elastic spring physics and boundary stretching resistance for natural interactive scrolling.

### Graphics & Multimedia

- [Physics-Driven Keyframes](https://awesome-repositories.com/f/graphics-multimedia/keyframe-animations/physics-driven-keyframes.md) — Derives standard native keyframe objects directly from mathematical physics models for layer integration.
- [Keyframe Animations](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/keyframe-skeletal-systems/keyframe-animations.md) — Automatically generates standard keyframe animation objects from configured physics models. ([source](https://github.com/b3ll/motion#readme))
