aboutsummaryrefslogtreecommitdiff
path: root/docs/reference
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-10-18 08:54:32 +0300
committerValentin Popov <valentin@popov.link>2026-10-18 08:54:32 +0300
commit1148cdc6316535e450c9c1e990a6db614105a9b6 (patch)
tree65da4c87100b1a0cf3b3548f1bce8bfb0d557ffc /docs/reference
parent3cc45621c6ffb32faab648da1ca88093cca33822 (diff)
downloadfparkan-1148cdc6316535e450c9c1e990a6db614105a9b6.tar.xz
fparkan-1148cdc6316535e450c9c1e990a6db614105a9b6.zip
feat(fx): evaluate generic Op1 point lightscodex/op1-point-light
Diffstat (limited to 'docs/reference')
-rw-r--r--docs/reference/environment-effects.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/reference/environment-effects.md b/docs/reference/environment-effects.md
index 29d85f9..66ed052 100644
--- a/docs/reference/environment-effects.md
+++ b/docs/reference/environment-effects.md
@@ -143,6 +143,24 @@ slot `+6c`): ширина `RECT` делится на горизонтальныÐ
исходную таблицу знаков и минимальный depth fade `0.1`. Renderer сам решает,
как загрузить этот квадрат и как смешать его материал.
+## Точечный свет из opcode 1
+
+Preview вычисляет generic Op1 отдельно от визуальных команд. Переданный
+владельцем `command_time` сравнивается с началом и концом интервала из body
+opcode 1; обе границы включены, а коэффициент выборки равен
+`(command_time - start) / (end - start)`. Заголовочная длительность FXID не
+заменяет этот интервал. Для нулевой ширины адаптер не создаёт кадр света,
+поскольку у команды нет конечного коэффициента интерполяции.
+
+Позиция, направление, цвет и range интерполируются по концам команды.
+Позиция и направление переводятся через основу родителя; направление после
+этого нормализуется, а нулевой вектор остаётся нулевым. Range сохраняет
+авторское значение без ограничения снизу. Типы Op1 `1`, `2`, `5`, `6` и `7`
+выбирают point-light selector `1`; их native flags сохраняются. Типы `3` и
+`4` выбирают другие классы записей LightManager и не попадают в generic список
+точечного света. У `LightningEffect` выборка тех же полей использует отдельные
+ограничение по длительности FXID и правила безопасной обработки.
+
## Молния и звуковые события
`decode_env_lightning_fxid` извлекает из FXID длительность, ссылки opcode 3 и