# facebook/pop

**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/facebook-pop).**

19,559 stars · 2,854 forks · Objective-C++ · NOASSERTION · archived

## Links

- GitHub: https://github.com/facebook/pop
- awesome-repositories: https://awesome-repositories.com/repository/facebook-pop.md

## Description

Pop is an animation library for iOS and macOS designed to manage property animations, value interpolation, and physics engines. It functions as a framework for linking animation engines to arbitrary object properties, extending beyond standard view attributes.

The library features a physics-based animation engine that generates motion based on velocity, friction, and target values. This system enables the creation of spring and decay animations to simulate real-world dynamics.

The project also provides tools for value interpolation using easing curves, display-link driven updates synced to screen refresh rates, and event tracing to log animation lifecycle and timing.

## Tags

### User Interface & Experience

- [Physics-Based Animation Libraries](https://awesome-repositories.com/f/user-interface-experience/physics-based-animation-libraries.md) — An animation library for iOS and macOS using spring and decay physics for natural UI motion.
- [Arbitrary Property Animation Frameworks](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-properties/pixijs-property-animators/arbitrary-property-animation-frameworks.md) — Links animation engines to arbitrary object properties beyond standard view attributes.
- [Arbitrary Property Animators](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-properties/pixijs-property-animators/configurable-property-animators/arbitrary-property-animators.md) — Allows animating non-standard object properties beyond basic view and layer attributes. ([source](https://github.com/facebook/pop#readme))
- [Decay Animations](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/physics-motion-dynamics/physics-based-animations/decay-animations.md) — Implements decay animations that slow objects to a halt based on velocity and friction. ([source](https://github.com/facebook/pop#readme))
- [Physics-Based Property Interpolators](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/physics-motion-dynamics/physics-based-animations/physics-based-property-interpolators.md) — Calculates property values using mathematical models of spring dynamics and friction to simulate real movement.
- [Spring Animations](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/physics-motion-dynamics/physics-based-animations/spring-animations.md) — Provides spring animations to produce realistic bounce effects using physics-based dynamics. ([source](https://github.com/facebook/pop#readme))
- [Arbitrary Property Mapping](https://awesome-repositories.com/f/user-interface-experience/styled-properties/visual-property-editors/arbitrary-property-mapping.md) — Links animation value changes to arbitrary object attributes via a generic interface.
- [Custom Animation Loops](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/animation-lifecycle-hooks/animation-frame-monitors/custom-animation-loops.md) — Provides programmatic update logic synced to display links for creating bespoke animation sequences. ([source](https://github.com/facebook/pop#readme))
- [Interaction Physics](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/physics-motion-dynamics/interaction-physics.md) — Develops interface elements that react to physical forces and velocity for a tactile feel.
- [Animation Interpolators](https://awesome-repositories.com/f/user-interface-experience/animation-interpolators.md) — Provides mathematical curves to control the rate of change for UI motion interpolation.
- [Frame-Based Updates](https://awesome-repositories.com/f/user-interface-experience/state-update-logic/frame-based-updates.md) — Syncs animation frame updates to the hardware screen refresh rate using a system-level timer.

### Mobile Development

- [iOS Animation Frameworks](https://awesome-repositories.com/f/mobile-development/ios-animation-frameworks.md) — A framework for creating physics-based interactions and custom property animations on Apple platforms.

### Graphics & Multimedia

- [Value Interpolation Engines](https://awesome-repositories.com/f/graphics-multimedia/value-interpolation-engines.md) — Includes an engine for calculating intermediate numeric states using easing functions for fluid transitions. ([source](https://github.com/facebook/pop#readme))

### Part of an Awesome List

- [Animation Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/animation-frameworks.md) — Extensible physics-based animation engine for user interfaces.
- [Animation Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/animation-libraries.md) — Extensible animation library for physics-based interactions.
- [Developer Tools](https://awesome-repositories.com/f/awesome-lists/devtools/developer-tools.md) — Animation engine for creating fluid user interface interactions.
- [Educational Resources](https://awesome-repositories.com/f/awesome-lists/learning/educational-resources.md) — Interactive animation library for iOS and OS X development.
- [Animation & Transitions](https://awesome-repositories.com/f/awesome-lists/media/animation-transitions.md) — Extensible physics-based animation engine for user interfaces.
