[bug] Киноповтор очищает модели ПВО и снимает представление комплекса на пустом месте #76

Closed
opened 2026-10-30 09:55:37 +00:00 by chexit · 1 comment
Owner

🤖 Filed by Codex, AI-агент Владимира (chexit).

Ревью 76f680eba64b64eb28435e71ce9f22a84b0e5da1 (после 6f3fc64). Регрессия изоляции replay scene в #56/#58: камера снимает ПУ, но сама ПУ больше не присутствует в выводе мода.

lib.rs::tick перед любым filming replay очищает out.models (вместе с живыми SAM/объектами). Далее Player::tick/tick_film вызывает Sim::draw_ghosts. В sim/record.rs::draw_ghosts есть только треки Drone/Missile, огонь и fallback-взрывы — нет восстановления комплексов из rec.sams.

При этом film.rs::plan_event специально строит первый план вокруг позиции ПУ из rec.sam(sam) и подписывает её названием. send_models передаёт полный новый список; старый live chassis в рендере не сохраняется как часть сцены.

Выполненный нативный пример

Запись с С-400 и перехватчиком, t=102 (ракета существует). Реальный draw_ghosts:

recorded SAMs=1 replay launcher hulls=0 body=airdef:s400_chassis

Даже до обсуждения точности анимации доворота/пуска hull не выводится вообще. Это проверка генерации моделей, без GPU-скриншота.

Нужно

Восстанавливать технику/защищаемые объекты из recording snapshot и записанных изменений, под отдельными ghost ids. Записать необходимые heading/pose/state, движение, повреждения и момент разрушения; не подмешивать текущее live состояние. Прожекторы и их положение/направление в повторе также сейчас явно не выводятся — предусмотреть их в этой записанной сцене.

Приёмка

Первый кадр действительно показывает названный комплекс; затем видны его подготовка/пуск, а не ракета из пустоты. Перемещённая/удалённая после боя live ПУ не меняет запись. Проверить Full/clip/Film/export, живую и уничтоженную технику, очистку после stop.

🤖 Filed by Codex, AI-агент Владимира (chexit). Ревью `76f680eba64b64eb28435e71ce9f22a84b0e5da1` (после `6f3fc64`). Регрессия изоляции replay scene в #56/#58: камера снимает ПУ, но сама ПУ больше не присутствует в выводе мода. `lib.rs::tick` перед любым filming replay очищает `out.models` (вместе с живыми SAM/объектами). Далее `Player::tick/tick_film` вызывает `Sim::draw_ghosts`. В `sim/record.rs::draw_ghosts` есть только треки Drone/Missile, огонь и fallback-взрывы — **нет восстановления комплексов из `rec.sams`**. При этом `film.rs::plan_event` специально строит первый план вокруг позиции ПУ из `rec.sam(sam)` и подписывает её названием. `send_models` передаёт полный новый список; старый live chassis в рендере не сохраняется как часть сцены. ### Выполненный нативный пример Запись с С-400 и перехватчиком, t=102 (ракета существует). Реальный `draw_ghosts`: ```text recorded SAMs=1 replay launcher hulls=0 body=airdef:s400_chassis ``` Даже до обсуждения точности анимации доворота/пуска hull не выводится вообще. Это проверка генерации моделей, без GPU-скриншота. ### Нужно Восстанавливать технику/защищаемые объекты из recording snapshot и записанных изменений, под отдельными ghost ids. Записать необходимые heading/pose/state, движение, повреждения и момент разрушения; не подмешивать текущее live состояние. Прожекторы и их положение/направление в повторе также сейчас явно не выводятся — предусмотреть их в этой записанной сцене. ### Приёмка Первый кадр действительно показывает названный комплекс; затем видны его подготовка/пуск, а не ракета из пустоты. Перемещённая/удалённая после боя live ПУ не меняет запись. Проверить Full/clip/Film/export, живую и уничтоженную технику, очистку после stop.
chexit added the area:renderingpriority:P2type:bugarea:simulation labels 2026-10-30 09:55:37 +00:00
Author
Owner

🤖 Agent: Сделано в 0f5c4136f3 (запушено в main). Комплексы, объекты и лучи прожекторов берутся из записи. Не записывается здоровье и разрушение отдельных объектов. Лучи прожекторов в игре не смотрели.

🤖 Agent: Сделано в https://gitea.maoniao.team/chexit/airdef/commit/0f5c4136f3bbd2ae3ca06e0b4985f86882a76eb0 (запушено в main). Комплексы, объекты и лучи прожекторов берутся из записи. Не записывается здоровье и разрушение отдельных объектов. Лучи прожекторов в игре не смотрели.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chexit/airdef#76