@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,49 +1,49 @@
1
1
  # plugins/views.screens/mainmenu.socials/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.mainmenu.socials` · namespace: `MAINMENU_SOCIALS_VIEW`
3
+ Package: `@vnejs/plugins.views.screens.mainmenu.socials` · namespace: `MAINMENU_SOCIALS_VIEW`
4
4
 
5
- Блок иконок соцсетей, показываемый вместе с главным меню.
5
+ Social icon block shown with the main menu.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.mainmenu.socials`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.mainmenu.socials`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | ----------------------------------- | ----------------------------------------------- |
13
- | `UPDATE` | `vne:mainmenu_socials:update` | Обновить состояние или отображение. |
14
- | `UPDATE_FAST` | `vne:mainmenu_socials:update_fast` | Быстрое обновление отображения. |
15
- | `UPDATE_FORCE` | `vne:mainmenu_socials:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
16
- | `UPDATE_STATE` | `vne:mainmenu_socials:update_state` | Слить partial в стейт контроллера. |
11
+ | Key | String | Meaning |
12
+ | -------------- | ----------------------------------- | ------------------------------------------------------ |
13
+ | `UPDATE` | `vne:mainmenu_socials:update` | Update state or display. |
14
+ | `UPDATE_FAST` | `vne:mainmenu_socials:update_fast` | Fast display update. |
15
+ | `UPDATE_FORCE` | `vne:mainmenu_socials:update_force` | Redraw the view with `isForce`; state does not change. |
16
+ | `UPDATE_STATE` | `vne:mainmenu_socials:update_state` | Merge a partial into controller state. |
17
17
 
18
- ## Константы
18
+ ## Constants
19
19
 
20
- Нет.
20
+ None.
21
21
 
22
- ## Параметры
22
+ ## Parameters
23
23
 
24
- | Ключ | Тип | Смысл |
25
- | ------------ | -------- | ------------------------------------ |
26
- | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
24
+ | Key | Type | Meaning |
25
+ | ------------ | -------- | ---------------------- |
26
+ | `VIEW_PROPS` | `string` | Default: "VIEW_PROPS". |
27
27
 
28
- ## Настройки
28
+ ## Settings
29
29
 
30
- Нет.
30
+ None.
31
31
 
32
- ## Модули
32
+ ## Modules
33
33
 
34
- | Модуль | Зона ответственности |
34
+ | Module | Role |
35
35
  | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
36
- | `mainmenu.socials.controller` | Обрабатывает UPDATE, SHOW, HIDE. Hide на `STATE.SET` / `STATE.CLEAR` идёт через `MAINMENU.HIDE` от `mainmenu.hide`, прямых подписок на `STATE` нет. |
37
- | `mainmenu.socials.view` | Подмодуль `socials.view` плагина. |
36
+ | `mainmenu.socials.controller` | Handles UPDATE, SHOW, HIDE. Hide on `STATE.SET` / `STATE.CLEAR` goes through `MAINMENU.HIDE` from `mainmenu.hide`; no direct `STATE` subscriptions. |
37
+ | `mainmenu.socials.view` | Plugin `socials.view` submodule. |
38
38
 
39
- ## Близкие плагины
39
+ ## Related plugins
40
40
 
41
41
  ### plugins/core/
42
42
 
43
43
  - [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
44
44
  - [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
45
45
 
46
- ### Остальные
46
+ ### Other
47
47
 
48
48
  - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY
49
- - [mainmenu.md](./mainmenu.md) — `MAINMENU`: EVENTS.SHOW, EVENTS.HIDE; hide на STATE через `mainmenu.hide`
49
+ - [mainmenu.md](./mainmenu.md) — `MAINMENU`: EVENTS.SHOW, EVENTS.HIDE; hide on STATE via `mainmenu.hide`
@@ -1,70 +1,70 @@
1
1
  # plugins/views.screens/save/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.save` · namespace: `SAVE_VIEW`
