Все заметки

Не улучшать AI UI, а пересобрать его от задачи

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

Тут случайно получился маленький before/after того, что с таким интерфейсом происходит дальше.

Делаю тулзу для нарезки sprite sheets. Слева — первая версия панели, которую собрал агент. Справа — финальный вариант.

Первая версия панели с техническими настройками grid и auto-slice
Финальная версия панели с настройками, собранными вокруг задачи пользователя

И она не то чтобы прям плохая. Технически, всё работает. Но меня дико триггерит. Просто наружу почти один в один вылезли внутренности движка: Cell width, Cell height, Gap X/Y, Offset X/Y, набор background colours, несколько Skip..., отдельный Preview.

Я начал переделку с классической стороны — с пользовательской задачи :) Вопрос: какие решения пользователь вообще принимает здесь? Зачем ему эта панель?

Он не настраивает gapX и offsetY. Он смотрит на картинку и говорит:

тайлы 24×16, между ними ничего нет, вот это фон, эти пустые клетки мне не нужны.

Отсюда почти весь новый UI получился сам.

Cell width + Cell heightTile size 24 × 16. Gap X/YSpacing 0 × 0.

Offset нужен не всегда, поэтому два постоянно торчащих нуля превратились в Has offset и появляются только когда действительно нужны.

С фоном было ещё смешнее. Первая версия фактически давала UI для редактирования массива цветов: Transparent, Pick, HEX input, Add.

Но цвет уже находится прямо перед пользователем — на спрайтшите. Поэтому основной сценарий стал Pick from sheet. Ткнул в фон — готово. Ручное добавление осталось запасным вариантом.

То же самое со Skip background-only cells и Skip uniform-color cells. Для алгоритма это две настройки auto-slice. Для человека вопрос проще: что игнорировать? Значит делаем блок Ignore.

А Preview я вообще выкинул. Результат должен быть виден сразу: поменял tile size — сетка перестроилась, включил Ignore — сразу увидел, какие клетки исчезнут. Внизу достаточно 30 sprites и Apply.

Все заметки