Page MenuHome

Asset BrowserProject
ActivePublic

Details

Description

Project to organize the Asset Browser work. The Asset Browser is practically a sub-project of User Interface and Pipeline, Assets & I/O.


Status

Team

Commissioner: @Ton Roosendaal (ton)
Project leader: @Julian Eisel (Severin)
Project members: @David Drayton (neosushi68)

Description
NOTE: This description needs review.

Big picture:

Reduce overhead and streamline the workflows for creating, editing, sharing and using of reusable Blender resources.

An asset is a data-block with meaning.
This isn't limited to Blender data-blocks: The Asset Browser could also give access to presets, scripts, importer/exporter files (glTF, USD, OBJ, ...), media files (images, sounds, video), etc. The meaning is meta-data to help manage the data-blocks.
Blender assets have to be part of a repository (.blend file or directory). By "mounting" a repository in the Preferences, its assets can be accessed in all Blender sessions. Alternatively, the concept of a "Blender Project" will enable per-project asset repositories.
The Asset Browser is an interactive viewer for asset repositories, but it does not automate asset management. It's a browser, not a manager!

Add-ons will be able to integrate with the Asset Browser, so that they can handle advanced asset management tasks. For example a studio could connect the Blender Asset Browser with its pipeline software using an Add-on.

Use cases:

Asset management is a topic of enormous scope. The Asset Browser should eventually bring:

  • Simple and streamlined access to project independent Blender assets. E.g. base meshes, premade materials, libraries of brushes...
  • Simple and streamlined access to assets of a project. E.g. characters, sets, background props, character poses...
  • Simple and streamlined access to online asset data-bases, from within Blender. E.g. Blender Cloud, BlenderKit, ...

Design:

Process:

The entire development happens in a highly agile fashion:

  • Work in short sprints (~2 weeks) with previously defined targets.
  • Everything's a hypothesis - Evaluate often, do usability tests and prototyping.
  • Work in master early, for easy testing.
  • Always have a working system, even if limited or buggy.
  • Identify and agree on important use-cases. Take time to explore and design them together with stakeholders.
  • Don't get distracted by corner cases, nice-to-have's or "what if"'s.
  • Development must be transparent.
Communication
Resources

Recent Activity

Thu, Apr 8

Dave (namedtoaster) added a watcher for Asset Browser: Dave (namedtoaster).
Thu, Apr 8, 4:51 AM

Tue, Apr 6

Julian Eisel (Severin) changed the status of T87235: Asset System Technical Design from Needs Triage to Confirmed.
Tue, Apr 6, 2:59 PM · Asset Browser
Julian Eisel (Severin) closed T86297: Asset Browser doesn't show thumbnails of current file's assets as Archived.

Good, closing as archived then :)

Tue, Apr 6, 2:46 PM · Asset Browser
Julian Eisel (Severin) changed the subtype of T87091: "Mark Asset" meshobject with Softbody causes Blender to crash from "Report" to "Bug".
Tue, Apr 6, 2:45 PM · Asset Browser, BF Blender

Thu, Apr 1

Andres Stephens (Draise) added a watcher for Asset Browser: Andres Stephens (Draise).
Thu, Apr 1, 11:33 PM

Wed, Mar 31

Falk David (filedescriptor) added a comment to T87091: "Mark Asset" meshobject with Softbody causes Blender to crash .

With asan enabled this produces the following output:

=================================================================
==123600==ERROR: AddressSanitizer: heap-use-after-free on address 0x6030004a7288 at pc 0x000003ce2fdb bp 0x7fffffffd170 sp 0x7fffffffd160
READ of size 8 at 0x6030004a7288 thread T0
    #0 0x3ce2fda in BKE_ptcache_id_from_softbody /.../blender/source/blender/blenkernel/intern/pointcache.c:883
    #1 0x3ce978f in foreach_object_ptcache /.../blender/source/blender/blenkernel/intern/pointcache.c:1218
    #2 0x3cea1eb in BKE_ptcache_ids_from_object /.../blender/source/blender/blenkernel/intern/pointcache.c:1274
    #3 0x98d67c2 in timeline_draw_cache /.../blender/source/blender/editors/space_action/action_draw.c:555
    #4 0x98c0652 in action_main_region_draw /.../blender/source/blender/editors/space_action/space_action.c:221
    #5 0x7c1103b in ED_region_do_draw /.../blender/source/blender/editors/screen/area.c:558
    #6 0x521a89c in wm_draw_window_offscreen /.../blender/source/blender/windowmanager/intern/wm_draw.c:724
    #7 0x521bab0 in wm_draw_window /.../blender/source/blender/windowmanager/intern/wm_draw.c:864
    #8 0x521cf1f in wm_draw_update /.../blender/source/blender/windowmanager/intern/wm_draw.c:1065
    #9 0x520d0eb in WM_main /.../blender/source/blender/windowmanager/intern/wm.c:652
    #10 0x367a449 in main /.../blender/source/creator/creator.c:520
    #11 0x7ffff6e48cb1 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28cb1)
    #12 0x36795fd in _start (/.../build_linux_debug/bin/blender+0x36795fd)
