Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-scene editing options #150

Open
doup opened this issue Nov 13, 2024 · 0 comments
Open

Multi-scene editing options #150

doup opened this issue Nov 13, 2024 · 0 comments

Comments

@doup
Copy link
Contributor

doup commented Nov 13, 2024

I'm creating this issue to document the multi-scene editing options we've discussed in Discord. I think there is consensus that the Editor will allow opening multiple scenes at the same time, and that they'll probably be presented as tabs.

What this issue means with multi-scene editing then? Well, the ability to edit multiple scenes at the same time without having to switch tabs constantly. So, information about different scenes will be presented in the same window. This is useful for certain workflows like having a source of truth scene which is "pinned" and changing between scenes to copy/match that source of truth.

(I'll be using this glossary.)

1. Nested layouts

The editor has 2 levels of layout. In the first level the user can arrange the scene tabs like in VSCode: the window is split in multiple arbitrary panes, each pane can have one or more scenes and we always show the scene tabs (even if there is just one scene tab). At the second level, each scene pane has its layout, so the scene Pane is split into more Panes which have different Views (e.g. a Workspace).

For example:

  • the left half has 3 scene tabs: button.bsn, main.bsn and title_screen.bsn
  • the right half has one scene tab: character.bsn
  • both main.bsn and character.bsn tabs are active (it's very subtle in this design, but these tabs have black background), and their respective Panes reflect that. Note the different layouts.

Image

2. Views can be pinned

There is just one level of layout and scene tabs can't be rearranged as in the previous option. In this scenario each window has a single strip of scene tabs with an active scene (the scene tab that is selected). But, the Views can be pinned to the current "active scene", which means that even if the user changes scene tabs, the View will still show the pinned scene.

See the following Figma prototype

  • Note that "the user" has set the layout for this workflow, that's why the 2d Viewports and Entity Inspector Views are duplicated.
  • First, change between tabs the "Main Menu" and "Button" tabs. See how the View contents change.
  • Go to "Main Menu" and click on any of the bottom row pins, you'll see that both the Views at the bottom row now are pinned (pin icon and color changed). Note: in reality the user would click on each of the pin icons, this is different in the prototype to avoid combinatorial explosion.
  • Change to "Button" scene, the lower Views still show the contents of the "Main Menu". If you "unpin" the lower Views now all the Views show the "Button" scene

3. Multiple windows

The "do nothing special" case. Each window has a single strip of scene tabs, and each window has an active scene (the scene tab that is selected). So in this scenario we just allow opening new windows and the user then re-arranges the windows manually or using some OS level tool.

Since we probably want to support multi-monitor setups this solution could be considered an extension to that problem. Although it's valid as long as we decide that each window has one active scene and a strip of scene tabs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant