@vulfram/engine 0.17.1-alpha → 0.19.3-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 +3 -3
- package/package.json +10 -5
- package/src/engine/api.ts +12 -25
- package/src/engine/bridge/dispatch.ts +3 -8
- package/src/engine/ecs/components.ts +340 -0
- package/src/engine/ecs/index.ts +3 -661
- 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 +3 -3
- package/src/engine/systems/command-intent.ts +11 -16
- package/src/engine/systems/diagnostics.ts +3 -13
- package/src/engine/systems/input-mirror.ts +156 -18
- package/src/engine/systems/resource-upload.ts +12 -14
- package/src/engine/systems/response-decode.ts +17 -0
- package/src/engine/systems/scene-sync.ts +12 -13
- package/src/engine/systems/ui-bridge.ts +31 -10
- package/src/engine/systems/utils.ts +46 -3
- package/src/engine/systems/world-lifecycle.ts +9 -15
- package/src/engine/world/entities.ts +201 -37
- package/src/engine/world/mount.ts +27 -6
- package/src/engine/world/world-ui.ts +77 -30
- package/src/engine/world/world3d.ts +282 -33
- package/src/helpers/collision.ts +487 -0
- package/src/helpers/index.ts +2 -0
- package/src/helpers/raycast.ts +442 -0
- package/src/types/cmds/geometry.ts +2 -2
- package/src/types/cmds/index.ts +42 -0
- package/src/types/cmds/input.ts +39 -0
- package/src/types/cmds/material.ts +10 -10
- package/src/types/cmds/realm.ts +0 -2
- package/src/types/cmds/system.ts +10 -0
- package/src/types/cmds/target.ts +14 -0
- package/src/types/events/keyboard.ts +2 -2
- package/src/types/events/pointer.ts +43 -0
- package/src/types/events/system.ts +44 -0
|
@@ -38,75 +38,118 @@ export interface PointerEventTrace {
|
|
|
38
38
|
|
|
39
39
|
export interface PointerEventOnMoveData {
|
|
40
40
|
windowId: number;
|
|
41
|
+
windowWidth?: number;
|
|
42
|
+
windowHeight?: number;
|
|
41
43
|
pointerType: number;
|
|
42
44
|
pointerId: number;
|
|
43
45
|
position: [number, number];
|
|
46
|
+
positionTarget?: [number, number];
|
|
47
|
+
targetWidth?: number;
|
|
48
|
+
targetHeight?: number;
|
|
44
49
|
trace?: PointerEventTrace;
|
|
45
50
|
}
|
|
46
51
|
|
|
47
52
|
export interface PointerEventOnEnterData {
|
|
48
53
|
windowId: number;
|
|
54
|
+
windowWidth?: number;
|
|
55
|
+
windowHeight?: number;
|
|
49
56
|
pointerType: number;
|
|
50
57
|
pointerId: number;
|
|
58
|
+
targetWidth?: number;
|
|
59
|
+
targetHeight?: number;
|
|
51
60
|
trace?: PointerEventTrace;
|
|
52
61
|
}
|
|
53
62
|
|
|
54
63
|
export interface PointerEventOnLeaveData {
|
|
55
64
|
windowId: number;
|
|
65
|
+
windowWidth?: number;
|
|
66
|
+
windowHeight?: number;
|
|
56
67
|
pointerType: number;
|
|
57
68
|
pointerId: number;
|
|
69
|
+
targetWidth?: number;
|
|
70
|
+
targetHeight?: number;
|
|
58
71
|
trace?: PointerEventTrace;
|
|
59
72
|
}
|
|
60
73
|
|
|
61
74
|
export interface PointerEventOnButtonData {
|
|
62
75
|
windowId: number;
|
|
76
|
+
windowWidth?: number;
|
|
77
|
+
windowHeight?: number;
|
|
63
78
|
pointerType: number;
|
|
64
79
|
pointerId: number;
|
|
65
80
|
button: MouseButton;
|
|
66
81
|
state: ElementState;
|
|
67
82
|
position: [number, number];
|
|
83
|
+
positionTarget?: [number, number];
|
|
84
|
+
targetWidth?: number;
|
|
85
|
+
targetHeight?: number;
|
|
68
86
|
trace?: PointerEventTrace;
|
|
69
87
|
}
|
|
70
88
|
|
|
71
89
|
export interface PointerEventOnScrollData {
|
|
72
90
|
windowId: number;
|
|
91
|
+
windowWidth?: number;
|
|
92
|
+
windowHeight?: number;
|
|
73
93
|
delta: ScrollDelta;
|
|
74
94
|
phase: TouchPhase;
|
|
95
|
+
targetWidth?: number;
|
|
96
|
+
targetHeight?: number;
|
|
75
97
|
trace?: PointerEventTrace;
|
|
76
98
|
}
|
|
77
99
|
|
|
78
100
|
export interface PointerEventOnTouchData {
|
|
79
101
|
windowId: number;
|
|
102
|
+
windowWidth?: number;
|
|
103
|
+
windowHeight?: number;
|
|
80
104
|
pointerId: number;
|
|
81
105
|
phase: TouchPhase;
|
|
82
106
|
position: [number, number];
|
|
107
|
+
positionTarget?: [number, number];
|
|
108
|
+
targetWidth?: number;
|
|
109
|
+
targetHeight?: number;
|
|
83
110
|
pressure?: number;
|
|
84
111
|
trace?: PointerEventTrace;
|
|
85
112
|
}
|
|
86
113
|
|
|
87
114
|
export interface PointerEventOnPinchGestureData {
|
|
88
115
|
windowId: number;
|
|
116
|
+
windowWidth?: number;
|
|
117
|
+
windowHeight?: number;
|
|
89
118
|
delta: number;
|
|
90
119
|
phase: TouchPhase;
|
|
120
|
+
targetWidth?: number;
|
|
121
|
+
targetHeight?: number;
|
|
91
122
|
trace?: PointerEventTrace;
|
|
92
123
|
}
|
|
93
124
|
|
|
94
125
|
export interface PointerEventOnPanGestureData {
|
|
95
126
|
windowId: number;
|
|
127
|
+
windowWidth?: number;
|
|
128
|
+
windowHeight?: number;
|
|
96
129
|
delta: [number, number];
|
|
97
130
|
phase: TouchPhase;
|
|
131
|
+
targetWidth?: number;
|
|
132
|
+
targetHeight?: number;
|
|
98
133
|
trace?: PointerEventTrace;
|
|
99
134
|
}
|
|
100
135
|
|
|
101
136
|
export interface PointerEventOnRotationGestureData {
|
|
102
137
|
windowId: number;
|
|
138
|
+
windowWidth?: number;
|
|
139
|
+
windowHeight?: number;
|
|
103
140
|
delta: number;
|
|
104
141
|
phase: TouchPhase;
|
|
142
|
+
targetWidth?: number;
|
|
143
|
+
targetHeight?: number;
|
|
105
144
|
trace?: PointerEventTrace;
|
|
106
145
|
}
|
|
107
146
|
|
|
108
147
|
export interface PointerEventOnDoubleTapGestureData {
|
|
109
148
|
windowId: number;
|
|
149
|
+
windowWidth?: number;
|
|
150
|
+
windowHeight?: number;
|
|
151
|
+
targetWidth?: number;
|
|
152
|
+
targetHeight?: number;
|
|
110
153
|
trace?: PointerEventTrace;
|
|
111
154
|
}
|
|
112
155
|
|
|
@@ -34,6 +34,32 @@ export type SystemEvent =
|
|
|
34
34
|
commandType?: string;
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
+
| {
|
|
38
|
+
event: 'command-deferred';
|
|
39
|
+
data: {
|
|
40
|
+
commandId: number;
|
|
41
|
+
commandType: string;
|
|
42
|
+
attempts: number;
|
|
43
|
+
reason: string;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
| {
|
|
47
|
+
event: 'command-applied';
|
|
48
|
+
data: {
|
|
49
|
+
commandId: number;
|
|
50
|
+
commandType: string;
|
|
51
|
+
attempts: number;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
| {
|
|
55
|
+
event: 'command-dropped';
|
|
56
|
+
data: {
|
|
57
|
+
commandId: number;
|
|
58
|
+
commandType: string;
|
|
59
|
+
attempts: number;
|
|
60
|
+
reason: string;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
37
63
|
| { event: 'on-resume' }
|
|
38
64
|
| { event: 'on-suspend' }
|
|
39
65
|
| { event: 'on-memory-warning' }
|
|
@@ -153,4 +179,22 @@ export type SystemEvent =
|
|
|
153
179
|
viewportId: number;
|
|
154
180
|
parentViewportId?: number;
|
|
155
181
|
};
|
|
182
|
+
}
|
|
183
|
+
| {
|
|
184
|
+
event: 'input-target-listener-event';
|
|
185
|
+
data: {
|
|
186
|
+
listenerId: number;
|
|
187
|
+
targetId: number;
|
|
188
|
+
eventType: string;
|
|
189
|
+
windowId?: number;
|
|
190
|
+
windowWidth?: number;
|
|
191
|
+
windowHeight?: number;
|
|
192
|
+
pointerId?: number;
|
|
193
|
+
positionGlobal?: [number, number];
|
|
194
|
+
positionTarget?: [number, number];
|
|
195
|
+
targetWidth?: number;
|
|
196
|
+
targetHeight?: number;
|
|
197
|
+
keyCode?: number;
|
|
198
|
+
keyState?: 'pressed' | 'released';
|
|
199
|
+
};
|
|
156
200
|
};
|