I noticed, that when defining exported properties through _get_property_list, the values are always saved to the .tscn file. Whereas when using @export annotations, only overrides are stored – defaults are assumed to remain the same.
Is this an inteded feature or am I missing something? I use the _property_can_revert and _property_get_revert methods too.
My default values are always static, they don’t change ever. I’d expect the same behavior as with @exported variables: Unless the user changes the value in an inspector field, the variable isn’t stored in the scene file. It makes changing defaults a lot easier. Currently I end up grepping all of the variable occurrences in all scene files (where it has the old default value) and changing it manually to the new default.
Not sure why it is like this. It doesn’t feel like a bug, but it’s strange.