Редактор сюжетов
Редактор сюжетов — веб-приложение, в котором сюжетописатель собирает историю визуально, без написания
JSON вручную. Живёт по адресу story.artux.net, исходный код открыт в
репозитории zethange/pda-quest-editor-web.
Редактор — не часть организации artux-net, а отдельный проект от контрибьютора zethange, интегрированный с
backend'ом pdanetwork. Для входа нужна учётная запись с ролью не ниже TESTER.
Ключевая идея: граф, а не список форм
В отличие от «плоских» CMS-редакторов со списком полей, это графовый (нодовый) редактор: стадии истории —
узлы на холсте, переходы (transfers) — связи между ними. Граф автоматически раскладывается (библиотека
dagre.js), но координаты каждого узла также сохраняются в данных стадии (editor.x/y), так что при повторном
открытии истории раскладка не «скачет».
Это прямое визуальное отражение модели данных, описанной в разделе
«Написание историй»: узел = стадия, стрелка = переход, вложенные панели узла =
texts/condition/actions.
Экраны редактора
- Главная страница — список ваших историй, создание новой, импорт/экспорт JSON истории целиком, а также скачивание истории прямо с сервера (с фильтром по типу доступа, включая архивные истории).
- Страница истории — дерево глав истории, карточки для создания/удаления глав, настройки истории (
info.json: название, описание, иконка,access), музыка главы. - Редактор главы (граф стадий) — основной рабочий экран: drag-and-drop создание новых стадий, клик по узлу открывает панель редактирования стадии (заголовок, фон, тип, текст с условиями, переходы, действия). Отдельно — визуальный конструктор миссий/чекпоинтов.
- Редактор карты главы — тот же граф, но поверх превью локации: сюда drag-and-drop добавляются точки и отряды, с иконками по типу точки и превью тайлов локации.
Подробный рабочий процесс — в разделе «Рабочий процесс автора».
Встроенная валидация
Редактор проверяет корректность стадий перед сохранением (например, ссылки transfers[].stage на
несуществующие стадии) — это подстраховка от «битых» историй, которые технически сохранились бы как JSON, но
завели бы игрока в тупик.
Далее
- Рабочий процесс автора — пошагово, от идеи до готовой истории.
- Сборка действий и условий в UI — как это выглядит на экране.
- Публикация и доступ — как история попадает к игрокам.