@dcl/protocol 1.0.0-23295977779.commit-76299d9 → 1.0.0-23344929225.commit-4bea499
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/out-js/decentraland/kernel/comms/rfc4/comms.gen.d.ts +46 -0
- package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js +315 -12
- package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/common/input_action.gen.d.ts +10 -0
- package/out-js/decentraland/sdk/components/common/input_action.gen.js +52 -1
- package/out-js/decentraland/sdk/components/common/input_action.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/pointer_events.gen.d.ts +5 -1
- package/out-js/decentraland/sdk/components/pointer_events.gen.js +31 -3
- package/out-js/decentraland/sdk/components/pointer_events.gen.js.map +1 -1
- package/out-ts/decentraland/kernel/comms/rfc4/comms.gen.ts +375 -3
- package/out-ts/decentraland/sdk/components/common/input_action.gen.ts +51 -0
- package/out-ts/decentraland/sdk/components/pointer_events.gen.ts +44 -3
- package/package.json +3 -3
- package/proto/decentraland/kernel/comms/rfc4/comms.proto +29 -0
- package/proto/decentraland/sdk/components/audio_analysis.proto +44 -0
- package/proto/decentraland/sdk/components/avatar_locomotion_settings.proto +21 -0
- package/proto/decentraland/sdk/components/common/input_action.proto +8 -0
- package/proto/decentraland/sdk/components/light_source.proto +1 -1
- package/proto/decentraland/sdk/components/pointer_events.proto +2 -0
- package/proto/decentraland/sdk/components/virtual_camera.proto +2 -0
|
@@ -17,6 +17,7 @@ export enum InputAction {
|
|
|
17
17
|
IA_ACTION_4 = 11,
|
|
18
18
|
IA_ACTION_5 = 12,
|
|
19
19
|
IA_ACTION_6 = 13,
|
|
20
|
+
IA_MODIFIER = 14,
|
|
20
21
|
UNRECOGNIZED = -1,
|
|
21
22
|
}
|
|
22
23
|
|
|
@@ -64,6 +65,9 @@ export function inputActionFromJSON(object: any): InputAction {
|
|
|
64
65
|
case 13:
|
|
65
66
|
case "IA_ACTION_6":
|
|
66
67
|
return InputAction.IA_ACTION_6;
|
|
68
|
+
case 14:
|
|
69
|
+
case "IA_MODIFIER":
|
|
70
|
+
return InputAction.IA_MODIFIER;
|
|
67
71
|
case -1:
|
|
68
72
|
case "UNRECOGNIZED":
|
|
69
73
|
default:
|
|
@@ -101,6 +105,8 @@ export function inputActionToJSON(object: InputAction): string {
|
|
|
101
105
|
return "IA_ACTION_5";
|
|
102
106
|
case InputAction.IA_ACTION_6:
|
|
103
107
|
return "IA_ACTION_6";
|
|
108
|
+
case InputAction.IA_MODIFIER:
|
|
109
|
+
return "IA_MODIFIER";
|
|
104
110
|
case InputAction.UNRECOGNIZED:
|
|
105
111
|
default:
|
|
106
112
|
return "UNRECOGNIZED";
|
|
@@ -113,6 +119,8 @@ export enum PointerEventType {
|
|
|
113
119
|
PET_DOWN = 1,
|
|
114
120
|
PET_HOVER_ENTER = 2,
|
|
115
121
|
PET_HOVER_LEAVE = 3,
|
|
122
|
+
PET_PROXIMITY_ENTER = 4,
|
|
123
|
+
PET_PROXIMITY_LEAVE = 5,
|
|
116
124
|
UNRECOGNIZED = -1,
|
|
117
125
|
}
|
|
118
126
|
|
|
@@ -130,6 +138,12 @@ export function pointerEventTypeFromJSON(object: any): PointerEventType {
|
|
|
130
138
|
case 3:
|
|
131
139
|
case "PET_HOVER_LEAVE":
|
|
132
140
|
return PointerEventType.PET_HOVER_LEAVE;
|
|
141
|
+
case 4:
|
|
142
|
+
case "PET_PROXIMITY_ENTER":
|
|
143
|
+
return PointerEventType.PET_PROXIMITY_ENTER;
|
|
144
|
+
case 5:
|
|
145
|
+
case "PET_PROXIMITY_LEAVE":
|
|
146
|
+
return PointerEventType.PET_PROXIMITY_LEAVE;
|
|
133
147
|
case -1:
|
|
134
148
|
case "UNRECOGNIZED":
|
|
135
149
|
default:
|
|
@@ -147,8 +161,45 @@ export function pointerEventTypeToJSON(object: PointerEventType): string {
|
|
|
147
161
|
return "PET_HOVER_ENTER";
|
|
148
162
|
case PointerEventType.PET_HOVER_LEAVE:
|
|
149
163
|
return "PET_HOVER_LEAVE";
|
|
164
|
+
case PointerEventType.PET_PROXIMITY_ENTER:
|
|
165
|
+
return "PET_PROXIMITY_ENTER";
|
|
166
|
+
case PointerEventType.PET_PROXIMITY_LEAVE:
|
|
167
|
+
return "PET_PROXIMITY_LEAVE";
|
|
150
168
|
case PointerEventType.UNRECOGNIZED:
|
|
151
169
|
default:
|
|
152
170
|
return "UNRECOGNIZED";
|
|
153
171
|
}
|
|
154
172
|
}
|
|
173
|
+
|
|
174
|
+
export enum InteractionType {
|
|
175
|
+
CURSOR = 0,
|
|
176
|
+
PROXIMITY = 1,
|
|
177
|
+
UNRECOGNIZED = -1,
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export function interactionTypeFromJSON(object: any): InteractionType {
|
|
181
|
+
switch (object) {
|
|
182
|
+
case 0:
|
|
183
|
+
case "CURSOR":
|
|
184
|
+
return InteractionType.CURSOR;
|
|
185
|
+
case 1:
|
|
186
|
+
case "PROXIMITY":
|
|
187
|
+
return InteractionType.PROXIMITY;
|
|
188
|
+
case -1:
|
|
189
|
+
case "UNRECOGNIZED":
|
|
190
|
+
default:
|
|
191
|
+
return InteractionType.UNRECOGNIZED;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export function interactionTypeToJSON(object: InteractionType): string {
|
|
196
|
+
switch (object) {
|
|
197
|
+
case InteractionType.CURSOR:
|
|
198
|
+
return "CURSOR";
|
|
199
|
+
case InteractionType.PROXIMITY:
|
|
200
|
+
return "PROXIMITY";
|
|
201
|
+
case InteractionType.UNRECOGNIZED:
|
|
202
|
+
default:
|
|
203
|
+
return "UNRECOGNIZED";
|
|
204
|
+
}
|
|
205
|
+
}
|
|
@@ -4,6 +4,9 @@ import {
|
|
|
4
4
|
InputAction,
|
|
5
5
|
inputActionFromJSON,
|
|
6
6
|
inputActionToJSON,
|
|
7
|
+
InteractionType,
|
|
8
|
+
interactionTypeFromJSON,
|
|
9
|
+
interactionTypeToJSON,
|
|
7
10
|
PointerEventType,
|
|
8
11
|
pointerEventTypeFromJSON,
|
|
9
12
|
pointerEventTypeToJSON,
|
|
@@ -76,14 +79,22 @@ export interface PBPointerEvents_Info {
|
|
|
76
79
|
| boolean
|
|
77
80
|
| undefined;
|
|
78
81
|
/** range of interaction from the avatar's position (default 0) */
|
|
79
|
-
maxPlayerDistance?:
|
|
82
|
+
maxPlayerDistance?:
|
|
83
|
+
| number
|
|
84
|
+
| undefined;
|
|
85
|
+
/** resolution order when multiple events overlap, higher wins (default 0) */
|
|
86
|
+
priority?: number | undefined;
|
|
80
87
|
}
|
|
81
88
|
|
|
82
89
|
export interface PBPointerEvents_Entry {
|
|
83
90
|
/** the kind of interaction to detect */
|
|
84
91
|
eventType: PointerEventType;
|
|
85
92
|
/** additional configuration for this detection */
|
|
86
|
-
eventInfo:
|
|
93
|
+
eventInfo:
|
|
94
|
+
| PBPointerEvents_Info
|
|
95
|
+
| undefined;
|
|
96
|
+
/** the type of interaction source (default 0 == CURSOR) */
|
|
97
|
+
interactionType?: InteractionType | undefined;
|
|
87
98
|
}
|
|
88
99
|
|
|
89
100
|
function createBasePBPointerEvents(): PBPointerEvents {
|
|
@@ -158,6 +169,7 @@ function createBasePBPointerEvents_Info(): PBPointerEvents_Info {
|
|
|
158
169
|
showFeedback: undefined,
|
|
159
170
|
showHighlight: undefined,
|
|
160
171
|
maxPlayerDistance: undefined,
|
|
172
|
+
priority: undefined,
|
|
161
173
|
};
|
|
162
174
|
}
|
|
163
175
|
|
|
@@ -181,6 +193,9 @@ export namespace PBPointerEvents_Info {
|
|
|
181
193
|
if (message.maxPlayerDistance !== undefined) {
|
|
182
194
|
writer.uint32(53).float(message.maxPlayerDistance);
|
|
183
195
|
}
|
|
196
|
+
if (message.priority !== undefined) {
|
|
197
|
+
writer.uint32(56).uint32(message.priority);
|
|
198
|
+
}
|
|
184
199
|
return writer;
|
|
185
200
|
}
|
|
186
201
|
|
|
@@ -233,6 +248,13 @@ export namespace PBPointerEvents_Info {
|
|
|
233
248
|
|
|
234
249
|
message.maxPlayerDistance = reader.float();
|
|
235
250
|
continue;
|
|
251
|
+
case 7:
|
|
252
|
+
if (tag !== 56) {
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
message.priority = reader.uint32();
|
|
257
|
+
continue;
|
|
236
258
|
}
|
|
237
259
|
if ((tag & 7) === 4 || tag === 0) {
|
|
238
260
|
break;
|
|
@@ -250,6 +272,7 @@ export namespace PBPointerEvents_Info {
|
|
|
250
272
|
showFeedback: isSet(object.showFeedback) ? Boolean(object.showFeedback) : undefined,
|
|
251
273
|
showHighlight: isSet(object.showHighlight) ? Boolean(object.showHighlight) : undefined,
|
|
252
274
|
maxPlayerDistance: isSet(object.maxPlayerDistance) ? Number(object.maxPlayerDistance) : undefined,
|
|
275
|
+
priority: isSet(object.priority) ? Number(object.priority) : undefined,
|
|
253
276
|
};
|
|
254
277
|
}
|
|
255
278
|
|
|
@@ -262,6 +285,7 @@ export namespace PBPointerEvents_Info {
|
|
|
262
285
|
message.showFeedback !== undefined && (obj.showFeedback = message.showFeedback);
|
|
263
286
|
message.showHighlight !== undefined && (obj.showHighlight = message.showHighlight);
|
|
264
287
|
message.maxPlayerDistance !== undefined && (obj.maxPlayerDistance = message.maxPlayerDistance);
|
|
288
|
+
message.priority !== undefined && (obj.priority = Math.round(message.priority));
|
|
265
289
|
return obj;
|
|
266
290
|
}
|
|
267
291
|
|
|
@@ -277,12 +301,13 @@ export namespace PBPointerEvents_Info {
|
|
|
277
301
|
message.showFeedback = object.showFeedback ?? undefined;
|
|
278
302
|
message.showHighlight = object.showHighlight ?? undefined;
|
|
279
303
|
message.maxPlayerDistance = object.maxPlayerDistance ?? undefined;
|
|
304
|
+
message.priority = object.priority ?? undefined;
|
|
280
305
|
return message;
|
|
281
306
|
}
|
|
282
307
|
}
|
|
283
308
|
|
|
284
309
|
function createBasePBPointerEvents_Entry(): PBPointerEvents_Entry {
|
|
285
|
-
return { eventType: 0, eventInfo: undefined };
|
|
310
|
+
return { eventType: 0, eventInfo: undefined, interactionType: undefined };
|
|
286
311
|
}
|
|
287
312
|
|
|
288
313
|
export namespace PBPointerEvents_Entry {
|
|
@@ -293,6 +318,9 @@ export namespace PBPointerEvents_Entry {
|
|
|
293
318
|
if (message.eventInfo !== undefined) {
|
|
294
319
|
PBPointerEvents_Info.encode(message.eventInfo, writer.uint32(18).fork()).ldelim();
|
|
295
320
|
}
|
|
321
|
+
if (message.interactionType !== undefined) {
|
|
322
|
+
writer.uint32(24).int32(message.interactionType);
|
|
323
|
+
}
|
|
296
324
|
return writer;
|
|
297
325
|
}
|
|
298
326
|
|
|
@@ -317,6 +345,13 @@ export namespace PBPointerEvents_Entry {
|
|
|
317
345
|
|
|
318
346
|
message.eventInfo = PBPointerEvents_Info.decode(reader, reader.uint32());
|
|
319
347
|
continue;
|
|
348
|
+
case 3:
|
|
349
|
+
if (tag !== 24) {
|
|
350
|
+
break;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
message.interactionType = reader.int32() as any;
|
|
354
|
+
continue;
|
|
320
355
|
}
|
|
321
356
|
if ((tag & 7) === 4 || tag === 0) {
|
|
322
357
|
break;
|
|
@@ -330,6 +365,7 @@ export namespace PBPointerEvents_Entry {
|
|
|
330
365
|
return {
|
|
331
366
|
eventType: isSet(object.eventType) ? pointerEventTypeFromJSON(object.eventType) : 0,
|
|
332
367
|
eventInfo: isSet(object.eventInfo) ? PBPointerEvents_Info.fromJSON(object.eventInfo) : undefined,
|
|
368
|
+
interactionType: isSet(object.interactionType) ? interactionTypeFromJSON(object.interactionType) : undefined,
|
|
333
369
|
};
|
|
334
370
|
}
|
|
335
371
|
|
|
@@ -338,6 +374,10 @@ export namespace PBPointerEvents_Entry {
|
|
|
338
374
|
message.eventType !== undefined && (obj.eventType = pointerEventTypeToJSON(message.eventType));
|
|
339
375
|
message.eventInfo !== undefined &&
|
|
340
376
|
(obj.eventInfo = message.eventInfo ? PBPointerEvents_Info.toJSON(message.eventInfo) : undefined);
|
|
377
|
+
message.interactionType !== undefined &&
|
|
378
|
+
(obj.interactionType = message.interactionType !== undefined
|
|
379
|
+
? interactionTypeToJSON(message.interactionType)
|
|
380
|
+
: undefined);
|
|
341
381
|
return obj;
|
|
342
382
|
}
|
|
343
383
|
|
|
@@ -353,6 +393,7 @@ export namespace PBPointerEvents_Entry {
|
|
|
353
393
|
message.eventInfo = (object.eventInfo !== undefined && object.eventInfo !== null)
|
|
354
394
|
? PBPointerEvents_Info.fromPartial(object.eventInfo)
|
|
355
395
|
: undefined;
|
|
396
|
+
message.interactionType = object.interactionType ?? undefined;
|
|
356
397
|
return message;
|
|
357
398
|
}
|
|
358
399
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/protocol",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-23344929225.commit-4bea499",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": "decentraland/protocol.git",
|
|
6
6
|
"homepage": "https://github.com/decentraland/protocol#readme",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"test": "./scripts/check-proto-compabitility.sh"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@protobuf-ts/protoc": "^2.
|
|
16
|
+
"@protobuf-ts/protoc": "^2.11.0",
|
|
17
17
|
"proto-compatibility-tool": "^1.1.2-20220925163655.commit-25bd040",
|
|
18
18
|
"typescript": "^5.0.4"
|
|
19
19
|
},
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"out-js",
|
|
31
31
|
"public"
|
|
32
32
|
],
|
|
33
|
-
"commit": "
|
|
33
|
+
"commit": "4bea499c15fc2c872c761aa983a790d846f1ec9f"
|
|
34
34
|
}
|
|
@@ -18,6 +18,7 @@ message Packet {
|
|
|
18
18
|
PlayerEmote player_emote = 9;
|
|
19
19
|
SceneEmote scene_emote = 10;
|
|
20
20
|
MovementCompressed movement_compressed = 12;
|
|
21
|
+
LookAtPosition look_at_position = 13;
|
|
21
22
|
}
|
|
22
23
|
uint32 protocol_version = 11;
|
|
23
24
|
}
|
|
@@ -73,18 +74,42 @@ message Movement {
|
|
|
73
74
|
GLIDING = 2;
|
|
74
75
|
CLOSING_PROP = 3;
|
|
75
76
|
}
|
|
77
|
+
// point-at
|
|
78
|
+
float point_at_x = 25;
|
|
79
|
+
float point_at_y = 26;
|
|
80
|
+
float point_at_z = 27;
|
|
81
|
+
bool is_pointing_at = 28;
|
|
76
82
|
}
|
|
77
83
|
|
|
78
84
|
message MovementCompressed {
|
|
79
85
|
int32 temporal_data = 1; // bit-compressed: timestamp + animations
|
|
80
86
|
int64 movement_data = 2; // bit-compressed: position + velocity
|
|
81
87
|
int32 head_sync_data = 3; // bit-compressed: enabled flags + yaw + pitch
|
|
88
|
+
int32 point_at_data = 4; // bit-compressed: flag + point coordinates
|
|
82
89
|
}
|
|
83
90
|
|
|
84
91
|
message PlayerEmote {
|
|
85
92
|
uint32 incremental_id = 1;
|
|
86
93
|
string urn = 2;
|
|
87
94
|
float timestamp = 3;
|
|
95
|
+
optional bool is_stopping = 4; // true means the emote has been stopped in the sender's client
|
|
96
|
+
optional bool is_repeating = 5; // true when it is not the first time the looping animation plays
|
|
97
|
+
optional int32 interaction_id = 6; // identifies an interaction univocaly, established when the start animation is triggered
|
|
98
|
+
optional int32 social_emote_outcome = 7; // -1 means it does not use an outcome animation
|
|
99
|
+
optional bool is_reacting = 8; // to a social emote started by other user
|
|
100
|
+
optional string social_emote_initiator = 9; // wallet address of the user that initiated social emote
|
|
101
|
+
optional string target_avatar = 10; // wallet address of the user whose avatar is the target of a directed emote
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Message sent to force an avatar to look at a position
|
|
105
|
+
message LookAtPosition
|
|
106
|
+
{
|
|
107
|
+
float timestamp = 1;
|
|
108
|
+
// world position
|
|
109
|
+
float position_x = 2;
|
|
110
|
+
float position_y = 3;
|
|
111
|
+
float position_z = 4;
|
|
112
|
+
string target_avatar_wallet_address = 5;
|
|
88
113
|
}
|
|
89
114
|
|
|
90
115
|
message SceneEmote {
|
|
@@ -117,6 +142,10 @@ message ProfileResponse {
|
|
|
117
142
|
message Chat {
|
|
118
143
|
string message = 1;
|
|
119
144
|
double timestamp = 2;
|
|
145
|
+
|
|
146
|
+
// Extension: optional forwarded_from to identify the original sender when
|
|
147
|
+
// messages are forwarded through an SFU
|
|
148
|
+
optional string forwarded_from = 3;
|
|
120
149
|
}
|
|
121
150
|
|
|
122
151
|
message Scene {
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
package decentraland.sdk.components;
|
|
3
|
+
|
|
4
|
+
import "decentraland/sdk/components/common/id.proto";
|
|
5
|
+
option (common.ecs_component_id) = 1212;
|
|
6
|
+
|
|
7
|
+
enum PBAudioAnalysisMode {
|
|
8
|
+
MODE_RAW = 0;
|
|
9
|
+
MODE_LOGARITHMIC = 1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
message PBAudioAnalysis {
|
|
13
|
+
|
|
14
|
+
// Parameters section
|
|
15
|
+
PBAudioAnalysisMode mode = 1;
|
|
16
|
+
|
|
17
|
+
// Used only when mode == MODE_LOGARITHMIC
|
|
18
|
+
optional float amplitude_gain = 100;
|
|
19
|
+
optional float bands_gain = 101;
|
|
20
|
+
// End when mode == MODE_LOGARITHMIC
|
|
21
|
+
|
|
22
|
+
// End Parameters section
|
|
23
|
+
|
|
24
|
+
// Result section
|
|
25
|
+
float amplitude = 200;
|
|
26
|
+
|
|
27
|
+
// Protobuf doesn't support fixed arrays -> 8 band fields
|
|
28
|
+
float band_0 = 201;
|
|
29
|
+
float band_1 = 202;
|
|
30
|
+
float band_2 = 203;
|
|
31
|
+
float band_3 = 204;
|
|
32
|
+
float band_4 = 205;
|
|
33
|
+
float band_5 = 206;
|
|
34
|
+
float band_6 = 207;
|
|
35
|
+
float band_7 = 208;
|
|
36
|
+
|
|
37
|
+
// End Result section
|
|
38
|
+
|
|
39
|
+
// Future fields
|
|
40
|
+
// float spectral_centroid = 13;
|
|
41
|
+
// float spectral_flux = 14;
|
|
42
|
+
// bool onset = 15;
|
|
43
|
+
// float bpm = 16;
|
|
44
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package decentraland.sdk.components;
|
|
4
|
+
|
|
5
|
+
import "decentraland/sdk/components/common/id.proto";
|
|
6
|
+
|
|
7
|
+
option (common.ecs_component_id) = 1211;
|
|
8
|
+
|
|
9
|
+
// The PBAvatarLocomotionSettings component allows scenes to modify locomotion settings defining things such
|
|
10
|
+
// as the avatar movement speed, jump height etc.
|
|
11
|
+
message PBAvatarLocomotionSettings {
|
|
12
|
+
optional float walk_speed = 1; // Maximum speed when walking (in meters per second)
|
|
13
|
+
optional float jog_speed = 2; // Maximum speed when jogging (in meters per second)
|
|
14
|
+
optional float run_speed = 3; // Maximum speed when running (in meters per second)
|
|
15
|
+
optional float jump_height = 4; // Height of a regular jump (in meters)
|
|
16
|
+
optional float run_jump_height = 5; // Height of a jump while running (in meters)
|
|
17
|
+
optional float hard_landing_cooldown = 6; // Cooldown time after a hard landing before the avatar can move again (in seconds)
|
|
18
|
+
optional float double_jump_height = 7; // Height of the double jump (in meters)
|
|
19
|
+
optional float gliding_speed = 8; // Maximum speed when gliding (in meters per second)
|
|
20
|
+
optional float gliding_falling_speed = 9; // Maximum falling speed when gliding (in meters per second)
|
|
21
|
+
}
|
|
@@ -17,6 +17,7 @@ enum InputAction {
|
|
|
17
17
|
IA_ACTION_4 = 11;
|
|
18
18
|
IA_ACTION_5 = 12;
|
|
19
19
|
IA_ACTION_6 = 13;
|
|
20
|
+
IA_MODIFIER = 14;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
// PointerEventType is a kind of interaction that can be detected.
|
|
@@ -25,4 +26,11 @@ enum PointerEventType {
|
|
|
25
26
|
PET_DOWN = 1;
|
|
26
27
|
PET_HOVER_ENTER = 2;
|
|
27
28
|
PET_HOVER_LEAVE = 3;
|
|
29
|
+
PET_PROXIMITY_ENTER = 4;
|
|
30
|
+
PET_PROXIMITY_LEAVE = 5;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
enum InteractionType {
|
|
34
|
+
CURSOR = 0;
|
|
35
|
+
PROXIMITY = 1;
|
|
28
36
|
}
|
|
@@ -25,4 +25,4 @@ message PBLightSource {
|
|
|
25
25
|
optional float inner_angle = 9; // default = 21.8. Inner angle can't be higher than outer angle, otherwise will default to same value. Min value is 0. Max value is 179.
|
|
26
26
|
optional float outer_angle = 10; // default = 30. Outer angle can't be lower than inner angle, otherwise will inner angle will be set to same value. Max value is 179.
|
|
27
27
|
}
|
|
28
|
-
}
|
|
28
|
+
}
|
|
@@ -51,11 +51,13 @@ message PBPointerEvents {
|
|
|
51
51
|
optional bool show_feedback = 4; // enable or disable hover text and highlight (default true)
|
|
52
52
|
optional bool show_highlight = 5; // enable or disable hover highlight (default true)
|
|
53
53
|
optional float max_player_distance = 6; // range of interaction from the avatar's position (default 0)
|
|
54
|
+
optional uint32 priority = 7; // resolution order when multiple events overlap, higher wins (default 0)
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
message Entry {
|
|
57
58
|
common.PointerEventType event_type = 1; // the kind of interaction to detect
|
|
58
59
|
Info event_info = 2; // additional configuration for this detection
|
|
60
|
+
optional common.InteractionType interaction_type = 3; // the type of interaction source (default 0 == CURSOR)
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
repeated Entry pointer_events = 1; // the list of relevant events to detect
|
|
@@ -10,7 +10,9 @@ option (common.ecs_component_id) = 1076;
|
|
|
10
10
|
// an 'instant' transition (like using speed/time = 0)
|
|
11
11
|
// * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
|
|
12
12
|
// the holding entity transform).
|
|
13
|
+
// * The fov defines the Field of View of the virtual camera
|
|
13
14
|
message PBVirtualCamera {
|
|
14
15
|
optional common.CameraTransition default_transition = 1;
|
|
15
16
|
optional uint32 look_at_entity = 2;
|
|
17
|
+
optional float fov = 3; // default: 60
|
|
16
18
|
}
|