Fix Duplicate Dependencies
Tuesday, January 21, 2025
Consider the following (ignore the theme issue):
Dialog/Border.Fill appears four times because the Color Dialog, Gradient Dialog, and Fill Dialog all use the base Dialog's Border.Fill attribute.
Although they all use the same attribute, they are all called to resolve their link to the Theme/Gradient attribute, hence the multiple appearances in the dependency list. This does not indicate that the Dialog/Border.Fill attribute is linked four times. It is just reapplying the same link.
A big question here is how to handle the dependency list as well as how to handle attribute inheritance now that base attribute sharing is recognized.
So technically, the following is the accurate dependency tree:
The above indicates Dialog/Border.Fill still linking to the Theme/Gradient (represented with This), while the other dialogs continue to use the base attribute. The base attribute is shared.
Is this sufficient?
Viewing Theme Attribute Dependencies
It should be noted that viewing dependencies of theme attributes is completely irrelevant from a theme editing point-of-view.
It can be helpful to view them in terms of the active theme if there is ever a way to view the state of the Layers Controller.