@vnejs/docs 0.2.63 → 0.2.65

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.65
6
+
7
+ - `compatibility/text/scenario.history`, `views.screens/history` — журнал ищет перевод по строке сценария вместе с маркерами `{…}` (`{i}`, `{/i}`). Раньше маркеры снимались до `TEXT.REPLACE`, ключ не совпадал со словарём, и в журнале оставался исходный текст. Маркеры по-прежнему снимаются со строки показа после перевода.
8
+
9
+ ## 0.2.64
10
+
11
+ - `views.screens/credits` — конец прокрутки и клик по экрану шлют `CREDITS.HIDE`. Раньше view передавал `onClose`: `ScrollContent` ждёт `onFinish`, `Screen` — `onClick`, поэтому после титров `SCENARIO.NEXT` не уходил и сценарий не продолжался.
12
+ - `text/text` — `STATE.CLEAR` сбрасывает текст и шлёт `TEXT.CHANGED`, без `TEXT.EMIT`. Раньше clear шёл через `TEXT.EMIT` → `TEXT.EMIT_BEFORE` → `INTERFACE.SHOW` и открывал пустой интерфейс. `STATE.SET` по-прежнему шлёт `TEXT.EMIT` с `isKeepProcessState`.
13
+
5
14
  ## 0.2.63
6
15
 
7
16
  - `uis/react/hooks/use-store-state` — `notifyIsForce(true)` зовётся из `useLayoutEffect`, в том же коммите, где React записал `isForce`. `useEffect` откладывался отдельной задачей и иногда не выполнялся: `interface.controller` оставался в `uninitedModules`, движок не доходил до `start`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vnejs/docs",
3
- "version": "0.2.63",
3
+ "version": "0.2.65",
4
4
  "description": "VNEJS documentation for engine consumers and coding agents",
5
5
  "files": [
6
6
  "*.md",
@@ -53,7 +53,7 @@ Payloads и результаты хендлеров типизированы ч
53
53
 
54
54
  Пакет: `@vnejs/compatibility.text-with-scenario.history`
55
55
 
56
- На `TEXT.EMIT_NEXT` эмитит `HISTORY.ADD` с `{ label, text, args, speaker, speakerInfo }`. Маркеры `{…}` из текста снимаются. Подключается в `bundles/vn.skeleton`.
56
+ На `TEXT.EMIT_NEXT` эмитит `HISTORY.ADD` с `{ label, text, args, speaker, speakerInfo }`. `text` — строка сценария как есть, вместе с маркерами `{…}`: это ключ локализации. Подключается в `bundles/vn.skeleton`.
57
57
 
58
58
  ### `compatibility/scenario.choose/scenario.history/`
59
59
 
@@ -48,19 +48,19 @@ Payloads и результаты хендлеров типизированы ч
48
48
 
49
49
  ## Модули
50
50
 
51
- | Модуль | Зона ответственности |
52
- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------- |
53
- | `text.emit.end` | Завершение emit и переход к next или финальному state. `isKeepProcessState` выходит без `PROCESS_STATE` и `EMIT_NEXT`. |
54
- | `text.emit.next` | На `EMIT_NEXT`: `PROCESS_STATE` NEXT, затем `onTextEmitNext` → `emit SCENARIO.NEXT` (`priority` 999999). |
55
- | `text.emit` | Точка входа emit: подготовка и запуск process. `isKeepProcessState` после `STATE_CHANGED` сразу `EMIT_END`. |
56
- | `text.exec` | Подмодуль `exec` плагина. |
57
- | `text.prepare.tokens` | Токенизация текста перед отображением. |
58
- | `text.process.state` | В `postinject` — `shared.textProcessSkipSources`; PROCESS_STATE, SET, CLEAR. |
59
- | `text.process.enabled` | Подмодуль `process.enabled` плагина. |
60
- | `text.recalc` | Пересчёт производного состояния текста. |
61
- | `text.replace` | Реестр обработчиков REPLACE_REG. |
62
- | `text.speaker` | SPEAKER_INFO_UPDATE, CLEAR, SET; на `EMIT_BEFORE` (`priority` 100) — speaker. |
63
- | `text` | Обрабатывает STATE_UPDATE, STATE_CHANGED, CLEAR, SET. `STATE.SET` и `STATE.CLEAR` передают `isKeepProcessState`. |
51
+ | Модуль | Зона ответственности |
52
+ | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
+ | `text.emit.end` | Завершение emit и переход к next или финальному state. `isKeepProcessState` выходит без `PROCESS_STATE` и `EMIT_NEXT`. |
54
+ | `text.emit.next` | На `EMIT_NEXT`: `PROCESS_STATE` NEXT, затем `onTextEmitNext` → `emit SCENARIO.NEXT` (`priority` 999999). |
55
+ | `text.emit` | Точка входа emit: подготовка и запуск process. `isKeepProcessState` после `STATE_CHANGED` сразу `EMIT_END`. |
56
+ | `text.exec` | Подмодуль `exec` плагина. |
57
+ | `text.prepare.tokens` | Токенизация текста перед отображением. |
58
+ | `text.process.state` | В `postinject` — `shared.textProcessSkipSources`; PROCESS_STATE, SET, CLEAR. |
59
+ | `text.process.enabled` | Подмодуль `process.enabled` плагина. |
60
+ | `text.recalc` | Пересчёт производного состояния текста. |
61
+ | `text.replace` | Реестр обработчиков REPLACE_REG. |
62
+ | `text.speaker` | SPEAKER_INFO_UPDATE, CLEAR, SET; на `EMIT_BEFORE` (`priority` 100) — speaker. |
63
+ | `text` | STATE_UPDATE, STATE_CHANGED, SET, CLEAR. `STATE.SET` → `TEXT.EMIT` с `isKeepProcessState`. `STATE.CLEAR` сбрасывает стейт и шлёт `TEXT.CHANGED`, без `TEXT.EMIT`. |
64
64
 
65
65
  ## Compatibility
66
66
 
@@ -74,7 +74,7 @@ Payloads и результаты хендлеров типизированы ч
74
74
 
75
75
  Пакет: `@vnejs/compatibility.text-with-scenario.history`
76
76
 
77
- На `EMIT_NEXT` эмитит `HISTORY.ADD` с текстом последней реплики (маркеры `{…}` снимаются). Подключается в `bundles/vn.skeleton`.
77
+ На `EMIT_NEXT` эмитит `HISTORY.ADD` с текстом последней реплики. Маркеры `{…}` в строке остаются: по ним ищется перевод. Подключается в `bundles/vn.skeleton`.
78
78
 
79
79
  ## Близкие плагины
80
80
 
@@ -4,6 +4,8 @@
4
4
 
5
5
  Экран титров, открываемый и закрываемый командами сценария show/hide.
6
6
 
7
+ Конец прокрутки и клик по экрану шлют `HIDE`. На `HIDE.AFTER` уходит `SCENARIO.NEXT`: если титры открыты из главного меню, строка `$ mainmenu` уже пройдена, метка заканчивается, пустой стек делает `STACK.CLEAR`, и сценарий снова идёт с лейбла `init`.
8
+
7
9
  ## События
8
10
 
9
11
  Payloads и результаты хендлеров типизированы через module augmentation контракта (`VneEventPayloadMap` / `VneEventResultMap`); типы — в `@vnejs/contracts.views.screens.credits`.
@@ -40,15 +40,15 @@ Payloads и результаты хендлеров типизированы ч
40
40
 
41
41
  ## Модули
42
42
 
43
- | Модуль | Зона ответственности |
44
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
45
- | `history.controller` | SHOW/HIDE/UPDATE_STATE/UPDATE_FAST; перед SHOW резолвит тексты строк (`TEXT.REPLACE`). Для `locKey` — через `PARAMS.HISTORY_VIEW.LOC_LABEL` (локализация view), иначе через label сценария. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
46
- | `history.controller.click` | `HISTORY_VIEW.CLICK` → `HISTORY.KEYS`; если `uid` в ключах — `HISTORY.LOAD`. |
47
- | `history.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
48
- | `history.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по записям журнала; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowVerticalItem` в стейте становится `undefined`. |
49
- | `history.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
50
- | `history.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` → `HIDE` с `{ isForce: true }` (`IS_STATE_CLEAR_ENABLED = false`). |
51
- | `history.view` | Подмодуль `view` плагина. |
43
+ | Модуль | Зона ответственности |
44
+ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
45
+ | `history.controller` | SHOW/HIDE/UPDATE_STATE/UPDATE_FAST; перед SHOW резолвит тексты строк (`TEXT.REPLACE`). Для `locKey` — через `PARAMS.HISTORY_VIEW.LOC_LABEL` (локализация view), иначе через label сценария. После перевода маркеры `{…}` снимаются со строки показа. Пустой `controls` на `ZINDEX`, чтобы стопорить слои ниже. |
46
+ | `history.controller.click` | `HISTORY_VIEW.CLICK` → `HISTORY.KEYS`; если `uid` в ключах — `HISTORY.LOAD`. |
47
+ | `history.controller.accept` | Наследует `@vnejs/module.controller.accept`: `ACCEPT` / `INTERACT` → `ACCEPT` → `CLICK` по `currentArrowVerticalItem`; зеркалит `UPDATE_STATE`; PUSH/POP на SHOW/HIDE. |
48
+ | `history.controller.arrows` | Наследует `@vnejs/module.controller.arrows.vertical`: `ARROW_UP` / `ARROW_BOTTOM` по записям журнала; PUSH/POP controls на SHOW/HIDE; эмитит `UPDATE_STATE` с `{ currentArrowVerticalItem }` и `UPDATE_FAST`. На `HIDE.CLEANUP` `currentArrowVerticalItem` в стейте становится `undefined`. |
49
+ | `history.hide.controls` | Наследует `@vnejs/module.controller.hide.on.controls`: `BACK` / `MENU` / `GAMEMENU` → `HIDE`; PUSH/POP на SHOW/HIDE. |
50
+ | `history.hide.state` | Наследует `@vnejs/module.controller.hide.on.state`: `STATE.SET` → `HIDE` с `{ isForce: true }` (`IS_STATE_CLEAR_ENABLED = false`). |
51
+ | `history.view` | Подмодуль `view` плагина. |
52
52
 
53
53
  ## Близкие плагины
54
54