aboutsummaryrefslogtreecommitdiff
path: root/docs/appendices/knowledge-boundaries.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/appendices/knowledge-boundaries.md')
-rw-r--r--docs/appendices/knowledge-boundaries.md25
1 files changed, 18 insertions, 7 deletions
diff --git a/docs/appendices/knowledge-boundaries.md b/docs/appendices/knowledge-boundaries.md
index 3744d84..b9bbf27 100644
--- a/docs/appendices/knowledge-boundaries.md
+++ b/docs/appendices/knowledge-boundaries.md
@@ -325,17 +325,28 @@ sidecar недоступен, запрос `0xe00` сообщает это отÐ
Rust query обращается к загруженному объекту и поддерживает `0xe00` только для
текущего descriptor tag `26` с factory tag `26`; другие активные typed tags и
-factory paths остаются явными границами. Snapshot показывает состояние сразу
-после native-конструкторов, но он не обновляется при Control tick-е. Native
-`FUN_10010f30` (RVA `0x10f30`) изменяет и ограничивает provider amount, а
-связанные callbacks переносят его между строками; их общий переход в Rust ещё
-не реализован. Поэтому вызов нельзя считать живым ресурсным симулятором.
+factory paths остаются явными границами. Этот запрос возвращает начальный
+снимок provider amount: Native `FUN_10010f30` (RVA `0x10f30`) изменяет и
+ограничивает количество, а связанные callbacks переносят его между строками;
+этот переход в Rust ещё не реализован.
+
+Отдельный API `advance_loaded_mission_resources` принимает явное время очереди
+и обновляет представленные поля `CurrentOre`, строк распределителя и Control
+selector `1`. Его граница — статические снимки профиля и provider-значений:
+динамическое распространение Control amount, смена профилей, special
+object-state gate и жизненный цикл созданных/удалённых объектов здесь не
+моделируются. Если обязательный запрос позднего объекта не поддержан,
+транзакция возвращает ошибку и не применяет подготовленные изменения. API не
+подключён к игровому циклу; AutoDemo-тест подтверждает связь настоящих профилей
+с этим шагом, но не полный паритет миссии. Отдельный aggregate getter Behavior
+RVA `0xa490` в oracle не исполнен.
+
Behavior selectors `0x1002` и `0x1005` используют значения выбранного
профиля из `behpsp.res`, разобранного до создания нового мира. `0x1002` складывает
только текущие descriptor tag `26` запросы `0xe00`, затем применяет
`Transfer_Ore_OffBoard`; `0x1005` возвращает `Transfer_Power_Out`. Это начальный
-снимок: он не отражает последующие изменения provider-строк, Control tick-а или
-профиля. Полная загрузка сохраняет результат у `ObjectHandle` и возвращает
+снимок профиля и provider-строк. Полная загрузка сохраняет результат у
+`ObjectHandle` и возвращает
ошибку, если известный код класса не имеет корректной записи; класс,
отсутствующий в таблице выбора, сохраняет начальные значения конструктора.
Preview и объекты без полного Unit DAT не получают профильное состояние.