@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,37 +1,37 @@
1
1
  # plugins/scales/health/
2
2
 
3
- Пакет: `@vnejs/plugins.scales.health` · namespace: `SCALE_HEALTH`
3
+ Package: `@vnejs/plugins.scales.health` · namespace: `SCALE_HEALTH`
4
4
 
5
- Обрабатывает переполнение и опустошение шкалы здоровья.
5
+ Handles overflow and underflow of the health scale.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Нет.
9
+ None.
10
10
 
11
- ## Константы
11
+ ## Constants
12
12
 
13
- Нет.
13
+ None.
14
14
 
15
- ## Параметры
15
+ ## Parameters
16
16
 
17
- Нет.
17
+ None.
18
18
 
19
- ## Настройки
19
+ ## Settings
20
20
 
21
- Нет.
21
+ None.
22
22
 
23
- ## Модули
23
+ ## Modules
24
24
 
25
- | Модуль | Зона ответственности |
26
- | -------------- | --------------------------- |
27
- | `scale_health` | Подмодуль `health` плагина. |
25
+ | Module | Role |
26
+ | -------------- | -------------------------- |
27
+ | `scale_health` | Plugin `health` submodule. |
28
28
 
29
- ## Близкие плагины
29
+ ## Related plugins
30
30
 
31
31
  ### plugins/core/
32
32
 
33
- — нет
33
+ — None
34
34
 
35
- ### Остальные
35
+ ### Other
36
36
 
37
37
  - [scales.md](./scales.md) — `SCALES`: PARAMS.TYPES
@@ -1,37 +1,37 @@
1
1
  # plugins/scales/mana/
2
2
 
3
- Пакет: `@vnejs/plugins.scales.mana` · namespace: `SCALE_MANA`
3
+ Package: `@vnejs/plugins.scales.mana` · namespace: `SCALE_MANA`
4
4
 
5
- Обрабатывает переполнение и опустошение шкалы маны.
5
+ Handles overflow and underflow of the mana scale.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Нет.
9
+ None.
10
10
 
11
- ## Константы
11
+ ## Constants
12
12
 
13
- Нет.
13
+ None.
14
14
 
15
- ## Параметры
15
+ ## Parameters
16
16
 
17
- Нет.
17
+ None.
18
18
 
19
- ## Настройки
19
+ ## Settings
20
20
 
21
- Нет.
21
+ None.
22
22
 
23
- ## Модули
23
+ ## Modules
24
24
 
25
- | Модуль | Зона ответственности |
26
- | ------------ | ------------------------- |
27
- | `scale_mana` | Подмодуль `mana` плагина. |
25
+ | Module | Role |
26
+ | ------------ | ------------------------ |
27
+ | `scale_mana` | Plugin `mana` submodule. |
28
28
 
29
- ## Близкие плагины
29
+ ## Related plugins
30
30
 
31
31
  ### plugins/core/
32
32
 
33
- — нет
33
+ — None
34
34
 
35
- ### Остальные
35
+ ### Other
36
36
 
37
37
  - [scales.md](./scales.md) — `SCALES`: PARAMS.TYPES
@@ -1,56 +1,56 @@
1
1
  # plugins/scales/scales/
2
2
 
3
- Пакет: `@vnejs/plugins.scales.scales` · namespace: `SCALES`
3
+ Package: `@vnejs/plugins.scales.scales` · namespace: `SCALES`
4
4
 
