@vnejs/docs 0.2.65 → 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 -387
  261. package/architecture.md +0 -566
@@ -1,104 +1,104 @@
1
1
  # plugins/scenario/qte/
2
2
 
3
- Пакет: `@vnejs/plugins.scenario.qte` · namespace: `QTE`
3
+ Package: `@vnejs/plugins.scenario.qte` · namespace: `QTE`
4
4
 
5
- Логика Quick Time Event: сценарная команда `% qte <id>`, сдвиг `curLine` по success/fail и режим embedded (`skipScenario`) для вызова из других плагинов. UI не рендерит — за отображение отвечает [views.scenario/qte.md](../views.scenario/qte.md).
5
+ Quick Time Event logic: scenario command `% qte <id>`, shift `curLine` on success/fail, and embedded mode (`skipScenario`) for calls from other plugins. Does not render UI — see [views.scenario/qte.md](../views.scenario/qte.md).
6
6
 
7
- Описание QTE задаётся в игре через `PARAMS.QTE.ITEMS` (контракт `@vnejs/contracts.scenario.qte`).
7
+ QTE definitions come from the game via `PARAMS.QTE.ITEMS` (contract `@vnejs/contracts.scenario.qte`).
8
8
 
9
- ## События
9
+ ## Events
10
10
 
11
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.scenario.qte`.
11
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.scenario.qte`.
12
12
 
13
- | Ключ | Строка | Смысл |
14
- | -------- | ---------------- | ------------------------------------------------------------------------------------------------ |
15
- | `EMIT` | `vne:qte:emit` | Запустить QTE: принять `id` / `item` / `skipScenario`, эмитить `OPENED`. |
16
- | `RESULT` | `vne:qte:result` | Результат раунда (`success`). Эмитит `CLOSED`; без `skipScenario` — сдвиг сценария и `emit SCENARIO.NEXT`. |
17
- | `OPENED` | `vne:qte:opened` | QTE активен. Слушает view-плагин. |
18
- | `CLOSED` | `vne:qte:closed` | QTE закрыт. Слушает view-плагин. |
13
+ | Key | String | Meaning |
14
+ | -------- | ---------------- | ----------------------------------------------------------------------------------------------------------- |
15
+ | `EMIT` | `vne:qte:emit` | Start QTE: accept `id` / `item` / `skipScenario`, emit `OPENED`. |
16
+ | `RESULT` | `vne:qte:result` | Round result (`success`). Emits `CLOSED`; without `skipScenario` — shift scenario and `emit SCENARIO.NEXT`. |
17
+ | `OPENED` | `vne:qte:opened` | QTE active. View plugin listens. |
18
+ | `CLOSED` | `vne:qte:closed` | QTE closed. View plugin listens. |
19
19
 
20
- ## Константы
20
+ ## Constants
21
21
 
22
- | Ключ | Смысл |
23
- | ---------------------------- | --------------------------------------------------------------------------------------------------- |
24
- | `LINE_KEYWORDS.QTE_FALLBACK` | `"qte-fallback"`: keyword на `% choose.option` для ветки fail QTE (через compatibility choose↔qte). |
25
- | `LOGS_ACTIONS` | Метки для логов: `EMIT` (`emit`), `RESULT` (`result`), `MISSING` (`missing`). |
22
+ | Key | Meaning |
23
+ | ---------------------------- | -------------------------------------------------------------------------------------------------- |
24
+ | `LINE_KEYWORDS.QTE_FALLBACK` | `"qte-fallback"`: keyword on `% choose.option` for QTE fail branch (via choose↔qte compatibility). |
25
+ | `LOGS_ACTIONS` | Log labels: `EMIT` (`emit`), `RESULT` (`result`), `MISSING` (`missing`). |
26
26
 
27
- ## Параметры
27
+ ## Parameters
28
28
 
29
- | Ключ | Тип | Смысл |
30
- | ------- | ------------------------- | ------------------------------------------------- |
31
- | `ITEMS` | `Record<string, QteItem>` | Справочник QTE по id. Пустой объект по умолчанию. |
29
+ | Key | Type | Meaning |
30
+ | ------- | ------------------------- | ---------------------------------------- |
31
+ | `ITEMS` | `Record<string, QteItem>` | QTE catalog by id. Default empty object. |
32
32
 
