What's Included
- TypeScript source (GlassMagnifier.tsx)
- SafeArea container wrapper (MagnifierContainer.tsx)
- Entry component (App.tsx)
- JetBrains Mono font asset for the demo scene
- README with install + usage
About the Project
Built on @shopify/react-native-skia: the whole effect is a single SkSL runtime shader attached as an image filter on a <Group layer>, so only the two circular lens discs are resampled while every other pixel is exact passthrough. Magnification, cap-normal refraction, and chromatic aberration are computed in the worklet shader, and react-native-reanimated shared values feed the uniforms every frame on the UI thread. A react-native-gesture-handler pan moves both lenses and the bridge together as one rigid unit. Tested on Expo SDK 56 (iOS + Android); Skia requires a development build, so it does not run in Expo Go.