@vnejs/docs 0.2.64 → 0.2.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/README.md +35 -35
  2. package/architecture/backends.md +18 -0
  3. package/architecture/build.md +37 -0
  4. package/architecture/bundles.md +20 -0
  5. package/architecture/cli.md +25 -0
  6. package/architecture/compatibility.md +22 -0
  7. package/architecture/configs.md +19 -0
  8. package/architecture/contracts.md +30 -0
  9. package/architecture/dependencies.md +55 -0
  10. package/architecture/editor.md +7 -0
  11. package/architecture/games.md +38 -0
  12. package/architecture/helpers.md +14 -0
  13. package/architecture/model.md +43 -0
  14. package/architecture/modules.md +87 -0
  15. package/architecture/packages.md +43 -0
  16. package/architecture/plugins.md +36 -0
  17. package/architecture/uis.md +23 -0
  18. package/changelog/0.2.18.md +7 -0
  19. package/changelog/0.2.19.md +14 -0
  20. package/changelog/0.2.20.md +10 -0
  21. package/changelog/0.2.21.md +5 -0
  22. package/changelog/0.2.22.md +11 -0
  23. package/changelog/0.2.23.md +4 -0
  24. package/changelog/0.2.25.md +6 -0
  25. package/changelog/0.2.26.md +12 -0
  26. package/changelog/0.2.29.md +10 -0
  27. package/changelog/0.2.31.md +5 -0
  28. package/changelog/0.2.32.md +3 -0
  29. package/changelog/0.2.33.md +5 -0
  30. package/changelog/0.2.34.md +8 -0
  31. package/changelog/0.2.35.md +33 -0
  32. package/changelog/0.2.36.md +10 -0
  33. package/changelog/0.2.38.md +19 -0
  34. package/changelog/0.2.39.md +16 -0
  35. package/changelog/0.2.40.md +9 -0
  36. package/changelog/0.2.42.md +3 -0
  37. package/changelog/0.2.43.md +10 -0
  38. package/changelog/0.2.46.md +3 -0
  39. package/changelog/0.2.47.md +25 -0
  40. package/changelog/0.2.49.md +3 -0
  41. package/changelog/0.2.50.md +6 -0
  42. package/changelog/0.2.51.md +6 -0
  43. package/changelog/0.2.52.md +5 -0
  44. package/changelog/0.2.53.md +12 -0
  45. package/changelog/0.2.55.md +19 -0
  46. package/changelog/0.2.56.md +11 -0
  47. package/changelog/0.2.57.md +7 -0
  48. package/changelog/0.2.58.md +8 -0
  49. package/changelog/0.2.59.md +6 -0
  50. package/changelog/0.2.60.md +5 -0
  51. package/changelog/0.2.61.md +11 -0
  52. package/changelog/0.2.62.md +8 -0
  53. package/changelog/0.2.63.md +4 -0
  54. package/changelog/0.2.64.md +4 -0
  55. package/changelog/0.2.65.md +3 -0
  56. package/changelog/0.2.66.md +5 -0
  57. package/changelog/README.md +43 -0
  58. package/manifest.json +66 -5
  59. package/package.json +6 -4
  60. package/plugins/ai/ai.md +29 -29
  61. package/plugins/ai/checkers.md +26 -26
  62. package/plugins/audio/ambient.md +20 -20
  63. package/plugins/audio/audio.md +40 -40
  64. package/plugins/audio/music.md +20 -20
  65. package/plugins/audio/sound.md +20 -20
  66. package/plugins/audio/voice.md +23 -23
  67. package/plugins/canvas/bg.md +44 -44
  68. package/plugins/canvas/bg.speak.md +34 -34
  69. package/plugins/canvas/fill.md +33 -33
  70. package/plugins/canvas/layer.md +35 -35
  71. package/plugins/canvas/sprite.md +46 -46
  72. package/plugins/canvas/sprite.speak.md +33 -33
  73. package/plugins/canvas/text.md +37 -37
  74. package/plugins/canvas/video.md +37 -37
  75. package/plugins/canvas.layers/bl.md +33 -33
  76. package/plugins/canvas.layers/fl.md +33 -33
  77. package/plugins/canvas.layers/ml.md +33 -33
  78. package/plugins/canvas.layers/ul.md +32 -32
  79. package/plugins/canvas.props/animation.md +25 -25
  80. package/plugins/canvas.props/clip.md +22 -22
  81. package/plugins/canvas.props/filters.md +20 -20
  82. package/plugins/canvas.props/mask.md +23 -23
  83. package/plugins/canvas.props/scale.md +20 -20
  84. package/plugins/common/grid.md +23 -23
  85. package/plugins/common/turn.md +18 -18
  86. package/plugins/controls/controls.md +31 -31
  87. package/plugins/controls/cursor.md +54 -54
  88. package/plugins/controls/gamepad.md +56 -56
  89. package/plugins/controls/keyboard.md +17 -17
  90. package/plugins/core/components.md +28 -28
  91. package/plugins/core/interact.md +26 -26
  92. package/plugins/core/logs.md +28 -28
  93. package/plugins/core/media.md +38 -38
  94. package/plugins/core/memory.md +28 -28
  95. package/plugins/core/platforms.md +19 -19
  96. package/plugins/core/scenario.md +48 -48
  97. package/plugins/core/settings.md +24 -24
  98. package/plugins/core/stack.md +39 -39
  99. package/plugins/core/state.md +30 -30
  100. package/plugins/core/storage.md +56 -56
  101. package/plugins/core/system.md +37 -37
  102. package/plugins/core/vendors.md +19 -19
  103. package/plugins/entities/entities.md +16 -16
  104. package/plugins/entities/wallet.md +27 -27
  105. package/plugins/font/montserrat.md +16 -16
  106. package/plugins/game/checkers.md +38 -38
  107. package/plugins/platform/android.md +17 -17
  108. package/plugins/platform/electron.md +21 -21
  109. package/plugins/platform/metric.md +23 -23
  110. package/plugins/rpg/damage.md +22 -22
  111. package/plugins/rpg/hit.md +24 -24
  112. package/plugins/rpg/skills.md +26 -26
  113. package/plugins/save/auto.md +26 -26
  114. package/plugins/save/continue.md +23 -23
  115. package/plugins/save/quick.md +24 -24
  116. package/plugins/save/save.md +37 -37
  117. package/plugins/scales/health.md +17 -17
  118. package/plugins/scales/mana.md +17 -17
  119. package/plugins/scales/scales.md +31 -31
  120. package/plugins/scenario/autoread.md +36 -36
  121. package/plugins/scenario/choose.md +74 -65
  122. package/plugins/scenario/fastforward.md +46 -46
  123. package/plugins/scenario/history.md +41 -41
  124. package/plugins/scenario/pause.md +27 -27
  125. package/plugins/scenario/point_and_click.md +51 -51
  126. package/plugins/scenario/qte.md +54 -54
  127. package/plugins/scenario/random.md +17 -17
  128. package/plugins/settings/filter.md +19 -19
  129. package/plugins/settings/potato.md +22 -22
  130. package/plugins/settings/ratio.md +19 -19
  131. package/plugins/settings/textsize.md +19 -19
  132. package/plugins/settings/volume.md +21 -21
  133. package/plugins/text/inject.md +22 -22
  134. package/plugins/text/locs.md +36 -36
  135. package/plugins/text/meet.md +19 -19
  136. package/plugins/text/smooth.md +33 -33
  137. package/plugins/text/text.md +76 -69
  138. package/plugins/text/wall.md +20 -20
  139. package/plugins/time/date.md +22 -22
  140. package/plugins/time/time.md +23 -23
  141. package/plugins/vars/counters.md +28 -28
  142. package/plugins/vars/flags.md +24 -24
  143. package/plugins/vars/vars.md +29 -29
  144. package/plugins/views/achievement.md +44 -44
  145. package/plugins/views/comment.md +31 -31
  146. package/plugins/views/controls.hints.md +34 -34
  147. package/plugins/views/cursor.md +19 -19
  148. package/plugins/views/fps.md +33 -33
  149. package/plugins/views/gamepad.debug.md +32 -32
  150. package/plugins/views/settings.md +39 -39
  151. package/plugins/views/video.md +37 -37
  152. package/plugins/views.scenario/choose.md +41 -41
  153. package/plugins/views.scenario/interface.controls.md +31 -31
  154. package/plugins/views.scenario/interface.fastforward.md +29 -29
  155. package/plugins/views.scenario/interface.md +74 -74
  156. package/plugins/views.scenario/point_and_click.md +39 -39
  157. package/plugins/views.scenario/qte.md +51 -51
  158. package/plugins/views.screens/checkers.md +35 -35
  159. package/plugins/views.screens/confirm.md +35 -35
  160. package/plugins/views.screens/credits.md +31 -31
  161. package/plugins/views.screens/disclaimer.md +42 -42
  162. package/plugins/views.screens/eula.md +37 -37
  163. package/plugins/views.screens/gallery.full.md +41 -41
  164. package/plugins/views.screens/gallery.md +75 -75
  165. package/plugins/views.screens/gamemenu.md +41 -41
  166. package/plugins/views.screens/history.md +39 -39
  167. package/plugins/views.screens/intro.md +32 -32
  168. package/plugins/views.screens/loading.md +30 -30
  169. package/plugins/views.screens/mainmenu.md +49 -49
  170. package/plugins/views.screens/mainmenu.socials.md +25 -25
  171. package/plugins/views.screens/save.md +66 -66
  172. package/plugins/views.screens/settings.defaults.md +37 -37
  173. package/plugins/views.screens/settings.md +40 -40
  174. package/scenario.catalog/README.md +13 -13
  175. package/scenario.catalog/index.md +35 -35
  176. package/scenario.catalog/stubs/achievement.md +4 -4
  177. package/scenario.catalog/stubs/audio.ambient.md +4 -4
  178. package/scenario.catalog/stubs/audio.music.md +4 -4
  179. package/scenario.catalog/stubs/audio.sound.md +4 -4
  180. package/scenario.catalog/stubs/audio.voice.md +4 -4
  181. package/scenario.catalog/stubs/bl.animation.md +5 -5
  182. package/scenario.catalog/stubs/bl.bg.md +5 -5
  183. package/scenario.catalog/stubs/bl.clip.md +5 -5
  184. package/scenario.catalog/stubs/bl.fill.md +5 -5
  185. package/scenario.catalog/stubs/bl.filter.md +5 -5
  186. package/scenario.catalog/stubs/bl.mask.md +5 -5
  187. package/scenario.catalog/stubs/bl.scale.md +5 -5
  188. package/scenario.catalog/stubs/bl.sprite.md +5 -5
  189. package/scenario.catalog/stubs/bl.text.md +5 -5
  190. package/scenario.catalog/stubs/bl.video.md +5 -5
  191. package/scenario.catalog/stubs/choose.block.md +7 -7
  192. package/scenario.catalog/stubs/choose.md +4 -4
  193. package/scenario.catalog/stubs/choose.option.md +7 -7
  194. package/scenario.catalog/stubs/comment.md +5 -5
  195. package/scenario.catalog/stubs/counter.md +5 -5
  196. package/scenario.catalog/stubs/credits.md +4 -4
  197. package/scenario.catalog/stubs/date.md +4 -4
  198. package/scenario.catalog/stubs/disclaimer.md +5 -5
  199. package/scenario.catalog/stubs/fl.animation.md +5 -5
  200. package/scenario.catalog/stubs/fl.bg.md +5 -5
  201. package/scenario.catalog/stubs/fl.clip.md +5 -5
  202. package/scenario.catalog/stubs/fl.fill.md +5 -5
  203. package/scenario.catalog/stubs/fl.filter.md +5 -5
  204. package/scenario.catalog/stubs/fl.mask.md +5 -5
  205. package/scenario.catalog/stubs/fl.scale.md +5 -5
  206. package/scenario.catalog/stubs/fl.sprite.md +5 -5
  207. package/scenario.catalog/stubs/fl.text.md +5 -5
  208. package/scenario.catalog/stubs/fl.video.md +5 -5
  209. package/scenario.catalog/stubs/flag.md +13 -13
  210. package/scenario.catalog/stubs/interface.md +4 -4
  211. package/scenario.catalog/stubs/intro.md +4 -4
  212. package/scenario.catalog/stubs/mainmenu.md +4 -4
  213. package/scenario.catalog/stubs/ml.animation.md +5 -5
  214. package/scenario.catalog/stubs/ml.bg.md +5 -5
  215. package/scenario.catalog/stubs/ml.clip.md +5 -5
  216. package/scenario.catalog/stubs/ml.fill.md +5 -5
  217. package/scenario.catalog/stubs/ml.filter.md +5 -5
  218. package/scenario.catalog/stubs/ml.mask.md +5 -5
  219. package/scenario.catalog/stubs/ml.scale.md +5 -5
  220. package/scenario.catalog/stubs/ml.sprite.md +5 -5
  221. package/scenario.catalog/stubs/ml.text.md +5 -5
  222. package/scenario.catalog/stubs/ml.video.md +5 -5
  223. package/scenario.catalog/stubs/other.md +6 -6
  224. package/scenario.catalog/stubs/pause.md +5 -5
  225. package/scenario.catalog/stubs/point-and-click.block.md +4 -4
  226. package/scenario.catalog/stubs/point-and-click.md +4 -4
  227. package/scenario.catalog/stubs/point-and-click.option.md +4 -4
  228. package/scenario.catalog/stubs/qte.md +4 -4
  229. package/scenario.catalog/stubs/random.md +4 -4
  230. package/scenario.catalog/stubs/random.option.md +4 -4
  231. package/scenario.catalog/stubs/save.auto.md +4 -4
  232. package/scenario.catalog/stubs/save.md +5 -5
  233. package/scenario.catalog/stubs/scenario.md +4 -4
  234. package/scenario.catalog/stubs/settings.defaults.md +4 -4
  235. package/scenario.catalog/stubs/stack.md +4 -4
  236. package/scenario.catalog/stubs/text.meet.md +4 -4
  237. package/scenario.catalog/stubs/text.wall.md +4 -4
  238. package/scenario.catalog/stubs/time.md +4 -4
  239. package/scenario.catalog/stubs/ul.animation.md +5 -5
  240. package/scenario.catalog/stubs/ul.bg.md +5 -5
  241. package/scenario.catalog/stubs/ul.clip.md +5 -5
  242. package/scenario.catalog/stubs/ul.fill.md +5 -5
  243. package/scenario.catalog/stubs/ul.filter.md +5 -5
  244. package/scenario.catalog/stubs/ul.mask.md +5 -5
  245. package/scenario.catalog/stubs/ul.scale.md +5 -5
  246. package/scenario.catalog/stubs/ul.sprite.md +5 -5
  247. package/scenario.catalog/stubs/ul.text.md +5 -5
  248. package/scenario.catalog/stubs/video.md +4 -4
  249. package/scenario.catalog/stubs/wallet.md +4 -4
  250. package/scenario.guide/README.md +38 -38
  251. package/scenario.guide/audio.md +11 -11
  252. package/scenario.guide/canvas.md +23 -23
  253. package/scenario.guide/choose.md +28 -28
  254. package/scenario.guide/dialogue.md +23 -23
  255. package/scenario.guide/flow.md +21 -21
  256. package/scenario.guide/point-and-click.md +12 -12
  257. package/scenario.guide/qte-random.md +20 -20
  258. package/scenario.guide/vars.md +19 -19
  259. package/scenario.guide/views.md +20 -20
  260. package/CHANGELOG.md +0 -383
  261. package/architecture.md +0 -566
