@vnejs/docs 0.2.64 → 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 -383
- package/architecture.md +0 -566
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Engine and public API changes. One file per `@vnejs/docs` release. Newest first.
|
|
4
|
+
|
|
5
|
+
- [0.2.66](./0.2.66.md)
|
|
6
|
+
- [0.2.65](./0.2.65.md)
|
|
7
|
+
- [0.2.64](./0.2.64.md)
|
|
8
|
+
- [0.2.63](./0.2.63.md)
|
|
9
|
+
- [0.2.62](./0.2.62.md)
|
|
10
|
+
- [0.2.61](./0.2.61.md)
|
|
11
|
+
- [0.2.60](./0.2.60.md)
|
|
12
|
+
- [0.2.59](./0.2.59.md)
|
|
13
|
+
- [0.2.58](./0.2.58.md)
|
|
14
|
+
- [0.2.57](./0.2.57.md)
|
|
15
|
+
- [0.2.56](./0.2.56.md)
|
|
16
|
+
- [0.2.55](./0.2.55.md)
|
|
17
|
+
- [0.2.53](./0.2.53.md)
|
|
18
|
+
- [0.2.52](./0.2.52.md)
|
|
19
|
+
- [0.2.51](./0.2.51.md)
|
|
20
|
+
- [0.2.50](./0.2.50.md)
|
|
21
|
+
- [0.2.49](./0.2.49.md)
|
|
22
|
+
- [0.2.47](./0.2.47.md)
|
|
23
|
+
- [0.2.46](./0.2.46.md)
|
|
24
|
+
- [0.2.43](./0.2.43.md)
|
|
25
|
+
- [0.2.42](./0.2.42.md)
|
|
26
|
+
- [0.2.40](./0.2.40.md)
|
|
27
|
+
- [0.2.39](./0.2.39.md)
|
|
28
|
+
- [0.2.38](./0.2.38.md)
|
|
29
|
+
- [0.2.36](./0.2.36.md)
|
|
30
|
+
- [0.2.35](./0.2.35.md)
|
|
31
|
+
- [0.2.34](./0.2.34.md)
|
|
32
|
+
- [0.2.33](./0.2.33.md)
|
|
33
|
+
- [0.2.32](./0.2.32.md)
|
|
34
|
+
- [0.2.31](./0.2.31.md)
|
|
35
|
+
- [0.2.29](./0.2.29.md)
|
|
36
|
+
- [0.2.26](./0.2.26.md)
|
|
37
|
+
- [0.2.25](./0.2.25.md)
|
|
38
|
+
- [0.2.23](./0.2.23.md)
|
|
39
|
+
- [0.2.22](./0.2.22.md)
|
|
40
|
+
- [0.2.21](./0.2.21.md)
|
|
41
|
+
- [0.2.20](./0.2.20.md)
|
|
42
|
+
- [0.2.19](./0.2.19.md)
|
|
43
|
+
- [0.2.18](./0.2.18.md)
|
package/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vnejs/docs",
|
|
3
|
-
"readOrder": ["scenario.guide/README.md", "scenario.catalog/README.md", "scenario.catalog/index.md", "plugins/", "architecture
|
|
3
|
+
"readOrder": ["scenario.guide/README.md", "scenario.catalog/README.md", "scenario.catalog/index.md", "plugins/", "architecture/"],
|
|
4
4
|
"sections": {
|
|
5
5
|
"scenario.guide": {
|
|
6
6
|
"path": "scenario.guide/",
|
|
@@ -31,12 +31,73 @@
|
|
|
31
31
|
"role": "Plugin internals: events, modules, contracts"
|
|
32
32
|
},
|
|
33
33
|
"architecture": {
|
|
34
|
-
"path": "architecture
|
|
35
|
-
"role": "Monorepo
|
|
34
|
+
"path": "architecture/",
|
|
35
|
+
"role": "Monorepo model. Read every file in this folder, in one batch.",
|
|
36
|
+
"entry": "architecture/",
|
|
37
|
+
"pages": [
|
|
38
|
+
"architecture/model.md",
|
|
39
|
+
"architecture/dependencies.md",
|
|
40
|
+
"architecture/packages.md",
|
|
41
|
+
"architecture/modules.md",
|
|
42
|
+
"architecture/configs.md",
|
|
43
|
+
"architecture/contracts.md",
|
|
44
|
+
"architecture/plugins.md",
|
|
45
|
+
"architecture/compatibility.md",
|
|
46
|
+
"architecture/bundles.md",
|
|
47
|
+
"architecture/helpers.md",
|
|
48
|
+
"architecture/uis.md",
|
|
49
|
+
"architecture/cli.md",
|
|
50
|
+
"architecture/games.md",
|
|
51
|
+
"architecture/backends.md",
|
|
52
|
+
"architecture/editor.md",
|
|
53
|
+
"architecture/build.md"
|
|
54
|
+
]
|
|
36
55
|
},
|
|
37
56
|
"changelog": {
|
|
38
|
-
"path": "
|
|
39
|
-
"role": "
|
|
57
|
+
"path": "changelog/",
|
|
58
|
+
"role": "Engine and API changes. One file per @vnejs/docs release. Read README.md, then one version file.",
|
|
59
|
+
"entry": "changelog/README.md",
|
|
60
|
+
"pages": [
|
|
61
|
+
"changelog/README.md",
|
|
62
|
+
"changelog/0.2.65.md",
|
|
63
|
+
"changelog/0.2.64.md",
|
|
64
|
+
"changelog/0.2.63.md",
|
|
65
|
+
"changelog/0.2.62.md",
|
|
66
|
+
"changelog/0.2.61.md",
|
|
67
|
+
"changelog/0.2.60.md",
|
|
68
|
+
"changelog/0.2.59.md",
|
|
69
|
+
"changelog/0.2.58.md",
|
|
70
|
+
"changelog/0.2.57.md",
|
|
71
|
+
"changelog/0.2.56.md",
|
|
72
|
+
"changelog/0.2.55.md",
|
|
73
|
+
"changelog/0.2.53.md",
|
|
74
|
+
"changelog/0.2.52.md",
|
|
75
|
+
"changelog/0.2.51.md",
|
|
76
|
+
"changelog/0.2.50.md",
|
|
77
|
+
"changelog/0.2.49.md",
|
|
78
|
+
"changelog/0.2.47.md",
|
|
79
|
+
"changelog/0.2.46.md",
|
|
80
|
+
"changelog/0.2.43.md",
|
|
81
|
+
"changelog/0.2.42.md",
|
|
82
|
+
"changelog/0.2.40.md",
|
|
83
|
+
"changelog/0.2.39.md",
|
|
84
|
+
"changelog/0.2.38.md",
|
|
85
|
+
"changelog/0.2.36.md",
|
|
86
|
+
"changelog/0.2.35.md",
|
|
87
|
+
"changelog/0.2.34.md",
|
|
88
|
+
"changelog/0.2.33.md",
|
|
89
|
+
"changelog/0.2.32.md",
|
|
90
|
+
"changelog/0.2.31.md",
|
|
91
|
+
"changelog/0.2.29.md",
|
|
92
|
+
"changelog/0.2.26.md",
|
|
93
|
+
"changelog/0.2.25.md",
|
|
94
|
+
"changelog/0.2.23.md",
|
|
95
|
+
"changelog/0.2.22.md",
|
|
96
|
+
"changelog/0.2.21.md",
|
|
97
|
+
"changelog/0.2.20.md",
|
|
98
|
+
"changelog/0.2.19.md",
|
|
99
|
+
"changelog/0.2.18.md"
|
|
100
|
+
]
|
|
40
101
|
}
|
|
41
102
|
}
|
|
42
103
|
}
|
package/package.json
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vnejs/docs",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.66",
|
|
4
4
|
"description": "VNEJS documentation for engine consumers and coding agents",
|
|
5
5
|
"files": [
|
|
6
6
|
"*.md",
|
|
7
7
|
"*.json",
|
|
8
8
|
"plugins/**/*.md",
|
|
9
9
|
"scenario.guide/**/*.md",
|
|
10
|
-
"scenario.catalog/**/*.md"
|
|
10
|
+
"scenario.catalog/**/*.md",
|
|
11
|
+
"architecture/**/*.md",
|
|
12
|
+
"changelog/**/*.md"
|
|
11
13
|
],
|
|
12
14
|
"exports": {
|
|
13
15
|
"./package.json": "./package.json",
|
|
14
16
|
"./manifest.json": "./manifest.json",
|
|
15
17
|
"./README.md": "./README.md",
|
|
16
|
-
"./
|
|
17
|
-
"./architecture
|
|
18
|
+
"./changelog/*": "./changelog/*",
|
|
19
|
+
"./architecture/*": "./architecture/*",
|
|
18
20
|
"./plugins/*": "./plugins/*",
|
|
19
21
|
"./scenario.guide/*": "./scenario.guide/*",
|
|
20
22
|
"./scenario.catalog/*": "./scenario.catalog/*"
|
package/plugins/ai/ai.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# plugins/ai/ai/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.ai` · namespace: `AI`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Universal AI algorithm dispatcher: `emitOne(EVENTS.AI.EMIT, { type, args })` calls `PARAMS.AI.ALGORITHMS[type](args, module)`. Domain strategies plug in their contracts (side effect on `PARAMS.AI.ALGORITHMS`), like [`ai/checkers`](./checkers.md).
|
|
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.ai`.
|
|
10
10
|
|
|
11
|
-
|
|
|
11
|
+
| Key | String | Meaning |
|
|
12
12
|
| ------ | ------------- | ------------------------------------------------------- |
|
|
13
13
|
| `EMIT` | `vne:ai:emit` | Request/response (`emitOne`): payload `{ type, args }`. |
|
|
14
14
|
|
|
@@ -17,26 +17,26 @@ emitOne(EVENTS.AI.EMIT, { type, args });
|
|
|
17
17
|
// → PARAMS.AI.ALGORITHMS[type](args, module) ?? null
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
|
|
|
21
|
-
| ------ | --------- |
|
|
22
|
-
| `type` | `string` |
|
|
23
|
-
| `args` | `unknown` |
|
|
20
|
+
| Field | Type | Meaning |
|
|
21
|
+
| ------ | --------- | --------------------------------------------- |
|
|
22
|
+
| `type` | `string` | Key in `PARAMS.AI.ALGORITHMS`. |
|
|
23
|
+
| `args` | `unknown` | Arbitrary payload for the selected algorithm. |
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
The second algorithm argument is the AI module (`emit` / `emitOne` / `emitReal`), like settings ACTIONS.
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Result: value from the algorithm or `null` (no `type` / no function / algorithm returned `null`). `async` is supported.
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## Constants
|
|
30
30
|
|
|
31
|
-
|
|
|
32
|
-
| ------------- |
|
|
33
|
-
| `PLAYER_TYPE` | `"player"`
|
|
31
|
+
| Key | Type / value | Meaning |
|
|
32
|
+
| ------------- | ------------ | --------------------------------------------------------------------------- |
|
|
33
|
+
| `PLAYER_TYPE` | `"player"` | Controller type for a human (not an algorithm from `PARAMS.AI.ALGORITHMS`). |
|
|
34
34
|
|
|
35
|
-
##
|
|
35
|
+
## Parameters
|
|
36
36
|
|
|
37
|
-
|
|
|
38
|
-
| ------------ | ------------------------------------ |
|
|
39
|
-
| `ALGORITHMS` | `Record<string, AiAlgorithm>` → `{}` |
|
|
37
|
+
| Key | Type / default | Meaning |
|
|
38
|
+
| ------------ | ------------------------------------ | ---------------------------------------------------------------- |
|
|
39
|
+
| `ALGORITHMS` | `Record<string, AiAlgorithm>` → `{}` | Map type → `(args, module) => result \| null`. Empty by default. |
|
|
40
40
|
|
|
41
41
|
```ts
|
|
42
42
|
type AiAlgorithmContext = Pick<Module, "emit" | "emitOne" | "emitReal">;
|
|
@@ -44,15 +44,15 @@ type AiAlgorithm<TArgs = unknown, TResult = unknown> = (args: TArgs, module: AiA
|
|
|
44
44
|
type AiEmitPayload<TArgs = unknown> = { type?: string; args?: TArgs };
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
##
|
|
47
|
+
## Modules
|
|
48
48
|
|
|
49
|
-
|
|
|
49
|
+
| Module | Role |
|
|
50
50
|
| --------- | ------------------------------------------------------------------ |
|
|
51
51
|
| `ai.emit` | `on(EVENTS.AI.EMIT)` → `PARAMS.AI.ALGORITHMS[type]?.(args, this)`. |
|
|
52
52
|
|
|
53
|
-
##
|
|
53
|
+
## Algorithm registration
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
A domain contract mutates `PARAMS.AI.ALGORITHMS` on load (like `SCALE_MANA` → `PARAMS.SCALES.TYPES`):
|
|
56
56
|
|
|
57
57
|
```ts
|
|
58
58
|
import { PARAMS as AI_PARAMS } from "@vnejs/contracts.ai";
|
|
@@ -62,16 +62,16 @@ AI_PARAMS.ALGORITHMS["checkers:random"] = random;
|
|
|
62
62
|
AI_PARAMS.ALGORITHMS["checkers:strong"] = strong;
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
Checkers keys `checkers:sacrifice` / `checkers:random` / `checkers:strong` — in [`ai/checkers`](./checkers.md). A game can add its own keys the same way or in scripts.
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
Caller (for example `ai/checkers`):
|
|
68
68
|
|
|
69
69
|
```ts
|
|
70
70
|
await this.emitOne(this.EVENTS.AI.EMIT, { type, args: { board, turn, controllerType: type } });
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
##
|
|
73
|
+
## Related plugins
|
|
74
74
|
|
|
75
|
-
- [ai/checkers.md](./checkers.md) —
|
|
76
|
-
- [game/checkers.md](../game/checkers.md) —
|
|
77
|
-
- [views.screens/checkers.md](../views.screens/checkers.md) —
|
|
75
|
+
- [ai/checkers.md](./checkers.md) — checkers orchestration: `CHECKERS_AI.INTERACT` → `AI.EMIT`.
|
|
76
|
+
- [game/checkers.md](../game/checkers.md) — rules: `MOVES_GET` / `MOVE_PLAY`.
|
|
77
|
+
- [views.screens/checkers.md](../views.screens/checkers.md) — `CHECKERS_VIEW` screen.
|
package/plugins/ai/checkers.md
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
1
|
# plugins/ai/checkers/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.ai.checkers` · namespace: `CHECKERS_AI`
|
|
4
4
|
|
|
5
|
-
AI
|
|
5
|
+
AI orchestration for Russian checkers: side config, turn loop via `AI.EMIT`, `$ checkers.ai`, default algorithms `checkers:sacrifice` / `checkers:random` / `checkers:strong`. Board rules — in [`game/checkers`](../game/checkers.md); UI — in [`views.screens/checkers`](../views.screens/checkers.md); dispatcher — in [`ai/ai`](./ai.md).
|
|
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.ai.checkers`.
|
|
10
10
|
|
|
11
|
-
|
|
|
12
|
-
| ---------- | -------------------------- |
|
|
13
|
-
| `INTERACT` | `vne:checkers_ai:interact` |
|
|
14
|
-
| `SET` | `vne:checkers_ai:set` | `$ checkers.ai set`: `{ color, type }`.
|
|
15
|
-
| `UNSET` | `vne:checkers_ai:unset` | `$ checkers.ai unset <color>`.
|
|
11
|
+
| Key | String | Meaning |
|
|
12
|
+
| ---------- | -------------------------- | ---------------------------------------- |
|
|
13
|
+
| `INTERACT` | `vne:checkers_ai:interact` | AI move (when the side is not `player`). |
|
|
14
|
+
| `SET` | `vne:checkers_ai:set` | `$ checkers.ai set`: `{ color, type }`. |
|
|
15
|
+
| `UNSET` | `vne:checkers_ai:unset` | `$ checkers.ai unset <color>`. |
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Listens to `CHECKERS.START` → `INTERACT`; `CHECKERS.MOVE_PLAYED` → unlock + `INTERACT`. Side to move — from `TURNS.CHANGED` / `TURNS.UNSET`; winner — from `CHECKERS.FINISH` / reset on `SHOW`; `board` — from `GRID.CHANGED` / `GRID.UNSET` (`cells`, filter `CONST.CHECKERS.GRID_ID`).
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Constants / Shared / Params
|
|
20
20
|
|
|
21
|
-
|
|
|
21
|
+
| Key | Meaning |
|
|
22
22
|
| --------------------------------------------- | ----------------------------------------------------------------------- |
|
|
23
|
-
| `CONST.CHECKERS_AI.SOURCE` | `"checkers.ai.interact"` —
|
|
23
|
+
| `CONST.CHECKERS_AI.SOURCE` | `"checkers.ai.interact"` — key in `SourcesSet` |
|
|
24
24
|
| `CONST.CHECKERS_AI.EXEC_ACTIONS` / `AI_TYPES` | set/unset; `checkers:sacrifice` / `checkers:random` / `checkers:strong` |
|
|
25
|
-
| `shared.checkersAi` | `{ white, black }` →
|
|
26
|
-
| `PARAMS.CHECKERS_AI.AI_DELAY` |
|
|
25
|
+
| `shared.checkersAi` | `{ white, black }` → both `player` by default |
|
|
26
|
+
| `PARAMS.CHECKERS_AI.AI_DELAY` | pause before an AI move (ms, `1000`) |
|
|
27
27
|
|
|
28
|
-
Busy
|
|
28
|
+
Busy flag is written to `shared.checkersInteractDisableSources` (owner — `CHECKERS`).
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
Side colors (`CONST.CHECKERS.COLORS`) — in the game contract.
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
On contract load, `checkers:sacrifice` / `checkers:random` / `checkers:strong` register in `PARAMS.AI.ALGORITHMS` (mutation like `SCALE_MANA` → `PARAMS.SCALES.TYPES`).
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## Modules
|
|
35
35
|
|
|
36
|
-
|
|
|
36
|
+
| Module | Role |
|
|
37
37
|
| ------------------------- | -------------------------------------------------- |
|
|
38
38
|
| `checkers.ai` | `$ checkers.ai set/unset` → `SET` / `UNSET` |
|
|
39
39
|
| `checkers.ai.start` | `CHECKERS.START` → `INTERACT` |
|
|
40
40
|
| `checkers.ai.interact` | `INTERACT` → delay → `AI.EMIT` (source = `SOURCE`) |
|
|
41
41
|
| `checkers.ai.move.played` | `CHECKERS.MOVE_PLAYED` → `rm(SOURCE)` → `INTERACT` |
|
|
42
42
|
|
|
43
|
-
##
|
|
43
|
+
## Scenario
|
|
44
44
|
|
|
45
45
|
```vne
|
|
46
46
|
$ checkers.ai set white checkers:strong
|
|
47
47
|
$ checkers.ai set black player
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## Bundle
|
|
51
51
|
|
|
52
52
|
`@vnejs/bundles.checkers` — `plugins.common.grid` + `plugins.common.turn` + `plugins.ai` + `plugins.ai.checkers` + `plugins.game.checkers` + `plugins.views.screens.checkers`.
|
|
53
53
|
|
|
54
|
-
##
|
|
54
|
+
## Related plugins
|
|
55
55
|
|
|
56
|
-
- [common/grid.md](../common/grid.md) — `GRID` (
|
|
56
|
+
- [common/grid.md](../common/grid.md) — `GRID` (board)
|
|
57
57
|
- [common/turn.md](../common/turn.md) — `TURNS` (`id` / `owner`)
|
|
58
58
|
- [ai/ai.md](./ai.md) — `EVENTS.AI.EMIT` / `PARAMS.AI.ALGORITHMS`
|
|
59
|
-
- [game/checkers.md](../game/checkers.md) —
|
|
60
|
-
- [views.screens/checkers.md](../views.screens/checkers.md) — UI, gate
|
|
59
|
+
- [game/checkers.md](../game/checkers.md) — rules, `START` / `MOVE_PLAYED`
|
|
60
|
+
- [views.screens/checkers.md](../views.screens/checkers.md) — UI, gate via `SourcesSet`
|
package/plugins/audio/ambient.md
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
# plugins/audio/ambient/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.audio.ambient` · namespace: `AMBIENT`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Play looped ambient audio from scenario with a separate volume.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Events
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
None.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Constants
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
None.
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Parameters
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
None.
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Settings
|
|
20
20
|
|
|
21
|
-
|
|
|
22
|
-
| ------------------------------- | -------- |
|
|
23
|
-
| `VOLUME` (`vne:ambient:volume`) | `number` |
|
|
21
|
+
| Key | Type | Meaning |
|
|
22
|
+
| ------------------------------- | -------- | ------------- |
|
|
23
|
+
| `VOLUME` (`vne:ambient:volume`) | `number` | Volume level. |
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## Modules
|
|
26
26
|
|
|
27
|
-
|
|
|
28
|
-
| --------- |
|
|
29
|
-
| `ambient` |
|
|
27
|
+
| Module | Role |
|
|
28
|
+
| --------- | ----------------- |
|
|
29
|
+
| `ambient` | `ambient` module. |
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## Related plugins
|
|
32
32
|
|
|
33
33
|
### plugins/core/
|
|
34
34
|
|
|
35
|
-
—
|
|
35
|
+
— None
|
|
36
36
|
|
|
37
|
-
###
|
|
37
|
+
### Other
|
|
38
38
|
|
|
39
|
-
—
|
|
39
|
+
— None
|
package/plugins/audio/audio.md
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
1
|
# plugins/audio/audio/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.audio.audio` · namespace: `AUDIO`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Base audio engine: play/stop/pause/resume, volume, and media load via Web Audio.
|
|
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.audio`.
|
|
10
10
|
|
|
11
|
-
|
|
|
12
|
-
| ---------------- | -------------------------- |
|
|
13
|
-
| `PLAY` | `vne:audio:play` |
|
|
14
|
-
| `STOP` | `vne:audio:stop` |
|
|
15
|
-
| `PAUSE` | `vne:audio:pause` |
|
|
16
|
-
| `RESUME` | `vne:audio:resume` |
|
|
17
|
-
| `MEDIA_GET` | `vne:audio:media_get` |
|
|
18
|
-
| `MEDIA_LOAD` | `vne:audio:media_load` |
|
|
19
|
-
| `VOLUME` | `vne:audio:volume` |
|
|
20
|
-
| `VOLUME_GET` | `vne:audio:volume_get` |
|
|
21
|
-
| `VOLUME_CHANGED` | `vne:audio:volume_changed` |
|
|
22
|
-
| `GLOBAL_PAUSE` | `vne:audio:global_pause` |
|
|
23
|
-
| `GLOBAL_RESUME` | `vne:audio:global_resume` |
|
|
24
|
-
| `ENDED` | `vne:audio:ended` |
|
|
11
|
+
| Key | String | Meaning |
|
|
12
|
+
| ---------------- | -------------------------- | --------------------------------------------- |
|
|
13
|
+
| `PLAY` | `vne:audio:play` | Ask handlers for data and continue the chain. |
|
|
14
|
+
| `STOP` | `vne:audio:stop` | Ask handlers for data and continue the chain. |
|
|
15
|
+
| `PAUSE` | `vne:audio:pause` | Ask handlers for data and continue the chain. |
|
|
16
|
+
| `RESUME` | `vne:audio:resume` | Ask handlers for data and continue the chain. |
|
|
17
|
+
| `MEDIA_GET` | `vne:audio:media_get` | Get a value or resource. |
|
|
18
|
+
| `MEDIA_LOAD` | `vne:audio:media_load` | Load data or a resource. |
|
|
19
|
+
| `VOLUME` | `vne:audio:volume` | Ask handlers for data and continue the chain. |
|
|
20
|
+
| `VOLUME_GET` | `vne:audio:volume_get` | Ask handlers for data and continue the chain. |
|
|
21
|
+
| `VOLUME_CHANGED` | `vne:audio:volume_changed` | Record a state change. |
|
|
22
|
+
| `GLOBAL_PAUSE` | `vne:audio:global_pause` | Pause playback. |
|
|
23
|
+
| `GLOBAL_RESUME` | `vne:audio:global_resume` | Plugin namespace event `GLOBAL_RESUME`. |
|
|
24
|
+
| `ENDED` | `vne:audio:ended` | Plugin namespace event `ENDED`. |
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## Constants
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
None.
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## Parameters
|
|
31
31
|
|
|
32
|
-
|
|
|
33
|
-
| --------- | -------- |
|
|
34
|
-
| `QUALITY` | `string` |
|
|
32
|
+
| Key | Type | Meaning |
|
|
33
|
+
| --------- | -------- | ----------------- |
|
|
34
|
+
| `QUALITY` | `string` | Default: `"64k"`. |
|
|
35
35
|
|
|
36
|
-
##
|
|
36
|
+
## Settings
|
|
37
37
|
|
|
38
|
-
|
|
|
39
|
-
| ----------------------------- | -------- |
|
|
40
|
-
| `VOLUME` (`vne:audio:volume`) | `number` |
|
|
38
|
+
| Key | Type | Meaning |
|
|
39
|
+
| ----------------------------- | -------- | ------------- |
|
|
40
|
+
| `VOLUME` (`vne:audio:volume`) | `number` | Volume level. |
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## Modules
|
|
43
43
|
|
|
44
|
-
|
|
|
45
|
-
| -------------- |
|
|
46
|
-
| `audio.play` |
|
|
47
|
-
| `audio.stop` |
|
|
48
|
-
| `audio.media` |
|
|
49
|
-
| `audio.pause` |
|
|
50
|
-
| `audio.volume` |
|
|
51
|
-
| `audio.resume` |
|
|
52
|
-
| `audio.ended` |
|
|
44
|
+
| Module | Role |
|
|
45
|
+
| -------------- | ------------------------------------------------------------------------------- |
|
|
46
|
+
| `audio.play` | Plugin `play` submodule. |
|
|
47
|
+
| `audio.stop` | Plugin `stop` submodule. |
|
|
48
|
+
| `audio.media` | In `postinject` — `shared.audioNoSmoothSources`; handles MEDIA_GET, MEDIA_LOAD. |
|
|
49
|
+
| `audio.pause` | Plugin `pause` submodule. |
|
|
50
|
+
| `audio.volume` | Handles VOLUME, VOLUME_GET, CHANGED. |
|
|
51
|
+
| `audio.resume` | Plugin `resume` submodule. |
|
|
52
|
+
| `audio.ended` | Handles PLAY, STOP. |
|
|
53
53
|
|
|
54
|
-
##
|
|
54
|
+
## Related plugins
|
|
55
55
|
|
|
56
56
|
### plugins/core/
|
|
57
57
|
|
|
58
58
|
- [media.md](../core/media.md) — `MEDIA`: EVENTS.LOAD, CONST.PRIORITIES.BACKGROUND, CONST.TYPES.AUDIO
|
|
59
59
|
- [settings.md](../core/settings.md) — `SETTINGS`: EVENTS.CHANGED
|
|
60
60
|
|
|
61
|
-
###
|
|
61
|
+
### Other
|
|
62
62
|
|
|
63
63
|
- [volume.md](../settings/volume.md) — `VOLUME`: SETTINGS.COMMON, SETTINGS.AUDIO
|
package/plugins/audio/music.md
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
# plugins/audio/music/
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: `@vnejs/plugins.audio.music` · namespace: `MUSIC`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Play looped music from scenario with state persistence.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Events
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
None.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Constants
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
None.
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Parameters
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
None.
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Settings
|
|
20
20
|
|
|
21
|
-
|
|
|
22
|
-
| ----------------------------- | -------- |
|
|
23
|
-
| `VOLUME` (`vne:music:volume`) | `number` |
|
|
21
|
+
| Key | Type | Meaning |
|
|
22
|
+
| ----------------------------- | -------- | ------------- |
|
|
23
|
+
| `VOLUME` (`vne:music:volume`) | `number` | Volume level. |
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## Modules
|
|
26
26
|
|
|
27
|
-
|
|
|
28
|
-
| ------- |
|
|
29
|
-
| `music` |
|
|
27
|
+
| Module | Role |
|
|
28
|
+
| ------- | --------------- |
|
|
29
|
+
| `music` | `music` module. |
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## Related plugins
|
|
32
32
|
|
|
33
33
|
### plugins/core/
|
|
34
34
|
|
|
35
|
-
—
|
|
35
|
+
— None
|
|
36
36
|
|
|
37
|
-
###
|
|
37
|
+
### Other
|
|
38
38
|
|
|
39
|
-
—
|
|
39
|
+
— None
|