@vulfram/engine 0.5.8-alpha → 0.17.1-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 +55 -4
- package/src/core.ts +14 -0
- package/src/ecs.ts +1 -0
- package/src/engine/api.ts +234 -23
- package/src/engine/bridge/dispatch.ts +265 -40
- package/src/engine/bridge/guards.ts +4 -1
- package/src/engine/bridge/protocol.ts +72 -54
- package/src/engine/ecs/index.ts +187 -42
- package/src/engine/state.ts +133 -2
- package/src/engine/systems/command-intent.ts +153 -3
- package/src/engine/systems/constraint-solve.ts +167 -0
- package/src/engine/systems/core-command-builder.ts +9 -265
- package/src/engine/systems/diagnostics.ts +20 -19
- package/src/engine/systems/index.ts +3 -1
- package/src/engine/systems/input-mirror.ts +101 -3
- package/src/engine/systems/resource-upload.ts +96 -44
- package/src/engine/systems/response-decode.ts +69 -15
- package/src/engine/systems/scene-sync.ts +306 -0
- package/src/engine/systems/ui-bridge.ts +360 -0
- package/src/engine/systems/utils.ts +43 -1
- package/src/engine/systems/world-lifecycle.ts +72 -103
- package/src/engine/window/manager.ts +168 -0
- package/src/engine/world/entities.ts +931 -33
- package/src/engine/world/mount.ts +174 -0
- package/src/engine/world/types.ts +71 -0
- package/src/engine/world/world-ui.ts +266 -0
- package/src/engine/world/world3d.ts +280 -0
- package/src/index.ts +30 -1
- package/src/mount.ts +2 -0
- package/src/types/cmds/audio.ts +189 -0
- package/src/types/cmds/camera.ts +18 -13
- package/src/types/cmds/environment.ts +47 -4
- package/src/types/cmds/geometry.ts +18 -16
- package/src/types/cmds/index.ts +203 -132
- package/src/types/cmds/light.ts +17 -13
- package/src/types/cmds/material.ts +14 -13
- package/src/types/cmds/model.ts +40 -16
- package/src/types/cmds/realm.ts +25 -0
- package/src/types/cmds/render-graph.ts +49 -0
- package/src/types/cmds/resources.ts +4 -0
- package/src/types/cmds/shadow.ts +7 -7
- package/src/types/cmds/system.ts +29 -0
- package/src/types/cmds/target.ts +82 -0
- package/src/types/cmds/texture.ts +19 -5
- 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/pointer.ts +42 -13
- package/src/types/events/system.ts +150 -7
- package/src/types/events/ui.ts +21 -0
- package/src/types/index.ts +1 -0
- package/src/types/json.ts +15 -0
- package/src/types/kinds.ts +3 -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
package/src/types/cmds/model.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { ResourceEntry } from './resources';
|
|
2
|
+
|
|
1
3
|
/** Command payload for creating a model. */
|
|
2
4
|
export interface CmdModelCreateArgs {
|
|
3
|
-
|
|
4
|
-
modelId: number
|
|
5
|
+
realmId: number;
|
|
6
|
+
modelId: number;
|
|
5
7
|
label?: string;
|
|
6
8
|
geometryId: number;
|
|
7
9
|
materialId?: number;
|
|
@@ -9,18 +11,14 @@ export interface CmdModelCreateArgs {
|
|
|
9
11
|
layerMask: number;
|
|
10
12
|
castShadow: boolean;
|
|
11
13
|
receiveShadow: boolean;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/** Result payload for model create. */
|
|
15
|
-
export interface CmdResultModelCreate {
|
|
16
|
-
success: boolean;
|
|
17
|
-
message: string;
|
|
14
|
+
castOutline: boolean;
|
|
15
|
+
outlineColor: [number, number, number, number];
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
/** Command payload for updating a model. */
|
|
21
19
|
export interface CmdModelUpdateArgs {
|
|
22
|
-
|
|
23
|
-
modelId: number
|
|
20
|
+
realmId: number;
|
|
21
|
+
modelId: number;
|
|
24
22
|
label?: string;
|
|
25
23
|
geometryId?: number;
|
|
26
24
|
materialId?: number;
|
|
@@ -28,18 +26,42 @@ export interface CmdModelUpdateArgs {
|
|
|
28
26
|
layerMask?: number;
|
|
29
27
|
castShadow?: boolean;
|
|
30
28
|
receiveShadow?: boolean;
|
|
29
|
+
castOutline?: boolean;
|
|
30
|
+
outlineColor?: [number, number, number, number];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Result payload for model upsert. */
|
|
34
|
+
export interface CmdResultModelUpsert {
|
|
35
|
+
success: boolean;
|
|
36
|
+
message: string;
|
|
31
37
|
}
|
|
32
38
|
|
|
33
|
-
/**
|
|
34
|
-
export
|
|
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
|
+
|
|
46
|
+
/** Command payload for updating a model pose (skinning). */
|
|
47
|
+
export interface CmdPoseUpdateArgs {
|
|
48
|
+
realmId: number;
|
|
49
|
+
modelId: number;
|
|
50
|
+
boneCount: number;
|
|
51
|
+
matricesBufferId: number;
|
|
52
|
+
windowId?: number;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Result payload for pose update. */
|
|
56
|
+
export interface CmdResultPoseUpdate {
|
|
35
57
|
success: boolean;
|
|
36
58
|
message: string;
|
|
37
59
|
}
|
|
38
60
|
|
|
39
61
|
/** Command payload for disposing a model. */
|
|
40
62
|
export interface CmdModelDisposeArgs {
|
|
41
|
-
|
|
42
|
-
modelId: number
|
|
63
|
+
realmId: number;
|
|
64
|
+
modelId: number;
|
|
43
65
|
}
|
|
44
66
|
|
|
45
67
|
/** Result payload for model dispose. */
|
|
@@ -49,11 +71,13 @@ export interface CmdResultModelDispose {
|
|
|
49
71
|
}
|
|
50
72
|
|
|
51
73
|
/** Command payload for listing models. */
|
|
52
|
-
export interface CmdModelListArgs {
|
|
74
|
+
export interface CmdModelListArgs {
|
|
75
|
+
windowId: number;
|
|
76
|
+
}
|
|
53
77
|
|
|
54
78
|
/** Result payload for model list. */
|
|
55
79
|
export interface CmdResultModelList {
|
|
56
80
|
success: boolean;
|
|
57
81
|
message: string;
|
|
58
|
-
|
|
82
|
+
models: ResourceEntry[];
|
|
59
83
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type RealmKind = 'three-d' | 'two-d';
|
|
2
|
+
|
|
3
|
+
export interface CmdRealmCreateArgs {
|
|
4
|
+
kind: RealmKind;
|
|
5
|
+
outputSurfaceId?: number;
|
|
6
|
+
hostWindowId?: number;
|
|
7
|
+
importance?: number;
|
|
8
|
+
cachePolicy?: number;
|
|
9
|
+
flags?: number;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface CmdResultRealmCreate {
|
|
13
|
+
success: boolean;
|
|
14
|
+
message: string;
|
|
15
|
+
realmId?: number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface CmdRealmDisposeArgs {
|
|
19
|
+
realmId: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface CmdResultRealmDispose {
|
|
23
|
+
success: boolean;
|
|
24
|
+
message: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type LogicalId = string | number;
|
|
2
|
+
|
|
3
|
+
export type RenderGraphResourceKind = 'texture' | 'buffer' | 'attachment';
|
|
4
|
+
|
|
5
|
+
export type RenderGraphLifetime = 'frame' | 'persistent';
|
|
6
|
+
|
|
7
|
+
export type RenderGraphEdgeReason = 'read-after-write' | 'write-after-read';
|
|
8
|
+
|
|
9
|
+
export type RenderGraphValue = boolean | number | string;
|
|
10
|
+
|
|
11
|
+
export interface RenderGraphResource {
|
|
12
|
+
resId: LogicalId;
|
|
13
|
+
kind?: RenderGraphResourceKind;
|
|
14
|
+
lifetime?: RenderGraphLifetime;
|
|
15
|
+
aliasGroup?: LogicalId | null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface RenderGraphNode {
|
|
19
|
+
nodeId: LogicalId;
|
|
20
|
+
passId: string;
|
|
21
|
+
inputs?: LogicalId[];
|
|
22
|
+
outputs?: LogicalId[];
|
|
23
|
+
params?: Record<string, RenderGraphValue>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface RenderGraphEdge {
|
|
27
|
+
fromNodeId: LogicalId;
|
|
28
|
+
toNodeId: LogicalId;
|
|
29
|
+
reason?: RenderGraphEdgeReason;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface RenderGraphDesc {
|
|
33
|
+
graphId: LogicalId;
|
|
34
|
+
nodes: RenderGraphNode[];
|
|
35
|
+
edges: RenderGraphEdge[];
|
|
36
|
+
resources?: RenderGraphResource[];
|
|
37
|
+
fallback?: boolean;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface CmdRenderGraphSetArgs {
|
|
41
|
+
windowId: number;
|
|
42
|
+
graph: RenderGraphDesc;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface CmdResultRenderGraphSet {
|
|
46
|
+
success: boolean;
|
|
47
|
+
fallbackUsed: boolean;
|
|
48
|
+
message: string;
|
|
49
|
+
}
|
package/src/types/cmds/shadow.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/** Shadow rendering configuration. */
|
|
2
2
|
export interface ShadowConfig {
|
|
3
|
-
tileResolution
|
|
4
|
-
atlasTilesW
|
|
5
|
-
atlasTilesH
|
|
6
|
-
atlasLayers
|
|
7
|
-
virtualGridSize
|
|
8
|
-
smoothing
|
|
9
|
-
normalBias
|
|
3
|
+
tileResolution?: number;
|
|
4
|
+
atlasTilesW?: number;
|
|
5
|
+
atlasTilesH?: number;
|
|
6
|
+
atlasLayers?: number;
|
|
7
|
+
virtualGridSize?: number;
|
|
8
|
+
smoothing?: number;
|
|
9
|
+
normalBias?: number;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
/** Command payload for shadow configuration. */
|
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;
|
|
@@ -13,3 +16,29 @@ export interface CmdNotificationSendArgs {
|
|
|
13
16
|
export interface CmdResultNotificationSend {
|
|
14
17
|
success: boolean;
|
|
15
18
|
}
|
|
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 discarding all pending upload buffers. */
|
|
37
|
+
export interface CmdUploadBufferDiscardAllArgs {}
|
|
38
|
+
|
|
39
|
+
/** Result payload for upload discard all. */
|
|
40
|
+
export interface CmdResultUploadBufferDiscardAll {
|
|
41
|
+
success: boolean;
|
|
42
|
+
discardedCount: number;
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
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 CmdTargetDisposeArgs {
|
|
53
|
+
targetId: number;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface CmdResultTargetDispose {
|
|
57
|
+
success: boolean;
|
|
58
|
+
message: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface CmdTargetLayerUpsertArgs {
|
|
62
|
+
realmId: number;
|
|
63
|
+
targetId: number;
|
|
64
|
+
layout: TargetLayerLayout;
|
|
65
|
+
cameraId?: number;
|
|
66
|
+
environmentId?: number;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface CmdResultTargetLayerUpsert {
|
|
70
|
+
success: boolean;
|
|
71
|
+
message: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface CmdTargetLayerDisposeArgs {
|
|
75
|
+
realmId: number;
|
|
76
|
+
targetId: number;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface CmdResultTargetLayerDispose {
|
|
80
|
+
success: boolean;
|
|
81
|
+
message: string;
|
|
82
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TextureCreateMode } from '../kinds';
|
|
2
|
+
import type { ResourceEntry } from './resources';
|
|
2
3
|
|
|
3
4
|
/** Options for forward atlas texture packing. */
|
|
4
5
|
export interface ForwardAtlasOptions {
|
|
@@ -8,7 +9,6 @@ export interface ForwardAtlasOptions {
|
|
|
8
9
|
|
|
9
10
|
/** Command payload for creating a texture from an uploaded buffer. */
|
|
10
11
|
export interface CmdTextureCreateFromBufferArgs {
|
|
11
|
-
windowId: number;
|
|
12
12
|
textureId: number;
|
|
13
13
|
label?: string;
|
|
14
14
|
bufferId: number;
|
|
@@ -21,11 +21,11 @@ export interface CmdTextureCreateFromBufferArgs {
|
|
|
21
21
|
export interface CmdResultTextureCreateFromBuffer {
|
|
22
22
|
success: boolean;
|
|
23
23
|
message: string;
|
|
24
|
+
pending: boolean;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
/** Command payload for creating a solid color texture. */
|
|
27
28
|
export interface CmdTextureCreateSolidColorArgs {
|
|
28
|
-
windowId: number;
|
|
29
29
|
textureId: number;
|
|
30
30
|
label?: string;
|
|
31
31
|
color: [number, number, number, number];
|
|
@@ -42,7 +42,6 @@ export interface CmdResultTextureCreateSolidColor {
|
|
|
42
42
|
|
|
43
43
|
/** Command payload for disposing a texture. */
|
|
44
44
|
export interface CmdTextureDisposeArgs {
|
|
45
|
-
windowId: number;
|
|
46
45
|
textureId: number;
|
|
47
46
|
}
|
|
48
47
|
|
|
@@ -52,12 +51,27 @@ export interface CmdResultTextureDispose {
|
|
|
52
51
|
message: string;
|
|
53
52
|
}
|
|
54
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
|
+
|
|
55
67
|
/** Command payload for listing textures. */
|
|
56
|
-
export interface CmdTextureListArgs {
|
|
68
|
+
export interface CmdTextureListArgs {
|
|
69
|
+
windowId: number;
|
|
70
|
+
}
|
|
57
71
|
|
|
58
72
|
/** Result payload for texture list. */
|
|
59
73
|
export interface CmdResultTextureList {
|
|
60
74
|
success: boolean;
|
|
61
75
|
message: string;
|
|
62
|
-
|
|
76
|
+
textures: ResourceEntry[];
|
|
63
77
|
}
|
|
@@ -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
|
+
}
|