GSR · борд приёмки · GSR-ASSET-001

Лекционный зал: от кадра к живой сцене

Принятая иллюстрация зала разбирается на слои, получает появление по глубине, живую аудиторию и проекцию логотипа. Производство — Codex по ТЗ с числовыми критериями, приёмка — здесь.

Исходник, принят Димой

исходникЗал в три четверти, пустой экран. 1672×941, единый растровый кадр: архитектура, ряды, лектор и стол спечены вместе.
референс проекцииЛоготип на экране. Статичное превью; в результате логотип идёт отдельным SVG-слоем в перспективе экрана.

Результат Codex · R1 — нужна доработка

17 RGBA-слоёв, две дорисованные скрытые плоскости, логотип из подлинного SVG в перспективе, WebGL-плеер. Сборка совпадает с исходником на 99,8 %, лица не тронуты, 60 fps без ошибок. Не принято из-за чистоты разделения: швы рядов при разведении, призраки на пустой архитектуре, бахрома на кромках. Codex сам поставил NEEDS_REVISION, R2 уже в работе.

сборка · принятоВсе слои в покое. 0,19 % пикселей отличаются от исходника, логотип #A61F45 из SVG. Открыть живой плеер · запись цикла
0,6 с · R2-1Архитектура без зрителей. Пустой зал читается как ровный пол, на балюстраде остались зубцы от вырезанных голов. В R2: пустая аудитория с креслами, ноль призраков.
1,4 сРяды приходят по глубине. Драматургия появления принята, тайминги R1 не меняются.
разведение +30 px · R2-2Швы между рядами. Резы идут прямыми линиями через фигуры. В R2: границы только по спинкам кресел и макушкам, дальний слой продолжается за ближний на 40 px.
кромки · R2-3Бахрома на сером и тёмном. В R2: деконтаминация цвета кромки, 1 px эрозии, мягкий feather.
уход блокаОтъезд и расхождение по глубине. Принято.

R2 — рабочая версия, решение за Димой

Второй проход закрыл главное: пустая архитектура стала настоящим пустым залом с креслами, призраки и след на экране ушли, бахрома снята. Цена: шесть слоёв рядов слиты в один, поэтому зрители приходят одной волной, а не тремя глубинами. Внешний шов аудитории у сцены при сильном сдвиге остался тонким. Codex остановился по правилу двух проходов и вынес выбор.

R2 · архитектураПустой зал с креслами. Дорисованная скрытая плоскость: та же перспектива, свет и цвет кресел. Сам по себе красивый кадр для паузы перед появлением людей.
R2 · 0,6 сНачало появления. Свет и экран уже есть, зал пуст, дальше приходят люди. Открыть плеер R2 · запись цикла
R2 · сборка12 слоёв в покое. 0,96 % пикселей отличаются от исходника, в основном кромки после деконтаминации; внутренние зоны лиц без изменений, 60 fps, 0 ошибок.
R2 · сдвиг +30 pxЧто осталось. При буквальном сдвиге всей аудитории на 30 px виден тонкий шов у края сцены справа. В реальном движении амплитуда ±3 px, шов не читается.
ВариантЧто получаемЧто теряем
А · принять R2 как рабочую версию (рекомендация Claude)чистый зал, драматургия «пустой зал → люди → лектор → логотип» сохранена, готово к сборке в страницунезависимая глубина рядов; параллакс аудитории общий ±3 px
Б · третий проход по маскешанс вернуть 3 глубины рядовещё итерация без гарантии, риск повредить лица на стыках
В · перегенерация зала сразу слоямичестная глубина без швов, запас за краяминовая сцена, а не принятый кадр; нужна повторная приёмка композиции

Портретный зал для телефона — GSR-ASSET-002

Отдельная постановка того же зала под 9:16: экран с логотипом крупно, Дмитрий перенесён исходными пикселями, аудитория со спины, нижние 40 % спокойные под текст. 12 слоёв, WebP 0,37 МБ, пустая архитектура с креслами, кромки чистые, 60 fps на 390 и 430 px. Стоит в A2 для экранов уже 760 px.

сборкаПортрет 1080×1920. Логотип из SVG в перспективе нового экрана, лицо Дмитрия без перерисовки.
архитектураПустой зал с креслами — первый кадр появления.
сверкаПК и портрет рядом. Тот же зал, та же палитра, Дмитрий из исходника 70×83 px увеличен без перерисовки.

Критерии приёмки

ПроверкаПорог
Сборка слоёв против исходника≤ 1 % пикселей с отличием
Зоны лиц0 изменённых пикселей
Альфа слоёв на белом, сером, тёмномбез ореолов
Швы при параллаксе ±30 px и уходе блоканет просветов
Логотипиз SVG, #A61F45, перспектива по projection.mjs
Плеер0 ошибок, ≥ 55 fps на M2 при 1440×900, reduced-motion → статичный кадр