[Bf-committers] Functionality board

Ton Roosendaal bf-committers@blender.org
Sun, 15 Jun 2003 13:10:10 +0200


Hi all,

If you didn't yet, check the frontpage www.blender.org proposal for a  
new board.
We will organize a lot of activities there, especially to research new  
features and come with documented specifications.

To illustrate some of the topics that will be discussed, here's my  
contribution to the topic list:

1. EASY TO DO!

-- Right-mouse select, replace with context driven menus?
We can think over a new organization of default mousebutton behaviour.  
Contextual menus can be a great aid in learning and using Blender.

-- Gestures: Maya style hotbox?
Also called 'pie menu'. It can just be something to replace current  
SPACEBAR menu.

-- General make-over of interface
I won't support real 'skinning', but the general looks of the interface  
can be easily upgraded to a more contemporary looks. It's a real  
designer's thing to do! If multiple great make-overs are proposed, we  
can implement a user-preset for them.

-- Wireframe colors
We can review how it currently works in Blender, and come with a  
proposal how it gives a bit more control and visual feedback. This  
should also include thinking over how 'solid drawing' will be handled.

2. MEDIUM COMPLEX

-- Manipulator (handles) for transform
As an aid to vizualize selection status and rotation/scale values, a  
manipator can be drawn which of course allows scaling/rotating as well.
(maya: http://www.highend3d.com/maya/tutorials/subdiv/image3.jpg)

-- External Render integration
With the impressive improvements in Yafray, we should start with them a  
project how a good collaboration (interface) with their render system  
can be achieved. Same applies for 3Delight or Renderman of course.

--- Buttons & headers, better user configurable organisation
Like some menus that pop up now (NKEY) we can make them become  
persistant and movable. This will allow users to add menus/buttons to  
each window in Blender. Think for exampe of Ipo settings, View3d  
settings, NLA window buttons, etc. The same structure can be appplied  
to the ButtonsWindow itself, grouping them in 'blocks' and let the user  
arrange or collapse them.
Additional to that, the headers system can be extended to a verticial  
user-configurable one. The horizontal then remains 'standard'.
(old sketch: http://www.blender.org/bf/_shop_/bi5.jpg)

-- Constraints: replacing parenting and tracking
Is part of the paper of Reevan on character animation. It can be  
implemented transparant (CTRL+P adds parent-constraint) but allows for  
very interesting new features, such as animatable multiple parents,  
Z-axis constraints, python constraints, etc.

3. HARD WORK:

-- Python integration in main event loop, configurable hotkeys and tools
This is a technical one... but the integration with Ghost was only  
finished half. The goal can be rebuilding the internal events structure  
to allow Python hooks, configurable hotkeys, and of course Macro's! (I  
don't even mention undo :-)

-- New Mesh editor
Learning from Nendo or Wings... we really should upgrade this modeling  
system in Blender. Should be done in close cooperation with the coders  
however... but they *do* need feedback!

-- Decision on Game Engine & players
Although I really *love* the concept of a fully integrated 3d suite,  
the game engine in Blender brings a load of complex issues:
- it doesn't integrate too well (code is nicely separated, works fine  
for coders, but limits its functionality)
- If you check the old NaN bug tracker, you'll find 80% of the reported  
bugs is in the Game engine, or its lack of integration with Blender.
- the Web plug-in player is a HELL of a project to build & maintain.

It will make the current projects a lot easier if we can decide to  
split off the game engine. It can be done in 2 steps:
1. stand-alone game player, which receives signal from Blender to read  
the 3d data and start play
2. moving the game logic and game-editing tools to a new editor.

Once the the Solid library is back, we can review how coders pick the  
engine up. We then have several choices:

- bring it back to Blender
- just work on good export facilities to other engines as well.
- put back the old (2.04) engine, and keep that simple and limited, for  
interactive testing and prototyping only.

This is a complex issue, and is worth putting a workgroup together for  
it.

-Ton-


------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton@blender.org  
http://www.blender.org