Переход на новый интерфейс, переработанные саблицензии, EyePad, mini-app сценарии и первые шаги к плотной AI-интеграции прямо внутри EyeAuras.
Вот и пришел тот момент, подготовка к которому заняла почти два года - переход с WPF на Blazor.
Переписан UI всех триггеров, действий и оверлеев. Чтобы переключиться на новый интерфейс можно либо нажать на кнопку в заголовке окна, либо включить в настройках New Shell.
На протяжении следующих нескольких месяцев можно будет переключаться между старой и новой оболочками, но в какой-то момент останется только новая, я постараюсь чтобы она была во всем лучше, чем старая.

Что можно ожидать:
*Search нодах в деревьях поведения - код для этого мы будем тестировать в старых добрых триггерах прямо сейчас, а дальше ровно это же превью и весь остальной функционал, например, эффекты, появится и в деревьях поведения/макросах
Напомню что это вообще такое сначала. Саблицензии это лицензии, которые выпускают авторы паков, мини-приложений, которые делают что-то полезное. Это может быть кликер, может быть бот на рыбалку, может быть какой-то инструмент - абсолютно неважно. Идея в том, что можно создать такое мини-приложение и начать распространять ключи для него так, как вам удобно.
При этом текущие возможности EyeAuras позволяют абсолютно любой уровень кастомизации - по факту вы делаете новую программу, но в которой по умолчанию уже вшиты все нужные инструменты автоматизации, лицензирование, защита и т.п.
Параллельно с доработками самого скриптинга я продолжаю развивать EyePad - специальный режим запуска EyeAuras, заточенный под код, запуск, импорт паков и работу с .sln через Live Import.
По сути EyePad это рабочая оболочка для сценария "пишу код и тут же запускаю его":
.csx или .cs файл.sln и работать через IDEЭто уже не просто "редактор скриптов внутри EyeAuras", а отдельный workflow для тех, кто хочет работать ближе к коду и быстрее переключаться между разработкой и запуском.
Мини-приложения - это уже другой уровень. Здесь EyeAuras используется не просто как среда для скрипта, а как фундамент для почти отдельной программы.
Идея в том, что вы:
Именно сюда дальше очень хорошо ложатся пакование, защита скриптов, кастомный логин, саблицензии и весь сценарий распространения собственного инструмента или мини-аппки.
Ситуация с блокировками в РФ лучше не становится, только хуже, поэтому добавил новую настройку, которая должна упростить жизнь. Автоматический выбор сервера пытается найти ближайший доступный хаб. Сейчас их два, один в Санкт-Петербурге, второй во Франкфурте. По мере необохимости можно будет добавить еще два, уже есть железо в Хельсинки и Владивостоке.

Добавлена более умная подсветка кода, InlayHints, улучшены подсказки по сигнатурам и навигация к выделенному элементу (CTRL + click / F12). Плюс появилась интеграция с ILSpy, так что стало проще разбирать внешние типы и сборки прямо из редактора. Компиляция стала быстрее - около 30-40% на больших скриптах, на маленьких (1 файл и 200-300 строк) 0-5%.
В целом редактор должен стать чуть более отзывчивым - ему было очень тесно в старой оболочке.

Ниже небольшой тизер того, куда постепенно двигается следующий слой интерфейсов и инструментов вокруг скриптов, EyePad и mini-app сценариев.
На скриншоте как раз видна вкладка AI Chat - это часть идеи по плотной in-app интеграции AI прямо в EyeAuras. Задача в том, чтобы AI можно было использовать не где-то "рядом в браузере", а прямо внутри программы:
Часть из этого уже есть в альфе, часть пока только шлифуется, но общий вектор именно такой: дать возможность разрабатывать скрипты и ауры с плотным использованием AI, а в перспективе и собирать mini-app, в которых AI уже является частью продукта "из коробки". Мне кажется, это и есть будущее.

Semi-Offline теперь используется как режим по умолчанию. Если очень кратко: это способ переживать временные дисконнекты, рестарты и краши без мгновенной потери доступа - подробнее здесь...PK_SublicenseStates)ScriptEmbeddedResourceFileProviderEmbedded Resources и StaticWebAssets у NuGet-пакетов - особенно полезно для UI-компонентов и пакетов, которые тянут свои веб-ресурсыNuGet и package references теперь должны корректнее доезжать до packed-сборокSendInputController, который мог проявляться в сценариях с Ctrl+V