The stage contract and profiles are in 4b013fb. This commit adds the measured balance (the #120 grid on identical seeds and the 12-seed raid), the replay/export video with four stills, and updates the user and handoff documentation. The visual files are provided for human review; the agent that captured them has no image input and checked only the encoded parameters, shot boundaries and the first large plume. Co-Authored-By: Kimi Code <noreply@kimi.com>
18 KiB
Раздельная батарея и холодный пуск
Из исследования в игру
Вместо «всё на одной машине» добавлена конфигурация с отдельными пусковыми и общими РЛС. Высокоуровневое разделение обзорной и огневой РЛС соответствует публичным описаниям системы; это не полная модель конкретной штатной батареи.
| Публично описываемый элемент С-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» разделяет обзорный 91N6 и огневой 92N6; статья об С-400 в официальном Memorial de Artillería 174/2, Ministerio de Defensa перечисляет КП, радары, пусковые и дополнительные средства. Это публичные обзоры, не эксплуатационная документация изготовителя. У чисел времени, дальности и качества в моде собственная игровая шкала; из этих публикаций они не калибровались.
Для наглядности холодного старта найден официальный выпуск «С-400. Секрет ракеты», «Военная приёмка» с участием завода «Авангард». Доступная страница выпуска не содержит стенограммы; форма шарнира крышки и длительность игровых стадий не объявляются воспроизведением механизма прототипа. Для С-500 применяется стилизация существующего игрового профиля, без утверждения о механике всех реальных ракет.
Как собрать
Через N → «Разместить элементы батареи…» можно расставить элементы в разных местах. Командные эквиваленты:
/airdef deploy radar_search
/airdef deploy radar_track
/airdef deploy s400_launcher
/airdef deploy s500_launcher
/airdef deploy radar_height
/airdef battery
Нумерацию существующей техники показывает /airdef battery. Чтобы переоборудовать её:
/airdef battery <номер С-400 или С-500> launcher
/airdef radar <номер РЛС> search
/airdef radar <номер другой РЛС> engagement
Можно оставить одну многофункциональную РЛС (multi) и несколько пусковых.
Поисковая/мачтовая РЛС даёт подсказку, но не разрешает огонь сама. РЛС сопровождения принимает
подсказку и должна сама измерить цель в своей игровой досягаемости и с учётом рельефа.
Чужой трек не превращается в собственное измерение. После этого связанные пусковые используют
общую картину и существующее распределение целей. Если РЛС сопровождения уничтожена, свёрнута,
потеряла связь или её измерение устарело, новые пуски прекращаются. Уже вылетевшие ракеты
продолжают штатную игровую логику связи/памяти/самонаведения.
Старые миры и обычные /airdef deploy s400 / s500 сохраняют сборную конфигурацию integrated.
Режимы, роли, боезапас и использованные контейнеры сохраняются с миром и сценариями.
У прежнего игрового С-500 был магазин на четыре ракеты при двух нарисованных ТПК;
теперь он согласован с двумя физическими ячейками. При загрузке старой расстановки
его загруженный остаток ограничивается новой вместимостью, как при обычном восстановлении боезапаса.
Что видно при пуске
- Подготовка резервирует конкретную ячейку. Отдельная крышка ТПК открывается; ракета ещё не расходуется.
- При потере цели или неисправности/сворачивании носителя до выброса подготовка отменяется.
- Ракета выбрасывается из фактического muzzle. Боекомплект уменьшается один раз; использованный ТПК остаётся открытым.
- Выброс идёт без двигателя: ракета поднимается и линейно теряет скорость под газовым сопротивлением.
Длительность считается от выброса, а не от открытия крышки: у С-400 (
M48n6) 20 тиков — 1,00 с, у С-500 (M77n6) 24 тика — 1,20 с, у IRIS-T и Тора (IrisT/M9m338) 8 тиков — 0,40 с. В этой фазе нет факела, непрерывного звука двигателя, моторного света и powered smoke; остаётся только отдельный газовый хлопок/клуб. - Зажигание — отдельное событие в текущей точке ракеты, а не у оставленной ПУ: там же появляются
вспышка, факел, звук и запись
MotorIgnition. Оно наступает послеcoldтиков выброса. - После зажигания начинается departure: тяга плавно нарастает от 45% к 100%, а допустимый темп
поворота — от 20% к полному за
boostтиков. Полное наведение (включая самонаведение и облёт рельефа) включается только приage >= cold + boost; при увеличенииcoldоно не может включиться раньше мотора. Максимальная скорость,pk,turnи правила столкновений не менялись.
Это действует для зенитных С-400/С-500 и подготовленного ударного RM48U у С-400.
У ручного удара носитель и ячейка резервируются до пуска; изменение состояния отменяет подготовку
без расхода. RM48U использует ту же 20-тиковую хореографию: неосвещённый выброс, зажигание в текущей
точке, затем разгон; насчитанное время полёта включает выброс, а записанный дым начинается у точки
зажигания. Задержанный ручной приказ не возобновляется после загрузки мира: незапущенный боеприпас
остаётся в носителе. Ракеты с рельсовым (горячим) пуском тоже получили плавное нарастание тяги за
свой boost, но не холодный выброс; электрический P1-SUN сохраняет постоянный разгон и не получает
ракетную струю.
В записи сохраняются конфигурация машины, использованные ячейки и положение крышки; повтор восстанавливает их по своей временной шкале. Записанный дым начинается у точки зажигания, а не рисуется задним числом от горловины контейнера.
Ограничения
Роли РЛС и мачта пока используют общую модель машины, с разным поведением/отображением антенны. Отдельные точные модели 91Н6/92Н6/96Л6, машина КП, ручная принадлежность к батарее, отдельные каналы сопровождения и кабельное снабжение пока не добавлены. Подробные режимы и параметры реальных комплексов не моделируются. В следующей серии добавлены конечная работа двигателя/coast (#120), доставка RM48U через ТЗМ (#118), переключение излучения (#121) и укрытия от непрямого blast (#119). Текущий объём и ограничения описаны в техническом журнале.
Проверка в игре и тестами
Историческая контрольная точка батареи и команд — 966b52f: 169 тестов ядра и 4 сценария
(7 ignored), 53 теста адаптера, проверка границы с ядром и ещё 4 сценария; настоящий WASM-пакет
прошёл 21 шаг wasm_contract.toml, генератор моделей не нашёл различий.
Контрольная точка #129 — 4b013fb7f30dbaa87a266b27a31911937fc523b4 (ветка
agent/issue-129-cold-launch): core release 206 + 8 сценариев (8 ignored), адаптер
67 + 1 boundary + 5 сценариев, настоящий WASM 30 шагов, gen_catalog.py --check без
расхождений, gen_models.py --check без различий, test_gen_assets.py — 10 тестов.
Отдельные тесты проверяют открытие до расхода, отмену при повреждении, однократное списание при
выбросе, отсутствие голоса/факела до зажигания, записанное зажигание через cold тиков после
выброса, плавные ограничения скорости и поворота для всех профилей, а также RM48U без powered
эффектов до зажигания. Тест повтора проверяет перемотку состояния крышек и конфигурации ПУ туда и
обратно и отсутствие дыма до записанного зажигания.
Сравнительная выборка #129 (те же seed, что у сетки #120; 6 вариантов × 8 seed, 2208 целей на
сторону): сбито 1988 → 1939, прорывов 216 → 258, ракет 3461 → 3467; energy_lost 0 → 0,
expired 1 → 0, сорванных о рельеф 2 → 4. Близкие (near200) 318 → 311 сбитых, дальние
(far1500) 338 → 334, холмы (hills20) 334 → 319. Отдельные 12 seed SAMS=20 SIZE=12:
203 → 201 сбитых, 1 → 3 прорыва, 355 → 360 ракет. Это ожидаемое следствие более длинного старта,
а не скрытая компенсация: pk, максимальные скорости и столкновения не менялись. Данные:
сетка, рейды.
Ниже — исходные кадры крышек из изолированного тестового мира Horizon, Metal, 2560×1440.
На первом четыре малые крышки ТПК закрыты; на втором одна поднята, остальные закрыты.
Большая прямоугольная панель позади труб — навесная РЛС конфигурации integrated.
Для этих кадров использовалась промежуточная сборка SHA-256
3fae616902563b01e6463a32687c062d5983c4e94bd357f8f8129744d859f4d7;
геометрия крышек и их преобразования совпадают с опубликованной версией.
Сохранение после пуска содержит 3 оставшиеся ракеты С-400 и маску использованной ячейки 1.
Съёмка стадий #129
Изолированный scratch-мир ColdLaunch129 (плоский тестовый рельеф, --creative), Metal,
HORIZON_NO_AUDIO=1, мод и клиент из коммита 4b013fb…. Один перехват Х-22
записан и экспортирован режиссёром: /airdef replay export cold129d best fps=30 size=1280x720.
Файл cold-launch-129.mp4 — h264 1280×720, 30 fps,
403 кадра, 13,43 с, AAC 48 кГц stereo (mean −15,7 dB, max −1,1 dB; звук сведён офлайн,
живое прослушивание не выполнялось). Это повтор/экспорт одной записи, а не отдельная
live-съёмка: живые кадры того же пуска в MP4 не попали.
Планы фильма (по сменам кадра и OCR титров, 30 fps): общий план ПУ — кадры 1–93; «Пуск» —
94–152; «Сближение» — 153–218; «Поражение цели» — 219–403. В плане «Пуск» камера стоит в
46 блоках сбоку и следит за ракетой. Выброс начинается на кадре 94; крупная факельная область
появляется на кадре 128, то есть через 34 кадра ≈ 1,13 с от начала выброса — в пределах
нескольких кадров от правила cold=20 тиков = 1,00 с (титр/склейка и порог цвета добавляют
задержку). До этого кадра крупного факела нет. Разгон и поворот видны в кадрах 128–152
(≈0,8 с powered departure).
Кадры из того же MP4 (общий план, 0,5 с выброса без факела, 1,1 с — факел, 1,7 с — разгон):
Ограничение приёмки. Агент, выполнивший прогон, не имеет ввода изображений и не может сам
оценить композицию, читаемость и красоту кадров; он проверил только факт съёмки, разрешение,
частоту, длительность, звуковую дорожку, границы планов и появление крупной факельной области.
Кадры и MP4 приложены для человеческого просмотра. Отдельный очень крупный статичный план
выброса у самой ПУ и live-видео в этом прогоне не сняты; --offscreen не даёт окна для
сторонней записи экрана. Это не полная визуальная приёмка #129.





