@vnejs/docs 0.2.65 → 0.2.67

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 -387
  261. package/architecture.md +0 -566
@@ -1,49 +1,49 @@
1
1
  # plugins/views.scenario/point_and_click/
2
2
 
3
- Пакет: `@vnejs/plugins.views.scenario.point_and_click` · namespace: `POINT_AND_CLICK_VIEW`
3
+ Package: `@vnejs/plugins.views.scenario.point_and_click` · namespace: `POINT_AND_CLICK_VIEW`
4
4
 
5
- React-UI point-and-click (иконки-hotspot). Зависит от scenario-плагина [point_and_click.md](../scenario/point_and_click.md) (`POINT_AND_CLICK`): слушает `SHOW` / `HIDE`, эмитит `OPTION` при клике.
5
+ React UI for point-and-click (icon hotspots). Depends on the scenario plugin [point_and_click.md](../scenario/point_and_click.md) (`POINT_AND_CLICK`): listens to `SHOW` / `HIDE`, emits `OPTION` on click.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.scenario.point_and_click`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.scenario.point_and_click`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | --------------------------------------- | ----------------------------------------------- |
13
- | `SHOW` | `vne:point_and_click_view:show` | Показать UI. |
14
- | `HIDE` | `vne:point_and_click_view:hide` | Скрыть UI. |
15
- | `UPDATE` | `vne:point_and_click_view:update` | Обновить React-store / отображение. |
16
- | `UPDATE_FAST` | `vne:point_and_click_view:update_fast` | Быстрое обновление отображения. |
17
- | `UPDATE_FORCE` | `vne:point_and_click_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
18
- | `UPDATE_STATE` | `vne:point_and_click_view:update_state` | Слить partial в стейт контроллера. |
11
+ | Key | String | Meaning |
12
+ | -------------- | --------------------------------------- | ------------------------------------------------------ |
13
+ | `SHOW` | `vne:point_and_click_view:show` | Show the UI. |
14
+ | `HIDE` | `vne:point_and_click_view:hide` | Hide the UI. |
15
+ | `UPDATE` | `vne:point_and_click_view:update` | Update the React store / display. |
16
+ | `UPDATE_FAST` | `vne:point_and_click_view:update_fast` | Fast display update. |
17
+ | `UPDATE_FORCE` | `vne:point_and_click_view:update_force` | Redraw the view with `isForce`; state does not change. |
18
+ | `UPDATE_STATE` | `vne:point_and_click_view:update_state` | Merge a partial into the controller state. |
19
19
 
20
- Сценарные события (`EMIT`, `OPTION`, `SHOW`, `HIDE`, `SKIP`, `EXEC_*`, `STATE_UPDATE`) — в контракте `@vnejs/contracts.scenario.point_and_click`, namespace `POINT_AND_CLICK`.
20
+ Scenario events (`EMIT`, `OPTION`, `SHOW`, `HIDE`, `SKIP`, `EXEC_*`, `STATE_UPDATE`) — contract `@vnejs/contracts.scenario.point_and_click`, namespace `POINT_AND_CLICK`.
21
21
 
22
- ## Константы
22
+ ## Constants
23
23
 
24
- Нет.
24
+ None.
25
25
 
26
- ## Параметры
26
+ ## Parameters
27
27
 
28
- | Ключ | Тип | Смысл |
29
- | --------------------- | -------- | ---------------------------------------------------------------------------------------------- |
30
- | `TRANSITION` | `number` | Длительность анимации показа/скрытия Screen и swap hotspot-картинки на hover (мс); дефолт 300. |
31
- | `ZINDEX` | `number` | Z-index слоя и индекс блока controls. |
32
- | `CONTROLS_EXTENSIONS` | `object` | Дополнительные обработчики controls. |
28
+ | Key | Type | Meaning |
29
+ | --------------------- | -------- | ----------------------------------------------------------------------------- |
30
+ | `TRANSITION` | `number` | Screen show/hide animation and hotspot image swap on hover (ms); default 300. |
31
+ | `ZINDEX` | `number` | Layer z-index and controls block index. |
32
+ | `CONTROLS_EXTENSIONS` | `object` | Extra controls handlers. |
33
33
 
34
- ## Настройки
34
+ ## Settings
35
35
 
36
- Нет.
36
+ None.
37
37
 
38
- ## Модули
38
+ ## Modules
39
39
 
40
- | Модуль | Зона ответственности |
41
- | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42
- | `point_and_click_view.bridge` | Bridge `POINT_AND_CLICK.SHOW/HIDE` → `POINT_AND_CLICK_VIEW.SHOW/HIDE`; на hide — `INTERFACE.TEXT_HIDE`. |
43
- | `point_and_click_view.controller` | На `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` грузит `iconSrc` / `iconHoverSrc`; `CONTROLS_EXTENSIONS` сливается в `CONTROLS` в `ModuleController.init`; сброс стейта на `HIDE.CLEANUP` делает `ModuleController` (`SHOULD_CLEAR_STATE_ON_CLEANUP`). `SETTINGS.CHANGED` → `updateViewFast` при `state.isShow` — из `ModuleController`. |
44
- | `point_and_click_view.view` | React-render hotspot-иконок (`Image` + `srcHover` + `transition` из `PARAMS.POINT_AND_CLICK_VIEW.TRANSITION`; размер — натуральный или args `imgWidth` / `imgHeight` в px canvas). |
40
+ | Module | Role |
41
+ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42
+ | `point_and_click_view.bridge` | Bridge `POINT_AND_CLICK.SHOW/HIDE` → `POINT_AND_CLICK_VIEW.SHOW/HIDE`; on hide — `INTERFACE.TEXT_HIDE`. |
43
+ | `point_and_click_view.controller` | On `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` loads `iconSrc` / `iconHoverSrc`; `CONTROLS_EXTENSIONS` merges into `CONTROLS` in `ModuleController.init`; state reset on `HIDE.CLEANUP` is done by `ModuleController` (`SHOULD_CLEAR_STATE_ON_CLEANUP`). `SETTINGS.CHANGED` → `updateViewFast` when `state.isShow` — from `ModuleController`. |
44
+ | `point_and_click_view.view` | React-render hotspot icons (`Image` + `srcHover` + `transition` from `PARAMS.POINT_AND_CLICK_VIEW.TRANSITION`; size — natural or args `imgWidth` / `imgHeight` in px on canvas). |
45
45
 
46
- ## Связь с POINT_AND_CLICK
46
+ ## Link to POINT_AND_CLICK
47
47
 
48
48
  ```mermaid
