Page MenuHome

Fix T95612: Missing domain interpolation when setting output attribute.
ClosedPublic

Authored by Jacques Lucke (JacquesLucke) on Feb 8 2022, 4:58 PM.

Details

Summary

The issue happens when there is a domain mismatch between the output domain set in the node group and the domain of an existing attribute with the same name.
There are 2 possible ways to handle this, I'm not exactly sure which should be preferred yet:

  1. Use the domain set in the node group.
  2. Use the domain of the existing attribute.

With this patch, we only write into the an existing attribute if the domain and data type provided by the node group matches the existing attribute.

Fixes T95611, T95612, T95610

Diff Detail

Repository
rB Blender
Branch
overwrite-existing-attribute (branched from master)
Build Status
Buildable 20417
Build 20417: arc lint + arc unit

Event Timeline

Jacques Lucke (JacquesLucke) requested review of this revision.Feb 8 2022, 4:58 PM
Jacques Lucke (JacquesLucke) created this revision.

We usually automatically convert data types, which would be more like option 1. Maybe it's better to be more consistent with that for non-builtin attributes? On the other hand, maybe changing the domain on the fly is unexpected.

Another option is this: For 3.1 this could behave the same way it did before the recent bug fix to this area, and for 3.2 we could implement an "Auto" option like all of the old named attributes nodes (which we can also have in the store named attribute node).
The "Auto" option would use the existing domain if possible, otherwise the point domain I suppose. Does that sound reasonable?

  • Only write into existing attribute when data type and domain matches.
This revision is now accepted and ready to land.Feb 9 2022, 2:34 PM