feat(runtime): run resource schedules during world steps
Docs Deploy / Build and Deploy MkDocs (push) Successful in 34s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 34s
This commit is contained in:
5 files changed
+245
-49
No files matched your search
@@ -408,9 +408,11 @@ bundle, но остальные потребители исходного гло
|
||||
В Rust также нет значения аргумента в `AI+0x3fc`, recursion guard `AI+0x78`
|
||||
или одноразового latch `AI+0x8a8`. Поэтому это связанный начальный поднабор, а
|
||||
не полная активация SuperAI. После полной загрузки узкая Rust-реализация
|
||||
вызывается явно через `advance_loaded_mission_resources(engine, queue_time_ms)`;
|
||||
runtime не читает системную очередь, а приложение пока не вызывает API из
|
||||
игрового цикла. Шаг использует разрешённые handles и представленные snapshots
|
||||
вызывается из `step_headless(engine, input, queue_time_ms)` и
|
||||
`frame(engine, queue_time_ms)`. Отдельный
|
||||
`advance_loaded_mission_resources(engine, queue_time_ms)` остаётся доступен
|
||||
для прямого ресурсного шага. Runtime не читает системную очередь, а оконное
|
||||
приложение пока использует static preview. Шаг использует разрешённые handles и представленные snapshots
|
||||
профилей и Control, поэтому не воспроизводит отсутствующие в них callbacks. При
|
||||
ошибке ограниченного `Init` Rust отклоняет полную загрузку и сохраняет прежний
|
||||
мир и состояние генератора; такая политика отката принадлежит Rust loader-у.
|
||||
@@ -479,8 +481,14 @@ selector `1` на интерфейсе получателя становится
|
||||
только для полного режима; preview остаётся статическим. Явный API
|
||||
`advance_loaded_mission_resources` использует очередь времени, расписание,
|
||||
профили и представленные Control-таблицы, чтобы исполнить этот ограниченный
|
||||
шаг над загруженным состоянием. `step_headless` по-прежнему шагает только
|
||||
`World`.
|
||||
шаг над загруженным состоянием. `step_headless` и `frame` требуют явный
|
||||
`u32` clock и используют ту же подготовку: ресурсные изменения, расписания и
|
||||
RNG остаются временными до успешного `World::step`. Ошибка ресурсов не
|
||||
продвигает мир; ошибка мировой очереди не публикует ресурсные изменения.
|
||||
Игнорируемый тест `headless_step_runs_resource_schedule_and_rolls_back_both_error_paths`
|
||||
на AutoDemo проверяет равенство срока, исполнение следующего шага и обе ветви
|
||||
отказа, включая отсутствие Control-таблицы у позднего клана и устаревший handle
|
||||
в очереди. Это не запускает отдельный clock Control или полную миссионную VM.
|
||||
|
||||
### Добавление и нормализация долей
|
||||
|
||||
|
||||
Reference in new issue
Block a user