49
49
  sequenceDiagram
@@ -56,7 +56,7 @@ sequenceDiagram
56
56
  OBS->>BR: bridge
57
57
  BR->>OBS: vne:point_and_click_view:show
58
58
  OBS->>VC: onShow
59
- Note over VC: SHOW BEFORE читает globalState и грузит icons
59
+ Note over VC: SHOW BEFORE reads globalState and loads icons
60
60
  VC->>OBS: vne:point_and_click:option
61
61
  OBS->>SC: onOption
62
62
  SC->>OBS: vne:point_and_click:hide
@@ -68,11 +68,11 @@ sequenceDiagram
68
68
 
69
69
  ### `compatibility/views.scenario.point_and_click/views.scenario.interface/`
70
70
 
71
- Пакет: `@vnejs/compatibility.views.scenario.point_and_click-with-views.scenario.interface`
71
+ Package: `@vnejs/compatibility.views.scenario.point_and_click-with-views.scenario.interface`
72
72
 
73
- На `POINT_AND_CLICK_VIEW.SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` эмитит `INTERFACE.HIDE`.
73
+ On `POINT_AND_CLICK_VIEW.SHOW` with `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` emits `INTERFACE.HIDE`.
74
74
 
75
- ## Близкие плагины
75
+ ## Related plugins
76
76
 
77
77
  ### plugins/scenario/
78
78
 
@@ -80,10 +80,10 @@ sequenceDiagram
80
80
 
81
81
  ### plugins/core/
82
82
 
83
- - [state.md](../core/state.md) — restore через `POINT_AND_CLICK` + bridge
83
+ - [state.md](../core/state.md) — restore via `POINT_AND_CLICK` + bridge
84
84
 
85
- ### Остальные
85
+ ### Other
86
86
 
87
- - [controls.md](../controls/controls.md) — `CONTROLS`: через `PARAMS.CONTROLS_EXTENSIONS`
88
- - [interface.md](interface.md) — compatibility скрывает interface на `SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`); bridge зовёт `TEXT_HIDE` на hide
89
- - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY для media icons
87
+ - [controls.md](../controls/controls.md) — `CONTROLS`: via `PARAMS.CONTROLS_EXTENSIONS`
88
+ - [interface.md](interface.md) — compatibility hides interface on `SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`); bridge calls `TEXT_HIDE` on hide
89
+ - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY for media icons
@@ -1,68 +1,68 @@
1
1
  # plugins/views.scenario/qte/
2
2
 
3
- Пакет: `@vnejs/plugins.views.scenario.qte` · namespace: `QTE_VIEW`
3
+ Package: `@vnejs/plugins.views.scenario.qte` · namespace: `QTE_VIEW`
4
4
 
5
- React-UI Quick Time Event: фазы анимации, зона успеха в процентах, ACCEPT / INTERACT. Зависит от scenario-плагина [qte.md](../scenario/qte.md) (`QTE`): слушает `OPENED` / `CLOSED`, эмитит `RESULT` по итогам раунда.
5
+ React UI for Quick Time Events: animation phases, success zone in percent, ACCEPT / INTERACT. Depends on the scenario plugin [qte.md](../scenario/qte.md) (`QTE`): listens to `OPENED` / `CLOSED`, emits `RESULT` from round outcome.
6
6
 
