@dcl/protocol 1.0.0-23951495761.commit-bf007b9 → 1.0.0-24197129021.commit-3a0cc03

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.
Files changed (25) hide show
  1. package/out-js/decentraland/kernel/apis/restricted_actions.gen.d.ts +21 -0
  2. package/out-js/decentraland/kernel/apis/restricted_actions.gen.js +85 -6
  3. package/out-js/decentraland/kernel/apis/restricted_actions.gen.js.map +1 -1
  4. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.d.ts +41 -0
  5. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js +261 -9
  6. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js.map +1 -1
  7. package/out-js/decentraland/sdk/components/avatar_shape.gen.d.ts +8 -0
  8. package/out-js/decentraland/sdk/components/avatar_shape.gen.js +35 -1
  9. package/out-js/decentraland/sdk/components/avatar_shape.gen.js.map +1 -1
  10. package/out-js/decentraland/sdk/components/common/input_action.gen.d.ts +1 -0
  11. package/out-js/decentraland/sdk/components/common/input_action.gen.js +6 -0
  12. package/out-js/decentraland/sdk/components/common/input_action.gen.js.map +1 -1
  13. package/out-ts/decentraland/kernel/apis/restricted_actions.gen.ts +89 -3
  14. package/out-ts/decentraland/kernel/comms/rfc4/comms.gen.ts +316 -2
  15. package/out-ts/decentraland/sdk/components/avatar_shape.gen.ts +34 -0
  16. package/out-ts/decentraland/sdk/components/common/input_action.gen.ts +6 -0
  17. package/package.json +3 -3
  18. package/proto/decentraland/kernel/apis/restricted_actions.proto +7 -0
  19. package/proto/decentraland/kernel/comms/rfc4/comms.proto +25 -1
  20. package/proto/decentraland/sdk/components/audio_analysis.proto +44 -0
  21. package/proto/decentraland/sdk/components/avatar_locomotion_settings.proto +21 -0
  22. package/proto/decentraland/sdk/components/avatar_shape.proto +5 -0
  23. package/proto/decentraland/sdk/components/common/input_action.proto +1 -0
  24. package/proto/decentraland/sdk/components/light_source.proto +1 -1
  25. package/proto/decentraland/sdk/components/virtual_camera.proto +2 -0
