@vnejs/docs 0.2.11 → 0.2.13

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vnejs/docs",
3
- "version": "0.2.11",
3
+ "version": "0.2.13",
4
4
  "description": "VNEJS documentation for engine consumers and coding agents",
5
5
  "files": [
6
6
  "*.md",
@@ -2,7 +2,7 @@
2
2
 
3
3
  Пакет: `@vnejs/plugins.controls.controls` · namespace: `CONTROLS`
4
4
 
5
- Стек обработчиков абстрактных control-кнопок (push/pop/emit).
5
+ Стек обработчиков абстрактных control-кнопок (push/pop/emit) и текущий тип устройства ввода (keyboard / xbox / playstation).
6
6
 
7
7
  ## События
8
8
 
@@ -11,10 +11,17 @@
11
11
  | `EMIT` | `vne:controls:emit` | Инициировать действие или цикл. |
12
12
  | `PUSH` | `vne:controls:push` | Добавить элемент в очередь или стек. |
13
13
  | `POP` | `vne:controls:pop` | Извлечь элемент из очереди или стека. |
14
+ | `DEVICE_SET` | `vne:controls:device_set` | Запросить смену типа устройства (`{ device }`). |
15
+ | `DEVICE_CHANGED` | `vne:controls:device_changed` | Тип устройства реально сменился (`{ device, prevDevice }`). |
14
16
 
15
17
  ## Константы
16
18
 
17
- Нет.
19
+ | Ключ | Смысл |
20
+ |------|--------|
21
+ | `BUTTONS` | Абстрактные control-кнопки (`ACCEPT`, `BACK`, …). |
22
+ | `DEVICES.KEYBOARD` | `"keyboard"` |
23
+ | `DEVICES.XBOX` | `"xbox"` |
24
+ | `DEVICES.PLAYSTATION` | `"playstation"` |
18
25
 
19
26
  ## Параметры
20
27
 
@@ -29,6 +36,9 @@
29
36
  | Модуль | Зона ответственности |
30
37
  |--------|----------------------|
31
38
  | `controls` | Обрабатывает EMIT, PUSH, POP. |
39
+ | `controls.device` | Хранит `currentDevice`; на `DEVICE_SET` эмитит `DEVICE_CHANGED` только при реальной смене. |
40
+
41
+ Источники `DEVICE_SET`: keyboard (keydown) → keyboard; `controls.gamepad.device` (button_press / axis_move) → xbox|playstation по `gamepad.id`; cursor (`mousemove`) → keyboard.
32
42
 
33
43
  ## Близкие плагины
34
44
 
@@ -38,4 +48,6 @@
38
48
 
39
49
  ### Остальные
40
50
 
41
- — нет
51
+ - [keyboard.md](./keyboard.md) — `KEYBOARD`
52
+ - [gamepad.md](./gamepad.md) — `GAMEPAD`
53
+ - [cursor.md](./cursor.md) — `CURSOR`
@@ -50,7 +50,7 @@
50
50
  |--------|----------------------|
51
51
  | `cursor` (`Cursor`) | SET_X_Y, resize; владеет `globalState.cursor` (x/y). |
52
52
  | `cursor.view_set` (`CursorView`) | VIEW_SET + STATE/STARTED для проставления `view`. Имя `view_set`, чтобы не пересечься с `plugins/views/cursor` (`cursor.view`). |
53
- | `cursor.move` (`CursorMove`) | MOVE (мышь) → SHOW + SET_X_Y; скрывает системный курсор. |
53
+ | `cursor.move` (`CursorMove`) | MOVE (мышь) → `CONTROLS.DEVICE_SET` (keyboard) + SHOW + SET_X_Y; скрывает системный курсор. |
54
54
  | `cursor.shift` (`CursorShift`) | SHIFT + INIT `SHIFT_SPEED` / `SHIFT_REVERSE_*`. |
55
55
  | `cursor.click` (`CursorClick`) | CLICK по координатам курсора. |
56
56
  | `cursor.scroll` (`CursorScroll`) | SCROLL + INIT `SCROLL_SPEED`. |
@@ -66,4 +66,5 @@
66
66
 
67
67
  ### Остальные
68
68
 
69
- - [gamepad.md](./gamepad.md) — стики через `compatibility.controls.gamepad-with-controls.cursor`: left → `SHIFT`, right → `SCROLL`
69
+ - [controls.md](./controls.md) — `CONTROLS`: EVENTS.DEVICE_SET (mousemove → keyboard)
70
+ - [gamepad.md](./gamepad.md) — стики через `compatibility.controls.gamepad-with-controls.cursor`: left → `SHIFT`, right → `SCROLL`; тип устройства (xbox|ps) — `controls.gamepad.device`
@@ -6,7 +6,9 @@
6
6
 
7
7
  ## События
8
8
 
9
- Нет.
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `EMIT` | `vne:gamepad:emit` | Проксировать нажатие в `CONTROLS.EMIT` (`{ keys }`) с lock `inProcess`. |
10
12
 
11
13
  ## Константы
12
14
 
@@ -22,7 +24,7 @@
22
24
 
23
25
  ## Маппинг кнопок (W3C / Xbox standard)
24
26
 
25
- После того как joypad выдаёт логическое имя `button_N`, плагин эмитит ключи в `CONTROLS.EMIT`:
27
+ После того как joypad выдаёт логическое имя `button_N`, модули кнопок и триггеров эмитят `GAMEPAD.EMIT`, а `controls.gamepad` проксирует ключи в `CONTROLS.EMIT`:
26
28
 
27
29
  | joypad | Физическая (standard) | Абстрактный control |
28
30
  |--------|----------------------|---------------------|
@@ -74,7 +76,9 @@ Electron при `STEAM_DECK=1` добавляет `?steamDeck=1`.
74
76
 
75
77
  | Модуль | Зона ответственности |
76
78
  |--------|----------------------|
77
- | `controls.gamepad` | Подмодуль `gamepad` плагина. |
79
+ | `controls.gamepad` | `connect` / `disconnect` → sync профиля; `GAMEPAD.EMIT` → `CONTROLS.EMIT` с lock `inProcess`. |
80
+ | `controls.gamepad.buttons` | `button_press` / `button_release` → `GAMEPAD.EMIT`; lock активного пада. |
81
+ | `controls.gamepad.device` | `button_press` / `axis_move` → `CONTROLS.DEVICE_SET` (`DEVICES.XBOX` или `DEVICES.PLAYSTATION` по `gamepad.id`). |
78
82
 
79
83
  ## Близкие плагины
80
84
 
@@ -84,5 +88,5 @@ Electron при `STEAM_DECK=1` добавляет `?steamDeck=1`.
84
88
 
85
89
  ### Остальные
86
90
 
87
- - [controls.md](./controls.md) — `CONTROLS`: EVENTS.EMIT, CONST.BUTTONS
91
+ - [controls.md](./controls.md) — `CONTROLS`: EVENTS.EMIT, EVENTS.DEVICE_SET (через `controls.gamepad.device` → xbox|playstation), CONST.BUTTONS, CONST.DEVICES
88
92
  - [cursor.md](./cursor.md) — через `compatibility.controls.gamepad-with-controls.cursor`: left stick (оси 0–1) → `CURSOR.SHIFT`, right stick (оси 2–3) → `CURSOR.SCROLL`; RT → `CURSOR.CLICK`
@@ -34,4 +34,4 @@
34
34
 
35
35
  ### Остальные
36
36
 
37
- - [controls.md](./controls.md) — `CONTROLS`: EVENTS.EMIT, CONST.BUTTONS
37
+ - [controls.md](./controls.md) — `CONTROLS`: EVENTS.EMIT, EVENTS.DEVICE_SET, CONST.BUTTONS, CONST.DEVICES
@@ -0,0 +1,56 @@
1
+ # plugins/views/controls.hints/
2
+
3
+ Пакет: `@vnejs/plugins.views.controls.hints` · namespace: `CONTROLS_HINTS`
4
+
5
+ Оверлей подсказок кнопок (keyboard / xbox / playstation). Группы из `PARAMS.GROUPS` показываются и прячутся по событиям из конфига; иконки переключаются по `CONTROLS.DEVICE_CHANGED`.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `UPDATE` | `vne:controls_hints:update` | Обновить состояние или отображение. |
12
+
13
+ ## Константы
14
+
15
+ Нет.
16
+
17
+ ## Параметры
18
+
19
+ | Ключ | Тип | Смысл |
20
+ |------|-----|-------|
21
+ | `GROUPS` | `ControlsHintsGroup[]` | Группы подсказок (position, direction, show/hide events, controls). |
22
+ | `LOC_LABEL` | `string` | Метка locs (`controlsHints`). |
23
+ | `TRANSITION` | `number` | Длительность перехода View. |
24
+ | `ZINDEX` | `number` | Fallback z-index группы, если не задан в `position.zIndex`. |
25
+ | `VIEW_PROPS` | `object` | Стили `icon` / `text` / `controlFlex` / `groupFlex`. |
26
+
27
+ Для экрана обычно задают `position.zIndex = PARAMS.<SCREEN>.ZINDEX + 100`, чтобы другие экраны могли перекрыть подсказки.
28
+
29
+ Появление/скрытие группы анимируется через `View` с `transition={PARAMS.TRANSITION}` (по умолчанию `300` ms). Группа видима, если `isShow` и есть контролы для текущего device (с учётом `hideOnDevices`). При уходе в пустой список (например keyboard) предыдущие иконки держатся до конца transition, чтобы fade-out успел отрисоваться.
30
+
31
+ Элемент `controls[]`: `{ locKey, keyboard: string[], xbox: string[], playstation: string[], hideOnDevices?: ControlsDevice[] }` — пути внутри `media/view/{quality}/` (ведущий `/` снимается). `hideOnDevices` — девайсы, на которых контрол не рендерится (`CONTROLS.DEVICES.*`).
32
+
33
+ ## Настройки
34
+
35
+ Нет.
36
+
37
+ ## Модули
38
+
39
+ | Модуль | Зона ответственности |
40
+ |--------|----------------------|
41
+ | `controls.hints.controller` | Preload иконок на `SYSTEM.STARTED` / `MEMORY.CLEARED`; show/hide групп; `DEVICE_CHANGED`; `COMPONENTS.EXTERNAL_UPDATE` → `updateViewFast`. |
42
+ | `controls.hints.view` | Рендер нескольких `View` + `Flex` + `Icon` + `Text`. |
43
+
44
+ ## Близкие плагины
45
+
46
+ ### plugins/core/
47
+
48
+ - [components.md](../core/components.md) — `COMPONENTS`: EXTERNAL_UPDATE
49
+ - [media.md](../core/media.md) — `MEDIA`: LOAD
50
+ - [memory.md](../core/memory.md) — `MEMORY`: CLEARED
51
+ - [state.md](../core/state.md) — `STATE`: SET, CLEAR
52
+ - [system.md](../core/system.md) — `SYSTEM`: STARTED
53
+
54
+ ### Остальные
55
+
56
+ - [controls.md](../controls/controls.md) — `CONTROLS`: DEVICE_CHANGED, DEVICES