Assets - FileBrowser enhancements - experimental build available

Hi, finalized writing down my proposal for assets, here: http://wiki.blender.org/index.php/User:Mont29/Foundation/Assets/Design_Proposal_I

Rather dry reading currently (spent most of past month deep inside our filelisting code)…

From a fast glance (I will read the proposal more thoroughly later), I would also add creator to the metadata list, and keep track of modifiers across revisions. The current user could be specified in the preferences (maybe as a list with a dropdown).

EDIT: Also i think maybe assets preview could be implemented as in Asset browser from Fabric Engine? Maybe not live for the whole directory as they have done it but as a seperate preview panel that preloads the asset if clicked in the file list?

Hi Bastien,
Good proposal :slight_smile: For the open question “do we accept some other simple storage types directly (like fonts, images, video, audio, etc. files)?”, I think it’s a requirement:

  • Most studios have many programs in their workflow and being able to also have FBX, Alembic, etc… in the file browser really saves time. Creating .blend duplicates of those files takes time, lot of space and doesn’t update as new versions are created by the other artists. For the texture or voice artists it’s already working because images and audio are already “linked”(not saved in the blend file, and therefore automatically updated). So I would allow to also link other 3D formats (I know it requires an import, but it would keep the path and a script could check for new versions as they come and update the scene, taking care of not creating duplicates like in the current import plugins)
  • Most of the time, datas which are not in a blend file require a post-process script.

As you said, the linking/appending system works pretty well as it is. Nonetheless, some polishing on consistency would also be welcome. Like those https://developer.blender.org/T40237 and https://developer.blender.org/T43598. If you want Blender to decide, for consistency, I would link everything needed to conserve appearance. It’s already what Blender does for meshes with particles duplicates. Blender links both the emitting mesh the user choose, but also the object or group used in the particle system). It’s what the artist awaits most of the time. For cases where no universal answer can be made (Does the user really only want to link the emitting mesh and choose it’s own group to duplicate with particles or should blender also import the original group for the particle system to conserve appearance), Blender could ask the user to choose what to do.

From a fast glance (I will read the proposal more thoroughly later), I would also add creator to the metadata list, and keep track of modifiers across revisions. The current user could be specified in the preferences (maybe as a list with a dropdown).

Think author of a given revision could be shown in thet rev’s comment as well - that’s asset engine task though. Same goes for editing, specifying author info would be asset-engine setting (since not all asset engine may support either revision not authorship).

EDIT: Also i think maybe assets preview could be implemented as in Asset browser from Fabric Engine? Maybe not live for the whole directory as they have done it but as a seperate preview panel that preloads the asset if clicked in the file list?

Yes, I do have that kind of plan (like e.g. having optional callback for asset engines to provide something like WebGL code to be used in dynamic preview). But this is really for later, it’s more important first to get a good handling of assets, with a mere static picture for now, candy things will come once basics are solid working. :slight_smile:

For the open question “do we accept some other simple storage types directly (like fonts, images, video, audio, etc. files)?”, I think it’s a requirement:

Well, the idea would rathe be that asset engine can dynamically generate needed .blend files (even as temp resource). The thing is, I can forsee an hell of a mess if we try to directly support things like FBX as assets. More simple things like mere image is a bit different, but… Time will say if we can stick to (even generated on demand) .blend files, or have to widen things.

And for sure current link system still has some issues.

Hey, thanks for the work on this, i spent some time carefully reading over your proposal and it sounds like a really smart idea to have an Asset Engine with an API rather than a defined library system (as much as i’d love one for personal assets sooner than later). In regards to the concept of custom assets, I think this would be an incredibly powerful tool, to be able to have custom types for compound objects like rigged characters or mesh effects. I guess the implementation of this would need more exploration to evaluate it, but it sounds like a very useful tool.

I’ll see if I can test the branch before its addition to the trunk :smiley:

Hey guys, made a second testbuild of asset-experiements branch) (the one containing filebrowser changes needed for asset engine project), more details here! :smiley:

Hey Bastien,
Nice work, it’s really much faster! A pleasure to browse texture and assets folders. I had a crash while trying to link an object from another .blend. It crashed just by clicking on the .blend:

START filelist reading (0 files, main thread: 0)
END filelist reading (86 files)
START filelist reading (0 files, main thread: 0)
Error: EXCEPTION_ACCESS_VIOLATION

The crash file was pretty empty:

# Blender 2.74 (sub 5), Commit date: 2015-05-11 07:47, Hash d59c7fe

# backtrace
Crash backtrace not supported on release builds

It’s reproducible on all blends (happens every time, whatever blend file I try). Win7 x64

By the way, I have a question. If it writes to the blend file (If I understand good, the preview PNG is written to the file) Can it be that the crash with an incomplete write corrupts our file (i.e. is it safe to try your build on a work PC)

Wow, this is really fast now, might possibly be faster than my os browser (probably not but it could be close to matching it).

I ran into a bug where when you create a new folder, you can’t rename it, you just end up with “New Folder”, “New Folder (1)”, "New Folder (2), etc. Double clicking of coarse brings you into that folder, and the right click menu in tile mode doesn’t have anything useful (“edit source” & “edit translation”, only appears when clicking on the icon). In list mode, there is no menu.

I’m running Debian Jessie 64bit, hopefully what I mentioned is useful and on topic.

Thanks for the feedback guys!

@matali: definitively not reproducible on linux, must be something win-specific, will check on my VM.

@TARDIS Maker: confirmed, will fix asap.

@TARDIS Maker: fixed in branch now (note that you can always rename by cltr-LMB on any dir or file :wink: ).

@matali forgot your last question: No, previews (thumbnails) from file browser are never written to Blender file. However, .blend files have (since ages) the possibility to store preview for some of their ID datablocks (materials, textures, etc.), which in this branch is also extended to objetcs, groups and scene. But this is 100% optional (user has to request it to get those previews generated), and anyway, it does not prevent .blend files saved with those new previews to open in any other version of Blender (previews will just be ignored and erased if file is saved in another version of Blender again).

It works fine on OSX!

Thank you very much, month29

paolo

Hey, quick note to say I fixed also win crash, and updated the builds on http://download.blender.org/ftp/mont29/ :smiley:

Thanks! Will test this tomorrow. I really like where this is going.

Small and discrete ↑ “UP” ↑ :stuck_out_tongue:

I noticed some of the posts on the developer site patch, ill open this and see if I can provide some extra feedback. I noticed your comment on whether or not seeing all the content in multiple levels of folders would be useful, and IMO it would be. Blender internally doesn’t have a robust way of managing large asset quantities, plus due to memory constraints i’d typically separate assets into multiple files based on what they’re being made for, so being able to use Blender’s file browser to get a broad overview of the contents of those files at the same time sounds very useful, and not something to remove.

Time to test some more… o.o

Hey, thanks a bunch! I just updated the testbuilds on http://download.blender.org/ftp/mont29/, made several ‘corner-cases’ fixes lately (especially regarding selection during ‘listing’ process, when it takes a long time, like flat listing of a dri containing many .blend files).

Crashes when I try got to Image > Open, go to directory with lots of images, and change view to thumbnails. Win 8.1 64, 16gb ram, gtx 970.

@PLyczkowski And the current master does not crash on the same directory(-ies) (though we are trying to bust them out, our image-reading code still sometimes crashes on broken or uncommon images…)?

sorry for double post, this one can be removed!