​Using your example produces odd results. The file "text.phtml" doesn't exist in my theme anymore yet it renders properly. If I change the function call to a different file that does exist, I get the error: "text2.phtml" does exist inside the /core/global/_base/ folder and is a clone of text.phtml.

Ability to add setting headers Like with plugins, the ability to have something that replicates addHeader('My Header'); would make tabs with many settings a lot more readable.

Ability to add setting descriptions I understand that you want to keep settings compact and let the title describe the setting but some settings simply need further description. At the moment, I'm bypassing this limitation by creating settings manually with PHP but the ability to simply supply a "settingName_desc" in lang.php would be perfect.

I can hard code a URL which works but I can't ship a theme for multiple users with that approach for obvious reasons. It would be awesome if the {resource=""} syntax could be parsed on that setting type.

I'm using the 'upload' setting type in my theme settings so users can easily change the theme background. However, I cannot specify a default image using the '{resource="x.jpg" app="core" location="xx"}' syntax.

​Yep, It's the most valuable asset any web designer could use IMO. Create a GitHub or BitBucket account (Bitbucket allows private repository's for free) and then I recommend SourceTree for Mac as your client (Unless you fancy learning GIT via the command line). There's tons of tutorials out there. Look into how to create your first repo, create branches, making commits, pushing your changes to Github or Bitbucket etc. Github/Bitbucket also have excellent issue trackers which you could use for your themes. It's quite confusing at first but an absolute life saver in the long run.

​I've setup a GIT repo inside my /ips4/themes/2/ folder. This tracks any changes with files and basically replicates the behaviour of 'difference reporting' in IPB3. Otherwise there's no way I'd know how to upgrade templates between versions without manually comparing the code.

Firstly, the structure of my /css/core/front/custom/ folder is this: _base.css custom.css theme.css _base.css contains my framework styles, custom.css contains my framework styles which contain specific settings and theme.css contains any theme specific styles. This structure works fine when designers mode is enabled . All three stylesheets are automatically loaded and work great. When designers mode is disabled , only custom.css is loaded and the other two are ignored.