User:JacquesLucke/Reports/2023
< User:JacquesLucke | Reports
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
- Fix #105953: division by zero in quadriflow leads to crash r45c16f43ad6c9ae52fe4b002ccb88641a09c4ea6
- BLI: add core types for supporting implicit-sharing rfbcddfcd68adc72f4dde6c1b769659ba8e9f086b
- BLI: support == and != for Set rd81d743537d9e9965d73e8509047aed47225a37b
- Cleanup: use eCustomDataType instead of int PR #106268
- Cleanup: move flip faces code from nodes to geometry module ra145d1563a68ac08c3b72c222fee30d85850e30f
- WIP: Sculpt: update mesh data pointers stored in pbvh PR #106271
- WIP: Custom Data: support implicit sharing for custom data layers PR #106228
- Got to know the alembic api a little bit.
- Experimented with simulation baking and a freeze geometry node.
Week 229: April 03 - 07
- PBVH: update mesh data pointers stored in pbvh rcde565c26cf22f08706db93c4d22f34ce8e23546
- Cleanup: use BLO_CODE_ prefix for BHead codes r9182851afe1a59ad32f596dbb7aa79385b6655a3
- Cleanup: simplify customData_resize r5cc5d6391b78896919b3bae0fca534821f78d593
- Custom Data: support implicit sharing for custom data layers PR #106228
- Geometry Nodes: Freeze Node #106497
- Taught my first class on Blender and 3D printing.
- Code Review.
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
- Fix: calculating duplicates in kdtree does not work with selection (20b19f2b12)
- Fix: missing null check leads to crash when rendering (e674e32aa1)
- Geometry Nodes: add simulation support (0de54b84c6)
- Checkpoints prototype and proposal: https://devtalk.blender.org/t/geometry-nodes-checkpoints-proposal/29266
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
- Spend most of the week in Amsterdam in meetings: https://devtalk.blender.org/t/2023-05-15-node-tools-workshop/29426
- UI: Add timeline to Geometry Nodes workspace (PR #107982)
- BLI: refactor IndexMask for better performance and memory usage (PR #104629)
- Code review.
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
- RNA: support compiling rna files as C++ code (PR #108290)
- Wrote design task for supporting materials in simulation state: https://projects.blender.org/blender/blender/issues/108410
- Code Review.
Week 238: June 05 - 09
- Fix #107473: make links connected to unavailable sockets invalid (5f7be257b8)
- Fix #108704: missing redraw after timeline scrubbing with temporal denoise (b344e4ba61)
- RNA: support compiling rna files as C++ code (d154ebfa83)
- Proposal: Single Node Group Socket Hierarchy: https://devtalk.blender.org/t/single-node-group-socket-hierarchy-proposal/29775/
- Proposal: Serial Loops: https://devtalk.blender.org/t/serial-loops-proposal/29777
- Proposal: Gizmos for Geometry Nodes: https://devtalk.blender.org/t/gizmos-for-geometry-nodes-proposal/29776
- Code Review.
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
- Moved many more files to C++.
- WIP: Geometry Nodes: new Bake node (PR #110137)
- WIP: Nodes: add node type callbacks for .blend IO (PR #110320)
- https://devtalk.blender.org/t/dna-decentralization-and-c/30391/13
- Code Review.
Week 245: July 24 - 28
- Fix #110543: black faces on mesh extrude (38294bcbe7)
- Fix: failing mesh boolean test in debug build due to unnormalized normal (830fb684c3)
- BLI: update blender::Set vs std::unordered_set benchmark results (f397ba7571)
- Geometry Nodes: extract bake items from simulation baking (860196d5a1)
- Cleanup: add static assert for detect bad usage of MEM_SAFE_FREE (d1aeb1c3b4)
- WIP: Nodes: experiment with using unity builds for editors/space_node (PR #110598)
- WIP: Geometry Nodes: new Bake node (PR #110137)
- https://devtalk.blender.org/t/dna-decentralization-and-c/30391/13?u=jacqueslucke
- Moved most remaining files to C++.
- Code Review
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
- Fix #111934: crash sculpting on mesh (ce48a2a85c)
- Fix #111933: wrong rest position (439e37466c)
- Fix: exception when using menu search outside of properties editor (461a458e85)
- UI: support searching in menus (7f9d51853c)
- UI: show recently selected items at the top of searches (PR #110828)
- RNA: return PointerRNA from rna create functions (b5c89822ac)
- Geometry Nodes: add Skip input to Simulation Output node (dd515ebc1d)
- Geometry Nodes: support materials in simulation state with data-block mapping (PR #109703)
- Design: Simulation Nodes Reset Behavior: https://projects.blender.org/blender/blender/issues/112154
- WIP: Geometry Nodes: support baking individual simulations (PR #112179)
- Code Review
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.
- Geometry Nodes: don't show Layer domain unless grease pencil 3 is enabled (874029fd5c)
- Fix #113532: geometry nodes is always reevaluated after undo (c29857fffa)
- Fix #114251: Angle input of Compare node disconnected on reload (245da40f81)
- Volumes in Geometry Nodes: https://devtalk.blender.org/t/volumes-in-geometry-nodes-proposal/31917
- Referencing Anonymous Attributes: https://devtalk.blender.org/t/geometry-nodes-referencing-anonymous-attributes/31913
- Dynamic Socket Visibility: https://devtalk.blender.org/t/dynamic-socket-visibility/31874
- Replacement-based Procedural Modelling: https://devtalk.blender.org/t/replacement-based-procedural-modelling-proposal/31851
Week 260: November 06 - 10
This week we had a geometry nodes workshop.
- Blog post: https://code.blender.org/2023/11/geometry-nodes-workshop-november-2023/
- Meeting notes: https://devtalk.blender.org/t/2023-11-06-geometry-nodes-workshop-notes/32007
- WIP: Experiment with solvespace library (PR #114757)
Week 261: November 13 - 17
- Fix: versioning code results in duplicate node links (02bc43d08e)
- Fix: assert when running deform modifier tests in debug build (e62179ce04)
- Geometry Nodes: allow naming geometry sets (PR #114910)
- Nodes: improve socket picking tolerances (PR #115010)
- Nodes: ungroup all selected group nodes instead of just the active one (f3cd25370c)
- Cleanup: reduce boilerplate for equality operators for structs (PR #115088)
- WIP: UI: uiLayout based subpanels (PR #113584)
- WIP: Geometry Nodes: add support for gizmos (PR #112677)
- WIP: Experiment with solvespace library (PR #114757)
- https://devtalk.blender.org/t/geometry-nodes-gizmos-feedback/32073
- https://devtalk.blender.org/t/custom-warnings-in-geometry-nodes-proposal/32116
- Code Review
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
- Fix: ensure function does not create geometry instances in all cases (822cb1afd7)
- Cleanup: use more descriptive function names (88ec663498)
- Nodes: add node callback for extra info that is drawn above node (a23bd3d7f3)
- Geometry Nodes: new Bake node (PR #115466)
- WIP: UI: uiLayout based subpanels (PR #113584)
- Docs for implicit sharing APIs: https://hackmd.io/@II9-Bkl4TJifCqGL2jgbUw/ryFvCQyIp
- Code Review