e70d7a667b
build / mod (push) Failing after 18s
Record actual save field positions, motor phases, finite typed delivery, last-known radar contacts and blast-cover policy. Include per-seed baseline measurements and distinguish native/WASM checks from pending GUI acceptance. Co-authored-by: Codex <codex@openai.com>
119 lines
12 KiB
Markdown
119 lines
12 KiB
Markdown
# Раздельная батарея и холодный пуск
|
||
|
||
## Из исследования в игру
|
||
|
||
Вместо «всё на одной машине» добавлена конфигурация с отдельными пусковыми и общими РЛС.
|
||
Высокоуровневое разделение обзорной и огневой РЛС соответствует публичным описаниям системы;
|
||
это не полная модель конкретной штатной батареи.
|
||
|
||
| Публично описываемый элемент С-400 | Его смысл | Игровая адаптация |
|
||
|---|---|---|
|
||
| 91Н6: обзор/обнаружение | Общая воздушная картина | `radar_search`: больший игровой обзор, передача наблюдений |
|
||
| 92Н6: сопровождение/управление огнём | Отдельный радар огневого комплекса | `radar_track`: более частые собственные измерения, поддержка нескольких ПУ |
|
||
| Дополнительная 96Л6 и антенные мачты | Дополнительные средства обнаружения | `radar_height`: условная мачтовая роль, улучшенный игровой радиогоризонт; это не копия 96Л6 |
|
||
| Командный пункт 55К6 | Управление и обмен данными | Пока абстрагирован существующей сетью и распределением целей, отдельной машины КП нет |
|
||
| Пусковая с ТПК | Боекомплект и физический пуск | `s400_launcher` / `s500_launcher`, без навесной РЛС |
|
||
|
||
Источники для архитектуры: оригинальная техническая публикация
|
||
[Bundesheer, «Radars für Raketenabwehr»](https://www.bmlv.gv.at/pdf_pool/publikationen/7_rosmann.pdf)
|
||
разделяет обзорный 91N6 и огневой 92N6; статья об С-400 в официальном
|
||
[Memorial de Artillería 174/2, Ministerio de Defensa](https://publicaciones.defensa.gob.es/media/downloadable/files/links/m/e/memorial_artilleria_174-2.pdf)
|
||
перечисляет КП, радары, пусковые и дополнительные средства. Это публичные обзоры,
|
||
не эксплуатационная документация изготовителя. У чисел времени, дальности и качества в моде
|
||
собственная игровая шкала; из этих публикаций они не калибровались.
|
||
|
||
Для наглядности холодного старта найден официальный выпуск
|
||
[«С-400. Секрет ракеты», «Военная приёмка»](https://rutube.ru/video/37a2ef7d5e83ffa9ec4ba222bfd8ce5f/)
|
||
с участием завода «Авангард». Доступная страница выпуска не содержит стенограммы;
|
||
форма шарнира крышки и длительность игровых стадий не объявляются воспроизведением механизма прототипа.
|
||
Для С-500 применяется стилизация существующего игрового профиля, без утверждения о механике всех реальных ракет.
|
||
|
||
## Как собрать
|
||
|
||
Через N → «Разместить элементы батареи…» можно расставить элементы в разных местах.
|
||
Командные эквиваленты:
|
||
|
||
```text
|
||
/airdef deploy radar_search
|
||
/airdef deploy radar_track
|
||
/airdef deploy s400_launcher
|
||
/airdef deploy s500_launcher
|
||
/airdef deploy radar_height
|
||
/airdef battery
|
||
```
|
||
|
||
Нумерацию существующей техники показывает `/airdef battery`. Чтобы переоборудовать её:
|
||
|
||
```text
|
||
/airdef battery <номер С-400 или С-500> launcher
|
||
/airdef radar <номер РЛС> search
|
||
/airdef radar <номер другой РЛС> engagement
|
||
```
|
||
|
||
Можно оставить одну многофункциональную РЛС (`multi`) и несколько пусковых.
|
||
Поисковая/мачтовая РЛС даёт подсказку, но не разрешает огонь сама. РЛС сопровождения принимает
|
||
подсказку и должна **сама измерить** цель в своей игровой досягаемости и с учётом рельефа.
|
||
Чужой трек не превращается в собственное измерение. После этого связанные пусковые используют
|
||
общую картину и существующее распределение целей. Если РЛС сопровождения уничтожена, свёрнута,
|
||
потеряла связь или её измерение устарело, новые пуски прекращаются. Уже вылетевшие ракеты
|
||
продолжают штатную игровую логику связи/памяти/самонаведения.
|
||
|
||
Старые миры и обычные `/airdef deploy s400` / `s500` сохраняют сборную конфигурацию `integrated`.
|
||
Режимы, роли, боезапас и использованные контейнеры сохраняются с миром и сценариями.
|
||
У прежнего игрового С-500 был магазин на четыре ракеты при двух нарисованных ТПК;
|
||
теперь он согласован с двумя физическими ячейками. При загрузке старой расстановки
|
||
его загруженный остаток ограничивается новой вместимостью, как при обычном восстановлении боезапаса.
|
||
|
||
## Что видно при пуске
|
||
|
||
1. Подготовка резервирует конкретную ячейку. Отдельная крышка ТПК открывается; ракета ещё не расходуется.
|
||
2. При потере цели или неисправности/сворачивании носителя до выброса подготовка отменяется.
|
||
3. Ракета выбрасывается из фактического muzzle. Боекомплект уменьшается один раз; использованный ТПК остаётся открытым.
|
||
4. В фазе выброса отсутствуют факел, непрерывный звук двигателя и его дымовой след.
|
||
5. После зажигания включаются эффекты, ракета разгоняется и начинает поворот по существующей игровой логике.
|
||
|
||
Это действует для зенитных С-400/С-500 и подготовленного ударного RM48U у С-400.
|
||
У ручного удара носитель и ячейка резервируются до пуска; изменение состояния отменяет подготовку
|
||
без расхода. Для RM48U добавлен плавный разгон после выброса. Задержанный ручной приказ
|
||
не возобновляется после загрузки мира: незапущенный боеприпас остаётся в носителе.
|
||
|
||
В записи сохраняются конфигурация машины, использованные ячейки и положение крышки;
|
||
повтор восстанавливает их по своей временной шкале. Записанный дым начинается у точки зажигания,
|
||
а не рисуется задним числом от горловины контейнера.
|
||
|
||
## Ограничения
|
||
|
||
Роли РЛС и мачта пока используют общую модель машины, с разным поведением/отображением антенны.
|
||
Отдельные точные модели 91Н6/92Н6/96Л6, машина КП, ручная принадлежность к батарее, отдельные
|
||
каналы сопровождения и кабельное снабжение пока не добавлены. Подробные режимы и параметры реальных
|
||
комплексов не моделируются. В следующей серии добавлены конечная работа двигателя/coast (#120),
|
||
доставка RM48U через ТЗМ (#118), переключение излучения (#121) и укрытия от непрямого blast (#119).
|
||
Текущий объём и ограничения описаны в [техническом журнале](CODEX-HANDOFF.md).
|
||
|
||
## Проверка в игре и тестами
|
||
|
||
Исходный код батареи и команды опубликованы в `966b52f`. Для этой контрольной точки прошли
|
||
169 тестов ядра и 4 сценария (7 отдельных тестов помечены ignored), а также 53 теста адаптера,
|
||
проверка границы с ядром и ещё 4 сценария. Настоящий собранный WASM-пакет прошёл 21 шаг
|
||
`wasm_contract.toml`, включая конфигурацию батареи и развёртывание новых пресетов.
|
||
Генератор моделей не обнаружил различий с исходниками.
|
||
|
||
Отдельный тест симуляции проверяет открытие до расхода, отмену при повреждении,
|
||
однократное списание при выбросе, отсутствие голоса двигателя до зажигания и последующий рост скорости.
|
||
Тест повтора проверяет перемотку состояния крышек и конфигурации пусковой туда и обратно.
|
||
|
||
Ниже — исходные кадры из изолированного тестового мира Horizon, Metal, 2560×1440.
|
||
На первом четыре малые крышки ТПК закрыты; на втором одна поднята, остальные закрыты.
|
||
Большая прямоугольная панель позади труб — навесная РЛС конфигурации `integrated`.
|
||
|
||

|
||
|
||

|
||
|
||
Для этих кадров использовалась промежуточная сборка SHA-256
|
||
`3fae616902563b01e6463a32687c062d5983c4e94bd357f8f8129744d859f4d7`;
|
||
геометрия крышек и их преобразования совпадают с опубликованной версией.
|
||
Сохранение после пуска содержит 3 оставшиеся ракеты С-400 и маску использованной ячейки `1`.
|
||
Эти кадры подтверждают положение крышек, но не являются видеопроверкой всех стадий полёта:
|
||
сам выброс и момент зажигания крупным планом снять не удалось.
|