Wed, Mar 31, 6:09 PM · Asset Browser, BF Blender
Falk David (filedescriptor) changed the status of T87091: "Mark Asset" meshobject with Softbody causes Blender to crash from Needs Triage to Confirmed.

I can confirm this on the latest 2.93.0 Alpha, branch: master, commit date: 2021-03-31 15:10, hash: rB4fd7b1f3db34.

Wed, Mar 31, 6:06 PM · Asset Browser, BF Blender

Mon, Mar 29

Bastien Montagne (mont29) moved T54642: Asset Project: User Interface from Backlog to bcon2: Features on the BF Blender (2.93) board.
Mon, Mar 29, 11:41 AM · BF Blender (2.93), Asset Browser, Pipeline, Assets & I/O, User Interface
Bastien Montagne (mont29) moved T73366: Asset Manager “Basics” from Backlog to bcon2: Features on the BF Blender (2.93) board.
Mon, Mar 29, 11:41 AM · BF Blender (2.93), Asset Browser, User Interface, Pipeline, Assets & I/O

Mon, Mar 22

baoyu (baoyu) added a comment to T54642: Asset Project: User Interface.

Please consider implementing my proposal:
https://devtalk.blender.org/t/variation-system-my-proposal-based-on-current-asset-browser

Mon, Mar 22, 8:56 AM · BF Blender (2.93), Asset Browser, Pipeline, Assets & I/O, User Interface

Sat, Mar 20

Andreas Lutsch (andreasus) added a watcher for Asset Browser: Andreas Lutsch (andreasus).
Sat, Mar 20, 10:21 AM

Mar 12 2021

Bastien Montagne (mont29) moved T54642: Asset Project: User Interface from Long-Term - Official to Blender 2.93 on the Pipeline, Assets & I/O board.
Mar 12 2021, 10:56 AM · BF Blender (2.93), Asset Browser, Pipeline, Assets & I/O, User Interface
Bastien Montagne (mont29) moved T73366: Asset Manager “Basics” from Long-Term - Official to Blender 2.93 on the Pipeline, Assets & I/O board.
Mar 12 2021, 10:56 AM · BF Blender (2.93), Asset Browser, User Interface, Pipeline, Assets & I/O

Mar 10 2021

Andres Stephens (Draise) added a comment to T79178: Asset Manager: Support preview thumbnails for more data-block types.

Can't wait for more thumbnails for node groups. Or custom thumbnails!

Mar 10 2021, 10:13 PM · Asset Browser, BF Blender

Mar 9 2021

Julian Eisel (Severin) changed the visibility for Asset Browser.
Mar 9 2021, 12:27 PM

Mar 8 2021

Marco Hoo (MarcoHoo) added a watcher for Asset Browser: Marco Hoo (MarcoHoo).
Mar 8 2021, 2:03 PM
Marco Hoo (MarcoHoo) added a comment to T86297: Asset Browser doesn't show thumbnails of current file's assets.

That build, from the asset-browser-branch, is no longer supported. Please use a recent 2.93 alpha build going forward and enable the Asset Browser in the Experimental user preferences. I can not reproduce your issue in any recent build.

Mar 8 2021, 5:40 AM · Asset Browser

Mar 7 2021

Kdaf (Kdaf) added a watcher for Asset Browser: Kdaf (Kdaf).
Mar 7 2021, 9:04 PM

Mar 6 2021

Roger B (rboxman) added a comment to T86297: Asset Browser doesn't show thumbnails of current file's assets.

That build, from the asset-browser-branch, is no longer supported. Please use a recent 2.93 alpha build going forward and enable the Asset Browser in the Experimental user preferences. I can not reproduce your issue in any recent build.

