@vnejs/docs 0.2.4 → 0.2.6
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/architecture.md
CHANGED
|
@@ -101,7 +101,7 @@ flowchart BT
|
|
|
101
101
|
|-------|------------|
|
|
102
102
|
| **`@vnejs/shared`** | Реестр **`VNE`**, массив **`VNE_MODULES`**, **`regPlugin`** / **`regModule`**, типы для module augmentation |
|
|
103
103
|
| **`@vnejs/observer`** | **`Observer`** — pub/sub: `subscribe`, `emit`, `emitOne`, `emitReal`, `emitReals` |
|
|
104
|
-
| **`@vnejs/core`** | **`VneCore`**: модули из `VNE_MODULES`, lifecycle, загрузка `mods.json` /
|
|
104
|
+
| **`@vnejs/core`** | **`VneCore`**: модули из `VNE_MODULES`, lifecycle, загрузка `mods.json` / `media_info/`, `reset` |
|
|
105
105
|
| **`@vnejs/constants`** | Общие константы-заглушки (`EMPTY_OBJECT`, `EMPTY_ARRAY`) |
|
|
106
106
|
| **`@vnejs/sources-set`** | **`SourcesSet`** — управление множеством «источников» (text и связанная логика) |
|
|
107
107
|
| **`@vnejs/semaphore`** | **`Semaphore`** — очередь задач с весами и ограничением параллелизма |
|
|
@@ -397,6 +397,9 @@ games/<name>/
|
|
|
397
397
|
├── game/<mod>/ # scenario (.vne), scripts, media, public
|
|
398
398
|
├── desktop/ # Electron dev/prod
|
|
399
399
|
├── dist/ # JSON + JS после сборки
|
|
400
|
+
│ ├── mods.json
|
|
401
|
+
│ ├── label/ # label/<path>.json (например label/prologue/1.json)
|
|
402
|
+
│ └── media_info/ # media_info/<mod>.json (не путать с /media/ ассетов)
|
|
400
403
|
└── package.json
|
|
401
404
|
```
|
|
402
405
|
|
|
@@ -404,7 +407,7 @@ games/<name>/
|
|
|
404
407
|
flowchart LR
|
|
405
408
|
SC["game/**/*.vne"]
|
|
406
409
|
DATA["build data"]
|
|
407
|
-
JSON["dist
|
|
410
|
+
JSON["dist mods.json label/ media_info/"]
|
|
408
411
|
ENTRY["entry/index.ts"]
|
|
409
412
|
CLIENT["build client"]
|
|
410
413
|
DIST["dist/"]
|
|
@@ -417,7 +420,7 @@ flowchart LR
|
|
|
417
420
|
SRV --> RUN
|
|
418
421
|
```
|
|
419
422
|
|
|
420
|
-
1. **`build:data`** — JSON для **`VneCore.init()
|
|
423
|
+
1. **`build:data`** — JSON для **`VneCore.init()`**: `mods.json`, `label/<path>.json`, `media_info/<mod>.json`.
|
|
421
424
|
2. **`build:client`** — Vite + `bundles/`.
|
|
422
425
|
3. **`entry/`** — `new VneCore()`, `await init()`.
|
|
423
426
|
|
package/package.json
CHANGED
package/plugins/core/scenario.md
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
| `scenario.exec` | Dispatch `$module` / `%block`, registry handlers, `EXEC_DELAY`. |
|
|
51
51
|
| `scenario.label` | `LABEL_GET`, preload меток; init label на `STATE.CLEAR`. |
|
|
52
52
|
| `scenario.line` | `LINE_LOAD` / `LINE_GET`, registry preload handlers. |
|
|
53
|
-
| `scenario.lines` | Fetch `label
|
|
53
|
+
| `scenario.lines` | Fetch `label/<path>.json` с `HOST` (например `label/prologue/1.json`). |
|
|
54
54
|
|
|
55
55
|
## Близкие плагины
|
|
56
56
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# plugins/views.screens/disclaimer/
|
|
2
|
+
|
|
3
|
+
Пакет: `@vnejs/plugins.views.screens.disclaimer` · namespace: `DISCLAIMER`
|
|
4
|
+
|
|
5
|
+
Полноэкранный дисклеймер по сценарной команде: заголовок, текст и кнопка принятия. Затемнение без фоновой картинки. Принятие не сохраняется — экран показывается при каждом вызове.
|
|
6
|
+
|
|
7
|
+
## События
|
|
8
|
+
|
|
9
|
+
| Ключ | Строка | Смысл |
|
|
10
|
+
|------|--------|-------|
|
|
11
|
+
| `SHOW` | `vne:disclaimer:show` | Показать UI. Payload: `{ id }`. |
|
|
12
|
+
| `HIDE` | `vne:disclaimer:hide` | Скрыть UI. |
|
|
13
|
+
| `UPDATE` | `vne:disclaimer:update` | Обновить состояние или отображение. |
|
|
14
|
+
| `ACCEPT` | `vne:disclaimer:accept` | Пользователь принял дисклеймер → HIDE → next. |
|
|
15
|
+
|
|
16
|
+
## Константы
|
|
17
|
+
|
|
18
|
+
Нет.
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
| Ключ | Тип | Смысл |
|
|
23
|
+
|------|-----|-------|
|
|
24
|
+
| `TRANSITION` | `number` | Длительность анимации экрана. |
|
|
25
|
+
| `ZINDEX` | `number` | z-index экрана. |
|
|
26
|
+
| `LOC_LABEL` | `string` | Метка локализации (`disclaimer`). |
|
|
27
|
+
| `VIEW_PROPS` | `object` | Layout: screen (`withDark`/`withBlur`), title, text, controls. |
|
|
28
|
+
|
|
29
|
+
## Настройки
|
|
30
|
+
|
|
31
|
+
Нет.
|
|
32
|
+
|
|
33
|
+
## Модули
|
|
34
|
+
|
|
35
|
+
| Модуль | Зона ответственности |
|
|
36
|
+
|--------|----------------------|
|
|
37
|
+
| `disclaimer.controller` | SHOW/HIDE, controls ACCEPT/INTERACT → ACCEPT. |
|
|
38
|
+
| `disclaimer` | `$ disclaimer show <id>` → SHOW; ACCEPT → HIDE → emitNext. |
|
|
39
|
+
| `disclaimer.view` | React UI: title / text / accept из locs. |
|
|
40
|
+
|
|
41
|
+
## Локализация
|
|
42
|
+
|
|
43
|
+
Файл `media/locs/{lang}/disclaimer.json`. Ключи:
|
|
44
|
+
|
|
45
|
+
| Ключ | Смысл |
|
|
46
|
+
|------|-------|
|
|
47
|
+
| `accept` | Текст кнопки |
|
|
48
|
+
| `{id}.title` | Заголовок для id |
|
|
49
|
+
| `{id}.text` | Текст для id (можно многострочный через `\n`) |
|
|
50
|
+
|
|
51
|
+
## Сценарий
|
|
52
|
+
|
|
53
|
+
```vne
|
|
54
|
+
$ disclaimer show setting
|
|
55
|
+
$ disclaimer show qte
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Близкие плагины
|
|
59
|
+
|
|
60
|
+
### plugins/core/
|
|
61
|
+
|
|
62
|
+
- [logs.md](../core/logs.md) — `LOGS`: emitLog
|
|
63
|
+
- [scenario.md](../core/scenario.md) — `SCENARIO`: emitNext, EVENTS.LINE_EXEC_REG
|
|
64
|
+
|
|
65
|
+
### Остальные
|
|
66
|
+
|
|
67
|
+
- [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.ACCEPT, CONST.BUTTONS.INTERACT
|
|
68
|
+
- [intro.md](./intro.md) — `INTRO`: похожий сценарный экран
|
|
69
|
+
- [confirm.md](./confirm.md) — `CONFIRM`: затемнение и кнопки
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
|---------|--------|------|
|
|
57
57
|
| `$ interface` | `show`, `hide`, `view` | [interface.md](./stubs/interface.md) |
|
|
58
58
|
| `$ intro` | интро | [intro.md](./stubs/intro.md) |
|
|
59
|
+
| `$ disclaimer` | `show` + id | [disclaimer.md](./stubs/disclaimer.md) |
|
|
59
60
|
| `$ mainmenu` | главное меню | [mainmenu.md](./stubs/mainmenu.md) |
|
|
60
61
|
| `$ credits` | `show`, `hide` | [credits.md](./stubs/credits.md) |
|
|
61
62
|
| `$ settings.defaults` | дефолты настроек | [settings.defaults.md](./stubs/settings.defaults.md) |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# $ disclaimer
|
|
2
|
+
|
|
3
|
+
| | |
|
|
4
|
+
|--|--|
|
|
5
|
+
| Тип | `module` (`$`) |
|
|
6
|
+
| Сигнатура | `$ disclaimer <action> <id>` |
|
|
7
|
+
| Actions / args | `show` + `<id>` — ключ текстов в `disclaimer` locs |
|
|
8
|
+
| Plugin doc | [views.screens/disclaimer.md](../plugins/views.screens/disclaimer.md) |
|
|
9
|
+
|
|
10
|
+
## Примеры
|
|
11
|
+
|
|
12
|
+
```vne
|
|
13
|
+
$ disclaimer show setting
|
|
14
|
+
$ disclaimer show qte
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Source of truth: `SCENARIO_COMMANDS` в соответствующем `contracts/**/commands.ts`.
|
package/scenario.guide/views.md
CHANGED
|
@@ -14,6 +14,7 @@ $ interface view adv
|
|
|
14
14
|
|
|
15
15
|
```vne
|
|
16
16
|
$ intro
|
|
17
|
+
$ disclaimer show setting
|
|
17
18
|
$ mainmenu
|
|
18
19
|
$ credits show
|
|
19
20
|
$ credits hide
|
|
@@ -23,6 +24,7 @@ $ settings.defaults
|
|
|
23
24
|
| Команда | Смысл |
|
|
24
25
|
|---------|--------|
|
|
25
26
|
| `$ intro` | Интро-экран |
|
|
27
|
+
| `$ disclaimer show <id>` | Дисклеймер (title/text/accept по id из locs) |
|
|
26
28
|
| `$ mainmenu` | Главное меню |
|
|
27
29
|
| `$ credits show` / `hide` | Титры |
|
|
28
30
|
| `$ settings.defaults` | Сброс/дефолты настроек (по плагину) |
|