User:HooglyBoogly/Reports/2022/

All Reports

January 10 - January 14

This week the most exciting thing is that I landed the vertex normal refactor I've been working on. Apart from some issues with an OBJ test that I hadn't tested since it was added, it went well I think, though I do see a couple of bug reports now. I did some performance testing, and it made some observable gains in real files, which was a nice surprise, since I was mostly approaching it from the "understandable code" perspective.

We had some longer meetings talking about patches and other design topics this week. The meeting notes are pretty lengthy here: https://devtalk.blender.org/t/2022-1-10-2022-01-14-geometry-nodes-sub-module-meetings/22405

I spent quite a while reviewing a patch that exposes color painting in sculpt mode (previously "sculpt vertex colors") in master, and had a bit of a discussion about it afterwards.


Changes / Features

  • Refactor: Move normals out of MVert, lazy calculation cfa53e0fbe
  • Geometry Nodes: Rename transfer attribute geometry input 6a16a9e661
  • Spreadsheet: Add mesh topology information with a debug value 922ae55a16
  • Nodes: Support link-drag search with compare node outputs 9fe704800e
  • D13839: Mesh RNA API: Expose contiguous normal arrays


Bug Fixes

  • Fix T94624: Object as font instances don't work 97c2c39916
  • Fix T94852: Geometry Proximity crash when unsuccessful 6e926e9b56
  • Fix: Incorrect logic in mesh validation for removing layers 0c5ccae79d


Cleanup

  • Cleanup: Remove unused "active ID" node flag 37b336a8af
  • Geometry Nodes: Move normal field input to be usable elsewhere f4af21038d
  • Cleanup: Remove unused subdiv functions b7a27efd78
  • Cleanup: Clang tidy 1bd0a87384
  • Docs: Add comments to node socket struct header a4a95c8d36


Tests

  • Geometry Nodes: Add tests for set spline type node rBL62789
  • Tests: Update tests for normal refactor changes rBL62787
  • Tests: Update obj export tests for normals refactor rBL62788


Manual

  • rBM8808: Geometry Nodes: Improve the introduction page


Review

  • Requested changes D12587: Move Sculpt Colors From Experimental
  • Requested changes D13757: Geometry Nodes: New Scale Elements node.
  • Accepted, committed D13546: Set Spline Type node - better conversion from NURBS to Bezier
  • Commented D13550: Nodes: Expand Math and Vector Math functions
  • Requested changes D13796: Geometry Nodes: Edge Angle Node - Add Return Signed Angle Output
  • Requested changes D13764: Function Node: Add Integer Math node
  • Accepted D13774: Geometry Nodes: Add NAND, NOR, XOR, XNOR, IMPLY, NIMPLY to Boolean Math
  • Requested changes D13809: Flip Mesh Faces Node
  • Requested changes D13694: Geometry Nodes: String to Curves Line/Pivot
  • Requested changes D13804: Geometry Nodes: Triangulate Node - Add Selection Input
  • Abandoned D12695: Nodes: Expose the node socket location as read-only to the Python API
  • Commented D12035: Geometry Nodes: Add Easing Function Node
  • Commented D13640: Geometry Nodes: Curve Primitive Arc
  • Commented D12792: Geometry Nodes: Add Random value to Object Info node
  • Commented D13303: Start of implementation of new texture margin generation.
  • Commented D13791: BLI: Refactor vector types & functions to use templates
  • Accepted D13800: Fix T94812: Render layer sockets are missing after file load.
  • Accepted D13813: Fix T94837: curve tilt on a 2-point-curve is wrong
  • Accepted D12915: Fix: Build warning with MSVC


Tracker

  • Investigated: 15
  • Resolved: 3
  • Archived: 2
  • Confirmed: 1
  • Duplicate: 2


Next Week

Now that I've had a break and some time to think about it, I'll come back to the "extrude regions" case for the extrude node. Then some code review, and hopefully merge by distance for meshes (looking into porting the weld modifier again).

January 3 - January 9

This week I didn't really finish anything notable. Mostly it was a big time vacuum with lots of work on various branches and discussions about "random" things like GPU acceleration, performance bottlenecks, and patches.

Changes / Features

  • Nodes: Consistent link drag search for math and vector math nodes 458be2ecc4
  • BLI: Add slice method to MutableSpan 9793bc30ce
  • D13721: Attributes: Infrastructure for generic 8-bit integer data type
  • D13735: Spreadsheet: Add mesh topology information hidden with a debug value


Bug Fixes

  • Fix T94581: Incorrect geometry delete behavior with instances c6069c439c
  • Fix: Link drag search error with random value node from color socket f7c0287278
  • Fix T94594: Incorrect spreadsheet data set region type in old files 1b9e103a30
  • D13768: Fix T94624: Object as font instances don't work


Cleanup

  • Cleanup: Remove unused code from BKE_node.h 34e84d0ee8
  • Cleanup: Use forward declaration of struct in header 5ba5678e00
  • Cleanup: Spelling/grammar in comments c0fb8ea8f3
  • Cleanup: Clang tidy 675d3cdd69
  • D13770: Cleanup: Remove unused "active ID" node flag


