@dcl/protocol 1.0.0-29287211316.commit-e44c721 → 1.0.0-29501656680.commit-6a4362a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +0 -217
  2. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.d.ts +0 -21
  3. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js +4 -124
  4. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js.map +1 -1
  5. package/out-js/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -8
  6. package/out-js/decentraland/sdk/components/avatar_shape.gen.js +1 -35
  7. package/out-js/decentraland/sdk/components/avatar_shape.gen.js.map +1 -1
  8. package/out-js/decentraland/sdk/components/touch_screen_controls.gen.d.ts +77 -0
  9. package/out-js/decentraland/sdk/components/touch_screen_controls.gen.js +201 -0
  10. package/out-js/decentraland/sdk/components/touch_screen_controls.gen.js.map +1 -0
  11. package/out-js/decentraland/sdk/components/ui_input_binding.gen.d.ts +52 -0
  12. package/out-js/decentraland/sdk/components/ui_input_binding.gen.js +81 -0
  13. package/out-js/decentraland/sdk/components/ui_input_binding.gen.js.map +1 -0
  14. package/out-ts/decentraland/kernel/comms/rfc4/comms.gen.ts +2 -166
  15. package/out-ts/decentraland/sdk/components/avatar_shape.gen.ts +0 -34
  16. package/out-ts/decentraland/sdk/components/touch_screen_controls.gen.ts +265 -0
  17. package/out-ts/decentraland/sdk/components/ui_input_binding.gen.ts +114 -0
  18. package/package.json +6 -9
  19. package/proto/buf.yaml +47 -0
  20. package/proto/decentraland/kernel/comms/rfc4/comms.proto +0 -11
  21. package/proto/decentraland/sdk/components/avatar_shape.proto +0 -5
  22. package/proto/decentraland/sdk/components/light_source.proto +1 -1
  23. package/proto/decentraland/sdk/components/touch_screen_controls.proto +38 -0
  24. package/proto/decentraland/sdk/components/ui_input_binding.proto +27 -0
  25. package/proto/decentraland/sdk/components/virtual_camera.proto +0 -2
  26. package/proto/google/LICENSE +27 -0
  27. package/proto/google/README.md +1 -0
  28. package/proto/google/api/annotations.json +83 -0
  29. package/proto/google/api/annotations.proto +11 -0
  30. package/proto/google/api/http.json +86 -0
  31. package/proto/google/api/http.proto +31 -0
  32. package/proto/google/protobuf/api.json +118 -0
  33. package/proto/google/protobuf/api.proto +34 -0
  34. package/proto/google/protobuf/descriptor.json +739 -0
  35. package/proto/google/protobuf/descriptor.proto +286 -0
  36. package/proto/google/protobuf/source_context.json +20 -0
  37. package/proto/google/protobuf/source_context.proto +7 -0
  38. package/proto/google/protobuf/type.json +202 -0
  39. package/proto/google/protobuf/type.proto +89 -0
  40. package/public/sdk-components.proto +2 -0
  41. package/proto/decentraland/common/options.proto +0 -51
  42. package/proto/decentraland/common/quantization_example.proto +0 -164
  43. package/proto/decentraland/pulse/pulse_client.proto +0 -79
  44. package/proto/decentraland/pulse/pulse_server.proto +0 -144
  45. package/proto/decentraland/pulse/pulse_shared.proto +0 -57
  46. package/protoc-gen-bitwise/generator_csharp.js +0 -248
  47. package/protoc-gen-bitwise/options.js +0 -139
  48. package/protoc-gen-bitwise/plugin.js +0 -87
  49. package/protoc-gen-bitwise/runtime/cs/Quantize.cs +0 -70
  50. package/protoc-gen-bitwise/wire.js +0 -239
