@vnejs/docs 0.2.54 → 0.2.56

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/architecture.md +22 -22
  3. package/package.json +1 -1
  4. package/plugins/canvas.layers/bl.md +8 -3
  5. package/plugins/canvas.layers/fl.md +8 -3
  6. package/plugins/canvas.layers/ml.md +8 -3
  7. package/plugins/canvas.layers/ul.md +8 -3
  8. package/plugins/controls/cursor.md +15 -12
  9. package/plugins/core/components.md +2 -1
  10. package/plugins/views/achievement.md +14 -9
  11. package/plugins/views/comment.md +10 -7
  12. package/plugins/views/controls.hints.md +12 -7
  13. package/plugins/views/cursor.md +3 -2
  14. package/plugins/views/fps.md +10 -8
  15. package/plugins/views/gamepad.debug.md +10 -8
  16. package/plugins/views/settings.md +4 -3
  17. package/plugins/views/video.md +15 -11
  18. package/plugins/views.scenario/choose.md +11 -11
  19. package/plugins/views.scenario/interface.controls.md +14 -11
  20. package/plugins/views.scenario/interface.fastforward.md +10 -7
  21. package/plugins/views.scenario/interface.md +23 -20
  22. package/plugins/views.scenario/point_and_click.md +16 -14
  23. package/plugins/views.scenario/qte.md +29 -27
  24. package/plugins/views.screens/checkers.md +1 -1
  25. package/plugins/views.screens/confirm.md +6 -5
  26. package/plugins/views.screens/credits.md +17 -14
  27. package/plugins/views.screens/disclaimer.md +14 -11
  28. package/plugins/views.screens/eula.md +4 -3
  29. package/plugins/views.screens/gallery.full.md +8 -5
  30. package/plugins/views.screens/gallery.md +9 -9
  31. package/plugins/views.screens/gamemenu.md +5 -4
  32. package/plugins/views.screens/history.md +6 -4
  33. package/plugins/views.screens/intro.md +17 -17
  34. package/plugins/views.screens/loading.md +15 -15
  35. package/plugins/views.screens/mainmenu.md +18 -19
  36. package/plugins/views.screens/mainmenu.socials.md +6 -3
  37. package/plugins/views.screens/save.md +10 -10
  38. package/plugins/views.screens/settings.defaults.md +17 -17
  39. package/plugins/views.screens/settings.md +15 -15
@@ -8,13 +8,16 @@
8
8
 
9
9
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.scenario.interface.controls`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------- | ------------------------------- | ----------------------------------- |
13
- | `SHOW` | `vne:interface_controls:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:interface_controls:hide` | Скрыть UI или слой. |
15
- | `UPDATE` | `vne:interface_controls:update` | Обновить состояние или отображение. |
16
- | `CLICK` | `vne:interface_controls:click` | Событие `CLICK` namespace плагина. |
17
- | `ICONS` | `vne:interface_controls:icons` | Событие `ICONS` namespace плагина. |
11
+ | Ключ | Строка | Смысл |
12
+ | -------------- | ------------------------------------- | ----------------------------------------------- |
13
+ | `SHOW` | `vne:interface_controls:show` | Показать UI или слой. |
14
+ | `HIDE` | `vne:interface_controls:hide` | Скрыть UI или слой. |
15
+ | `UPDATE` | `vne:interface_controls:update` | Обновить состояние или отображение. |
16
+ | `UPDATE_FAST` | `vne:interface_controls:update_fast` | Быстрое обновление отображения. |
17
+ | `UPDATE_FORCE` | `vne:interface_controls:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
18
+ | `UPDATE_STATE` | `vne:interface_controls:update_state` | Слить partial в стейт контроллера. |
19
+ | `CLICK` | `vne:interface_controls:click` | Событие `CLICK` namespace плагина. |
20
+ | `ICONS` | `vne:interface_controls:icons` | Событие `ICONS` namespace плагина. |
18
21
 
19
22
  ## Константы
20
23
 
@@ -34,10 +37,10 @@ Payloads и результаты хендлеров типизированы ч
34
37
 
35
38
  ## Модули
36
39
 
37
- | Модуль | Зона ответственности |
38
- | ------------------------------- | ------------------------------------------------ |
39
- | `interface.controls.controller` | Обрабатывает UPDATE, VISIBLE, INTERACT, SHOW, …. |
40
- | `interface.controls.view` | Подмодуль `controls.view` плагина. |
40
+ | Модуль | Зона ответственности |
41
+ | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
42
+ | `interface.controls.controller` | Обрабатывает UPDATE, VISIBLE, INTERACT, SHOW, …. `CONTROLS_EXTENSIONS` сливается в `CONTROLS` в `ModuleController.init`. |
43
+ | `interface.controls.view` | Подмодуль `controls.view` плагина. |
41
44
 
42
45
  ## Близкие плагины
43
46
 
@@ -8,13 +8,16 @@
8
8
 