Tests

  • Tests: Replace new geometry nodes test file that fails on macs rBL62782


Manual

  • Geometry Nodes: Node execution time overlay rBM8804
  • Geometry Nodes: Clarify named attribute input from the modifier rBM8805
  • Geometry Nodes: Further clarify named attribute input process rBM8806
  • Fix: Outdated images and text in the node groups page rBM8807


Review

  • Commented D13701: Geometry Nodes: Duplicate Geometry (Cleanup and Testing)
  • Requested changes D13747: Assets: Add operator to create preview from active object
  • Requested changes D13694: Geometry Nodes: String to Curves Line/Pivot
  • Requested changes D13764: Function Node: Add Integer Math node
  • Requested changes D13546: Set Spline Type node - better conversion from NURBS to Bezier
  • Accepted D11664: Accurate NURBS circle and sphere
  • Accepted D13739: UI: Show recently selected items at the top of searches
  • Accepted D13718: Cleanup: Nodes: Convert generic shader node files to c++
  • Commented D13733: Fix crash when removing sockets used by internal link
  • Commented D13715: Fix T94495: 'Split Edges' geometry node leads to a crash in edit mode
  • Accepted D13736: Fix T94659: Crash when deleting instances.
  • Accepted D13366: Geometry Nodes: Add Mesh Edge Angle Node
  • Commented D9621: Configurable rotation angle increments
  • Commented D13697: Fix T89252: Unable to interact with Stabilize stroke text on click
  • Commented D13693: Geometry Nodes: Rename String To Curves socket


Tracker

  • Reported
    • T94725: Instance on Points attribute transfer issue with pick instance
    • T94672: Workbench shadow shading incorrect results with GPU subdivision
  • Investigated: 16
  • Resolved: 2
  • Archived: 7
  • Confirmed: 2
  • Known Issue: 1
  • Duplicate: 1


Next Week

I want to finish the larger things that I think could actually make it to 3.1: the extrude node, the mesh normals refactor, and the merge by distance node. Beyond that, I'll plan patch review and bug fixing, but I think I'll be realistic and keep it at that.


December 27 - January 3

This was a relatively relaxed week, with not many people around. Besides bug fixing and code review, I mainly worked on a mesh extrude node. I'm almost done with that, and happy with how it's turning out.

The work-in-progress extrude node in individual face mode, showing the transfer of the material index attribute, with the vertex mode on the right.


Changes / Features

  • Point Cloud: Optimize bounding box calculation 6d7dbdbb44
  • Geometry Nodes: Support instances in the delete geometry node a94d80716e
  • D13709: Geometry Nodes: Extrude Mesh Node


Bug Fixes

  • Fix T94442: Trim curve node can crash with duplicate point 4cbcfd22f5
  • Fix T94454: Python API curve to mesh use after free without depsgraph c0fdf16561
  • Fix T94380: Scrolling zooms in spreadsheet data set region 1a721c5dbe
  • Fix: Issues with attribute comparison in geometry nodes tests 279085e18e
  • Fix: Duplicate link search entries for attribute statistic node 955748ab1e
  • Fix T94453: Weld modifier crash after recent cleanup dc0bf9b702


Cleanup

  • Cleanup: Remove unused node tree "local sync" functions c34ea3323a
  • Cleanup: Remove unused DerivedMesh functions 5e8b42bf86
  • Cleanup: Return early, organize variable declarations 1464eff375


Tests

  • Geometry Nodes: Fix issue in mesh to curve test file rBL62776
  • Geometry Nodes: Add tests for the dual mesh node rBL62777
  • Geometry Nodes: Add test for T94453 rBL62778
  • Geometry Nodes: Add test file for accumulate field node rBL62779
  • Geometry Nodes: Update test file to attempt to fix mac buildbot error rBL62781
  • Geometry Nodes: Add mesh island test rBL62780


Review

  • Requested changes, accepted D13366: Geometry Nodes: Add Mesh Edge Angle Node
  • Requested changes, accepted D13680: Nodes: Improve link drag search for Math and Vector Math nodes
  • Accepted D12743: Geometry Nodes: Accumulate Function Node
  • Accepted D13625: Geometry Nodes: Add Integer Mode to Attribute Statistics
  • Requested changes, accepted D13664: Fix T94113: Local view + Geometry Nodes is broken for instances
  • Commented, accepted D13695: Nodes: Add Compare node operations to link drag search menu
  • Accepted D13691: Nodes: Weight drag link search for Math nodes
  • Accepted D13686: Nodes: Cleanup: Remove no op registration functions
  • Accepted D13697: Fix T89252: Unable to interact with Stabilize stroke text on click
  • Accepted D13674: Nodes: Support linking to existing group input from link drag search.
  • Accepted D13673: BLI: Add utility to check if type is any specific type.


Tracker

  • Investigated: 12
  • Resolved: 5
  • Archived: 1
  • Confirmed: 5
  • Duplicate: 2


Next Week More work on the extrude node, the named attribute nodes, the generalized curve data structures, and possibly some work on the merge by distance node.