Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 KiB
ТЗ: персонаж для BroV
0. Контекст
BroV — маленькое приложение для macOS, которое живёт в «чёлке» (notch) MacBook. Внутри сидит персонаж-маскот. Он показывает, что делают ИИ-агенты (Claude Code и другие), просит подтвердить действия, болтает в чате и реагирует на пользователя.
Название — игра слов: BroV = «бровь» (чёлка MacBook похожа на бровь) + «bro». Персонаж должен это обыгрывать.
Сейчас в приложении стоит временная заглушка: болотно-зелёный бугристый комок с огромной сросшейся волосатой бровью, кровавыми глазами разного размера, зубастой ухмылкой, слюной, бородавками и шрамом со швами. Её нужно заменить на нормально придуманного персонажа.
Важно про технику. Персонаж рисуется кодом: SwiftUI Canvas, векторные примитивы (эллипсы, кривые Безье, скруглённые прямоугольники, градиенты), 60–120 кадров/с. Картинок, спрайтов, Lottie или Rive нет. Анимация параметрическая: у движка есть набор чисел (поворот головы, сжатие, открытость глаз и т. п.), которые плавно меняются, и каждый кадр персонаж перерисовывается по этим числам. Значит, от тебя нужны не «кадры мультика», а конструкция персонажа + раскадровки, привязанные к этим параметрам. Код по твоему дизайну напишет другой ИИ (Claude).
1. Что нужно сдать (deliverables)
- Концепт и характер. 3 варианта концепта (картинками), потом один финальный. Короткое описание характера: кто он, как двигается, чем бесит, чем мил.
- Character sheet финального варианта: анфас, повороты головы влево/вправо (≈30°), взгляд вверх/вниз, вид в мелком размере (20 и 44 pt).
- Слоистый SVG нейтральной позы (viewBox, описанный в разделе 3), каждый элемент отдельной группой с понятным
id:body,shading,brow,eye-left,eye-right,mouth,hand-left,hand-right,details(бородавки, шрамы и т. п.). Только простые фигуры:ellipse,rect rx,pathс кривыми Безье,linearGradient/radialGradient. Без фильтров, масок с растром, шрифтов и картинок. - Все формы глаз (13 штук, раздел 6) — SVG или чёткие эскизы с размерами.
- Все формы брови по состояниям и эмоциям (раздел 7).
- Все формы рта по состояниям, плюс «рот-щель» для режима коробки (раздел 11).
- Палитра с HEX: основное тело, тени, обводки, глаза, бровь, рот, акценты. Плюс правило, как тело перекрашивается в цвет состояния (раздел 5).
- Раскадровки каждой анимации из разделов 8–13: ключевые позы + тайминги в миллисекундах + какие параметры меняются. Формат описан в разделе 15.
- Аксессуары/наряды (раздел 14): как каждый сидит на новой форме тела.
- Иконка приложения (1024×1024, скруглённый квадрат macOS) и иконка меню-бара (одноцветный силуэт 22×16 pt, читается в 16 px).
2. Жёсткие ограничения
-
Фон всегда чёрный: чёлка — это чёрный остров у верхнего края экрана. Персонаж должен хорошо читаться на
#000–#16171B. -
Размеры, в которых он живёт (диаметр области персонажа):
- 6 pt — спрятан в чёлке (почти точка);
- 20 pt — бегунок полосы загрузки;
- 24–30 pt — свёрнутый режим (compact) и мини-боты в «пилюлях» агентов;
- 44–66 pt — основной размер в развёрнутой чёлке;
- 120 pt — режим «на рабочем столе»;
- 1024 — иконка.
Главный размер — 44–66 pt. При 20–30 pt мелкие детали (волоски, вены, бородавки) должны пропадать, а силуэт, бровь и глаза — оставаться узнаваемыми. Опиши, какие детали скрывать ниже какого размера.
-
Простота отрисовки: держи в голове бюджет ~40 фигур на кадр для основного персонажа и ~10 для мини-бота. Без сложных текстур.
-
Псевдо-3D: голова «поворачивается» (yaw/pitch, раздел 4). Глаза, бровь и рот при повороте съезжают по поверхности и сплющиваются по краям, как на шаре. Значит, лицо должно лежать на условной сфере, а не быть плоской наклейкой.
-
Тело перекрашивается: мини-боты агентов заливаются сплошным цветом агента (синий, зелёный и т. д.). Дизайн должен работать и в «своих» цветах, и в однотонной заливке любого цвета.
-
Лицензия: нельзя делать похожим на Mochi из проекта Coucou (белый мягкий квадратик-моти с двумя чёрными глазами-пилюлями). Свой оригинальный персонаж.
-
Настроение: кринжовый, слегка жуткий, но обаятельный. Уровень «милый монстр / гадкий бро», не хоррор, от которого неприятно работать.
3. Система координат
Холст квадратный, сторона W. Все размеры персонажа считаются от R = 0.3 · W.
| Элемент | Значение |
|---|---|
| Центр тела | центр холста, чуть ниже: cy = H/2 + 0.06R |
Полуширина тела rx |
1.14 R |
Полувысота тела ry |
0.88 R |
| Текущая форма тела | суперэллипс (скруглённый «squircle»), показатель ≈ 2.7 |
| Глаза | на «сфере» на ±0.37 рад (≈21°) от центра по горизонтали, по вертикали чуть ниже центра (eyeP = −0.12 рад) |
| Размер глаза | ширина 0.25R, высота 0.27R |
| Руки | эллипсы 0.60·ry × 0.52·ry, прячутся за телом снизу по бокам |
Форму тела можно менять (не обязательно squircle), но габариты держи примерно в 2.3R × 1.8R: под них свёрстан весь интерфейс.
Для SVG используй viewBox="-1.5 -1.5 3 3" с единицей = R и центром тела в (0, 0). Так размеры переносятся в код один в один.
4. Анимационные параметры движка
Каждый кадр движок хранит эти числа и рисует персонажа по ним. Все раскадровки описывай через них. Можешь предложить новые параметры (например, browAngle, mouthOpen, drool), но явно их перечисли и опиши диапазон.
| Параметр | Диапазон | Что делает |
|---|---|---|
yaw |
−0.65…0.65 рад | поворот головы влево-вправо (лицо съезжает по сфере) |
pitch |
−0.5…0.5 рад | взгляд вверх-вниз |
tilt |
±0.2 рад | наклон всего тела (поворот вокруг центра) |
roll |
0…4π | «кувырок»: лицо прокручивается по сфере, полный оборот = 2π |
sx, sy |
0.78…1.28 | сжатие/растяжение тела (squash & stretch) |
ox, oy |
±0.3 (в долях R) | смещение тела (тряска, подпрыгивание) |
open |
0.06…1 | открытость глаз (моргание) |
es |
1…1.25 | масштаб глаз (удивление, наведение мыши) |
tint |
0…0.78 | насколько тело окрашено в цвет состояния (снизу вверх) |
blush |
0…1 | румянец |
hands |
0…1 | руки выдвинуты из-за тела |
morph |
0…1 | превращение тела в коробку-почтовый ящик (раздел 11) |
slotH |
0…0.5 (в долях R) | высота «рта-щели» коробки, на пружине |
badgeS |
0…1 | масштаб значка над головой (раздел 9) |
physDx, physDy |
−1…1 | инерция для шапок и болтающихся деталей: отстают при движении |
dancingLevel |
0…1 | танец под музыку (раздел 12) |
outfitPresence |
0…1 | появление наряда |
Как меняются значения:
- Твины по ключам:
[цель, длительность мс, кривая], ключи идут друг за другом. Кривые:out(кубическое замедление),inOut,back(с перелётом и откатом, c1 = 1.7),lin. - Плавное следование к цели каждый кадр — для взгляда, наклона и дыхания.
- Пружины: для рта-щели (период 0.25 с, затухание 0.6, лёгкий «клац») и для инерции аксессуаров (жёсткость 60, затухание 9).
5. Состояния (BotState)
Состояние держится долго, пока агент в нём находится. У каждого есть цвет подкраски тела, форма глаз, значок, постоянное поведение и звук при входе.
| Состояние | Когда | Цвет | Подкраска | Глаза | Значок | Постоянное поведение | При входе |
|---|---|---|---|---|---|---|---|
idle |
ничего не происходит | #E6E9EE |
0 | pill | — | следит глазами за курсором | моргание |
working |
агент работает | #3B9EFF |
0.72 | pill | три точки (синие) | следит за курсором | моргание, звук work |
thinking |
модель думает | #8B5CF6 |
0.72 | pill | три точки | смотрит вверх-вправо (задумчиво) | звук think |
searching |
поиск | #6365F2 |
0.72 | pill | три точки | сканирует: голова ходит влево-вправо yaw = sin(2.6t)·0.6 |
звук search |
approval |
ждёт разрешения | #F5A524 |
0.78 | wide | «!» | подпрыгивает `oy = − | sin(5.2t) |
question |
агент задал вопрос | #22D3EE |
0.75 | pill | «?» | голова наклонена tilt = 0.17 |
моргание, звук question |
error |
ошибка | #F4505E |
0.78 | flat | точка | — | тряска ox: 0.08 (50 мс) → −0.08 (70) → 0.05 (70) → 0 (90), звук error |
finished |
готово | #34D499 |
0.35 | happy | точка | — | кувырок на 1 оборот за 950 мс + 5 искр через 0.5 с, звук finish |
ratelimit |
упёрся в лимит | #FB923C |
0.72 | tired | точка | потеет: капли пота | капля пота, звук rate |
sleeping |
давно без дела | #94A2B8 |
0.32 | closed | — | дышит (sy ±0.035, sx в противофазе, частота 1.8), смотрит чуть вниз, летят «Z» | звук sleep |
dizzy |
его 3 раза шлёпнули | #F472B6 |
0.70 | spiral | — | голова мотается yaw = sin(9t)·0.25 |
2 кувырка за 1300 мс, звук dizzy |
Подкраска: поверх основного градиента тела снизу вверх идёт градиент цвета состояния (непрозрачность 0.72·tint внизу → 0 вверху). Цвет переключается плавно, примерно за полсекунды.
Задача:
- для каждого состояния нарисуй позу: бровь, рот, глаза и особые детали (например, при
errorпар из ушей, приratelimitвысунутый язык); - скажи, как подкраска ложится на твою палитру;
- если хочешь заменить подкраску другим приёмом (свечение, цвет брови и т. п.), предложи.
6. Формы глаз (EyeShape)
Глаз рисуется в своей локальной системе: центр (0, 0), ширина w, высота h, сплющивание по сфере применяет движок. Нужен дизайн всех 13 форм:
| Форма | Где используется | Сейчас выглядит как |
|---|---|---|
pill |
норма | вертикальная пилюля; при моргании сплющивается до max(h·open, 0.3w) |
wide |
approval | pill ×1.16 по ширине, ×1.12 по высоте |
dot |
эмоция «удивлён» | маленький круг 0.9w |
line |
«раздражён» (после шлепка) | короткая наклонная полоска, наклон ±0.2 рад к центру |
flat |
error | горизонтальная полоска |
happy |
finished, «счастлив», танец | дуга-«улыбка» ∩ |
closed |
sleeping | дуга ∪, закрытые глаза |
spiral |
dizzy | вращающаяся спираль (2.2 витка, крутится с частотой 9 рад/с, левый и правый в разные стороны) |
heart |
«любовь» | красное сердце #FF4D6D |
star |
«гордость» | вращающаяся жёлтая звезда #F7B32B |
tired |
ratelimit, «зевок» | полуприкрытый глаз с веком |
wink |
«подмигивание» | левый открыт (pill), правый — дуга happy |
cup |
коробка, когда файл над ней | «чашка»: плоский верх, скруглённый низ |
У нормального глаза обязательно должен быть зрачок или явное направление взгляда: он смотрит на курсор мыши.
7. Бровь (новый ключевой элемент)
Раз персонаж «бровь», бровь должна быть главным выразительным органом, сильнее глаз. Нужно:
- дизайн брови: моно-бровь или две, волосатая или гладкая, толщина, цвет;
- позы брови для каждого из 11 состояний и 7 эмоций:
- угол центра (вниз = злость, вверх = тревога);
- подъём краёв;
- асимметрия (одна бровь вверх — вопрос);
- анимации брови:
- «поиграть бровями» (быстрый двойной подъём, ~300 мс) — для приветствия и наведения мыши;
- подёргивание в ожидании (approval);
- бровь «уползает» в сторону при головокружении;
- бровь «падает» при засыпании;
- новый параметр
browRaise(−1…1),browAngle(−1…1),browWiggleили свои — опиши.
8. Постоянные (фоновые) поведения
Работают всегда, поверх состояний:
- Взгляд за курсором:
yaw → lookX·0.62,pitch → lookY·0.5, гдеlookX/Y— нормализованное направление на курсор (−1…1). Плавно, с коэффициентом1 − 0.0025^dt. - Моргание: каждые 2.2–5.4 с случайно. Моргание =
open: 0.06 за 70 мс (inOut) → 1 за 130 мс (out). В 22 % случаев двойное (второе через 230 мс). Не моргает во сне и при головокружении. - Дыхание (только
sleepingу основного): sy = 1 + sin(1.8t)·0.035, sx = 1 − sin(1.8t)·0.02. - Пульс мини-ботов: sy = 1 + sin(2.2t)·0.04, sx = 1 − sin(2.2t)·0.02, у каждого своя фаза.
- Блуждающий взгляд мини-ботов: мышь игнорируют, каждые 0.5–2 с смотрят в случайную точку.
- Фоновые частицы: раз в 1.3 с — «Z» во сне; капля пота (50 %) при ratelimit.
- Инерция аксессуаров (
physDx/Dy): шапки и помпоны отстают при повороте головы, прыжке и кувырке.
Задача: предложи 2–4 своих фоновых «тика», которые делают персонажа живым и кринжовым. Например:
- в простое иногда ковыряет в носу или чешет бровь;
- слюна медленно капает;
- раз в минуту оглядывается.
Для каждого укажи частоту, длительность и параметры.
9. Значок над головой (badge)
Маленький кружок слева сверху от тела (≈ на −0.72R по X). Типы:
dots— три точки, работа/мышление;bang— «!», ждёт тебя;question— «?»;dot— просто точка-индикатор.
Смена значка: старый уменьшается до 0 за 90 мс, новый вырастает до 1 за 280 мс (back).
Задача: дизайн значков в стиле персонажа. Можно предложить заменить значок на действие самого персонажа, например бровь изгибается в «?».
10. Одноразовые анимации и эмоции
Тайминги ниже — текущие. Их можно менять, но в том же формате.
10.1 Squash (шлепок по телу, приземление)
sy: 0.78 (70 мс, out) → 1.1 (130, out) → 1 (170, inOut);sx: 1.16 (70) → 0.95 (130) → 1 (170);- плюс толчок пружины аксессуаров вниз.
10.2 Шлепок пользователем (slap)
- Клик по персонажу → squash + толчок вбок + глаза
lineна 800 мс + звукslap, затемannoyed. - 3 шлепка за 1.7 с → состояние
dizzy(2 кувырка, спирали в глазах). - Задача: реакция на 1-й, 2-й и 3-й шлепок по нарастающей (бровь, рот, слюна летит?).
10.3 Кувырок (roll)
- Лицо прокручивается по «сфере» на
2π · turns:finished— 1 оборот за 950 мс,dizzy— 2 оборота за 1300 мс, кривая inOut. В конце — squash. - Задача: как ведут себя бровь, рот и детали при кувырке. Сейчас лицо просто «уезжает за горизонт» шара и выезжает с другой стороны.
10.4 Эмоции (BotEmote)
Временные, по умолчанию 1.8 с. Глаза меняются на форму из таблицы, плюс движение:
| Эмоция | Глаза | Движение | Частицы | Звук |
|---|---|---|---|---|
love |
heart | румянец 1 (300 мс) → держит → 0 (300 мс); прыжок oy −0.1 (160) → 0 (300, back) |
4 сердца | love |
surprised |
dot | прыжок oy −0.3 (140) → 0 (380, back); глаза es 1.25 (120) → 1 (500) |
— | — |
proud |
star | squash; наклон −0.14 (220) → держит → 0 (280); румянец 0.7 | 5 звёзд | proud |
wink |
wink | наклон 0.12 (160) → держит → 0 (240) | — | wink |
yawn |
tired → closed через 0.7 с | sy 1.12 / sx 0.94 за 500 мс и обратно | 2 «Z» | yawn |
happy |
happy | румянец 0.6 (200) → 0 (600) | — | — |
annoyed |
line (800 мс) | — | — | annoyed |
Задача: раскадровка каждой эмоции с бровью и ртом. Можно добавить 2–3 новые кринжовые эмоции, например:
disgust— блевок;smug— самодовольная бровь;cringe— сжимается и отворачивается.
10.5 Частицы
Типы: heart, star, spark, sweat, z.
- Рождаются над головой (y ≈ −0.7…−0.9 R), летят вверх со скоростью 0.45–0.8 R/с.
- Небольшой случайный разлёт, живут 1.3–1.8 с, вращаются.
- В группе каждая следующая стартует на 140 мс позже.
zсмещены вправо.
Задача: стиль частиц под персонажа. Можно заменить: вместо сердец — сердца с каплей, вместо искр — брызги слюны и т. п.
10.6 Мини-боты: периодические выходки
У мини-ботов (24–30 pt, однотонные) с постоянной эмоцией раз в 2–5 с:
happy— подскокoy−0.30 (120) → 0.03 (200) → 0 (160, back) со squash;annoyed— резкое мотание головойyaw: −0.65 → 0.65 → −0.5 → 0.4 → −0.2 → 0 (50/90/80/75/70/140 мс);wink— подмигнул и наклонил голову на 0.55 с;love— 2 сердца + покачивание.
Задача: как выглядит мини-версия (упрощённый силуэт, бровь обязательна).
11. Загрузка файла: тело → почтовый ящик
Пользователь тащит файл на чёлку, и персонаж превращается в коробку с прорезью-ртом, «глотает» файл и жуёт.
morph0 → 1: контур тела плавно перетекает из своей формы в скруглённый прямоугольник1.0R × 0.94R(полуразмеры), радиус углов0.42R.- Подкраска уходит, глаза опускаются на
0.14·ry·morphи становятся «плоскими» (сплющивание по сфере исчезает). - Прорезь-рот (
slotH, на пружине): ширина1.8R·morph, верх у крышки коробки.- Позиции: 0 = закрыт, 0.20 = приоткрыт (файл рядом), 0.42 = открыт (файл над прорезью), 0.50 = максимум.
- Белый ободок у крышки, внутри тёмный градиент, светлая нижняя губа.
- Глаза:
cup, когда файл над коробкой;happy, пока жуёт. - Глоток (gulp):
- рот 0.42 → через 460 мс закрывается и 800 мс жуёт;
- тело:
sy0.78 (80) → 1.18 (130) → 1 (220, back),sx1.28 → 0.92 → 1, моргание; - звук
gulp.
- Таймлайн загрузки (секунды от входа файла в зону):
Момент Время, с Что происходит следит за файлом до 1.95 коробка ездит по горизонтали за курсором DROP 1.95 пользователь отпустил файл засасывание 2.03–2.33 файл втягивается в прорезь рот закрыт 2.42 жевание 2.60–2.88 уменьшение до 3.23 коробка сжимается в точку 20 pt полоса загрузки с 3.00 появляется полоса прогресс с 3.25 точка-персонаж едет по полосе как бегунок
Задача:
- как выглядит коробка в стиле персонажа: бровь остаётся над прорезью? прорезь с зубами?
- раскадровка глотка и жевания;
- как выглядит 20-pt бегунок.
12. Танец (Apple Music)
Когда играет музыка, персонаж танцует на 112 BPM:
- подскок
0.20R·|sin(π·beat)|; - покачивание по X
0.08R·sin(π·beat); - наклон
0.10·sin(π·beat); - при приземлении приплющивание (sx +4.5 %, sy −6 %);
- глаза
happy; - вход за 0.3 с, выход за 0.5 с;
- точка вращения — низ тела.
Задача: движения брови и рта в танце (бровь качается в такт?).
13. Приветствие и появление
13.1 Приветствие при запуске (отдельная сцена, остров 640×150 pt, персонаж 58 pt в центре)
| Время, с | Что происходит |
|---|---|
| 0–0.85 | выезжает из чёлки вниз |
| 0.85–1.30 | осматривается, моргает |
| 1.30–1.45 | «поп» — выпрыгивает, растягиваясь |
| 1.45–2.40 | машет правой рукой (вверх-вправо), левая покачивается; руки — эллипсы, которые выдвигаются из-за тела |
| 2.40 | довольные глаза (happy/content) |
| 2.45–2.70 | прячет руки (вниз-влево) |
| 2.72 | появляется значок |
| 2.85–3.45 | съезжает вниз-вправо на своё место |
| 3.70 | второе моргание |
| 3.85–4.15 | подкраска цветом |
| 4.60 | конец сцены |
| 4.90 | автоуход (остров сворачивается за 0.34 с) |
13.2 Короткое «привет» (greet), когда пользователь вернулся
- 0 с: глаза
happyна 2 с, прыжокoy−0.06 (220) → 0 (220, back); - 0.25 с: руки выдвигаются (280 мс), лёгкий squash, звук
greet; - 0.45–1.55 с: машет правой рукой:
- рука поднимается к уровню глаз за 180 мс;
- потом осциллирует с частотой 13 рад/с (x ±0.06, y ±0.14 высоты тела, поворот ±0.35);
- тело покачивается
tilt = −0.06 + sin(2π·1.2t)·0.07;
- 0.55 с и 1.50 с: моргания;
- 1.55 с: руки прячутся (200 мс);
- 1.75 с: короткие
happy-глаза. - Если пользователь кликнул во время приветствия, руки прячутся за 150 мс.
Задача:
- дизайн рук (сейчас это просто эллипсы цвета тела, торчащие снизу по бокам);
- раскадровка приветствия с бровью («поиграть бровями» вместо или вместе с маханием?).
13.3 Прятки в чёлке
- hidden: персонаж 6 pt, почти невидим.
- compact: при наведении на чёлку выглядывает (24–30 pt).
- expanded: чёлка раскрывается, персонаж 44–66 pt слева.
Задача: как он «выглядывает» из чёлки. Может, сначала из-под края показывается только бровь?
14. Наряды (гардероб)
Правый клик → гардероб. Наряды:
partyHat,beanie,crown,sunglasses,roundGlasses,bow,scarf,witchHat,pumpkin(перекрашивает тело в оранжевый),santaHat,bunnyEars;auto— по сезону: 31.12–2.01 праздничный колпак, 1–26.12 колпак Санты, октябрь ведьмина шляпа, Пасха уши кролика, 21.06–31.08 очки.
Анимация: старый наряд исчезает за 180 мс → новый появляется за 350 мс с перелётом → squash. Шапки и помпоны болтаются по physDx/physDy.
Задача:
- адаптируй каждый наряд под новую форму головы и бровь (очки поверх брови? шапка на брови?);
- предложи 3–5 своих кринжовых нарядов (бигуди, золотая цепь «бро», накладные усы, ободок с глазами и т. п.).
15. Формат раскадровок
Для каждой анимации — таблица ключей:
Анимация: approval-вход
Длительность: 450 мс, однократно
Звук: approval (в 0 мс)
| t, мс | параметр | значение | кривая | комментарий |
|-------|---------------|----------|--------|------------------------------|
| 0 | oy | 0 | | старт |
| 150 | oy | -0.2 | out | подпрыгнул |
| 450 | oy | 0 | back | приземлился с перелётом |
| 0 | browAngle | 0 | | |
| 120 | browAngle | 0.8 | out | бровь резко вниз — «ну?!» |
| 0..∞ | mouthOpen | 0.3+0.1·sin(12t) | — | орёт, пока ждёт |
Ключевые позы: [картинка 1: t=0] [картинка 2: t=150] [картинка 3: t=450]
- Новые параметры (бровь, рот, слюна и т. д.) — с диапазоном и описанием «что значит 0, что значит 1».
- Для постоянных поведений — формула от времени
t(как в разделе 8). - Позы — картинками.
16. Звуки (для синхронизации)
Звуки уже есть (28 штук), раскадровки к ним привязывай по моменту:
annoyed, approval, approve, attach, blip, close, dizzy, error, finish, greet, greeting, gulp, hover, love, open, peek, pop, proud, question, rate, search, send, slap, sleep, think, tick, wink, work, yawn
Если для новых эмоций нужны новые звуки — опиши их словами: длительность, характер. Например: «отрыжка 0.4 с, низкая».
17. Чек-лист приёмки
- Узнаваем силуэтом при 24 pt на чёрном.
- Бровь — главный выразительный элемент, читается при 30 pt.
- Все 11 состояний различимы с первого взгляда.
- Все 13 форм глаз нарисованы.
- Работает в однотонной заливке любого цвета (мини-боты).
- Лицо корректно «едет по шару» при yaw ±0.65 и pitch ±0.5.
- Есть вариант-коробка (morph = 1) с прорезью-ртом.
- Руки, частицы, значки, наряды — в одном стиле.
- Только векторные примитивы и градиенты, без растра.
- Не похож на Mochi из Coucou.
- Иконка 1024 и иконка меню-бара.