@vnejs/docs 0.2.1

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 (191) hide show
  1. package/README.md +49 -0
  2. package/architecture.md +507 -0
  3. package/manifest.json +44 -0
  4. package/package.json +27 -0
  5. package/plugins/audio/ambient.md +39 -0
  6. package/plugins/audio/audio.md +61 -0
  7. package/plugins/audio/music.md +39 -0
  8. package/plugins/audio/sound.md +39 -0
  9. package/plugins/audio/voice.md +43 -0
  10. package/plugins/canvas/bg.md +76 -0
  11. package/plugins/canvas/bg.speak.md +54 -0
  12. package/plugins/canvas/fill.md +66 -0
  13. package/plugins/canvas/layer.md +57 -0
  14. package/plugins/canvas/sprite.md +85 -0
  15. package/plugins/canvas/sprite.speak.md +53 -0
  16. package/plugins/canvas/text.md +63 -0
  17. package/plugins/canvas/video.md +71 -0
  18. package/plugins/canvas.layers/bl.md +47 -0
  19. package/plugins/canvas.layers/fl.md +47 -0
  20. package/plugins/canvas.layers/ml.md +47 -0
  21. package/plugins/canvas.layers/ul.md +46 -0
  22. package/plugins/canvas.props/animation.md +48 -0
  23. package/plugins/canvas.props/clip.md +43 -0
  24. package/plugins/canvas.props/filters.md +39 -0
  25. package/plugins/canvas.props/mask.md +44 -0
  26. package/plugins/canvas.props/scale.md +41 -0
  27. package/plugins/controls/controls.md +41 -0
  28. package/plugins/controls/cursor.md +59 -0
  29. package/plugins/controls/gamepad.md +37 -0
  30. package/plugins/controls/keyboard.md +37 -0
  31. package/plugins/core/components.md +47 -0
  32. package/plugins/core/interact.md +45 -0
  33. package/plugins/core/logs.md +46 -0
  34. package/plugins/core/media.md +59 -0
  35. package/plugins/core/memory.md +44 -0
  36. package/plugins/core/platforms.md +48 -0
  37. package/plugins/core/scenario.md +63 -0
  38. package/plugins/core/settings.md +43 -0
  39. package/plugins/core/stack.md +57 -0
  40. package/plugins/core/state.md +51 -0
  41. package/plugins/core/storage.md +89 -0
  42. package/plugins/core/system.md +56 -0
  43. package/plugins/core/vendors.md +45 -0
  44. package/plugins/entities/entities.md +35 -0
  45. package/plugins/entities/wallet.md +47 -0
  46. package/plugins/font/montserrat.md +35 -0
  47. package/plugins/platform/android.md +38 -0
  48. package/plugins/platform/electron.md +40 -0
  49. package/plugins/platform/metric.md +42 -0
  50. package/plugins/rpg/damage.md +46 -0
  51. package/plugins/rpg/hit.md +46 -0
  52. package/plugins/rpg/skills.md +47 -0
  53. package/plugins/save/auto.md +47 -0
  54. package/plugins/save/continue.md +43 -0
  55. package/plugins/save/save.md +62 -0
  56. package/plugins/scales/health.md +37 -0
  57. package/plugins/scales/mana.md +37 -0
  58. package/plugins/scales/scales.md +54 -0
  59. package/plugins/scenario/autoread.md +50 -0
  60. package/plugins/scenario/choose.md +111 -0
  61. package/plugins/scenario/fastforward.md +61 -0
  62. package/plugins/scenario/pause.md +43 -0
  63. package/plugins/scenario/point_and_click.md +95 -0
  64. package/plugins/scenario/qte.md +97 -0
  65. package/plugins/scenario/random.md +38 -0
  66. package/plugins/settings/filter.md +39 -0
  67. package/plugins/settings/potato.md +41 -0
  68. package/plugins/settings/ratio.md +41 -0
  69. package/plugins/settings/textsize.md +39 -0
  70. package/plugins/settings/volume.md +41 -0
  71. package/plugins/text/inject.md +41 -0
  72. package/plugins/text/locs.md +49 -0
  73. package/plugins/text/meet.md +40 -0
  74. package/plugins/text/smooth.md +51 -0
  75. package/plugins/text/text.md +78 -0
  76. package/plugins/text/wall.md +41 -0
  77. package/plugins/time/date.md +42 -0
  78. package/plugins/time/time.md +43 -0
  79. package/plugins/vars/counters.md +46 -0
  80. package/plugins/vars/flags.md +44 -0
  81. package/plugins/vars/vars.md +51 -0
  82. package/plugins/views/achievement.md +64 -0
  83. package/plugins/views/comment.md +49 -0
  84. package/plugins/views/cursor.md +39 -0
  85. package/plugins/views/fps.md +51 -0
  86. package/plugins/views/video.md +57 -0
  87. package/plugins/views.scenario/choose.md +79 -0
  88. package/plugins/views.scenario/interface.controls.md +50 -0
  89. package/plugins/views.scenario/interface.fastforward.md +50 -0
  90. package/plugins/views.scenario/interface.md +68 -0
  91. package/plugins/views.scenario/point_and_click.md +87 -0
  92. package/plugins/views.scenario/qte.md +105 -0
  93. package/plugins/views.screens/confirm.md +48 -0
  94. package/plugins/views.screens/credits.md +46 -0
  95. package/plugins/views.screens/eula.md +54 -0
  96. package/plugins/views.screens/gallery.full.md +48 -0
  97. package/plugins/views.screens/gallery.md +69 -0
  98. package/plugins/views.screens/gamemenu.md +52 -0
  99. package/plugins/views.screens/history.md +70 -0
  100. package/plugins/views.screens/intro.md +50 -0
  101. package/plugins/views.screens/loading.md +48 -0
  102. package/plugins/views.screens/mainmenu.md +61 -0
  103. package/plugins/views.screens/mainmenu.socials.md +45 -0
  104. package/plugins/views.screens/save.md +63 -0
  105. package/plugins/views.screens/settings.defaults.md +51 -0
  106. package/plugins/views.screens/settings.md +53 -0
  107. package/scenario.catalog/README.md +38 -0
  108. package/scenario.catalog/index.md +109 -0
  109. package/scenario.catalog/stubs/achievement.md +16 -0
  110. package/scenario.catalog/stubs/audio.ambient.md +16 -0
  111. package/scenario.catalog/stubs/audio.music.md +16 -0
  112. package/scenario.catalog/stubs/audio.sound.md +16 -0
  113. package/scenario.catalog/stubs/audio.voice.md +16 -0
  114. package/scenario.catalog/stubs/bl.animation.md +18 -0
  115. package/scenario.catalog/stubs/bl.bg.md +18 -0
  116. package/scenario.catalog/stubs/bl.clip.md +18 -0
  117. package/scenario.catalog/stubs/bl.fill.md +18 -0
  118. package/scenario.catalog/stubs/bl.filter.md +18 -0
  119. package/scenario.catalog/stubs/bl.mask.md +18 -0
  120. package/scenario.catalog/stubs/bl.scale.md +18 -0
  121. package/scenario.catalog/stubs/bl.sprite.md +18 -0
  122. package/scenario.catalog/stubs/bl.text.md +18 -0
  123. package/scenario.catalog/stubs/bl.video.md +18 -0
  124. package/scenario.catalog/stubs/choose.block.md +25 -0
  125. package/scenario.catalog/stubs/choose.md +18 -0
  126. package/scenario.catalog/stubs/choose.option.md +24 -0
  127. package/scenario.catalog/stubs/comment.md +17 -0
  128. package/scenario.catalog/stubs/counter.md +21 -0
  129. package/scenario.catalog/stubs/credits.md +17 -0
  130. package/scenario.catalog/stubs/date.md +17 -0
  131. package/scenario.catalog/stubs/fl.animation.md +18 -0
  132. package/scenario.catalog/stubs/fl.bg.md +18 -0
  133. package/scenario.catalog/stubs/fl.clip.md +18 -0
  134. package/scenario.catalog/stubs/fl.fill.md +18 -0
  135. package/scenario.catalog/stubs/fl.filter.md +18 -0
  136. package/scenario.catalog/stubs/fl.mask.md +18 -0
  137. package/scenario.catalog/stubs/fl.scale.md +18 -0
  138. package/scenario.catalog/stubs/fl.sprite.md +18 -0
  139. package/scenario.catalog/stubs/fl.text.md +18 -0
  140. package/scenario.catalog/stubs/fl.video.md +18 -0
  141. package/scenario.catalog/stubs/flag.md +24 -0
  142. package/scenario.catalog/stubs/interface.md +17 -0
  143. package/scenario.catalog/stubs/intro.md +16 -0
  144. package/scenario.catalog/stubs/mainmenu.md +16 -0
  145. package/scenario.catalog/stubs/ml.animation.md +18 -0
  146. package/scenario.catalog/stubs/ml.bg.md +18 -0
  147. package/scenario.catalog/stubs/ml.clip.md +18 -0
  148. package/scenario.catalog/stubs/ml.fill.md +18 -0
  149. package/scenario.catalog/stubs/ml.filter.md +18 -0
  150. package/scenario.catalog/stubs/ml.mask.md +18 -0
  151. package/scenario.catalog/stubs/ml.scale.md +18 -0
  152. package/scenario.catalog/stubs/ml.sprite.md +18 -0
  153. package/scenario.catalog/stubs/ml.text.md +18 -0
  154. package/scenario.catalog/stubs/ml.video.md +18 -0
  155. package/scenario.catalog/stubs/other.md +17 -0
  156. package/scenario.catalog/stubs/pause.md +16 -0
  157. package/scenario.catalog/stubs/point-and-click.block.md +21 -0
  158. package/scenario.catalog/stubs/point-and-click.md +18 -0
  159. package/scenario.catalog/stubs/point-and-click.option.md +20 -0
  160. package/scenario.catalog/stubs/qte.md +16 -0
  161. package/scenario.catalog/stubs/random.md +16 -0
  162. package/scenario.catalog/stubs/random.option.md +16 -0
  163. package/scenario.catalog/stubs/save.auto.md +16 -0
  164. package/scenario.catalog/stubs/save.md +16 -0
  165. package/scenario.catalog/stubs/scenario.md +17 -0
  166. package/scenario.catalog/stubs/settings.defaults.md +16 -0
  167. package/scenario.catalog/stubs/stack.md +18 -0
  168. package/scenario.catalog/stubs/text.meet.md +16 -0
  169. package/scenario.catalog/stubs/text.wall.md +17 -0
  170. package/scenario.catalog/stubs/time.md +17 -0
  171. package/scenario.catalog/stubs/ul.animation.md +18 -0
  172. package/scenario.catalog/stubs/ul.bg.md +18 -0
  173. package/scenario.catalog/stubs/ul.clip.md +18 -0
  174. package/scenario.catalog/stubs/ul.fill.md +18 -0
  175. package/scenario.catalog/stubs/ul.filter.md +18 -0
  176. package/scenario.catalog/stubs/ul.mask.md +18 -0
  177. package/scenario.catalog/stubs/ul.scale.md +18 -0
  178. package/scenario.catalog/stubs/ul.sprite.md +18 -0
  179. package/scenario.catalog/stubs/ul.text.md +18 -0
  180. package/scenario.catalog/stubs/video.md +16 -0
  181. package/scenario.catalog/stubs/wallet.md +17 -0
  182. package/scenario.guide/README.md +82 -0
  183. package/scenario.guide/audio.md +29 -0
  184. package/scenario.guide/canvas.md +46 -0
  185. package/scenario.guide/choose.md +54 -0
  186. package/scenario.guide/dialogue.md +58 -0
  187. package/scenario.guide/flow.md +71 -0
  188. package/scenario.guide/point-and-click.md +35 -0
  189. package/scenario.guide/qte-random.md +51 -0
  190. package/scenario.guide/vars.md +67 -0
  191. package/scenario.guide/views.md +65 -0