9
9
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.scenario.interface.fastforward`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ------------------- | --------------------------------------------- | ---------------------------------------------- |
13
- | `SHOW` | `vne:interface_fastforward:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:interface_fastforward:hide` | Скрыть UI или слой. |
15
- | `CLICK` | `vne:interface_fastforward:click` | Событие `CLICK` namespace плагина. |
16
- | `UPDATE` | `vne:interface_fastforward:update` | Обновить состояние или отображение. |
17
- | `DISABLE_ANIMATION` | `vne:interface_fastforward:disable_animation` | Событие `DISABLE_ANIMATION` namespace плагина. |
11
+ | Ключ | Строка | Смысл |
12
+ | ------------------- | --------------------------------------------- | ----------------------------------------------- |
13
+ | `SHOW` | `vne:interface_fastforward:show` | Показать UI или слой. |
14
+ | `HIDE` | `vne:interface_fastforward:hide` | Скрыть UI или слой. |
15
+ | `CLICK` | `vne:interface_fastforward:click` | Событие `CLICK` namespace плагина. |
16
+ | `UPDATE` | `vne:interface_fastforward:update` | Обновить состояние или отображение. |
17
+ | `UPDATE_FAST` | `vne:interface_fastforward:update_fast` | Быстрое обновление отображения. |
18
+ | `UPDATE_FORCE` | `vne:interface_fastforward:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
19
+ | `UPDATE_STATE` | `vne:interface_fastforward:update_state` | Слить partial в стейт контроллера. |
20
+ | `DISABLE_ANIMATION` | `vne:interface_fastforward:disable_animation` | Событие `DISABLE_ANIMATION` namespace плагина. |
18
21
 
19
22
  ## Константы
20
23
 
@@ -8,24 +8,27 @@
8
8
 
9
9
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.scenario.interface`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ----------------- | ------------------------------- | ------------------------------------------- |
13
- | `SHOW` | `vne:interface:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:interface:hide` | Скрыть UI или слой. |
15
- | `SHOW_CHANGED` | `vne:interface:show_changed` | Показать UI или слой. |
16
- | `VIEW_SHOW` | `vne:interface:view_show` | Показать UI или слой. |
17
- | `VIEW_HIDE` | `vne:interface:view_hide` | Скрыть UI или слой. |
18
- | `VIEW_UPDATE` | `vne:interface:view_update` | Обновить состояние или отображение. |
19
- | `TEXT_HIDE` | `vne:interface:text_hide` | Скрыть UI или слой. |
20
- | `TEXT_CHANGED` | `vne:interface:text_changed` | Зафиксировать изменение состояния. |
21
- | `WALL_CHANGED` | `vne:interface:wall_changed` | Зафиксировать изменение состояния. |
22
- | `SPEAKER_CHANGED` | `vne:interface:speaker_changed` | Зафиксировать смену текущего спикера. |
23
- | `VISIBLE` | `vne:interface:visible` | Событие `VISIBLE` namespace плагина. |
24
- | `VISIBLE_CHANGED` | `vne:interface:visible_changed` | Зафиксировать изменение состояния. |
25
- | `VIEW` | `vne:interface:view` | Событие `VIEW` namespace плагина. |
26
- | `VIEW_CHANGED` | `vne:interface:view_changed` | Зафиксировать изменение состояния. |
27
- | `INTERACT` | `vne:interface:interact` | Событие `INTERACT` namespace плагина. |
28
- | `STATE_CHANGED` | `vne:interface:state_changed` | Сигнал об изменении накопленного состояния. |
11
+ | Ключ | Строка | Смысл |
12
+ | ----------------- | ------------------------------- | ----------------------------------------------- |
13
+ | `SHOW` | `vne:interface:show` | Показать UI или слой. |
14
+ | `HIDE` | `vne:interface:hide` | Скрыть UI или слой. |
15
+ | `SHOW_CHANGED` | `vne:interface:show_changed` | Показать UI или слой. |
16
+ | `VIEW_SHOW` | `vne:interface:view_show` | Показать UI или слой. |
17
+ | `VIEW_HIDE` | `vne:interface:view_hide` | Скрыть UI или слой. |
18
+ | `VIEW_UPDATE` | `vne:interface:view_update` | Обновить состояние или отображение. |
19
+ | `UPDATE_FAST` | `vne:interface:update_fast` | Быстрое обновление отображения. |
20
+ | `UPDATE_FORCE` | `vne:interface:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
21
+ | `UPDATE_STATE` | `vne:interface:update_state` | Слить partial в стейт контроллера. |
22
+ | `TEXT_HIDE` | `vne:interface:text_hide` | Скрыть UI или слой. |
23
+ | `TEXT_CHANGED` | `vne:interface:text_changed` | Зафиксировать изменение состояния. |
24
+ | `WALL_CHANGED` | `vne:interface:wall_changed` | Зафиксировать изменение состояния. |
25
+ | `SPEAKER_CHANGED` | `vne:interface:speaker_changed` | Зафиксировать смену текущего спикера. |
26
+ | `VISIBLE` | `vne:interface:visible` | Событие `VISIBLE` namespace плагина. |
27
+ | `VISIBLE_CHANGED` | `vne:interface:visible_changed` | Зафиксировать изменение состояния. |
28
+ | `VIEW` | `vne:interface:view` | Событие `VIEW` namespace плагина. |
29
+ | `VIEW_CHANGED` | `vne:interface:view_changed` | Зафиксировать изменение состояния. |
30
+ | `INTERACT` | `vne:interface:interact` | Событие `INTERACT` namespace плагина. |
31
+ | `STATE_CHANGED` | `vne:interface:state_changed` | Сигнал об изменении накопленного состояния. |
29
32
 
30
33
  ## Константы
31
34
 
@@ -86,5 +89,5 @@ Payloads и результаты хендлеров типизированы ч
86
89
 
87
90
  - [controls.md](../controls/controls.md) — `CONTROLS`: EVENTS.POP, EVENTS.PUSH
88
91
  - [text.md](../text/text.md) — `TEXT`: связка через compatibility выше (`CHANGED`, `SPEAKER_CHANGED`, `EMIT_BEFORE`)
