Для кого: иллюстрация и UI, сотни PNG из Procreate во фронтенд или маркетинг. Суть: расхождения по sRGB и профилю холста дороже оптимизации размера; ниже — матрица по пресетам, ICC, прозрачности, именам и порогам байт и перенос приёмки на удалённый Mac mini M4, где ночной батч не грузит ноутбук. Контракт цвета: sRGB и P3; метаданные: ICC и перекодирование; пороги папки: AVIF→PNG и max_bytes.
Содержание
Типичные срывы приёмки
- Две ветки цвета. Холст в Display P3, а контракт витрины требует sRGB без явного правила, где выполняется сужение профиля; визуально «всё ок» на iPad и заметный дрейф в браузере.
- Разные пути вывода. Часть файлов из «Поделиться PNG», часть из быстрого экспорта с другим масштабом и обводкой по краю альфы; QA не воспроизводит баг.
- Имена и объём. Коллизии имён при синхронизации облака и внезапный рост каталога, когда ночной скрипт упирается в заполненный том без политики остановки.
Матрица по назначению файла
Зафиксируйте в README одну строку на SKU: мастер-разрешение, целевой профиль в PNG и допустимость повторного сжатия.
| Назначение | Холст и вывод | Ворота на Mac |
|---|---|---|
| Веб и UI, договор sRGB | sRGB на холсте или P3 с одной согласованной веткой сужения | ICC, 8 бит на канал, regex имён, min и max байт |
| Спрайты и иконки | Целочисленный масштаб, единый пресет обводки | Альфа без ореола, min_bytes против «пустышек» |
| Печать и витрина шире sRGB | Отдельный каталог и суффикс в имени | Не смешивать с веб-партией в одном manifest |
Пресеты экспорта
Разведите «черновой вывод» и «подписанную поставку»: разные корни на диске снижают риск перезаписи при автосинхронизации.
| Аспект | Рекомендация | Избегать |
|---|---|---|
| Разрешение | Таблица длинной стороны в пикселях по SKU | Свободный ввод без версии в имени файла |
| Слои против холста | Явное правило: один слой или весь документ | Смешение в одной папке без префикса источника |
| Синхронизация | inbox/ только для входа, затем staging/ |
Прямая запись в каталог, который читает продакшен |
ICC и цветовое пространство
Если мастер остаётся в P3, опишите, кто выполняет сужение до sRGB: Procreate при экспорте или sips и ImageMagick на Mac. Зафиксируйте три контрольных участка: кожа, насыщенный зелёный, почти чёрный; сравнение делается по одному и тому же монитору с калибровкой или по эталонному PNG из runbook. Любое дополнительное «лосслесс» пересжатие с перезаписью чанков согласуйте с юридически значимым чеклистом по метаданным.
Прозрачность и сглаживание
Тонкие линии и полупрозрачные заливки дают ореол на даунскейле; держите цепочку масштабов в целых коэффициентах и фиксируйте сглаживание края в пресете. Для игровых спрайтов добавьте визуальный осмотр одного кадра на тёмном и светлом фоне до массовой выгрузки. Пороги байт для «подозрительно лёгких» файлов копируйте из той же логики, что и для конвертации растров из AVIF, чтобы оператор не учил второй словарь ошибок.
Пакетное именование
Шаблон вроде {project}_v{semver}_{layer}_@{scale}x.png обязан проходить регулярное выражение на Mac до перемещения в handoff/. Версию Procreate и номер пресета добавьте в комментарий к тикету или в первую строку README, чтобы регрессию через полгода можно было воспроизвести. Каталоги @2x и @3x разводите физически, если фронтенд жёстко ожидает структуру импорта.
Пороги объёма на M4
Перед батчем пишите строку JSONL с выводом df -h; при свободном месте ниже согласованного процента останавливайте постановку задач и шлите алерт. Для каждого SKU задайте min_bytes и max_bytes в манифесте: нижняя граница ловит пустые или битые записи, верхняя — аномально тяжёлые PNG, которые ломают CDN или мобильный кэш. На Apple Silicon чаще упираются в диск и ввод-вывод, чем в чистую вычислительную мощность, поэтому умерьте параллелизм в пользу стабильного переименования после завершения записи.
mv из staging в out после успешной проверки, отдельный reject/ для regex и ICC.
Шаги на удалённом Mac
- Корень задач. Создайте
inbox,staging,out,rejectиlogsпод одним пользователем SSH, без общего сетевого тома для входа. - Заморозка версий. Зафиксируйте в runbook версию macOS, пакетов ImageMagick и правила вызова
sips, чтобы вывод не плыл после обновления узла. - Выборочный ICC. Скрипт читает профиль и сравнивает с whitelist; несовпадение отправляет файл в
rejectс хэшем и путём. - Имена и размер. Прогон regex и
statпо каждому кандидату; нарушения не попадают вout. - Манифест партии. Одна JSONL-строка на файл с полями размера, профиля, времени и классом ошибки для дежурного.
- Ночной контроль. После партии проверьте рост каталога и свободное место; при деградации диска снизьте параллелизм и увеличьте тихое окно синхронизации.
Ориентиры для отчёта
- Тихое окно синхронизации: начните с сорока пяти секунд после последней записи в inbox, сокращайте только по метрикам стабильного размера файла на вашем канале облака.
- Повторы: автоматический backoff только для временных ошибок ввода-вывода и занятости файла, не более пяти попыток с потолком задержки.
- Корреляция: один идентификатор трассировки на цепочку от события каталога до строки манифеста, чтобы поддержка не склеивала три журнала вручную.
Исполняемый чеклист
Критерий готовности — не галочка, а артефакт: строка лога, вывод команды или подписанный манифест.
- □ В README записаны DPI, длинная сторона в пикселях, профиль холста и целевой профиль PNG.
- □ Procreate пишет только в
inbox/, после проверки файлы атомарно переходят вhandoff/илиout/. - □ На удалённом Mac команда проверки профиля даёт ожидаемое имя ICC для веб-SKU.
- □ Отклонения regex имён и диапазона байт уходят в
reject/с причиной в JSONL. - □ Перед батчем зафиксирована строка
df; при низком запасе места сработала остановка или эскалация.
Итог и аренда узла
Вывод: матрица сводит спор к таблице пресетов и цвета, а удалённый Mac mini M4 превращает договорённости в повторяемые ворота по ICC, именам и байтам без нагрузки на рабочие станции дизайна. Публичные страницы без входа: главная, раздел с дизайн-гайдами по PNG, аренда узла, тарифы и конфигурации, помощь по SSH и VNC. Если ночные партии уже стоят в календаре, отдельный арендованный том под батч дешевле аварийного простоя пайплайна.
Следующий шаг
Вынести приёмку батча на выделенный узел
Те же таблицы пресетов и порогов переносятся на арендованный Mac: SSH для скриптов, при необходимости VNC для визуальной выборки кадров.