Here is a design discussion about synchronizing editors between workspaces.
Basically, synchronizing editors try to keep content in editors with same type when you switch between workspaces.
Working prototype and previous discussion is here https://developer.blender.org/D7272
Problems, that we need to discourse:
- How to enable synchronizing?
- If workspaces have more than one editor with same type, how to determine which area in one workspace corresponds to the area in another workspace?
- What settings we heed to synchronize - view position / window scroll / settings / open-close state in Outliner
- If I change editor type in area, that have marked as synchronized, what should Blender do? Change editor type in all synchronized areas, or disable synchronizing for current area? - my current answer is "disable"
- If Blender changes editor type in area by image editor, while rendering, or file browser, what should it do? Change editor types in all synchronized areas, or disable synchronizing for current area? - my current answer is "change editor types"
- Should Blender allow creating new synchronizing links, instead using existing ones (For example, synchronizing areas in workspaces W1 <=> W2 and W3 <=> W4, instead W1 <=> W2 <=> W3 <=> W4 )
Add a Synchronize property for areas. When two areas in different workspaces are marked as Synchronize, they get same Sinc ID, and Blender will synchronize areas by this ID.
What settings we heed to synchronize
I noted, that synchronization of view position approved by all, but not all wants synchronization of other settings. So there is a suggestion to divide synchronization into several parts: view position, window scroll and settings, open-close state.
Possible solutions how to do this:
- Add different menu items:
- for viewport: Sinc View, Sinc Settings
- for outliner: Sinc Scroll, Sinc State
- for 2d editors: Sinc scroll, Sinc Settings
I am not a fan of this because it is not clear. That will happen then one area will mark as Sinc View, other Sinc Settings?
- Add settings in User Preferences:
- View and Scroll Possition
- Area Settings
- Add only synchronizing view position / window scroll / open-close state in Outliner only and add an operator "Copy Overlay (Shading, Gizmo) Settings to all Viewports (Editors)". By the way, it will be nice to have this operator and without this synchronization task
- Synchronize all settings, but add more settings to workspace. For example, assign Shading Mode to the workspace (where now Object Mode selector is located). Or maybe, Minimum Shading level. It will be useful for Shading workspace. When you tap to Shading workspace from Solid mode, you switch to "Material Preview", but if you already have Rendered mode, it will be nice to keep it and do not downgrade it to "Material Preview"
The new menu View - Area - Sinc, made like a property with checkbox. If it checked, area is synchronized.
I suggest some different variations, how menu can be looks like, depends on current situation:
I created this design because @Julian Eisel (Severin) suggest this. This is my first task, if I did something wrong, notify me.