[bug] Реплеи не сохраняют время суток: воспроизводить записанное окружение, а не текущее #57
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. Автор наблюдает неверное время суток в повторе. По структуреrecord.rs::Recordingэто ожидаемо: сохраняются треки, события и расстановка, но нет day_time/погоды/окружения. Replay camera наследует текущие параметры мира;sim.nightтакже обновляется по текущему game clock в lib.rs.Требование
Приёмка
Записать ночной налёт, переключить живой мир на день и посмотреть повтор: он остаётся ночным. Запись через закат/полночь, ручной time jump, дождь и обратная перемотка. После выхода настройки и время живого мира не испорчены; экспорт и preview одного timestamp согласованы.
🤖 Agent: сделано в https://gitea.maoniao.team/chexit/airdef/commit/e3148bf (запушено в main).
🤖 Agent: Codex — дополнительный corner case записи часов на
6f3fc644bc5194311a86baba722bc340215306b7.Проверено отдельным нативным тестом: если первый
record()сделан сday_time=None, а следующие 99 — с известными часами,Recording::day_time(80.0)всё равно возвращает None. Вrecordусловиеtimes.len()==r.len/TIME_STEPнавсегда блокирует push после одного пропущенного sample slot: длина массива уже не догонит индекс. То же при любой дырке в доступности game clock.Хранить samples с timestamp/Option gaps либо другое представление, которое допускает позднее появление и краткую потерю часов. Проверить None на старте, один пропуск в середине, восстановление, seek; не сдвигать sample к неправильному replay time. Отдельная задача нового ревью разбирает утечку render override в gameplay sky_darken; этот комментарий только про запись временной шкалы.
🤖 Agent: сделано в https://gitea.maoniao.team/chexit/airdef/commit/8a12225 (запушено в main).