blender-syntax-panels
Installation
SKILL.md
blender-syntax-panels
Quick Reference
Critical Warnings
NEVER modify scene data inside Panel.draw() — draw callbacks are read-only. Modifying properties triggers infinite redraw loops.
NEVER call bpy.ops.* inside draw() — operators MUST be exposed as UI buttons, not called directly during drawing.
NEVER omit bl_space_type or bl_region_type — registration fails without both.
NEVER use bl_idname values without the correct type tag (_PT_ for panels, _MT_ for menus, _UL_ for UILists).
ALWAYS use layout.panel() for collapsible sections in Blender 4.1+ instead of registering separate sub-panel classes.
ALWAYS match bl_space_type, bl_region_type, and bl_category between parent and child panels.