Dev:WeeklyMeetingAgenda/2005-12-10th
目次
overview
- general issue - developers frequently get script to just a basic state 'first 80 %'
- we need them finished and polished for inclusion
- docs, interfaces, installation, a site, etc
docs
- we have docs in the scripts themselves, that get parsed and shown by the doc browser script in the help menu
- we can follow the docboard and try to get good wiki pages for all bundled scripts
- these pages should probably be extended versions (with eventual images) of the docs in the scripts
- the basic interface should be similar across these scripts
- the wiki pages can then become a book on bundled scripts
- so the extra work in getting this gives us good documentation "for free"
Space handelers
- there are 3 ways to do it right now.... none are good.
- it should work fine using the registry dict
- but we need actual examples to discuss this better
- My example is that I have a brush tool. I want to draw a circle cursor.
- register the same script for both handlers
- don't remember if I actually tried to, but you can put DRAW and EVENT there
- sace handelers in the blender file also. so the text files dont need to be open in Blender? Then we can distribute space handelers with blender.
- Space handelers arnt available unless they are an open text file in Blender
- allow a text to be both event and draw handler
- create a space handlers scripts group
- for 2.41 menu access to scripts
io scripts
- make importers and exporters a special case and create a subproject to take care of them
- well organized description of scripts abilitys and limitations similar to that offered here http://www.okino.com/conv/filefrmt_3dimport.htm
- some i/o scripts require long docs because of small features, special cases, etc., so at least some of them will need their own doc page
- we need to know and to inform what each bundled i/o script can do
- Somebody will manage the I/O scripts? Documentation? - will have a central place to document scripts-
- we need a few people interested in this, updating the "compatibility matrix" and making sure the scripts work we'll need to collect test files, too for each supported format
- we should have a folder in cvs similar to lib that contains our test suite, including test files for importers and exporters
- would be good to have i/o script is written as a module, then any other script can use it to import or export files to that format
- drag and drop for scripts that support the extensions - ie obj, lwo, etc. (see .blend support for drag and drop)
- so that's a desirable thing (to have all i/o scripts accessible as modules)? In practice that means they'll be split in two files: executable (for the menus) and module
- have a function in every importer called load() - it can be the same as the Fileselector uses
- then use if __name__ == '__main__': load()
- blender has hooks for that already, if a file is not recognized it's passed to a python related function, currently unimplemented (may have existed before 2.25)
- we'll need that to know which script(s) to try to use when loading files from command line, etc
- a group will be created, will use wiki and will check the current situation with i/o scripts, ok?
- could have a file broker- 1 python script that calls all the others and makes a good decision about what to do-
- many scripts will overwrite existing meshes with the same name because of the way PutRaw works- also- imported data should repace current selection.
- exporters should follow a global define about what to do if the file already exists, etc.
- the load function could have a defined list of return values.
Mesh Module
- very good - still some occassional issues with it - Cambo will report
- we should still keep NMesh around though for
- change all bundled scripts to Mesh module and confirm that it doesn't break them
- for 2.41 we'll have time to discuss a reworked api interface, to get rid of all inconsistencies, bad choices and legacy stuff
access to face edge vert mode
- there is no way to select between Vert/Edge/Face mode
- need broader modal access - further discussion moved to mailing list
scripts inclusion process
- there's a huge general issue about scripts: how to collect, test, approve, update, etc.
- SamAdam has an interesting script that checks for available updates, btw
- that's something we have to consider carefully, make sure what we do is manageable
- there is a cvs for scripts - that not many know about
- it needs to replace bf-blender scripts- can it be symlinked in? :)
- Not allowing people to update there own work is counterproductive
- Okay. but anyone whos interested enough to ask and learn CVS then, or have someone else maintain their script
- we need basic docs in the script, too. You can simply put a subset of the info in the script itself, with a link button to the complete doc
scripts to include for 2.40
- plan is to include only a few more scripts this time and then more for 2.41
- Blenderlipsynch - http://afn.dalmont.free.fr/ben/blenderLipSynchro_12.py
- Archimap - http://members.iinet.net.au/~cpbarton/ideasman/
- 3ds import and export - http://67.22.114.230:8082/programming/blender/#3DS
- XSI export - http://www.candointeractive.com/blender/xsi_export.py
- Collada importer and exporter - http://sourceforge.net/projects/colladablender/
- MD2 import and export - http://67.22.114.230:8082/programming/blender/#MD2
- widgetmaker - http://guitargeek.superihost.com/widgetmaker/