About this drop
The paperclip button and the expanded sheet are literally the same view: a single Reanimated shared value interpolates left/top/width/height and four corner radii from button frame to sheet frame, while the contents are laid out once at full size and uniformly scaled, so nothing reflows mid-flight. Spring parameters (duration 320, dampingRatio 0.83) and the backdrop's separate decelerating curve were derived frame-by-frame from a screen recording, and every layout number in theme.ts is expressed as a ratio of a 402x874pt viewport so it holds on other devices. A pan gesture on the header drives the sheet's top edge with overshoot resistance and snaps to a detent on release, or dismisses on velocity. Panes stay mounted after first visit and cross-fade, preserving scroll position and typed text. Built on Expo SDK 56, RN 0.85, Reanimated 4 with react-native-worklets, and React Compiler. iOS-first: the segmented control is a real UISegmentedControl in a Swift Expo module (it scrolls its own segments — a RN ScrollView can't, the control eats the drag), and expo-glass-effect provides the liquid glass with a white-wash fallback where it's unavailable. One iOS quirk is handled explicitly: a UIVisualEffectView installs its effect on first layout only, so the menu bar's glass is remounted via a key once the sheet has settled open. Requires a dev build — the native module means this does not run in Expo Go.