@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,55 +1,55 @@
1
1
  # plugins/text/locs/
2
2
 
3
- Пакет: `@vnejs/plugins.text.locs` · namespace: `LOCS`
3
+ Package: `@vnejs/plugins.text.locs` · namespace: `LOCS`
4
4
 
5
- Загружает словари локализации и подменяет строки текста по выбранному языку.
5
+ Loads localization dictionaries and replaces text strings for the chosen language.
6
6
 
7
- Файлы: `media/locs/{lang}/{group}/{label}.json`, например `media/locs/ru/views/mainMenu.json` и `media/locs/ru/labels/prologue.json`. `LOC_LABEL` и имена сценарных меток в путь не включают группу.
7
+ Files: `media/locs/{lang}/{group}/{label}.json`, for example `media/locs/ru/views/mainMenu.json` and `media/locs/ru/labels/prologue.json`. `LOC_LABEL` and scenario label names in the path do not include the group.
8
8
 
9
- ## События
9
+ ## Events
10
10
 
11
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.text.locs`.
11
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.text.locs`.
12
12
 
13
- | Ключ | Строка | Смысл |
14
- | ------------ | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
15
- | `LOAD` | `vne:locs:load` | Запросить данные у обработчиков и продолжить цепочку. Payload: `{ label, group, lang? }`. Без `group` файл не грузится. |
16
- | `GET` | `vne:locs:get` | Получить словарь. Payload: `{ label, group, lang? }`. Без `group` — пустой объект. |
17
- | `MEMORY_GET` | `vne:locs:memory_get` | Уже загруженный словарь из памяти, без загрузки. Payload: `{ label, group, lang? }`. Без `group` — `undefined`. |
18
- | `MEMORY_SET` | `vne:locs:memory_set` | Записать словарь в память ядра. Payload: `{ label, group, lang?, value }`. Ключ считает модуль. Без `group` — ничего. `module` не передаётся — всегда `locs.memory`. |
19
- | `SET` | `vne:locs:set` | Применить язык: `shared.textLang` и `CHANGED`. Payload: `{ lang }`. Без `lang` — ничего. |
20
- | `CHANGED` | `vne:locs:changed` | Зафиксировать изменение состояния. |
13
+ | Key | String | Meaning |
14
+ | ------------ | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
15
+ | `LOAD` | `vne:locs:load` | Ask handlers for data and continue the chain. Payload: `{ label, group, lang? }`. Without `group` the file is not loaded. |
16
+ | `GET` | `vne:locs:get` | Get dictionary. Payload: `{ label, group, lang? }`. Without `group` — empty object. |
17
+ | `MEMORY_GET` | `vne:locs:memory_get` | Dictionary already in memory, without loading. Payload: `{ label, group, lang? }`. Without `group` — `undefined`. |
18
+ | `MEMORY_SET` | `vne:locs:memory_set` | Write dictionary to core memory. Payload: `{ label, group, lang?, value }`. Key is computed by the module. Without `group` — nothing. `module` is not passed — always `locs.memory`. |
19
+ | `SET` | `vne:locs:set` | Apply language: `shared.textLang` and `CHANGED`. Payload: `{ lang }`. Without `lang` — nothing. |
20
+ | `CHANGED` | `vne:locs:changed` | Record a state change. |
21
21
 
22
- ## Константы
22
+ ## Constants
23
23
 
24
- Нет.
24
+ None.
25
25
 
26
- ## Параметры
26
+ ## Parameters
27
27
 
28
- | Ключ | Тип | Смысл |
29
- | -------------- | -------- | ------------------------------------------------------------- |
30
- | `DEFAULT_LANG` | `string` | Значение по умолчанию: "ru". |
31
- | `GROUPS` | `object` | `VIEWS: "views"`, `LABELS: "labels"` — папки после `{lang}/`. |
28
+ | Key | Type | Meaning |
29
+ | -------------- | -------- | --------------------------------------------------------------- |
30
+ | `DEFAULT_LANG` | `string` | Default: `"ru"`. |
31
+ | `GROUPS` | `object` | `VIEWS: "views"`, `LABELS: "labels"` — folders after `{lang}/`. |
32
32
 
33
- `LOCS.GET` / `LOCS.LOAD` требуют `group`. `TEXT.REPLACE` без `group` в locs-handler подставляет `GROUPS.LABELS`. View-inject (`LOC_LABEL`) берёт `GROUPS.VIEWS`.
33
+ `LOCS.GET` / `LOCS.LOAD` require `group`. `TEXT.REPLACE` without `group` in the locs handler uses `GROUPS.LABELS`. View inject (`LOC_LABEL`) uses `GROUPS.VIEWS`.
34
34
 
35
- ## Настройки
35
+ ## Settings
36
36
 
37
- | Ключ | Тип | Смысл |
38
- | ------------------------ | -------- | ---------------------------------------------- |
39
- | `LANG` (`vne:locs:lang`) | `string` | Настройка `vne:locs:lang` в `shared.settings`. |
37
+ | Key | Type | Meaning |
38
+ | ------------------------ | -------- | --------------------------------------------- |
39
+ | `LANG` (`vne:locs:lang`) | `string` | Setting `vne:locs:lang` in `shared.settings`. |
40
40
 
41
- ## Модули
41
+ ## Modules
42
42
 
43
- | Модуль | Зона ответственности |
44
- | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
45
- | `locs` | В `postinject` — `shared.textLang = PARAMS.LOCS.DEFAULT_LANG`. `SETTINGS.INIT` в `setup`. `SET` применяет язык и эмитит `CHANGED`. `init` и `SETTINGS.CHANGED` после `isReady` эмитят `SET`. Чтение словаря — `MEMORY_GET`. |
46
- | `locs.changed` | `CHANGED`: если словаря меток нет — `LOAD`, затем `TEXT.RECALC` и `COMPONENTS.EXTERNAL_UPDATE`. |
47
- | `locs.memory` | `MEMORY.REG` в `setup` с `module: this.name` (`locs.memory`). `MEMORY_GET` / `MEMORY_SET`. |
48
- | `locs.load` | `LOCS.LOAD`: fetch словаря, чтение и запись только через `MEMORY_GET` / `MEMORY_SET`. |
49
- | `locs.components.inject` | `COMPONENTS.INJECT_REG` в `init`. `LOC_LABEL` → `LOCS.GET` с `GROUPS.VIEWS`. |
50
- | `locs.text.replace` | `TEXT.REPLACE_REG` в `init` с priority `-999999`. Без `group` — `GROUPS.LABELS`. |
43
+ | Module | Role |
44
+ | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
45
+ | `locs` | In `postinject` — `shared.textLang = PARAMS.LOCS.DEFAULT_LANG`. `SETTINGS.INIT` in `setup`. `SET` applies language and emits `CHANGED`. `init` and `SETTINGS.CHANGED` after `isReady` emit `SET`. Dictionary read — `MEMORY_GET`. |
46
+ | `locs.changed` | `CHANGED`: if label dictionary is missing — `LOAD`, then `TEXT.RECALC` and `COMPONENTS.EXTERNAL_UPDATE`. |
47
+ | `locs.memory` | `MEMORY.REG` in `setup` with `module: this.name` (`locs.memory`). `MEMORY_GET` / `MEMORY_SET`. |
48
+ | `locs.load` | `LOCS.LOAD`: fetch dictionary, read and write only via `MEMORY_GET` / `MEMORY_SET`. |
49
+ | `locs.components.inject` | `COMPONENTS.INJECT_REG` in `init`. `LOC_LABEL` → `LOCS.GET` with `GROUPS.VIEWS`. |
50
+ | `locs.text.replace` | `TEXT.REPLACE_REG` in `init` with priority `-999999`. Without `group` — `GROUPS.LABELS`. |
51
51
 
52
- ## Близкие плагины
52
+ ## Related plugins
53
53
 
54
54
  ### plugins/core/
55
55
 
@@ -59,6 +59,6 @@ Payloads и результаты хендлеров типизированы ч
59
59
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
60
60
  - [system.md](../core/system.md) — `SYSTEM`: CONST.HOST
61
61
 
62
- ### Остальные
62
+ ### Other
63
63
 
64
64
  - [text.md](./text.md) — `TEXT`: EVENTS.REPLACE_REG, EVENTS.RECALC
