Re-evaluate "Reset to Default Value"
Users have the option to reset a property to its default vaule (in UI: RMB Menu → Reset to Default Value). However, this barely works, in the majority of cases it just sets it to its minimum value. So as it is, it can definitely be considered broken.
Keep it or wipe it out?
Just wiping it out would safe us some work, but IMHO this feature would be very useful - if it worked. It gives users some safety, since they don't need to be afraid of breaking something by playing around with values. (I personally wanted to use it all the time.)
How to solve?
First of, we need to ask what we define as the default value. AFAICS there are three potential default values:
- RNA default value
- Startup file value
- User defined value
RNA default value:
RNA already supports default values, assigning one to a property is a one line fix. The issue is that it had to be done for all properties that miss it (quickly checked, more than 2000, maybe 3000 properties).
To solve this, I'd propose we add a maniphest task that lists all RNA files and ask people to submit patches that add default values for theses files. Think operator RNA properties could be neglected a bit.
Note that these default values should match the ones from the startup.blend, meaning they had to be kept in sync too.
Startup file value:
AFAIK it's possible to get the property value of a .blend using Python, so we could do this with the startup.blend.
Using this solution we wouldn't have to worry about keeping startup.blend and RNA defaults in sync.
User defined value:
This should work 'on top' of one of the other two solutions, and it's obviously the solution that would be the most configurable. It could be set in a popup that is invoked from the context menu (this popup could also allow resetting to non-user defined default).