@vnejs/docs 0.2.51 → 0.2.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/architecture.md +1 -1
- package/package.json +1 -1
- package/plugins/canvas/bg.md +0 -1
- package/plugins/canvas/bg.speak.md +1 -1
- package/plugins/canvas/sprite.md +0 -1
- package/plugins/canvas/sprite.speak.md +1 -1
- package/plugins/canvas/text.md +0 -1
- package/plugins/canvas/video.md +0 -1
- package/plugins/controls/cursor.md +2 -3
- package/plugins/core/components.md +2 -1
- package/plugins/core/interact.md +1 -1
- package/plugins/core/logs.md +10 -7
- package/plugins/core/media.md +1 -1
- package/plugins/core/scenario.md +2 -1
- package/plugins/core/settings.md +1 -1
- package/plugins/core/stack.md +12 -13
- package/plugins/core/state.md +1 -2
- package/plugins/core/storage.md +2 -2
- package/plugins/core/system.md +2 -1
- package/plugins/core/vendors.md +1 -3
- package/plugins/rpg/skills.md +2 -2
- package/plugins/save/save.md +2 -2
- package/plugins/scenario/autoread.md +2 -2
- package/plugins/scenario/choose.md +13 -14
- package/plugins/scenario/history.md +1 -1
- package/plugins/scenario/pause.md +2 -2
- package/plugins/scenario/point_and_click.md +10 -11
- package/plugins/scenario/qte.md +3 -3
- package/plugins/scenario/random.md +2 -2
- package/plugins/settings/ratio.md +2 -2
- package/plugins/text/meet.md +2 -2
- package/plugins/text/text.md +13 -14
- package/plugins/text/wall.md +0 -1
- package/plugins/views/achievement.md +1 -1
- package/plugins/views/cursor.md +1 -1
- package/plugins/views.scenario/choose.md +0 -1
- package/plugins/views.scenario/point_and_click.md +0 -1
- package/plugins/views.scenario/qte.md +1 -1
- package/plugins/views.screens/disclaimer.md +3 -2
- package/plugins/views.screens/history.md +1 -1
- package/plugins/views.screens/intro.md +2 -2
- package/plugins/views.screens/loading.md +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
Краткая история изменений движка (плагины, helpers, packages, CLI и прочий runtime) и внешнего API. Версии — релизы пакета `@vnejs/docs`.
|
|
4
4
|
|
|
5
|
+
## 0.2.53
|
|
6
|
+
|
|
7
|
+
- `controls/cursor` — DOM-клик с тача эмитит `CURSOR.HIDE` (сам клик с `pointerType === "touch"`, клик после `pointerdown` с тача, либо `sourceCapabilities.firesTouchEvents`).
|
|
8
|
+
- `uis.react` — `vne-cursor-target` ставится только на узлы с `vne-cursor-target-possible` (тот же момент, что непустой `vne-cursor-type`). API: `vne-cursor-target-possible`.
|
|
9
|
+
- `views.screens/checkers`, `views.scenario/qte` — клетки доски и dial QTE помечаются `vne-cursor-target-possible`.
|
|
10
|
+
- `module` — `setStateFromGlobalState` → `setClonedState`: `setState(structuredClone(getStateSlice(payload)))`. `getStateSlice`: нет слайса в payload → `getDefaultState()` (пустые модули вырезаются из сейва). API: `setClonedState`, `getStateSlice`.
|
|
11
|
+
- `module.core` — снят `onSetStateClone`; вместо него `setClonedState`. Снят `emitClone`; вместо него `structuredClone`. Снят `emitInteractPushPop`; вместо него `emit(EVENTS.INTERACT.PUSH_POP, …)`. API: снято `ModuleCore.onSetStateClone`, `ModuleCore.emitClone`, `ModuleCore.emitInteractPushPop`.
|
|
12
|
+
- `core/logs` — доп. поля `LogsValue` — `LogsCloneable` (строки, числа, boolean, bigint, null, массивы, plain-object), не `unknown`. API: `LogsCloneable`, `LogsValue`.
|
|
13
|
+
- `core/vendors` — снято событие `CLONE` и модуль `vendors` (lodash `cloneDeep`). API: снято `EVENTS.VENDORS.CLONE`.
|
|
14
|
+
|
|
15
|
+
## 0.2.52
|
|
16
|
+
|
|
17
|
+
- `core/logs` — `LogsEmitPayload` = `LogsValue` + опциональный `level` (без обёртки `value`); `module` в payload нет (имя эмиттера из `EmitParams`). API: `LogsValue`, `LogsEmitPayload`, `LogsPushPayload.log`.
|
|
18
|
+
- `module.core` — снят `emitLog`; логи через `emit(EVENTS.LOGS.EMIT, { action, … })`. API: снято `ModuleCore.emitLog`.
|
|
19
|
+
- Плагины с логами — `action` только из `CONST.*.LOGS_ACTIONS` (legacy `type` снят у stack/components/save/random); расширены/добавлены `LOGS_ACTIONS` у scenario, components, system, skills, storage, intro, loading, meet, ratio, random, disclaimer.
|
|
20
|
+
|
|
5
21
|
## 0.2.51
|
|
6
22
|
|
|
7
23
|
- `observer` / `module` — `Observer.emit(event, payload, params)` вместо rest-args; `Module.emit(event, payload?)` сам собирает `params = { module: this.name }`. API: `EmitParams`, `EmitPayload`.
|
package/architecture.md
CHANGED
|
@@ -169,7 +169,7 @@ flowchart TD
|
|
|
169
169
|
| Пакет | Назначение |
|
|
170
170
|
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
171
171
|
| **`@vnejs/module`** | **`Module`**: `VNE`, `on`/`emit`, `inject`, state, shared, media, lifecycle |
|
|
172
|
-
| **`@vnejs/module.core`** | **`ModuleCore`** — типизированный доступ к **core
|
|
172
|
+
| **`@vnejs/module.core`** | **`ModuleCore`** — типизированный доступ к **core-контрактам** |
|
|
173
173
|
| **`@vnejs/module.replace`** | **`ModuleReplace`** — последовательная подмена значения поля payload через `REPLACE_KEY` и цепочку handlers |
|
|
174
174
|
| **`@vnejs/module.replace.exec`** | **`ModuleReplaceExec`** — реестр exec-handlers по имени модуля (`EXEC_REG` / `EXEC_GET`) |
|
|
175
175
|
| **`@vnejs/module.components`** | **`ModuleView`**, **`ModuleController`** — React-view, zustand, media, controls |
|
package/package.json
CHANGED
package/plugins/canvas/bg.md
CHANGED
|
@@ -77,7 +77,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
77
77
|
- [media.md](../core/media.md) — `MEDIA`: EVENTS.LOAD, CONST.PRIORITIES.BACKGROUND, CONST.TYPES.IMAGE, EVENTS.GET
|
|
78
78
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
|
|
79
79
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, EVENTS.PRELOAD
|
|
80
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone, EVENTS.UID
|
|
81
80
|
|
|
82
81
|
### Остальные
|
|
83
82
|
|
package/plugins/canvas/sprite.md
CHANGED
|
@@ -80,7 +80,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
80
80
|
- [media.md](../core/media.md) — `MEDIA`: EVENTS.LOAD, CONST.TYPES.IMAGE, EVENTS.GET
|
|
81
81
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
|
|
82
82
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, EVENTS.PRELOAD
|
|
83
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
84
83
|
|
|
85
84
|
### Остальные
|
|
86
85
|
|
package/plugins/canvas/text.md
CHANGED
|
@@ -56,7 +56,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
56
56
|
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.PUSH_POP
|
|
57
57
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
|
|
58
58
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, EVENTS.PRELOAD
|
|
59
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
60
59
|
|
|
61
60
|
### Остальные
|
|
62
61
|
|
package/plugins/canvas/video.md
CHANGED
|
@@ -65,7 +65,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
65
65
|
- [media.md](../core/media.md) — `MEDIA`: EVENTS.LOAD, CONST.PRIORITIES.BACKGROUND, CONST.TYPES.VIDEO, EVENTS.GET
|
|
66
66
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
|
|
67
67
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, EVENTS.PRELOAD
|
|
68
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: EVENTS.UID, emitClone
|
|
69
68
|
|
|
70
69
|
### Остальные
|
|
71
70
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Пакет: `@vnejs/plugins.controls.cursor` · namespace: `CURSOR`
|
|
4
4
|
|
|
5
|
-
Кастомный курсор: позиция, сдвиг, скролл под курсором, view и программный клик.
|
|
5
|
+
Кастомный курсор: позиция, сдвиг, скролл под курсором, view и программный клик. DOM-клик с тача эмитит `HIDE`: у события `pointerType === "touch"`, перед кликом был `pointerdown` с тача, либо у клика `sourceCapabilities.firesTouchEvents`.
|
|
6
6
|
|
|
7
7
|
## События
|
|
8
8
|
|
|
@@ -54,7 +54,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
54
54
|
| `cursor.view.set` (`CursorViewSet`) | VIEW_SET + STATE/STARTED для проставления `view`. Имя `view.set`, чтобы не пересечься с `plugins/views/cursor` (`cursor.view`). |
|
|
55
55
|
| `cursor.move` (`CursorMove`) | MOVE (мышь) → `CONTROLS.DEVICE_SET` (keyboard) + SHOW + SET_X_Y; скрывает системный курсор. |
|
|
56
56
|
| `cursor.shift` (`CursorShift`) | SHIFT + INIT `SHIFT_SPEED` / `SHIFT_REVERSE_*`. |
|
|
57
|
-
| `cursor.click` (`CursorClick`) | CLICK по координатам курсора.
|
|
57
|
+
| `cursor.click` (`CursorClick`) | CLICK по координатам курсора. DOM-клик с тача эмитит `HIDE`. |
|
|
58
58
|
| `cursor.scroll` (`CursorScroll`) | SCROLL + INIT `SCROLL_SPEED`. |
|
|
59
59
|
|
|
60
60
|
## Близкие плагины
|
|
@@ -64,7 +64,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
64
64
|
- [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.INIT
|
|
65
65
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
66
66
|
- [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED, EVENTS.RESIZE
|
|
67
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
68
67
|
|
|
69
68
|
### Остальные
|
|
70
69
|
|
|
@@ -18,6 +18,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
18
18
|
## Константы
|
|
19
19
|
|
|
20
20
|
- **`LOGS_ACTIONS.RENDER`** — `"render"`: метка действия для логов при рендере.
|
|
21
|
+
- **`LOGS_ACTIONS.SHOW` / `HIDE`** — `"show"` / `"hide"`: метки для `ModuleController` (show/hide view).
|
|
21
22
|
|
|
22
23
|
## Параметры
|
|
23
24
|
|
|
@@ -41,7 +42,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
41
42
|
|
|
42
43
|
### plugins/core/
|
|
43
44
|
|
|
44
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
45
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
45
46
|
- [system.md](./system.md) — `SYSTEM`: `CONST.SYSTEM.DOM_IDS` (`APP`, `COMPONENTS`)
|
|
46
47
|
|
|
47
48
|
### Остальные
|
package/plugins/core/interact.md
CHANGED
|
@@ -40,7 +40,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
40
40
|
|
|
41
41
|
### plugins/core/
|
|
42
42
|
|
|
43
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
43
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
44
44
|
|
|
45
45
|
### Остальные
|
|
46
46
|
|
package/plugins/core/logs.md
CHANGED
|
@@ -8,12 +8,16 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.core.logs`.
|
|
10
10
|
|
|
11
|
-
| Ключ | Строка | Смысл
|
|
12
|
-
| ------- | ---------------- |
|
|
13
|
-
| `EMIT` | `vne:logs:emit` | Поставить запись в очередь логов (если логирование включено); затем сформировать `PUSH` с uid и timestamp. |
|
|
14
|
-
| `PUSH` | `vne:logs:push` | Записать строку в `window.VneLogs` и при необходимости вывести в консоль.
|
|
15
|
-
| `LOAD` | `vne:logs:load` | Скачать накопленные логи как JSON-файл через `SYSTEM.FILE_LOAD`.
|
|
16
|
-
| `CLEAR` | `vne:logs:clear` | Очистить `window.VneLogs`.
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| ------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
13
|
+
| `EMIT` | `vne:logs:emit` | Поставить запись в очередь логов (если логирование включено); затем сформировать `PUSH` с uid и timestamp. Имя модуля-источника — из `EmitParams.module`, не из payload. |
|
|
14
|
+
| `PUSH` | `vne:logs:push` | Записать строку в `window.VneLogs` и при необходимости вывести в консоль. |
|
|
15
|
+
| `LOAD` | `vne:logs:load` | Скачать накопленные логи как JSON-файл через `SYSTEM.FILE_LOAD`. |
|
|
16
|
+
| `CLEAR` | `vne:logs:clear` | Очистить `window.VneLogs`. |
|
|
17
|
+
|
|
18
|
+
Payload `EMIT` (`LogsEmitPayload`): поля `LogsValue` (`action: string` и прочие `LogsCloneable`: строки, числа, boolean, bigint, null, массивы и plain-object) плюс опционально `level`. `module` в payload нет: `Module.emit(this.EVENTS.LOGS.EMIT, { action, … })` передаёт имя модуля через `EmitParams`.
|
|
19
|
+
|
|
20
|
+
В модулях на базе `ModuleCore`: `this.emit(this.EVENTS.LOGS.EMIT, { action: …, … })`.
|
|
17
21
|
|
|
18
22
|
## Константы
|
|
19
23
|
|
|
@@ -41,7 +45,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
41
45
|
|
|
42
46
|
- [settings.md](./settings.md) — `SETTINGS`: `INIT`; `SETTINGS.LOGS.ENABLED`
|
|
43
47
|
- [system.md](./system.md) — `SYSTEM`: `FILE_LOAD` (скачивание логов)
|
|
44
|
-
- [vendors.md](./vendors.md) — `VENDORS`: `UID`, `CLONE` (`emitClone` для записи лога)
|
|
45
48
|
|
|
46
49
|
### Остальные
|
|
47
50
|
|
package/plugins/core/media.md
CHANGED
|
@@ -51,7 +51,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
51
51
|
|
|
52
52
|
### plugins/core/
|
|
53
53
|
|
|
54
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
54
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
55
55
|
- [memory.md](./memory.md) — `MEMORY`: `REG`, `GET`, `SET` (через `MEMORY_GET` / `MEMORY_SET`)
|
|
56
56
|
- [platforms.md](./platforms.md) — `PLATFORMS`: `CONST`, `PARAMS.CURRENT_PLATFORM` (лимит semaphore, mediaNoTimeout)
|
|
57
57
|
- [system.md](./system.md) — `SYSTEM`: `CONST.SYSTEM.HOST`, `DOM_IDS.MEDIA`
|
package/plugins/core/scenario.md
CHANGED
|
@@ -26,6 +26,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
26
26
|
- **`LINE_KEYWORDS`** — ключевые слова строки сценария: `skip-if-possible`, `async`, `autonext`. Остальные keywords живут в доменных контрактах (`TEXT.extend`, `VARS.global`, `LAYER_ANIMATION.dangerous`, `QTE.qte-fallback`).
|
|
27
27
|
- **`LINE_PREFIXES.MODULE`** — `"$"`: префикс вызова модуля.
|
|
28
28
|
- **`LINE_PREFIXES.BLOCK`** — `"%"`: префикс блока сценария.
|
|
29
|
+
- **`LOGS_ACTIONS`** — метки логов: `goto`, `goto_missing`, `exec start` / `exec end`, `reg`, `loaded start` / `loaded finish`, `load start` / `load end` / `load check` / `load finish`, `next emit start` / `next emit end`, `exec`.
|
|
29
30
|
|
|
30
31
|
## Параметры
|
|
31
32
|
|
|
@@ -58,7 +59,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
58
59
|
|
|
59
60
|
### plugins/core/
|
|
60
61
|
|
|
61
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
62
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
62
63
|
- [media.md](./media.md) — `MEDIA`: `CONST.MEDIA.PRIORITIES` (preload строк и меток)
|
|
63
64
|
- [memory.md](./memory.md) — `MEMORY`: `REG`, `GET`, `SET` (кэш строк и меток)
|
|
64
65
|
- [platforms.md](./platforms.md) — `PLATFORMS`: `PARAMS.CURRENT_PLATFORM` (глубина preload метки)
|
package/plugins/core/settings.md
CHANGED
|
@@ -37,7 +37,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
37
37
|
|
|
38
38
|
### plugins/core/
|
|
39
39
|
|
|
40
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
40
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
41
41
|
- [storage.md](./storage.md) — `STORAGE`: `GET_ALL`, `SET` (персистентность настроек)
|
|
42
42
|
|
|
43
43
|
### Остальные
|
package/plugins/core/stack.md
CHANGED
|
@@ -18,7 +18,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
18
18
|
| `EXEC_ARG` | `vne:stack:exec_arg` | По токену строки вернуть значение аргумента из верхнего frame. Payload: `{ line? }`. |
|
|
19
19
|
| `PROHIBIT_REPLACE` | `vne:stack:prohibit_replace` | Цепочка `ModuleReplace`: можно ли идти на `label`. Payload: `{ label?, isProhibited? }`. Старт `isProhibited: false`. Возврат — итоговое `isProhibited`. |
|
|
20
20
|
| `PROHIBIT_REPLACE_REG` | `vne:stack:prohibit_replace_reg` | Зарегистрировать обработчик `PROHIBIT_REPLACE`. `{ handler, priority? }`. Не блокирующий хендлер: `return isProhibited`; запрет: `return isProhibited \|\| ownCheck`. |
|
|
21
|
-
| `PROHIBITED` | `vne:stack:prohibited` | Переход запрещён. Payload: `{ label?, args?, event? }` — `event` это `JUMP` / `CALL` / `EMIT`, чтобы повторить переход. `$ stack jump/call` при запрете не делает `emit SCENARIO.NEXT`.
|
|
21
|
+
| `PROHIBITED` | `vne:stack:prohibited` | Переход запрещён. Payload: `{ label?, args?, event? }` — `event` это `JUMP` / `CALL` / `EMIT`, чтобы повторить переход. `$ stack jump/call` при запрете не делает `emit SCENARIO.NEXT`. |
|
|
22
22
|
|
|
23
23
|
## Константы
|
|
24
24
|
|
|
@@ -35,28 +35,27 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
35
35
|
|
|
36
36
|
## Модули
|
|
37
37
|
|
|
38
|
-
| Модуль | Зона ответственности
|
|
39
|
-
| --------------- |
|
|
40
|
-
| `stack` | State стека; обработка `EMIT` (`PROHIBIT_REPLACE` → переход или `PROHIBITED`); sync на `STATE.SET` / `CLEAR`.
|
|
41
|
-
| `stack.call` | `PROHIBIT_REPLACE`, затем push frame + `EMIT`.
|
|
42
|
-
| `stack.jump` | Jump без сохранения.
|
|
43
|
-
| `stack.pop` | Pop frame.
|
|
44
|
-
| `stack.clear` | Clear state + next.
|
|
45
|
-
| `stack.args` | Резолв аргументов из строки сценария.
|
|
38
|
+
| Модуль | Зона ответственности |
|
|
39
|
+
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
40
|
+
| `stack` | State стека; обработка `EMIT` (`PROHIBIT_REPLACE` → переход или `PROHIBITED`); sync на `STATE.SET` / `CLEAR`. |
|
|
41
|
+
| `stack.call` | `PROHIBIT_REPLACE`, затем push frame + `EMIT`. |
|
|
42
|
+
| `stack.jump` | Jump без сохранения. |
|
|
43
|
+
| `stack.pop` | Pop frame. |
|
|
44
|
+
| `stack.clear` | Clear state + next. |
|
|
45
|
+
| `stack.args` | Резолв аргументов из строки сценария. |
|
|
46
46
|
| `stack.exec` | Регистрация `$stack` handlers в scenario (jump/call/pop + preload). На `LINE_LOAD` jump/call — `PROHIBIT_REPLACE` до `LABEL_GET`. `onLineExec`: `emit SCENARIO.NEXT` только если jump/call не вернули `false` (запрет); `pop` — как раньше. |
|
|
47
|
-
| `stack.replace` | Реестр обработчиков `PROHIBIT_REPLACE_REG`; наследник `@vnejs/module.replace`; `REPLACE_KEY` — `isProhibited`.
|
|
48
|
-
| `stack.logs` | Логирование операций стека, в т.ч. `PROHIBITED`; в `init` регистрирует хендлер `PROHIBIT_REPLACE` (пропускает флаг).
|
|
47
|
+
| `stack.replace` | Реестр обработчиков `PROHIBIT_REPLACE_REG`; наследник `@vnejs/module.replace`; `REPLACE_KEY` — `isProhibited`. |
|
|
48
|
+
| `stack.logs` | Логирование операций стека, в т.ч. `PROHIBITED`; в `init` регистрирует хендлер `PROHIBIT_REPLACE` (пропускает флаг). |
|
|
49
49
|
|
|
50
50
|
## Близкие плагины
|
|
51
51
|
|
|
52
52
|
### plugins/core/
|
|
53
53
|
|
|
54
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
54
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
55
55
|
- [media.md](./media.md) — `MEDIA`: `CONST.MEDIA.PRIORITIES` (preload при jump/call)
|
|
56
56
|
- [memory.md](./memory.md) — `MEMORY`: `CLEAR` (при `EMIT`)
|
|
57
57
|
- [scenario.md](./scenario.md) — `SCENARIO`: `LABEL_GET`, `LINE_EXEC_REG`, `LINE_LOAD_REG`; `emit SCENARIO.NEXT`
|
|
58
58
|
- [state.md](./state.md) — `STATE`: `SET`, `CLEAR` (sync стека; `CLEAR` из `stack.clear`)
|
|
59
|
-
- [vendors.md](./vendors.md) — `VENDORS`: `CLONE` (`emitClone` для args)
|
|
60
59
|
|
|
61
60
|
### Остальные
|
|
62
61
|
|
package/plugins/core/state.md
CHANGED
|
@@ -43,10 +43,9 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
43
43
|
|
|
44
44
|
### plugins/core/
|
|
45
45
|
|
|
46
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
46
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
47
47
|
- [scenario.md](./scenario.md) — `SCENARIO`: `LINES_GET`, `LABEL_GET` (миграция по hash строки)
|
|
48
48
|
- [system.md](./system.md) — `SYSTEM`: `CONST.SYSTEM.VERSION_MAJOR` / `VERSION_MINOR` (проверка версии save)
|
|
49
|
-
- [vendors.md](./vendors.md) — `VENDORS`: `HASH`, `CLONE` (`emitClone` state)
|
|
50
49
|
|
|
51
50
|
### Остальные
|
|
52
51
|
|
package/plugins/core/storage.md
CHANGED
|
@@ -57,7 +57,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
57
57
|
|
|
58
58
|
## Константы
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
- **`LOGS_ACTIONS.CHANGED`** — `"changed"`: метка лога при `CHANGED`.
|
|
61
61
|
|
|
62
62
|
## Параметры
|
|
63
63
|
|
|
@@ -83,7 +83,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
83
83
|
|
|
84
84
|
### plugins/core/
|
|
85
85
|
|
|
86
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
86
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …) (событие `CHANGED`)
|
|
87
87
|
- [system.md](./system.md) — `SYSTEM`: `CONST.SYSTEM.VERSION_MAJOR`; `FILE_LOAD`, `FILE_READ`, `RELOAD` (import/export/clear)
|
|
88
88
|
|
|
89
89
|
### Остальные
|
package/plugins/core/system.md
CHANGED
|
@@ -28,6 +28,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
28
28
|
| `DOM_IDS.APP` | `"app"` — корневой контейнер |
|
|
29
29
|
| `DOM_IDS.MEDIA` | `"media"` — скрытый контейнер медиа |
|
|
30
30
|
| `DOM_IDS.COMPONENTS` | `"components"` — контейнер UI |
|
|
31
|
+
| `LOGS_ACTIONS.RESIZE` | `"resize"` — метка лога при `RESIZE` |
|
|
31
32
|
|
|
32
33
|
## Параметры
|
|
33
34
|
|
|
@@ -50,7 +51,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
50
51
|
|
|
51
52
|
### plugins/core/
|
|
52
53
|
|
|
53
|
-
- [logs.md](./logs.md) — `LOGS`: `
|
|
54
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …) (resize)
|
|
54
55
|
|
|
55
56
|
### Остальные
|
|
56
57
|
|
package/plugins/core/vendors.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Пакет: `@vnejs/plugins.core.vendors` · namespace: `VENDORS`
|
|
4
4
|
|
|
5
|
-
Обёртки над сторонними утилитами:
|
|
5
|
+
Обёртки над сторонними утилитами: скриншот.
|
|
6
6
|
|
|
7
7
|
## События
|
|
8
8
|
|
|
@@ -10,7 +10,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
10
10
|
|
|
11
11
|
| Ключ | Строка | Смысл |
|
|
12
12
|
| -------- | -------------------- | ---------------------------------------------------------------------------------------------- |
|
|
13
|
-
| `CLONE` | `vne:vendors:clone` | Deep clone через lodash (state, stack, args). |
|
|
14
13
|
| `SCREEN` | `vne:vendors:screen` | Скриншот DOM через html2canvas → webp data URL. Payload: `{ width?, height?, quality?, id? }`. |
|
|
15
14
|
|
|
16
15
|
## Константы
|
|
@@ -29,7 +28,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
29
28
|
|
|
30
29
|
| Модуль | Зона ответственности |
|
|
31
30
|
| ---------------- | --------------------------------------------------------------- |
|
|
32
|
-
| `vendors` | clone. |
|
|
33
31
|
| `vendors.screen` | html2canvas screenshot; на init помечает media-элементы ignore. |
|
|
34
32
|
|
|
35
33
|
## Близкие плагины
|
package/plugins/rpg/skills.md
CHANGED
|
@@ -19,7 +19,7 @@ Payload `EMIT`: `{ id?, caster?, target? }`. Lifecycle (`EMIT_START` / `EMIT_FIN
|
|
|
19
19
|
|
|
20
20
|
## Константы
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
- **`LOGS_ACTIONS`** — `emit`, `start`, `finish`.
|
|
23
23
|
|
|
24
24
|
## Параметры
|
|
25
25
|
|
|
@@ -42,7 +42,7 @@ Payload `EMIT`: `{ id?, caster?, target? }`. Lifecycle (`EMIT_START` / `EMIT_FIN
|
|
|
42
42
|
|
|
43
43
|
### plugins/core/
|
|
44
44
|
|
|
45
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
45
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
46
46
|
|
|
47
47
|
### Остальные
|
|
48
48
|
|
package/plugins/save/save.md
CHANGED
|
@@ -21,7 +21,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
21
21
|
|
|
22
22
|
## Константы
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
- **`LOGS_ACTIONS`** — метки логов: `GET`, `SAVE`, `LOAD`, `DELETE`, `PRELOAD`, `CLEAR`, `KEY` (поле value — `action`, не `type`).
|
|
25
25
|
|
|
26
26
|
## Параметры
|
|
27
27
|
|
|
@@ -52,7 +52,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
52
52
|
|
|
53
53
|
### plugins/core/
|
|
54
54
|
|
|
55
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
55
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), CONST.FILTER_FROM_RESULT_OPTIONS
|
|
56
56
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
57
57
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, EVENTS.LOAD, EVENTS.PRELOAD, EVENTS.MIGRATE, EVENTS.GET
|
|
58
58
|
- [storage.md](../core/storage.md) — `STORAGE`: EVENTS.GET, EVENTS.SET, EVENTS.RM_ALL, EVENTS.RM
|
|
@@ -41,7 +41,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
41
41
|
| Модуль | Зона ответственности |
|
|
42
42
|
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
43
43
|
| `autoread` | `SETTINGS.INIT` в `setup`. `SETTINGS.CHANGED` для `ENABLED` эмитит `PUSH` / `POP`. |
|
|
44
|
-
| `autoread.logs` | Логи всех событий `AUTOREAD` через `
|
|
44
|
+
| `autoread.logs` | Логи всех событий `AUTOREAD` через `EVENTS.LOGS.EMIT`. `PUSH` / `POP` пишут `source`. |
|
|
45
45
|
| `autoread.sources` | В `postinject` — `shared.autoreadDisableSources`. `PUSH` / `POP`. На `STATE.SET` очищает набор. |
|
|
46
46
|
| `autoread.emit` | `EMIT`: если включено и нет блокировок — `INTERACT.EMIT` по `vne-autoread-allow`, иначе `TIMEOUT_CREATE`. |
|
|
47
47
|
| `autoread.timeout` | `TIMEOUT_CREATE` / `TIMEOUT_CLEAR`. Таймер на `SETTINGS.AUTOREAD.DELAY`, по нему `EMIT`. `STATE.CLEAR` → `TIMEOUT_CLEAR`. `STATE.SET` → `TIMEOUT_CLEAR`, затем `TIMEOUT_CREATE`. |
|
|
@@ -51,7 +51,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
51
51
|
### plugins/core/
|
|
52
52
|
|
|
53
53
|
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT
|
|
54
|
-
- [logs.md](../core/logs.md) — `LOGS`: `
|
|
54
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
55
55
|
- [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
|
|
56
56
|
- [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR, EVENTS.SET
|
|
57
57
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
| --------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
11
11
|
| `% choose` | Открыть выбор: собрать `% choose.option`, emit `EMIT`. Если все опции `hided` (или список пуст) — `SKIP` и переход за блок. |
|
|
12
12
|
| `% choose.option "…"` | Ветка опции; при проходе мимо невыбранной — skip тела по indent. |
|
|
13
|
-
| `$ choose repeat` | Вернуться к ближайшему `% choose` **выше** текущей строки в том же label и `emit SCENARIO.NEXT`.
|
|
13
|
+
| `$ choose repeat` | Вернуться к ближайшему `% choose` **выше** текущей строки в том же label и `emit SCENARIO.NEXT`. |
|
|
14
14
|
|
|
15
15
|
Пример цикла «осмотреть → вернуться в меню»:
|
|
16
16
|
|
|
@@ -28,19 +28,19 @@
|
|
|
28
28
|
|
|
29
29
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.scenario.choose`.
|
|
30
30
|
|
|
31
|
-
| Ключ | Строка | Смысл
|
|
32
|
-
| -------------------- | ------------------------------- |
|
|
33
|
-
| `EMIT` | `vne:choose:emit` | Принять опции и args; если есть видимые — `STATE_UPDATE` и `SHOW`; иначе `SKIP`.
|
|
31
|
+
| Ключ | Строка | Смысл |
|
|
32
|
+
| -------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
33
|
+
| `EMIT` | `vne:choose:emit` | Принять опции и args; если есть видимые — `STATE_UPDATE` и `SHOW`; иначе `SKIP`. |
|
|
34
34
|
| `OPTION` | `vne:choose:option` | Принять выбор по UI-индексу: прогнать `OPTION_BEFORE`, затем `HIDE`, `OPTION_REPLACE`, установить `curLine`, сброс state, `emit SCENARIO.NEXT`. |
|
|
35
|
-
| `OPTION_BEFORE` | `vne:choose:option_before` | Side effects до применения выбора (подписки с `priority` на Observer).
|
|
36
|
-
| `OPTION_REPLACE` | `vne:choose:option_replace` | Подменить UI-индекс принятой опции (цепочка handlers перед переходом по ветке).
|
|
37
|
-
| `OPTION_REPLACE_REG` | `vne:choose:option_replace_reg` | Зарегистрировать обработчик `OPTION_REPLACE`.
|
|
35
|
+
| `OPTION_BEFORE` | `vne:choose:option_before` | Side effects до применения выбора (подписки с `priority` на Observer). |
|
|
36
|
+
| `OPTION_REPLACE` | `vne:choose:option_replace` | Подменить UI-индекс принятой опции (цепочка handlers перед переходом по ветке). |
|
|
37
|
+
| `OPTION_REPLACE_REG` | `vne:choose:option_replace_reg` | Зарегистрировать обработчик `OPTION_REPLACE`. |
|
|
38
38
|
| `SKIP` | `vne:choose:skip` | Пропустить блок: `curLine` на первую строку после indent-дерева `% choose`, `emit SCENARIO.NEXT`. |
|
|
39
|
-
| `SHOW` | `vne:choose:show` | Выбор активен (state готов). Слушает view-плагин.
|
|
40
|
-
| `HIDE` | `vne:choose:hide` | Выбор закрыт. Слушает view-плагин.
|
|
41
|
-
| `EXEC_REG` | `vne:choose:exec_reg` | Зарегистрировать exec-обработчик для подстановки в опции.
|
|
42
|
-
| `EXEC_GET` | `vne:choose:exec_get` | Получить значение через зарегистрированный exec-обработчик.
|
|
43
|
-
| `STATE_UPDATE` | `vne:choose:state_update` | Обновить накопленное состояние модуля `choose`.
|
|
39
|
+
| `SHOW` | `vne:choose:show` | Выбор активен (state готов). Слушает view-плагин. |
|
|
40
|
+
| `HIDE` | `vne:choose:hide` | Выбор закрыт. Слушает view-плагин. |
|
|
41
|
+
| `EXEC_REG` | `vne:choose:exec_reg` | Зарегистрировать exec-обработчик для подстановки в опции. |
|
|
42
|
+
| `EXEC_GET` | `vne:choose:exec_get` | Получить значение через зарегистрированный exec-обработчик. |
|
|
43
|
+
| `STATE_UPDATE` | `vne:choose:state_update` | Обновить накопленное состояние модуля `choose`. |
|
|
44
44
|
|
|
45
45
|
## Константы
|
|
46
46
|
|
|
@@ -96,10 +96,9 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
96
96
|
|
|
97
97
|
### plugins/core/
|
|
98
98
|
|
|
99
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
99
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
100
100
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
|
|
101
101
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
102
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
103
102
|
|
|
104
103
|
### Остальные
|
|
105
104
|
|
|
@@ -65,7 +65,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
65
65
|
|
|
66
66
|
### plugins/core/
|
|
67
67
|
|
|
68
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
68
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
69
69
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.REG, EVENTS.SET, EVENTS.KEYS, EVENTS.GET
|
|
70
70
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.LABEL_GET
|
|
71
71
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, EVENTS.GET, EVENTS.LOAD
|
|
@@ -34,7 +34,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
34
34
|
| ---------------- | --------------------------------------------------------------------------------------- |
|
|
35
35
|
| `pause` | `START` ждёт `END`: клик (`INTERACT`) или таймер `time`. |
|
|
36
36
|
| `pause.emit` | В `postinject` — `shared.pauseDisableSources`. `EMIT` → `START`, если набор пуст. |
|
|
37
|
-
| `pause.logs` | Логи `EMIT` / `START` / `END` через `
|
|
37
|
+
| `pause.logs` | Логи `EMIT` / `START` / `END` через `EVENTS.LOGS.EMIT`. `EMIT` пишет `time`. |
|
|
38
38
|
| `pause.scenario` | `LINE_EXEC_REG` для `$ pause` в `init`. Парсит `time`, эмитит `EMIT`, затем `emit SCENARIO.NEXT`. |
|
|
39
39
|
|
|
40
40
|
## Близкие плагины
|
|
@@ -42,7 +42,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
42
42
|
### plugins/core/
|
|
43
43
|
|
|
44
44
|
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.POP, EVENTS.PUSH
|
|
45
|
-
- [logs.md](../core/logs.md) — `LOGS`: `
|
|
45
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
46
46
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
47
47
|
|
|
48
48
|
### Остальные
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
11
|
| `% point-and-click` | Открыть point-and-click: собрать `% point-and-click.option`, emit `EMIT`. Если все опции `hided` (или список пуст) — `SKIP` и переход за блок. |
|
|
12
12
|
| `% point-and-click.option {icon} {iconHover} x y` | Hotspot; при проходе мимо невыбранного — skip тела по indent. Опционально args `imgWidth` / `imgHeight` (px canvas). |
|
|
13
|
-
| `$ point-and-click repeat` | Вернуться к ближайшему `% point-and-click` **выше** текущей строки в том же label и `emit SCENARIO.NEXT`.
|
|
13
|
+
| `$ point-and-click repeat` | Вернуться к ближайшему `% point-and-click` **выше** текущей строки в том же label и `emit SCENARIO.NEXT`. |
|
|
14
14
|
|
|
15
15
|
Пример цикла осмотра:
|
|
16
16
|
|
|
@@ -30,16 +30,16 @@
|
|
|
30
30
|
|
|
31
31
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.scenario.point_and_click`.
|
|
32
32
|
|
|
33
|
-
| Ключ | Строка | Смысл
|
|
34
|
-
| -------------- | ---------------------------------- |
|
|
35
|
-
| `EMIT` | `vne:point_and_click:emit` | Принять опции и args; если есть видимые — `STATE_UPDATE` и `SHOW`; иначе `SKIP`.
|
|
33
|
+
| Ключ | Строка | Смысл |
|
|
34
|
+
| -------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
|
35
|
+
| `EMIT` | `vne:point_and_click:emit` | Принять опции и args; если есть видимые — `STATE_UPDATE` и `SHOW`; иначе `SKIP`. |
|
|
36
36
|
| `OPTION` | `vne:point_and_click:option` | Выбор hotspot: `HIDE`, `curLine` внутрь опции, сброс state через `STATE_UPDATE`, `emit SCENARIO.NEXT`. |
|
|
37
37
|
| `SKIP` | `vne:point_and_click:skip` | Пропустить блок: `curLine` на первую строку после indent-дерева `% point-and-click`, `emit SCENARIO.NEXT`. |
|
|
38
|
-
| `SHOW` | `vne:point_and_click:show` | Выбор активен (state готов). Слушает view-плагин.
|
|
39
|
-
| `HIDE` | `vne:point_and_click:hide` | Выбор закрыт. Слушает view-плагин.
|
|
40
|
-
| `EXEC_REG` | `vne:point_and_click:exec_reg` | Зарегистрировать exec-обработчик для подстановки в опции.
|
|
41
|
-
| `EXEC_GET` | `vne:point_and_click:exec_get` | Получить значение через зарегистрированный exec-обработчик (например `hided:` / `disabled:`).
|
|
42
|
-
| `STATE_UPDATE` | `vne:point_and_click:state_update` | Обновить накопленное состояние модуля `point_and_click`.
|
|
38
|
+
| `SHOW` | `vne:point_and_click:show` | Выбор активен (state готов). Слушает view-плагин. |
|
|
39
|
+
| `HIDE` | `vne:point_and_click:hide` | Выбор закрыт. Слушает view-плагин. |
|
|
40
|
+
| `EXEC_REG` | `vne:point_and_click:exec_reg` | Зарегистрировать exec-обработчик для подстановки в опции. |
|
|
41
|
+
| `EXEC_GET` | `vne:point_and_click:exec_get` | Получить значение через зарегистрированный exec-обработчик (например `hided:` / `disabled:`). |
|
|
42
|
+
| `STATE_UPDATE` | `vne:point_and_click:state_update` | Обновить накопленное состояние модуля `point_and_click`. |
|
|
43
43
|
|
|
44
44
|
## Константы
|
|
45
45
|
|
|
@@ -88,10 +88,9 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
88
88
|
|
|
89
89
|
### plugins/core/
|
|
90
90
|
|
|
91
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
91
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
92
92
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
|
|
93
93
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
94
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
95
94
|
|
|
96
95
|
### Остальные
|
|
97
96
|
|
package/plugins/scenario/qte.md
CHANGED
|
@@ -50,7 +50,7 @@ View сам переводит проценты в геометрию (град
|
|
|
50
50
|
| -------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
51
51
|
| `qte` | EMIT → `OPENED`; в `postinject` и на `EMIT` пишет `shared.qteScenarioSkip`. |
|
|
52
52
|
| `qte.result` | RESULT → `CLOSED`; без skip — `applyResult` (success → `curLine + 1`, fail → `getBlockSkipShift`) и `emit SCENARIO.NEXT`. |
|
|
53
|
-
| `qte.logs` | Логи `EMIT` / `RESULT` через `
|
|
53
|
+
| `qte.logs` | Логи `EMIT` / `RESULT` через `EVENTS.LOGS.EMIT`; `skipScenario` из `shared.qteScenarioSkip`. |
|
|
54
54
|
| `qte.scenario` | Регистрация `% qte` в SCENARIO; lookup `ITEMS`; при отсутствии id/item — log `MISSING` и `RESULT { success: false }`. |
|
|
55
55
|
|
|
56
56
|
## Сценарий
|
|
@@ -76,7 +76,7 @@ View сам переводит проценты в геометрию (град
|
|
|
76
76
|
|
|
77
77
|
Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.qte`
|
|
78
78
|
|
|
79
|
-
На `CHOOSE.OPTION_REPLACE`: если у опции `qte: <id>`, запускает QTE с `skipScenario: true`. Success — тот же индекс опции; fail — индекс опции, у которой в `keywords` есть `LINE_KEYWORDS.QTE_FALLBACK` (`qte-fallback`; если нет — исходный индекс + `
|
|
79
|
+
На `CHOOSE.OPTION_REPLACE`: если у опции `qte: <id>`, запускает QTE с `skipScenario: true`. Success — тот же индекс опции; fail — индекс опции, у которой в `keywords` есть `LINE_KEYWORDS.QTE_FALLBACK` (`qte-fallback`; если нет — исходный индекс + `EVENTS.LOGS.EMIT`).
|
|
80
80
|
|
|
81
81
|
Расширяет тип `ChooseOption` полем `qte?: string`. Keyword `| qte-fallback` попадает в `ChooseOption.keywords` через choose.
|
|
82
82
|
|
|
@@ -95,7 +95,7 @@ View сам переводит проценты в геометрию (град
|
|
|
95
95
|
|
|
96
96
|
### plugins/core/
|
|
97
97
|
|
|
98
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
98
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
99
99
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
|
|
100
100
|
|
|
101
101
|
### Остальные
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
## Константы
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
- **`LOGS_ACTIONS.OPTION`** — `"option"`: метка лога при выборе ветки.
|
|
14
14
|
|
|
15
15
|
## Параметры
|
|
16
16
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
### plugins/core/
|
|
32
32
|
|
|
33
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
33
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
34
34
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
|
|
35
35
|
|
|
36
36
|
### Остальные
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
## Константы
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
- **`LOGS_ACTIONS.SET`** — `"set"`: метка лога при смене ratio.
|
|
14
14
|
|
|
15
15
|
## Параметры
|
|
16
16
|
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
### plugins/core/
|
|
34
34
|
|
|
35
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
35
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
36
36
|
- [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
|
|
37
37
|
- [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED, CONST.DOM_IDS.APP
|
|
38
38
|
|
package/plugins/text/meet.md
CHANGED
|
@@ -14,7 +14,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
14
14
|
|
|
15
15
|
## Константы
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
- **`LOGS_ACTIONS.MEET`** — `"meet"`: метка лога при `MEET`.
|
|
18
18
|
|
|
19
19
|
## Параметры
|
|
20
20
|
|
|
@@ -34,7 +34,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
34
34
|
|
|
35
35
|
### plugins/core/
|
|
36
36
|
|
|
37
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
37
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
38
38
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
39
39
|
|
|
40
40
|
### Остальные
|
package/plugins/text/text.md
CHANGED
|
@@ -48,19 +48,19 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
48
48
|
|
|
49
49
|
## Модули
|
|
50
50
|
|
|
51
|
-
| Модуль | Зона ответственности
|
|
52
|
-
| ---------------------- |
|
|
53
|
-
| `text.emit.end` | Завершение emit и переход к next или финальному state.
|
|
54
|
-
| `text.emit.next` | На `EMIT_NEXT`: `PROCESS_STATE` NEXT, затем `onTextEmitNext` → `emit SCENARIO.NEXT` (`priority` 999999).
|
|
55
|
-
| `text.emit` | Точка входа emit: подготовка и запуск process.
|
|
56
|
-
| `text.exec` | Подмодуль `exec` плагина.
|
|
57
|
-
| `text.prepare.tokens` | Токенизация текста перед отображением.
|
|
58
|
-
| `text.process.state` | В `postinject` — `shared.textProcessSkipSources`; PROCESS_STATE, SET, CLEAR.
|
|
59
|
-
| `text.process.enabled` | Подмодуль `process.enabled` плагина.
|
|
60
|
-
| `text.recalc` | Пересчёт производного состояния текста.
|
|
61
|
-
| `text.replace` | Реестр обработчиков REPLACE_REG.
|
|
62
|
-
| `text.speaker` | SPEAKER_INFO_UPDATE, CLEAR, SET; на `EMIT_BEFORE` (`priority` 100) — speaker.
|
|
63
|
-
| `text` | Обрабатывает STATE_UPDATE, STATE_CHANGED, CLEAR, SET.
|
|
51
|
+
| Модуль | Зона ответственности |
|
|
52
|
+
| ---------------------- | -------------------------------------------------------------------------------------------------------- |
|
|
53
|
+
| `text.emit.end` | Завершение emit и переход к next или финальному state. |
|
|
54
|
+
| `text.emit.next` | На `EMIT_NEXT`: `PROCESS_STATE` NEXT, затем `onTextEmitNext` → `emit SCENARIO.NEXT` (`priority` 999999). |
|
|
55
|
+
| `text.emit` | Точка входа emit: подготовка и запуск process. |
|
|
56
|
+
| `text.exec` | Подмодуль `exec` плагина. |
|
|
57
|
+
| `text.prepare.tokens` | Токенизация текста перед отображением. |
|
|
58
|
+
| `text.process.state` | В `postinject` — `shared.textProcessSkipSources`; PROCESS_STATE, SET, CLEAR. |
|
|
59
|
+
| `text.process.enabled` | Подмодуль `process.enabled` плагина. |
|
|
60
|
+
| `text.recalc` | Пересчёт производного состояния текста. |
|
|
61
|
+
| `text.replace` | Реестр обработчиков REPLACE_REG. |
|
|
62
|
+
| `text.speaker` | SPEAKER_INFO_UPDATE, CLEAR, SET; на `EMIT_BEFORE` (`priority` 100) — speaker. |
|
|
63
|
+
| `text` | Обрабатывает STATE_UPDATE, STATE_CHANGED, CLEAR, SET. |
|
|
64
64
|
|
|
65
65
|
## Compatibility
|
|
66
66
|
|
|
@@ -84,7 +84,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
84
84
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, CONST.OTHER_MODULE, CONST.LINE_KEYWORDS.AUTONEXT
|
|
85
85
|
- [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
|
|
86
86
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
87
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: EVENTS.UID, emitClone
|
|
88
87
|
|
|
89
88
|
### Остальные
|
|
90
89
|
|
package/plugins/text/wall.md
CHANGED
|
@@ -37,7 +37,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
37
37
|
|
|
38
38
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
39
39
|
- [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR, EVENTS.SET
|
|
40
|
-
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
41
40
|
|
|
42
41
|
### Остальные
|
|
43
42
|
|
|
@@ -56,7 +56,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
56
56
|
|
|
57
57
|
### plugins/core/
|
|
58
58
|
|
|
59
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
59
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), CONST.FILTER_FROM_RESULT_OPTIONS
|
|
60
60
|
- [media.md](../core/media.md) — `MEDIA`: CONST.PRIORITIES.BACKGROUND
|
|
61
61
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINE_LOAD_REG, CONST.LINE_KEYWORDS.SKIP_IF_POSSIBLE
|
|
62
62
|
- [storage.md](../core/storage.md) — `STORAGE`: EVENTS.RM_ALL, EVENTS.GET, EVENTS.SET
|
package/plugins/views/cursor.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Отображает кастомный курсор с загрузкой иконок default/pointer.
|
|
6
6
|
|
|
7
|
-
Интерактивные элементы игрового UI задают тип курсора атрибутом `vne-cursor-type` на DOM-узле (`"pointer"` или пусто), а не через CSS `cursor`. Компонент курсора читает стек через `elementsFromPoint`,
|
|
7
|
+
Интерактивные элементы игрового UI задают тип курсора атрибутом `vne-cursor-type` на DOM-узле (`"pointer"` или пусто), а не через CSS `cursor`. Вместе с непустым типом на том же узле стоит `vne-cursor-target-possible`. Компонент курсора читает стек через `elementsFromPoint`, ставит `vne-cursor-target` только на узлы с `vne-cursor-target-possible` (и только если набор таких узлов изменился) и переключает иконку default/pointer по непустому `vne-cursor-type` во всём стеке. Исключение: у Range input остаётся `cursor: inherit`, чтобы браузерный курсор `<input type="range">` уходил в `none`.
|
|
8
8
|
|
|
9
9
|
## События
|
|
10
10
|
|
|
@@ -17,7 +17,8 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
17
17
|
|
|
18
18
|
## Константы
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
- **`EXEC_ACTIONS.SHOW`** — `"show"`: действие сценарной команды.
|
|
21
|
+
- **`LOGS_ACTIONS.SHOW` / `ACCEPT`** — метки логов при показе и принятии.
|
|
21
22
|
|
|
22
23
|
## Параметры
|
|
23
24
|
|
|
@@ -62,7 +63,7 @@ $ disclaimer show qte
|
|
|
62
63
|
|
|
63
64
|
### plugins/core/
|
|
64
65
|
|
|
65
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
66
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
66
67
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
67
68
|
|
|
68
69
|
### Остальные
|
|
@@ -22,7 +22,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
22
22
|
|
|
23
23
|
## Константы
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
- **`LOGS_ACTIONS`** — `click`, `interact`, `skip`.
|
|
26
26
|
|
|
27
27
|
## Параметры
|
|
28
28
|
|
|
@@ -47,7 +47,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
47
47
|
|
|
48
48
|
### plugins/core/
|
|
49
49
|
|
|
50
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
50
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
51
51
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, CONST.LINE_KEYWORDS.SKIP_IF_POSSIBLE
|
|
52
52
|
- [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
|
|
53
53
|
|
|
@@ -20,7 +20,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
20
20
|
|
|
21
21
|
## Константы
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
- **`LOGS_ACTIONS`** — `start`, `finish`.
|
|
24
24
|
|
|
25
25
|
## Параметры
|
|
26
26
|
|
|
@@ -45,7 +45,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
45
45
|
|
|
46
46
|
### plugins/core/
|
|
47
47
|
|
|
48
|
-
- [logs.md](../core/logs.md) — `LOGS`:
|
|
48
|
+
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
49
49
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
|
|
50
50
|
- [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
|
|
51
51
|
|