@dcl/protocol 1.0.0-21671196520.commit-ca94ea2 → 1.0.0-22309437617.commit-6617cff
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/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_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 +40 -0
- package/out-js/decentraland/sdk/components/avatar_movement_info.gen.js +135 -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 +4 -0
- package/out-js/decentraland/sdk/components/common/input_action.gen.js +24 -0
- 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/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/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/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-ts/decentraland/common/texture.gen.ts +119 -4
- package/out-ts/decentraland/kernel/apis/restricted_actions.gen.ts +242 -0
- package/out-ts/decentraland/sdk/components/avatar_equipped_data.gen.ts +20 -1
- 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 +163 -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 +24 -0
- 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/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/raycast.gen.ts +73 -1
- 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/package.json +6 -3
- package/proto/decentraland/common/texture.proto +8 -1
- package/proto/decentraland/kernel/apis/restricted_actions.proto +22 -0
- package/proto/decentraland/sdk/components/avatar_equipped_data.proto +2 -1
- package/proto/decentraland/sdk/components/avatar_locomotion_settings.proto +18 -0
- 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 +16 -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 +4 -0
- 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/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/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/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/public/sdk-components.proto +4 -0
|
@@ -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
|
}
|
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-22309437617.commit-6617cff",
|
|
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": [],
|
|
@@ -30,5 +33,5 @@
|
|
|
30
33
|
"out-js",
|
|
31
34
|
"public"
|
|
32
35
|
],
|
|
33
|
-
"commit": "
|
|
36
|
+
"commit": "6617cff6c794f12ab5b640c9d39aeb6724363a25"
|
|
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
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
}
|
|
@@ -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,16 @@
|
|
|
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) = 1500;
|
|
9
|
+
|
|
10
|
+
message PBAvatarMovementInfo {
|
|
11
|
+
float step_time = 1; // the length of time the current step velocity will apply for
|
|
12
|
+
float previous_step_time = 2; // the length of time the previous step velocity applied for
|
|
13
|
+
decentraland.common.Vector3 requested_velocity = 3; // the velocity requested for the previous frame
|
|
14
|
+
decentraland.common.Vector3 actual_velocity = 4; // the resulting velocity taking collisions into account
|
|
15
|
+
decentraland.common.Vector3 external_velocity = 5; // the velocity imparted by movement of the "ground" platform or pushing from other moving colliders
|
|
16
|
+
}
|
|
@@ -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
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package decentraland.sdk.components;
|
|
4
|
+
|
|
5
|
+
import "decentraland/sdk/components/common/id.proto";
|
|
6
|
+
import "decentraland/common/colors.proto";
|
|
7
|
+
|
|
8
|
+
option (common.ecs_component_id) = 1211;
|
|
9
|
+
|
|
10
|
+
message PBCameraLayer {
|
|
11
|
+
// layer to which these settings apply. must be > 0
|
|
12
|
+
// Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
|
|
13
|
+
uint32 layer = 1;
|
|
14
|
+
|
|
15
|
+
// should the sun light affect this layer? default false
|
|
16
|
+
optional bool directional_light = 2;
|
|
17
|
+
|
|
18
|
+
// should this layer show player avatars? default false
|
|
19
|
+
optional bool show_avatars = 3;
|
|
20
|
+
|
|
21
|
+
// should this layer show the sky? default false
|
|
22
|
+
optional bool show_skybox = 4;
|
|
23
|
+
|
|
24
|
+
// should this layer show distance fog? default false
|
|
25
|
+
optional bool show_fog = 5;
|
|
26
|
+
|
|
27
|
+
// ambient light overrides for this layer. default -> use same as main camera
|
|
28
|
+
optional decentraland.common.Color3 ambient_color_override = 6;
|
|
29
|
+
optional float ambient_brightness_override = 7;
|
|
30
|
+
}
|
|
@@ -9,7 +9,7 @@ import "decentraland/sdk/components/common/id.proto";
|
|
|
9
9
|
option (common.ecs_component_id) = 1071;
|
|
10
10
|
|
|
11
11
|
// The CameraModeArea component can be attached to an Entity to define a region of space where
|
|
12
|
-
// the player's camera mode (1st-person
|
|
12
|
+
// the player's camera mode (1st-person, 3rd-person or cinematic) is overridden.
|
|
13
13
|
//
|
|
14
14
|
// The Entity's Transform position determines the center-point of the region, while its size is
|
|
15
15
|
// given as a vector in the `area` property below. The Transform rotation is applied, but the scale
|
|
@@ -19,7 +19,26 @@ option (common.ecs_component_id) = 1071;
|
|
|
19
19
|
//
|
|
20
20
|
// Note that, while commonly used to delineate a 2D area in a scene (hence the name), the region
|
|
21
21
|
// is actually a 3D volume.
|
|
22
|
+
//
|
|
23
|
+
// When mode is set to CtCinematic, the cinematic_settings field must also be provided.
|
|
22
24
|
message PBCameraModeArea {
|
|
23
|
-
decentraland.common.Vector3 area = 1;
|
|
24
|
-
common.CameraType mode = 2;
|
|
25
|
+
decentraland.common.Vector3 area = 1; // the 3D size of the region
|
|
26
|
+
common.CameraType mode = 2; // the camera mode to enforce
|
|
27
|
+
optional CinematicSettings cinematic_settings = 3;
|
|
28
|
+
optional bool use_collider_range = 4; // if true, the player will be considered inside the area when they are within 0.3m of the area. default true
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
message CinematicSettings {
|
|
32
|
+
uint32 camera_entity = 1; // Entity that defines the cinematic camera transform.
|
|
33
|
+
// Position -> camera's position
|
|
34
|
+
// Rotation -> camera's direction
|
|
35
|
+
// scale.z -> zoom level
|
|
36
|
+
// scale.x and scale.y -> unused
|
|
37
|
+
optional bool allow_manual_rotation = 2; // whether the user can move the camera's rotation. default false
|
|
38
|
+
optional float yaw_range = 3; // how far the camera can rotate around the y-axis / look left/right, in radians. default unrestricted
|
|
39
|
+
optional float pitch_range = 4; // how far the camera can rotate around the x-axis / look up-down, in radians. default unrestricted
|
|
40
|
+
// note: cameras can never look up/down further than Vec3::Y
|
|
41
|
+
optional float roll_range = 5; // how far the camera can rotate around the z-axis / tilt, in radians. default unrestricted
|
|
42
|
+
optional float zoom_min = 6; // minimum zoom level. must be greater than 0. defaults to the input zoom level
|
|
43
|
+
optional float zoom_max = 7; // maximum zoom level. must be greater than 0. defaults to the input zoom level
|
|
25
44
|
}
|
|
@@ -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,7 @@ enum PointerEventType {
|
|
|
25
26
|
PET_DOWN = 1;
|
|
26
27
|
PET_HOVER_ENTER = 2;
|
|
27
28
|
PET_HOVER_LEAVE = 3;
|
|
29
|
+
PET_DRAG_LOCKED = 4;
|
|
30
|
+
PET_DRAG = 5;
|
|
31
|
+
PET_DRAG_END = 6;
|
|
28
32
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
package decentraland.sdk.components;
|
|
3
|
+
|
|
4
|
+
import "decentraland/common/colors.proto";
|
|
5
|
+
import "decentraland/common/vectors.proto";
|
|
6
|
+
|
|
7
|
+
import "decentraland/sdk/components/common/id.proto";
|
|
8
|
+
option (common.ecs_component_id) = 1206;
|
|
9
|
+
|
|
10
|
+
// defines the global scene light settings. must be added to the scene root.
|
|
11
|
+
// to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
|
|
12
|
+
message PBGlobalLight {
|
|
13
|
+
// the direction the directional light shines in.
|
|
14
|
+
// default depends on time of day and explorer implementation
|
|
15
|
+
optional decentraland.common.Vector3 direction = 1;
|
|
16
|
+
// ambient light color
|
|
17
|
+
// default: White
|
|
18
|
+
optional decentraland.common.Color3 ambient_color = 2;
|
|
19
|
+
// ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
|
|
20
|
+
// default 1
|
|
21
|
+
optional float ambient_brightness = 3;
|
|
22
|
+
}
|
|
@@ -10,4 +10,17 @@ import "decentraland/sdk/components/common/loading_state.proto";
|
|
|
10
10
|
// the current state of the GltfContainer of an entity.
|
|
11
11
|
message PBGltfContainerLoadingState {
|
|
12
12
|
common.LoadingState current_state = 1;
|
|
13
|
+
repeated string node_paths = 2; // all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents
|
|
14
|
+
repeated string mesh_names = 3; // all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY`
|
|
15
|
+
// where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
|
|
16
|
+
// conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
|
|
17
|
+
repeated string material_names = 4; // all materials in the gltf. unnamed materials will be auto-assigned a name of the form `MaterialX` where
|
|
18
|
+
// X is the material index. note this may conflict with manually named materials - to avoid any issues make
|
|
19
|
+
// sure all your materials are explicitly named.
|
|
20
|
+
repeated string skin_names = 5; // all mesh skins in the gltf. unnamed skins will be auto-assigned a name of the form `SkinX` where
|
|
21
|
+
// X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
|
|
22
|
+
// your skins are explicitly named.
|
|
23
|
+
repeated string animation_names = 6; // all animations in the gltf. unnamed animations will be auto-assigned a name of the form `AnimationX` where
|
|
24
|
+
// X is the animation index. note this may conflict with manually named anims - to avoid any issues make sure all
|
|
25
|
+
// your animations are explicitly named.
|
|
13
26
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
package decentraland.sdk.components;
|
|
3
|
+
|
|
4
|
+
import "decentraland/sdk/components/common/id.proto";
|
|
5
|
+
option (common.ecs_component_id) = 1200;
|
|
6
|
+
|
|
7
|
+
// a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
|
|
8
|
+
// This component must be added to a direct child of an entity with a PBGltfContainer component, or
|
|
9
|
+
// to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
|
|
10
|
+
// in the parent.
|
|
11
|
+
// The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
|
|
12
|
+
//
|
|
13
|
+
// The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
|
|
14
|
+
// - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
|
|
15
|
+
// - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
|
|
16
|
+
// - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
|
|
17
|
+
// - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
|
|
18
|
+
//
|
|
19
|
+
// After creation, if an animation moves the node, the `Transform` will be updated.
|
|
20
|
+
//
|
|
21
|
+
// From the scene, you can modify various components to alter the gltf node:
|
|
22
|
+
// - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
|
|
23
|
+
// regardless of any intermediate gltf node hierarchy.
|
|
24
|
+
// If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
|
|
25
|
+
// - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
|
|
26
|
+
// - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
|
|
27
|
+
// - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
|
|
28
|
+
// - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
|
|
29
|
+
// used as a base, and any gltf features (e.g. occlusion maps) from the gtlf spec that the renderer supports but that are not exposed in the
|
|
30
|
+
// PBMaterial will be maintained.
|
|
31
|
+
//
|
|
32
|
+
// The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
|
|
33
|
+
// - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
|
|
34
|
+
// change the state to `GNS_FAILED`.
|
|
35
|
+
// - deleting the scene entity will not delete the gltf node.
|
|
36
|
+
//
|
|
37
|
+
// Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
|
|
38
|
+
// are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
|
|
39
|
+
// the gltf node will also be displayed.
|
|
40
|
+
message PBGltfNode {
|
|
41
|
+
string path = 1; // the path of the target node in the Gltf.
|
|
42
|
+
}
|