Web Browser Engineering Blog

Share this post

Chapter 13

browserbook.substack.com

Chapter 13

Chris Harrelson
May 26, 2022
Share this post

Chapter 13

browserbook.substack.com

It’s finally, finally done: Chapter 13, Animating and Compositing is now available! I expected this chapter to be very hard to write, and indeed it was. I’ve been working in compositing for years, and boy is there a lot of complexity to this whole subject when you get into all the details.

Which leaves an immense challenge: how could I explain it in a simple and straightforward way? It’s not easy. Just writing code that worked at all took me quite a long time. Then, I wanted my implementation to be faithful to the actual way that browsers implement compositing. And then there was the task of finding ways to simplify it down to the basics and explain it well, all without losing the essence of the approach.

I hope you find that we succeeded. We boiled the implementation of compositing down to its essence, demonstrated the relation to animations (without which the feature is pointless), and did all of it in only about 10k words, including code samples. I especially like how we ended up with a “draw display list” that uses the same data structure as the original display list—because conceptually it really is exactly the same as a display list, even though real browsers use different data structures for all sorts of complicated practical reasons.

Thanks to everyone for reading and giving us feedback, especially our supporters on Patreon and those who found errors that we could fix to make the book better. Please continue to give us feedback and tell your friends all about it. And follow our blog and Twitter, and participate in the Github Discussions with questions and answers for the community.

Share this post

Chapter 13

browserbook.substack.com
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Pavel Panchekha and Chris Harrelson
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing