@vnejs/docs 0.2.64 → 0.2.66

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 (261) hide show
  1. package/README.md +35 -35
  2. package/architecture/backends.md +18 -0
  3. package/architecture/build.md +37 -0
  4. package/architecture/bundles.md +20 -0
  5. package/architecture/cli.md +25 -0
  6. package/architecture/compatibility.md +22 -0
  7. package/architecture/configs.md +19 -0
  8. package/architecture/contracts.md +30 -0
  9. package/architecture/dependencies.md +55 -0
  10. package/architecture/editor.md +7 -0
  11. package/architecture/games.md +38 -0
  12. package/architecture/helpers.md +14 -0
  13. package/architecture/model.md +43 -0
  14. package/architecture/modules.md +87 -0
  15. package/architecture/packages.md +43 -0
  16. package/architecture/plugins.md +36 -0
  17. package/architecture/uis.md +23 -0
  18. package/changelog/0.2.18.md +7 -0
  19. package/changelog/0.2.19.md +14 -0
  20. package/changelog/0.2.20.md +10 -0
  21. package/changelog/0.2.21.md +5 -0
  22. package/changelog/0.2.22.md +11 -0
  23. package/changelog/0.2.23.md +4 -0
  24. package/changelog/0.2.25.md +6 -0
  25. package/changelog/0.2.26.md +12 -0
  26. package/changelog/0.2.29.md +10 -0
  27. package/changelog/0.2.31.md +5 -0
  28. package/changelog/0.2.32.md +3 -0
  29. package/changelog/0.2.33.md +5 -0
  30. package/changelog/0.2.34.md +8 -0
  31. package/changelog/0.2.35.md +33 -0
  32. package/changelog/0.2.36.md +10 -0
  33. package/changelog/0.2.38.md +19 -0
  34. package/changelog/0.2.39.md +16 -0
  35. package/changelog/0.2.40.md +9 -0
  36. package/changelog/0.2.42.md +3 -0
  37. package/changelog/0.2.43.md +10 -0
  38. package/changelog/0.2.46.md +3 -0
  39. package/changelog/0.2.47.md +25 -0
  40. package/changelog/0.2.49.md +3 -0
  41. package/changelog/0.2.50.md +6 -0
  42. package/changelog/0.2.51.md +6 -0
  43. package/changelog/0.2.52.md +5 -0
  44. package/changelog/0.2.53.md +12 -0
  45. package/changelog/0.2.55.md +19 -0
  46. package/changelog/0.2.56.md +11 -0
  47. package/changelog/0.2.57.md +7 -0
  48. package/changelog/0.2.58.md +8 -0
  49. package/changelog/0.2.59.md +6 -0
  50. package/changelog/0.2.60.md +5 -0
  51. package/changelog/0.2.61.md +11 -0
  52. package/changelog/0.2.62.md +8 -0
  53. package/changelog/0.2.63.md +4 -0
  54. package/changelog/0.2.64.md +4 -0
  55. package/changelog/0.2.65.md +3 -0
  56. package/changelog/0.2.66.md +5 -0
  57. package/changelog/README.md +43 -0
  58. package/manifest.json +66 -5
  59. package/package.json +6 -4
  60. package/plugins/ai/ai.md +29 -29
  61. package/plugins/ai/checkers.md +26 -26
  62. package/plugins/audio/ambient.md +20 -20
  63. package/plugins/audio/audio.md +40 -40
  64. package/plugins/audio/music.md +20 -20
  65. package/plugins/audio/sound.md +20 -20
  66. package/plugins/audio/voice.md +23 -23
  67. package/plugins/canvas/bg.md +44 -44
  68. package/plugins/canvas/bg.speak.md +34 -34
  69. package/plugins/canvas/fill.md +33 -33
  70. package/plugins/canvas/layer.md +35 -35
  71. package/plugins/canvas/sprite.md +46 -46
  72. package/plugins/canvas/sprite.speak.md +33 -33
  73. package/plugins/canvas/text.md +37 -37
  74. package/plugins/canvas/video.md +37 -37
  75. package/plugins/canvas.layers/bl.md +33 -33
  76. package/plugins/canvas.layers/fl.md +33 -33
  77. package/plugins/canvas.layers/ml.md +33 -33
  78. package/plugins/canvas.layers/ul.md +32 -32
  79. package/plugins/canvas.props/animation.md +25 -25
  80. package/plugins/canvas.props/clip.md +22 -22
  81. package/plugins/canvas.props/filters.md +20 -20
  82. package/plugins/canvas.props/mask.md +23 -23
  83. package/plugins/canvas.props/scale.md +20 -20
  84. package/plugins/common/grid.md +23 -23
  85. package/plugins/common/turn.md +18 -18
  86. package/plugins/controls/controls.md +31 -31
  87. package/plugins/controls/cursor.md +54 -54
  88. package/plugins/controls/gamepad.md +56 -56
  89. package/plugins/controls/keyboard.md +17 -17
  90. package/plugins/core/components.md +28 -28
  91. package/plugins/core/interact.md +26 -26
  92. package/plugins/core/logs.md +28 -28
  93. package/plugins/core/media.md +38 -38
  94. package/plugins/core/memory.md +28 -28
  95. package/plugins/core/platforms.md +19 -19
  96. package/plugins/core/scenario.md +48 -48
  97. package/plugins/core/settings.md +24 -24
  98. package/plugins/core/stack.md +39 -39
  99. package/plugins/core/state.md +30 -30
  100. package/plugins/core/storage.md +56 -56
  101. package/plugins/core/system.md +37 -37
  102. package/plugins/core/vendors.md +19 -19
  103. package/plugins/entities/entities.md +16 -16
  104. package/plugins/entities/wallet.md +27 -27
  105. package/plugins/font/montserrat.md +16 -16
  106. package/plugins/game/checkers.md +38 -38
  107. package/plugins/platform/android.md +17 -17
  108. package/plugins/platform/electron.md +21 -21
  109. package/plugins/platform/metric.md +23 -23
  110. package/plugins/rpg/damage.md +22 -22
  111. package/plugins/rpg/hit.md +24 -24
  112. package/plugins/rpg/skills.md +26 -26
  113. package/plugins/save/auto.md +26 -26
  114. package/plugins/save/continue.md +23 -23
  115. package/plugins/save/quick.md +24 -24
  116. package/plugins/save/save.md +37 -37
  117. package/plugins/scales/health.md +17 -17
  118. package/plugins/scales/mana.md +17 -17
  119. package/plugins/scales/scales.md +31 -31
  120. package/plugins/scenario/autoread.md +36 -36
  121. package/plugins/scenario/choose.md +74 -65
  122. package/plugins/scenario/fastforward.md +46 -46
  123. package/plugins/scenario/history.md +41 -41
  124. package/plugins/scenario/pause.md +27 -27
  125. package/plugins/scenario/point_and_click.md +51 -51
  126. package/plugins/scenario/qte.md +54 -54
  127. package/plugins/scenario/random.md +17 -17
  128. package/plugins/settings/filter.md +19 -19
  129. package/plugins/settings/potato.md +22 -22
  130. package/plugins/settings/ratio.md +19 -19
  131. package/plugins/settings/textsize.md +19 -19
  132. package/plugins/settings/volume.md +21 -21
  133. package/plugins/text/inject.md +22 -22
  134. package/plugins/text/locs.md +36 -36
  135. package/plugins/text/meet.md +19 -19
  136. package/plugins/text/smooth.md +33 -33
  137. package/plugins/text/text.md +76 -69
  138. package/plugins/text/wall.md +20 -20
  139. package/plugins/time/date.md +22 -22
  140. package/plugins/time/time.md +23 -23
  141. package/plugins/vars/counters.md +28 -28
  142. package/plugins/vars/flags.md +24 -24
  143. package/plugins/vars/vars.md +29 -29
  144. package/plugins/views/achievement.md +44 -44
  145. package/plugins/views/comment.md +31 -31
  146. package/plugins/views/controls.hints.md +34 -34
  147. package/plugins/views/cursor.md +19 -19
  148. package/plugins/views/fps.md +33 -33
  149. package/plugins/views/gamepad.debug.md +32 -32
  150. package/plugins/views/settings.md +39 -39
  151. package/plugins/views/video.md +37 -37
  152. package/plugins/views.scenario/choose.md +41 -41
  153. package/plugins/views.scenario/interface.controls.md +31 -31
  154. package/plugins/views.scenario/interface.fastforward.md +29 -29
  155. package/plugins/views.scenario/interface.md +74 -74
  156. package/plugins/views.scenario/point_and_click.md +39 -39
  157. package/plugins/views.scenario/qte.md +51 -51
  158. package/plugins/views.screens/checkers.md +35 -35
  159. package/plugins/views.screens/confirm.md +35 -35
  160. package/plugins/views.screens/credits.md +31 -31
  161. package/plugins/views.screens/disclaimer.md +42 -42
  162. package/plugins/views.screens/eula.md +37 -37
  163. package/plugins/views.screens/gallery.full.md +41 -41
  164. package/plugins/views.screens/gallery.md +75 -75
  165. package/plugins/views.screens/gamemenu.md +41 -41
  166. package/plugins/views.screens/history.md +39 -39
  167. package/plugins/views.screens/intro.md +32 -32
  168. package/plugins/views.screens/loading.md +30 -30
  169. package/plugins/views.screens/mainmenu.md +49 -49
  170. package/plugins/views.screens/mainmenu.socials.md +25 -25
  171. package/plugins/views.screens/save.md +66 -66
  172. package/plugins/views.screens/settings.defaults.md +37 -37
  173. package/plugins/views.screens/settings.md +40 -40
  174. package/scenario.catalog/README.md +13 -13
  175. package/scenario.catalog/index.md +35 -35
  176. package/scenario.catalog/stubs/achievement.md +4 -4
  177. package/scenario.catalog/stubs/audio.ambient.md +4 -4
  178. package/scenario.catalog/stubs/audio.music.md +4 -4
  179. package/scenario.catalog/stubs/audio.sound.md +4 -4
  180. package/scenario.catalog/stubs/audio.voice.md +4 -4
  181. package/scenario.catalog/stubs/bl.animation.md +5 -5
  182. package/scenario.catalog/stubs/bl.bg.md +5 -5
  183. package/scenario.catalog/stubs/bl.clip.md +5 -5
  184. package/scenario.catalog/stubs/bl.fill.md +5 -5
  185. package/scenario.catalog/stubs/bl.filter.md +5 -5
  186. package/scenario.catalog/stubs/bl.mask.md +5 -5
  187. package/scenario.catalog/stubs/bl.scale.md +5 -5
  188. package/scenario.catalog/stubs/bl.sprite.md +5 -5
  189. package/scenario.catalog/stubs/bl.text.md +5 -5
  190. package/scenario.catalog/stubs/bl.video.md +5 -5
  191. package/scenario.catalog/stubs/choose.block.md +7 -7
  192. package/scenario.catalog/stubs/choose.md +4 -4
  193. package/scenario.catalog/stubs/choose.option.md +7 -7
  194. package/scenario.catalog/stubs/comment.md +5 -5
  195. package/scenario.catalog/stubs/counter.md +5 -5
  196. package/scenario.catalog/stubs/credits.md +4 -4
  197. package/scenario.catalog/stubs/date.md +4 -4
  198. package/scenario.catalog/stubs/disclaimer.md +5 -5
  199. package/scenario.catalog/stubs/fl.animation.md +5 -5
  200. package/scenario.catalog/stubs/fl.bg.md +5 -5
  201. package/scenario.catalog/stubs/fl.clip.md +5 -5
  202. package/scenario.catalog/stubs/fl.fill.md +5 -5
  203. package/scenario.catalog/stubs/fl.filter.md +5 -5
  204. package/scenario.catalog/stubs/fl.mask.md +5 -5
  205. package/scenario.catalog/stubs/fl.scale.md +5 -5
  206. package/scenario.catalog/stubs/fl.sprite.md +5 -5
  207. package/scenario.catalog/stubs/fl.text.md +5 -5
  208. package/scenario.catalog/stubs/fl.video.md +5 -5
  209. package/scenario.catalog/stubs/flag.md +13 -13
  210. package/scenario.catalog/stubs/interface.md +4 -4
  211. package/scenario.catalog/stubs/intro.md +4 -4
  212. package/scenario.catalog/stubs/mainmenu.md +4 -4
  213. package/scenario.catalog/stubs/ml.animation.md +5 -5
  214. package/scenario.catalog/stubs/ml.bg.md +5 -5
  215. package/scenario.catalog/stubs/ml.clip.md +5 -5
  216. package/scenario.catalog/stubs/ml.fill.md +5 -5
  217. package/scenario.catalog/stubs/ml.filter.md +5 -5
  218. package/scenario.catalog/stubs/ml.mask.md +5 -5
  219. package/scenario.catalog/stubs/ml.scale.md +5 -5
  220. package/scenario.catalog/stubs/ml.sprite.md +5 -5
  221. package/scenario.catalog/stubs/ml.text.md +5 -5
  222. package/scenario.catalog/stubs/ml.video.md +5 -5
  223. package/scenario.catalog/stubs/other.md +6 -6
  224. package/scenario.catalog/stubs/pause.md +5 -5
  225. package/scenario.catalog/stubs/point-and-click.block.md +4 -4
  226. package/scenario.catalog/stubs/point-and-click.md +4 -4
  227. package/scenario.catalog/stubs/point-and-click.option.md +4 -4
  228. package/scenario.catalog/stubs/qte.md +4 -4
  229. package/scenario.catalog/stubs/random.md +4 -4
  230. package/scenario.catalog/stubs/random.option.md +4 -4
  231. package/scenario.catalog/stubs/save.auto.md +4 -4
  232. package/scenario.catalog/stubs/save.md +5 -5
  233. package/scenario.catalog/stubs/scenario.md +4 -4
  234. package/scenario.catalog/stubs/settings.defaults.md +4 -4
  235. package/scenario.catalog/stubs/stack.md +4 -4
  236. package/scenario.catalog/stubs/text.meet.md +4 -4
  237. package/scenario.catalog/stubs/text.wall.md +4 -4
  238. package/scenario.catalog/stubs/time.md +4 -4
  239. package/scenario.catalog/stubs/ul.animation.md +5 -5
  240. package/scenario.catalog/stubs/ul.bg.md +5 -5
  241. package/scenario.catalog/stubs/ul.clip.md +5 -5
  242. package/scenario.catalog/stubs/ul.fill.md +5 -5
  243. package/scenario.catalog/stubs/ul.filter.md +5 -5
  244. package/scenario.catalog/stubs/ul.mask.md +5 -5
  245. package/scenario.catalog/stubs/ul.scale.md +5 -5
  246. package/scenario.catalog/stubs/ul.sprite.md +5 -5
  247. package/scenario.catalog/stubs/ul.text.md +5 -5
  248. package/scenario.catalog/stubs/video.md +4 -4
  249. package/scenario.catalog/stubs/wallet.md +4 -4
  250. package/scenario.guide/README.md +38 -38
  251. package/scenario.guide/audio.md +11 -11
  252. package/scenario.guide/canvas.md +23 -23
  253. package/scenario.guide/choose.md +28 -28
  254. package/scenario.guide/dialogue.md +23 -23
  255. package/scenario.guide/flow.md +21 -21
  256. package/scenario.guide/point-and-click.md +12 -12
  257. package/scenario.guide/qte-random.md +20 -20
  258. package/scenario.guide/vars.md +19 -19
  259. package/scenario.guide/views.md +20 -20
  260. package/CHANGELOG.md +0 -383
  261. package/architecture.md +0 -566
