From BlenderWiki

Jump to: navigation, search

This page is to list easy projects for new developers to get involved.

Once you have a patch ready for any of these improvements, head over to our Patch Tracker to submit it.

Note on Editing this Page

Note To Wiki Editors, This is not a wish-list - only add items here if think these are feasible projects.

Projects must be...

  • easy enough for an experienced developer to do in a few hours.
  • real projects (not simply exercises or janitor work).
  • acceptable to be added into blenders code-base without running into controversial topics.

If you're not a developer, add to User Contributed Tasks, below - to be reviewed for inclusion.


Approved Tasks

Select More/Less

Mesh editmode has select more/less but some object types miss this.

  • Lattice
  • Armature

Curve, Armature Split

In mesh edit-mode there exists a split tool (Ykey), which disconnects connected, unselected geometry.

This could be added to curve and armature datablocks (possibly surface too though this is more involved).

Select Similar

Currently in Mesh Editmode and Object mode you can select similar (Shift+G), based on various properties, this idea could easily be applied elsewhere.

  • select similar metaballs - editmode, (scale, type) patch in tracker, could be improved on
  • select similar bones - editmode (length, name prefix, name suffix, group, layer)
  • select similar curve - editmode (handle type, curve type, curve length, curve-point-count)
  • select nodes - by type, by color, by name (prefix/suffix)

Apply Transformation (Metaballs Missing)

Currently: Object -> Apply -> Location / Scale / Rotation, works for meshes and armatures but not metaballs.

Since a lattice has vertex-like meshes there's no reason for this to be left out.

Add 'Transform' Python Function

Currently you can transform a mesh by a 4x4 matrix
http://www.blender.org/documentation/blender_python_api_2_62_release/bpy.types.Mesh.html#bpy.types.Mesh.transform
The same functionality would be useful for other object data types (Curve, Lattice, Armature, Surface, Metaballs).

Add 'pack', 'unpack' Python Functions

Currently only images have API calls for pack/unpack, but sounds and fonts should also have this ability.

http://www.blender.org/documentation/blender_python_api_2_62_release/bpy.types.Image.html#bpy.types.Image.pack

Make more Theme Colors Configurable

  • The Weight-Paint MultiPaint feature uses black when no weights apply to an area - should be a configurable color (display next to colorband in preferences).

Text Editor (line operations)

While blenders primary focus is to be a 3D application there are some improvements to our editor that could be handy.

  • Join line
  • "use tab as space" should take the tab size into account (it's always 4 now).

Cleanup NGon Tool

Some users don't want ngons in their workflow so tool to convert NGons to Quads/Tris would be useful.

Not all options need to be added immediately - but here are some that could be implemented quite easy.

  • triangulate
  • triangulate - keeping quads within each ngon where possible (like triangulate, then convert to quads).
  • simple fan-fill (adding center vert)
  • simple fan fill but use quads (adding center vert), only for ngons with even number of sides.

Viewport normal drawing

Constant 'normal length' so they are independent of zoom (ortho mode only since this likely too slow in perspective mode)

Mesh Editing (UV's for primitives)

Currently UV unwrapping some primitives doesn't work nicely, the option to add meshes with generated UV's would be useful (sphere, cone, cube... etc).

Rip Tool (UV Editor)

Mesh editmode has a rip tool (Vkey in editmode), The same functionality would be nice to have while editing UV's.

BGL Py Docs

Latest bgl additions need rst doc. It's a matter of adding the new methods (see [commit) with their barebone descriptions (from opengl site) here: //doc/python_api/rst/bgl.rst



User Contributed Tasks

This is for people to add small tasks if you're not a developer but have some idea for a small improvement to Blender.

Please don't use this for bug reports which belong in the tracker

Interface/Viewport

  • Improve outliner
    • more things drag and drop assignment *TOO VAGUE - WHAT THINGS?*
  • Particles Render Panel: Replace material slider by ID block [ http://pasteall.org/pic/show.php?id=28983 ]
  • Modifiers Panels: Collapse/Expand modifier panels by hitting AKEY, same as with regular panels.
  • File browser: Renaming of bookmarks

BMesh Modeling

  • none

Rendering

  • none

Compositing

  • Description boxes for the all the nodes so that when you hover the mouse over a node in the 'Add Node' menu, a short description of what the node does will pop up.

Video Sequencer

  • none

Motion Tracking

  • activate/deactivate tracks that have entered/exited frame
  • statistical evaluation of tracks
  • presets for 'point and shoot' cameras

Rejected Tasks

Including these to give examples of tasks that don't make for good quick hacks, not all rejected tasks will end up here.

====Python====
* Callback handler for selection event (e.g. bpy.app.handlers.select... not sure if this needs to be general or per data type)

Select is too general an operation which can happen in many places to use a callback --Ideasman42 21:53, 21 March 2012 (CET)(


==== Add missing menu items ====
Check spaces for missing header menu entries -- e.i. something accessible by hotkey that isn't in the header menus.

Quick hacks should be concrete tasks --Ideasman42 21:56, 21 March 2012 (CET)