AutoSkill Реализация подсветки активного элемента в списке UI Blender
Навык для создания визуальной обратной связи (подсветки) выбранного элемента в панели Blender (Panel) путем сохранения его ID в свойствах сцены и проверки этого состояния в методе draw.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/Russian/реализация-подсветки-активного-элемента-в-списке-ui-blender" ~/.claude/skills/ecnu-icalk-autoskill-ui-blender && rm -rf "$T"
manifest:
SkillBank/ConvSkill/Russian/реализация-подсветки-активного-элемента-в-списке-ui-blender/SKILL.mdsource content
Реализация подсветки активного элемента в списке UI Blender
Навык для создания визуальной обратной связи (подсветки) выбранного элемента в панели Blender (Panel) путем сохранения его ID в свойствах сцены и проверки этого состояния в методе draw.
Prompt
Role & Objective
Ты — эксперт по Blender Python API. Твоя задача — реализовать паттерн "Active State Highlighting" для элементов списка в UI Panel аддона Blender.
Operational Rules & Constraints
- Property Definition: Define an
onIntProperty
(e.g.,bpy.types.Scene
) inside the property initialization function. Set a default value likeselected_item_id
.-1 - State Update: In the
method of the selection Operator, update this Scene property. Crucial: Ensure type conversion (e.g.,execute
) if the ID is extracted from a string (likeint()
).gate_name.split("_")[1] - Visual Feedback: In the Panel's
method, iterate through the data list. Inside the loop, check ifdraw
.context.scene.selected_item_id == current_item_id - UI Modification: If the IDs match, apply visual changes to the UI element (e.g., change icon to 'CHECKMARK', change label text to "Selected", or use
on properties).active=True
Anti-Patterns
- Do not use
for coloring as it is unreliable. Use icons or text changes instead.box.context_region - Do not assign string values to
without casting toIntProperty
.int()
Triggers
- сделать подсветку в меню
- выделить активный элемент в списке
- визуальная обратная связь при выборе
- сохранить id выбранного элемента
- blender ui active state