cc Transform and Scroll Trees
Blink28628 Syys 2025

cc Transform and Scroll Trees

The source text details the architecture of Chromium's compositor, focusing on the tandem operation of two critical data structures: the Transform Tree and the Scroll Tree. The Transform Tree manages visual coordinate space transformations, including CSS transforms and scroll offsets, with each TransformNode calculating its final position relative to its parent using local matrices and the scroll translation. In parallel, the Scroll Tree, composed of ScrollNodes, handles the logical state of scrollable elements, defining constraints like scrollable bounds, allowed directions, and scroll chaining behavior. Crucially, the sources explain that the two trees are linked via a shared ElementId and that while the Scroll Tree determines how a scroll should happen (bounds and policy), the Transform Tree executes the change by holding and applying the live scroll_offset to visually move the layer content, enabling smooth, composite-threaded scrolling.

Jaksot(427)

Chromium's LayerTreeHostClient: The Compositing Bridge

Chromium's LayerTreeHostClient: The Compositing Bridge

The source provides an extensive overview of the LayerTreeHostClient interface, a crucial component in Chromium's rendering architecture that acts as the bridge between the content engine (like Blink ...

18 Joulu 202536min

The Definitive Guide to CSS Scroll Snap

The Definitive Guide to CSS Scroll Snap

The source provides a comprehensive technical deep dive into the CSS Scroll Snap Module Level 1, a feature designed to create precise, controlled, and paginated scrolling experiences, such as carousel...

18 Joulu 202539min

Paint Artifact Compositor: Blink's Rendering Bridge

Paint Artifact Compositor: Blink's Rendering Bridge

The sources provide a detailed technical explanation of the PaintArtifactCompositor (PAC), a fundamental component of Chrome's modern Blink rendering pipeline known as CompositeAfterPaint (CAP). The P...

18 Joulu 202558min

View Transitions Flow

View Transitions Flow

17 Joulu 202548min

CSS Ink Overflow: Definition, Effects, and Clipping

CSS Ink Overflow: Definition, Effects, and Clipping

The provided text offers a comprehensive technical exploration of ink overflow in CSS, distinguishing it from scrollable overflow. Ink overflow is defined as purely decorative or visual effects—like s...

16 Joulu 202540min

Blink’s CSS Bucketing and Style Resolution Optimization

Blink’s CSS Bucketing and Style Resolution Optimization

The provided source offers a highly detailed internal technical analysis of CSS "bucketing" within Chrome's Blink engine, which is the mechanism used to optimize CSS style matching by partitioning rul...

16 Joulu 202536min

Blink PaintPropertyTreeBuilder: Lifecycle, Operation, and Integration

Blink PaintPropertyTreeBuilder: Lifecycle, Operation, and Integration

The provided text offers a comprehensive technical examination of the PaintPropertyTreeBuilder within Blink’s rendering engine, detailing its function during the PrePaint phase of the document lifecyc...

16 Joulu 202531min

Blink's Flat Tree, Slotting, and Shadow DOM Internals

Blink's Flat Tree, Slotting, and Shadow DOM Internals

The provided text explains the internal workings of slotting and the flat tree within the Chromium/Blink rendering engine, detailing how Shadow DOM encapsulation is reconciled with the structure used ...

16 Joulu 202537min