@vulfram/engine 0.14.8-alpha → 0.19.2-alpha
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 +106 -0
- package/package.json +60 -4
- package/src/core.ts +14 -0
- package/src/ecs.ts +1 -0
- package/src/engine/api.ts +222 -24
- package/src/engine/bridge/dispatch.ts +260 -40
- package/src/engine/bridge/guards.ts +4 -1
- package/src/engine/bridge/protocol.ts +69 -52
- package/src/engine/ecs/components.ts +340 -0
- package/src/engine/ecs/index.ts +3 -518
- package/src/engine/ecs/intents.ts +184 -0
- package/src/engine/ecs/systems.ts +26 -0
- package/src/engine/intents/store.ts +72 -0
- package/src/engine/state.ts +136 -5
- package/src/engine/systems/command-intent.ts +159 -14
- package/src/engine/systems/constraint-solve.ts +167 -0
- package/src/engine/systems/core-command-builder.ts +9 -268
- package/src/engine/systems/diagnostics.ts +20 -29
- package/src/engine/systems/index.ts +3 -1
- package/src/engine/systems/input-mirror.ts +257 -21
- package/src/engine/systems/resource-upload.ts +108 -58
- package/src/engine/systems/response-decode.ts +86 -15
- package/src/engine/systems/scene-sync.ts +305 -0
- package/src/engine/systems/ui-bridge.ts +381 -0
- package/src/engine/systems/utils.ts +86 -1
- package/src/engine/systems/world-lifecycle.ts +43 -114
- package/src/engine/window/manager.ts +168 -0
- package/src/engine/world/entities.ts +998 -91
- package/src/engine/world/mount.ts +195 -0
- package/src/engine/world/types.ts +71 -0
- package/src/engine/world/world-ui.ts +313 -0
- package/src/engine/world/world3d.ts +529 -0
- package/src/helpers/collision.ts +487 -0
- package/src/helpers/index.ts +2 -0
- package/src/helpers/raycast.ts +442 -0
- package/src/index.ts +30 -1
- package/src/mount.ts +2 -0
- package/src/types/cmds/audio.ts +73 -48
- package/src/types/cmds/camera.ts +12 -8
- package/src/types/cmds/environment.ts +9 -3
- package/src/types/cmds/geometry.ts +15 -16
- package/src/types/cmds/index.ts +234 -162
- package/src/types/cmds/input.ts +39 -0
- package/src/types/cmds/light.ts +12 -11
- package/src/types/cmds/material.ts +19 -21
- package/src/types/cmds/model.ts +17 -15
- package/src/types/cmds/realm.ts +23 -0
- package/src/types/cmds/system.ts +29 -0
- package/src/types/cmds/target.ts +96 -0
- package/src/types/cmds/texture.ts +13 -3
- package/src/types/cmds/ui.ts +220 -0
- package/src/types/cmds/window.ts +41 -204
- package/src/types/events/index.ts +4 -1
- package/src/types/events/keyboard.ts +2 -2
- package/src/types/events/pointer.ts +85 -13
- package/src/types/events/system.ts +188 -30
- package/src/types/events/ui.ts +21 -0
- package/src/types/index.ts +1 -0
- package/src/types/json.ts +15 -0
- package/src/window.ts +8 -0
- package/src/world-ui.ts +2 -0
- package/src/world3d.ts +10 -0
- package/tsconfig.json +0 -29
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface CmdInputTargetListenerUpsertArgs {
|
|
2
|
+
listenerId: number;
|
|
3
|
+
targetId: number;
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
events?: string[];
|
|
6
|
+
samplePercent?: number;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface CmdResultInputTargetListenerUpsert {
|
|
10
|
+
success: boolean;
|
|
11
|
+
message: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface CmdInputTargetListenerDisposeArgs {
|
|
15
|
+
listenerId: number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface CmdResultInputTargetListenerDispose {
|
|
19
|
+
success: boolean;
|
|
20
|
+
message: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface CmdInputTargetListenerListArgs {
|
|
24
|
+
targetId?: number;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface InputTargetListenerSnapshot {
|
|
28
|
+
listenerId: number;
|
|
29
|
+
targetId: number;
|
|
30
|
+
enabled: boolean;
|
|
31
|
+
events: string[];
|
|
32
|
+
samplePercent: number;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface CmdResultInputTargetListenerList {
|
|
36
|
+
success: boolean;
|
|
37
|
+
message: string;
|
|
38
|
+
listeners: InputTargetListenerSnapshot[];
|
|
39
|
+
}
|
package/src/types/cmds/light.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { ResourceEntry } from './resources';
|
|
|
3
3
|
|
|
4
4
|
/** Command payload for creating a light. */
|
|
5
5
|
export interface CmdLightCreateArgs {
|
|
6
|
-
|
|
6
|
+
realmId: number;
|
|
7
7
|
lightId: number;
|
|
8
8
|
label?: string;
|
|
9
9
|
kind?: LightKind;
|
|
@@ -18,15 +18,9 @@ export interface CmdLightCreateArgs {
|
|
|
18
18
|
castShadow?: boolean;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
/** Result payload for light create. */
|
|
22
|
-
export interface CmdResultLightCreate {
|
|
23
|
-
success: boolean;
|
|
24
|
-
message: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
21
|
/** Command payload for updating a light. */
|
|
28
22
|
export interface CmdLightUpdateArgs {
|
|
29
|
-
|
|
23
|
+
realmId: number;
|
|
30
24
|
lightId: number;
|
|
31
25
|
label?: string;
|
|
32
26
|
kind?: LightKind;
|
|
@@ -41,15 +35,22 @@ export interface CmdLightUpdateArgs {
|
|
|
41
35
|
castShadow?: boolean;
|
|
42
36
|
}
|
|
43
37
|
|
|
44
|
-
/** Result payload for light
|
|
45
|
-
export interface
|
|
38
|
+
/** Result payload for light upsert. */
|
|
39
|
+
export interface CmdResultLightUpsert {
|
|
46
40
|
success: boolean;
|
|
47
41
|
message: string;
|
|
48
42
|
}
|
|
49
43
|
|
|
44
|
+
/** Upsert payload accepted by the core (`create` or `update`). */
|
|
45
|
+
export type CmdLightUpsertArgs = CmdLightCreateArgs | CmdLightUpdateArgs;
|
|
46
|
+
|
|
47
|
+
/** Backward-compatible aliases. */
|
|
48
|
+
export type CmdResultLightCreate = CmdResultLightUpsert;
|
|
49
|
+
export type CmdResultLightUpdate = CmdResultLightUpsert;
|
|
50
|
+
|
|
50
51
|
/** Command payload for disposing a light. */
|
|
51
52
|
export interface CmdLightDisposeArgs {
|
|
52
|
-
|
|
53
|
+
realmId: number;
|
|
53
54
|
lightId: number;
|
|
54
55
|
}
|
|
55
56
|
|
|
@@ -28,16 +28,16 @@ export interface PbrOptions {
|
|
|
28
28
|
roughness: number;
|
|
29
29
|
ao: number;
|
|
30
30
|
normalScale: number;
|
|
31
|
-
baseTexId
|
|
32
|
-
baseSampler
|
|
33
|
-
normalTexId
|
|
34
|
-
normalSampler
|
|
35
|
-
metallicRoughnessTexId
|
|
36
|
-
metallicRoughnessSampler
|
|
37
|
-
emissiveTexId
|
|
38
|
-
emissiveSampler
|
|
39
|
-
aoTexId
|
|
40
|
-
aoSampler
|
|
31
|
+
baseTexId?: number | null;
|
|
32
|
+
baseSampler?: SamplerMode | null;
|
|
33
|
+
normalTexId?: number | null;
|
|
34
|
+
normalSampler?: SamplerMode | null;
|
|
35
|
+
metallicRoughnessTexId?: number | null;
|
|
36
|
+
metallicRoughnessSampler?: SamplerMode | null;
|
|
37
|
+
emissiveTexId?: number | null;
|
|
38
|
+
emissiveSampler?: SamplerMode | null;
|
|
39
|
+
aoTexId?: number | null;
|
|
40
|
+
aoSampler?: SamplerMode | null;
|
|
41
41
|
flags: number;
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -48,37 +48,35 @@ export type MaterialOptions =
|
|
|
48
48
|
|
|
49
49
|
/** Command payload for creating a material. */
|
|
50
50
|
export interface CmdMaterialCreateArgs {
|
|
51
|
-
windowId: number;
|
|
52
51
|
materialId: number;
|
|
53
52
|
label?: string;
|
|
54
53
|
kind: MaterialKind;
|
|
55
54
|
options?: MaterialOptions;
|
|
56
55
|
}
|
|
57
56
|
|
|
58
|
-
/** Result payload for material create. */
|
|
59
|
-
export interface CmdResultMaterialCreate {
|
|
60
|
-
success: boolean;
|
|
61
|
-
message: string;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
57
|
/** Command payload for updating a material. */
|
|
65
58
|
export interface CmdMaterialUpdateArgs {
|
|
66
|
-
windowId: number;
|
|
67
59
|
materialId: number;
|
|
68
60
|
label?: string;
|
|
69
61
|
kind?: MaterialKind;
|
|
70
62
|
options?: MaterialOptions;
|
|
71
63
|
}
|
|
72
64
|
|
|
73
|
-
/** Result payload for material
|
|
74
|
-
export interface
|
|
65
|
+
/** Result payload for material upsert. */
|
|
66
|
+
export interface CmdResultMaterialUpsert {
|
|
75
67
|
success: boolean;
|
|
76
68
|
message: string;
|
|
77
69
|
}
|
|
78
70
|
|
|
71
|
+
/** Upsert payload accepted by the core (`create` or `update`). */
|
|
72
|
+
export type CmdMaterialUpsertArgs = CmdMaterialCreateArgs | CmdMaterialUpdateArgs;
|
|
73
|
+
|
|
74
|
+
/** Backward-compatible aliases. */
|
|
75
|
+
export type CmdResultMaterialCreate = CmdResultMaterialUpsert;
|
|
76
|
+
export type CmdResultMaterialUpdate = CmdResultMaterialUpsert;
|
|
77
|
+
|
|
79
78
|
/** Command payload for disposing a material. */
|
|
80
79
|
export interface CmdMaterialDisposeArgs {
|
|
81
|
-
windowId: number;
|
|
82
80
|
materialId: number;
|
|
83
81
|
}
|
|
84
82
|
|
package/src/types/cmds/model.ts
CHANGED
|
@@ -2,8 +2,8 @@ import type { ResourceEntry } from './resources';
|
|
|
2
2
|
|
|
3
3
|
/** Command payload for creating a model. */
|
|
4
4
|
export interface CmdModelCreateArgs {
|
|
5
|
-
|
|
6
|
-
modelId: number
|
|
5
|
+
realmId: number;
|
|
6
|
+
modelId: number;
|
|
7
7
|
label?: string;
|
|
8
8
|
geometryId: number;
|
|
9
9
|
materialId?: number;
|
|
@@ -15,16 +15,10 @@ export interface CmdModelCreateArgs {
|
|
|
15
15
|
outlineColor: [number, number, number, number];
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
/** Result payload for model create. */
|
|
19
|
-
export interface CmdResultModelCreate {
|
|
20
|
-
success: boolean;
|
|
21
|
-
message: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
18
|
/** Command payload for updating a model. */
|
|
25
19
|
export interface CmdModelUpdateArgs {
|
|
26
|
-
|
|
27
|
-
modelId: number
|
|
20
|
+
realmId: number;
|
|
21
|
+
modelId: number;
|
|
28
22
|
label?: string;
|
|
29
23
|
geometryId?: number;
|
|
30
24
|
materialId?: number;
|
|
@@ -36,18 +30,26 @@ export interface CmdModelUpdateArgs {
|
|
|
36
30
|
outlineColor?: [number, number, number, number];
|
|
37
31
|
}
|
|
38
32
|
|
|
39
|
-
/** Result payload for model
|
|
40
|
-
export interface
|
|
33
|
+
/** Result payload for model upsert. */
|
|
34
|
+
export interface CmdResultModelUpsert {
|
|
41
35
|
success: boolean;
|
|
42
36
|
message: string;
|
|
43
37
|
}
|
|
44
38
|
|
|
39
|
+
/** Upsert payload accepted by the core (`create` or `update`). */
|
|
40
|
+
export type CmdModelUpsertArgs = CmdModelCreateArgs | CmdModelUpdateArgs;
|
|
41
|
+
|
|
42
|
+
/** Backward-compatible aliases. */
|
|
43
|
+
export type CmdResultModelCreate = CmdResultModelUpsert;
|
|
44
|
+
export type CmdResultModelUpdate = CmdResultModelUpsert;
|
|
45
|
+
|
|
45
46
|
/** Command payload for updating a model pose (skinning). */
|
|
46
47
|
export interface CmdPoseUpdateArgs {
|
|
47
|
-
|
|
48
|
+
realmId: number;
|
|
48
49
|
modelId: number;
|
|
49
50
|
boneCount: number;
|
|
50
51
|
matricesBufferId: number;
|
|
52
|
+
windowId?: number;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
/** Result payload for pose update. */
|
|
@@ -58,8 +60,8 @@ export interface CmdResultPoseUpdate {
|
|
|
58
60
|
|
|
59
61
|
/** Command payload for disposing a model. */
|
|
60
62
|
export interface CmdModelDisposeArgs {
|
|
61
|
-
|
|
62
|
-
modelId: number
|
|
63
|
+
realmId: number;
|
|
64
|
+
modelId: number;
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
/** Result payload for model dispose. */
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type RealmKind = 'three-d' | 'two-d';
|
|
2
|
+
|
|
3
|
+
export interface CmdRealmCreateArgs {
|
|
4
|
+
kind: RealmKind;
|
|
5
|
+
importance?: number;
|
|
6
|
+
cachePolicy?: number;
|
|
7
|
+
flags?: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface CmdResultRealmCreate {
|
|
11
|
+
success: boolean;
|
|
12
|
+
message: string;
|
|
13
|
+
realmId?: number;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface CmdRealmDisposeArgs {
|
|
17
|
+
realmId: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface CmdResultRealmDispose {
|
|
21
|
+
success: boolean;
|
|
22
|
+
message: string;
|
|
23
|
+
}
|
package/src/types/cmds/system.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { NotificationLevel } from '../kinds';
|
|
2
2
|
|
|
3
|
+
export type ProfilingDetailLevel = 'basic' | 'full';
|
|
4
|
+
export type SystemPointerTraceLevel = 'off' | 'errors' | 'basic' | 'full';
|
|
5
|
+
|
|
3
6
|
/** Command payload for sending a notification. */
|
|
4
7
|
export interface CmdNotificationSendArgs {
|
|
5
8
|
id?: string;
|
|
@@ -14,6 +17,32 @@ export interface CmdResultNotificationSend {
|
|
|
14
17
|
success: boolean;
|
|
15
18
|
}
|
|
16
19
|
|
|
20
|
+
/** Command payload for runtime diagnostics and tracing controls. */
|
|
21
|
+
export interface CmdSystemDiagnosticsSetArgs {
|
|
22
|
+
profilingEnabled?: boolean;
|
|
23
|
+
profilingDetail?: ProfilingDetailLevel;
|
|
24
|
+
profilingSamplingPercent?: number;
|
|
25
|
+
profilingWindowFrames?: number;
|
|
26
|
+
traceLevel?: SystemPointerTraceLevel;
|
|
27
|
+
traceSamplingPercent?: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Result payload for diagnostics update. */
|
|
31
|
+
export interface CmdResultSystemDiagnosticsSet {
|
|
32
|
+
success: boolean;
|
|
33
|
+
message: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Command payload for retrieving core build version. */
|
|
37
|
+
export interface CmdSystemBuildVersionGetArgs {}
|
|
38
|
+
|
|
39
|
+
/** Result payload for build version query. */
|
|
40
|
+
export interface CmdResultSystemBuildVersionGet {
|
|
41
|
+
success: boolean;
|
|
42
|
+
message: string;
|
|
43
|
+
buildVersion: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
17
46
|
/** Command payload for discarding all pending upload buffers. */
|
|
18
47
|
export interface CmdUploadBufferDiscardAllArgs {}
|
|
19
48
|
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
export type TargetKind =
|
|
2
|
+
| 'window'
|
|
3
|
+
| 'widget-realm-viewport'
|
|
4
|
+
| 'realm-plane'
|
|
5
|
+
| 'texture';
|
|
6
|
+
|
|
7
|
+
export type SurfaceFormat =
|
|
8
|
+
| 'rgba16-float'
|
|
9
|
+
| 'rgba8-unorm'
|
|
10
|
+
| 'bgra8-unorm'
|
|
11
|
+
| 'depth32-float'
|
|
12
|
+
| 'depth24-plus';
|
|
13
|
+
|
|
14
|
+
export type SurfaceAlphaMode =
|
|
15
|
+
| 'auto'
|
|
16
|
+
| 'opaque'
|
|
17
|
+
| 'pre-multiplied'
|
|
18
|
+
| 'post-multiplied'
|
|
19
|
+
| 'inherit';
|
|
20
|
+
|
|
21
|
+
export type DimensionValue =
|
|
22
|
+
| { unit: 'px'; value: number }
|
|
23
|
+
| { unit: 'percent'; value: number }
|
|
24
|
+
| { unit: 'character'; value: number }
|
|
25
|
+
| { unit: 'display'; value: number };
|
|
26
|
+
|
|
27
|
+
export interface TargetLayerLayout {
|
|
28
|
+
left: DimensionValue;
|
|
29
|
+
top: DimensionValue;
|
|
30
|
+
width: DimensionValue;
|
|
31
|
+
height: DimensionValue;
|
|
32
|
+
zIndex: number;
|
|
33
|
+
blendMode: number;
|
|
34
|
+
clip?: [number, number, number, number] | null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface CmdTargetUpsertArgs {
|
|
38
|
+
targetId: number;
|
|
39
|
+
kind: TargetKind;
|
|
40
|
+
windowId?: number;
|
|
41
|
+
size?: [number, number];
|
|
42
|
+
formatPolicy?: SurfaceFormat;
|
|
43
|
+
alphaPolicy?: SurfaceAlphaMode;
|
|
44
|
+
msaaSamples?: number;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface CmdResultTargetUpsert {
|
|
48
|
+
success: boolean;
|
|
49
|
+
message: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface CmdTargetMeasurementArgs {
|
|
53
|
+
targetId: number;
|
|
54
|
+
getSize?: boolean;
|
|
55
|
+
getWindowSize?: boolean;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface CmdResultTargetMeasurement {
|
|
59
|
+
success: boolean;
|
|
60
|
+
message: string;
|
|
61
|
+
size?: [number, number];
|
|
62
|
+
windowSize?: [number, number];
|
|
63
|
+
sourceKind?: string;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface CmdTargetDisposeArgs {
|
|
67
|
+
targetId: number;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export interface CmdResultTargetDispose {
|
|
71
|
+
success: boolean;
|
|
72
|
+
message: string;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface CmdTargetLayerUpsertArgs {
|
|
76
|
+
realmId: number;
|
|
77
|
+
targetId: number;
|
|
78
|
+
layout: TargetLayerLayout;
|
|
79
|
+
cameraId?: number;
|
|
80
|
+
environmentId?: number;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface CmdResultTargetLayerUpsert {
|
|
84
|
+
success: boolean;
|
|
85
|
+
message: string;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export interface CmdTargetLayerDisposeArgs {
|
|
89
|
+
realmId: number;
|
|
90
|
+
targetId: number;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface CmdResultTargetLayerDispose {
|
|
94
|
+
success: boolean;
|
|
95
|
+
message: string;
|
|
96
|
+
}
|
|
@@ -9,7 +9,6 @@ export interface ForwardAtlasOptions {
|
|
|
9
9
|
|
|
10
10
|
/** Command payload for creating a texture from an uploaded buffer. */
|
|
11
11
|
export interface CmdTextureCreateFromBufferArgs {
|
|
12
|
-
windowId: number;
|
|
13
12
|
textureId: number;
|
|
14
13
|
label?: string;
|
|
15
14
|
bufferId: number;
|
|
@@ -27,7 +26,6 @@ export interface CmdResultTextureCreateFromBuffer {
|
|
|
27
26
|
|
|
28
27
|
/** Command payload for creating a solid color texture. */
|
|
29
28
|
export interface CmdTextureCreateSolidColorArgs {
|
|
30
|
-
windowId: number;
|
|
31
29
|
textureId: number;
|
|
32
30
|
label?: string;
|
|
33
31
|
color: [number, number, number, number];
|
|
@@ -44,7 +42,6 @@ export interface CmdResultTextureCreateSolidColor {
|
|
|
44
42
|
|
|
45
43
|
/** Command payload for disposing a texture. */
|
|
46
44
|
export interface CmdTextureDisposeArgs {
|
|
47
|
-
windowId: number;
|
|
48
45
|
textureId: number;
|
|
49
46
|
}
|
|
50
47
|
|
|
@@ -54,6 +51,19 @@ export interface CmdResultTextureDispose {
|
|
|
54
51
|
message: string;
|
|
55
52
|
}
|
|
56
53
|
|
|
54
|
+
/** Command payload for binding a texture to a target output. */
|
|
55
|
+
export interface CmdTextureBindTargetArgs {
|
|
56
|
+
textureId: number;
|
|
57
|
+
targetId: number;
|
|
58
|
+
label?: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** Result payload for texture-target binding. */
|
|
62
|
+
export interface CmdResultTextureBindTarget {
|
|
63
|
+
success: boolean;
|
|
64
|
+
message: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
57
67
|
/** Command payload for listing textures. */
|
|
58
68
|
export interface CmdTextureListArgs {
|
|
59
69
|
windowId: number;
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { JsonObject, JsonValue } from '../json';
|
|
2
|
+
|
|
3
|
+
export type UiThemeValue = JsonValue;
|
|
4
|
+
export type UiOp = JsonObject;
|
|
5
|
+
export type UiNodeKind = string;
|
|
6
|
+
export type UiNodeProps = JsonObject;
|
|
7
|
+
|
|
8
|
+
export interface CmdUiThemeDefineArgs {
|
|
9
|
+
themeId: number;
|
|
10
|
+
version?: number;
|
|
11
|
+
data?: Record<string, UiThemeValue>;
|
|
12
|
+
fontData?: Record<string, number[]>;
|
|
13
|
+
fontFamilies?: Record<string, string[]>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface CmdResultUiThemeDefine {
|
|
17
|
+
success: boolean;
|
|
18
|
+
message: string;
|
|
19
|
+
themeId?: number;
|
|
20
|
+
version?: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface CmdUiThemeDisposeArgs {
|
|
24
|
+
themeId: number;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface CmdResultUiThemeDispose {
|
|
28
|
+
success: boolean;
|
|
29
|
+
message: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface CmdUiDocumentCreateArgs {
|
|
33
|
+
documentId: number;
|
|
34
|
+
realmId: number;
|
|
35
|
+
rect: [number, number, number, number];
|
|
36
|
+
themeId?: number;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface CmdResultUiDocumentCreate {
|
|
40
|
+
success: boolean;
|
|
41
|
+
message: string;
|
|
42
|
+
documentId?: number;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface CmdUiDocumentDisposeArgs {
|
|
46
|
+
documentId: number;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface CmdResultUiDocumentDispose {
|
|
50
|
+
success: boolean;
|
|
51
|
+
message: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface CmdUiDocumentSetRectArgs {
|
|
55
|
+
documentId: number;
|
|
56
|
+
rect: [number, number, number, number];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface CmdResultUiDocumentSetRect {
|
|
60
|
+
success: boolean;
|
|
61
|
+
message: string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface CmdUiDocumentSetThemeArgs {
|
|
65
|
+
documentId: number;
|
|
66
|
+
themeId?: number;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface CmdResultUiDocumentSetTheme {
|
|
70
|
+
success: boolean;
|
|
71
|
+
message: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface CmdUiDocumentGetTreeArgs {
|
|
75
|
+
documentId: number;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface UiDocumentTreeNode {
|
|
79
|
+
nodeId: number;
|
|
80
|
+
kind: UiNodeKind;
|
|
81
|
+
zIndex: number;
|
|
82
|
+
children: UiDocumentTreeNode[];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export interface CmdResultUiDocumentGetTree {
|
|
86
|
+
success: boolean;
|
|
87
|
+
message: string;
|
|
88
|
+
documentId?: number;
|
|
89
|
+
version?: number;
|
|
90
|
+
rootNodes: UiDocumentTreeNode[];
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface CmdUiDocumentGetLayoutRectsArgs {
|
|
94
|
+
documentId: number;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export interface UiNodeLayoutRect {
|
|
98
|
+
nodeId: number;
|
|
99
|
+
rect: [number, number, number, number];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export interface CmdResultUiDocumentGetLayoutRects {
|
|
103
|
+
success: boolean;
|
|
104
|
+
message: string;
|
|
105
|
+
documentId?: number;
|
|
106
|
+
version?: number;
|
|
107
|
+
rects: UiNodeLayoutRect[];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface CmdUiApplyOpsArgs {
|
|
111
|
+
documentId: number;
|
|
112
|
+
version: number;
|
|
113
|
+
ops: UiOp[];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export interface CmdResultUiApplyOps {
|
|
117
|
+
success: boolean;
|
|
118
|
+
message: string;
|
|
119
|
+
version?: number;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export interface CmdUiDebugSetArgs {
|
|
123
|
+
enabled: boolean;
|
|
124
|
+
showBounds?: boolean;
|
|
125
|
+
showIds?: boolean;
|
|
126
|
+
showProfile?: boolean;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export interface CmdResultUiDebugSet {
|
|
130
|
+
success: boolean;
|
|
131
|
+
message: string;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface CmdUiFocusSetArgs {
|
|
135
|
+
windowId: number;
|
|
136
|
+
realmId: number;
|
|
137
|
+
documentId: number;
|
|
138
|
+
nodeId?: number;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export interface CmdUiFocusGetArgs {
|
|
142
|
+
windowId?: number;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export interface CmdResultUiFocusSet {
|
|
146
|
+
success: boolean;
|
|
147
|
+
message: string;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface UiFocusEntry {
|
|
151
|
+
windowId: number;
|
|
152
|
+
realmId: number;
|
|
153
|
+
documentId: number;
|
|
154
|
+
nodeId: number;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export interface CmdResultUiFocusGet {
|
|
158
|
+
success: boolean;
|
|
159
|
+
message: string;
|
|
160
|
+
entries: UiFocusEntry[];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export type UiCmdPointerTraceLevel = 'off' | 'errors' | 'basic' | 'full';
|
|
164
|
+
|
|
165
|
+
export interface CmdUiEventTraceSetArgs {
|
|
166
|
+
level?: UiCmdPointerTraceLevel;
|
|
167
|
+
samplingPercent?: number;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export interface CmdResultUiEventTraceSet {
|
|
171
|
+
success: boolean;
|
|
172
|
+
message: string;
|
|
173
|
+
level?: UiCmdPointerTraceLevel;
|
|
174
|
+
samplingPercent?: number;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export interface CmdUiImageCreateFromBufferArgs {
|
|
178
|
+
imageId: number;
|
|
179
|
+
bufferId: number;
|
|
180
|
+
label?: string;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export interface CmdResultUiImageCreateFromBuffer {
|
|
184
|
+
success: boolean;
|
|
185
|
+
message: string;
|
|
186
|
+
pending: boolean;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export interface CmdUiImageDisposeArgs {
|
|
190
|
+
imageId: number;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export interface CmdResultUiImageDispose {
|
|
194
|
+
success: boolean;
|
|
195
|
+
message: string;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export interface CmdUiClipboardPasteArgs {
|
|
199
|
+
windowId: number;
|
|
200
|
+
text: string;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export interface CmdUiScreenshotReplyArgs {
|
|
204
|
+
windowId: number;
|
|
205
|
+
realmId?: number;
|
|
206
|
+
width: number;
|
|
207
|
+
height: number;
|
|
208
|
+
rgba: number[];
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export interface CmdUiAccessKitActionRequestArgs {
|
|
212
|
+
windowId: number;
|
|
213
|
+
realmId?: number;
|
|
214
|
+
action: string;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export interface CmdResultUiInputEvent {
|
|
218
|
+
success: boolean;
|
|
219
|
+
message: string;
|
|
220
|
+
}
|