Note: This is an archived version of the Blender Developer Wiki (archived 2024). The current developer documentation is available on developer.blender.org/docs.

User:Dfelinto/Reports/2021

September 27 - October 1

Increase VSE channels from 32 to 128 (studio request), Blender bcon2 coordination, video about Geometry Nodes Fields.

0-fields-demo.png
1-video-fields-with-pablo.png
Commits
  • Fix/bypass doversion for wire new colors 8cbec0beb2.
  • VSE: fix versioning code to the new maximum zoom level (128) e694165123.
  • Geometry Nodes: Dashed lines for function flow ff7e67afd5.
  • VSE: Implement sanity check for files with more channels than supported a64782b133.
  • Nodes: Change wire color to increase contrast 4a0ddeb62b.
  • Increase VSE strip channels limit from 32 to 128 8fecc2a852.

September 20 - 24

The main focus was the week was organizing the bcon2. But I also worked on dashed lines for geometry nodes, and some EEVEE roadmap discussions while Clément Foucault was in Amsterdam.

https://www.youtube.com/watch?v=d18o5HrBRVI

A-anti-alias.png
Commits
  • Cleanup: Remove hardcoded values and rename keyframe shape shaders d0493796a6.
  • Cleanup: make format 707bcd5693.

September 13 - 17

Blender 101 updates, including a few commits in master to support more settings.

Blender 101-.jpg
Commits
  • Rename App Menu to Blender Menu 58043c0637.
  • Hide empty keymap warnings when running a template 73ed076489.
  • App Settings: Edge Resize 867e6ffe88.
  • App Settings: Regions Visbility Toggle f2cfad77f9.
  • Rename show_layout_ui > show_corner_split and remove from UI 9fee59a484.
  • Cleanup: Rename USER_APP_LOCK_UI_LAYOUT c938d9a0e5.
  • Asset Template: Extra UI options 3ff60bcad8.
  • Templates: Set more user preference settings to be swapped c9c890f196.

September 6 - 10

The main hands-on activity of last week was working on the "Blender 101" template/app. That include reporting bugs, talking to developers and implementing the template.

Blender 101.jpg

August 30 - September 3

Helped the development process (buildbot, triaging, credits) and communicate the Blender 3.0 release.

August 23 - 27

Nothing remarkable - spent considerable time talking with developers. For development I was mostly involved in the Geometry Nodes Fields doversion design discussions.

  • Fields doversion clarification and Fancy Fields doversion exploration.
Doversion-1.png
Doversion-3.png
Doversion-2.png

August 16 - 20

The focus was to wrap up the communication about the nodes workshop and improve the buildbot user experience.

Buildbot Patches
Fields & Attributes.jpg

August 9 - 13

This week was dedicated to a mini workshop with Jacques Lucke about geometry nodes attributes and fields.

Whiteboard.jpg

I will publish a write up next week on code.blender.org.

July 19 - 23

The focus of the week was help setting up the wrapping up of Asset Browser for Blender 3.0. Besides that we formalized one of the usecases for the upcoming geometry nodes attribute prototypes.

Asset-browser.jpg
Gn-bb-1.png

July 12 - 16

Implemented a Disable as Spam phabricator option for admins, formalized the geometry socket expander proposal, fixed a "Unbreak Now!" regression.

Commits
  • Rename UI error message on attributes panel for name collisions 3ec9681ac4.
  • Fix T89870: Vertex groups lost when opening 3.0 files in 2.93 ae30f72c80.

July 5 - 9

Finished and published the nodes workshop blog post. Finished my proposal for attributes socket via expanding the geometry sockets. Still need to be formalized.

Nodes-workshop.png
Commits
  • Walk Navigation: Z axis correction c749c24682.
  • Cleanup: Walk Navigation define remame 249a7e2307.
  • Fix typo in Fly mode tooltip 8225b610dd.
  • Fix T89559: Outliner shows extra view layer column when it shouldn't 3fe0088cab.

June 28 - July 2

Most of the week was spent re-iterating over the attributes socket design and other followups from the Nodes Workshop.

Commits:

  • Outliner: View Layers filter for View Layer Mode bb2648ebf0.

June 21 - 25

The entire week was dedicated to have the Nodes Workshop together with Jacques Lucke.

June 14 - 18

  • A lot of variations to the compact node and multi-type sockets.
  • Patches activity have now moving average making them useful :)
Patches-activities.png
Multi-type-sockets-.png

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:

Community-paches.png

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.

Attribute-processor.png

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)
Gitlab-test.jpg


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

Gnu.jpg
Patches.png

May 17 - 21

  • Google Summer of Code announcements / wiki / channels.
  • Geometry Nodes discussions (selection/tag and curves):
Curve-discussions.jpg
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

Overrides-notes.jpg

Commits

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 metrics.blender.org 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.

Blender-roadmap.jpg
Meeting-with-simon.jpg
Geometry-nodes-3-usecases.jpg

April 12 - 16

First-response.png
Modes-meeting-1.jpg
Modes-new.jpg

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.
Bug-tracker-dashboard.png

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).

Commits
  • 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 blender.chat 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.

  • #86124 Self-hosting external libraries packages
Spreadsheet-presentation.png
  • 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 developer.blender.org?).

February 22 - 26

  • Blender 2.92 Release.
  • Spreadsheet MVP pixel-perfect design.
  • Spreadsheet complete design (wireframe).
Spreadsheet-pixel-perfect-mvp.jpg
Complete-spreadsheet-clean.jpg

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.

Spreadsheet-2k.jpg

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.

Instance-design.jpg

Links

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: