Apple Intelligence ripple
An example of the 'ripple' part of the Apple Intelligence animation using Motion for React. It uses a cloned version of the current content rather than using shaders.
Introduction
The Apple Intelligence Ripple example is an experimental attempt at emulating the ripple animation on iOS, triggered by holding down the iPhone side button.
The original effect is a complex distortion achieved with GPU shaders. This replication, however, uses standard web technologies to create a similar feel. It relies on cloning a UI element and animating CSS properties like mix-blend-mode, filter, and mask-image. While it doesn't achieve the same fidelity as the original, the techniques involved are interesting to explore.
This kind of one-off, complex animation is a great use case for Motion's imperative animate function. It's perfect for animations that aren't tied directly to React state and gives us the control to manually trigger and sequence effects within other logic, like (in this case) cloning a DOM element.
