@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` / media, `reset` |
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/*.json"]
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()`** (`mods.json`, labels, media).
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vnejs/docs",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "VNEJS documentation for engine consumers and coding agents",
5
5
  "files": [
6
6
  "*.md",
@@ -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.*.json` с `HOST`. |
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`.
@@ -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` | Сброс/дефолты настроек (по плагину) |