7
- Состояние раунда **не** пишется в save — только в controller/view; на `SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` скрывается interface (compatibility).
7
+ Round state is **not** written to save — only in controller/view; on `SHOW` with `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` the interface hides (compatibility).
8
8
 
9
- ## События
9
+ ## Events
10
10
 
11
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.scenario.qte`.
11
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.scenario.qte`.
12
12
 
13
- | Ключ | Строка | Смысл |
14
- | -------------- | --------------------------- | ----------------------------------------------------------- |
15
- | `SHOW` | `vne:qte_view:show` | Показать UI QTE. |
16
- | `HIDE` | `vne:qte_view:hide` | Скрыть UI QTE. |
17
- | `UPDATE` | `vne:qte_view:update` | Обновить React-store / отображение. |
18
- | `UPDATE_FAST` | `vne:qte_view:update_fast` | Быстрое обновление отображения. |
19
- | `UPDATE_FORCE` | `vne:qte_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
20
- | `UPDATE_STATE` | `vne:qte_view:update_state` | Слить partial в стейт контроллера. |
21
- | `ACTION` | `vne:qte_view:action` | Игрок нажал ACCEPT / INTERACT (или клик) во время `active`. |
13
+ | Key | String | Meaning |
14
+ | -------------- | --------------------------- | ------------------------------------------------------------ |
15
+ | `SHOW` | `vne:qte_view:show` | Show the QTE UI. |
16
+ | `HIDE` | `vne:qte_view:hide` | Hide the QTE UI. |
17
+ | `UPDATE` | `vne:qte_view:update` | Update the React store / display. |
18
+ | `UPDATE_FAST` | `vne:qte_view:update_fast` | Fast display update. |
19
+ | `UPDATE_FORCE` | `vne:qte_view:update_force` | Redraw the view with `isForce`; state does not change. |
20
+ | `UPDATE_STATE` | `vne:qte_view:update_state` | Merge a partial into the controller state. |
21
+ | `ACTION` | `vne:qte_view:action` | Player pressed ACCEPT / INTERACT (or click) during `active`. |
22
22
 
23
- Сценарные события (`EMIT`, `RESULT`, `OPENED`, `CLOSED`) — в контракте `@vnejs/contracts.scenario.qte`, namespace `QTE`.
23
+ Scenario events (`EMIT`, `RESULT`, `OPENED`, `CLOSED`) — contract `@vnejs/contracts.scenario.qte`, namespace `QTE`.
24
24
 
25
- ## Константы
25
+ ## Constants
26
26
 
27
- Нет.
27
+ None.
28
28
 
29
- ## Параметры
29
+ ## Parameters
30
30
 
31
- | Ключ | Тип | Смысл |
32
- | -------------- | -------- | ---------------------------------------------------------------------------------------------- |
33
- | `TRANSITION` | `number` | Длительность анимации показа/скрытия (мс). По умолчанию `500`. |
34
- | `INITIAL` | `number` | Зарезервирован; не используется view (маркер стартует после `TRANSITION`). По умолчанию `100`. |
35
- | `ZINDEX` | `number` | Z-index слоя и индекс блока controls. По умолчанию `1300`. |
36
- | `RESULT_DELAY` | `number` | Пауза на экране success/fail перед `RESULT` (мс). По умолчанию `500`. |
37
- | `LOC_LABEL` | `string` | Метка локализации текстов статуса (`locs`). По умолчанию `"qte"`. |
38
- | `VIEW_PROPS` | `object` | Пропсы Screen, PositionBox. |
31
+ | Key | Type | Meaning |
32
+ | -------------- | -------- | --------------------------------------------------------------------------------- |
33
+ | `TRANSITION` | `number` | Show/hide animation duration (ms). Default `500`. |
34
+ | `INITIAL` | `number` | Reserved; not used by the view (marker starts after `TRANSITION`). Default `100`. |
35
+ | `ZINDEX` | `number` | Layer z-index and controls block index. Default `1300`. |
36
+ | `RESULT_DELAY` | `number` | Pause on success/fail screen before `RESULT` (ms). Default `500`. |
37
+ | `LOC_LABEL` | `string` | Label for status text locs (`locs`). Default `"qte"`. |
38
+ | `VIEW_PROPS` | `object` | Screen, PositionBox props. |
39
39
 
40
- ## Настройки
40
+ ## Settings
41
41
 
42
- Нет.
42
+ None.
43
43
 
44
- ## Модули
44
+ ## Modules
45
45
 
46
- | Модуль | Зона ответственности |
47
- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
48
- | `qte_view.controller` | Bridge `QTE.OPENED/CLOSED` → `SHOW/HIDE`; фазы `initial → active → resolved`; таймер fail; пустой `controls` на `ZINDEX`; emit `QTE.RESULT`. Показ/скрытие — через `Screen` (`TRANSITION`). |
49
- | `qte_view.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `QTE_VIEW.ACTION`; PUSH/POP на SHOW/HIDE. |
50
- | `qte_view.view` | React-render горизонтальной линии, зоны успеха и маркера; `LOC_LABEL` для статусов. |
46
+ | Module | Role |
47
+ | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
48
+ | `qte_view.controller` | Bridge `QTE.OPENED/CLOSED` → `SHOW/HIDE`; phases `initial → active → resolved`; fail timer; empty `controls` on `ZINDEX`; emit `QTE.RESULT`. Show/hide through `Screen` (`TRANSITION`). |
49
+ | `qte_view.controller.accept` | Extends `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `QTE_VIEW.ACTION`; PUSH/POP on SHOW/HIDE. |
50
+ | `qte_view.view` | React-render horizontal line, success zone, and marker; `LOC_LABEL` for statuses. |
51
51
 
52
- ## Фазы
52
+ ## Phases
53
53
 
54
- | Фаза | Смысл |
55
- | ---------- | --------------------------------------------------------------------------------------------------------------- |
56
- | `idle` | Скрыт / сброшен. |
57
- | `initial` | Показ `Screen`; маркер ещё не идёт (до `TRANSITION`). |
58
- | `active` | Маркер идёт слева направо за `item.duration`; клик/ACCEPT проверяет попадание в зону `[start, start+size]` (%). |
59
- | `resolved` | Показ success/fail (`RESULT_DELAY`), затем `QTE.RESULT` и скрытие через `Screen`. |
54
+ | Phase | Meaning |
55
+ | ---------- | ----------------------------------------------------------------------------------------------------------- |
56
+ | `idle` | Hidden / reset. |
57
+ | `initial` | Show `Screen`; marker does not move yet (until `TRANSITION`). |
58
+ | `active` | Marker moves left to right over `item.duration`; click/ACCEPT checks hit in zone `[start, start+size]` (%). |
59
+ | `resolved` | Show success/fail (`RESULT_DELAY`), then `QTE.RESULT` and hide through `Screen`. |
60
60
 
61
- Авто-fail: таймер на конец прохода маркера (`duration`), если игрок не нажал раньше.
61
+ Auto-fail: timer at end of marker pass (`duration`) if the player did not press earlier.
62
62
 
63
- Геометрия view: зона и маркер на одной шкале 0–100% ширины линии; проверка попадания — по progress от elapsed, не по CSS-позиции маркера.
63
+ View geometry: zone and marker share one 0–100% line scale; hit check uses progress from elapsed, not CSS marker position.
64
64
 
65
- ## Связь с QTE
65
+ ## Link to QTE
66
66
 
67
67
  ```mermaid
