Let me respond to specifics here:
Absolutely not. The feeling is 100% justified. Though it is not a super urgent problem, since the current snippets are so small, it still does not feel right and is harder to debug and so on.
I have another round of refinements on themes queued in a couple of months, when I get to that I plan to add a
theme.js. This will be enormously cleaner than just adding it to head. Migration from a theme authors perspective should be trivial.
This is partially true, you could add translations, but it would involve a bunch of manual patching which is no fun. I will also queue up dealing with translations next time I work on themes.
Regarding site settings I acknowledge the problem. I do not think I will integrate theme settings into site settings, but I could look at having a spot for theme settings when you edit a theme. Just like we have uploads and so on.
Very interesting suggestion, but there are a bunch of edge cases there.
If theme component is enabled on 2 out of 5 themes, (what happens when you tick box? what state is the box in?) I guess we could do the “light grey” “half selected” box in that case and then allow you to turn it white (empty) or full (black).
It can work. I will think about this some more.
Regarding your particular pickle, about wanting a more consistent workflow. One olive branch I could offer is perhaps adding a
rake theme:install task (pr welcom), then you could still have the themes in your app.yml which simplifies flow somewhat.
Layering CSS is not a trivial problem, but if you are careful you can ship theme with default and then have your core plugin override to the consistent styles. Which can leave everyone happy.