Slimming Paint (a.k.a. Redesigning Painting and Compositing)
Slimming Paint is a Paint team project to re-implement the Blink<->cc picture recording API to work in terms of a global display list rather than a tree of cc::Layers (~aka GraphicsLayer in Blink terminology). It will result in a drastic simplification of the way that composited layers are represented in Blink and cc, which in turn will yield improved performance, correctness and flexibility.
To get a sense of the extent of this rewrite, one side-effect will be the deletion of the code in core/rendering/compositing/.
Phases
SlimmingPaintV1 - paint using display items (Status: launched in M45)
SlimmingPaintInvalidation - rewrite of paint invalidation using display items, property trees introduced in blink (Status: launched in M58)
SlimmingPaintV175 - uses property trees for painting in blink, introduces paint chunks, uses paint chunks for raster invalidation (Status: launched in M67)
- sends a layer list instead of a tree, and generates final property trees in blink instead of re-generating them in cc (Status: launched in M75)
- compositing decisions made after paint.
Presentations
BlinkOn 3.0 Presentation, video (start here to find out more about the project)
Blink Property Trees (also reviews the Composite-After-Paint (formerly "SPV2") design)
BlinkOn 9 presentation covering current compositing architecture
Core team members
Chris Harrelson (chrishtr@), overall TL
Mason Freed (masonfreed@) Blink
Philip Rogers (pdr@) Blink
Stephen Chenney (schenney@) Blink
Xianzhu Wang (wangxianzhu@) Blink
Adrienne Walker (enne@) cc
Robert Flack (flackr@) animations
David Bokan (bokan@) viewports
Close relatives
Fredrik Söderquist (fs@opera.com) Blink
Erik Dahlstrom (ed@opera.com) Blink
Florin Malita (fmalita@) Blink / Skia
Mike Klein (mtklein@) Skia
Mike Reed (reed@) Skia
A number of other people are involved at least tangentially for design discussions and related projects.
Resources and Design Docs
Representation and implementation of display lists in Blink
Layerization based on display lists
Blink paintlist update algorithm details
==Bounding Rectangle Strategy for Slimming Paint==
Slimming Paint for UI Compositor
Some out of date/historical docs are here.