4
-
5
- Экран сохранения и загрузки с сеткой слотов и вкладками save/load/autosave.
6
-
7
- ACCEPT/INTERACT повторяет клик по слоту: на вкладке save — `CREATE`, на load/autosave — `LOAD` только если у слота есть `screen`.
8
-
9
- ## События
10
-
11
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.save`.
12
-
13
- | Ключ | Строка | Смысл |
14
- | ------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
15
- | `SHOW` | `vne:save_view:show` | Показать UI или слой. |
16
- | `HIDE` | `vne:save_view:hide` | Скрыть UI или слой. |
17
- | `PAGE_SET` | `vne:save_view:page_set` | Абсолютный прыжок пагинации UI (`{ pageIndex }`). |
18
- | `TAB_SET` | `vne:save_view:tab_set` | Выбрать вкладку save/load/autosave (`{ tab }`). |
19
- | `CREATE` | `vne:save_view:create` | Создать слот (`{ key, group }`) → `SAVE.CREATE`. |
20
- | `DELETE` | `vne:save_view:delete` | Удалить слот (`{ key, group }`) → `SAVE.DELETE`. |
21
- | `LOAD` | `vne:save_view:load` | Загрузить слот (`{ key, group }`) → `SAVE.PRELOAD` / `SAVE.LOAD`. |
22
- | `UPDATE` | `vne:save_view:update` | Обновить состояние или отображение. |
23
- | `UPDATE_FAST` | `vne:save_view:update_fast` | Перерисовать view с `isFast`, без смены стейта. |
24
- | `UPDATE_FORCE` | `vne:save_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
25
- | `PRELOAD` | `vne:save_view:preload` | Событие `PRELOAD` namespace плагина. |
26
- | `ACCEPT` | `vne:save_view:accept` | ACCEPT / INTERACT по выбранному слоту. |
27
- | `UPDATE_STATE` | `vne:save_view:update_state` | Слить partial в стейт controller/accept/grid без UPDATE view. |
28
- | `GRID_NEXT` | `vne:save_view:grid_next` | Край сетки вперёд; `save.controller.pages` слушает как `EVENT_PAGE_NEXT` (намеренный мост, без знания сетки в pages). |
29
- | `GRID_PREV` | `vne:save_view:grid_prev` | Край сетки назад; `save.controller.pages` слушает как `EVENT_PAGE_PREV`. |
30
- | `GRID_CLEAR` | `vne:save_view:grid_clear` | Сбросить выбор ячейки: `gridRow` / `gridColumn` → `null` (+ `UPDATE_STATE`). |
31
- | `GRID_UPDATE_ITEMS` | `vne:save_view:grid_update_items` | Пересобрать сетку из стейта (без payload) → `UPDATE_STATE` `{ gridItems }`. Meta (`gridIndex` / `gridsCount` / `tab`) — заранее через `UPDATE_STATE`. |
32
- | `SLOT_CREATE` | `vne:save_view:slot_create` | Собрать UI-слот → `SAVE.GET` + дата/время; result: `SaveViewSlotCreateResult`. |
33
-
34
- ## Константы
35
-
36
- Нет.
37
-
38
- ## Параметры
39
-
40
- | Ключ | Тип | Смысл |
41
- | ------------ | -------- | --------------------------------------------------------------------------------- |
42
- | `BACKGROUND` | `string` | Значение по умолчанию: "BACKGROUND". |
43
- | `AUDIO_NAME` | `string` | Имя трека на слое `view` при открытии экрана; пустая строка — без overlay-музыки. |
44
-
45
- ## Настройки
46
-
47
- Нет.
48
-
49
- ## Модули
50
-
51
- | Модуль | Зона ответственности |
52
- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
- | `save.controller.audio` | Наследник `ModuleControllerAudio`: SHOW/HIDE/PRELOAD → pause global, play/stop `view`-трека; `VOLUME_SETTING = MUSIC.VOLUME`; SHOW передаёт в `AUDIO.PLAY` уже посчитанный `volume`; при `VOLUME_CHANGED` / смене `VOLUME_SETTING` — повторный `AUDIO.VOLUME`. |
54
- | `save.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `SHOW.BEFORE` — `TAB_SET`. `UPDATE_STATE` / `UPDATE_FAST`; пустой `controls` на `ZINDEX`. |
55
- | `save.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; PRELOAD / `start`; `MEMORY.CLEARED` — preload и refresh при `isShow`. |
56
- | `save.controller.actions` | CREATE → `SAVE.CREATE`, DELETE → `SAVE.DELETE`; `group` из payload или `getSaveGroup` (autosave / `pageIndex`); затем `GRID_UPDATE_ITEMS` + `UPDATE_FAST`. |
57
- | `save.controller.pages` | Наследует `@vnejs/module.controller.pages`: `EVENT_*` → `SAVE_VIEW`; `applyPage` → `UPDATE_STATE` `{ gridIndex, gridsCount }` + `GRID_UPDATE_ITEMS`; `init` пишет `pagesCount`. |
58
- | `save.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CREATE` на вкладке save, иначе `LOAD` при `screen`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
59
- | `save.controller.grid` | Наследует `@vnejs/module.controller.arrows.grid`: четыре стрелки; `isDisableGridChangeVertical = true` (вертикаль не листает страницы); на краю колонок — `GRID_NEXT`/`PREV`; `GRID_CLEAR`; `GRID_UPDATE_ITEMS` → `getGridItems` / `UPDATE_STATE` `{ gridItems }`. На `HIDE.CLEANUP` `gridRow` / `gridColumn` в стейте становятся `undefined`. |
60
- | `save.view.slot` | На `SLOT_CREATE` собирает UI-слот: `SAVE.GET` → `screen` / `ts` / `date` / `time` / `locKey`. |
61
- | `save.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
62
- | `save.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
63
- | `save.controller.tabs` | Наследник `ModuleControllerTabs`: `TAB_SET` → `applyTab` + `onTabSet` (`pageIndex: 0`, `GRID_CLEAR`, `UPDATE_STATE` `{ gridIndex, gridsCount }`, `GRID_UPDATE_ITEMS`, опционально `UPDATE_FAST`); TAB_PREV/TAB_NEXT → `TAB_SET`; `getTabKeys` фильтрует SAVE vs LOAD/AUTOSAVE. |
64
- | `save.controller.load` | Подмодуль `controller.load` плагина. |
65
- | `save.view` | Подмодуль `view` плагина. |
66
-
67
- ## Близкие плагины
3
+ Package: `@vnejs/plugins.views.screens.save` · namespace: `SAVE_VIEW`
4
+
5
+ Save and load screen with a slot grid and save/load/autosave tabs.
6
+
7
+ ACCEPT/INTERACT repeats a slot click: on the save tab — `CREATE`; on load/autosave — `LOAD` only if the slot has `screen`.
8
+
9
+ ## Events
10
+
11
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.save`.
12
+
13
+ | Key | String | Meaning |
14
+ | ------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
15
+ | `SHOW` | `vne:save_view:show` | Show the UI or layer. |
16
+ | `HIDE` | `vne:save_view:hide` | Hide the UI or layer. |
17
+ | `PAGE_SET` | `vne:save_view:page_set` | Absolute UI pagination jump (`{ pageIndex }`). |
18
+ | `TAB_SET` | `vne:save_view:tab_set` | Pick save/load/autosave tab (`{ tab }`). |
19
+ | `CREATE` | `vne:save_view:create` | Create a slot (`{ key, group }`) → `SAVE.CREATE`. |
20
+ | `DELETE` | `vne:save_view:delete` | Delete a slot (`{ key, group }`) → `SAVE.DELETE`. |
21
+ | `LOAD` | `vne:save_view:load` | Load a slot (`{ key, group }`) → `SAVE.PRELOAD` / `SAVE.LOAD`. |
22
+ | `UPDATE` | `vne:save_view:update` | Update state or display. |
23
+ | `UPDATE_FAST` | `vne:save_view:update_fast` | Redraw the view with `isFast`, without a state change. |
24
+ | `UPDATE_FORCE` | `vne:save_view:update_force` | Redraw the view with `isForce`; state does not change. |
25
+ | `PRELOAD` | `vne:save_view:preload` | Plugin namespace `PRELOAD` event. |
26
+ | `ACCEPT` | `vne:save_view:accept` | ACCEPT / INTERACT on the selected slot. |
27
+ | `UPDATE_STATE` | `vne:save_view:update_state` | Merge a partial into controller/accept/grid state without an UPDATE view. |
28
+ | `GRID_NEXT` | `vne:save_view:grid_next` | Grid edge forward; `save.controller.pages` listens as `EVENT_PAGE_NEXT` (intentional bridge, pages module knows nothing about the grid). |
29
+ | `GRID_PREV` | `vne:save_view:grid_prev` | Grid edge backward; `save.controller.pages` listens as `EVENT_PAGE_PREV`. |
30
+ | `GRID_CLEAR` | `vne:save_view:grid_clear` | Clear cell selection: `gridRow` / `gridColumn` → `null` (+ `UPDATE_STATE`). |
31
+ | `GRID_UPDATE_ITEMS` | `vne:save_view:grid_update_items` | Rebuild the grid from state (no payload) → `UPDATE_STATE` `{ gridItems }`. Meta (`gridIndex` / `gridsCount` / `tab`) — set earlier via `UPDATE_STATE`. |
32
+ | `SLOT_CREATE` | `vne:save_view:slot_create` | Build a UI slot → `SAVE.GET` + date/time; result: `SaveViewSlotCreateResult`. |
33
+
34
+ ## Constants
35
+
36
+ None.
37
+
38
+ ## Parameters
39
+
40
+ | Key | Type | Meaning |
41
+ | ------------ | -------- | -------------------------------------------------------------------------------------- |
42
+ | `BACKGROUND` | `string` | Default: "BACKGROUND". |
43
+ | `AUDIO_NAME` | `string` | Track name on the `view` layer when the screen opens; empty string — no overlay music. |
44
+
45
+ ## Settings
46
+
47
+ None.
48
+
49
+ ## Modules
50
+
51
+ | Module | Role |
52
+ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
+ | `save.controller.audio` | `ModuleControllerAudio` subclass: SHOW/HIDE/PRELOAD → pause global, play/stop `view` track; `VOLUME_SETTING = MUSIC.VOLUME`; SHOW passes a computed `volume` into `AUDIO.PLAY`; on `VOLUME_CHANGED` / `VOLUME_SETTING` change — `AUDIO.VOLUME` again. |
54
+ | `save.controller` | SHOW/HIDE by `CONST.COMPONENTS.LIFECYCLE_PRIORITY` phases; on `SHOW.BEFORE` — `TAB_SET`. `UPDATE_STATE` / `UPDATE_FAST`; empty `controls` on `ZINDEX`. |
55
+ | `save.controller.bg` | Extends `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; PRELOAD / `start`; `MEMORY.CLEARED` — preload and refresh when `isShow`. |
56
+ | `save.controller.actions` | CREATE → `SAVE.CREATE`, DELETE → `SAVE.DELETE`; `group` from payload or `getSaveGroup` (autosave / `pageIndex`); then `GRID_UPDATE_ITEMS` + `UPDATE_FAST`. |
57
+ | `save.controller.pages` | Extends `@vnejs/module.controller.pages`: `EVENT_*` → `SAVE_VIEW`; `applyPage` → `UPDATE_STATE` `{ gridIndex, gridsCount }` + `GRID_UPDATE_ITEMS`; `init` sets `pagesCount`. |
58
+ | `save.controller.accept` | Extends `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CREATE` on save tab, else `LOAD` when `screen`; mirrors `UPDATE_STATE`; PUSH/POP on SHOW/HIDE. |
59
+ | `save.controller.grid` | Extends `@vnejs/module.controller.arrows.grid`: four arrows; `isDisableGridChangeVertical = true` (vertical does not flip pages); at column edge — `GRID_NEXT`/`PREV`; `GRID_CLEAR`; `GRID_UPDATE_ITEMS` → `getGridItems` / `UPDATE_STATE` `{ gridItems }`. On `HIDE.CLEANUP` `gridRow` / `gridColumn` in state become `undefined`. |
60
+ | `save.view.slot` | On `SLOT_CREATE` builds a UI slot: `SAVE.GET` → `screen` / `ts` / `date` / `time` / `locKey`. |
61
+ | `save.hide.controls` | Extends `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP on SHOW/HIDE. |
62
+ | `save.hide.state` | Extends `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` with `{ isForce: true }`. |
63
+ | `save.controller.tabs` | `ModuleControllerTabs` subclass: `TAB_SET` → `applyTab` + `onTabSet` (`pageIndex: 0`, `GRID_CLEAR`, `UPDATE_STATE` `{ gridIndex, gridsCount }`, `GRID_UPDATE_ITEMS`, optional `UPDATE_FAST`); TAB_PREV/TAB_NEXT → `TAB_SET`; `getTabKeys` filters SAVE vs LOAD/AUTOSAVE. |
64
+ | `save.controller.load` | Plugin `controller.load` submodule. |
65
+ | `save.view` | Plugin `view` submodule. |
66
+
67
+ ## Related plugins
68
68
 
69
69
  ### plugins/core/
70
70
 
@@ -74,7 +74,7 @@ Payloads и результаты хендлеров типизированы ч
74
74
  - [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
75
75
  - [vendors.md](../core/vendors.md) — `VENDORS`: EVENTS.DATE
76
76
 
77
- ### Остальные
77
+ ### Other
78
78
 
79
79
  - [audio.md](../audio/audio.md) — `AUDIO`: EVENTS.GLOBAL_PAUSE, EVENTS.PLAY, EVENTS.STOP, EVENTS.GLOBAL_RESUME, EVENTS.MEDIA_LOAD, EVENTS.VOLUME, EVENTS.VOLUME_CHANGED
80
80
  - [music.md](../audio/music.md) — `MUSIC`: SETTINGS.VOLUME
@@ -1,55 +1,55 @@
1
1
  # plugins/views.screens/settings.defaults/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.settings.defaults` · namespace: `SETTINGS_DEFAULT_VIEW`
3
+ Package: `@vnejs/plugins.views.screens.settings.defaults` · namespace: `SETTINGS_DEFAULT_VIEW`
4
4
 
5
- Экран выбора настроек по умолчанию при первом запуске сценария (chrome: title + Accept). Список полей и стрелки — в [`plugins/views/settings`](../views/settings.md) (`SETTINGS_VIEW`).
5
+ Default settings picker on first scenario run (chrome: title + Accept). Field list and arrows — in [`plugins/views/settings`](../views/settings.md) (`SETTINGS_VIEW`).
6
6
 
7
- Breaking: раньше namespace был `SETTINGS_DEFAULTS`, события `vne:settings_defaults:*`, ключ `vne:settings_defaults:inited`.
7
+ Breaking: namespace was `SETTINGS_DEFAULTS`, events `vne:settings_defaults:*`, key `vne:settings_defaults:inited`.
8
8
 
9
- ## События
9
+ ## Events
10
10
 
11
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.settings.defaults`.
11
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.settings.defaults`.
12
12
 
13
- | Ключ | Строка | Смысл |
14
- | -------------- | ---------------------------------------- | ----------------------------------------------- |
15
- | `UPDATE` | `vne:settings_default_view:update` | Обновить состояние или отображение. |
16
- | `UPDATE_FAST` | `vne:settings_default_view:update_fast` | Перерисовать view с `isFast`. |
17
- | `UPDATE_FORCE` | `vne:settings_default_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
18
- | `SHOW` | `vne:settings_default_view:show` | Показать UI или слой. |
19
- | `HIDE` | `vne:settings_default_view:hide` | Скрыть UI или слой. |
20
- | `CONFIRM` | `vne:settings_default_view:confirm` | Продвинуть сценарий к следующей строке. |
21
- | `UPDATE_STATE` | `vne:settings_default_view:update_state` | Слить partial в стейт. |
13
+ | Key | String | Meaning |
14
+ | -------------- | ---------------------------------------- | ------------------------------------------------------ |
15
+ | `UPDATE` | `vne:settings_default_view:update` | Update state or display. |
16
+ | `UPDATE_FAST` | `vne:settings_default_view:update_fast` | Redraw the view with `isFast`. |
17
+ | `UPDATE_FORCE` | `vne:settings_default_view:update_force` | Redraw the view with `isForce`; state does not change. |
18
+ | `SHOW` | `vne:settings_default_view:show` | Show the UI or layer. |
19
+ | `HIDE` | `vne:settings_default_view:hide` | Hide the UI or layer. |
20
+ | `CONFIRM` | `vne:settings_default_view:confirm` | Advance the scenario to the next line. |
21
+ | `UPDATE_STATE` | `vne:settings_default_view:update_state` | Merge a partial into state. |
22
22
 
23
- На `SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` fields-модуль эмитит `SETTINGS_VIEW.SHOW` с `{ tab: TABS[CONST.SETTINGS_VIEW.DEFAULT_TAB], tabKey: CONST.SETTINGS_VIEW.DEFAULT_TAB, locs }`. На `HIDE` с `LIFECYCLE_PRIORITY.HIDE.BEFORE` — `SETTINGS_VIEW.HIDE`.
23
+ On `SHOW` with `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` the fields module emits `SETTINGS_VIEW.SHOW` with `{ tab: TABS[CONST.SETTINGS_VIEW.DEFAULT_TAB], tabKey: CONST.SETTINGS_VIEW.DEFAULT_TAB, locs }`. On `HIDE` with `LIFECYCLE_PRIORITY.HIDE.BEFORE` — `SETTINGS_VIEW.HIDE`.
24
24
 
25
- ## Константы
25
+ ## Constants
26
26
 
27
- Нет.
27
+ None.
28
28
 
29
- ## Параметры
29
+ ## Parameters
30
30
 
31
- | Ключ | Тип | Смысл |
32
- | ------------ | -------- | ------------------------------------ |
33
- | `BACKGROUND` | `string` | Значение по умолчанию: "BACKGROUND". |
31
+ | Key | Type | Meaning |
32
+ | ------------ | -------- | ---------------------- |
33
+ | `BACKGROUND` | `string` | Default: "BACKGROUND". |
34
34
 
35
- ## Настройки
35
+ ## Settings
36
36
 
37
- | Ключ | Тип | Смысл |
38
- | --------------------------------------------- | -------- | ------------------------------ |
39
- | `INITED` (`vne:settings_default_view:inited`) | `string` | Настройка в `shared.settings`. |
37
+ | Key | Type | Meaning |
38
+ | --------------------------------------------- | -------- | ----------------------------- |
39
+ | `INITED` (`vne:settings_default_view:inited`) | `string` | Setting in `shared.settings`. |
40
40
 
41
- ## Модули
41
+ ## Modules
42
42
 
43
- | Модуль | Зона ответственности |
44
- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
45
- | `settings.default.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `HIDE.BEFORE` — `SETTINGS_VIEW.HIDE`. `UPDATE_STATE` / `UPDATE_FAST`. |
46
- | `settings.default.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; `MEMORY.CLEARED` при `isShow` → refresh. |
47
- | `settings.default.controller.fields` | На `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE`: `UPDATE_STATE` `{ tab }` + `SETTINGS_VIEW.SHOW` с `CONST.SETTINGS_VIEW.DEFAULT_TAB`. |
48
- | `settings.default.controller.accept` | Наследует `@vnejs/module.controller.accept`: только `ACCEPT` (`IS_INTERACT_ENABLED = false`) → `CONFIRM` → `INITED`, `HIDE`, `emit SCENARIO.NEXT`; PUSH/POP на SHOW/HIDE. |
49
- | `settings.default` | `SETTINGS.INIT` INITED в `setup`; `LINE_EXEC` как `$ settings.defaults` → `SHOW`, либо `emit SCENARIO.NEXT` при `skip_if_possible` и `INITED`. |
50
- | `settings.default.view` | Chrome: title + кнопка Accept. |
43
+ | Module | Role |
44
+ | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
45
+ | `settings.default.controller` | SHOW/HIDE by `CONST.COMPONENTS.LIFECYCLE_PRIORITY` phases; on `HIDE.BEFORE` — `SETTINGS_VIEW.HIDE`. `UPDATE_STATE` / `UPDATE_FAST`. |
46
+ | `settings.default.controller.bg` | Extends `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; `MEMORY.CLEARED` when `isShow` → refresh. |
47
+ | `settings.default.controller.fields` | On `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE`: `UPDATE_STATE` `{ tab }` + `SETTINGS_VIEW.SHOW` with `CONST.SETTINGS_VIEW.DEFAULT_TAB`. |
48
+ | `settings.default.controller.accept` | Extends `@vnejs/module.controller.accept`: only `ACCEPT` (`IS_INTERACT_ENABLED = false`) → `CONFIRM` → `INITED`, `HIDE`, `emit SCENARIO.NEXT`; PUSH/POP on SHOW/HIDE. |
49
+ | `settings.default` | `SETTINGS.INIT` INITED in `setup`; `LINE_EXEC` as `$ settings.defaults` → `SHOW`, or `emit SCENARIO.NEXT` when `skip_if_possible` and `INITED`. |
50
+ | `settings.default.view` | Chrome: title + Accept button. |
51
51
 
