Circles and hexagons!? WTF? Unless John can elaborate, that is definitely not a CSS problem; images will do fine.
2 color gradients would probably be sufficient, especially for CSS3. Maybe in version 4 there could be more, but… baby steps. Although I would add that designers are probably going to get fed up really quickly with the fact that those gradients can’t do alpha transparency so I’d love to see that in CSS3. (That is to say opaque on one end, and transparent on the other.)
I find it strange that with multiple backgrounds the first listed is the closest to the user, yet when you do background shorthand the background-color comes first and it is the furthest from the user. That strikes me as a pretty big oversight. Shouldn’t it, for the sake of consistency and for the sake of people new to CSS, be the same for both: either first is closest or first is furthest?
I would keep ’round’ in background-size and leave -repeat only to handle repeating. Keep it simple. Perhaps the keyword ‘approximate’ or ‘average’ instead of ’round’ would be better. ’round’ might get confusing for new users looking for rounded corners. ‘approximate’ is pretty explicit.
It would be nice if background-origin could recieve a % or px so I could have a block of repeating images that begins at a certain point inside the containing block. Or it would be good if I could set a number to background-repeat such as repeat(3) repeat(4) so I would have a background that had my image repeated only 12 times (3 on the x axis by 4 on the y axis) and then ends.