aboutsummaryrefslogtreecommitdiff
path: root/docs/reference/environment-effects.md
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-10-18 07:39:37 +0300
committerValentin Popov <valentin@popov.link>2026-10-18 07:39:37 +0300
commit3edf3dfc12524004935f8da3c003c03aa572700b (patch)
tree451add60cac545da96b32d80a11f95d9b90fc8ee /docs/reference/environment-effects.md
parentdda322d8be64e953f210faa9ce4e69ca3f6c32cc (diff)
downloadfparkan-codex/ambient-op3-evaluator.tar.xz
fparkan-codex/ambient-op3-evaluator.zip
feat(fx): evaluate native Op3 body typescodex/ambient-op3-evaluator
Diffstat (limited to 'docs/reference/environment-effects.md')
-rw-r--r--docs/reference/environment-effects.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/reference/environment-effects.md b/docs/reference/environment-effects.md
index 6c45038..60a900d 100644
--- a/docs/reference/environment-effects.md
+++ b/docs/reference/environment-effects.md
@@ -255,6 +255,16 @@ global RNG остаются задачей владельца. `fparkan-game` п
категорию 0 с наибольшей детализацией; выбор категории по projected size ещё
не реализован.
+Для Op3 поддерживаются body-типы 0, 1 и 2. Поля отсчитываются от
+`FxCommand.raw_body`, то есть после 4-байтового command word. Типы 0 и 1
+используют общие position/scale/phase/opacity tracks и camera-facing основу;
+тип 1 и тип 2 также интерполируют ось, а тип 2 строит basis через native
+D110-порядок. Все три evaluator-а принимают уже собранную матрицу владельца и
+не выбирают Control row или attachment. Текущий путь для типов 0 и 1
+предполагает native render context 0: `Effect.dll` проверяет общий gate
+`context + 0x60 < 8`, а API этих evaluator-ов не выбирает другой context.
+Evaluator типа 2 принимает индекс context явно и учитывает этот gate в `active`.
+
## Что остаётся за владельцем
`EnvironmentSystem` не извлекает камеру из renderer, не разрешает материалы