52
- ## Близкие плагины
52
+ ## Related plugins
53
53
 
54
54
  ### plugins/core/
55
55
 
@@ -58,7 +58,7 @@ Payloads и результаты хендлеров типизированы ч
58
58
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, CONST.LINE_KEYWORDS.SKIP_IF_POSSIBLE
59
59
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT, EVENTS.SET
60
60
 
61
- ### Остальные
61
+ ### Other
62
62
 
63
- - [settings.md](../views/settings.md) — `SETTINGS_VIEW`: `CONST.DEFAULT_TAB`, стрелки
63
+ - [settings.md](../views/settings.md) — `SETTINGS_VIEW`: `CONST.DEFAULT_TAB`, arrows
64
64
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ACCEPT
@@ -1,58 +1,58 @@
1
1
  # plugins/views.screens/settings/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.settings` · namespace: `SETTINGS_SCREEN_VIEW`
3
+ Package: `@vnejs/plugins.views.screens.settings` · namespace: `SETTINGS_SCREEN_VIEW`
4
4
 
5
- Экран настроек с вкладками (chrome: Screen, tabs, cross, example text). Список полей и стрелки — в [`plugins/views/settings`](../views/settings.md) (`SETTINGS_VIEW`).
5
+ Settings screen with tabs (chrome: Screen, tabs, cross, example text). Field list and arrows — in [`plugins/views/settings`](../views/settings.md) (`SETTINGS_VIEW`).
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.settings`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.settings`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | --------------------------------------- | ---------------------------------------------------------------------------- |
13
- | `SHOW` | `vne:settings_screen_view:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:settings_screen_view:hide` | Скрыть UI или слой. |
15
- | `UPDATE` | `vne:settings_screen_view:update` | Обновить состояние или отображение. |
16
- | `UPDATE_FAST` | `vne:settings_screen_view:update_fast` | Перерисовать view с `isFast`, без смены стейта. |
17
- | `UPDATE_FORCE` | `vne:settings_screen_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
18
- | `PRELOAD` | `vne:settings_screen_view:preload` | Событие `PRELOAD` namespace плагина. |
19
- | `TAB_SET` | `vne:settings_screen_view:tab_set` | Выбрать вкладку по ключу из `PARAMS.SETTINGS_VIEW.TABS` (`{ tab: string }`). |
20
- | `UPDATE_STATE` | `vne:settings_screen_view:update_state` | Слить partial в стейт (в т.ч. `{ tab }` из tabs-модуля). |
11
+ | Key | String | Meaning |
12
+ | -------------- | --------------------------------------- | ----------------------------------------------------------------------- |
13
+ | `SHOW` | `vne:settings_screen_view:show` | Show the UI or layer. |
14
+ | `HIDE` | `vne:settings_screen_view:hide` | Hide the UI or layer. |
15
+ | `UPDATE` | `vne:settings_screen_view:update` | Update state or display. |
16
+ | `UPDATE_FAST` | `vne:settings_screen_view:update_fast` | Redraw the view with `isFast`, without a state change. |
17
+ | `UPDATE_FORCE` | `vne:settings_screen_view:update_force` | Redraw the view with `isForce`; state does not change. |
18
+ | `PRELOAD` | `vne:settings_screen_view:preload` | Plugin namespace `PRELOAD` event. |
19
+ | `TAB_SET` | `vne:settings_screen_view:tab_set` | Pick a tab by key from `PARAMS.SETTINGS_VIEW.TABS` (`{ tab: string }`). |
20
+ | `UPDATE_STATE` | `vne:settings_screen_view:update_state` | Merge a partial into state (incl. `{ tab }` from the tabs module). |
21
21
 
22
- На `SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` fields-модуль и фон готовят экран: fields эмитит `SETTINGS_VIEW.SHOW` с `{ tab, tabs, tabKey, locs }`. На `TAB_SET` экрана tabs-модуль шлёт `UPDATE_STATE` `{ tab }`, затем `UPDATE_FAST` (chrome) и `SETTINGS_VIEW.TAB_SET` (контент). На `HIDE` с `LIFECYCLE_PRIORITY.HIDE.BEFORE` — `SETTINGS_VIEW.HIDE`.
22
+ On `SHOW` with `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` the fields module and background prepare the screen: fields emits `SETTINGS_VIEW.SHOW` with `{ tab, tabs, tabKey, locs }`. On `TAB_SET` the screen tabs module sends `UPDATE_STATE` `{ tab }`, then `UPDATE_FAST` (chrome) and `SETTINGS_VIEW.TAB_SET` (content). On `HIDE` with `LIFECYCLE_PRIORITY.HIDE.BEFORE` — `SETTINGS_VIEW.HIDE`.
23
23
 
24
- ## Константы
24
+ ## Constants
25
25
 
26
- Нет.
26
+ None.
27
27
 
28
- ## Параметры
28
+ ## Parameters
29
29
 
30
- | Ключ | Тип | Смысл |
31
- | ------------ | -------- | --------------------------------------------------------------------------------- |
32
- | `TRANSITION` | `number` | Длительность анимации. |
33
- | `AUDIO_NAME` | `string` | Имя трека на слое `view` при открытии экрана; пустая строка — без overlay-музыки. |
34
- | `VIEW_PROPS` | object | Chrome: `screen`, `cross`, `controls`. |
30
+ | Key | Type | Meaning |
31
+ | ------------ | -------- | -------------------------------------------------------------------------------------- |
32
+ | `TRANSITION` | `number` | Animation duration. |
33
+ | `AUDIO_NAME` | `string` | Track name on the `view` layer when the screen opens; empty string — no overlay music. |
34
+ | `VIEW_PROPS` | object | Chrome: `screen`, `cross`, `controls`. |
35
35
 
36
- Схема полей (`TABS` / `VALUE_MAPS` / `ACTIONS` / `fieldProps`) — в `PARAMS.SETTINGS_VIEW`.
36
+ Field schema (`TABS` / `VALUE_MAPS` / `ACTIONS` / `fieldProps`) — in `PARAMS.SETTINGS_VIEW`.
37
37
 
38
- ## Настройки
38
+ ## Settings
39
39
 
40
- Нет.
40
+ None.
41
41
 
42
- ## Модули
42
+ ## Modules
43
43
 
44
- | Модуль | Зона ответственности |
45
- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46
- | `settings.screen.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`. |
47
- | `settings.screen.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; на `HIDE.BEFORE` эмитит `SETTINGS_VIEW.HIDE`. `UPDATE_STATE` → `updateState`; `UPDATE_FAST`. Пустой `controls` на `ZINDEX`. |
48
- | `settings.screen.controller.bg` | Наследует `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; PRELOAD; `MEMORY.CLEARED` — preload и refresh при `isShow`. |
49
- | `settings.screen.controller.fields` | На `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE`: фильтр tabs (`showInSettings`) → `UPDATE_STATE` `{ tabs, tab }` → `SETTINGS_VIEW.SHOW`. |
50
- | `settings.screen.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
51
- | `settings.screen.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
52
- | `settings.screen.controller.tabs` | Наследник `ModuleControllerTabs`: `TAB_SET` → `applyTab` + `onTabSet` (`UPDATE_FAST`, затем `SETTINGS_VIEW.TAB_SET`); TAB_PREV/TAB_NEXT → `TAB_SET`; `getTabKeys` по `showInSettings`. |
53
- | `settings.screen.view` | Chrome экрана (Screen, tabs, cross); поля и example text — в `SETTINGS_VIEW`. |
44
+ | Module | Role |
45
+ | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46
+ | `settings.screen.controller.audio` | `ModuleControllerAudio` subclass: SHOW/HIDE/PRELOAD → pause global, play/stop `view` track; `VOLUME_SETTING = MUSIC.VOLUME`; SHOW passes a computed `volume` into `AUDIO.PLAY`; on `VOLUME_CHANGED` / `VOLUME_SETTING` change — `AUDIO.VOLUME` again. |
47
+ | `settings.screen.controller` | SHOW/HIDE by `CONST.COMPONENTS.LIFECYCLE_PRIORITY` phases; on `HIDE.BEFORE` emits `SETTINGS_VIEW.HIDE`. `UPDATE_STATE` → `updateState`; `UPDATE_FAST`. Empty `controls` on `ZINDEX`. |
48
+ | `settings.screen.controller.bg` | Extends `@vnejs/module.controller.bg`: `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` → `bgSrc`; PRELOAD; `MEMORY.CLEARED` — preload and refresh when `isShow`. |
49
+ | `settings.screen.controller.fields` | On `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE`: filter tabs (`showInSettings`) → `UPDATE_STATE` `{ tabs, tab }` → `SETTINGS_VIEW.SHOW`. |
50
+ | `settings.screen.hide.controls` | Extends `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP on SHOW/HIDE. |
51
+ | `settings.screen.hide.state` | Extends `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` with `{ isForce: true }`. |
52
+ | `settings.screen.controller.tabs` | `ModuleControllerTabs` subclass: `TAB_SET` → `applyTab` + `onTabSet` (`UPDATE_FAST`, then `SETTINGS_VIEW.TAB_SET`); TAB_PREV/TAB_NEXT → `TAB_SET`; `getTabKeys` by `showInSettings`. |
53
+ | `settings.screen.view` | Screen chrome (Screen, tabs, cross); fields and example text — in `SETTINGS_VIEW`. |
54
54
 
