New Section Proposal
This is Double_Dose. The api matrix math functions are not working with what I'm given, so I've got to get a deeper understanding of the blender math and functionality of bone rotations.
I think it would help me and many others tremendously to have some detailed specifications of the all the functions of the source code (organized and linked well of course). If I create enough, I'd like to add those detailed specifications of each function to the blender dev wiki. In the future, test cases and links to these specifications could be added, helping with testing and getting the versions of blender churned out faster.
As far as organizing these specifications go, list headings would describe simple activities you can do with Blender, general event names like "pressing tab key to go to edit mode," "rotating a bone," "translating an object," etc. The headings, would list all specification links to functions involved in the activity. This would be so you could get a quick yet detailed understanding of how blender works, without sorting through and mentally processing code... totally speeding up development according to the principles of software engineering. gaaaaay
A specification format without instructions could be:
Natural language version:
Format with instructions:
Header (make sure to include types and parameters):
Function location (Package path ---- file path (name included) ---- line #):
Break condition (what caused program control to go to this function):
Purpose(In a sentence or two, what does the function do or help, or how does it fit in to the larger process):
Natural language version (In English or another human language, what does the code do):
An specific case would look something like:
int exampleFunc(string example)
examplePack/file/ ---- C:/Blender/source/example/exampleFile.cpp
mouse was moved into 3d window
compare mouse click location to an object location for...
must be in edit mode; mouseVar global must be set to...; ...
Natural language version:
Takes the location of the mouse pointer. Stores it for later use if a left click occurs. ...
I just wonder if I would be violating the copyright of the blender code by posting specifications here.
Are there alternative locations to put this information?
Would anyone be interested in helping?
Re: New Section Proposal
this sort of doc is planned, I think it'll happen soon, but need a good design to be linked in the source itself. I've formatted a bit your data presentation, see below.
About the Function location I'd prefer if we put the function doc directly in a page named as the file itself, like for example Dev:Trunk/blender/source/blender/blenkernel/BKE bmfont.h.
|Header||int exampleFunc(string example)|
|Function location||examplePack/file/ ---- C:/Blender/source/example/exampleFile.cpp|
|Break condition||mouse was moved into 3d window|
|Purpose||compare mouse click location to an object location for...|
|Pseudo code||Takes the location of the mouse pointer. Stores it for later use if a left click occurs.|
|Dependencies||must be in edit mode; mouseVar global must be set to...; ...|
Develop Blender - design documents
how about diving the design documents into versions like:
design documents 2.57 C implement A implement - done C idears B idears A idears 2.56 C implement - cancled B implement - done A implement - posponed C idears B idears A idears
im not sure what its for yet, just assuming.