About this drop
The fold is one grid of paper, 57 lines each way, bent in a WGSL vertex shader through react-native-webgpu. Each axis is a strip of flat runs joined by circular arcs, so creases bow while they open and the layers nest as real paper does. Skia v3 on Graphite paints every cover and map, and react-native-webgpu imports Skia's own Dawn device, so textures pass between Skia and the shadow, scene and depth-of-field passes with no copies. Every moment of the motion is a function of one clock, so a tap runs it forward, Put back runs it backward and a drag scrubs it. A single Reanimated useFrameCallback worklet runs the engine, GPU encoding and Skia recording on the UI thread. Gesture.Pan, Gesture.Tap and a Gesture.Manual pinch only write shared values, and the scene is built once on the JS thread. Pulsar haptic ticks are triggered from the worklet and played on the JS thread, so waking the haptic engine does not stall the UI thread. The title band blur is a local Swift Expo module using a private iOS CAFilter: it degrades to no blur if Apple changes the internals, may draw App Store review attention, and renders nothing on Android. Android is configured, but the README documents only an iOS run. Built on Expo SDK 57. It needs a development build because of the Swift module and react-native-webgpu, so it does not run in Expo Go.