55
- ## Близкие плагины
55
+ ## Related plugins
56
56
 
57
57
  ### plugins/core/
58
58
 
@@ -61,9 +61,9 @@ Payloads и результаты хендлеров типизированы ч
61
61
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.SET, EVENTS.CHANGED, EVENTS.INIT
62
62
  - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
63
63
 
64
- ### Остальные
64
+ ### Other
65
65
 
66
- - [settings.md](../views/settings.md) — `SETTINGS_VIEW`: поля и стрелки
66
+ - [settings.md](../views/settings.md) — `SETTINGS_VIEW`: fields and arrows
67
67
  - [audio.md](../audio/audio.md) — `AUDIO`
68
68
  - [music.md](../audio/music.md) — `MUSIC`: SETTINGS.VOLUME
69
69
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.BACK, MENU, GAMEMENU, TAB_PREV, TAB_NEXT
@@ -1,38 +1,38 @@
1
- # Каталог сценарных команд (вариант C)
1
+ # Scenario command catalog (variant C)
2
2
 
3
- Полный surface `$` / `%` команд для агента и автора. Каждая запись — короткий stub + ссылка на plugin doc.
3
+ The full `$` / `%` command surface for an agent and an author. Each entry is a short stub plus a link to the plugin doc.
4
4
 
