@dcl/protocol 1.0.0-22560904528.commit-203bb4a → 1.0.0-22576259823.commit-260e173
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/common/texture.gen.d.ts +18 -0
- package/out-js/decentraland/common/texture.gen.js +104 -4
- package/out-js/decentraland/common/texture.gen.js.map +1 -1
- package/out-js/decentraland/kernel/apis/restricted_actions.gen.d.ts +70 -0
- package/out-js/decentraland/kernel/apis/restricted_actions.gen.js +228 -1
- package/out-js/decentraland/kernel/apis/restricted_actions.gen.js.map +1 -1
- package/out-js/decentraland/kernel/comms/rfc4/comms.gen.d.ts +0 -46
- package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js +12 -315
- package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
- package/out-js/decentraland/sdk/components/avatar_equipped_data.gen.js +19 -2
- package/out-js/decentraland/sdk/components/avatar_equipped_data.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +45 -0
- package/out-js/decentraland/sdk/components/avatar_locomotion_settings.gen.js +138 -0
- package/out-js/decentraland/sdk/components/avatar_locomotion_settings.gen.js.map +1 -0
- package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +41 -0
- package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.js +241 -3
- package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/avatar_movement.gen.d.ts +34 -0
- package/out-js/decentraland/sdk/components/avatar_movement.gen.js +101 -0
- package/out-js/decentraland/sdk/components/avatar_movement.gen.js.map +1 -0
- package/out-js/decentraland/sdk/components/avatar_movement_info.gen.d.ts +44 -0
- package/out-js/decentraland/sdk/components/avatar_movement_info.gen.js +178 -0
- package/out-js/decentraland/sdk/components/avatar_movement_info.gen.js.map +1 -0
- package/out-js/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
- package/out-js/decentraland/sdk/components/avatar_shape.gen.js +19 -1
- package/out-js/decentraland/sdk/components/avatar_shape.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/camera_mode_area.gen.d.ts +35 -1
- package/out-js/decentraland/sdk/components/camera_mode_area.gen.js +172 -3
- package/out-js/decentraland/sdk/components/camera_mode_area.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/common/input_action.gen.d.ts +3 -9
- package/out-js/decentraland/sdk/components/common/input_action.gen.js +17 -44
- package/out-js/decentraland/sdk/components/common/input_action.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
- package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.js +90 -3
- package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/gltf_node.gen.d.ts +66 -0
- package/out-js/decentraland/sdk/components/gltf_node.gen.js +69 -0
- package/out-js/decentraland/sdk/components/gltf_node.gen.js.map +1 -0
- package/out-js/decentraland/sdk/components/gltf_node_state.gen.d.ts +43 -0
- package/out-js/decentraland/sdk/components/gltf_node_state.gen.js +122 -0
- package/out-js/decentraland/sdk/components/gltf_node_state.gen.js.map +1 -0
- package/out-js/decentraland/sdk/components/input_modifier.gen.d.ts +50 -0
- package/out-js/decentraland/sdk/components/input_modifier.gen.js +207 -0
- package/out-js/decentraland/sdk/components/input_modifier.gen.js.map +1 -0
- package/out-js/decentraland/sdk/components/material.gen.d.ts +20 -0
- package/out-js/decentraland/sdk/components/material.gen.js +86 -2
- package/out-js/decentraland/sdk/components/material.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/mesh_collider.gen.d.ts +18 -0
- package/out-js/decentraland/sdk/components/mesh_collider.gen.js +90 -4
- package/out-js/decentraland/sdk/components/mesh_collider.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/mesh_renderer.gen.d.ts +19 -3
- package/out-js/decentraland/sdk/components/mesh_renderer.gen.js +90 -4
- package/out-js/decentraland/sdk/components/mesh_renderer.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/pointer_events.gen.d.ts +1 -5
- package/out-js/decentraland/sdk/components/pointer_events.gen.js +3 -31
- package/out-js/decentraland/sdk/components/pointer_events.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/raycast.gen.d.ts +13 -0
- package/out-js/decentraland/sdk/components/raycast.gen.js +64 -2
- package/out-js/decentraland/sdk/components/raycast.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/tween.gen.d.ts +0 -36
- package/out-js/decentraland/sdk/components/tween.gen.js +6 -302
- package/out-js/decentraland/sdk/components/tween.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
- package/out-js/decentraland/sdk/components/ui_text.gen.js +30 -1
- package/out-js/decentraland/sdk/components/ui_text.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/ui_transform.gen.d.ts +33 -0
- package/out-js/decentraland/sdk/components/ui_transform.gen.js +176 -3
- package/out-js/decentraland/sdk/components/ui_transform.gen.js.map +1 -1
- package/out-js/decentraland/social_service/v2/social_service_v2.gen.d.ts +3 -0
- package/out-js/decentraland/social_service/v2/social_service_v2.gen.js +40 -2
- package/out-js/decentraland/social_service/v2/social_service_v2.gen.js.map +1 -1
- package/out-ts/decentraland/common/texture.gen.ts +119 -4
- package/out-ts/decentraland/kernel/apis/restricted_actions.gen.ts +242 -0
- package/out-ts/decentraland/kernel/comms/rfc4/comms.gen.ts +3 -375
- package/out-ts/decentraland/sdk/components/avatar_equipped_data.gen.ts +20 -1
- package/out-ts/decentraland/sdk/components/avatar_locomotion_settings.gen.ts +183 -0
- package/out-ts/decentraland/sdk/components/avatar_modifier_area.gen.ts +292 -1
- package/out-ts/decentraland/sdk/components/avatar_movement.gen.ts +119 -0
- package/out-ts/decentraland/sdk/components/avatar_movement_info.gen.ts +210 -0
- package/out-ts/decentraland/sdk/components/avatar_shape.gen.ts +23 -1
- package/out-ts/decentraland/sdk/components/camera_mode_area.gen.ts +218 -2
- package/out-ts/decentraland/sdk/components/common/input_action.gen.ts +16 -43
- package/out-ts/decentraland/sdk/components/gltf_container_loading_state.gen.ts +108 -2
- package/out-ts/decentraland/sdk/components/gltf_node.gen.ts +116 -0
- package/out-ts/decentraland/sdk/components/gltf_node_state.gen.ts +139 -0
- package/out-ts/decentraland/sdk/components/input_modifier.gen.ts +235 -0
- package/out-ts/decentraland/sdk/components/material.gen.ts +102 -1
- package/out-ts/decentraland/sdk/components/mesh_collider.gen.ts +99 -0
- package/out-ts/decentraland/sdk/components/mesh_renderer.gen.ts +100 -3
- package/out-ts/decentraland/sdk/components/pointer_events.gen.ts +3 -44
- package/out-ts/decentraland/sdk/components/raycast.gen.ts +73 -1
- package/out-ts/decentraland/sdk/components/tween.gen.ts +0 -333
- package/out-ts/decentraland/sdk/components/ui_text.gen.ts +40 -1
- package/out-ts/decentraland/sdk/components/ui_transform.gen.ts +193 -0
- package/out-ts/decentraland/social_service/v2/social_service_v2.gen.ts +44 -2
- package/package.json +7 -4
- package/proto/decentraland/common/texture.proto +8 -1
- package/proto/decentraland/kernel/apis/restricted_actions.proto +22 -0
- package/proto/decentraland/kernel/comms/rfc4/comms.proto +0 -29
- package/proto/decentraland/sdk/components/avatar_equipped_data.proto +2 -1
- package/proto/decentraland/sdk/components/avatar_modifier_area.proto +21 -0
- package/proto/decentraland/sdk/components/avatar_movement.proto +45 -0
- package/proto/decentraland/sdk/components/avatar_movement_info.proto +20 -0
- package/proto/decentraland/sdk/components/avatar_shape.proto +1 -0
- package/proto/decentraland/sdk/components/camera_layer.proto +30 -0
- package/proto/decentraland/sdk/components/camera_layers.proto +11 -0
- package/proto/decentraland/sdk/components/camera_mode_area.proto +22 -3
- package/proto/decentraland/sdk/components/common/input_action.proto +3 -7
- package/proto/decentraland/sdk/components/global_light.proto +22 -0
- package/proto/decentraland/sdk/components/gltf_container_loading_state.proto +13 -0
- package/proto/decentraland/sdk/components/gltf_node.proto +42 -0
- package/proto/decentraland/sdk/components/gltf_node_state.proto +20 -0
- package/proto/decentraland/sdk/components/light_source.proto +1 -1
- package/proto/decentraland/sdk/components/material.proto +13 -1
- package/proto/decentraland/sdk/components/mesh_collider.proto +7 -0
- package/proto/decentraland/sdk/components/mesh_renderer.proto +8 -3
- package/proto/decentraland/sdk/components/pointer_events.proto +0 -2
- package/proto/decentraland/sdk/components/primary_pointer_info.proto +5 -0
- package/proto/decentraland/sdk/components/raycast.proto +13 -0
- package/proto/decentraland/sdk/components/texture_camera.proto +46 -0
- package/proto/decentraland/sdk/components/tween.proto +0 -18
- package/proto/decentraland/sdk/components/ui_canvas.proto +16 -0
- package/proto/decentraland/sdk/components/ui_scroll_result.proto +12 -0
- package/proto/decentraland/sdk/components/ui_text.proto +3 -0
- package/proto/decentraland/sdk/components/ui_transform.proto +20 -0
- package/proto/decentraland/sdk/components/virtual_camera.proto +0 -2
- package/proto/decentraland/social_service/v2/social_service_v2.proto +3 -0
- package/public/sdk-components.proto +4 -0
- package/proto/decentraland/sdk/components/audio_analysis.proto +0 -44
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import _m0 from "protobufjs/minimal";
|
|
3
3
|
import { Color4 } from "../../common/colors.gen";
|
|
4
|
+
import { Vector2 } from "../../common/vectors.gen";
|
|
4
5
|
|
|
5
6
|
export const protobufPackage = "decentraland.sdk.components";
|
|
6
7
|
|
|
@@ -472,6 +473,55 @@ export function pointerFilterModeToJSON(object: PointerFilterMode): string {
|
|
|
472
473
|
}
|
|
473
474
|
}
|
|
474
475
|
|
|
476
|
+
export enum ShowScrollBar {
|
|
477
|
+
SSB_BOTH = 0,
|
|
478
|
+
SSB_ONLY_VERTICAL = 1,
|
|
479
|
+
SSB_ONLY_HORIZONTAL = 2,
|
|
480
|
+
SSB_HIDDEN = 3,
|
|
481
|
+
UNRECOGNIZED = -1,
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
export function showScrollBarFromJSON(object: any): ShowScrollBar {
|
|
485
|
+
switch (object) {
|
|
486
|
+
case 0:
|
|
487
|
+
case "SSB_BOTH":
|
|
488
|
+
return ShowScrollBar.SSB_BOTH;
|
|
489
|
+
case 1:
|
|
490
|
+
case "SSB_ONLY_VERTICAL":
|
|
491
|
+
return ShowScrollBar.SSB_ONLY_VERTICAL;
|
|
492
|
+
case 2:
|
|
493
|
+
case "SSB_ONLY_HORIZONTAL":
|
|
494
|
+
return ShowScrollBar.SSB_ONLY_HORIZONTAL;
|
|
495
|
+
case 3:
|
|
496
|
+
case "SSB_HIDDEN":
|
|
497
|
+
return ShowScrollBar.SSB_HIDDEN;
|
|
498
|
+
case -1:
|
|
499
|
+
case "UNRECOGNIZED":
|
|
500
|
+
default:
|
|
501
|
+
return ShowScrollBar.UNRECOGNIZED;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
export function showScrollBarToJSON(object: ShowScrollBar): string {
|
|
506
|
+
switch (object) {
|
|
507
|
+
case ShowScrollBar.SSB_BOTH:
|
|
508
|
+
return "SSB_BOTH";
|
|
509
|
+
case ShowScrollBar.SSB_ONLY_VERTICAL:
|
|
510
|
+
return "SSB_ONLY_VERTICAL";
|
|
511
|
+
case ShowScrollBar.SSB_ONLY_HORIZONTAL:
|
|
512
|
+
return "SSB_ONLY_HORIZONTAL";
|
|
513
|
+
case ShowScrollBar.SSB_HIDDEN:
|
|
514
|
+
return "SSB_HIDDEN";
|
|
515
|
+
case ShowScrollBar.UNRECOGNIZED:
|
|
516
|
+
default:
|
|
517
|
+
return "UNRECOGNIZED";
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
export interface ScrollPositionValue {
|
|
522
|
+
value?: { $case: "position"; position: Vector2 } | { $case: "reference"; reference: string } | undefined;
|
|
523
|
+
}
|
|
524
|
+
|
|
475
525
|
export interface PBUiTransform {
|
|
476
526
|
parent: number;
|
|
477
527
|
rightOf: number;
|
|
@@ -616,10 +666,105 @@ export interface PBUiTransform {
|
|
|
616
666
|
opacity?:
|
|
617
667
|
| number
|
|
618
668
|
| undefined;
|
|
669
|
+
/** reference for scroll_position. default empty */
|
|
670
|
+
elementId?:
|
|
671
|
+
| string
|
|
672
|
+
| undefined;
|
|
673
|
+
/** default position=(0,0) */
|
|
674
|
+
scrollPosition?:
|
|
675
|
+
| ScrollPositionValue
|
|
676
|
+
| undefined;
|
|
677
|
+
/** default ShowScrollBar.SSB_BOTH */
|
|
678
|
+
scrollVisible?:
|
|
679
|
+
| ShowScrollBar
|
|
680
|
+
| undefined;
|
|
619
681
|
/** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
|
|
620
682
|
zIndex?: number | undefined;
|
|
621
683
|
}
|
|
622
684
|
|
|
685
|
+
function createBaseScrollPositionValue(): ScrollPositionValue {
|
|
686
|
+
return { value: undefined };
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
export namespace ScrollPositionValue {
|
|
690
|
+
export function encode(message: ScrollPositionValue, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
691
|
+
switch (message.value?.$case) {
|
|
692
|
+
case "position":
|
|
693
|
+
Vector2.encode(message.value.position, writer.uint32(10).fork()).ldelim();
|
|
694
|
+
break;
|
|
695
|
+
case "reference":
|
|
696
|
+
writer.uint32(18).string(message.value.reference);
|
|
697
|
+
break;
|
|
698
|
+
}
|
|
699
|
+
return writer;
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue {
|
|
703
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
704
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
705
|
+
const message = createBaseScrollPositionValue();
|
|
706
|
+
while (reader.pos < end) {
|
|
707
|
+
const tag = reader.uint32();
|
|
708
|
+
switch (tag >>> 3) {
|
|
709
|
+
case 1:
|
|
710
|
+
if (tag !== 10) {
|
|
711
|
+
break;
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
message.value = { $case: "position", position: Vector2.decode(reader, reader.uint32()) };
|
|
715
|
+
continue;
|
|
716
|
+
case 2:
|
|
717
|
+
if (tag !== 18) {
|
|
718
|
+
break;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
message.value = { $case: "reference", reference: reader.string() };
|
|
722
|
+
continue;
|
|
723
|
+
}
|
|
724
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
725
|
+
break;
|
|
726
|
+
}
|
|
727
|
+
reader.skipType(tag & 7);
|
|
728
|
+
}
|
|
729
|
+
return message;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
export function fromJSON(object: any): ScrollPositionValue {
|
|
733
|
+
return {
|
|
734
|
+
value: isSet(object.position)
|
|
735
|
+
? { $case: "position", position: Vector2.fromJSON(object.position) }
|
|
736
|
+
: isSet(object.reference)
|
|
737
|
+
? { $case: "reference", reference: String(object.reference) }
|
|
738
|
+
: undefined,
|
|
739
|
+
};
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
export function toJSON(message: ScrollPositionValue): unknown {
|
|
743
|
+
const obj: any = {};
|
|
744
|
+
message.value?.$case === "position" &&
|
|
745
|
+
(obj.position = message.value?.position ? Vector2.toJSON(message.value?.position) : undefined);
|
|
746
|
+
message.value?.$case === "reference" && (obj.reference = message.value?.reference);
|
|
747
|
+
return obj;
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
export function create<I extends Exact<DeepPartial<ScrollPositionValue>, I>>(base?: I): ScrollPositionValue {
|
|
751
|
+
return ScrollPositionValue.fromPartial(base ?? {});
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
export function fromPartial<I extends Exact<DeepPartial<ScrollPositionValue>, I>>(object: I): ScrollPositionValue {
|
|
755
|
+
const message = createBaseScrollPositionValue();
|
|
756
|
+
if (object.value?.$case === "position" && object.value?.position !== undefined && object.value?.position !== null) {
|
|
757
|
+
message.value = { $case: "position", position: Vector2.fromPartial(object.value.position) };
|
|
758
|
+
}
|
|
759
|
+
if (
|
|
760
|
+
object.value?.$case === "reference" && object.value?.reference !== undefined && object.value?.reference !== null
|
|
761
|
+
) {
|
|
762
|
+
message.value = { $case: "reference", reference: object.value.reference };
|
|
763
|
+
}
|
|
764
|
+
return message;
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
|
|
623
768
|
function createBasePBUiTransform(): PBUiTransform {
|
|
624
769
|
return {
|
|
625
770
|
parent: 0,
|
|
@@ -695,6 +840,9 @@ function createBasePBUiTransform(): PBUiTransform {
|
|
|
695
840
|
borderLeftColor: undefined,
|
|
696
841
|
borderRightColor: undefined,
|
|
697
842
|
opacity: undefined,
|
|
843
|
+
elementId: undefined,
|
|
844
|
+
scrollPosition: undefined,
|
|
845
|
+
scrollVisible: undefined,
|
|
698
846
|
zIndex: undefined,
|
|
699
847
|
};
|
|
700
848
|
}
|
|
@@ -920,6 +1068,15 @@ export namespace PBUiTransform {
|
|
|
920
1068
|
if (message.opacity !== undefined) {
|
|
921
1069
|
writer.uint32(589).float(message.opacity);
|
|
922
1070
|
}
|
|
1071
|
+
if (message.elementId !== undefined) {
|
|
1072
|
+
writer.uint32(594).string(message.elementId);
|
|
1073
|
+
}
|
|
1074
|
+
if (message.scrollPosition !== undefined) {
|
|
1075
|
+
ScrollPositionValue.encode(message.scrollPosition, writer.uint32(602).fork()).ldelim();
|
|
1076
|
+
}
|
|
1077
|
+
if (message.scrollVisible !== undefined) {
|
|
1078
|
+
writer.uint32(608).int32(message.scrollVisible);
|
|
1079
|
+
}
|
|
923
1080
|
if (message.zIndex !== undefined) {
|
|
924
1081
|
writer.uint32(616).int32(message.zIndex);
|
|
925
1082
|
}
|
|
@@ -1444,6 +1601,27 @@ export namespace PBUiTransform {
|
|
|
1444
1601
|
|
|
1445
1602
|
message.opacity = reader.float();
|
|
1446
1603
|
continue;
|
|
1604
|
+
case 74:
|
|
1605
|
+
if (tag !== 594) {
|
|
1606
|
+
break;
|
|
1607
|
+
}
|
|
1608
|
+
|
|
1609
|
+
message.elementId = reader.string();
|
|
1610
|
+
continue;
|
|
1611
|
+
case 75:
|
|
1612
|
+
if (tag !== 602) {
|
|
1613
|
+
break;
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1616
|
+
message.scrollPosition = ScrollPositionValue.decode(reader, reader.uint32());
|
|
1617
|
+
continue;
|
|
1618
|
+
case 76:
|
|
1619
|
+
if (tag !== 608) {
|
|
1620
|
+
break;
|
|
1621
|
+
}
|
|
1622
|
+
|
|
1623
|
+
message.scrollVisible = reader.int32() as any;
|
|
1624
|
+
continue;
|
|
1447
1625
|
case 77:
|
|
1448
1626
|
if (tag !== 616) {
|
|
1449
1627
|
break;
|
|
@@ -1549,6 +1727,9 @@ export namespace PBUiTransform {
|
|
|
1549
1727
|
borderLeftColor: isSet(object.borderLeftColor) ? Color4.fromJSON(object.borderLeftColor) : undefined,
|
|
1550
1728
|
borderRightColor: isSet(object.borderRightColor) ? Color4.fromJSON(object.borderRightColor) : undefined,
|
|
1551
1729
|
opacity: isSet(object.opacity) ? Number(object.opacity) : undefined,
|
|
1730
|
+
elementId: isSet(object.elementId) ? String(object.elementId) : undefined,
|
|
1731
|
+
scrollPosition: isSet(object.scrollPosition) ? ScrollPositionValue.fromJSON(object.scrollPosition) : undefined,
|
|
1732
|
+
scrollVisible: isSet(object.scrollVisible) ? showScrollBarFromJSON(object.scrollVisible) : undefined,
|
|
1552
1733
|
zIndex: isSet(object.zIndex) ? Number(object.zIndex) : undefined,
|
|
1553
1734
|
};
|
|
1554
1735
|
}
|
|
@@ -1662,6 +1843,13 @@ export namespace PBUiTransform {
|
|
|
1662
1843
|
message.borderRightColor !== undefined &&
|
|
1663
1844
|
(obj.borderRightColor = message.borderRightColor ? Color4.toJSON(message.borderRightColor) : undefined);
|
|
1664
1845
|
message.opacity !== undefined && (obj.opacity = message.opacity);
|
|
1846
|
+
message.elementId !== undefined && (obj.elementId = message.elementId);
|
|
1847
|
+
message.scrollPosition !== undefined &&
|
|
1848
|
+
(obj.scrollPosition = message.scrollPosition ? ScrollPositionValue.toJSON(message.scrollPosition) : undefined);
|
|
1849
|
+
message.scrollVisible !== undefined &&
|
|
1850
|
+
(obj.scrollVisible = message.scrollVisible !== undefined
|
|
1851
|
+
? showScrollBarToJSON(message.scrollVisible)
|
|
1852
|
+
: undefined);
|
|
1665
1853
|
message.zIndex !== undefined && (obj.zIndex = Math.round(message.zIndex));
|
|
1666
1854
|
return obj;
|
|
1667
1855
|
}
|
|
@@ -1753,6 +1941,11 @@ export namespace PBUiTransform {
|
|
|
1753
1941
|
? Color4.fromPartial(object.borderRightColor)
|
|
1754
1942
|
: undefined;
|
|
1755
1943
|
message.opacity = object.opacity ?? undefined;
|
|
1944
|
+
message.elementId = object.elementId ?? undefined;
|
|
1945
|
+
message.scrollPosition = (object.scrollPosition !== undefined && object.scrollPosition !== null)
|
|
1946
|
+
? ScrollPositionValue.fromPartial(object.scrollPosition)
|
|
1947
|
+
: undefined;
|
|
1948
|
+
message.scrollVisible = object.scrollVisible ?? undefined;
|
|
1756
1949
|
message.zIndex = object.zIndex ?? undefined;
|
|
1757
1950
|
return message;
|
|
1758
1951
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import Long from "long";
|
|
3
3
|
import _m0 from "protobufjs/minimal";
|
|
4
4
|
import { Empty } from "../../../google/protobuf/empty.gen";
|
|
5
|
+
import { Color3 } from "../../common/colors.gen";
|
|
5
6
|
import {
|
|
6
7
|
ConflictingError,
|
|
7
8
|
ForbiddenError,
|
|
@@ -288,6 +289,7 @@ export interface FriendProfile {
|
|
|
288
289
|
name: string;
|
|
289
290
|
hasClaimedName: boolean;
|
|
290
291
|
profilePictureUrl: string;
|
|
292
|
+
nameColor?: Color3 | undefined;
|
|
291
293
|
}
|
|
292
294
|
|
|
293
295
|
export interface BlockedUserProfile {
|
|
@@ -296,6 +298,7 @@ export interface BlockedUserProfile {
|
|
|
296
298
|
hasClaimedName: boolean;
|
|
297
299
|
profilePictureUrl: string;
|
|
298
300
|
blockedAt?: number | undefined;
|
|
301
|
+
nameColor?: Color3 | undefined;
|
|
299
302
|
}
|
|
300
303
|
|
|
301
304
|
export interface Pagination {
|
|
@@ -927,7 +930,7 @@ export namespace User {
|
|
|
927
930
|
}
|
|
928
931
|
|
|
929
932
|
function createBaseFriendProfile(): FriendProfile {
|
|
930
|
-
return { address: "", name: "", hasClaimedName: false, profilePictureUrl: "" };
|
|
933
|
+
return { address: "", name: "", hasClaimedName: false, profilePictureUrl: "", nameColor: undefined };
|
|
931
934
|
}
|
|
932
935
|
|
|
933
936
|
export namespace FriendProfile {
|
|
@@ -944,6 +947,9 @@ export namespace FriendProfile {
|
|
|
944
947
|
if (message.profilePictureUrl !== "") {
|
|
945
948
|
writer.uint32(34).string(message.profilePictureUrl);
|
|
946
949
|
}
|
|
950
|
+
if (message.nameColor !== undefined) {
|
|
951
|
+
Color3.encode(message.nameColor, writer.uint32(42).fork()).ldelim();
|
|
952
|
+
}
|
|
947
953
|
return writer;
|
|
948
954
|
}
|
|
949
955
|
|
|
@@ -982,6 +988,13 @@ export namespace FriendProfile {
|
|
|
982
988
|
|
|
983
989
|
message.profilePictureUrl = reader.string();
|
|
984
990
|
continue;
|
|
991
|
+
case 5:
|
|
992
|
+
if (tag !== 42) {
|
|
993
|
+
break;
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
message.nameColor = Color3.decode(reader, reader.uint32());
|
|
997
|
+
continue;
|
|
985
998
|
}
|
|
986
999
|
if ((tag & 7) === 4 || tag === 0) {
|
|
987
1000
|
break;
|
|
@@ -997,6 +1010,7 @@ export namespace FriendProfile {
|
|
|
997
1010
|
name: isSet(object.name) ? String(object.name) : "",
|
|
998
1011
|
hasClaimedName: isSet(object.hasClaimedName) ? Boolean(object.hasClaimedName) : false,
|
|
999
1012
|
profilePictureUrl: isSet(object.profilePictureUrl) ? String(object.profilePictureUrl) : "",
|
|
1013
|
+
nameColor: isSet(object.nameColor) ? Color3.fromJSON(object.nameColor) : undefined,
|
|
1000
1014
|
};
|
|
1001
1015
|
}
|
|
1002
1016
|
|
|
@@ -1006,6 +1020,8 @@ export namespace FriendProfile {
|
|
|
1006
1020
|
message.name !== undefined && (obj.name = message.name);
|
|
1007
1021
|
message.hasClaimedName !== undefined && (obj.hasClaimedName = message.hasClaimedName);
|
|
1008
1022
|
message.profilePictureUrl !== undefined && (obj.profilePictureUrl = message.profilePictureUrl);
|
|
1023
|
+
message.nameColor !== undefined &&
|
|
1024
|
+
(obj.nameColor = message.nameColor ? Color3.toJSON(message.nameColor) : undefined);
|
|
1009
1025
|
return obj;
|
|
1010
1026
|
}
|
|
1011
1027
|
|
|
@@ -1019,12 +1035,22 @@ export namespace FriendProfile {
|
|
|
1019
1035
|
message.name = object.name ?? "";
|
|
1020
1036
|
message.hasClaimedName = object.hasClaimedName ?? false;
|
|
1021
1037
|
message.profilePictureUrl = object.profilePictureUrl ?? "";
|
|
1038
|
+
message.nameColor = (object.nameColor !== undefined && object.nameColor !== null)
|
|
1039
|
+
? Color3.fromPartial(object.nameColor)
|
|
1040
|
+
: undefined;
|
|
1022
1041
|
return message;
|
|
1023
1042
|
}
|
|
1024
1043
|
}
|
|
1025
1044
|
|
|
1026
1045
|
function createBaseBlockedUserProfile(): BlockedUserProfile {
|
|
1027
|
-
return {
|
|
1046
|
+
return {
|
|
1047
|
+
address: "",
|
|
1048
|
+
name: "",
|
|
1049
|
+
hasClaimedName: false,
|
|
1050
|
+
profilePictureUrl: "",
|
|
1051
|
+
blockedAt: undefined,
|
|
1052
|
+
nameColor: undefined,
|
|
1053
|
+
};
|
|
1028
1054
|
}
|
|
1029
1055
|
|
|
1030
1056
|
export namespace BlockedUserProfile {
|
|
@@ -1044,6 +1070,9 @@ export namespace BlockedUserProfile {
|
|
|
1044
1070
|
if (message.blockedAt !== undefined) {
|
|
1045
1071
|
writer.uint32(40).int64(message.blockedAt);
|
|
1046
1072
|
}
|
|
1073
|
+
if (message.nameColor !== undefined) {
|
|
1074
|
+
Color3.encode(message.nameColor, writer.uint32(50).fork()).ldelim();
|
|
1075
|
+
}
|
|
1047
1076
|
return writer;
|
|
1048
1077
|
}
|
|
1049
1078
|
|
|
@@ -1089,6 +1118,13 @@ export namespace BlockedUserProfile {
|
|
|
1089
1118
|
|
|
1090
1119
|
message.blockedAt = longToNumber(reader.int64() as Long);
|
|
1091
1120
|
continue;
|
|
1121
|
+
case 6:
|
|
1122
|
+
if (tag !== 50) {
|
|
1123
|
+
break;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
message.nameColor = Color3.decode(reader, reader.uint32());
|
|
1127
|
+
continue;
|
|
1092
1128
|
}
|
|
1093
1129
|
if ((tag & 7) === 4 || tag === 0) {
|
|
1094
1130
|
break;
|
|
@@ -1105,6 +1141,7 @@ export namespace BlockedUserProfile {
|
|
|
1105
1141
|
hasClaimedName: isSet(object.hasClaimedName) ? Boolean(object.hasClaimedName) : false,
|
|
1106
1142
|
profilePictureUrl: isSet(object.profilePictureUrl) ? String(object.profilePictureUrl) : "",
|
|
1107
1143
|
blockedAt: isSet(object.blockedAt) ? Number(object.blockedAt) : undefined,
|
|
1144
|
+
nameColor: isSet(object.nameColor) ? Color3.fromJSON(object.nameColor) : undefined,
|
|
1108
1145
|
};
|
|
1109
1146
|
}
|
|
1110
1147
|
|
|
@@ -1115,6 +1152,8 @@ export namespace BlockedUserProfile {
|
|
|
1115
1152
|
message.hasClaimedName !== undefined && (obj.hasClaimedName = message.hasClaimedName);
|
|
1116
1153
|
message.profilePictureUrl !== undefined && (obj.profilePictureUrl = message.profilePictureUrl);
|
|
1117
1154
|
message.blockedAt !== undefined && (obj.blockedAt = Math.round(message.blockedAt));
|
|
1155
|
+
message.nameColor !== undefined &&
|
|
1156
|
+
(obj.nameColor = message.nameColor ? Color3.toJSON(message.nameColor) : undefined);
|
|
1118
1157
|
return obj;
|
|
1119
1158
|
}
|
|
1120
1159
|
|
|
@@ -1129,6 +1168,9 @@ export namespace BlockedUserProfile {
|
|
|
1129
1168
|
message.hasClaimedName = object.hasClaimedName ?? false;
|
|
1130
1169
|
message.profilePictureUrl = object.profilePictureUrl ?? "";
|
|
1131
1170
|
message.blockedAt = object.blockedAt ?? undefined;
|
|
1171
|
+
message.nameColor = (object.nameColor !== undefined && object.nameColor !== null)
|
|
1172
|
+
? Color3.fromPartial(object.nameColor)
|
|
1173
|
+
: undefined;
|
|
1132
1174
|
return message;
|
|
1133
1175
|
}
|
|
1134
1176
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/protocol",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-22576259823.commit-260e173",
|
|
4
4
|
"description": "",
|
|
5
|
-
"repository":
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/decentraland/protocol.git"
|
|
8
|
+
},
|
|
6
9
|
"homepage": "https://github.com/decentraland/protocol#readme",
|
|
7
10
|
"bugs": "https://github.com/decentraland/protocol/issues",
|
|
8
11
|
"keywords": [],
|
|
@@ -13,7 +16,7 @@
|
|
|
13
16
|
"test": "./scripts/check-proto-compabitility.sh"
|
|
14
17
|
},
|
|
15
18
|
"devDependencies": {
|
|
16
|
-
"@protobuf-ts/protoc": "^2.
|
|
19
|
+
"@protobuf-ts/protoc": "^2.8.1",
|
|
17
20
|
"proto-compatibility-tool": "^1.1.2-20220925163655.commit-25bd040",
|
|
18
21
|
"typescript": "^5.0.4"
|
|
19
22
|
},
|
|
@@ -30,5 +33,5 @@
|
|
|
30
33
|
"out-js",
|
|
31
34
|
"public"
|
|
32
35
|
],
|
|
33
|
-
"commit": "
|
|
36
|
+
"commit": "260e173ec2bef5afa8381de043159ff1f0ec73f0"
|
|
34
37
|
}
|
|
@@ -36,10 +36,17 @@ message VideoTexture {
|
|
|
36
36
|
optional TextureFilterMode filter_mode = 3; // default = FilterMode.Bilinear
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
message UiCanvasTexture {
|
|
40
|
+
uint32 ui_canvas_entity = 1;
|
|
41
|
+
optional TextureWrapMode wrap_mode = 2; // default = TextureWrapMode.Clamp
|
|
42
|
+
optional TextureFilterMode filter_mode = 3; // default = FilterMode.Bilinear
|
|
43
|
+
}
|
|
44
|
+
|
|
39
45
|
message TextureUnion {
|
|
40
46
|
oneof tex {
|
|
41
47
|
Texture texture = 1; // default = null
|
|
42
48
|
AvatarTexture avatar_texture = 2; // default = null
|
|
43
49
|
VideoTexture video_texture = 3; // default = null
|
|
50
|
+
UiCanvasTexture ui_texture = 4;
|
|
44
51
|
}
|
|
45
|
-
}
|
|
52
|
+
}
|
|
@@ -54,6 +54,19 @@ message MovePlayerToResponse {
|
|
|
54
54
|
|
|
55
55
|
message TeleportToResponse { }
|
|
56
56
|
|
|
57
|
+
message SetUiFocusRequest {
|
|
58
|
+
string element_id = 1;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
message ClearUiFocusRequest { }
|
|
62
|
+
|
|
63
|
+
message GetUiFocusRequest { }
|
|
64
|
+
|
|
65
|
+
message UiFocusResponse {
|
|
66
|
+
// the element that is/was focussed
|
|
67
|
+
optional string element_id = 1;
|
|
68
|
+
}
|
|
69
|
+
|
|
57
70
|
message CopyToClipboardRequest {
|
|
58
71
|
string text = 1;
|
|
59
72
|
}
|
|
@@ -88,6 +101,15 @@ service RestrictedActionsService {
|
|
|
88
101
|
// TriggerSceneEmote will trigger an scene emote file in this current user
|
|
89
102
|
rpc TriggerSceneEmote(TriggerSceneEmoteRequest) returns (SuccessResponse) {}
|
|
90
103
|
|
|
104
|
+
// Sets the focus to a specific UI element
|
|
105
|
+
rpc SetUiFocus(SetUiFocusRequest) returns (UiFocusResponse) {}
|
|
106
|
+
|
|
107
|
+
// Clears the focus from any currently focused textentry or dropdown
|
|
108
|
+
rpc ClearUiFocus(SetUiFocusRequest) returns (UiFocusResponse) {}
|
|
109
|
+
|
|
110
|
+
// Returns the element_id of any currently focused textentry or dropdown
|
|
111
|
+
rpc GetUiFocus(GetUiFocusRequest) returns (UiFocusResponse) {}
|
|
112
|
+
|
|
91
113
|
// CopyToClipboard copies the provided text into the clipboard
|
|
92
114
|
rpc CopyToClipboard(CopyToClipboardRequest) returns (EmptyResponse) {}
|
|
93
115
|
}
|
|
@@ -18,7 +18,6 @@ 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;
|
|
22
21
|
}
|
|
23
22
|
uint32 protocol_version = 11;
|
|
24
23
|
}
|
|
@@ -61,41 +60,17 @@ message Movement {
|
|
|
61
60
|
// interpolation
|
|
62
61
|
bool is_instant = 17;
|
|
63
62
|
bool is_emoting = 18;
|
|
64
|
-
// head-sync (enabled flags + world-space yaw and pitch angles, in degrees)
|
|
65
|
-
bool head_ik_yaw_enabled = 19;
|
|
66
|
-
bool head_ik_pitch_enabled = 20;
|
|
67
|
-
float head_yaw = 21;
|
|
68
|
-
float head_pitch = 22;
|
|
69
63
|
}
|
|
70
64
|
|
|
71
65
|
message MovementCompressed {
|
|
72
66
|
int32 temporal_data = 1; // bit-compressed: timestamp + animations
|
|
73
67
|
int64 movement_data = 2; // bit-compressed: position + velocity
|
|
74
|
-
int32 head_sync_data = 3; // bit-compressed: enabled flags + yaw + pitch
|
|
75
68
|
}
|
|
76
69
|
|
|
77
70
|
message PlayerEmote {
|
|
78
71
|
uint32 incremental_id = 1;
|
|
79
72
|
string urn = 2;
|
|
80
73
|
float timestamp = 3;
|
|
81
|
-
optional bool is_stopping = 4; // true means the emote has been stopped in the sender's client
|
|
82
|
-
optional bool is_repeating = 5; // true when it is not the first time the looping animation plays
|
|
83
|
-
optional int32 interaction_id = 6; // identifies an interaction univocaly, established when the start animation is triggered
|
|
84
|
-
optional int32 social_emote_outcome = 7; // -1 means it does not use an outcome animation
|
|
85
|
-
optional bool is_reacting = 8; // to a social emote started by other user
|
|
86
|
-
optional string social_emote_initiator = 9; // wallet address of the user that initiated social emote
|
|
87
|
-
optional string target_avatar = 10; // wallet address of the user whose avatar is the target of a directed emote
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Message sent to force an avatar to look at a position
|
|
91
|
-
message LookAtPosition
|
|
92
|
-
{
|
|
93
|
-
float timestamp = 1;
|
|
94
|
-
// world position
|
|
95
|
-
float position_x = 2;
|
|
96
|
-
float position_y = 3;
|
|
97
|
-
float position_z = 4;
|
|
98
|
-
string target_avatar_wallet_address = 5;
|
|
99
74
|
}
|
|
100
75
|
|
|
101
76
|
message SceneEmote {
|
|
@@ -128,10 +103,6 @@ message ProfileResponse {
|
|
|
128
103
|
message Chat {
|
|
129
104
|
string message = 1;
|
|
130
105
|
double timestamp = 2;
|
|
131
|
-
|
|
132
|
-
// Extension: optional forwarded_from to identify the original sender when
|
|
133
|
-
// messages are forwarded through an SFU
|
|
134
|
-
optional string forwarded_from = 3;
|
|
135
106
|
}
|
|
136
107
|
|
|
137
108
|
message Scene {
|
|
@@ -23,6 +23,8 @@ message PBAvatarModifierArea {
|
|
|
23
23
|
decentraland.common.Vector3 area = 1; // the 3D size of the region
|
|
24
24
|
repeated string exclude_ids = 2; // user IDs that can enter and remain unaffected
|
|
25
25
|
repeated AvatarModifierType modifiers = 3; // list of modifiers to apply
|
|
26
|
+
optional AvatarMovementSettings movement_settings = 4;
|
|
27
|
+
optional bool use_collider_range = 5; // if true, the player will be considered inside the area when they are within 0.3m of the area. default true
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
// AvatarModifierType is an effect that should be applied to avatars inside the region.
|
|
@@ -30,3 +32,22 @@ enum AvatarModifierType {
|
|
|
30
32
|
AMT_HIDE_AVATARS = 0; // avatars are invisible
|
|
31
33
|
AMT_DISABLE_PASSPORTS = 1; // selecting (e.g. clicking) an avatar will not bring up their profile.
|
|
32
34
|
}
|
|
35
|
+
|
|
36
|
+
message AvatarMovementSettings {
|
|
37
|
+
optional AvatarControlType control_mode = 1;
|
|
38
|
+
// if not explicitly set, the following properties default to user's preference settings
|
|
39
|
+
optional float run_speed = 2; // speed the player moves at, in m/s
|
|
40
|
+
optional float friction = 3; // how fast the player gets up to speed or comes to rest. higher = more responsive
|
|
41
|
+
optional float gravity = 4; // how fast the player accelerates vertically when not on a solid surface, in m/s. should normally be negative
|
|
42
|
+
optional float jump_height = 5; // how high the player can jump, in meters. should normally be positive. gravity must have the same sign for jumping to be possible
|
|
43
|
+
optional float max_fall_speed = 6; // max fall speed in m/s. should normally be negative
|
|
44
|
+
optional float turn_speed = 7; // speed the player turns in tank mode, in radians/s
|
|
45
|
+
optional float walk_speed = 8; // speed the player walks at, in m/s
|
|
46
|
+
optional bool allow_weighted_movement = 9; // whether to allow player to move at a slower speed (e.g. with a walk-key or when using a gamepad/joystick). defaults to true
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
enum AvatarControlType {
|
|
50
|
+
CCT_NONE = 0; // avatar cannot move
|
|
51
|
+
CCT_RELATIVE = 1; // avatar moves relative to the camera origin
|
|
52
|
+
CCT_TANK = 2; // avatar moves like a tank: left/right rotate the player, forward/backward advance/retreat the player
|
|
53
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package decentraland.sdk.components;
|
|
4
|
+
|
|
5
|
+
import "decentraland/sdk/components/common/id.proto";
|
|
6
|
+
import "decentraland/common/vectors.proto";
|
|
7
|
+
|
|
8
|
+
option (common.ecs_component_id) = 1501;
|
|
9
|
+
|
|
10
|
+
message PBAvatarMovement {
|
|
11
|
+
decentraland.common.Vector3 velocity = 1;
|
|
12
|
+
float orientation = 2; // 0-360, we don't allow pitch/roll
|
|
13
|
+
optional decentraland.common.Vector3 ground_direction = 3;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// engine behaviour (uses only capsule shapecasts and GJK closest point for portability):
|
|
17
|
+
// 1: set avatar orientation from movement info -> P1
|
|
18
|
+
// 2: record "ground collider" - nearest collider within threshold distance in ground_direction using avatar collider shapecast
|
|
19
|
+
// 3: update all colliders, record previous transform and new transform.
|
|
20
|
+
// 4: apply ground collider movement: take collider closest point, modify P1 translation and rotation by closest point translation and rotation change -> P2
|
|
21
|
+
// 5: resolve collisions using position-based constraints
|
|
22
|
+
// initialize constraints to -inf, +inf
|
|
23
|
+
// repeat
|
|
24
|
+
// for each collider[i] that collides with the P3+N player:
|
|
25
|
+
// if closest point = capsule middle (i.e. collider collides with P3 collider but with radius 0),
|
|
26
|
+
// ignore / continue
|
|
27
|
+
// else
|
|
28
|
+
// update constraints based on minimum movement to escape collision
|
|
29
|
+
// e.g. if avatar is 1cm into the floor, constraint_min = max(constraint_min, vec3(0, 0.01, 0))
|
|
30
|
+
// reposition player to satisfy constraints for each axis:
|
|
31
|
+
// y: satsify floor before ceiling: new position = max(constraint_min, min(constraint_max, current position))
|
|
32
|
+
// x and z: if squashed, take average, else satisfy the required constraint
|
|
33
|
+
// if constraint_min > constraint_max then new position = average(constraint_min, constraint_max)
|
|
34
|
+
// else new position = clamp(current position, constraint_min, constraint_max)
|
|
35
|
+
// while position !~= previous position
|
|
36
|
+
// 6: apply velocity (collide and slide)
|
|
37
|
+
// disable anything we are initially colliding with
|
|
38
|
+
// shapecast avatar from position to position + velocity * timestep
|
|
39
|
+
// on impact:
|
|
40
|
+
// project velocity onto slide plane (standard "Collide & Slide")
|
|
41
|
+
// velocity = old velocity - (normal * dot(velocity, normal))
|
|
42
|
+
// repeat continue with residual velocity and residual time
|
|
43
|
+
// 7: provide AvatarMovementInfo values
|
|
44
|
+
// actual velocity = (final - P3+N) / timestep
|
|
45
|
+
// external_velocity = (P3+N - P1) / timestep
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package decentraland.sdk.components;
|
|
4
|
+
|
|
5
|
+
import "decentraland/sdk/components/common/id.proto";
|
|
6
|
+
import "decentraland/common/vectors.proto";
|
|
7
|
+
import "decentraland/sdk/components/avatar_locomotion_settings.proto";
|
|
8
|
+
import "decentraland/sdk/components/input_modifier.proto";
|
|
9
|
+
|
|
10
|
+
option (common.ecs_component_id) = 1500;
|
|
11
|
+
|
|
12
|
+
message PBAvatarMovementInfo {
|
|
13
|
+
float step_time = 1; // the length of time the current step velocity will apply for
|
|
14
|
+
float previous_step_time = 2; // the length of time the previous step velocity applied for
|
|
15
|
+
decentraland.common.Vector3 requested_velocity = 3; // the velocity requested for the previous frame
|
|
16
|
+
decentraland.common.Vector3 actual_velocity = 4; // the resulting velocity taking collisions into account
|
|
17
|
+
decentraland.common.Vector3 external_velocity = 5; // the velocity imparted by movement of the "ground" platform or pushing from other moving colliders
|
|
18
|
+
decentraland.sdk.components.PBAvatarLocomotionSettings active_avatar_locomotion_settings = 6;
|
|
19
|
+
decentraland.sdk.components.PBInputModifier active_input_modifier = 7;
|
|
20
|
+
}
|
|
@@ -40,5 +40,6 @@ message PBAvatarShape {
|
|
|
40
40
|
repeated string emotes = 11; // available emotes (default empty)
|
|
41
41
|
|
|
42
42
|
optional bool show_only_wearables = 12; // hides the skin + hair + facial features (default: false)
|
|
43
|
+
repeated string force_render = 13; // slots that will render even if hidden
|
|
43
44
|
}
|
|
44
45
|
|