I've been thinking that in order to truly have a purely CSS-modifiable theme, many designers are going to wish that they could move around bits and pieces of the HTML. Should taxonomy be before or after the node content? Likewise with the name/date attribution... and the links. Should the messages appear above or below the help... or somewhere else on the page completely? Allowing Zen subthemes to define their own template.php, node.tpl.php, comment.tpl.php etc... is definitely the beginning of this..
Wouldn't it be great to have some sort of drag-and-drop interface for moving this stuff around. But then the page.tpl.php file starts to either become full of logic or this stuff all moves into template.php and the page template essentially just becomes
<?php
print $page_output;
?>This has got me thinking about the possibility of making Zen into an entire theme engine with the capability to add lots of preferences and choices for these types of things. This would also give us the possibility for Zen subthemes to be defined and distributed in different ways -- all based on a configurable layout of the page with standardized element ids and classes.
Hmmm.. this idea is still gestating, but I'd love to have a discussion here with some ideas about this concept.
The more I think about it, maybe this is a separate theme engine... but it's also a separate project from Zen, similar with some concepts, but with a different goal: allowing the administrator to arrange the layout of their site in a similar way to how Garland handles color -- a true g.u.i. experience for theming.
Excuse my rambling.

Comments
interesting idea...
does sound like an engine, though, in which case, a lot of that logic could be collected in other places.
it's funny that more of the theming options aren't in modules...like funtions.
http://peerproducers.com - Peer Production Praxis
http://alexrollin.com
Theme Settings API
If you dig deep into
system_theme_settings(), you’ll find the ability for themes to add their own settings is already there, but the PHP Template engine doesn’t expose this to its themes.I’ve created a module called Theme Settings API (http://drupal.org/project/themesettings) that allows any theme to add their own settings to the /admin/build/themes/settings/mytheme page. It simply builds upon the existing (and poorly documented) API for adding theme settings.
So all Zen would need to do is add a zen.theme file with a
zen_settings()function and, bam!, instant configuration settings.The included Theme Settings module also allows the admin to take control over the “Read more” and “Comments” links. It has content-specific and theme-specific settings. So you could say “Listen now!” for a podcast node and “Peruse at your leisure” for a book node.
And before we do drag-and-drop we‘d need to implement weights to order items (so that Zen is still accessible.)
- John (JohnAlbin)