@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.
@@ -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?: number | undefined;
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: PBPointerEvents_Info | undefined;
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-23295977779.commit-76299d9",
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.8.1",
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": "76299d9922947ead7641ab645ba820dbf8afd79a"
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
  }