Google Summer of Code 2023

Blender gets five slots for Google Summer of Code 2023! Let’s take a look at the projects that contributors will work on this summer.


Flamenco Improvements

Around a year ago, Flamenco—Blender Studio’s render management software—was released. Flamenco is being used in production and adopted by individuals as well as studios, but there are still many key functionalities that could greatly improve it. The goal of this project is to build upon the foundation of Flamenco to bring it to its full potential, including designing a web interface for the manager configuration, better control over jobs and workers, and improving stability.

Contributor: Eveline Anderson
Mentor: Sybren Stüvel

VSE Waveform Drawing Performance

Blender supports video editing through its video sequence editor. While the editor allows users to load videos and audio files, computing the audio waveforms for the audio tracks can take a long time when working with large files (multiple gigabytes). This makes for a degraded user experience. This project will reduce the time taken to see the waveforms by: processing multiple audio sequences in parallel in the background and only computing the waveforms of sequences that are visible in the user interface. Once these initial speed ups are achieved, the project will explore improvement opportunities further down the audio processing stack.

Contributor: Lucas Tadeu Teixeira
Mentor: Richard Antalik

UV Editor Improvements

The goal of this project is to implement user-suggested improvements to the UV editor tools in order to help users create UV maps more easily. The main focus of the project is incorporating more mesh edit tools such as edge slide into the 2D UV editor, adding optional visible outlines to UV islands, as well as including the number of vertices removed by the merge by distance operator. Additionally, other small features that improve the user experience may be worked on if time allows.

Contributor: Melissa Goon
Mentor: Campbell Barton

Shader Editor Node Preview

The node previews in the shader editor had been removed when EEVEE replaced the internal render engine. This project’s aim is to bring it back. Indeed, the demand of a preview area under selected nodes to preview the effects is high. This project will involve code to put back this feature in the blender sources, taking into account the specifics of the Cycles engine (particularly with AOV).

Contributor: Colin Marmond
Mentor: Brecht Van Lommel

Outliner Tree Refactoring

This project aims to port the remaining tree elements to the new object-oriented design of the outliner codebase. The project will involve creating new subclasses, modifying existing code, thoroughly testing changes, and documenting the modifications made. The deliverables for this project include a detailed report and updated code of new AbstractTreeElement sub-classes representing the remaining tree elements. The project will contribute to the ongoing development efforts of the outliner by providing a necessary refactoring that will make future development work easier and more efficient, and the outliner module’s documentation will be improved.

Contributor: Almaz Shinbay
Mentor: Julian Eisel

A warm welcome to all contributors and good luck!

If you like to follow the projects progress in the coming weeks, their proposals and weekly reports will be added to the Wiki.

6 comments
  1. I sure hope the node previews will be optional because personally for me it’s an anti -feature. The nodes in the node editor already take too much screen space per node as is, and I preview things in the viewport as it is, which IMO is better anyways.

  2. The render toggle for the outliner is global, not per view layer. I posted about this at https://devtalk.blender.org/t/why-is-there-no-local-render-toggle-outside-of-collection-checkboxes/ and it results in either having to create otherwise unnecessary collections or duplicate objects if one wants to toggle rendering individual objects per view layer. Will the outliner refactor project be implementing a local render toggle per view layer in a similar way that there is a local visibility toggle per view layer?

    • No functional changes are expected from the project, it’s a mere internal refactor.

  3. Amazing projects! Keep up the great work blender devs!

In order to prevent spam, comments are closed 7 days after the post is published.
Feel free to continue the conversation on the forums.