Blender Wiki notes the following about bl_idname convention.
"For headers, menus and panels, the bl_idname is expected to match the class name (automatic if none is specified).
class OBJECT_OT_fancy_tool (and bl_idname = "object.fancy_tool") class MyFancyTool (and bl_idname = "MYADDON_MT_MyFancyTool")
" In other Blender Python documentation I noted also: PythonDocumentationPanel
class HelloWorldPanel(bpy.types.Panel): bl_idname = "OBJECT_PT_hello_world"
class PanelOne(View3DPanel, bpy.types.Panel): bl_idname = "VIEW3D_PT_test_1"
I struggle to grasp how all these are valid as the demand is "expected to match the class name".
Can you shade light on the convention or refer me to the right source, so I know how and when to use Upper, Lower, Mix case?