For a given path instead of having a single page callback we store a page array skeleton. This very much like the Drupal 7 page array but instead of the content it contains the necessary callbacks and optional cache keys which can be used to actually populate the page array. This totally happens to eliminate the block system as well. This page array skeleton as it evolves into a full page array can be the context itself.
For added crazy, it should be possible to parallelize the creation of the page later.
Comments
This seems to be exactly like
This seems to be exactly like the stuff outlined in the following two posts:
Not quite
That outlines something way more complicated and different to what we have now. This is a simple system and would change a lot less.
FWIW, #pre_render basically
FWIW, #pre_render basically is a callback system. Not saying we should use that in the final patch, but it would be possible to prototype this using #pre_render and not change the render system.
Question
I'm not sure I follow this fully, so perhaps my concern here isn't relevant. I'm concerned about breaking the primary relationship of a path to a resource. Currently we model this relationship as the page callback. Each page call back is the primary resource for a path. We use this implied relationship all over the place to answer questions like 'am I on a book node page?' How would we model this in the suggested system?
Eliminate blocks?!?
From the perspective of a site builder, the Drupal block system is a good thing (I typically use it with the Context module, which makes for a much better UI and more flexibility, but that aside). Most sites have a selection of blocks to put in their sidebars, headers, footers, etc.
So I am not understanding why you want to eliminate the block system. Will there still be the ability in the Drupal admin UI to define blocks (or whatever they would be called in your new system), and to define in the UI on which pages they should occur, in what order?
Drupal programmer - http://poplarware.com
Drupal author - http://shop.oreilly.com/product/0636920034612.do
Drupal contributor - https://www.drupal.org/u/jhodgdon
Yes, that part of the system
Yes, that part of the system will still exist.