@vnejs/docs 0.2.53 → 0.2.55
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/CHANGELOG.md +24 -1
- package/architecture.md +22 -22
- package/package.json +1 -1
- package/plugins/canvas.layers/bl.md +8 -3
- package/plugins/canvas.layers/fl.md +8 -3
- package/plugins/canvas.layers/ml.md +8 -3
- package/plugins/canvas.layers/ul.md +8 -3
- package/plugins/controls/controls.md +4 -4
- package/plugins/controls/cursor.md +15 -12
- package/plugins/core/components.md +2 -1
- package/plugins/views/achievement.md +14 -9
- package/plugins/views/comment.md +10 -7
- package/plugins/views/controls.hints.md +12 -7
- package/plugins/views/fps.md +9 -6
- package/plugins/views/gamepad.debug.md +9 -6
- package/plugins/views/settings.md +4 -3
- package/plugins/views/video.md +13 -10
- package/plugins/views.scenario/choose.md +11 -11
- package/plugins/views.scenario/interface.controls.md +14 -11
- package/plugins/views.scenario/interface.fastforward.md +10 -7
- package/plugins/views.scenario/interface.md +23 -20
- package/plugins/views.scenario/point_and_click.md +16 -14
- package/plugins/views.scenario/qte.md +33 -35
- package/plugins/views.screens/checkers.md +1 -1
- package/plugins/views.screens/confirm.md +6 -5
- package/plugins/views.screens/credits.md +17 -14
- package/plugins/views.screens/disclaimer.md +14 -11
- package/plugins/views.screens/eula.md +4 -3
- package/plugins/views.screens/gallery.full.md +8 -5
- package/plugins/views.screens/gallery.md +9 -9
- package/plugins/views.screens/gamemenu.md +5 -4
- package/plugins/views.screens/history.md +5 -4
- package/plugins/views.screens/intro.md +17 -17
- package/plugins/views.screens/loading.md +15 -15
- package/plugins/views.screens/mainmenu.md +18 -19
- package/plugins/views.screens/mainmenu.socials.md +6 -3
- package/plugins/views.screens/save.md +10 -10
- package/plugins/views.screens/settings.defaults.md +17 -17
- package/plugins/views.screens/settings.md +15 -15
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
Краткая история изменений движка (плагины, helpers, packages, CLI и прочий runtime) и внешнего API. Версии — релизы пакета `@vnejs/docs`.
|
|
4
4
|
|
|
5
|
+
## 0.2.55
|
|
6
|
+
|
|
7
|
+
- `observer` — `SubscriberOptions.breakFollowing`: truthy-результат обработчика не запускает следующие группы приоритетов. API: `SubscriberOptions.breakFollowing`.
|
|
8
|
+
- `core/components`, `module.components` — фаза `SETUP` переименована в `GATE`. На `GATE` контроллер возвращает `state.isShow` (`SHOW`) или `!state.isShow` (`HIDE`) и с `breakFollowing` обрывает остальные фазы, если цикл не начался. Лог `SHOW` / `HIDE` пишется на `BEFORE`. Сняты `showCycle` и `hideCycle`. API: `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.GATE`, `CONST.COMPONENTS.LIFECYCLE_PRIORITY.HIDE.GATE`. Сняты `ModuleController.showCycle`, `ModuleController.hideCycle`.
|
|
9
|
+
- `module.components` — `ModuleController` больше не сохраняет и не вызывает `onClose` из payload `SHOW`. API: сняты `ModuleController.onClose`, `ViewActionPayload.onClose`.
|
|
10
|
+
- `views/comment`, `views.screens/confirm` — таймер автоскрытия и колбэки accept/decline снимаются на `HIDE.MAIN`. Если контроллер оборвал `HIDE` на `GATE`, очистка не выполняется. В `COMMENT.SHOW` и `CONFIRM.SHOW` не передаётся `onClose`.
|
|
11
|
+
- `module.components` — `ModuleController.EVENT_SHOW` и `ModuleController.EVENT_HIDE` обязательны, жизненный цикл SHOW/HIDE подписывается всегда. API: `ModuleController.EVENT_SHOW`, `ModuleController.EVENT_HIDE`.
|
|
12
|
+
- `views/achievement`, `views/controls.hints`, `canvas.layers/bl`, `canvas.layers/fl`, `canvas.layers/ml`, `canvas.layers/ul` — добавлены `SHOW` / `HIDE`. API: `EVENTS.ACHIEVEMENT.SHOW`, `EVENTS.ACHIEVEMENT.HIDE`, `EVENTS.CONTROLS_HINTS.SHOW`, `EVENTS.CONTROLS_HINTS.HIDE`, `EVENTS.LAYER_BL.SHOW`, `EVENTS.LAYER_BL.HIDE`, `EVENTS.LAYER_FL.SHOW`, `EVENTS.LAYER_FL.HIDE`, `EVENTS.LAYER_ML.SHOW`, `EVENTS.LAYER_ML.HIDE`, `EVENTS.LAYER_UL.SHOW`, `EVENTS.LAYER_UL.HIDE`.
|
|
13
|
+
- `module.controller.accept`, `module.controller.arrows.vertical`, `module.controller.arrows.horizontal`, `module.controller.arrows.grid`, `module.controller.hide.on.controls`, `module.controller.backgrounds`, `module.controller.bg`, `module.controller.preload`, `module.controller.audio`, `module.controller.tabs` — `isShow` пишется в стейт на показе и снимается на скрытии. Повторный `SHOW` и `HIDE` без показа обрывает контроллер на `GATE`. API: `state.isShow`.
|
|
14
|
+
- `core/components` — фазы показа и скрытия view: `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW` (`GATE`, `BEFORE`, `MAIN`, `CONTROLS`, `AFTER`, `CLEANUP`) и `CONST.COMPONENTS.LIFECYCLE_PRIORITY.HIDE` (`GATE`, `BEFORE`, `CONTROLS`, `MAIN`, `AFTER`, `CLEANUP`). Сдвиг внутри фазы — `± 1`. API: `CONST.COMPONENTS.LIFECYCLE_PRIORITY`.
|
|
15
|
+
- `module.components` — обязательное `ModuleController.EVENT_UPDATE_FORCE` подписывается на `updateViewForce`. `ModuleController.CONTROLS_EXTENSIONS` (по умолчанию `{}`) в `init` сливается в `CONTROLS`. API: `ModuleController.EVENT_UPDATE_FORCE`, `ModuleController.CONTROLS_EXTENSIONS`.
|
|
16
|
+
- view-контракты — добавлен `UPDATE_FORCE` (`*:update_force`), payload как у `UPDATE_FAST`: `EVENTS.GALLERY.UPDATE_FORCE`, `EVENTS.SAVE_VIEW.UPDATE_FORCE`, `EVENTS.SETTINGS_SCREEN_VIEW.UPDATE_FORCE`, `EVENTS.SETTINGS_DEFAULT_VIEW.UPDATE_FORCE`, `EVENTS.SETTINGS_VIEW.UPDATE_FORCE`, `EVENTS.CHOOSE_VIEW.UPDATE_FORCE`, `EVENTS.EULA.UPDATE_FORCE`, `EVENTS.CONFIRM.UPDATE_FORCE`, `EVENTS.HISTORY_VIEW.UPDATE_FORCE`, `EVENTS.GAMEMENU.UPDATE_FORCE`, `EVENTS.CHECKERS_VIEW.UPDATE_FORCE`, `EVENTS.INTRO.UPDATE_FORCE`, `EVENTS.LOADING.UPDATE_FORCE`, `EVENTS.VIDEO.UPDATE_FORCE`, `EVENTS.COMMENT.UPDATE_FORCE`, `EVENTS.ACHIEVEMENT.UPDATE_FORCE`, `EVENTS.FPS.UPDATE_FORCE`, `EVENTS.CONTROLS_HINTS.UPDATE_FORCE`, `EVENTS.GAMEPAD_DEBUG.UPDATE_FORCE`, `EVENTS.CREDITS.UPDATE_FORCE`, `EVENTS.DISCLAIMER.UPDATE_FORCE`, `EVENTS.GALLERY_FULL_VIEW.UPDATE_FORCE`, `EVENTS.MAINMENU_SOCIALS_VIEW.UPDATE_FORCE`, `EVENTS.INTERFACE.UPDATE_FORCE`, `EVENTS.INTERFACE_CONTROLS_VIEW.UPDATE_FORCE`, `EVENTS.INTERFACE_FASTFORWARD_VIEW.UPDATE_FORCE`, `EVENTS.POINT_AND_CLICK_VIEW.UPDATE_FORCE`, `EVENTS.QTE_VIEW.UPDATE_FORCE`, `EVENTS.LAYER_BL.UPDATE_FORCE`, `EVENTS.LAYER_FL.UPDATE_FORCE`, `EVENTS.LAYER_ML.UPDATE_FORCE`, `EVENTS.LAYER_UL.UPDATE_FORCE`, `EVENTS.CURSOR.UPDATE_FORCE`. У главного меню событие уже было: `EVENTS.MAINMENU.UPDATE_FORCE`.
|
|
17
|
+
- `module.components` — сняты хуки `ModuleController.beforeShow`, `ModuleController.afterShow`, `ModuleController.beforeHide`, `ModuleController.afterHide`. Контроллер подписывается на свои `EVENT_SHOW` / `EVENT_HIDE` по фазам. На `HIDE.CLEANUP` — `setDefaultState`, если `ModuleController.SHOULD_CLEAR_STATE_ON_CLEANUP` (по умолчанию `true`; `false` у `cursor.controller` и `interface.controller`). Обязательные `EVENT_UPDATE_STATE` и `EVENT_UPDATE_FAST`: `UPDATE_STATE` сливает partial в стейт, `UPDATE_FAST` вызывает `updateViewFast`. `EVENTS.COMPONENTS.EXTERNAL_UPDATE` в базе: `state.isShow && updateViewFast()`. API: `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.CLEANUP`, `CONST.COMPONENTS.LIFECYCLE_PRIORITY.HIDE.CLEANUP`, `ModuleController.SHOULD_CLEAR_STATE_ON_CLEANUP`.
|
|
18
|
+
- `module.components` — с базового `ModuleController` снята навигация по `currentItem` (`incCurrentItem`, `decCurrentItem`, `setCurrentItem`, `unsetCurrentItem`, сброс на `SHOW.GATE` и `HIDE.CLEANUP + 1`). Индекс пункта — `currentArrowVerticalItem` / `currentArrowHorizontalItem` в `@vnejs/module.controller.arrows.vertical` и `@vnejs/module.controller.arrows.horizontal`. API: сняты `ModuleController.currentItem`, `ModuleController.maxCurrentItem`, `ModuleController.incCurrentItem`, `ModuleController.decCurrentItem`, `ModuleController.setCurrentItem`, `ModuleController.unsetCurrentItem`, `ModuleControllerState.currentItem`.
|
|
19
|
+
- view-контракты — `STATE_UPDATE` переименован в `UPDATE_STATE` (`*:state_update` → `*:update_state`): `EVENTS.GALLERY.UPDATE_STATE`, `EVENTS.MAINMENU.UPDATE_STATE`, `EVENTS.INTRO.UPDATE_STATE`, `EVENTS.LOADING.UPDATE_STATE`, `EVENTS.SAVE_VIEW.UPDATE_STATE`, `EVENTS.SETTINGS_SCREEN_VIEW.UPDATE_STATE`, `EVENTS.SETTINGS_DEFAULT_VIEW.UPDATE_STATE`, `EVENTS.SETTINGS_VIEW.UPDATE_STATE`, `EVENTS.CHOOSE_VIEW.UPDATE_STATE`, `EVENTS.EULA.UPDATE_STATE`, `EVENTS.CONFIRM.UPDATE_STATE`, `EVENTS.HISTORY_VIEW.UPDATE_STATE`, `EVENTS.GAMEMENU.UPDATE_STATE`, `EVENTS.CHECKERS_VIEW.UPDATE_STATE`. Добавлены `UPDATE_STATE` и `UPDATE_FAST`: `EVENTS.VIDEO.UPDATE_STATE`, `EVENTS.VIDEO.UPDATE_FAST`, `EVENTS.COMMENT.UPDATE_STATE`, `EVENTS.COMMENT.UPDATE_FAST`, `EVENTS.ACHIEVEMENT.UPDATE_STATE`, `EVENTS.ACHIEVEMENT.UPDATE_FAST`, `EVENTS.FPS.UPDATE_STATE`, `EVENTS.FPS.UPDATE_FAST`, `EVENTS.CONTROLS_HINTS.UPDATE_STATE`, `EVENTS.CONTROLS_HINTS.UPDATE_FAST`, `EVENTS.GAMEPAD_DEBUG.UPDATE_STATE`, `EVENTS.GAMEPAD_DEBUG.UPDATE_FAST`, `EVENTS.CREDITS.UPDATE_STATE`, `EVENTS.CREDITS.UPDATE_FAST`, `EVENTS.DISCLAIMER.UPDATE_STATE`, `EVENTS.DISCLAIMER.UPDATE_FAST`, `EVENTS.GALLERY_FULL_VIEW.UPDATE_STATE`, `EVENTS.GALLERY_FULL_VIEW.UPDATE_FAST`, `EVENTS.MAINMENU_SOCIALS_VIEW.UPDATE_STATE`, `EVENTS.MAINMENU_SOCIALS_VIEW.UPDATE_FAST`, `EVENTS.INTERFACE.UPDATE_STATE`, `EVENTS.INTERFACE.UPDATE_FAST`, `EVENTS.INTERFACE_CONTROLS_VIEW.UPDATE_STATE`, `EVENTS.INTERFACE_CONTROLS_VIEW.UPDATE_FAST`, `EVENTS.INTERFACE_FASTFORWARD_VIEW.UPDATE_STATE`, `EVENTS.INTERFACE_FASTFORWARD_VIEW.UPDATE_FAST`, `EVENTS.POINT_AND_CLICK_VIEW.UPDATE_STATE`, `EVENTS.POINT_AND_CLICK_VIEW.UPDATE_FAST`, `EVENTS.QTE_VIEW.UPDATE_STATE`, `EVENTS.QTE_VIEW.UPDATE_FAST`, `EVENTS.LAYER_BL.UPDATE_STATE`, `EVENTS.LAYER_BL.UPDATE_FAST`, `EVENTS.LAYER_FL.UPDATE_STATE`, `EVENTS.LAYER_FL.UPDATE_FAST`, `EVENTS.LAYER_ML.UPDATE_STATE`, `EVENTS.LAYER_ML.UPDATE_FAST`, `EVENTS.LAYER_UL.UPDATE_STATE`, `EVENTS.LAYER_UL.UPDATE_FAST`, `EVENTS.CURSOR.UPDATE_STATE`, `EVENTS.CURSOR.UPDATE_FAST`.
|
|
20
|
+
- `module.controller.bg` — загрузка фона на `SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE`; флаг `isShow` на `MAIN`. Снято `EVENT_SHOW_BEFORE`.
|
|
21
|
+
- `module.controller.accept`, `module.controller.arrows.vertical`, `module.controller.arrows.horizontal`, `module.controller.arrows.grid`, `module.controller.tabs`, `module.controller.hide.on.controls` — PUSH/POP на фазе `CONTROLS`.
|
|
22
|
+
- `module.controller.audio`, `module.controller.backgrounds` — SHOW/HIDE на `AFTER`. `module.controller.preload` — SHOW на `BEFORE`.
|
|
23
|
+
- `views.screens/gallery`, `views.screens/mainmenu`, `views.screens/intro`, `views.screens/loading`, `views.screens/save`, `views.screens/settings`, `views.screens/settings.defaults`, `views.scenario/choose`, `views.scenario/qte`, `views.scenario/point_and_click` — снято событие `SHOW_BEFORE`. Подготовка экрана — подписка на `SHOW` с `CONST.COMPONENTS.LIFECYCLE_PRIORITY.SHOW.BEFORE`. API: сняты `EVENTS.GALLERY.SHOW_BEFORE`, `EVENTS.MAINMENU.SHOW_BEFORE`, `EVENTS.INTRO.SHOW_BEFORE`, `EVENTS.LOADING.SHOW_BEFORE`, `EVENTS.SAVE_VIEW.SHOW_BEFORE`, `EVENTS.SETTINGS_SCREEN_VIEW.SHOW_BEFORE`, `EVENTS.SETTINGS_DEFAULT_VIEW.SHOW_BEFORE`, `EVENTS.CHOOSE_VIEW.SHOW_BEFORE`, `EVENTS.QTE_VIEW.SHOW_BEFORE`, `EVENTS.POINT_AND_CLICK_VIEW.SHOW_BEFORE`.
|
|
24
|
+
|
|
5
25
|
## 0.2.53
|
|
6
26
|
|
|
27
|
+
- `module.controller.hide.on.controls`, `module.controller.accept`, `module.controller.arrows.*` — PUSH/POP controls только при смене локального `isShow` (как у `ModuleController`), без лишнего POP на HIDE до SHOW.
|
|
28
|
+
- `controls/controls` — флаг блокировки EMIT в `shared.isControlsLocked` (инициализация в `controls.postinject`); при `CONTROLS.EMIT` в консоль пишется список `keys`.
|
|
7
29
|
- `controls/cursor` — DOM-клик с тача эмитит `CURSOR.HIDE` (сам клик с `pointerType === "touch"`, клик после `pointerdown` с тача, либо `sourceCapabilities.firesTouchEvents`).
|
|
8
30
|
- `uis.react` — `vne-cursor-target` ставится только на узлы с `vne-cursor-target-possible` (тот же момент, что непустой `vne-cursor-type`). API: `vne-cursor-target-possible`.
|
|
9
|
-
- `views.screens/checkers
|
|
31
|
+
- `views.screens/checkers` — клетки доски помечаются `vne-cursor-target-possible`.
|
|
32
|
+
- `views.scenario/qte` — дефолтный UI: горизонтальная линия и маркер слева направо вместо круга; rail QTE с `vne-cursor-target-possible`. Авто-fail только в конце `duration`, не при выходе маркера из зоны. Фазы `intro` / `outro` сняты; показ и скрытие только через `Screen` (`TRANSITION`). API сценария `start` / `size` / `duration` без изменений.
|
|
10
33
|
- `module` — `setStateFromGlobalState` → `setClonedState`: `setState(structuredClone(getStateSlice(payload)))`. `getStateSlice`: нет слайса в payload → `getDefaultState()` (пустые модули вырезаются из сейва). API: `setClonedState`, `getStateSlice`.
|
|
11
34
|
- `module.core` — снят `onSetStateClone`; вместо него `setClonedState`. Снят `emitClone`; вместо него `structuredClone`. Снят `emitInteractPushPop`; вместо него `emit(EVENTS.INTERACT.PUSH_POP, …)`. API: снято `ModuleCore.onSetStateClone`, `ModuleCore.emitClone`, `ModuleCore.emitInteractPushPop`.
|
|
12
35
|
- `core/logs` — доп. поля `LogsValue` — `LogsCloneable` (строки, числа, boolean, bigint, null, массивы, plain-object), не `unknown`. API: `LogsCloneable`, `LogsValue`.
|
package/architecture.md
CHANGED
|
@@ -166,28 +166,28 @@ flowchart TD
|
|
|
166
166
|
MCO --> ML
|
|
167
167
|
```
|
|
168
168
|
|
|
169
|
-
| Пакет | Назначение
|
|
170
|
-
| ------------------------------------------------ |
|
|
171
|
-
| **`@vnejs/module`** | **`Module`**: `VNE`, `on`/`emit`, `inject`, state, shared, media, lifecycle
|
|
172
|
-
| **`@vnejs/module.core`** | **`ModuleCore`** — типизированный доступ к **core-контрактам**
|
|
173
|
-
| **`@vnejs/module.replace`** | **`ModuleReplace`** — последовательная подмена значения поля payload через `REPLACE_KEY` и цепочку handlers
|
|
174
|
-
| **`@vnejs/module.replace.exec`** | **`ModuleReplaceExec`** — реестр exec-handlers по имени модуля (`EXEC_REG` / `EXEC_GET`)
|
|
175
|
-
| **`@vnejs/module.components`** | **`ModuleView`**, **`ModuleController`** — React-view, zustand, media, controls
|
|
176
|
-
| **`@vnejs/module.layer`** | Canvas layers: controller, image, sprite, text, video, props, view
|
|
177
|
-
| **`@vnejs/module.audio`** | База для audio-плагинов scenario-слоёв (`music` / `sound` / …)
|
|
178
|
-
| **`@vnejs/module.controller.audio`** | Overlay-BGM для view-экранов: pause global / play `view` / resume на SHOW/HIDE/PRELOAD
|
|
179
|
-
| **`@vnejs/module.controller.tabs`** | Навигация по вкладкам: TAB_PREV/TAB_NEXT → `TAB_SET`; guard + `applyTab` (`
|
|
180
|
-
| **`@vnejs/module.controller.preload`** | Предзагрузка меток и событий экрана
|
|
181
|
-
| **`@vnejs/module.controller.backgrounds`** | Ротация списка фонов
|
|
182
|
-
| **`@vnejs/module.controller.bg`** | Статичный фон экрана:
|
|
183
|
-
| **`@vnejs/module.controller.accept`** | ACCEPT / INTERACT → событие ACCEPT плагина; PUSH/POP controls на SHOW/HIDE
|
|
184
|
-
| **`@vnejs/module.controller.arrows.vertical`** | ARROW_UP / ARROW_BOTTOM по видимым пунктам; PUSH/POP controls на SHOW/HIDE
|
|
185
|
-
| **`@vnejs/module.controller.arrows.horizontal`** | ARROW_LEFT / ARROW_RIGHT по пунктам; PUSH/POP controls на SHOW/HIDE
|
|
186
|
-
| **`@vnejs/module.controller.arrows.grid`** | Четыре стрелки по сетке; `GRID_NEXT` / `GRID_PREV` на краю; PUSH/POP на SHOW/HIDE
|
|
187
|
-
| **`@vnejs/module.controller.pages`** | Пагинация: `PAGE_SET` / `PAGE_NEXT` / `PAGE_PREV` → `setPage` →
|
|
188
|
-
| **`@vnejs/module.controller.hide.on.state`** | STATE.SET / STATE.CLEAR → emit HIDE плагина (`isForce` задаёт наследник)
|
|
189
|
-
| **`@vnejs/module.controller.hide.on.controls`** | BACK / MENU / GAMEMENU → emit HIDE плагина; PUSH/POP controls на SHOW/HIDE
|
|
190
|
-
| **`@vnejs/module.scales.common`** | База для scales / RPG-модулей
|
|
169
|
+
| Пакет | Назначение |
|
|
170
|
+
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
171
|
+
| **`@vnejs/module`** | **`Module`**: `VNE`, `on`/`emit`, `inject`, state, shared, media, lifecycle |
|
|
172
|
+
| **`@vnejs/module.core`** | **`ModuleCore`** — типизированный доступ к **core-контрактам** |
|
|
173
|
+
| **`@vnejs/module.replace`** | **`ModuleReplace`** — последовательная подмена значения поля payload через `REPLACE_KEY` и цепочку handlers |
|
|
174
|
+
| **`@vnejs/module.replace.exec`** | **`ModuleReplaceExec`** — реестр exec-handlers по имени модуля (`EXEC_REG` / `EXEC_GET`) |
|
|
175
|
+
| **`@vnejs/module.components`** | **`ModuleView`**, **`ModuleController`** — React-view, zustand, media, controls. SHOW/HIDE по `CONST.COMPONENTS.LIFECYCLE_PRIORITY`; `UPDATE_STATE`, `UPDATE_FAST`, `EXTERNAL_UPDATE` (`isShow` → `updateViewFast`) |
|
|
176
|
+
| **`@vnejs/module.layer`** | Canvas layers: controller, image, sprite, text, video, props, view |
|
|
177
|
+
| **`@vnejs/module.audio`** | База для audio-плагинов scenario-слоёв (`music` / `sound` / …) |
|
|
178
|
+
| **`@vnejs/module.controller.audio`** | Overlay-BGM для view-экранов: pause global / play `view` / resume на `SHOW.AFTER` / `HIDE.AFTER` / PRELOAD |
|
|
179
|
+
| **`@vnejs/module.controller.tabs`** | Навигация по вкладкам: TAB_PREV/TAB_NEXT → `TAB_SET`; guard + `applyTab` (`UPDATE_STATE` `{ tab }`) + abstract `onTabSet`; вкладка на `SHOW.BEFORE`, PUSH/POP на `CONTROLS` |
|
|
180
|
+
| **`@vnejs/module.controller.preload`** | Предзагрузка меток и событий экрана на `SHOW.BEFORE` / PRELOAD / MEMORY.CLEARED; SHOW/HIDE/PRELOAD задаёт плагин |
|
|
181
|
+
| **`@vnejs/module.controller.backgrounds`** | Ротация списка фонов на `SHOW.AFTER` / таймеру / MEMORY.CLEARED; стоп на `HIDE.AFTER`; события и список задаёт плагин |
|
|
182
|
+
| **`@vnejs/module.controller.bg`** | Статичный фон экрана: `SHOW.BEFORE` пишет `bgSrc` через `UPDATE_STATE`; `isShow` на `SHOW.MAIN` / `HIDE.MAIN`; опционально PRELOAD / start / STATE.CLEAR; MEMORY.CLEARED — preload и/или refresh при isShow |
|
|
183
|
+
| **`@vnejs/module.controller.accept`** | ACCEPT / INTERACT → событие ACCEPT плагина; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS` |
|
|
184
|
+
| **`@vnejs/module.controller.arrows.vertical`** | ARROW_UP / ARROW_BOTTOM по видимым пунктам; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`; индекс через `UPDATE_STATE` |
|
|
185
|
+
| **`@vnejs/module.controller.arrows.horizontal`** | ARROW_LEFT / ARROW_RIGHT по пунктам; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS`; индекс через `UPDATE_STATE` |
|
|
186
|
+
| **`@vnejs/module.controller.arrows.grid`** | Четыре стрелки по сетке; `GRID_NEXT` / `GRID_PREV` на краю; PUSH/POP на `SHOW.CONTROLS` / `HIDE.CONTROLS`; `GRID_UPDATE_ITEMS` без payload, meta через `UPDATE_STATE` |
|
|
187
|
+
| **`@vnejs/module.controller.pages`** | Пагинация: `PAGE_SET` / `PAGE_NEXT` / `PAGE_PREV` → `setPage` → `UPDATE_STATE` (`pageIndex`) + abstract `applyPage` + `UPDATE_FAST` |
|
|
188
|
+
| **`@vnejs/module.controller.hide.on.state`** | STATE.SET / STATE.CLEAR → emit HIDE плагина (`isForce` задаёт наследник) |
|
|
189
|
+
| **`@vnejs/module.controller.hide.on.controls`** | BACK / MENU / GAMEMENU → emit HIDE плагина; PUSH/POP controls на `SHOW.CONTROLS` / `HIDE.CONTROLS` |
|
|
190
|
+
| **`@vnejs/module.scales.common`** | База для scales / RPG-модулей |
|
|
191
191
|
|
|
192
192
|
### Принципы
|
|
193
193
|
|
package/package.json
CHANGED
|
@@ -8,9 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.canvas.layers.bl`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | --------------------------- | ----------------------------------------------- |
|
|
13
|
+
| `SHOW` | `vne:layer_bl:show` | Показать UI или слой. |
|
|
14
|
+
| `HIDE` | `vne:layer_bl:hide` | Скрыть UI или слой. |
|
|
15
|
+
| `UPDATE` | `vne:layer_bl:update` | Обновить состояние или отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:layer_bl:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:layer_bl:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:layer_bl:update_state` | Слить partial в стейт контроллера. |
|
|
14
19
|
|
|
15
20
|
## Константы
|
|
16
21
|
|
|
@@ -8,9 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.canvas.layers.fl`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | --------------------------- | ----------------------------------------------- |
|
|
13
|
+
| `SHOW` | `vne:layer_fl:show` | Показать UI или слой. |
|
|
14
|
+
| `HIDE` | `vne:layer_fl:hide` | Скрыть UI или слой. |
|
|
15
|
+
| `UPDATE` | `vne:layer_fl:update` | Обновить состояние или отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:layer_fl:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:layer_fl:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:layer_fl:update_state` | Слить partial в стейт контроллера. |
|
|
14
19
|
|
|
15
20
|
## Константы
|
|
16
21
|
|
|
@@ -8,9 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.canvas.layers.ml`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | --------------------------- | ----------------------------------------------- |
|
|
13
|
+
| `SHOW` | `vne:layer_ml:show` | Показать UI или слой. |
|
|
14
|
+
| `HIDE` | `vne:layer_ml:hide` | Скрыть UI или слой. |
|
|
15
|
+
| `UPDATE` | `vne:layer_ml:update` | Обновить состояние или отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:layer_ml:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:layer_ml:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:layer_ml:update_state` | Слить partial в стейт контроллера. |
|
|
14
19
|
|
|
15
20
|
## Константы
|
|
16
21
|
|
|
@@ -8,9 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.canvas.layers.ul`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | --------------------------- | ----------------------------------------------- |
|
|
13
|
+
| `SHOW` | `vne:layer_ul:show` | Показать UI или слой. |
|
|
14
|
+
| `HIDE` | `vne:layer_ul:hide` | Скрыть UI или слой. |
|
|
15
|
+
| `UPDATE` | `vne:layer_ul:update` | Обновить состояние или отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:layer_ul:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:layer_ul:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:layer_ul:update_state` | Слить partial в стейт контроллера. |
|
|
14
19
|
|
|
15
20
|
## Константы
|
|
16
21
|
|
|
@@ -35,10 +35,10 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
35
35
|
|
|
36
36
|
## Модули
|
|
37
37
|
|
|
38
|
-
| Модуль | Зона ответственности
|
|
39
|
-
| ----------------- |
|
|
40
|
-
| `controls` | Обрабатывает EMIT, PUSH, POP.
|
|
41
|
-
| `controls.device` | Хранит `currentDevice`; на `DEVICE_SET` эмитит `DEVICE_CHANGED` только при реальной смене.
|
|
38
|
+
| Модуль | Зона ответственности |
|
|
39
|
+
| ----------------- | --------------------------------------------------------------------------------------------------- |
|
|
40
|
+
| `controls` | Обрабатывает EMIT, PUSH, POP; во время async-обработчика EMIT выставляет `shared.isControlsLocked`. |
|
|
41
|
+
| `controls.device` | Хранит `currentDevice`; на `DEVICE_SET` эмитит `DEVICE_CHANGED` только при реальной смене. |
|
|
42
42
|
|
|
43
43
|
Источники `DEVICE_SET`: keyboard (keydown) → keyboard; `controls.gamepad.device` (button_press / axis_move) → xbox|playstation по `gamepad.id`; cursor (`mousemove`) → keyboard.
|
|
44
44
|
|
|
@@ -8,18 +8,21 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.controls.cursor`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `SHOW`
|
|
14
|
-
| `HIDE`
|
|
15
|
-
| `UPDATE`
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | ------------------------- | ------------------------------------------------------------ |
|
|
13
|
+
| `SHOW` | `vne:cursor:show` | Показать UI или слой. |
|
|
14
|
+
| `HIDE` | `vne:cursor:hide` | Скрыть UI или слой. |
|
|
15
|
+
| `UPDATE` | `vne:cursor:update` | Обновить состояние или отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:cursor:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:cursor:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:cursor:update_state` | Слить partial в стейт контроллера. |
|
|
19
|
+
| `CLICK` | `vne:cursor:click` | Событие `CLICK` namespace плагина. |
|
|
20
|
+
| `VIEW_SET` | `vne:cursor:view_set` | Записать или обновить значение. |
|
|
21
|
+
| `MOVE` | `vne:cursor:move` | Событие `MOVE` namespace плагина. |
|
|
22
|
+
| `MOVED` | `vne:cursor:moved` | Событие `MOVED` namespace плагина. |
|
|
23
|
+
| `SET_X_Y` | `vne:cursor:set_x_y` | Установить позицию курсора (`{ x?, y? }`) с clamp и `MOVED`. |
|
|
24
|
+
| `SHIFT` | `vne:cursor:shift` | Сдвиг позиции курсора (`{ x?, y? }`). |
|
|
25
|
+
| `SCROLL` | `vne:cursor:scroll` | Скролл ближайшего scrollable под курсором (`{ x?, y? }`). |
|
|
23
26
|
|
|
24
27
|
## Константы
|
|
25
28
|
|
|
@@ -13,12 +13,13 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
13
13
|
| `RENDER` | `vne:components:render` | Запрос на отрисовку: создаётся дочерний контейнер, вызывается переданная `renderFunc`; завершение — когда компонент вызовет `onMount`. |
|
|
14
14
|
| `INJECT` | `vne:components:inject` | Прогон значения через все зарегистрированные inject-обработчики по очереди; возвращает массив результатов. |
|
|
15
15
|
| `INJECT_REG` | `vne:components:inject_reg` | Регистрация нового inject-обработчика в цепочку. |
|
|
16
|
-
| `EXTERNAL_UPDATE` | `vne:components:external_update` | Запрос на
|
|
16
|
+
| `EXTERNAL_UPDATE` | `vne:components:external_update` | Запрос на обновление UI. `ModuleController` отвечает `state.isShow && updateViewFast()`. |
|
|
17
17
|
|
|
18
18
|
## Константы
|
|
19
19
|
|
|
20
20
|
- **`LOGS_ACTIONS.RENDER`** — `"render"`: метка действия для логов при рендере.
|
|
21
21
|
- **`LOGS_ACTIONS.SHOW` / `HIDE`** — `"show"` / `"hide"`: метки для `ModuleController` (show/hide view).
|
|
22
|
+
- **`LIFECYCLE_PRIORITY.SHOW` / `HIDE`** — фазы `GATE`, `BEFORE`, `MAIN`, `CONTROLS`, `AFTER`, `CLEANUP`. На `GATE` `ModuleController` решает, продолжать ли остальные фазы. На `HIDE.CLEANUP` вызывает `setDefaultState`, если `SHOULD_CLEAR_STATE_ON_CLEANUP`.
|
|
22
23
|
|
|
23
24
|
## Параметры
|
|
24
25
|
|
|
@@ -8,15 +8,20 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.achievement`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `CLEAR`
|
|
14
|
-
| `LOAD`
|
|
15
|
-
| `UNLOCK`
|
|
16
|
-
| `APPEND`
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | ------------------------------ | ----------------------------------------------------- |
|
|
13
|
+
| `CLEAR` | `vne:achievement:clear` | Очистить накопленное состояние. |
|
|
14
|
+
| `LOAD` | `vne:achievement:load` | Загрузить данные или ресурс. |
|
|
15
|
+
| `UNLOCK` | `vne:achievement:unlock` | Запросить данные у обработчиков и продолжить цепочку. |
|
|
16
|
+
| `APPEND` | `vne:achievement:append` | Событие `APPEND` namespace плагина. |
|
|
17
|
+
| `SHOW` | `vne:achievement:show` | Показать UI или слой. |
|
|
18
|
+
| `HIDE` | `vne:achievement:hide` | Скрыть UI или слой. |
|
|
19
|
+
| `UPDATE` | `vne:achievement:update` | Обновить состояние или отображение. |
|
|
20
|
+
| `UPDATE_FAST` | `vne:achievement:update_fast` | Быстрое обновление отображения. |
|
|
21
|
+
| `UPDATE_FORCE` | `vne:achievement:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
22
|
+
| `UPDATE_STATE` | `vne:achievement:update_state` | Слить partial в стейт контроллера. |
|
|
23
|
+
| `LOCKED` | `vne:achievement:locked` | Событие `LOCKED` namespace плагина. |
|
|
24
|
+
| `UNLOCKED` | `vne:achievement:unlocked` | Событие `UNLOCKED` namespace плагина. |
|
|
20
25
|
|
|
21
26
|
## Константы
|
|
22
27
|
|
package/plugins/views/comment.md
CHANGED
|
@@ -8,11 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.comment`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `SHOW`
|
|
14
|
-
| `HIDE`
|
|
15
|
-
| `UPDATE`
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | -------------------------- | ----------------------------------------------- |
|
|
13
|
+
| `SHOW` | `vne:comment:show` | Показать UI или слой. |
|
|
14
|
+
| `HIDE` | `vne:comment:hide` | Скрыть UI или слой. |
|
|
15
|
+
| `UPDATE` | `vne:comment:update` | Обновить состояние или отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:comment:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:comment:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:comment:update_state` | Слить partial в стейт контроллера. |
|
|
16
19
|
|
|
17
20
|
## Константы
|
|
18
21
|
|
|
@@ -34,8 +37,8 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
34
37
|
|
|
35
38
|
| Модуль | Зона ответственности |
|
|
36
39
|
| -------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
37
|
-
| `comment` |
|
|
38
|
-
| `comment.controller` | Обрабатывает UPDATE, SHOW, HIDE
|
|
40
|
+
| `comment` | Команда сценария показывает или скрывает комментарий. Таймер автоскрытия снимается на `HIDE.MAIN`, если контроллер не оборвал скрытие на `GATE`. |
|
|
41
|
+
| `comment.controller` | Обрабатывает UPDATE, SHOW, HIDE. `EXTERNAL_UPDATE` пересчитывает текст и обновляет view. |
|
|
39
42
|
| `comment.hide` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
40
43
|
| `comment.view` | Подмодуль `view` плагина. |
|
|
41
44
|
|
|
@@ -8,9 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.controls.hints`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | --------------------------------- | ----------------------------------------------- |
|
|
13
|
+
| `SHOW` | `vne:controls_hints:show` | Показать UI или слой. |
|
|
14
|
+
| `HIDE` | `vne:controls_hints:hide` | Скрыть UI или слой. |
|
|
15
|
+
| `UPDATE` | `vne:controls_hints:update` | Обновить состояние или отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:controls_hints:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:controls_hints:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:controls_hints:update_state` | Слить partial в стейт контроллера. |
|
|
14
19
|
|
|
15
20
|
## Константы
|
|
16
21
|
|
|
@@ -38,10 +43,10 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
38
43
|
|
|
39
44
|
## Модули
|
|
40
45
|
|
|
41
|
-
| Модуль | Зона ответственности
|
|
42
|
-
| --------------------------- |
|
|
43
|
-
| `controls.hints.controller` | Preload иконок в `start` и на `MEMORY.CLEARED`; show/hide групп; `DEVICE_CHANGED
|
|
44
|
-
| `controls.hints.view` | Рендер нескольких `View` + `Flex` + `Icon` + `Text`.
|
|
46
|
+
| Модуль | Зона ответственности |
|
|
47
|
+
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
48
|
+
| `controls.hints.controller` | Preload иконок в `start` и на `MEMORY.CLEARED`; show/hide групп; `DEVICE_CHANGED`. `EXTERNAL_UPDATE` всегда вызывает `updateViewFast` (без проверки `isShow`). |
|
|
49
|
+
| `controls.hints.view` | Рендер нескольких `View` + `Flex` + `Icon` + `Text`. |
|
|
45
50
|
|
|
46
51
|
## Близкие плагины
|
|
47
52
|
|
package/plugins/views/fps.md
CHANGED
|
@@ -8,12 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.fps`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `SHOW`
|
|
14
|
-
| `HIDE`
|
|
15
|
-
| `UPDATE`
|
|
16
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | ---------------------- | ----------------------------------------------- |
|
|
13
|
+
| `SHOW` | `vne:fps:show` | Показать UI или слой. |
|
|
14
|
+
| `HIDE` | `vne:fps:hide` | Скрыть UI или слой. |
|
|
15
|
+
| `UPDATE` | `vne:fps:update` | Обновить состояние или отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:fps:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:fps:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:fps:update_state` | Слить partial в стейт контроллера. |
|
|
19
|
+
| `CHANGE` | `vne:fps:change` | Событие `CHANGE` namespace плагина. |
|
|
17
20
|
|
|
18
21
|
## Константы
|
|
19
22
|
|
|
@@ -8,12 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.gamepad.debug`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `SHOW`
|
|
14
|
-
| `HIDE`
|
|
15
|
-
| `UPDATE`
|
|
16
|
-
| `
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | -------------------------------- | ----------------------------------------------- |
|
|
13
|
+
| `SHOW` | `vne:gamepad.debug:show` | Показать UI. |
|
|
14
|
+
| `HIDE` | `vne:gamepad.debug:hide` | Скрыть UI. |
|
|
15
|
+
| `UPDATE` | `vne:gamepad.debug:update` | Обновить отображение. |
|
|
16
|
+
| `UPDATE_FAST` | `vne:gamepad.debug:update_fast` | Быстрое обновление отображения. |
|
|
17
|
+
| `UPDATE_FORCE` | `vne:gamepad.debug:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_STATE` | `vne:gamepad.debug:update_state` | Слить partial в стейт контроллера. |
|
|
19
|
+
| `CHANGE` | `vne:gamepad.debug:change` | Новый текст дампа. |
|
|
17
20
|
|
|
18
21
|
## Константы
|
|
19
22
|
|
|
@@ -15,7 +15,8 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
15
15
|
| `HIDE` | `vne:settings_view:hide` | Скрыть слой полей. |
|
|
16
16
|
| `UPDATE` | `vne:settings_view:update` | Обновить состояние или отображение. |
|
|
17
17
|
| `UPDATE_FAST` | `vne:settings_view:update_fast` | Быстрый UPDATE view без анимации (стрелки). |
|
|
18
|
-
| `
|
|
18
|
+
| `UPDATE_FORCE` | `vne:settings_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
19
|
+
| `UPDATE_STATE` | `vne:settings_view:update_state` | Слить `{ currentArrowVerticalItem }` в стейт controller; пересчитать `currentItemInner`. |
|
|
19
20
|
|
|
20
21
|
## Константы
|
|
21
22
|
|
|
@@ -43,8 +44,8 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
43
44
|
|
|
44
45
|
| Модуль | Зона ответственности |
|
|
45
46
|
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
46
|
-
| `settings.fields.controller` | `SHOW`/`HIDE`/`TAB_SET`; зеркалит `
|
|
47
|
-
| `settings.fields.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP`/`ARROW_BOTTOM` по полям; PUSH/POP на SHOW/HIDE; `TAB_SET` сбрасывает индекс; эмитит `
|
|
47
|
+
| `settings.fields.controller` | `SHOW`/`HIDE`/`TAB_SET`; зеркалит `UPDATE_STATE` (`currentArrowVerticalItem` + `currentItemInner`). На `selector_texts` / `actions` (`options`): `ARROW_LEFT`/`ARROW_RIGHT` циклят `currentItemInner` (modulo); у `selector_texts` сразу `SETTINGS.SET`. `INTERACT` — option value или named action (в т.ч. `actions` без `settingKey`). `ACCEPT` не обрабатывает — оставляют экраны. |
|
|
48
|
+
| `settings.fields.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP`/`ARROW_BOTTOM` по полям; PUSH/POP на SHOW/HIDE; `TAB_SET` сбрасывает индекс; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
|
|
48
49
|
| `settings.fields.view` | Обёртка `<View {...propsView} />` (fade show/hide); внутри вкладки `<SettingsTabContent />` с `PositionBox opacity` для crossfade по `tabKey`. Подсветка полей по `currentArrowVerticalItem`. |
|
|
49
50
|
|
|
50
51
|
## Близкие плагины
|
package/plugins/views/video.md
CHANGED
|
@@ -8,16 +8,19 @@
|
|
|
8
8
|
|
|
9
9
|
Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.video`.
|
|
10
10
|
|
|
11
|
-
| Ключ
|
|
12
|
-
|
|
|
13
|
-
| `SET`
|
|
14
|
-
| `GET`
|
|
15
|
-
| `LOAD`
|
|
16
|
-
| `PLAY`
|
|
17
|
-
| `SET_SRC`
|
|
18
|
-
| `SHOW`
|
|
19
|
-
| `HIDE`
|
|
20
|
-
| `UPDATE`
|
|
11
|
+
| Ключ | Строка | Смысл |
|
|
12
|
+
| -------------- | ------------------------ | ----------------------------------------------------- |
|
|
13
|
+
| `SET` | `vne:video:set` | Запросить данные у обработчиков и продолжить цепочку. |
|
|
14
|
+
| `GET` | `vne:video:get` | Получить значение или ресурс. |
|
|
15
|
+
| `LOAD` | `vne:video:load` | Загрузить данные или ресурс. |
|
|
16
|
+
| `PLAY` | `vne:video:play` | Начать воспроизведение. |
|
|
17
|
+
| `SET_SRC` | `vne:video:set_src` | Записать или обновить значение. |
|
|
18
|
+
| `SHOW` | `vne:video:show` | Показать UI или слой. |
|
|
19
|
+
| `HIDE` | `vne:video:hide` | Скрыть UI или слой. |
|
|
20
|
+
| `UPDATE` | `vne:video:update` | Обновить состояние или отображение. |
|
|
21
|
+
| `UPDATE_FAST` | `vne:video:update_fast` | Быстрое обновление отображения. |
|
|
22
|
+
| `UPDATE_FORCE` | `vne:video:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
23
|
+
| `UPDATE_STATE` | `vne:video:update_state` | Слить partial в стейт контроллера. |
|
|
21
24
|
|
|
22
25
|
## Константы
|
|
23
26
|
|
|
@@ -11,11 +11,11 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
11
11
|
| Ключ | Строка | Смысл |
|
|
12
12
|
| -------------- | ------------------------------ | ---------------------------------------------------------------------- |
|
|
13
13
|
| `SHOW` | `vne:choose_view:show` | Показать UI выбора. |
|
|
14
|
-
| `SHOW_BEFORE` | `vne:choose_view:show_before` | Хук перед показом (после загрузки state из `globalState.choose`). |
|
|
15
14
|
| `HIDE` | `vne:choose_view:hide` | Скрыть UI выбора. |
|
|
16
15
|
| `UPDATE` | `vne:choose_view:update` | Обновить React-store / отображение. |
|
|
17
|
-
| `
|
|
16
|
+
| `UPDATE_STATE` | `vne:choose_view:update_state` | Слить partial в стейт контроллера без UPDATE view. |
|
|
18
17
|
| `UPDATE_FAST` | `vne:choose_view:update_fast` | Перерисовать view с `isFast`, стейт не меняет. |
|
|
18
|
+
| `UPDATE_FORCE` | `vne:choose_view:update_force` | Перерисовать view с `isForce`, стейт не меняет. |
|
|
19
19
|
| `ACCEPT` | `vne:choose_view:accept` | `ACCEPT` / `INTERACT` → `CHOOSE.OPTION` по `currentArrowVerticalItem`. |
|
|
20
20
|
|
|
21
21
|
Сценарные события (`EMIT`, `OPTION`, `SHOW`, `HIDE`, `SKIP`, `EXEC_*`, `STATE_UPDATE`) — в контракте `@vnejs/contracts.scenario.choose`, namespace `CHOOSE`.
|
|
@@ -39,13 +39,13 @@ Payloads и результаты хендлеров типизированы ч
|
|
|
39
39
|
|
|
40
40
|
## Модули
|
|
41
41
|
|
|
42
|
-
| Модуль | Зона ответственности
|
|
43
|
-
| ------------------------------- |
|
|
44
|
-
| `choose_view.bridge` | Bridge `CHOOSE.SHOW/HIDE` → `CHOOSE_VIEW.SHOW/HIDE`.
|
|
45
|
-
| `choose_view.controller` | `CONTROLS_EXTENSIONS
|
|
46
|
-
| `choose_view.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CHOOSE.OPTION` по `currentArrowVerticalItem`; зеркалит `
|
|
47
|
-
| `choose_view.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по полному `options[]`; скипает `hided` через `isArrowItemAvailable` (индекс исходный); PUSH/POP на SHOW/HIDE; эмитит `
|
|
48
|
-
| `choose_view.view` | React-render опций; опциональный заголовок из `args.title`.
|
|
42
|
+
| Модуль | Зона ответственности |
|
|
43
|
+
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `choose_view.bridge` | Bridge `CHOOSE.SHOW/HIDE` → `CHOOSE_VIEW.SHOW/HIDE`. |
|
|
45
|
+
| `choose_view.controller` | `CONTROLS_EXTENSIONS` сливается в `CONTROLS` в `ModuleController.init`; на `SHOW` + `LIFECYCLE_PRIORITY.SHOW.BEFORE` копирует `globalState.choose`; сброс стейта на `HIDE.CLEANUP` делает `ModuleController` (`SHOULD_CLEAR_STATE_ON_CLEANUP`). Зеркало `UPDATE_STATE` / `UPDATE_FAST`. |
|
|
46
|
+
| `choose_view.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CHOOSE.OPTION` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
|
|
47
|
+
| `choose_view.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по полному `options[]`; скипает `hided` через `isArrowItemAvailable` (индекс исходный); PUSH/POP на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
|
|
48
|
+
| `choose_view.view` | React-render опций; опциональный заголовок из `args.title`. |
|
|
49
49
|
|
|
50
50
|
## Связь с CHOOSE
|
|
51
51
|
|
|
@@ -60,7 +60,7 @@ sequenceDiagram
|
|
|
60
60
|
OBS->>BR: bridge
|
|
61
61
|
BR->>OBS: vne:choose_view:show
|
|
62
62
|
OBS->>VC: onShow
|
|
63
|
-
Note over VC:
|
|
63
|
+
Note over VC: SHOW BEFORE читает globalState.choose
|
|
64
64
|
VC->>OBS: vne:choose:option
|
|
65
65
|
OBS->>SC: onChooseOption
|
|
66
66
|
SC->>OBS: vne:choose:hide
|
|
@@ -81,5 +81,5 @@ sequenceDiagram
|
|
|
81
81
|
### Остальные
|
|
82
82
|
|
|
83
83
|
- [controls.md](../controls/controls.md) — `CONTROLS`: стрелки, ACCEPT, INTERACT
|
|
84
|
-
- [interface.md](interface.md) — compatibility скрывает interface на `CHOOSE_VIEW.
|
|
84
|
+
- [interface.md](interface.md) — compatibility скрывает interface на `CHOOSE_VIEW.SHOW` (`LIFECYCLE_PRIORITY.SHOW.BEFORE`)
|
|
85
85
|
- [qte.md](./qte.md) — `QTE_VIEW`: при опции с `qte:` открывается поверх choose (z-index 1300 > 1200)
|