Об этом проекте
Этот проект представляет собой браузерный (а также опциональный классный вариант для Windows) тренажёр-симулятор для отработки контролируемых миссий поиска и спасения с несколькими дронами. Всё моделируется: он не подключается к воздушным судам, системам управления воздушным движением, Remote ID, диспетчерским службам или камерам и явно не предназначен для реальных полётов, реальных чрезвычайных ситуаций или регуляторного использования.
Основная идея: детерминизм. Один и тот же сценарий с одними и теми же входными данными каждый раз даёт одну и ту же миссию — ту же погоду, обнаружения и результат, — записанную в журнал событий с хеш-цепочкой, который можно воспроизвести и проверить. Это делает прогоны сопоставимыми между учащимися и позволяет разбирать их шаг за шагом.
Что он предлагает:
- 31 сценарий: 25 инцидентных миссий (поиск и спасение на побережье и в горах, лесные пожары, наводнения, исторические катастрофы) плюс 6 тренировочных упражнений по навыкам, вдохновлённых методами тестирования NIST (описаны как образовательные симуляции, а не официальное оборудование или сертификация).
- Командование флотом из трёх-восьми воздушных судов: планирование маршрутов, площадки запуска и приёма, переназначение задач, зависание, отклонение, возобновление, подзарядка, возврат на базу.
- Зафиксированные для каждого сценария входные данные по погоде, рельефу, воздушному пространству, GNSS, тепловому режиму и батарее, чтобы прогоны были воспроизводимыми, а не случайными.
- Записи миссий с защищёнными от подделки журналами событий и экспортом в KML, GeoJSON, воспроизведением и разбором после действия.
- Три цели представления (мобильный веб, настольный веб, класс) используют идентичную математику симуляции; система проверки паритета артефактов гарантирует, что модули симуляции, данные сценариев, оценка, события и хеши воспроизведения не различаются в зависимости от цели.
- Локальные учётные записи хранятся в браузере с шифрованием на основе пароля; ничего не синхронизируется с сервером.
- Опциональный классный режим: хост-инструктор Windows запускает локальный ретранслятор со сгенерированным локальным для школы центром сертификации и листовым сертификатом LAN, обслуживая HTTPS/WSS, по умолчанию отклоняя небезопасный трафик не через loopback и не устанавливая свой CA на машины учащихся.
Инженерные заметки: цикл симуляции имеет фиксированный шаг и синхронен после подготовки рельефа; отсутствующий объявленный рельеф блокирует запуск вместо подстановки плоской поверхности. Входные данные сценария фиксируются во время авторской разработки, и среда выполнения никогда не получает живые данные. Каждая развёрнутая цель предоставляет версию, цель и Git SHA по адресу /build-info.json, а скрипт deploy:status сообщает развёрнутые SHA относительно main. Документированный этап выпуска включает проверки типов, линтинг, тесты с порогами покрытия, сборки для каждой цели, проверки бандла/фикстур/паритета/области обучения и npm audit; README отмечает, что спроектированный путь продвижения не всегда запускался и что production иногда обновлялся путём присвоения псевдонима сборке предварительного просмотра.
Безопасность и ограничения, заявленные проектом: не сертифицирован для реальной авиации, общественной безопасности, диспетчеризации, регуляторных или аварийных операций; регуляторные, Remote ID и поверхности воздушного пространства/трафика являются сценарными учебными слоями; тепловое моделирование не создаёт реальных радиометрических изображений; хранилище воспроизведения ограничено и не является регистратором полётных данных; локальное шифрование не защищает от разблокированного устройства, скомпрометированного браузера, вредоносного расширения, захвата экрана, кейлоггера или экспортированного открытого текста; классное использование требует одобренной частной сети, управляемой установки CA, политики хранения, ответственного администратора и контролируемого списка; тесты репозитория не подразумевают независимого тестирования на проникновение, сертификации доступности или юридической проверки; тайлы карты обычно поступают от третьей стороны и могут раскрывать обычные метаданные запросов.
Локальная разработка требует Node.js 24.x и npm 11.12.1, с npm ci и npm run dev. Лицензирование — проприетарное с доступным исходным кодом, не открытое.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.