5
- Управляет числовыми шкалами: spawn, change, set, check и границы.
5
+ Manages numeric scales: spawn, change, set, check, and bounds.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.scales`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.scales`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ----------- | ---------------------- | ---------------------------------------- |
13
- | `SPAWN` | `vne:scales:spawn` | Событие `SPAWN` namespace плагина. |
14
- | `DESTROY` | `vne:scales:destroy` | Событие `DESTROY` namespace плагина. |
15
- | `SET` | `vne:scales:set` | Записать или обновить значение. |
16
- | `RESET` | `vne:scales:reset` | Событие `RESET` namespace плагина. |
17
- | `CHANGE` | `vne:scales:change` | Событие `CHANGE` namespace плагина. |
18
- | `CHANGED` | `vne:scales:changed` | Зафиксировать изменение состояния. |
19
- | `CHECK` | `vne:scales:check` | Проверить состояние или наличие ресурса. |
20
- | `OVERFLOW` | `vne:scales:overflow` | Событие `OVERFLOW` namespace плагина. |
21
- | `UNDERFLOW` | `vne:scales:underflow` | Событие `UNDERFLOW` namespace плагина. |
11
+ | Key | String | Meaning |
12
+ | ----------- | ---------------------- | ----------------------------------- |
13
+ | `SPAWN` | `vne:scales:spawn` | Plugin namespace event `SPAWN`. |
14
+ | `DESTROY` | `vne:scales:destroy` | Plugin namespace event `DESTROY`. |
15
+ | `SET` | `vne:scales:set` | Write or update a value. |
16
+ | `RESET` | `vne:scales:reset` | Plugin namespace event `RESET`. |
17
+ | `CHANGE` | `vne:scales:change` | Plugin namespace event `CHANGE`. |
18
+ | `CHANGED` | `vne:scales:changed` | Record a state change. |
19
+ | `CHECK` | `vne:scales:check` | Check state or resource presence. |
20
+ | `OVERFLOW` | `vne:scales:overflow` | Plugin namespace event `OVERFLOW`. |
21
+ | `UNDERFLOW` | `vne:scales:underflow` | Plugin namespace event `UNDERFLOW`. |
22
22
 
23
- ## Константы
23
+ ## Constants
24
24
 
25
- Нет.
25
+ None.
26
26
 
27
- ## Параметры
27
+ ## Parameters
28
28
 
29
- | Ключ | Тип | Смысл |
30
- | ------- | -------- | ------------------------------------------------------------------- |
31
- | `TYPES` | `string` | Виды шкал (`health`, `mana`, …), расширяются дочерними контрактами. |
29
+ | Key | Type | Meaning |
30
+ | ------- | -------- | --------------------------------------------------------------- |
31
+ | `TYPES` | `string` | Scale kinds (`health`, `mana`, …), extended by child contracts. |
32
32
 
33
- ## Ключи
33
+ ## Keys
34
34
 
35
- Контракт экспортирует `getScaleKey(entityId, scaleType)` → `` `${entityId}:${scaleType}` `` (например `hero:health`). События scales принимают `key` как opaque string.
35
+ The contract exports `getScaleKey(entityId, scaleType)` → `` `${entityId}:${scaleType}` `` (for example `hero:health`). Scales events accept `key` as an opaque string.
36
36
 
37
- ## Настройки
37
+ ## Settings
38
38
 
39
- Нет.
39
+ None.
40
40
 
41
- ## Модули
41
+ ## Modules
42
42
 
43
- | Модуль | Зона ответственности |
44
- | -------- | ---------------------------------------------- |
45
- | `scales` | Обрабатывает SPAWN, DESTROY, RESET, CHANGE, …. |
43
+ | Module | Role |
44
+ | -------- | ----------------------------------------- |
45
+ | `scales` | Handles SPAWN, DESTROY, RESET, CHANGE, …. |
46
46
 
47
- ## Близкие плагины
47
+ ## Related plugins
48
48
 
49
49
  ### plugins/core/
50
50
 
51
51
  - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
52
52
 
53
- ### Остальные
53
+ ### Other
54
54
 
55
55
  - [health.md](./health.md) — `SCALES.TYPES.HEALTH`
56
56
  - [mana.md](./mana.md) — `SCALES.TYPES.MANA`
@@ -1,52 +1,52 @@
1
1
  # plugins/scenario/autoread/
2
2
 
