Maybe it's an idea before thinking about solutions, to find out what people's problems actually are that cause this to happen. I've transitioned to Blender from 3DSMax as a very casual 3D user, so my memory might be a bit rusty. But I seem to remember that if you created a material in Max' material editor it got saved even it wasn't applied to an object. So if you opened up a file whatever was present in the material editor was still present when reopening. (at least that's how I remember it)

The thing with Blender is - to me as a casual user - that it's really a high end piece of software that's very flexible, but also very hard to comprehend. I think that maybe for 90%-95% of users the only things that they will ever miss are non-saved created images, materials in the shading editor and maybe actions or geometry nodes setup.

The whole fake user concept is very useful, but also very hard to get your mind around as a casual user.

If you're working on something you might want to try various options - say a black and white chessboard or a red and blue chessboard. It takes quite a lot of discipline from the user to check the 'fake user shield' box for everything that you *might* want to keep when reopening the file. It's really easy to forget and overlook, because it's not easy for people to understand either.

It would be great if there was some sort of smart way to seperate 'intentional' user data from dat 'leftovers' i.e. stuff that might be useful when reopening a file and stuff that is essentially garbage data. Because if you don't know what the data blocks are *while* using it, going over a list upon saving and closing won't make things better.

Conceptually to me there's a big overlap between 'fake users' and 'assets' They're both ways to mark data that can be used at a later time, between sessions.

Reading this all back, it seems I'm basically rehashing a lot of points mentioned in

https://devtalk.blender.org/t/proposal-explicit-management-of-data-blocks-and-possible-deprecation-of-fake-user/22852

This is a proposal that appears to be on the right track in thinking about these things. I think it's a really good idea to try and make the distinction between things you'd like to keep and the things that are fine to lose as easy as possible for the user. The easier this becomes, the less likely accidental data loss will occur.

Sander de Regt


Op 17-5-2022 om 13:38 schreef Julian Eisel via Bf-committers:
Neither are great for forgetful users, but it sounds like some indications
could go a long way here, compared to rewriting the garbage collection system.
There is no garbage collector that would have to be rewritten really. There’s
nothing that actively searches for garbage. Blender just keeps track of how
often each data-block is used (important functionality to keep, regardless of
this discussion), and skips saving unused ones (that don’t have a fake user).
It’s more of a garbage dumper than a garbage collector :) So we don’t have to
rewrite things really, but develop a new data-block management UI and tools.

———————————————————————————————————————————
Julian Eisel - jul...@blender.org - www.blender.org
Software Developer
Buikslotermeerplein 161, 1025 ET Amsterdam, the Netherlands
————————————————————————————————————————————

On 17. May 2022, at 04:20, Dan McGrath via Bf-committers 
<bf-committers@blender.org> wrote:

Hi,

Perhaps you could add a count of things to be tossed out during quit in the
save dialog, such as "If you quit, you will lose XXX number of fake user
objects!".

Or maybe, similar to how you warn about unsafe python scripts during start,
you could give users a one time "WARNING! Fake users will be lost on quit
or crash!" when they create the first fake user object.

Neither are great for forgetful users, but it sounds like some indications
could go a long way here, compared to rewriting the garbage collection
system.

On Mon, May 16, 2022 at 4:59 PM Zack Brown via Bf-committers <
bf-committers@blender.org> wrote:

Hi again,

I feel like I have a better understanding of the debate now. On the one
hand, we want to protect user data; and on the other hand, we have a
garbage collector that eliminates data that the user in theory doesn't care
about. And in the grey zone, we have data that the user *does* care about,
but that gets garbage collected anyway. And the problem is, how to prevent
the user from losing data they want to keep, while avoiding keeping data
the user doesn't want to keep.

It seems like one primary suggestion is to simply throw out the garbage
collector -- no more garbage collector, no more problem. If the user
doesn't want a piece of data in their file, they would delete it by hand.
The counter-argument being that the garbage collector is actually really
great and helps us keep our blend files clean and useful.

Another primary suggestion seems to be issuing a warning if the user tries
to quit blender with data that will be garbage collected. The counter
argument being that it would be complicated and bizarre to present the user
with a potentially dizzying array of data and options for that data before
they could quit the software.

It's a fascinating problem, in a piece of software that seems to specialize
in presenting the most unbelievably brilliant solutions for apparently
unsolvable problems, like how to render 3D images in glorious detail in
real time. Obviously impossible. Yet there it is!

Here's a suggestion from a  non-expert who knows nuttin about nuttin: Don't
kill the garbage collector, and don't warn on exit. Instead, why not give
all orphaned data their own prominent collection in the outliner? Maybe
something called "Garbage Data". With a nice set of tooltips that appear
when the user hovers over the various relevant bits. Things that say
something like "Data in this collection has no user and will be deleted
when you exit blender. To prevent deletion, follow the instructions at
http://usefuldocs.blender.org/garbage_data.php to give the data a 'fake
user'."

But I'm sure you guys will figure out something 100x better than that idea.
Can't wait to see it!

Be well,
Zack





On Mon, May 16, 2022 at 6:40 PM Jacob Merrill via Bf-committers <
bf-committers@blender.org> wrote:

What about popping up the outliner / orphan data window in quit, and
showing exclamation icon somewhere if there is a orphan

On Mon, May 16, 2022, 9:15 AM Harley Acheson via Bf-committers <
bf-committers@blender.org> wrote:

I’d love to have someone flesh out this “warning on quit” idea,
because I
can’t imagine it actually
working in practice.  Mostly because of confusion on what “saving”
really
means. Users should
rightfully only consider that “saving their data” does exactly that,
not
that some of their data might
differ and have to be “saved” in different ways.

As its simplest, imagine that you have no unsaved changes in your file
(you
just did a File/Save)
yet there is orphaned data at the time you select “Quit”.  What exactly
does the warning say?
“You have unlinked data that will be lost”?  How do you communicate to
the
user what they should
do now?  Is there a way to offer to do it for them somehow, or is this
warning going to just have an
“Ignore” and “Cancel” button? Text that says “please mark anything you
want
to keep by marking
the data with ‘fake user’”? That will not help a typical person being
caught out by this

Now imagine there are both unsaved changes and orphan data at the point
of
“quit”.  We now
have to warn about unsaved changes that can be “saved” and there are
other
things that should
be “saved” in a different way before you “save” so that they are
actually
“saved”. So we have a
button to cancel, one to save the unsaved changes while ignoring orphan
data, and what else
is on the dialog?

I'm not sure there is sufficient lipstick that can be put on this pig.

Harley
_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-committers

_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-committers


--
Zack Brown
_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-committers


--
Cheers,
Danny

----------------------------------------------------------
Danny McGrath - danmcgrath...@gmail.com
GPG key: EDF6 AFF5 2086 F93A 1F59 36A5 44B6 26F3 6968 71CA
_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-committers
_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-committers


_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to