@@ -0,0 +1,265 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ import { TextureUnion } from "../../common/texture.gen";
4
+ import { InputAction, inputActionFromJSON, inputActionToJSON } from "./common/input_action.gen";
5
+
6
+ export const protobufPackage = "decentraland.sdk.components";
7
+
8
+ /**
9
+ * The TouchScreenControls component lets a scene configure the native on-screen touch
10
+ * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
11
+ *
12
+ * By default every on-screen button is shown; list a button in `touch_inputs` with
13
+ * `hide = true` to remove it (declutter). `main_action` picks which action the large
14
+ * central button triggers, and `hide_joystick` removes the native virtual joystick. It is
15
+ * a no-op on platforms without native on-screen controls (e.g. desktop).
16
+ *
17
+ * Accepted actions: only the on-screen gamepad actions map to a button — `IA_POINTER`,
18
+ * `IA_PRIMARY`, `IA_SECONDARY`, `IA_JUMP`, and `IA_ACTION_3`..`IA_ACTION_6`. Any other
19
+ * `InputAction` (movement actions, `IA_ANY`, `IA_MODIFIER`, or unknown/future values) is
20
+ * ignored: a `TouchInput` entry naming a non-button action has no effect, and a `main_action`
21
+ * that isn't a valid gamepad action falls back to the default central button (`IA_JUMP`).
22
+ */
23
+ export interface PBTouchScreenControls {
24
+ touchInputs: PBTouchScreenControls_TouchInput[];
25
+ /**
26
+ * The large central button's action. Only the gamepad actions are valid:
27
+ * jump / pointer / primary (E) / secondary (F) / action_3..action_6 (1/2/3/4).
28
+ * When unset, the default central button (jump) is kept.
29
+ */
30
+ mainAction?:
31
+ | InputAction
32
+ | undefined;
33
+ /** hide the native virtual joystick */
34
+ hideJoystick: boolean;
35
+ /** hide the on-screen crosshair / reticle */
36
+ hideCrosshair: boolean;
37
+ }
38
+
39
+ /** Per-button configuration. A button not listed here keeps its default (shown). */
40
+ export interface PBTouchScreenControls_TouchInput {
41
+ /** which on-screen button this configures */
42
+ inputAction: InputAction;
43
+ /** hide this button (default: shown) */
44
+ hide: boolean;
45
+ /**
46
+ * Override the button glyph with this texture. For the jump button it replaces all
47
+ * of its dynamic states (jump / double-jump / glide).
48
+ */
49
+ icon?: TextureUnion | undefined;
50
+ }
51
+
52
+ function createBasePBTouchScreenControls(): PBTouchScreenControls {
53
+ return { touchInputs: [], mainAction: undefined, hideJoystick: false, hideCrosshair: false };
54
+ }
55
+
56
+ export namespace PBTouchScreenControls {
57
+ export function encode(message: PBTouchScreenControls, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
58
+ for (const v of message.touchInputs) {
59
+ PBTouchScreenControls_TouchInput.encode(v!, writer.uint32(10).fork()).ldelim();
60
+ }
61
+ if (message.mainAction !== undefined) {
62
+ writer.uint32(16).int32(message.mainAction);
63
+ }
64
+ if (message.hideJoystick === true) {
65
+ writer.uint32(24).bool(message.hideJoystick);
66
+ }
67
+ if (message.hideCrosshair === true) {
68
+ writer.uint32(32).bool(message.hideCrosshair);
69
+ }
70
+ return writer;
71
+ }
72
+
73
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTouchScreenControls {
74
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
75
+ let end = length === undefined ? reader.len : reader.pos + length;
76
+ const message = createBasePBTouchScreenControls();
77
+ while (reader.pos < end) {
78
+ const tag = reader.uint32();
79
+ switch (tag >>> 3) {
80
+ case 1:
81
+ if (tag !== 10) {
82
+ break;
83
+ }
84
+
85
+ message.touchInputs.push(PBTouchScreenControls_TouchInput.decode(reader, reader.uint32()));
86
+ continue;
87
+ case 2:
88
+ if (tag !== 16) {
89
+ break;
90
+ }
91
+
92
+ message.mainAction = reader.int32() as any;
93
+ continue;
94
+ case 3:
95
+ if (tag !== 24) {
96
+ break;
97
+ }
98
+
99
+ message.hideJoystick = reader.bool();
100
+ continue;
101
+ case 4:
102
+ if (tag !== 32) {
103
+ break;
104
+ }
105
+
106
+ message.hideCrosshair = reader.bool();
107
+ continue;
108
+ }
109
+ if ((tag & 7) === 4 || tag === 0) {
110
+ break;
111
+ }
112
+ reader.skipType(tag & 7);
113
+ }
114
+ return message;
115
+ }
116
+
117
+ export function fromJSON(object: any): PBTouchScreenControls {
118
+ return {
119
+ touchInputs: Array.isArray(object?.touchInputs)
120
+ ? object.touchInputs.map((e: any) => PBTouchScreenControls_TouchInput.fromJSON(e))
121
+ : [],
122
+ mainAction: isSet(object.mainAction) ? inputActionFromJSON(object.mainAction) : undefined,
123
+ hideJoystick: isSet(object.hideJoystick) ? Boolean(object.hideJoystick) : false,
124
+ hideCrosshair: isSet(object.hideCrosshair) ? Boolean(object.hideCrosshair) : false,
125
+ };
126
+ }
127
+
128
+ export function toJSON(message: PBTouchScreenControls): unknown {
129
+ const obj: any = {};
130
+ if (message.touchInputs) {
131
+ obj.touchInputs = message.touchInputs.map((e) => e ? PBTouchScreenControls_TouchInput.toJSON(e) : undefined);
132
+ } else {
133
+ obj.touchInputs = [];
134
+ }
135
+ message.mainAction !== undefined &&
136
+ (obj.mainAction = message.mainAction !== undefined ? inputActionToJSON(message.mainAction) : undefined);
137
+ message.hideJoystick !== undefined && (obj.hideJoystick = message.hideJoystick);
138
+ message.hideCrosshair !== undefined && (obj.hideCrosshair = message.hideCrosshair);
139
+ return obj;
140
+ }
141
+
142
+ export function create<I extends Exact<DeepPartial<PBTouchScreenControls>, I>>(base?: I): PBTouchScreenControls {
143
+ return PBTouchScreenControls.fromPartial(base ?? {});
144
+ }
145
+
146
+ export function fromPartial<I extends Exact<DeepPartial<PBTouchScreenControls>, I>>(
147
+ object: I,
148
+ ): PBTouchScreenControls {
149
+ const message = createBasePBTouchScreenControls();
150
+ message.touchInputs = object.touchInputs?.map((e) => PBTouchScreenControls_TouchInput.fromPartial(e)) || [];
151
+ message.mainAction = object.mainAction ?? undefined;
152
+ message.hideJoystick = object.hideJoystick ?? false;
153
+ message.hideCrosshair = object.hideCrosshair ?? false;
154
+ return message;
155
+ }
156
+ }
157
+
158
+ function createBasePBTouchScreenControls_TouchInput(): PBTouchScreenControls_TouchInput {
159
+ return { inputAction: 0, hide: false, icon: undefined };
160
+ }
161
+
162
+ export namespace PBTouchScreenControls_TouchInput {
163
+ export function encode(
164
+ message: PBTouchScreenControls_TouchInput,
165
+ writer: _m0.Writer = _m0.Writer.create(),
166
+ ): _m0.Writer {
167
+ if (message.inputAction !== 0) {
168
+ writer.uint32(8).int32(message.inputAction);
169
+ }
170
+ if (message.hide === true) {
171
+ writer.uint32(16).bool(message.hide);
172
+ }
173
+ if (message.icon !== undefined) {
174
+ TextureUnion.encode(message.icon, writer.uint32(26).fork()).ldelim();
175
+ }
176
+ return writer;
177
+ }
178
+
179
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTouchScreenControls_TouchInput {
180
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
181
+ let end = length === undefined ? reader.len : reader.pos + length;
182
+ const message = createBasePBTouchScreenControls_TouchInput();
183
+ while (reader.pos < end) {
184
+ const tag = reader.uint32();
185
+ switch (tag >>> 3) {
186
+ case 1:
187
+ if (tag !== 8) {
188
+ break;
189
+ }
190
+
191
+ message.inputAction = reader.int32() as any;
192
+ continue;
193
+ case 2:
194
+ if (tag !== 16) {
195
+ break;
196
+ }
197
+
198
+ message.hide = reader.bool();
199
+ continue;
200
+ case 3:
201
+ if (tag !== 26) {
202
+ break;
203
+ }
204
+
205
+ message.icon = TextureUnion.decode(reader, reader.uint32());
206
+ continue;
207
+ }
208
+ if ((tag & 7) === 4 || tag === 0) {
209
+ break;
210
+ }
211
+ reader.skipType(tag & 7);
212
+ }
213
+ return message;
214
+ }
215
+
216
+ export function fromJSON(object: any): PBTouchScreenControls_TouchInput {
217
+ return {
218
+ inputAction: isSet(object.inputAction) ? inputActionFromJSON(object.inputAction) : 0,
219
+ hide: isSet(object.hide) ? Boolean(object.hide) : false,
220
+ icon: isSet(object.icon) ? TextureUnion.fromJSON(object.icon) : undefined,
221
+ };
222
+ }
223
+
224
+ export function toJSON(message: PBTouchScreenControls_TouchInput): unknown {
225
+ const obj: any = {};
226
+ message.inputAction !== undefined && (obj.inputAction = inputActionToJSON(message.inputAction));
227
+ message.hide !== undefined && (obj.hide = message.hide);
228
+ message.icon !== undefined && (obj.icon = message.icon ? TextureUnion.toJSON(message.icon) : undefined);
229
+ return obj;
230
+ }
231
+
232
+ export function create<I extends Exact<DeepPartial<PBTouchScreenControls_TouchInput>, I>>(
233
+ base?: I,
234
+ ): PBTouchScreenControls_TouchInput {
235
+ return PBTouchScreenControls_TouchInput.fromPartial(base ?? {});
236
+ }
237
+
238
+ export function fromPartial<I extends Exact<DeepPartial<PBTouchScreenControls_TouchInput>, I>>(
239
+ object: I,
240
+ ): PBTouchScreenControls_TouchInput {
241
+ const message = createBasePBTouchScreenControls_TouchInput();
242
+ message.inputAction = object.inputAction ?? 0;
243
+ message.hide = object.hide ?? false;
244
+ message.icon = (object.icon !== undefined && object.icon !== null)
245
+ ? TextureUnion.fromPartial(object.icon)
246
+ : undefined;
247
+ return message;
248
+ }
249
+ }
250
+
251
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
252
+
253
+ export type DeepPartial<T> = T extends Builtin ? T
254
+ : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
255
+ : T extends { $case: string } ? { [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]> } & { $case: T["$case"] }
256
+ : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
257
+ : Partial<T>;
258
+
259
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
260
+ export type Exact<P, I extends P> = P extends Builtin ? P
261
+ : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
262
+
263
+ function isSet(value: any): boolean {
264
+ return value !== null && value !== undefined;
265
+ }
@@ -0,0 +1,114 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ import { InputAction, inputActionFromJSON, inputActionToJSON } from "./common/input_action.gen";
4
+
5
+ export const protobufPackage = "decentraland.sdk.components";
6
+
7
+ /**
8
+ * The UiInputBinding component binds a UI entity to one or more InputActions. While the
9
+ * element is pressed (touch or pointer) the listed actions are held down, driving both
10
+ * the local player input and scene InputAction listeners, just like the native on-screen
11
+ * buttons. It is typically combined with PBTouchScreenControls to replace the native
12
+ * controls with a custom touch UI.
13
+ *
14
+ * Release semantics: the held actions are released as soon as the press that started them
15
+ * ends. A renderer MUST release all actions held by this binding when any of the following
16
+ * happens: the press/touch is lifted or cancelled, the pointer/touch leaves the element
17
+ * (loses press ownership), the actions list changes (the previous set is released before
18
+ * the new set is applied), the component is removed or its actions list becomes empty, the
19
+ * UI element is hidden, disabled or removed from the tree, or the scene unloads. In short,
20
+ * no action may remain held once the element is no longer both present and actively pressed.
21
+ *
22
+ * Multi-touch: the binding is a single held state, not reference-counted per pointer. The
23
+ * actions are held while the element is pressed and released when that press ends; a second
24
+ * simultaneous press on the same element does not stack, and does not extend the hold past
25
+ * the first release.
26
+ */
27
+ export interface PBUiInputBinding {
28
+ /** the input actions fired while this element is pressed */
29
+ actions: InputAction[];
30
+ }
31
+
32
+ function createBasePBUiInputBinding(): PBUiInputBinding {
33
+ return { actions: [] };
34
+ }
35
+
36
+ export namespace PBUiInputBinding {
37
+ export function encode(message: PBUiInputBinding, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
38
+ writer.uint32(10).fork();
39
+ for (const v of message.actions) {
40
+ writer.int32(v);
41
+ }
42
+ writer.ldelim();
43
+ return writer;
44
+ }
45
+
46
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputBinding {
47
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
48
+ let end = length === undefined ? reader.len : reader.pos + length;
49
+ const message = createBasePBUiInputBinding();
50
+ while (reader.pos < end) {
51
+ const tag = reader.uint32();
52
+ switch (tag >>> 3) {
53
+ case 1:
54
+ if (tag === 8) {
55
+ message.actions.push(reader.int32() as any);
56
+
57
+ continue;
58
+ }
59
+
60
+ if (tag === 10) {
61
+ const end2 = reader.uint32() + reader.pos;
62
+ while (reader.pos < end2) {
63
+ message.actions.push(reader.int32() as any);
64
+ }
65
+
66
+ continue;
67
+ }
68
+
69
+ break;
70
+ }
71
+ if ((tag & 7) === 4 || tag === 0) {
72
+ break;
73
+ }
74
+ reader.skipType(tag & 7);
75
+ }
76
+ return message;
77
+ }
78
+
79
+ export function fromJSON(object: any): PBUiInputBinding {
80
+ return { actions: Array.isArray(object?.actions) ? object.actions.map((e: any) => inputActionFromJSON(e)) : [] };
81
+ }
82
+
83
+ export function toJSON(message: PBUiInputBinding): unknown {
84
+ const obj: any = {};
85
+ if (message.actions) {
86
+ obj.actions = message.actions.map((e) => inputActionToJSON(e));
87
+ } else {
88
+ obj.actions = [];
89
+ }
90
+ return obj;
91
+ }
92
+
93
+ export function create<I extends Exact<DeepPartial<PBUiInputBinding>, I>>(base?: I): PBUiInputBinding {
94
+ return PBUiInputBinding.fromPartial(base ?? {});
95
+ }
96
+
97
+ export function fromPartial<I extends Exact<DeepPartial<PBUiInputBinding>, I>>(object: I): PBUiInputBinding {
98
+ const message = createBasePBUiInputBinding();
99
+ message.actions = object.actions?.map((e) => e) || [];
100
+ return message;
101
+ }
102
+ }
103
+
104
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
105
+
106
+ export type DeepPartial<T> = T extends Builtin ? T
107
+ : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
108
+ : T extends { $case: string } ? { [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]> } & { $case: T["$case"] }
109
+ : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
110
+ : Partial<T>;
111
+
112
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
113
+ export type Exact<P, I extends P> = P extends Builtin ? P
114
+ : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/protocol",
3
- "version": "1.0.0-29287211316.commit-e44c721",
3
+ "version": "1.0.0-29501656680.commit-6a4362a",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,11 +13,10 @@
13
13
  "license": "Apache-2.0",
