[Bf-committers] Python status

Matt Ebb bf-committers@blender.org
Sun, 18 May 2003 14:10:11 +1000


> I like the idea of some scripts that don't evolve too fast (like good,
> stable importers / exporters, again) coming with Blender itself, in source
> form (.py, not compiled), with the same licence as Blender's, of course.
>
> And also an online repository, probably at blender.org, with a catalog of
> scripts by cathegory, with version numbers, link to author's page (but the
> script itself should be available from the main repository site, no 404's
> mess), scores, etc.   This structure is a fast way of catching any problem
> with scripts.

Now might (or might not?) be a good time to think about script distribution
and usability. I think everyone's aware that the current system using the
text editor is way too complex - take a look in the elysiun Q&A forums to
see some of the confused reactions from new users when people try to teach
them how to load and use scripts to export to the formats they want etc.

Ideally in my opinion, it would be great if a user could just download a
script, drop it in a 'scripts' directory and have Blender read and integrate
them into the interface automatically on startup. However to do this, you'd
probably need metadata to keep track of versions, titles/labels/etc to
appear in the interface, etc. Another consideration is scripts that use
multiple .py files. Maybe a good script distribution format would be the
.blend file itself? Upon loading the script, Blender could search through
and load any text objects from the script .blend into wherever it needs
them.

Anyway, these are just some ideas, but I think it would be beneficial to
start thinking about UI issues early on, and how everything fits into a
designed system, rather than just tacking on something confusing at the end
(like the current ALT-P implementation). Especially if the decision is to
keep import/export/external rendering in the form of python scripts rather
than coded into Blender itself, it's very important that they be integrated
logically within the Blender interface as a whole.

Matt