33
33
  `QteItem`:
34
34
 
35
- | Поле | Тип | Смысл |
36
- | ---------- | -------- | ---------------------------------------------- |
37
- | `start` | `number` | Начало зоны успеха, % от длительности (0–100). |
38
- | `size` | `number` | Ширина зоны успеха, %. |
39
- | `duration` | `number` | Длительность фазы `active`, мс. |
35
+ | Field | Type | Meaning |
36
+ | ---------- | -------- | ------------------------------------------ |
37
+ | `start` | `number` | Success zone start, % of duration (0–100). |
38
+ | `size` | `number` | Success zone width, %. |
39
+ | `duration` | `number` | `active` phase duration, ms. |
40
40
 
41
- View сам переводит проценты в геометрию (градусы, пиксели и т.п.).
41
+ The view maps percents to geometry (degrees, pixels, etc.).
42
42
 
43
- ## Настройки
43
+ ## Settings
44
44
 
45
- Нет.
45
+ None.
46
46
 
47
- ## Модули
47
+ ## Modules
48
48
 
49
- | Модуль | Зона ответственности |
50
- | -------------- | --------------------------------------------------------------------------------------------------------------------- |
51
- | `qte` | EMIT → `OPENED`; в `postinject` и на `EMIT` пишет `shared.qteScenarioSkip`. |
52
- | `qte.result` | RESULT → `CLOSED`; без skip — `applyResult` (success → `curLine + 1`, fail → `getBlockSkipShift`) и `emit SCENARIO.NEXT`. |
53
- | `qte.logs` | Логи `EMIT` / `RESULT` через `EVENTS.LOGS.EMIT`; `skipScenario` из `shared.qteScenarioSkip`. |
54
- | `qte.scenario` | Регистрация `% qte` в SCENARIO; lookup `ITEMS`; при отсутствии id/item — log `MISSING` и `RESULT { success: false }`. |
49
+ | Module | Role |
50
+ | -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
51
+ | `qte` | EMIT → `OPENED`; in `postinject` and on `EMIT` writes `shared.qteScenarioSkip`. |
52
+ | `qte.result` | RESULT → `CLOSED`; without skip — `applyResult` (success → `curLine + 1`, fail → `getBlockSkipShift`) and `emit SCENARIO.NEXT`. |
53
+ | `qte.logs` | Log `EMIT` / `RESULT` via `EVENTS.LOGS.EMIT`; `skipScenario` from `shared.qteScenarioSkip`. |
54
+ | `qte.scenario` | Register `% qte` in SCENARIO; lookup `ITEMS`; missing id/item — log `MISSING` and `RESULT { success: false }`. |
55
55
 
56
- ## Сценарий
56
+ ## Scenario
57
57
 
58
58
  ```vne
59
59
  % qte door_lock
60
- "Успех — вход в indented-блок"
61
- "Провал или после блока — следующая строка"
60
+ "Success — enter indented block"
61
+ "Fail or after block — next line"
62
62
  ```
63
63
 
64
- 1. `% qte <id>` → `EMIT` с `item` из `ITEMS[id]`.
65
- 2. **Success** → `curLine` на первую строку внутри блока.
66
- 3. **Fail** (или неизвестный id) → пропуск indented-блока, дальше по сценарию.
67
- 4. После `RESULT` (без `skipScenario`) — `emit SCENARIO.NEXT`.
64
+ 1. `% qte <id>` → `EMIT` with `item` from `ITEMS[id]`.
65
+ 2. **Success** → `curLine` on first line inside the block.
66
+ 3. **Fail** (or unknown id) → skip indented block, continue scenario.
67
+ 4. After `RESULT` (without `skipScenario`) — `emit SCENARIO.NEXT`.
68
68
 
69
69
  ## Embedded (`skipScenario`)
70
70
 
