Page MenuHome

Inaccuracy in 'Info' editor
Open, NormalPublic

Description

This bug is difficult to describe specifically, since I have no idea of all of the affected properties. All I noticed is that some are reported inaccurately (i.e. the reported rna path does not exist or does not point to the changed property).

A few I found are on the View Layer tab in the Properties editor:
bpy.context.scene.view_layers[0].cycles.denoising_store_passes is reported as bpy.context.scene.denoising_store_passes
bpy.context.scene.view_layers[0].cycles.pass_debug_render_time is reported as bpy.context.scene.pass_debug_render_time
bpy.context.scene.view_layers[0].cycles.use_pass_volume_direct is reported as bpy.context.scene.use_pass_volume_direct
bpy.context.scene.view_layers[0].cycles.use_pass_volume_indirect is reported as bpy.context.scene.use_pass_volume_indirect
Plus all of the Cryptomatte and Denoising properties.

I have no idea how the Info editor receives this information, but it looks as if the message is partially hard-coded and not up to date?

Details

Type
Bug

Event Timeline

Philipp Oeser (lichtwerk) claimed this task.
Philipp Oeser (lichtwerk) triaged this task as Normal priority.

Can confirm, there are a couple of these, will have a look...

This path resolution seems to fail if a PointerProperty with a PropertyGroup is defined on anything else than a real ID.

So in the case of cycles, it defines a couple of these [search for .cycles = PointerProperty(]
It is fine for Scene, Camera, Material, Light, World, Mesh, Curve, MetaBall, Object, but it fails for ViewLayer

We then get into trouble resolving the path in RNA_path_from_ID_to_struct / rna_path_from_ID_to_idpgroup
When trying to find the needle in the haystack, the haystack will only consist of IDProps of the Scene
haystack = RNA_struct_idprops(&id_ptr, false);
(so it wont look in Viewlayer)

Instead the haystack should probably go over Scenes properties recursively?
Also not sure if the property defined in BPy_PointerProperty should have ->nested applied somehow in case parent is not a real ID?

Maybe I could dive deeper, but before doing so, I would like to get some feedback from @Campbell Barton (campbellbarton) , @Brecht Van Lommel (brecht) or @Bastien Montagne (mont29) if I am on the right track here...
(will also assign to @Campbell Barton (campbellbarton) since he wrote the original haystack thingie...)