Mar 6 2021, 1:14 AM · Asset Browser

Mar 5 2021

Sergey (randum) added a comment to T73366: Asset Manager “Basics”.

Will asset manager support custom node tree data blocks so such add-ons as animation nodes or sverchok could use to save some node trees?

Mar 5 2021, 10:34 AM · BF Blender (2.93), Asset Browser, User Interface, Pipeline, Assets & I/O
Marco Hoo (MarcoHoo) created T86297: Asset Browser doesn't show thumbnails of current file's assets.
Mar 5 2021, 2:47 AM · Asset Browser

Mar 2 2021

Bastien Montagne (mont29) moved T83884: Image of asset disappears in the asset browser when linked from Backlog to Bugs on the Pipeline, Assets & I/O board.
Mar 2 2021, 2:28 PM · Pipeline, Assets & I/O, Asset Browser, BF Blender
Philipp Oeser (lichtwerk) added a project to T83884: Image of asset disappears in the asset browser when linked: Pipeline, Assets & I/O.
Mar 2 2021, 11:06 AM · Pipeline, Assets & I/O, Asset Browser, BF Blender

Feb 24 2021

Julian Eisel (Severin) merged task T85929: Asset operation refresh UI with large font, and refresh normally into T83896: Avoid graphical glitches during threaded preview generation.
Feb 24 2021, 11:23 AM · User Interface, Asset Browser

Feb 23 2021

Kdaf (Kdaf) edited projects for T85929: Asset operation refresh UI with large font, and refresh normally, added: Asset Browser, User Interface; removed BF Blender.
Feb 23 2021, 8:31 PM · User Interface, Asset Browser

Feb 16 2021

Michael Arenander (Taumich) added a watcher for Asset Browser: Michael Arenander (Taumich).
Feb 16 2021, 9:07 AM

Feb 9 2021

Braden Currah (TakingFire) removed a watcher for Asset Browser: Braden Currah (TakingFire).
Feb 9 2021, 3:24 AM

Feb 8 2021

Julian Eisel (Severin) edited Description on Asset Browser.
Feb 8 2021, 7:38 PM

Feb 3 2021

Julian Eisel (Severin) created T85342: Asset drag & drop usability improvements.
Feb 3 2021, 4:49 PM · Asset Browser

Feb 1 2021

Julio (jalfaro) added a watcher for Asset Browser: Julio (jalfaro).
Feb 1 2021, 1:56 AM

Jan 26 2021

Julian Eisel (Severin) removed a member for Asset Browser: David Drayton (neosushi68).
Jan 26 2021, 5:09 PM

Jan 13 2021

Morten (WeezY) removed a watcher for Asset Browser: Morten (WeezY).
Jan 13 2021, 11:37 AM

Jan 11 2021

Brecht Van Lommel (brecht) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

The dependency graph is fully rebuilt on changes. Evaluated datablocks are either reused, or discarded if they end up unused after the rebuild.

Jan 11 2021, 2:10 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Julian Eisel (Severin) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

@Julian Eisel (Severin), I expect the depsgraph can use session UUIDs as key values for id_info_hash_ and any similar maps directly, without the need to maintain an additional map.

What happens on ID deletion, do we rebuild the depsgraph or remove the nodes to be deleted? If it's the latter I guess the ID should be removed from id_info_hash_?
I assumed the IDInfo.id_cow could be an issue over undos, but didn't look into it much and trust your judgement there.
Anyway, if using session_uuid solves the issue: yay!

Jan 11 2021, 2:00 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Bastien Montagne (mont29) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

I will also first try to make depsgraph use those session uuids first, this looks like the most obvious solution indeed.

Jan 11 2021, 12:13 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Brecht Van Lommel (brecht) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

@Julian Eisel (Severin), I expect the depsgraph can use session UUIDs as key values for id_info_hash_ and any similar maps directly, without the need to maintain an additional map.

Jan 11 2021, 10:29 AM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph

Jan 9 2021

Ray molenkamp (LazyDodo) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

When creating many ID's, an Object ID (in my case) is getting allocated at the address previously used for a mesh, causing the IDNode.id_cow to copy mesh data into an object pointer (hence the buffer overrun in BKE_id_copy_ex).

Jan 9 2021, 5:52 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph

Jan 8 2021

Julian Eisel (Severin) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

Great work everybody!

Jan 8 2021, 1:20 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Jacques Lucke (JacquesLucke) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

