Загрузка собственных пресетов карт

О чём это

Пресет карты — это набор графики (иконок и заливок) для элементов карты: гор, городов, замков, лесов, порталов и т. д.

Кроме самой графики пресет хранит названия элементов, которые вы видите в редакторе карт.

В системе есть готовые пресеты, а на платных тарифах вы можете загрузить и собственный: свой SVG-файл с графикой и свои названия элементов. После загрузки пресет становится доступен в редакторе карт и применяется к карте «на лету».

Раздел называется «Собственная графика».

Кому доступно

  • Загрузка и использование собственных пресетов — это функция платной подписки.

  • Если функция недоступна на вашем тарифе, на странице «Собственная графика» вы увидите предложение перейти на подходящий тариф.

  • Если срок действия тарифа истёк, ваши загруженные пресеты становятся недоступными (заблокированными), а карты, где они использовались, автоматически показываются на пресете по умолчанию. Сами пресеты при этом не удаляются — доступ вернётся вместе с активной подпиской.

Где найти раздел

Есть два пути:

  • Личный кабинет → раздел «Собственная графика». Прямой адрес: /dashboard/map-presets.

  • В редакторе карт откройте выбор пресета (кнопка выбора пресета над палитрой инструментов) и нажмите карточку «+ Собственный пресет» — она откроет страницу загрузки в новой вкладке.

Что такое svg-спрайт пресета

Графика пресета — это один SVG-файл (спрайт), внутри которого лежат отдельные символы (теги <symbol>) для каждого элемента карты. Каждый символ имеет свой идентификатор (атрибут id) вида:

категория-уровень

Например:

  • city-region — город на уровне детализации «region»

  • castle-village — замок на уровне «village»

  • mountain-peak-continent — горный пик на уровне «continent»

Категория — это тип объекта (city, castle, mountain-peak…). Уровень (LOD, level of detail) — насколько детально рисуется объект в зависимости от масштаба карты.

Готовый пример для скачивания

Проще всего начать не с чистого листа, а с готового образца. Скачайте файл-пример

Это полноценный рабочий пресет, который проходит проверку без ошибок. На нём удобно посмотреть, как всё устроено:

  • все 11 обязательных категорий на месте, с несколькими уровнями детализации;

  • символы названы по схеме «категория-уровень» (city-region, castle-village, mountain-peak-continent и т. д.);

  • есть спрайты биомов, из которых собираются лес, пустыня, болото, тундра и луга (деревья, дюны, кактусы, камыш и т. д.) — они необязательны и в проверке дают лишь предупреждение, но не мешают загрузке.

Как использовать образец:

  • Скачайте blueprint.svg и загрузите его как есть, чтобы сразу увидеть готовый пресет в редакторе карт.

  • Либо откройте его в любом векторном редакторе (например, Inkscape) или текстовом редакторе и замените графику внутри символов на свою, сохранив их идентификаторы (id). Так вы гарантированно попадёте в нужную структуру.

Не переименовывайте идентификаторы символов — именно по ним система сопоставляет графику с элементами карты. Меняйте содержимое символов, а не их id.

В чём редактировать спрайт

Спрайт — это SVG-файл особой структуры: набор символов (<symbol>) с точными идентификаторами (id). Поэтому удобнее всего работать в два приёма: рисовать графику в векторном редакторе, а собирать символы и следить за их id — в текстовом (кодовом) редакторе. Многие векторные редакторы при экспорте меняют структуру файла и переименовывают id, из-за чего система перестаёт узнавать элементы, — поэтому итоговую структуру лучше проверять «руками».

Векторные редакторы (для рисования графики):

  • Inkscape — бесплатный, мощный, есть встроенный редактор XML (меню «Правка» → «Редактор XML»), где можно задавать id вручную. Рекомендуем как основной вариант.

  • Boxy SVG — лёгкий редактор с аккуратной работой с SVG; есть онлайн-версия и приложение.

  • Affinity Designer — профессиональный редактор (платный, разовая покупка).

  • Adobe Illustrator — профессиональный стандарт (по подписке). Внимание: при экспорте может переименовывать и перестраивать id — обязательно проверяйте результат.

Текстовые (кодовые) редакторы — для проверки и правки структуры и id:

  • Visual Studio Code — бесплатный, с подсветкой и предпросмотром SVG (через расширения).

  • Notepad++ или Sublime Text — быстрые редакторы для точечной правки.

  • Любой редактор кода подойдёт: SVG — это обычный текст (XML), его можно открыть и поправить напрямую.

