My todos and considerations:
- Fade in/out
- Slide (up, down, left, right)
- Scale up/down
- Rotate
- Skew
- Bounce
- Flash
- Pulse
- Path animations
- Morphing shapes
- 3D flips and rotations
- Parallax scrolling
- Staggered animations (sequential animation of a collection of objects)
- Spring physics-based animations (with configurable tension, friction)
- Inertia animations (deceleration after a gesture)
- Keyframe animations with multiple steps and easing options
- Typing effect
- Text fade and slide
- Shimmering text
- Text wave
- Gradient transitions
- Background position (for parallax effects)
- Color blending and pulsing
- SVG path drawing
- Canvas particle systems
- Canvas drawing animations (e.g., charts, graphs dynamically drawing)
- Tap/Click
- Double Tap/Double Click
- Long Press
- Drag (with direction detection)
- Swipe (with direction detection)
- Pinch (Zoom in)
- Spread (Zoom out)
- Rotate (multi-touch rotation)
- Flick (quick swipe with inertia)
- Pan (drag with more control over start, move, and end points)
- Pull to refresh
- Swipe to dismiss
- Drag to reorder
- Pinch to close (photo gallery or modal)
- 3D Touch / Force Press
- Multi-finger gestures (e.g., two-finger tap, three-finger swipe)
- Velocity
- Acceleration
- Deceleration
- Momentum
- Gravity
- Drag / Air Resistance
- Applied Force (e.g., user dragging an object)
- Spring Force (Hooke's law)
- Bounding box collision
- Circle collision
- Pixel-perfect collision (more complex, used in games)
- Rotation
- Torque
- Angular velocity
- Cloth simulation
- Fluid dynamics
- Friction (surface and fluid friction)
- Tension (in springs and ropes)
- Elasticity and Bounciness
- Damping (reducing oscillation in spring animations)
- Path Following (objects following a predefined path with physics applied)