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.