Keep the corrected historical coverage claim, archive the real flat-world WASM run, explain trap diagnostics and the small HD trail density change. Co-authored-by: Codex <codex@openai.com>
5.0 KiB
Два крупных налёта: проверка стабильности
Пользовательский отчёт: AirDef часто перестаёт работать при двух больших налётах, резкого обвала FPS перед этим не замечено. RTX 3060 + Ryzen 5600X — около 50 FPS во время налёта. Точный build, профиль эффектов и отличие отключения мода от падения всего процесса пока не подтверждены. Задача: #122.
Причина вылета не установлена; исправление причины и прирост FPS не заявлены.
Найденные пробелы старых тестов
В первом wasm_budget.toml два приказа отправлялись без тика между ними. order_raid отклоняет
второй во время подготовки первого; ответ не проверялся. Кроме того, TestGame не отвечал на
render ground/sections/rays: пуски могли ждать неизвестную землю вместо полноценного полёта.
69 успешных шагов не подтверждали 160 одновременно летящих целей. Старый отчёт сохранён с поправкой.
Что проверено теперь
- Native: точный состав двух меню-пресетов «Массированный удар», 61 комплекс, плоский мир с ответами геометрии и встроенной записью. Оба приказа приняты, все 72 цели запущены, перекрытие проверено по числу одновременно живых целей.
- Native: два приказа 40+40 «Орешников» с разделением, многими суббоеприпасами и окончанием записи.
- Actual WASM: 64 комплекса, два принятых приказа 40+40 «Орешников», плоскость y=64 с ответами ground/sections/rays. В середине включаются shader hd и grid. 271 шаг прошёл; на тике 2102 проверено 184 цели в воздухе. Пик за весь прогон не измеряется.
- Кадры чередуются с тиками. 2052 вызова frame стенда не означают GPU-рендер: у AirDef нет собственной реализации frame hook, основная работа идёт в tick и событиях.
Отчёт clean 2932364, engine ed7615d36:
flat-wasm-raid-budget.json.
Memory 64 MiB и fuel init/tick/frame/event 2B/300M/10M/1B не увеличивались.
Отчёт фиксирует исходные лимиты, не измеренный расход fuel/peak memory.
python3 tools/airdef.py test-budgets
cargo test --release --manifest-path airdef-core/Cargo.toml --test scenarios overlapping_
Это проверка гостевого кода и контрактов с синтетическим host-миром. Она не воспроизводит RTX-драйвер, реальный рельеф/чанки, звук и стоимость HDR, shadow/light/smoke на GPU пользователя. Включение HD в fixture проверяет путь подготовки модовых данных, а не графическую производительность.
Диагностика следующего воспроизведения
В latest.log после остановки теперь записываются mod ID, callback, заданный и оставшийся fuel,
полная цепочка ошибки. Сообщение OutOfFuel больше не объявляет тяжёлую работу бесконечным циклом.
Проверка настоящим WASM /spin подтверждает, что при fuel trap останавливается только нарушивший мод.
Это не доказывает, что пользовательский случай имеет ту же причину.
Нужны build identity и строки Windows latest.log вокруг остановки, состав двух налётов,
HD/обычный профиль, открытые grid/monitor/replay и ответ: закрылась ли игра целиком.
До этих данных не подменять диагноз увеличением fuel, отключением записи или обрезанием целей.
Измерение FPS вести отдельно от поиска trap: стабильный FPS не исключает лимит WASM, а прошедший
WASM-тест не исключает ошибку GPU или native host.