14
14
  "main": "index.js",
15
15
  "scripts": {
16
- "test": "./scripts/check-proto-compabitility.sh",
17
- "gen:test": "node protoc-gen-bitwise/test/generator.test.js"
16
+ "test": "./scripts/check-proto-compabitility.sh"
18
17
  },
19
18
  "devDependencies": {
20
- "@protobuf-ts/protoc": "^2.11.0",
19
+ "@protobuf-ts/protoc": "^2.8.1",
21
20
  "proto-compatibility-tool": "^1.1.2-20220925163655.commit-25bd040",
22
21
  "typescript": "^5.0.4"
23
22
  },
@@ -29,12 +28,10 @@
29
28
  "protobufjs": "7.2.4"
30
29
  },
31
30
  "files": [
32
- "proto/decentraland",
31
+ "proto",
33
32
  "out-ts",
34
33
  "out-js",
35
- "public",
36
- "protoc-gen-bitwise/*.js",
37
- "protoc-gen-bitwise/runtime"
34
+ "public"
38
35
  ],
39
- "commit": "e44c721a034709fc47b820be81b5c977f9085ae6"
36
+ "commit": "6a4362aad3f01b1942719bd42bb9d4509d57a290"
40
37
  }
package/proto/buf.yaml ADDED
@@ -0,0 +1,47 @@
1
+ version: v1
2
+ breaking:
3
+ use:
4
+ - WIRE_JSON
5
+ ignore:
6
+ - google
7
+ lint:
8
+ use:
9
+ - DIRECTORY_SAME_PACKAGE
10
+ - PACKAGE_DEFINED
11
+ - PACKAGE_DIRECTORY_MATCH
12
+ - PACKAGE_SAME_DIRECTORY
13
+ - ENUM_PASCAL_CASE
14
+ - ENUM_VALUE_UPPER_SNAKE_CASE
15
+ - FIELD_LOWER_SNAKE_CASE
16
+ - MESSAGE_PASCAL_CASE
17
+ - ONEOF_LOWER_SNAKE_CASE
18
+ - PACKAGE_LOWER_SNAKE_CASE
19
+ - RPC_PASCAL_CASE
20
+ - SERVICE_PASCAL_CASE
21
+ - PACKAGE_SAME_CSHARP_NAMESPACE
22
+ - PACKAGE_SAME_GO_PACKAGE
23
+ - PACKAGE_SAME_JAVA_MULTIPLE_FILES
24
+ - PACKAGE_SAME_JAVA_PACKAGE
25
+ - PACKAGE_SAME_PHP_NAMESPACE
26
+ - PACKAGE_SAME_RUBY_PACKAGE
27
+ - PACKAGE_SAME_SWIFT_PREFIX
28
+ - ENUM_FIRST_VALUE_ZERO
29
+ - ENUM_NO_ALLOW_ALIAS
30
+ - IMPORT_NO_WEAK
31
+ - IMPORT_NO_PUBLIC
32
+ - IMPORT_USED
33
+ - FILE_LOWER_SNAKE_CASE
34
+ # Ignored:the default value is used
35
+ # - ENUM_ZERO_VALUE_SUFFIX
36
+ # Ignored: if a prefix is needed in the target language, implement a preprocessor
37
+ # - ENUM_VALUE_PREFIX
38
+ # Not wished
39
+ # - PACKAGE_VERSION_SUFFIX
40
+ # TODO: See if this needs to be added
41
+ # - RPC_REQUEST_RESPONSE_UNIQUE
42
+ # - RPC_REQUEST_STANDARD_NAME
43
+ # - RPC_RESPONSE_STANDARD_NAME
44
+ # - SERVICE_SUFFIX
45
+ ignore:
46
+ - google
47
+ - decentraland/renderer/engine_interface.proto
@@ -94,14 +94,6 @@ message PlayerEmote {
94
94
  uint32 incremental_id = 1;
95
95
  string urn = 2;
96
96
  float timestamp = 3;
97
- optional bool is_stopping = 4; // true means the emote has been stopped in the sender's client
98
- optional bool is_repeating = 5; // true when it is not the first time the looping animation plays
99
- optional int32 interaction_id = 6; // identifies an interaction univocaly, established when the start animation is triggered
100
- optional int32 social_emote_outcome = 7; // -1 means it does not use an outcome animation
101
- optional bool is_reacting = 8; // to a social emote started by other user
102
- optional string social_emote_initiator = 9; // wallet address of the user that initiated social emote
103
- optional string target_avatar = 10; // wallet address of the user whose avatar is the target of a directed emote
104
- optional uint32 mask = 11; // mask for which bones an animation applies to.
105
97
  }