@@ -1,65 +1,65 @@
1
1
  # plugins/views.screens/gamemenu/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.gamemenu` · namespace: `GAMEMENU`
3
+ Package: `@vnejs/plugins.views.screens.gamemenu` · namespace: `GAMEMENU`
4
4
 
5
- Игровое меню паузы со списком настраиваемых пунктов.
5
+ Pause game menu with a list of configurable items.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.gamemenu`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.gamemenu`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | --------------------------- | -------------------------------------------------- |
13
- | `SHOW` | `vne:gamemenu:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:gamemenu:hide` | Скрыть UI или слой. |
15
- | `ITEMS` | `vne:gamemenu:items` | Резолв фабрик пунктов меню. |
16
- | `CLICK` | `vne:gamemenu:click` | Событие `CLICK` namespace плагина. |
17
- | `UPDATE` | `vne:gamemenu:update` | Обновить состояние или отображение. |
18
- | `UPDATE_STATE` | `vne:gamemenu:update_state` | Слить partial в стейт контроллера без UPDATE view. |
19
- | `UPDATE_FAST` | `vne:gamemenu:update_fast` | Перерисовать view с `isFast`, стейт не меняет. |
20
- | `UPDATE_FORCE` | `vne:gamemenu:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
21
- | `ACCEPT` | `vne:gamemenu:accept` | Событие `ACCEPT` namespace плагина. |
11
+ | Key | String | Meaning |
12
+ | -------------- | --------------------------- | ------------------------------------------------------------- |
13
+ | `SHOW` | `vne:gamemenu:show` | Show the UI or layer. |
14
+ | `HIDE` | `vne:gamemenu:hide` | Hide the UI or layer. |
15
+ | `ITEMS` | `vne:gamemenu:items` | Resolve menu item factories. |
16
+ | `CLICK` | `vne:gamemenu:click` | Plugin namespace `CLICK` event. |
17
+ | `UPDATE` | `vne:gamemenu:update` | Update state or display. |
18
+ | `UPDATE_STATE` | `vne:gamemenu:update_state` | Merge a partial into controller state without an UPDATE view. |
19
+ | `UPDATE_FAST` | `vne:gamemenu:update_fast` | Redraw the view with `isFast`; state does not change. |
20
+ | `UPDATE_FORCE` | `vne:gamemenu:update_force` | Redraw the view with `isForce`; state does not change. |
21
+ | `ACCEPT` | `vne:gamemenu:accept` | Plugin namespace `ACCEPT` event. |
22
22
 
23
- ## Константы
23
+ ## Constants
24
24
 
25
- Нет.
25
+ None.
26
26
 
27
- ## Параметры
27
+ ## Parameters
28
28
 
29
- | Ключ | Тип | Смысл |
30
- | ------------ | ----------------------- | ---------------------------------------------------------------- |
31
- | `ITEMS` | `GameMenuItemFactory[]` | Фабрики пунктов; резолвятся на SHOW / смене языка через `ITEMS`. |
32
- | `TRANSITION` | `number` | Длительность анимации (500). |
33
- | `ZINDEX` | `number` | Z-index экрана (3000). |
34
- | `LOC_LABEL` | `string` | Имя метки локалей (`gameMenu`). |
35
- | `VIEW_PROPS` | `ViewProps` | Пропсы Screen / PositionBox / TextControls. |
29
+ | Key | Type | Meaning |
30
+ | ------------ | ----------------------- | --------------------------------------------------------------- |
31
+ | `ITEMS` | `GameMenuItemFactory[]` | Item factories; resolved on SHOW / language change via `ITEMS`. |
32
+ | `TRANSITION` | `number` | Animation duration (500). |
33
+ | `ZINDEX` | `number` | Screen z-index (3000). |
34
+ | `LOC_LABEL` | `string` | Locale label name (`gameMenu`). |
35
+ | `VIEW_PROPS` | `ViewProps` | Screen / PositionBox / TextControls props. |
36
36
 
37
- Пункт (`GameMenuItem`): `locKey`, `onClick`, опционально `isDisabled` / `isHided` (как у main menu).
37
+ Item (`GameMenuItem`): `locKey`, `onClick`, optional `isDisabled` / `isHided` (same as main menu).
38
38
 
39
- ## Настройки
39
+ ## Settings
40
40
 
41
- Нет.
41
+ None.
42
42
 
43
- ## Модули
43
+ ## Modules
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`. На `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. |
45
+ | Module | Role |
46
+ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
47
+ | `gamemenu.controller` | Handles UPDATE, HIDE, SHOW, UPDATE_STATE, UPDATE_FAST, …. Empty `controls` on `ZINDEX` to block lower layers. Resolves `ITEMS` → `items` / `realItems`. |
48
+ | `gamemenu.controller.accept` | Extends `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` on the full item index (via `realItems`); mirrors `UPDATE_STATE`; PUSH/POP on SHOW/HIDE. |
49
+ | `gamemenu.controller.arrows` | Extends `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` over visible items; PUSH/POP controls on SHOW/HIDE; emits `UPDATE_STATE` with `{ currentArrowVerticalItem }` and `UPDATE_FAST`. On `HIDE.CLEANUP` `currentArrowVerticalItem` in state becomes `undefined`. |
50
+ | `gamemenu.hide.controls` | Extends `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP on SHOW/HIDE. |
51
+ | `gamemenu.hide.state` | Extends `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` with `{ isForce: true }`. |
52
+ | `gamemenu` | `ITEMS` / `CLICK`; skips disabled/hided. |
53
+ | `gamemenu.view` | Plugin `view` submodule; `isDisabled` / `isNotRender` in TextControls. |
54
54
 