71
- При `EMIT` с `skipScenario: true` ставится `shared.qteScenarioSkip`; на `RESULT` модуль `qte.result` **не** меняет `curLine` и **не** вызывает `emit SCENARIO.NEXT` — только `CLOSED`. Используется compatibility choose↔qte, чтобы ветвление осталось у choose. В `postinject` модуля `qte` флаг — `false`.
71
+ On `EMIT` with `skipScenario: true` sets `shared.qteScenarioSkip`; on `RESULT` module `qte.result` does **not** change `curLine` and does **not** call `emit SCENARIO.NEXT` — only `CLOSED`. Used by choose↔qte compatibility so branching stays with choose. In `qte` module `postinject` the flag is `false`.
72
72
 
73
73
  ## Compatibility
74
74
 
75
75
  ### `compatibility/scenario.choose/scenario.qte/`
76
76
 
77
- Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.qte`
77
+ Package: `@vnejs/compatibility.scenario.choose-with-scenario.qte`
78
78
 
79
- На `CHOOSE.OPTION_REPLACE`: если у опции `qte: <id>`, запускает QTE с `skipScenario: true`. Success — тот же индекс опции; fail — индекс опции, у которой в `keywords` есть `LINE_KEYWORDS.QTE_FALLBACK` (`qte-fallback`; если нет — исходный индекс + `EVENTS.LOGS.EMIT`).
79
+ On `CHOOSE.OPTION_REPLACE`: when the option has `qte: <id>`, runs QTE with `skipScenario: true`. Success — same option index; fail — index of the option whose `keywords` include `LINE_KEYWORDS.QTE_FALLBACK` (`qte-fallback`; if none — original index + `EVENTS.LOGS.EMIT`).
80
80
 
81
- Расширяет тип `ChooseOption` полем `qte?: string`. Keyword `| qte-fallback` попадает в `ChooseOption.keywords` через choose.
81
+ Extends `ChooseOption` with field `qte?: string`. Keyword `| qte-fallback` lands in `ChooseOption.keywords` via choose.
82
82
 
83
83
  ```vne
84
84
  % choose
85
- % choose.option "С QTE"
85
+ % choose.option "With QTE"
86
86
  qte: easy
87
- "Успех — ветка этой опции"
87
+ "Success — this option’s branch"
88
88
  % choose.option "Fallback" | qte-fallback
