The problem here is that panel and data layer IDs are expressed as keys in a map, a space generally reserved for supported/documented attribute names, not user-defined values. A more intuitive approach would make the id value a named parameter and use arrays, like so:
As described by @jonathonl, the current convention for defining lists of primary objects in the layout (panels and data layers) is confusing:
The problem here is that panel and data layer IDs are expressed as keys in a map, a space generally reserved for supported/documented attribute names, not user-defined values. A more intuitive approach would make the id value a named parameter and use arrays, like so:
While this is a pretty significant breaking change it makes the layout much more internally consistent.