@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
package/src/types/cmds/window.ts
CHANGED
|
@@ -22,6 +22,9 @@ export interface CmdWindowCreateArgs {
|
|
|
22
22
|
export interface CmdResultWindowCreate {
|
|
23
23
|
success: boolean;
|
|
24
24
|
message: string;
|
|
25
|
+
realmId?: number;
|
|
26
|
+
surfaceId?: number;
|
|
27
|
+
presentId?: number;
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
/** Command payload for closing a window. */
|
|
@@ -35,229 +38,63 @@ export interface CmdResultWindowClose {
|
|
|
35
38
|
message: string;
|
|
36
39
|
}
|
|
37
40
|
|
|
38
|
-
/** Command payload for
|
|
39
|
-
export interface
|
|
41
|
+
/** Command payload for changing and/or querying window measurements. */
|
|
42
|
+
export interface CmdWindowMeasurementArgs {
|
|
40
43
|
windowId: number;
|
|
41
|
-
|
|
44
|
+
position?: [number, number];
|
|
45
|
+
size?: [number, number];
|
|
46
|
+
getPosition?: boolean;
|
|
47
|
+
getSize?: boolean;
|
|
48
|
+
getOuterSize?: boolean;
|
|
49
|
+
getSurfaceSize?: boolean;
|
|
42
50
|
}
|
|
43
51
|
|
|
44
|
-
/** Result payload for window
|
|
45
|
-
export interface
|
|
52
|
+
/** Result payload for window measurement command. */
|
|
53
|
+
export interface CmdResultWindowMeasurement {
|
|
46
54
|
success: boolean;
|
|
47
55
|
message: string;
|
|
56
|
+
position?: [number, number];
|
|
57
|
+
size?: [number, number];
|
|
58
|
+
outerSize?: [number, number];
|
|
59
|
+
surfaceSize?: [number, number];
|
|
48
60
|
}
|
|
49
61
|
|
|
50
|
-
/** Command payload for
|
|
51
|
-
export interface
|
|
62
|
+
/** Command payload for cursor updates. */
|
|
63
|
+
export interface CmdWindowCursorArgs {
|
|
52
64
|
windowId: number;
|
|
53
|
-
|
|
65
|
+
visible?: boolean;
|
|
66
|
+
mode?: CursorGrabMode;
|
|
67
|
+
icon?: CursorIcon;
|
|
54
68
|
}
|
|
55
69
|
|
|
56
|
-
/** Result payload for
|
|
57
|
-
export interface
|
|
70
|
+
/** Result payload for cursor command. */
|
|
71
|
+
export interface CmdResultWindowCursor {
|
|
58
72
|
success: boolean;
|
|
59
73
|
message: string;
|
|
60
74
|
}
|
|
61
75
|
|
|
62
|
-
|
|
63
|
-
export interface CmdWindowGetPositionArgs {
|
|
64
|
-
windowId: number;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/** Result payload for window position query. */
|
|
68
|
-
export interface CmdResultWindowGetPosition {
|
|
69
|
-
success: boolean;
|
|
70
|
-
message: string;
|
|
71
|
-
content: [number, number];
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/** Command payload for setting window size. */
|
|
75
|
-
export interface CmdWindowSetSizeArgs {
|
|
76
|
-
windowId: number;
|
|
77
|
-
size: [number, number];
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/** Result payload for window size update. */
|
|
81
|
-
export interface CmdResultWindowSetSize {
|
|
82
|
-
success: boolean;
|
|
83
|
-
message: string;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/** Command payload for querying window size. */
|
|
87
|
-
export interface CmdWindowGetSizeArgs {
|
|
88
|
-
windowId: number;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/** Result payload for window size query. */
|
|
92
|
-
export interface CmdResultWindowGetSize {
|
|
93
|
-
success: boolean;
|
|
94
|
-
message: string;
|
|
95
|
-
content: [number, number];
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/** Command payload for querying outer window size. */
|
|
99
|
-
export interface CmdWindowGetOuterSizeArgs {
|
|
100
|
-
windowId: number;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/** Result payload for outer window size query. */
|
|
104
|
-
export interface CmdResultWindowGetOuterSize {
|
|
105
|
-
success: boolean;
|
|
106
|
-
message: string;
|
|
107
|
-
content: [number, number];
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/** Command payload for querying surface size. */
|
|
111
|
-
export interface CmdWindowGetSurfaceSizeArgs {
|
|
112
|
-
windowId: number;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/** Result payload for surface size query. */
|
|
116
|
-
export interface CmdResultWindowGetSurfaceSize {
|
|
117
|
-
success: boolean;
|
|
118
|
-
message: string;
|
|
119
|
-
content: [number, number];
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/** Command payload for setting window state. */
|
|
123
|
-
export interface CmdWindowSetStateArgs {
|
|
124
|
-
windowId: number;
|
|
125
|
-
state: WindowState;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/** Result payload for window state update. */
|
|
129
|
-
export interface CmdResultWindowSetState {
|
|
130
|
-
success: boolean;
|
|
131
|
-
message: string;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/** Command payload for querying window state. */
|
|
135
|
-
export interface CmdWindowGetStateArgs {
|
|
136
|
-
windowId: number;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/** Result payload for window state query. */
|
|
140
|
-
export interface CmdResultWindowGetState {
|
|
141
|
-
success: boolean;
|
|
142
|
-
message: string;
|
|
143
|
-
content: WindowState;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/** Command payload for setting window icon. */
|
|
147
|
-
export interface CmdWindowSetIconArgs {
|
|
148
|
-
windowId: number;
|
|
149
|
-
bufferId: number; // Buffer ID pointing to an image
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/** Result payload for window icon update. */
|
|
153
|
-
export interface CmdResultWindowSetIcon {
|
|
154
|
-
success: boolean;
|
|
155
|
-
message: string;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/** Command payload for toggling window decorations. */
|
|
159
|
-
export interface CmdWindowSetDecorationsArgs {
|
|
160
|
-
windowId: number;
|
|
161
|
-
decorations: boolean;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/** Result payload for window decoration update. */
|
|
165
|
-
export interface CmdResultWindowSetDecorations {
|
|
166
|
-
success: boolean;
|
|
167
|
-
message: string;
|
|
168
|
-
}
|
|
76
|
+
export type WindowStateAction = 'focus' | 'request-attention';
|
|
169
77
|
|
|
170
|
-
/** Command payload for
|
|
171
|
-
export interface
|
|
172
|
-
windowId: number;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/** Result payload for window decoration query. */
|
|
176
|
-
export interface CmdResultWindowHasDecorations {
|
|
177
|
-
success: boolean;
|
|
178
|
-
message: string;
|
|
179
|
-
content: boolean;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/** Command payload for toggling window resizable state. */
|
|
183
|
-
export interface CmdWindowSetResizableArgs {
|
|
184
|
-
windowId: number;
|
|
185
|
-
resizable: boolean;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/** Result payload for window resizable update. */
|
|
189
|
-
export interface CmdResultWindowSetResizable {
|
|
190
|
-
success: boolean;
|
|
191
|
-
message: string;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/** Command payload for querying resizable state. */
|
|
195
|
-
export interface CmdWindowIsResizableArgs {
|
|
196
|
-
windowId: number;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/** Result payload for resizable query. */
|
|
200
|
-
export interface CmdResultWindowIsResizable {
|
|
201
|
-
success: boolean;
|
|
202
|
-
message: string;
|
|
203
|
-
content: boolean;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/** Command payload for requesting user attention. */
|
|
207
|
-
export interface CmdWindowRequestAttentionArgs {
|
|
78
|
+
/** Command payload for state updates/queries. */
|
|
79
|
+
export interface CmdWindowStateArgs {
|
|
208
80
|
windowId: number;
|
|
81
|
+
title?: string;
|
|
82
|
+
state?: WindowState;
|
|
83
|
+
iconBufferId?: number;
|
|
84
|
+
decorations?: boolean;
|
|
85
|
+
resizable?: boolean;
|
|
86
|
+
action?: WindowStateAction;
|
|
209
87
|
attentionType?: UserAttentionType;
|
|
88
|
+
getState?: boolean;
|
|
89
|
+
getDecorations?: boolean;
|
|
90
|
+
getResizable?: boolean;
|
|
210
91
|
}
|
|
211
92
|
|
|
212
|
-
/** Result payload for
|
|
213
|
-
export interface
|
|
214
|
-
success: boolean;
|
|
215
|
-
message: string;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/** Command payload for focusing a window. */
|
|
219
|
-
export interface CmdWindowFocusArgs {
|
|
220
|
-
windowId: number;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/** Result payload for window focus. */
|
|
224
|
-
export interface CmdResultWindowFocus {
|
|
225
|
-
success: boolean;
|
|
226
|
-
message: string;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
/** Command payload for toggling cursor visibility. */
|
|
230
|
-
export interface CmdWindowSetCursorVisibleArgs {
|
|
231
|
-
windowId: number;
|
|
232
|
-
visible: boolean;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
/** Result payload for cursor visibility update. */
|
|
236
|
-
export interface CmdResultWindowSetCursorVisible {
|
|
237
|
-
success: boolean;
|
|
238
|
-
message: string;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/** Command payload for setting cursor grab mode. */
|
|
242
|
-
export interface CmdWindowSetCursorGrabArgs {
|
|
243
|
-
windowId: number;
|
|
244
|
-
mode: CursorGrabMode;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
/** Result payload for cursor grab update. */
|
|
248
|
-
export interface CmdResultWindowSetCursorGrab {
|
|
249
|
-
success: boolean;
|
|
250
|
-
message: string;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/** Command payload for setting cursor icon. */
|
|
254
|
-
export interface CmdWindowSetCursorIconArgs {
|
|
255
|
-
windowId: number;
|
|
256
|
-
icon: CursorIcon;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
/** Result payload for cursor icon update. */
|
|
260
|
-
export interface CmdResultWindowSetCursorIcon {
|
|
93
|
+
/** Result payload for state command. */
|
|
94
|
+
export interface CmdResultWindowState {
|
|
261
95
|
success: boolean;
|
|
262
96
|
message: string;
|
|
97
|
+
state?: WindowState;
|
|
98
|
+
decorations?: boolean;
|
|
99
|
+
resizable?: boolean;
|
|
263
100
|
}
|
|
@@ -3,12 +3,14 @@ import type { PointerEvent } from './pointer';
|
|
|
3
3
|
import type { KeyboardEvent } from './keyboard';
|
|
4
4
|
import type { GamepadEvent } from './gamepad';
|
|
5
5
|
import type { SystemEvent } from './system';
|
|
6
|
+
import type { UiEvent } from './ui';
|
|
6
7
|
|
|
7
8
|
export * from './window';
|
|
8
9
|
export * from './pointer';
|
|
9
10
|
export * from './keyboard';
|
|
10
11
|
export * from './gamepad';
|
|
11
12
|
export * from './system';
|
|
13
|
+
export * from './ui';
|
|
12
14
|
|
|
13
15
|
/** Discriminated union of all engine events. */
|
|
14
16
|
export type EngineEvent =
|
|
@@ -16,4 +18,5 @@ export type EngineEvent =
|
|
|
16
18
|
| { type: 'pointer'; content: PointerEvent }
|
|
17
19
|
| { type: 'keyboard'; content: KeyboardEvent }
|
|
18
20
|
| { type: 'gamepad'; content: GamepadEvent }
|
|
19
|
-
| { type: 'system'; content: SystemEvent }
|
|
21
|
+
| { type: 'system'; content: SystemEvent }
|
|
22
|
+
| { type: 'ui'; content: UiEvent };
|
|
@@ -1,85 +1,158 @@
|
|
|
1
1
|
import type { ElementState, TouchPhase } from '../kinds';
|
|
2
2
|
|
|
3
|
-
/** Scroll delta reported in line or pixel units. */
|
|
4
3
|
export type ScrollDelta =
|
|
5
4
|
| { type: 'line'; value: [number, number] }
|
|
6
5
|
| { type: 'pixel'; value: [number, number] };
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
export type PointerTraceStage =
|
|
8
|
+
| 'root-window'
|
|
9
|
+
| 'capture'
|
|
10
|
+
| 'focus-fallback'
|
|
11
|
+
| 'connector-hit'
|
|
12
|
+
| 'realm-plane-hit'
|
|
13
|
+
| 'hop-forward'
|
|
14
|
+
| 'stop-no-hit'
|
|
15
|
+
| 'stop-cycle'
|
|
16
|
+
| 'stop-step-budget';
|
|
17
|
+
|
|
18
|
+
export interface PointerTraceHop {
|
|
19
|
+
stage: PointerTraceStage;
|
|
20
|
+
realmId?: number;
|
|
21
|
+
targetId?: number;
|
|
22
|
+
layerRealmId?: number;
|
|
23
|
+
connectorId?: number;
|
|
24
|
+
surfaceId?: number;
|
|
25
|
+
cameraId?: number;
|
|
26
|
+
uv?: [number, number];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface PointerEventTrace {
|
|
30
|
+
windowId: number;
|
|
31
|
+
realmId: number;
|
|
32
|
+
targetId?: number;
|
|
33
|
+
connectorId?: number;
|
|
34
|
+
sourceRealmId?: number;
|
|
35
|
+
uv?: [number, number];
|
|
36
|
+
hops: PointerTraceHop[];
|
|
37
|
+
}
|
|
38
|
+
|
|
9
39
|
export interface PointerEventOnMoveData {
|
|
10
40
|
windowId: number;
|
|
41
|
+
windowWidth?: number;
|
|
42
|
+
windowHeight?: number;
|
|
11
43
|
pointerType: number;
|
|
12
44
|
pointerId: number;
|
|
13
45
|
position: [number, number];
|
|
46
|
+
positionTarget?: [number, number];
|
|
47
|
+
targetWidth?: number;
|
|
48
|
+
targetHeight?: number;
|
|
49
|
+
trace?: PointerEventTrace;
|
|
14
50
|
}
|
|
15
51
|
|
|
16
|
-
/** Payload for pointer enter event. */
|
|
17
52
|
export interface PointerEventOnEnterData {
|
|
18
53
|
windowId: number;
|
|
54
|
+
windowWidth?: number;
|
|
55
|
+
windowHeight?: number;
|
|
19
56
|
pointerType: number;
|
|
20
57
|
pointerId: number;
|
|
58
|
+
targetWidth?: number;
|
|
59
|
+
targetHeight?: number;
|
|
60
|
+
trace?: PointerEventTrace;
|
|
21
61
|
}
|
|
22
62
|
|
|
23
|
-
/** Payload for pointer leave event. */
|
|
24
63
|
export interface PointerEventOnLeaveData {
|
|
25
64
|
windowId: number;
|
|
65
|
+
windowWidth?: number;
|
|
66
|
+
windowHeight?: number;
|
|
26
67
|
pointerType: number;
|
|
27
68
|
pointerId: number;
|
|
69
|
+
targetWidth?: number;
|
|
70
|
+
targetHeight?: number;
|
|
71
|
+
trace?: PointerEventTrace;
|
|
28
72
|
}
|
|
29
73
|
|
|
30
|
-
/** Payload for pointer button event. */
|
|
31
74
|
export interface PointerEventOnButtonData {
|
|
32
75
|
windowId: number;
|
|
76
|
+
windowWidth?: number;
|
|
77
|
+
windowHeight?: number;
|
|
33
78
|
pointerType: number;
|
|
34
79
|
pointerId: number;
|
|
35
80
|
button: MouseButton;
|
|
36
81
|
state: ElementState;
|
|
37
82
|
position: [number, number];
|
|
83
|
+
positionTarget?: [number, number];
|
|
84
|
+
targetWidth?: number;
|
|
85
|
+
targetHeight?: number;
|
|
86
|
+
trace?: PointerEventTrace;
|
|
38
87
|
}
|
|
39
88
|
|
|
40
|
-
/** Payload for pointer scroll event. */
|
|
41
89
|
export interface PointerEventOnScrollData {
|
|
42
90
|
windowId: number;
|
|
91
|
+
windowWidth?: number;
|
|
92
|
+
windowHeight?: number;
|
|
43
93
|
delta: ScrollDelta;
|
|
44
94
|
phase: TouchPhase;
|
|
95
|
+
targetWidth?: number;
|
|
96
|
+
targetHeight?: number;
|
|
97
|
+
trace?: PointerEventTrace;
|
|
45
98
|
}
|
|
46
99
|
|
|
47
|
-
/** Payload for touch event. */
|
|
48
100
|
export interface PointerEventOnTouchData {
|
|
49
101
|
windowId: number;
|
|
102
|
+
windowWidth?: number;
|
|
103
|
+
windowHeight?: number;
|
|
50
104
|
pointerId: number;
|
|
51
105
|
phase: TouchPhase;
|
|
52
106
|
position: [number, number];
|
|
107
|
+
positionTarget?: [number, number];
|
|
108
|
+
targetWidth?: number;
|
|
109
|
+
targetHeight?: number;
|
|
53
110
|
pressure?: number;
|
|
111
|
+
trace?: PointerEventTrace;
|
|
54
112
|
}
|
|
55
113
|
|
|
56
|
-
/** Payload for pinch gesture event. */
|
|
57
114
|
export interface PointerEventOnPinchGestureData {
|
|
58
115
|
windowId: number;
|
|
116
|
+
windowWidth?: number;
|
|
117
|
+
windowHeight?: number;
|
|
59
118
|
delta: number;
|
|
60
119
|
phase: TouchPhase;
|
|
120
|
+
targetWidth?: number;
|
|
121
|
+
targetHeight?: number;
|
|
122
|
+
trace?: PointerEventTrace;
|
|
61
123
|
}
|
|
62
124
|
|
|
63
|
-
/** Payload for pan gesture event. */
|
|
64
125
|
export interface PointerEventOnPanGestureData {
|
|
65
126
|
windowId: number;
|
|
127
|
+
windowWidth?: number;
|
|
128
|
+
windowHeight?: number;
|
|
66
129
|
delta: [number, number];
|
|
67
130
|
phase: TouchPhase;
|
|
131
|
+
targetWidth?: number;
|
|
132
|
+
targetHeight?: number;
|
|
133
|
+
trace?: PointerEventTrace;
|
|
68
134
|
}
|
|
69
135
|
|
|
70
|
-
/** Payload for rotation gesture event. */
|
|
71
136
|
export interface PointerEventOnRotationGestureData {
|
|
72
137
|
windowId: number;
|
|
138
|
+
windowWidth?: number;
|
|
139
|
+
windowHeight?: number;
|
|
73
140
|
delta: number;
|
|
74
141
|
phase: TouchPhase;
|
|
142
|
+
targetWidth?: number;
|
|
143
|
+
targetHeight?: number;
|
|
144
|
+
trace?: PointerEventTrace;
|
|
75
145
|
}
|
|
76
146
|
|
|
77
|
-
/** Payload for double tap gesture event. */
|
|
78
147
|
export interface PointerEventOnDoubleTapGestureData {
|
|
79
148
|
windowId: number;
|
|
149
|
+
windowWidth?: number;
|
|
150
|
+
windowHeight?: number;
|
|
151
|
+
targetWidth?: number;
|
|
152
|
+
targetHeight?: number;
|
|
153
|
+
trace?: PointerEventTrace;
|
|
80
154
|
}
|
|
81
155
|
|
|
82
|
-
/** Discriminated union of pointer events. */
|
|
83
156
|
export type PointerEvent =
|
|
84
157
|
| { event: 'on-move'; data: PointerEventOnMoveData }
|
|
85
158
|
| { event: 'on-enter'; data: PointerEventOnEnterData }
|
|
@@ -95,7 +168,6 @@ export type PointerEvent =
|
|
|
95
168
|
data: PointerEventOnDoubleTapGestureData;
|
|
96
169
|
};
|
|
97
170
|
|
|
98
|
-
/** Mouse button identifiers. */
|
|
99
171
|
export enum MouseButton {
|
|
100
172
|
Left = 0,
|
|
101
173
|
Right = 1,
|