89
- - [choose.md](./choose.md) — compatibility скрывает interface на `CHOOSE_VIEW.SHOW_BEFORE`
90
- - [qte.md](./qte.md) — compatibility скрывает interface на `QTE_VIEW.SHOW_BEFORE`
92
+ - [choose.md](./choose.md) — compatibility скрывает interface на `CHOOSE_VIEW.SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`)
93
+ - [qte.md](./qte.md) — compatibility скрывает interface на `QTE_VIEW.SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`)
@@ -8,12 +8,14 @@ React-UI point-and-click (иконки-hotspot). Зависит от scenario-п
8
8
 
9
9
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.scenario.point_and_click`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ------------- | -------------------------------------- | ------------------------------------------------------ |
13
- | `SHOW` | `vne:point_and_click_view:show` | Показать UI. |
14
- | `SHOW_BEFORE` | `vne:point_and_click_view:show_before` | Хук перед показом (после загрузки state и icon media). |
15
- | `HIDE` | `vne:point_and_click_view:hide` | Скрыть UI. |
16
- | `UPDATE` | `vne:point_and_click_view:update` | Обновить React-store / отображение. |
11
+ | Ключ | Строка | Смысл |
12
+ | -------------- | --------------------------------------- | ----------------------------------------------- |
13
+ | `SHOW` | `vne:point_and_click_view:show` | Показать UI. |
14
+ | `HIDE` | `vne:point_and_click_view:hide` | Скрыть UI. |
15
+ | `UPDATE` | `vne:point_and_click_view:update` | Обновить React-store / отображение. |
16
+ | `UPDATE_FAST` | `vne:point_and_click_view:update_fast` | Быстрое обновление отображения. |
17
+ | `UPDATE_FORCE` | `vne:point_and_click_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
18
+ | `UPDATE_STATE` | `vne:point_and_click_view:update_state` | Слить partial в стейт контроллера. |
17
19
 
18
20
  Сценарные события (`EMIT`, `OPTION`, `SHOW`, `HIDE`, `SKIP`, `EXEC_*`, `STATE_UPDATE`) — в контракте `@vnejs/contracts.scenario.point_and_click`, namespace `POINT_AND_CLICK`.
19
21
 
@@ -35,11 +37,11 @@ Payloads и результаты хендлеров типизированы ч
35
37
 
36
38
  ## Модули
37
39
 
38
- | Модуль | Зона ответственности |
39
- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
40
- | `point_and_click_view.bridge` | Bridge `POINT_AND_CLICK.SHOW/HIDE` → `POINT_AND_CLICK_VIEW.SHOW/HIDE`; на hide — `INTERFACE.TEXT_HIDE`. |
41
- | `point_and_click_view.controller` | Загрузка `iconSrc` / `iconHoverSrc`, `controls` из `CONTROLS_EXTENSIONS` в `init`, `beforeShow` / `afterHide`. `SETTINGS.CHANGED` → `updateViewFast` только при `state.isShow`. |
42
- | `point_and_click_view.view` | React-render hotspot-иконок (`Image` + `srcHover` + `transition` из `PARAMS.POINT_AND_CLICK_VIEW.TRANSITION`; размер — натуральный или args `imgWidth` / `imgHeight` в px canvas). |
40
+ | Модуль | Зона ответственности |
41
+ | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42
+ | `point_and_click_view.bridge` | Bridge `POINT_AND_CLICK.SHOW/HIDE` → `POINT_AND_CLICK_VIEW.SHOW/HIDE`; на hide — `INTERFACE.TEXT_HIDE`. |
43
+ | `point_and_click_view.controller` | На `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` грузит `iconSrc` / `iconHoverSrc`; `CONTROLS_EXTENSIONS` сливается в `CONTROLS` в `ModuleController.init`; сброс стейта на `HIDE.CLEANUP` делает `ModuleController` (`SHOULD_CLEAR_STATE_ON_CLEANUP`). `SETTINGS.CHANGED` → `updateViewFast` при `state.isShow` — из `ModuleController`. |
44
+ | `point_and_click_view.view` | React-render hotspot-иконок (`Image` + `srcHover` + `transition` из `PARAMS.POINT_AND_CLICK_VIEW.TRANSITION`; размер — натуральный или args `imgWidth` / `imgHeight` в px canvas). |
43
45
 
44
46
  ## Связь с POINT_AND_CLICK
45
47
 
@@ -54,7 +56,7 @@ sequenceDiagram
54
56
  OBS->>BR: bridge
55
57
  BR->>OBS: vne:point_and_click_view:show
56
58
  OBS->>VC: onShow
57
- Note over VC: beforeShow читает globalState и грузит icons
59
+ Note over VC: SHOW BEFORE читает globalState и грузит icons
58
60
  VC->>OBS: vne:point_and_click:option
59
61
  OBS->>SC: onOption
60
62
  SC->>OBS: vne:point_and_click:hide
@@ -68,7 +70,7 @@ sequenceDiagram
68
70
 
69
71
  Пакет: `@vnejs/compatibility.views.scenario.point_and_click-with-views.scenario.interface`
70
72
 
71
- На `POINT_AND_CLICK_VIEW.SHOW_BEFORE` эмитит `INTERFACE.HIDE`.
73
+ На `POINT_AND_CLICK_VIEW.SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` эмитит `INTERFACE.HIDE`.
72
74
 
73
75
  ## Близкие плагины
74
76
 
@@ -83,5 +85,5 @@ sequenceDiagram
83
85
  ### Остальные
84
86
 
85
87
  - [controls.md](../controls/controls.md) — `CONTROLS`: через `PARAMS.CONTROLS_EXTENSIONS`