Рекомендации:

  1. Начинайте с файла-примера blueprint.svg: замените графику внутри символов, не трогая их id и общую структуру.

  2. Не «оптимизируйте» файл автоматическими инструментами (SVGO и подобные) без проверки: оптимизаторы часто удаляют или сливают id, и элементы перестают распознаваться.

  3. После правки загрузите и нажмите «Проверить», чтобы убедиться, что все нужные идентификаторы на месте.

Уровни детализации (LOD)

Возможные уровни, от самого крупного масштаба к самому мелкому:

  • continent

  • region

  • kingdom

  • city

  • village

Для каждой обязательной категории в файле должен быть хотя бы один уровень (не обязательно все пять). Если для категории есть только, например, city-region — этого достаточно, чтобы пройти проверку.

Обязательные категории

В файле должны присутствовать символы этих 11 категорий (хотя бы по одному уровню детализации у каждой):

  • castle — замок

  • cave — пещера

  • city — город

  • compass — компас (роза ветров)

  • mountain-hill — холмы

  • mountain-old — старые горы

  • mountain-peak — горные пики

  • portal — портал

  • ruins — руины

  • ship — корабль

  • village — деревня

Биомы (лес, луга, пустыня, болото, тундра) в число обязательных категорий не входят — проверка пройдёт и без них. Но их графика тоже берётся из пресета, если вы её добавите: биомы собираются из отдельных мелких спрайтов (см. следующий раздел). Озёра рисуются сплошной заливкой и своей графики не требуют.

Графика биомов (лес, пустыня, болото, тундра, луга)

Биом на карте — это не одна иконка, а область, которую редактор заполняет множеством мелких спрайт-элементов, случайно рассыпая их внутри (деревья в лесу, дюны и кактусы в пустыне, камыш в болоте и т. д.). Эти элементы берутся из вашего пресета по фиксированным идентификаторам.

  • Если добавить эти спрайты в SVG — биомы отрисуются вашей графикой.

  • Если не добавлять — редактор нарисует биом простым запасным вариантом (процедурная заглушка). Именно поэтому биомы не обязательны для прохождения проверки, но для полноценного пресета их стоит включить.

Ожидаемые идентификаторы спрайтов по биомам:

  • Лес, хвойный: tree-pine-1, tree-pine-2, tree-pine-3

  • Лес, лиственный: tree-leaf-1, tree-leaf-2, tree-leaf-3 (смешанный лес использует оба набора)

  • Пустыня: dune-1, dune-2, dune-3, cactus-1, cactus-2

  • Болото: reed-1, reed-2, swamp-tuft-1

  • Тундра: tundra-shrub-1, tundra-rock-1, snow-patch-1

  • Луга: grass-1, grass-2

Дополнительно:

  • Лес на дальних масштабах может использовать «пятно» leса — символы forest-continent и forest-region. Они необязательны: при их отсутствии дальний план рисуется запасным вариантом.

  • Магические зоны тоже собираются из россыпи: crystal-1, crystal-2, sparkle-1, sparkle-2.

Эти спрайты не проходят как обязательные категории, поэтому при проверке они отмечаются как «дополнительные» (предупреждение) — это нормально и загрузку не блокирует. Все перечисленные идентификаторы уже есть в файле-примере blueprint.svg — удобно посмотреть их устройство и заменить своей графикой.

Требования к файлу

  • Формат: корректный SVG (это XML). Файл, который не разбирается как SVG/XML, будет отклонён.

  • Размер файла: не более 4096 КБ (4 МБ).

  • Количество символов (<symbol>): не более 400.

  • viewBox символов: рекомендуется «0 0 100 100». Это соглашение по умолчанию не проверяется жёстко, но одинаковый viewBox обеспечивает правильные пропорции иконок.

  • Идентификаторы символов должны следовать схеме «категория-уровень», иначе система не сопоставит графику с элементами карты.

Безопасность: что удаляется из файла

