Faster Theme Editing
Saturday, June 17, 2023
At this time, theme editing can take a lot of time. The theme editor can handle customization of specific widgets and their attributes, but there is currently no mechanism for changing values at mass scale.
I spent so much time focusing on individual widget customization that I forgot to consider the ramifications of only providing individual widget customization.
That does not mean that mass-scale theme customization can't be implemented.
Application Attributes and Linking
In most other applications, a theme consists of a set of color values which are applied to the widgets that use them. Changing one of these values will change the appearance of many widgets.
Layers can handle something similar to this while retaining the individual level of customization by providing a set of application attributes and extensive use of attribute linking.
The application could provide a set of attributes with names for general use, like Primary, Secondary, and Tertiary. These attributes could be linked to by any widget within the application's widget hierarchy, and then those attributes can also be linked to, and so on.
Once most of the widget attributes are linked to the app attributes, then most of the theme can be changed from just modifying those app attributes. There should also be a mechanism to break links so that individual widget customization can be achieved again.