106
98
 
107
99
  message SceneEmote {
@@ -134,9 +126,6 @@ message ProfileResponse {
134
126
  message Chat {
135
127
  string message = 1;
136
128
  double timestamp = 2;
137
- // Extension: optional forwarded_from to identify the original sender when
138
- // messages are forwarded through an SFU
139
- optional string forwarded_from = 3;
140
129
  }
141
130
 
142
131
  message Scene {
@@ -42,8 +42,3 @@ message PBAvatarShape {
42
42
  optional bool show_only_wearables = 12; // hides the skin + hair + facial features (default: false)
43
43
  }
44
44
 
45
- // Mask for which bones an animation applies to.
46
- enum AvatarEmoteMask {
47
- AEM_FULL_BODY = 0;
48
- AEM_UPPER_BODY = 1;
49
- }
@@ -25,4 +25,4 @@ message PBLightSource {
25
25
  optional float inner_angle = 9; // default = 21.8. Inner angle can't be higher than outer angle, otherwise will default to same value. Min value is 0. Max value is 179.
26
26
  optional float outer_angle = 10; // default = 30. Outer angle can't be lower than inner angle, otherwise will inner angle will be set to same value. Max value is 179.
27
27
  }
28
- }
28
+ }
@@ -0,0 +1,38 @@
1
+ syntax = "proto3";
2
+ package decentraland.sdk.components;
3
+ import "decentraland/sdk/components/common/id.proto";
4
+ import "decentraland/sdk/components/common/input_action.proto";
5
+ import "decentraland/common/texture.proto";
6
+ option (common.ecs_component_id) = 1218;
7
+
8
+ // The TouchScreenControls component lets a scene configure the native on-screen touch
9
+ // controls (the mobile joystick + gamepad). It must be set on the RootEntity.
10
+ //
11
+ // By default every on-screen button is shown; list a button in `touch_inputs` with
12
+ // `hide = true` to remove it (declutter). `main_action` picks which action the large
13
+ // central button triggers, and `hide_joystick` removes the native virtual joystick. It is
14
+ // a no-op on platforms without native on-screen controls (e.g. desktop).
15
+ //
16
+ // Accepted actions: only the on-screen gamepad actions map to a button — `IA_POINTER`,
17
+ // `IA_PRIMARY`, `IA_SECONDARY`, `IA_JUMP`, and `IA_ACTION_3`..`IA_ACTION_6`. Any other
18
+ // `InputAction` (movement actions, `IA_ANY`, `IA_MODIFIER`, or unknown/future values) is
19
+ // ignored: a `TouchInput` entry naming a non-button action has no effect, and a `main_action`
20
+ // that isn't a valid gamepad action falls back to the default central button (`IA_JUMP`).
21
+ message PBTouchScreenControls {
22
+ // Per-button configuration. A button not listed here keeps its default (shown).
23
+ message TouchInput {
24
+ common.InputAction input_action = 1; // which on-screen button this configures
25
+ bool hide = 2; // hide this button (default: shown)
26
+ // Override the button glyph with this texture. For the jump button it replaces all
27
+ // of its dynamic states (jump / double-jump / glide).
28
+ optional decentraland.common.TextureUnion icon = 3;
29
+ }
30
+
31
+ repeated TouchInput touch_inputs = 1;
32
+ // The large central button's action. Only the gamepad actions are valid:
33
+ // jump / pointer / primary (E) / secondary (F) / action_3..action_6 (1/2/3/4).
34
+ // When unset, the default central button (jump) is kept.
35
+ optional common.InputAction main_action = 2;
36
+ bool hide_joystick = 3; // hide the native virtual joystick
37
+ bool hide_crosshair = 4; // hide the on-screen crosshair / reticle
38
+ }
@@ -0,0 +1,27 @@
1
+ syntax = "proto3";
2
+ package decentraland.sdk.components;
3
+ import "decentraland/sdk/components/common/id.proto";
4
+ import "decentraland/sdk/components/common/input_action.proto";
5
+ option (common.ecs_component_id) = 1219;
6
+
7
+ // The UiInputBinding component binds a UI entity to one or more InputActions. While the
8
+ // element is pressed (touch or pointer) the listed actions are held down, driving both
9
+ // the local player input and scene InputAction listeners, just like the native on-screen
10
+ // buttons. It is typically combined with PBTouchScreenControls to replace the native
11
+ // controls with a custom touch UI.
12
+ //
13
+ // Release semantics: the held actions are released as soon as the press that started them
14
+ // ends. A renderer MUST release all actions held by this binding when any of the following
15
+ // happens: the press/touch is lifted or cancelled, the pointer/touch leaves the element
16
+ // (loses press ownership), the actions list changes (the previous set is released before
17
+ // the new set is applied), the component is removed or its actions list becomes empty, the
18
+ // UI element is hidden, disabled or removed from the tree, or the scene unloads. In short,
19
+ // no action may remain held once the element is no longer both present and actively pressed.
20
+ //
21
+ // Multi-touch: the binding is a single held state, not reference-counted per pointer. The
22
+ // actions are held while the element is pressed and released when that press ends; a second
23
+ // simultaneous press on the same element does not stack, and does not extend the hold past
24
+ // the first release.
25
+ message PBUiInputBinding {
26
+ repeated common.InputAction actions = 1; // the input actions fired while this element is pressed
27
+ }
@@ -10,9 +10,7 @@ option (common.ecs_component_id) = 1076;
10
10
  // an 'instant' transition (like using speed/time = 0)
11
11
  // * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
12
12
  // the holding entity transform).
13
- // * The fov defines the Field of View of the virtual camera
14
13
  message PBVirtualCamera {
15
14
  optional common.CameraTransition default_transition = 1;
16
15
  optional uint32 look_at_entity = 2;
17
- optional float fov = 3; // default: 60
18
16
  }
@@ -0,0 +1,27 @@
1
+ Copyright 2014, Google Inc. All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions are
5
+ met:
6
+
7
+ * Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above
10
+ copyright notice, this list of conditions and the following disclaimer
11
+ in the documentation and/or other materials provided with the
12
+ distribution.
13
+ * Neither the name of Google Inc. nor the names of its
14
+ contributors may be used to endorse or promote products derived from
15
+ this software without specific prior written permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1 @@
1
+ This folder contains stripped and pre-parsed definitions of common Google types. These files are not used by protobuf.js directly but are here so you can use or include them where required.