Tech Tag Foundation
For some time now, @KerbalKore and I have been working on a pseudo-historical tech tree (named CWPT) , with parallel American, Soviet, and European branches. The vast majority of the US branch uses Bluedog Design Bureau. However, BDB has several hundred parts, and configuring each one individually would be a mammoth undertaking. In light of this, we decided to instead 'tag' every part, thus allowing us to use tags to group parts and greatly lessen the workload. Soon enough, I realized this could also be helpful for other tech trees wanting to incorporate BDB, resulting in the decision to split out the tags into a standalone mod to be released first (after the tree itself has had months of delays due to IRL circumstances). I also realized that the tags as they exist now are not the best suited for generic use, as they group parts into the real rockets/spacecraft. This makes sense if you aim for a historical-ish progression, but not so good for a purely gameplay/balancing-focused progression.
How it works
TTF is essentially a giant ModuleManager patch that adds a single line to all supported parts of each supported mod:
%techtag = tagName
Then, when a tech tree mod loads, it can assign parts to nodes based on the tag, instead of the part name:
@TechRequired = nodeName
Part modders are also given the option to allow the tags to be added directly into the part configs, as is being done with BDB.'
It shouldn't really be an issue, but any patches that use or affect the tags MUST run before LAST[TechTagFoundation]. Any custom fields inserted into part configs throw log warnings if they are still there when KSP compiles the parts. To avoid log spam all tags are removed from all parts in the aforementioned ModuleManager pass.
Currently, the tags are simply the names of rocket stages or spacecraft, meant to align with the original goals of CWPT. In the interest of easing the burden on other tech tree makers, I am asking what level of granularity and what 'categories' of tags should be used.