@@ -1,42 +1,42 @@
1
1
  # plugins/text/meet/
2
2
 
3
- Пакет: `@vnejs/plugins.text.meet` · namespace: `TEXT_MEET`
3
+ Package: `@vnejs/plugins.text.meet` · namespace: `TEXT_MEET`
4
4
 
5
- Увеличивает счётчик знакомств с персонажем через exec-команды meet.
5
+ Increments meet counters for a character via meet exec commands.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.text.meet`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.text.meet`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ------ | -------------------- | ----------------------------------------- |
13
- | `MEET` | `vne:text_meet:meet` | Записать диагностическое сообщение в лог. |
11
+ | Key | String | Meaning |
12
+ | ------ | -------------------- | -------------------------------------- |
13
+ | `MEET` | `vne:text_meet:meet` | Write a diagnostic message to the log. |
14
14
 
15
- ## Константы
15
+ ## Constants
16
16
 
17
- - **`LOGS_ACTIONS.MEET`** — `"meet"`: метка лога при `MEET`.
17
+ - **`LOGS_ACTIONS.MEET`** — `"meet"`: log label on `MEET`.
18
18
 
19
- ## Параметры
19
+ ## Parameters
20
20
 
21
- Нет.
21
+ None.
22
22
 
23
- ## Настройки
23
+ ## Settings
24
24
 
25
- Нет.
25
+ None.
26
26
 
27
- ## Модули
27
+ ## Modules
28
28
 
29
- | Модуль | Зона ответственности |
30
- | ----------- | ------------------------- |
31
- | `text.meet` | Подмодуль `meet` плагина. |
29
+ | Module | Role |
30
+ | ----------- | ------------------------ |
31
+ | `text.meet` | Plugin `meet` submodule. |
32
32
 
33
- ## Близкие плагины
33
+ ## Related plugins
34
34
 
35
35
  ### plugins/core/
36
36
 
