diff options
Diffstat (limited to 'docs/appendices/knowledge-boundaries.md')
| -rw-r--r-- | docs/appendices/knowledge-boundaries.md | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/docs/appendices/knowledge-boundaries.md b/docs/appendices/knowledge-boundaries.md index 9e293ba..d4a620f 100644 --- a/docs/appendices/knowledge-boundaries.md +++ b/docs/appendices/knowledge-boundaries.md @@ -323,16 +323,39 @@ sequence определяется NDP: она не дополняется по Ñ sidecar недоступен, запрос `0xe00` сообщает это отдельно, оставляя независимые агрегатные selectors `1/2` доступными. +Поля `parent_index`, Control flags и начальный stage count для NDP-строк +проецируются из AniMesh по глобальному ordinal; точные правила, native ABI +векторы и лицензированная root/`EXTO` fixture описаны в +[техническом подразделе](script-vm.md#начальная-msh-часть-строки-provider). +Проверки подтверждают только начальный снимок: сборка runtime parent-ов +остаётся статическим выводом по RVA `AniMesh.dll+0xa460`, а последующие +изменения в полном Control/animation tick-е не проверялись. + +Для provider-строки Rust также хранит одно `initial_amount_bits`. Нативный +`Control.dll` `FUN_1000f940` (RVA `0xf940`) кладёт результат selector `3` в +текущее и обработанное значения строки; при подтверждённых единичных множителях +это raw `max_volume` NDP. Последующее обновление меняет оба native поля, поэтому +снимок не моделирует вместимость или изменяемый Control amount. + Rust query обращается к загруженному объекту и поддерживает `0xe00` только для текущего descriptor tag `26` с factory tag `26`; другие активные typed tags и factory paths остаются явными границами. Этот запрос возвращает начальный -снимок provider amount; дальнейшее изменение строк в Rust не реализовано. -Native oracle проверил изолированные пути распределения, обновления класса `4` -и начальную ветвь таймера. Активную clock-ветвь не запускали; внешний источник -времени и порядок вызовов остаются незакрытыми. Источник контактного коэффициента -прослежен статически, но не исполнен; синтетические provider-строки не имеют -родителей, а родительская логика и lifecycle истощения не проверены. Подробные -векторы и статические границы приведены в +type-1 provider value (`1.0`); дальнейшее изменение provider amount в Rust не +реализовано. +Native oracle проверил изолированные пути распределения, обновления класса `4`, +стадийную арифметику `0x11220`, обход дочерних provider-строк `0x11130` и +visibility transition `0x11920` с исходными AniMesh callbacks. Эти сценарии +используют синтетические NDP/Node38-строки; они подтверждают локальные переходы +и порядок вызовов, но не полную загрузку или выполнение Control на миссии. Вызовы +`0x11220` используют `updateEffects = false`, что исключает ветвь Control FX и +`0x11af0`; в отдельном сценарии класса `9` `0xfca0` возвращается сразу после +смены видимости, поэтому связанное с ним движение не проверено. Хотя у строки +Control выставлен flag `0x102`, слово флагов ANI `+0x14` и производные байты +`+0x111..+0x113` изначально равны нулю. Вызовы AniMesh `0x93c0` и `0xa2a0` обновляют производную геометрию и +видимость, это отдельная непроверенная граница, а не FX callbacks. Активную +clock-ветвь не запускали; внешний источник времени и порядок вызовов в игре +остаются незакрытыми. Источник контактного коэффициента прослежен статически, +но не исполнен. Подробные векторы и статические границы приведены в [техническом подразделе о provider-состоянии Control](script-vm.md#изменение-provider-состояния-control). Отдельный API `advance_loaded_mission_resources` принимает явное время очереди |
