@vnejs/docs 0.2.58 → 0.2.60
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 +12 -0
- package/architecture.md +23 -23
- package/package.json +1 -1
- package/plugins/views/settings.md +5 -5
- package/plugins/views.scenario/choose.md +7 -7
- package/plugins/views.scenario/interface.controls.md +4 -4
- package/plugins/views.scenario/interface.fastforward.md +4 -4
- package/plugins/views.scenario/interface.md +8 -8
- package/plugins/views.screens/checkers.md +9 -9
- package/plugins/views.screens/confirm.md +8 -8
- package/plugins/views.screens/eula.md +8 -8
- package/plugins/views.screens/gallery.md +15 -15
- package/plugins/views.screens/gamemenu.md +9 -9
- package/plugins/views.screens/history.md +15 -15
- package/plugins/views.screens/mainmenu.md +12 -12
- package/plugins/views.screens/save.md +15 -15
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Краткая история изменений движка (плагины, helpers, packages, CLI и прочий runtime) и внешнего API. Версии — релизы пакета `@vnejs/docs`.
|
|
4
4
|
|
|
5
|
+
## 0.2.60
|
|
6
|
+
|
|
7
|
+
- `views.screens/history` — закрытие крестиком сверху справа, клик шлёт `EVENTS.HISTORY_VIEW.HIDE`. Текстовая кнопка внизу снята. Список реплик высотой 1800 по вертикали по центру экрана. API: `PARAMS.HISTORY_VIEW.VIEW_PROPS.close` теперь `{ position, svg }`.
|
|
8
|
+
- `module.controller.arrows.vertical`, `module.controller.arrows.horizontal`, `module.controller.arrows.grid` — на `HIDE.CLEANUP` позиция пункта в стейте становится `undefined` через `UPDATE_STATE`, затем `UPDATE_FAST` перерисовывает view. API: `currentArrowVerticalItem`, `currentArrowHorizontalItem`, `gridRow`, `gridColumn`, `CONST.COMPONENTS.LIFECYCLE_PRIORITY.HIDE.CLEANUP`.
|
|
9
|
+
|
|
10
|
+
## 0.2.59
|
|
11
|
+
|
|
12
|
+
- `views.scenario/interface.controls`, `views.scenario/interface.fastforward` — hide не сбрасывает локальный стейт (`SHOULD_CLEAR_STATE_ON_CLEANUP` = `false`). Иначе `$ interface show` после выбора публиковал `isVisible: false`, и кнопки с индикатором прокрутки оставались прозрачными. API: `InterfaceControlsController.SHOULD_CLEAR_STATE_ON_CLEANUP`, `InterfaceFastforwardController.SHOULD_CLEAR_STATE_ON_CLEANUP`.
|
|
13
|
+
- `module.controller.hide.on.controls`, `module.controller.accept`, `module.controller.interact`, `module.controller.arrows.vertical`, `module.controller.arrows.horizontal`, `module.controller.arrows.grid`, `module.controller.tabs`, `module.controller.audio` — свой `state.isShow` снят. Повторный `SHOW` / `HIDE` обрывает `ModuleController` на `GATE`; расширения больше не пропускают `POP` по локальному флагу. API: снято `state.isShow` у `ModuleControllerHideOnControlsState`, `ModuleControllerAcceptState`, `ModuleControllerInteractState`, `ModuleControllerArrowsVerticalState`, `ModuleControllerArrowsHorizontalState`, `ModuleControllerArrowsGridState`, `ModuleControllerTabsState`, `ModuleControllerAudioState`.
|
|
14
|
+
- `module.components` — `ModuleController.setShow` пишет `{ isShow }` через `EVENT_UPDATE_STATE`, затем вызывает `updateView(isForce, false)`.
|
|
15
|
+
- `module.controller.backgrounds`, `module.controller.bg`, `module.controller.preload` — подписка на `EVENT_UPDATE_STATE` (`updateState`). Свой `isShow` на `SHOW` / `HIDE` снят. `backgrounds` на `HIDE.AFTER` всегда снимает таймер ротации. API: `ModuleControllerPreload.EVENT_UPDATE_STATE`.
|
|
16
|
+
|
|
5
17
|
## 0.2.58
|
|
6
18
|
|
|
7
19
|
- `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`.
|
package/architecture.md
CHANGED
|
@@ -168,29 +168,29 @@ flowchart TD
|
|
|
168
168
|
MCO --> ML
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
-
| Пакет | Назначение
|
|
172
|
-
| ------------------------------------------------ |
|
|
173
|
-
| **`@vnejs/module`** | **`Module`**: `VNE`, `on`/`emit`, `inject`, state, shared, media, lifecycle
|
|
174
|
-
| **`@vnejs/module.core`** | **`ModuleCore`** — типизированный доступ к **core-контрактам**
|
|
175
|
-
| **`@vnejs/module.replace`** | **`ModuleReplace`** — последовательная подмена значения поля payload через `REPLACE_KEY` и цепочку handlers
|
|
176
|
-
| **`@vnejs/module.replace.exec`** | **`ModuleReplaceExec`** — реестр exec-handlers по имени модуля (`EXEC_REG` / `EXEC_GET`)
|
|
177
|
-
| **`@vnejs/module.components`** | **`ModuleView`**, **`ModuleController`** — React-view, zustand, media, controls. SHOW
|
|
178
|
-
| **`@vnejs/module.layer`** | Canvas layers: controller, image, sprite, text, video, props, view
|
|
179
|
-
| **`@vnejs/module.audio`** | База для audio-плагинов scenario-слоёв (`music` / `sound` / …)
|
|
180
|
-
| **`@vnejs/module.controller.audio`** | Overlay-BGM для view-экранов: pause global / play `view` / resume на `SHOW.AFTER` / `HIDE.AFTER` / PRELOAD
|
|
181
|
-
| **`@vnejs/module.controller.tabs`** | Навигация по вкладкам: TAB_PREV/TAB_NEXT → `TAB_SET`; guard + `applyTab` (`UPDATE_STATE` `{ tab }`) + abstract `onTabSet`; вкладка на `SHOW.BEFORE`, PUSH/POP на `CONTROLS`
|
|
182
|
-
| **`@vnejs/module.controller.preload`** | Предзагрузка меток и событий
|
|
183
|
-
| **`@vnejs/module.controller.backgrounds`** | Ротация списка фонов на `SHOW.AFTER` / таймеру / MEMORY.CLEARED
|
|
184
|
-
| **`@vnejs/module.controller.bg`** | Статичный фон экрана: `SHOW.BEFORE` пишет `bgSrc` через `UPDATE_STATE`; `isShow`
|
|
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`
|
|
187
|
-
| **`@vnejs/module.controller.arrows.vertical`** | ARROW_UP / ARROW_BOTTOM по видимым пунктам; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`; индекс через `UPDATE_STATE`
|
|
188
|
-
| **`@vnejs/module.controller.arrows.horizontal`** | ARROW_LEFT / ARROW_RIGHT по пунктам; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`; индекс через `UPDATE_STATE`
|
|
189
|
-
| **`@vnejs/module.controller.arrows.grid`** | Четыре стрелки по сетке; `GRID_NEXT` / `GRID_PREV` на краю; PUSH/POP на `SHOW.CONTROLS` / `HIDE.CONTROLS`; `GRID_UPDATE_ITEMS` без payload, meta через `UPDATE_STATE`
|
|
190
|
-
| **`@vnejs/module.controller.pages`** | Пагинация: `PAGE_SET` / `PAGE_NEXT` / `PAGE_PREV` → `setPage` → `UPDATE_STATE` (`pageIndex`) + abstract `applyPage` + `UPDATE_FAST`
|
|
191
|
-
| **`@vnejs/module.controller.hide.on.state`** | STATE.SET / STATE.CLEAR → emit HIDE плагина (`isForce` задаёт наследник)
|
|
192
|
-
| **`@vnejs/module.controller.hide.on.controls`** | BACK / MENU / GAMEMENU → emit HIDE плагина; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`
|
|
193
|
-
| **`@vnejs/module.scales.common`** | База для scales / RPG-модулей
|
|
171
|
+
| Пакет | Назначение |
|
|
172
|
+
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
173
|
+
| **`@vnejs/module`** | **`Module`**: `VNE`, `on`/`emit`, `inject`, state, shared, media, lifecycle |
|
|
174
|
+
| **`@vnejs/module.core`** | **`ModuleCore`** — типизированный доступ к **core-контрактам** |
|
|
175
|
+
| **`@vnejs/module.replace`** | **`ModuleReplace`** — последовательная подмена значения поля payload через `REPLACE_KEY` и цепочку handlers |
|
|
176
|
+
| **`@vnejs/module.replace.exec`** | **`ModuleReplaceExec`** — реестр exec-handlers по имени модуля (`EXEC_REG` / `EXEC_GET`) |
|
|
177
|
+
| **`@vnejs/module.components`** | **`ModuleView`**, **`ModuleController`** — React-view, zustand, media, controls. `SHOW`: `GATE` `-200`, `BEFORE` `-100`, `MAIN` `0`, `CONTROLS` `100`, `AFTER` `200`, `CLEANUP` `300`. `HIDE`: `GATE` `-300`, `CONTROLS` `-200`, `BEFORE` `-100`, `MAIN` `0`, `AFTER` `100`, `CLEANUP` `200`. `setShow` эмитит `UPDATE_STATE` `{ isShow }`, затем `updateView(isForce, false)`. `UPDATE_FAST`, `EXTERNAL_UPDATE` (`isShow` → `updateViewFast`) |
|
|
178
|
+
| **`@vnejs/module.layer`** | Canvas layers: controller, image, sprite, text, video, props, view |
|
|
179
|
+
| **`@vnejs/module.audio`** | База для audio-плагинов scenario-слоёв (`music` / `sound` / …) |
|
|
180
|
+
| **`@vnejs/module.controller.audio`** | Overlay-BGM для view-экранов: pause global / play `view` / resume на `SHOW.AFTER` / `HIDE.AFTER` / PRELOAD |
|
|
181
|
+
| **`@vnejs/module.controller.tabs`** | Навигация по вкладкам: TAB_PREV/TAB_NEXT → `TAB_SET`; guard + `applyTab` (`UPDATE_STATE` `{ tab }`) + abstract `onTabSet`; вкладка на `SHOW.BEFORE`, PUSH/POP на `CONTROLS` |
|
|
182
|
+
| **`@vnejs/module.controller.preload`** | Предзагрузка меток и событий на `SHOW.BEFORE` (эмитит PRELOAD) и по PRELOAD. `isShow` из `UPDATE_STATE`; `MEMORY.CLEARED` — только при `isShow`. События задаёт плагин (`EVENT_SHOW` / `EVENT_HIDE` / `EVENT_PRELOAD` / `EVENT_UPDATE_STATE`) |
|
|
183
|
+
| **`@vnejs/module.controller.backgrounds`** | Ротация списка фонов на `SHOW.AFTER` / таймеру / `MEMORY.CLEARED` при `isShow` из `UPDATE_STATE`. Таймер на `HIDE.AFTER` снимается всегда. События и список задаёт плагин |
|
|
184
|
+
| **`@vnejs/module.controller.bg`** | Статичный фон экрана: `SHOW.BEFORE` пишет `bgSrc` через `UPDATE_STATE`; `isShow` приходит из `UPDATE_STATE`. Опционально PRELOAD / start / STATE.CLEAR; `MEMORY.CLEARED` — preload и/или refresh при `isShow` |
|
|
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` |
|
|
187
|
+
| **`@vnejs/module.controller.arrows.vertical`** | ARROW_UP / ARROW_BOTTOM по видимым пунктам; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`; индекс через `UPDATE_STATE`; на `HIDE.CLEANUP` `currentArrowVerticalItem` становится `undefined` через `UPDATE_STATE`, затем `UPDATE_FAST` |
|
|
188
|
+
| **`@vnejs/module.controller.arrows.horizontal`** | ARROW_LEFT / ARROW_RIGHT по пунктам; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`; индекс через `UPDATE_STATE`; на `HIDE.CLEANUP` `currentArrowHorizontalItem` становится `undefined` через `UPDATE_STATE`, затем `UPDATE_FAST` |
|
|
189
|
+
| **`@vnejs/module.controller.arrows.grid`** | Четыре стрелки по сетке; `GRID_NEXT` / `GRID_PREV` на краю; PUSH/POP на `SHOW.CONTROLS` / `HIDE.CONTROLS`; `GRID_UPDATE_ITEMS` без payload, meta через `UPDATE_STATE`; на `HIDE.CLEANUP` `gridRow` / `gridColumn` становятся `undefined` через `UPDATE_STATE`, затем `UPDATE_FAST` |
|
|
190
|
+
| **`@vnejs/module.controller.pages`** | Пагинация: `PAGE_SET` / `PAGE_NEXT` / `PAGE_PREV` → `setPage` → `UPDATE_STATE` (`pageIndex`) + abstract `applyPage` + `UPDATE_FAST` |
|
|
191
|
+
| **`@vnejs/module.controller.hide.on.state`** | STATE.SET / STATE.CLEAR → emit HIDE плагина (`isForce` задаёт наследник) |
|
|
192
|
+
| **`@vnejs/module.controller.hide.on.controls`** | BACK / MENU / GAMEMENU → emit HIDE плагина; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS` |
|
|
193
|
+
| **`@vnejs/module.scales.common`** | База для scales / RPG-модулей |
|
|
194
194
|
|
|
195
195
|
### Принципы
|
|
196
196
|
|
package/package.json
CHANGED
|
@@ -44,12 +44,12 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
44
44
|
|
|
45
45
|
## Модули
|
|
46
46
|
|
|
47
|
-
| Модуль
|
|
48
|
-
|
|
|
47
|
+
| Модуль | Зона ответственности |
|
|
48
|
+
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
49
49
|
| `settings.fields.controller` | `SHOW`/`HIDE`/`TAB_SET`; зеркалит `UPDATE_STATE` (`currentArrowVerticalItem` + `currentItemInner`). На `ARROW_LEFT`/`ARROW_RIGHT`: у `selector_texts` / `actions` (`options`) циклят `currentItemInner` (modulo); у `selector_texts` сразу `SETTINGS.SET`. `INTERACT` — option value или named action (в т.ч. `actions` без `settingKey`). `ACCEPT` не обрабатывает — оставляют экраны. |
|
|
50
|
-
| `settings.fields.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP`/`ARROW_BOTTOM` по полям; PUSH/POP на SHOW/HIDE; `TAB_SET` сбрасывает индекс; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`.
|
|
51
|
-
| `settings.fields.controller.arrows.horizontal` | Наследует `@vnejs/module.controller.arrows.horizontal`: `onArrowLeft` / `onArrowRight` → `ARROW_LEFT` / `ARROW_RIGHT`; PUSH/POP на SHOW/HIDE.
|
|
52
|
-
| `settings.fields.view` | Обёртка `<View {...propsView} />` (fade show/hide); внутри вкладки `<SettingsTabContent />` с `PositionBox opacity` для crossfade по `tabKey`. Подсветка полей по `currentArrowVerticalItem`.
|
|
50
|
+
| `settings.fields.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP`/`ARROW_BOTTOM` по полям; PUSH/POP на SHOW/HIDE; `TAB_SET` сбрасывает индекс; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowVerticalItem` в стейте становится `undefined`. |
|
|
51
|
+
| `settings.fields.controller.arrows.horizontal` | Наследует `@vnejs/module.controller.arrows.horizontal`: `onArrowLeft` / `onArrowRight` → `ARROW_LEFT` / `ARROW_RIGHT`; PUSH/POP на SHOW/HIDE. На `HIDE.CLEANUP` `currentArrowHorizontalItem` в стейте становится `undefined`. |
|
|
52
|
+
| `settings.fields.view` | Обёртка `<View {...propsView} />` (fade show/hide); внутри вкладки `<SettingsTabContent />` с `PositionBox opacity` для crossfade по `tabKey`. Подсветка полей по `currentArrowVerticalItem`. |
|
|
53
53
|
|
|
54
54
|
## Близкие плагины
|
|
55
55
|
|
|
@@ -39,13 +39,13 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
39
39
|
|
|
40
40
|
## Модули
|
|
41
41
|
|
|
42
|
-
| Модуль | Зона ответственности
|
|
43
|
-
| ------------------------------- |
|
|
44
|
-
| `choose_view.bridge` | Bridge `CHOOSE.SHOW/HIDE` → `CHOOSE_VIEW.SHOW/HIDE`.
|
|
45
|
-
| `choose_view.controller` | `CONTROLS_EXTENSIONS` сливается в `CONTROLS` в `ModuleController.init`; на `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` копирует `globalState.choose`; сброс стейта на `HIDE.CLEANUP` делает `ModuleController` (`SHOULD_CLEAR_STATE_ON_CLEANUP`). Зеркало `UPDATE_STATE` / `UPDATE_FAST`.
|
|
46
|
-
| `choose_view.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CHOOSE.OPTION` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE.
|
|
47
|
-
| `choose_view.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по полному `options[]`; скипает `hided` через `isArrowItemAvailable` (индекс исходный); PUSH/POP на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`.
|
|
48
|
-
| `choose_view.view` | React-render опций; опциональный заголовок из `args.title`.
|
|
42
|
+
| Модуль | Зона ответственности |
|
|
43
|
+
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
44
|
+
| `choose_view.bridge` | Bridge `CHOOSE.SHOW/HIDE` → `CHOOSE_VIEW.SHOW/HIDE`. |
|
|
45
|
+
| `choose_view.controller` | `CONTROLS_EXTENSIONS` сливается в `CONTROLS` в `ModuleController.init`; на `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` копирует `globalState.choose`; сброс стейта на `HIDE.CLEANUP` делает `ModuleController` (`SHOULD_CLEAR_STATE_ON_CLEANUP`). Зеркало `UPDATE_STATE` / `UPDATE_FAST`. |
|
|
46
|
+
| `choose_view.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CHOOSE.OPTION` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
|
|
47
|
+
| `choose_view.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по полному `options[]`; скипает `hided` через `isArrowItemAvailable` (индекс исходный); PUSH/POP на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowVerticalItem` в стейте становится `undefined`. |
|
|
48
|
+
| `choose_view.view` | React-render опций; опциональный заголовок из `args.title`. |
|
|
49
49
|
|
|
50
50
|
## Связь с CHOOSE
|
|
51
51
|
|
|
@@ -37,10 +37,10 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
37
37
|
|
|
38
38
|
## Модули
|
|
39
39
|
|
|
40
|
-
| Модуль | Зона ответственности
|
|
41
|
-
| ------------------------------- |
|
|
42
|
-
| `interface.controls.controller` | Обрабатывает UPDATE, VISIBLE, INTERACT, SHOW, …. `CONTROLS_EXTENSIONS` сливается в `CONTROLS` в `ModuleController.init`. |
|
|
43
|
-
| `interface.controls.view` | Подмодуль `controls.view` плагина.
|
|
40
|
+
| Модуль | Зона ответственности |
|
|
41
|
+
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
42
|
+
| `interface.controls.controller` | Обрабатывает UPDATE, VISIBLE, INTERACT, SHOW, …. `CONTROLS_EXTENSIONS` сливается в `CONTROLS` в `ModuleController.init`. `SHOULD_CLEAR_STATE_ON_CLEANUP` — `false`: hide не сбрасывает `isVisible` и `view`, чтобы следующий `$ interface show` снова показал кнопки. |
|
|
43
|
+
| `interface.controls.view` | Подмодуль `controls.view` плагина. |
|
|
44
44
|
|
|
45
45
|
## Близкие плагины
|
|
46
46
|
|
|
@@ -35,10 +35,10 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
35
35
|
|
|
36
36
|
## Модули
|
|
37
37
|
|
|
38
|
-
| Модуль | Зона ответственности
|
|
39
|
-
| ---------------------------------- |
|
|
40
|
-
| `interface.fastforward.controller` | Обрабатывает UPDATE, TOGGLE, START, STOP, …. |
|
|
41
|
-
| `interface.fastforward.view` | Подмодуль `fastforward.view` плагина.
|
|
38
|
+
| Модуль | Зона ответственности |
|
|
39
|
+
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
40
|
+
| `interface.fastforward.controller` | Обрабатывает UPDATE, TOGGLE, START, STOP, …. `SHOULD_CLEAR_STATE_ON_CLEANUP` — `false`: hide не сбрасывает `isVisible` и `view`, чтобы следующий `$ interface show` снова показал кнопку. |
|
|
41
|
+
| `interface.fastforward.view` | Подмодуль `fastforward.view` плагина. |
|
|
42
42
|
|
|
43
43
|
## Близкие плагины
|
|
44
44
|
|
|
@@ -54,14 +54,14 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
54
54
|
|
|
55
55
|
## Модули
|
|
56
56
|
|
|
57
|
-
| Модуль | Зона ответственности
|
|
58
|
-
| ----------------------------- |
|
|
59
|
-
| `interface.controller` | Обрабатывает VIEW_UPDATE, VIEW_SHOW, VIEW_HIDE, …. Пустой `controls` на `ZINDEX`; `CONTROLS_UNVISIBLE` при скрытии слоя.
|
|
60
|
-
| `interface.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `INTERFACE.INTERACT`; видимый слой → `INTERACT.EMIT`, скрытый → `INTERFACE.VISIBLE`; PUSH/POP на VIEW_SHOW/HIDE.
|
|
61
|
-
| `interface` | STATE.SET / STATE.CLEAR → STATE_CHANGED.
|
|
62
|
-
| `interface.scenario` | `$ interface`: `LINE_EXEC_REG` → SHOW / HIDE / VIEW по `CONST.INTERFACE.EXEC_ACTIONS`.
|
|
63
|
-
| `interface.actions` | SHOW / HIDE / VISIBLE / TEXT_HIDE / VIEW через `globalState.interface`.
|
|
64
|
-
| `interface.view` | Подмодуль `view` плагина.
|
|
57
|
+
| Модуль | Зона ответственности |
|
|
58
|
+
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
59
|
+
| `interface.controller` | Обрабатывает VIEW_UPDATE, VIEW_SHOW, VIEW_HIDE, …. Пустой `controls` на `ZINDEX`; `CONTROLS_UNVISIBLE` при скрытии слоя. `SHOULD_CLEAR_STATE_ON_CLEANUP` — `false`, поэтому текст и задник переживают hide. |
|
|
60
|
+
| `interface.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `INTERFACE.INTERACT`; видимый слой → `INTERACT.EMIT`, скрытый → `INTERFACE.VISIBLE`; PUSH/POP на VIEW_SHOW/HIDE. |
|
|
61
|
+
| `interface` | STATE.SET / STATE.CLEAR → STATE_CHANGED. |
|
|
62
|
+
| `interface.scenario` | `$ interface`: `LINE_EXEC_REG` → SHOW / HIDE / VIEW по `CONST.INTERFACE.EXEC_ACTIONS`. |
|
|
63
|
+
| `interface.actions` | SHOW / HIDE / VISIBLE / TEXT_HIDE / VIEW через `globalState.interface`. |
|
|
64
|
+
| `interface.view` | Подмодуль `view` плагина. |
|
|
65
65
|
|
|
66
66
|
## Compatibility
|
|
67
67
|
|
|
@@ -33,15 +33,15 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
33
33
|
|
|
34
34
|
## Модули
|
|
35
35
|
|
|
36
|
-
| Модуль | Зона
|
|
37
|
-
| ------------------------------------------------ |
|
|
38
|
-
| `checkers_view.bridge` | SHOW/HIDE bridge
|
|
39
|
-
| `checkers_view.controller` / `.grid` / `.accept` | экран, сетка, ACCEPT
|
|
40
|
-
| `checkers_view.click` / `.player.interact` | клик и выбор (game: `MOVES_GET` / `MOVE_PLAY`)
|
|
41
|
-
| `checkers_view.player.select` | `PLAYER_SELECT` → selection + grid
|
|
42
|
-
| `checkers_view.board` | `GRID.CHANGED` / `UNSET` → `gridItems` + `UPDATE_FAST`
|
|
43
|
-
| `checkers_view.status` | `TURNS` / `FINISH` / `SHOW` → status text
|
|
44
|
-
| `checkers_view.view` | React
|
|
36
|
+
| Модуль | Зона |
|
|
37
|
+
| ------------------------------------------------ | -------------------------------------------------------------------------------------------- |
|
|
38
|
+
| `checkers_view.bridge` | SHOW/HIDE bridge |
|
|
39
|
+
| `checkers_view.controller` / `.grid` / `.accept` | экран, сетка, ACCEPT; на `HIDE.CLEANUP` сетка пишет `gridRow` / `gridColumn` как `undefined` |
|
|
40
|
+
| `checkers_view.click` / `.player.interact` | клик и выбор (game: `MOVES_GET` / `MOVE_PLAY`) |
|
|
41
|
+
| `checkers_view.player.select` | `PLAYER_SELECT` → selection + grid |
|
|
42
|
+
| `checkers_view.board` | `GRID.CHANGED` / `UNSET` → `gridItems` + `UPDATE_FAST` |
|
|
43
|
+
| `checkers_view.status` | `TURNS` / `FINISH` / `SHOW` → status text |
|
|
44
|
+
| `checkers_view.view` | React |
|
|
45
45
|
|
|
46
46
|
## Сценарий
|
|
47
47
|
|
|
@@ -37,14 +37,14 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
37
37
|
|
|
38
38
|
## Модули
|
|
39
39
|
|
|
40
|
-
| Модуль | Зона ответственности
|
|
41
|
-
| --------------------------- |
|
|
42
|
-
| `confirm.controller` | SHOW/HIDE; BACK → `DECLINE`; зеркалит `UPDATE_STATE` в стейт и `UPDATE_FAST` во view.
|
|
43
|
-
| `confirm.controller.arrows` | Наследует `@vnejs/module.controller.arrows.horizontal`: `ARROW_LEFT` / `ARROW_RIGHT` по Accept/Decline; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowHorizontalItem }` и `UPDATE_FAST`. |
|
|
44
|
-
| `confirm.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `SUBMIT` → `ACCEPT` или `DECLINE` по `currentArrowHorizontalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE.
|
|
45
|
-
| `confirm.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: только `STATE.CLEAR` → `HIDE` с `{ isForce: true }` (`IS_STATE_SET_ENABLED = false`).
|
|
46
|
-
| `confirm` | Обрабатывает EMIT, ACCEPT, DECLINE. Колбэки accept/decline снимаются на `HIDE.MAIN`, если контроллер не оборвал скрытие на `GATE`.
|
|
47
|
-
| `confirm.view` | Подмодуль `view` плагина.
|
|
40
|
+
| Модуль | Зона ответственности |
|
|
41
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
42
|
+
| `confirm.controller` | SHOW/HIDE; BACK → `DECLINE`; зеркалит `UPDATE_STATE` в стейт и `UPDATE_FAST` во view. |
|
|
43
|
+
| `confirm.controller.arrows` | Наследует `@vnejs/module.controller.arrows.horizontal`: `ARROW_LEFT` / `ARROW_RIGHT` по Accept/Decline; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowHorizontalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowHorizontalItem` в стейте становится `undefined`. |
|
|
44
|
+
| `confirm.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `SUBMIT` → `ACCEPT` или `DECLINE` по `currentArrowHorizontalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
|
|
45
|
+
| `confirm.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: только `STATE.CLEAR` → `HIDE` с `{ isForce: true }` (`IS_STATE_SET_ENABLED = false`). |
|
|
46
|
+
| `confirm` | Обрабатывает EMIT, ACCEPT, DECLINE. Колбэки accept/decline снимаются на `HIDE.MAIN`, если контроллер не оборвал скрытие на `GATE`. |
|
|
47
|
+
| `confirm.view` | Подмодуль `view` плагина. |
|
|
48
48
|
|
|
49
49
|
## Близкие плагины
|
|
50
50
|
|
|
@@ -39,14 +39,14 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
39
39
|
|
|
40
40
|
## Модули
|
|
41
41
|
|
|
42
|
-
| Модуль | Зона ответственности
|
|
43
|
-
| ------------------------ |
|
|
44
|
-
| `eula.controller` | SHOW/HIDE; `BACK` → `EXIT`; зеркалит `UPDATE_STATE` / `UPDATE_FAST`; lang/locs. `onSettingChange`: при `SETTINGS.EULA.LANG` и `isShow` — `lang` + сброс `currentArrowVerticalItem`.
|
|
45
|
-
| `eula.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по строкам текста; пустые строки через `isArrowItemAvailable`; смена `SETTINGS.EULA.LANG` сбрасывает индекс; PUSH/POP на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
|
|
46
|
-
| `eula.controller.accept` | Наследует `@vnejs/module.controller.accept`: только `ACCEPT` (`IS_INTERACT_ENABLED = false`) → `EULA.ACCEPT` → `ACCEPTED_VERSION`, `HIDE`; PUSH/POP на SHOW/HIDE.
|
|
47
|
-
| `eula.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`.
|
|
48
|
-
| `eula` | В `setup` — `SETTINGS.INIT` для версии и языка; `MAINMENU.SHOW` → `SHOW` (если версия не принята); `EXIT` → `SYSTEM.CLOSE`.
|
|
49
|
-
| `eula.view` | Подмодуль `view` плагина.
|
|
42
|
+
| Модуль | Зона ответственности |
|
|
43
|
+
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `eula.controller` | SHOW/HIDE; `BACK` → `EXIT`; зеркалит `UPDATE_STATE` / `UPDATE_FAST`; lang/locs. `onSettingChange`: при `SETTINGS.EULA.LANG` и `isShow` — `lang` + сброс `currentArrowVerticalItem`. |
|
|
45
|
+
| `eula.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по строкам текста; пустые строки через `isArrowItemAvailable`; смена `SETTINGS.EULA.LANG` сбрасывает индекс; PUSH/POP на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowVerticalItem` в стейте становится `undefined`. |
|
|
46
|
+
| `eula.controller.accept` | Наследует `@vnejs/module.controller.accept`: только `ACCEPT` (`IS_INTERACT_ENABLED = false`) → `EULA.ACCEPT` → `ACCEPTED_VERSION`, `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
47
|
+
| `eula.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
48
|
+
| `eula` | В `setup` — `SETTINGS.INIT` для версии и языка; `MAINMENU.SHOW` → `SHOW` (если версия не принята); `EXIT` → `SYSTEM.CLOSE`. |
|
|
49
|
+
| `eula.view` | Подмодуль `view` плагина. |
|
|
50
50
|
|
|
51
51
|
## Близкие плагины
|
|
52
52
|
|
|
@@ -58,21 +58,21 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
58
58
|
|
|
59
59
|
## Модули
|
|
60
60
|
|
|
61
|
-
| Модуль | Зона ответственности
|
|
62
|
-
| -------------------------------- |
|
|
63
|
-
| `gallery.controller.audio` | Наследник `ModuleControllerAudio`: SHOW/HIDE/PRELOAD → pause global, play/stop `view`-трека; `VOLUME_SETTING = MUSIC.VOLUME`; SHOW передаёт в `AUDIO.PLAY` уже посчитанный `volume`; при `VOLUME_CHANGED` / смене `VOLUME_SETTING` — повторный `AUDIO.VOLUME`.
|
|
64
|
-
| `gallery.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `SHOW.BEFORE` — `TAB_SET`. `UPDATE_STATE` / `UPDATE_FAST`; пустой `controls` на `ZINDEX`.
|
|
65
|
-
| `gallery.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `UPDATE_STATE` `{ bgSrc }`; PRELOAD → warm-cache фона; `MEMORY.CLEARED` при `isShow` → refresh `bgSrc` + `UPDATE_FAST`.
|
|
66
|
-
| `gallery.controller.preload` | PRELOAD — page 0 первого таба через `PAGE_ITEMS_GET`; `MEMORY.CLEARED` при `isShow` — текущая / соседние страницы + page 0 остальных табов (`getItemsOnPage` / `getMaxPagesCount` на лету).
|
|
67
|
-
| `gallery.controller.pages` | Наследует `@vnejs/module.controller.pages`: `EVENT_*` → `GALLERY`; `EVENT_PAGE_NEXT`/`PREV` = `GRID_NEXT`/`PREV`; `applyPage` → `UPDATE_STATE` `{ gridIndex, gridsCount }` + `GRID_UPDATE_ITEMS` + `MEMORY.CLEAR`; стейт `pageIndex` / `pagesCount` (пишет tabs).
|
|
68
|
-
| `gallery.controller.pages.items` | На `PAGE_ITEMS_GET` собирает UI-слот: `CHECK` + media (`MEDIA.LOAD`); возврат item.
|
|
69
|
-
| `gallery.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CHOOSE` только если слот открыт (`isOpened`, не stub); зеркалит `UPDATE_STATE` (`grid*`); PUSH/POP на SHOW/HIDE.
|
|
70
|
-
| `gallery.controller.grid` | Наследует `@vnejs/module.controller.arrows.grid`: четыре стрелки; `isDisableGridChangeVertical = true` (вертикаль не листает страницы); на краю колонок — `GRID_NEXT`/`PREV`; `GRID_CLEAR`; на `GRID_UPDATE_ITEMS` — `getGridItems` через `PAGE_ITEMS_GET` (stub’ы только для layout; в count и snap позиции не входят). |
|
|
71
|
-
| `gallery.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE.
|
|
72
|
-
| `gallery.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`.
|
|
73
|
-
| `gallery.controller.tabs` | Наследник `ModuleControllerTabs`: `TAB_SET` → `applyTab` + `onTabSet` (`pageIndex: 0`, `pagesCount`, `GRID_CLEAR`, `UPDATE_STATE` `{ gridIndex, gridsCount }`, `GRID_UPDATE_ITEMS`; при `isUpdateView` — `UPDATE_FAST` + `MEMORY.CLEAR`); TAB_PREV/TAB_NEXT → `TAB_SET`.
|
|
74
|
-
| `gallery` | Обрабатывает OPEN, CHECK, CLEAR.
|
|
75
|
-
| `gallery.view` | Подмодуль `view` плагина.
|
|
61
|
+
| Модуль | Зона ответственности |
|
|
62
|
+
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
63
|
+
| `gallery.controller.audio` | Наследник `ModuleControllerAudio`: SHOW/HIDE/PRELOAD → pause global, play/stop `view`-трека; `VOLUME_SETTING = MUSIC.VOLUME`; SHOW передаёт в `AUDIO.PLAY` уже посчитанный `volume`; при `VOLUME_CHANGED` / смене `VOLUME_SETTING` — повторный `AUDIO.VOLUME`. |
|
|
64
|
+
| `gallery.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `SHOW.BEFORE` — `TAB_SET`. `UPDATE_STATE` / `UPDATE_FAST`; пустой `controls` на `ZINDEX`. |
|
|
65
|
+
| `gallery.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `UPDATE_STATE` `{ bgSrc }`; PRELOAD → warm-cache фона; `MEMORY.CLEARED` при `isShow` → refresh `bgSrc` + `UPDATE_FAST`. |
|
|
66
|
+
| `gallery.controller.preload` | PRELOAD — page 0 первого таба через `PAGE_ITEMS_GET`; `MEMORY.CLEARED` при `isShow` — текущая / соседние страницы + page 0 остальных табов (`getItemsOnPage` / `getMaxPagesCount` на лету). |
|
|
67
|
+
| `gallery.controller.pages` | Наследует `@vnejs/module.controller.pages`: `EVENT_*` → `GALLERY`; `EVENT_PAGE_NEXT`/`PREV` = `GRID_NEXT`/`PREV`; `applyPage` → `UPDATE_STATE` `{ gridIndex, gridsCount }` + `GRID_UPDATE_ITEMS` + `MEMORY.CLEAR`; стейт `pageIndex` / `pagesCount` (пишет tabs). |
|
|
68
|
+
| `gallery.controller.pages.items` | На `PAGE_ITEMS_GET` собирает UI-слот: `CHECK` + media (`MEDIA.LOAD`); возврат item. |
|
|
69
|
+
| `gallery.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CHOOSE` только если слот открыт (`isOpened`, не stub); зеркалит `UPDATE_STATE` (`grid*`); PUSH/POP на SHOW/HIDE. |
|
|
70
|
+
| `gallery.controller.grid` | Наследует `@vnejs/module.controller.arrows.grid`: четыре стрелки; `isDisableGridChangeVertical = true` (вертикаль не листает страницы); на краю колонок — `GRID_NEXT`/`PREV`; `GRID_CLEAR`; на `GRID_UPDATE_ITEMS` — `getGridItems` через `PAGE_ITEMS_GET` (stub’ы только для layout; в count и snap позиции не входят). На `HIDE.CLEANUP` `gridRow` / `gridColumn` в стейте становятся `undefined`. |
|
|
71
|
+
| `gallery.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
72
|
+
| `gallery.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
73
|
+
| `gallery.controller.tabs` | Наследник `ModuleControllerTabs`: `TAB_SET` → `applyTab` + `onTabSet` (`pageIndex: 0`, `pagesCount`, `GRID_CLEAR`, `UPDATE_STATE` `{ gridIndex, gridsCount }`, `GRID_UPDATE_ITEMS`; при `isUpdateView` — `UPDATE_FAST` + `MEMORY.CLEAR`); TAB_PREV/TAB_NEXT → `TAB_SET`. |
|
|
74
|
+
| `gallery` | Обрабатывает OPEN, CHECK, CLEAR. |
|
|
75
|
+
| `gallery.view` | Подмодуль `view` плагина. |
|
|
76
76
|
|
|
77
77
|
## Близкие плагины
|
|
78
78
|
|
|
@@ -42,15 +42,15 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
42
42
|
|
|
43
43
|
## Модули
|
|
44
44
|
|
|
45
|
-
| Модуль | Зона ответственности
|
|
46
|
-
| ---------------------------- |
|
|
47
|
-
| `gamemenu.controller` | Обрабатывает UPDATE, HIDE, SHOW, UPDATE_STATE, UPDATE_FAST, …. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. Резолвит `ITEMS` → `items` / `realItems`.
|
|
48
|
-
| `gamemenu.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по полному индексу пункта (через `realItems`); зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE.
|
|
49
|
-
| `gamemenu.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по видимым пунктам; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
|
|
50
|
-
| `gamemenu.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE.
|
|
51
|
-
| `gamemenu.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`.
|
|
52
|
-
| `gamemenu` | `ITEMS` / `CLICK`; пропускает disabled/hided.
|
|
53
|
-
| `gamemenu.view` | Подмодуль `view` плагина; `isDisabled` / `isNotRender` в TextControls.
|
|
45
|
+
| Модуль | Зона ответственности |
|
|
46
|
+
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
47
|
+
| `gamemenu.controller` | Обрабатывает UPDATE, HIDE, SHOW, UPDATE_STATE, UPDATE_FAST, …. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. Резолвит `ITEMS` → `items` / `realItems`. |
|
|
48
|
+
| `gamemenu.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по полному индексу пункта (через `realItems`); зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
|
|
49
|
+
| `gamemenu.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по видимым пунктам; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowVerticalItem` в стейте становится `undefined`. |
|
|
50
|
+
| `gamemenu.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
51
|
+
| `gamemenu.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
52
|
+
| `gamemenu` | `ITEMS` / `CLICK`; пропускает disabled/hided. |
|
|
53
|
+
| `gamemenu.view` | Подмодуль `view` плагина; `isDisabled` / `isNotRender` в TextControls. |
|
|
54
54
|
|
|
55
55
|
## Близкие плагины
|
|
56
56
|
|
|
@@ -27,12 +27,12 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
27
27
|
|
|
28
28
|
## Параметры
|
|
29
29
|
|
|
30
|
-
| Ключ | Тип | Смысл
|
|
31
|
-
| ------------ | -------- |
|
|
32
|
-
| `ZINDEX` | `number` | Значение по умолчанию: 2000.
|
|
33
|
-
| `TRANSITION` | `number` | Значение по умолчанию: 300.
|
|
34
|
-
| `LOC_LABEL` | `string` | Метка локализации view (`history`).
|
|
35
|
-
| `VIEW_PROPS` | `object` | Раскладка экрана, строк и
|
|
30
|
+
| Ключ | Тип | Смысл |
|
|
31
|
+
| ------------ | -------- | ------------------------------------------------------------------------- |
|
|
32
|
+
| `ZINDEX` | `number` | Значение по умолчанию: 2000. |
|
|
33
|
+
| `TRANSITION` | `number` | Значение по умолчанию: 300. |
|
|
34
|
+
| `LOC_LABEL` | `string` | Метка локализации view (`history`). |
|
|
35
|
+
| `VIEW_PROPS` | `object` | Раскладка экрана, строк (блок по вертикали по центру) и крестика `close`. |
|
|
36
36
|
|
|
37
37
|
## Настройки
|
|
38
38
|
|
|
@@ -40,15 +40,15 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
40
40
|
|
|
41
41
|
## Модули
|
|
42
42
|
|
|
43
|
-
| Модуль | Зона ответственности
|
|
44
|
-
| --------------------------- |
|
|
45
|
-
| `history.controller` | SHOW/HIDE/UPDATE_STATE/UPDATE_FAST; перед SHOW резолвит тексты строк (`TEXT.REPLACE`). Для `locKey` — через `PARAMS.HISTORY_VIEW.LOC_LABEL` (локализация view), иначе через label сценария. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже.
|
|
46
|
-
| `history.controller.click` | `HISTORY_VIEW.CLICK` → `HISTORY.KEYS`; если `uid` в ключах — `HISTORY.LOAD`.
|
|
47
|
-
| `history.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE.
|
|
48
|
-
| `history.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по записям журнала; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`.
|
|
49
|
-
| `history.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE.
|
|
50
|
-
| `history.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` → `HIDE` с `{ isForce: true }` (`IS_STATE_CLEAR_ENABLED = false`).
|
|
51
|
-
| `history.view` | Подмодуль `view` плагина.
|
|
43
|
+
| Модуль | Зона ответственности |
|
|
44
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
45
|
+
| `history.controller` | SHOW/HIDE/UPDATE_STATE/UPDATE_FAST; перед SHOW резолвит тексты строк (`TEXT.REPLACE`). Для `locKey` — через `PARAMS.HISTORY_VIEW.LOC_LABEL` (локализация view), иначе через label сценария. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
|
|
46
|
+
| `history.controller.click` | `HISTORY_VIEW.CLICK` → `HISTORY.KEYS`; если `uid` в ключах — `HISTORY.LOAD`. |
|
|
47
|
+
| `history.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
|
|
48
|
+
| `history.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по записям журнала; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowVerticalItem` в стейте становится `undefined`. |
|
|
49
|
+
| `history.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
50
|
+
| `history.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` → `HIDE` с `{ isForce: true }` (`IS_STATE_CLEAR_ENABLED = false`). |
|
|
51
|
+
| `history.view` | Подмодуль `view` плагина. |
|
|
52
52
|
|
|
53
53
|
## Близкие плагины
|
|
54
54
|
|
|
@@ -48,18 +48,18 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
48
48
|
|
|
49
49
|
## Модули
|
|
50
50
|
|
|
51
|
-
| Модуль | Зона ответственности
|
|
52
|
-
| ---------------------------- |
|
|
53
|
-
| `mainmenu.controller` | UPDATE, SHOW, HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `SHOW.BEFORE` — ITEMS. Пустой `controls` на `ZINDEX`. UPDATE_STATE, UPDATE_FAST, UPDATE_FORCE.
|
|
54
|
-
| `mainmenu.controller.bg` | Наследует `@vnejs/module.controller.bg`: начальный `bgSrc` на `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE`; `start` / `STATE.CLEAR` preload. Ротацию не трогает.
|
|
55
|
-
| `mainmenu.hide` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`.
|
|
56
|
-
| `mainmenu.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE.
|
|
57
|
-
| `mainmenu.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по видимым пунктам; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
|
|
58
|
-
| `mainmenu.backgrounds` | Наследует `@vnejs/module.controller.backgrounds`: ротация `BACKGROUNDS`, preload и таймер; эмитит `UPDATE_STATE` и `UPDATE_FAST`.
|
|
59
|
-
| `mainmenu.preload` | Наследует `@vnejs/module.controller.preload`: по SHOW / PRELOAD
|
|
60
|
-
| `mainmenu.scenario` | LINE_EXEC → SHOW, LINE_LOAD → PRELOAD.
|
|
61
|
-
| `mainmenu` | Обрабатывает ITEMS и CLICK.
|
|
62
|
-
| `mainmenu.view` | Подмодуль `view` плагина.
|
|
51
|
+
| Модуль | Зона ответственности |
|
|
52
|
+
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
53
|
+
| `mainmenu.controller` | UPDATE, SHOW, HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `SHOW.BEFORE` — ITEMS. Пустой `controls` на `ZINDEX`. UPDATE_STATE, UPDATE_FAST, UPDATE_FORCE. |
|
|
54
|
+
| `mainmenu.controller.bg` | Наследует `@vnejs/module.controller.bg`: начальный `bgSrc` на `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE`; `isShow` из `UPDATE_STATE`; `start` / `STATE.CLEAR` preload. Ротацию не трогает. |
|
|
55
|
+
| `mainmenu.hide` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
56
|
+
| `mainmenu.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
|
|
57
|
+
| `mainmenu.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по видимым пунктам; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowVerticalItem` в стейте становится `undefined`. |
|
|
58
|
+
| `mainmenu.backgrounds` | Наследует `@vnejs/module.controller.backgrounds`: ротация `BACKGROUNDS`, preload и таймер; `isShow` из `UPDATE_STATE`; эмитит `UPDATE_STATE` и `UPDATE_FAST`. Таймер снимается на `HIDE.AFTER`. |
|
|
59
|
+
| `mainmenu.preload` | Наследует `@vnejs/module.controller.preload`: по SHOW / PRELOAD грузит `PRELOAD_LABELS` и `PRELOAD_EVENTS`. `MEMORY.CLEARED` — только при `isShow` из `UPDATE_STATE`. |
|
|
60
|
+
| `mainmenu.scenario` | LINE_EXEC → SHOW, LINE_LOAD → PRELOAD. |
|
|
61
|
+
| `mainmenu` | Обрабатывает ITEMS и CLICK. |
|
|
62
|
+
| `mainmenu.view` | Подмодуль `view` плагина. |
|
|
63
63
|
|
|
64
64
|
## Близкие плагины
|
|
65
65
|
|
|
@@ -48,21 +48,21 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
48
48
|
|
|
49
49
|
## Модули
|
|
50
50
|
|
|
51
|
-
| Модуль | Зона ответственности
|
|
52
|
-
| ------------------------- |
|
|
53
|
-
| `save.controller.audio` | Наследник `ModuleControllerAudio`: SHOW/HIDE/PRELOAD → pause global, play/stop `view`-трека; `VOLUME_SETTING = MUSIC.VOLUME`; SHOW передаёт в `AUDIO.PLAY` уже посчитанный `volume`; при `VOLUME_CHANGED` / смене `VOLUME_SETTING` — повторный `AUDIO.VOLUME`.
|
|
54
|
-
| `save.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `SHOW.BEFORE` — `TAB_SET`. `UPDATE_STATE` / `UPDATE_FAST`; пустой `controls` на `ZINDEX`.
|
|
55
|
-
| `save.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; PRELOAD / `start`; `MEMORY.CLEARED` — preload и refresh при `isShow`.
|
|
56
|
-
| `save.controller.actions` | CREATE → `SAVE.CREATE`, DELETE → `SAVE.DELETE`; `group` из payload или `getSaveGroup` (autosave / `pageIndex`); затем `GRID_UPDATE_ITEMS` + `UPDATE_FAST`.
|
|
57
|
-
| `save.controller.pages` | Наследует `@vnejs/module.controller.pages`: `EVENT_*` → `SAVE_VIEW`; `applyPage` → `UPDATE_STATE` `{ gridIndex, gridsCount }` + `GRID_UPDATE_ITEMS`; `init` пишет `pagesCount`.
|
|
58
|
-
| `save.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CREATE` на вкладке save, иначе `LOAD` при `screen`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE.
|
|
59
|
-
| `save.controller.grid` | Наследует `@vnejs/module.controller.arrows.grid`: четыре стрелки; `isDisableGridChangeVertical = true` (вертикаль не листает страницы); на краю колонок — `GRID_NEXT`/`PREV`; `GRID_CLEAR`; `GRID_UPDATE_ITEMS` → `getGridItems` / `UPDATE_STATE` `{ gridItems }`.
|
|
60
|
-
| `save.view.slot` | На `SLOT_CREATE` собирает UI-слот: `SAVE.GET` → `screen` / `ts` / `date` / `time` / `locKey`.
|
|
61
|
-
| `save.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE.
|
|
62
|
-
| `save.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`.
|
|
63
|
-
| `save.controller.tabs` | Наследник `ModuleControllerTabs`: `TAB_SET` → `applyTab` + `onTabSet` (`pageIndex: 0`, `GRID_CLEAR`, `UPDATE_STATE` `{ gridIndex, gridsCount }`, `GRID_UPDATE_ITEMS`, опционально `UPDATE_FAST`); TAB_PREV/TAB_NEXT → `TAB_SET`; `getTabKeys` фильтрует SAVE vs LOAD/AUTOSAVE.
|
|
64
|
-
| `save.controller.load` | Подмодуль `controller.load` плагина.
|
|
65
|
-
| `save.view` | Подмодуль `view` плагина.
|
|
51
|
+
| Модуль | Зона ответственности |
|
|
52
|
+
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
53
|
+
| `save.controller.audio` | Наследник `ModuleControllerAudio`: SHOW/HIDE/PRELOAD → pause global, play/stop `view`-трека; `VOLUME_SETTING = MUSIC.VOLUME`; SHOW передаёт в `AUDIO.PLAY` уже посчитанный `volume`; при `VOLUME_CHANGED` / смене `VOLUME_SETTING` — повторный `AUDIO.VOLUME`. |
|
|
54
|
+
| `save.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `SHOW.BEFORE` — `TAB_SET`. `UPDATE_STATE` / `UPDATE_FAST`; пустой `controls` на `ZINDEX`. |
|
|
55
|
+
| `save.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; PRELOAD / `start`; `MEMORY.CLEARED` — preload и refresh при `isShow`. |
|
|
56
|
+
| `save.controller.actions` | CREATE → `SAVE.CREATE`, DELETE → `SAVE.DELETE`; `group` из payload или `getSaveGroup` (autosave / `pageIndex`); затем `GRID_UPDATE_ITEMS` + `UPDATE_FAST`. |
|
|
57
|
+
| `save.controller.pages` | Наследует `@vnejs/module.controller.pages`: `EVENT_*` → `SAVE_VIEW`; `applyPage` → `UPDATE_STATE` `{ gridIndex, gridsCount }` + `GRID_UPDATE_ITEMS`; `init` пишет `pagesCount`. |
|
|
58
|
+
| `save.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CREATE` на вкладке save, иначе `LOAD` при `screen`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
|
|
59
|
+
| `save.controller.grid` | Наследует `@vnejs/module.controller.arrows.grid`: четыре стрелки; `isDisableGridChangeVertical = true` (вертикаль не листает страницы); на краю колонок — `GRID_NEXT`/`PREV`; `GRID_CLEAR`; `GRID_UPDATE_ITEMS` → `getGridItems` / `UPDATE_STATE` `{ gridItems }`. На `HIDE.CLEANUP` `gridRow` / `gridColumn` в стейте становятся `undefined`. |
|
|
60
|
+
| `save.view.slot` | На `SLOT_CREATE` собирает UI-слот: `SAVE.GET` → `screen` / `ts` / `date` / `time` / `locKey`. |
|
|
61
|
+
| `save.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
62
|
+
| `save.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
63
|
+
| `save.controller.tabs` | Наследник `ModuleControllerTabs`: `TAB_SET` → `applyTab` + `onTabSet` (`pageIndex: 0`, `GRID_CLEAR`, `UPDATE_STATE` `{ gridIndex, gridsCount }`, `GRID_UPDATE_ITEMS`, опционально `UPDATE_FAST`); TAB_PREV/TAB_NEXT → `TAB_SET`; `getTabKeys` фильтрует SAVE vs LOAD/AUTOSAVE. |
|
|
64
|
+
| `save.controller.load` | Подмодуль `controller.load` плагина. |
|
|
65
|
+
| `save.view` | Подмодуль `view` плагина. |
|
|
66
66
|
|
|
67
67
|
## Близкие плагины
|
|
68
68
|
|