Glossary
at rest
The state of a Scheduler or Performer when all of the plans that it's been provided have been performed.
bridge motion family
A motion family that delegates out to a platform primitive or external library. It's effectively a wrapper that allows a 3rd-party tool to be used in the Material Motion ecosystem.
director
An object created for the purposes of describing motion.
element
A node in a hierarchical layout\/compositing system.
Examples:
execution
executor
An Executor's sole responsibility is to fulfill the contract defined by one or more Plans.
Similar concepts:
- Behavior (Unity)
- UIDynamicBehavior (UIKit for iOS)
expression
Functional, syntactic sugar for the creation and configuration of plans.
plan
A plan is what you want something to do.
Examples:
- CAAnimation (iOS)
In relation to a Runtime, a Plan is a concrete object that can be associated with a target.
platform
An operating system or a cross-platform abstraction layer.
Examples:
- iOS
- Android
- Unity
- Web (Chrome)
- Web (Safari)
protocol
The contract\/shape\/blueprint an object is expected to conform to in order to interoperate with other objects in the system.
In some languages (like Java and ActionScript), this is called an interface.
runtime
An object that facilitates the coordination of rich, interactive motion.
scrubbing
The act of directly manipulating a Timeline's progress value.
target
A target is the entity to which a plan is meant to be applied, such as an element or a Timeline.
transaction
A mechanism by which new Plans are committed to a Runtime.
update event
The update event is called on an Executor many times per second. These events are usually synchronized to the current display's refresh rate: 60 times per second being common, 90 times per second being recommended for VR.
We've listed technologies\/APIs that provide this type of event for a variety of platforms below:
- Android:
Choreographer.FrameCallback - Core Animation: CADisplayLink's selector calls
- GLUT (OpenGL):
glutDisplayFunc() - Unity: Update event on a Behavior
- Web:
window.requestAnimationFrame