From BlenderWiki

Jump to: navigation, search

Blender 101 Tasks

This page is to break down the ideas page for Blender 101 project into concrete tasks a developer can get started on!

This isn't a comprehensive list of everything relating to Blender 101, there are still larger over-arching tasks that need to be worked on, but this at least helps get started.

In no particular order:

Primitive Template System

As described in the google-doc:

https://docs.google.com/document/d/1RyoN4Kv26mI6NfjSKM_NJJ53OA4Gm_ex7AlwSKtRmHI/edit#heading=h.gi6ylgpn77hi

Proposing to start with a primitive template system because the final/finished version depends on enough other projects being done, that I don't think its practical to try to do everything at once.

Each template would have its own preferences, add-ons, keymap, presets, manipulators... etc.

This project would simply be to add the internal support (data-structures, API's etc).

Initially this wouldn't be very interesting from a user point of view, but its needed for everything else, as the 101 project progresses they will be extended.


Initial goals:

  • User selectable templates both RNA and basic user-interface access.
  • Ability to manage templates (create, save, load... etc).
  • Template defines some preferences:
    • add-ons
    • keymaps
    • themes

This is enough to consider the initial working version finished. Other aspects such as 3D assets, manipulator widgets etc... can be added one at a time.

Open Topics

  • How much of a template is code and how much is data?
  • Do we expect non-technical people to be able to create templates?

Interface Customization

Also part of the 2.8x project.

While this is part of the template system, I think its a large enough task to be split out into its own task.

This involves some design work - to figure out the fundamentals of how people will customize the interface.

Open Topics

  • Every template simply have its own separate user-interface scripts?
  • Define the user interface as data (similar to keymaps), which is nicer for user customization (may be able to support drag and drop editing for example).
  • Filter the current interface - use Python to conditionally remove buttons or panels.(Nice for for a quick demo, but in practice I doubt its flexible enough)
  • Some mix of the options above?

A lot more could be written here, this is just to outline the task and some options, it will need carefully thought out design since this impacts the maintenance and ease of template creation.

Splash Screen

In 2.8x docs, https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup#Splash_Screen

listing here since its related to templates.


Manipulator/Widgets

Listed under "Better visual feedback".

This is mainly a place-holder since this can be treated as a stand-alone project and worked on in independent to 101.

Of course we will want to make some tests to show the manipulators are usable for 101 too.

Improved Pop-ups

Current popups use the menu code and are easy to accidentally close.

Quite a small task but listing since it's noted in the 101 docs. (needs a little design work, but no big deal!).

External tool-Tip Storage

In Blender 2.8 docs there are plans to store tool-tips externally so code modifications aren't needed.

Also a small project, but involves some design work too.

Open Topics

  • Do we keep existing descriptions in the code?
  • Do we support rich text?
  • How will loading / editing & translations work?

Note that I could include quite a few tasks from Blender2.8x but they're not directly related to Blender 101, so I've avoided doing that.