37
37
  - [logs.md](../core/logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
38
38
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
39
39
 
40
- ### Остальные
40
+ ### Other
41
41
 
42
42
  - [text.md](./text.md) — `TEXT`: EVENTS.SPEAKER_INFO_UPDATE
@@ -1,62 +1,62 @@
1
1
  # plugins/text/smooth/
2
2
 
3
- Пакет: `@vnejs/plugins.text.smooth` · namespace: `TEXT_SMOOTH`
3
+ Package: `@vnejs/plugins.text.smooth` · namespace: `TEXT_SMOOTH`
4
4
 
5
- Анимирует постепенный посимвольный вывод текста с настраиваемой скоростью.
5
+ Animates gradual character-by-character text output with configurable speed.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.text.smooth`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.text.smooth`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | --------- | ------------------------- | ----------------------------------- |
13
- | `SMOOTH` | `vne:text:smooth` | Событие `SMOOTH` namespace плагина. |
14
- | `CHANGED` | `vne:text:smooth_changed` | Зафиксировать изменение состояния. |
15
- | `DONE` | `vne:text:smooth_done` | Событие `DONE` namespace плагина. |
11
+ | Key | String | Meaning |
12
+ | --------- | ------------------------- | -------------------------------- |
13
+ | `SMOOTH` | `vne:text:smooth` | Plugin namespace event `SMOOTH`. |
14
+ | `CHANGED` | `vne:text:smooth_changed` | Record a state change. |
15
+ | `DONE` | `vne:text:smooth_done` | Plugin namespace event `DONE`. |
16
16
 
17
- ## Константы
17
+ ## Constants
18
18
 
19
- Нет.
19
+ None.
20
20
 
21
- ## Параметры
21
+ ## Parameters
22
22
 
23
- | Ключ | Тип | Смысл |
24
- | ---------------------------- | -------- | -------------------------- |
25
- | `DEFAULT_TOKEN_RENDER_SPEED` | `number` | Значение по умолчанию: 1. |
26
- | `TOKEN_RENDER_DELAY` | `number` | Значение по умолчанию: 16. |
23
+ | Key | Type | Meaning |
24
+ | ---------------------------- | -------- | -------------- |
25
+ | `DEFAULT_TOKEN_RENDER_SPEED` | `number` | Default: `1`. |
26
+ | `TOKEN_RENDER_DELAY` | `number` | Default: `16`. |
27
27
 
28
- ## Настройки
28
+ ## Settings
29
29
 
30
- | Ключ | Тип | Смысл |
31
- | ---------------------------------------------------- | -------- | -------------------------------------- |
32
- | `TOKEN_RENDER_SPEED` (`vne:text:token_render_speed`) | `number` | Скорость воспроизведения или анимации. |
30
+ | Key | Type | Meaning |
31
+ | ---------------------------------------------------- | -------- | ---------------------------- |
32
+ | `TOKEN_RENDER_SPEED` (`vne:text:token_render_speed`) | `number` | Playback or animation speed. |
33
33
 
34
- ## Модули
34
+ ## Modules
35
35
 
36
- | Модуль | Зона ответственности |
37
- | ---------------------- | -------------------------------------------------------- |
38
- | `text.smooth.init` | В `postinject` — `shared.isTextSmoothInProcess = false`. |
39
- | `text.smooth` | Подмодуль `smooth` плагина. |
40
- | `text.smooth.process` | Обрабатывает DONE, EMIT_PROCESS. |
41
- | `text.smooth.cycle` | Обрабатывает SMOOTH, PROCESS_CANCEL, EMIT_END, CLEAR. |
42
- | `text.smooth.emit.end` | Обрабатывает EMIT_END, RECALC_DONE. |
36
+ | Module | Role |
37
+ | ---------------------- | --------------------------------------------------------- |
38
+ | `text.smooth.init` | In `postinject` — `shared.isTextSmoothInProcess = false`. |
39
+ | `text.smooth` | Plugin `smooth` submodule. |
40
+ | `text.smooth.process` | Handles DONE, EMIT_PROCESS. |
41
+ | `text.smooth.cycle` | Handles SMOOTH, PROCESS_CANCEL, EMIT_END, CLEAR. |
42
+ | `text.smooth.emit.end` | Handles EMIT_END, RECALC_DONE. |
43
43
 
44
44
  ## Compatibility
45
45
 
46
46
  ### `compatibility/views.scenario.interface/text.smooth/`
47
47
 
48
- Пакет: `@vnejs/compatibility.views.scenario.interface-with-text.smooth`
48
+ Package: `@vnejs/compatibility.views.scenario.interface-with-text.smooth`
49
49
 
50
- Связка с [interface.md](../views.scenario/interface.md): `CHANGED` → `INTERFACE.TEXT_CHANGED` (`tokens` из `globalState.text`, `tokensVisible`, `uid`). `start` сбрасывает `shared.interfaceTextShowAllTokensOnChange`.
50
+ Link to [interface.md](../views.scenario/interface.md): `CHANGED` → `INTERFACE.TEXT_CHANGED` (`tokens` from `globalState.text`, `tokensVisible`, `uid`). `start` resets `shared.interfaceTextShowAllTokensOnChange`.
51
51
 
52
- ## Близкие плагины
52
+ ## Related plugins
53
53
 
54
54
  ### plugins/core/
55
55
 
56
56
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.INIT
57
57
  - [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR
58
58
 
59
- ### Остальные
59
+ ### Other
60
60
 
61
61
  - [text.md](./text.md) — `TEXT`: EVENTS.PROCESS_CANCEL, EVENTS.EMIT_END, EVENTS.RECALC_DONE, EVENTS.EMIT_PROCESS
62
- - [interface.md](../views.scenario/interface.md) — `INTERFACE`: связка через compatibility выше
62
+ - [interface.md](../views.scenario/interface.md) — `INTERFACE`: link via compatibility above
@@ -1,82 +1,88 @@
1
1
  # plugins/text/text/
2
2
 
3
- Пакет: `@vnejs/plugins.text.text` · namespace: `TEXT`
4
-
5
- Ядро текстовой системы: парсинг строк сценария, состояние, токены и спикеры.
6
-
7
- ## События
8
-
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.text`.
10
-
11
- | Ключ | Строка | Смысл |
12
- | --------------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
13
- | `EMIT` | `vne:text:emit` | Начать вывод: подготовка токенов, обновление state, запуск process. С `isKeepProcessState` после `STATE_CHANGED` сразу `EMIT_END`. |
14
- | `EMIT_END` | `vne:text:emit_end` | Завершить текущий шаг; при autonext перейти к следующему. С `isKeepProcessState` не шлёт `PROCESS_STATE` и `EMIT_NEXT`. |
15
- | `EMIT_NEXT` | `vne:text:emit_next` | Перейти к следующему шагу emit (подписки с `priority` на Observer). |
16
- | `EMIT_BEFORE` | `vne:text:emit_before` | Хук перед основным emit (подписки с `priority` на Observer). |
17
- | `EMIT_PROCESS` | `vne:text:emit_process` | Запустить пошаговый процесс вывода. |
18
- | `PREPARE_TOKENS` | `vne:text:prepare_tokens` | Подготовить токены или промежуточные данные. |
19
- | `PROCESS_CANCEL` | `vne:text:process_cancel` | Отменить текущий процесс. |
20
- | `PROCESS_STATE` | `vne:text:process_state` | Изменить состояние процесса. |
21
- | `CHANGED` | `vne:text:changed` | Зафиксировать изменение состояния. |
22
- | `SPEAKER_CHANGED` | `vne:text:speaker_changed` | Зафиксировать смену текущего спикера. |
23
- | `SPEAKER_INFO_UPDATE` | `vne:text:speaker_info_update` | Обновить метаданные спикера (цвет, имя, opacity). |
24
- | `STATE_UPDATE` | `vne:text:state_update` | Обновить накопленное состояние модуля. |
25
- | `STATE_CHANGED` | `vne:text:state_changed` | Сигнал об изменении накопленного состояния. |
26
- | `RECALC` | `vne:text:recalc` | Запросить данные у обработчиков и продолжить цепочку. |
27
- | `RECALC_DONE` | `vne:text:recalc_done` | Завершить операцию `RECALC`. |
28
- | `REPLACE` | `vne:text:replace` | Заменить текущее значение или контент. |
29
- | `REPLACE_REG` | `vne:text:replace_reg` | Зарегистрировать обработчик `REPLACE`. |
30
-
31
- ## Константы
32
-
33
- - **`LINE_KEYWORDS.EXTEND`** — `"extend"`: продолжить предыдущий текст без новой реплики.
34
-
35
- ## Параметры
36
-
37
- | Ключ | Тип | Смысл |
38
- | ------------------------- | --------- | -------------------------------------------- |
39
- | `DEFAULT_SPEAKER_NAME` | `string` | Имя или метаданные спикера по умолчанию. |
40
- | `DEFAULT_PROCESS_ENABLED` | `boolean` | Значение по умолчанию для включения функции. |
41
- | `SPEAKERS_INFO` | `object` | Справочник метаданных спикеров по умолчанию. |
42
-
43
- ## Настройки
44
-
45
- | Ключ | Тип | Смысл |
46
- | ------------------------------------------ | --------- | ------------------------------- |
47
- | `PROCESS_ENABLED` (`text.process_enabled`) | `boolean` | Включить или выключить функцию. |
48
-
49
- ## Модули
50
-
51
- | Модуль | Зона ответственности |
52
- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
- | `text.emit.end` | Завершение emit и переход к next или финальному state. `isKeepProcessState` выходит без `PROCESS_STATE` и `EMIT_NEXT`. |
54
- | `text.emit.next` | На `EMIT_NEXT`: `PROCESS_STATE` NEXT, затем `onTextEmitNext` → `emit SCENARIO.NEXT` (`priority` 999999). |
55
- | `text.emit` | Точка входа emit: подготовка и запуск process. `isKeepProcessState` после `STATE_CHANGED` сразу `EMIT_END`. |
56
- | `text.exec` | Подмодуль `exec` плагина. |
57
- | `text.prepare.tokens` | Токенизация текста перед отображением. |
58
- | `text.process.state` | В `postinject` — `shared.textProcessSkipSources`; PROCESS_STATE, SET, CLEAR. |
59
- | `text.process.enabled` | Подмодуль `process.enabled` плагина. |
60
- | `text.recalc` | Пересчёт производного состояния текста. |
61
- | `text.replace` | Реестр обработчиков REPLACE_REG. |
62
- | `text.speaker` | SPEAKER_INFO_UPDATE, CLEAR, SET; на `EMIT_BEFORE` (`priority` 100) — speaker. |
63
- | `text` | STATE_UPDATE, STATE_CHANGED, SET, CLEAR. `STATE.SET` → `TEXT.EMIT` с `isKeepProcessState`. `STATE.CLEAR` сбрасывает стейт и шлёт `TEXT.CHANGED`, без `TEXT.EMIT`. |
3
+ Package: `@vnejs/plugins.text.text` · namespace: `TEXT`
4
+
5
+ Text system core: parse scenario lines, state, tokens, and speakers.
6
+
7
+ ## Events
8
+
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.text`.
10
+
11
+ | Key | String | Meaning |
12
+ | --------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
13
+ | `EMIT` | `vne:text:emit` | Start output: prepare tokens, update state, run process. With `isKeepProcessState` after `STATE_CHANGED` goes straight to `EMIT_END`. |
14
+ | `EMIT_END` | `vne:text:emit_end` | Finish the current step; with autonext go to the next. With `isKeepProcessState` does not send `PROCESS_STATE` or `EMIT_NEXT`. |
15
+ | `EMIT_NEXT` | `vne:text:emit_next` | Go to the next emit step (subscriptions with `priority` on Observer). |
16
+ | `EMIT_BEFORE` | `vne:text:emit_before` | Hook before main emit (subscriptions with `priority` on Observer). |
17
+ | `EMIT_PROCESS` | `vne:text:emit_process` | Run step-by-step output process. |
18
+ | `PREPARE_TOKENS` | `vne:text:prepare_tokens` | Prepare tokens or intermediate data. |
19
+ | `PROCESS_CANCEL` | `vne:text:process_cancel` | Cancel the current process. |
20
+ | `PROCESS_STATE` | `vne:text:process_state` | Change process state. |
21
+ | `CHANGED` | `vne:text:changed` | Record a state change. |
22
+ | `SPEAKER_CHANGED` | `vne:text:speaker_changed` | Record a change of the current speaker. |
23
+ | `SPEAKER_INFO_UPDATE` | `vne:text:speaker_info_update` | Update speaker metadata (color, name, opacity). |
24
+ | `STATE_UPDATE` | `vne:text:state_update` | Update accumulated module state. |
25
+ | `STATE_CHANGED` | `vne:text:state_changed` | Signal that accumulated state changed. |
26
+ | `RECALC` | `vne:text:recalc` | Ask handlers for data and continue the chain. |
27
+ | `RECALC_DONE` | `vne:text:recalc_done` | Finish the `RECALC` operation. |
28
+ | `REPLACE` | `vne:text:replace` | Replace the current value or content. |
29
+ | `REPLACE_REG` | `vne:text:replace_reg` | Register a `REPLACE` handler. |
30
+
31
+ ## Constants
32
+
33
+ - **`LINE_KEYWORDS.EXTEND`** — `"extend"`: continue previous text without a new line.
34
+
35
+ ## Parameters
36
+
37
+ | Key | Type | Meaning |
38
+ | ------------------------- | --------- | ----------------------------------- |
39
+ | `DEFAULT_SPEAKER_NAME` | `string` | Default speaker name or metadata. |
40
+ | `DEFAULT_PROCESS_ENABLED` | `boolean` | Default for enabling the feature. |
41
+ | `SPEAKERS_INFO` | `object` | Default speaker metadata directory. |
42
+
43
+ ## Settings
44
+
45
+ | Key | Type | Meaning |
46
+ | ------------------------------------------ | --------- | ------------------ |
47
+ | `PROCESS_ENABLED` (`text.process_enabled`) | `boolean` | Enable or disable. |
48
+
49
+ ## Modules
50
+
51
+ | Module | Role |
52
+ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
53
+ | `text.emit.end` | Finish emit and go to next or final state. `isKeepProcessState` exits without `PROCESS_STATE` and `EMIT_NEXT`. |
54
+ | `text.emit.next` | On `EMIT_NEXT`: `PROCESS_STATE` NEXT, then `onTextEmitNext` → `emit SCENARIO.NEXT` (`priority` 999999). |
55
+ | `text.emit` | Emit entry: prepare and run process. `isKeepProcessState` after `STATE_CHANGED` goes straight to `EMIT_END`. |
56
+ | `text.exec` | Plugin `exec` submodule. |
57
+ | `text.prepare.tokens` | Tokenize text before display. |
58
+ | `text.process.state` | In `postinject` — `shared.textProcessSkipSources`; PROCESS_STATE, SET, CLEAR. |
59
+ | `text.process.enabled` | Plugin `process.enabled` submodule. |
60
+ | `text.recalc` | Recalculate derived text state. |
61
+ | `text.replace` | `REPLACE_REG` handler registry. |
62
+ | `text.speaker` | SPEAKER_INFO_UPDATE, CLEAR, SET; on `EMIT_BEFORE` (`priority` 100) — speaker. |
63
+ | `text` | STATE_UPDATE, STATE_CHANGED, SET, CLEAR. `STATE.SET` → `TEXT.EMIT` with `isKeepProcessState`. `STATE.CLEAR` resets state and sends `TEXT.CHANGED`, no `TEXT.EMIT`. |
64
64
 
65
65
  ## Compatibility
66
66
 
67
67
  ### `compatibility/views.scenario.interface/text/`
68
68
 
69
- Пакет: `@vnejs/compatibility.views.scenario.interface-with-text`
69
+ Package: `@vnejs/compatibility.views.scenario.interface-with-text`
70
70
 
71
- Связка с [interface.md](../views.scenario/interface.md): `CHANGED` / `SPEAKER_CHANGED` / `EMIT_BEFORE` → `INTERFACE.TEXT_CHANGED` / `SPEAKER_CHANGED` / `SHOW`. В `postinject` ставит `shared.interfaceTextShowAllTokensOnChange`.
71
+ Link to [interface.md](../views.scenario/interface.md): `CHANGED` / `SPEAKER_CHANGED` / `EMIT_BEFORE` → `INTERFACE.TEXT_CHANGED` / `SPEAKER_CHANGED` / `SHOW`. In `postinject` sets `shared.interfaceTextShowAllTokensOnChange`.
72
72
 
73
73
  ### `compatibility/text/scenario.history/`
74
74
 
75
- Пакет: `@vnejs/compatibility.text-with-scenario.history`
75
+ Package: `@vnejs/compatibility.text-with-scenario.history`
76
76
 
77
- На `EMIT_NEXT` эмитит `HISTORY.ADD` с текстом последней реплики. Маркеры `{…}` в строке остаются: по ним ищется перевод. Подключается в `bundles/vn.skeleton`.
77
+ On `EMIT_NEXT` emits `HISTORY.ADD` with text from the last line. `{…}` markers in the line stay: translation is looked up by them. Wired in `bundles/vn.skeleton`.
78
78
 
79
- ## Близкие плагины
79
+ ### `compatibility/scenario.choose/text/`
80
+
81
+ Package: `@vnejs/compatibility.scenario.choose-with-text`
82
+
83
+ Link to [choose.md](../scenario/choose.md): `OPTION_TEXT` handler returns `TEXT.REPLACE`. Wired in `bundles/vn.skeleton`.
84
+
85
+ ## Related plugins
80
86
 
81
87
  ### plugins/core/
82
88
 
@@ -85,7 +91,8 @@ Payloads и результаты хендлеров типизированы ч
85
91
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
86
92
  - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
87
93
 
88
- ### Остальные
94
+ ### Other
89
95
 
90
- - [interface.md](../views.scenario/interface.md) — `INTERFACE`: связка через compatibility выше
91
- - [history.md](../scenario/history.md) — `HISTORY`: `EMIT_NEXT` → `ADD` (compatibility выше)
96
+ - [interface.md](../views.scenario/interface.md) — `INTERFACE`: link via compatibility above
97
+ - [history.md](../scenario/history.md) — `HISTORY`: `EMIT_NEXT` → `ADD` (compatibility above)
98
+ - [choose.md](../scenario/choose.md) — `CHOOSE`: `OPTION_TEXT` → `REPLACE` (compatibility above)
@@ -1,43 +1,43 @@
1
1
  # plugins/text/wall/
2
2
 
3
- Пакет: `@vnejs/plugins.text.wall` · namespace: `TEXT_WALL`
3
+ Package: `@vnejs/plugins.text.wall` · namespace: `TEXT_WALL`
4
4
 
5
- Накапливает историю реплик («стену текста») с командами start, end и clear.
5
+ Accumulates line history (a "text wall") with start, end, and clear commands.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.text.wall`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.text.wall`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | -------------- | ---------------------------- | ---------------------------------- |
13
- | `STATE_UPDATE` | `vne:text_wall:state_update` | Обновить накопленное состояние. |
14
- | `CHANGED` | `vne:text_wall:changed` | Зафиксировать изменение состояния. |
11
+ | Key | String | Meaning |
12
+ | -------------- | ---------------------------- | ------------------------- |
13
+ | `STATE_UPDATE` | `vne:text_wall:state_update` | Update accumulated state. |
14
+ | `CHANGED` | `vne:text_wall:changed` | Record a state change. |
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.wall` | В `postinject` — `shared.isTextWallSetStateInProcess = false`; RECALC, CLEAR, SET. |
30
+ | Module | Role |
31
+ | ----------- | ----------------------------------------------------------------------------------- |
32
+ | `text.wall` | In `postinject` — `shared.isTextWallSetStateInProcess = false`; RECALC, CLEAR, SET. |
33
33
 
34
- ## Близкие плагины
34
+ ## Related plugins
35
35
 
36
36
  ### plugins/core/
37
37
 
38
38
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
39
39
  - [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR, EVENTS.SET
40
40
 
41
- ### Остальные
41
+ ### Other
42
42
 
43
43
  - [text.md](./text.md) — `TEXT`: EVENTS.RECALC, EVENTS.EMIT_BEFORE, EVENTS.REPLACE
@@ -1,44 +1,44 @@
1
1
  # plugins/time/date/
2
2
 
3
- Пакет: `@vnejs/plugins.time.date` · namespace: `DATE`
3
+ Package: `@vnejs/plugins.time.date` · namespace: `DATE`
4
4
 
5
- Хранит и изменяет игровую дату: установка и смещение дней, месяцев и лет.
5
+ Stores and changes game date: set and shift days, months, and years.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.time.date`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.time.date`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | --------- | ------------------ | ---------------------------------- |
13
- | `SET` | `vne:date:set` | Записать или обновить значение. |
14
- | `ADD` | `vne:date:add` | Событие `ADD` namespace плагина. |
15
- | `CHANGED` | `vne:date:changed` | Зафиксировать изменение состояния. |
11
+ | Key | String | Meaning |
12
+ | --------- | ------------------ | ----------------------------- |
13
+ | `SET` | `vne:date:set` | Write or update a value. |
14
+ | `ADD` | `vne:date:add` | Plugin namespace event `ADD`. |
15
+ | `CHANGED` | `vne:date:changed` | Record a state change. |
16
16
 
17
- ## Константы
17
+ ## Constants
18
18
 
19
- Нет.
19
+ None.
20
20
 
21
- ## Параметры
21
+ ## Parameters
22
22
 
23
- Нет.
23
+ None.
24
24
 
25
- ## Настройки
25
+ ## Settings
26
26
 
27
- Нет.
27
+ None.
28
28
 
29
- ## Модули
29
+ ## Modules
30
30
 
31
- | Модуль | Зона ответственности |
32
- | ------ | ----------------------------- |
33
- | `date` | Обрабатывает SET, ADD, CLEAR. |
31
+ | Module | Role |
32
+ | ------ | ------------------------ |
33
+ | `date` | Handles SET, ADD, CLEAR. |
34
34
 
35
- ## Близкие плагины
35
+ ## Related plugins
36
36
 
37
37
  ### plugins/core/
38
38
 
39
39
  - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.NEXT, EVENTS.LINE_EXEC_REG
40
40
  - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
41
41
 
42
- ### Остальные
42
+ ### Other
43
43
 
44
- — нет
44
+ — None