First I want to say that the idea I present here would likely lead to a much better maintained reference in the future, but is also probably very difficult to implement, maybe impractically so.
As we all know (or should know), the reference is full of undocumented, poorly documented, and even wrongly or conflictingly documented things (I should report the wrong ones, which are rare, but I don’t). Basic things (Like NodePath.SetR) remain undocumented. Why? Because it is a pain to document them, and the people in a position to do so are spending their time doing much more valuable things (Like making panda actually worth documenting). Thus I propose a system that would make it easy for people to improve the documentation. Here is my idea:
As I understand it, the documentation is generated by looking into the source, and digging out various information, and optimally some descriptive text. If one were to simply turn the reference into a wiki, it would get out of sync with the source. To edit it, one must have a CVS account, edit the corresponding files, and commit the change. Then, once a new version is released, the reference may be updated to reflect the change. Please correct if I am wrong about how the current system works.
Suppose there was a reference site that was directly used the source. Qualified users could make a change, directly in the reference, and commit it, which would actually commit their change back to the documentation in the repository. Conflict resolution could be simple, if there is ever a conflict, simply inform the user, and let them refresh the doc (to get the new version) and remake their changes. The provided text should be checked issues, and properly escaped as necessary so it can’t break the actual code.
Implementing such a system would require (among other things) version control commands to be sent by the web server, so there would have to be quite a bit of scripting there to get it all to work. I’m not sure if it would be practical, but I know that if it were implemented, people like me would be a lot more inclined to work on the documentation.
I personally don’t have the required skills, or services (an appropriate server) to implement it, but maybe someone wants to give it a try?
Anyway, any thoughts about my idea? Could it work? Would it help?
Thanks
-Craig