86
- - [interface.md](interface.md) — compatibility скрывает interface на `SHOW_BEFORE`; bridge зовёт `TEXT_HIDE` на hide
88
+ - [interface.md](interface.md) — compatibility скрывает interface на `SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`); bridge зовёт `TEXT_HIDE` на hide
87
89
  - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY для media icons
@@ -4,19 +4,21 @@
4
4
 
5
5
  React-UI Quick Time Event: фазы анимации, зона успеха в процентах, ACCEPT / INTERACT. Зависит от scenario-плагина [qte.md](../scenario/qte.md) (`QTE`): слушает `OPENED` / `CLOSED`, эмитит `RESULT` по итогам раунда.
6
6
 
7
- Состояние раунда **не** пишется в save — только в controller/view; на `SHOW_BEFORE` скрывается interface (compatibility).
7
+ Состояние раунда **не** пишется в save — только в controller/view; на `SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` скрывается interface (compatibility).
8
8
 
9
9
  ## События
10
10
 
11
11
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.scenario.qte`.
12
12
 
13
- | Ключ | Строка | Смысл |
14
- | ------------- | -------------------------- | ----------------------------------------------------------- |
15
- | `SHOW` | `vne:qte_view:show` | Показать UI QTE. |
16
- | `SHOW_BEFORE` | `vne:qte_view:show_before` | Хук перед показом (после сброса state раунда). |
17
- | `HIDE` | `vne:qte_view:hide` | Скрыть UI QTE. |
18
- | `UPDATE` | `vne:qte_view:update` | Обновить React-store / отображение. |
19
- | `ACTION` | `vne:qte_view:action` | Игрок нажал ACCEPT / INTERACT (или клик) во время `active`. |
13
+ | Ключ | Строка | Смысл |
14
+ | -------------- | --------------------------- | ----------------------------------------------------------- |
15
+ | `SHOW` | `vne:qte_view:show` | Показать UI QTE. |
16
+ | `HIDE` | `vne:qte_view:hide` | Скрыть UI QTE. |
17
+ | `UPDATE` | `vne:qte_view:update` | Обновить React-store / отображение. |
18
+ | `UPDATE_FAST` | `vne:qte_view:update_fast` | Быстрое обновление отображения. |
19
+ | `UPDATE_FORCE` | `vne:qte_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
20
+ | `UPDATE_STATE` | `vne:qte_view:update_state` | Слить partial в стейт контроллера. |
21
+ | `ACTION` | `vne:qte_view:action` | Игрок нажал ACCEPT / INTERACT (или клик) во время `active`. |
20
22
 
21
23
  Сценарные события (`EMIT`, `RESULT`, `OPENED`, `CLOSED`) — в контракте `@vnejs/contracts.scenario.qte`, namespace `QTE`.
22
24
 
@@ -26,14 +28,14 @@ Payloads и результаты хендлеров типизированы ч
26
28
 
27
29
  ## Параметры
28
30
 
29
- | Ключ | Тип | Смысл |
30
- | -------------- | -------- | --------------------------------------------------------------------- |
31
- | `TRANSITION` | `number` | Длительность анимации показа/скрытия (мс). По умолчанию `500`. |
31
+ | Ключ | Тип | Смысл |
32
+ | -------------- | -------- | ---------------------------------------------------------------------------------------------- |
33
+ | `TRANSITION` | `number` | Длительность анимации показа/скрытия (мс). По умолчанию `500`. |
32
34
  | `INITIAL` | `number` | Зарезервирован; не используется view (маркер стартует после `TRANSITION`). По умолчанию `100`. |
33
- | `ZINDEX` | `number` | Z-index слоя и индекс блока controls. По умолчанию `1300`. |
34
- | `RESULT_DELAY` | `number` | Пауза на экране success/fail перед `RESULT` (мс). По умолчанию `500`. |
35
- | `LOC_LABEL` | `string` | Метка локализации текстов статуса (`locs`). По умолчанию `"qte"`. |
36
- | `VIEW_PROPS` | `object` | Пропсы Screen, PositionBox. |
35
+ | `ZINDEX` | `number` | Z-index слоя и индекс блока controls. По умолчанию `1300`. |
36
+ | `RESULT_DELAY` | `number` | Пауза на экране success/fail перед `RESULT` (мс). По умолчанию `500`. |
37
+ | `LOC_LABEL` | `string` | Метка локализации текстов статуса (`locs`). По умолчанию `"qte"`. |
38
+ | `VIEW_PROPS` | `object` | Пропсы Screen, PositionBox. |
37
39
 
38
40
  ## Настройки
39
41
 
@@ -41,20 +43,20 @@ Payloads и результаты хендлеров типизированы ч
41
43
 
42
44
  ## Модули
43
45
 
44
- | Модуль | Зона ответственности |
45
- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
46
+ | Модуль | Зона ответственности |
47
+ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46
48
  | `qte_view.controller` | Bridge `QTE.OPENED/CLOSED` → `SHOW/HIDE`; фазы `initial → active → resolved`; таймер fail; пустой `controls` на `ZINDEX`; emit `QTE.RESULT`. Показ/скрытие — через `Screen` (`TRANSITION`). |
47
- | `qte_view.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `QTE_VIEW.ACTION`; PUSH/POP на SHOW/HIDE. |
48
- | `qte_view.view` | React-render горизонтальной линии, зоны успеха и маркера; `LOC_LABEL` для статусов. |
49
+ | `qte_view.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `QTE_VIEW.ACTION`; PUSH/POP на SHOW/HIDE. |
50
+ | `qte_view.view` | React-render горизонтальной линии, зоны успеха и маркера; `LOC_LABEL` для статусов. |
49
51
 
