@vnejs/docs 0.2.57 → 0.2.58
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 +9 -0
- package/architecture.md +3 -0
- package/package.json +1 -1
- package/plugins/scenario/choose.md +20 -12
- package/plugins/text/text.md +32 -32
- package/plugins/views/video.md +9 -8
- package/plugins/views.screens/credits.md +10 -10
- package/plugins/views.screens/intro.md +8 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Краткая история изменений движка (плагины, helpers, packages, CLI и прочий runtime) и внешнего API. Версии — релизы пакета `@vnejs/docs`.
|
|
4
4
|
|
|
5
|
+
## 0.2.58
|
|
6
|
+
|
|
7
|
+
- `text/text` — `STATE.SET` и `STATE.CLEAR` эмитят `TEXT.EMIT` с `isKeepProcessState`, чтобы восстановление не затирало `text.process.state`. `TEXT.EMIT_END` с этим флагом не шлёт `TEXT.PROCESS_STATE` и `TEXT.EMIT_NEXT`. Сценарный `TEXT.EMIT` флаг не ставит. API: `TextEmitPayload.isKeepProcessState`, `TextEmitEndPayload.isKeepProcessState`.
|
|
8
|
+
- `scenario/choose` — у каждого открытия выбора свой `id` (`crypto.randomUUID()` на `EMIT`, `""` после закрытия). `STATE.SET` при другом открытом выборе пишет срез и шлёт `HIDE`, затем `SHOW` с `{ isForce: true }`. Смена `isShow` шлёт один `EVENTS.CHOOSE.HIDE` или `EVENTS.CHOOSE.SHOW` с `{ isForce: true }`. API: `ChoosePluginModelState.id`.
|
|
9
|
+
- `module.controller.interact` — `BUTTONS.ANY` → `EVENTS.INTERACT.EMIT`; после показа `EVENTS.INTERACT.PUSH` с `onInteract`, перед скрытием `EVENTS.INTERACT.POP`; controls PUSH/POP на `SHOW.CONTROLS` / `HIDE.CONTROLS`. API: `ModuleControllerInteract.onInteract`, `ModuleControllerInteract.EVENT_SHOW`, `ModuleControllerInteract.EVENT_HIDE`, `ModuleControllerInteract.CONTROLS_ZINDEX`, `ModuleControllerInteract.CONTROLS_CHECK_NEXT`.
|
|
10
|
+
- `views/video` — `BUTTONS.ANY` и `INTERACT.PUSH` / `POP` в `video.controller.interact` на `@vnejs/module.controller.interact`; `onInteract` возвращает промис `EVENTS.VIDEO.HIDE`. `video.controller` на `SHOW.BEFORE` эмитит `EVENTS.INTERFACE.TEXT_HIDE`, на `HIDE.AFTER` — `EVENTS.VIDEO.SET_SRC` и `EVENTS.SCENARIO.NEXT`.
|
|
11
|
+
- `views.screens/intro` — `BUTTONS.ANY` и `INTERACT.PUSH` / `POP` в `intro.controller.interact` на `@vnejs/module.controller.interact`; `onInteract` → `EVENTS.INTRO.INTERACT`.
|
|
12
|
+
- `views.screens/credits` — `credits.controller.accept` заменён на `credits.controller.interact` на `@vnejs/module.controller.interact`; `onInteract` → `EVENTS.CREDITS.HIDE`. Снято `EVENTS.CREDITS.ACCEPT`.
|
|
13
|
+
|
|
5
14
|
## 0.2.57
|
|
6
15
|
|
|
7
16
|
- `module.controller.arrows.horizontal` — кнопки зовут переопределяемые `onArrowLeft` / `onArrowRight` (по умолчанию `decCurrentItem` / `incCurrentItem`). Хук может вернуть `Promise`. `getMaxCurrentItem` больше не abstract, по умолчанию `0`. `EVENT_UPDATE_STATE` сливает partial в стейт модуля. API: `ModuleControllerArrowsHorizontal.onArrowLeft`, `ModuleControllerArrowsHorizontal.onArrowRight`, `ModuleControllerArrowsHorizontal.getMaxCurrentItem`.
|
package/architecture.md
CHANGED
|
@@ -137,6 +137,7 @@ flowchart TD
|
|
|
137
137
|
MCB["@vnejs/module.controller.backgrounds"]
|
|
138
138
|
MCBG["@vnejs/module.controller.bg"]
|
|
139
139
|
MCAC["@vnejs/module.controller.accept"]
|
|
140
|
+
MCIN["@vnejs/module.controller.interact"]
|
|
140
141
|
MCAV["@vnejs/module.controller.arrows.vertical"]
|
|
141
142
|
MCAH["@vnejs/module.controller.arrows.horizontal"]
|
|
142
143
|
MCAG["@vnejs/module.controller.arrows.grid"]
|
|
@@ -156,6 +157,7 @@ flowchart TD
|
|
|
156
157
|
MC --> MCB
|
|
157
158
|
MC --> MCBG
|
|
158
159
|
MC --> MCAC
|
|
160
|
+
MC --> MCIN
|
|
159
161
|
MC --> MCAV
|
|
160
162
|
MC --> MCAH
|
|
161
163
|
MC --> MCAG
|
|
@@ -181,6 +183,7 @@ flowchart TD
|
|
|
181
183
|
| **`@vnejs/module.controller.backgrounds`** | Ротация списка фонов на `SHOW.AFTER` / таймеру / MEMORY.CLEARED; стоп на `HIDE.AFTER`; события и список задаёт плагин |
|
|
182
184
|
| **`@vnejs/module.controller.bg`** | Статичный фон экрана: `SHOW.BEFORE` пишет `bgSrc` через `UPDATE_STATE`; `isShow` на `SHOW.MAIN` / `HIDE.MAIN`; опционально PRELOAD / start / STATE.CLEAR; MEMORY.CLEARED — preload и/или refresh при isShow |
|
|
183
185
|
| **`@vnejs/module.controller.accept`** | ACCEPT / INTERACT → событие ACCEPT плагина; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS` |
|
|
186
|
+
| **`@vnejs/module.controller.interact`** | `BUTTONS.ANY` → `INTERACT.EMIT`; после показа `INTERACT.PUSH` (`onInteract`), перед скрытием `INTERACT.POP`; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS` |
|
|
184
187
|
| **`@vnejs/module.controller.arrows.vertical`** | ARROW_UP / ARROW_BOTTOM по видимым пунктам; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`; индекс через `UPDATE_STATE` |
|
|
185
188
|
| **`@vnejs/module.controller.arrows.horizontal`** | ARROW_LEFT / ARROW_RIGHT по пунктам; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`; индекс через `UPDATE_STATE` |
|
|
186
189
|
| **`@vnejs/module.controller.arrows.grid`** | Четыре стрелки по сетке; `GRID_NEXT` / `GRID_PREV` на краю; PUSH/POP на `SHOW.CONTROLS` / `HIDE.CONTROLS`; `GRID_UPDATE_ITEMS` без payload, meta через `UPDATE_STATE` |
|
package/package.json
CHANGED
|
@@ -57,20 +57,28 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
57
57
|
|
|
58
58
|
Нет.
|
|
59
59
|
|
|
60
|
+
## Стейт
|
|
61
|
+
|
|
62
|
+
`globalState.choose`: `options`, `args`, `isShow`, `id`.
|
|
63
|
+
|
|
64
|
+
`id` — экземпляр открытия. `crypto.randomUUID()` на `EMIT` (в том числе `$ choose repeat`), `""` после закрытия. В сейв и снапшот истории попадает вместе со стейтом. В сценарий не выводится.
|
|
65
|
+
|
|
66
|
+
`STATE.SET` не меняет стейт, если совпали `isShow` и `id`. Другой открытый выбор (`isShow: true`, другой `id`): запись среза, затем `HIDE` и `SHOW` с `{ isForce: true }`, чтобы view заново прочитал опции. Смена видимости — один `SHOW` или `HIDE` с `{ isForce: true }`. Пока выбор скрыт, другой срез только записывается в стейт.
|
|
67
|
+
|
|
60
68
|
## Модули
|
|
61
69
|
|
|
62
|
-
| Модуль | Зона ответственности
|
|
63
|
-
| ------------------------ |
|
|
64
|
-
| `choose` | State
|
|
65
|
-
| `choose.emit` | Обрабатывает `EMIT` (→ `STATE_UPDATE` + `SHOW` или `SKIP`).
|
|
66
|
-
| `choose.option` | Обрабатывает `OPTION`.
|
|
67
|
-
| `choose.skip` | Обрабатывает `SKIP` через `getBlockSkipShift`.
|
|
68
|
-
| `choose.logs` | Логирование `EMIT` / `OPTION` / `SKIP` / `SHOW` / `HIDE`.
|
|
69
|
-
| `choose.replace` | Реестр обработчиков `OPTION_REPLACE_REG`; наследник `@vnejs/module.replace`.
|
|
70
|
-
| `choose.exec` | Реестр обработчиков EXEC_REG / EXEC_GET.
|
|
71
|
-
| `choose.scenario` | Регистрация `% choose`: сбор option-строк через `getBlockOptions`, emit `EMIT`.
|
|
72
|
-
| `choose.scenario.option` | Регистрация `% choose.option`: skip невыбранных веток.
|
|
73
|
-
| `choose.scenario.module` | Регистрация `$ choose`: action `repeat`.
|
|
70
|
+
| Модуль | Зона ответственности |
|
|
71
|
+
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
72
|
+
| `choose` | State (`id`, `options`, `args`, `isShow`): `STATE_UPDATE`, `STATE.SET` / `STATE.CLEAR` (→ `SHOW` / `HIDE`; смена открытого выбора — `HIDE`, затем `SHOW`). |
|
|
73
|
+
| `choose.emit` | Обрабатывает `EMIT` (→ `STATE_UPDATE` + `SHOW` или `SKIP`). |
|
|
74
|
+
| `choose.option` | Обрабатывает `OPTION`. |
|
|
75
|
+
| `choose.skip` | Обрабатывает `SKIP` через `getBlockSkipShift`. |
|
|
76
|
+
| `choose.logs` | Логирование `EMIT` / `OPTION` / `SKIP` / `SHOW` / `HIDE`. |
|
|
77
|
+
| `choose.replace` | Реестр обработчиков `OPTION_REPLACE_REG`; наследник `@vnejs/module.replace`. |
|
|
78
|
+
| `choose.exec` | Реестр обработчиков EXEC_REG / EXEC_GET. |
|
|
79
|
+
| `choose.scenario` | Регистрация `% choose`: сбор option-строк через `getBlockOptions`, emit `EMIT`. |
|
|
80
|
+
| `choose.scenario.option` | Регистрация `% choose.option`: skip невыбранных веток. |
|
|
81
|
+
| `choose.scenario.module` | Регистрация `$ choose`: action `repeat`. |
|
|
74
82
|
|
|
75
83
|
## Compatibility
|
|
76
84
|
|
package/plugins/text/text.md
CHANGED
|
@@ -8,25 +8,25 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.text`.
|
|
10
10
|
|
|
11
|
-
| Ключ | Строка | Смысл
|
|
12
|
-
| --------------------- | ------------------------------ |
|
|
13
|
-
| `EMIT` | `vne:text:emit` | Начать вывод: подготовка токенов, обновление state, запуск process. |
|
|
14
|
-
| `EMIT_END` | `vne:text:emit_end` | Завершить текущий шаг; при autonext перейти к следующему.
|
|
15
|
-
| `EMIT_NEXT` | `vne:text:emit_next` | Перейти к следующему шагу emit (подписки с `priority` на Observer).
|
|
16
|
-
| `EMIT_BEFORE` | `vne:text:emit_before` | Хук перед основным emit (подписки с `priority` на Observer).
|
|
17
|
-
| `EMIT_PROCESS` | `vne:text:emit_process` | Запустить пошаговый процесс вывода.
|
|
18
|
-
| `PREPARE_TOKENS` | `vne:text:prepare_tokens` | Подготовить токены или промежуточные данные.
|
|
19
|
-
| `PROCESS_CANCEL` | `vne:text:process_cancel` | Отменить текущий процесс.
|
|
20
|
-
| `PROCESS_STATE` | `vne:text:process_state` | Изменить состояние процесса.
|
|
21
|
-
| `CHANGED` | `vne:text:changed` | Зафиксировать изменение состояния.
|
|
22
|
-
| `SPEAKER_CHANGED` | `vne:text:speaker_changed` | Зафиксировать смену текущего спикера.
|
|
23
|
-
| `SPEAKER_INFO_UPDATE` | `vne:text:speaker_info_update` | Обновить метаданные спикера (цвет, имя, opacity).
|
|
24
|
-
| `STATE_UPDATE` | `vne:text:state_update` | Обновить накопленное состояние модуля.
|
|
25
|
-
| `STATE_CHANGED` | `vne:text:state_changed` | Сигнал об изменении накопленного состояния.
|
|
26
|
-
| `RECALC` | `vne:text:recalc` | Запросить данные у обработчиков и продолжить цепочку.
|
|
27
|
-
| `RECALC_DONE` | `vne:text:recalc_done` | Завершить операцию `RECALC`.
|
|
28
|
-
| `REPLACE` | `vne:text:replace` | Заменить текущее значение или контент.
|
|
29
|
-
| `REPLACE_REG` | `vne:text:replace_reg` | Зарегистрировать обработчик `REPLACE`.
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| --------------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| `EMIT` | `vne:text:emit` | Начать вывод: подготовка токенов, обновление state, запуск process. С `isKeepProcessState` после `STATE_CHANGED` сразу `EMIT_END`. |
|
|
14
|
+
| `EMIT_END` | `vne:text:emit_end` | Завершить текущий шаг; при autonext перейти к следующему. С `isKeepProcessState` не шлёт `PROCESS_STATE` и `EMIT_NEXT`. |
|
|
15
|
+
| `EMIT_NEXT` | `vne:text:emit_next` | Перейти к следующему шагу emit (подписки с `priority` на Observer). |
|
|
16
|
+
| `EMIT_BEFORE` | `vne:text:emit_before` | Хук перед основным emit (подписки с `priority` на Observer). |
|
|
17
|
+
| `EMIT_PROCESS` | `vne:text:emit_process` | Запустить пошаговый процесс вывода. |
|
|
18
|
+
| `PREPARE_TOKENS` | `vne:text:prepare_tokens` | Подготовить токены или промежуточные данные. |
|
|
19
|
+
| `PROCESS_CANCEL` | `vne:text:process_cancel` | Отменить текущий процесс. |
|
|
20
|
+
| `PROCESS_STATE` | `vne:text:process_state` | Изменить состояние процесса. |
|
|
21
|
+
| `CHANGED` | `vne:text:changed` | Зафиксировать изменение состояния. |
|
|
22
|
+
| `SPEAKER_CHANGED` | `vne:text:speaker_changed` | Зафиксировать смену текущего спикера. |
|
|
23
|
+
| `SPEAKER_INFO_UPDATE` | `vne:text:speaker_info_update` | Обновить метаданные спикера (цвет, имя, opacity). |
|
|
24
|
+
| `STATE_UPDATE` | `vne:text:state_update` | Обновить накопленное состояние модуля. |
|
|
25
|
+
| `STATE_CHANGED` | `vne:text:state_changed` | Сигнал об изменении накопленного состояния. |
|
|
26
|
+
| `RECALC` | `vne:text:recalc` | Запросить данные у обработчиков и продолжить цепочку. |
|
|
27
|
+
| `RECALC_DONE` | `vne:text:recalc_done` | Завершить операцию `RECALC`. |
|
|
28
|
+
| `REPLACE` | `vne:text:replace` | Заменить текущее значение или контент. |
|
|
29
|
+
| `REPLACE_REG` | `vne:text:replace_reg` | Зарегистрировать обработчик `REPLACE`. |
|
|
30
30
|
|
|
31
31
|
## Константы
|
|
32
32
|
|
|
@@ -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. `isKeepProcessState` выходит без `PROCESS_STATE` и `EMIT_NEXT`. |
|
|
54
|
+
| `text.emit.next` | На `EMIT_NEXT`: `PROCESS_STATE` NEXT, затем `onTextEmitNext` → `emit SCENARIO.NEXT` (`priority` 999999). |
|
|
55
|
+
| `text.emit` | Точка входа emit: подготовка и запуск process. `isKeepProcessState` после `STATE_CHANGED` сразу `EMIT_END`. |
|
|
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. `STATE.SET` и `STATE.CLEAR` передают `isKeepProcessState`. |
|
|
64
64
|
|
|
65
65
|
## Compatibility
|
|
66
66
|
|
package/plugins/views/video.md
CHANGED
|
@@ -40,19 +40,20 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
40
40
|
|
|
41
41
|
## Модули
|
|
42
42
|
|
|
43
|
-
| Модуль
|
|
44
|
-
|
|
|
45
|
-
| `video.controller`
|
|
46
|
-
| `video.controller.
|
|
47
|
-
| `video.
|
|
48
|
-
| `video`
|
|
49
|
-
| `video
|
|
43
|
+
| Модуль | Зона ответственности |
|
|
44
|
+
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
45
|
+
| `video.controller` | SHOW/HIDE; `SHOW.BEFORE` → `INTERFACE.TEXT_HIDE`; `HIDE.AFTER` → `SET_SRC` и `SCENARIO.NEXT`. |
|
|
46
|
+
| `video.controller.interact` | Наследует `@vnejs/module.controller.interact`: `BUTTONS.ANY` → `INTERACT.EMIT`; `onInteract` возвращает промис `VIDEO.HIDE`; `CONTROLS_CHECK_NEXT = false`. |
|
|
47
|
+
| `video.controller.src` | `SET_SRC` → `UPDATE_STATE` `{ src }` + `UPDATE_FAST`. |
|
|
48
|
+
| `video.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: только `STATE.CLEAR` → `HIDE` с `{ isForce: true }` (`IS_STATE_SET_ENABLED = false`). |
|
|
49
|
+
| `video` | Обрабатывает HIDE, PLAY, LOAD, GET, …. |
|
|
50
|
+
| `video.view` | Подмодуль `view` плагина. |
|
|
50
51
|
|
|
51
52
|
## Близкие плагины
|
|
52
53
|
|
|
53
54
|
### plugins/core/
|
|
54
55
|
|
|
55
|
-
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT, EVENTS.PUSH
|
|
56
|
+
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT, EVENTS.PUSH, EVENTS.POP
|
|
56
57
|
- [media.md](../core/media.md) — `MEDIA`: EVENTS.LOAD, EVENTS.GET, CONST.PRIORITIES.BACKGROUND, CONST.TYPES.VIDEO
|
|
57
58
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINE_LOAD_REG
|
|
58
59
|
- [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR, EVENTS.SET
|
|
@@ -16,7 +16,6 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
16
16
|
| `UPDATE_FAST` | `vne:credits:update_fast` | Быстрое обновление отображения. |
|
|
17
17
|
| `UPDATE_FORCE` | `vne:credits:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
18
|
| `UPDATE_STATE` | `vne:credits:update_state` | Слить partial в стейт контроллера. |
|
|
19
|
-
| `ACCEPT` | `vne:credits:accept` | ACCEPT / INTERACT → затем `HIDE`. |
|
|
20
19
|
|
|
21
20
|
## Константы
|
|
22
21
|
|
|
@@ -34,22 +33,23 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
34
33
|
|
|
35
34
|
## Модули
|
|
36
35
|
|
|
37
|
-
| Модуль
|
|
38
|
-
|
|
|
39
|
-
| `credits.controller`
|
|
40
|
-
| `credits.controller.
|
|
41
|
-
| `credits.hide.controls`
|
|
42
|
-
| `credits.hide.state`
|
|
43
|
-
| `credits`
|
|
44
|
-
| `credits.view`
|
|
36
|
+
| Модуль | Зона ответственности |
|
|
37
|
+
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
38
|
+
| `credits.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; пустой `controls` на `ZINDEX`; на `HIDE.AFTER` — `SCENARIO.NEXT`. |
|
|
39
|
+
| `credits.controller.interact` | Наследует `@vnejs/module.controller.interact`: `BUTTONS.ANY` → `INTERACT.EMIT`; `onInteract` → `CREDITS.HIDE`. |
|
|
40
|
+
| `credits.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
41
|
+
| `credits.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
42
|
+
| `credits` | Модуль `credits`. |
|
|
43
|
+
| `credits.view` | Подмодуль `view` плагина. |
|
|
45
44
|
|
|
46
45
|
## Близкие плагины
|
|
47
46
|
|
|
48
47
|
### plugins/core/
|
|
49
48
|
|
|
49
|
+
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT, EVENTS.PUSH, EVENTS.POP
|
|
50
50
|
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
51
51
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
|
|
52
52
|
|
|
53
53
|
### Остальные
|
|
54
54
|
|
|
55
|
-
- [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.
|
|
55
|
+
- [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ANY, CONST.BUTTONS.BACK, CONST.BUTTONS.MENU, CONST.BUTTONS.GAMEMENU
|
|
@@ -36,17 +36,19 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
36
36
|
|
|
37
37
|
## Модули
|
|
38
38
|
|
|
39
|
-
| Модуль
|
|
40
|
-
|
|
|
41
|
-
| `intro.controller`
|
|
42
|
-
| `intro.controller.
|
|
43
|
-
| `intro`
|
|
44
|
-
| `intro
|
|
39
|
+
| Модуль | Зона ответственности |
|
|
40
|
+
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
41
|
+
| `intro.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; `UPDATE_STATE` / `UPDATE_FAST`. |
|
|
42
|
+
| `intro.controller.interact` | Наследует `@vnejs/module.controller.interact`: `BUTTONS.ANY` → `INTERACT.EMIT`; `onInteract` → `INTRO.INTERACT`; `CONTROLS_CHECK_NEXT = false`. |
|
|
43
|
+
| `intro.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; `start` preload. |
|
|
44
|
+
| `intro` | Связь со сценарием: шаг next после завершения действия. |
|
|
45
|
+
| `intro.view` | Подмодуль `view` плагина. |
|
|
45
46
|
|
|
46
47
|
## Близкие плагины
|
|
47
48
|
|
|
48
49
|
### plugins/core/
|
|
49
50
|
|
|
51
|
+
- [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT, EVENTS.PUSH, EVENTS.POP
|
|
50
52
|
- [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
51
53
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, CONST.LINE_KEYWORDS.SKIP_IF_POSSIBLE
|
|
52
54
|
- [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
|