MapStage — скилл
Скилл MapStage настраивает вид карты или глобуса: проекция, спутник, рельеф, 3D-ландшафт, выделение региона и экспорт пресета в JSON
- 499 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Страница tuner загружает тайлы и данные рельефа с внешних адресов EOX, Mapterhorn и OpenFreeMap
- Локальный запуск tuner поднимает HTTP-сервер из папки проекта
- Источники данных имеют свои условия использования, а в репозитории есть файл исключений из лицензии
Установка
- Работает в
Ручная установка
npx skills add hopechen067/MapStage --skill mapstage -gСтавит только папку mapstage, а не весь репозиторий.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Страница tuner загружает тайлы и данные рельефа с внешних адресов EOX, Mapterhorn и OpenFreeMap
- Локальный запуск tuner поднимает HTTP-сервер из папки проекта
- Источники данных имеют свои условия использования, а в репозитории есть файл исключений из лицензии
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
MapStage помогает агенту собрать и настроить сцену карты на MapLibre: переключить плоскую карту и глобус, подмешать спутниковые снимки и гипсометрический рельеф, поднять 3D-ландшафт и выделить регион отдельным островом. Вид настраивается в живой странице tuner со слайдерами, результат выгружается в JSON-пресет версии 3 с проекцией, переключателями слоев и камерой. Скилл задает рабочий порядок. Сначала открывается демо https://hopechen067.github.io/MapStage/ или локальный сервер из папки tuner. Затем применяется пресет `antique-default`, подбирается вид, экспортируется JSON и переносится в боевую сцену. Для рельефа и затенения используется Mapterhorn DEM с кодировкой `terrarium`, вода берется из векторных слоев OpenFreeMap, спутник по умолчанию из EOX Sentinel-2 `cloudless`. В папке `references` лежат таблицы параметров, схема уровней населенных пунктов (`capital`, `large`, `medium`, `small`, `pass`, `station`, `ordos`) и описание рабочего процесса, а в `schemas` JSON-схемы пресета и списка точек.
Для кого. Для разработчиков и дизайнеров, которые делают картографические сцены и видео на MapLibre, например исторические карты, и хотят настраивать вид без правки кода.
Подходит, если
- Нужна живая страница со слайдерами для проекции, спутника, рельефа и цветокоррекции вместо подбора значений в коде
- Вид карты нужно зафиксировать и выгрузить JSON, чтобы перенести его в другое приложение
- На карте нужны города по уровням: столица, крупный, средний, малый, перевал, станция
- Нужен регион, выделенный отдельным островом рельефа поверх глобуса
- Кадры записываются для видео, и камеру нужно вести через jumpTo и ждать события `idle`
Не подходит, если
- Нужен готовый хост для финальной отрисовки: скилл прямо запрещает рендерить итог со страницы tuner
- Задача про геокодирование, маршруты или поиск мест, а не про оформление карты
- Вы не можете использовать публичные тайлы EOX и Mapterhorn и не готовы подставить свои адреса в конфиг
- Для записи кадров вы собираетесь использовать easeTo или flyTo: скилл советует jumpTo и `idle`
Пример запроса к агенту
Открой tuner MapStage, примени пресет `antique-default`, включи глобус с рельефом и выгрузи JSON для моей сценыОграничения
- Тайлы в проект не входят: MapStage загружает рельеф и подложку во время работы по адресам из конфига. Использовать можно только те источники, на которые у вас есть право.
- У источника рельефа обязательно указывается `encoding`: '`terrarium`', иначе ломаются затенение и ландшафт.
- Демо со спутником EOX и DEM Mapterhorn требует интернета.
- В репозитории рядом с лицензией MIT есть файлы LICENSE-EXCEPTIONS.md и DATA-PROVENANCE.md с исключениями и происхождением данных, перед публикацией результата стоит их прочитать.
Как отключить. Удалите папку mapstage из каталога скиллов агента. Установка командой npx skills add кладет в нее только папку mapstage, остальной репозиторий не копируется.
Частые вопросы
Как поставить скилл MapStage?
Командой npx skills add hopechen067/MapStage --skill mapstage -g. Если клонировать репозиторий целиком, вы получите весь проект с демо и показательными сценами, а скилл занимает только папку mapstage.
Что такое tuner в MapStage?
Это HTML-страница со слайдерами для проекции, спутника, рельефа, региона, CSS-цветокоррекции и городов. Она открывается по публичному адресу демо или локально через python -m http.server в папке tuner, а результат экспортируется в JSON.
Почему нельзя рендерить финальные кадры в tuner?
Скилл указывает, что итоговую отрисовку делает боевая сцена, а не страница настройки. Для записи кадров камера должна двигаться через jumpTo с ожиданием `idle`, без easeTo и flyTo.
Откуда MapStage берет карты и рельеф?
Подложка по умолчанию EOX Sentinel-2 `cloudless`, рельеф Mapterhorn DEM с кодировкой `terrarium`, вода из векторных слоев OpenFreeMap. Адреса задаются в tuner/map-tiles.config.js, их можно переопределить локальным файлом.
Какие уровни населенных пунктов есть в MapStage?
Семь уровней: `capital`, `large`, `medium`, `small`, `pass`, `station` и `ordos`. Схема описана в references/city-tier-schema.md, а формат списка точек задает JSON-схема `sample`-sites.schema.json.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл превращает ваше фото или описание в рисованного персонажа и делает им схемы, карточки знаний и слайды
Скилл-цикл: агент генерирует эталонный скриншот, строит под него сцену и через субагента-критика доводит результат до совпадения
Скилл делает из темы короткую анимированную карточку с фактами из найденных источников и ресурсами для Live Photo на iPhone
Скилл рисует интерактивные изометрические иллюстрации в SVG: шейдеры WebGL, страница HTML или компонент React, идея объясняется работающим устройством
3dviz Pro Max
3dviz-pro-max
Скилл для 3D-визуализаций (Three.js, Blender, glTF): идея превращается в сцену. Снимки экрана по желанию через Playwright. Часть демонстраций историческая
Набор скиллов, CLI и MCP-сервер, чтобы Claude Code или Codex делали видео по описанию: монтаж, графика, озвучка и субтитры
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| MapStage (эта запись) | нет | 499 | ||
| Mapbox MCP Server | да | OAuth | 363 | официальный MCP Mapbox для геокодирования, поиска мест и маршрутов, а MapStage оформляет вид карты |
| Скилл по Яндекс Картам JS API v3 | нет | 1 | справочный скилл по JS API Яндекс Карт v3 с маркерами и кластерами, без настройки рельефа и глобуса |
Коротко о README
Главная страница представляет MapStage как открытый tuner с картой и глобусом, спутником, гипсометрическим рельефом, 3D-ландшафтом, выделением региона и JSON-пресетами. В разделе новостей упомянуты Mapterhorn вместо AWS Terrarium, векторная вода OpenFreeMap и переименование репозитория. Дальше идут живое демо, примеры сцен и указания по запуску.
Бейдж для README
Исходный SKILL.md
--- name: mapstage description: MapStage live tuner for map/globe projection, satellite, hypsometric relief, 3D terrain, region isolate, CSS color grade, and JSON presets. --- # MapStage Use this skill when building or tuning a MapStage scene: map/globe projection, satellite, hypsometric relief, Mapterhorn terrain, region isolate, CSS color grade, and JSON export. ## When to use - Need a live MapStage tuner (map vs globe, satellite vs relief, isolate). - Need to lock paint / CSS / camera, then export JSON into another host. - Need tiered settlements (`capital` / `large` / `medium` / `small` / `pass` / `station` / `ordos`). Do **not** use the tuner page as the final render host. ## Modes | Mode | Purpose | |------|---------| | **Production stack** | Embed MapStage in your app: optional satellite/raster + Mapterhorn DEM (`encoding: 'terrarium'`) + hillshade + OpenFreeMap vector water + CSS filter + city extrusions. Drive look from exported JSON. | | **Tuner** | HTTP page under `tuner/` (or the public demo) for sliders, projection, isolate, preset load/export. | ## Workflow 1. Open the tuner: public demo https://hopechen067.github.io/MapStage/ **or** `cd tuner && python -m http.server` and open the local URL printed in the terminal. 2. Tiles: default **EOX Sentinel-2 cloudless** (on) + **Mapterhorn** (`tuner/map-tiles.config.js`). Override with gitignored `map-tiles.config.local.js`. 3. Apply default preset [`tuner/preset-antique-default.json`](tuner/preset-antique-default.json) (same as [`tuner/presets/antique-default.json`](tuner/presets/antique-default.json)). Schema **version 3**. 4. Adjust projection / satellite / relief / isolate / CSS / cities until the look locks. 5. **Export JSON** (copy or download). Confirm `version: 3` plus `ui.projection`, `ui.showSatellite`, `ui.showRelief`, `ui.showCssFilter`, `isolate`. 6. **Migrate** those fields into the production MapStage scene (see references). 7. In production: `jumpTo` camera; wait for `idle`; optionally pre-cache tiles. **Avoid `easeTo` / `flyTo`** for recorded frames. 8. Always set DEM with **`encoding: 'terrarium'`**. Wrong encoding breaks hillshade/terrain. 9. Final frames render from the production host — **not** from the tuner UI. ## Hard rules - **Tiles not bundled** — MapStage fetches DEM and basemap at runtime from **configured** URLs only. - **Only use basemap endpoints you are allowed to use** — defaults are public demo tiles (EOX); swap via config when needed. - **`encoding: 'terrarium'`** on the terrain source — mandatory. - **No `easeTo` / `flyTo`** in recorded production paths; prefer `jumpTo` + `idle`. - **Do not host final render on tuner.** - **Water** on the public tuner is OpenFreeMap / OpenMapTiles vector layers (`water` / `waterway`). Export `ui.showWater` is always `false` (old GeoJSON overlay is off). Do not expect or commit `tuner/assets/water-data.js`.