Yes, seems like it does. However, as far as I can tell, BKE_animdata_fix_paths_rename_all_ex
does the same - the nodetree ID that is being passed into it is only used in one bone-specific check…
The crash was solved by moving the logic to do_versions_after_linking_400
.
Also, I've added code to remove animdata for the removed sockets, it turned out to be easier than expected.
Considering that the 4.0 release is coming closer, I'd say we stick with this for now.
Should we mix between the clamped and unclamped base color based on the metallic and subsufrace weight inputs? See previous comment.
Honestly, I'd skip it. Setting Base Color over one is…
General comment: I'd prefer to keep clamping explicit in the shader code, even if the closure's internals do it already. That way, we don't e.g. accidentally break compatibility if we change the closure's internals, and it's easier to ensure that things stay consistent. The performance impact should be negligible.
As above - having all the clamping together at the start makes it more maintainable (except for cases where the same parameter gets clamped differently depending on context).