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

Это Корвин, Страж. Орёл Арцив живёт у него на плече, улетает и возвращается. Левая рука демоническая — лава в трещинах, фиолетовое пламя; порча ползёт от руки к плечу и половине лица, но только в одной сцене, поэтому она и остаётся событием.

Всё нарисовано покадрово: 3193 кадра, 284 папки анимаций, 114 клипов у одного Корвина. Никакой процедурной генерации движения — каждый жест отрисован.
Самым сложным оказалось не рисовать, а решить, когда он что делает. Первая версия выбирала действие случайно по весам — и превращалась в четыре анимации по кругу: пять движений забирали 69% выборов, а половина репертуара не показывалась вообще. Пришлось переписать на жёсткое расписание: у каждого из 43 движений свой слот, час строится блоками — сидит, встаёт один раз ради крупной сцены, садится обратно. Два перехода позы в час вместо десяти.

Технически: Tauri v2, Rust следит за системой, TypeScript ведёт анимацию. Всё локально — ни одного сетевого запроса, содержимое клавиш не читается, только факт нажатия.
Открытый исходник, работает на Windows, Linux и macOS.
