User:JacquesLucke/Reports/2022

Week 166: January 03 - 07

 * Fix T94545: Support realizing instanced collections.
 * Fix T94707: Inverted output of separate geometry node incorrect.
 * Fix T94534: Dangling pointer in internal link after removing socket.
 * Fix T94659: Crash when deleting instances.
 * Assets: Disable automatic preview generation for node groups.
 * : UI: Show recently selected items at the top of searches.
 * : Assets: Add operator to create preview from active object.
 * : Assets: Enable node group assets.
 * : Add script to check namespace names for unity builds.
 * : Geometry Nodes: Experimental Scale Elements node (WIP).
 * Code Review.

Next Week

General geometry nodes work.

Week 167: January 10 - 14

 * Fix T94766: Texture coordinates from other object do not refresh.
 * Fix T94111: Nurb normal calculation does not work.
 * Fix T94812: Render layer sockets are missing after file load.
 * Fix T94797: Crash when playing animation in eevee rendered view.
 * Fix T94867: Viewport render not updating when editing color ramp.
 * Cleanup: Add utility macro to simplify using std::enable_if.
 * Cleanup: Move attribute operators to c++.
 * : Geometry Nodes: New Scale Elements node.
 * : Geometry Nodes: New Field at Index node.
 * : Geometry Nodes: Improve domain interpolations.
 * : Geometry Nodes: Add intermediate field node type. (WIP)
 * : Geometry Nodes: Experimental new Face Vertex/Edge node. (WIP)
 * : Attributes: Add operator to convert attributes to legacy attributes. (WIP)

Next Week

General geometry nodes work.

Week 168: January 16 - 20

 * Fix T95006: Missing modifier update after frame change.
 * Fix T94977: Muted link is not ignored in eevee.
 * Geometry Nodes: Improve domain interpolation code.
 * Geometry Nodes: New Field at Index node.
 * Geometry Nodes: New Scale Elements node
 * Attributes: Add operator to convert generic attributes to other types.
 * : Geometry Nodes: New Face Vertex/Edge node.
 * : UI: Show recently selected items at the top of searches.
 * Code Review.

Next Week

Workshop in Amsterdam.

Week 169: January 24 - 28
This week I was in Amsterdam to discuss various topics surrounding a new hair system. More details will be published later.


 * Assets: Allow creating preview image by rendering active object.
 * Assets: Enable node group assets.

Next Week

Geometry nodes and hair project.

Week 170: January 31 - 04

 * Fix T95205: Remove attribute only once.
 * Fix T95314: Constant values not shown in spreadsheet.
 * Fix T95262: Instances ignored in Frame Selected operator.
 * Fix T95395: Dangling parent pointer when creating node group.
 * Fix T95084: Evaluate all output attributes before changing geometry.
 * Fix T94435: Remove anonymous attributes when applying modifier.
 * Fix T95489: Support writing to vertex groups with geometry nodes again.
 * BLI: Fix memory leak in VectorSet.
 * Cleanup: Avoid generating some functions in all translation units.
 * : BLI: New C++ BitVector data structure (WIP).
 * : Prototype for Node Layers / Modifier Tree.
 * Code Review.
 * Experimented with a new nodes evaluator.

Next Week

Geometry nodes and hair project.

Week 171: February 07 - 11

 * Fix T95578: Missing update when linking selected nodes.
 * Fix T95543: Incorrect handling of implicit field inputs in ui.
 * Fix T95570: Missing task isolation when computing normals.
 * Fix T91840: Do not create invalid links when inserting a node.
 * Fix T95612: Only overwrite existing attributes with matching domain and type.
 * Fix T95664: Missing update after changing active output node.
 * Fix T95624: Video texture not refreshing when changing offset in node.
 * Fix T95613: Remove anonymous attributes when converting object.
 * Fix: Missing null check.
 * BLI: Wrap parallel_invoke from tbb.
 * Geometry Nodes: Show indicator when realize instances node is in legacy mode.
 * : BLI: New C++ BitVector data structure.
 * Continued experimenting with a new geometry nodes evaluator.
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 172: February 14 - 18

 * Fix T95749: Missing update when normal node changes.
 * Fix T95815: Missing null check when computing dupli dimensions.
 * Fix: Removing anonymous attributes before adding mesh to bmain.
 * Curves: Add initial sculpt mode.
 * Curves: Initial brush system integration for curves sculpt mode.
 * : Use Copy on Write in more places.
 * : Prepare custom data API for attribute sharing.
 * : How to attach hair to a surface.

Next Week

Geometry nodes and hair project.

Week 173: February 21 - 25

 * Fix T93784: Text and curve objects have no motion blur.
 * Fix T95985: Crash when assigning a name for an output attribute.
 * Curves: Initial brush implementations for curves sculpt mode.
 * Curves: Add surface object pointer.
 * Paint: Decouple op->customdata from PaintStroke.
 * Paint: Pass operator to stroke update function.
 * BLI: Support accessing nth last element in Array/Span/Vector.
 * : Nodes: Improve inserting nodes on existing links. (WIP)
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 174: February 28 - 04

 * : Fix T96073: Don't remove links when inserting reroute nodes.
 * : Fix T96085: Repeated evaluation of geometry nodes when nothing changed.
 * : Fix T95479: Geometry nodes crash with cage display.
 * : Fix T95692: Incorrect interpolated children particle hair.
 * : Fix T96160: Freezing when using multiple Handle Type Selection nodes.
 * : Fix: Dangling internal links after removing sockets.
 * : BLI: Add scoped-defer utility to add RAII-like behavior to C types.
 * : Curves: Add brush to add curves on surface.
 * : Search: Take word order into account in string search.
 * : Curves: Initial comb/shrink/grow brushes.
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 175: March 07 - 11

 * : Fix T96180: Driver in node tree not updating in real time.
 * : Fix T95738: Wrong "Bottom" selection for cone without base.
 * : Fix T96292: Unable to set active material output using Python.
 * : Node Wrangler: Fix node outline position with ui scaling.
 * : Geometry Nodes: Fix spline length node after recent refactor.
 * : Curves: Disable stroke spacing for curve sculpt brushes.
 * : Curves: Increase default viewport resolution for curves object.
 * : Curves: Add initial comb, grow and shrink brush.
 * : Curves: Actually delete curves with Delete brush.
 * : Curves: Initial geometry nodes support for curves object (WIP).
 * : Fix T96278: Missing update after alpha socket connection.
 * : Curves Sculpt Brushes.
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 176: March 14 - 18

 * : Fix T96396: Cannot set active node group output with Python.
 * : Fix T96402: Fix case when material output is contained in node group.
 * : Fix T96386: Crash when changing shader to node group in properties.
 * : Fix T96278: Missing update after alpha socket connection.
 * : BLI: Add probabilistic rounding utility.
 * : BLI: Move generic data structures to blenlib.
 * : BLI: Generalize converting CPPType to static type.
 * : BLI: Move CPPType to blenlib.
 * : Curves: Separate sculpt brushes into separate files.
 * : Cleanup: Remove accidental shallow mesh copy.
 * : Curves: New Add brush.
 * : Curves: Improve Comb brush. (WIP)
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 177: March 21 - 25

 * : Fix T96420: Set ID node not working for instances.
 * : Fix T96577: Setting curve handles not working correctly with multiple curves.
 * : Fix T96361: Missing update when changing texture mapping properties.
 * : Curves: New Add brush.
 * : Curves: Improve Comb brush.
 * : Curves: Improve Snake Hook brush.
 * : Curves: Support converting curves to legacy hair system.
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 178: March 28 - 01

 * : Fix T96957: creating paint curve crashes
 * : Fix T96909: crash when assigning new node group to group node
 * : Curves: improve Snake Hook brush
 * : Curves: support converting curves to legacy hair system
 * : BLI: support value initialization in CPPType
 * : BLI: add utility to convert IndexMask to best mask type
 * : BLI: optimize Map/Set/VectorSet.clear methods
 * : Functions: move loops into function builders
 * : Curves: New Grow/Shrink brush.
 * : Curves: Operator to snap curves to surface. (WIP)
 * : User manual entries for the first batch of curve sculpt brushes
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 179: April 04 - 08

 * : Fix: accidentally swapped value with itself
 * : Preferences: enable Duplicate Data for curves and point cloud objects
 * : Geometry Nodes: avoid data copy in store named attribute node
 * : Curves: operator to snap curves to surface
 * : Curves: improve Add menu for new curves object
 * : Curves: expose convert to particle system operator in sculpt mode
 * : Curves: new Grow/Shrink brush
 * : Functions: allow for better compiler optimization
 * : BLI: add CPPType utility to copy elements to a shorter array
 * : BLI: inline fast path of IndexRange::as_span
 * : BLI: add missing materialize methods for virtual arrays
 * : Functions: parallelize materializing arrays after field evaluation
 * : Functions: optimize simple generated multi-functions
 * Started generalizing devirtualization for better performance and reduced code duplication.
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 180: April 11 - 15

 * : Geometry Nodes: show used named attributes in nodes
 * : Curves: initial geometry nodes support for curves objects
 * : Curves: fix some issues with operator to convert to particle system
 * : Curves: remove Test1 brush
 * : Auto-save improvements. (WIP)
 * : Geometry Nodes: Refactor array devirtualization. (WIP)
 * Worked on a design for attribute name semantics.
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 181: April 18 - 22

 * : BLI: prioritize detecting single values higher than detecting spans
 * : BLI: optimize constructing new virtual array
 * : Curves: show sculpt tool settings in panels
 * : Geometry Nodes: show used named attributes in modifier
 * : Functions: fix procedure executor not writing output in correct buffer
 * : Nodes: raise exception when creating node group input/output fails
 * : Geometry Nodes: better support for byte color attributes
 * : Geometry Nodes: Refactor array devirtualization.
 * : Fix curves sculpt brush names ending with .001
 * : Attribute identification and semantics
 * Code Review.

