@vnejs/docs 0.2.49 → 0.2.51
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 +14 -0
- package/architecture.md +10 -13
- package/package.json +1 -1
- package/plugins/core/scenario.md +8 -8
- package/plugins/core/stack.md +3 -3
- package/plugins/entities/wallet.md +1 -1
- package/plugins/game/checkers.md +3 -3
- package/plugins/save/save.md +1 -1
- package/plugins/scenario/choose.md +9 -11
- package/plugins/scenario/fastforward.md +1 -1
- package/plugins/scenario/history.md +2 -2
- package/plugins/scenario/pause.md +2 -2
- package/plugins/scenario/point_and_click.md +4 -4
- package/plugins/scenario/qte.md +5 -5
- package/plugins/scenario/random.md +1 -1
- package/plugins/text/meet.md +1 -1
- package/plugins/text/text.md +16 -19
- package/plugins/text/wall.md +2 -2
- package/plugins/time/date.md +1 -1
- package/plugins/time/time.md +1 -1
- package/plugins/vars/counters.md +1 -1
- package/plugins/vars/flags.md +1 -1
- package/plugins/views/achievement.md +1 -1
- package/plugins/views/comment.md +1 -1
- package/plugins/views/video.md +1 -1
- package/plugins/views.scenario/interface.md +2 -2
- package/plugins/views.screens/credits.md +2 -2
- package/plugins/views.screens/disclaimer.md +2 -2
- package/plugins/views.screens/intro.md +1 -1
- package/plugins/views.screens/save.md +1 -1
- package/plugins/views.screens/settings.defaults.md +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Краткая история изменений движка (плагины, helpers, packages, CLI и прочий runtime) и внешнего API. Версии — релизы пакета `@vnejs/docs`.
|
|
4
4
|
|
|
5
|
+
## 0.2.51
|
|
6
|
+
|
|
7
|
+
- `observer` / `module` — `Observer.emit(event, payload, params)` вместо rest-args; `Module.emit(event, payload?)` сам собирает `params = { module: this.name }`. API: `EmitParams`, `EmitPayload`.
|
|
8
|
+
- `core/scenario` — `NEXT` payload `void`; имя вызывающего модуля в `EmitParams` (через `Module.emit`). API: `ScenarioNextPayload` → `void`.
|
|
9
|
+
- `module.core` — снят `emitNext`; вместо него `emit(EVENTS.SCENARIO.NEXT)`. API: снято `ModuleCore.emitNext`.
|
|
10
|
+
- `text/text` — на `EMIT_NEXT` сценарий двигает `text.emit.next` через `onTextEmitNext` → `EVENTS.SCENARIO.NEXT`.
|
|
11
|
+
|
|
12
|
+
## 0.2.50
|
|
13
|
+
|
|
14
|
+
- `observer` — `SubscriberOptions.priority` (default `0`); группы хендлеров собираются в `subscribe`, `emit` обходит их по возрастанию priority (внутри группы — параллельно); ответы со всех групп. API: `SubscriberOptions.priority`, `SubscriberGroup`.
|
|
15
|
+
- `module.handlers` — пакет `@vnejs/module.handlers` / `ModuleHandlers` снят; вместо `*_REG` — `on(event, handler, { priority })`.
|
|
16
|
+
- `text/text` — сняты `EMIT_BEFORE_REG` / `EMIT_NEXT_REG` и модуль `text.emit.before`; подписки на `EMIT_BEFORE` / `EMIT_NEXT` с `priority`. API: сняты `EVENTS.TEXT.EMIT_BEFORE_REG`, `EVENTS.TEXT.EMIT_NEXT_REG`.
|
|
17
|
+
- `scenario/choose` — сняты `OPTION_BEFORE_REG` и модуль `choose.option.before`; подписка на `OPTION_BEFORE` с `priority`. API: снято `EVENTS.CHOOSE.OPTION_BEFORE_REG`.
|
|
18
|
+
|
|
5
19
|
## 0.2.49
|
|
6
20
|
|
|
7
21
|
- `cli/monorepo` — при падении `run-changed` / `publish` в ошибке видны пакет, путь и exit code (и `!!!` в stderr у `publish`), а не только `N package script(s) failed`.
|
package/architecture.md
CHANGED
|
@@ -97,15 +97,15 @@ flowchart BT
|
|
|
97
97
|
SH --> ME
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
| Пакет | Назначение
|
|
101
|
-
| ------------------------ |
|
|
102
|
-
| **`@vnejs/shared`** | Реестр **`VNE`**, массив **`VNE_MODULES`**, **`regPlugin`** / **`regModule`**, типы для module augmentation
|
|
103
|
-
| **`@vnejs/observer`** | **`Observer`** — pub/sub: `subscribe
|
|
104
|
-
| **`@vnejs/core`** | **`VneCore`**: модули из `VNE_MODULES`, lifecycle, загрузка `mods.json` / `media_info/`, `reset`
|
|
105
|
-
| **`@vnejs/constants`** | Общие константы-заглушки (`EMPTY_OBJECT`, `EMPTY_ARRAY`)
|
|
106
|
-
| **`@vnejs/sources-set`** | **`SourcesSet`** — управление множеством «источников» (text и связанная логика)
|
|
107
|
-
| **`@vnejs/semaphore`** | **`Semaphore`** — очередь задач с весами и ограничением параллелизма
|
|
108
|
-
| **`@vnejs/test-utils`** | Harness для тестов модулей: observer stubs, `createTestModule`, spies, DOM mocks
|
|
100
|
+
| Пакет | Назначение |
|
|
101
|
+
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
|
|
102
|
+
| **`@vnejs/shared`** | Реестр **`VNE`**, массив **`VNE_MODULES`**, **`regPlugin`** / **`regModule`**, типы для module augmentation |
|
|
103
|
+
| **`@vnejs/observer`** | **`Observer`** — pub/sub: `subscribe` / `emit` с `priority` (группы по возрастанию), `emitOne`, `emitReal`, `emitReals` |
|
|
104
|
+
| **`@vnejs/core`** | **`VneCore`**: модули из `VNE_MODULES`, lifecycle, загрузка `mods.json` / `media_info/`, `reset` |
|
|
105
|
+
| **`@vnejs/constants`** | Общие константы-заглушки (`EMPTY_OBJECT`, `EMPTY_ARRAY`) |
|
|
106
|
+
| **`@vnejs/sources-set`** | **`SourcesSet`** — управление множеством «источников» (text и связанная логика) |
|
|
107
|
+
| **`@vnejs/semaphore`** | **`Semaphore`** — очередь задач с весами и ограничением параллелизма |
|
|
108
|
+
| **`@vnejs/test-utils`** | Harness для тестов модулей: observer stubs, `createTestModule`, spies, DOM mocks |
|
|
109
109
|
|
|
110
110
|
### Принципы
|
|
111
111
|
|
|
@@ -126,7 +126,6 @@ flowchart BT
|
|
|
126
126
|
flowchart TD
|
|
127
127
|
M["@vnejs/module<br/>Module"]
|
|
128
128
|
MC["@vnejs/module.core<br/>ModuleCore"]
|
|
129
|
-
MH["@vnejs/module.handlers<br/>ModuleHandlers"]
|
|
130
129
|
MR["@vnejs/module.replace<br/>ModuleReplace"]
|
|
131
130
|
MRE["@vnejs/module.replace.exec<br/>ModuleReplaceExec"]
|
|
132
131
|
MCO["@vnejs/module.components<br/>ModuleController, ModuleView"]
|
|
@@ -147,7 +146,6 @@ flowchart TD
|
|
|
147
146
|
MSC["@vnejs/module.scales.common"]
|
|
148
147
|
|
|
149
148
|
M --> MC
|
|
150
|
-
MC --> MH
|
|
151
149
|
MC --> MR
|
|
152
150
|
MC --> MRE
|
|
153
151
|
MC --> MCO
|
|
@@ -171,8 +169,7 @@ flowchart TD
|
|
|
171
169
|
| Пакет | Назначение |
|
|
172
170
|
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
173
171
|
| **`@vnejs/module`** | **`Module`**: `VNE`, `on`/`emit`, `inject`, state, shared, media, lifecycle |
|
|
174
|
-
| **`@vnejs/module.core`** | **`ModuleCore`** — типизированный доступ к **core-контрактам**; `emitLog`, `
|
|
175
|
-
| **`@vnejs/module.handlers`** | **`ModuleHandlers`** — параллельные обработчики emit-событий с приоритетами (side effects) |
|
|
172
|
+
| **`@vnejs/module.core`** | **`ModuleCore`** — типизированный доступ к **core-контрактам**; `emitLog`, `emitClone`, … |
|
|
176
173
|
| **`@vnejs/module.replace`** | **`ModuleReplace`** — последовательная подмена значения поля payload через `REPLACE_KEY` и цепочку handlers |
|
|
177
174
|
| **`@vnejs/module.replace.exec`** | **`ModuleReplaceExec`** — реестр exec-handlers по имени модуля (`EXEC_REG` / `EXEC_GET`) |
|
|
178
175
|
| **`@vnejs/module.components`** | **`ModuleView`**, **`ModuleController`** — React-view, zustand, media, controls |
|
package/package.json
CHANGED
package/plugins/core/scenario.md
CHANGED
|
@@ -45,14 +45,14 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
45
45
|
|
|
46
46
|
## Модули
|
|
47
47
|
|
|
48
|
-
| Модуль | Зона ответственности
|
|
49
|
-
| -------------------- |
|
|
50
|
-
| `scenario` | Главный цикл `NEXT`, exec строк, sync state.
|
|
51
|
-
| `scenario.autostart` | Дефолт `shared.shouldAutostartScenario` в `postinject`; в `start` — init label + `
|
|
52
|
-
| `scenario.exec` | Dispatch `$module` / `%block`, registry handlers, `EXEC_DELAY`.
|
|
53
|
-
| `scenario.label` | `LABEL_GET`, preload меток; `MEMORY.REG` в `setup`; init label на `STATE.CLEAR`. Одна упавшая строка не валит всю метку.
|
|
54
|
-
| `scenario.line` | `MEMORY.REG` в `setup`; `LINE_LOAD` / `LINE_GET`, registry preload handlers. Executor `LINE_GET` всегда resolve.
|
|
55
|
-
| `scenario.lines` | `MEMORY.REG` в `setup`; fetch `label/<path>.json` с `HOST` (например `label/prologue/1.json`).
|
|
48
|
+
| Модуль | Зона ответственности |
|
|
49
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
|
50
|
+
| `scenario` | Главный цикл `NEXT`, exec строк, sync state. Handler `NEXT` читает `module` из `EmitParams` (`Module.emit`). |
|
|
51
|
+
| `scenario.autostart` | Дефолт `shared.shouldAutostartScenario` в `postinject`; в `start` — init label + `emit SCENARIO.NEXT` при включённом флаге. |
|
|
52
|
+
| `scenario.exec` | Dispatch `$module` / `%block`, registry handlers, `EXEC_DELAY`. |
|
|
53
|
+
| `scenario.label` | `LABEL_GET`, preload меток; `MEMORY.REG` в `setup`; init label на `STATE.CLEAR`. Одна упавшая строка не валит всю метку. |
|
|
54
|
+
| `scenario.line` | `MEMORY.REG` в `setup`; `LINE_LOAD` / `LINE_GET`, registry preload handlers. Executor `LINE_GET` всегда resolve. |
|
|
55
|
+
| `scenario.lines` | `MEMORY.REG` в `setup`; fetch `label/<path>.json` с `HOST` (например `label/prologue/1.json`). |
|
|
56
56
|
|
|
57
57
|
## Близкие плагины
|
|
58
58
|
|
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` при запрете не делает `
|
|
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
|
|
|
@@ -43,7 +43,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
43
43
|
| `stack.pop` | Pop frame. |
|
|
44
44
|
| `stack.clear` | Clear state + next. |
|
|
45
45
|
| `stack.args` | Резолв аргументов из строки сценария. |
|
|
46
|
-
| `stack.exec` | Регистрация `$stack` handlers в scenario (jump/call/pop + preload). На `LINE_LOAD` jump/call — `PROHIBIT_REPLACE` до `LABEL_GET`. `onLineExec`: `
|
|
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
47
|
| `stack.replace` | Реестр обработчиков `PROHIBIT_REPLACE_REG`; наследник `@vnejs/module.replace`; `REPLACE_KEY` — `isProhibited`. |
|
|
48
48
|
| `stack.logs` | Логирование операций стека, в т.ч. `PROHIBITED`; в `init` регистрирует хендлер `PROHIBIT_REPLACE` (пропускает флаг). |
|
|
49
49
|
|
|
@@ -54,7 +54,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
54
54
|
- [logs.md](./logs.md) — `LOGS`: `emitLog`, `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
|
-
- [scenario.md](./scenario.md) — `SCENARIO`: `LABEL_GET`, `LINE_EXEC_REG`, `LINE_LOAD_REG`; `
|
|
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
59
|
- [vendors.md](./vendors.md) — `VENDORS`: `CLONE` (`emitClone` для args)
|
|
60
60
|
|
|
@@ -41,7 +41,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
41
41
|
|
|
42
42
|
### plugins/core/
|
|
43
43
|
|
|
44
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
44
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
45
45
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
46
46
|
|
|
47
47
|
### Остальные
|
package/plugins/game/checkers.md
CHANGED
|
@@ -16,7 +16,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
16
16
|
| `SET` | `vne:checkers:set` | `{ cells, owner }` → `GRID.SET` + `TURNS.SET` (id / rows / columns из констант). |
|
|
17
17
|
| `UNSET` | `vne:checkers:unset` | `GRID.UNSET` + `TURNS.UNSET` по `GRID_ID` / `TURN_ID`. |
|
|
18
18
|
| `STATE_UPDATE` | `vne:checkers:state_update` | Патч game-стейта (без board). |
|
|
19
|
-
| `FINISH` | `vne:checkers:finish` | Конец партии: `{ winner }` → delay → `sources.clear()` + `
|
|
19
|
+
| `FINISH` | `vne:checkers:finish` | Конец партии: `{ winner }` → delay → `sources.clear()` + `emit SCENARIO.NEXT`. |
|
|
20
20
|
| `MOVES_GET` | `vne:checkers:moves_get` | `emitOne`: `{ board, turn }` → `{ moves, hanging, safe }`. |
|
|
21
21
|
| `MOVE_PLAY` | `vne:checkers:move_play` | `emitOne`: `{ move, controllerType? }` → `boolean`; успех → `MOVE_PLAYED` или при победе `FINISH`. |
|
|
22
22
|
| `MOVE_PLAYED` | `vne:checkers:move_played` | После хода (из `MOVE_PLAY`); цикл AI — в `CHECKERS_AI`. |
|
|
@@ -31,7 +31,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
31
31
|
| `CONST.CHECKERS.TURN_ID` | `"checkers"` — id в `TURNS` |
|
|
32
32
|
| `CONST.CHECKERS.GRID_ID` | `"checkers"` — id в `GRID` |
|
|
33
33
|
| `shared.checkersInteractDisableSources` | `SourcesSet` — блок интерактива на ход AI |
|
|
34
|
-
| `PARAMS.CHECKERS.FINISH_DELAY` | пауза перед `
|
|
34
|
+
| `PARAMS.CHECKERS.FINISH_DELAY` | пауза перед `emit SCENARIO.NEXT` на `FINISH` (мс, `300`) |
|
|
35
35
|
| `PARAMS.CHECKERS.ROWS` / `COLUMNS` | `8` — размер для `GRID.SET` (внутри `SET`) |
|
|
36
36
|
| `PARAMS.CHECKERS.PRESETS` | пресеты доски: `COMMON`, `FLIPPED`, `RANDOM` (RANDOM каждый `SHOW` заново) |
|
|
37
37
|
|
|
@@ -43,7 +43,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
43
43
|
| `checkers.show` | SHOW → `SET` + START; HIDE → `UNSET` |
|
|
44
44
|
| `checkers.set` | `SET` → `GRID`/`TURNS`; `UNSET` → `GRID`/`TURNS` UNSET |
|
|
45
45
|
| `checkers.moves` / `checkers.move.play` | ходы; `move.play` → `SET` / `FINISH` |
|
|
46
|
-
| `checkers.finish` | FINISH → delay + `
|
|
46
|
+
| `checkers.finish` | FINISH → delay + `emit SCENARIO.NEXT` |
|
|
47
47
|
|
|
48
48
|
## Сценарий
|
|
49
49
|
|
package/plugins/save/save.md
CHANGED
|
@@ -53,7 +53,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
53
53
|
### plugins/core/
|
|
54
54
|
|
|
55
55
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog, CONST.FILTER_FROM_RESULT_OPTIONS
|
|
56
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
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
|
|
59
59
|
- [system.md](../core/system.md) — `SYSTEM`: CONST.DOM_IDS.APP
|
|
@@ -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 и `
|
|
13
|
+
| `$ choose repeat` | Вернуться к ближайшему `% choose` **выше** текущей строки в том же label и `emit SCENARIO.NEXT`. |
|
|
14
14
|
|
|
15
15
|
Пример цикла «осмотреть → вернуться в меню»:
|
|
16
16
|
|
|
@@ -31,12 +31,11 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
31
31
|
| Ключ | Строка | Смысл |
|
|
32
32
|
| -------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
|
33
33
|
| `EMIT` | `vne:choose:emit` | Принять опции и args; если есть видимые — `STATE_UPDATE` и `SHOW`; иначе `SKIP`. |
|
|
34
|
-
| `OPTION` | `vne:choose:option` | Принять выбор по UI-индексу: прогнать `OPTION_BEFORE`, затем `HIDE`, `OPTION_REPLACE`, установить `curLine`, сброс state, `
|
|
35
|
-
| `OPTION_BEFORE` | `vne:choose:option_before` | Side effects до применения выбора (
|
|
36
|
-
| `OPTION_BEFORE_REG` | `vne:choose:option_before_reg` | Зарегистрировать обработчик `OPTION_BEFORE`. |
|
|
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). |
|
|
37
36
|
| `OPTION_REPLACE` | `vne:choose:option_replace` | Подменить UI-индекс принятой опции (цепочка handlers перед переходом по ветке). |
|
|
38
37
|
| `OPTION_REPLACE_REG` | `vne:choose:option_replace_reg` | Зарегистрировать обработчик `OPTION_REPLACE`. |
|
|
39
|
-
| `SKIP` | `vne:choose:skip` | Пропустить блок: `curLine` на первую строку после indent-дерева `% choose`, `
|
|
38
|
+
| `SKIP` | `vne:choose:skip` | Пропустить блок: `curLine` на первую строку после indent-дерева `% choose`, `emit SCENARIO.NEXT`. |
|
|
40
39
|
| `SHOW` | `vne:choose:show` | Выбор активен (state готов). Слушает view-плагин. |
|
|
41
40
|
| `HIDE` | `vne:choose:hide` | Выбор закрыт. Слушает view-плагин. |
|
|
42
41
|
| `EXEC_REG` | `vne:choose:exec_reg` | Зарегистрировать exec-обработчик для подстановки в опции. |
|
|
@@ -67,7 +66,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
67
66
|
| `choose.option` | Обрабатывает `OPTION`. |
|
|
68
67
|
| `choose.skip` | Обрабатывает `SKIP` через `getBlockSkipShift`. |
|
|
69
68
|
| `choose.logs` | Логирование `EMIT` / `OPTION` / `SKIP` / `SHOW` / `HIDE`. |
|
|
70
|
-
| `choose.option.before` | Реестр обработчиков `OPTION_BEFORE_REG`; наследник `@vnejs/module.handlers`. |
|
|
71
69
|
| `choose.replace` | Реестр обработчиков `OPTION_REPLACE_REG`; наследник `@vnejs/module.replace`. |
|
|
72
70
|
| `choose.exec` | Реестр обработчиков EXEC_REG / EXEC_GET. |
|
|
73
71
|
| `choose.scenario` | Регистрация `% choose`: сбор option-строк через `getBlockOptions`, emit `EMIT`. |
|
|
@@ -80,13 +78,13 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
80
78
|
|
|
81
79
|
Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.fastforward`
|
|
82
80
|
|
|
83
|
-
В `
|
|
81
|
+
В `subscribe` слушает `OPTION_BEFORE`: при выборе опции эмитит `FASTFORWARD.CHECK` (до `HIDE` / `OPTION_REPLACE`).
|
|
84
82
|
|
|
85
83
|
### `compatibility/scenario.choose/scenario.history/`
|
|
86
84
|
|
|
87
85
|
Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.history`
|
|
88
86
|
|
|
89
|
-
В `
|
|
87
|
+
В `subscribe` слушает `OPTION_BEFORE`: при выборе опции эмитит `HISTORY.ADD` с `{ locKey: "choice" }` (без speaker/text). Текст строки берётся из локализации экрана history (`history.json`). Подключается в `bundles/vn.skeleton`.
|
|
90
88
|
|
|
91
89
|
### `compatibility/scenario.choose/scenario.qte/`
|
|
92
90
|
|
|
@@ -99,7 +97,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
99
97
|
### plugins/core/
|
|
100
98
|
|
|
101
99
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog, `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
102
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
100
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
|
|
103
101
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
104
102
|
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
105
103
|
|
|
@@ -107,7 +105,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
107
105
|
|
|
108
106
|
- [text.md](../text/text.md) — `TEXT`: EVENTS.REPLACE (текст опций)
|
|
109
107
|
- [qte.md](./qte.md) — `QTE`: связка через `OPTION_REPLACE` (compatibility выше)
|
|
110
|
-
- [fastforward.md](./fastforward.md) — `FASTFORWARD`: связка через `
|
|
111
|
-
- [history.md](./history.md) — `HISTORY`: связка через `
|
|
108
|
+
- [fastforward.md](./fastforward.md) — `FASTFORWARD`: связка через `OPTION_BEFORE` (compatibility выше)
|
|
109
|
+
- [history.md](./history.md) — `HISTORY`: связка через `OPTION_BEFORE` → `ADD` с `locKey` (compatibility выше)
|
|
112
110
|
- [views.scenario/choose.md](../views.scenario/choose.md) — `CHOOSE_VIEW`: UI выбора (слушает SHOW / HIDE)
|
|
113
111
|
- [scenario/point_and_click.md](./point_and_click.md) — тот же паттерн `repeat` / `SKIP` / `SHOW` / `HIDE` / `STATE_UPDATE`
|
|
@@ -71,4 +71,4 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
71
71
|
|
|
72
72
|
### Остальные
|
|
73
73
|
|
|
74
|
-
- [choose.md](./choose.md) — `CHOOSE`: связка через `compatibility/scenario.choose/scenario.fastforward` (`
|
|
74
|
+
- [choose.md](./choose.md) — `CHOOSE`: связка через `compatibility/scenario.choose/scenario.fastforward` (`OPTION_BEFORE` → `FASTFORWARD.CHECK`)
|
|
@@ -59,7 +59,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
59
59
|
|
|
60
60
|
Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.history`
|
|
61
61
|
|
|
62
|
-
На `CHOOSE.
|
|
62
|
+
На `CHOOSE.OPTION_BEFORE` эмитит `HISTORY.ADD` с `{ locKey: "choice" }`. Перевод строки — ключ `choice` в `history.json` экрана. Подключается в `bundles/vn.skeleton`.
|
|
63
63
|
|
|
64
64
|
## Близкие плагины
|
|
65
65
|
|
|
@@ -73,5 +73,5 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
73
73
|
### Остальные
|
|
74
74
|
|
|
75
75
|
- [text.md](../text/text.md) — `TEXT`: `EMIT_NEXT` → `ADD` (compatibility выше)
|
|
76
|
-
- [choose.md](./choose.md) — `CHOOSE`: `
|
|
76
|
+
- [choose.md](./choose.md) — `CHOOSE`: `OPTION_BEFORE` → `ADD` (compatibility выше)
|
|
77
77
|
- [views.screens/history.md](../views.screens/history.md) — `HISTORY_VIEW`: экран журнала (`SHOW` / `HIDE`); читает `GET` / `KEYS` / `LOAD`
|
|
@@ -35,7 +35,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
35
35
|
| `pause` | `START` ждёт `END`: клик (`INTERACT`) или таймер `time`. |
|
|
36
36
|
| `pause.emit` | В `postinject` — `shared.pauseDisableSources`. `EMIT` → `START`, если набор пуст. |
|
|
37
37
|
| `pause.logs` | Логи `EMIT` / `START` / `END` через `emitLog`. `EMIT` пишет `time`. |
|
|
38
|
-
| `pause.scenario` | `LINE_EXEC_REG` для `$ pause` в `init`. Парсит `time`, эмитит `EMIT`, затем `
|
|
38
|
+
| `pause.scenario` | `LINE_EXEC_REG` для `$ pause` в `init`. Парсит `time`, эмитит `EMIT`, затем `emit SCENARIO.NEXT`. |
|
|
39
39
|
|
|
40
40
|
## Близкие плагины
|
|
41
41
|
|
|
@@ -43,7 +43,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
43
43
|
|
|
44
44
|
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.POP, EVENTS.PUSH
|
|
45
45
|
- [logs.md](../core/logs.md) — `LOGS`: `emitLog`, `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
46
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
46
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
47
47
|
|
|
48
48
|
### Остальные
|
|
49
49
|
|
|
@@ -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 и `
|
|
13
|
+
| `$ point-and-click repeat` | Вернуться к ближайшему `% point-and-click` **выше** текущей строки в том же label и `emit SCENARIO.NEXT`. |
|
|
14
14
|
|
|
15
15
|
Пример цикла осмотра:
|
|
16
16
|
|
|
@@ -33,8 +33,8 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
33
33
|
| Ключ | Строка | Смысл |
|
|
34
34
|
| -------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
35
35
|
| `EMIT` | `vne:point_and_click:emit` | Принять опции и args; если есть видимые — `STATE_UPDATE` и `SHOW`; иначе `SKIP`. |
|
|
36
|
-
| `OPTION` | `vne:point_and_click:option` | Выбор hotspot: `HIDE`, `curLine` внутрь опции, сброс state через `STATE_UPDATE`, `
|
|
37
|
-
| `SKIP` | `vne:point_and_click:skip` | Пропустить блок: `curLine` на первую строку после indent-дерева `% point-and-click`, `
|
|
36
|
+
| `OPTION` | `vne:point_and_click:option` | Выбор hotspot: `HIDE`, `curLine` внутрь опции, сброс state через `STATE_UPDATE`, `emit SCENARIO.NEXT`. |
|
|
37
|
+
| `SKIP` | `vne:point_and_click:skip` | Пропустить блок: `curLine` на первую строку после indent-дерева `% point-and-click`, `emit SCENARIO.NEXT`. |
|
|
38
38
|
| `SHOW` | `vne:point_and_click:show` | Выбор активен (state готов). Слушает view-плагин. |
|
|
39
39
|
| `HIDE` | `vne:point_and_click:hide` | Выбор закрыт. Слушает view-плагин. |
|
|
40
40
|
| `EXEC_REG` | `vne:point_and_click:exec_reg` | Зарегистрировать exec-обработчик для подстановки в опции. |
|
|
@@ -89,7 +89,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
89
89
|
### plugins/core/
|
|
90
90
|
|
|
91
91
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog, `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
92
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
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
94
|
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
95
95
|
|
package/plugins/scenario/qte.md
CHANGED
|
@@ -13,7 +13,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
13
13
|
| Ключ | Строка | Смысл |
|
|
14
14
|
| -------- | ---------------- | ------------------------------------------------------------------------------------------------ |
|
|
15
15
|
| `EMIT` | `vne:qte:emit` | Запустить QTE: принять `id` / `item` / `skipScenario`, эмитить `OPENED`. |
|
|
16
|
-
| `RESULT` | `vne:qte:result` | Результат раунда (`success`). Эмитит `CLOSED`; без `skipScenario` — сдвиг сценария и `
|
|
16
|
+
| `RESULT` | `vne:qte:result` | Результат раунда (`success`). Эмитит `CLOSED`; без `skipScenario` — сдвиг сценария и `emit SCENARIO.NEXT`. |
|
|
17
17
|
| `OPENED` | `vne:qte:opened` | QTE активен. Слушает view-плагин. |
|
|
18
18
|
| `CLOSED` | `vne:qte:closed` | QTE закрыт. Слушает view-плагин. |
|
|
19
19
|
|
|
@@ -49,7 +49,7 @@ View сам переводит проценты в геометрию (град
|
|
|
49
49
|
| Модуль | Зона ответственности |
|
|
50
50
|
| -------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
51
51
|
| `qte` | EMIT → `OPENED`; в `postinject` и на `EMIT` пишет `shared.qteScenarioSkip`. |
|
|
52
|
-
| `qte.result` | RESULT → `CLOSED`; без skip — `applyResult` (success → `curLine + 1`, fail → `getBlockSkipShift`) и `
|
|
52
|
+
| `qte.result` | RESULT → `CLOSED`; без skip — `applyResult` (success → `curLine + 1`, fail → `getBlockSkipShift`) и `emit SCENARIO.NEXT`. |
|
|
53
53
|
| `qte.logs` | Логи `EMIT` / `RESULT` через `emitLog`; `skipScenario` из `shared.qteScenarioSkip`. |
|
|
54
54
|
| `qte.scenario` | Регистрация `% qte` в SCENARIO; lookup `ITEMS`; при отсутствии id/item — log `MISSING` и `RESULT { success: false }`. |
|
|
55
55
|
|
|
@@ -64,11 +64,11 @@ View сам переводит проценты в геометрию (град
|
|
|
64
64
|
1. `% qte <id>` → `EMIT` с `item` из `ITEMS[id]`.
|
|
65
65
|
2. **Success** → `curLine` на первую строку внутри блока.
|
|
66
66
|
3. **Fail** (или неизвестный id) → пропуск indented-блока, дальше по сценарию.
|
|
67
|
-
4. После `RESULT` (без `skipScenario`) — `
|
|
67
|
+
4. После `RESULT` (без `skipScenario`) — `emit SCENARIO.NEXT`.
|
|
68
68
|
|
|
69
69
|
## Embedded (`skipScenario`)
|
|
70
70
|
|
|
71
|
-
При `EMIT` с `skipScenario: true` ставится `shared.qteScenarioSkip`; на `RESULT` модуль `qte.result` **не** меняет `curLine` и **не** вызывает `
|
|
71
|
+
При `EMIT` с `skipScenario: true` ставится `shared.qteScenarioSkip`; на `RESULT` модуль `qte.result` **не** меняет `curLine` и **не** вызывает `emit SCENARIO.NEXT` — только `CLOSED`. Используется compatibility choose↔qte, чтобы ветвление осталось у choose. В `postinject` модуля `qte` флаг — `false`.
|
|
72
72
|
|
|
73
73
|
## Compatibility
|
|
74
74
|
|
|
@@ -96,7 +96,7 @@ View сам переводит проценты в геометрию (град
|
|
|
96
96
|
### plugins/core/
|
|
97
97
|
|
|
98
98
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog
|
|
99
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
99
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
|
|
100
100
|
|
|
101
101
|
### Остальные
|
|
102
102
|
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
### plugins/core/
|
|
32
32
|
|
|
33
33
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog
|
|
34
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
34
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
|
|
35
35
|
|
|
36
36
|
### Остальные
|
|
37
37
|
|
package/plugins/text/meet.md
CHANGED
|
@@ -35,7 +35,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
35
35
|
### plugins/core/
|
|
36
36
|
|
|
37
37
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog
|
|
38
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
38
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
39
39
|
|
|
40
40
|
### Остальные
|
|
41
41
|
|
package/plugins/text/text.md
CHANGED
|
@@ -12,10 +12,8 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
12
12
|
| --------------------- | ------------------------------ | ------------------------------------------------------------------- |
|
|
13
13
|
| `EMIT` | `vne:text:emit` | Начать вывод: подготовка токенов, обновление state, запуск process. |
|
|
14
14
|
| `EMIT_END` | `vne:text:emit_end` | Завершить текущий шаг; при autonext перейти к следующему. |
|
|
15
|
-
| `EMIT_NEXT` | `vne:text:emit_next` | Перейти к следующему шагу emit.
|
|
16
|
-
| `
|
|
17
|
-
| `EMIT_BEFORE` | `vne:text:emit_before` | Хук перед основным emit. |
|
|
18
|
-
| `EMIT_BEFORE_REG` | `vne:text:emit_before_reg` | Зарегистрировать обработчик `EMIT_BEFORE`. |
|
|
15
|
+
| `EMIT_NEXT` | `vne:text:emit_next` | Перейти к следующему шагу emit (подписки с `priority` на Observer). |
|
|
16
|
+
| `EMIT_BEFORE` | `vne:text:emit_before` | Хук перед основным emit (подписки с `priority` на Observer). |
|
|
19
17
|
| `EMIT_PROCESS` | `vne:text:emit_process` | Запустить пошаговый процесс вывода. |
|
|
20
18
|
| `PREPARE_TOKENS` | `vne:text:prepare_tokens` | Подготовить токены или промежуточные данные. |
|
|
21
19
|
| `PROCESS_CANCEL` | `vne:text:process_cancel` | Отменить текущий процесс. |
|
|
@@ -50,20 +48,19 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
50
48
|
|
|
51
49
|
## Модули
|
|
52
50
|
|
|
53
|
-
| Модуль | Зона ответственности
|
|
54
|
-
| ---------------------- |
|
|
55
|
-
| `text.emit.
|
|
56
|
-
| `text.emit.
|
|
57
|
-
| `text.emit
|
|
58
|
-
| `text.
|
|
59
|
-
| `text.
|
|
60
|
-
| `text.
|
|
61
|
-
| `text.process.
|
|
62
|
-
| `text.
|
|
63
|
-
| `text.
|
|
64
|
-
| `text.
|
|
65
|
-
| `text
|
|
66
|
-
| `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. |
|
|
67
64
|
|
|
68
65
|
## Compatibility
|
|
69
66
|
|
|
@@ -84,7 +81,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
84
81
|
### plugins/core/
|
|
85
82
|
|
|
86
83
|
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.PUSH, EVENTS.POP
|
|
87
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
84
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, CONST.OTHER_MODULE, CONST.LINE_KEYWORDS.AUTONEXT
|
|
88
85
|
- [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
|
|
89
86
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
90
87
|
- [vendors.md](../core/vendors.md) — `VENDORS`: EVENTS.UID, emitClone
|
package/plugins/text/wall.md
CHANGED
|
@@ -35,10 +35,10 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
35
35
|
|
|
36
36
|
### plugins/core/
|
|
37
37
|
|
|
38
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
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
40
|
- [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
|
|
41
41
|
|
|
42
42
|
### Остальные
|
|
43
43
|
|
|
44
|
-
- [text.md](./text.md) — `TEXT`: EVENTS.RECALC, EVENTS.
|
|
44
|
+
- [text.md](./text.md) — `TEXT`: EVENTS.RECALC, EVENTS.EMIT_BEFORE, EVENTS.REPLACE
|
package/plugins/time/date.md
CHANGED
|
@@ -36,7 +36,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
36
36
|
|
|
37
37
|
### plugins/core/
|
|
38
38
|
|
|
39
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
39
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
40
40
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
41
41
|
|
|
42
42
|
### Остальные
|
package/plugins/time/time.md
CHANGED
|
@@ -37,7 +37,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
37
37
|
|
|
38
38
|
### plugins/core/
|
|
39
39
|
|
|
40
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
40
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
41
41
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
42
42
|
|
|
43
43
|
### Остальные
|
package/plugins/vars/counters.md
CHANGED
|
@@ -43,7 +43,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
43
43
|
|
|
44
44
|
### plugins/core/
|
|
45
45
|
|
|
46
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
46
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
47
47
|
|
|
48
48
|
### Остальные
|
|
49
49
|
|
package/plugins/vars/flags.md
CHANGED
|
@@ -39,7 +39,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
39
39
|
|
|
40
40
|
### plugins/core/
|
|
41
41
|
|
|
42
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
42
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
43
43
|
|
|
44
44
|
### Остальные
|
|
45
45
|
|
|
@@ -58,7 +58,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
58
58
|
|
|
59
59
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog, CONST.FILTER_FROM_RESULT_OPTIONS
|
|
60
60
|
- [media.md](../core/media.md) — `MEDIA`: CONST.PRIORITIES.BACKGROUND
|
|
61
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
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
|
|
63
63
|
|
|
64
64
|
### Остальные
|
package/plugins/views/comment.md
CHANGED
|
@@ -44,7 +44,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
44
44
|
### plugins/core/
|
|
45
45
|
|
|
46
46
|
- [components.md](../core/components.md) — `COMPONENTS`: EVENTS.EXTERNAL_UPDATE
|
|
47
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
47
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
48
48
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
49
49
|
|
|
50
50
|
### Остальные
|
package/plugins/views/video.md
CHANGED
|
@@ -50,7 +50,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
50
50
|
|
|
51
51
|
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT, EVENTS.PUSH
|
|
52
52
|
- [media.md](../core/media.md) — `MEDIA`: EVENTS.LOAD, EVENTS.GET, CONST.PRIORITIES.BACKGROUND, CONST.TYPES.VIDEO
|
|
53
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
53
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINE_LOAD_REG
|
|
54
54
|
- [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR, EVENTS.SET
|
|
55
55
|
|
|
56
56
|
### Остальные
|
|
@@ -79,12 +79,12 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
79
79
|
### plugins/core/
|
|
80
80
|
|
|
81
81
|
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT
|
|
82
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
82
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
83
83
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
84
84
|
|
|
85
85
|
### Остальные
|
|
86
86
|
|
|
87
87
|
- [controls.md](../controls/controls.md) — `CONTROLS`: EVENTS.POP, EVENTS.PUSH
|
|
88
|
-
- [text.md](../text/text.md) — `TEXT`: связка через compatibility выше (`CHANGED`, `SPEAKER_CHANGED`, `
|
|
88
|
+
- [text.md](../text/text.md) — `TEXT`: связка через compatibility выше (`CHANGED`, `SPEAKER_CHANGED`, `EMIT_BEFORE`)
|
|
89
89
|
- [choose.md](./choose.md) — compatibility скрывает interface на `CHOOSE_VIEW.SHOW_BEFORE`
|
|
90
90
|
- [qte.md](./qte.md) — compatibility скрывает interface на `QTE_VIEW.SHOW_BEFORE`
|
|
@@ -33,7 +33,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
33
33
|
|
|
34
34
|
| Модуль | Зона ответственности |
|
|
35
35
|
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
36
|
-
| `credits.controller` | SHOW/HIDE; пустой `controls` на `ZINDEX`; `afterHide` →
|
|
36
|
+
| `credits.controller` | SHOW/HIDE; пустой `controls` на `ZINDEX`; `afterHide` → emit SCENARIO.NEXT. |
|
|
37
37
|
| `credits.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `CREDITS.ACCEPT` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
38
38
|
| `credits.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
39
39
|
| `credits.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
@@ -45,7 +45,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
45
45
|
### plugins/core/
|
|
46
46
|
|
|
47
47
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
48
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
48
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
49
49
|
|
|
50
50
|
### Остальные
|
|
51
51
|
|
|
@@ -37,7 +37,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
37
37
|
| Модуль | Зона ответственности |
|
|
38
38
|
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
|
|
39
39
|
| `disclaimer.controller` | SHOW/HIDE; пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
|
|
40
|
-
| `disclaimer.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `DISCLAIMER.ACCEPT` → `HIDE`, `
|
|
40
|
+
| `disclaimer.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `DISCLAIMER.ACCEPT` → `HIDE`, `emit SCENARIO.NEXT`; PUSH/POP на SHOW/HIDE. |
|
|
41
41
|
| `disclaimer` | `$ disclaimer show <id>` → SHOW. |
|
|
42
42
|
| `disclaimer.view` | React UI: title / text / accept из locs. |
|
|
43
43
|
|
|
@@ -63,7 +63,7 @@ $ disclaimer show qte
|
|
|
63
63
|
### plugins/core/
|
|
64
64
|
|
|
65
65
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog
|
|
66
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
66
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
67
67
|
|
|
68
68
|
### Остальные
|
|
69
69
|
|
|
@@ -48,7 +48,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
48
48
|
### plugins/core/
|
|
49
49
|
|
|
50
50
|
- [logs.md](../core/logs.md) — `LOGS`: emitLog
|
|
51
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
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
|
|
|
54
54
|
### Остальные
|
|
@@ -69,7 +69,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
69
69
|
### plugins/core/
|
|
70
70
|
|
|
71
71
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
|
|
72
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
72
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT
|
|
73
73
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, CONST.MIGRATE_STATUS.LINE_NOT_FOUND, CONST.MIGRATE_STATUS.OK
|
|
74
74
|
- [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
|
|
75
75
|
- [vendors.md](../core/vendors.md) — `VENDORS`: EVENTS.DATE
|
|
@@ -45,8 +45,8 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
45
45
|
| `settings.default.controller` | SHOW/HIDE; `beforeShow` → `SHOW_BEFORE`; `STATE_UPDATE` / `UPDATE_FAST`. |
|
|
46
46
|
| `settings.default.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW_BEFORE` → `bgSrc`; `MEMORY.CLEARED` при `isShow` → refresh. |
|
|
47
47
|
| `settings.default.controller.fields` | На `SHOW_BEFORE`: `STATE_UPDATE` `{ tab }` + `SETTINGS_VIEW.SHOW` с `CONST.SETTINGS_VIEW.DEFAULT_TAB`. |
|
|
48
|
-
| `settings.default.controller.accept` | Наследует `@vnejs/module.controller.accept`: только `ACCEPT` (`IS_INTERACT_ENABLED = false`) → `CONFIRM` → `INITED`, `HIDE`, `
|
|
49
|
-
| `settings.default` | `SETTINGS.INIT` INITED в `setup`; `LINE_EXEC` как `$ settings.defaults` → `SHOW`, либо `
|
|
48
|
+
| `settings.default.controller.accept` | Наследует `@vnejs/module.controller.accept`: только `ACCEPT` (`IS_INTERACT_ENABLED = false`) → `CONFIRM` → `INITED`, `HIDE`, `emit SCENARIO.NEXT`; PUSH/POP на SHOW/HIDE. |
|
|
49
|
+
| `settings.default` | `SETTINGS.INIT` INITED в `setup`; `LINE_EXEC` как `$ settings.defaults` → `SHOW`, либо `emit SCENARIO.NEXT` при `skip_if_possible` и `INITED`. |
|
|
50
50
|
| `settings.default.view` | Chrome: title + кнопка Accept. |
|
|
51
51
|
|
|
52
52
|
## Близкие плагины
|
|
@@ -55,7 +55,7 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
55
55
|
|
|
56
56
|
- [components.md](../core/components.md) — `COMPONENTS`: EVENTS.EXTERNAL_UPDATE
|
|
57
57
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
|
|
58
|
-
- [scenario.md](../core/scenario.md) — `SCENARIO`:
|
|
58
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, CONST.LINE_KEYWORDS.SKIP_IF_POSSIBLE
|
|
59
59
|
- [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT, EVENTS.SET
|
|
60
60
|
|
|
61
61
|
### Остальные
|