I would like to be able to define custom keywords for materials. Below is an idea for a material system that would do that. I believe this would work well with sketchup or any other package and is based on your current UI and code.
In this system we would be able to define material “keywords” just like we currently define rendering “settings”. Each time we adjust material settings and click “save as new keyword” enscape creates an xml file with that name in a directory “materials”. Any new xml files in that directory would make a new “keyword” available to Enscape just as the settings files do now.
You could include the standard keywords that you provide as xml files in the materials directory. If we make changes to the default definitions, and click “save”, or edit those xml files directly, we would override the default definitions.
What is nice about this approach is that it would allow for organic growth from what is going on now. You could implement at first without any material UI… just provide the functionality to have enscape look for xml files in the “materials” directory. Doing this would give you time to develop a robust/simple UI for the material editor, while still providing users with the means to create great imagery with your product. In the end, having the ability to edit materials both via UI or a text based workflow would be great for flexibility / productivity and would set your product apart from the competition.
Below is an example of an xml structure similar to your existing settings file that could work.
25
55
75
15
1.2343
55
55
\relativedirectory\image.ext
\relativedirectory\image.ext
\relativedirectory\image.ext
\relativedirectory\image.ext
\relativedirectory\image.ext
\relativedirectory\image.ext
\relativedirectory\image.ext