50
52
  ## Фазы
51
53
 
52
- | Фаза | Смысл |
53
- | ---------- | -------------------------------------------------------------------------------------------------------------------- |
54
- | `idle` | Скрыт / сброшен. |
55
- | `initial` | Показ `Screen`; маркер ещё не идёт (до `TRANSITION`). |
56
- | `active` | Маркер идёт слева направо за `item.duration`; клик/ACCEPT проверяет попадание в зону `[start, start+size]` (%). |
57
- | `resolved` | Показ success/fail (`RESULT_DELAY`), затем `QTE.RESULT` и скрытие через `Screen`. |
54
+ | Фаза | Смысл |
55
+ | ---------- | --------------------------------------------------------------------------------------------------------------- |
56
+ | `idle` | Скрыт / сброшен. |
57
+ | `initial` | Показ `Screen`; маркер ещё не идёт (до `TRANSITION`). |
58
+ | `active` | Маркер идёт слева направо за `item.duration`; клик/ACCEPT проверяет попадание в зону `[start, start+size]` (%). |
59
+ | `resolved` | Показ success/fail (`RESULT_DELAY`), затем `QTE.RESULT` и скрытие через `Screen`. |
58
60
 
59
61
  Авто-fail: таймер на конец прохода маркера (`duration`), если игрок не нажал раньше.
60
62
 
@@ -85,7 +87,7 @@ sequenceDiagram
85
87
 
86
88
  Пакет: `@vnejs/compatibility.views.scenario.qte-with-views.scenario.interface`
87
89
 
88
- На `QTE_VIEW.SHOW_BEFORE` эмитит `INTERFACE.HIDE`. Подключается в `bundles/vn.base`.
90
+ На `QTE_VIEW.SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` эмитит `INTERFACE.HIDE`. Подключается в `bundles/vn.base`.
89
91
 
90
92
  ## Близкие плагины
91
93
 
@@ -100,5 +102,5 @@ sequenceDiagram
100
102
  ### Остальные
101
103
 
102
104
  - [controls.md](../controls/controls.md) — `CONTROLS`: ACCEPT, INTERACT
103
- - [interface.md](interface.md) — compatibility скрывает interface на `QTE_VIEW.SHOW_BEFORE`
105
+ - [interface.md](interface.md) — compatibility скрывает interface на `QTE_VIEW.SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`)
104
106
  - [locs.md](../text/locs.md) — тексты статуса через `LOC_LABEL`
@@ -15,7 +15,7 @@ Payloads и результаты хендлеров типизированы ч
15
15
  | `SHOW` / `HIDE` | `vne:checkers_view:show` / `…:hide` | Показ / скрытие экрана. |
16
16
  | `UPDATE` / `UPDATE_FAST` | `vne:checkers_view:update` / `_fast` | React-view. |
17
17
  | `ACCEPT` | `vne:checkers_view:accept` | Выбор клетки → `GRID_CLEAR` + `PLAYER_INTERACT`. |
18
- | `STATE_UPDATE` | `vne:checkers_view:state_update` | Патч view-стейта (grid + зеркало доски). |
18
+ | `UPDATE_STATE` | `vne:checkers_view:update_state` | Патч view-стейта (grid + зеркало доски). |
19
19
  | `GRID_*` | `vne:checkers_view:grid_*` | Навигация сетки. |
20
20
  | `CLICK` | `vne:checkers_view:click` | Клик → `GRID_CLEAR` + `PLAYER_INTERACT`. |
21
21
  | `PLAYER_INTERACT` | `vne:checkers_view:player_interact` | UX выбора фигуры / клетки → `MOVES_GET` / `MOVE_PLAY` / `PLAYER_SELECT`. |
@@ -15,7 +15,8 @@ Payloads и результаты хендлеров типизированы ч
15
15
  | `EMIT` | `vne:confirm:emit` | Инициировать действие или цикл. |
16
16
  | `UPDATE` | `vne:confirm:update` | Обновить состояние или отображение. |
17
17
  | `UPDATE_FAST` | `vne:confirm:update_fast` | Быстрый UPDATE view без анимации (стрелки). |
