To enable multiple tabs independent from scenarios
To allow for sharable links for multi-tab workspaces
This approach also makes #269 no longer relevant as it accounts for scenarios.
Description
Previously implicit, now we assume that the tabs on the right side only exist in the context of scenarios and are used specifically for scenarios. This means that specific concepts such as origin world and options to make a change exist only in and need to be applicable to right tabs.
As we move to multiple base/left world tabs, we now consider the root ("r") URL parameter to define the active left-side tab. This can be changed based on updates to the startup request. Since this is currently the root of the environment, it makes sense for it to be the active base world.
To support shareable links, we add two new URL parameters
w : the list of worlds in the workspace, regardless of whether they are scenarios or not.
t: a representation of the tabs in the workspace. It's a list, and each tab follows the pattern ${tab.id}:${tab.side}:${tab.properties.name}. Note that this means that at the moment, the name of a tab is essently sugar, and determined in the URL.
Goal
The purpose of this PR is twofold:
This approach also makes #269 no longer relevant as it accounts for scenarios.
Description
Previously implicit, now we assume that the tabs on the right side only exist in the context of scenarios and are used specifically for scenarios. This means that specific concepts such as origin world and options to make a change exist only in and need to be applicable to right tabs.
As we move to multiple base/left world tabs, we now consider the root ("r") URL parameter to define the active left-side tab. This can be changed based on updates to the startup request. Since this is currently the root of the environment, it makes sense for it to be the active base world.
To support shareable links, we add two new URL parameters
${tab.id}:${tab.side}:${tab.properties.name}
. Note that this means that at the moment, the name of a tab is essently sugar, and determined in the URL.