Next Week

Geometry nodes and hair project.

Week 182: April 25 - 29

 * : Fix: use natural string sorting for attribute names
 * : Geometry Nodes: improve ui when trying to remove built-in attributes
 * : Geometry Nodes: show timing overlay above attributes overlay
 * : Geometry Nodes: improve attribute dependency overlay
 * : Geometry Nodes: rename used attributes panel
 * : Geometry Nodes: refactor array devirtualization
 * : Nodes: show overlays in node editor even when nodes are collapsed
 * : Curves: add "Curves" to brush names
 * : Curves: support spherical delete brush
 * : BLI: small optimization to retrieving CPPType from static type
 * : BLI: Improve parameter devirtualization (WIP).
 * : Curves: Support symmetry in curves sculpting brushes.
 * Code Review.

Next Week

Workshop in Amsterdam.

Week 183: May 02 - 05

 * : Fix T97774: don't crash when no brush is selected
 * : Fix T97375: changing node tree from Python is very slow
 * : Curves: disable Empty Hair operator when there is no active mesh
 * : Curves: support converting legacy curves to new curves object
 * : Curves: use old Add > Curve menu for new curves object
 * : Curves: move curve sculpt settings out of advanced panel
 * : Curves: change default name of curves object to Curves
 * : Curves: show warning when using Add brush without surface
 * : Curves: control number of control points in new curves
 * : Curves: show Front Faces Only option in tools panel
 * : Curves: unify "Front Faces Only" name with mesh sculpt mode
 * : Curves: show direction in panel for Grow / Shrink brush settings
 * : Curves: add second experimental option for new curves tools
 * : Curves: support symmetry in curves sculpting brushes
 * : Curves: fix brush position is not under mouse cursor
 * : Curves: Deform curves based on surface node. (WIP)
 * : Curves: Interpolate number of control points for new curves from neighboring curves. (WIP)
 * : Spreadsheet: Support showing enum value strings instead of integers.
 * Code Review.

Next Week

Workshop in Amsterdam.

Week 184: May 09 - 13

 * : Geometry Nodes: use .a_ prefix for anonymous attribute names
 * : Workaround for msvc compiler bug
 * : Curves: add operator to convert hair particle system to new curves
 * : How to attach hair to a surface
 * : Attributes: Initial support for quaternion attributes.
 * : Curves: Draw legacy hair particle system as curves object. (WIP)

Next Week

Hair project and geometry nodes.

Week 185: May 16 - 20

 * : Fix T98157: improve animation fps with better check in depsgraph
 * : Fix T97761: incorrect mixing of integers
 * : Curves: Draw legacy hair particle system as curves object. (WIP)
 * : Curves: New Pinch brush (WIP).
 * : BLI: Use no_unique_address attribute.
 * : How to attach hair to a surface
 * Code Review.
 * Worked more on design and implementation of a new more versatile evaluator for geometry nodes.

Next Week

Hair project and geometry nodes.

Week 186: May 23 - 27

 * : Fix T98316: geometry nodes stop updating after duplication
 * : Fix T97237: dragging custom node group asset adds broken node
 * : Fix T98317: equal vs not-equal modes in compare node are not exact opposites
 * : Fix T98328: missing depsgraph update after adding node group
 * : Fix T98268: replace string node des not handle empty strings correctly
 * : Fix T98152: Named Attribute node changes data type for non-existant attributes
 * : BLI: use no_unique_address attribute
 * : Curves: Make tangent computation more robust against duplicate points.
 * : Curves: Add float selection in sculpt mode
 * : Curves: New Pinch brush (WIP).
 * : Nodes: Add separately allocated run-time data for bNodeTree.
 * : Active Attributes
 * : How to attach hair to a surface

Next Week

Hair project and geometry nodes, and will be in Amsterdam half the week.

Week 187: May 30 - 03

 * : Fix T98454: subdivision doesn't propagate int attributes
 * : Fix T98501: setting node socket default value is very slow
 * : Curves: use uv coordinates to attach curves to mesh
 * : Nodes: call init function for new node trees in ntreeAddTree
 * : Nodes: add separately allocated run-time data for bNodeTree
 * : Nodes: add separately allocated runtime data for nodes and sockets
 * : Functions: speedup preparing multi-function parameters
 * : Cycles: fix missing attribute update
 * : BLI: fix memory error when moving VArray_Span
 * : Allocator: Improve allocator usage in C++ containers. (WIP)
 * : Attributes: Store default uv map as string on Mesh. (WIP)
 * : Curves: Prototypes for various features surrounding the new curves object.
 * : Geometry Nodes Evaluator 3.0

Next Week

More hair and geometry nodes discussions.

Week 188: June 06 - 10
Was in Amsterdam still.


 * : Curves: fix transforms in Add brush
 * : Curves: use root/tip radius of the first curve in the viewport
 * : Curves: use radius of middle point to determine curve shape
 * : Fix: incorrect curve parameter for catmull rom curves
 * : Curves: Prototypes for various features surrounding the new curves object.

Next Week

Hair project and geometry nodes.

Week 189: June 13 - 17

 * : Fix T98847: missing null check in versioning code
 * : Fix T98796: avoid unnecessary mesh copy
 * : Fix: curves have incorrect resolution attribute after realizing instances
 * : Geometry Nodes: tweak Volume to Mesh threshold declaration
 * : Geometry Nodes: speedup Separate XYZ node
 * : Curves: support adding keymap items for operators
 * : Curves: refactor Add brush
 * : Functions: speedup multi-function procedure executor
 * : BLI: avoid unnecessary allocation when converting virtual array
 * : Access original data from a geometry object
 * : Curves: Prototypes for various features surrounding the new curves object.
 * : Texture nodes CPU evaluation design
 * Helped with : Geometry Nodes: Volume Cube node

Next Week

Hair project and geometry nodes.

Week 190: June 20 - 24

 * : Fix: assert when deleting all curves
 * : Fix: crash when converting zero legacy curves
 * : Curves: extract surface brush sampling into separate function
 * : Functions: avoid using Map for small values
 * : Functions: improve span buffer reuse in procedure execution
 * : BLI: improve support for trivial virtual arrays
 * : BLI: add min_inplace and max_inplace functions
 * : BLI: improve check for common virtual array implementations
 * : Curves: Prototypes for various features surrounding the new curves object.
 * : Curves: Deform curves based on surface node. (WIP)
 * : BKE: New attribute API (WIP).

Next Week

Hair project and geometry nodes.

Week 191: June 27 - 01

 * : Fix: sampling points on mesh surface generates too many points
 * : Curves: New tools for curves sculpt mode.
 * : Geometry Nodes: remove warning in Points node
 * : BLI: add kdtree range search method that accepts c++ lambda
 * : BLI: add Vector.append_and_get_index with rvalue parameter
 * : BLI: improve span access to virtual arrays
 * : BLI: refactor length parameterization
 * : Curves: Deform curves based on surface node. (WIP)
 * : BKE: New attribute API (WIP).
 * Looked into gdb pretty printing.

Next Week

Hair project and geometry nodes.

Week 192: July 04 - 08

 * : Curves: support deforming curves on surface
 * : Curves: move curves surface transforms to blenkernel
 * : Geometry Nodes: new geometry attribute API
 * : BLI: use a slightly less trivial reverse uv sampler
 * : BLI: add float3x3 * float3 operator overload
 * : BLI: improve reverse uv sample in edge cases
 * : BLI: make some spans default constructible
 * : Functions: More clearly separate fields from multi-functions.
 * : Cleanup: Remove unused get_cage_mesh parameter.
 * : Curves: Sculpt on deformed curves (WIP).
 * Committed node wrangler patches.

Next Week

Hair project and geometry nodes.

Week 193: July 11 - 15

 * : Fix T99677: crash when convex hull node is used on empty mesh
 * : Fix: crash when iterating over all attributes
 * : Fix: missing geometry copy before modifying it
 * : Fix: wrong node name in menu
 * : Fix: set dangling pointer to null
 * : Curves: improve error checking in deform curves on surface node
 * : Geometry Nodes: fix face corner to edge attribute interpolation
 * : Geometry Nodes: update curve type counts after realizing instances
 * : BLI: fix finding indices from virtual array
 * : Geometry Nodes: New uv map based attribute transfer mode.
 * : Curves: Sculpt on deformed curves (WIP).
 * : Textures: Example for using field evaluator for texture nodes (WIP).

Next Week

Hair project and geometry nodes.

Week 194: July 18 - 22

 * : Fix T99830: missing update after reordering node group sockets
 * : Fix T99905: wrong toposort when the node tree is cyclic
 * : Fix: Store Named Attribute node not working when attribute did not exist
 * : Curves: align surface and curves object in Empty Hair operator
 * : Curves: fix uninitialized curve type when adding new curves
 * : Curves: fix applying materials when applying modifier
 * : Curves: support sculpting on deformed curves
 * : Geometry Nodes: add debug check for whether AttributeWriter.finish is called
 * : Cleanup: remove unused get_cage_mesh parameter
 * : Nodes: Move NodeTreeRef functionality into node runtime data. (WIP)
 * : Curves: Prototype for node group operators.
 * : Support user defined crazy space for curves.
 * : Crazy-space support for meshes in geometry nodes

Next Week

Hair project and geometry nodes.

Week 195: July 15 - 29

 * : Fix T99961: crash when spreadsheet shows volume grids
 * : Fix T99929: lattice modifier looks up vertex group index in wrong place
 * : Fix T99889: Fillet Curve node uses wrong radius
 * : Fix T99880: no node timing for frames in node groups
 * : Fix T99851: Subdivide Curve node does not initialize attributes of end point
 * : Fix T99850: incorrect tangents on evaluated bezier curves
 * : Fix T99816: renaming attribute works incorrectly
 * : Fix T99373: add some padding in spreadsheet vector columns
 * : Fix T99271: modifier errors are not cleared
 * : Fix T98982: cannot change default value of some node group input types
 * : Fix T98798: tag collection geometry when changing instance offset
 * : Fix T98788: bad first curve tangent when first points have same position
 * : Fix T100026: crash with zero-sized attributes
 * : Fix: add missing return
 * : Fix: missing evaluated offsets in Resample Curve node
 * : Fix: curves edit hints not propagated in Join Geometry node
 * : Fix: crash when accessing attributes from multiple threads
 * : Curves: add warning when invalid uv map is used when adding curves
 * : Curves: improve handling of empty surface meshes
 * : Curves: enable density brush when first entering curves sculpt mode
 * : Geometry: detect when the sample uv is in multiple triangles
 * : Geometry Nodes: update curve tangent test
 * : Curves: Add CurvesGeometry.radii
 * : Fix T99624: `is_animatable` of id properties is false
 * : Curve and Mesh Topology Inputs

Next Week

Vacation.

Week 196: August 08 - 12
Attended Siggraph in Vancouver.

Week 197: August 15 - 19
Was sick this week.


 * : Fix: nurbs basis cache not computed before it is used
 * : Nodes: Move NodeTreeRef functionality into node runtime data.

Week 198: August 22 - 26
Still recovering from last week.


 * : Fix T100568: triangulate node resets vertices to rest position
 * : Fix T100579: internal links are drawn when sockets are hidden
 * : Fix T100562: Realize Instances node crashes when there is an attribute name…
 * : Fix T99932: video in node group does not play
 * : Fix T100318: handle custom nodes in field inferencing more gracefully
 * : Nodes: Move NodeTreeRef functionality into node runtime data.
 * : Nodes: Add persistent identifier to nodes (WIP).

Week 199: August 29 - 02

 * : Fix T99004: scaling volume down results in crash
 * : Fix T100673: crash when using slide brush without attachment info
 * : Fix: reverse uv lookup fails due to floating point accuracy issues
 * : Nodes: move NodeTreeRef functionality into node runtime data
 * Described a possible undo improvement in.
 * Worked on the geometry nodes evaluation refactor.
 * Started working on an attribute overlay.
 * Fixed some issues after the NodeTreeRef refactor.
 * Spent a fair amount of time doing code review (e.g., )

Week 200: September 05 - 09

 * : Fix T100796: wrong tangents on bezier splines with duplicate points and handles
 * : Nodes: fix memory leak
 * : Nodes: fix handling cyclic node trees
 * : Nodes: add owner_tree method to nodes
 * : Geometry Nodes: improve printing geometry set for debugging
 * : BLI: new C++ BitVector data structure
 * : Cleanup: readfile: use correct type
 * : Geometry Nodes: New evaluation system.
 * : Attribute Overlay (WIP).
 * Started getting used to the Vulkan API.
 * Experimented with a new ChunkList data structure.

Week 201: September 12 - 16

 * : Fix: crash when evaluating geometry nodes after deleting an unlinked node
 * : Fix T101166: crash when creating group input socket
 * : Fix: crash when changing to viewer context in spreadsheet
 * : Geometry Nodes: new evaluation system
 * : Geometry Nodes: use stringref instead of string in logger
 * : BLO: move blenloader to C++
 * : Workaround for msvc compiler bug
 * : Attribute Overlay (WIP).
 * : Geometry Nodes: Lazy threading.
 * Learned more about the GPU and Draw API in Blender.
 * Code Review.

Week 202: September 19 - 23

 * : Fix T101309: crash when executing geometry nodes without logger
 * : Fix T101214: hidden link can cause cycle in node tree
 * : Geometry Nodes: decentralize implicit input definitions
 * : Geometry Nodes: improve evaluator with lazy threading
 * : Depsgraph: generalize passing parameters to depsgraph object iterator
 * : View3d: move space_view3d.c to c++
 * : BLI: simplify removing elements from containers with predicate
 * : Cleanup: remove vector adaptor data structure
 * : Cleanup: follow C++ type cast style guide in some files
 * : Move overlay engine to C++
 * : Move workspace.c to C++
 * : Geometry Nodes: Viewport preview (WIP).
 * Code Review.
 * Experimented with an attribute api that could potentially replace CustomData (Github).

Week 203: September 26 - 30

 * : Fix T101410: ignore dangling reroute inputs
 * : Fix T101451: curve attribute overlay disappears when origin is out of view
 * : Fix: bump subversion to avoid corrupted files
 * : Fix: Spline Parameter node produces NaN when curve is a single point
 * : Geometry Nodes: viewport preview
 * : Nodes: fix missing updates with muted nodes and reroutes
 * : View3D: move view3d_draw.c to c++
 * : Always show warning when opening files saved in a new version (Proposal).
 * : Potential Fix T101378: Missing update with complex node update functions.
 * : Geometry Nodes: New uv map based attribute transfer mode.

Week 204: October 03 - 07
Two weeks of vacation started on Tuesday.


 * : Fix: crash when linked geometry node group is missing
 * : Geometry Nodes: new Sample UV Surface node
 * : Geometry Nodes: set viewer overlay opacity default to 1
 * : Geometry Nodes: Separate Instances from InstancesComponent.

Week 205: October 17 - 21

 * : Fix T101642: crash when deleting group output inside node group
 * : Fix T101660: crash when trying to propagate string attributes in some nodes
 * : Fix T101645: division by zero in fillet node
 * : Fix T101554: disable viewer node when corresponding modifier is disabled
 * : Fix T101316: workbench texture mode not working with geometry nodes
 * : Fix T101215: Distribute Points in Volume node does not refresh on frame change
 * : Geometry Nodes: separate Instances from InstancesComponent
 * : Depsgraph: wrong copy-on-write update after depsgraph rebuild
 * : Cleanup: add missing CPPType for MStringProperty
 * : Avoid pipeline stalls with lazy-evaluated caches (experiment).
 * : Fix T101536: Missing node tree updates after remapping id.
 * : Nodes: Restrict Python API on built-in nodes.
 * : Fix T100988: Flickering when using sculpt brush in drag dot mode.

Week 206: October 24 - 28

 * : Fix T101210: invalid internal node links lead to crash
 * Various meetings and was at the Blender Conference

Week 207: October 31 - 04

 * : Fix T102292: deadlock in geometry nodes evaluation with task isolation
 * : Fix T102144: missing validation of spline resolution
 * : Fix T102153: crash when muting node group with active viewer
 * : Geometry Nodes: fix missing curve cache
 * Participated in geometry nodes workshop in Amsterdam. More notes will be available soon.

Week 208: November 07 - 11

 * : Fix T102311: crash when opening node add menu with assets
 * : Fix T102324: reverse curve node breaks crazy space editing
 * : Fix T100872: restrict Python API on built-in nodes
 * : Fix T101526: assert due to wrong node tree owner id
 * : Fix T102329: assert when cutting node tree link
 * : Fix T100988: flickering when using sculpt brush in drag dot mode
 * : Fix T102340: crash when adding image file in node group
 * : Fix T102406: OSL script node no longer updates its in and outputs
 * : Fix T102386: crash when trying to link sockets from different node trees
 * : BLI: new basic CacheMutex
 * : BLI: improve CPPType system
 * : Depsgraph: simplify scheduling in depsgraph evaluator
 * : Fix T101979: Edge Angle node returns wrong sign (alternative)
 * Worked on propagating information backwards during geometry nodes evaluation.
 * Worked on refactoring field evaluation.

Week 209: November 14 - 18

 * : Fix T101536: missing node tree updates after remapping id
 * : Nodes: move most runtime data out of bNode
 * : Geometry Nodes: disable unreachable nodes in evaluator
 * : Cleanup: move internal links of nodes to runtime data
 * : BLO: Use blender::Map in OldNewMap.
 * : DNA: Support versioning between inline buffers and pointers. (WIP)
 * Moved a bunch of files to C++ to help with refactors.
 * Worked more in new field evaluation and value request backward propagation.

Week 210: November 21 - 25

 * : Fix T102693: adding shader node group to geometry nodes crashes
 * : Fix T102751: missing tree update with muted nodes
 * : Fix: assert when converting between types in geometry nodes
 * : Fix: node frame boundaries incorrect when opening files
 * : Nodes: add non-const utility to find socket by identifier
 * : Nodes: move node registration to nodes module
 * : Nodes: remove bNodeTree->interface_type
 * : BLI: make different pointer types compatible in hash tables
 * : Cleanup: simplify removing asset code
 * : Cleanup: move some data from bNodeSocket to run-time data
 * : Cleanup: use more concise function names in function nodes
 * : Nodes: Refactor how socket positions are determined. (WIP)
 * : Cleanup: Remove ui linker hack.
 * Moved some files from C to C++.

Week 211: November 28 - 02

 * : Fix T101433: crash when deleting hierarchy referenced by Collection Info node
 * : Fix: crash in node poll function due to missing null check
 * : BLO: use blender::Map in OldNewMap
 * : BLI: use no_unique_address in BitVector
 * : BLI: increase default inline buffer capacity in BitVector
 * : BLI: add atomic disjoint set data structure
 * : Nodes: ensure that node identifiers are larger than zero
 * : Fix T102882: Crash when there are link cycles and a viewer in a node group.
 * : BLI: Experiment with specializing hash tables for special key types. (WIP)
 * : Allocator: Try using OS to determine (peak) memory usage.
 * : Example for impact of atomics in allocator.
 * : Geometry Nodes: Output uv map from primitive nodes as anonymous attributes.
 * : Geometry Nodes: New Interpolate Curves nodes (WIP).
 * Updated my Gcov Viewer extension for vscode to give better insights into the coverage data.
 * Moved some files to C++.

Week 212: December 05 - 09

 * : Fix: wrong pivot point output in String to Curves node
 * : Fix: memory leak in curve circle primitive node
 * : Fix: Points to Volume node crashes with too small radius
 * : BLO: shrink old-new-map when it is cleared
 * : BLI: add clear-and-shrink method to more data structures
 * : BLI: remove deduplicated memory utility functions
 * : Nodes: simplify handling of function nodes in declaration
 * : Cleanup: avoid calling generic node update functions from versioning code
 * : BLI: Add TinyMutex class (WIP).
 * Added many new regression tests for various nodes that had low test coverage before.
 * Finished up Blur Attribute node from community contribution.
 * Started working on anonymous attribute lifetime analysis.

Week 213: December 12 - 16

 * : Fix: socket tooltip not showing when there was no type conversion
 * : Fix T103294: bring back modifyMesh function for geometry nodes modifier
 * : Geometry Nodes: support storing 2d vector attributes
 * : Geometry Nodes: output uv map from primitive nodes as anonymous attributes
 * : Geometry Nodes: improve dot graph export of lazy function graph
 * : Geometry Nodes: simplify handling of invalid group interface sockets
 * : Cleanup: add utility method to get group input nodes
 * : Tests: make mesh comparisons more strict
 * : Geometry Nodes: update tests with uv maps
 * Continued working on anonymous attribute lifetime analysis.
 * Code Review.

Week 214: December 19 - 23

 * : Fix: asset handle in context is always none
 * : Fix: dangling attribute name pointer
 * : Nodes: use CacheMutex to protect topology cache
 * : Geometry Nodes: avoid some overhead during field inferencing
 * : BLI: add last time to scoped averaged time
 * : Geometry Nodes: Deterministic anonymous attribute lifetimes (WIP).
 * : Allocator: Improve multi-threaded allocation performance.

Week 215: December 26 - 30

 * : Fix T103526: crash when subsurface connects to Shader to RGB
 * : BLI: improve support for using vectors as hash table keys
 * : BLI: improve node graph export in dot format
 * : Functions: support cycles in lazy-function graph
 * : Geometry Nodes: skip logging socket values for invisible trees
 * : Geometry Nodes: speedup compute context hash generation
 * : Geometry Nodes: avoid using enumerable thread specific on single thread
 * : Geometry Nodes: Deterministic anonymous attribute lifetimes (WIP).