Загруженный SVG считается недоверенным и очищается перед сохранением. Из файла автоматически вырезаются:

  • теги <script> и <foreignObject>;

  • обработчики событий (атрибуты, начинающиеся с on — onload, onclick и подобные);

  • внешние ссылки в href / xlink:href (разрешены только внутренние ссылки вида «#id»).

Это не влияет на саму графику — удаляются только потенциально опасные вставки.

Как загрузить пресет

  • Откройте раздел «Собственная графика».

  • Нажмите «+ Загрузить пресет».

  • Заполните поля:

    • Название (обязательно, до 120 символов).

    • Описание (необязательно).

    • SVG-спрайт (обязательно) — ваш файл с графикой.

    • Превью (необязательно) — картинка-обложка пресета, до 1024 КБ (1 МБ), любой формат изображения. Если превью не загрузить, в списке будет показана заглушка.

  • Нажмите «Проверить», чтобы прогнать файл через проверку без сохранения (см. раздел про отчёт проверки).

  • Нажмите «Загрузить», чтобы создать пресет. Если файл проходит проверку, пресет создаётся и сразу открывается редактор названий элементов.

Если проверка не пройдена, пресет не создаётся, а под формой показывается отчёт с перечнем того, что нужно исправить.

Отчёт проверки

После проверки или попытки загрузки система показывает отчёт. В нём есть сводка (сколько найдено символов, паттернов и категорий) и, при наличии, списки ошибок и предупреждений.

Ошибки блокируют загрузку. Возможные ошибки:

  • Файл не является корректным SVG — файл не удалось разобрать как SVG/XML.

  • Отсутствует категория «…» — в файле нет ни одного символа обязательной категории.

  • У категории нет ни одного уровня детализации — категория есть, но её символы не распознаны по уровням.

  • Отсутствует паттерн «…» — не хватает обязательной заливки (если такие настроены).

  • Неверный viewBox у символа — если жёсткая проверка viewBox включена и значение не совпадает с ожидаемым.

  • Слишком много символов — превышен лимит в 400 символов.

Предупреждения не блокируют загрузку.

Например: Дополнительная категория «…» — в файле есть категория, которой нет в эталоне. Это допустимо: лишняя графика просто не помешает.

Названия элементов

Сразу после успешной загрузки (или по кнопке «Названия» в списке пресетов) открывается редактор названий. Здесь для каждого элемента карты можно задать своё название и описание, под которыми элемент будет виден в редакторе карт именно на вашем пресете.

  • Если поле оставить пустым, используется название по умолчанию (показано серым как подсказка в поле).

  • Ключи элементов при этом не меняются — переименование влияет только на отображение, сохранённые карты не ломаются.

  • Рядом с элементами, у которых в вашем спрайте есть графика, показывается иконка из вашего файла (берётся наиболее детальный доступный уровень).

  • Элементы сгруппированы по разделам: Рельеф, Вода, Поселения, Магия, Инфраструктура, Декор, Особые, Прочее.

  • Нажмите «Сохранить», чтобы применить названия.

Полный список элементов, которым можно задать свои названия (в скобках — название по умолчанию):

Рельеф:

  • continents (Кисть континента)

  • mountains (Горы)

  • deserts (Пустыня)

  • forests (Лес)

  • swamps (Болото)

  • tundras (Тундра)

  • grasslands (Луга)

  • caves (Пещера)

Вода:

  • rivers (Река)

  • lakes (Озеро)

Поселения:

  • cities (Город)

  • villages (Деревня)

  • castles (Замок)

  • ruins (Руины)

Магия:

  • zones (Магическая зона)

  • portals (Портал)

Инфраструктура:

  • roads (Дорога)

  • bridges (Мост)

  • borders (Граница)

Декор:

  • compasses (Компас)

  • scaleBars (Масштаб)

  • ships (Корабль)

Особые:

  • heroPaths (Путь героя)

  • texts (Текст)

Применение пресета в редакторе карт

В редакторе карт откройте выбор пресета — появится галерея с доступными пресетами и вашими собственными.

Выберите свой пресет — графика и названия элементов применятся к карте сразу, без перезагрузки страницы.

Пресеты, недоступные на вашем тарифе, показаны заблокированными (с замком) и ведут к странице тарифов.

Управление пресетами

На странице «Собственная графика» ваши пресеты показаны карточками. Для каждой:

  • Названия — открыть редактор названий и описаний элементов.

  • Удалить — удалить пресет вместе с его файлами. Удаление окончательное и требует подтверждения.

Ваши собственные пресеты видны только вам — другие пользователи их не видят и не могут использовать.

Частые вопросы (FAQ)

Проверьте, что в SVG есть символы всех 11 обязательных категорий и что их id записаны по схеме «категория-уровень» (например, city-region, castle-village).

Для прохождения проверки — нет, они не входят в обязательные категории. Но их графика берётся из пресета: биом собирается из мелких спрайтов (деревья, дюны, камыш и т. д.), которые редактор рассыпает внутри области. Без них биом рисуется простой заглушкой. Чтобы биомы были в вашем стиле, включите спрайты из раздела «Графика биомов». Озёра — исключение: они рисуются заливкой и графики не требуют.

Нет, достаточно хотя бы одного уровня на категорию. Но чем больше уровней, тем аккуратнее объект выглядит на разных масштабах карты.

Собственные пресеты станут недоступны, а карты, где они использовались, будут показаны на пресете по умолчанию. После продления подписки доступ вернётся.

Отдельной замены файла нет — загрузите новый пресет с обновлённой графикой, а старый при необходимости удалите.