= Asset Project: Workflow
This design task aims to develop the basic workflows for asset interaction (see also main design task T46049).
== Pre-assumptions
On most basic level, asset interactions are:
* Browsing assets
* Loading assets
* Updating assets
**Role of the asset engine in the workflow**
We want to give the asset engine itself as much flexibility possible to integrate its data into the UI. Therefore, we only want to develop an UI "skeleton" that the asset engine can use to build up upon.
== Integrating the asset management functionality into Blender
We have decided to integrate the Asset Manager with the Blender File Browser. We are doing this for a few reasons:
# It allows us to re-use as much shared code as possible between the asset browser and file browser
# As we make improvements to asset browsing, the file browser will come along for the ride
# People already use the file browser as a kind of asset manager
In Blender 2.8, to better reflect this, we will rename the File Browser to 'Asset Browser'. Using the the Open, Save, & Save As... commands will continue to work seamlessly, and users won't be bothered with any asset-related options where not applicable.
When using the Asset Browser editor type, we will present different views to the user, to switch between File Browser, Current File as well as various asset repositories.
== Setting up asset repositories
We've decided to do this in Preferences. Users will only set these up once, and from then on be able to quickly switch between them in the Asset Manager. While you are browsing your assets, you don't want to be bothered with setting up the repositories themselves.
UI pending for this.
== UI Wireframes
This section will give an idea of what our plans are for the user interface.
First, to better support both file browsing and asset management in one editor, we'll need to start by re-designing the file browser somewhat:
=== Asset Browser in File Browser view
{F2689061}
As you can see, it's slightly simpler than before. We are following the reading direction, so that the command is in the bottom right. All the complex filtering options are in a panel now. The old icons were so plentiful and ambiguous that you really need proper names to make sense of them anyway, so it's better to tuck them in a panel where we can make them clearly readable and understandable.
=== Switching Repositories
The menu in the top left lets user switch between file browsing and asset browsing. Users can directly pick which repositories to switch to here:
{F2689083}
As you can see, we are re-using most of the same UI structure in both views, but only hiding the parts that are not applicable, letting us re-use interface elements as much as possible.
In the sources list on the left, we've added the ability to select tags. We only show tags that are available with the active ID type selected.
=== Built-in Repositories
In order to make the Asset Browser immediately useful, we will include these built-in repositories:
- **File Browser** (allows for browsing images etc in your local file storage)
- **Current File** (gives an overview of all the assets in your current scene. Very useful to get an overview and to re-use materials, meshes etc)
- **Blender Cloud** (Blender Cloud will provide a selection of assets for users to get started. Users can either download & import assets directly through the Asset Browser, or they can download the cloud repository for offline use)
In addition, users can easily set up their own asset repositories in Preferences and easily start to populate them with objects, meshes, materials and so on, by dragging them into the Asset Browser.
We //could// even automatically create an empty repository, so that users can start building one with zero configuration needed. Users can then later rename it in Preferences if they desire.
=== Icon View:
{F2689088}
=== Inspector:
{F2689214}
An Inspector area on the right gives you more information about the selected asset. Here users have access to editing tags, accessing variants and revisions.
One of the important requirements for the assets UI, is that it should be able to become very compact, so that users can integrate it into their Blender screen layout without taking up too much space.
Here's a view with both the Source List and Inspector area hidden:
{F2689129}
The Asset Browser is still fully useable in this state. You can browse, search for tags, drag items into your scene, change repositories etc, even with this minimal UI
We can even use responsive layouts, to make it show the enum as a menu when there is not enough space, so that it keeps working even though user might have the Asset Browser in a tiny view:
{F2689488}
This gives an idea of a common use-case. The user has opened the Asset Browser below the 3D View, and is able to drag assets into the scene, and the user can take full advantage of the screen space available, so you can see as many assets as possible on the screen:
{F2689143}
=== Linking vs Appending assets
In different situations, users might want to either link an asset or append (copy) it.
For simple cases where users just want access to assets as a starting point, appending makes the most sense
For collaborative projects, films with multiple shots, complex environments etc, it makes more sense to create a repository and then link to assets.
We want to make it easy to do both, without having to switch between modes or views, like so:
In the Inspector there will be buttons to either link or append, but as a faster method, user can either:
# Drag assets into the scene to copy it
# Drag assets while holding Alt to link it in.
This way, users can very quickly link and copy assets into their scene, using a single gesture.
----
//Description will be updated to represent current state of discussion.//