68
68
  sequenceDiagram
@@ -85,11 +85,11 @@ sequenceDiagram
85
85
 
86
86
  ### `compatibility/views.scenario.qte/views.scenario.interface/`
87
87
 
88
- Пакет: `@vnejs/compatibility.views.scenario.qte-with-views.scenario.interface`
88
+ Package: `@vnejs/compatibility.views.scenario.qte-with-views.scenario.interface`
89
89
 
90
- На `QTE_VIEW.SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` эмитит `INTERFACE.HIDE`. Подключается в `bundles/vn.base`.
90
+ On `QTE_VIEW.SHOW` with `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE` emits `INTERFACE.HIDE`. Wired in `bundles/vn.base`.
91
91
 
92
- ## Близкие плагины
92
+ ## Related plugins
93
93
 
94
94
  ### plugins/scenario/
95
95
 
@@ -97,10 +97,10 @@ sequenceDiagram
97
97
 
98
98
  ### plugins/core/
99
99
 
100
- — нет
100
+ — None
101
101
 
102
- ### Остальные
102
+ ### Other
103
103
 
104
104
  - [controls.md](../controls/controls.md) — `CONTROLS`: ACCEPT, INTERACT
105
- - [interface.md](interface.md) — compatibility скрывает interface на `QTE_VIEW.SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`)
106
- - [locs.md](../text/locs.md) — тексты статуса через `LOC_LABEL`
105
+ - [interface.md](interface.md) — compatibility hides interface on `QTE_VIEW.SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`)
106
+ - [locs.md](../text/locs.md) — status text via `LOC_LABEL`
@@ -1,55 +1,55 @@
1
1
  # plugins/views.screens/checkers/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.checkers` · namespace: `CHECKERS_VIEW`
3
+ Package: `@vnejs/plugins.views.screens.checkers` · namespace: `CHECKERS_VIEW`
4
4
 
