June 7 - 11

The most noticeable outcomes of this week was the Patch Metrics update and Attribute Processor node design review.

Phabricator/differential graphs

  • The metrics page now has a status breakdown for the open patches.

The following patch is now part of our deployment of phabricator:


One thing that is still wrong sometimes is the status of patches that were updated.

  • If a patch status is accepted and then updated, its status stays as accepted.
  • If a patch status is needs revision and then updated, its status changes to needs review.
  • If a patch status is changes planned and then updated, its status changes to either accepted if already accepted or needs review.

For simplicity, for now, any update is assumed to switch the status to needs review.

Attribute Processor node design review

The Attribute Processor is one of the main deliverables of the current Geometry Nodes run.

My goal with this review is to get the prototype to a state where I can present next week to Ton, and we address his feedback in the final sprint of this run.


General Design Proposal

  • The existing (attribute) nodes should be replaceble by an equivalent Attribute Processor Node (in terms of UI and functionality).
  • All existing attribute nodes functionality (including the ones using texture) should be possible with attribute processor node.
  • The node parameters visibility design (visible, enable, change socket type) preceeds the attribute processor, which leverages its changes.
  • The attribute processor will be simpler if it is not be a node group.
    • Default and actual value are two separate things (default used for "Reset to Default", value is the value showed outside).
    • Value can be set outside and visible/editable inside when socket disconnected.
  • Specialized nodes for built-in attributes (e.g., position) also garantee they are never changeable outside the node. Not even in the advanced side panel.

Small Things

  • "Set Attribute" rename to "Attribute Output"
  • New Attribute Input and Output are not SKIP_SAVE, is this intentional?
  • Group Output: I think "Hide Value" should be the default for all the sockets.

May 31 - June 4

  • Blender 2.93 Release
  • Gitlab tests
  • Phabricator differential graphs (fail)

Phabricator/differential graphs

I spent some time this week trying to get historical data for the open status of patches over time. However there are too many missing "transactions" in the database, and conduit API is also not complete.

The missing transactions are from old patches (pre-migration). This is not a deal-breaker since I could just ignore those old patches.

The incomplete conduit API means that a few transactions are of type "null" and can be pinpointed to what is changing. A few examples:

  • transaction id 44 for D9 - "abandoned"
  • transaction id 112 for D22 - "closed"
  • transaction id 96 for D22 - "accepted"
  • transaction id 22872 for D1123 - "planned-changes"
  • too many null transactions on D11362
  • no transaction, not even a "null" on D88
Gitlab initial tests

I put together a local instance of gitlab to test some of the limitations of the open source version.

So far I managed to confirm that only a patch can have only a single reviewer.

Other things to investigate:

  • How modules would work (projects? groups?)
  • Kanban boards for modules and projects like geometry nodes.

May 24 - 28


May 17 - 21

  • Google Summer of Code announcements / wiki / channels.
  • Geometry Nodes discussions (selection/tag and curves):
Geometry Nodes- Selection Discussions.jpg

Fast Mesh Performance.jpg

May 10 - 14

Reorganization of part of the triaging team + onboarding, besides preparing Google Summer of Code documents ahead of time.

  • Onboarding of Ankit Meel as part of the bug triaging team.
  • Arranging with Pratik Borhade for his upcoming dev grant (Jun-Aug) to help with bug triaging and devtalk moderation.

May 3 - 7

Google Summer of Code coordination, helping with the overrides and the (upcoming) mesh performance projects. Trying to assess the rising number of untriaged reports. Improved the External Data menu

  • GSoC slots assignment and meeting with mentors.
  • Helping setting up the Mesh performance project (talked to Campbell, Jeroen, Germano).
  • Bringing more effort into the triaging team (onboarding of Ankit, talked to Richard to come back 50% for triaging, and is contemplating someone else).
  • Library overrides meeting



External Data Packed.png

April 26 - 30

This was the final week helping with the 2020 annual report. Also as part of the bug sprint I worked with Francesco on making more official. The rest of the time was spent exploring possible new projects for the geometry nodes team.

April 19 - 23

This week started with handling the roadmap article (replying to comments, ...) GSoC reviews and another round of geometry nodes module development.


April 12 - 16


