Решили: временные брендовые иконки (титульная печать, иконка приложения, лого студии, сплэш) рисуем Pillow-скриптом с суперсэмплингом, а не SVG. Готовый PNG кладём поверх существующих ассетов, не трогая .meta, — guid сохраняется, и вся разводка (seal в UiRootBootstrap, default-иконка в Player Settings, CompanyLogo, SplashLogo) остаётся живой без переподключения.

Почему: SVG-путь отпал по фактам среды. Внутрипроектного растеризатора SVG нет: com.unity. modules.vectorgraphics в манифесте — строка-фантом (такого встроенного модуля не существует; настоящий пакет — com.unity.vectorgraphics, и он не модуль), то есть SVG-импорт не включён. Ставить preview-пакет ради temp-арта — оверкилл. Painter2D в UITK дал бы вектор в рантайме, но только для титула, а для иконки приложения всё равно нужен растр. Pillow рисует геометрию под полным контролем, а суперсэмплинг ×3 + LANCZOS даёт сглаживание — и, главное, PNG можно прочитать инструментом Read и проверить глазами, чего не давал ни один слепой путь.

Грабли:

  • convert в PATH — это C:\Windows\System32\convert.exe (FAT→NTFS), не ImageMagick. Зонд convert -version печатает кириллицу про файловые системы; принять за IM легко, растеризовать им нельзя.
  • Скриншот из браузерной панели (mcp__Claude_Browser__computer screenshot) не снимается, когда панель не на переднем плане: «Browser pane is not displayed, page not compositing». Проверять UI через неё вслепую нельзя — отсюда и разворот на «PNG + Read».
  • Файлы вне корня проекта открываются в панели как static snapshot с CSP script-src 'none': ни скрипт, ни <canvas>-растеризация там не работают.

Инвариант, который легко нарушить: новый PNG обязан совпадать по размеру со старым (256, 512, 1024, сплэш 512×256), иначе у Sprite-Single съедет rect, а у иконки приложения — пропорции. Размеры сверяются до копирования. Правило замены-по-guid держится вручную: тест на него не заведён (temp-арт).

Владелец правды: сами ассеты Assets/_Project/Art/Brand/*.png; рисовалка живёт в scratchpad сессии (не в репо) — это осознанно, арт временный и правится перерисовкой, а не поддержкой скрипта.