5
- Экран русских шашек: доска 8×8, сетка, клик / ACCEPT. Правила — в [`game/checkers`](../game/checkers.md) (`CHECKERS`); AI — в [`ai/checkers`](../ai/checkers.md) (`CHECKERS_AI`).
5
+ Russian checkers screen: 8×8 board, grid, click / ACCEPT. Rules — in [`game/checkers`](../game/checkers.md) (`CHECKERS`); AI — in [`ai/checkers`](../ai/checkers.md) (`CHECKERS_AI`).
6
6
 
7
- Bridge: `CHECKERS.SHOW/HIDE` → `CHECKERS_VIEW.SHOW/HIDE`. Модель доски зеркалится с `GRID.CHANGED` / `GRID.UNSET` (`cells` → `board`, фильтр `CONST.CHECKERS.GRID_ID`); сторона хода — с `TURNS.CHANGED` / `TURNS.UNSET`; победитель — с `CHECKERS.FINISH` `{ winner }` (сброс на `SHOW`).
7
+ Bridge: `CHECKERS.SHOW/HIDE` → `CHECKERS_VIEW.SHOW/HIDE`. Board model mirrors `GRID.CHANGED` / `GRID.UNSET` (`cells` → `board`, filter `CONST.CHECKERS.GRID_ID`); side to move — from `TURNS.CHANGED` / `TURNS.UNSET`; winner — from `CHECKERS.FINISH` `{ winner }` (reset on `SHOW`).
8
8
 
9
- ## События
9
+ ## Events
10
10
 
11
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.checkers`.
11
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.checkers`.
12
12
 
13
- | Ключ | Строка | Смысл |
14
- | ------------------------ | ------------------------------------ | ------------------------------------------------------------------------ |
15
- | `SHOW` / `HIDE` | `vne:checkers_view:show` / `…:hide` | Показ / скрытие экрана. |
16
- | `UPDATE` / `UPDATE_FAST` | `vne:checkers_view:update` / `_fast` | React-view. |
17
- | `ACCEPT` | `vne:checkers_view:accept` | Выбор клетки → `GRID_CLEAR` + `PLAYER_INTERACT`. |
18
- | `UPDATE_STATE` | `vne:checkers_view:update_state` | Патч view-стейта (grid + зеркало доски). |
19
- | `GRID_*` | `vne:checkers_view:grid_*` | Навигация сетки. |
20
- | `CLICK` | `vne:checkers_view:click` | Клик → `GRID_CLEAR` + `PLAYER_INTERACT`. |
21
- | `PLAYER_INTERACT` | `vne:checkers_view:player_interact` | UX выбора фигуры / клетки → `MOVES_GET` / `MOVE_PLAY` / `PLAYER_SELECT`. |
22
- | `PLAYER_SELECT` | `vne:checkers_view:player_select` | Патч `selected` / `legalMoves` → `gridItems` + `UPDATE_FAST`. |
13
+ | Key | String | Meaning |
14
+ | ------------------------ | ------------------------------------ | ------------------------------------------------------------------- |
15
+ | `SHOW` / `HIDE` | `vne:checkers_view:show` / `…:hide` | Show / hide the screen. |
16
+ | `UPDATE` / `UPDATE_FAST` | `vne:checkers_view:update` / `_fast` | React view. |
17
+ | `ACCEPT` | `vne:checkers_view:accept` | Cell pick → `GRID_CLEAR` + `PLAYER_INTERACT`. |
18
+ | `UPDATE_STATE` | `vne:checkers_view:update_state` | Patch view state (grid + board mirror). |
19
+ | `GRID_*` | `vne:checkers_view:grid_*` | Grid navigation. |
20
+ | `CLICK` | `vne:checkers_view:click` | Click → `GRID_CLEAR` + `PLAYER_INTERACT`. |
21
+ | `PLAYER_INTERACT` | `vne:checkers_view:player_interact` | Piece / cell pick UX → `MOVES_GET` / `MOVE_PLAY` / `PLAYER_SELECT`. |
22
+ | `PLAYER_SELECT` | `vne:checkers_view:player_select` | Patch `selected` / `legalMoves` → `gridItems` + `UPDATE_FAST`. |
23
23
 
24
- ## Параметры
24
+ ## Parameters
25
25
 
26
- | Ключ | Смысл |
26
+ | Key | Meaning |
27
27
  | ------------------------------------------ | ------------------------------------ |
28
- | `TRANSITION` | анимации экрана / клеток (мс, `300`) |
29
- | `ZINDEX` | z-index экрана |
28
+ | `TRANSITION` | Screen / cell animations (ms, `300`) |
29
+ | `ZINDEX` | Screen z-index |
30
30
  | `ROWS` / `COLUMNS` | `8` |
31
- | `CELL_SIZE` / `CELL_GAP` / `GRAVEYARD_GAP` | layout доски |
32
- | `VIEW_PROPS` | layout screen / status / flex |
31
+ | `CELL_SIZE` / `CELL_GAP` / `GRAVEYARD_GAP` | Board layout |
32
+ | `VIEW_PROPS` | Screen / status / flex layout |
33
33
 
