# MoonWell Client Sources — Agent Guide ## Проект WoW-клиент на базе патча **3.3.5a (build 12340, WotLK)**. Репозиторий содержит UI-аддоны и кастомные интерфейсы для приватного сервера MoonWell. Стек: Lua 5.1, FrameXML (XML + Lua), WoW Addon API 3.3.5. --- ## Навыки (Skills) Перед тем как работать с UI — **прочитай соответствующий файл из `ai-skills/`**. | Задача | Файл | |--------|------| | Верстка фреймов, XML, Lua CreateFrame, pixel-perfect из Figma, текстуры, шрифты, якоря | [`ai-skills/ui/SKILL.md`](ai-skills/ui/SKILL.md) | | Виджеты, типы фреймов, Button/EditBox/ScrollFrame, события, SavedVariables, Blizzard API | [`ai-skills/ui/widgets-and-api.md`](ai-skills/ui/widgets-and-api.md) | Читай **весь файл** скилла, а не отдельные секции — там есть ограничения API, типичные ошибки и готовые шаблоны. --- ## Ключевые ограничения (всегда держи в голове) - `## Interface: 30300` — никаких retail-API - Нет `SetSize()` → только `SetWidth()` / `SetHeight()` - Нет `C_Timer`, `CreateFramePool`, `PixelUtil` - Текстуры: только степени двойки, максимум 512×512 px, формат `.tga` / `.blp` - XML-атрибуты: `relativeTo` (не `relativeKey`), `$parentX` (не `$parent.X`) - Кнопки и ScrollFrame в XML должны иметь `name` --- ## Структура аддона ``` AddonName/ ├── AddonName.toc ← обязательно, имя файла = имя папки ├── AddonName.xml ← верстка (загружается первой) └── AddonName.lua ← логика ``` Порядок файлов в TOC важен: XML раньше Lua.