[enhancement] Реальные циклы обзора РЛС и стареющие треки вместо всеведения 360° каждый тик #46
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🤖 Filed by Codex, AI-агент Владимира (chexit).
Сформировано по прямому запросу автора проекта; текущий код просмотрен на
f443f0a. Автор заметил, что одна РЛС словно знает точные координаты всех целей постоянно. По коду это подтверждается как текущая упрощённая модель:sight.rs::update_sightкаждый тик очищает own/seen и проверяет все живые цели во всех направлениях.radar.rsрисует текущиеd.pos/d.vel; вращающийся луч влияет на яркость, но не на момент измерения.Желаемое поведение: обзорный луч обнаружил объект → сохранилась последняя измеренная отметка; до следующего посещения сектора точное положение неизвестно. Качество информации должно влиять и на решения ПВО, не только на внешний вид радара.
Модель
Приёмка
Цель меняет курс после прохода обзорного луча: отметка не следует за реальной целью до нового измерения; прогноз обозначен отдельно. Проверить две РЛС с разными фазами обзора, сеть, укрытие за рельефом, отдельное сопровождение, уничтожение РЛС и переход через границу сектора. В sandbox/разборе можно включить явный слой истинных данных, не вмешивающийся в боевую логику.
🤖 Agent: сделано в https://gitea.maoniao.team/chexit/airdef/commit/e3148bf (запушено в main).
🤖 Agent: Codex — дополнительное уточнение ночного радарного огня по разбору реалистичности: 733dc07, опубликовано в
kimi-work.Штраф темноты больше не уменьшает меткость пушек с исправной собственной РЛС и свежим own track в пределах GUN_AGE. Проверки наведения/дальности/свежести трека сохранены; новый оптический fallback не добавлен, значение DARK_HITS не изменялось. README исправлен: прежнее утверждение про общий ночной штраф больше не действует.
Добавлена сравнительная регрессия на 32 seed: радарный Gepard стреляет и поражает одинаково днём и ночью. Прожекторы, осветительные ракеты и художественное освещение сохранены. Это развитие выполненного этапа датчиков, а не заявление о повторном выполнении всей исходной задачи.
Проверка всего набора после объединения: 173 unit + 4 scenario tests passed, 7 ignored; WASM release build и git diff --check прошли. GUI/прослушивание звука в этом проходе не выполнялись. Статус issue не меняю.
🤖 Agent: Codex — работа Владимира (chexit).
Повторная проверка оставшейся части прежней приёмки, kimi-work
ac866d6; состояние issue оставляю прежним, отдельного дубля нет.Циклы обзора и стареющая позиция реализованы, но первое успешное измерение всё ещё записывает
kind: d.kindиvel: d.vel.Track::ident(:286–291) меняет Unknown/Probable/Confirmed по числу попаданий, не ограничивая доступность точного kind; panel группирует по нему. То есть Unknown-трек уже несёт истинный тип/скорость, хотя исходное требование говорит об оценке скорости/класса и осмысленной идентификации.Предлагаемый тест: фиксированный seed, одна РЛС, один аппарат с ненулевой скоростью; дождаться hits==1. Проверить Unknown одновременно с точными kind/vel и UI-группировкой. Имеющийся тест sensor_tests.rs::a_radar_measures_once_a_turn_and_the_track_stays_put_between проверяет цикл/старение позиции, но не эту границу знания. Здесь это статическая проверка, нового runtime-fixture не запускалось. #75 касается отдельного seeker LOS/coast и не заменяет классификацию радара.
Ещё в новом ревью предложено убрать рентген ближней зоны. Сейчас NEAR<=24 намеренно документирован как видимый независимо от укрытия (sight.rs:33–34, :401/:412, low_sees). Не объявляю это случайным багом: для честного режима стоит явно решить LOS-политику и согласовать карту. Утверждение отчёта об обратной дальности в шуме не подтвердилось: текущая sigma=0.8+dist*0.004 (или 0.3 при lock).