3
- Пакет: `@vnejs/plugins.scenario.autoread` · namespace: `AUTOREAD`
3
+ Package: `@vnejs/plugins.scenario.autoread` · namespace: `AUTOREAD`
4
4
 
5
- Автоматически продвигает сценарий по таймеру с настраиваемой задержкой и временными блокировками.
5
+ Automatically advance the scenario on a timer with configurable delay and temporary block sources.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.scenario.autoread`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.scenario.autoread`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ---------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------ |
13
- | `EMIT` | `vne:autoread:emit` | Если авточтение включено и нет блокировок — `INTERACT.EMIT` по `vne-autoread-allow`, иначе `TIMEOUT_CREATE`. |
14
- | `PUSH` | `vne:autoread:push` | Добавить источник блокировки и `TIMEOUT_CLEAR`. Payload: `{ source? }`. |
15
- | `POP` | `vne:autoread:pop` | Снять источник блокировки; если очередь пуста — `TIMEOUT_CREATE`. Payload: `{ source? }`. |
16
- | `TIMEOUT_CREATE` | `vne:autoread:timeout_create` | Поставить таймер на `SETTINGS.AUTOREAD.DELAY`; по нему эмитит `EMIT`. |
17
- | `TIMEOUT_CLEAR` | `vne:autoread:timeout_clear` | Снять поставленный таймер. |
11
+ | Key | String | Meaning |
12
+ | ---------------- | ----------------------------- | ----------------------------------------------------------------------------------------------------- |
13
+ | `EMIT` | `vne:autoread:emit` | When autoread is on and not blocked — `INTERACT.EMIT` on `vne-autoread-allow`, else `TIMEOUT_CREATE`. |
14
+ | `PUSH` | `vne:autoread:push` | Add a block source and `TIMEOUT_CLEAR`. Payload: `{ source? }`. |
15
+ | `POP` | `vne:autoread:pop` | Remove a block source; when the queue is empty — `TIMEOUT_CREATE`. Payload: `{ source? }`. |
16
+ | `TIMEOUT_CREATE` | `vne:autoread:timeout_create` | Start a timer for `SETTINGS.AUTOREAD.DELAY`; when it fires, emit `EMIT`. |
17
+ | `TIMEOUT_CLEAR` | `vne:autoread:timeout_clear` | Clear the active timer. |
18
18
 
19
- ## Константы
19
+ ## Constants
20
20
 
21
- | Ключ | Смысл |
22
- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
23
- | `LOGS_ACTIONS` | Метки для логов: `EMIT` (`emit`), `PUSH` (`push`), `POP` (`pop`), `TIMEOUT_CREATE` (`timeout_create`), `TIMEOUT_CLEAR` (`timeout_clear`). |
21
+ | Key | Meaning |
22
+ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
23
+ | `LOGS_ACTIONS` | Log labels: `EMIT` (`emit`), `PUSH` (`push`), `POP` (`pop`), `TIMEOUT_CREATE` (`timeout_create`), `TIMEOUT_CLEAR` (`timeout_clear`). |
24
24
 
25
- ## Параметры
25
+ ## Parameters
26
26
 
27
- | Ключ | Тип | Смысл |
28
- | ----------------- | --------- | -------------------------------------------- |
29
- | `DEFAULT_DELAY` | `number` | Значение по умолчанию: 5000. |
30
- | `DEFAULT_ENABLED` | `boolean` | Значение по умолчанию для включения функции. |
27
+ | Key | Type | Meaning |
28
+ | ----------------- | --------- | -------------------------------------- |
29
+ | `DEFAULT_DELAY` | `number` | Default: 5000. |
30
+ | `DEFAULT_ENABLED` | `boolean` | Default for whether the feature is on. |
31
31
 
32
- ## Настройки
32
+ ## Settings
33
33
 
