Alright, I realize I might be trolled for this, but I thought it'd be good to get the idea out there anyway so that people start thinking about it. Right now, all editing is done in flat files. That's great. I like that. I can work with that, and it's fun. However, the tokens are becoming more and more diverse and arcane. Some of them crash the game if used improperly, some of them have parameters that are obscure and buried within the bowels of the Wiki, and many are obsolete or redundant.
What I propose is something a bit more flexible and extendable. Something easy enough for a beginner to pick up, but which can be rapidly updated and improved without relying on coders. A community effort, however the coding work required past completion is minimal or nonexistent if it's made properly, so anyone could help improve it in the coming years.
Enter <project>. Most modders might realize that the raws are (at least currently) quite standardized in format. There's no reason there can't be a GUI-based editor made right now. It'd be relatively easy to slap one together, but it wouldn't stay current. Where the difficulties come in is that DF is being constantly updated and improved. New tokens added, removed, new parameters, new possibilities, etc. So why not allow people to add and change those within the editor itself?
I'm not saying it'd be easy at all to make. It'd require a lot of planning and foresight. Lots of coding grunt-work in MSVC or similar. But with DF's community, I believe it can be done.
What's required isn't a list of things that can be done, but a list of possible rules that tags could have. Off the top of my head, there are tags required within a raw without exception ([OBJECT:<whatever>] for instance), tags that have a list of acceptable parameters and no others ([OBJECT:<whatever>] being CREATURE, BODY, DESCRIPTOR, ENTITY, ITEM, etc.), tags that may only be placed after another tag if it has a specific parameter (so [CREATURE:<whatever>] would not be placed after [OBJECT:ITEM]), tags that have to be placed after a specific other tag for them to affect that definition (a category which most tags fall under), tags which are basically required to be present beneath another tag ([NAME:<singular>:<plural>] maybe), tags that have one or more parameter, tags that don't, tags that require one or more parameter or don't require some or all of them, tags whose parameter(s) are arbitrary strings and not hard-coded ([NAME:<feh>], [CREATURE:<feh>], [ENTITY:<feh>], [REAGENT:#:REACTION_CLASS:<whatever>]), tags that accept only numbers for their parameter(s), tags that only accept a certain range of numbers (none that I can think of off the top of my head, but it's possible), tags that have to fall under a certain order with other tags to remain effective (ditto), tags that can be added multiple times ([SPHERE:<beh>], [ATTACK]s, etc), and so on. I'm sure there are others.
All of these could be checkboxes, fields, or lists in the tag editor. For instance, to define PREFSTRING as a tag I would make it have one parameter, and for that parameter I would mark it as being an arbitrary string. I would also check that it must fall under another tag, in this case [CREATURE]. Since [CREATURE:<feh>] is checked as always falling under [OBJECT:<feh>] when [OBJECT:<feh> is CREATURE], PREFSTRING would not be seen when editing items, languages, and so on.
I realize this all might be confusing, but it's central to my idea. Once all tags are defined this way, the main program could be used like any other mainstream game's mod suite, such as the TES Construction Set for Morrowind, Oblivion, etc. Imagine just checking off and filling in the things you need for any one creature you're creating. Having all the tokens in front of you, with community-created help text available as you hover over their checkboxes and fields. Don't have the sphere list handy for defining what your new critter can be worshipped for? Just click the list box next to it and select what you need. New update made [SPHERE] accept an arbitrary definition, and there's now a scary new raw file for defining their associations (woot!/augh!)? DESPAIR NOT! Your friendly DF community has already updated the tag definitions, or will soon, and now you have a whole new editor, no coding required.
I'd hope it would also encompass raw-file merging and reversion. That might be for later versions. The tag definition file might not have to be downloaded with this if the user just wanted a mod management tool. I don't know.
It's a dream at least. I can't make it on my own, not quite yet at least, but maybe someone will be inspired to create it. For now ideas and suggestions are welcome.