Page 7 of 7

Re: 2.3 beta

Posted: October 27th, 2016, 11:32 am
by Amedee
There are pros and cons about saving changes...

It really depends on what your view angle is.
When I load a profile I expect to get back the exact same settings I had when I saved it, which is not the case if you only save changes and the 'base' has changed in the meantime...

I can see the value of working with different 'layers' of preferences and different priorities -- but it requires a shift in mindset.

Re: 2.3 beta

Posted: October 27th, 2016, 3:10 pm
by nallath
Neotko wrote:Problem is repetition. If the unsaved data depends on Cura data and future versions change that data, theen future prints will change without knowing why/howto fiz it. I understand that heating sequence depends on speed/s that the cores heat, but even that info should come from the machine core and not cura?
Again assuming that if future data is changed that the version upgrade will also not take these into account. We know at any given moment what the profile was. So if we decide to change setting_b to 50, and your profile does not have it, it's a simple matter of adding the profile at the point when you changed it.

Besides, if we add a whole new feature (that your profile doesn't have either) or change behaviour when parameters are the same, you also get different results. Having all the settings only gives you the illusion of safety.

Also note that no version of Cura 2.x actually had fully flattened data.

Re: 2.3 beta

Posted: November 9th, 2016, 8:38 am
by Nicolinux
Nallath, there is no illusion of safety. Problems with broken profiles are real. I just updated to 2.3.1 and already have a broken profile from 2.3.0... Imagine what will happen if anyone tries to load a profile that's one year old. If Cura would export all settings, then at least the user would be able to manually sort out errors. This is way easier than going back in time and recalling which settings were the default at the time the profile was exported.

Sadly there is no ideal solution. A safe solution would be to version every Cura profile with a git commit hash of a repo which contains a plain text file with all actual slicing options. Then for every Cura update have logic in place which merges additional settings or at least informs the user about incompatibilities.
Granted, this is an advanced use case, but what is the alternative? Leave it like it is and when settings are removed or added - break old profiles?