Nice find! That fixes the issue for me as well.

Jan 8 2021, 12:11 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Campbell Barton (campbellbarton) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

Looked into this bug, the problem is caused by the depsgraph using a Map (DepsgraphNodeBuilder.id_info_hash_) keeping a map of ID to IDInfo data between undo steps.

Jan 8 2021, 10:50 AM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Ray molenkamp (LazyDodo) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

Alight now that the "where" is known (BKE_id_copy_ex), drawing the issue out of the shadows is rather straight forward,

Jan 8 2021, 2:24 AM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph

Jan 7 2021

Julian Eisel (Severin) closed T83848: Blender crashes when making a collection an asset while in edit mode as Resolved.

This likely got fixed with rB691c021679f6. I'm not sure if this is a reliable fix though, it may break again so better keep an eye on it.

Jan 7 2021, 5:46 PM · Asset Browser, BF Blender
Lopo Isaac (lopoIsaac) added a comment to T83848: Blender crashes when making a collection an asset while in edit mode.

@Jacques Lucke (JacquesLucke) I can't reproduce either and I remember it crashed before. Now it seems fixed.

Jan 7 2021, 5:19 PM · Asset Browser, BF Blender
Jacques Lucke (JacquesLucke) added a comment to T83848: Blender crashes when making a collection an asset while in edit mode.

Is this fixed? I don't seem to be able to reproduce it. If it is not fixed, can you provide more precise steps?

Jan 7 2021, 5:12 PM · Asset Browser, BF Blender
Ray molenkamp (LazyDodo) updated subscribers of T84397: Creating and removing many objects very quickly causes a crash.

some good news some bad news

Jan 7 2021, 4:55 AM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph

Jan 6 2021

Ray molenkamp (LazyDodo) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

1import bpy
2
3class CauseCrashOperator(bpy.types.Operator):
4 bl_idname = "object.causecrash"
5 bl_label = "causecrash"
6 bl_options = {'REGISTER', 'UNDO'}
7
8 count : bpy.props.IntProperty(name="count", default=800)
9
10 def execute(self, context):
11 for i in range(self.count):
12 mesh = bpy.data.meshes.new("myobj")
13 obj = bpy.data.objects.new("myobj", mesh)
14
15 context.collection.objects.link(obj)
16 return {'FINISHED'}
17
18def register():
19 bpy.utils.register_class(CauseCrashOperator)
20
21register()
22
23print("1")
24bpy.ops.ed.undo_push()
25print("2")
26bpy.ops.object.causecrash(count=800)
27print("3")
28bpy.ops.ed.undo()
29print("4")
30bpy.ops.object.causecrash(count=800)
31print("5")
makes it crash reliably for me rather than jumping all over the place, if you take out the context.collection.objects.link(obj) line the crash goes away so kinda feels there's definitely an issue there, is it the same issue we have been chasing? no idea! could be something unrelated.....or not...

Jan 6 2021, 9:16 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Jacques Lucke (JacquesLucke) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

I tested it and i can confirm your findings.

Jan 6 2021, 4:22 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Oliver Weissbarth (oweissbarth) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

I tested it and i can confirm your findings.

Jan 6 2021, 4:16 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Ray molenkamp (LazyDodo) added a comment to T84397: Creating and removing many objects very quickly causes a crash.

Yes, rBb852db57ba24: Add experimental global undo speedup., which is not terribly useful in tracking down the origin of the corruption , the issues seem "different" yet somehow connected, this is fun :)

Jan 6 2021, 1:41 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph
Jacques Lucke (JacquesLucke) placed T84397: Creating and removing many objects very quickly causes a crash up for grabs.

I just noticed that it might be related to rBL62457, which also isn't very useful...
I checked out rB9db4e44961d3ae46b1a9a2dd2ff4c0743e8263f5 + one of the patches below. This compiles with rBL62457 (broken) and rBL62402 (works). Maybe some cmake options have to be disabled if it does not work immediately.
Interestingly, the crash is still caused by subdiv_ccg being invalid, so the crash is very predictable.
Another weird thing is that when P1868 is applied, subdiv_ccg will always be 0x1.
When I apply P1869 instead. subdiv_ccg will always be 0x200200002002.
I don't know how that is possible. But I can reproduce this every time.

Jan 6 2021, 1:15 PM · BF Blender (2.92), Pipeline, Assets & I/O, Dependency Graph