34
- | Ключ | Тип | Смысл |
35
- | ---------------------------------- | --------- | --------------------------------------------------- |
36
- | `ENABLED` (`vne:autoread:enabled`) | `boolean` | Включить или выключить функцию. |
37
- | `DELAY` (`vne:autoread:delay`) | `number` | Настройка `vne:autoread:delay` в `shared.settings`. |
34
+ | Key | Type | Meaning |
35
+ | ---------------------------------- | --------- | -------------------------------------------------- |
36
+ | `ENABLED` (`vne:autoread:enabled`) | `boolean` | Turn the feature on or off. |
37
+ | `DELAY` (`vne:autoread:delay`) | `number` | Setting `vne:autoread:delay` in `shared.settings`. |
38
38
 
39
- ## Модули
39
+ ## Modules
40
40
 
41
- | Модуль | Зона ответственности |
42
- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
43
- | `autoread` | `SETTINGS.INIT` в `setup`. `SETTINGS.CHANGED` для `ENABLED` эмитит `PUSH` / `POP`. |
44
- | `autoread.logs` | Логи всех событий `AUTOREAD` через `EVENTS.LOGS.EMIT`. `PUSH` / `POP` пишут `source`. |
45
- | `autoread.sources` | В `postinject` — `shared.autoreadDisableSources`. `PUSH` / `POP`. На `STATE.SET` очищает набор. |
46
- | `autoread.emit` | `EMIT`: если включено и нет блокировок — `INTERACT.EMIT` по `vne-autoread-allow`, иначе `TIMEOUT_CREATE`. |
47
- | `autoread.timeout` | `TIMEOUT_CREATE` / `TIMEOUT_CLEAR`. Таймер на `SETTINGS.AUTOREAD.DELAY`, по нему `EMIT`. `STATE.CLEAR` → `TIMEOUT_CLEAR`. `STATE.SET` → `TIMEOUT_CLEAR`, затем `TIMEOUT_CREATE`. |
41
+ | Module | Role |
42
+ | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
43
+ | `autoread` | `SETTINGS.INIT` in `setup`. `SETTINGS.CHANGED` for `ENABLED` emits `PUSH` / `POP`. |
44
+ | `autoread.logs` | Log all `AUTOREAD` events via `EVENTS.LOGS.EMIT`. `PUSH` / `POP` log `source`. |
45
+ | `autoread.sources` | In `postinject` — `shared.autoreadDisableSources`. `PUSH` / `POP`. On `STATE.SET` clears the set. |
46
+ | `autoread.emit` | `EMIT`: when on and not blocked — `INTERACT.EMIT` on `vne-autoread-allow`, else `TIMEOUT_CREATE`. |
47
+ | `autoread.timeout` | `TIMEOUT_CREATE` / `TIMEOUT_CLEAR`. Timer on `SETTINGS.AUTOREAD.DELAY`, then `EMIT`. `STATE.CLEAR` → `TIMEOUT_CLEAR`. `STATE.SET` → `TIMEOUT_CLEAR`, then `TIMEOUT_CREATE`. |
48
48
 
49
- ## Близкие плагины
49
+ ## Related plugins
50
50
 
51
51
  ### plugins/core/
52
52
 
