Theme Lineage
Tuesday, March 14, 2023
Tracking theme lineage would potentially solve a very specific problem.
Themes are supposed to work across multiple applications. Also, there is an implementation file for every application supported by the theme. This becomes a problem when a user tries to use a theme with an application that doesn't support it; the theme would lack an implementation file for the application.
This doesn't mean that the user can't apply the theme and implement it for the application. However, there still needs some kind of implementation to be a starting point.
The starting point could be taken from either of the default themes, light or dark, but there is a good chance that they would serve as poor starting points for a theme that has been significantly changed.
Instead, with lineage tracking, the theme's ancestry could be examined to determine an available and compatible ancestor theme to inherit an implementation from.
The quality of the inherited starting implementation would depend on how significantly changed the given theme was from the ancestor theme.
Ancestor Theme
An ancestor theme is a theme from a given theme's lineage.
Compatible Ancestor Theme
A compatible ancestor theme is an ancestor theme that contains an implementation file for the app being used.
Available Ancestor Theme
An available ancestor theme is an ancestor theme that either exists on a user's system or exists in the community themes database.
Concept