Please correct me if I am wrong, but variant settings like tab-sizes, border widths and things like that may also be defined as variable and promoted for modification in a user-defined theme variant.
So if the base Meetio.sublime-theme defines a "font_face": "system"
a user can easily create a Packages/User/Meetio.sublime-theme to override it with its own favorite one with only one single line to change.
Example:
Base file
{
"variables": {
"main_font_face": "system",
"main_font_size": 12,
"label_bg": "hsl(210, 11%, 96%)",
},
"rules": [
{
"class": "label_control",
"color": "var(label_bg)",
"font.size": "var(main_font_size)",
"font.face": "var(main_font_face)",
"font.bold": false,
"shadow_offset": [0, 0]
}
]
}
User file
{
"extends": "Meetio.sublime-theme",
"variables": {
"main_font_face": "Roboto Mono",
"main_font_size": 10,
}
}
This way theme customization is reduced to nothing else than changing settings. We could then create a side-by-side view which displays the base file on the left and the user file on the right. I could even imagine auto-completion functionality just like with normal settings (via PackageDev).