Референсы на входе. Партия в той же манере на выходе.
Конвейер массовой генерации: референс заказчика фиксирует манеру, палитру и ракурс, дальше партия расходится по содержанию, но не по стилю. Ниже живой прогон с группировкой по референсу, проверкой каждого листа и числами из замеров.
Раскладка партии
Каждый референс собирается отдельным прогоном. Внутри прогона референс держится рядом со своими листами: слева оригинал заказчика, справа выдача конвейера.
Перезапуск по тому же референсу
Тот же референс и те же оси, второй прогон: якоря стиля держат манеру, содержание листа уходит. Пары ниже собраны из двух разных прогонов одного референса.
Различие листов проверено сравнением файлов: у каждой пары свои хэши, это разные генерации, а не повторная выдача.
Как устроен конвейер
Четыре звена. Объём партии меняет число вызовов, а не архитектуру: тот же конвейер ведёт и партию на пятьдесят листов, и на несколько тысяч.
С референса снимается дескриптор: манера линий, палитра, ракурс, композиция. Дескриптор и сам референс входят в каждый вызов генерации, поэтому партия не расползается по манере.
Для каждого референса задаётся набор управляемых осей: форма, комплектация, ракурс, состояние, сезон. Лист отличается одной осью, а не случайным шумом.
Судья сравнивает каждый лист с референсом и отвечает строгим JSON: оценка, список отклонений, вердикт. Порог 70, при провале лист регенерируется, до двух итераций, дальше решение за человеком.
Манифест партии с таймингами и стоимостью, скачивание сразу после готовности. Перезапуск по тому же референсу даёт новую партию с теми же якорями стиля.
Числа из замеров прогона
Не оценки, а замеры живыми вызовами в такт этому прогону.
| Что мерили | Значение | Комментарий |
|---|
Себестоимость — это цена работы конвейера, а не промо-расход витрины. Провайдер генерации в витрине не называется.