34
- ## Модули
34
+ ## Modules
35
35
 
36
- | Модуль | Зона |
37
- | ------------------------------------------------ | -------------------------------------------------------------------------------------------- |
38
- | `checkers_view.bridge` | SHOW/HIDE bridge |
39
- | `checkers_view.controller` / `.grid` / `.accept` | экран, сетка, ACCEPT; на `HIDE.CLEANUP` сетка пишет `gridRow` / `gridColumn` как `undefined` |
40
- | `checkers_view.click` / `.player.interact` | клик и выбор (game: `MOVES_GET` / `MOVE_PLAY`) |
41
- | `checkers_view.player.select` | `PLAYER_SELECT` → selection + grid |
42
- | `checkers_view.board` | `GRID.CHANGED` / `UNSET` → `gridItems` + `UPDATE_FAST` |
43
- | `checkers_view.status` | `TURNS` / `FINISH` / `SHOW` → status text |
44
- | `checkers_view.view` | React |
36
+ | Module | Role |
37
+ | ------------------------------------------------ | ------------------------------------------------------------------------------------------- |
38
+ | `checkers_view.bridge` | SHOW/HIDE bridge |
39
+ | `checkers_view.controller` / `.grid` / `.accept` | Screen, grid, ACCEPT; on `HIDE.CLEANUP` grid writes `gridRow` / `gridColumn` as `undefined` |
40
+ | `checkers_view.click` / `.player.interact` | Click and pick (game: `MOVES_GET` / `MOVE_PLAY`) |
41
+ | `checkers_view.player.select` | `PLAYER_SELECT` → selection + grid |
42
+ | `checkers_view.board` | `GRID.CHANGED` / `UNSET` → `gridItems` + `UPDATE_FAST` |
43
+ | `checkers_view.status` | `TURNS` / `FINISH` / `SHOW` → status text |
44
+ | `checkers_view.view` | React |
45
45
 
46
- ## Сценарий
46
+ ## Scenario
47
47
 
48
48
  `$ checkers` — [`game/checkers`](../game/checkers.md); `$ checkers.ai` — [`ai/checkers`](../ai/checkers.md).
49
49
 
50
- ## Близкие плагины
50
+ ## Related plugins
51
51
 
52
- - [common/grid.md](../common/grid.md) — `GRID` (доска)
52
+ - [common/grid.md](../common/grid.md) — `GRID` (board)
53
53
  - [common/turn.md](../common/turn.md) — `TURNS` (`id` / `owner`)
54
- - [game/checkers.md](../game/checkers.md) — правила
54
+ - [game/checkers.md](../game/checkers.md) — rules
55
55
  - [ai/checkers.md](../ai/checkers.md) — AI
@@ -1,57 +1,57 @@
1
1
  # plugins/views.screens/confirm/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.confirm` · namespace: `CONFIRM`
3
+ Package: `@vnejs/plugins.views.screens.confirm` · namespace: `CONFIRM`
4
4
 
