User:JacquesLucke/Reports/2022

Week 166: January 03 - 07

  • Fix T94545: Support realizing instanced collections (d960c78693).
  • Fix T94707: Inverted output of separate geometry node incorrect (6c906b7c21).
  • Fix T94534: Dangling pointer in internal link after removing socket (d5e73fa13d).
  • Fix T94659: Crash when deleting instances (3e92b4ed24).
  • Assets: Disable automatic preview generation for node groups (b63f375775).
  • D13739: UI: Show recently selected items at the top of searches.
  • D13747: Assets: Add operator to create preview from active object.
  • D13748: Assets: Enable node group assets.
  • D13752: Add script to check namespace names for unity builds.
  • D13757: 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 (8dd163160e).
  • Fix T94111: Nurb normal calculation does not work (39ba82f25d).
  • Fix T94812: Render layer sockets are missing after file load (145f1d1e0a).
  • Fix T94797: Crash when playing animation in eevee rendered view (1e61b759c7).
  • Fix T94867: Viewport render not updating when editing color ramp (c9a8975de5).
  • Cleanup: Add utility macro to simplify using std::enable_if (bd8fa07a3d).
  • Cleanup: Move attribute operators to c++ (0a3de0305c).
  • D13757: Geometry Nodes: New Scale Elements node.
  • D13825: Geometry Nodes: New Field at Index node.
  • D13828: Geometry Nodes: Improve domain interpolations.
  • D13819: Geometry Nodes: Add intermediate field node type. (WIP)
  • D13827: Geometry Nodes: Experimental new Face Vertex/Edge node. (WIP)
  • D13838: 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 (9f8ae130af).
  • Fix T94977: Muted link is not ignored in eevee (2486346f6f).
  • Geometry Nodes: Improve domain interpolation code (796e9d442c).
  • Geometry Nodes: New Field at Index node (b88a37a490).
  • Geometry Nodes: New Scale Elements node (d034b85f33)
  • Attributes: Add operator to convert generic attributes to other types (f6888b530a).
  • D13827: Geometry Nodes: New Face Vertex/Edge node.
  • D13739: 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 (12b26d21b0).
  • Assets: Enable node group assets (37848d1c8e).

Next Week

Geometry nodes and hair project.

Week 170: January 31 - 04

  • Fix T95205: Remove attribute only once (5257257539).
  • Fix T95314: Constant values not shown in spreadsheet (84dab8b597).
  • Fix T95262: Instances ignored in Frame Selected operator (217e0a2ce6).
  • Fix T95395: Dangling parent pointer when creating node group (2bd71b49e7).
  • Fix T95084: Evaluate all output attributes before changing geometry (a985f558a6).
  • Fix T94435: Remove anonymous attributes when applying modifier (4be87e97f4).
  • Fix T95489: Support writing to vertex groups with geometry nodes again (b8a634cb1d).
  • BLI: Fix memory leak in VectorSet (bf8597febe).
  • Cleanup: Avoid generating some functions in all translation units (b4563ab2df).
  • D14006: BLI: New C++ BitVector data structure (WIP).
  • T95472: 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 (2f868e5647).
  • Fix T95543: Incorrect handling of implicit field inputs in ui (65d287a14a).
  • Fix T95570: Missing task isolation when computing normals (de71860555).
  • Fix T91840: Do not create invalid links when inserting a node (06ac599261).
  • Fix T95612: Only overwrite existing attributes with matching domain and type (7313a84c5a).
  • Fix T95664: Missing update after changing active output node (87d2de88fd).
  • Fix T95624: Video texture not refreshing when changing offset in node (720d653b41).
  • Fix T95613: Remove anonymous attributes when converting object (25c4000796).
  • Fix: Missing null check (eb071e3d3c).
  • BLI: Wrap parallel_invoke from tbb (7c10e364b2).
  • Geometry Nodes: Show indicator when realize instances node is in legacy mode (b38f40e904).
  • D14006: 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 (33dde170ce).
  • Fix T95815: Missing null check when computing dupli dimensions (0622d2ec61).
  • Fix: Removing anonymous attributes before adding mesh to bmain (257ba175fa).
  • Curves: Add initial sculpt mode (07032dd218).
  • Curves: Initial brush system integration for curves sculpt mode (61aaeb3745).
  • T95845: Use Copy on Write in more places.
  • T95842: Prepare custom data API for attribute sharing.
  • T95776: 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 (4e78a7360e).
  • Fix T95985: Crash when assigning a name for an output attribute (17e0634902).
  • Curves: Initial brush implementations for curves sculpt mode (226f0c4fef).
  • Curves: Add surface object pointer (6e11cfc56a).
  • Paint: Decouple op->customdata from PaintStroke (141d5851d7).
  • Paint: Pass operator to stroke update function (ed9f763034).
  • BLI: Support accessing nth last element in Array/Span/Vector (9be720d85e).
  • D14185: Nodes: Improve inserting nodes on existing links. (WIP)
  • Code Review.

