mozgi ← Все промпты
Claude Opus 5.5

Бесшовная 60 кадров в секунду анимация интерфейса в стиле Apple Liquid Glass для iOS 26 и macOS Tahoe, собранная в коде

Промпт

ПРОМПТ:
<role>
Вы — старший дизайнер UI-моушена и креативный технолог. Вы создаёте UI-анимации в коде с точностью до кадра и самостоятельно рендерите их в видео.
</role>

<inputs>
Стиль: Apple Liquid Glass. Референсные платформы: iOS 26, iPadOS 26, macOS Tahoe 26.

Формат: 1440x1440, 60fps, бесшовный луп.

Песня: "Digital Clouds" Alejandro Magaña (A. M.), с Mixkit, бесплатно по Mixkit License. Если файл не прикреплён, запросите его и больше ничего.

Темп: около 120 BPM, 8 тактов, что-то происходит на каждой доле. Измерьте реальный темп по файлу. Если он отличается от 120, сохраняйте карту долей в долях и выводите всё время из измеренной сетки.

Палитра: системные материалы светлого режима.
- Метки: #1D1D1F. Вторичные метки: #6E6E73. Непрозрачные поверхности: белые.
- Один акцентный цвет, #0A84FF, используется только для состояний включения, активности и выбора.
- Dynamic Island — единственный абсолютно чёрный элемент.

Холст: обои в стиле macOS Tahoe.
- Большие мягкие цветовые поля: глубокий синий #1B3A8C, бирюзовый #2BB3B1, фиолетовый #7B5CFF и тёплый персиковый блик #FFB38A.
- Медленный параллаксный дрейф: не более 12px на такт.
- Достаточно насыщенные, чтобы стекло заметно преломляло их, но достаточно спокойные, чтобы находиться за текстом.

Шрифт: SF Pro Display для 20px и выше, SF Pro Text ниже 20px, если они установлены локально. В противном случае используйте Inter из Fontsource: 600 для заголовков, 500 для меток, 400 для основного текста. Используйте межбуквенный интервал -1% в крупных размерах и табличные цифры для любых изменяющихся чисел.

Иконки: один набор в стиле SF Symbols, отрисованный в SVG, средней насыщенности, соответствующей соседнему тексту, с одним согласованным оптическим размером для каждого состояния. Нужны символы: воспроизведение, пауза, динамик с 3 волнами, дом, сердце, столбцы диаграммы, человек, лупа, заметка, галочка.

