Explain Fabric and TurboModules as a system, not just definitions.
Fabric is the new renderer: it moves layout and view management onto a C++ core shared across platforms, so JS describes the tree via JSI directly into that core instead of going through the bridge's async UIManager calls, and it enables synchronous layout measurement that the old architecture could not do without a round trip. TurboModules are the native-module equivalent — lazily loaded (a module is not instantiated until first used, cutting startup cost) and invoked through JSI's direct C++ bindings instead of the bridge's serialize-queue-deserialize cycle. Together they remove the bridge as the single serialization bottleneck, which is what made the old architecture's ceiling on both startup time and UI thread throughput hard to push past.