5
- Параллельный вход с развёрнутыми гайдами: [`../scenario.guide/`](../scenario.guide/).
5
+ The parallel entry with longer guides is [`../scenario.guide/`](../scenario.guide/).
6
6
 
7
- ## Как читать
7
+ ## How to read this
8
8
 
9
- 1. Откройте [`index.md`](./index.md) — оглавление всех команд.
10
- 2. Перейдите в stub (`stubs/<name>.md`) за сигнатурой и примером.
11
- 3. Если нужны события/модули — plugin doc из stub.
9
+ 1. Open [`index.md`](./index.md) — the list of every command.
10
+ 2. Open the stub (`stubs/<name>.md`) for the signature and an example.
11
+ 3. When you need events or modules, open the plugin doc linked from the stub.
12
12
 
13
13
  ## Source of truth
14
14
 
15
- Машинный каталог живёт в контрактах:
15
+ The machine catalog lives in the contracts:
16
16
 
17
17
  ```text
18
18
  contracts/**/src/commands.ts → export const SCENARIO_COMMANDS
19
19
  ```
20
20
 
21
- Тот же набор агрегирует VS Code grammar (`vs_code_extensions/vne-language`, `load-commands.js`). Этот markdown-каталог в первой итерации **собран вручную** по текущим `commands.ts`; позже его можно генерировать тем же merge.
21
+ The same set feeds the VS Code grammar (`vs_code_extensions/vne-language`, `load-commands.js`). This markdown catalog was **assembled by hand** from the current `commands.ts` in the first pass. Later it can be generated by the same merge.
22
22
 
23
- Runtime регистрирует handlers отдельно через `SCENARIO.LINE_EXEC_REG` — stubs описывают author-facing синтаксис, не internals.
23
+ Runtime registers handlers separately through `SCENARIO.LINE_EXEC_REG`. Stubs describe author-facing syntax, not internals.
24
24
 
25
- ## Структура
25
+ ## Layout
26
26
 
27
27
  ```text
28
28
  scenario.catalog/
29
29
  README.md
30
30
  index.md
31
31
  stubs/
32
- flag.md # $ и % вместе, где оба есть
32
+ flag.md # $ and % together, where both exist
33
33
  choose.md # $ choose
34
34
  choose.block.md # % choose
35
35
  choose.option.md
36
- bl.bg.md # canvas: слой.kind
36
+ bl.bg.md # canvas: layer.kind
37
37
  …
38
38
  ```