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) lowered the priority of this task from Needs Triage by Developer to Normal.

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...)