Презентации в Keynote часто превращают в набор PNG по одному слайду для веба, CMS и согласований по почте. На удалённом Mac класса M4 узкое место — не столько скорость Apple Silicon, сколько согласованность пиксельной сетки 16:9, цветового контракта и дисциплины очереди, когда ночью прогоняют десятки деков. Ниже — компактная матрица решений, таблица параметров (ширина экспорта, глубина цвета, sRGB, шаблон имён), затем пресеты экспорта, параметры AppleScript и приложения «Команды» (Shortcuts), блок приёмки прозрачности и антиалиасинга и напоминание про дисковый запас и пороги объёма файлов.
Матрица решений
Сначала зафиксируйте три оси: геометрия (только разрешения, где ширина и высота согласованы с мастером 16:9 без дробного масштаба), цвет (что считается эталоном для сдачи) и оркестрация (один активный процесс экспорта Keynote за раз на воркере). Это снимает споры «у меня на ноутбуке ровно», когда у коллеги другой масштаб интерфейса и другой дисплейный профиль.
| Симптом / риск | Предпочесть | Почему не альтернатива |
|---|---|---|
| Дрожащие или «мыльные» диагонали и мелкий текст | Только ширины из разрешённого списка; высота выводится как 9/16 от ширины без округления вручную | Дробный масштаб относительно мастера даёт несовпадающий антиалиасинг между машинами |
| Сдвиг насыщенности между превью и браузером | Единая политика: сдача в sRGB 8 bit, ICC по README (встроить или снять — но одинаково) | Оставить Display P3 «как есть» — риск для веба и для согласований на sRGB-мониторах |
| Пропавшие или перепутанные слайды в батче | Последовательная очередь деков; атомарная запись через .tmp и переименование в out/ |
Параллельно открытые документы Keynote на одном пользователе конкурируют за автоматизацию |
| «Тихий» срыв ночного прогона | Журнал шага + проверка stat и лимитов min_bytes / max_bytes на слайд |
Без порогов объёма пустой или усечённый файл может уехать в прод |
Детали цветового контура для PNG на macOS удобно сверить с отдельным материалом: чеклист sRGB и Display P3 для PNG на Mac.
Таблица параметров: ширина экспорта, цвет, sRGB, именование файлов
Высоту не вводите как свободный параметр: при мастере 16:9 она однозначно следует за шириной. Имена должны содержать версию дека и номер слайда с ведущими нулями, чтобы сортировка в Finder и в CI совпадала с порядком в Keynote.
| Тир | Ширина экспорта (px) | Цвет / каналы | Политика sRGB | Пример имени файла |
|---|---|---|---|---|
| Черновой превью | 1280 или 1920 | RGB 8 bit; альфа только если в макете есть вырубка | Встраивание профиля sRGB или последующая нормализация через согласованный скрипт | {deck}_v{semver}_slide_%03d_1280w.png |
| Веб по умолчанию | 1920 | RGB; PNG-32 только для слайдов с прозрачностью | Мастер в P3 — фиксировать путь конвертации в README, эталон сдачи sRGB | {deck}_slide_%03d.png |
| Ретина / крупный канал | 2560 или 3840 | RGB или RGBA; избегать лишней глубины, если пайплайн ждёт 8 bit | После экспорта прогон через тот же sips / ImageMagick, что и для остальных тиров |
{deck}_4k_slide_%03d.png |
Пороги по байтам на папку и структуру манифеста можно позаимствовать из матрицы для других форматов с тем же духом приёмки: AVIF → PNG, sRGB и пороги объёма на удалённом M4.
Пресеты экспорта
Размер слайда в документе приведите к одному широкому формату 16:9, чтобы не смешивать в одном батче разные соотношения сторон. В диалоге экспорта закрепите: тип — PNG, область — слайд (не «документ целиком» в одном файле), размер — из таблицы выше, без ручного ввода произвольной высоты. Слайды с тяжёлой видеовставкой или интерактивом лучше вынести в отдельный дек: иначе оператор тратит время на расхождение между ожидаемым статичным PNG и тем, что Keynote считает кадром. Для повторяемости сохраните скриншот настроек экспорта в репозитории кампании рядом с README: это дешевле, чем восстанавливать «как было» из переписки.
Параметры пакетного AppleScript и «Команды» (Shortcuts)
Автоматизация Keynote на удалённом Mac стабильнее в режиме одной очереди: список путей к .key или .keynote, для каждого — открыть, выставить диапазон слайдов (или весь дек), базовый каталог staging/ для временных файлов и финальный out/. В README оператора явно пропишите: максимальное число повторов при ошибке, путь к логу, правило «не перезаписывать без флага --force» и переменные окружения, если скрипт дергает оболочку. Приложение «Команды» удобно как обёртка для не-девопсов; если триггерите экспорт из наблюдателя каталога, сочетайте с паттерном дебаунса из материала OpenClaw, удалённый Mac и пакет PNG через «Команды», чтобы не поймать гонку при копировании файла, который ещё дописывается по сети.
- Вход: абсолютный путь к деку, целевая ширина из таблицы, суффикс версии для имён.
- Выход: только после полной записи — переименование из
.tmp; в лог писать число слайдов и суммарный размер каталога. - Очередь: не запускать второй экземпляр Keynote-экспорта, пока первый не закрыл документ или не снял блокировку по вашему mutex-файлу.
Прозрачность и антиалиасинг: приёмка
Для слайдов без альфы экспортируйте RGB без лишнего канала: меньше байт и проще гейты. Если альфа нужна, пометьте такие слайды в таблице учёта (или отдельным префиксом имени), иначе полупрозрачные тени превратятся в сюрпризы на белом фоне CMS. Приёмка краёв: наложение на #FFFFFF и на почти чёрный #0B0D12 в целевом браузере; отбраковка цветных ореолов, если в ТЗ требуются «чистые» вырубки. Антиалиасинг проверяйте на контрольном масштабе 100 % вместе с запретом нецелочисленного масштаба относительно мастера — иначе один и тот же слайд на двух воркерах может получить различимый отпечаток субпикселей. Для больших партий имеет смысл автоматизировать выборку: полный пиксельный просмотр каждого PNG редко окупается.
Ночные прогоны на удалённом M4: дисковый запас и пороги объёма
Экспорт презентаций с фоновыми изображениями высокого разрешения быстро съедает свободное место. Перед батчем зафиксируйте строку df -h для тома с out/; практичные ориентиры: при свободном месте ниже ~20 % не начинать новый дек, при ниже ~15 % — снижать тир ширины или чистить staging. Пороги max_bytes и min_bytes на слайд зависят от контента: один слайд с полноэкранным фото даст хвост в распределении, поэтому храните причины отклонения в JSONL или CSV для переэкспорта. На M4 выигрыш чаще даёт предсказуемая последовательность и запас по диску, а не агрессивный параллелизм нескольких деков.
Дальнейшие шаги
Публичные страницы без входа в аккаунт: главная MacPng, раздел Технические идеи, оформление доступа к узлу — аренда и покупка, актуальные тарифы и список узлов, а также помощь по SSH и VNC для вывода графической сессии и проверки пресетов на удалённой машине.
Стабильный воркер для ночных деков
Воспроизведите очередь экспорта и дисковые гейты на выделенном Mac mini M4 без нагрузки на личный ноутбук.
Подводя итог: матрица и таблица выше превращают экспорт Keynote в сдаваемый контракт: геометрия 16:9 с целочисленной шириной, единая политика sRGB, предсказуемые имена, последовательная очередь и дисковые/байтовые пороги. Если ночные прогоны должны идти без сюрпризов, имеет смысл вынести их на арендованный удалённый Mac с фиксированной конфигурацией: сравните планы на странице тарифов, оформите узел через раздел покупки и аренды и при необходимости пройдите пошаговую настройку доступа в справочном разделе — так дизайн-команда получает тот же Keynote и те же квоты диска, что заложены в ваш README, а не случайное состояние ноутбука коллеги.