Understand the layer tree before adding movement. This outline covers animation state, timing, composition, interruption, and rendering performance. The entries are planned article titles, grouped as a learning path.

Article available Coming soon

1. Layers and State

  • Views, Layers, and the Render Tree
  • Model Layers vs. Presentation Layers
  • Layer Geometry: Bounds, Position, and Anchor Points
  • Implicit Animations and Layer Actions
  • Transactions and Disabling Unwanted Animations

2. Explicit Animation

  • Basic Animations and Persistent Final State
  • Keyframe Animations and Motion Paths
  • Spring Animations and Physical Parameters
  • Animation Groups and Coordinated Properties
  • Timing Functions and Perceived Motion

3. Timing and Interaction

  • Begin Times, Durations, and Local Layer Time
  • Repeating, Autoreversing, and Filling Animations
  • Pausing, Resuming, and Scrubbing an Animation
  • Interrupting and Retargeting from the Visible State
  • Completion Callbacks, Cancellation, and Ownership

4. Specialized Layers

  • Drawing and Animating CAShapeLayer Paths
  • Gradient Layers and Animated Color Stops
  • Masks, Shadows, Borders, and Rounded Corners
  • Three-Dimensional Transforms and Perspective
  • Choosing Layer Animation vs. UIKit Animation APIs

5. Quality and Performance

  • Respecting Reduce Motion Without Losing Meaning
  • Diagnosing Offscreen Rendering and Rasterization
  • Finding Hitches and Expensive Layer Trees
  • Testing Animation Outcomes Without Arbitrary Sleeps

Up next

Audio and Video

This guide grows with the blog: new articles are linked here as soon as they're published. Missing something? Let me know.

← Back to all roadmaps