55
- ## Близкие плагины
55
+ ## Related plugins
56
56
 
57
57
  ### plugins/core/
58
58
 
59
59
  - [components.md](../core/components.md) — `COMPONENTS`: EVENTS.EXTERNAL_UPDATE
60
60
  - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
61
61
 
62
- ### Остальные
62
+ ### Other
63
63
 
64
64
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.BACK, CONST.BUTTONS.MENU, CONST.BUTTONS.GAMEMENU, CONST.BUTTONS.ACCEPT, CONST.BUTTONS.INTERACT, CONST.BUTTONS.ARROW_UP, CONST.BUTTONS.ARROW_BOTTOM
65
- - [mainmenu.md](./mainmenu.md) — тот же паттерн фабрик пунктов
65
+ - [mainmenu.md](./mainmenu.md) — same item-factory pattern
@@ -1,63 +1,63 @@
1
1
  # plugins/views.screens/history/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.history` · namespace: `HISTORY_VIEW`
3
+ Package: `@vnejs/plugins.views.screens.history` · namespace: `HISTORY_VIEW`
4
4
 
5
- Экран журнала диалогов. Снапшоты и шаг назад — [scenario/history.md](../scenario/history.md) (`HISTORY`). Этот плагин в `bundles/vn.base`.
5
+ Dialog history screen. Snapshots and step back — [scenario/history.md](../scenario/history.md) (`HISTORY`). This plugin is in `bundles/vn.base`.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.history`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.history`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | ------------------------------- | ------------------------------------------------------------------ |
13
- | `HIDE` | `vne:history_view:hide` | Скрыть экран. |
14
- | `SHOW` | `vne:history_view:show` | Показать экран. |
15
- | `CLICK` | `vne:history_view:click` | Клик по строке. Если `uid` есть в ключах журнала — `HISTORY.LOAD`. |
16
- | `UPDATE` | `vne:history_view:update` | Перерисовать view. |
17
- | `UPDATE_STATE` | `vne:history_view:update_state` | Слить partial в стейт контроллера без UPDATE view. |
18
- | `UPDATE_FAST` | `vne:history_view:update_fast` | Перерисовать view с `isFast`, стейт не меняет. |
19
- | `UPDATE_FORCE` | `vne:history_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
20
- | `ACCEPT` | `vne:history_view:accept` | `ACCEPT` / `INTERACT` → `CLICK` по `currentArrowVerticalItem`. |
11
+ | Key | String | Meaning |
12
+ | -------------- | ------------------------------- | ----------------------------------------------------------------- |
13
+ | `HIDE` | `vne:history_view:hide` | Hide the screen. |
14
+ | `SHOW` | `vne:history_view:show` | Show the screen. |
15
+ | `CLICK` | `vne:history_view:click` | Click a row. If `uid` is in journal keys — `HISTORY.LOAD`. |
16
+ | `UPDATE` | `vne:history_view:update` | Redraw the view. |
17
+ | `UPDATE_STATE` | `vne:history_view:update_state` | Merge a partial into the controller state without an UPDATE view. |
18
+ | `UPDATE_FAST` | `vne:history_view:update_fast` | Redraw the view with `isFast`; state does not change. |
19
+ | `UPDATE_FORCE` | `vne:history_view:update_force` | Redraw the view with `isForce`; state does not change. |
20
+ | `ACCEPT` | `vne:history_view:accept` | `ACCEPT` / `INTERACT` → `CLICK` on `currentArrowVerticalItem`. |
21
21
 
22
- Строки журнала и шаг назад — `EVENTS.HISTORY.GET` / `KEYS` / `LOAD` / `BACK` / `ADD` (`scenario/history`).
22
+ Journal rows and step back — `EVENTS.HISTORY.GET` / `KEYS` / `LOAD` / `BACK` / `ADD` (`scenario/history`).
23
23
 
24
- ## Константы
24
+ ## Constants
25
25
 
26
- Нет.
26
+ None.
27
27
 
28
- ## Параметры
28
+ ## Parameters
29
29
 
30
- | Ключ | Тип | Смысл |
31
- | ------------ | -------- | ------------------------------------------------------------------------- |
32
- | `ZINDEX` | `number` | Значение по умолчанию: 2000. |
33
- | `TRANSITION` | `number` | Значение по умолчанию: 300. |
34
- | `LOC_LABEL` | `string` | Метка локализации view (`history`). |
35
- | `VIEW_PROPS` | `object` | Раскладка экрана, строк (блок по вертикали по центру) и крестика `close`. |
30
+ | Key | Type | Meaning |
31
+ | ------------ | -------- | ----------------------------------------------------------------- |
32
+ | `ZINDEX` | `number` | Default: 2000. |
33
+ | `TRANSITION` | `number` | Default: 300. |
34
+ | `LOC_LABEL` | `string` | View localization label (`history`). |
35
+ | `VIEW_PROPS` | `object` | Screen layout, rows (vertical block centered), and `close` cross. |
36
36
 
37
- ## Настройки
37
+ ## Settings
38
38
 
39
- Нет.
39
+ None.
40
40
 
41
- ## Модули
41
+ ## Modules
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`. На `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` плагина. |
43
+ | Module | Role |
44
+ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
45
+ | `history.controller` | SHOW/HIDE/UPDATE_STATE/UPDATE_FAST; before SHOW resolves row texts (`TEXT.REPLACE`). For `locKey` — via `PARAMS.HISTORY_VIEW.LOC_LABEL` (view localization), else via scenario label. After translation, `{…}` markers are stripped from the display row. Empty `controls` on `ZINDEX` to block lower layers. |
46
+ | `history.controller.click` | `HISTORY_VIEW.CLICK` → `HISTORY.KEYS`; if `uid` is in keys — `HISTORY.LOAD`. |
47
+ | `history.controller.accept` | Extends `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` on `currentArrowVerticalItem`; mirrors `UPDATE_STATE`; PUSH/POP on SHOW/HIDE. |
48
+ | `history.controller.arrows` | Extends `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` over journal entries; PUSH/POP controls on SHOW/HIDE; emits `UPDATE_STATE` with `{ currentArrowVerticalItem }` and `UPDATE_FAST`. On `HIDE.CLEANUP` `currentArrowVerticalItem` in state becomes `undefined`. |
49
+ | `history.hide.controls` | Extends `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP on SHOW/HIDE. |
50
+ | `history.hide.state` | Extends `@vnejs/module.controller.hide.on.state`: `STATE.SET` → `HIDE` with `{ isForce: true }` (`IS_STATE_CLEAR_ENABLED = false`). |
51
+ | `history.view` | Plugin `view` submodule. |
52
52
 
53
- ## Близкие плагины
53
+ ## Related plugins
54
54
 
55
55
  ### plugins/core/
56
56
 
57
57
  - [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
58
58
 
59
- ### Остальные
59
+ ### Other
60
60
 
61
- - [scenario/history.md](../scenario/history.md) — `HISTORY`: `GET` / `KEYS` / `LOAD`; запись журнала и `BACK`
61
+ - [scenario/history.md](../scenario/history.md) — `HISTORY`: `GET` / `KEYS` / `LOAD`; journal write and `BACK`
62
62
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.BACK, CONST.BUTTONS.MENU, CONST.BUTTONS.GAMEMENU, CONST.BUTTONS.ARROW_UP, CONST.BUTTONS.ARROW_BOTTOM, CONST.BUTTONS.ACCEPT, CONST.BUTTONS.INTERACT
63
63
  - [text.md](../text/text.md) — `TEXT`: EVENTS.REPLACE
@@ -1,50 +1,50 @@
1
1
  # plugins/views.screens/intro/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.intro` · namespace: `INTRO`
