@vnejs/docs 0.2.65 → 0.2.66
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/README.md +35 -35
- package/architecture/backends.md +18 -0
- package/architecture/build.md +37 -0
- package/architecture/bundles.md +20 -0
- package/architecture/cli.md +25 -0
- package/architecture/compatibility.md +22 -0
- package/architecture/configs.md +19 -0
- package/architecture/contracts.md +30 -0
- package/architecture/dependencies.md +55 -0
- package/architecture/editor.md +7 -0
- package/architecture/games.md +38 -0
- package/architecture/helpers.md +14 -0
- package/architecture/model.md +43 -0
- package/architecture/modules.md +87 -0
- package/architecture/packages.md +43 -0
- package/architecture/plugins.md +36 -0
- package/architecture/uis.md +23 -0
- package/changelog/0.2.18.md +7 -0
- package/changelog/0.2.19.md +14 -0
- package/changelog/0.2.20.md +10 -0
- package/changelog/0.2.21.md +5 -0
- package/changelog/0.2.22.md +11 -0
- package/changelog/0.2.23.md +4 -0
- package/changelog/0.2.25.md +6 -0
- package/changelog/0.2.26.md +12 -0
- package/changelog/0.2.29.md +10 -0
- package/changelog/0.2.31.md +5 -0
- package/changelog/0.2.32.md +3 -0
- package/changelog/0.2.33.md +5 -0
- package/changelog/0.2.34.md +8 -0
- package/changelog/0.2.35.md +33 -0
- package/changelog/0.2.36.md +10 -0
- package/changelog/0.2.38.md +19 -0
- package/changelog/0.2.39.md +16 -0
- package/changelog/0.2.40.md +9 -0
- package/changelog/0.2.42.md +3 -0
- package/changelog/0.2.43.md +10 -0
- package/changelog/0.2.46.md +3 -0
- package/changelog/0.2.47.md +25 -0
- package/changelog/0.2.49.md +3 -0
- package/changelog/0.2.50.md +6 -0
- package/changelog/0.2.51.md +6 -0
- package/changelog/0.2.52.md +5 -0
- package/changelog/0.2.53.md +12 -0
- package/changelog/0.2.55.md +19 -0
- package/changelog/0.2.56.md +11 -0
- package/changelog/0.2.57.md +7 -0
- package/changelog/0.2.58.md +8 -0
- package/changelog/0.2.59.md +6 -0
- package/changelog/0.2.60.md +5 -0
- package/changelog/0.2.61.md +11 -0
- package/changelog/0.2.62.md +8 -0
- package/changelog/0.2.63.md +4 -0
- package/changelog/0.2.64.md +4 -0
- package/changelog/0.2.65.md +3 -0
- package/changelog/0.2.66.md +5 -0
- package/changelog/README.md +43 -0
- package/manifest.json +66 -5
- package/package.json +6 -4
- package/plugins/ai/ai.md +29 -29
- package/plugins/ai/checkers.md +26 -26
- package/plugins/audio/ambient.md +20 -20
- package/plugins/audio/audio.md +40 -40
- package/plugins/audio/music.md +20 -20
- package/plugins/audio/sound.md +20 -20
- package/plugins/audio/voice.md +23 -23
- package/plugins/canvas/bg.md +44 -44
- package/plugins/canvas/bg.speak.md +34 -34
- package/plugins/canvas/fill.md +33 -33
- package/plugins/canvas/layer.md +35 -35
- package/plugins/canvas/sprite.md +46 -46
- package/plugins/canvas/sprite.speak.md +33 -33
- package/plugins/canvas/text.md +37 -37
- package/plugins/canvas/video.md +37 -37
- package/plugins/canvas.layers/bl.md +33 -33
- package/plugins/canvas.layers/fl.md +33 -33
- package/plugins/canvas.layers/ml.md +33 -33
- package/plugins/canvas.layers/ul.md +32 -32
- package/plugins/canvas.props/animation.md +25 -25
- package/plugins/canvas.props/clip.md +22 -22
- package/plugins/canvas.props/filters.md +20 -20
- package/plugins/canvas.props/mask.md +23 -23
- package/plugins/canvas.props/scale.md +20 -20
- package/plugins/common/grid.md +23 -23
- package/plugins/common/turn.md +18 -18
- package/plugins/controls/controls.md +31 -31
- package/plugins/controls/cursor.md +54 -54
- package/plugins/controls/gamepad.md +56 -56
- package/plugins/controls/keyboard.md +17 -17
- package/plugins/core/components.md +28 -28
- package/plugins/core/interact.md +26 -26
- package/plugins/core/logs.md +28 -28
- package/plugins/core/media.md +38 -38
- package/plugins/core/memory.md +28 -28
- package/plugins/core/platforms.md +19 -19
- package/plugins/core/scenario.md +48 -48
- package/plugins/core/settings.md +24 -24
- package/plugins/core/stack.md +39 -39
- package/plugins/core/state.md +30 -30
- package/plugins/core/storage.md +56 -56
- package/plugins/core/system.md +37 -37
- package/plugins/core/vendors.md +19 -19
- package/plugins/entities/entities.md +16 -16
- package/plugins/entities/wallet.md +27 -27
- package/plugins/font/montserrat.md +16 -16
- package/plugins/game/checkers.md +38 -38
- package/plugins/platform/android.md +17 -17
- package/plugins/platform/electron.md +21 -21
- package/plugins/platform/metric.md +23 -23
- package/plugins/rpg/damage.md +22 -22
- package/plugins/rpg/hit.md +24 -24
- package/plugins/rpg/skills.md +26 -26
- package/plugins/save/auto.md +26 -26
- package/plugins/save/continue.md +23 -23
- package/plugins/save/quick.md +24 -24
- package/plugins/save/save.md +37 -37
- package/plugins/scales/health.md +17 -17
- package/plugins/scales/mana.md +17 -17
- package/plugins/scales/scales.md +31 -31
- package/plugins/scenario/autoread.md +36 -36
- package/plugins/scenario/choose.md +74 -65
- package/plugins/scenario/fastforward.md +46 -46
- package/plugins/scenario/history.md +41 -41
- package/plugins/scenario/pause.md +27 -27
- package/plugins/scenario/point_and_click.md +51 -51
- package/plugins/scenario/qte.md +54 -54
- package/plugins/scenario/random.md +17 -17
- package/plugins/settings/filter.md +19 -19
- package/plugins/settings/potato.md +22 -22
- package/plugins/settings/ratio.md +19 -19
- package/plugins/settings/textsize.md +19 -19
- package/plugins/settings/volume.md +21 -21
- package/plugins/text/inject.md +22 -22
- package/plugins/text/locs.md +36 -36
- package/plugins/text/meet.md +19 -19
- package/plugins/text/smooth.md +33 -33
- package/plugins/text/text.md +76 -69
- package/plugins/text/wall.md +20 -20
- package/plugins/time/date.md +22 -22
- package/plugins/time/time.md +23 -23
- package/plugins/vars/counters.md +28 -28
- package/plugins/vars/flags.md +24 -24
- package/plugins/vars/vars.md +29 -29
- package/plugins/views/achievement.md +44 -44
- package/plugins/views/comment.md +31 -31
- package/plugins/views/controls.hints.md +34 -34
- package/plugins/views/cursor.md +19 -19
- package/plugins/views/fps.md +33 -33
- package/plugins/views/gamepad.debug.md +32 -32
- package/plugins/views/settings.md +39 -39
- package/plugins/views/video.md +37 -37
- package/plugins/views.scenario/choose.md +41 -41
- package/plugins/views.scenario/interface.controls.md +31 -31
- package/plugins/views.scenario/interface.fastforward.md +29 -29
- package/plugins/views.scenario/interface.md +74 -74
- package/plugins/views.scenario/point_and_click.md +39 -39
- package/plugins/views.scenario/qte.md +51 -51
- package/plugins/views.screens/checkers.md +35 -35
- package/plugins/views.screens/confirm.md +35 -35
- package/plugins/views.screens/credits.md +31 -31
- package/plugins/views.screens/disclaimer.md +42 -42
- package/plugins/views.screens/eula.md +37 -37
- package/plugins/views.screens/gallery.full.md +41 -41
- package/plugins/views.screens/gallery.md +75 -75
- package/plugins/views.screens/gamemenu.md +41 -41
- package/plugins/views.screens/history.md +39 -39
- package/plugins/views.screens/intro.md +32 -32
- package/plugins/views.screens/loading.md +30 -30
- package/plugins/views.screens/mainmenu.md +49 -49
- package/plugins/views.screens/mainmenu.socials.md +25 -25
- package/plugins/views.screens/save.md +66 -66
- package/plugins/views.screens/settings.defaults.md +37 -37
- package/plugins/views.screens/settings.md +40 -40
- package/scenario.catalog/README.md +13 -13
- package/scenario.catalog/index.md +35 -35
- package/scenario.catalog/stubs/achievement.md +4 -4
- package/scenario.catalog/stubs/audio.ambient.md +4 -4
- package/scenario.catalog/stubs/audio.music.md +4 -4
- package/scenario.catalog/stubs/audio.sound.md +4 -4
- package/scenario.catalog/stubs/audio.voice.md +4 -4
- package/scenario.catalog/stubs/bl.animation.md +5 -5
- package/scenario.catalog/stubs/bl.bg.md +5 -5
- package/scenario.catalog/stubs/bl.clip.md +5 -5
- package/scenario.catalog/stubs/bl.fill.md +5 -5
- package/scenario.catalog/stubs/bl.filter.md +5 -5
- package/scenario.catalog/stubs/bl.mask.md +5 -5
- package/scenario.catalog/stubs/bl.scale.md +5 -5
- package/scenario.catalog/stubs/bl.sprite.md +5 -5
- package/scenario.catalog/stubs/bl.text.md +5 -5
- package/scenario.catalog/stubs/bl.video.md +5 -5
- package/scenario.catalog/stubs/choose.block.md +7 -7
- package/scenario.catalog/stubs/choose.md +4 -4
- package/scenario.catalog/stubs/choose.option.md +7 -7
- package/scenario.catalog/stubs/comment.md +5 -5
- package/scenario.catalog/stubs/counter.md +5 -5
- package/scenario.catalog/stubs/credits.md +4 -4
- package/scenario.catalog/stubs/date.md +4 -4
- package/scenario.catalog/stubs/disclaimer.md +5 -5
- package/scenario.catalog/stubs/fl.animation.md +5 -5
- package/scenario.catalog/stubs/fl.bg.md +5 -5
- package/scenario.catalog/stubs/fl.clip.md +5 -5
- package/scenario.catalog/stubs/fl.fill.md +5 -5
- package/scenario.catalog/stubs/fl.filter.md +5 -5
- package/scenario.catalog/stubs/fl.mask.md +5 -5
- package/scenario.catalog/stubs/fl.scale.md +5 -5
- package/scenario.catalog/stubs/fl.sprite.md +5 -5
- package/scenario.catalog/stubs/fl.text.md +5 -5
- package/scenario.catalog/stubs/fl.video.md +5 -5
- package/scenario.catalog/stubs/flag.md +13 -13
- package/scenario.catalog/stubs/interface.md +4 -4
- package/scenario.catalog/stubs/intro.md +4 -4
- package/scenario.catalog/stubs/mainmenu.md +4 -4
- package/scenario.catalog/stubs/ml.animation.md +5 -5
- package/scenario.catalog/stubs/ml.bg.md +5 -5
- package/scenario.catalog/stubs/ml.clip.md +5 -5
- package/scenario.catalog/stubs/ml.fill.md +5 -5
- package/scenario.catalog/stubs/ml.filter.md +5 -5
- package/scenario.catalog/stubs/ml.mask.md +5 -5
- package/scenario.catalog/stubs/ml.scale.md +5 -5
- package/scenario.catalog/stubs/ml.sprite.md +5 -5
- package/scenario.catalog/stubs/ml.text.md +5 -5
- package/scenario.catalog/stubs/ml.video.md +5 -5
- package/scenario.catalog/stubs/other.md +6 -6
- package/scenario.catalog/stubs/pause.md +5 -5
- package/scenario.catalog/stubs/point-and-click.block.md +4 -4
- package/scenario.catalog/stubs/point-and-click.md +4 -4
- package/scenario.catalog/stubs/point-and-click.option.md +4 -4
- package/scenario.catalog/stubs/qte.md +4 -4
- package/scenario.catalog/stubs/random.md +4 -4
- package/scenario.catalog/stubs/random.option.md +4 -4
- package/scenario.catalog/stubs/save.auto.md +4 -4
- package/scenario.catalog/stubs/save.md +5 -5
- package/scenario.catalog/stubs/scenario.md +4 -4
- package/scenario.catalog/stubs/settings.defaults.md +4 -4
- package/scenario.catalog/stubs/stack.md +4 -4
- package/scenario.catalog/stubs/text.meet.md +4 -4
- package/scenario.catalog/stubs/text.wall.md +4 -4
- package/scenario.catalog/stubs/time.md +4 -4
- package/scenario.catalog/stubs/ul.animation.md +5 -5
- package/scenario.catalog/stubs/ul.bg.md +5 -5
- package/scenario.catalog/stubs/ul.clip.md +5 -5
- package/scenario.catalog/stubs/ul.fill.md +5 -5
- package/scenario.catalog/stubs/ul.filter.md +5 -5
- package/scenario.catalog/stubs/ul.mask.md +5 -5
- package/scenario.catalog/stubs/ul.scale.md +5 -5
- package/scenario.catalog/stubs/ul.sprite.md +5 -5
- package/scenario.catalog/stubs/ul.text.md +5 -5
- package/scenario.catalog/stubs/video.md +4 -4
- package/scenario.catalog/stubs/wallet.md +4 -4
- package/scenario.guide/README.md +38 -38
- package/scenario.guide/audio.md +11 -11
- package/scenario.guide/canvas.md +23 -23
- package/scenario.guide/choose.md +28 -28
- package/scenario.guide/dialogue.md +23 -23
- package/scenario.guide/flow.md +21 -21
- package/scenario.guide/point-and-click.md +12 -12
- package/scenario.guide/qte-random.md +20 -20
- package/scenario.guide/vars.md +19 -19
- package/scenario.guide/views.md +20 -20
- package/CHANGELOG.md +0 -387
- package/architecture.md +0 -566
package/plugins/core/scenario.md
CHANGED
|
@@ -1,73 +1,73 @@
|
|
|
1
1
|
# plugins/core/scenario/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.core.scenario` · namespace: `SCENARIO`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Runs a `.vne` scenario: labels, lines, exec handlers, `NEXT` advance.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Events
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.core.scenario`.
|
|
10
10
|
|
|
11
|
-
|
|
|
12
|
-
| --------------- | ---------------------------- |
|
|
13
|
-
| `EXEC` | `vne:scenario:exec` |
|
|
14
|
-
| `EXEC_DELAY` | `vne:scenario:exec_delay` |
|
|
15
|
-
| `NEXT` | `vne:scenario:next` |
|
|
16
|
-
| `LABEL_GET` | `vne:scenario:label_get` |
|
|
17
|
-
| `LINE_LOAD` | `vne:scenario:line_load` |
|
|
18
|
-
| `LINE_GET` | `vne:scenario:line_get` |
|
|
19
|
-
| `LINE_LOAD_REG` | `vne:scenario:line_load_reg` |
|
|
20
|
-
| `LINE_EXEC_REG` | `vne:scenario:line_exec_reg` |
|
|
21
|
-
| `LINES_GET` | `vne:scenario:lines_get` |
|
|
11
|
+
| Key | String | Meaning |
|
|
12
|
+
| --------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| `EXEC` | `vne:scenario:exec` | Run a scenario line: dispatch by module/block with line, args, and keywords. |
|
|
14
|
+
| `EXEC_DELAY` | `vne:scenario:exec_delay` | Defer a promise until the current exec finishes (async lines). |
|
|
15
|
+
| `NEXT` | `vne:scenario:next` | Step forward: run the current line or finish the current label. |
|
|
16
|
+
| `LABEL_GET` | `vne:scenario:label_get` | Preload label lines to depth `deep` with priority. One failed line does not block the label. |
|
|
17
|
+
| `LINE_LOAD` | `vne:scenario:line_load` | Conditional preload of one line (uses depth in memory). |
|
|
18
|
+
| `LINE_GET` | `vne:scenario:line_get` | Get and prepare one scenario line by label and index. A preload error does not leave a hanging promise. |
|
|
19
|
+
| `LINE_LOAD_REG` | `vne:scenario:line_load_reg` | Register a line preload handler for a module/block. |
|
|
20
|
+
| `LINE_EXEC_REG` | `vne:scenario:line_exec_reg` | Register a line exec handler for a module/block. |
|
|
21
|
+
| `LINES_GET` | `vne:scenario:lines_get` | Get an array of label lines (JSON from host, cache in memory). |
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Constants
|
|
24
24
|
|
|
25
|
-
- **`OTHER_MODULE`** — `"other"`: fallback
|
|
26
|
-
- **`LINE_KEYWORDS`** —
|
|
27
|
-
- **`LINE_PREFIXES.MODULE`** — `"$"`:
|
|
28
|
-
- **`LINE_PREFIXES.BLOCK`** — `"%"`:
|
|
29
|
-
- **`LOGS_ACTIONS`** —
|
|
25
|
+
- **`OTHER_MODULE`** — `"other"`: fallback module for lines without a prefix.
|
|
26
|
+
- **`LINE_KEYWORDS`** — scenario line keywords: `skip-if-possible`, `async`, `autonext`. Other keywords live in domain contracts (`TEXT.extend`, `VARS.global`, `LAYER_ANIMATION.dangerous`, `QTE.qte-fallback`).
|
|
27
|
+
- **`LINE_PREFIXES.MODULE`** — `"$"`: module call prefix.
|
|
28
|
+
- **`LINE_PREFIXES.BLOCK`** — `"%"`: scenario block prefix.
|
|
29
|
+
- **`LOGS_ACTIONS`** — log labels: `goto`, `goto_missing`, `exec start` / `exec end`, `reg`, `loaded start` / `loaded finish`, `load start` / `load end` / `load check` / `load finish`, `next emit start` / `next emit end`, `exec`.
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## Parameters
|
|
32
32
|
|
|
33
|
-
|
|
|
34
|
-
| ----------------- | -------- |
|
|
35
|
-
| `INIT_LABEL_NAME` | `string` |
|
|
33
|
+
| Key | Type | Meaning |
|
|
34
|
+
| ----------------- | -------- | ----------------------------------- |
|
|
35
|
+
| `INIT_LABEL_NAME` | `string` | Start label name; Default `"init"`. |
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## Settings
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
None.
|
|
40
40
|
|
|
41
41
|
## Shared
|
|
42
42
|
|
|
43
|
-
|
|
|
44
|
-
| ------------------------- | --------- |
|
|
45
|
-
| `shouldAutostartScenario` | `boolean` |
|
|
43
|
+
| Field | Type | Meaning |
|
|
44
|
+
| ------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
45
|
+
| `shouldAutostartScenario` | `boolean` | In `start`, module `scenario.autostart` emits `LABEL_GET` (init) and `NEXT` only when not `false`. In `postinject` set to `true` via `??=`; other plugins may set `false`. `STATE.CLEAR` still loads init label in `scenario.label` without this gate. |
|
|
46
46
|
|
|
47
|
-
##
|
|
47
|
+
## Modules
|
|
48
48
|
|
|
49
|
-
|
|
|
50
|
-
| -------------------- |
|
|
51
|
-
| `scenario` |
|
|
52
|
-
| `scenario.autostart` |
|
|
53
|
-
| `scenario.exec` | Dispatch `$module` / `%block`, registry
|
|
54
|
-
| `scenario.label` | `LABEL_GET`, preload
|
|
55
|
-
| `scenario.line` | `MEMORY.REG`
|
|
56
|
-
| `scenario.lines` | `MEMORY.REG`
|
|
49
|
+
| Module | Role |
|
|
50
|
+
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
51
|
+
| `scenario` | Main `NEXT` loop, line exec, sync state. `NEXT` handler reads `module` from `EmitParams` (`Module.emit`). |
|
|
52
|
+
| `scenario.autostart` | Default `shared.shouldAutostartScenario` in `postinject`; in `start` — init label + `emit SCENARIO.NEXT` when flag is on. |
|
|
53
|
+
| `scenario.exec` | Dispatch `$module` / `%block`, handler registry, `EXEC_DELAY`. |
|
|
54
|
+
| `scenario.label` | `LABEL_GET`, label preload; `MEMORY.REG` in `setup`; init label on `STATE.CLEAR`. One failed line does not break the whole label. |
|
|
55
|
+
| `scenario.line` | `MEMORY.REG` in `setup`; `LINE_LOAD` / `LINE_GET`, preload handler registry. `LINE_GET` executor always resolves. |
|
|
56
|
+
| `scenario.lines` | `MEMORY.REG` in `setup`; fetch `label/<path>.json` from `HOST` (e.g. `label/prologue/1.json`). |
|
|
57
57
|
|
|
58
|
-
##
|
|
58
|
+
## Related plugins
|
|
59
59
|
|
|
60
60
|
### plugins/core/
|
|
61
61
|
|
|
62
62
|
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …)
|
|
63
|
-
- [media.md](./media.md) — `MEDIA`: `CONST.MEDIA.PRIORITIES` (
|
|
64
|
-
- [memory.md](./memory.md) — `MEMORY`: `REG`, `GET`, `SET` (
|
|
65
|
-
- [platforms.md](./platforms.md) — `PLATFORMS`: `PARAMS.CURRENT_PLATFORM` (
|
|
66
|
-
- [stack.md](./stack.md) — `STACK`: `POP` (
|
|
67
|
-
- [state.md](./state.md) — `STATE`: `SET`, `CLEAR` (sync /
|
|
63
|
+
- [media.md](./media.md) — `MEDIA`: `CONST.MEDIA.PRIORITIES` (line and label preload)
|
|
64
|
+
- [memory.md](./memory.md) — `MEMORY`: `REG`, `GET`, `SET` (line and label cache)
|
|
65
|
+
- [platforms.md](./platforms.md) — `PLATFORMS`: `PARAMS.CURRENT_PLATFORM` (label preload depth)
|
|
66
|
+
- [stack.md](./stack.md) — `STACK`: `POP` (end of label)
|
|
67
|
+
- [state.md](./state.md) — `STATE`: `SET`, `CLEAR` (sync / reset scenario position)
|
|
68
68
|
- [system.md](./system.md) — `SYSTEM`: `STARTED`; `CONST.SYSTEM.HOST` (fetch label JSON)
|
|
69
|
-
- [vendors.md](./vendors.md) — `VENDORS`: `HASH` (
|
|
69
|
+
- [vendors.md](./vendors.md) — `VENDORS`: `HASH` (current line hash)
|
|
70
70
|
|
|
71
|
-
###
|
|
71
|
+
### Other
|
|
72
72
|
|
|
73
|
-
- [electron.md](../platform/electron.md) — `ELECTRON`:
|
|
73
|
+
- [electron.md](../platform/electron.md) — `ELECTRON`: on reload sets `shared.shouldAutostartScenario = false`
|
package/plugins/core/settings.md
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
# plugins/core/settings/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.core.settings` · namespace: `SETTINGS`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Global game settings in `shared.settings` with persistence through storage.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Events
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.core.settings`.
|
|
10
10
|
|
|
11
|
-
|
|
|
12
|
-
| --------- | --------------------- |
|
|
13
|
-
| `SET` | `vne:settings:set` |
|
|
14
|
-
| `INIT` | `vne:settings:init` |
|
|
15
|
-
| `CHANGED` | `vne:settings:change` |
|
|
11
|
+
| Key | String | Meaning |
|
|
12
|
+
| --------- | --------------------- | ------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| `SET` | `vne:settings:set` | Set a setting by `name`, save to storage, emit `CHANGED`. Payload: `{ name?, value?, options? }`. |
|
|
14
|
+
| `INIT` | `vne:settings:init` | Set default when value is missing or not in `options`; delegates to `SET`. |
|
|
15
|
+
| `CHANGED` | `vne:settings:change` | Setting value changed: `{ name: string, value: unknown }`. |
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Constants
|
|
18
18
|
|
|
19
|
-
- **`LOGS_ACTIONS`** —
|
|
19
|
+
- **`LOGS_ACTIONS`** — labels: `set`, `init`, `changed`.
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## Parameters
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
None.
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## Settings
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
None.
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## Modules
|
|
30
30
|
|
|
31
|
-
|
|
|
32
|
-
| --------------- |
|
|
33
|
-
| `settings` | Load
|
|
34
|
-
| `settings.logs` |
|
|
31
|
+
| Module | Role |
|
|
32
|
+
| --------------- | ------------------------------------------------------------------------------------- |
|
|
33
|
+
| `settings` | Load from storage in `setup` (`ensureReady`); `SET` / `INIT` also wait `ensureReady`. |
|
|
34
|
+
| `settings.logs` | Log set/init/changed. |
|
|
35
35
|
|
|
36
|
-
##
|
|
36
|
+
## Related plugins
|
|
37
37
|
|
|
38
38
|
### plugins/core/
|
|
39
39
|
|
|
40
40
|
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
41
|
-
- [storage.md](./storage.md) — `STORAGE`: `GET_ALL`, `SET` (
|
|
41
|
+
- [storage.md](./storage.md) — `STORAGE`: `GET_ALL`, `SET` (settings persistence)
|
|
42
42
|
|
|
43
|
-
###
|
|
43
|
+
### Other
|
|
44
44
|
|
|
45
|
-
—
|
|
45
|
+
— None
|
package/plugins/core/stack.md
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
1
|
# plugins/core/stack/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.core.stack` · namespace: `STACK`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Scenario label call stack: jump, call, pop, call-frame args.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Events
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.core.stack`.
|
|
10
10
|
|
|
11
|
-
|
|
|
12
|
-
| ---------------------- | -------------------------------- |
|
|
13
|
-
| `EMIT` | `vne:stack:emit` |
|
|
14
|
-
| `POP` | `vne:stack:pop` |
|
|
15
|
-
| `CLEAR` | `vne:stack:clear` |
|
|
16
|
-
| `JUMP` | `vne:stack:jump` |
|
|
17
|
-
| `CALL` | `vne:stack:call` | `PROHIBIT_REPLACE`,
|
|
18
|
-
| `EXEC_ARG` | `vne:stack:exec_arg` |
|
|
19
|
-
| `PROHIBIT_REPLACE` | `vne:stack:prohibit_replace` |
|
|
20
|
-
| `PROHIBIT_REPLACE_REG` | `vne:stack:prohibit_replace_reg` |
|
|
21
|
-
| `PROHIBITED` | `vne:stack:prohibited` |
|
|
11
|
+
| Key | String | Meaning |
|
|
12
|
+
| ---------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| `EMIT` | `vne:stack:emit` | Go to a label: reset `curLine`, clone args, preload label, **await** `MEMORY.CLEAR` (before `EMIT` returns). Payload: `{ label?, args? }`. Before jump — `PROHIBIT_REPLACE`; when prohibited — `PROHIBITED`, no `LABEL_GET`. |
|
|
14
|
+
| `POP` | `vne:stack:pop` | Return to the previous stack position or reset the game when the stack is empty. |
|
|
15
|
+
| `CLEAR` | `vne:stack:clear` | Clear global state and continue the scenario. |
|
|
16
|
+
| `JUMP` | `vne:stack:jump` | Jump to a label without pushing the stack (delegates to `EMIT`). |
|
|
17
|
+
| `CALL` | `vne:stack:call` | `PROHIBIT_REPLACE`, then push current position and `EMIT`. When prohibited — `PROHIBITED`, no push. |
|
|
18
|
+
| `EXEC_ARG` | `vne:stack:exec_arg` | From a line token, return an argument value from the top frame. Payload: `{ line? }`. |
|
|
19
|
+
| `PROHIBIT_REPLACE` | `vne:stack:prohibit_replace` | `ModuleReplace` chain: may we go to `label`. Payload: `{ label?, isProhibited? }`. Start `isProhibited: false`. Returns final `isProhibited`. |
|
|
20
|
+
| `PROHIBIT_REPLACE_REG` | `vne:stack:prohibit_replace_reg` | Register a `PROHIBIT_REPLACE` handler. `{ handler, priority? }`. Non-blocking handler: `return isProhibited`; prohibit: `return isProhibited \|\| ownCheck`. |
|
|
21
|
+
| `PROHIBITED` | `vne:stack:prohibited` | Jump forbidden. Payload: `{ label?, args?, event? }` — `event` is `JUMP` / `CALL` / `EMIT` to retry the jump. On prohibit, `$ stack jump/call` does not `emit SCENARIO.NEXT`. |
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Constants
|
|
24
24
|
|
|
25
25
|
- **`LOGS_ACTIONS`** — `emit`, `call`, `jump`, `pop`, `clear`, `prohibited`.
|
|
26
|
-
- **`EXEC_ACTIONS`** —
|
|
26
|
+
- **`EXEC_ACTIONS`** — actions in `$stack` lines: `jump`, `call`, `pop`.
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## Parameters
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
None.
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Settings
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
None.
|
|
35
35
|
|
|
36
|
-
##
|
|
36
|
+
## Modules
|
|
37
37
|
|
|
38
|
-
|
|
|
39
|
-
| --------------- |
|
|
40
|
-
| `stack` |
|
|
41
|
-
| `stack.call` | `PROHIBIT_REPLACE`,
|
|
42
|
-
| `stack.jump` | Jump
|
|
43
|
-
| `stack.pop` | Pop frame.
|
|
44
|
-
| `stack.clear` | Clear state + next.
|
|
45
|
-
| `stack.args` |
|
|
46
|
-
| `stack.exec` |
|
|
47
|
-
| `stack.replace` |
|
|
48
|
-
| `stack.logs` |
|
|
38
|
+
| Module | Role |
|
|
39
|
+
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
40
|
+
| `stack` | Stack state; handle `EMIT` (`PROHIBIT_REPLACE` → jump or `PROHIBITED`); sync on `STATE.SET` / `CLEAR`. |
|
|
41
|
+
| `stack.call` | `PROHIBIT_REPLACE`, then push frame + `EMIT`. |
|
|
42
|
+
| `stack.jump` | Jump without push on the stack. |
|
|
43
|
+
| `stack.pop` | Pop frame. |
|
|
44
|
+
| `stack.clear` | Clear state + next. |
|
|
45
|
+
| `stack.args` | Resolve arguments from a scenario line. |
|
|
46
|
+
| `stack.exec` | Register `$stack` handlers in scenario (jump/call/pop + preload). On `LINE_LOAD` jump/call — `PROHIBIT_REPLACE` before `LABEL_GET`. `onLineExec`: `emit SCENARIO.NEXT` only when jump/call did not return `false` (prohibit); `pop` — unchanged. |
|
|
47
|
+
| `stack.replace` | Registry for `PROHIBIT_REPLACE_REG` handlers; extends `@vnejs/module.replace`; `REPLACE_KEY` — `isProhibited`. |
|
|
48
|
+
| `stack.logs` | Log stack ops including `PROHIBITED`; in `init` registers `PROHIBIT_REPLACE` handler (passes flag through). |
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## Related plugins
|
|
51
51
|
|
|
52
52
|
### plugins/core/
|
|
53
53
|
|
|
54
54
|
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
55
|
-
- [media.md](./media.md) — `MEDIA`: `CONST.MEDIA.PRIORITIES` (preload
|
|
56
|
-
- [memory.md](./memory.md) — `MEMORY`: `CLEAR` (
|
|
55
|
+
- [media.md](./media.md) — `MEDIA`: `CONST.MEDIA.PRIORITIES` (preload on jump/call)
|
|
56
|
+
- [memory.md](./memory.md) — `MEMORY`: `CLEAR` (on `EMIT`)
|
|
57
57
|
- [scenario.md](./scenario.md) — `SCENARIO`: `LABEL_GET`, `LINE_EXEC_REG`, `LINE_LOAD_REG`; `emit SCENARIO.NEXT`
|
|
58
|
-
- [state.md](./state.md) — `STATE`: `SET`, `CLEAR` (sync
|
|
58
|
+
- [state.md](./state.md) — `STATE`: `SET`, `CLEAR` (stack sync; `CLEAR` from `stack.clear`)
|
|
59
59
|
|
|
60
|
-
###
|
|
60
|
+
### Other
|
|
61
61
|
|
|
62
|
-
—
|
|
62
|
+
— None
|
package/plugins/core/state.md
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
# plugins/core/state/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.core.state` · namespace: `STATE`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Serialize and restore global game state, migrate saves.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Events
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.core.state`.
|
|
10
10
|
|
|
11
|
-
|
|
|
12
|
-
| ------------- | ----------------------- |
|
|
13
|
-
| `GET` | `vne:state:get` |
|
|
14
|
-
| `SET` | `vne:state:set` |
|
|
15
|
-
| `LOAD` | `vne:state:load` |
|
|
16
|
-
| `CLEAR` | `vne:state:clear` |
|
|
17
|
-
| `PRELOAD` | `vne:state:preload` |
|
|
18
|
-
| `MIGRATE` | `vne:state:migrate` |
|
|
19
|
-
| `MIGRATE_REG` | `vne:state:migrate_reg` |
|
|
11
|
+
| Key | String | Meaning |
|
|
12
|
+
| ------------- | ----------------------- | ---------------------------------------------------------------------------- |
|
|
13
|
+
| `GET` | `vne:state:get` | Snapshot `globalState` (clone; empty module slices filtered out). |
|
|
14
|
+
| `SET` | `vne:state:set` | Apply full `globalState` snapshot — restore all module state. |
|
|
15
|
+
| `LOAD` | `vne:state:load` | Load a save: clone → preprocess → apply state → preload scenario label. |
|
|
16
|
+
| `CLEAR` | `vne:state:clear` | Reset module local state to defaults. |
|
|
17
|
+
| `PRELOAD` | `vne:state:preload` | Preprocess state before apply (normalize, prep for migration). |
|
|
18
|
+
| `MIGRATE` | `vne:state:migrate` | Bring save to current version: check version/line hash, run migration chain. |
|
|
19
|
+
| `MIGRATE_REG` | `vne:state:migrate_reg` | Register a migration function for a versionMajor / versionMinor pair. |
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## Constants
|
|
22
22
|
|
|
23
23
|
- **`LOGS_ACTIONS`** — `get`, `load`, `clear`, `migrate`.
|
|
24
|
-
- **`MIGRATE_STATUS`** —
|
|
24
|
+
- **`MIGRATE_STATUS`** — result codes: `OK`, `LINE_NOT_FOUND`, `LABEL_NOT_FOUND`, `MAJOR_VERSION_MISMATCH`, `MINOR_VERSION_MISMATCH`.
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## Parameters
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
None.
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## Settings
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
None.
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## Modules
|
|
35
35
|
|
|
36
|
-
|
|
|
37
|
-
| --------------- |
|
|
38
|
-
| `state` | `GET` / `LOAD` — serialize/hydrate globalState.
|
|
39
|
-
| `state.migrate` |
|
|
40
|
-
| `state.logs` |
|
|
36
|
+
| Module | Role |
|
|
37
|
+
| --------------- | ----------------------------------------------- |
|
|
38
|
+
| `state` | `GET` / `LOAD` — serialize/hydrate globalState. |
|
|
39
|
+
| `state.migrate` | Versioned save migration by scenario line hash. |
|
|
40
|
+
| `state.logs` | Log get/load/clear. |
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## Related plugins
|
|
43
43
|
|
|
44
44
|
### plugins/core/
|
|
45
45
|
|
|
46
46
|
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …), `CONST.LOGS.FILTER_FROM_RESULT_OPTIONS`
|
|
47
|
-
- [scenario.md](./scenario.md) — `SCENARIO`: `LINES_GET`, `LABEL_GET` (
|
|
48
|
-
- [system.md](./system.md) — `SYSTEM`: `CONST.SYSTEM.VERSION_MAJOR` / `VERSION_MINOR` (
|
|
47
|
+
- [scenario.md](./scenario.md) — `SCENARIO`: `LINES_GET`, `LABEL_GET` (migration by line hash)
|
|
48
|
+
- [system.md](./system.md) — `SYSTEM`: `CONST.SYSTEM.VERSION_MAJOR` / `VERSION_MINOR` (save version check)
|
|
49
49
|
|
|
50
|
-
###
|
|
50
|
+
### Other
|
|
51
51
|
|
|
52
|
-
—
|
|
52
|
+
— None
|
package/plugins/core/storage.md
CHANGED
|
@@ -1,91 +1,91 @@
|
|
|
1
1
|
# plugins/core/storage/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.core.storage` · namespace: `STORAGE`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Persistent key-value store on IndexedDB (localforage) with per-module namespace and group.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Key format
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
The physical key is always three parts: `{module}/{group}/{key}`.
|
|
10
10
|
|
|
11
|
-
-
|
|
12
|
-
- `key`
|
|
13
|
-
- `module`
|
|
11
|
+
- When `group` is omitted — `_` is used (default group).
|
|
12
|
+
- `key` may contain `:` (for example settings `vne:volume:common`).
|
|
13
|
+
- `module` may contain `.` (for example `vars.global`, `fastforward.storage`).
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Examples:
|
|
16
16
|
|
|
17
|
-
|
|
|
17
|
+
| Call | Physical key |
|
|
18
18
|
| ---------------------------------------------------------------- | -------------------------------- |
|
|
19
19
|
| `{ module: "settings", key: "vne:volume:common" }` | `settings/_/vne:volume:common` |
|
|
20
20
|
| `{ module: "save", group: "0", key: "3" }` | `save/0/3` |
|
|
21
21
|
| `{ module: "fastforward.storage", group: "intro", key: "hash" }` | `fastforward.storage/intro/hash` |
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Disk (desktop / Steam)
|
|
24
24
|
|
|
25
|
-
| Group
|
|
26
|
-
|
|
|
27
|
-
| `_`
|
|
28
|
-
|
|
|
25
|
+
| Group | File |
|
|
26
|
+
| -------------- | ----------------------- |
|
|
27
|
+
| `_` or omitted | `{module}.json` |
|
|
28
|
+
| any other | `{module}/{group}.json` |
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
Examples: `settings.json`, `save/0.json`, `save/autosave.json`, `fastforward.storage/intro.json`.
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Events
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Handler payloads and results are typed through module augmentation of the contract (`VneEventPayloadMap` / `VneEventResultMap`). The types live in `@vnejs/contracts.core.storage`.
|
|
35
35
|
|
|
36
|
-
|
|
|
37
|
-
| --------- | --------------------- |
|
|
38
|
-
| `SET` | `vne:storage:set` |
|
|
39
|
-
| `SET_ALL` | `vne:storage:set_all` | Merge/replace
|
|
40
|
-
| `GET` | `vne:storage:get` |
|
|
41
|
-
| `GET_ALL` | `vne:storage:get_all` |
|
|
42
|
-
| `RM` | `vne:storage:rm` |
|
|
43
|
-
| `RM_ALL` | `vne:storage:rm_all` |
|
|
44
|
-
| `KEYS` | `vne:storage:keys` |
|
|
45
|
-
| `INIT` | `vne:storage:init` |
|
|
46
|
-
| `CHANGED` | `vne:storage:changed` |
|
|
47
|
-
| `IMPORT` | `vne:storage:import` |
|
|
48
|
-
| `EXPORT` | `vne:storage:export` |
|
|
49
|
-
| `CLEAR` | `vne:storage:clear` |
|
|
36
|
+
| Key | String | Meaning |
|
|
37
|
+
| --------- | --------------------- | ------------------------------------------------------------------------------ |
|
|
38
|
+
| `SET` | `vne:storage:set` | Write a key (`module`, optional `group`, `key`); emit `CHANGED`. |
|
|
39
|
+
| `SET_ALL` | `vne:storage:set_all` | Merge/replace all keys (flat physical keys); returns whether anything changed. |
|
|
40
|
+
| `GET` | `vne:storage:get` | Read one key (`module`, optional `group`, `key`). |
|
|
41
|
+
| `GET_ALL` | `vne:storage:get_all` | Keys for a module; with `group` — that group only. |
|
|
42
|
+
| `RM` | `vne:storage:rm` | Remove one key. |
|
|
43
|
+
| `RM_ALL` | `vne:storage:rm_all` | Remove module keys; with `group` — that group only. |
|
|
44
|
+
| `KEYS` | `vne:storage:keys` | List all physical keys in the store. |
|
|
45
|
+
| `INIT` | `vne:storage:init` | Initialize IndexedDB driver, wait for ready (`ensureReady`, not `isReady`). |
|
|
46
|
+
| `CHANGED` | `vne:storage:changed` | A write, update, or delete happened in the store. |
|
|
47
|
+
| `IMPORT` | `vne:storage:import` | Replace entire store contents from a JSON file and reload the page. |
|
|
48
|
+
| `EXPORT` | `vne:storage:export` | Download the whole store as JSON. |
|
|
49
|
+
| `CLEAR` | `vne:storage:clear` | Clear the store completely and reload the page. |
|
|
50
50
|
|
|
51
|
-
### `GET_ALL`
|
|
51
|
+
### `GET_ALL` and key names in the response
|
|
52
52
|
|
|
53
|
-
- `GET_ALL({ module, group })` —
|
|
54
|
-
- `GET_ALL({ module })`
|
|
55
|
-
-
|
|
56
|
-
-
|
|
53
|
+
- `GET_ALL({ module, group })` — response uses bare `key` values.
|
|
54
|
+
- `GET_ALL({ module })` without group:
|
|
55
|
+
- for default group `_` — bare `key` too (`_/` prefix stripped);
|
|
56
|
+
- for other groups — `group/key` (so identical keys in different groups do not collide).
|
|
57
57
|
|
|
58
|
-
##
|
|
58
|
+
## Constants
|
|
59
59
|
|
|
60
|
-
- **`LOGS_ACTIONS.CHANGED`** — `"changed"`:
|
|
60
|
+
- **`LOGS_ACTIONS.CHANGED`** — `"changed"`: log label on `CHANGED`.
|
|
61
61
|
|
|
62
|
-
##
|
|
62
|
+
## Parameters
|
|
63
63
|
|
|
64
|
-
|
|
|
65
|
-
| ---------- | -------- |
|
|
66
|
-
| `GAMENAME` | `string` |
|
|
64
|
+
| Key | Type | Meaning |
|
|
65
|
+
| ---------- | -------- | ----------------------------------------------------- |
|
|
66
|
+
| `GAMENAME` | `string` | IndexedDB store name prefix; Default `"vne-default"`. |
|
|
67
67
|
|
|
68
|
-
##
|
|
68
|
+
## Settings
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
None.
|
|
71
71
|
|
|
72
|
-
##
|
|
72
|
+
## Modules
|
|
73
73
|
|
|
74
|
-
|
|
|
75
|
-
| ----------------- |
|
|
76
|
-
| `storage` | localforage
|
|
77
|
-
| `storage.get` | `GET` / `GET_ALL`.
|
|
78
|
-
| `storage.set` | `SET` / `SET_ALL`.
|
|
79
|
-
| `storage.rm` | `RM` / `RM_ALL`.
|
|
80
|
-
| `storage.actions` | Import / export / clear
|
|
74
|
+
| Module | Role |
|
|
75
|
+
| ----------------- | ------------------------------------------------------------------ |
|
|
76
|
+
| `storage` | localforage in `setup` / `ensureReady`; `KEYS`, `CHANGED`, `INIT`. |
|
|
77
|
+
| `storage.get` | `GET` / `GET_ALL`. |
|
|
78
|
+
| `storage.set` | `SET` / `SET_ALL`. |
|
|
79
|
+
| `storage.rm` | `RM` / `RM_ALL`. |
|
|
80
|
+
| `storage.actions` | Import / export / clear with file picker and reload. |
|
|
81
81
|
|
|
82
|
-
##
|
|
82
|
+
## Related plugins
|
|
83
83
|
|
|
84
84
|
### plugins/core/
|
|
85
85
|
|
|
86
|
-
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …) (
|
|
86
|
+
- [logs.md](./logs.md) — `LOGS`: `EVENTS.LOGS.EMIT` (`action`, …) (`CHANGED` event)
|
|
87
87
|
- [system.md](./system.md) — `SYSTEM`: `CONST.SYSTEM.VERSION_MAJOR`; `FILE_LOAD`, `FILE_READ`, `RELOAD` (import/export/clear)
|
|
88
88
|
|
|
89
|
-
###
|
|
89
|
+
### Other
|
|
90
90
|
|
|
91
|
-
—
|
|
91
|
+
— None
|