5
- Модальный экран подтверждения с выбором принять или отклонить и колбэками.
5
+ Modal confirm screen with accept or decline and callbacks.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.confirm`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.confirm`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | -------------------------- | ----------------------------------------------------------------------------------------------- |
13
- | `SHOW` | `vne:confirm:show` | Показать UI или слой. |
14
- | `HIDE` | `vne:confirm:hide` | Скрыть UI или слой. |
15
- | `EMIT` | `vne:confirm:emit` | Инициировать действие или цикл. |
16
- | `UPDATE` | `vne:confirm:update` | Обновить состояние или отображение. |
17
- | `UPDATE_FAST` | `vne:confirm:update_fast` | Быстрый UPDATE view без анимации (стрелки). |
18
- | `UPDATE_FORCE` | `vne:confirm:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
19
- | `UPDATE_STATE` | `vne:confirm:update_state` | Слить `{ currentArrowHorizontalItem }` в стейт controller/accept без UPDATE view. |
20
- | `ACCEPT` | `vne:confirm:accept` | Событие `ACCEPT` namespace плагина. |
21
- | `DECLINE` | `vne:confirm:decline` | Событие `DECLINE` namespace плагина. |
22
- | `SUBMIT` | `vne:confirm:submit` | `ACCEPT` / `INTERACT`: при `currentArrowHorizontalItem` — ACCEPT (0) или DECLINE, иначе ACCEPT. |
11
+ | Key | String | Meaning |
12
+ | -------------- | -------------------------- | ---------------------------------------------------------------------------------------------- |
13
+ | `SHOW` | `vne:confirm:show` | Show the UI or layer. |
14
+ | `HIDE` | `vne:confirm:hide` | Hide the UI or layer. |
15
+ | `EMIT` | `vne:confirm:emit` | Start an action or cycle. |
16
+ | `UPDATE` | `vne:confirm:update` | Update state or display. |
17
+ | `UPDATE_FAST` | `vne:confirm:update_fast` | Fast UPDATE view without animation (arrows). |
18
+ | `UPDATE_FORCE` | `vne:confirm:update_force` | Redraw the view with `isForce`; state does not change. |
19
+ | `UPDATE_STATE` | `vne:confirm:update_state` | Merge `{ currentArrowHorizontalItem }` into controller/accept state without UPDATE view. |
20
+ | `ACCEPT` | `vne:confirm:accept` | Plugin namespace `ACCEPT` event. |
21
+ | `DECLINE` | `vne:confirm:decline` | Plugin namespace `DECLINE` event. |
22
+ | `SUBMIT` | `vne:confirm:submit` | `ACCEPT` / `INTERACT`: with `currentArrowHorizontalItem` — ACCEPT (0) or DECLINE, else ACCEPT. |
23
23
 
24
- ## Константы
24
+ ## Constants
25
25
 
26
- Нет.
26
+ None.
27
27
 
28
- ## Параметры
28
+ ## Parameters
29
29
 
30
- | Ключ | Тип | Смысл |
31
- | ------------ | -------- | ------------------------------------ |
32
- | `TRANSITION` | `string` | Значение по умолчанию: "TRANSITION". |
30
+ | Key | Type | Meaning |
31
+ | ------------ | -------- | ---------------------- |
32
+ | `TRANSITION` | `string` | Default: "TRANSITION". |
33
33
 
34
- ## Настройки
34
+ ## Settings
35
35
 
36
- Нет.
36
+ None.
37
37
 
38
- ## Модули
38
+ ## Modules
39
39
 
40
- | Модуль | Зона ответственности |
41
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42
- | `confirm.controller` | SHOW/HIDE; BACK → `DECLINE`; зеркалит `UPDATE_STATE` в стейт и `UPDATE_FAST` во view. |
43
- | `confirm.controller.arrows` | Наследует `@vnejs/module.controller.arrows.horizontal`: `ARROW_LEFT` / `ARROW_RIGHT` по Accept/Decline; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowHorizontalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowHorizontalItem` в стейте становится `undefined`. |
44
- | `confirm.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `SUBMIT` → `ACCEPT` или `DECLINE` по `currentArrowHorizontalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
45
- | `confirm.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: только `STATE.CLEAR` → `HIDE` с `{ isForce: true }` (`IS_STATE_SET_ENABLED = false`). |
46
- | `confirm` | Обрабатывает EMIT, ACCEPT, DECLINE. Колбэки accept/decline снимаются на `HIDE.MAIN`, если контроллер не оборвал скрытие на `GATE`. |
47
- | `confirm.view` | Подмодуль `view` плагина. |
40
+ | Module | Role |
41
+ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42
+ | `confirm.controller` | SHOW/HIDE; BACK → `DECLINE`; mirrors `UPDATE_STATE` into state and `UPDATE_FAST` into view. |
43
+ | `confirm.controller.arrows` | Extends `@vnejs/module.controller.arrows.horizontal`: `ARROW_LEFT` / `ARROW_RIGHT` over Accept/Decline; PUSH/POP controls on SHOW/HIDE; emits `UPDATE_STATE` with `{ currentArrowHorizontalItem }` and `UPDATE_FAST`. On `HIDE.CLEANUP` `currentArrowHorizontalItem` in state becomes `undefined`. |
44
+ | `confirm.controller.accept` | Extends `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `SUBMIT` → `ACCEPT` or `DECLINE` by `currentArrowHorizontalItem`; mirrors `UPDATE_STATE`; PUSH/POP on SHOW/HIDE. |
45
+ | `confirm.hide.state` | Extends `@vnejs/module.controller.hide.on.state`: only `STATE.CLEAR` → `HIDE` with `{ isForce: true }` (`IS_STATE_SET_ENABLED = false`). |
46
+ | `confirm` | Handles EMIT, ACCEPT, DECLINE. Accept/decline callbacks clear on `HIDE.MAIN` if the controller did not abort hide at `GATE`. |
47
+ | `confirm.view` | Plugin `view` submodule. |
48
48
 
49
- ## Близкие плагины
49
+ ## Related plugins
50
50
 
51
51
  ### plugins/core/
52
52
 
