@dcl/protocol 1.0.0-3490809059.commit-e420af7 → 1.0.0-3518293997.commit-bf08d5c
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-ts/decentraland/renderer/kernel_services/emotes_kernel.gen.ts +143 -0
- package/out-ts/decentraland/renderer/{protocol.gen.ts → renderer_services/crdt.gen.ts} +2 -2
- package/out-ts/decentraland/renderer/renderer_services/emotes_renderer.gen.ts +135 -0
- package/out-ts/decentraland/renderer/renderer_services/transport.gen.ts +137 -0
- package/package.json +2 -2
- package/proto/decentraland/renderer/kernel_services/emotes_kernel.proto +16 -0
- package/proto/decentraland/renderer/{protocol.proto → renderer_services/crdt.proto} +1 -1
- package/proto/decentraland/renderer/renderer_services/emotes_renderer.proto +15 -0
- package/proto/decentraland/renderer/renderer_services/transport.proto +14 -0
- package/proto/decentraland/sdk/components/raycast.proto +0 -1
- package/public/renderer-interface.proto +4 -1
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import _m0 from "protobufjs/minimal";
|
|
3
|
+
|
|
4
|
+
export const protobufPackage = "decentraland.renderer.kernel_services";
|
|
5
|
+
|
|
6
|
+
export interface TriggerExpressionRequest {
|
|
7
|
+
id: string;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface TriggerExpressionResponse {
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function createBaseTriggerExpressionRequest(): TriggerExpressionRequest {
|
|
15
|
+
return { id: "", timestamp: 0 };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const TriggerExpressionRequest = {
|
|
19
|
+
encode(message: TriggerExpressionRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
20
|
+
if (message.id !== "") {
|
|
21
|
+
writer.uint32(10).string(message.id);
|
|
22
|
+
}
|
|
23
|
+
if (message.timestamp !== 0) {
|
|
24
|
+
writer.uint32(21).float(message.timestamp);
|
|
25
|
+
}
|
|
26
|
+
return writer;
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): TriggerExpressionRequest {
|
|
30
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
31
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
32
|
+
const message = createBaseTriggerExpressionRequest();
|
|
33
|
+
while (reader.pos < end) {
|
|
34
|
+
const tag = reader.uint32();
|
|
35
|
+
switch (tag >>> 3) {
|
|
36
|
+
case 1:
|
|
37
|
+
message.id = reader.string();
|
|
38
|
+
break;
|
|
39
|
+
case 2:
|
|
40
|
+
message.timestamp = reader.float();
|
|
41
|
+
break;
|
|
42
|
+
default:
|
|
43
|
+
reader.skipType(tag & 7);
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return message;
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
fromJSON(object: any): TriggerExpressionRequest {
|
|
51
|
+
return {
|
|
52
|
+
id: isSet(object.id) ? String(object.id) : "",
|
|
53
|
+
timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
toJSON(message: TriggerExpressionRequest): unknown {
|
|
58
|
+
const obj: any = {};
|
|
59
|
+
message.id !== undefined && (obj.id = message.id);
|
|
60
|
+
message.timestamp !== undefined && (obj.timestamp = message.timestamp);
|
|
61
|
+
return obj;
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
fromPartial<I extends Exact<DeepPartial<TriggerExpressionRequest>, I>>(object: I): TriggerExpressionRequest {
|
|
65
|
+
const message = createBaseTriggerExpressionRequest();
|
|
66
|
+
message.id = object.id ?? "";
|
|
67
|
+
message.timestamp = object.timestamp ?? 0;
|
|
68
|
+
return message;
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
function createBaseTriggerExpressionResponse(): TriggerExpressionResponse {
|
|
73
|
+
return {};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export const TriggerExpressionResponse = {
|
|
77
|
+
encode(_: TriggerExpressionResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
78
|
+
return writer;
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): TriggerExpressionResponse {
|
|
82
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
83
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
84
|
+
const message = createBaseTriggerExpressionResponse();
|
|
85
|
+
while (reader.pos < end) {
|
|
86
|
+
const tag = reader.uint32();
|
|
87
|
+
switch (tag >>> 3) {
|
|
88
|
+
default:
|
|
89
|
+
reader.skipType(tag & 7);
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return message;
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
fromJSON(_: any): TriggerExpressionResponse {
|
|
97
|
+
return {};
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
toJSON(_: TriggerExpressionResponse): unknown {
|
|
101
|
+
const obj: any = {};
|
|
102
|
+
return obj;
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
fromPartial<I extends Exact<DeepPartial<TriggerExpressionResponse>, I>>(_: I): TriggerExpressionResponse {
|
|
106
|
+
const message = createBaseTriggerExpressionResponse();
|
|
107
|
+
return message;
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
/** Service implemented in Kernel and used in Renderer through the inverse RPC transport */
|
|
112
|
+
export type EmotesKernelServiceDefinition = typeof EmotesKernelServiceDefinition;
|
|
113
|
+
export const EmotesKernelServiceDefinition = {
|
|
114
|
+
name: "EmotesKernelService",
|
|
115
|
+
fullName: "decentraland.renderer.kernel_services.EmotesKernelService",
|
|
116
|
+
methods: {
|
|
117
|
+
/** Request Kernel to Trigger the Expression (it will be broadcasted to the avatars in the area) */
|
|
118
|
+
triggerExpression: {
|
|
119
|
+
name: "TriggerExpression",
|
|
120
|
+
requestType: TriggerExpressionRequest,
|
|
121
|
+
requestStream: false,
|
|
122
|
+
responseType: TriggerExpressionResponse,
|
|
123
|
+
responseStream: false,
|
|
124
|
+
options: {},
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
} as const;
|
|
128
|
+
|
|
129
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
130
|
+
|
|
131
|
+
export type DeepPartial<T> = T extends Builtin ? T
|
|
132
|
+
: T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
|
|
133
|
+
: T extends { $case: string } ? { [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]> } & { $case: T["$case"] }
|
|
134
|
+
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
|
|
135
|
+
: Partial<T>;
|
|
136
|
+
|
|
137
|
+
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
138
|
+
export type Exact<P, I extends P> = P extends Builtin ? P
|
|
139
|
+
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
|
|
140
|
+
|
|
141
|
+
function isSet(value: any): boolean {
|
|
142
|
+
return value !== null && value !== undefined;
|
|
143
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import _m0 from "protobufjs/minimal";
|
|
3
3
|
|
|
4
|
-
export const protobufPackage = "decentraland.renderer";
|
|
4
|
+
export const protobufPackage = "decentraland.renderer.renderer_services";
|
|
5
5
|
|
|
6
6
|
export interface CRDTManyMessages {
|
|
7
7
|
sceneId: string;
|
|
@@ -185,7 +185,7 @@ export const PullCRDTRequest = {
|
|
|
185
185
|
export type CRDTServiceDefinition = typeof CRDTServiceDefinition;
|
|
186
186
|
export const CRDTServiceDefinition = {
|
|
187
187
|
name: "CRDTService",
|
|
188
|
-
fullName: "decentraland.renderer.CRDTService",
|
|
188
|
+
fullName: "decentraland.renderer.renderer_services.CRDTService",
|
|
189
189
|
methods: {
|
|
190
190
|
sendCrdt: {
|
|
191
191
|
name: "SendCrdt",
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import _m0 from "protobufjs/minimal";
|
|
3
|
+
|
|
4
|
+
export const protobufPackage = "decentraland.renderer.renderer_services";
|
|
5
|
+
|
|
6
|
+
export interface TriggerSelfUserExpressionRequest {
|
|
7
|
+
id: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface TriggerSelfUserExpressionResponse {
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function createBaseTriggerSelfUserExpressionRequest(): TriggerSelfUserExpressionRequest {
|
|
14
|
+
return { id: "" };
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const TriggerSelfUserExpressionRequest = {
|
|
18
|
+
encode(message: TriggerSelfUserExpressionRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
19
|
+
if (message.id !== "") {
|
|
20
|
+
writer.uint32(10).string(message.id);
|
|
21
|
+
}
|
|
22
|
+
return writer;
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): TriggerSelfUserExpressionRequest {
|
|
26
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
27
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
28
|
+
const message = createBaseTriggerSelfUserExpressionRequest();
|
|
29
|
+
while (reader.pos < end) {
|
|
30
|
+
const tag = reader.uint32();
|
|
31
|
+
switch (tag >>> 3) {
|
|
32
|
+
case 1:
|
|
33
|
+
message.id = reader.string();
|
|
34
|
+
break;
|
|
35
|
+
default:
|
|
36
|
+
reader.skipType(tag & 7);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return message;
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
fromJSON(object: any): TriggerSelfUserExpressionRequest {
|
|
44
|
+
return { id: isSet(object.id) ? String(object.id) : "" };
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
toJSON(message: TriggerSelfUserExpressionRequest): unknown {
|
|
48
|
+
const obj: any = {};
|
|
49
|
+
message.id !== undefined && (obj.id = message.id);
|
|
50
|
+
return obj;
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
fromPartial<I extends Exact<DeepPartial<TriggerSelfUserExpressionRequest>, I>>(
|
|
54
|
+
object: I,
|
|
55
|
+
): TriggerSelfUserExpressionRequest {
|
|
56
|
+
const message = createBaseTriggerSelfUserExpressionRequest();
|
|
57
|
+
message.id = object.id ?? "";
|
|
58
|
+
return message;
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
function createBaseTriggerSelfUserExpressionResponse(): TriggerSelfUserExpressionResponse {
|
|
63
|
+
return {};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export const TriggerSelfUserExpressionResponse = {
|
|
67
|
+
encode(_: TriggerSelfUserExpressionResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
68
|
+
return writer;
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): TriggerSelfUserExpressionResponse {
|
|
72
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
73
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
74
|
+
const message = createBaseTriggerSelfUserExpressionResponse();
|
|
75
|
+
while (reader.pos < end) {
|
|
76
|
+
const tag = reader.uint32();
|
|
77
|
+
switch (tag >>> 3) {
|
|
78
|
+
default:
|
|
79
|
+
reader.skipType(tag & 7);
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return message;
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
fromJSON(_: any): TriggerSelfUserExpressionResponse {
|
|
87
|
+
return {};
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
toJSON(_: TriggerSelfUserExpressionResponse): unknown {
|
|
91
|
+
const obj: any = {};
|
|
92
|
+
return obj;
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
fromPartial<I extends Exact<DeepPartial<TriggerSelfUserExpressionResponse>, I>>(
|
|
96
|
+
_: I,
|
|
97
|
+
): TriggerSelfUserExpressionResponse {
|
|
98
|
+
const message = createBaseTriggerSelfUserExpressionResponse();
|
|
99
|
+
return message;
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
/** Service implemented in Renderer and used in Kernel */
|
|
104
|
+
export type EmotesRendererServiceDefinition = typeof EmotesRendererServiceDefinition;
|
|
105
|
+
export const EmotesRendererServiceDefinition = {
|
|
106
|
+
name: "EmotesRendererService",
|
|
107
|
+
fullName: "decentraland.renderer.renderer_services.EmotesRendererService",
|
|
108
|
+
methods: {
|
|
109
|
+
/** Triggers an expression in our own avatar (use example: SDK triggers a expression) */
|
|
110
|
+
triggerSelfUserExpression: {
|
|
111
|
+
name: "TriggerSelfUserExpression",
|
|
112
|
+
requestType: TriggerSelfUserExpressionRequest,
|
|
113
|
+
requestStream: false,
|
|
114
|
+
responseType: TriggerSelfUserExpressionResponse,
|
|
115
|
+
responseStream: false,
|
|
116
|
+
options: {},
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
} as const;
|
|
120
|
+
|
|
121
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
122
|
+
|
|
123
|
+
export type DeepPartial<T> = T extends Builtin ? T
|
|
124
|
+
: T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
|
|
125
|
+
: T extends { $case: string } ? { [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]> } & { $case: T["$case"] }
|
|
126
|
+
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
|
|
127
|
+
: Partial<T>;
|
|
128
|
+
|
|
129
|
+
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
130
|
+
export type Exact<P, I extends P> = P extends Builtin ? P
|
|
131
|
+
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
|
|
132
|
+
|
|
133
|
+
function isSet(value: any): boolean {
|
|
134
|
+
return value !== null && value !== undefined;
|
|
135
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import _m0 from "protobufjs/minimal";
|
|
3
|
+
|
|
4
|
+
export const protobufPackage = "decentraland.renderer.renderer_services";
|
|
5
|
+
|
|
6
|
+
export interface Payload {
|
|
7
|
+
payload: Uint8Array;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function createBasePayload(): Payload {
|
|
11
|
+
return { payload: new Uint8Array() };
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const Payload = {
|
|
15
|
+
encode(message: Payload, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
16
|
+
if (message.payload.length !== 0) {
|
|
17
|
+
writer.uint32(10).bytes(message.payload);
|
|
18
|
+
}
|
|
19
|
+
return writer;
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): Payload {
|
|
23
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
24
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
25
|
+
const message = createBasePayload();
|
|
26
|
+
while (reader.pos < end) {
|
|
27
|
+
const tag = reader.uint32();
|
|
28
|
+
switch (tag >>> 3) {
|
|
29
|
+
case 1:
|
|
30
|
+
message.payload = reader.bytes();
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
reader.skipType(tag & 7);
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return message;
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
fromJSON(object: any): Payload {
|
|
41
|
+
return { payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array() };
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
toJSON(message: Payload): unknown {
|
|
45
|
+
const obj: any = {};
|
|
46
|
+
message.payload !== undefined &&
|
|
47
|
+
(obj.payload = base64FromBytes(message.payload !== undefined ? message.payload : new Uint8Array()));
|
|
48
|
+
return obj;
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
fromPartial<I extends Exact<DeepPartial<Payload>, I>>(object: I): Payload {
|
|
52
|
+
const message = createBasePayload();
|
|
53
|
+
message.payload = object.payload ?? new Uint8Array();
|
|
54
|
+
return message;
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* This service is used to create a transport in the RPC
|
|
60
|
+
* which can be used to create an Inverse RPC
|
|
61
|
+
*/
|
|
62
|
+
export type TransportServiceDefinition = typeof TransportServiceDefinition;
|
|
63
|
+
export const TransportServiceDefinition = {
|
|
64
|
+
name: "TransportService",
|
|
65
|
+
fullName: "decentraland.renderer.renderer_services.TransportService",
|
|
66
|
+
methods: {
|
|
67
|
+
/** Bidirectional stream to exchange payloads */
|
|
68
|
+
openTransportStream: {
|
|
69
|
+
name: "OpenTransportStream",
|
|
70
|
+
requestType: Payload,
|
|
71
|
+
requestStream: true,
|
|
72
|
+
responseType: Payload,
|
|
73
|
+
responseStream: true,
|
|
74
|
+
options: {},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
} as const;
|
|
78
|
+
|
|
79
|
+
declare var self: any | undefined;
|
|
80
|
+
declare var window: any | undefined;
|
|
81
|
+
declare var global: any | undefined;
|
|
82
|
+
var globalThis: any = (() => {
|
|
83
|
+
if (typeof globalThis !== "undefined") {
|
|
84
|
+
return globalThis;
|
|
85
|
+
}
|
|
86
|
+
if (typeof self !== "undefined") {
|
|
87
|
+
return self;
|
|
88
|
+
}
|
|
89
|
+
if (typeof window !== "undefined") {
|
|
90
|
+
return window;
|
|
91
|
+
}
|
|
92
|
+
if (typeof global !== "undefined") {
|
|
93
|
+
return global;
|
|
94
|
+
}
|
|
95
|
+
throw "Unable to locate global object";
|
|
96
|
+
})();
|
|
97
|
+
|
|
98
|
+
function bytesFromBase64(b64: string): Uint8Array {
|
|
99
|
+
if (globalThis.Buffer) {
|
|
100
|
+
return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
|
|
101
|
+
} else {
|
|
102
|
+
const bin = globalThis.atob(b64);
|
|
103
|
+
const arr = new Uint8Array(bin.length);
|
|
104
|
+
for (let i = 0; i < bin.length; ++i) {
|
|
105
|
+
arr[i] = bin.charCodeAt(i);
|
|
106
|
+
}
|
|
107
|
+
return arr;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function base64FromBytes(arr: Uint8Array): string {
|
|
112
|
+
if (globalThis.Buffer) {
|
|
113
|
+
return globalThis.Buffer.from(arr).toString("base64");
|
|
114
|
+
} else {
|
|
115
|
+
const bin: string[] = [];
|
|
116
|
+
arr.forEach((byte) => {
|
|
117
|
+
bin.push(String.fromCharCode(byte));
|
|
118
|
+
});
|
|
119
|
+
return globalThis.btoa(bin.join(""));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
124
|
+
|
|
125
|
+
export type DeepPartial<T> = T extends Builtin ? T
|
|
126
|
+
: T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
|
|
127
|
+
: T extends { $case: string } ? { [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]> } & { $case: T["$case"] }
|
|
128
|
+
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
|
|
129
|
+
: Partial<T>;
|
|
130
|
+
|
|
131
|
+
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
132
|
+
export type Exact<P, I extends P> = P extends Builtin ? P
|
|
133
|
+
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
|
|
134
|
+
|
|
135
|
+
function isSet(value: any): boolean {
|
|
136
|
+
return value !== null && value !== undefined;
|
|
137
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/protocol",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-3518293997.commit-bf08d5c",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,5 +25,5 @@
|
|
|
25
25
|
"out-ts",
|
|
26
26
|
"public"
|
|
27
27
|
],
|
|
28
|
-
"commit": "
|
|
28
|
+
"commit": "bf08d5ccd585d07100c37bef0de96dd4c0d0c576"
|
|
29
29
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package decentraland.renderer.kernel_services;
|
|
4
|
+
|
|
5
|
+
message TriggerExpressionRequest {
|
|
6
|
+
string id = 1;
|
|
7
|
+
float timestamp = 2;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
message TriggerExpressionResponse {}
|
|
11
|
+
|
|
12
|
+
// Service implemented in Kernel and used in Renderer through the inverse RPC transport
|
|
13
|
+
service EmotesKernelService {
|
|
14
|
+
// Request Kernel to Trigger the Expression (it will be broadcasted to the avatars in the area)
|
|
15
|
+
rpc TriggerExpression(TriggerExpressionRequest) returns (TriggerExpressionResponse) {}
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package decentraland.renderer.renderer_services;
|
|
4
|
+
|
|
5
|
+
message TriggerSelfUserExpressionRequest {
|
|
6
|
+
string id = 1;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
message TriggerSelfUserExpressionResponse {}
|
|
10
|
+
|
|
11
|
+
// Service implemented in Renderer and used in Kernel
|
|
12
|
+
service EmotesRendererService {
|
|
13
|
+
// Triggers an expression in our own avatar (use example: SDK triggers a expression)
|
|
14
|
+
rpc TriggerSelfUserExpression(TriggerSelfUserExpressionRequest) returns (TriggerSelfUserExpressionResponse) {}
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package decentraland.renderer.renderer_services;
|
|
4
|
+
|
|
5
|
+
message Payload {
|
|
6
|
+
bytes payload = 1;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// This service is used to create a transport in the RPC
|
|
10
|
+
// which can be used to create an Inverse RPC
|
|
11
|
+
service TransportService {
|
|
12
|
+
// Bidirectional stream to exchange payloads
|
|
13
|
+
rpc OpenTransportStream(stream Payload) returns (stream Payload) {}
|
|
14
|
+
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
syntax = "proto3";
|
|
2
2
|
|
|
3
3
|
import public "decentraland/renderer/engine_interface.proto";
|
|
4
|
-
import public "decentraland/renderer/
|
|
4
|
+
import public "decentraland/renderer/renderer_services/crdt.proto";
|
|
5
|
+
import public "decentraland/renderer/renderer_services/transport.proto";
|
|
6
|
+
import public "decentraland/renderer/renderer_services/emotes_renderer.proto";
|
|
7
|
+
import public "decentraland/renderer/kernel_services/emotes_kernel.proto";
|