[Bf-python] 2.40 release notes draft

Willian Padovani Germano wgermano at superig.com.br
Wed Dec 21 20:31:42 CET 2005


Hi,

Gotta send these notes to Ton tomorrow. Corrections welcomed:

=======

Blender Python API and Scripts

API

Considerable work was done for this release:

New or rewritten modules:

- New: Mesh, by Ken Hughes. This is a "thin" wrapper of mesh data that 
should work much faster than the already available NMesh module.
- New: Key, by Pontus Lidman.
- The Armature / Bones module and API were completely rewritten by 
Joseph Gilbert to support the new code for armatures in Blender itself.
- The Mathutils module API and related types were considerably improved 
by its author, Joseph Gilbert, who also added the Point type.
- The Build and Wave modules have been removed, following changes in 
Blender itself (they are object modifiers now).


Additions to existing modules:

Main interface:
  let Python initialize the site path (Ken Hughes).

- Object:
  support for deform and vertex parenting, by Martin Poirier
  .getParentSubName, by lordbosh
  .effects (read-only), by Jean-Michel Soler
  .protectFlags: support for transform lock, by Ken Hughes

- Material:
  access to shader data, by Campbell Barton
  support for new modes, by Ken Hughes

- Lamp:
  areaSizeX/Y, raySamplesX/Y, rayShadow, by Campbell Barton

- Scene:
  support for TimeLine, by Joilnen Leite

- Ipo:
  let user access ipo by address code in addittion to name (Johnny Matthews)

- Image:
  .getPixelI, .setPixel[IF], .getMinXY, .save, by Austin Benesh
  New(), GetCurrent(), image.start/end/speed/packed, by Campbell Barton

- Curve:
  support for Taper objects (Toni Alatalo).

- Mathutils:
  line intersection, triangle area, tracking quats from vectors, some 
normal calculators, by Martin Poirier

- Key:
  get names of shapes, keyblocks, by Toni Alatalo
  key.ipo, by Johnny Matthews

- Particle:
  getParticlesLoc, patch from Jean-Michel Soler

- Render:
  .saveRenderedImage() by Joseph Gilbert.

- Texture:
  MTex additions by Yehoshua Sapir


Besides that, many bugs were fixed and the documentation has been updated.


Ken Hughes (code and many bug fixes) and Joseph Gilbert, in particular, 
have made many contributions for this release. Daniel Dunbar made many 
updates while working on improving Blender internally for modifiers, 
etc. Stephen Swaney applied many patches and fixed bugs.

Contributors:

Stephen Swaney (applied many patches and fixed bugs), Campbell Barton, 
Daniel Dunbar, Joseph Gilbert, Joilnen B. Leite, Stephane Soppera, Kent 
Mein, Johnny Matthews, Simon Clitherow,  Mika Saari, Willian P. Germano, 
Martin Poirier, Ton Roosendaal, Ken Hughes, Austin Benesh, Tom Musgrove, 
Yehoshua Sapir, Chris Burt, Pontus Lidman, Chris Want, Toni Alatalo, 
Alexander Ewering, Jens Ole Wund.

=======

Scripts:

New:

- Collada importer and exporter by Mikael Lagré (no animation support yet).
- 3DS importer and exporter by Bob Holcomb.
- MD2 importer and exporter also by Bob Holcomb.
- XSI exporter by Elira (with updates from Mal Duffin)
- Blender Lip Synchro by Benoit Foucque.
- Shape Widget Wizard by Johnny Matthews.
- Mirror Bone Weights by Thomas Oppl.
- Archimap UV Unwrapper by Campbell Barton.

Updates:

- I/O: paths import (ai and svg modules), Wavefront OBJ, Lightwave, 
Wings, DX8.
- Others: texture baker, empties to armature, skin, console, disp paint,
   hotkeys, discombobulator

=======

Note:

The BPython API team is planning an overhaul right after 2.40's release. 
The current API is a mix of old and new modules written by different 
programmers. With Blender and Python (and our knowledge of both) 
evolving, many of us feel that BPython needs to be reworked.

We want to clean it up: remove inconsistencies and nuissances as much as
possible, favoring a more "pythoninc" approach, but remaining simple and 
close to Blender's code, with a simple and well structured API in C. On 
top of that we can have more powerful and fancy interfaces written in 
Python, of course.

The overhaul will most probably break some already written scripts. This 
is bad, but it's also a chance to start collecting the updated and new 
scripts, making sure they are well documented and polished (well tested, 
no foolish errors, good interfaces).

Coders should not worry, though. We don't plan to change that much, the 
API will basically be cleaned and made nicer, that's all - no big 
changes planned. Updating scripts, if needed, will be trivial.

Those interested are invited to share opinions at the elYsiun and 
blender.org Python forums and the bf-python mailing list, we want to 
discuss the improved API before coding the changes.

--
Willian



More information about the Bf-python mailing list