June 7 - 11
The most noticeable outcomes of this week was the Patch Metrics update and Attribute Processor node design review.
- 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.
- "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
- Created thumbnail and published Blender OSS and Licenses
- Setup initial patches metrics in metrics.blender.org
May 17 - 21
- Google Summer of Code announcements / wiki / channels.
- Geometry Nodes discussions (selection/tag and curves):
- Thumbnail and tweaks for Mesh Editing Optimization post by Campbell Barton.
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
- Cleanup and warnings 94838ba661, a932b9eab7, d0c63a2abe.
- Docs: "File > External Data pack operator" lookup for the manual 191664acd2.
- "File > External Data" menu improvements and cleanup ee51e73355 + (user + manual)
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.
- Geometry nodes sub-module meeting.
- metrics.blender.org up and running (mostly thanks to Francesco Siddi).
- Helped with the 2020 annual report (to be posted soon by Ton).
- devtalk meetings topics organization.
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 2021 Roadmap article published.
- Geometry nodes #3 use cases
- GSoC proposals review
April 12 - 16
- bcon3 coordination
- Bug response time graphs for the annual report
- Attributes editing design meetings
April 5 - 9
- Attribute editing and sculpt paint design sections.
- Finished the roadmap post with image and sent for review.
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).
- Updated the wiki spreadsheet design
- Organized a bit the Nodes & Physics wiki
- Hair design document
- Collection nodes design document
- Geometry-Nodes: Sort the Nodes Categories alphabetically 4bb70e0ba5.
- Fix T86895: bpy.ops.curve.select_all(action='INVERT') 93bedcb96a.
March 15 - 19
- 2.93 roadmap targets organization 
- Bcon2 coordination
- More testing on self-hosting libraries and write up for upcoming blog post.
- Geometry Nodes: Help with prototypes for portal & pages and node tools.
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.
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 developer.blender.org?).
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 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:
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.
- Blender Today: Geometry Nodes and the Melting Iceberg
- Blog Post: Geometry Nodes and the Melting Iceberg
- Geometry Nodes 2.92 release page: Nodes List
- Geometry Nodes 2.93 release page: Nodes List
- Tuesday Talks
January 25 - 29
Internal presentation at the studio about the geometry nodes and project organization.
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.
- Monday meeting.
- Tuesday talks.
- Object info transform space update after more debate over the name/tooltip/functionality
- manual docs branching
- Reviewing/testing Collection Info Node
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: