nimatica
Обсудить проект
2026

hive

Первый экран для сервиса AI-агентов

Сайт, который состоит из одного экрана и больше ни из чего. Человек смотрит прямо на вас; ведите курсор — и в оставленном следе он одет в капюшон пчеловода, а вокруг живёт улей: рой, соты, цветы. Рой работает, улей держит один человек — в этом всё предложение, и страница его не описывает, а показывает.

Задача

Собирать AI-агентов в рабочие процессы — работа, которую нечем сфотографировать. Продукта на экран не поставишь, скриншоты — это терминалы и панели, а про автоматизацию все конкуренты пишут одни и те же три предложения. Такую страницу пролистывают и закрывают.

Поэтому первому экрану дали не объяснение, а образ: пчеловод и улей. Рой делает работу, улей держит один человек — и читатель это понимает до того, как прочтёт первую строку.

Механику взяли с сайта, который разобрали по его собственному коду, а не на глаз: маска за курсором, проявляющая вторую фотографию поверх первой, поле шума вместо плоского фона и просвечивающий сквозь него чертёж. Мы нашли шейдеры и классы, которые рисуют каждую из этих вещей, скопировали формулы и написали вокруг них свой код. Тема, фотографии, палитра, тексты и капюшон — свои.

Что сделали

Один экран, и весь орган управления — курсор

Ниже экрана ничего нет, потому что ниже вообще ничего нет: экран один. Слева стоят заголовок, строка про работу и одна кнопка; справа человек, который смотрит прямо из экрана.

Проявление — не круглое пятно фонарика. За курсором идёт след со своей физикой: он размазывается по тому, как двигалась рука, и сам гаснет примерно за треть секунды, поэтому капюшон есть ровно тогда, когда читатель что-то делает. Остановились — человек снова без капюшона.

Под всем этим лежат две фотографии: один и тот же человек без капюшона и в капюшоне. Они совпадают попиксельно, поэтому лицо при проявлении не съезжает ни на пиксель.

В следе живёт настоящий улей

Пчёлы здесь — не картинка и не спрайт. Это 3D-сцена: четырнадцать пчёл с телами, полосами, жилками на крыльях, усиками и лапками, соты с восковыми ячейками и мёдом и три цветка, на которые пчёлы садятся.

Труднее всего далось то, как они летают. Любой плавный синусоидальный дрейф читается как плавание, а не как полёт, поэтому полёт собран из бросков и зависаний: пчела висит, подрагивает, потом бросается и тормозит. Шесть бросков из десяти продолжают прежний курс, поэтому рой тянется через кадр, а не сбивается в комок.

Сцена рисуется отдельно, на прозрачном фоне, и подмешивается той же маской, что приводит капюшон: снаружи следа нет ни одной пчелы, внутри — капюшон, рой, соты и цветы.

След уведён в левую треть: внутри него открылись восковые ячейки, ромашка и пчёлы над сотами.

Капюшон — чертёж, и по нему идёт волна

Поверх человека всё время просвечивает проволочный капюшон пчеловода: купол, тулья, поля, вуаль, воротник. Это настоящий меш, собранный в коде из колец, а не контуры, обведённые по фотографии: контуры с фотографии дают грязь и зерно кожи и чертежом не читаются никогда.

Чертёж подсвечивает бегущая по нему вверх волна. Волна разведена так, чтобы на капюшоне одновременно была только одна кромка: старая уходит раньше, чем приходит новая. Это замерено, а не на глаз, — на нашем шаге оба конца волны стоят на шести процентах от пика, а в тихой фазе капюшон не чёрный нигде.

Меш рисуется в пространстве самой фотографии, длиннофокусной камерой, поэтому он держится на человеке при любом размере окна. На плите он ложится с точностью до семи пикселей.

Проволочный чертёж капюшона над головой, а ниже слева в следе открыты соты и цветы.

Страница не ждёт курсора и говорит на трёх языках

Через две секунды после того, как мышь перестают двигать, страница начинает двигать её сама: собственный курсор ведёт проходы по портрету на разной высоте, и читатель, который ничего не трогал, всё равно видит, что экран умеет. Как только двинулась живая рука, страница возвращает управление.

Тому, кто попросил систему меньше анимации, рой и поле останавливаются, а след заменяется неподвижной фигурой: картинка остаётся, движение уходит.