@@ -0,0 +1,43 @@
1
+ # Changelog
2
+
3
+ Engine and public API changes. One file per `@vnejs/docs` release. Newest first.
4
+
5
+ - [0.2.66](./0.2.66.md)
6
+ - [0.2.65](./0.2.65.md)
7
+ - [0.2.64](./0.2.64.md)
8
+ - [0.2.63](./0.2.63.md)
9
+ - [0.2.62](./0.2.62.md)
10
+ - [0.2.61](./0.2.61.md)
11
+ - [0.2.60](./0.2.60.md)
12
+ - [0.2.59](./0.2.59.md)
13
+ - [0.2.58](./0.2.58.md)
14
+ - [0.2.57](./0.2.57.md)
15
+ - [0.2.56](./0.2.56.md)
16
+ - [0.2.55](./0.2.55.md)
17
+ - [0.2.53](./0.2.53.md)
18
+ - [0.2.52](./0.2.52.md)
19
+ - [0.2.51](./0.2.51.md)
20
+ - [0.2.50](./0.2.50.md)
21
+ - [0.2.49](./0.2.49.md)
22
+ - [0.2.47](./0.2.47.md)
23
+ - [0.2.46](./0.2.46.md)
24
+ - [0.2.43](./0.2.43.md)
25
+ - [0.2.42](./0.2.42.md)
26
+ - [0.2.40](./0.2.40.md)
27
+ - [0.2.39](./0.2.39.md)
28
+ - [0.2.38](./0.2.38.md)
29
+ - [0.2.36](./0.2.36.md)
30
+ - [0.2.35](./0.2.35.md)
31
+ - [0.2.34](./0.2.34.md)
32
+ - [0.2.33](./0.2.33.md)
33
+ - [0.2.32](./0.2.32.md)
34
+ - [0.2.31](./0.2.31.md)
35
+ - [0.2.29](./0.2.29.md)
36
+ - [0.2.26](./0.2.26.md)
37
+ - [0.2.25](./0.2.25.md)
38
+ - [0.2.23](./0.2.23.md)
39
+ - [0.2.22](./0.2.22.md)
40
+ - [0.2.21](./0.2.21.md)
41
+ - [0.2.20](./0.2.20.md)
42
+ - [0.2.19](./0.2.19.md)
43
+ - [0.2.18](./0.2.18.md)
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vnejs/docs",
3
- "readOrder": ["scenario.guide/README.md", "scenario.catalog/README.md", "scenario.catalog/index.md", "plugins/", "architecture.md"],
3
+ "readOrder": ["scenario.guide/README.md", "scenario.catalog/README.md", "scenario.catalog/index.md", "plugins/", "architecture/"],
4
4
  "sections": {
5
5
  "scenario.guide": {
6
6
  "path": "scenario.guide/",
@@ -31,12 +31,73 @@
31
31
  "role": "Plugin internals: events, modules, contracts"
32
32
  },
33
33
  "architecture": {
34
- "path": "architecture.md",
35
- "role": "Monorepo architecture (read rarely for scenario authoring)"
34
+ "path": "architecture/",
35
+ "role": "Monorepo model. Read every file in this folder, in one batch.",
36
+ "entry": "architecture/",
37
+ "pages": [
38
+ "architecture/model.md",
39
+ "architecture/dependencies.md",
40
+ "architecture/packages.md",
41
+ "architecture/modules.md",
42
+ "architecture/configs.md",
43
+ "architecture/contracts.md",
44
+ "architecture/plugins.md",
45
+ "architecture/compatibility.md",
46
+ "architecture/bundles.md",
47
+ "architecture/helpers.md",
48
+ "architecture/uis.md",
49
+ "architecture/cli.md",
50
+ "architecture/games.md",
51
+ "architecture/backends.md",
52
+ "architecture/editor.md",
53
+ "architecture/build.md"
54
+ ]
36
55
  },
37
56
  "changelog": {
38
- "path": "CHANGELOG.md",
39
- "role": "Plugin and API changes by @vnejs/docs version"
57
+ "path": "changelog/",
58
+ "role": "Engine and API changes. One file per @vnejs/docs release. Read README.md, then one version file.",
59
+ "entry": "changelog/README.md",
60
+ "pages": [
61
+ "changelog/README.md",
62
+ "changelog/0.2.65.md",
63
+ "changelog/0.2.64.md",
64
+ "changelog/0.2.63.md",
65
+ "changelog/0.2.62.md",
66
+ "changelog/0.2.61.md",
67
+ "changelog/0.2.60.md",
68
+ "changelog/0.2.59.md",
69
+ "changelog/0.2.58.md",
70
+ "changelog/0.2.57.md",
71
+ "changelog/0.2.56.md",
72
+ "changelog/0.2.55.md",
73
+ "changelog/0.2.53.md",
74
+ "changelog/0.2.52.md",
75
+ "changelog/0.2.51.md",
76
+ "changelog/0.2.50.md",
77
+ "changelog/0.2.49.md",
78
+ "changelog/0.2.47.md",
79
+ "changelog/0.2.46.md",
80
+ "changelog/0.2.43.md",
81
+ "changelog/0.2.42.md",
82
+ "changelog/0.2.40.md",
83
+ "changelog/0.2.39.md",
84
+ "changelog/0.2.38.md",
85
+ "changelog/0.2.36.md",
86
+ "changelog/0.2.35.md",
87
+ "changelog/0.2.34.md",
88
+ "changelog/0.2.33.md",
89
+ "changelog/0.2.32.md",
90
+ "changelog/0.2.31.md",
91
+ "changelog/0.2.29.md",
92
+ "changelog/0.2.26.md",
93
+ "changelog/0.2.25.md",
94
+ "changelog/0.2.23.md",
95
+ "changelog/0.2.22.md",
96
+ "changelog/0.2.21.md",
97
+ "changelog/0.2.20.md",
98
+ "changelog/0.2.19.md",
99
+ "changelog/0.2.18.md"
100
+ ]
40
101
  }
41
102
  }