89
- "Прямой выбор или fail QTE"
89
+ "Direct pick or QTE fail"
90
90
  ```
91
91
 
92
- Подключается в `bundles/vn.base`.
92
+ Wired in `bundles/vn.base`.
93
93
 
94
- ## Близкие плагины
94
+ ## Related plugins
95
95
 
96
96
  ### plugins/core/
97
97
 
98
98
  - [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
99
99
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
100
100
 
101
- ### Остальные
101
+ ### Other
102
102
 
103
- - [views.scenario/qte.md](../views.scenario/qte.md) — `QTE_VIEW`: UI раунда (слушает OPENED / CLOSED)
104
- - [choose.md](./choose.md) — `CHOOSE`: OPTION_REPLACE; связка через compatibility выше
103
+ - [views.scenario/qte.md](../views.scenario/qte.md) — `QTE_VIEW`: round UI (listens OPENED / CLOSED)
104
+ - [choose.md](./choose.md) — `CHOOSE`: OPTION_REPLACE; link via compatibility above
@@ -1,38 +1,38 @@
1
1
  # plugins/scenario/random/
2
2
 
3
- Пакет: `@vnejs/plugins.scenario.random` · namespace: `RANDOM`
3
+ Package: `@vnejs/plugins.scenario.random` · namespace: `RANDOM`
4
4
 
5
- Случайно выбирает одну из вложенных опций `% random.option` блока `% random` и переходит к ней.
5
+ Randomly pick one nested `% random.option` under a `% random` block and jump to it.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Нет.
9
+ None.
10
10
 
11
- ## Константы
11
+ ## Constants
12
12
 
13
- - **`LOGS_ACTIONS.OPTION`** — `"option"`: метка лога при выборе ветки.
13
+ - **`LOGS_ACTIONS.OPTION`** — `"option"`: log label when a branch is chosen.
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
- | `random` | Сбор `% random.option` через `getBlockOptions`, случайный выбор ветки; skip невыбранных через `getOptionExecShift`. |
25
+ | Module | Role |
26
+ | -------- | ------------------------------------------------------------------------------------------------------------ |
27
+ | `random` | Collect `% random.option` via `getBlockOptions`, pick a random branch; skip others via `getOptionExecShift`. |
28
28
 
29
- ## Близкие плагины
29
+ ## Related plugins
30
30
 
31
31
  ### plugins/core/
32
32
 
33
33
  - [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
34
34
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG, EVENTS.LINES_GET
35
35
 
36
- ### Остальные
36
+ ### Other
37
37
 
38
- — нет
38
+ — None
@@ -1,39 +1,39 @@
1
1
  # plugins/settings/filter/
2
2
 
3
- Пакет: `@vnejs/plugins.settings.filter` · namespace: `FILTER`
3
+ Package: `@vnejs/plugins.settings.filter` · namespace: `FILTER`
4
4
 
5
- Применяет к экрану CSS-фильтры из пресетов, выбранных в настройках.
5
+ Applies CSS filters to the screen from presets chosen in settings.
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
- | Ключ | Тип | Смысл |
22
- | ---------------------------- | -------- | ------------------------------------------------- |
23
- | `VALUE` (`vne:filter:value`) | `string` | Настройка `vne:filter:value` в `shared.settings`. |
21
+ | Key | Type | Meaning |
22
+ | ---------------------------- | -------- | ------------------------------------------------ |
23
+ | `VALUE` (`vne:filter:value`) | `string` | Setting `vne:filter:value` in `shared.settings`. |
24
24
 
25
- ## Модули
25
+ ## Modules
26
26
 
27
- | Модуль | Зона ответственности |
28
- | -------- | -------------------- |
29
- | `filter` | Модуль `filter`. |
27
+ | Module | Role |
28
+ | -------- | ---------------- |
29
+ | `filter` | `filter` module. |
30
30
 
31
- ## Близкие плагины
31
+ ## Related plugins
32
32
 
33
33
  ### plugins/core/
34
34
 
35
35
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
36
36
 
37
- ### Остальные
37
+ ### Other
38
38
 
39
- — нет
39
+ — None
@@ -1,43 +1,43 @@
1
1
  # plugins/settings/potato/
2
2
 
3
- Пакет: `@vnejs/plugins.settings.potato` · namespace: `POTATO`
3
+ Package: `@vnejs/plugins.settings.potato` · namespace: `POTATO`
4
4
 
5
- Режим низкой нагрузки: отключает анимации, переходы и таймауты медиа.
5
+ Low-load mode: disables animations, transitions, and media timeouts.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.settings.potato`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.settings.potato`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ------ | ----------------- | ------------------------------- |
13
- | `EMIT` | `vne:potato:emit` | Инициировать действие или цикл. |
11
+ | Key | String | Meaning |
12
+ | ------ | ----------------- | ------------------------- |
13
+ | `EMIT` | `vne:potato:emit` | Start an action or cycle. |
14
14
 
15
- ## Константы
15
+ ## Constants
16
16
 
17
- Нет.
17
+ None.
18
18
 
19
- ## Параметры
19
+ ## Parameters
20
20
 
21
- Нет.
21
+ None.
22
22
 
23
- ## Настройки
23
+ ## Settings
24
24
 
25
- | Ключ | Тип | Смысл |
26
- | -------------------------------- | --------- | ------------------------------- |
27
- | `ENABLED` (`vne:potato:enabled`) | `boolean` | Включить или выключить функцию. |
25
+ | Key | Type | Meaning |
26
+ | -------------------------------- | --------- | ------------------ |
27
+ | `ENABLED` (`vne:potato:enabled`) | `boolean` | Enable or disable. |
28
28
 
29
- ## Модули
29
+ ## Modules
30
30
 
31
- | Модуль | Зона ответственности |
32
- | -------- | --------------------------- |
33
- | `potato` | Обрабатывает EMIT, CHANGED. |
31
+ | Module | Role |
32
+ | -------- | ---------------------- |
33
+ | `potato` | Handles EMIT, CHANGED. |
34
34
 
35
- ## Близкие плагины
35
+ ## Related plugins
36
36
 
37
37
  ### plugins/core/
38
38
 
39
39
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
40
40
 
41
- ### Остальные
41
+ ### Other
42
42
 
43
- — нет
43
+ — None
@@ -1,34 +1,34 @@
1
1
  # plugins/settings/ratio/
2
2
 
3
- Пакет: `@vnejs/plugins.settings.ratio` · namespace: `RATIO`
3
+ Package: `@vnejs/plugins.settings.ratio` · namespace: `RATIO`
4
4
 
5
- Ограничивает размер приложения соотношением сторон 16:9.
5
+ Constrains app size to a 16:9 aspect ratio.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Нет.
9
+ None.
10
10
 
11
- ## Константы
11
+ ## Constants
12
12
 
13
- - **`LOGS_ACTIONS.SET`** — `"set"`: метка лога при смене ratio.
13
+ - **`LOGS_ACTIONS.SET`** — `"set"`: log label when ratio changes.
14
14
 
15
- ## Параметры
15
+ ## Parameters
16
16
 
17
- Нет.
17
+ None.
18
18
 
19
- ## Настройки
19
+ ## Settings
20
20
 
21
- | Ключ | Тип | Смысл |
22
- | --------------------------- | --------- | ------------------------------------------------ |
23
- | `VALUE` (`vne:ratio:value`) | `boolean` | Настройка `vne:ratio:value` в `shared.settings`. |
21
+ | Key | Type | Meaning |
22
+ | --------------------------- | --------- | ----------------------------------------------- |
23
+ | `VALUE` (`vne:ratio:value`) | `boolean` | Setting `vne:ratio:value` in `shared.settings`. |
24
24
 
25
- ## Модули
25
+ ## Modules
26
26
 
27
- | Модуль | Зона ответственности |
28
- | ------- | ------------------------------ |
29
- | `ratio` | Обрабатывает CHANGED, STARTED. |
27
+ | Module | Role |
28
+ | ------- | ------------------------- |
29
+ | `ratio` | Handles CHANGED, STARTED. |
30
30
 
31
- ## Близкие плагины
31
+ ## Related plugins
32
32
 
33
33
  ### plugins/core/
34
34
 
@@ -36,6 +36,6 @@
36
36
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
37
37
  - [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED, CONST.DOM_IDS.APP
38
38
 
39
- ### Остальные
39
+ ### Other
40
40
 
41
- — нет
41
+ — None
@@ -1,39 +1,39 @@
1
1
  # plugins/settings/textsize/
2
2
 
3
- Пакет: `@vnejs/plugins.settings.textsize` · namespace: `TEXTSIZE`
3
+ Package: `@vnejs/plugins.settings.textsize` · namespace: `TEXTSIZE`
4
4
 
5
- Меняет масштаб текста через CSS-переменную --vne-text-size-multiplicator.
5
+ Changes text scale via CSS variable --vne-text-size-multiplicator.
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
- | Ключ | Тип | Смысл |
22
- | ------------------------------ | -------- | --------------------------------------------------- |
23
- | `VALUE` (`vne:textsize:value`) | `number` | Настройка `vne:textsize:value` в `shared.settings`. |
21
+ | Key | Type | Meaning |
22
+ | ------------------------------ | -------- | -------------------------------------------------- |
23
+ | `VALUE` (`vne:textsize:value`) | `number` | Setting `vne:textsize:value` in `shared.settings`. |
24
24
 
25
- ## Модули
25
+ ## Modules
26
26
 
27
- | Модуль | Зона ответственности |
28
- | ---------- | -------------------- |
29
- | `textsize` | Модуль `textsize`. |
27
+ | Module | Role |
28
+ | ---------- | ------------------ |
29
+ | `textsize` | `textsize` module. |
30
30
 
31
- ## Близкие плагины
31
+ ## Related plugins
32
32
 
33
33
  ### plugins/core/
34
34
 
35
35
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
36
36
 
37
- ### Остальные
37
+ ### Other
38
38
 
39
- — нет
39
+ — None
@@ -1,41 +1,41 @@
1
1
  # plugins/settings/volume/
2
2
 
3
- Пакет: `@vnejs/plugins.settings.volume` · namespace: `VOLUME`
3
+ Package: `@vnejs/plugins.settings.volume` · namespace: `VOLUME`
4
4
 
5
- Инициализирует настройки общей, аудио- и видеогромкости.
5
+ Initializes master, audio, and video volume settings.
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
- | Ключ | Тип | Смысл |
22
- | ------------------------------ | -------- | -------------------------------------------------- |
23
- | `COMMON` (`vne:volume:common`) | `string` | Настройка `vne:volume:common` в `shared.settings`. |
24
- | `AUDIO` (`vne:volume:audio`) | `string` | Настройка `vne:volume:audio` в `shared.settings`. |
25
- | `VIDEO` (`vne:volume:video`) | `number` | Настройка `vne:volume:video` в `shared.settings`. |
21
+ | Key | Type | Meaning |
22
+ | ------------------------------ | -------- | ------------------------------------------------- |
23
+ | `COMMON` (`vne:volume:common`) | `string` | Setting `vne:volume:common` in `shared.settings`. |
24
+ | `AUDIO` (`vne:volume:audio`) | `string` | Setting `vne:volume:audio` in `shared.settings`. |
25
+ | `VIDEO` (`vne:volume:video`) | `number` | Setting `vne:volume:video` in `shared.settings`. |
26
26
 
27
- ## Модули
27
+ ## Modules
28
28
 
29
- | Модуль | Зона ответственности |
30
- | -------- | -------------------- |
31
- | `volume` | Модуль `volume`. |
29
+ | Module | Role |
30
+ | -------- | ---------------- |
31
+ | `volume` | `volume` module. |
32
32
 
33
- ## Близкие плагины
33
+ ## Related plugins
34
34
 
35
35
  ### plugins/core/
36
36
 
37
37
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.INIT
38
38
 
39
- ### Остальные
39
+ ### Other
40
40
 
41
- — нет
41
+ — None
@@ -1,43 +1,43 @@
1
1
  # plugins/text/inject/
2
2
 
3
- Пакет: `@vnejs/plugins.text.inject` · namespace: `TEXT_INJECT`
3
+ Package: `@vnejs/plugins.text.inject` · namespace: `TEXT_INJECT`
4
4
 
5
- Подставляет в текст динамические значения через зарегистрированные обработчики inject.
5
+ Substitutes dynamic values into text through registered inject handlers.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.text.inject`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.text.inject`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ------ | ---------------------- | -------------------------------------------- |
13
- | `REG` | `vne:text_inject:reg` | Зарегистрировать обработчик по имени модуля. |
14
- | `EMIT` | `vne:text_inject:emit` | Выполнить одну подстановку `%key%` в тексте. |
11
+ | Key | String | Meaning |
12
+ | ------ | ---------------------- | ------------------------------------- |
13
+ | `REG` | `vne:text_inject:reg` | Register a handler by module name. |
14
+ | `EMIT` | `vne:text_inject:emit` | Run one `%key%` substitution in text. |
15
15
 
16
- ## Константы
16
+ ## Constants
17
17
 
18
- Нет.
18
+ None.
19
19
 
20
- ## Параметры
20
+ ## Parameters
21
21
 
22
- Нет.
22
+ None.
23
23
 
24
- ## Настройки
24
+ ## Settings
25
25
 
26
- Нет.
26
+ None.
27
27
 
28
- ## Модули
28
+ ## Modules
29
29
 
30
- | Модуль | Зона ответственности |
31
- | --------------------- | -------------------------------------------------------------------------------- |
32
- | `text.inject` | Регистрация в `TEXT.REPLACE_REG`; цикл по `args.inject`, делегирование в `EMIT`. |
33
- | `text.inject.replace` | Реестр обработчиков `REG`; обработка `EMIT`. |
30
+ | Module | Role |
31
+ | --------------------- | ---------------------------------------------------------------------------- |
32
+ | `text.inject` | Register in `TEXT.REPLACE_REG`; loop over `args.inject`, delegate to `EMIT`. |
33
+ | `text.inject.replace` | `REG` handler registry; handles `EMIT`. |
34
34
 
35
- ## Близкие плагины
35
+ ## Related plugins
36
36
 
37
37
  ### plugins/core/
38
38
 
39
- — нет
39
+ — None
40
40
 
41
- ### Остальные
41
+ ### Other
42
42
 
43
43
  - [text.md](./text.md) — `TEXT`: EVENTS.REPLACE, EVENTS.REPLACE_REG