= Scrolling The scrolling architecture is unexpectedly complex, because it's feature-rich, and required to provide smooth scrolling independent of main thread work in as many situations as possible. == Scrollable areas The ScrollableArea base class represents a region that is scrollable. It's the base class for ScrollView, RenderLayer (for overflow scroll) and for list rendering. ScrollableArea provides some basic geometry info and functionality for scrolling snapping(?). It's only usable from the main thread. == Scrolling features == Scrolling and RTL === Rubber-banding ("bouncing") === Latching === Scroll snapping === Touch-action == Coordinated scrolling === Non-fast-scrollable regions === ScrollingCoordinator === The scrolling trees ==== ScrollingStateTree Tree structure, frame boundaries Node unparenting and reparenting ==== ScrollingTree