3
+ Package: `@vnejs/plugins.views.screens.intro` · namespace: `INTRO`
4
4
 
5
- Вступительный экран сценария с пропуском по клику, interact или skip.
5
+ Scenario intro screen with skip on click, interact, or skip.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.intro`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.intro`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | ------------------------ | ----------------------------------------------- |
13
- | `SHOW` | `vne:intro:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:intro:hide` | Скрыть UI или слой. |
15
- | `CLICK` | `vne:intro:click` | Продвинуть сценарий к следующей строке. |
16
- | `UPDATE` | `vne:intro:update` | Обновить состояние или отображение. |
17
- | `UPDATE_FAST` | `vne:intro:update_fast` | Перерисовать view с `isFast`. |
18
- | `UPDATE_FORCE` | `vne:intro:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
19
- | `SKIP` | `vne:intro:skip` | Продвинуть сценарий к следующей строке. |
20
- | `INTERACT` | `vne:intro:interact` | Продвинуть сценарий к следующей строке. |
21
- | `UPDATE_STATE` | `vne:intro:update_state` | Слить partial в стейт. |
11
+ | Key | String | Meaning |
12
+ | -------------- | ------------------------ | ------------------------------------------------------ |
13
+ | `SHOW` | `vne:intro:show` | Show the UI or layer. |
14
+ | `HIDE` | `vne:intro:hide` | Hide the UI or layer. |
15
+ | `CLICK` | `vne:intro:click` | Advance the scenario to the next line. |
16
+ | `UPDATE` | `vne:intro:update` | Update state or display. |
17
+ | `UPDATE_FAST` | `vne:intro:update_fast` | Redraw the view with `isFast`. |
18
+ | `UPDATE_FORCE` | `vne:intro:update_force` | Redraw the view with `isForce`; state does not change. |
19
+ | `SKIP` | `vne:intro:skip` | Advance the scenario to the next line. |
20
+ | `INTERACT` | `vne:intro:interact` | Advance the scenario to the next line. |
21
+ | `UPDATE_STATE` | `vne:intro:update_state` | Merge a partial into state. |
22
22
 
23
- ## Константы
23
+ ## Constants
24
24
 
25
25
  - **`LOGS_ACTIONS`** — `click`, `interact`, `skip`.
26
26
 
27
- ## Параметры
27
+ ## Parameters
28
28
 
29
- | Ключ | Тип | Смысл |
30
- | ------------ | -------- | ------------------------------------ |
31
- | `BACKGROUND` | `string` | Значение по умолчанию: "BACKGROUND". |
29
+ | Key | Type | Meaning |
30
+ | ------------ | -------- | ---------------------- |
31
+ | `BACKGROUND` | `string` | Default: "BACKGROUND". |
32
32
 
33
- ## Настройки
33
+ ## Settings
34
34
 
35
- Нет.
35
+ None.
36
36
 
37
- ## Модули
37
+ ## Modules
38
38
 
39
- | Модуль | Зона ответственности |
40
- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
41
- | `intro.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; `UPDATE_STATE` / `UPDATE_FAST`. |
42
- | `intro.controller.interact` | Наследует `@vnejs/module.controller.interact`: `BUTTONS.ANY` → `INTERACT.EMIT`; `onInteract` → `INTRO.INTERACT`; `CONTROLS_CHECK_NEXT = false`. |
43
- | `intro.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; `start` preload. |
44
- | `intro` | Связь со сценарием: шаг next после завершения действия. |
45
- | `intro.view` | Подмодуль `view` плагина. |
39
+ | Module | Role |
40
+ | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
41
+ | `intro.controller` | SHOW/HIDE by `CONST.COMPONENTS.LIFECYCLE_PRIORITY` phases; `UPDATE_STATE` / `UPDATE_FAST`. |
42
+ | `intro.controller.interact` | Extends `@vnejs/module.controller.interact`: `BUTTONS.ANY` → `INTERACT.EMIT`; `onInteract` → `INTRO.INTERACT`; `CONTROLS_CHECK_NEXT = false`. |
43
+ | `intro.controller.bg` | Extends `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; `start` preload. |
44
+ | `intro` | Scenario link: next step after the action finishes. |
45
+ | `intro.view` | Plugin `view` submodule. |
46
46
 
