Problem/motivation
Currently all themes declare their set of regions which is global to the theme. In #1787846: Themes should declare their layouts we want to make it possible for themes to define multiple layouts for the user to pick from. Those might or might not come with different sets of regions. It is possible the consensus is that multiple region sets are not to be supported for themes and one theme should have regions unified for all its layouts (which would be easier to implement both for themers and Drupal core).
However, the ultimate goal of decoupling layouts from themes is that modules could define layouts as well in future issues (http://drupal.org/project/layout is ported to Drupal 8 and is proposed to core to fulfill that role). For this to work, even if theme defined layouts use the same regions for all layouts within a theme, layouts will definitely not be unified in terms of regions across module defined layouts. This means we should stop relating blocks to themes and should relate them to layouts instead.
The list of layouts introduced in #1787846: Themes should declare their layouts should be able to provide the base data (labels and machine names) to relate blocks to.
Comments
Comment #1
ipwa CreditAttribution: ipwa commentedFrom #1787846: Themes should declare their layouts:
This is always something that bothered me from the way block assignment works. When you migrate a Drupal site and the destination doesn't have your custom theme, all the blocks that where assigned to custom regions get disabled. Having some kind of ui that maps where you'd like to set the blocks that would otherwise get disabled when you switch layout sounds awesome. +1 for that approach from me.
Comment #2
webchickTagging with "Spark."
Comment #3
sdboyer CreditAttribution: sdboyer commentedblocks relate to instances of layouts, not the layouts themselves.
Comment #4
sdboyer CreditAttribution: sdboyer commentedthe Display object is the proper place for block instances to be bound to other stuff: #1812720: Implement the new panels-ish controller [it's a good purple]
Comment #5
webchickUntagging, and looks like this is probably D9 at this point.
Comment #6
catchDuplicate of #2811175: [plan] Add layouts to Drupal and related issues, which are being worked on for 8.x