From BlenderWiki

Jump to: navigation, search

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