April 5 - 9

  • Attribute editing and sculpt paint design sections.
  • Finished the roadmap post with image and sent for review.
Attribute Editing 2.jpg
Attribute Editing.jpg
Poselib draft for the roadmap.jpg
Overrides draft for the roadmap.jpg

March 29 - April 2

  • Projects post-mortems (geometry-nodes, asset browser and overrides).
  • Initial setup for the geometry-nodes project to module handover (the sprint this week involved contributors as well).
  • Dashboard for bug tracking
  • Started working in the blog post for 2021 roadmap.

March 22 - 26

The geometry nodes week was focused on design docs. I also spent a good time going over the board, classifying, confirming or closing bugs. Also went over the list of all 117 accepted patches and poked developers to commit them or set other authors as blocking (see).

  • Geometry-Nodes: Sort the Nodes Categories alphabetically 4bb70e0ba5.
  • Fix T86895: bpy.ops.curve.select_all(action='INVERT') 93bedcb96a.

March 15 - 19

March 8 - 12

  • Geometry nodes: Node group design sessions.
  • Organizing 2.93 roadmap meeting next week.
  • Started to organize the Google Summer of Code channels.
  • Draft for communication channel blog post.
Different node groups design discussion
Mockup for attribute processor node

March 1 - 5

Presented the spreadsheet design, worked on the self-hosting solutions, started the conversations about the communication channels.

  • T86124 Self-hosting external libraries packages
  • Modules Communication Channels:

The idea for communication channel is that each module should have a way to onboard developers and artists interested on get involved.

That includes a way to be contacted (devtalk sub-forum or mailing list), and a (per-module) clear process on how the onboard goes (list of approved TODOs? present design first in devtalk? in

February 22 - 26

  • Blender 2.92 Release.
  • Spreadsheet MVP pixel-perfect design.
  • Spreadsheet complete design (wireframe).

February 15 - 19

The bcon4 week involved the usual checking on targets, raising awareness for the upcoming release, the upcoming demo files, and coordinate the release itself.

For development coordination this week was mostly dealing with the modules proposed changes: update the modules page, create a new module and talk with the developers.

For Geometry Nodes the main focus was helping to design the attribute spreadsheet editor.


February 8 - 12

This was a week with a focus on everything nodes design. This ended up taking most of the time. I will prepare the outcome of this week later, but here are some of the work in progress documents:

Everything Nodes big picture revisited by Ton
External / Internal Space Discussion
Collection Modifier - Object Level Operations
Working with Simon and Pablo on Attribute Search

February 1 - 5

The week starting presenting the Geometry Nodes and the Melting Iceberg in Blender today, which eventually turned into a blog post. Also organized the geometry nodes release notes.

Finally advanced in the design of instances and started on the design for attribute search for geometry nodes.



Design Tasks

January 25 - 29

Internal presentation at the studio about the geometry nodes and project organization.

The 8 Steps Process.jpg

Priorities discussion about the next 6-8 weeks stage of the geometry nodes project:

  • Wrap up studio nodes + polishing
 * Moss use case
 * Tree leaves
 * Attribute search
 * Instancing integration
 * Ditch point cloud output
  • Everything Nodes design
 * Mapping out the use cases for the other node-based systems
 * On a high level, design how the different systems work
 * On a high level, design how the different systems integrate
  • Attribute Workflow
 * Socket attribute inspection
 * Attribute spreadsheet
 * Attribute viewport overlay
 * Mesh viewport preview

Tools for Nodes

 * Per node-tree tools

If time allows:

 * Nodes Organization / containers and Layer for nodes
 * Clear design for Attribute painting

January 18 - 22

This week was mostly geometry-nodes to compensate last week which was mostly bcon3. We moved with the user manual changes to allow branching and early documentation of bcon1 features.

Also sanitized the space of the Object Info node in 2.92, since this is important to get it right from the beginning for geometry nodes.

January 11 - 15

This was the week for bcon3 - among coordinating the missing features, helping with the splashscreen checking the status of what landed on master, preparing the new wiki notes.

For geometry nodes, after some review I'm trying to push for a design change/fix in how we handle external objects in the node tree.

Besides that the week was filled with planning for the upcoming year: