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:JacquesLucke/Reports/2023

Week 216: January 02 - 06

  • rB3819a9b1: Fix T103614: crash during geometry nodes evaluation with tbb disabled
  • rBd8750aa1: Fix T103734: reroutes don't propagate attribute references correctly
  • rB0bc0e3f9: Fix: geometry nodes crashes with large trees
  • rB862d08bb: Fix: use-after-free when threadlocal is destructed after static variable
  • rB3337838b: Fix: retrieved writable attribute but did not write to it
  • rBe22247a9: Fix: crash when opening file with visible node editor
  • rB710f8164: Fix: crash when inserting reroute node
  • rB0f8487f6: Geometry Nodes: add more details about field handling to node declaration
  • rB2ffd08e9: Geometry Nodes: deterministic anonymous attribute lifetimes
  • rB8dbfbac9: Nodes: add utility methods for bNodeLink and bNodeSocket
  • rBe0d70e6a: Nodes: avoid processing same node group multiple times to find textures
  • rB30753f76: Functions: add method to iterate over all inputs of a field
  • rB83f519b7: Functions: initialize node storage and default values on first execution
  • rB42b88c00: Functions: simplify multi-function parameters
  • rB1bbf1ed0: Functions: improve devirtualization in multi-function builder
  • rBb3146200: Functions: refactor multi-function builder API
  • rB577442a2: Functions: build multi-function signature in-place
  • rBa5b27f98: Functions: simplify multi-function signature type
  • rBeedcf187: Functions: introduce multi-function namespace
  • rBc4d4db39: Functions: enable more gcc optimizations for multi-functions
  • rB5f9a48ed: Functions: improve compiler optimizability of multi-function evaluation
  • rB891b9730: Functions: optimize multi-function evaluation in materialized mode
  • rB73a2c79c: Functions: free memory of unused sockets earlier
  • rB78f28b55: Allocator: improve multi-threaded allocation performance
  • rBae716300: Allocator: improve protection against false sharing
  • rB006e9059: Tests: support running benchmark when Blender prints unrelated text
  • rBd49b8503: Tests: run geometry nodes benchmarks multiple times to reduce noise
  • rBf7e9bc65: Cleanup: simplify getting value of generic ValueOrField
  • rBed1df2ce: Cleanup: use slightly more efficient method to add multi-function parameter
  • rBa2ea32a6: Cleanup: inline signatures into multi-function constructors
  • rBL63163: Geometry Nodes: add field evaluation performance tests
  • rBL63164: Geometry Nodes: add a more complex field performance test
  • D16943: Profile: Add hints for better profilability. (WIP, Experiment)
  • D16944: Functions: Use new local allocator in lazy-function evaluator. (WIP)
  • D16642: Geometry Nodes: New Interpolate Curves nodes (WIP).

Week 217: January 09 - 13

  • rB29a41ed6: Fix T103747: crash when using rotation output of Curve to Points node
  • rBca45c2dc: Fix T103756: wrong anonymous attribute tooltip
  • rB8a3a1a0c: Fix T103781: assert when connecting viewer node on mesh without faces
  • rB761e6b1b: Fix: crash when opening node add menu
  • rB72cc68e2: Functions: only allocate resource scope when it is actually used
  • rB1a79bdfb: BLI: inline index mask slice methods
  • rBba714198: Cleanup: improve const correctness of bvh tree
  • rBff15edc6: Cleanup: unify method parameters for virtual arrays
  • D16642: Geometry Nodes: New Interpolate Curves nodes (WIP).
  • D16980: Mesh: Support computing custom/loop normals lazily (WIP).
  • D16970: BLI: Use SIMD through auto-vectorization for noise (WIP).
  • rBL63170: Geometry Nodes: add noise benchmarks

Week 218: January 16 - 20

  • rB1d253b66: Fix T103945: incorrect anonymous attribute references
  • rB737e7a63: Fix: incorrect curve type counts after adding curves of same type
  • rBc006ba83: Fix: execution graph for geometry nodes contained cycles leading to crash
  • rB85908e9e: Geometry Nodes: new Interpolate Curves node
  • rBc8a10c43: Geometry Nodes: show number of curve points in socket inspection tooltip
  • rBb5105085: Geometry Nodes: optimize Sample Index node with constant index
  • rB244c87dd: Geometry Nodes: avoid geometry copy if nothing is selected in Set Position node
  • rB2c217854: Curves: add OffsetIndices abstraction
  • rB3f1886d0: Functions: align chunk sizes in multi-function evaluation
  • rB31a505d1: Functions: add debug utility for lazy function graphs
  • rBcf50a3ea: Cleanup: remove is_same method for virtual arrays
  • rB4bef5f3d: Cleanup: move some undo related files to C++
  • rBL63179: Geometry Nodes: add tests for Interpolate Curves node
  • D14139: Use copy-on-write in some new places (WIP, Experiment).
  • D17031: Assets: Bundle essentials with Blender. (WIP)

Week 219: January 23 - 27

  • rBc16bd343: Fix: memory allocation before guarded allocator is initialized
  • rB33edef15: Fix T104095: missing crazy space data while sculpting curves
  • rB68994746: Fix: crash when adding curves in curves sculpt mode with interpolation
  • rB79f70e48: Fix: crash in mesh topology nodes
  • rB904357d6: Fix: assert when converting between incompatible field types
  • rBb2534fb8: Fix: anonymous attribute output requested even though it's not used
  • rB6043ed9e: Build: checkout assets directory automatically
  • rB81342587: Geometry Nodes: propagate material from guides in Interpolate Curves node
  • rBae80a669: Geometry Nodes: don't show warning in modifier with multiple geometry inputs
  • rB90253ad2: Geometry Nodes: avoid creating a lazy function many times
  • D17108: Geometry Nodes: Add support for eye dropper for object input in modifier.
  • D14139: Use copy-on-write in some new places (WIP, Experiment).
  • D17031: Assets: Bundle essentials with Blender. (WIP)
  • D17109: Geometry Nodes: Use face corner normals in Distribute Points on Faces node.

Week 220: January 30 - 03

  • rB2a19810f: Fix T104296: crash caused by incorrectly initialized group nodes
  • rB72089387: Fix T104278: incorrect handling of unavailable linked node groups
  • rBca99a596: Fix T104261: crash when trying to draw viewer overlay for empty curve
  • rB3d6ceb73: Geometry Nodes: parallelize part of Duplicate Elements node
  • rB19fe5caf: Geometry Nodes: add support for eye dropper for object input in modifier
  • rB29951651: Cleanup: simplify wrapping CurvesGeometry in C++
  • D17154: Curves: Cage overlay for sculpt mode.
  • D17109: Geometry Nodes: Use face corner normals in Distribute Points on Faces node.
  • D17185: Modifiers: Measure execution time and provide Python access.
  • D17196: BLI: Parallelize accumulating counts to offsets.

Week 221: February 06 - 10

  • f0669ff8ba: BLI: use larger integer type in BitVector
  • 0f708fa2e3: Geometry Nodes: use smooth normals in Distribute Points on Faces node
  • 923152d180: Geometry Nodes: improve parallelization in Delete/Separate Geometry node
  • b723a398f3: Curves: initial surface collision for curves sculpt mode
  • 8adebaeb7c: Modifiers: measure execution time and provide Python access
  • PR #104474: Assets: bundle essentials with Blender
  • PR #104467: Curves: cage overlay for sculpt mode
  • PR #104416: Geometry Nodes: new Axis to Euler node
  • PR #104478: WIP: Core: use generic copy-on-write system to avoid redundant copies
  • PR #104589: WIP: Curves: add Curve Parameter Falloff to comb brush
  • PR #104630: WIP: Functions: new local allocator for better memory reuse and performance
  • PR #104629: WIP: BLI: refactor IndexMask for better performance and memory usage
  • PR #104671: WIP: BLI: new bit span data structure

Week 222: February 13 - 17

  • 9c79875f65: Cleanup: use BitSpan instead of BitVector where possible
  • 891f47b801: BLI: new bit span data structure
  • 35cde8b5fd: Curves: move edit mode out of experimental
  • ddc6815b1a: Curves: add Curve Parameter Falloff to comb brush
  • c9f02569c7: Curves: cage overlay for sculpt mode
  • eb9647c53d: Cleanup: rename vertex buffer attribute to be more specific
  • 7ba59c8a62: Assets: show all assets by default instead of current file
  • b3fb73f325: Assets: bundle Essentials with Blender
  • 59b9a88a35: Fix: duplicate elements node does not update curve type counts
  • PR #104629: WIP: BLI: refactor IndexMask for better performance and memory usage
  • Code review.

Week 223: February 20 - 24

  • 18614b6b0b: Fix #103269: node group asset description not showing as tooltip in the Add menu
  • 763f1897c2: Fix #103865: keep IDProperties overridable when setting them with Python
  • 423291eaf2: Fix #102882: Geometry Nodes: crash when using viewer in invalid group
  • 25e57c39b1: Fix #104920: crash when creating node group from script node
  • 3d10dfb0a3: Fix #105166: Sample UV Surface node does not take index mask into account
  • 2c5434c3f5: Fix: crash in Spline Parameter node with single-point-curves
  • bf27a239c7: Fix: segfault when setting value in empty bit span
  • 423763771c: remove geometry nodes module
  • PR #104629: WIP: BLI: refactor IndexMask for better performance and memory usage
  • Code Review.

Week 224: February 27 - 03

Was on holiday for most of this week.

  • 79bce99260: Fix #104305: crash when datafiles/assets folder does not exist
  • PR #104629: WIP: BLI: refactor IndexMask for better performance and memory usage
  • Code Review.

Week 225: March 06 - 10

Was in Amsterdam for a Nodes & Physics module workshop.

  • a4fd2d10c1: Fix #105571: crash when connecting invalid node group to multi input
  • adfffb7d32: Fix: normalize matrix before converting to euler
  • {{PullRequest|105696}: Geometry Nodes: use lazy-function directly for switch node
  • {{PullRequest|105697}: WIP: Functions: process multiple elements at once in the lazy-function api
  • Investigated algorithms to deduplicate data in multiple arrays efficiently.
  • Code Review.

Week 226: March 13 - 17

  • cc44b98871: Fix #105720: crash when adding viewer node
  • 2c9ba55c7f: Fix #105849: crash when using link-swap with an existing link
  • 34f3893831: BLI: support recursive usage of Vector
  • 92b607d686: CustomData: add separate function to add layer from existing data
  • 258678916f: Geometry Nodes: use lazy-function directly for switch node
  • PR #104629: WIP: BLI: refactor IndexMask for better performance and memory usage
  • PR #104478: WIP: Core: use generic copy-on-write system to avoid redundant copies
  • Worked on simulation zone detection based on a node tree.
  • Worked on improved bit vector operations.
  • Simplified my own work a bit with a tampermonkey script for gitea: https://projects.blender.org/JacquesLucke/blender-web-scripts
  • Code Review.

Week 227: March 20 - 24

  • Core: new blenlib library for implicit-sharing PR #105994
  • Timeline: draw cache in overlay so that it stays in sync with actually cached data PR #105986
  • WIP: BLI: refactor IndexMask for better performance and memory usage PR #104629
  • Worked on simulation caching for the simulation nodes branch.
  • Code Review.

Week 228: March 27 - 31

Week 229: April 03 - 07

Week 230: April 10 - 14

  • Custom Data: support implicit sharing for custom data layers r7eee378eccc8f87e1330b9cfea2799928be9d657
  • WIP: Undo: support implicit-sharing in memfile undo step PR #106903
  • WIP: Simulation Nodes: bake simulation state to disk PR #106937
  • Simulation Nodes: Store baked geometries in .blend file #106790
  • Experimented with saving non-main meshes in .blend files.
  • Code Review.

Week 231: April 17 - 21

  • Fix #106982: crash with muted node (5491563e59)
  • Fix #106208: data-block socket defaults not used for node group (f6ec11741c)
  • Simulation Nodes: bake simulation states to disk (05ddbc20b8)
  • Geometry Nodes: replace multiple maps with single array (8b6777edc2)
  • Geometry Nodes: support outputting field without computing full node (ca32fb604e)
  • Undo: support implicit-sharing in memfile undo step (PR #106903)
  • RNA: ignore some large arrays in override code (99f5e60b86)
  • Cleanup: rename anonymous attribute id pointer type (3ee21d1098)
  • Code Review.

Week 232: April 24 - 28

  • Fix: group node inputs always requested unnecessarily (536144983b)
  • BLI: extract MapItem type to simplify iterating over map items (a57584e40d)
  • Simulation Nodes: support primitive values and attributes in simulation state
  • Checkpoints ui prototype for geometry nodes.
  • Simple fixed precision integer library for new boolean code.
  • Code Review.

Week 233: May 01 - 05

Week 234: May 08 - 12

  • Fix #107637: crash when using density brush on empty hair (c3365666e5)
  • Fix: unnecessary depsgraph update when scrubbing in timeline (2fbbc7acbb)
  • Fix: scrubbing time always has extra update that is only used by sequencer (037b3f87bd)
  • Fix: force frame update only when starting animation timer (8e9ada0079)
  • Fix: avoid extra depsgraph evaluation when stopping animation playback (d8388ef36a)
  • RNA: use correct ui scale type string in generated rna code (38416e7ad2)
  • Geometry Nodes: show simulated frames only when there is a simulation (db6eda6c60)
  • Geometry Nodes: allow skipping frames during simulation (b4fb17f11c)
  • Geometry Nodes: visualize evaluated nodes (PR #107780)
  • Functions: improve handling of thread-local data in lazy functions (8ba9d7b67a)
  • Geometry Nodes: add theme option for simulated frames in timeline (493c4dd65b)
  • WIP: BLI: refactor IndexMask for better performance and memory usage (PR #104629)
  • WIP: BLI: implicit sharing cache (PR #107794)
  • Experiments for serial loops.
  • Code Review.

Week 235: May 15 - 19

Week 236: May 22 - 26

  • Fix #108122: onion skin disappears after scrubbing timeline (9692262b9d)
  • BLI: support aligned parallel reduce (7725bacd6a)
  • BLI: add size_in_bytes method to MutableSpan (3895261454)
  • BLI: support transferring ownership of buffers between linear allocators (2b49d4eeea)
  • BLI: support keeping track of how much memory a linear allocator uses (92512f224d)
  • BLI: fix overload resolution with FunctionRef parameters (153e1c0492)
  • BLI: refactor IndexMask for better performance and memory usage (2cfcb8b0b8)
  • Depsgraph: add generic way for modifiers to check user-edited flags (0d13b0e50d)
  • Geometry Nodes: store path to simulation bake in modifier (edf4cb8b67)
  • RNA: support compiling rna files as C++ code (PR #108290)
  • Code Review.

Week 237: May 29 - 02

Week 238: June 05 - 09

Week 239: June 12 - 16

  • Fix #108720: allow discovering baked simulation data during rendering (54e303a69c)
  • Tests: support simulation nodes regression tests (9535248911)
  • Geometry Nodes: use shared_ptr for sharing simulation cache (87643d173e)
  • Geometry Nodes: deduplicate anonymous attribute analysis algorithm (7b61dcf6bc)
  • Geometry Nodes: crash when propagating attributes (b169469016)
  • Functions: improve default debug names in lazy function graph executor (201a442750)
  • Nodes: add debug utility to export bNodeTree as dot graph (37a0b97b51)
  • Nodes: improve node zone analysis (5869e88f94)
  • Nodes: add utilities to access all node links and toposort index (ef26519880)
  • Geometry Nodes: make evaluation and logging system aware of zones (PR #109029)
  • Code Review

Week 240: June 19 - 23

  • Fix #108704: scrubbing timeline does not to proper sampling like normal frame change (e40f993a70)
  • Fix #109209: crash when attributes are propagated to non-first output geometry (2b4ea3c38a)
  • Fix: Revert changes in Mesh to Volume node and modifier to Blender 3.6 (0b0a5d21ac)
  • Fix: geometry nodes modifier property not working after changing it in Python (c38dd2da2b)
  • Fix: zero interior band width leads to no volume output (571aaa0e92)
  • Geometry Nodes: make evaluation and logging system aware of zones (98d675ac6c)
  • WIP: Geometry Nodes: add support for serial loops (PR #109164)
  • WIP: RNA: simplify filtering enum items (PR #109206)
  • Code Review

Week 241: June 26 - 30

  • Fix: handle invalid node trees more gracefully (bf9687f9bb)
  • RNA: move most rna files to C++ (3ece6876af)
  • Nodes: fix zone detection for some special cases (af476f6a62)
  • Nodes: add nested node ids and use them for simulation state (f33d7bb598)
  • Cleanup: improve debug printing for anonymous attribute inferencing (f3da3c7de4)
  • Geometry Nodes: add support for serial loops (PR #109164)
  • WIP: DNA: experiment for dealing with C++ and DNA (PR #109619)
  • Code Review

Week 242: July 03 - 07

  • Fix #109460: vertex weight slider not working correctly (PR #109665)
  • Cleanup: Move many editors files to C++ (0b7d8a20bf)
  • Worked on supporting materials in simulation cache.
  • Made requested changes to repeat loop.
  • Code Review.

Week 243: July 10 - 14

  • Geometry Nodes: new Repeat Zone (3d73b71a97)
  • Geometry Nodes: support materials in simulation state with data-block mapping (PR #109703)
  • Geometry Nodes: add run-time data to geometry nodes modifier (7ec335f995)
  • Fix: simulation nodes baking does not work (38cecf9f89)
  • WIP: Geometry Nodes: new Bake node (PR #110137)
  • Moved many more files to C++.
  • Code Review.

Week 244: July 17 - 21

Week 245: July 24 - 28

Week 246: July 31 - 04

  • Fix #110471: Normal Edit modifier screws up UVs (09b6eac5c4)
  • Fix #109460: vertex weight slider not working correctly (cd74ba6413)
  • Fix #110041: gizmo stuck in place when playing back animation (c774cc0cc0)
  • Fix: temperature attribute in eevee is divided by three (ada738ac7c)
  • Fix: simulation outputs empty geometry when going to frame zero (81096abe2a)
  • Fix: simulation with no-cache resets when changing property (ba1e88bffc)
  • BLI: refactor string search to use C++ API (9150f6d1a9)
  • Nodes: define rna of nodes in node file instead of rna_nodetree.cc (PR #110840)
  • Cleanup: avoid using NOD_static_types.h for creating the node.type enum (f18c45eb69)
  • Cleanup: simplify usage of NOD_static_types.h in rna (9c72199258)
  • Cleanup: make versioning_260.cc independent of NOD_static_types.h (d5eb51e911)
  • Cleanup: set node struct ui names at run-time (b41c6489bc)
  • UI: show recently selected items at the top of searches (PR #110828)
  • UI: support searching in menus (PR #110855)
  • WIP: Nodes: experiment with auto registration of nodes (PR #110686)
  • https://devtalk.blender.org/t/speed-up-c-compilation/30508
  • Code Review

Week 247: August 07 - 11

  • Nodes: use auto registration for nodes (19912457c6)
  • Nodes: define rna of nodes in node file instead of rna_nodetree.cc (f7c0ef1f73)
  • RNA: move headers to C++ (cc4d5c432c)
  • Cleanup: use actual function type instead of void* in declaration (08a8825827)
  • Cleanup: move some node rna definitions to node files (868ae1092c)
  • WIP: UI: add Space Presets (PR #111068)
  • Worked a bit on baking but always ended up not knowing exactly where we want to go in terms of UI. Worked on a UI patch that addressed some of the concerns with using the outliner for baking.
  • Experimented a bit with moving some of the harder parts of node rna to node files (functions, struct definitions).
  • Spend some time getting to know the Clang/LLVM code base because I wanted to try something there.
  • Backported two bug fixes to 3.6.
  • Code Review.

Week 248: August 14 - 18

Took a few days off this week.

  • Worked towards better simulation api for geometry nodes.
  • Code Review.

Week 249: August 21 - 25

Had a hard time concentrating on development for an extended period of time this week, so didn't get much done.

  • Fix #111273: multiple vertex weight sliders show the same value (b6df32f740)
  • Worked towards better simulation api for geometry nodes.
  • Code Review.

Week 250: August 28 - 01

  • Fix #111633: crash with cyclic node tree zones (152f5dc897)
  • UI: support context dependent menus (aka assets) in menu search (41bf578182)
  • UI: build menu search parent tree eagerly (eb3b55f2a7)
  • Geometry Nodes: refactor simulation storage and how simulation nodes access it (e92c59bc9b)
  • Geometry Nodes: rename bdata to blob (d1c2b45836)
  • Geometry Nodes: generalize modifier simulation cache storage names (7d2c854261)
  • Geometry Nodes: simplify bake state api (da8ad3c2b6)
  • Cleanup: use C++ containers in menu search (d3eb85294f)
  • Cleanup: centralize bake file saving/loading (f3a5d28e7e)
  • Cleanup: move bake items code to separate namespace (7f00cfeab4)
  • UI: support searching in menus (PR #110855)
  • UI: show recently selected items at the top of searches (PR #110828)
  • WIP: BLI: reduce idle threads when computing caches (PR #111686)
  • Code Review

Week 251: September 04 - 09

Week 252: September 11 - 15

  • Fix #112333: assert when creating node group with unavailable link (346b83ca01)
  • Fix #112094: negative delta time values in simulation nodes (340b3ca9cb)
  • Fix #112094: pass through simulation before first simulated frame (e09ee01848)
  • Fix #111411: crash with group node that references linked-but-not-found group (e914004678)
  • Fix #111166: crash when enabling render pass with equally named AOV (11b2ac54a6)
  • Fix #112335: particle instance modifier outputs wrong attributes (726bd3887f)
  • Fix #109670: attribute shared between geometries even when edited (34b4487844)
  • Fix: Simulation Nodes: assert when scrubbing the timeline with simulation (e55ca270e2)
  • Functions: reduce memory usage in node state (bd414cdbda)
  • Functions: add asserts to check indices (5c450aea05)
  • Functions: better pack socket state structs (60c65ab13b)
  • Functions: combine allocations in lazy function graph executor (c74a309209)
  • Functions: use array indexing instead of VectorSet in graph executor (4db6a22c72)
  • Functions: refactor lazy-function graph interface (2a5f3bd1cc)
  • Functions: support wrapping lazy-function node execute function (54fd33d783)
  • Functions: add assert to detect invalid side effect nodes early (93f8d55473)
  • Geometry Nodes: send lazy threading hint from ico sphere node (cd0587c784)
  • Geometry Nodes: use separate struct for side effect nodes (c63f4e3085)
  • Geometry Nodes: generalize zone body function generation (07977bb413)
  • Geometry Nodes: generalize zone body function generation (07977bb413)
  • Geometry Nodes: create local tree logger only when something is logged (142541c279)
  • Geometry Nodes: refactor geometry nodes execution interface (62e2cc0ad0)
  • Cleanup: move local classes out of header (e2156c6402)
  • Geometry Nodes: use lazy evaluation in repeat zone (PR #112421)
  • Geometry Nodes: support materials in simulation state with data-block mapping (PR #109703)
  • Nodes: add internal node zone type (PR #112531)
  • WIP: Geometry Nodes: new For-Each zone (PR #112446)
  • WIP: Geometry Nodes: support baking individual simulations (PR #112179)
  • https://projects.blender.org/JacquesLucke/quick_key
  • Code Review

Week 253: September 18 - 22

  • Fix: segfault in geometry nodes with logging (710898a1ec)
  • Fix: assert when inserting simulation or repeat zone (6d75649076)
  • Fix: UI: garbage string when invoking search from menu (eef2a706b4)
  • Geometry Nodes: use lazy evaluation in repeat zone (dacb768cb6)
  • Geometry Nodes: add Viewer Iteration to Repeat Zone (PR #112818)
  • Geometry Nodes: support baking individual simulations (PR #112723)
  • Nodes: use new zone type to deduplicate code (2561d0038d)
  • Nodes: deduplicate rna definition of zone input nodes (2638f30983)
  • Nodes: deduplicate code for pairing zone nodes (f00c1ab658)
  • Nodes: add internal node zone type (3eb7e453e4)
  • Cleanup: Geometry Nodes: move functions to a more reusable place (7015d83368)
  • WIP: Geometry Nodes: add support for gizmos (PR #112677)
  • Code Review

Week 254: September 25 - 29

  • Fix #112022: allow vertex groups and attributes with same names again (5c5a041edd)
  • Fix #112916: crash when changing active repeat item (46ade1c2df)
  • Fix: simulation nodes not working after copying object (8418e41bf7)
  • Fix #107353: array cap broken on empty mesh (9ad6957574)
  • Fix: crash when entering edit mode on mesh used as start/end cap (03a9425f8a)
  • UI: show recently selected items at the top of searches (8362563949)
  • UI: prioritize highlighted last words in string search (56e98f8ba6)
  • BLI: compute string search scores in parallel (3cbddb2a22)
  • Mesh: show attribute name collision warning in more panels (425a5a3158)
  • Geometry Nodes: support baking individual simulations (ad169ba67a)
  • Geometry Nodes: add Inspection Index to Repeat Zone (c8cc169d6f)
  • Geometry Nodes: add section about geometry randomization (a6e5ae7111)
  • Geometry Nodes: add utility for debug randomization of instances (63e1d06233)
  • Geometry: add utility to check for bad geometry element index dependence (cc7da09c1b)
  • RNA: support passing template arguments to functions (690a3ddf7e)
  • Cleanup: Geometry Nodes: pass selection by varray instead of field (bafc952f97)
  • Geometry Nodes: new Split Geometry Groups node (PR #113083)
  • Geometry Nodes: support materials in simulation state with data-block mapping (PR #109703)
  • Geometry Nodes: deduplicate code to deal with dynamic socket amounts (PR #113114)
  • WIP: GPv3: Geometry Nodes (PR #112535)
  • WIP: Geometry Nodes: new For-Each zone (PR #112446)
  • WIP: Geometry Nodes: add support for gizmos (PR #112677)
  • Code Review

Week 255: October 02 - 06

  • Fix #113092: take highlighted part of search item into account in more places (0aa91a30dd)
  • Fix #113159: improve best word match heuristic in string search (9a8f65ef13)
  • Fix #113319: crash with out of bounds index in curve sample node (271f634a84)
  • Fix: don't set repeat zone output twice (331247fcee)
  • Fix: dynamic node declaration is not resetting update-skip flag (b04f006a4c)
  • Fix: Geometry Nodes: dangling pointer in geometry after modifier evaluation (17f465f775)
  • Fix: instance reference does not compare equal to copy of itself (262c67d36b)
  • Fix: String Search: avoid casting match scores to int (768ced88dd)
  • Geometry Nodes: deduplicate code to deal with dynamic socket amounts (012289b1e7)
  • Geometry Nodes: deduplicate zone socket item operators in Python (29da7608ca)
  • Geometry Nodes: refactor how side effect nodes are set up (fb38327e6a)
  • Geometry Nodes: use declaration builder for repeat zone (b6a3ac5a12)
  • Geometry Nodes: use declaration builder for simulation zone (0b3daea393)
  • Geometry Nodes: use socket name instead of identifier as debug names (6279be4157)
  • Nodes: deduplicate code to create declarations for socket type (beac6599fb)
  • Nodes: move socket declaration methods to base declaration builder (f3a1dd1eb5)
  • Nodes: pass node declaration builder to dynamic declaration function (1ecc315d34)
  • Nodes: use better default for color sockets (5830316681)
  • UI: start search in menu when pressing spacebar (48fe3aab36)
  • UI: use recent search for weighting only if the query is short (046155572d)
  • BLI: assert that hash of key is the same after inserting it in hash table (e299c41312)
  • Functions: add lazy-function graph input/output getter methods (8822e4de73)
  • Functions: enable multi-threading when many nodes are scheduled at once (7bd509f73a)
  • Functions: extract remapped-params to make it reusable (bef0d6c067)
  • RNA: don't generate declarations for templated functions (783058ed6d)
  • Cleanup: avoid having to pass in a statically allocated variable (32cb2b2334)
  • Cleanup: deduplicate more socket items code (eeb77f3d51)
  • Cleanup: deduplicate uilist layout code for zone socket items (5ad9c135e4)
  • Cleanup: move join geometry functionality to separate file (57e914fc8a)
  • Cleanup: replace use of std::iota with more specific function (144a5aa512)
  • Volume Proposal: https://hackmd.io/@II9-Bkl4TJifCqGL2jgbUw/SJ3puQ2x6
  • Geometry Nodes: new Split to Instances node (PR #113083)
  • WIP: Geometry Nodes: add support for gizmos (PR #112677)
  • WIP: Geometry Nodes: new For-Each zone (PR #112446)
  • Code Review.

Week 256: October 09 - 13

  • Fix #113386: separating by loose parts removes attribute data (535d211c94)
  • Fix #113416: never show inspection index warning when set to zero (fbfeb24588)
  • Fix #113563: prioritize main group length in string search (a9bf212de0)
  • Fix #113691: crash when Interpolate Curves input has zero curves (c584b6434f)
  • Fix: properties search crash (c52582e3fe)
  • Nodes: add forward compatibility for dynamic node declarations (0ea193bdb3)
  • Nodes: unify static and dynamic declarations (38813a7441)
  • RNA: speedup rna path creation in simple but common case (71feaba657)
  • UI: allocate panel runtime data separately (663aa3538d)
  • UI: use dash and underscore as word separators in string search (75c333ee5c)
  • Cleanup: add comment for why lazy threading hint is send (d5d6da2b1c)
  • Cleanup: move node declaration code out of header (14fa963910)
  • Cleanup: move panel runtime data out of dna header (613a0ad651)
  • Cleanup: use C++ struct for panel runtime data (1d516bba1e)
  • Geometry Nodes: new Split to Instances node (PR #113083)
  • WIP: Geometry Nodes: new socket shape for unknown socket type category (PR #113608)
  • WIP: UI: uiLayout based subpanels (PR #113584)
  • Replace Faces design: https://hackmd.io/@II9-Bkl4TJifCqGL2jgbUw/rJ0jbGO-p
  • Code Review

Week 257: October 16 - 20

  • Fix: update curve types before using them (4f3262a128)
  • Fix #113773: repeat zone does not propagate anonymous attributes sometimes (0e9f472726)
  • Fix #113851: viscoelastic springs do not work (051b02ed11)
  • Geometry Nodes: don't use CustomDataAttributes in Instances (ff4d5b6f04)
  • Geometry Nodes: new Split to Instances node (5bee6bcedc)
  • Geometry Nodes: add forward compatibility for map range socket identifiers (969dd7b985)
  • Geometry Nodes: show grease pencil materials in material socket (fa1e65f554)
  • Cleanup: remove now unused CustomDataAttributes (b47372356d)
  • Cleanup: use CustomDataAttributes from Instances interface (5f80242bc2)
  • Cleanup: don't use CustomDataAttributes when realizing instances (d0342b1782)
  • Cleanup: use single declare function for all group nodes (1c703eac2e)
  • UI: support different main word heuristics in string search (09e6ebb5f0)
  • Nodes: support looking up node sockets by identifier and name (PR #113984)
  • WIP: Geometry Nodes: new Bridge Curves node (PR #114014)
  • Code Review

Week 258: October 23 - 27

  • Fix #114041: freeze connecting capture attribute to repeat output node (312d8b1d66)
  • Nodes: support looking up node sockets by identifier and name (e4ad58114b)
  • Code Review
  • Blender Conference

Week 259: October 30 - 03

Was sick some days this week.

Week 260: November 06 - 10

This week we had a geometry nodes workshop.

Week 261: November 13 - 17

Week 262: November 20 - 24

  • Fix #109670: attribute shared between geometries even when edited (backport to 3.6) (PR #115234)
  • Fix #107353: array cap broken on empty mesh (backport to 3.6) (PR #115232)'
  • Fix #115277: cannot create group interface for custom sockets (20eaac747f)
  • Fix: crash when getting node tree logger (e50a601a95)
  • Nodes: support storing caller tree and node in node group compute context (78b2c15c4d)
  • Nodes: improve socket picking tolerances (74dd1e044b)
  • BLI: support checking if two maps are the same (813078daec)
  • Geometry Nodes: add two inputs in Index Switch by default (cbe0cf0bb0)
  • Geometry Nodes: set soft min/max in Index Switch node (8eaf89cc41)
  • Cleanup: reduce boilerplate for equality operators for structs (a976cf4876)
  • Cleanup: rename node group to group node context (96b3afe065)
  • WIP: Geometry Nodes: add support for gizmos (PR #112677)
  • Code Review

Week 263: November 27 - 01

  • Fix #115366: missing task isolation when computing loose subdiv edges (PR #115479)
  • Fix #115451: hard to resize collapsed nodes (f8c8878232)
  • BLI: improve const handling in ImplicitSharingPtr (7730ca2b9d)
  • Geometry Nodes: allow naming geometry sets (PR #114910)
  • Geometry Nodes: extract global data passed to a geometry nodes invocation to separate struct (7a7b7196f9)
  • Geometry Nodes: make function for mixing baked data more reusable (b7a476ef03)
  • Geometry Nodes: muting zone input and output nodes is not allowed (d34618e6b4)
  • Cleanup: return managed pointer when copying geometry component (cefdb67db7)
  • WIP: Geometry Nodes: add support for gizmos (PR #112677)
  • WIP: Geometry Nodes: new Bake node (PR #115466)
  • WIP: UI: uiLayout based subpanels (PR #113584)

Week 264: December 04 - 08