About this drop
The whole effect is one SkSL shader running in @shopify/react-native-skia. Nothing is layered over the button: the shader paints the surface, a resting aurora of two blobs sitting under the bottom edge, then three sweep passes, a bottom-hugging spill that runs ahead of the wavefront, a rose body, and a white-hot core, plus a drifting spark field that only shows near the leading edge. All three sweep layers share one anchored left edge and only their leading edge moves, so the core lights the very first pixel of the pill instead of leaving a dark notch at the left cap. Hold progress, the finish flood and the spark amount are Reanimated shared values pushed into the uniforms through useDerivedValue, so the animation stays on the UI thread and only label changes cross to JS. The press is tracked with React Native's own onTouchMove rather than a GestureDetector, because a detector wrapped around a Pressable turned one physical press into three press-in cycles. On iOS 26 the optional glass surface uses the native Liquid Glass material; elsewhere it falls back to an expo-blur BlurView, which on Android needs an explicit clipping parent to round its corners. Skia rules out Expo Go, so this wants a development build. Built and tested on Expo SDK 56, React Native 0.85, Reanimated 4.3 with react-native-worklets.