Cheers.
Aside from comments within said files, though that's obviously not comprehensive. But I did try to cover "things you couldn't possibly guess at" (such as various enum names...).
I'll keep that in mind when I'm guessing how the less obvious ones should be interpreted
The reason for the question is that I'm dynamically building the data schema through inference, using the vanilla data set as the source. (complemented with hints for interpreting ambiguous portions of the data)
The editor that sits on top of this will have a set of generic UI elements for general editing, and overriding these there'll be a set of specialized UI elements for easier editing of particular bits of the data.
This very low coupling between the editor & data should minimize maintenance requirements whenever you alter or expand the game's data file structure, and the modular nature of the UI elements will make it easy to iteratively improve the tool.
Also the generated schema should form a fairly comprehensive documentation of the data format, and can be used to automatically validate hand-written json files too.
Incidentally, is the "\weapons\interdictorbeam.wpn" file used at the moment?
I guess not, as it appears to contain an illegal field.
"textureType":["graphics/fx/beam_weave_core.png","graphics/fx/beamcorec.png"],
Every other .wpn file assigns a string (ROUGH or SMOOTH), not an array of strings (file paths).
I'm having to forcefully ignore it at the moment, as it breaks my schema generation engine