feat(pet): гардероб — выбор аксессуаров + новые украшения

Аксессуары больше не навешиваются авто по уровню — теперь разблокируются
и НАДЕВАЮТСЯ по выбору (один на слот). Новые: шапочка выпускника, наушники,
бабочка (бесплатные — доступны даже при 0 XP). Сохранены цилиндр/корона/очки/
звезда с прежними порогами; дефолт повторяет старый вид (без сюрпризов).

Бэкенд: миграция pet_equipped, каталог ACCESSORY_CATALOG + /api/pet/equip
(валидация разблокировки и слотов). Рендер аксессуаров строго по equipped —
в обеих копиях (pet.html и pet-sprite.js для дашборда). UI гардероба на /pet.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-05 13:37:45 +03:00
parent 8c961cd082
commit 7bf1da94e4
5 changed files with 173 additions and 31 deletions
@@ -0,0 +1,3 @@
-- Гардероб питомца: какие аксессуары надеты (JSON-массив id).
-- NULL = ещё не настраивал → используется дефолт (старое авто-поведение по порогам).
ALTER TABLE users ADD COLUMN pet_equipped TEXT;