Reactivity bridge#

Your components run on a background thread; the views live on the main thread. Signals bridge the two.

The op queue#

Signal updates batch into a compact op stream that @sigx/lynx-runtime-main applies via the Lynx PAPI — no serialization of your component tree, just the deltas.

SharedValue#

For values the main thread must read every frame (gestures, animations), use a SharedValue:

TSX
import { useSharedValue } from '@sigx/lynx';

const offset = useSharedValue(0);

Motion and Gestures build on this — animation progress is observable from the background thread for free.