EasyUniversal / DocsДокументация · SDK 0.3Подписка Universal ↗
Easy Universal / Начало работы

Маршрут разработчика

AngelScript · native runtime · локальная сборка

Практический маршрут разработчика

Подготовка

Easy Universal использует AngelScript, не Lua. Один пакет — папка с
package.json и UTF-8 main.as. Дополнительные .as файлы перечисляются
в modules. Они компилируются вместе; #include не поддерживается.
Начните с sdk/templates/settings-panel для настроек или
sdk/templates/toolkit для меню, вычислений и helper-модулей.

Отделяйте источник от отображения

  1. Определите доступный авторизованный источник: синтетические данные,

телеметрия собственного приложения или явно разрешённый выбранный процесс.

  1. Опишите адаптер в package.json. Название движка само по себе ничего не читает.
  2. Проверяйте версию формата, диапазоны, ошибки и свежесть до публикации снимка.
  3. Публикуйте нормализованные сущности только в текущем on_frame.
  4. При потере источника очищайте снимок, а не оставляйте старые координаты.

sdk/helpers/coordinates.as задаёт явные оси и ориентацию.
sdk/helpers/freshness.as проверяет возраст локальной копии.
Они не находят структуры Unreal, Unity или Source автоматически.

Меню и сохранение

easy_ui::Column размещает элементы вертикально; easy_ui::Grid — по строкам
и столбцам (1–8). easy_ui::PagedList показывает до восьми строк на странице
с кнопками перехода. Состояние page/index принадлежит скрипту; список пустых
значений безопасно сбрасывается. Это постраничный список, не контейнер с
колёсиком мыши или обрезкой произвольных дочерних элементов.

Helper скопируйте в пакет и объявите в modules. IDs должны быть короткими,
уникальными и допустимыми для SDK. Dropdown popup рисуется после обычных
элементов, иначе перекрытие работает в обратную сторону.

Не смешивайте наличие разрешения и согласие пользователя.
Перед typed config вызовами используйте config::enabled().
Настройки сохраняются только при успешном завершении разрешённого сеанса.

Фоновые операции

http::get и jobs::submit возвращают ID. Проверяйте state в следующих
кадрах, извлекайте готовый результат и обязательно release. Не ожидайте
завершения в цикле внутри callback. Jobs поддерживает только sha256 и
json_valid; произвольных параллельных функций скрипта нет.

HTTP GET требует объявленных точных origins и согласия пользователя.
WebSocket и произвольные протоколы пока не реализованы. Bounded POST требует
отдельного http_post; scalar telemetry IPC описан в EXTERNAL_SOURCE_RU.md.
Не вставляйте секреты в исходник или LLM-контекст.

Проверка и доставка

  1. Проверьте пакет через CLI inspect, затем run на собственных fixtures.
  2. Протестируйте preview, изменение размеров, Stop и Reload.
  3. Отдельно проверьте отказ в доступе, потерю источника, пустые/битые данные.
  4. Используйте sdk/API_SCHEMA.json из той же сборки, что и исполняемый файл.
  5. При обращении к LLM приложите llms-full.txt и описание разрешённого источника.
  6. Не публикуйте совместимость с игрой, которую фактически не проверили.

Критерий готовности первой основы SDK

Шесть исходных направлений имеют реализованный контракт и проверяемые примеры:
математика, буферное чтение, фоновые bounded jobs, меню/конфиги,
асинхронные разрешённые GET-источники и контракты адаптеров.
Это не означает завершения всех возможностей универсального продукта.
Открытые ограничения перечислены в ROADMAP_RU.md. Многочасовые проверки,
полноценная прокрутка/клавиатурная навигация, новые протоколы
и реальные адаптеры движков остаются отдельной работой.

Easy Universal — отдельный проект. Easy External не изменён.