53
53
  - [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR
54
54
 
55
- ### Остальные
55
+ ### Other
56
56
 
57
57
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.INTERACT, CONST.BUTTONS.ACCEPT, CONST.BUTTONS.BACK, CONST.BUTTONS.ARROW_LEFT, CONST.BUTTONS.ARROW_RIGHT
@@ -1,50 +1,50 @@
1
1
  # plugins/views.screens/credits/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.credits` · namespace: `CREDITS`
3
+ Package: `@vnejs/plugins.views.screens.credits` · namespace: `CREDITS`
4
4
 
5
- Экран титров, открываемый и закрываемый командами сценария show/hide.
5
+ Credits screen, opened and closed by scenario show/hide commands.
6
6
 
7
- Конец прокрутки и клик по экрану шлют `HIDE`. На `HIDE.AFTER` уходит `SCENARIO.NEXT`: если титры открыты из главного меню, строка `$ mainmenu` уже пройдена, метка заканчивается, пустой стек делает `STACK.CLEAR`, и сценарий снова идёт с лейбла `init`.
7
+ Scroll end and a screen click emit `HIDE`. On `HIDE.AFTER` — `SCENARIO.NEXT`: if credits opened from the main menu, the `$ mainmenu` line is already past, the label ends, an empty stack runs `STACK.CLEAR`, and the scenario runs again from the `init` label.
8
8
 
9
- ## События
9
+ ## Events
10
10
 
11
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.credits`.
11
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.views.screens.credits`.
12
12
 
13
- | Ключ | Строка | Смысл |
14
- | -------------- | -------------------------- | ----------------------------------------------- |
15
- | `SHOW` | `vne:credits:show` | Показать UI или слой. |
16
- | `HIDE` | `vne:credits:hide` | Скрыть UI или слой. |
17
- | `UPDATE` | `vne:credits:update` | Обновить состояние или отображение. |
18
- | `UPDATE_FAST` | `vne:credits:update_fast` | Быстрое обновление отображения. |
19
- | `UPDATE_FORCE` | `vne:credits:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
20
- | `UPDATE_STATE` | `vne:credits:update_state` | Слить partial в стейт контроллера. |
13
+ | Key | String | Meaning |
14
+ | -------------- | -------------------------- | ------------------------------------------------------ |
15
+ | `SHOW` | `vne:credits:show` | Show the UI or layer. |
16
+ | `HIDE` | `vne:credits:hide` | Hide the UI or layer. |
17
+ | `UPDATE` | `vne:credits:update` | Update state or display. |
18
+ | `UPDATE_FAST` | `vne:credits:update_fast` | Fast display update. |
19
+ | `UPDATE_FORCE` | `vne:credits:update_force` | Redraw the view with `isForce`; state does not change. |
20
+ | `UPDATE_STATE` | `vne:credits:update_state` | Merge a partial into the controller state. |
21
21
 
22
- ## Константы
22
+ ## Constants
23
23
 
24
- Нет.
24
+ None.
25
25
 
26
- ## Параметры
26
+ ## Parameters
27
27
 
28
- | Ключ | Тип | Смысл |
29
- | ------- | -------- | ------------------------------- |
30
- | `LINES` | `string` | Значение по умолчанию: "LINES". |
28
+ | Key | Type | Meaning |
29
+ | ------- | -------- | ----------------- |
30
+ | `LINES` | `string` | Default: "LINES". |
31
31
 
32
- ## Настройки
32
+ ## Settings
33
33
 
34
- Нет.
34
+ None.
35
35
 
36
- ## Модули
36
+ ## Modules
37
37
 
38
- | Модуль | Зона ответственности |
38
+ | Module | Role |
39
39
  | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
40
- | `credits.controller` | SHOW/HIDE по фазам `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; пустой `controls` на `ZINDEX`; на `HIDE.AFTER` — `SCENARIO.NEXT`. |
41
- | `credits.controller.interact` | Наследует `@vnejs/module.controller.interact`: `BUTTONS.ANY` → `INTERACT.EMIT`; `onInteract` → `CREDITS.HIDE`. |
42
- | `credits.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
43
- | `credits.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
44
- | `credits` | Модуль `credits`. |
45
- | `credits.view` | Подмодуль `view` плагина. |
40
+ | `credits.controller` | SHOW/HIDE by `CONST.COMPONENTS.LIFECYCLE_PRIORITY` phases; empty `controls` on `ZINDEX`; on `HIDE.AFTER` — `SCENARIO.NEXT`. |
41
+ | `credits.controller.interact` | Extends `@vnejs/module.controller.interact`: `BUTTONS.ANY` → `INTERACT.EMIT`; `onInteract` → `CREDITS.HIDE`. |
42
+ | `credits.hide.controls` | Extends `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP on SHOW/HIDE. |
43
+ | `credits.hide.state` | Extends `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` with `{ isForce: true }`. |
44
+ | `credits` | `credits` module. |
45
+ | `credits.view` | Plugin `view` submodule. |
46
46
 
47
- ## Близкие плагины
47
+ ## Related plugins
48
48
 
49
49
  ### plugins/core/
50
50
 
@@ -52,6 +52,6 @@ Payloads и результаты хендлеров типизированы ч
52
52
  - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
53
53
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
54
54
 
55
- ### Остальные
55
+ ### Other
56
56
 
57
57
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ANY, CONST.BUTTONS.BACK, CONST.BUTTONS.MENU, CONST.BUTTONS.GAMEMENU