18
- | `STATE_UPDATE` | `vne:confirm:state_update` | Слить `{ currentArrowHorizontalItem }` в стейт controller/accept без UPDATE view. |
18
+ | `UPDATE_FORCE` | `vne:confirm:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
19
+ | `UPDATE_STATE` | `vne:confirm:update_state` | Слить `{ currentArrowHorizontalItem }` в стейт controller/accept без UPDATE view. |
19
20
  | `ACCEPT` | `vne:confirm:accept` | Событие `ACCEPT` namespace плагина. |
20
21
  | `DECLINE` | `vne:confirm:decline` | Событие `DECLINE` namespace плагина. |
21
22
  | `SUBMIT` | `vne:confirm:submit` | `ACCEPT` / `INTERACT`: при `currentArrowHorizontalItem` — ACCEPT (0) или DECLINE, иначе ACCEPT. |
@@ -38,11 +39,11 @@ Payloads и результаты хендлеров типизированы ч
38
39
 
39
40
  | Модуль | Зона ответственности |
40
41
  | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
41
- | `confirm.controller` | SHOW/HIDE; BACK → `DECLINE`; зеркалит `STATE_UPDATE` в стейт и `UPDATE_FAST` во view. |
42
- | `confirm.controller.arrows` | Наследует `@vnejs/module.controller.arrows.horizontal`: `ARROW_LEFT` / `ARROW_RIGHT` по Accept/Decline; PUSH/POP controls на SHOW/HIDE; эмитит `STATE_UPDATE` с `{ currentArrowHorizontalItem }` и `UPDATE_FAST`. |
43
- | `confirm.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `SUBMIT` → `ACCEPT` или `DECLINE` по `currentArrowHorizontalItem`; зеркалит `STATE_UPDATE`; PUSH/POP на SHOW/HIDE. |
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. |
44
45
  | `confirm.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: только `STATE.CLEAR` → `HIDE` с `{ isForce: true }` (`IS_STATE_SET_ENABLED = false`). |
45
- | `confirm` | Обрабатывает EMIT, ACCEPT, DECLINE. |
46
+ | `confirm` | Обрабатывает EMIT, ACCEPT, DECLINE. Колбэки accept/decline снимаются на `HIDE.MAIN`, если контроллер не оборвал скрытие на `GATE`. |
46
47
  | `confirm.view` | Подмодуль `view` плагина. |
47
48
 
48
49
  ## Близкие плагины
@@ -8,12 +8,15 @@
8
8
 
9
9
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.credits`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------- | -------------------- | ----------------------------------- |
13
- | `SHOW` | `vne:credits:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:credits:hide` | Скрыть UI или слой. |
15
- | `UPDATE` | `vne:credits:update` | Обновить состояние или отображение. |
16
- | `ACCEPT` | `vne:credits:accept` | ACCEPT / INTERACT → затем `HIDE`. |
11
+ | Ключ | Строка | Смысл |
12
+ | -------------- | -------------------------- | ----------------------------------------------- |
13
+ | `SHOW` | `vne:credits:show` | Показать UI или слой. |
14
+ | `HIDE` | `vne:credits:hide` | Скрыть UI или слой. |
15
+ | `UPDATE` | `vne:credits:update` | Обновить состояние или отображение. |
16
+ | `UPDATE_FAST` | `vne:credits:update_fast` | Быстрое обновление отображения. |
17
+ | `UPDATE_FORCE` | `vne:credits:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
18
+ | `UPDATE_STATE` | `vne:credits:update_state` | Слить partial в стейт контроллера. |
19
+ | `ACCEPT` | `vne:credits:accept` | ACCEPT / INTERACT → затем `HIDE`. |
17
20
 
18
21
  ## Константы
19
22
 
@@ -31,14 +34,14 @@ Payloads и результаты хендлеров типизированы ч
31
34
 
32
35
  ## Модули
33
36
 
34
- | Модуль | Зона ответственности |
35
- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
36
- | `credits.controller` | SHOW/HIDE; пустой `controls` на `ZINDEX`; `afterHide` → emit SCENARIO.NEXT. |
37
- | `credits.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `CREDITS.ACCEPT` → `HIDE`; PUSH/POP на SHOW/HIDE. |
38
- | `credits.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
39
- | `credits.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
40
- | `credits` | Модуль `credits`. |
41
- | `credits.view` | Подмодуль `view` плагина. |
37
+ | Модуль | Зона ответственности |
38
+ | --------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
39
+ | `credits.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; пустой `controls` на `ZINDEX`; на `HIDE.AFTER` — `SCENARIO.NEXT`. |
40
+ | `credits.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `CREDITS.ACCEPT` → `HIDE`; PUSH/POP на SHOW/HIDE. |
41
+ | `credits.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
42
+ | `credits.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
43
+ | `credits` | Модуль `credits`. |
44
+ | `credits.view` | Подмодуль `view` плагина. |
42
45
 
43
46
  ## Близкие плагины
44
47
 
@@ -8,12 +8,15 @@
8
8
 
9
9
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.disclaimer`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------- | ----------------------- | --------------------------------------------- |
13
- | `SHOW` | `vne:disclaimer:show` | Показать UI. Payload: `{ id }`. |
14
- | `HIDE` | `vne:disclaimer:hide` | Скрыть UI. |
15
- | `UPDATE` | `vne:disclaimer:update` | Обновить состояние или отображение. |
16
- | `ACCEPT` | `vne:disclaimer:accept` | Пользователь принял дисклеймер → HIDE → next. |
11
+ | Ключ | Строка | Смысл |
12
+ | -------------- | ----------------------------- | ----------------------------------------------- |
13
+ | `SHOW` | `vne:disclaimer:show` | Показать UI. Payload: `{ id }`. |
14
+ | `HIDE` | `vne:disclaimer:hide` | Скрыть UI. |
15
+ | `UPDATE` | `vne:disclaimer:update` | Обновить состояние или отображение. |
16
+ | `UPDATE_FAST` | `vne:disclaimer:update_fast` | Быстрое обновление отображения. |
17
+ | `UPDATE_FORCE` | `vne:disclaimer:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
18
+ | `UPDATE_STATE` | `vne:disclaimer:update_state` | Слить partial в стейт контроллера. |
19
+ | `ACCEPT` | `vne:disclaimer:accept` | Пользователь принял дисклеймер → HIDE → next. |
17
20
 
18
21
  ## Константы
19
22
 
@@ -35,12 +38,12 @@ Payloads и результаты хендлеров типизированы ч
35
38
 
36
39
  ## Модули
37
40
 
