diff options
| author | Valentin Popov <valentin@popov.link> | 2026-10-29 15:35:50 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-10-29 15:35:50 +0300 |
| commit | f35c9ec1f09ec55f52563a8ba6a70cc4e2e1583d (patch) | |
| tree | 373bcf0e8d6797df876f71fd3779bd963160f72b /docs/tomes | |
| parent | 38ff0ca6828ce83dea376f288959a9ab2242d662 (diff) | |
| download | fparkan-f35c9ec1f09ec55f52563a8ba6a70cc4e2e1583d.tar.xz fparkan-f35c9ec1f09ec55f52563a8ba6a70cc4e2e1583d.zip | |
test(runtime): verify randomized Control resource cadence
Diffstat (limited to 'docs/tomes')
| -rw-r--r-- | docs/tomes/06-behavior.md | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/docs/tomes/06-behavior.md b/docs/tomes/06-behavior.md index b431c96..eaa5148 100644 --- a/docs/tomes/06-behavior.md +++ b/docs/tomes/06-behavior.md @@ -958,10 +958,19 @@ Control пересчитывает дочерние строки в глубин Отдельный путь объекта класса `4` умножает интервал на контактный коэффициент и передаёт изменение строке. В проверенном примере коэффициент `1`, интервал `2`, и значение строки уменьшается на `2`; этот коэффициент не является ставкой -производства из профиля. Проверка времени охватывает только начальную ветвь: -активную ветвь не запускали, а источник времени и полный порядок вызовов в игре -пока не установлены. Поэтому запросы Rust `0xe00` и `0x1002` используют -начальные снимки provider-строк, а `0x1005` — загруженную ставку профиля. +производства из профиля. Источник абсолютных часов и их доставка из World3D +в Control прослежены по инструкциям. Активная бюджетная часть проверена на +искусственном хосте класса `10`; полного тика объекта на миссии ещё нет. + +У ресурсного шага отдельные часы. После принятого межкадрового интервала +Control заново разыгрывает срок обновления, даже если предыдущий вызов его +ещё не достиг. Например, с периодом `500` и начальным RNG `0x12345678` +исходная DLL пропустила времена `500` и `501`, затем выполнила ресурсный шаг +на `502`. Выбрать случайный срок один раз и ждать его было бы неверно. +Принудительный шаг тоже расходует RNG; неактивный объект синхронизирует часы +без такого расхода. Это локальные native проверки, а не работающий Rust +Control: запросы Rust `0xe00` и `0x1002` по-прежнему используют начальные +снимки provider-строк, а `0x1005` — загруженную ставку профиля. Точные нативные векторы и открытые границы описаны в [приложении](../appendices/script-vm.md#изменение-provider-состояния-control). На x87 control word `0x007f` каждое умножение округляет мантиссу до 24 бит, |
