One of the highly targeted areas in Drupal 8 has been the page model. That is, how does Drupal decide what to render for any given (HTML) request? How does it represent that information? How does it let different modules interact with that structure? The answers to these questions are crucial for popular site building mechanisms like Panels, Context, and to some extent, Display Suite.

In Drupal 7, the answer was the page render array. For many of us, the goal was to get away from that in Drupal 8, towards what I typically refer to as a "well-structured page." We did make some progress, but the page model turns out to be a rather massive, central problem that ties to many, many other problems.

In this talk, I'll explain the problem space a bit, why it's so hard to solve, what we have managed to solve, where the disagreements are, and what the page model that Drupal 8 is likely to deliver will probably look like.