@vnejs/docs 0.2.20 → 0.2.21

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,12 @@
2
2
 
3
3
  Краткая история изменений плагинов и внешнего API. Версии — релизы пакета `@vnejs/docs`.
4
4
 
5
+ ## 0.2.21
6
+
7
+ - `core/media` — ошибка/timeout fetch не занимает слот semaphore и не кладёт битый blob в память; `GET` не ждёт вечно и возвращает `null` для отсутствующего или битого asset.
8
+ - `core/scenario` — `LABEL_GET` / `LINE_GET` завершаются, если предзагрузка одной строки упала.
9
+ - `cli/desktop` — закрытие последнего окна завершает Electron и на macOS (Steam не держит игру запущенной); Fastify закрывается на quit, если процесс не выходит — `app.exit(0)`. API: `runServer` возвращает `{ port, close }`, `runElectron` принимает `onBeforeQuit`.
10
+
5
11
  ## 0.2.20
6
12
 
7
13
  - `views.screens/confirm` — горизонтальные стрелки в модуле `confirm.controller.arrows` на `@vnejs/module.controller.arrows.horizontal`; индекс в стейте `currentArrowHorizontalItem`. `ACCEPT` / `INTERACT` читают его, не `currentItem`. `STATE.CLEAR` → `HIDE` с `{ isForce: true }` в `confirm.hide.state` на `@vnejs/module.controller.hide.on.state` (`IS_STATE_SET_ENABLED = false`). API: `EVENTS.CONFIRM.UPDATE_FAST`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vnejs/docs",
3
- "version": "0.2.20",
3
+ "version": "0.2.21",
4
4
  "description": "VNEJS documentation for engine consumers and coding agents",
5
5
  "files": [
6
6
  "*.md",
@@ -8,14 +8,14 @@
8
8
 
9
9
  | Ключ | Строка | Смысл |
10
10
  |------|--------|-------|
11
- | `GET` | `vne:media:get` | Получить готовый медиа-элемент: из кэша или через цепочку load. |
11
+ | `GET` | `vne:media:get` | Получить готовый медиа-элемент: из кэша или через цепочку load. Битый или отсутствующий asset → `null`, без вечного wait. |
12
12
  | `SET` | `vne:media:set` | Положить готовый DOM-элемент в memory-подсистему media. |
13
- | `LOAD` | `vne:media:load` | Запуск загрузки по id/type/name с учётом semaphore и dedup через `LOAD_CHECK`. |
13
+ | `LOAD` | `vne:media:load` | Запуск загрузки по id/type/name с учётом semaphore и dedup через `LOAD_CHECK`. Слот очереди освобождается и при ошибке. |
14
14
  | `LOAD_CHECK` | `vne:media:load_check` | Проверить: уже в памяти, в процессе process или load. |
15
15
  | `LOAD_START` | `vne:media:load_start` | Начало загрузки asset (маркер lifecycle). |
16
16
  | `LOAD_END` | `vne:media:load_end` | Окончание загрузки asset (маркер lifecycle). |
17
17
  | `ERROR_NO_SRC` | `vne:media:error_no_src` | В манифесте нет src для запрошенного asset. |
18
- | `ERROR_FETCH` | `vne:media:error_fetch` | Ошибка fetch при загрузке blob. |
18
+ | `ERROR_FETCH` | `vne:media:error_fetch` | Ошибка fetch: сеть, HTTP не-ok, timeout. Битый blob в память не кладётся. |
19
19
  | `PROCESS` | `vne:media:process` | Скачать blob, создать `<img>` / `<audio>` / `<video>`, вызвать `SET`. |
20
20
  | `PROCESS_CHECK` | `vne:media:process_check` | Есть ли уже promise/результат process для `mediaId`. |
21
21
  | `MEMORY_GET` | `vne:media:memory_get` | Прокси к `MEMORY.GET` для namespace media. |
@@ -39,10 +39,10 @@
39
39
 
40
40
  | Модуль | Зона ответственности |
41
41
  |--------|----------------------|
42
- | `media.load` | Semaphore-gated load, dedup, делегирование в process/memory. |
43
- | `media.process` | Fetch blob и создание DOM-медиа. |
42
+ | `media.load` | Semaphore-gated load, dedup, делегирование в process/memory. Слот всегда освобождается (`finally`), даже если process reject. |
43
+ | `media.process` | Fetch blob и создание DOM-медиа. HTTP не-ok и timeout fetch → `ERROR_FETCH`, без `SET`. |
44
44
  | `media.memory` | REG в memory, монтирование элементов в скрытый `#media`. |
45
- | `media` | Высокоуровневый get/set. |
45
+ | `media` | Высокоуровневый get/set. `GET` возвращает `null`, если asset нет или не готов (битая картинка, error). |
46
46
  | `media.logs` | Логирование lifecycle media. |
47
47
 
48
48
  ## Близкие плагины
@@ -11,9 +11,9 @@
11
11
  | `EXEC` | `vne:scenario:exec` | Выполнить строку сценария: dispatch по module/block с line, args и keywords. |
12
12
  | `EXEC_DELAY` | `vne:scenario:exec_delay` | Отложить promise до завершения текущего exec (async-строки). |
13
13
  | `NEXT` | `vne:scenario:next` | Шаг вперёд по сценарию: выполнить текущую строку или завершить текущую метку. |
14
- | `LABEL_GET` | `vne:scenario:label_get` | Предзагрузка строк метки на глубину `deep` с приоритетом. |
14
+ | `LABEL_GET` | `vne:scenario:label_get` | Предзагрузка строк метки на глубину `deep` с приоритетом. Упавшая строка не блокирует метку. |
15
15
  | `LINE_LOAD` | `vne:scenario:line_load` | Условная предзагрузка одной строки (с учётом depth в memory). |
16
- | `LINE_GET` | `vne:scenario:line_get` | Получить и подготовить одну строку сценария по label и index. |
16
+ | `LINE_GET` | `vne:scenario:line_get` | Получить и подготовить одну строку сценария по label и index. Ошибка предзагрузки не оставляет промис висящим. |
17
17
  | `LINE_LOAD_REG` | `vne:scenario:line_load_reg` | Зарегистрировать обработчик предзагрузки строк для module/block. |
18
18
  | `LINE_EXEC_REG` | `vne:scenario:line_exec_reg` | Зарегистрировать обработчик выполнения строк для module/block. |
19
19
  | `LINES_GET` | `vne:scenario:lines_get` | Получить массив строк метки (JSON с хоста, кэш в memory). |
@@ -48,8 +48,8 @@
48
48
  | `scenario` | Главный цикл `NEXT`, exec строк, sync state. |
49
49
  | `scenario.autostart` | Дефолт `shared.shouldAutostartScenario`; на `SYSTEM.STARTED` — init label + `emitNext` при включённом флаге. |
50
50
  | `scenario.exec` | Dispatch `$module` / `%block`, registry handlers, `EXEC_DELAY`. |
51
- | `scenario.label` | `LABEL_GET`, preload меток; init label на `STATE.CLEAR`. |
52
- | `scenario.line` | `LINE_LOAD` / `LINE_GET`, registry preload handlers. |
51
+ | `scenario.label` | `LABEL_GET`, preload меток; init label на `STATE.CLEAR`. Одна упавшая строка не валит всю метку. |
52
+ | `scenario.line` | `LINE_LOAD` / `LINE_GET`, registry preload handlers. Executor `LINE_GET` всегда resolve. |
53
53
  | `scenario.lines` | Fetch `label/<path>.json` с `HOST` (например `label/prologue/1.json`). |
54
54
 
55
55
  ## Близкие плагины