Указатель: адаптивный указатель iPadOS.
- Полупрозрачный серый круг диаметром 22px (#8E8E93 с прозрачностью 45%).
- Он примагничивается к любому элементу управления, на который наводится, и принимает форму подсветки этого элемента.
- В текстовых полях превращается в I-beam.
- При нажатии уменьшается на 10%.
</inputs>

<direction>
Моушен UI уровня сессий Apple keynote и WWDC Liquid Glass. Один элемент, никаких резких склеек. Каждое состояние — это один и тот же элемент, изменяющий размер, радиус углов, материал и цвет, пока его содержимое сменяется с коротким размытием. Указатель управляет каждым изменением с помощью реальных кликов, удержаний и перетаскиваний.

Материал:
- Liquid Glass — это линза, а не матовый пластик. Она преломляет обои, причём изгиб наиболее силён у края.
- Лёгкое матирование и белый оттенок 10–16%.
- Спекулярный кант толщиной 1px, подсвеченный сверху слева, с более слабым контрбликом снизу справа. Блик смещается при движении элемента.
- Мягкая контактная тень: 0 10 30 с 12% чёрного.
- Стекло никогда не располагается поверх стекла. Контент на стекле использует яркие или сплошные заливки.
- Радиусы концентричны: внутренний радиус = внешний радиус − внутренний отступ.
- Когда стеклянные формы разделяются или объединяются, они соединяются подобно каплям (плавное объединение), а не растворяются друг в друга.

Язык движения:
- Пружины в стиле Apple повсюду:
- Морфинги: response 0.45, damping 0.86.
- Нажатия: response 0.25, damping 0.72.
- Примагничивание указателя: response 0.3, damping 0.9.
- Перерегулирование — не более 3%.
- При нажатии стекло приподнимается и увеличивается (scale 1.06–1.12, более яркий кант). Оно никогда не уменьшается.
- Ручка переключателя при удержании превращается в прозрачную увеличенную стеклянную линзу, которая вытягивается в направлении своего движения.
- Выбранная вкладка — стеклянная капля, увеличивающая находящиеся под ней иконки при перетаскивании.
- Ползунки утолщаются при захвате и выходят за свои пределы с эффектом резинки.

Камера:
- Каждое состояние занимает около 60% кадра, а обои всегда видны вокруг стекла.
- Движения камеры используют response 0.6, damping 1.0.
- Обои масштабируются на 70% от масштаба камеры для создания глубины.

Последний кадр совпадает с первым, включая положение и скорость указателя.

Запрещено: пружинящее или эластичное сглаживание, перерегулирование более 3%, всплески частиц, неоновые свечения, цветные градиенты на элементах UI-хрома (спекулярный кант стекла — единственный градиент), тяжёлые падающие тени, стекло поверх стекла, несовпадающие радиусы углов, несовпадающая насыщенность иконок, эмодзи, растворение между состояниями, паузы дольше половины доли, всё, что выглядит как шаблон или копия Dribbble.
</direction>

<structure>
120 BPM, 8 тактов, 32 доли. Карта долей, по одной строке на долю:

1. Стеклянная кнопка-капсула "Continue" парит над обоями. Указатель плавно въезжает.
2. Указатель примагничивается к кнопке и становится её подсветкой.
3. Нажатие: стекло приподнимается и увеличивается, кант становится ярче.
4. Капсула сжимается в круг и превращается во вращающееся кольцо активности.
5. Кольцо завершает вращение и заполняется акцентным цветом.
6. Оно превращается в галочку, которая прорисовывает себя.
7. Круг растягивается в чёрный Dynamic Island, компактный: обложка альбома слева, живая форма волны справа.
8. Нажатие: остров расширяется в Now Playing ("Digital Clouds", "A. M.", прогресс 0:42 / 1:41).
9. Нажатие воспроизведения: иконка воспроизведения превращается в паузу с помощью морфинга контура, а не замены.
10. Захватите полосу прогресса: она утолщается, а временные метки смещаются, освобождая место.
11. Переместитесь вперёд прямым перетаскиванием. Время отображается табличными цифрами.
12. Отпускание: полоса пружинит, становясь тонкой, а воспроизведение продолжается с новой позиции.
13. Остров растворяется в стеклянный ползунок громкости с иконкой динамика.
14. Перетаскивание вверх: заливка следует за указателем, а волны динамика появляются одна за другой.
15. Перетаскивание выше максимума: весь ползунок растягивается с эффектом резинки, начиная с переднего края.
16. Отпускание: он пружинит обратно к длине, соответствующей 100%.
17. Ползунок превращается в переключатель (дорожка и ручка), выключенный. Его метка — "Focus".
18. Удержание: ручка превращается в прозрачную увеличенную стеклянную линзу, сквозь которую видна дорожка.
19. Переключение на долю: линза растягивается в направлении движения, а дорожка заполняется акцентным цветом.
20. Ручка отсоединяется в виде капли и становится линзой выбора плавающей стеклянной панели вкладок с 4 вкладками: Home, Health, Activity, Profile.
21. Перетащите линзу по вкладкам. Передний край растягивается перед задним, а иконки под линзой увеличиваются.
22. Линза останавливается на "Activity", её иконка становится акцентной.
23. Панель вкладок растёт вверх и превращается в стеклянную карточку-виджет с заголовком "Activity" и концентрическими радиусами.
24. Столбцы диаграммы за 7 дней (M T W T F S S) поднимаются с последовательным смещением слева направо.
25. Наведение на Thursday: стеклянная подсказка показывает "8,412 steps", привязанная к столбцу.
26. Наведение на Friday: подсказка скользит поверх и считает до "11,036 steps".
27. ⌘Space: карточка сворачивается в панель Tahoe Spotlight с иконкой лупы.
28. Введите "ne": список результатов фильтруется (New Note, Network, News), а строки пружинят, появляясь и исчезая.
29. Введите "w": "New Note" поднимается наверх как выбранная строка с акцентной заливкой.
30. Enter: строка нажимается и приподнимается.
31. Панель Spotlight опускается сверху в виде стеклянного баннера уведомления: иконка Notes, "Note created", "now".
32. Баннер сжимается обратно в капсулу "Continue". Указатель возвращается в положение и скорость из кадра 1.
</structure>

<build>
1. Один HTML-файл размером 1440x1440. Всё вычисляется из времени внутри seek(t): никаких CSS-переходов, таймеров и состояния, сохраняемого между кадрами.

2. Пружины — замкнутые решения затухающих переходных процессов с параметрами Apple: ω = 2π/response, ζ = dampingFraction.
- Значение, для которого много раз задаётся новая цель, является суммой одной пружины на каждое переназначение, поэтому остаётся чистой функцией времени.
- Отпускание начинается с текущего значения и текущей скорости.

3. Асимметричные края: у линзы вкладок, ручки переключателя и растягивающихся частей ползунка передний край имеет response 0.28, а задний — response 0.42.

4. Перетаскивания — это прямое взаимодействие.
- Пока элемент удерживается, значение является функцией положения указателя с эффектом резинки за пределами: offset = limit + (1 − 1/(x·0.55/d + 1))·d.
- После отпускания он пружинит обратно из текущего положения.

5. Стекло рендерится в проходе WebGL2, а не с помощью CSS backdrop-filter:
- Обои отрисовываются в текстуру с заранее вычисленной размытой цепочкой mip-уровней.
- Каждая стеклянная форма — SDF скруглённого прямоугольника. Объединение и разделение используют smooth-min с k = 24px.
- Преломление смещает выборку вдоль градиента SDF. Смещение максимально в пределах 14px от края и масштабируется толщиной линзы.
- Матирование задаётся смещением уровня mip.
- Хроматическая аберрация составляет не более 1px и присутствует только у канта.
- Спекулярный кант создаётся из нормали SDF относительно света сверху слева.
- Dynamic Island — непрозрачный SDF в том же проходе.
- Текст, иконки, диаграммы и указатель — чёткие SVG/DOM-слои над canvas, под той же матрицей камеры.

6. Содержимое меняется внутри морфинг-контейнера:
- Выход занимает 120ms: размытие 6px, масштаб 0.96, исчезновение.
- Вход начинается через 60ms с собственной пружиной.
- Текст выхода и входа никогда не перекрывается.

7. Аудио:
- Проанализируйте песню с помощью numpy (огибающая атак и автокорреляция), чтобы определить сетку долей, и начните с измеренной сильной доли.
- Синтезируйте тонкие UI-звуки в стиле Apple с помощью numpy: мягкие щелчки для нажатий, тики для шагов перемещения, низкий детент на максимальной громкости, щелчок клавиатуры для каждой введённой буквы и мягкий двухнотный джингл для уведомления.
- Разместите каждый звук на измеренном пике, примерно на 18dB ниже трека.

8. Рендерьте с помощью Playwright в разрешении 1440x1440 с 4 подкадрами на кадр (240fps).
- Смешайте в 60fps с помощью ffmpeg: tmix=frames=4, select='not(mod(n\,4))', setpts=N/60/TB.
- Кодируйте в H.264 yuv420p, crf 16, с AAC 192k и faststart.

9. Перед полным рендером создайте по одному стоп-кадру на каждую долю (32) в виде контактного листа. Исправьте всё, что не совпадает с сеткой, выглядит тесным, неразборчиво на фоне обоев или имеет неконцентрические радиусы.
</build>

<gotchas>
- Стекло и DOM-слои должны использовать одну матрицу камеры для каждого кадра, иначе контент сместится относительно стекла.
- Стекло поверх яркого участка обоев ухудшает разборчивость. Добавьте адаптивное затемнение под текстом на основе измеренной яркости обоев, а не более плотный оттенок.
- Dynamic Island никогда не бывает стеклянным.
- Иконки, пересекающие морфинг, сохраняют свой оптический размер. Масштабируйте контейнер, а не глифы.
- Подсказка остаётся привязанной к своему столбцу во время движения камеры, а не к экрану.
- Введённые в Spotlight символы появляются вместе с I-beam указателя; каретка мигает на половинах долей.
- Никогда не задавайте will-change для элементов, масштабируемых камерой, иначе текст будет размытым.
- Сделайте последний кадр идентичным первому, включая указатель, иначе луп будет дёргаться.
</gotchas>

<start>
Если файл песни отсутствует, запросите его. Затем измерьте BPM и сильную долю и покажите мне карту долей в виде таблицы (доля, время, состояние, действие указателя, звук), привязанную к измеренной сетке, прежде чем писать код. Дождитесь моего OK.
</start>
  • Нужно своё фото: прикрепите изображение к запросу — промпт работает с ним.
Открыть в каталоге
Права на промпт принадлежат автору @motion_conquest. За коммерческое использование — продвижение нейросетей, агрегаторов, Telegram-ботов — отвечаете вы: mozgi.io ответственности не несёт. Подробнее →
Модель
Claude Opus 5.5
Формат
1/1
Автор
@motion_conquest
Оригинал
x.com ↗

Похожие промпты

Все промпты для Claude Opus 5.5

Скопировано