42
103
  }
package/package.json CHANGED
@@ -1,20 +1,22 @@
1
1
  {
2
2
  "name": "@vnejs/docs",
3
- "version": "0.2.64",
3
+ "version": "0.2.66",
4
4
  "description": "VNEJS documentation for engine consumers and coding agents",
5
5
  "files": [
6
6
  "*.md",
7
7
  "*.json",
8
8
  "plugins/**/*.md",
9
9
  "scenario.guide/**/*.md",
10
- "scenario.catalog/**/*.md"
10
+ "scenario.catalog/**/*.md",
11
+ "architecture/**/*.md",
12
+ "changelog/**/*.md"
11
13
  ],
12
14
  "exports": {
13
15
  "./package.json": "./package.json",
14
16
  "./manifest.json": "./manifest.json",
15
17
  "./README.md": "./README.md",
16
- "./CHANGELOG.md": "./CHANGELOG.md",
17
- "./architecture.md": "./architecture.md",
18
+ "./changelog/*": "./changelog/*",
19
+ "./architecture/*": "./architecture/*",
18
20
  "./plugins/*": "./plugins/*",
19
21
  "./scenario.guide/*": "./scenario.guide/*",
20
22
  "./scenario.catalog/*": "./scenario.catalog/*"
package/plugins/ai/ai.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # plugins/ai/ai/
2
2
 
3
- Пакет: `@vnejs/plugins.ai` · namespace: `AI`
3
+ Package: `@vnejs/plugins.ai` · namespace: `AI`
4
4
 
5
- Универсальный диспетчер AI-алгоритмов: `emitOne(EVENTS.AI.EMIT, { type, args })` вызывает `PARAMS.AI.ALGORITHMS[type](args, module)`. Доменные стратегии подключают свои контракты (side-effect на `PARAMS.AI.ALGORITHMS`), как [`ai/checkers`](./checkers.md).
5
+ Universal AI algorithm dispatcher: `emitOne(EVENTS.AI.EMIT, { type, args })` calls `PARAMS.AI.ALGORITHMS[type](args, module)`. Domain strategies plug in their contracts (side effect on `PARAMS.AI.ALGORITHMS`), like [`ai/checkers`](./checkers.md).
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.ai`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.ai`.
10
10
 
11
- | Ключ | Строка | Смысл |
11
+ | Key | String | Meaning |
12
12
  | ------ | ------------- | ------------------------------------------------------- |
13
13
  | `EMIT` | `vne:ai:emit` | Request/response (`emitOne`): payload `{ type, args }`. |
14
14
 
@@ -17,26 +17,26 @@ emitOne(EVENTS.AI.EMIT, { type, args });
17
17
  // → PARAMS.AI.ALGORITHMS[type](args, module) ?? null
18
18
  ```
19
19
 
20
- | Поле | Тип | Смысл |
21
- | ------ | --------- | ---------------------------------------------- |
22
- | `type` | `string` | Ключ в `PARAMS.AI.ALGORITHMS`. |
23
- | `args` | `unknown` | Произвольный payload для выбранного алгоритма. |
20
+ | Field | Type | Meaning |
21
+ | ------ | --------- | --------------------------------------------- |
22
+ | `type` | `string` | Key in `PARAMS.AI.ALGORITHMS`. |
23
+ | `args` | `unknown` | Arbitrary payload for the selected algorithm. |
24
24
 
25
- Второй аргумент алгоритма — модуль AI (`emit` / `emitOne` / `emitReal`), как у settings ACTIONS.
25
+ The second algorithm argument is the AI module (`emit` / `emitOne` / `emitReal`), like settings ACTIONS.
26
26
 
27
- Результат: значение из алгоритма или `null` (нет `type` / нет функции / алгоритм вернул `null`). Поддерживается `async`.
27
+ Result: value from the algorithm or `null` (no `type` / no function / algorithm returned `null`). `async` is supported.
28
28
 
29
- ## Константы
29
+ ## Constants
30
30
 
31
- | Ключ | Тип / значение | Смысл |
32
- | ------------- | -------------- | ------------------------------------------------------------------ |
33
- | `PLAYER_TYPE` | `"player"` | Тип контроллера «человек» (не алгоритм из `PARAMS.AI.ALGORITHMS`). |
31
+ | Key | Type / value | Meaning |
32
+ | ------------- | ------------ | --------------------------------------------------------------------------- |
33
+ | `PLAYER_TYPE` | `"player"` | Controller type for a human (not an algorithm from `PARAMS.AI.ALGORITHMS`). |
34
34
 
35
- ## Параметры
35
+ ## Parameters
36
36
 
37
- | Ключ | Тип / дефолт | Смысл |
38
- | ------------ | ------------------------------------ | -------------------------------------------------------------------- |
39
- | `ALGORITHMS` | `Record<string, AiAlgorithm>` → `{}` | Карта type → `(args, module) => result \| null`. Пусто по умолчанию. |
37
+ | Key | Type / default | Meaning |
38
+ | ------------ | ------------------------------------ | ---------------------------------------------------------------- |
39
+ | `ALGORITHMS` | `Record<string, AiAlgorithm>` → `{}` | Map type → `(args, module) => result \| null`. Empty by default. |
40
40
 
41
41
  ```ts
42
42
  type AiAlgorithmContext = Pick<Module, "emit" | "emitOne" | "emitReal">;
@@ -44,15 +44,15 @@ type AiAlgorithm<TArgs = unknown, TResult = unknown> = (args: TArgs, module: AiA
44
44
  type AiEmitPayload<TArgs = unknown> = { type?: string; args?: TArgs };
45
45
  ```
46
46
 
47
- ## Модули
47
+ ## Modules
48
48
 
49
- | Модуль | Зона ответственности |
49
+ | Module | Role |
50
50
  | --------- | ------------------------------------------------------------------ |
51
51
  | `ai.emit` | `on(EVENTS.AI.EMIT)` → `PARAMS.AI.ALGORITHMS[type]?.(args, this)`. |
52
52
 
53
- ## Регистрация алгоритмов
53
+ ## Algorithm registration
54
54
 
55
- Доменный контракт мутирует `PARAMS.AI.ALGORITHMS` при загрузке (как `SCALE_MANA` → `PARAMS.SCALES.TYPES`):
55
+ A domain contract mutates `PARAMS.AI.ALGORITHMS` on load (like `SCALE_MANA` → `PARAMS.SCALES.TYPES`):
56
56
 
57
57
  ```ts
58
58
  import { PARAMS as AI_PARAMS } from "@vnejs/contracts.ai";
@@ -62,16 +62,16 @@ AI_PARAMS.ALGORITHMS["checkers:random"] = random;
62
62
  AI_PARAMS.ALGORITHMS["checkers:strong"] = strong;
63
63
  ```
64
64
 
65
- Шашечные `checkers:sacrifice` / `checkers:random` / `checkers:strong` — в [`ai/checkers`](./checkers.md). Игра может добавить свои ключи тем же способом или в скриптах.
65
+ Checkers keys `checkers:sacrifice` / `checkers:random` / `checkers:strong` — in [`ai/checkers`](./checkers.md). A game can add its own keys the same way or in scripts.
66
66
 
67
- Вызывающая сторона (например `ai/checkers`):
67
+ Caller (for example `ai/checkers`):
68
68
 
69
69
  ```ts
70
70
  await this.emitOne(this.EVENTS.AI.EMIT, { type, args: { board, turn, controllerType: type } });
71
71
  ```
72
72
 
73
- ## Близкие плагины
73
+ ## Related plugins
74
74
 
75
- - [ai/checkers.md](./checkers.md) — оркестрация шашек: `CHECKERS_AI.INTERACT` → `AI.EMIT`.
76
- - [game/checkers.md](../game/checkers.md) — правила: `MOVES_GET` / `MOVE_PLAY`.
77
- - [views.screens/checkers.md](../views.screens/checkers.md) — экран `CHECKERS_VIEW`.
75
+ - [ai/checkers.md](./checkers.md) — checkers orchestration: `CHECKERS_AI.INTERACT` → `AI.EMIT`.
76
+ - [game/checkers.md](../game/checkers.md) — rules: `MOVES_GET` / `MOVE_PLAY`.
77
+ - [views.screens/checkers.md](../views.screens/checkers.md) — `CHECKERS_VIEW` screen.
@@ -1,60 +1,60 @@
1
1
  # plugins/ai/checkers/
2
2
 
3
- Пакет: `@vnejs/plugins.ai.checkers` · namespace: `CHECKERS_AI`
3
+ Package: `@vnejs/plugins.ai.checkers` · namespace: `CHECKERS_AI`
4
4
 
5
- AI-оркестрация русских шашек: конфиг сторон, цикл хода через `AI.EMIT`, `$ checkers.ai`, дефолтные алгоритмы `checkers:sacrifice` / `checkers:random` / `checkers:strong`. Правила доски — в [`game/checkers`](../game/checkers.md); UI — в [`views.screens/checkers`](../views.screens/checkers.md); диспетчер — в [`ai/ai`](./ai.md).
5
+ AI orchestration for Russian checkers: side config, turn loop via `AI.EMIT`, `$ checkers.ai`, default algorithms `checkers:sacrifice` / `checkers:random` / `checkers:strong`. Board rules — in [`game/checkers`](../game/checkers.md); UI — in [`views.screens/checkers`](../views.screens/checkers.md); dispatcher — in [`ai/ai`](./ai.md).
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.ai.checkers`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.ai.checkers`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ---------- | -------------------------- | --------------------------------------- |
13
- | `INTERACT` | `vne:checkers_ai:interact` | Ход AI (если сторона не `player`). |
14
- | `SET` | `vne:checkers_ai:set` | `$ checkers.ai set`: `{ color, type }`. |
15
- | `UNSET` | `vne:checkers_ai:unset` | `$ checkers.ai unset <color>`. |
11
+ | Key | String | Meaning |
12
+ | ---------- | -------------------------- | ---------------------------------------- |
13
+ | `INTERACT` | `vne:checkers_ai:interact` | AI move (when the side is not `player`). |
14
+ | `SET` | `vne:checkers_ai:set` | `$ checkers.ai set`: `{ color, type }`. |
15
+ | `UNSET` | `vne:checkers_ai:unset` | `$ checkers.ai unset <color>`. |
16
16
 
17
- Слушает `CHECKERS.START` → `INTERACT`; `CHECKERS.MOVE_PLAYED` → unlock + `INTERACT`. Сторона хода — с `TURNS.CHANGED` / `TURNS.UNSET`; победитель — с `CHECKERS.FINISH` / сброс на `SHOW`; `board` — с `GRID.CHANGED` / `GRID.UNSET` (`cells`, фильтр `CONST.CHECKERS.GRID_ID`).
17
+ Listens to `CHECKERS.START` → `INTERACT`; `CHECKERS.MOVE_PLAYED` → unlock + `INTERACT`. Side to move — from `TURNS.CHANGED` / `TURNS.UNSET`; winner — from `CHECKERS.FINISH` / reset on `SHOW`; `board` — from `GRID.CHANGED` / `GRID.UNSET` (`cells`, filter `CONST.CHECKERS.GRID_ID`).
18
18
 
19
- ## Константы / Shared / Params
19
+ ## Constants / Shared / Params
20
20
 
21
- | Ключ | Смысл |
21
+ | Key | Meaning |
22
22
  | --------------------------------------------- | ----------------------------------------------------------------------- |
23
- | `CONST.CHECKERS_AI.SOURCE` | `"checkers.ai.interact"` — ключ в `SourcesSet` |
23
+ | `CONST.CHECKERS_AI.SOURCE` | `"checkers.ai.interact"` — key in `SourcesSet` |
24
24
  | `CONST.CHECKERS_AI.EXEC_ACTIONS` / `AI_TYPES` | set/unset; `checkers:sacrifice` / `checkers:random` / `checkers:strong` |
25
- | `shared.checkersAi` | `{ white, black }` → оба `player` по умолчанию |
26
- | `PARAMS.CHECKERS_AI.AI_DELAY` | пауза перед ходом AI (мс, `1000`) |
25
+ | `shared.checkersAi` | `{ white, black }` → both `player` by default |
26
+ | `PARAMS.CHECKERS_AI.AI_DELAY` | pause before an AI move (ms, `1000`) |
27
27
 
28
- Busy-флаг пишется в `shared.checkersInteractDisableSources` (владелец — `CHECKERS`).
28
+ Busy flag is written to `shared.checkersInteractDisableSources` (owner — `CHECKERS`).
29
29
 
30
- Цвета сторон (`CONST.CHECKERS.COLORS`) — в контракте game.
30
+ Side colors (`CONST.CHECKERS.COLORS`) — in the game contract.
31
31
 
32
- При загрузке контракта в `PARAMS.AI.ALGORITHMS` регистрируются `checkers:sacrifice` / `checkers:random` / `checkers:strong` (мутация как у `SCALE_MANA` → `PARAMS.SCALES.TYPES`).
32
+ On contract load, `checkers:sacrifice` / `checkers:random` / `checkers:strong` register in `PARAMS.AI.ALGORITHMS` (mutation like `SCALE_MANA` → `PARAMS.SCALES.TYPES`).
33
33
 
34
- ## Модули
34
+ ## Modules
35
35
 
36
- | Модуль | Зона |
36
+ | Module | Role |
37
37
  | ------------------------- | -------------------------------------------------- |
38
38
  | `checkers.ai` | `$ checkers.ai set/unset` → `SET` / `UNSET` |
39
39
  | `checkers.ai.start` | `CHECKERS.START` → `INTERACT` |
40
40
  | `checkers.ai.interact` | `INTERACT` → delay → `AI.EMIT` (source = `SOURCE`) |
41
41
  | `checkers.ai.move.played` | `CHECKERS.MOVE_PLAYED` → `rm(SOURCE)` → `INTERACT` |
42
42
 
43
- ## Сценарий
43
+ ## Scenario
44
44
 
45
45
  ```vne
46
46
  $ checkers.ai set white checkers:strong
47
47
  $ checkers.ai set black player
48
48
  ```
49
49
 
50
- ## Бандл
50
+ ## Bundle
51
51
 
52
52
  `@vnejs/bundles.checkers` — `plugins.common.grid` + `plugins.common.turn` + `plugins.ai` + `plugins.ai.checkers` + `plugins.game.checkers` + `plugins.views.screens.checkers`.
53
53
 
54
- ## Близкие плагины
54
+ ## Related plugins
55
55
 
56
- - [common/grid.md](../common/grid.md) — `GRID` (доска)
56
+ - [common/grid.md](../common/grid.md) — `GRID` (board)
57
57
  - [common/turn.md](../common/turn.md) — `TURNS` (`id` / `owner`)
58
58
  - [ai/ai.md](./ai.md) — `EVENTS.AI.EMIT` / `PARAMS.AI.ALGORITHMS`
59
- - [game/checkers.md](../game/checkers.md) — правила, `START` / `MOVE_PLAYED`
60
- - [views.screens/checkers.md](../views.screens/checkers.md) — UI, gate по `SourcesSet`
59
+ - [game/checkers.md](../game/checkers.md) — rules, `START` / `MOVE_PLAYED`
60
+ - [views.screens/checkers.md](../views.screens/checkers.md) — UI, gate via `SourcesSet`
@@ -1,39 +1,39 @@
1
1
  # plugins/audio/ambient/
2
2
 
3
- Пакет: `@vnejs/plugins.audio.ambient` · namespace: `AMBIENT`
3
+ Package: `@vnejs/plugins.audio.ambient` · namespace: `AMBIENT`
4
4
 
5
- Воспроизведение зацикленного ambient-аудио из сценария с отдельной громкостью.
5
+ Play looped ambient audio from scenario with a separate volume.
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
- | `VOLUME` (`vne:ambient:volume`) | `number` | Уровень громкости. |
21
+ | Key | Type | Meaning |
22
+ | ------------------------------- | -------- | ------------- |
23
+ | `VOLUME` (`vne:ambient:volume`) | `number` | Volume level. |
24
24
 
25
- ## Модули
25
+ ## Modules
26
26
 
27
- | Модуль | Зона ответственности |
28
- | --------- | -------------------- |
29
- | `ambient` | Модуль `ambient`. |
27
+ | Module | Role |
28
+ | --------- | ----------------- |
29
+ | `ambient` | `ambient` module. |
30
30
 
31
- ## Близкие плагины
31
+ ## Related plugins
32
32
 
33
33
  ### plugins/core/
34
34
 
35
- — нет
35
+ — None
36
36
 
37
- ### Остальные
37
+ ### Other
38
38
 
39
- — нет
39
+ — None
@@ -1,63 +1,63 @@
1
1
  # plugins/audio/audio/
2
2
 
3
- Пакет: `@vnejs/plugins.audio.audio` · namespace: `AUDIO`
3
+ Package: `@vnejs/plugins.audio.audio` · namespace: `AUDIO`
4
4
 
5
- Базовый аудиодвижок: play/stop/pause/resume, volume и загрузка медиа через Web Audio.
5
+ Base audio engine: play/stop/pause/resume, volume, and media load via Web Audio.
6
6
 
7
- ## События
7
+ ## Events
8
8
 
9
- Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.audio`.
9
+ Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.audio`.
10
10
 
11
- | Ключ | Строка | Смысл |
12
- | ---------------- | -------------------------- | ----------------------------------------------------- |
13
- | `PLAY` | `vne:audio:play` | Запросить данные у обработчиков и продолжить цепочку. |
14
- | `STOP` | `vne:audio:stop` | Запросить данные у обработчиков и продолжить цепочку. |
15
- | `PAUSE` | `vne:audio:pause` | Запросить данные у обработчиков и продолжить цепочку. |
16
- | `RESUME` | `vne:audio:resume` | Запросить данные у обработчиков и продолжить цепочку. |
17
- | `MEDIA_GET` | `vne:audio:media_get` | Получить значение или ресурс. |
18
- | `MEDIA_LOAD` | `vne:audio:media_load` | Загрузить данные или ресурс. |
19
- | `VOLUME` | `vne:audio:volume` | Запросить данные у обработчиков и продолжить цепочку. |
20
- | `VOLUME_GET` | `vne:audio:volume_get` | Запросить данные у обработчиков и продолжить цепочку. |
21
- | `VOLUME_CHANGED` | `vne:audio:volume_changed` | Зафиксировать изменение состояния. |
22
- | `GLOBAL_PAUSE` | `vne:audio:global_pause` | Приостановить воспроизведение. |
23
- | `GLOBAL_RESUME` | `vne:audio:global_resume` | Событие `GLOBAL_RESUME` namespace плагина. |
24
- | `ENDED` | `vne:audio:ended` | Событие `ENDED` namespace плагина. |
11
+ | Key | String | Meaning |
12
+ | ---------------- | -------------------------- | --------------------------------------------- |
13
+ | `PLAY` | `vne:audio:play` | Ask handlers for data and continue the chain. |
14
+ | `STOP` | `vne:audio:stop` | Ask handlers for data and continue the chain. |
15
+ | `PAUSE` | `vne:audio:pause` | Ask handlers for data and continue the chain. |
16
+ | `RESUME` | `vne:audio:resume` | Ask handlers for data and continue the chain. |
17
+ | `MEDIA_GET` | `vne:audio:media_get` | Get a value or resource. |
18
+ | `MEDIA_LOAD` | `vne:audio:media_load` | Load data or a resource. |
19
+ | `VOLUME` | `vne:audio:volume` | Ask handlers for data and continue the chain. |
20
+ | `VOLUME_GET` | `vne:audio:volume_get` | Ask handlers for data and continue the chain. |
21
+ | `VOLUME_CHANGED` | `vne:audio:volume_changed` | Record a state change. |
22
+ | `GLOBAL_PAUSE` | `vne:audio:global_pause` | Pause playback. |
23
+ | `GLOBAL_RESUME` | `vne:audio:global_resume` | Plugin namespace event `GLOBAL_RESUME`. |
24
+ | `ENDED` | `vne:audio:ended` | Plugin namespace event `ENDED`. |
25
25
 
26
- ## Константы
26
+ ## Constants
27
27
 
28
- Нет.
28
+ None.
29
29
 
30
- ## Параметры
30
+ ## Parameters
31
31
 
32
- | Ключ | Тип | Смысл |
33
- | --------- | -------- | ----------------------------- |
34
- | `QUALITY` | `string` | Значение по умолчанию: "64k". |
32
+ | Key | Type | Meaning |
33
+ | --------- | -------- | ----------------- |
34
+ | `QUALITY` | `string` | Default: `"64k"`. |
35
35
 
36
- ## Настройки
36
+ ## Settings
37
37
 
38
- | Ключ | Тип | Смысл |
39
- | ----------------------------- | -------- | ------------------ |
40
- | `VOLUME` (`vne:audio:volume`) | `number` | Уровень громкости. |
38
+ | Key | Type | Meaning |
39
+ | ----------------------------- | -------- | ------------- |
40
+ | `VOLUME` (`vne:audio:volume`) | `number` | Volume level. |
41
41
 
42
- ## Модули
42
+ ## Modules
43
43
 
44
- | Модуль | Зона ответственности |
45
- | -------------- | ----------------------------------------------------------------------------------- |
46
- | `audio.play` | Подмодуль `play` плагина. |
47
- | `audio.stop` | Подмодуль `stop` плагина. |
48
- | `audio.media` | В `postinject` — `shared.audioNoSmoothSources`; обрабатывает MEDIA_GET, MEDIA_LOAD. |
49
- | `audio.pause` | Подмодуль `pause` плагина. |
50
- | `audio.volume` | Обрабатывает VOLUME, VOLUME_GET, CHANGED. |
51
- | `audio.resume` | Подмодуль `resume` плагина. |
52
- | `audio.ended` | Обрабатывает PLAY, STOP. |
44
+ | Module | Role |
45
+ | -------------- | ------------------------------------------------------------------------------- |
46
+ | `audio.play` | Plugin `play` submodule. |
47
+ | `audio.stop` | Plugin `stop` submodule. |
48
+ | `audio.media` | In `postinject` — `shared.audioNoSmoothSources`; handles MEDIA_GET, MEDIA_LOAD. |
49
+ | `audio.pause` | Plugin `pause` submodule. |
50
+ | `audio.volume` | Handles VOLUME, VOLUME_GET, CHANGED. |
51
+ | `audio.resume` | Plugin `resume` submodule. |
52
+ | `audio.ended` | Handles PLAY, STOP. |
53
53
 
54
- ## Близкие плагины
54
+ ## Related plugins
55
55
 
56
56
  ### plugins/core/
57
57
 
58
58
  - [media.md](../core/media.md) — `MEDIA`: EVENTS.LOAD, CONST.PRIORITIES.BACKGROUND, CONST.TYPES.AUDIO
59
59
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED
60
60
 
61
- ### Остальные
61
+ ### Other
62
62
 
63
63
  - [volume.md](../settings/volume.md) — `VOLUME`: SETTINGS.COMMON, SETTINGS.AUDIO
@@ -1,39 +1,39 @@
1
1
  # plugins/audio/music/
2
2
 
3
- Пакет: `@vnejs/plugins.audio.music` · namespace: `MUSIC`
3
+ Package: `@vnejs/plugins.audio.music` · namespace: `MUSIC`
4
4
 
5
- Воспроизведение зацикленной музыки из сценария с сохранением state.
5
+ Play looped music from scenario with state persistence.
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
- | `VOLUME` (`vne:music:volume`) | `number` | Уровень громкости. |
21
+ | Key | Type | Meaning |
22
+ | ----------------------------- | -------- | ------------- |
23
+ | `VOLUME` (`vne:music:volume`) | `number` | Volume level. |
24
24
 
25
- ## Модули
25
+ ## Modules
26
26
 
27
- | Модуль | Зона ответственности |
28
- | ------- | -------------------- |
29
- | `music` | Модуль `music`. |
27
+ | Module | Role |
28
+ | ------- | --------------- |
29
+ | `music` | `music` module. |
30
30
 
31
- ## Близкие плагины
31
+ ## Related plugins
32
32
 
33
33
  ### plugins/core/
34
34
 
35
- — нет
35
+ — None
36
36
 
37
- ### Остальные
37
+ ### Other
38
38
 
39
- — нет
39
+ — None