47
- ## Близкие плагины
47
+ ## Related plugins
48
48
 
49
49
  ### plugins/core/
50
50
 
@@ -53,6 +53,6 @@ Payloads и результаты хендлеров типизированы ч
53
53
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, CONST.LINE_KEYWORDS.SKIP_IF_POSSIBLE
54
54
  - [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
55
55
 
56
- ### Остальные
56
+ ### Other
57
57
 
58
58
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ANY
@@ -1,47 +1,47 @@
1
1
  # plugins/views.screens/loading/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.loading` · namespace: `LOADING`
3
+ Package: `@vnejs/plugins.views.screens.loading` · namespace: `LOADING`
4
4
 
5
- Экран загрузки поверх игры на время асинхронных операций с минимальной длительностью.
5
+ Loading screen over the game during async work, with a minimum show time.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.loading`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.loading`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | -------------------------- | ----------------------------------------------- |
13
- | `SHOW` | `vne:loading:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:loading:hide` | Скрыть UI или слой. |
15
- | `EMIT` | `vne:loading:emit` | Записать диагностическое сообщение в лог. |
16
- | `UPDATE` | `vne:loading:update` | Обновить состояние или отображение. |
17
- | `UPDATE_FAST` | `vne:loading:update_fast` | Перерисовать view с `isFast`. |
18
- | `UPDATE_FORCE` | `vne:loading:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
19
- | `UPDATE_STATE` | `vne:loading:update_state` | Слить partial в стейт. |
11
+ | Key | String | Meaning |
12
+ | -------------- | -------------------------- | ------------------------------------------------------ |
13
+ | `SHOW` | `vne:loading:show` | Show the UI or layer. |
14
+ | `HIDE` | `vne:loading:hide` | Hide the UI or layer. |
15
+ | `EMIT` | `vne:loading:emit` | Write a diagnostic message to the log. |
16
+ | `UPDATE` | `vne:loading:update` | Update state or display. |
17
+ | `UPDATE_FAST` | `vne:loading:update_fast` | Redraw the view with `isFast`. |
18
+ | `UPDATE_FORCE` | `vne:loading:update_force` | Redraw the view with `isForce`; state does not change. |
19
+ | `UPDATE_STATE` | `vne:loading:update_state` | Merge a partial into state. |
20
20
 
21
- ## Константы
21
+ ## Constants
22
22
 
23
23
  - **`LOGS_ACTIONS`** — `start`, `finish`.
24
24
 
25
- ## Параметры
25
+ ## Parameters
26
26
 
27
- | Ключ | Тип | Смысл |
28
- | --------------- | -------- | --------------------------------------- |
29
- | `MIN_SHOW_TIME` | `string` | Значение по умолчанию: "MIN_SHOW_TIME". |
27
+ | Key | Type | Meaning |
28
+ | --------------- | -------- | ------------------------- |
29
+ | `MIN_SHOW_TIME` | `string` | Default: "MIN_SHOW_TIME". |
30
30
 
31
- ## Настройки
31
+ ## Settings
32
32
 
33
- Нет.
33
+ None.
34
34
 
35
- ## Модули
35
+ ## Modules
36
36
 
37
- | Модуль | Зона ответственности |
38
- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
39
- | `loading.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; `UPDATE_STATE` / `UPDATE_FAST`. |
40
- | `loading.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; `start`; `MEMORY.CLEARED` refresh при `isShow`. |
41
- | `loading` | Точка входа emit: подготовка и запуск process. |
42
- | `loading.view` | Подмодуль `view` плагина. |
37
+ | Module | Role |
38
+ | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
39
+ | `loading.controller` | SHOW/HIDE by `CONST.COMPONENTS.LIFECYCLE_PRIORITY` phases; `UPDATE_STATE` / `UPDATE_FAST`. |
40
+ | `loading.controller.bg` | Extends `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; `start`; `MEMORY.CLEARED` refresh when `isShow`. |
41
+ | `loading` | Emit entry point: prepare and run process. |
42
+ | `loading.view` | Plugin `view` submodule. |
43
43
 
44
- ## Близкие плагины
44
+ ## Related plugins
45
45
 
46
46
  ### plugins/core/
47
47
 
@@ -49,6 +49,6 @@ Payloads и результаты хендлеров типизированы ч
49
49
  - [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
50
50
  - [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
51
51
 
52
- ### Остальные
52
+ ### Other
53
53
 
54
- — нет
54
+ — None
@@ -1,67 +1,67 @@
1
1
  # plugins/views.screens/mainmenu/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.mainmenu` · namespace: `MAINMENU`
3
+ Package: `@vnejs/plugins.views.screens.mainmenu` · namespace: `MAINMENU`
4
4
 
5
- Главное меню с пунктами, сменой фона и предзагрузкой меток сценария.
5
+ Main menu with items, background rotation, and scenario label preload.
6
6
 
7
- Ротация `BACKGROUNDS`: модуль `mainmenu.backgrounds` по `SHOW` сразу грузит следующий фон и по `BACKGROUNDS_INTERVAL` эмитит `UPDATE_STATE` с `{ bgSrc }` и затем `UPDATE_FAST`.
7
+ `BACKGROUNDS` rotation: `mainmenu.backgrounds` on `SHOW` loads the next background at once and on `BACKGROUNDS_INTERVAL` emits `UPDATE_STATE` with `{ bgSrc }` and then `UPDATE_FAST`.
8
8
 
9
- ## События
9
+ ## Events
10
10
 
11
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.mainmenu`.
11
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.mainmenu`.
12
12
 
13
- | Ключ | Строка | Смысл |
14
- | -------------- | --------------------------- | ---------------------------------------------------------------- |
15
- | `HIDE` | `vne:mainmenu:hide` | Скрыть UI или слой. |
16
- | `SHOW` | `vne:mainmenu:show` | Показать UI или слой. |
17
- | `ITEMS` | `vne:mainmenu:items` | Событие `ITEMS` namespace плагина. |
18
- | `PRELOAD` | `vne:mainmenu:preload` | Предзагрузить метки `PRELOAD_LABELS` и события `PRELOAD_EVENTS`. |
19
- | `CLICK` | `vne:mainmenu:click` | Событие `CLICK` namespace плагина. |
20
- | `ACCEPT` | `vne:mainmenu:accept` | Событие `ACCEPT` namespace плагина. |
21
- | `UPDATE` | `vne:mainmenu:update` | Обновить состояние или отображение. |
22
- | `UPDATE_STATE` | `vne:mainmenu:update_state` | Слить partial в стейт контроллера без UPDATE view. |
23
- | `UPDATE_FORCE` | `vne:mainmenu:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
24
- | `UPDATE_FAST` | `vne:mainmenu:update_fast` | Перерисовать view с `isFast`, стейт не меняет. |
13
+ | Key | String | Meaning |
14
+ | -------------- | --------------------------- | ------------------------------------------------------------ |
15
+ | `HIDE` | `vne:mainmenu:hide` | Hide the UI or layer. |
16
+ | `SHOW` | `vne:mainmenu:show` | Show the UI or layer. |
17
+ | `ITEMS` | `vne:mainmenu:items` | Plugin namespace `ITEMS` event. |
18
+ | `PRELOAD` | `vne:mainmenu:preload` | Preload `PRELOAD_LABELS` labels and `PRELOAD_EVENTS` events. |
19
+ | `CLICK` | `vne:mainmenu:click` | Plugin namespace `CLICK` event. |
20
+ | `ACCEPT` | `vne:mainmenu:accept` | Plugin namespace `ACCEPT` event. |
21
+ | `UPDATE` | `vne:mainmenu:update` | Update state or display. |
22
+ | `UPDATE_STATE` | `vne:mainmenu:update_state` | Merge a partial into controller state without UPDATE view. |
23
+ | `UPDATE_FORCE` | `vne:mainmenu:update_force` | Redraw the view with `isForce`; state does not change. |
24
+ | `UPDATE_FAST` | `vne:mainmenu:update_fast` | Redraw the view with `isFast`; state does not change. |
25
25
 
26
- ## Константы
26
+ ## Constants
27
27
 
28
- Нет.
28
+ None.
29
29
 
30
- ## Параметры
30
+ ## Parameters
31
31
 
32
- | Ключ | Тип | Смысл |
33
- | ---------------------- | -------- | ---------------------------------------------- |
34
- | `PRELOAD_LABELS` | `string` | Имя метки или стартовой точки. |
35
- | `PRELOAD_EVENTS` | `string` | Значение по умолчанию: "PRELOAD_EVENTS". |
36
- | `ITEMS` | `string` | Значение по умолчанию: "ITEMS". |
37
- | `BACKGROUND` | `string` | Значение по умолчанию: "BACKGROUND". |
38
- | `BACKGROUNDS` | `string` | Значение по умолчанию: "BACKGROUNDS". |
39
- | `BACKGROUNDS_INTERVAL` | `string` | Значение по умолчанию: "BACKGROUNDS_INTERVAL". |
40
- | `TRANSITION` | `string` | Значение по умолчанию: "TRANSITION". |
41
- | `ZINDEX` | `string` | Значение по умолчанию: "ZINDEX". |
42
- | `LOC_LABEL` | `string` | Имя метки или стартовой точки. |
43
- | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
32
+ | Key | Type | Meaning |
33
+ | ---------------------- | -------- | -------------------------------- |
34
+ | `PRELOAD_LABELS` | `string` | Label name or entry point. |
35
+ | `PRELOAD_EVENTS` | `string` | Default: "PRELOAD_EVENTS". |
36
+ | `ITEMS` | `string` | Default: "ITEMS". |
37
+ | `BACKGROUND` | `string` | Default: "BACKGROUND". |
38
+ | `BACKGROUNDS` | `string` | Default: "BACKGROUNDS". |
39
+ | `BACKGROUNDS_INTERVAL` | `string` | Default: "BACKGROUNDS_INTERVAL". |
40
+ | `TRANSITION` | `string` | Default: "TRANSITION". |
41
+ | `ZINDEX` | `string` | Default: "ZINDEX". |
42
+ | `LOC_LABEL` | `string` | Label name or entry point. |
43
+ | `VIEW_PROPS` | `string` | Default: "VIEW_PROPS". |
44
44
 
45
- ## Настройки
45
+ ## Settings
46
46
 
47
- Нет.
47
+ None.
48
48
 
49
- ## Модули
49
+ ## Modules
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`; `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` плагина. |
51
+ | Module | Role |
52
+ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
53
+ | `mainmenu.controller` | UPDATE, SHOW, HIDE by `CONST.COMPONENTS.LIFECYCLE_PRIORITY` phases; on `SHOW.BEFORE` — ITEMS. Empty `controls` on `ZINDEX`. UPDATE_STATE, UPDATE_FAST, UPDATE_FORCE. |
54
+ | `mainmenu.controller.bg` | Extends `@vnejs/module.controller.bg`: initial `bgSrc` on `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE`; `isShow` from `UPDATE_STATE`; `start` / `STATE.CLEAR` preload. Does not handle rotation. |
55
+ | `mainmenu.hide` | Extends `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` with `{ isForce: true }`. |
56
+ | `mainmenu.controller.accept` | Extends `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` on `currentArrowVerticalItem`; mirrors `UPDATE_STATE`; PUSH/POP on SHOW/HIDE. |
57
+ | `mainmenu.controller.arrows` | Extends `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` over visible items; PUSH/POP controls on SHOW/HIDE; emits `UPDATE_STATE` with `{ currentArrowVerticalItem }` and `UPDATE_FAST`. On `HIDE.CLEANUP` `currentArrowVerticalItem` in state becomes `undefined`. |
58
+ | `mainmenu.backgrounds` | Extends `@vnejs/module.controller.backgrounds`: `BACKGROUNDS` rotation, preload, and timer; `isShow` from `UPDATE_STATE`; emits `UPDATE_STATE` and `UPDATE_FAST`. Timer clears on `HIDE.AFTER`. |
59
+ | `mainmenu.preload` | Extends `@vnejs/module.controller.preload`: on SHOW / PRELOAD loads `PRELOAD_LABELS` and `PRELOAD_EVENTS`. `MEMORY.CLEARED` — only when `isShow` from `UPDATE_STATE`. |
60
+ | `mainmenu.scenario` | LINE_EXEC → SHOW, LINE_LOAD → PRELOAD. |
61
+ | `mainmenu` | Handles ITEMS and CLICK. |
62
+ | `mainmenu.view` | Plugin `view` submodule. |
63
63
 
64
- ## Близкие плагины
64
+ ## Related plugins
65
65
 
66
66
  ### plugins/core/
67
67
 
@@ -71,6 +71,6 @@ Payloads и результаты хендлеров типизированы ч
71
71
  - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
72
72
  - [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
73
73
 
74
- ### Остальные
74
+ ### Other
75
75
 
76
76
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ARROW_UP, CONST.BUTTONS.ARROW_BOTTOM, CONST.BUTTONS.ACCEPT, CONST.BUTTONS.INTERACT