Русский, английский и португальский — это три отдельных документа, а не одна страница, подменяющая строки: у каждого свой адрес, свой заголовок с описанием и ссылки на соседние версии — то, что нужно поиску, чтобы держать нужную. Lighthouse ставит странице 100 за поисковую разметку.

Английская версия экрана: заголовок The swarm works, I keep the hive и переключатель языков в углу.

Техническая часть

Механику читали по исходному коду, а не угадывали, и каждая её часть проверена замером. Вот что показали цифры про кадры, маску, фотоплиты, капюшон и три языка.

Механика проявления

  • Маска — след с физикой, а не круг

    За курсором идёт маленькая симуляция жидкости: две текстуры в половинном разрешении меняются местами каждый кадр, прошлый кадр остаётся с силой 0,96, а от прежнего положения курсора к нынешнему штампуется капсула.

  • Две фотографии, которые совпали сами

    Человек без капюшона и человек в капюшоне — два сгенерированных кадра 1536 на 1024, второй сделан от первого как от референса.

  • Капюшон — меш, подогнанный к фотографии в коде

    Проволочный капюшон — 11 520 треугольников, собранных из колец: вуаль расширяется и снова забирается, по панелям идут швы, сверху сборки, воротник на кулиске.

  • Одна волна за раз, и это замеренное утверждение

    Шаг волны, подсвечивающей чертёж, теперь считается от высоты самого капюшона: оба конца падают до 6 процентов, на капюшон приходится половина периода, а в тихой фазе медианный пиксель — чистый фон.

Скорость

  • 60 кадров в секунду и шестнадцатикратный запас

    Замерено на живой видеокарте в 1440 на 900 с привязкой к развёртке: 60,0 кадра в секунду в покое и 59,2 с открытым следом и живым роем.

Рой

  • Четырнадцать пчёл, которые летают как пчёлы

    Рой — отдельная сцена, и принимали её по цифрам: медиана шага в четырнадцать раз меньше пика, то есть броски действительно настолько быстрее зависаний; больше 190 разворотов круче 90 градусов за полминуты; ни одного вылета за пределы объёма и ни одного прохода сквозь соты; посадки занимают около четырёх процентов времени.

Языки

  • Три языка — три документа

    Русский, английский и португальский печатаются при сборке тремя настоящими файлами: у каждого свой адрес, свой языковой атрибут, заголовок, описание и канонический адрес плюс ссылки на соседние версии. Открыть английскую версию

Доступность

  • Меньше движения — значит меньше движения

    Тому, кто попросил систему меньше анимации, останавливают поле, волну и рой, а след заменяют неподвижной фигурой.

Что получилось

  • Сцена держит 60 кадров в секунду, с открытым следом — 59, на десктопе.
  • Запас по отрисовке шестнадцатикратный: до угрозы шестидесяти кадрам ещё далеко.
  • Lighthouse на десктопе: 100 за поисковую разметку, 96 за практики, сдвиг вёрстки — ноль.
  • Один экран несёт всё предложение на трёх языках, и ни строки прокрутки.

Экран делает то, чего не может объяснение: читатель ведёт курсор, видит, как на месте человека в футболке появляется улей, и мысль про рой и пасечника доходит без слов. Под портретом стоит одна кнопка, и ведёт она сразу в разговор.

Нужен похожий проект?

Напишите, что должен делать ваш. Ответим в тот же день с оценкой и сроками.

Вопросы по проекту

  • Это замерено на живой видеокарте с привязкой к развёртке экрана: 60 кадров в секунду, когда никто ничего не трогает, и 59 с открытым следом и живым роем. Потом отрисовку раздули в шестнадцать раз, и она всё равно держала 60 — настолько велик запас до того, как кадрам что-то грозит на слабом железе.

  • Да, потому что тема и механика здесь разведены. Механике нужны две фотографии одного кадра — обычная и с тем, что нужно проявить, — и сцена, которая живёт внутри следа. Поменяйте это, и тот же экран расскажет другую историю.

  • Через две секунды после того, как мышь затихла, страница сама ведёт проходы по портрету: улей открывается и закрывается без участия читателя, и никого не надо просить навести курсор. Как только двинулась живая рука, страница отходит в сторону.

  • Такие экраны считаются от тарифа «Лендинг», актуальная цифра стоит на странице цен. На неё влияют объём графики, которую рисуем с нуля, наличие 3D-сцены внутри проявления и число языков, на которых страница должна говорить.

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