Вкладка браузера, apple-touch-icon и Web App Manifest по-прежнему опираются на PNG-лесенку рядом с SVG. Ниже — компактная матрица 2026 для Mac-операций: какие размеры обязательны, как не потерять логотип под maskable, как закрепить sRGB и какие пороги байт и резкости проверять на удалённом Mac mini M4 с журналом JSONL.
На этой странице
Почему «иконки сайта» — это три разных продукта в одном брифе
- Геометрия слотов расходится. Вкладке нужен читаемый знак в 32 px; iOS ждёт
180×180; манифест —192и512для установки; один мастер редко закрывает все кропы без полей. - Maskable — не «просто большой PNG». Адаптивные лончеры обрезают по кругу и squircle; графика у кромки исчезает предсказуемо.
- Цвет уезжает без контракта. Авторинг в широком охвате и нетегированный PNG на sRGB-оболочках дают разный оттенок; профиль нужно решить до пакетного
sips. - Объём нужно гейтить. Хеши,
statи версии CLI логичнее держать на воркере, а не на ноутбуке между созвонами.
Согласуйте цвет с чеклистом sRGB и Display P3, политику форматов — с гайдом WebP, AVIF и PNG. Для других пропорций безопасных зон см. матрицу соцбаннеров PNG; для нативных лесенок — матрицу iOS-иконок и чеклист ICNS.
Таблица слотов: favicon, touch-icon, manifest, maskable
| Слот доставки | Типичный PNG W×H | Главный риск | Правило сдачи |
|---|---|---|---|
| Классический favicon вкладки | 32×32 (опционально 16×16) |
Размытые штрихи после даунскейла | Лёгкий unsharp для знаков «как вектор»; фото-шум в глиф не тащить |
rel="apple-touch-icon" |
180×180 |
Скруглённый прямоугольник iOS съедает углы | Внутренние поля логотипа ≥ 10% стороны, если арт уже не «воздушный» |
icons[] в web manifest |
192×192 и 512×512 |
Нет purpose — страдает установка и подсказки |
Отдавать оба с "purpose": "any"; отдельный 512 с "maskable", если нужен Android adaptive |
Maskable 512 |
512×512 с внутренней «безопасной» графикой |
Круг или squircle съедает кромки | Важные элементы внутри центрального круга диаметром 80% квадрата; внешнее кольцо — bleed под маску |
Закреплённые шаги на macOS: sips, резкость magick, манифест
Зафиксируйте сборку ImageMagick на воркере и пишите в лог sips --version на каждый прогон; путь к ICC при необходимости замените на корпоративный профиль.
Шаг 1 — нормализация квадратного мастера в sRGB
sips --matchTo "/System/Library/ColorSync/Profiles/sRGB Profile.icc" master.png --out master_srgb.png
Если по контракту теги ICC нужно снять после согласования цвета, используйте рецепт из гайда по ICC и lossless-пересжатию PNG.
Шаг 2 — детерминированные размеры через sips
sips -z 32 32 master_srgb.png --out favicon-32.png
sips -z 180 180 master_srgb.png --out apple-touch-icon-180.png
sips -z 192 192 master_srgb.png --out pwa-192.png
sips -z 512 512 master_srgb.png --out pwa-512-any.png
16×16 оставьте для связки с классическим .ico; для современного веба часто достаточно 32 плюс SVG.
Шаг 3 — опциональная микрорезкость для favicon
magick favicon-32.png -colorspace sRGB -filter Lanczos -resize 32x32! -unsharp 0x0.45+0.45+0.006 favicon-32-sharp.png
Радиус держите малым, чтобы не поймать ореолы. Для мягкого арта 512 maskable резкость обычно отключают.
Шаг 4 — maskable: явные поля и превью
Масштабируйте знак так, чтобы его ограничивающий прямоугольник помещался в круг 80% диаметра. Проверка: Chrome DevTools → Application → предпросмотр maskable для манифеста.
Шаг 5 — HTML, manifest и хеши
shasum -a 256 pwa-512-any.png >> icons-manifest.sha256
Свяжите link rel="icon", apple-touch-icon и manifest с теми же именами файлов, что прошли гейты; при смене файла обновляйте ключ кэша.
Чеклист приёмки батча на удалённом Mac M4
- Геометрия: W×H строго по спецификации; отклонять «почти 192» и нечётные размеры, если вниз по пайплайну ждут чётные квадраты.
- sRGB: на выборке
magick identify -verbose—Colorspace: sRGBи согласованное с README состояние ICC. - Пороги байт (стартовые ориентиры):
32 ≤ 12 KB,180 ≤ 45 KB,192 ≤ 55 KB,512 any ≤ 180 KB,512 maskable ≤ 220 KB— подстройте под CDN и политику сжатия. - Резкость: каждый вызов
-unsharpс тройкой параметров пишите в JSONL для дифф-ревью. - Дымовой тест установки: «На экран «Домой»» в Chrome на Android и Safari на iOS со staging; сохраните скриншоты в артефакты релиза.
Пороги и фрагменты проверки
- Круг maskable: диаметр
0,8 × min(width, height)по центру квадрата; всё снаружи считается расходуемым под маску. - Отступ touch-icon: по умолчанию ≥ 10% поля; для тонких штрихов целиться в ≈ 14%.
- Пример гейта в shell (macOS):
test "$(stat -f%z pwa-192.png)" -le 55000— потолок 55 KB для192; замените число на свой SKU.
FAQ
Один файл 512 для any и maskable? Только если поля уже удовлетворяют правилам maskable; иначе заведите две строки в icons[], чтобы не словить обрезку на Pixel.
Touch-icon темнее макета? Повторите приведение к sRGB и сравните гамму экспорта дизайна с Safari на калиброванном дисплее.
Дальнейшие шаги: аренда удалённого M4 для ночных прогонов иконок
После ребрендинга удалённый Mac mini M4 заново прогоняет sips, magick и проверки stat для десятков арендаторов на одной версии toolchain. Откройте MacPng, изучите тарифы и узлы, помощь по доступу и раздел Технические идеи для смежных матриц; оформить воркер можно через аренду и покупку без обязательного предварительного входа.
Вынесите лесенку и гейты на стабильный воркер
Ресайз, нормализация ICC и потолки по байтам остаются воспроизводимыми, пока дизайн итерируется локально; в CDN уходит только хешированный артефакт.