@vnejs/docs 0.2.7 → 0.2.9

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.7",
3
+ "version": "0.2.9",
4
4
  "description": "VNEJS documentation for engine consumers and coding agents",
5
5
  "files": [
6
6
  "*.md",
@@ -38,21 +38,29 @@
38
38
  | `button_9` | Menu / Start | `MENU` |
39
39
  | `button_12`…`15` | D-pad | `ARROW_*` |
40
40
 
41
- ## Профили
41
+ ## Профили и активный пад
42
42
 
43
- На `joypad` `connect` выбирается профиль и, при необходимости, вызывается `joypad.set({ customButtonMapping })`.
43
+ joypad.js применяет **один** `customButtonMapping` ко всем устройствам. На Steam Deck часто видны сразу два пада (raw HID + Steam Input Xbox virtual); «тихий» virtual pad нельзя выбирать заранее.
44
44
 
45
- Приоритет: `steam-deck` → `playstation` → `nintendo` → `firefox` → `standard`.
45
+ Поэтому плагин:
46
+
47
+ 1. Если пад один — сразу его профиль.
48
+ 2. Если падов несколько — ждёт **первое реальное нажатие** и lock на тот `gamepad.index`, который его прислал (не на ghost Steam Input).
49
+ 3. Дальше игнорирует события с других index; mapping только для locked-пада.
50
+
51
+ Приоритет профиля: `steam-deck` → `playstation` → `nintendo` → `firefox` → `standard`.
52
+
53
+ Сырой дамп кнопок для отладки — отдельный view-плагин [gamepad.debug](../views/gamepad.debug.md) (toggle в Extra).
46
54
 
47
55
  | Профиль | Когда | Что делает |
48
56
  |---------|-------|------------|
49
- | `standard` | по умолчанию | identity (сырой индекс = logical `button_N`) |
50
- | `steam-deck` | `mapping !== "standard"` и id Deck/Steam (`steam deck` / `valve` / `jupiter` / `28de`) | raw HID Deck → W3C |
51
- | `playstation` | `mapping !== "standard"` и id PS (`dualsense` / `dualshock` / `054c` / …) | raw Square-first layout → W3C |
52
- | `nintendo` | id Nintendo/Switch (`nintendo` / `switch` / `057e` / …), в т.ч. при `standard` | A/B и X/Y под Nintendo confirm |
57
+ | `standard` | по умолчанию; preferred с `mapping: "standard"` | identity |
58
+ | `steam-deck` | preferred без standard + id Deck/Steam (`28de` / `valve` / …) или `?steamDeck=1` | raw HID Deck → W3C |
59
+ | `playstation` | `mapping !== "standard"` и id PS | raw Square-first → W3C |
60
+ | `nintendo` | id Nintendo/Switch, в т.ч. при `standard` | A/B и X/Y под Nintendo confirm |
53
61
  | `firefox` | Firefox UA и не сработал device-профиль | индексы из доки joypad.js |
54
62
 
55
- Если Steam Input / браузер отдаёт корректный `STANDARD GAMEPAD` для Xbox/PS — обычно остаётся `standard` (для PS при `mapping === "standard"` playstation-профиль не включается).
63
+ Electron при `STEAM_DECK=1` добавляет `?steamDeck=1`.
56
64
 
57
65
  Все маппинги — объект `CUSTOM_BUTTON_MAPPING` в `plugins/controls/gamepad/src/profiles/custom-button-mapping.ts`:
58
66
 
@@ -0,0 +1,51 @@
1
+ # plugins/views/gamepad.debug/
2
+
3
+ Пакет: `@vnejs/plugins.views.gamepad.debug` · namespace: `GAMEPAD_DEBUG`
4
+
5
+ Оверлей сырых данных Gamepad API (пады, pressed indices) для отладки. Включается настройкой.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ |------|--------|-------|
11
+ | `SHOW` | `vne:gamepad.debug:show` | Показать UI. |
12
+ | `HIDE` | `vne:gamepad.debug:hide` | Скрыть UI. |
13
+ | `UPDATE` | `vne:gamepad.debug:update` | Обновить отображение. |
14
+ | `CHANGE` | `vne:gamepad.debug:change` | Новый текст дампа. |
15
+
16
+ ## Константы
17
+
18
+ Нет.
19
+
20
+ ## Параметры
21
+
22
+ | Ключ | Тип | Смысл |
23
+ |------|-----|-------|
24
+ | `TRANSITION` | number | Анимация show/hide. |
25
+ | `ZINDEX` | number | Слой поверх UI. |
26
+ | `VIEW_PROPS` | object | Позиция справа (`top`/`right`), props View/Wrap/Text. |
27
+
28
+ ## Настройки
29
+
30
+ | Ключ | Тип | Смысл |
31
+ |------|-----|-------|
32
+ | `ENABLED` (`vne:gamepad.debug:enabled`) | `boolean` | Показать оверлей. |
33
+
34
+ ## Модули
35
+
36
+ | Модуль | Зона ответственности |
37
+ |--------|----------------------|
38
+ | `gamepad.debug.controller` | SHOW/HIDE/CHANGE → state/view. |
39
+ | `gamepad.debug` | SETTINGS + rAF poll `navigator.getGamepads()`. |
40
+ | `gamepad.debug.view` | React-оверлей. |
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
+ - [fps.md](./fps.md) — аналогичный view-плагин с toggle