Allan,
B) themes that only complement a basic theme [...]
GUI mockups appreciated -- the initial debut of themes did allow this, but it was horribly complicated, so I opted for the much simpler “just one flat list” approach.
Wouldn't an interface like you can find in System Preferences>International>Languages work? Just take your base theme, and have that as the lowest one, and stack the others on top. The highest one wins if there are multiple definitions. If you have subthemes for PHP and say LaTeX they won't even overlap much with say "iLife 05". (You could even add checkboxes for easy on/off of themes. And themes would get there by drag & drop from a "all installed themes list").
C) and as a side note to B) an option for bundle developers to inject certain stylings into a theme.
Technically possible, e.g. the Diff bundle does provide the (default) styles for markup.inserted, markup.deleted, and markup.changed -- but it’s not something I endorse, and the bundle editor GUI is not made out for visual settings, but in practice bundle preferences and visual settings (themes) are all just settings with scope selectors -- this does though have the disadvantage that bundles would inject into every theme (though with lower priority than the theme itself), meaning that this is not useful for colors (as the bundle can’t know if the theme is light on dark or dark on light.
Well, we could try to make things smart, where the bundle itself can check the color settings and do some math on the numbers, maybe invert the color or add some red tones… ;)
D) Maybe the ability to add empty lines before or after a scope? [...]
You mean like e.g. setting the margin of an element using a scope selector? Long-term I have some enhancements planned for the display model, but this is very long-term, and I believe this would be the more general solution to your request.
Yes, exactly. And, as a variation of this - lines in those margins, sou you can have certain blocks actually visible as blocks or you can have separators that are theme controlled, not lines full of "-" ;) But I can also see this is a bigger task to implement but less important; most of the theme functionality would do something similar.
Dan