38
- | Модуль | Зона ответственности |
39
- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
40
- | `disclaimer.controller` | SHOW/HIDE; пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
41
+ | Модуль | Зона ответственности |
42
+ | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
43
+ | `disclaimer.controller` | SHOW/HIDE; пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
41
44
  | `disclaimer.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `DISCLAIMER.ACCEPT` → `HIDE`, `emit SCENARIO.NEXT`; PUSH/POP на SHOW/HIDE. |
42
- | `disclaimer` | `$ disclaimer show <id>` → SHOW. |
43
- | `disclaimer.view` | React UI: title / text / accept из locs. |
45
+ | `disclaimer` | `$ disclaimer show <id>` → SHOW. |
46
+ | `disclaimer.view` | React UI: title / text / accept из locs. |
44
47
 
45
48
  ## Локализация
46
49
 
@@ -12,7 +12,8 @@ Payloads и результаты хендлеров типизированы ч
12
12
  | -------------- | ----------------------- | ------------------------------------------------------------------------ |
13
13
  | `UPDATE` | `vne:eula:update` | Обновить состояние или отображение. |
14
14
  | `UPDATE_FAST` | `vne:eula:update_fast` | Быстрый UPDATE view без анимации (стрелки по тексту). |
15
- | `STATE_UPDATE` | `vne:eula:state_update` | Слить `{ currentArrowVerticalItem }` в стейт controller без UPDATE view. |
15
+ | `UPDATE_FORCE` | `vne:eula:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
16
+ | `UPDATE_STATE` | `vne:eula:update_state` | Слить `{ currentArrowVerticalItem }` в стейт controller без UPDATE view. |
16
17
  | `SHOW` | `vne:eula:show` | Показать UI или слой. |
17
18
  | `HIDE` | `vne:eula:hide` | Скрыть UI или слой. |
18
19
  | `ACCEPT` | `vne:eula:accept` | Событие `ACCEPT` namespace плагина. |
@@ -40,8 +41,8 @@ Payloads и результаты хендлеров типизированы ч
40
41
 
41
42
  | Модуль | Зона ответственности |
42
43
  | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
43
- | `eula.controller` | SHOW/HIDE; `BACK` → `EXIT`; зеркалит `STATE_UPDATE` / `UPDATE_FAST`; lang/locs. |
44
- | `eula.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по строкам текста; пустые строки через `isArrowItemAvailable`; смена `SETTINGS.EULA.LANG` сбрасывает индекс; PUSH/POP на SHOW/HIDE; эмитит `STATE_UPDATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
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`. |
45
46
  | `eula.controller.accept` | Наследует `@vnejs/module.controller.accept`: только `ACCEPT` (`IS_INTERACT_ENABLED = false`) → `EULA.ACCEPT` → `ACCEPTED_VERSION`, `HIDE`; PUSH/POP на SHOW/HIDE. |
46
47
  | `eula.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
47
48
  | `eula` | В `setup` — `SETTINGS.INIT` для версии и языка; `MAINMENU.SHOW` → `SHOW` (если версия не принята); `EXIT` → `SYSTEM.CLOSE`. |
@@ -12,11 +12,14 @@
12
12
 
13
13
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.gallery.full`.
14
14
 
15
- | Ключ | Строка | Смысл |
16
- | -------- | ------------------------- | ----------------------------------- |
17
- | `SHOW` | `vne:gallery_full:show` | Показать UI или слой. |
18
- | `HIDE` | `vne:gallery_full:hide` | Скрыть UI или слой. |
19
- | `UPDATE` | `vne:gallery_full:update` | Обновить состояние или отображение. |
15
+ | Ключ | Строка | Смысл |
16
+ | -------------- | ------------------------------- | ----------------------------------------------- |
17
+ | `SHOW` | `vne:gallery_full:show` | Показать UI или слой. |
18
+ | `HIDE` | `vne:gallery_full:hide` | Скрыть UI или слой. |
19
+ | `UPDATE` | `vne:gallery_full:update` | Обновить состояние или отображение. |
20
+ | `UPDATE_FAST` | `vne:gallery_full:update_fast` | Быстрое обновление отображения. |
21
+ | `UPDATE_FORCE` | `vne:gallery_full:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
22
+ | `UPDATE_STATE` | `vne:gallery_full:update_state` | Слить partial в стейт контроллера. |
20
23
 
21
24
  ## Константы
22
25
 
@@ -18,20 +18,20 @@ Payloads и результаты хендлеров типизированы ч
18
18
  | `CHECK` | `vne:gallery:check` | Проверить состояние или наличие ресурса. |
19
19
  | `CLEAR` | `vne:gallery:clear` | Очистить накопленное состояние. |
20
20
  | `SHOW` | `vne:gallery:show` | Показать UI или слой. |
21
- | `SHOW_BEFORE` | `vne:gallery:show_before` | Хук перед показом: `gallery.controller.bg` пишет `bgSrc` в стейт. |
22
21
  | `HIDE` | `vne:gallery:hide` | Скрыть UI или слой. |
23
22
  | `PAGE_SET` | `vne:gallery:page_set` | Абсолютный прыжок пагинации UI (`{ pageIndex }`). |
24
23
  | `TAB_SET` | `vne:gallery:tab_set` | Выбрать вкладку галереи (`{ tab }`). |
25
24
  | `UPDATE` | `vne:gallery:update` | Обновить состояние или отображение. |
26
25
  | `UPDATE_FAST` | `vne:gallery:update_fast` | Перерисовать view с `isFast`, без смены стейта. |
