Skip to the content.

Как просматривать и редактировать дорожную карту

roadmap.drawio.svg — это обычное SVG-изображение со встроенной диаграммой draw.io: откройте его где угодно, чтобы увидеть карту. Но это сгенерированный файл: настоящий исходник — это единое текстовое описание, общее для всех языков, в tools/mapgen/roadmap/, а этот .drawio.svg является результатом сборки, а не тем, что вы правите.

Просмотр

Редактирование

Карта собирается из tools/mapgen/roadmap/structure.dsl (дерево узлов, грейды, этапы, подсказки) и по одному <lang>.tsv на язык (только текст). Не редактируйте этот .drawio.svg вручную — он пересобирается из исходника, и CI (mapcheck) отклонит карту, которая разошлась с исходником.

  1. Сделайте форк и правьте исходник:
    • узел, его грейд/этап или подсказка → tools/mapgen/roadmap/structure.dsl
    • текст (подпись, подсказка, дата) → соответствующая строка в en.tsv / ru.tsv / zh.tsv / es.tsv (новому узлу нужна строка во всех четырёх).
  2. Только в первый раз — подготовьте окружение:
    python tools/mapgen/setup.py --venv
    

    Скрипт создаёт виртуальное окружение, ставит Pillow и проверяет то, что он установить не может (CJK-шрифт и десктопное приложение draw.io), подсказывая точную команду для вашей ОС.

  3. Пересоберите, обновите все четыре карты и проверьте их — одной командой из корня репозитория:
    python tools/mapgen/build.py --dir tools/mapgen/roadmap --deploy --check
    

    --deploy копирует каждую собранную карту в соответствующий <Language>/Graph/roadmap.drawio.svg, --check затем запускает mapcheck. Зависимости проверяются перед сборкой: если чего-то не хватает (или вы забыли активировать виртуальное окружение), команда сообщит об этом сразу.

  4. Создайте pull request с исходником и пересобранными картами.

Грамматика DSL и подробности — в tools/mapgen/README.md. Не можете запустить сборку? Всё равно поправьте исходник и укажите это в PR — мейнтейнер пересоберёт карты.