@vnejs/docs 0.2.19 → 0.2.21
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 +17 -0
- package/package.json +1 -1
- package/plugins/canvas/sprite.md +1 -1
- package/plugins/core/media.md +6 -6
- package/plugins/core/scenario.md +4 -4
- package/plugins/views/settings.md +5 -2
- package/plugins/views/video.md +2 -1
- package/plugins/views.screens/confirm.md +7 -4
- package/plugins/views.screens/credits.md +6 -3
- package/plugins/views.screens/disclaimer.md +3 -2
- package/plugins/views.screens/eula.md +6 -2
- package/plugins/views.screens/gallery.md +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Краткая история изменений плагинов и внешнего API. Версии — релизы пакета `@vnejs/docs`.
|
|
4
4
|
|
|
5
|
+
## 0.2.21
|
|
6
|
+
|
|
7
|
+
- `core/media` — ошибка/timeout fetch не занимает слот semaphore и не кладёт битый blob в память; `GET` не ждёт вечно и возвращает `null` для отсутствующего или битого asset.
|
|
8
|
+
- `core/scenario` — `LABEL_GET` / `LINE_GET` завершаются, если предзагрузка одной строки упала.
|
|
9
|
+
- `cli/desktop` — закрытие последнего окна завершает Electron и на macOS (Steam не держит игру запущенной); Fastify закрывается на quit, если процесс не выходит — `app.exit(0)`. API: `runServer` возвращает `{ port, close }`, `runElectron` принимает `onBeforeQuit`.
|
|
10
|
+
|
|
11
|
+
## 0.2.20
|
|
12
|
+
|
|
13
|
+
- `views.screens/confirm` — горизонтальные стрелки в модуле `confirm.controller.arrows` на `@vnejs/module.controller.arrows.horizontal`; индекс в стейте `currentArrowHorizontalItem`. `ACCEPT` / `INTERACT` читают его, не `currentItem`. `STATE.CLEAR` → `HIDE` с `{ isForce: true }` в `confirm.hide.state` на `@vnejs/module.controller.hide.on.state` (`IS_STATE_SET_ENABLED = false`). API: `EVENTS.CONFIRM.UPDATE_FAST`.
|
|
14
|
+
- `views.screens/disclaimer` — `ACCEPT` / `INTERACT` в `disclaimer.controller.accept` на `@vnejs/module.controller.accept` → `DISCLAIMER.ACCEPT` → `HIDE`, `emitNext`.
|
|
15
|
+
- `views.screens/credits` — `ACCEPT` / `INTERACT` → `HIDE` в `credits.controller.accept` на `@vnejs/module.controller.accept`. `BACK` / `MENU` / `GAMEMENU` → `HIDE` в `credits.hide.controls` на `@vnejs/module.controller.hide.on.controls`. `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }` в `credits.hide.state` на `@vnejs/module.controller.hide.on.state`.
|
|
16
|
+
- `views/settings` — вертикальные стрелки в модуле `settings.fields.controller.arrows` на `@vnejs/module.controller.arrows.vertical`; индекс в стейте `currentArrowVerticalItem`. `TAB_SET` сбрасывает индекс. API: `EVENTS.SETTINGS_VIEW.STATE_UPDATE`, `EVENTS.SETTINGS_VIEW.UPDATE_FAST`.
|
|
17
|
+
- `views.screens/eula` — вертикальные стрелки по тексту в `eula.controller.arrows` на `@vnejs/module.controller.arrows.vertical`; пустые строки через `isArrowItemAvailable`; индекс `currentArrowVerticalItem`. `STATE.SET` / `STATE.CLEAR` → `HIDE` в `eula.hide.state` на `@vnejs/module.controller.hide.on.state`. API: `EVENTS.EULA.STATE_UPDATE`, `EVENTS.EULA.UPDATE_FAST`.
|
|
18
|
+
- `views.screens/gallery` — `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }` в `gallery.hide.state` на `@vnejs/module.controller.hide.on.state`.
|
|
19
|
+
- `views/video` — `STATE.CLEAR` → `HIDE` с `{ isForce: true }` в `video.hide.state` на `@vnejs/module.controller.hide.on.state` (`IS_STATE_SET_ENABLED = false`).
|
|
20
|
+
- `canvas/sprite` — пустая строка и другие falsy в `getSrc` → transparent (`EMPTY_IMG`), без `MEDIA.GET` / `MEDIA.LOAD`; `indexSrc` берётся с первого непустого overlay.
|
|
21
|
+
|
|
5
22
|
## 0.2.19
|
|
6
23
|
|
|
7
24
|
- `views.screens/gamemenu` — вертикальные стрелки в модуле `gameMenu.controller.arrows` на `@vnejs/module.controller.arrows.vertical`; индекс в стейте `currentArrowVerticalItem`. `ACCEPT` / `INTERACT` и хендлер `ACCEPT` → `CLICK` в `gameMenu.controller.accept` на `@vnejs/module.controller.accept`. `BACK` / `MENU` / `GAMEMENU` → `HIDE` в `gameMenu.hide.controls` на `@vnejs/module.controller.hide.on.controls`. `STATE.SET` / `STATE.CLEAR` эмитят `HIDE` с `{ isForce: true }` из модуля `gameMenu.hide.state` на `@vnejs/module.controller.hide.on.state`. API: `EVENTS.GAMEMENU.STATE_UPDATE`, `EVENTS.GAMEMENU.UPDATE_FAST`.
|
package/package.json
CHANGED
package/plugins/canvas/sprite.md
CHANGED
|
@@ -24,7 +24,7 @@ $ ul.sprite show co left {co/default} opacity 500
|
|
|
24
24
|
| Поле | Смысл |
|
|
25
25
|
|------|-------|
|
|
26
26
|
| `mapOverlays?` | Преобразование карты overlays перед резолвом путей |
|
|
27
|
-
| `getSrc?` | Кастомный список src по `(variation, realOverlays, options, otherArgs)` |
|
|
27
|
+
| `getSrc?` | Кастомный список src по `(variation, realOverlays, options, otherArgs)`. Пустая строка и другие falsy-элементы сохраняют слот и рисуются как transparent-картинка (без `MEDIA.GET` / `MEDIA.LOAD`). |
|
|
28
28
|
|
|
29
29
|
## События
|
|
30
30
|
|
package/plugins/core/media.md
CHANGED
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
| Ключ | Строка | Смысл |
|
|
10
10
|
|------|--------|-------|
|
|
11
|
-
| `GET` | `vne:media:get` | Получить готовый медиа-элемент: из кэша или через цепочку load. |
|
|
11
|
+
| `GET` | `vne:media:get` | Получить готовый медиа-элемент: из кэша или через цепочку load. Битый или отсутствующий asset → `null`, без вечного wait. |
|
|
12
12
|
| `SET` | `vne:media:set` | Положить готовый DOM-элемент в memory-подсистему media. |
|
|
13
|
-
| `LOAD` | `vne:media:load` | Запуск загрузки по id/type/name с учётом semaphore и dedup через `LOAD_CHECK`. |
|
|
13
|
+
| `LOAD` | `vne:media:load` | Запуск загрузки по id/type/name с учётом semaphore и dedup через `LOAD_CHECK`. Слот очереди освобождается и при ошибке. |
|
|
14
14
|
| `LOAD_CHECK` | `vne:media:load_check` | Проверить: уже в памяти, в процессе process или load. |
|
|
15
15
|
| `LOAD_START` | `vne:media:load_start` | Начало загрузки asset (маркер lifecycle). |
|
|
16
16
|
| `LOAD_END` | `vne:media:load_end` | Окончание загрузки asset (маркер lifecycle). |
|
|
17
17
|
| `ERROR_NO_SRC` | `vne:media:error_no_src` | В манифесте нет src для запрошенного asset. |
|
|
18
|
-
| `ERROR_FETCH` | `vne:media:error_fetch` | Ошибка fetch
|
|
18
|
+
| `ERROR_FETCH` | `vne:media:error_fetch` | Ошибка fetch: сеть, HTTP не-ok, timeout. Битый blob в память не кладётся. |
|
|
19
19
|
| `PROCESS` | `vne:media:process` | Скачать blob, создать `<img>` / `<audio>` / `<video>`, вызвать `SET`. |
|
|
20
20
|
| `PROCESS_CHECK` | `vne:media:process_check` | Есть ли уже promise/результат process для `mediaId`. |
|
|
21
21
|
| `MEMORY_GET` | `vne:media:memory_get` | Прокси к `MEMORY.GET` для namespace media. |
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
|
|
40
40
|
| Модуль | Зона ответственности |
|
|
41
41
|
|--------|----------------------|
|
|
42
|
-
| `media.load` | Semaphore-gated load, dedup, делегирование в process/memory. |
|
|
43
|
-
| `media.process` | Fetch blob и создание DOM-медиа. |
|
|
42
|
+
| `media.load` | Semaphore-gated load, dedup, делегирование в process/memory. Слот всегда освобождается (`finally`), даже если process reject. |
|
|
43
|
+
| `media.process` | Fetch blob и создание DOM-медиа. HTTP не-ok и timeout fetch → `ERROR_FETCH`, без `SET`. |
|
|
44
44
|
| `media.memory` | REG в memory, монтирование элементов в скрытый `#media`. |
|
|
45
|
-
| `media` | Высокоуровневый get/set. |
|
|
45
|
+
| `media` | Высокоуровневый get/set. `GET` возвращает `null`, если asset нет или не готов (битая картинка, error). |
|
|
46
46
|
| `media.logs` | Логирование lifecycle media. |
|
|
47
47
|
|
|
48
48
|
## Близкие плагины
|
package/plugins/core/scenario.md
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
| `EXEC` | `vne:scenario:exec` | Выполнить строку сценария: dispatch по module/block с line, args и keywords. |
|
|
12
12
|
| `EXEC_DELAY` | `vne:scenario:exec_delay` | Отложить promise до завершения текущего exec (async-строки). |
|
|
13
13
|
| `NEXT` | `vne:scenario:next` | Шаг вперёд по сценарию: выполнить текущую строку или завершить текущую метку. |
|
|
14
|
-
| `LABEL_GET` | `vne:scenario:label_get` | Предзагрузка строк метки на глубину `deep` с приоритетом. |
|
|
14
|
+
| `LABEL_GET` | `vne:scenario:label_get` | Предзагрузка строк метки на глубину `deep` с приоритетом. Упавшая строка не блокирует метку. |
|
|
15
15
|
| `LINE_LOAD` | `vne:scenario:line_load` | Условная предзагрузка одной строки (с учётом depth в memory). |
|
|
16
|
-
| `LINE_GET` | `vne:scenario:line_get` | Получить и подготовить одну строку сценария по label и index. |
|
|
16
|
+
| `LINE_GET` | `vne:scenario:line_get` | Получить и подготовить одну строку сценария по label и index. Ошибка предзагрузки не оставляет промис висящим. |
|
|
17
17
|
| `LINE_LOAD_REG` | `vne:scenario:line_load_reg` | Зарегистрировать обработчик предзагрузки строк для module/block. |
|
|
18
18
|
| `LINE_EXEC_REG` | `vne:scenario:line_exec_reg` | Зарегистрировать обработчик выполнения строк для module/block. |
|
|
19
19
|
| `LINES_GET` | `vne:scenario:lines_get` | Получить массив строк метки (JSON с хоста, кэш в memory). |
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
| `scenario` | Главный цикл `NEXT`, exec строк, sync state. |
|
|
49
49
|
| `scenario.autostart` | Дефолт `shared.shouldAutostartScenario`; на `SYSTEM.STARTED` — init label + `emitNext` при включённом флаге. |
|
|
50
50
|
| `scenario.exec` | Dispatch `$module` / `%block`, registry handlers, `EXEC_DELAY`. |
|
|
51
|
-
| `scenario.label` | `LABEL_GET`, preload меток; init label на `STATE.CLEAR`. |
|
|
52
|
-
| `scenario.line` | `LINE_LOAD` / `LINE_GET`, registry preload handlers. |
|
|
51
|
+
| `scenario.label` | `LABEL_GET`, preload меток; init label на `STATE.CLEAR`. Одна упавшая строка не валит всю метку. |
|
|
52
|
+
| `scenario.line` | `LINE_LOAD` / `LINE_GET`, registry preload handlers. Executor `LINE_GET` всегда resolve. |
|
|
53
53
|
| `scenario.lines` | Fetch `label/<path>.json` с `HOST` (например `label/prologue/1.json`). |
|
|
54
54
|
|
|
55
55
|
## Близкие плагины
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
| `TAB_SET` | `vne:settings_view:tab_set` | Сменить активную вкладку; payload `{ tab, tabKey?, locs?, isForce? }`. Старая и новая одновременно: `PositionBox opacity` 1↔0. |
|
|
13
13
|
| `HIDE` | `vne:settings_view:hide` | Скрыть слой полей. |
|
|
14
14
|
| `UPDATE` | `vne:settings_view:update` | Обновить состояние или отображение. |
|
|
15
|
+
| `UPDATE_FAST` | `vne:settings_view:update_fast` | Быстрый UPDATE view без анимации (стрелки). |
|
|
16
|
+
| `STATE_UPDATE` | `vne:settings_view:state_update` | Слить `{ currentArrowVerticalItem }` в стейт controller; пересчитать `currentItemInner`. |
|
|
15
17
|
|
|
16
18
|
## Константы
|
|
17
19
|
|
|
@@ -37,8 +39,9 @@
|
|
|
37
39
|
|
|
38
40
|
| Модуль | Зона ответственности |
|
|
39
41
|
|--------|----------------------|
|
|
40
|
-
| `settings.fields.controller` | `SHOW`/`HIDE`/`TAB_SET`; `
|
|
41
|
-
| `settings.fields.
|
|
42
|
+
| `settings.fields.controller` | `SHOW`/`HIDE`/`TAB_SET`; зеркалит `STATE_UPDATE` (`currentArrowVerticalItem` + `currentItemInner`). На `selector_texts` / `actions` (`options`): `ARROW_LEFT`/`ARROW_RIGHT` циклят `currentItemInner` (modulo); у `selector_texts` сразу `SETTINGS.SET`. `INTERACT` — option value или named action (в т.ч. `actions` без `settingKey`). `ACCEPT` не обрабатывает — оставляют экраны. |
|
|
43
|
+
| `settings.fields.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP`/`ARROW_BOTTOM` по полям; PUSH/POP на SHOW/HIDE; `TAB_SET` сбрасывает индекс; эмитит `STATE_UPDATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
|
|
44
|
+
| `settings.fields.view` | Обёртка `<View {...propsView} />` (fade show/hide); внутри вкладки `<SettingsTabContent />` с `PositionBox opacity` для crossfade по `tabKey`. Подсветка полей по `currentArrowVerticalItem`. |
|
|
42
45
|
|
|
43
46
|
## Близкие плагины
|
|
44
47
|
|
package/plugins/views/video.md
CHANGED
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
|
|
38
38
|
| Модуль | Зона ответственности |
|
|
39
39
|
|--------|----------------------|
|
|
40
|
-
| `video.controller` |
|
|
40
|
+
| `video.controller` | SHOW/HIDE, SET_SRC, `BUTTONS.ANY` → `INTERACT.EMIT`. |
|
|
41
|
+
| `video.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: только `STATE.CLEAR` → `HIDE` с `{ isForce: true }` (`IS_STATE_SET_ENABLED = false`). |
|
|
41
42
|
| `video` | Обрабатывает HIDE, PLAY, LOAD, GET, …. |
|
|
42
43
|
| `video.view` | Подмодуль `view` плагина. |
|
|
43
44
|
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
| `HIDE` | `vne:confirm:hide` | Скрыть UI или слой. |
|
|
13
13
|
| `EMIT` | `vne:confirm:emit` | Инициировать действие или цикл. |
|
|
14
14
|
| `UPDATE` | `vne:confirm:update` | Обновить состояние или отображение. |
|
|
15
|
-
| `
|
|
15
|
+
| `UPDATE_FAST` | `vne:confirm:update_fast` | Быстрый UPDATE view без анимации (стрелки). |
|
|
16
|
+
| `STATE_UPDATE` | `vne:confirm:state_update` | Слить `{ currentArrowHorizontalItem }` в стейт controller/accept без UPDATE view. |
|
|
16
17
|
| `ACCEPT` | `vne:confirm:accept` | Событие `ACCEPT` namespace плагина. |
|
|
17
18
|
| `DECLINE` | `vne:confirm:decline` | Событие `DECLINE` namespace плагина. |
|
|
18
|
-
| `SUBMIT` | `vne:confirm:submit` | `ACCEPT` / `INTERACT`: при `
|
|
19
|
+
| `SUBMIT` | `vne:confirm:submit` | `ACCEPT` / `INTERACT`: при `currentArrowHorizontalItem` — ACCEPT (0) или DECLINE, иначе ACCEPT. |
|
|
19
20
|
|
|
20
21
|
## Константы
|
|
21
22
|
|
|
@@ -35,8 +36,10 @@
|
|
|
35
36
|
|
|
36
37
|
| Модуль | Зона ответственности |
|
|
37
38
|
|--------|----------------------|
|
|
38
|
-
| `confirm.controller` | SHOW/HIDE; BACK → `DECLINE`;
|
|
39
|
-
| `confirm.controller.
|
|
39
|
+
| `confirm.controller` | SHOW/HIDE; BACK → `DECLINE`; зеркалит `STATE_UPDATE` в стейт и `UPDATE_FAST` во view. |
|
|
40
|
+
| `confirm.controller.arrows` | Наследует `@vnejs/module.controller.arrows.horizontal`: `ARROW_LEFT` / `ARROW_RIGHT` по Accept/Decline; PUSH/POP controls на SHOW/HIDE; эмитит `STATE_UPDATE` с `{ currentArrowHorizontalItem }` и `UPDATE_FAST`. |
|
|
41
|
+
| `confirm.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `SUBMIT` → `ACCEPT` или `DECLINE` по `currentArrowHorizontalItem`; зеркалит `STATE_UPDATE`; PUSH/POP на SHOW/HIDE. |
|
|
42
|
+
| `confirm.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: только `STATE.CLEAR` → `HIDE` с `{ isForce: true }` (`IS_STATE_SET_ENABLED = false`). |
|
|
40
43
|
| `confirm` | Обрабатывает EMIT, ACCEPT, DECLINE. |
|
|
41
44
|
| `confirm.view` | Подмодуль `view` плагина. |
|
|
42
45
|
|
|
@@ -30,7 +30,10 @@
|
|
|
30
30
|
|
|
31
31
|
| Модуль | Зона ответственности |
|
|
32
32
|
|--------|----------------------|
|
|
33
|
-
| `credits.controller` |
|
|
33
|
+
| `credits.controller` | SHOW/HIDE; пустой `controls` на `ZINDEX`; `afterHide` → emitNext. |
|
|
34
|
+
| `credits.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `CREDITS.HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
35
|
+
| `credits.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
36
|
+
| `credits.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
34
37
|
| `credits` | Модуль `credits`. |
|
|
35
38
|
| `credits.view` | Подмодуль `view` плагина. |
|
|
36
39
|
|
|
@@ -38,9 +41,9 @@
|
|
|
38
41
|
|
|
39
42
|
### plugins/core/
|
|
40
43
|
|
|
44
|
+
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
41
45
|
- [scenario.md](../core/scenario.md) — `SCENARIO`: emitNext, EVENTS.LINE_EXEC_REG
|
|
42
|
-
- [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR
|
|
43
46
|
|
|
44
47
|
### Остальные
|
|
45
48
|
|
|
46
|
-
- [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ACCEPT, CONST.BUTTONS.INTERACT, CONST.BUTTONS.MENU
|
|
49
|
+
- [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ACCEPT, CONST.BUTTONS.INTERACT, CONST.BUTTONS.BACK, CONST.BUTTONS.MENU, CONST.BUTTONS.GAMEMENU
|
|
@@ -34,8 +34,9 @@
|
|
|
34
34
|
|
|
35
35
|
| Модуль | Зона ответственности |
|
|
36
36
|
|--------|----------------------|
|
|
37
|
-
| `disclaimer.controller` | SHOW/HIDE
|
|
38
|
-
| `disclaimer` |
|
|
37
|
+
| `disclaimer.controller` | SHOW/HIDE; пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
|
|
38
|
+
| `disclaimer.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `DISCLAIMER.ACCEPT` → `HIDE`, `emitNext`; PUSH/POP на SHOW/HIDE. |
|
|
39
|
+
| `disclaimer` | `$ disclaimer show <id>` → SHOW. |
|
|
39
40
|
| `disclaimer.view` | React UI: title / text / accept из locs. |
|
|
40
41
|
|
|
41
42
|
## Локализация
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
| Ключ | Строка | Смысл |
|
|
10
10
|
|------|--------|-------|
|
|
11
11
|
| `UPDATE` | `vne:eula:update` | Обновить состояние или отображение. |
|
|
12
|
+
| `UPDATE_FAST` | `vne:eula:update_fast` | Быстрый UPDATE view без анимации (стрелки по тексту). |
|
|
13
|
+
| `STATE_UPDATE` | `vne:eula:state_update` | Слить `{ currentArrowVerticalItem }` в стейт controller без UPDATE view. |
|
|
12
14
|
| `SHOW` | `vne:eula:show` | Показать UI или слой. |
|
|
13
15
|
| `HIDE` | `vne:eula:hide` | Скрыть UI или слой. |
|
|
14
16
|
| `ACCEPT` | `vne:eula:accept` | Событие `ACCEPT` namespace плагина. |
|
|
@@ -36,8 +38,10 @@
|
|
|
36
38
|
|
|
37
39
|
| Модуль | Зона ответственности |
|
|
38
40
|
|--------|----------------------|
|
|
39
|
-
| `eula.controller` |
|
|
41
|
+
| `eula.controller` | SHOW/HIDE; `BACK` → `EXIT`; зеркалит `STATE_UPDATE` / `UPDATE_FAST`; lang/locs. |
|
|
42
|
+
| `eula.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по строкам текста; пустые строки через `isArrowItemAvailable`; смена `SETTINGS.EULA.LANG` сбрасывает индекс; PUSH/POP на SHOW/HIDE; эмитит `STATE_UPDATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
|
|
40
43
|
| `eula.controller.accept` | Наследует `@vnejs/module.controller.accept`: только `ACCEPT` (`IS_INTERACT_ENABLED = false`) → `EULA.ACCEPT` → `ACCEPTED_VERSION`, `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
44
|
+
| `eula.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
41
45
|
| `eula` | `MAINMENU.SHOW` → `SHOW` (если версия не принята); `EXIT` → `SYSTEM.CLOSE`. |
|
|
42
46
|
| `eula.view` | Подмодуль `view` плагина. |
|
|
43
47
|
|
|
@@ -47,7 +51,7 @@
|
|
|
47
51
|
|
|
48
52
|
- [components.md](../core/components.md) — `COMPONENTS`: EVENTS.EXTERNAL_UPDATE
|
|
49
53
|
- [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT, EVENTS.SET
|
|
50
|
-
- [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR
|
|
54
|
+
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
51
55
|
- [system.md](../core/system.md) — `SYSTEM`: EVENTS.CLOSE
|
|
52
56
|
|
|
53
57
|
### Остальные
|
|
@@ -52,6 +52,7 @@ ACCEPT/INTERACT эмитит `CHOOSE` только для выбранного
|
|
|
52
52
|
| `gallery.controller.audio` | Наследник `ModuleControllerAudio`: SHOW/HIDE/PRELOAD → pause global, play/stop `view`-трека; `VOLUME_SETTING = MUSIC.VOLUME`; SHOW передаёт в `AUDIO.PLAY` уже посчитанный `volume`; при `VOLUME_CHANGED` / смене `VOLUME_SETTING` — повторный `AUDIO.VOLUME`. |
|
|
53
53
|
| `gallery.controller` | Обрабатывает UPDATE, HIDE, TAB_SET, …. ACCEPT/INTERACT → `CHOOSE` только если слот открыт. Стрелки и ACCEPT/INTERACT в `controls` контроллера. |
|
|
54
54
|
| `gallery.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
|
|
55
|
+
| `gallery.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` / `STATE.CLEAR` → `HIDE` с `{ isForce: true }`. |
|
|
55
56
|
| `gallery.controller.tabs` | Наследник `ModuleControllerTabs`: TAB_PREV/TAB_NEXT → `TAB_SET`; PUSH/POP controls на SHOW/HIDE. |
|
|
56
57
|
| `gallery` | Обрабатывает OPEN, CHECK, CLEAR. |
|
|
57
58
|
| `gallery.view` | Подмодуль `view` плагина. |
|
|
@@ -61,7 +62,7 @@ ACCEPT/INTERACT эмитит `CHOOSE` только для выбранного
|
|
|
61
62
|
### plugins/core/
|
|
62
63
|
|
|
63
64
|
- [memory.md](../core/memory.md) — `MEMORY`: EVENTS.CLEARED, EVENTS.CLEAR
|
|
64
|
-
- [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR
|
|
65
|
+
- [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR
|
|
65
66
|
- [storage.md](../core/storage.md) — `STORAGE`: EVENTS.SET, EVENTS.GET, EVENTS.RM_ALL
|
|
66
67
|
- [system.md](../core/system.md) — `SYSTEM`: EVENTS.STARTED
|
|
67
68
|
|