Next Week

Geometry nodes and hair project.

Week 174: February 28 - 04

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

Next Week

Geometry nodes and hair project.

Week 175: March 07 - 11

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

Next Week

Geometry nodes and hair project.

Week 176: March 14 - 18

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

Next Week

Geometry nodes and hair project.

Week 177: March 21 - 25

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

Next Week

Geometry nodes and hair project.

Week 178: March 28 - 01

  • rB1cdf8b19: Fix T96957: creating paint curve crashes
  • rB2202259e: Fix T96909: crash when assigning new node group to group node
  • rBfced604a: Curves: improve Snake Hook brush
  • rB3656e66a: Curves: support converting curves to legacy hair system
  • rBd7c64421: BLI: support value initialization in CPPType
  • rBc55afdf3: BLI: add utility to convert IndexMask to best mask type
  • rBa264dff4: BLI: optimize Map/Set/VectorSet.clear methods
  • rB3c6c15d6: Functions: move loops into function builders
  • D14474: Curves: New Grow/Shrink brush.
  • D14515: Curves: Operator to snap curves to surface. (WIP)
  • T96442: 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

  • rB9743f765: Fix: accidentally swapped value with itself
  • rBe40b0d52: Preferences: enable Duplicate Data for curves and point cloud objects
  • rBfd5e5dac: Geometry Nodes: avoid data copy in store named attribute node
  • rB50869b40: Curves: operator to snap curves to surface
  • rB434521a9: Curves: improve Add menu for new curves object
  • rB30f9ebb6: Curves: expose convert to particle system operator in sculpt mode
  • rB190334b4: Curves: new Grow/Shrink brush
  • rBee3f71d7: Functions: allow for better compiler optimization
  • rB120a17a4: BLI: add CPPType utility to copy elements to a shorter array
  • rBa5beca7b: BLI: inline fast path of IndexRange::as_span
  • rB384a02a2: BLI: add missing materialize methods for virtual arrays
  • rB2aff0491: Functions: parallelize materializing arrays after field evaluation
  • rB67c42e7f: 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

  • rBc7101308: Geometry Nodes: show used named attributes in nodes
  • rB2839fe9a: Curves: initial geometry nodes support for curves objects
  • rBc9574412: Curves: fix some issues with operator to convert to particle system
  • rBe0c8d091: Curves: remove Test1 brush
  • D14647: Auto-save improvements. (WIP)
  • D14628: 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

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

Next Week

Geometry nodes and hair project.

Week 182: April 25 - 29

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

Next Week

Workshop in Amsterdam.

Week 183: May 02 - 05

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

Next Week

Workshop in Amsterdam.

Week 184: May 09 - 13

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

Next Week

Hair project and geometry nodes.

Week 185: May 16 - 20

  • rBf517b3a2: Fix T98157: improve animation fps with better check in depsgraph
  • rB2e70af5c: Fix T97761: incorrect mixing of integers
  • D14942: Curves: Draw legacy hair particle system as curves object. (WIP)
  • D14972: Curves: New Pinch brush (WIP).
  • D14993: BLI: Use no_unique_address attribute.
  • T95776: 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

  • rBa5409d2b: Fix T98316: geometry nodes stop updating after duplication
  • rB2f2d13b8: Fix T97237: dragging custom node group asset adds broken node
  • rBe07b1b83: Fix T98317: equal vs not-equal modes in compare node are not exact opposites
  • rB2ea6a0dd: Fix T98328: missing depsgraph update after adding node group
  • rB174c3ffb: Fix T98268: replace string node des not handle empty strings correctly
  • rBf29ff7fb: Fix T98152: Named Attribute node changes data type for non-existant attributes
  • rBa337e773: BLI: use no_unique_address attribute
  • D15016: Curves: Make tangent computation more robust against duplicate points.
  • D14934: Curves: Add float selection in sculpt mode
  • D14972: Curves: New Pinch brush (WIP).
  • D15033: Nodes: Add separately allocated run-time data for bNodeTree.
  • T98366: Active Attributes
  • T95776: 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

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

Next Week

More hair and geometry nodes discussions.

Week 188: June 06 - 10

Was in Amsterdam still.

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

Next Week

Hair project and geometry nodes.

Week 189: June 13 - 17

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

Next Week

Hair project and geometry nodes.

Week 190: June 20 - 24

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

Next Week

Hair project and geometry nodes.

Week 191: June 27 - 01

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

Next Week

Hair project and geometry nodes.