26
+ | `UPDATE_FORCE` | `vne:gallery:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
27
27
  | `PRELOAD` | `vne:gallery:preload` | Событие `PRELOAD` namespace плагина. |
28
28
  | `CHOOSE` | `vne:gallery:choose` | Событие `CHOOSE` namespace плагина. |
29
29
  | `ACCEPT` | `vne:gallery:accept` | ACCEPT / INTERACT по выбранному слоту. |
30
- | `STATE_UPDATE` | `vne:gallery:state_update` | Слить partial в стейт (`grid*`, `tab`, `pageIndex` / `pagesCount`, …). |
30
+ | `UPDATE_STATE` | `vne:gallery:update_state` | Слить partial в стейт (`grid*`, `tab`, `pageIndex` / `pagesCount`, …). |
31
31
  | `GRID_NEXT` | `vne:gallery:grid_next` | Край сетки вперёд; `gallery.controller.pages` слушает как `EVENT_PAGE_NEXT`. |
32
32
  | `GRID_PREV` | `vne:gallery:grid_prev` | Край сетки назад; `gallery.controller.pages` слушает как `EVENT_PAGE_PREV`. |
33
- | `GRID_CLEAR` | `vne:gallery:grid_clear` | Сбросить выбор ячейки: `gridRow` / `gridColumn` → `null` (+ `STATE_UPDATE`). |
34
- | `GRID_UPDATE_ITEMS` | `vne:gallery:grid_update_items` | Пересобрать сетку из стейта (без payload) → `STATE_UPDATE` `{ gridItems }`. Meta — заранее через `STATE_UPDATE`. |
33
+ | `GRID_CLEAR` | `vne:gallery:grid_clear` | Сбросить выбор ячейки: `gridRow` / `gridColumn` → `null` (+ `UPDATE_STATE`). |
34
+ | `GRID_UPDATE_ITEMS` | `vne:gallery:grid_update_items` | Пересобрать сетку из стейта (без payload) → `UPDATE_STATE` `{ gridItems }`. Meta — заранее через `UPDATE_STATE`. |
35
35
  | `PAGE_ITEMS_GET` | `vne:gallery:page_items_get` | Собрать UI-слот из content (`CHECK` + media); возврат item. Вместо `ITEM_CREATE`. |
36
36
 
37
37
  ## Константы
@@ -61,16 +61,16 @@ Payloads и результаты хендлеров типизированы ч
61
61
  | Модуль | Зона ответственности |
62
62
  | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
63
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; `beforeShow` → `SHOW_BEFORE` + `TAB_SET`; `STATE_UPDATE` / `UPDATE_FAST`; пустой `controls` на `ZINDEX`. |
65
- | `gallery.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW_BEFORE` → `STATE_UPDATE` `{ bgSrc }`; PRELOAD → warm-cache фона; `MEMORY.CLEARED` при `isShow` → refresh `bgSrc` + `UPDATE_FAST`. |
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
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` → `STATE_UPDATE` `{ gridIndex, gridsCount }` + `GRID_UPDATE_ITEMS` + `MEMORY.CLEAR`; стейт `pageIndex` / `pagesCount` (пишет tabs). |
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
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); зеркалит `STATE_UPDATE` (`grid*`); PUSH/POP на SHOW/HIDE. |
69
+ | `gallery.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CHOOSE` только если слот открыт (`isOpened`, не stub); зеркалит `UPDATE_STATE` (`grid*`); PUSH/POP на SHOW/HIDE. |
70
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
71
  | `gallery.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
72
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`, `STATE_UPDATE` `{ gridIndex, gridsCount }`, `GRID_UPDATE_ITEMS`; при `isUpdateView` — `UPDATE_FAST` + `MEMORY.CLEAR`); TAB_PREV/TAB_NEXT → `TAB_SET`. |
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
74
  | `gallery` | Обрабатывает OPEN, CHECK, CLEAR. |
75
75
  | `gallery.view` | Подмодуль `view` плагина. |
76
76
 
@@ -15,8 +15,9 @@ Payloads и результаты хендлеров типизированы ч
15
15
  | `ITEMS` | `vne:gamemenu:items` | Резолв фабрик пунктов меню. |
16
16
  | `CLICK` | `vne:gamemenu:click` | Событие `CLICK` namespace плагина. |
17
17
  | `UPDATE` | `vne:gamemenu:update` | Обновить состояние или отображение. |
18
- | `STATE_UPDATE` | `vne:gamemenu:state_update` | Слить partial в стейт контроллера без UPDATE view. |
18
+ | `UPDATE_STATE` | `vne:gamemenu:update_state` | Слить partial в стейт контроллера без UPDATE view. |
19
19
  | `UPDATE_FAST` | `vne:gamemenu:update_fast` | Перерисовать view с `isFast`, стейт не меняет. |
20
+ | `UPDATE_FORCE` | `vne:gamemenu:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
20
21
  | `ACCEPT` | `vne:gamemenu:accept` | Событие `ACCEPT` namespace плагина. |
21
22
 
22
23
  ## Константы
@@ -43,9 +44,9 @@ Payloads и результаты хендлеров типизированы ч
43
44
 
44
45
  | Модуль | Зона ответственности |
45
46
  | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46
- | `gamemenu.controller` | Обрабатывает UPDATE, HIDE, SHOW, STATE_UPDATE, UPDATE_FAST, …. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. Резолвит `ITEMS` → `items` / `realItems`. |
47
- | `gamemenu.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по полному индексу пункта (через `realItems`); зеркалит `STATE_UPDATE`; PUSH/POP на SHOW/HIDE. |
48
- | `gamemenu.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по видимым пунктам; PUSH/POP controls на SHOW/HIDE; эмитит `STATE_UPDATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
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`. |
49
50
  | `gamemenu.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
50
51
  | `gamemenu.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
51
52
  | `gamemenu` | `ITEMS` / `CLICK`; пропускает disabled/hided. |