@@ -55,6 +55,6 @@ Payloads и результаты хендлеров типизированы ч
55
55
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
56
56
  - [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR, EVENTS.SET
57
57
 
58
- ### Остальные
58
+ ### Other
59
59
 
60
- — нет
60
+ — None
@@ -1,106 +1,115 @@
1
1
  # plugins/scenario/choose/
2
2
 
3
- Пакет: `@vnejs/plugins.scenario.choose` · namespace: `CHOOSE`
3
+ Package: `@vnejs/plugins.scenario.choose` · namespace: `CHOOSE`
4
4
 
5
- Обрабатывает сценарные команды `% choose` / `$ choose`, собирает опции, хранит состояние выбора в `globalState.choose` и переводит сценарий к выбранной ветке. UI не рендерит — за отображение отвечает [views.scenario/choose.md](../views.scenario/choose.md).
5
+ Handles scenario commands `% choose` / `$ choose`, collects options, stores choice state in `globalState.choose`, and moves the scenario to the picked branch. Does not render UI — see [views.scenario/choose.md](../views.scenario/choose.md).
6
6
 
7
- ## Сценарные команды
7
+ ## Scenario commands
8
8
 
9
- | Синтаксис | Смысл |
10
- | --------------------- | --------------------------------------------------------------------------------------------------------------------------- |
11
- | `% choose` | Открыть выбор: собрать `% choose.option`, emit `EMIT`. Если все опции `hided` (или список пуст) — `SKIP` и переход за блок. |
12
- | `% choose.option "…"` | Ветка опции; при проходе мимо невыбранной — skip тела по indent. |
13
- | `$ choose repeat` | Вернуться к ближайшему `% choose` **выше** текущей строки в том же label и `emit SCENARIO.NEXT`. |
9
+ | Syntax | Meaning |
10
+ | --------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
11
+ | `% choose` | Open choice: collect `% choose.option`, emit `EMIT`. When all options are `hided` (or list empty) — `SKIP` and exit the block. |
12
+ | `% choose.option "…"` | Option branch; when passing a non-chosen option — skip body by indent. |
13
+ | `$ choose repeat` | Return to the nearest `% choose` **above** the current line in the same label and `emit SCENARIO.NEXT`. |
14
14
 
15
- Пример цикла «осмотреть → вернуться в меню»:
15
+ Example “look around → back to menu” loop:
16
16
 
17
17
  ```vne
18
18
  % choose
19
- % choose.option "Осмотреть"
19
+ % choose.option "Look around"
20
20
  hided: $ flag seen
21
21
  $ flag seen
22
22
  "…"
23
23
  $ choose repeat
24
- # дальше — когда при повторном входе все option скрыты
24
+ # later — when on re-entry all options are hidden
25
25
  ```
26
26
 
27
- ## События
27
+ ## Events
28
28
 
29
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.scenario.choose`.
29
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.scenario.choose`.
30
30
 
31
- | Ключ | Строка | Смысл |
32
- | -------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
33
- | `EMIT` | `vne:choose:emit` | Принять опции и args; если есть видимые — `STATE_UPDATE` и `SHOW`; иначе `SKIP`. |
34
- | `OPTION` | `vne:choose:option` | Принять выбор по UI-индексу: прогнать `OPTION_BEFORE`, затем `HIDE`, `OPTION_REPLACE`, установить `curLine`, сброс state, `emit SCENARIO.NEXT`. |
35
- | `OPTION_BEFORE` | `vne:choose:option_before` | Side effects до применения выбора (подписки с `priority` на Observer). |
36
- | `OPTION_REPLACE` | `vne:choose:option_replace` | Подменить UI-индекс принятой опции (цепочка handlers перед переходом по ветке). |
37
- | `OPTION_REPLACE_REG` | `vne:choose:option_replace_reg` | Зарегистрировать обработчик `OPTION_REPLACE`. |
38
- | `SKIP` | `vne:choose:skip` | Пропустить блок: `curLine` на первую строку после indent-дерева `% choose`, `emit SCENARIO.NEXT`. |
39
- | `SHOW` | `vne:choose:show` | Выбор активен (state готов). Слушает view-плагин. |
40
- | `HIDE` | `vne:choose:hide` | Выбор закрыт. Слушает view-плагин. |
41
- | `EXEC_REG` | `vne:choose:exec_reg` | Зарегистрировать exec-обработчик для подстановки в опции. |
42
- | `EXEC_GET` | `vne:choose:exec_get` | Получить значение через зарегистрированный exec-обработчик. |
43
- | `STATE_UPDATE` | `vne:choose:state_update` | Обновить накопленное состояние модуля `choose`. |
31
+ | Key | String | Meaning |
32
+ | -------------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
33
+ | `EMIT` | `vne:choose:emit` | Accept options and args; when any are visible — `STATE_UPDATE` and `SHOW`; else `SKIP`. |
34
+ | `OPTION` | `vne:choose:option` | Accept UI index: run `OPTION_BEFORE`, then `HIDE`, `OPTION_REPLACE`, set `curLine`, reset state, `emit SCENARIO.NEXT`. |
35
+ | `OPTION_BEFORE` | `vne:choose:option_before` | Side effects before applying choice (Observer subscriptions with `priority`). |
36
+ | `OPTION_REPLACE` | `vne:choose:option_replace` | Replace the accepted option UI index (handler chain before branch jump). |
37
+ | `OPTION_REPLACE_REG` | `vne:choose:option_replace_reg` | Register an `OPTION_REPLACE` handler. |
38
+ | `OPTION_TEXT` | `vne:choose:option_text` | Replace option `text` before it is stored. No handlers — the scenario literal stays. |
39
+ | `OPTION_TEXT_REG` | `vne:choose:option_text_reg` | Register an `OPTION_TEXT` handler. |
40
+ | `SKIP` | `vne:choose:skip` | Skip block: `curLine` to first line after `% choose` indent tree, `emit SCENARIO.NEXT`. |
41
+ | `SHOW` | `vne:choose:show` | Choice active (state ready). View plugin listens. |
42
+ | `HIDE` | `vne:choose:hide` | Choice closed. View plugin listens. |
43
+ | `EXEC_REG` | `vne:choose:exec_reg` | Register exec handler for substitution in options. |
44
+ | `EXEC_GET` | `vne:choose:exec_get` | Get a value via a registered exec handler. |
45
+ | `STATE_UPDATE` | `vne:choose:state_update` | Update accumulated `choose` module state. |
44
46
 
45
- ## Константы
47
+ ## Constants
46
48
 
47
- | Ключ | Смысл |
48
- | --------------------- | -------------------------------------------------------------------- |
49
- | `EXEC_ACTIONS.REPEAT` | Литерал `repeat` для `$ choose repeat`. |
50
- | `LOGS_ACTIONS` | Метки для логов: `EMIT`, `OPTION`, `SKIP`, `SHOW`, `HIDE`, `REPEAT`. |
49
+ | Key | Meaning |
50
+ | --------------------- | --------------------------------------------------------------- |
51
+ | `EXEC_ACTIONS.REPEAT` | Literal `repeat` for `$ choose repeat`. |
52
+ | `LOGS_ACTIONS` | Log labels: `EMIT`, `OPTION`, `SKIP`, `SHOW`, `HIDE`, `REPEAT`. |
51
53
 
52
- ## Параметры
54
+ ## Parameters
53
55
 
54
- Нет.
56
+ None.
55
57
 
56
- ## Настройки
58
+ ## Settings
57
59
 
58
- Нет.
60
+ None.
59
61
 
60
- ## Стейт
62
+ ## State
61
63
 
62
64
  `globalState.choose`: `options`, `args`, `isShow`, `id`.
63
65
 
64
- `id` — экземпляр открытия. `crypto.randomUUID()` на `EMIT` (в том числе `$ choose repeat`), `""` после закрытия. В сейв и снапшот истории попадает вместе со стейтом. В сценарий не выводится.
66
+ `id` — open instance id. `crypto.randomUUID()` on `EMIT` (including `$ choose repeat`), `""` after close. Saved in saves and history snapshots with state. Not exposed to scenario.
65
67
 
66
- `STATE.SET` не меняет стейт, если совпали `isShow` и `id`. Другой открытый выбор (`isShow: true`, другой `id`): запись среза, затем `HIDE` и `SHOW` с `{ isForce: true }`, чтобы view заново прочитал опции. Смена видимости — один `SHOW` или `HIDE` с `{ isForce: true }`. Пока выбор скрыт, другой срез только записывается в стейт.
68
+ `STATE.SET` does not change state when `isShow` and `id` match. Another open choice (`isShow: true`, different `id`): write slice, then `HIDE` and `SHOW` with `{ isForce: true }` so the view re-reads options. Visibility change — one `SHOW` or `HIDE` with `{ isForce: true }`. While hidden, another slice only updates state.
67
69
 
68
- ## Модули
70
+ ## Modules
69
71
 
70
- | Модуль | Зона ответственности |
71
- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
72
- | `choose` | State (`id`, `options`, `args`, `isShow`): `STATE_UPDATE`, `STATE.SET` / `STATE.CLEAR` (→ `SHOW` / `HIDE`; смена открытого выбора — `HIDE`, затем `SHOW`). |
73
- | `choose.emit` | Обрабатывает `EMIT` (→ `STATE_UPDATE` + `SHOW` или `SKIP`). |
74
- | `choose.option` | Обрабатывает `OPTION`. |
75
- | `choose.skip` | Обрабатывает `SKIP` через `getBlockSkipShift`. |
76
- | `choose.logs` | Логирование `EMIT` / `OPTION` / `SKIP` / `SHOW` / `HIDE`. |
77
- | `choose.replace` | Реестр обработчиков `OPTION_REPLACE_REG`; наследник `@vnejs/module.replace`. |
78
- | `choose.exec` | Реестр обработчиков EXEC_REG / EXEC_GET. |
79
- | `choose.scenario` | Регистрация `% choose`: сбор option-строк через `getBlockOptions`, emit `EMIT`. |
80
- | `choose.scenario.option` | Регистрация `% choose.option`: skip невыбранных веток. |
81
- | `choose.scenario.module` | Регистрация `$ choose`: action `repeat`. |
72
+ | Module | Role |
73
+ | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
74
+ | `choose` | State (`id`, `options`, `args`, `isShow`): `STATE_UPDATE`, `STATE.SET` / `STATE.CLEAR` (→ `SHOW` / `HIDE`; different open choice — `HIDE`, then `SHOW`). |
75
+ | `choose.emit` | Handles `EMIT` (→ `STATE_UPDATE` + `SHOW` or `SKIP`). |
76
+ | `choose.option` | Handles `OPTION`. |
77
+ | `choose.skip` | Handles `SKIP` via `getBlockSkipShift`. |
78
+ | `choose.logs` | Log `EMIT` / `OPTION` / `SKIP` / `SHOW` / `HIDE`. |
79
+ | `choose.replace` | Registry for `OPTION_REPLACE_REG` handlers; extends `@vnejs/module.replace`. |
80
+ | `choose.option.text` | Registry for `OPTION_TEXT_REG` handlers; extends `@vnejs/module.replace`. `EMIT` resolves each option through `OPTION_TEXT`. |
81
+ | `choose.exec` | Registry for EXEC_REG / EXEC_GET handlers. |
82
+ | `choose.scenario` | Register `% choose`: collect option lines via `getBlockOptions`, emit `EMIT`. |
83
+ | `choose.scenario.option` | Register `% choose.option`: skip unchosen branches. |
84
+ | `choose.scenario.module` | Register `$ choose`: action `repeat`. |
82
85
 
83
86
  ## Compatibility
84
87
 
85
88
  ### `compatibility/scenario.choose/scenario.fastforward/`
86
89
 
87
- Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.fastforward`
90
+ Package: `@vnejs/compatibility.scenario.choose-with-scenario.fastforward`
88
91
 
89
- В `subscribe` слушает `OPTION_BEFORE`: при выборе опции эмитит `FASTFORWARD.CHECK` (до `HIDE` / `OPTION_REPLACE`).
92
+ In `subscribe` listens to `OPTION_BEFORE`: on option pick emits `FASTFORWARD.CHECK` (before `HIDE` / `OPTION_REPLACE`).
90
93
 
91
94
  ### `compatibility/scenario.choose/scenario.history/`
92
95
 
93
- Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.history`
96
+ Package: `@vnejs/compatibility.scenario.choose-with-scenario.history`
94
97
 
95
- В `subscribe` слушает `OPTION_BEFORE`: при выборе опции эмитит `HISTORY.ADD` с `{ locKey: "choice" }` (без speaker/text). Текст строки берётся из локализации экрана history (`history.json`). Подключается в `bundles/vn.skeleton`.
98
+ In `subscribe` listens to `OPTION_BEFORE`: on option pick emits `HISTORY.ADD` with `{ locKey: "choice" }` (no speaker/text). Line text comes from history screen localization (`history.json`). Wired in `bundles/vn.skeleton`.
96
99
 
97
100
  ### `compatibility/scenario.choose/scenario.qte/`
98
101
 
99
- Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.qte`
102
+ Package: `@vnejs/compatibility.scenario.choose-with-scenario.qte`
100
103
 
101
- На `OPTION_REPLACE` запускает QTE, если у опции есть `qte: <id>` (см. [qte.md](./qte.md#compatibility)). Поле `qte` добавляется в тип `ChooseOption` через module augmentation этого пакета; `qte-fallback` — keyword на строке опции (`% choose.option "…" | qte-fallback`), попадает в `ChooseOption.keywords`.
104
+ On `OPTION_REPLACE` runs QTE when the option has `qte: <id>` (see [qte.md](./qte.md#compatibility)). Field `qte` is added to `ChooseOption` via this package’s module augmentation; `qte-fallback` — keyword on the option line (`% choose.option "…" | qte-fallback`), lands in `ChooseOption.keywords`.
102
105
 
103
- ## Близкие плагины
106
+ ### `compatibility/scenario.choose/text/`
107
+
108
+ Package: `@vnejs/compatibility.scenario.choose-with-text`
109
+
110
+ In `init` registers an `OPTION_TEXT` handler that returns `TEXT.REPLACE`. `text.locs` and `text.inject` stay on that chain. Without this package the option keeps the literal from the scenario line. Wired in `bundles/vn.skeleton`.
111
+
112
+ ## Related plugins
104
113
 
105
114
  ### plugins/core/
106
115
 
@@ -108,11 +117,11 @@ Payloads и результаты хендлеров типизированы ч
108
117
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
109
118
  - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
110
119
 
111
- ### Остальные
120
+ ### Other
112
121
 
113
- - [text.md](../text/text.md) — `TEXT`: EVENTS.REPLACE (текст опций)
114
- - [qte.md](./qte.md) — `QTE`: связка через `OPTION_REPLACE` (compatibility выше)
115
- - [fastforward.md](./fastforward.md) — `FASTFORWARD`: связка через `OPTION_BEFORE` (compatibility выше)
116
- - [history.md](./history.md) — `HISTORY`: связка через `OPTION_BEFORE` → `ADD` с `locKey` (compatibility выше)
117
- - [views.scenario/choose.md](../views.scenario/choose.md) — `CHOOSE_VIEW`: UI выбора (слушает SHOW / HIDE)
118
- - [scenario/point_and_click.md](./point_and_click.md) — тот же паттерн `repeat` / `SKIP` / `SHOW` / `HIDE` / `STATE_UPDATE`
122
+ - [text.md](../text/text.md) — `TEXT`: `OPTION_TEXT` → `REPLACE` (compatibility above)
123
+ - [qte.md](./qte.md) — `QTE`: link via `OPTION_REPLACE` (compatibility above)
124
+ - [fastforward.md](./fastforward.md) — `FASTFORWARD`: link via `OPTION_BEFORE` (compatibility above)
125
+ - [history.md](./history.md) — `HISTORY`: link via `OPTION_BEFORE` → `ADD` with `locKey` (compatibility above)
126
+ - [views.scenario/choose.md](../views.scenario/choose.md) — `CHOOSE_VIEW`: choice UI (listens SHOW / HIDE)
127
+ - [scenario/point_and_click.md](./point_and_click.md) — same `repeat` / `SKIP` / `SHOW` / `HIDE` / `STATE_UPDATE` pattern