@@ -20,6 +20,7 @@ export interface TeleportToRequest {
20
20
 
21
21
  export interface TriggerEmoteRequest {
22
22
  predefinedEmote: string;
23
+ mask?: number | undefined;
23
24
  }
24
25
 
25
26
  export interface ChangeRealmRequest {
@@ -45,6 +46,7 @@ export interface CommsAdapterRequest {
45
46
  export interface TriggerSceneEmoteRequest {
46
47
  src: string;
47
48
  loop?: boolean | undefined;
49
+ mask?: number | undefined;
48
50
  }
49
51
 
50
52
  export interface SuccessResponse {
@@ -68,6 +70,9 @@ export interface CopyToClipboardRequest {
68
70
  export interface EmptyResponse {
69
71
  }
70
72
 
73
+ export interface StopEmoteRequest {
74
+ }
75
+
71
76
  function createBaseMovePlayerToRequest(): MovePlayerToRequest {
72
77
  return { newRelativePosition: undefined, cameraTarget: undefined, avatarTarget: undefined, duration: undefined };
73
78
  }
@@ -234,7 +239,7 @@ export namespace TeleportToRequest {
234
239
  }
235
240
 
236
241
  function createBaseTriggerEmoteRequest(): TriggerEmoteRequest {
237
- return { predefinedEmote: "" };
242
+ return { predefinedEmote: "", mask: undefined };
238
243
  }
239
244
 
240
245
  export namespace TriggerEmoteRequest {
@@ -242,6 +247,9 @@ export namespace TriggerEmoteRequest {
242
247
  if (message.predefinedEmote !== "") {
243
248
  writer.uint32(10).string(message.predefinedEmote);
244
249
  }
250
+ if (message.mask !== undefined) {
251
+ writer.uint32(16).uint32(message.mask);
252
+ }
245
253
  return writer;
246
254
  }
247
255
 
@@ -259,6 +267,13 @@ export namespace TriggerEmoteRequest {
259
267
 
260
268
  message.predefinedEmote = reader.string();
261
269
  continue;
270
+ case 2:
271
+ if (tag !== 16) {
272
+ break;
273
+ }
274
+
275
+ message.mask = reader.uint32();
276
+ continue;
262
277
  }
263
278
  if ((tag & 7) === 4 || tag === 0) {
264
279
  break;
@@ -269,12 +284,16 @@ export namespace TriggerEmoteRequest {
269
284
  }
270
285
 
271
286
  export function fromJSON(object: any): TriggerEmoteRequest {
272
- return { predefinedEmote: isSet(object.predefinedEmote) ? String(object.predefinedEmote) : "" };
287
+ return {
288
+ predefinedEmote: isSet(object.predefinedEmote) ? String(object.predefinedEmote) : "",
289
+ mask: isSet(object.mask) ? Number(object.mask) : undefined,
290
+ };
273
291
  }
274
292
 
275
293
  export function toJSON(message: TriggerEmoteRequest): unknown {
276
294
  const obj: any = {};
277
295
  message.predefinedEmote !== undefined && (obj.predefinedEmote = message.predefinedEmote);
296
+ message.mask !== undefined && (obj.mask = Math.round(message.mask));
278
297
  return obj;
279
298
  }
280
299
 
@@ -285,6 +304,7 @@ export namespace TriggerEmoteRequest {
285
304
  export function fromPartial<I extends Exact<DeepPartial<TriggerEmoteRequest>, I>>(object: I): TriggerEmoteRequest {
286
305
  const message = createBaseTriggerEmoteRequest();
287
306
  message.predefinedEmote = object.predefinedEmote ?? "";
307
+ message.mask = object.mask ?? undefined;
288
308
  return message;
289
309
  }
290
310
  }
@@ -575,7 +595,7 @@ export namespace CommsAdapterRequest {
575
595
  }
576
596
 
577
597
  function createBaseTriggerSceneEmoteRequest(): TriggerSceneEmoteRequest {
578
- return { src: "", loop: undefined };
598
+ return { src: "", loop: undefined, mask: undefined };
579
599
  }
580
600
 
581
601
  export namespace TriggerSceneEmoteRequest {
@@ -586,6 +606,9 @@ export namespace TriggerSceneEmoteRequest {
586
606
  if (message.loop !== undefined) {
587
607
  writer.uint32(16).bool(message.loop);
588
608
  }
609
+ if (message.mask !== undefined) {
610
+ writer.uint32(24).uint32(message.mask);
611
+ }
589
612
  return writer;
590
613
  }
591
614
 
@@ -610,6 +633,13 @@ export namespace TriggerSceneEmoteRequest {
610
633
 
611
634
  message.loop = reader.bool();
612
635
  continue;
636
+ case 3:
637
+ if (tag !== 24) {
638
+ break;
639
+ }
640
+
641
+ message.mask = reader.uint32();
642
+ continue;
613
643
  }
614
644
  if ((tag & 7) === 4 || tag === 0) {
615
645
  break;
@@ -623,6 +653,7 @@ export namespace TriggerSceneEmoteRequest {
623
653
  return {
624
654
  src: isSet(object.src) ? String(object.src) : "",
625
655
  loop: isSet(object.loop) ? Boolean(object.loop) : undefined,
656
+ mask: isSet(object.mask) ? Number(object.mask) : undefined,
626
657
  };
627
658
  }
628
659
 
@@ -630,6 +661,7 @@ export namespace TriggerSceneEmoteRequest {
630
661
  const obj: any = {};
631
662
  message.src !== undefined && (obj.src = message.src);
632
663
  message.loop !== undefined && (obj.loop = message.loop);
664
+ message.mask !== undefined && (obj.mask = Math.round(message.mask));
633
665
  return obj;
634
666
  }
635
667
 
@@ -645,6 +677,7 @@ export namespace TriggerSceneEmoteRequest {
645
677
  const message = createBaseTriggerSceneEmoteRequest();
646
678
  message.src = object.src ?? "";
647
679
  message.loop = object.loop ?? undefined;
680
+ message.mask = object.mask ?? undefined;
648
681
  return message;
649
682
  }
650
683
  }
@@ -951,6 +984,50 @@ export namespace EmptyResponse {
951
984
  }
952
985
  }
953
986
 
987
+ function createBaseStopEmoteRequest(): StopEmoteRequest {
988
+ return {};
989
+ }
990
+
991
+ export namespace StopEmoteRequest {
992
+ export function encode(_: StopEmoteRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
993
+ return writer;
994
+ }
995
+
996
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): StopEmoteRequest {
997
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
998
+ let end = length === undefined ? reader.len : reader.pos + length;
999
+ const message = createBaseStopEmoteRequest();
1000
+ while (reader.pos < end) {
1001
+ const tag = reader.uint32();
1002
+ switch (tag >>> 3) {
1003
+ }
1004
+ if ((tag & 7) === 4 || tag === 0) {
1005
+ break;
1006
+ }
1007
+ reader.skipType(tag & 7);
1008
+ }
1009
+ return message;
1010
+ }
1011
+
1012
+ export function fromJSON(_: any): StopEmoteRequest {
1013
+ return {};
1014
+ }
1015
+
1016
+ export function toJSON(_: StopEmoteRequest): unknown {
1017
+ const obj: any = {};
1018
+ return obj;
1019
+ }
1020
+
1021
+ export function create<I extends Exact<DeepPartial<StopEmoteRequest>, I>>(base?: I): StopEmoteRequest {
1022
+ return StopEmoteRequest.fromPartial(base ?? {});
1023
+ }
1024
+
1025
+ export function fromPartial<I extends Exact<DeepPartial<StopEmoteRequest>, I>>(_: I): StopEmoteRequest {
1026
+ const message = createBaseStopEmoteRequest();
1027
+ return message;
1028
+ }
1029
+ }
1030
+
954
1031
  export type RestrictedActionsServiceDefinition = typeof RestrictedActionsServiceDefinition;
955
1032
  export const RestrictedActionsServiceDefinition = {
956
1033
  name: "RestrictedActionsService",
@@ -1044,6 +1121,15 @@ export const RestrictedActionsServiceDefinition = {
1044
1121
  responseStream: false,
1045
1122
  options: {},
1046
1123
  },
1124
+ /** StopEmote will stop the current emote */
1125
+ stopEmote: {
1126
+ name: "StopEmote",
1127
+ requestType: StopEmoteRequest,
1128
+ requestStream: false,
1129
+ responseType: SuccessResponse,
1130
+ responseStream: false,
1131
+ options: {},
1132
+ },
1047
1133
  },
1048
1134
  } as const;
1049
1135
 
@@ -17,6 +17,7 @@ export interface Packet {
17
17
  | { $case: "playerEmote"; playerEmote: PlayerEmote }
18
18
  | { $case: "sceneEmote"; sceneEmote: SceneEmote }
19
19
  | { $case: "movementCompressed"; movementCompressed: MovementCompressed }
20
+ | { $case: "lookAtPosition"; lookAtPosition: LookAtPosition }
20
21
  | undefined;
21
22
  protocolVersion: number;
22
23
  }
@@ -134,6 +135,46 @@ export interface PlayerEmote {
134
135
  incrementalId: number;
135
136
  urn: string;
136
137
  timestamp: number;
138
+ /** true means the emote has been stopped in the sender's client */
139
+ isStopping?:
140
+ | boolean
141
+ | undefined;
142
+ /** true when it is not the first time the looping animation plays */
143
+ isRepeating?:
144
+ | boolean
145
+ | undefined;
146
+ /** identifies an interaction univocaly, established when the start animation is triggered */
147
+ interactionId?:
148
+ | number
149
+ | undefined;
150
+ /** -1 means it does not use an outcome animation */
151
+ socialEmoteOutcome?:
152
+ | number
153
+ | undefined;
154
+ /** to a social emote started by other user */
155
+ isReacting?:
156
+ | boolean
157
+ | undefined;
158
+ /** wallet address of the user that initiated social emote */
159
+ socialEmoteInitiator?:
160
+ | string
161
+ | undefined;
162
+ /** wallet address of the user whose avatar is the target of a directed emote */
163
+ targetAvatar?:
164
+ | string
165
+ | undefined;
166
+ /** mask for which bones an animation applies to. */
167
+ mask?: number | undefined;
168
+ }
169
+
170
+ /** Message sent to force an avatar to look at a position */
171
+ export interface LookAtPosition {
172
+ timestamp: number;
173
+ /** world position */
174
+ positionX: number;
175
+ positionY: number;
176
+ positionZ: number;
177
+ targetAvatarWalletAddress: string;
137
178
  }
138
179
 
139
180
  export interface SceneEmote {
@@ -158,6 +199,11 @@ export interface ProfileResponse {
158
199
  export interface Chat {
159
200
  message: string;
160
201
  timestamp: number;
202
+ /**
203
+ * Extension: optional forwarded_from to identify the original sender when
204
+ * messages are forwarded through an SFU
205
+ */
206
+ forwardedFrom?: string | undefined;
161
207
  }
162
208
 
163
209
  export interface Scene {
@@ -238,6 +284,9 @@ export namespace Packet {
238
284
  case "movementCompressed":
239
285
  MovementCompressed.encode(message.message.movementCompressed, writer.uint32(98).fork()).ldelim();
240
286
  break;
287
+ case "lookAtPosition":
288
+ LookAtPosition.encode(message.message.lookAtPosition, writer.uint32(106).fork()).ldelim();
289
+ break;
241
290
  }
242
291
  if (message.protocolVersion !== 0) {
243
292
  writer.uint32(88).uint32(message.protocolVersion);
@@ -338,6 +387,13 @@ export namespace Packet {
338
387
  movementCompressed: MovementCompressed.decode(reader, reader.uint32()),
339
388
  };
340
389
  continue;
390
+ case 13:
391
+ if (tag !== 106) {
392
+ break;
393
+ }
394
+
395
+ message.message = { $case: "lookAtPosition", lookAtPosition: LookAtPosition.decode(reader, reader.uint32()) };
396
+ continue;
341
397
  case 11:
342
398
  if (tag !== 88) {
343
399
  break;
@@ -378,6 +434,8 @@ export namespace Packet {
378
434
  ? { $case: "sceneEmote", sceneEmote: SceneEmote.fromJSON(object.sceneEmote) }
379
435
  : isSet(object.movementCompressed)
380
436
  ? { $case: "movementCompressed", movementCompressed: MovementCompressed.fromJSON(object.movementCompressed) }
437
+ : isSet(object.lookAtPosition)
438
+ ? { $case: "lookAtPosition", lookAtPosition: LookAtPosition.fromJSON(object.lookAtPosition) }
381
439
  : undefined,
382
440
  protocolVersion: isSet(object.protocolVersion) ? Number(object.protocolVersion) : 0,
383
441
  };
@@ -415,6 +473,10 @@ export namespace Packet {
415
473
  (obj.movementCompressed = message.message?.movementCompressed
416
474
  ? MovementCompressed.toJSON(message.message?.movementCompressed)
417
475
  : undefined);
476
+ message.message?.$case === "lookAtPosition" &&
477
+ (obj.lookAtPosition = message.message?.lookAtPosition
478
+ ? LookAtPosition.toJSON(message.message?.lookAtPosition)
479
+ : undefined);
418
480
  message.protocolVersion !== undefined && (obj.protocolVersion = Math.round(message.protocolVersion));
419
481
  return obj;
420
482
  }
@@ -502,6 +564,16 @@ export namespace Packet {
502
564
  movementCompressed: MovementCompressed.fromPartial(object.message.movementCompressed),
503
565
  };
504
566
  }
567
+ if (
568
+ object.message?.$case === "lookAtPosition" &&
569
+ object.message?.lookAtPosition !== undefined &&
570
+ object.message?.lookAtPosition !== null
571
+ ) {
572
+ message.message = {
573
+ $case: "lookAtPosition",
574
+ lookAtPosition: LookAtPosition.fromPartial(object.message.lookAtPosition),
575
+ };
576
+ }
505
577
  message.protocolVersion = object.protocolVersion ?? 0;
506
578
  return message;
507
579
  }
@@ -1192,7 +1264,19 @@ export namespace MovementCompressed {
1192
1264
  }
1193
1265
 
1194
1266
  function createBasePlayerEmote(): PlayerEmote {
1195
- return { incrementalId: 0, urn: "", timestamp: 0 };
1267
+ return {
1268
+ incrementalId: 0,
1269
+ urn: "",
1270
+ timestamp: 0,
1271
+ isStopping: undefined,
1272
+ isRepeating: undefined,
1273
+ interactionId: undefined,
1274
+ socialEmoteOutcome: undefined,
1275
+ isReacting: undefined,
1276
+ socialEmoteInitiator: undefined,
1277
+ targetAvatar: undefined,
1278
+ mask: undefined,
1279
+ };
1196
1280
  }
1197
1281
 
1198
1282
  export namespace PlayerEmote {
@@ -1206,6 +1290,30 @@ export namespace PlayerEmote {
1206
1290
  if (message.timestamp !== 0) {
1207
1291
  writer.uint32(29).float(message.timestamp);
1208
1292
  }
1293
+ if (message.isStopping !== undefined) {
1294
+ writer.uint32(32).bool(message.isStopping);
1295
+ }
1296
+ if (message.isRepeating !== undefined) {
1297
+ writer.uint32(40).bool(message.isRepeating);
1298
+ }
1299
+ if (message.interactionId !== undefined) {
1300
+ writer.uint32(48).int32(message.interactionId);
1301
+ }
1302
+ if (message.socialEmoteOutcome !== undefined) {
1303
+ writer.uint32(56).int32(message.socialEmoteOutcome);
1304
+ }
1305
+ if (message.isReacting !== undefined) {
1306
+ writer.uint32(64).bool(message.isReacting);
1307
+ }
1308
+ if (message.socialEmoteInitiator !== undefined) {
1309
+ writer.uint32(74).string(message.socialEmoteInitiator);
1310
+ }
1311
+ if (message.targetAvatar !== undefined) {
1312
+ writer.uint32(82).string(message.targetAvatar);
1313
+ }
1314
+ if (message.mask !== undefined) {
1315
+ writer.uint32(88).uint32(message.mask);
1316
+ }
1209
1317
  return writer;
1210
1318
  }
1211
1319
 
@@ -1237,6 +1345,62 @@ export namespace PlayerEmote {
1237
1345
 
1238
1346
  message.timestamp = reader.float();
1239
1347
  continue;
1348
+ case 4:
1349
+ if (tag !== 32) {
1350
+ break;
1351
+ }
1352
+
1353
+ message.isStopping = reader.bool();
1354
+ continue;
1355
+ case 5:
1356
+ if (tag !== 40) {
1357
+ break;
1358
+ }
1359
+
1360
+ message.isRepeating = reader.bool();
1361
+ continue;
1362
+ case 6:
1363
+ if (tag !== 48) {
1364
+ break;
1365
+ }
1366
+
1367
+ message.interactionId = reader.int32();
1368
+ continue;
1369
+ case 7:
1370
+ if (tag !== 56) {
1371
+ break;
1372
+ }
1373
+
1374
+ message.socialEmoteOutcome = reader.int32();
1375
+ continue;
1376
+ case 8:
1377
+ if (tag !== 64) {
1378
+ break;
1379
+ }
1380
+
1381
+ message.isReacting = reader.bool();
1382
+ continue;
1383
+ case 9:
1384
+ if (tag !== 74) {
1385
+ break;
1386
+ }
1387
+
1388
+ message.socialEmoteInitiator = reader.string();
1389
+ continue;
1390
+ case 10:
1391
+ if (tag !== 82) {
1392
+ break;
1393
+ }
1394
+
1395
+ message.targetAvatar = reader.string();
1396
+ continue;
1397
+ case 11:
1398
+ if (tag !== 88) {
1399
+ break;
1400
+ }
1401
+
1402
+ message.mask = reader.uint32();
1403
+ continue;
1240
1404
  }
1241
1405
  if ((tag & 7) === 4 || tag === 0) {
1242
1406
  break;
@@ -1251,6 +1415,14 @@ export namespace PlayerEmote {
1251
1415
  incrementalId: isSet(object.incrementalId) ? Number(object.incrementalId) : 0,
1252
1416
  urn: isSet(object.urn) ? String(object.urn) : "",
1253
1417
  timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
1418
+ isStopping: isSet(object.isStopping) ? Boolean(object.isStopping) : undefined,
1419
+ isRepeating: isSet(object.isRepeating) ? Boolean(object.isRepeating) : undefined,
1420
+ interactionId: isSet(object.interactionId) ? Number(object.interactionId) : undefined,
1421
+ socialEmoteOutcome: isSet(object.socialEmoteOutcome) ? Number(object.socialEmoteOutcome) : undefined,
1422
+ isReacting: isSet(object.isReacting) ? Boolean(object.isReacting) : undefined,
1423
+ socialEmoteInitiator: isSet(object.socialEmoteInitiator) ? String(object.socialEmoteInitiator) : undefined,
1424
+ targetAvatar: isSet(object.targetAvatar) ? String(object.targetAvatar) : undefined,
1425
+ mask: isSet(object.mask) ? Number(object.mask) : undefined,
1254
1426
  };
1255
1427
  }
1256
1428
 
@@ -1259,6 +1431,14 @@ export namespace PlayerEmote {
1259
1431
  message.incrementalId !== undefined && (obj.incrementalId = Math.round(message.incrementalId));
1260
1432
  message.urn !== undefined && (obj.urn = message.urn);
1261
1433
  message.timestamp !== undefined && (obj.timestamp = message.timestamp);
1434
+ message.isStopping !== undefined && (obj.isStopping = message.isStopping);
1435
+ message.isRepeating !== undefined && (obj.isRepeating = message.isRepeating);
1436
+ message.interactionId !== undefined && (obj.interactionId = Math.round(message.interactionId));
1437
+ message.socialEmoteOutcome !== undefined && (obj.socialEmoteOutcome = Math.round(message.socialEmoteOutcome));
1438
+ message.isReacting !== undefined && (obj.isReacting = message.isReacting);
1439
+ message.socialEmoteInitiator !== undefined && (obj.socialEmoteInitiator = message.socialEmoteInitiator);
1440
+ message.targetAvatar !== undefined && (obj.targetAvatar = message.targetAvatar);
1441
+ message.mask !== undefined && (obj.mask = Math.round(message.mask));
1262
1442
  return obj;
1263
1443
  }
1264
1444
 
@@ -1271,6 +1451,127 @@ export namespace PlayerEmote {
1271
1451
  message.incrementalId = object.incrementalId ?? 0;
1272
1452
  message.urn = object.urn ?? "";
1273
1453
  message.timestamp = object.timestamp ?? 0;
1454
+ message.isStopping = object.isStopping ?? undefined;
1455
+ message.isRepeating = object.isRepeating ?? undefined;
1456
+ message.interactionId = object.interactionId ?? undefined;
1457
+ message.socialEmoteOutcome = object.socialEmoteOutcome ?? undefined;
1458
+ message.isReacting = object.isReacting ?? undefined;
1459
+ message.socialEmoteInitiator = object.socialEmoteInitiator ?? undefined;
1460
+ message.targetAvatar = object.targetAvatar ?? undefined;
1461
+ message.mask = object.mask ?? undefined;
1462
+ return message;
1463
+ }
1464
+ }
1465
+
1466
+ function createBaseLookAtPosition(): LookAtPosition {
1467
+ return { timestamp: 0, positionX: 0, positionY: 0, positionZ: 0, targetAvatarWalletAddress: "" };
1468
+ }
1469
+
1470
+ export namespace LookAtPosition {
1471
+ export function encode(message: LookAtPosition, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
1472
+ if (message.timestamp !== 0) {
1473
+ writer.uint32(13).float(message.timestamp);
1474
+ }
1475
+ if (message.positionX !== 0) {
1476
+ writer.uint32(21).float(message.positionX);
1477
+ }
1478
+ if (message.positionY !== 0) {
1479
+ writer.uint32(29).float(message.positionY);
1480
+ }
1481
+ if (message.positionZ !== 0) {
1482
+ writer.uint32(37).float(message.positionZ);
1483
+ }
1484
+ if (message.targetAvatarWalletAddress !== "") {
1485
+ writer.uint32(42).string(message.targetAvatarWalletAddress);
1486
+ }
1487
+ return writer;
1488
+ }
1489
+
1490
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): LookAtPosition {
1491
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
1492
+ let end = length === undefined ? reader.len : reader.pos + length;
1493
+ const message = createBaseLookAtPosition();
1494
+ while (reader.pos < end) {
1495
+ const tag = reader.uint32();
1496
+ switch (tag >>> 3) {
1497
+ case 1:
1498
+ if (tag !== 13) {
1499
+ break;
1500
+ }
1501
+
1502
+ message.timestamp = reader.float();
1503
+ continue;
1504
+ case 2:
1505
+ if (tag !== 21) {
1506
+ break;
1507
+ }
1508
+
1509
+ message.positionX = reader.float();
1510
+ continue;
1511
+ case 3:
1512
+ if (tag !== 29) {
1513
+ break;
1514
+ }
1515
+
1516
+ message.positionY = reader.float();
1517
+ continue;
1518
+ case 4:
1519
+ if (tag !== 37) {
1520
+ break;
1521
+ }
1522
+
1523
+ message.positionZ = reader.float();
1524
+ continue;
1525
+ case 5:
1526
+ if (tag !== 42) {
1527
+ break;
1528
+ }
1529
+
1530
+ message.targetAvatarWalletAddress = reader.string();
1531
+ continue;
1532
+ }
1533
+ if ((tag & 7) === 4 || tag === 0) {
1534
+ break;
1535
+ }
1536
+ reader.skipType(tag & 7);
1537
+ }
1538
+ return message;
1539
+ }
1540
+
1541
+ export function fromJSON(object: any): LookAtPosition {
1542
+ return {
1543
+ timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
1544
+ positionX: isSet(object.positionX) ? Number(object.positionX) : 0,
1545
+ positionY: isSet(object.positionY) ? Number(object.positionY) : 0,
1546
+ positionZ: isSet(object.positionZ) ? Number(object.positionZ) : 0,
1547
+ targetAvatarWalletAddress: isSet(object.targetAvatarWalletAddress)
1548
+ ? String(object.targetAvatarWalletAddress)
1549
+ : "",
1550
+ };
1551
+ }
1552
+
1553
+ export function toJSON(message: LookAtPosition): unknown {
1554
+ const obj: any = {};
1555
+ message.timestamp !== undefined && (obj.timestamp = message.timestamp);
1556
+ message.positionX !== undefined && (obj.positionX = message.positionX);
1557
+ message.positionY !== undefined && (obj.positionY = message.positionY);
1558
+ message.positionZ !== undefined && (obj.positionZ = message.positionZ);
1559
+ message.targetAvatarWalletAddress !== undefined &&
1560
+ (obj.targetAvatarWalletAddress = message.targetAvatarWalletAddress);
1561
+ return obj;
1562
+ }
1563
+
1564
+ export function create<I extends Exact<DeepPartial<LookAtPosition>, I>>(base?: I): LookAtPosition {
1565
+ return LookAtPosition.fromPartial(base ?? {});
1566
+ }
1567
+
1568
+ export function fromPartial<I extends Exact<DeepPartial<LookAtPosition>, I>>(object: I): LookAtPosition {
1569
+ const message = createBaseLookAtPosition();
1570
+ message.timestamp = object.timestamp ?? 0;
1571
+ message.positionX = object.positionX ?? 0;
1572
+ message.positionY = object.positionY ?? 0;
1573
+ message.positionZ = object.positionZ ?? 0;
1574
+ message.targetAvatarWalletAddress = object.targetAvatarWalletAddress ?? "";
1274
1575
  return message;
1275
1576
  }
1276
1577
  }
@@ -1547,7 +1848,7 @@ export namespace ProfileResponse {
1547
1848
  }
1548
1849
 
1549
1850
  function createBaseChat(): Chat {
1550
- return { message: "", timestamp: 0 };
1851
+ return { message: "", timestamp: 0, forwardedFrom: undefined };
1551
1852
  }
1552
1853
 
1553
1854
  export namespace Chat {
@@ -1558,6 +1859,9 @@ export namespace Chat {
1558
1859
  if (message.timestamp !== 0) {
1559
1860
  writer.uint32(17).double(message.timestamp);
1560
1861
  }
1862
+ if (message.forwardedFrom !== undefined) {
1863
+ writer.uint32(26).string(message.forwardedFrom);
1864
+ }
1561
1865
  return writer;
1562
1866
  }
1563
1867
 
@@ -1582,6 +1886,13 @@ export namespace Chat {
1582
1886
 
1583
1887
  message.timestamp = reader.double();
1584
1888
  continue;
1889
+ case 3:
1890
+ if (tag !== 26) {
1891
+ break;
1892
+ }
1893
+
1894
+ message.forwardedFrom = reader.string();
1895
+ continue;
1585
1896
  }
1586
1897
  if ((tag & 7) === 4 || tag === 0) {
1587
1898
  break;
@@ -1595,6 +1906,7 @@ export namespace Chat {
1595
1906
  return {
1596
1907
  message: isSet(object.message) ? String(object.message) : "",
1597
1908
  timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
1909
+ forwardedFrom: isSet(object.forwardedFrom) ? String(object.forwardedFrom) : undefined,
1598
1910
  };
1599
1911
  }
1600
1912
 
@@ -1602,6 +1914,7 @@ export namespace Chat {
1602
1914
  const obj: any = {};
1603
1915
  message.message !== undefined && (obj.message = message.message);
1604
1916
  message.timestamp !== undefined && (obj.timestamp = message.timestamp);
1917
+ message.forwardedFrom !== undefined && (obj.forwardedFrom = message.forwardedFrom);
1605
1918
  return obj;
1606
1919
  }
1607
1920
 
@@ -1613,6 +1926,7 @@ export namespace Chat {
1613
1926
  const message = createBaseChat();
1614
1927
  message.message = object.message ?? "";
1615
1928
  message.timestamp = object.timestamp ?? 0;
1929
+ message.forwardedFrom = object.forwardedFrom ?? undefined;
1616
1930
  return message;
1617
1931
  }
1618
1932
  }
@@ -5,6 +5,40 @@ import { Color3 } from "../../common/colors.gen";
5
5
 
6
6
  export const protobufPackage = "decentraland.sdk.components";
7
7
 
8
+ /** Mask for which bones an animation applies to. */
9
+ export enum AvatarEmoteMask {
10
+ AEM_FULL_BODY = 0,
11
+ AEM_UPPER_BODY = 1,
12
+ UNRECOGNIZED = -1,
13
+ }
14
+
15
+ export function avatarEmoteMaskFromJSON(object: any): AvatarEmoteMask {
16
+ switch (object) {
17
+ case 0:
18
+ case "AEM_FULL_BODY":
19
+ return AvatarEmoteMask.AEM_FULL_BODY;
20
+ case 1:
21
+ case "AEM_UPPER_BODY":
22
+ return AvatarEmoteMask.AEM_UPPER_BODY;
23
+ case -1:
24
+ case "UNRECOGNIZED":
25
+ default:
26
+ return AvatarEmoteMask.UNRECOGNIZED;
27
+ }
28
+ }
29
+
30
+ export function avatarEmoteMaskToJSON(object: AvatarEmoteMask): string {
31
+ switch (object) {
32
+ case AvatarEmoteMask.AEM_FULL_BODY:
33
+ return "AEM_FULL_BODY";
34
+ case AvatarEmoteMask.AEM_UPPER_BODY:
35
+ return "AEM_UPPER_BODY";
36
+ case AvatarEmoteMask.UNRECOGNIZED:
37
+ default:
38
+ return "UNRECOGNIZED";
39
+ }
40
+ }
41
+
8
42
  /**
9
43
  * The AvatarShape component contains the information required to draw and animate avatar, acting as
10
44
  * a simplified GLTF container for this specific case.