aboutsummaryrefslogtreecommitdiff
path: root/docs/tomes/06-behavior.md
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-10-29 19:26:15 +0300
committerValentin Popov <valentin@popov.link>2026-10-29 19:26:15 +0300
commitba7cb7f0f9f572bf587824cc5816ed933fe74f12 (patch)
tree184a58c08f2b8c393bc3edf6a6c83dee5e91e67f /docs/tomes/06-behavior.md
parent1d20509b052c0b3e2db2a8bd86756f007041ab21 (diff)
downloadfparkan-ba7cb7f0f9f572bf587824cc5816ed933fe74f12.tar.xz
fparkan-ba7cb7f0f9f572bf587824cc5816ed933fe74f12.zip
feat(runtime): support tag-26 Control resource budgets
Diffstat (limited to 'docs/tomes/06-behavior.md')
-rw-r--r--docs/tomes/06-behavior.md31
1 files changed, 25 insertions, 6 deletions
diff --git a/docs/tomes/06-behavior.md b/docs/tomes/06-behavior.md
index 4e71ed9..d3af8f7 100644
--- a/docs/tomes/06-behavior.md
+++ b/docs/tomes/06-behavior.md
@@ -1082,12 +1082,31 @@ Rust переносит этот порядок, сохраняет native наÐ
классы, которые исходный диспетчер направляет в фабрику по умолчанию. Текущая
категория читается из descriptor: её native map подтверждён только для тегов
`0..=34`. Неподдержанный специализированный callback, недоступный provider или
-неподдержанное число останавливают шаг без частичных изменений. В
-лицензированном `min_l_n1.dat` предварительная проверка распознаёт текущие
-категории и выявляет неподдержанный factory tag `26`; она отклоняет бюджетный
-вызов до расчёта ставок и обновлений, сохраняя таблицу целиком. Полный
-бюджетный проход на реальной миссии и подключение к игровым часам пока не
-подтверждены.
+неподдержанное число останавливают шаг без частичных изменений.
+
+У фабричного tag `26` ставка складывается из базового значения устройства и
+изменяемой добавки. Затем сумма умножается на прошедшее время:
+
+```text
+rate = -((B + extra) * dt)
+```
+
+Например, при `B = 0.2`, `extra = 0.3` и `dt = 0.5` устройство запрашивает
+`0.25`. Если доступный бюджет равен `0.125`, оно получает половину запроса;
+устройство сохраняет долю распределения, а сама добавка переживает замену
+descriptor через `INTO`. Так разные части Control могут менять базовую запись и
+текущее состояние независимо.
+
+Эту добавку записывает исходный selector `0x500`, когда текущий descriptor
+тоже относится к tag `26`. Мы восстановили его точку вызова в Behavior, но
+смысл передаваемого там значения пока не установлен, поэтому этот Behavior путь
+ещё не исполняется. Подтверждённые callbacks tag `26`, их native адреса и
+точные проверочные векторы приведены в [техническом приложении](../appendices/script-vm.md#фабричный-tag-26-изменяемая-добавка).
+
+Полный явный CPU-проход по исходной таблице из одиннадцати устройств
+`min_l_n1.dat` тоже завершился. Этот результат проверяет вычисление для одной
+загруженной таблицы; обновление пока не подключено к игровым часам и не
+заменяет полный Control tick.
Отдельный путь объекта класса `4` умножает интервал на контактный коэффициент и
передаёт изменение строке. В проверенном примере коэффициент `1`, интервал `2`,