feat(runtime): support class-9 and default Control budgets
Docs Deploy / Build and Deploy MkDocs (push) Successful in 35s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 35s
This commit is contained in:
5 files changed
+986
-67
No files matched your search
@@ -360,13 +360,16 @@ API `distribute_loaded_mission_control_provider_amount` переносит
|
||||
|
||||
Три API работают только с CPU-проекцией и не подключены к GPU/window path или
|
||||
игровому Control clock. Отдельный
|
||||
`advance_loaded_mission_control_budget` переносит `0x2d340` для factory
|
||||
callbacks `15/19` и current descriptor tags `15/19` (категории `0/1`); ставки сохраняются
|
||||
в текущих полях `+0x5dc/+0x5e0`. Он выполняется транзакционно, а неизвестный
|
||||
callback, provider или диапазон числа возвращает ошибку без частичного
|
||||
`advance_loaded_mission_control_budget` переносит `0x2d340` для фабричных
|
||||
callbacks `9`, `15`, `19` и общей default-пары; category lookup использует
|
||||
текущий descriptor tag из подтверждённого префикса `0..=34`. Ставки сохраняются
|
||||
в `+0x5dc/+0x5e0`. Шаг выполняется транзакционно, а неподдержанный
|
||||
специализированный callback, provider или диапазон числа возвращает ошибку без частичного
|
||||
изменения. Тест с нулевым знаменателем генератора подтверждает откат после уже
|
||||
выполненного изменения потребителем. Пустая таблица всё равно записывает в оба поля отрицательный ноль;
|
||||
неактивный callback не требует provider lookup. Gate `+0x618` изначально
|
||||
неактивный callback не требует provider lookup. Class-9 constructor начинает
|
||||
шесть значений `+0x98..+0xac` с `1.0` и шесть дельт `+0xb0..+0xc4` с нуля;
|
||||
`INTO` сохраняет эти runtime-массивы. Gate `+0x618` изначально
|
||||
выключен; событие `7` задаёт его по правилу `gate = (arg == 2)` и вызывает
|
||||
`0x2dc20`, только если gate изменился. События Control в Rust пока не
|
||||
исполняются, поэтому ресурсный шаг вызывается явно и не подключён к часам.
|
||||
@@ -418,13 +421,16 @@ rate, изменение provider и собственного множителя
|
||||
подтверждают текущие ставки `+0x5dc/+0x5e0`, включая значения `0.2`/`0.4` у
|
||||
потребителя tag 15, пустой результат `-0.0` и невырожденную пару исходных
|
||||
устройств tag 19/tag 15 при `dt = 0.375`; Rust-тест повторяет поля этой пары
|
||||
на синтетической таблице. Реализация принимает только описанные factory и
|
||||
category tags; остальные callbacks и состояния остаются явными ошибками.
|
||||
на синтетической таблице. Rust переносит class-9 rate/update и шестизначную
|
||||
adjustment `0x25a90`, общую default callback-пару `0x21860/0x21890`, а также
|
||||
category map только для current descriptor tags `0..=34`. Специализированные
|
||||
factory callbacks вне этого набора остаются явными ошибками.
|
||||
Лицензированный `min_l_n1.dat` содержит исходные factory/current tags
|
||||
`[19, 19, 9, 15, 12, 12, 13, 13, 26, 25, 21]`. Публичный API оставляет всю
|
||||
таблицу без изменений при не конечном интервале и при первом неподдержанном
|
||||
current tag `9`; полный бюджетный проход для этой реальной таблицы поэтому не
|
||||
проверен. Успешные бюджетные native-векторы используют синтетические
|
||||
таблицу без изменений при не конечном интервале. Для конечного интервала
|
||||
предварительная проверка распознаёт категории, но находит неподдержанный
|
||||
factory tag `26` и отклоняет вызов до вычисления ставок и обновлений; полный
|
||||
бюджетный проход для этой реальной таблицы поэтому не проверен. Успешные бюджетные native-векторы используют синтетические
|
||||
NDP/Node38-строки и подтверждают локальные переходы и порядок вызовов, а не
|
||||
полный Control tick на миссии. Прямые oracle-вызовы `0x11220` для одиночной
|
||||
строки используют `updateEffects = false`, что исключает ветвь Control FX и
|
||||
|
||||
Reference in new issue
Block a user