@@ -0,0 +1,49 @@
1
+ # plugins/views/comment/
2
+
3
+ Пакет: `@vnejs/plugins.views.comment` · namespace: `COMMENT`
4
+
5
+ Показывает временные комментарии поверх игры по команде сценария.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SHOW` | `vne:comment:show` | Показать UI или слой. |
12
+ | `HIDE` | `vne:comment:hide` | Скрыть UI или слой. |
13
+ | `UPDATE` | `vne:comment:update` | Обновить состояние или отображение. |
14
+
15
+ ## Константы
16
+
17
+ Нет.
18
+
19
+ ## Параметры
20
+
21
+ | Ключ | Тип | Смысл |
22
+ |------|-----|-------|
23
+ | `ZINDEX` | `string` | Значение по умолчанию: "ZINDEX". |
24
+ | `TRANSITION` | `string` | Значение по умолчанию: "TRANSITION". |
25
+ | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
26
+
27
+ ## Настройки
28
+
29
+ Нет.
30
+
31
+ ## Модули
32
+
33
+ | Модуль | Зона ответственности |
34
+ |--------|----------------------|
35
+ | `comment` | Модуль `comment`. |
36
+ | `comment.controller` | Обрабатывает UPDATE, SHOW, HIDE, EXTERNAL_UPDATE, …. |
37
+ | `comment.view` | Подмодуль `view` плагина. |
38
+
39
+ ## Близкие плагины
40
+
41
+ ### plugins/core/
42
+
43
+ - [components.md](../core/components.md) — `COMPONENTS`: EVENTS.EXTERNAL_UPDATE
44
+ - [scenario.md](../core/scenario.md) — `SCENARIO`: emitNext, EVENTS.LINE_EXEC_REG
45
+ - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
46
+
47
+ ### Остальные
48
+
49
+ - [text.md](../text/text.md) — `TEXT`: EVENTS.REPLACE
@@ -0,0 +1,39 @@
1
+ # plugins/views/cursor/
2
+
3
+ Пакет: `@vnejs/plugins.views.cursor` · namespace: `CURSOR_VIEW`
4
+
5
+ Отображает кастомный курсор с загрузкой иконок default/pointer.
6
+
7
+ ## События
8
+
9
+ Нет.
10
+
11
+ ## Константы
12
+
13
+ Нет.
14
+
15
+ ## Параметры
16
+
17
+ Нет.
18
+
19
+ ## Настройки
20
+
21
+ Нет.
22
+
23
+ ## Модули
24
+
25
+ | Модуль | Зона ответственности |
26
+ |--------|----------------------|
27
+ | `cursor.controller` | Обрабатывает UPDATE, SHOW, HIDE, MOVED, …. |
28
+ | `cursor.view` | Подмодуль `view` плагина. |
29
+
30
+ ## Близкие плагины
31
+
32
+ ### plugins/core/
33
+
34
+ - [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
35
+
36
+ ### Остальные
37
+
38
+ - [cursor.md](../controls/cursor.md) — `CURSOR`: EVENTS.UPDATE, EVENTS.SHOW, EVENTS.HIDE, EVENTS.MOVED, EVENTS.VIEW_SET
39
+ - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY
@@ -0,0 +1,51 @@
1
+ # plugins/views/fps/
2
+
3
+ Пакет: `@vnejs/plugins.views.fps` · namespace: `FPS`
4
+
5
+ Показывает счётчик FPS, включаемый через настройку.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SHOW` | `vne:fps:show` | Показать UI или слой. |
12
+ | `HIDE` | `vne:fps:hide` | Скрыть UI или слой. |
13
+ | `UPDATE` | `vne:fps:update` | Обновить состояние или отображение. |
14
+ | `CHANGE` | `vne:fps:change` | Событие `CHANGE` namespace плагина. |
15
+
16
+ ## Константы
17
+
18
+ Нет.
19
+
20
+ ## Параметры
21
+
22
+ | Ключ | Тип | Смысл |
23
+ |------|-----|-------|
24
+ | `TRANSITION` | `string` | Значение по умолчанию: "TRANSITION". |
25
+ | `ZINDEX` | `string` | Значение по умолчанию: "ZINDEX". |
26
+ | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
27
+
28
+ ## Настройки
29
+
30
+ | Ключ | Тип | Смысл |
31
+ |------|-----|-------|
32
+ | `ENABLED` (`vne:fps:enabled`) | `boolean` | Включить или выключить функцию. |
33
+
34
+ ## Модули
35
+
36
+ | Модуль | Зона ответственности |
37
+ |--------|----------------------|
38
+ | `fps.controller` | Обрабатывает UPDATE, SHOW, HIDE, CHANGE. |
39
+ | `fps` | Обрабатывает CHANGED, STARTED. |
40
+ | `fps.view` | Подмодуль `view` плагина. |
41
+
42
+ ## Близкие плагины
43
+
44
+ ### plugins/core/
45
+
46
+ - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
47
+ - [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
48
+
49
+ ### Остальные
50
+
51
+ — нет
@@ -0,0 +1,57 @@
1
+ # plugins/views/video/
2
+
3
+ Пакет: `@vnejs/plugins.views.video` · namespace: `VIDEO`
4
+
5
+ Воспроизводит полноэкранное видео по командам сценария play/load.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SET` | `vne:video:set` | Запросить данные у обработчиков и продолжить цепочку. |
12
+ | `GET` | `vne:video:get` | Получить значение или ресурс. |
13
+ | `LOAD` | `vne:video:load` | Загрузить данные или ресурс. |
14
+ | `PLAY` | `vne:video:play` | Начать воспроизведение. |
15
+ | `SET_SRC` | `vne:video:set_src` | Записать или обновить значение. |
16
+ | `SHOW` | `vne:video:show` | Показать UI или слой. |
17
+ | `HIDE` | `vne:video:hide` | Скрыть UI или слой. |
18
+ | `UPDATE` | `vne:video:update` | Обновить состояние или отображение. |
19
+
20
+ ## Константы
21
+
22
+ - **`EXEC_ACTIONS.PLAY`** — "play"
23
+
24
+ ## Параметры
25
+
26
+ | Ключ | Тип | Смысл |
27
+ |------|-----|-------|
28
+ | `TRANSITION` | `string` | Значение по умолчанию: "TRANSITION". |
29
+ | `ZINDEX` | `string` | Значение по умолчанию: "ZINDEX". |
30
+ | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
31
+
32
+ ## Настройки
33
+
34
+ Нет.
35
+
36
+ ## Модули
37
+
38
+ | Модуль | Зона ответственности |
39
+ |--------|----------------------|
40
+ | `video.controller` | Обрабатывает UPDATE, EMIT, SHOW, HIDE, …. |
41
+ | `video` | Обрабатывает HIDE, PLAY, LOAD, GET, …. |
42
+ | `video.view` | Подмодуль `view` плагина. |
43
+
44
+ ## Близкие плагины
45
+
46
+ ### plugins/core/
47
+
48
+ - [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT, EVENTS.PUSH
49
+ - [media.md](../core/media.md) — `MEDIA`: EVENTS.LOAD, EVENTS.GET, CONST.PRIORITIES.BACKGROUND, CONST.TYPES.VIDEO
50
+ - [scenario.md](../core/scenario.md) — `SCENARIO`: emitNext, EVENTS.LINE_EXEC_REG, EVENTS.LINE_LOAD_REG
51
+ - [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR, EVENTS.SET
52
+
53
+ ### Остальные
54
+
55
+ - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ANY
56
+ - [interface.md](../views.scenario/interface.md) — `INTERFACE`: EVENTS.TEXT_HIDE
57
+ - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY
@@ -0,0 +1,79 @@
1
+ # plugins/views.scenario/choose/
2
+
3
+ Пакет: `@vnejs/plugins.views.scenario.choose` · namespace: `CHOOSE_VIEW`
4
+
5
+ React-UI выбора из текстовых опций. Зависит от scenario-плагина [choose.md](../scenario/choose.md) (`CHOOSE`): слушает `SHOW` / `HIDE`, эмитит `OPTION` при выборе игроком.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SHOW` | `vne:choose_view:show` | Показать UI выбора. |
12
+ | `SHOW_BEFORE` | `vne:choose_view:show_before` | Хук перед показом (после загрузки state из `globalState.choose`). |
13
+ | `HIDE` | `vne:choose_view:hide` | Скрыть UI выбора. |
14
+ | `UPDATE` | `vne:choose_view:update` | Обновить React-store / отображение. |
15
+
16
+ Сценарные события (`EMIT`, `OPTION`, `SHOW`, `HIDE`, `SKIP`, `EXEC_*`, `STATE_UPDATE`) — в контракте `@vnejs/contracts.scenario.choose`, namespace `CHOOSE`.
17
+
18
+ ## Константы
19
+
20
+ Нет.
21
+
22
+ ## Параметры
23
+
24
+ | Ключ | Тип | Смысл |
25
+ |------|-----|-------|
26
+ | `TRANSITION` | `number` | Длительность анимации показа/скрытия (мс). |
27
+ | `ZINDEX` | `number` | Z-index слоя и индекс блока controls. |
28
+ | `VIEW_PROPS` | `object` | Пропсы Screen, PositionBox, TextControls, Text. |
29
+ | `CONTROLS_EXTENSIONS` | `object` | Дополнительные обработчики controls. |
30
+
31
+ ## Настройки
32
+
33
+ Нет.
34
+
35
+ ## Модули
36
+
37
+ | Модуль | Зона ответственности |
38
+ |--------|----------------------|
39
+ | `choose_view.bridge` | Bridge `CHOOSE.SHOW/HIDE` → `CHOOSE_VIEW.SHOW/HIDE`. |
40
+ | `choose_view.controller` | Controls, emit `CHOOSE.OPTION`, `beforeShow` / `afterHide`. |
41
+ | `choose_view.view` | React-render опций. |
42
+
43
+ ## Связь с CHOOSE
44
+
45
+ ```mermaid
46
+ sequenceDiagram
47
+ participant SC as plugins.scenario.choose
48
+ participant OBS as Observer
49
+ participant BR as choose_view.bridge
50
+ participant VC as choose_view.controller
51
+
52
+ SC->>OBS: vne:choose:show
53
+ OBS->>BR: bridge
54
+ BR->>OBS: vne:choose_view:show
55
+ OBS->>VC: onShow
56
+ Note over VC: beforeShow читает globalState.choose
57
+ VC->>OBS: vne:choose:option
58
+ OBS->>SC: onChooseOption
59
+ SC->>OBS: vne:choose:hide
60
+ OBS->>BR: bridge
61
+ BR->>OBS: vne:choose_view:hide
62
+ ```
63
+
64
+ ## Близкие плагины
65
+
66
+ ### plugins/scenario/
67
+
68
+ - [choose.md](../scenario/choose.md) — `CHOOSE`: EMIT, OPTION, SHOW, HIDE, globalState.choose
69
+
70
+ ### plugins/core/
71
+
72
+ - [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
73
+ - [state.md](../core/state.md) — restore через `CHOOSE` + bridge
74
+
75
+ ### Остальные
76
+
77
+ - [controls.md](../controls/controls.md) — `CONTROLS`: стрелки, ACCEPT
78
+ - [interface.md](interface.md) — compatibility скрывает interface на `CHOOSE_VIEW.SHOW_BEFORE`
79
+ - [qte.md](./qte.md) — `QTE_VIEW`: при опции с `qte:` открывается поверх choose (z-index 1300 > 1200)
@@ -0,0 +1,50 @@
1
+ # plugins/views.scenario/interface.controls/
2
+
3
+ Пакет: `@vnejs/plugins.views.scenario.interface.controls` · namespace: `INTERFACE_CONTROLS_VIEW`
4
+
5
+ Кнопки управления интерфейсом: скрытие, продолжение и переключение видимости.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SHOW` | `vne:interface_controls:show` | Показать UI или слой. |
12
+ | `HIDE` | `vne:interface_controls:hide` | Скрыть UI или слой. |
13
+ | `UPDATE` | `vne:interface_controls:update` | Обновить состояние или отображение. |
14
+ | `CLICK` | `vne:interface_controls:click` | Событие `CLICK` namespace плагина. |
15
+ | `ICONS` | `vne:interface_controls:icons` | Событие `ICONS` namespace плагина. |
16
+
17
+ ## Константы
18
+
19
+ Нет.
20
+
21
+ ## Параметры
22
+
23
+ | Ключ | Тип | Смысл |
24
+ |------|-----|-------|
25
+ | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
26
+ | `ITEMS` | `string` | Значение по умолчанию: "ITEMS". |
27
+ | `CONTROLS_EXTENSIONS` | `string` | Значение по умолчанию: "CONTROLS_EXTENSIONS". |
28
+
29
+ ## Настройки
30
+
31
+ Нет.
32
+
33
+ ## Модули
34
+
35
+ | Модуль | Зона ответственности |
36
+ |--------|----------------------|
37
+ | `interface.controls.controller` | Обрабатывает UPDATE, VISIBLE, INTERACT, SHOW, …. |
38
+ | `interface.controls.view` | Подмодуль `controls.view` плагина. |
39
+
40
+ ## Близкие плагины
41
+
42
+ ### plugins/core/
43
+
44
+ - [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
45
+
46
+ ### Остальные
47
+
48
+ - [controls.md](../controls/controls.md) — `CONTROLS`: EVENTS.POP, EVENTS.PUSH, CONST.BUTTONS.INTERFACE_HIDE, CONST.BUTTONS.ARROW_RIGHT, CONST.BUTTONS.ARROW_BOTTOM, CONST.BUTTONS.ANY
49
+ - [interface.md](./interface.md) — `INTERFACE`: EVENTS.VISIBLE, EVENTS.INTERACT, EVENTS.SHOW_CHANGED, EVENTS.VIEW_CHANGED, EVENTS.STATE_CHANGED, EVENTS.VISIBLE_CHANGED
50
+ - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY
@@ -0,0 +1,50 @@
1
+ # plugins/views.scenario/interface.fastforward/
2
+
3
+ Пакет: `@vnejs/plugins.views.scenario.interface.fastforward` · namespace: `INTERFACE_FASTFORWARD_VIEW`
4
+
5
+ Кнопка и индикатор режима ускоренного просмотра в интерфейсе сценария.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SHOW` | `vne:interface_fastforward:show` | Показать UI или слой. |
12
+ | `HIDE` | `vne:interface_fastforward:hide` | Скрыть UI или слой. |
13
+ | `CLICK` | `vne:interface_fastforward:click` | Событие `CLICK` namespace плагина. |
14
+ | `UPDATE` | `vne:interface_fastforward:update` | Обновить состояние или отображение. |
15
+ | `DISABLE_ANIMATION` | `vne:interface_fastforward:disable_animation` | Событие `DISABLE_ANIMATION` namespace плагина. |
16
+
17
+ ## Константы
18
+
19
+ Нет.
20
+
21
+ ## Параметры
22
+
23
+ | Ключ | Тип | Смысл |
24
+ |------|-----|-------|
25
+ | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
26
+
27
+ ## Настройки
28
+
29
+ Нет.
30
+
31
+ ## Модули
32
+
33
+ | Модуль | Зона ответственности |
34
+ |--------|----------------------|
35
+ | `interface.fastforward.controller` | Обрабатывает UPDATE, TOGGLE, START, STOP, …. |
36
+ | `interface.fastforward.view` | Подмодуль `fastforward.view` плагина. |
37
+
38
+ ## Близкие плагины
39
+
40
+ ### plugins/core/
41
+
42
+ - [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED
43
+ - [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
44
+
45
+ ### Остальные
46
+
47
+ - [controls.md](../controls/controls.md) — `CONTROLS`: EVENTS.POP, EVENTS.PUSH, CONST.BUTTONS.FASTFORWARD_TOGGLE, CONST.BUTTONS.FASTFORWARD_START, CONST.BUTTONS.FASTFORWARD_FINISH
48
+ - [fastforward.md](../scenario/fastforward.md) — `FASTFORWARD`: EVENTS.TOGGLE, EVENTS.START, EVENTS.STOP, EVENTS.CHANGED
49
+ - [interface.md](./interface.md) — `INTERFACE`: EVENTS.SHOW_CHANGED, EVENTS.VIEW_CHANGED, EVENTS.STATE_CHANGED, EVENTS.VISIBLE_CHANGED, EVENTS.VISIBLE, PARAMS.ZINDEX
50
+ - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY
@@ -0,0 +1,68 @@
1
+ # plugins/views.scenario/interface/
2
+
3
+ Пакет: `@vnejs/plugins.views.scenario.interface` · namespace: `INTERFACE`
4
+
5
+ Управляет диалоговым интерфейсом: показ, скрытие, видимость и отображение текста.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SHOW` | `vne:interface:show` | Показать UI или слой. |
12
+ | `HIDE` | `vne:interface:hide` | Скрыть UI или слой. |
13
+ | `SHOW_CHANGED` | `vne:interface:show_changed` | Показать UI или слой. |
14
+ | `VIEW_SHOW` | `vne:interface:view_show` | Показать UI или слой. |
15
+ | `VIEW_HIDE` | `vne:interface:view_hide` | Скрыть UI или слой. |
16
+ | `VIEW_UPDATE` | `vne:interface:view_update` | Обновить состояние или отображение. |
17
+ | `TEXT_HIDE` | `vne:interface:text_hide` | Скрыть UI или слой. |
18
+ | `TEXT_CHANGED` | `vne:interface:text_changed` | Зафиксировать изменение состояния. |
19
+ | `VISIBLE_TOKENS_CHANGED` | `vne:interface:visible_tokens_changed` | Зафиксировать изменение состояния. |
20
+ | `WALL_CHANGED` | `vne:interface:wall_changed` | Зафиксировать изменение состояния. |
21
+ | `SPEAKER_CHANGED` | `vne:interface:speaker_changed` | Зафиксировать смену текущего спикера. |
22
+ | `VISIBLE` | `vne:interface:visible` | Событие `VISIBLE` namespace плагина. |
23
+ | `VISIBLE_CHANGED` | `vne:interface:visible_changed` | Зафиксировать изменение состояния. |
24
+ | `VIEW` | `vne:interface:view` | Событие `VIEW` namespace плагина. |
25
+ | `VIEW_CHANGED` | `vne:interface:view_changed` | Зафиксировать изменение состояния. |
26
+ | `INTERACT` | `vne:interface:interact` | Событие `INTERACT` namespace плагина. |
27
+ | `STATE_CHANGED` | `vne:interface:state_changed` | Сигнал об изменении накопленного состояния. |
28
+
29
+ ## Константы
30
+
31
+ Нет.
32
+
33
+ ## Параметры
34
+
35
+ | Ключ | Тип | Смысл |
36
+ |------|-----|-------|
37
+ | `DEFAULT_VIEW` | `string` | Значение по умолчанию: "DEFAULT_VIEW". |
38
+ | `LOC_LABEL` | `string` | Имя метки или стартовой точки. |
39
+ | `TRANSITION` | `string` | Значение по умолчанию: "TRANSITION". |
40
+ | `ZINDEX` | `string` | Значение по умолчанию: "ZINDEX". |
41
+ | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
42
+
43
+ ## Настройки
44
+
45
+ Нет.
46
+
47
+ ## Модули
48
+
49
+ | Модуль | Зона ответственности |
50
+ |--------|----------------------|
51
+ | `interface.controller` | Обрабатывает VIEW_UPDATE, INTERACT, VIEW_SHOW, VIEW_HIDE, …. |
52
+ | `interface` | Обрабатывает INTERACT, SHOW, HIDE, VISIBLE, …. |
53
+ | `interface.view` | Подмодуль `view` плагина. |
54
+
55
+ ## Близкие плагины
56
+
57
+ ### plugins/core/
58
+
59
+ - [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT
60
+ - [scenario.md](../core/scenario.md) — `SCENARIO`: emitNext, EVENTS.LINE_EXEC_REG
61
+ - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
62
+
63
+ ### Остальные
64
+
65
+ - [controls.md](../controls/controls.md) — `CONTROLS`: EVENTS.POP, EVENTS.PUSH
66
+ - [text.md](../text/text.md) — `TEXT`: EVENTS.CHANGED, EVENTS.SPEAKER_CHANGED, EVENTS.EMIT_BEFORE_REG
67
+ - [choose.md](./choose.md) — compatibility скрывает interface на `CHOOSE_VIEW.SHOW_BEFORE`
68
+ - [qte.md](./qte.md) — compatibility скрывает interface на `QTE_VIEW.SHOW_BEFORE`
@@ -0,0 +1,87 @@
1
+ # plugins/views.scenario/point_and_click/
2
+
3
+ Пакет: `@vnejs/plugins.views.scenario.point_and_click` · namespace: `POINT_AND_CLICK_VIEW`
4
+
5
+ React-UI point-and-click (иконки-hotspot). Зависит от scenario-плагина [point_and_click.md](../scenario/point_and_click.md) (`POINT_AND_CLICK`): слушает `SHOW` / `HIDE`, эмитит `OPTION` при клике.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SHOW` | `vne:point_and_click_view:show` | Показать UI. |
12
+ | `SHOW_BEFORE` | `vne:point_and_click_view:show_before` | Хук перед показом (после загрузки state и icon media). |
13
+ | `HIDE` | `vne:point_and_click_view:hide` | Скрыть UI. |
14
+ | `UPDATE` | `vne:point_and_click_view:update` | Обновить React-store / отображение. |
15
+
16
+ Сценарные события (`EMIT`, `OPTION`, `SHOW`, `HIDE`, `SKIP`, `EXEC_*`, `STATE_UPDATE`) — в контракте `@vnejs/contracts.scenario.point_and_click`, namespace `POINT_AND_CLICK`.
17
+
18
+ ## Константы
19
+
20
+ Нет.
21
+
22
+ ## Параметры
23
+
24
+ | Ключ | Тип | Смысл |
25
+ |------|-----|--------|
26
+ | `TRANSITION` | `number` | Длительность анимации показа/скрытия (мс). |
27
+ | `ZINDEX` | `number` | Z-index слоя и индекс блока controls. |
28
+ | `CONTROLS_EXTENSIONS` | `object` | Дополнительные обработчики controls. |
29
+
30
+ ## Настройки
31
+
32
+ Нет.
33
+
34
+ ## Модули
35
+
36
+ | Модуль | Зона ответственности |
37
+ |--------|----------------------|
38
+ | `point_and_click_view.bridge` | Bridge `POINT_AND_CLICK.SHOW/HIDE` → `POINT_AND_CLICK_VIEW.SHOW/HIDE`; на hide — `INTERFACE.TEXT_HIDE`. |
39
+ | `point_and_click_view.controller` | Загрузка `iconSrc`, controls → gamemenu (+ `CONTROLS_EXTENSIONS` в `init`), `beforeShow` / `afterHide`. |
40
+ | `point_and_click_view.view` | React-render hotspot-иконок. |
41
+
42
+ ## Связь с POINT_AND_CLICK
43
+
44
+ ```mermaid
45
+ sequenceDiagram
46
+ participant SC as plugins.scenario.point_and_click
47
+ participant OBS as Observer
48
+ participant BR as point_and_click_view.bridge
49
+ participant VC as point_and_click_view.controller
50
+
51
+ SC->>OBS: vne:point_and_click:show
52
+ OBS->>BR: bridge
53
+ BR->>OBS: vne:point_and_click_view:show
54
+ OBS->>VC: onShow
55
+ Note over VC: beforeShow читает globalState и грузит icons
56
+ VC->>OBS: vne:point_and_click:option
57
+ OBS->>SC: onOption
58
+ SC->>OBS: vne:point_and_click:hide
59
+ OBS->>BR: bridge
60
+ BR->>OBS: INTERFACE.TEXT_HIDE then VIEW.HIDE
61
+ ```
62
+
63
+ ## Compatibility
64
+
65
+ ### `compatibility/views.scenario.point_and_click/views.scenario.interface/`
66
+
67
+ Пакет: `@vnejs/compatibility.views.scenario.point_and_click-with-views.scenario.interface`
68
+
69
+ На `POINT_AND_CLICK_VIEW.SHOW_BEFORE` эмитит `INTERFACE.HIDE`.
70
+
71
+ ## Близкие плагины
72
+
73
+ ### plugins/scenario/
74
+
75
+ - [point_and_click.md](../scenario/point_and_click.md) — `POINT_AND_CLICK`: EMIT, OPTION, SHOW, HIDE, globalState.point_and_click
76
+
77
+ ### plugins/core/
78
+
79
+ - [vendors.md](../core/vendors.md) — `VENDORS`: emitClone
80
+ - [state.md](../core/state.md) — restore через `POINT_AND_CLICK` + bridge
81
+
82
+ ### Остальные
83
+
84
+ - [controls.md](../controls/controls.md) — `CONTROLS`: MENU / GAMEMENU
85
+ - [interface.md](interface.md) — compatibility скрывает interface на `SHOW_BEFORE`; bridge зовёт `TEXT_HIDE` на hide
86
+ - [gamemenu.md](../views.screens/gamemenu.md) — `GAMEMENU`: EVENTS.SHOW
87
+ - [layer.md](../canvas/layer.md) — `LAYER`: SETTINGS.QUALITY для media icons
@@ -0,0 +1,105 @@
1
+ # plugins/views.scenario/qte/
2
+
3
+ Пакет: `@vnejs/plugins.views.scenario.qte` · namespace: `QTE_VIEW`
4
+
5
+ React-UI Quick Time Event: фазы анимации, зона успеха в процентах, ACCEPT / INTERACT. Зависит от scenario-плагина [qte.md](../scenario/qte.md) (`QTE`): слушает `OPENED` / `CLOSED`, эмитит `RESULT` по итогам раунда.
6
+
7
+ Состояние раунда **не** пишется в save — только в controller/view; на `SHOW_BEFORE` скрывается interface (compatibility).
8
+
9
+ ## События
10
+
11
+ | Ключ | Строка | Смысл |
12
+ |------|--------|-------|
13
+ | `SHOW` | `vne:qte_view:show` | Показать UI QTE. |
14
+ | `SHOW_BEFORE` | `vne:qte_view:show_before` | Хук перед показом (после сброса state раунда). |
15
+ | `HIDE` | `vne:qte_view:hide` | Скрыть UI QTE. |
16
+ | `UPDATE` | `vne:qte_view:update` | Обновить React-store / отображение. |
17
+ | `ACTION` | `vne:qte_view:action` | Игрок нажал ACCEPT / INTERACT (или клик) во время `active`. |
18
+
19
+ Сценарные события (`EMIT`, `RESULT`, `OPENED`, `CLOSED`) — в контракте `@vnejs/contracts.scenario.qte`, namespace `QTE`.
20
+
21
+ ## Константы
22
+
23
+ Нет.
24
+
25
+ ## Параметры
26
+
27
+ | Ключ | Тип | Смысл |
28
+ |------|-----|-------|
29
+ | `TRANSITION` | `number` | Длительность анимации показа/скрытия (мс). По умолчанию `500`. |
30
+ | `INITIAL` | `number` | Фаза `initial` до старта intro (мс). По умолчанию `100`. |
31
+ | `ZINDEX` | `number` | Z-index слоя и индекс блока controls. По умолчанию `1300`. |
32
+ | `RESULT_DELAY` | `number` | Пауза на экране success/fail перед `RESULT` (мс). По умолчанию `500`. |
33
+ | `LOC_LABEL` | `string` | Метка локализации текстов статуса (`locs`). По умолчанию `"qte"`. |
34
+ | `VIEW_PROPS` | `object` | Пропсы Screen, PositionBox. |
35
+
36
+ Длительность intro: `max(TRANSITION - INITIAL, 0)`.
37
+
38
+ ## Настройки
39
+
40
+ Нет.
41
+
42
+ ## Модули
43
+
44
+ | Модуль | Зона ответственности |
45
+ |--------|----------------------|
46
+ | `qte_view.controller` | Bridge `QTE.OPENED/CLOSED` → `SHOW/HIDE`; фазы `initial → intro → active → resolved → outro`; таймер fail; controls ACCEPT/INTERACT; emit `QTE.RESULT`. |
47
+ | `qte_view.view` | React-render круга / зоны / указателя; `locLabel` для статусов. |
48
+
49
+ ## Фазы
50
+
51
+ | Фаза | Смысл |
52
+ |------|-------|
53
+ | `idle` | Скрыт / сброшен. |
54
+ | `initial` | Показ Screen, старт анимации (длительность `INITIAL`). |
55
+ | `intro` | Масштаб круга до полного размера. |
56
+ | `active` | Указатель крутится один оборот за `item.duration`; клик/ACCEPT проверяет попадание в зону `[start, start+size]` (%). |
57
+ | `resolved` | Показ success/fail (`RESULT_DELAY`). |
58
+ | `outro` | Эмит `QTE.RESULT`, затем hide. |
59
+
60
+ Авто-fail: таймер на момент конца зоны успеха (`start + size`), если игрок не нажал раньше.
61
+
62
+ Геометрия view: проценты → градусы (`percentToDegrees`); проверка попадания — по progress от elapsed, не по CSS-позиции указателя.
63
+
64
+ ## Связь с QTE
65
+
66
+ ```mermaid
67
+ sequenceDiagram
68
+ participant SC as plugins.scenario.qte
69
+ participant OBS as Observer
70
+ participant VC as qte_view.controller
71
+
72
+ SC->>OBS: vne:qte:opened
73
+ OBS->>VC: bridge
74
+ VC->>OBS: vne:qte_view:show
75
+ Note over VC: phases → ACTION / auto-fail
76
+ VC->>OBS: vne:qte:result
77
+ OBS->>SC: onQteResult
78
+ SC->>OBS: vne:qte:closed
79
+ OBS->>VC: bridge
80
+ VC->>OBS: vne:qte_view:hide
81
+ ```
82
+
83
+ ## Compatibility
84
+
85
+ ### `compatibility/views.scenario.qte/views.scenario.interface/`
86
+
87
+ Пакет: `@vnejs/compatibility.views.scenario.qte-with-views.scenario.interface`
88
+
89
+ На `QTE_VIEW.SHOW_BEFORE` эмитит `INTERFACE.HIDE`. Подключается в `bundles/vn.base`.
90
+
91
+ ## Близкие плагины
92
+
93
+ ### plugins/scenario/
94
+
95
+ - [qte.md](../scenario/qte.md) — `QTE`: EMIT, RESULT, OPENED, CLOSED, PARAMS.ITEMS
96
+
97
+ ### plugins/core/
98
+
99
+ - [vendors.md](../core/vendors.md) — `VENDORS`: emitClone (через ModuleController)
100
+
101
+ ### Остальные
102
+
103
+ - [controls.md](../controls/controls.md) — `CONTROLS`: ACCEPT, INTERACT
104
+ - [interface.md](interface.md) — compatibility скрывает interface на `QTE_VIEW.SHOW_BEFORE`
105
+ - [locs.md](../text/locs.md) — тексты статуса через `locLabel`