What are the three trees in Flutter rendering architecture?

Answer

Flutter maintains three synchronized trees internally. The Widget Tree is made up of immutable configuration objects — lightweight descriptions of the UI that are rebuilt frequently. The Element Tree is the live, mutable counterpart that persists across rebuilds, managing the lifecycle of widgets and connecting Widgets to RenderObjects. The RenderObject Tree handles the actual layout (measuring size and position) and painting (drawing to the canvas). Understanding this separation explains why Flutter is efficient — rebuilding widgets is cheap because only elements and render objects that actually changed are updated.