@vnejs/docs 0.2.33 → 0.2.34

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 CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  Краткая история изменений движка (плагины, helpers, packages, CLI и прочий runtime) и внешнего API. Версии — релизы пакета `@vnejs/docs`.
4
4
 
5
+ ## 0.2.34
6
+
7
+ - `scenario/pause` — логи в модуле `pause.logs`, не `emitLog` из шага. `$ pause` обрабатывает модуль `pause.scenario`: `LINE_EXEC_REG`, затем `EVENTS.PAUSE.EMIT` и `emitNext`. Блокировки — модуль `pause.emit`: в `postinject` создаёт `shared.pauseDisableSources`; `EVENTS.PAUSE.EMIT` (`vne:pause:emit`) эмитит `START`, если набор пуст. `START` больше не смотрит блокировки и не вызывает `emitNext`. `STATE.CLEAR` больше не вызывает `END`. API: `EVENTS.PAUSE.EMIT`, `CONST.PAUSE.LOGS_ACTIONS` (`EMIT` / `emit`, `START` / `start`, `END` / `end`).
8
+ - `scenario/autoread` — постановка и сброс таймера через события, не методы модуля. `TIMEOUT_CREATE` ставит таймер на `SETTINGS.AUTOREAD.DELAY` и по нему эмитит `AUTOREAD.EMIT`. `TIMEOUT_CLEAR` снимает таймер. PUSH / POP / `STATE.SET` / `STATE.CLEAR` идут через эти события. Шаг авточтения — модуль `autoread.emit` на `EVENTS.AUTOREAD.EMIT` (`vne:autoread:emit`). Таймер — модуль `autoread.timeout` (`TIMEOUT_CREATE` / `TIMEOUT_CLEAR`; `STATE.CLEAR` → `TIMEOUT_CLEAR`, `STATE.SET` → `TIMEOUT_CLEAR` затем `TIMEOUT_CREATE`). Блокировки — модуль `autoread.sources`: `postinject` создаёт `shared.autoreadDisableSources`, `PUSH` / `POP` меняют набор, `STATE.SET` его очищает. Вместо `EVENTS.AUTOREAD.TRY` (`vne:autoread:try`). Логи — модуль `autoread.logs`, не `emitLog` из шага. `CONST.AUTOREAD.LOGS_ACTIONS`: `EMIT` (`emit`), `PUSH` (`push`), `POP` (`pop`), `TIMEOUT_CREATE` (`timeout_create`), `TIMEOUT_CLEAR` (`timeout_clear`). `PUSH` / `POP` пишут `source`. API: `EVENTS.AUTOREAD.EMIT`, `EVENTS.AUTOREAD.TIMEOUT_CREATE`, `EVENTS.AUTOREAD.TIMEOUT_CLEAR`, `CONST.AUTOREAD.LOGS_ACTIONS`.
9
+ - `scenario/history` — журнал снапшотов вынесен из экрана (`@vnejs/plugins.scenario.history`). Шаг назад — `EVENTS.HISTORY.BACK`; запись — `EVENTS.HISTORY.ADD` / `GET` / `SET` / `LOAD` / `KEYS` / `KEYS_UPDATE`. Снапшот в память — `EVENTS.HISTORY.SET` (`{ uid, value }`), не прямой `MEMORY.SET`. Прогрев ключей — `EVENTS.HISTORY.KEYS_UPDATE`. Флаг загрузки — `shared.isHistoryLoadInProcess`, не поле модуля. Логи — `CONST.HISTORY.LOGS_ACTIONS` (`ADD`, `LOAD_START`, `LOAD_DELETED`, `LOAD_END`). `PARAMS.HISTORY.MAX_LENGTH`. Мост к `MEMORY` — модуль `history.memory` (`MEMORY.REG` / `GET` / `SET` / `KEYS`, ключ `module: this.name`). Загрузка снапшота — модуль `history.load` (`EVENTS.HISTORY.LOAD`, флаг `shared.isHistoryLoadInProcess`). Шаг назад — модуль `history.back` (`EVENTS.HISTORY.BACK`, последняя запись из `globalState.history`). Плагин и связки записи — в `bundles/vn.skeleton`. Вместо `HISTORY.ADD` с экрана `views.screens/history`.
10
+ - `views.screens/history` — экран журнала: namespace `HISTORY_VIEW` (`@vnejs/plugins.views.screens.history`), в `bundles/vn.base`. API: `EVENTS.HISTORY_VIEW.SHOW`, `EVENTS.HISTORY_VIEW.HIDE`, `EVENTS.HISTORY_VIEW.CLICK`, `EVENTS.HISTORY_VIEW.UPDATE`, `EVENTS.HISTORY_VIEW.STATE_UPDATE`, `EVENTS.HISTORY_VIEW.UPDATE_FAST`, `EVENTS.HISTORY_VIEW.ACCEPT`, `PARAMS.HISTORY_VIEW.ZINDEX`, `PARAMS.HISTORY_VIEW.TRANSITION`, `PARAMS.HISTORY_VIEW.LOC_LABEL`, `PARAMS.HISTORY_VIEW.VIEW_PROPS`. Вместо `EVENTS.HISTORY.SHOW` и остальных view-событий `HISTORY`.
11
+ - `compatibility/text/scenario.history` — `@vnejs/compatibility.text-with-scenario.history` вместо `@vnejs/compatibility.text-with-views.screens.history`. На `TEXT.EMIT_NEXT` эмитит `EVENTS.HISTORY.ADD`.
12
+ - `compatibility/scenario.choose/scenario.history` — `@vnejs/compatibility.scenario.choose-with-scenario.history` вместо `@vnejs/compatibility.scenario.choose-with-views.screens.history`. На `CHOOSE.OPTION_BEFORE_REG` эмитит `EVENTS.HISTORY.ADD` с `{ locKey: "choice" }`.
13
+
5
14
  ## 0.2.33
6
15
 
7
16
  - `views.scenario/point_and_click` — `SETTINGS.CHANGED` обновляет view только при `state.isShow` (`point_and_click_view.controller`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vnejs/docs",
3
- "version": "0.2.33",
3
+ "version": "0.2.34",
4
4
  "description": "VNEJS documentation for engine consumers and coding agents",
5
5
  "files": [
6
6
  "*.md",
@@ -6,15 +6,19 @@
6
6
 
7
7
  ## События
8
8
 
9
- | Ключ | Строка | Смысл |
10
- | ------ | ------------------- | ----------------------------------------- |
11
- | `TRY` | `vne:autoread:try` | Записать диагностическое сообщение в лог. |
12
- | `PUSH` | `vne:autoread:push` | Добавить элемент в очередь или стек. |
13
- | `POP` | `vne:autoread:pop` | Извлечь элемент из очереди или стека. |
9
+ | Ключ | Строка | Смысл |
10
+ | ---------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------ |
11
+ | `EMIT` | `vne:autoread:emit` | Если авточтение включено и нет блокировок — `INTERACT.EMIT` по `vne-autoread-allow`, иначе `TIMEOUT_CREATE`. |
12
+ | `PUSH` | `vne:autoread:push` | Добавить источник блокировки и `TIMEOUT_CLEAR`. Payload: `{ source? }`. |
13
+ | `POP` | `vne:autoread:pop` | Снять источник блокировки; если очередь пуста — `TIMEOUT_CREATE`. Payload: `{ source? }`. |
14
+ | `TIMEOUT_CREATE` | `vne:autoread:timeout_create` | Поставить таймер на `SETTINGS.AUTOREAD.DELAY`; по нему эмитит `EMIT`. |
15
+ | `TIMEOUT_CLEAR` | `vne:autoread:timeout_clear` | Снять поставленный таймер. |
14
16
 
15
17
  ## Константы
16
18
 
17
- Нет.
19
+ | Ключ | Смысл |
20
+ | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
21
+ | `LOGS_ACTIONS` | Метки для логов: `EMIT` (`emit`), `PUSH` (`push`), `POP` (`pop`), `TIMEOUT_CREATE` (`timeout_create`), `TIMEOUT_CLEAR` (`timeout_clear`). |
18
22
 
19
23
  ## Параметры
20
24
 
@@ -32,16 +36,20 @@
32
36
 
33
37
  ## Модули
34
38
 
35
- | Модуль | Зона ответственности |
36
- | ---------- | -------------------------------------------------------------------------------------------------------- |
37
- | `autoread` | В `postinject` — `shared.autoreadDisableSources`; `SETTINGS.INIT` в `setup`; TRY, PUSH, POP, CHANGED, …. |
39
+ | Модуль | Зона ответственности |
40
+ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
41
+ | `autoread` | `SETTINGS.INIT` в `setup`. `SETTINGS.CHANGED` для `ENABLED` эмитит `PUSH` / `POP`. |
42
+ | `autoread.logs` | Логи всех событий `AUTOREAD` через `emitLog`. `PUSH` / `POP` пишут `source`. |
43
+ | `autoread.sources` | В `postinject` — `shared.autoreadDisableSources`. `PUSH` / `POP`. На `STATE.SET` очищает набор. |
44
+ | `autoread.emit` | `EMIT`: если включено и нет блокировок — `INTERACT.EMIT` по `vne-autoread-allow`, иначе `TIMEOUT_CREATE`. |
45
+ | `autoread.timeout` | `TIMEOUT_CREATE` / `TIMEOUT_CLEAR`. Таймер на `SETTINGS.AUTOREAD.DELAY`, по нему `EMIT`. `STATE.CLEAR` → `TIMEOUT_CLEAR`. `STATE.SET` → `TIMEOUT_CLEAR`, затем `TIMEOUT_CREATE`. |
38
46
 
39
47
  ## Близкие плагины
40
48
 
41
49
  ### plugins/core/
42
50
 
43
51
  - [interact.md](../core/interact.md) — `INTERACT`: EVENTS.EMIT
44
- - [logs.md](../core/logs.md) — `LOGS`: emitLog
52
+ - [logs.md](../core/logs.md) — `LOGS`: `emitLog`, `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
45
53
  - [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED, EVENTS.INIT
46
54
  - [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR, EVENTS.SET
47
55
 
@@ -80,11 +80,11 @@
80
80
 
81
81
  В `init` регистрирует handler на `OPTION_BEFORE_REG`: при выборе опции эмитит `FASTFORWARD.CHECK` (до `HIDE` / `OPTION_REPLACE`).
82
82
 
83
- ### `compatibility/scenario.choose/views.screens.history/`
83
+ ### `compatibility/scenario.choose/scenario.history/`
84
84
 
85
- Пакет: `@vnejs/compatibility.scenario.choose-with-views.screens.history`
85
+ Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.history`
86
86
 
87
- В `init` регистрирует handler на `OPTION_BEFORE_REG`: при выборе опции эмитит `HISTORY.ADD` с `{ locKey: "choice" }` (без speaker/text). Текст строки берётся из локализации view history (`history.json`).
87
+ В `init` регистрирует handler на `OPTION_BEFORE_REG`: при выборе опции эмитит `HISTORY.ADD` с `{ locKey: "choice" }` (без speaker/text). Текст строки берётся из локализации экрана history (`history.json`). Подключается в `bundles/vn.skeleton`.
88
88
 
89
89
  ### `compatibility/scenario.choose/scenario.qte/`
90
90
 
@@ -106,6 +106,6 @@
106
106
  - [text.md](../text/text.md) — `TEXT`: EVENTS.REPLACE (текст опций)
107
107
  - [qte.md](./qte.md) — `QTE`: связка через `OPTION_REPLACE` (compatibility выше)
108
108
  - [fastforward.md](./fastforward.md) — `FASTFORWARD`: связка через `OPTION_BEFORE_REG` (compatibility выше)
109
- - [views.screens/history.md](../views.screens/history.md) — `HISTORY`: связка через `OPTION_BEFORE_REG` → `ADD` с `locKey` (compatibility выше)
109
+ - [history.md](./history.md) — `HISTORY`: связка через `OPTION_BEFORE_REG` → `ADD` с `locKey` (compatibility выше)
110
110
  - [views.scenario/choose.md](../views.scenario/choose.md) — `CHOOSE_VIEW`: UI выбора (слушает SHOW / HIDE)
111
111
  - [scenario/point_and_click.md](./point_and_click.md) — тот же паттерн `repeat` / `SKIP` / `SHOW` / `HIDE` / `STATE_UPDATE`
@@ -0,0 +1,75 @@
1
+ # plugins/scenario/history/
2
+
3
+ Пакет: `@vnejs/plugins.scenario.history` · namespace: `HISTORY`
4
+
5
+ Журнал снапшотов состояния. `BACK` возвращает на последнюю запись. Экран журнала — [views.screens/history.md](../views.screens/history.md) (`HISTORY_VIEW`), в `bundles/vn.base`. Этот плагин — в `bundles/vn.skeleton`.
6
+
7
+ ## События
8
+
9
+ | Ключ | Строка | Смысл |
10
+ | ------ | ------------------ | ---------------------------------------------------------------------------------------------------------- |
11
+ | `GET` | `vne:history:get` | Снапшот по `uid` (`MEMORY.GET`). Payload: `{ uid? }`. |
12
+ | `SET` | `vne:history:set` | Записать снапшот в `MEMORY` модуля `history.memory`. Payload: `{ uid?, value? }`. |
13
+ | `ADD` | `vne:history:add` | Снять snapshot `STATE` и добавить запись. Payload: реплика (`label`/`text`/`args`/`speaker`…) или `{ locKey }`. Пока `shared.isHistoryLoadInProcess` — игнорируется. |
14
+ | `LOAD` | `vne:history:load` | Загрузить снапшот в `STATE` и перейти на `state.scenario.label` (`SCENARIO.LABEL_GET`). Payload: `{ uid? }`. На время загрузки ставит `shared.isHistoryLoadInProcess`. |
15
+ | `BACK` | `vne:history:back` | `LOAD` последней записи. Пока `shared.isHistoryLoadInProcess` и на пустом журнале ничего не делает. |
16
+ | `KEYS` | `vne:history:keys` | Ключи модуля `history.memory` в `MEMORY`. |
17
+ | `KEYS_UPDATE` | `vne:history:keys_update` | Прогреть ключи: `GET` по каждому `uid` в стейте журнала. |
18
+
19
+ Флаг загрузки — `shared.isHistoryLoadInProcess` (ставит модуль `history.load`; в `postinject` — `false`).
20
+
21
+ ## Константы
22
+
23
+ | Ключ | Смысл |
24
+ | -------------- | ---------------------------------------------------------------------------------------------- |
25
+ | `LOGS_ACTIONS` | Метки для логов: `ADD` (`add`), `LOAD_START` (`load start`), `LOAD_DELETED` (`load deleted`), `LOAD_END` (`load end`). |
26
+
27
+ ## Параметры
28
+
29
+ | Ключ | Тип | Смысл |
30
+ | ------------ | -------- | ------------------------------------------ |
31
+ | `MAX_LENGTH` | `number` | Максимум записей. Значение по умолчанию: 50. |
32
+
33
+ ## Настройки
34
+
35
+ Нет.
36
+
37
+ ## Модули
38
+
39
+ | Модуль | Зона ответственности |
40
+ | ---------------- | ------------------------------------------------------------------------------------ |
41
+ | `history` | ADD, KEYS_UPDATE. Стейт `{ history }`. |
42
+ | `history.back` | BACK. Последняя запись — `globalState.history`. Пока `shared.isHistoryLoadInProcess` и на пустом журнале ничего не делает. |
43
+ | `history.load` | LOAD. На время загрузки ставит `shared.isHistoryLoadInProcess`. |
44
+ | `history.memory` | `MEMORY.REG` в `setup` (`module: this.name`); GET, SET, KEYS. |
45
+
46
+ Стейт журнала — у модуля `history` (`globalState.history`). Снапшоты в `MEMORY` лежат под именем модуля `history.memory`.
47
+
48
+ ## Compatibility
49
+
50
+ ### `compatibility/text/scenario.history/`
51
+
52
+ Пакет: `@vnejs/compatibility.text-with-scenario.history`
53
+
54
+ На `TEXT.EMIT_NEXT` эмитит `HISTORY.ADD` с `{ label, text, args, speaker, speakerInfo }`. Маркеры `{…}` из текста снимаются. Подключается в `bundles/vn.skeleton`.
55
+
56
+ ### `compatibility/scenario.choose/scenario.history/`
57
+
58
+ Пакет: `@vnejs/compatibility.scenario.choose-with-scenario.history`
59
+
60
+ На `CHOOSE.OPTION_BEFORE_REG` эмитит `HISTORY.ADD` с `{ locKey: "choice" }`. Перевод строки — ключ `choice` в `history.json` экрана. Подключается в `bundles/vn.skeleton`.
61
+
62
+ ## Близкие плагины
63
+
64
+ ### plugins/core/
65
+
66
+ - [logs.md](../core/logs.md) — `LOGS`: emitLog
67
+ - [memory.md](../core/memory.md) — `MEMORY`: EVENTS.REG, EVENTS.SET, EVENTS.KEYS, EVENTS.GET
68
+ - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.LABEL_GET
69
+ - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, EVENTS.GET, EVENTS.LOAD
70
+
71
+ ### Остальные
72
+
73
+ - [text.md](../text/text.md) — `TEXT`: `EMIT_NEXT` → `ADD` (compatibility выше)
74
+ - [choose.md](./choose.md) — `CHOOSE`: `OPTION_BEFORE_REG` → `ADD` (compatibility выше)
75
+ - [views.screens/history.md](../views.screens/history.md) — `HISTORY_VIEW`: экран журнала (`SHOW` / `HIDE`); читает `GET` / `KEYS` / `LOAD`
@@ -6,14 +6,17 @@
6
6
 
7
7
  ## События
8
8
 
9
- | Ключ | Строка | Смысл |
10
- | ------- | ----------------- | ----------------------------------------- |
11
- | `START` | `vne:pause:start` | Продвинуть сценарий к следующей строке. |
12
- | `END` | `vne:pause:end` | Записать диагностическое сообщение в лог. |
9
+ | Ключ | Строка | Смысл |
10
+ | ------- | ----------------- | ----------------------------------------------------------------------------------------------- |
11
+ | `EMIT` | `vne:pause:emit` | Если `shared.pauseDisableSources` пуст — `START` с `{ time? }`. Иначе ничего. |
12
+ | `START` | `vne:pause:start` | Ждать клик (`INTERACT.PUSH`, ключ `pause`) или `time` мс, пока не `END`. Payload: `{ time? }`. |
13
+ | `END` | `vne:pause:end` | Снять таймер, `INTERACT.POP`, завершить ожидание `START`. |
13
14
 
14
15
  ## Константы
15
16
 
16
- Нет.
17
+ | Ключ | Смысл |
18
+ | -------------- | ---------------------------------------------------------------------------------------- |
19
+ | `LOGS_ACTIONS` | Метки для логов: `EMIT` (`emit`), `START` (`start`), `END` (`end`). `EMIT` пишет `time`. |
17
20
 
18
21
  ## Параметры
19
22
 
@@ -25,18 +28,20 @@
25
28
 
26
29
  ## Модули
27
30
 
28
- | Модуль | Зона ответственности |
29
- | ------- | ------------------------------------------------------------------------------------------- |
30
- | `pause` | В `postinject` — `shared.pauseDisableSources`; `LINE_EXEC_REG` в `init`; END, START, CLEAR. |
31
+ | Модуль | Зона ответственности |
32
+ | ---------------- | --------------------------------------------------------------------------------------------------------- |
33
+ | `pause` | `START` ждёт `END`: клик (`INTERACT`) или таймер `time`. |
34
+ | `pause.emit` | В `postinject` — `shared.pauseDisableSources`. `EMIT` → `START`, если набор пуст. |
35
+ | `pause.logs` | Логи `EMIT` / `START` / `END` через `emitLog`. `EMIT` пишет `time`. |
36
+ | `pause.scenario` | `LINE_EXEC_REG` для `$ pause` в `init`. Парсит `time`, эмитит `EMIT`, затем `emitNext`. |
31
37
 
32
38
  ## Близкие плагины
33
39
 
34
40
  ### plugins/core/
35
41
 
36
42
  - [interact.md](../core/interact.md) — `INTERACT`: EVENTS.POP, EVENTS.PUSH
37
- - [logs.md](../core/logs.md) — `LOGS`: emitLog
43
+ - [logs.md](../core/logs.md) — `LOGS`: `emitLog`, `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
38
44
  - [scenario.md](../core/scenario.md) — `SCENARIO`: emitNext, EVENTS.LINE_EXEC_REG
39
- - [state.md](../core/state.md) — `STATE`: EVENTS.CLEAR
40
45
 
41
46
  ### Остальные
42
47
 
@@ -71,6 +71,12 @@
71
71
 
72
72
  Связка с [interface.md](../views.scenario/interface.md): `CHANGED` / `SPEAKER_CHANGED` / `EMIT_BEFORE` → `INTERFACE.TEXT_CHANGED` / `SPEAKER_CHANGED` / `SHOW`. В `postinject` ставит `shared.interfaceTextShowAllTokensOnChange`.
73
73
 
74
+ ### `compatibility/text/scenario.history/`
75
+
76
+ Пакет: `@vnejs/compatibility.text-with-scenario.history`
77
+
78
+ На `EMIT_NEXT` эмитит `HISTORY.ADD` с текстом последней реплики (маркеры `{…}` снимаются). Подключается в `bundles/vn.skeleton`.
79
+
74
80
  ## Близкие плагины
75
81
 
76
82
  ### plugins/core/
@@ -84,3 +90,4 @@
84
90
  ### Остальные
85
91
 
86
92
  - [interface.md](../views.scenario/interface.md) — `INTERFACE`: связка через compatibility выше
93
+ - [history.md](../scenario/history.md) — `HISTORY`: `EMIT_NEXT` → `ADD` (compatibility выше)
@@ -1,25 +1,22 @@
1
1
  # plugins/views.screens/history/
2
2
 
3
- Пакет: `@vnejs/plugins.views.screens.history` · namespace: `HISTORY`
3
+ Пакет: `@vnejs/plugins.views.screens.history` · namespace: `HISTORY_VIEW`
4
4
 
5
- Журнал диалогов с возвратом к сохранённым состояниям прошлых реплик.
5
+ Экран журнала диалогов. Снапшоты и шаг назад — [scenario/history.md](../scenario/history.md) (`HISTORY`). Этот плагин в `bundles/vn.base`.
6
6
 
7
7
  ## События
8
8
 
9
- | Ключ | Строка | Смысл |
10
- | -------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
11
- | `GET` | `vne:history:get` | Получить значение или ресурс. |
12
- | `ADD` | `vne:history:add` | Добавить запись в журнал (snapshot state). Payload: реплика (`label`/`text`/`args`/`speaker`…) или маркер UI (`locKey` без speaker/text). |
13
- | `LOAD` | `vne:history:load` | Запросить данные у обработчиков и продолжить цепочку. |
14
- | `BACK` | `vne:history:back` | Событие `BACK` namespace плагина. |
15
- | `KEYS` | `vne:history:keys` | Событие `KEYS` namespace плагина. |
16
- | `HIDE` | `vne:history:hide` | Скрыть UI или слой. |
17
- | `SHOW` | `vne:history:show` | Показать UI или слой. |
18
- | `CLICK` | `vne:history:click` | Событие `CLICK` namespace плагина. |
19
- | `UPDATE` | `vne:history:update` | Обновить состояние или отображение. |
20
- | `STATE_UPDATE` | `vne:history:state_update` | Слить partial в стейт контроллера без UPDATE view. |
21
- | `UPDATE_FAST` | `vne:history:update_fast` | Перерисовать view с `isFast`, стейт не меняет. |
22
- | `ACCEPT` | `vne:history:accept` | Событие `ACCEPT` namespace плагина. |
9
+ | Ключ | Строка | Смысл |
10
+ | -------------- | ------------------------------- | --------------------------------------------------------------------- |
11
+ | `HIDE` | `vne:history_view:hide` | Скрыть экран. |
12
+ | `SHOW` | `vne:history_view:show` | Показать экран. |
13
+ | `CLICK` | `vne:history_view:click` | Клик по строке. Если `uid` есть в ключах журнала — `HISTORY.LOAD`. |
14
+ | `UPDATE` | `vne:history_view:update` | Перерисовать view. |
15
+ | `STATE_UPDATE` | `vne:history_view:state_update` | Слить partial в стейт контроллера без UPDATE view. |
16
+ | `UPDATE_FAST` | `vne:history_view:update_fast` | Перерисовать view с `isFast`, стейт не меняет. |
17
+ | `ACCEPT` | `vne:history_view:accept` | `ACCEPT` / `INTERACT` → `CLICK` по `currentArrowVerticalItem`. |
18
+
19
+ Строки журнала и шаг назад — `EVENTS.HISTORY.GET` / `KEYS` / `LOAD` / `BACK` / `ADD` (`scenario/history`).
23
20
 
24
21
  ## Константы
25
22
 
@@ -29,11 +26,10 @@
29
26
 
30
27
  | Ключ | Тип | Смысл |
31
28
  | ------------ | -------- | ------------------------------------ |
32
- | `MAX_LENGTH` | `string` | Значение по умолчанию: "MAX_LENGTH". |
33
- | `ZINDEX` | `string` | Значение по умолчанию: "ZINDEX". |
34
- | `TRANSITION` | `string` | Значение по умолчанию: "TRANSITION". |
35
- | `LOC_LABEL` | `string` | Имя метки или стартовой точки. |
36
- | `VIEW_PROPS` | `string` | Значение по умолчанию: "VIEW_PROPS". |
29
+ | `ZINDEX` | `number` | Значение по умолчанию: 2000. |
30
+ | `TRANSITION` | `number` | Значение по умолчанию: 300. |
31
+ | `LOC_LABEL` | `string` | Метка локализации view (`history`). |
32
+ | `VIEW_PROPS` | `object` | Раскладка экрана, строк и кнопки закрытия. |
37
33
 
38
34
  ## Настройки
39
35
 
@@ -43,34 +39,21 @@
43
39
 
44
40
  | Модуль | Зона ответственности |
45
41
  | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
46
- | `history.controller` | SHOW/HIDE/CLICK/STATE_UPDATE/UPDATE_FAST; перед SHOW резолвит тексты строк (`TEXT.REPLACE`). Для `locKey` — через `PARAMS.HISTORY.LOC_LABEL` (локализация view), иначе через label сценария. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
42
+ | `history.controller` | SHOW/HIDE/CLICK/STATE_UPDATE/UPDATE_FAST; перед SHOW резолвит тексты строк (`TEXT.REPLACE`). Для `locKey` — через `PARAMS.HISTORY_VIEW.LOC_LABEL` (локализация view), иначе через label сценария. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
47
43
  | `history.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по `currentArrowVerticalItem`; зеркалит `STATE_UPDATE`; PUSH/POP на SHOW/HIDE. |
48
44
  | `history.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по записям журнала; PUSH/POP controls на SHOW/HIDE; эмитит `STATE_UPDATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. |
49
45
  | `history.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
50
46
  | `history.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` → `HIDE` с `{ isForce: true }` (`IS_STATE_CLEAR_ENABLED = false`). |
51
- | `history` | `MEMORY.REG` в `setup`; ADD, GET, LOAD, BACK, …. |
52
47
  | `history.view` | Подмодуль `view` плагина. |
53
48
 
54
- ## Compatibility
55
-
56
- ### `compatibility/scenario.choose/views.screens.history/`
57
-
58
- Пакет: `@vnejs/compatibility.scenario.choose-with-views.screens.history`
59
-
60
- На `CHOOSE.OPTION_BEFORE_REG` добавляет в историю запись `{ locKey: "choice" }`. Перевод — ключ `choice` в `history.json` (например «Выбор...»).
61
-
62
49
  ## Близкие плагины
63
50
 
64
51
  ### plugins/core/
65
52
 
66
53
  - [logs.md](../core/logs.md) — `LOGS`: emitLog
67
- - [memory.md](../core/memory.md) — `MEMORY`: EVENTS.REG, EVENTS.SET, EVENTS.KEYS, EVENTS.GET
68
- - [scenario.md](../core/scenario.md) — `SCENARIO`: EVENTS.LABEL_GET
69
- - [state.md](../core/state.md) — `STATE`: EVENTS.SET, EVENTS.CLEAR, EVENTS.GET, EVENTS.LOAD
70
- - [vendors.md](../core/vendors.md) — `VENDORS`: emitClone, EVENTS.UID
71
54
 
72
55
  ### Остальные
73
56
 
57
+ - [scenario/history.md](../scenario/history.md) — `HISTORY`: `GET` / `KEYS` / `LOAD`; запись журнала и `BACK`
74
58
  - [controls.md](../controls/controls.md) — `CONTROLS`: CONST.BUTTONS.BACK, CONST.BUTTONS.MENU, CONST.BUTTONS.GAMEMENU, CONST.BUTTONS.ARROW_UP, CONST.BUTTONS.ARROW_BOTTOM, CONST.BUTTONS.ACCEPT, CONST.BUTTONS.INTERACT
75
59
  - [text.md](../text/text.md) — `TEXT`: EVENTS.REPLACE
76
- - [choose.md](../scenario/choose.md) — `CHOOSE`: связка через compatibility выше (`OPTION_BEFORE_REG`)
@@ -3,14 +3,15 @@
3
3
  | | |
4
4
  | -------------- | ------------------------------------------------- |
5
5
  | Тип | `module` (`$`) |
6
- | Сигнатура | `$ pause` |
7
- | Actions / args | — |
6
+ | Сигнатура | `$ pause [time]` |
7
+ | Actions / args | необязательный `time` (мс) |
8
8
  | Plugin doc | [scenario/pause.md](../plugins/scenario/pause.md) |
9
9
 
10
10
  ## Примеры
11
11
 
12
12
  ```vne
13
13
  $ pause
14
+ $ pause 300
14
15
  ```
15
16
 
16
17
  Source of truth: `SCENARIO_COMMANDS` в соответствующем `contracts/**/commands.ts`.
@@ -33,9 +33,10 @@ $ scenario goto loop_start
33
33
 
34
34
  ```vne
35
35
  $ pause
36
+ $ pause 300
36
37
  ```
37
38
 
38
- Пауза сценария (ожидание игрока / логика плагина pause).
39
+ Пауза сценария до клика или на `time` миллисекунд.
39
40
 
40
41
  ## save
41
42