Implement short-lived stellar event handling and optimize batch processing; add tests for new functionality

This commit is contained in:
Kirill
2026-09-22 22:50:54 +03:00
parent a3d24114a1
commit d6fd40969f
11 changed files with 238 additions and 41 deletions
+8
View File
@@ -1,5 +1,13 @@
# Проверки поэтапного переноса из Owniverse.U
## Прямой расчёт завершившихся сверхновых
```sh
godot --headless --path Owniverse.GI --script res://tests/test_short_lived_events.gd
```
Сравниваются ускоренный путь и прежний путь с созданием всех партий, отключаемый только в тестовой фикстуре. Проверяются LRG, HRG, RSG и RHG на границах коротких и длинных интервалов, существующие SN, нехватка энергии, ресурсы, бласты, привязки, остатки округления и живые партии. Дополнительно проверяется, что длинный интервал создаёт не более двух живых окон и одну запись завершений, сохраняя общее количество. Сохранение игрока этот тест не использует.
`test_stellar_rules.gd` также проверяет автоматическое создание HBD: долю 0,1% нового автоматического водорода, появление по одному со случайным округлением, сохранение оплаченного остатка топлива, отсутствие повторного начисления на старый запас, продолжение случайной последовательности после сериализации и переход HBD → CBD с сохранением счётчика BD. Формулы описаны в `../simulation_rules.md`.
## Фоновое сохранение и частота обновления интерфейса