@vnejs/docs 0.2.62 → 0.2.64
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 +10 -0
- package/package.json +1 -1
- package/plugins/text/text.md +13 -13
- package/plugins/views.screens/credits.md +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Краткая история изменений движка (плагины, helpers, packages, CLI и прочий runtime) и внешнего API. Версии — релизы пакета `@vnejs/docs`.
|
|
4
4
|
|
|
5
|
+
## 0.2.64
|
|
6
|
+
|
|
7
|
+
- `views.screens/credits` — конец прокрутки и клик по экрану шлют `CREDITS.HIDE`. Раньше view передавал `onClose`: `ScrollContent` ждёт `onFinish`, `Screen` — `onClick`, поэтому после титров `SCENARIO.NEXT` не уходил и сценарий не продолжался.
|
|
8
|
+
- `text/text` — `STATE.CLEAR` сбрасывает текст и шлёт `TEXT.CHANGED`, без `TEXT.EMIT`. Раньше clear шёл через `TEXT.EMIT` → `TEXT.EMIT_BEFORE` → `INTERFACE.SHOW` и открывал пустой интерфейс. `STATE.SET` по-прежнему шлёт `TEXT.EMIT` с `isKeepProcessState`.
|
|
9
|
+
|
|
10
|
+
## 0.2.63
|
|
11
|
+
|
|
12
|
+
- `uis/react/hooks/use-store-state` — `notifyIsForce(true)` зовётся из `useLayoutEffect`, в том же коммите, где React записал `isForce`. `useEffect` откладывался отдельной задачей и иногда не выполнялся: `interface.controller` оставался в `uninitedModules`, движок не доходил до `start`.
|
|
13
|
+
- `module.components` — несколько ожиданий `isForce` на одном view отпускаются вместе. Раньше второй `onUpdateStoreComponent` затирал resolver первого, и первое ожидание не завершалось.
|
|
14
|
+
|
|
5
15
|
## 0.2.62
|
|
6
16
|
|
|
7
17
|
- `module.components` — при `isForce` `onUpdateStoreComponent` ждёт `ViewStoreApi.notifyIsForce(true)` и затем пишет `isForce: false`. Фиксированный `waitTimeout(100)` снят. API: `ViewStoreApi.notifyIsForce`, `ViewIsForceNotify`.
|
package/package.json
CHANGED
package/plugins/text/text.md
CHANGED
|
@@ -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` |
|
|
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
|
|
|
@@ -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`.
|