@dcl/protocol 1.0.0-10955038136.commit-7fe9554 → 1.0.0-11502421172.commit-b32f4af

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 (62) hide show
  1. package/out-js/decentraland/common/texture.gen.d.ts +18 -0
  2. package/out-js/decentraland/common/texture.gen.js +104 -4
  3. package/out-js/decentraland/common/texture.gen.js.map +1 -1
  4. package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +41 -0
  5. package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.js +241 -3
  6. package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.js.map +1 -1
  7. package/out-js/decentraland/sdk/components/camera_mode_area.gen.d.ts +35 -1
  8. package/out-js/decentraland/sdk/components/camera_mode_area.gen.js +172 -3
  9. package/out-js/decentraland/sdk/components/camera_mode_area.gen.js.map +1 -1
  10. package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  11. package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.js +90 -3
  12. package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.js.map +1 -1
  13. package/out-js/decentraland/sdk/components/gltf_node.gen.d.ts +66 -0
  14. package/out-js/decentraland/sdk/components/gltf_node.gen.js +69 -0
  15. package/out-js/decentraland/sdk/components/gltf_node.gen.js.map +1 -0
  16. package/out-js/decentraland/sdk/components/gltf_node_state.gen.d.ts +43 -0
  17. package/out-js/decentraland/sdk/components/gltf_node_state.gen.js +122 -0
  18. package/out-js/decentraland/sdk/components/gltf_node_state.gen.js.map +1 -0
  19. package/out-js/decentraland/sdk/components/material.gen.d.ts +23 -1
  20. package/out-js/decentraland/sdk/components/material.gen.js +108 -3
  21. package/out-js/decentraland/sdk/components/material.gen.js.map +1 -1
  22. package/out-js/decentraland/sdk/components/mesh_collider.gen.d.ts +18 -0
  23. package/out-js/decentraland/sdk/components/mesh_collider.gen.js +90 -4
  24. package/out-js/decentraland/sdk/components/mesh_collider.gen.js.map +1 -1
  25. package/out-js/decentraland/sdk/components/mesh_renderer.gen.d.ts +19 -3
  26. package/out-js/decentraland/sdk/components/mesh_renderer.gen.js +90 -4
  27. package/out-js/decentraland/sdk/components/mesh_renderer.gen.js.map +1 -1
  28. package/out-js/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  29. package/out-js/decentraland/sdk/components/ui_text.gen.js +30 -1
  30. package/out-js/decentraland/sdk/components/ui_text.gen.js.map +1 -1
  31. package/out-js/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  32. package/out-js/decentraland/sdk/components/ui_transform.gen.js +188 -2
  33. package/out-js/decentraland/sdk/components/ui_transform.gen.js.map +1 -1
  34. package/out-ts/decentraland/common/texture.gen.ts +119 -4
  35. package/out-ts/decentraland/sdk/components/avatar_modifier_area.gen.ts +292 -1
  36. package/out-ts/decentraland/sdk/components/camera_mode_area.gen.ts +218 -2
  37. package/out-ts/decentraland/sdk/components/gltf_container_loading_state.gen.ts +108 -2
  38. package/out-ts/decentraland/sdk/components/gltf_node.gen.ts +116 -0
  39. package/out-ts/decentraland/sdk/components/gltf_node_state.gen.ts +139 -0
  40. package/out-ts/decentraland/sdk/components/material.gen.ts +131 -4
  41. package/out-ts/decentraland/sdk/components/mesh_collider.gen.ts +99 -0
  42. package/out-ts/decentraland/sdk/components/mesh_renderer.gen.ts +100 -3
  43. package/out-ts/decentraland/sdk/components/ui_text.gen.ts +40 -1
  44. package/out-ts/decentraland/sdk/components/ui_transform.gen.ts +212 -1
  45. package/package.json +2 -2
  46. package/proto/decentraland/common/texture.proto +8 -1
  47. package/proto/decentraland/sdk/components/avatar_modifier_area.proto +21 -0
  48. package/proto/decentraland/sdk/components/camera_mode_area.proto +22 -3
  49. package/proto/decentraland/sdk/components/global_light.proto +22 -0
  50. package/proto/decentraland/sdk/components/gltf_container_loading_state.proto +13 -0
  51. package/proto/decentraland/sdk/components/gltf_node.proto +42 -0
  52. package/proto/decentraland/sdk/components/gltf_node_state.proto +20 -0
  53. package/proto/decentraland/sdk/components/light.proto +42 -0
  54. package/proto/decentraland/sdk/components/material.proto +13 -1
  55. package/proto/decentraland/sdk/components/mesh_collider.proto +8 -1
  56. package/proto/decentraland/sdk/components/mesh_renderer.proto +8 -3
  57. package/proto/decentraland/sdk/components/spotlight.proto +21 -0
  58. package/proto/decentraland/sdk/components/ui_canvas.proto +16 -0
  59. package/proto/decentraland/sdk/components/ui_scroll_result.proto +12 -0
  60. package/proto/decentraland/sdk/components/ui_text.proto +3 -0
  61. package/proto/decentraland/sdk/components/ui_transform.proto +21 -0
  62. package/public/sdk-components.proto +2 -0
@@ -61,6 +61,14 @@ export interface PBMaterial {
61
61
  | { $case: "unlit"; unlit: PBMaterial_UnlitMaterial }
62
62
  | { $case: "pbr"; pbr: PBMaterial_PbrMaterial }
63
63
  | undefined;
64
+ /**
65
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
66
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
67
+ * supported by the PbMaterial.
68
+ * If this is provided and the `material` field is not provided, the renderer will update the material
69
+ * field with data that reflects the gltf material once it is loaded.
70
+ */
71
+ gltf?: PBMaterial_GltfMaterial | undefined;
64
72
  }
65
73
 
66
74
  export interface PBMaterial_UnlitMaterial {
@@ -77,7 +85,11 @@ export interface PBMaterial_UnlitMaterial {
77
85
  | boolean
78
86
  | undefined;
79
87
  /** default = white; */
80
- diffuseColor?: Color4 | undefined;
88
+ diffuseColor?:
89
+ | Color4
90
+ | undefined;
91
+ /** default = null */
92
+ alphaTexture?: TextureUnion | undefined;
81
93
  }
82
94
 
83
95
  export interface PBMaterial_PbrMaterial {
@@ -93,7 +105,7 @@ export interface PBMaterial_PbrMaterial {
93
105
  castShadows?:
94
106
  | boolean
95
107
  | undefined;
96
- /** default = null */
108
+ /** @deprecated Alpha textures are no longer supported on PBRMaterial and UnlitMaterial.alphaTexture should be used instead. */
97
109
  alphaTexture?:
98
110
  | TextureUnion
99
111
  | undefined;
@@ -141,8 +153,13 @@ export interface PBMaterial_PbrMaterial {
141
153
  directIntensity?: number | undefined;
142
154
  }
143
155
 
156
+ export interface PBMaterial_GltfMaterial {
157
+ gltfSrc: string;
158
+ name: string;
159
+ }
160
+
144
161
  function createBasePBMaterial(): PBMaterial {
145
- return { material: undefined };
162
+ return { material: undefined, gltf: undefined };
146
163
  }
147
164
 
148
165
  export namespace PBMaterial {
@@ -155,6 +172,9 @@ export namespace PBMaterial {
155
172
  PBMaterial_PbrMaterial.encode(message.material.pbr, writer.uint32(18).fork()).ldelim();
156
173
  break;
157
174
  }
175
+ if (message.gltf !== undefined) {
176
+ PBMaterial_GltfMaterial.encode(message.gltf, writer.uint32(26).fork()).ldelim();
177
+ }
158
178
  return writer;
159
179
  }
160
180
 
@@ -179,6 +199,13 @@ export namespace PBMaterial {
179
199
 
180
200
  message.material = { $case: "pbr", pbr: PBMaterial_PbrMaterial.decode(reader, reader.uint32()) };
181
201
  continue;
202
+ case 3:
203
+ if (tag !== 26) {
204
+ break;
205
+ }
206
+
207
+ message.gltf = PBMaterial_GltfMaterial.decode(reader, reader.uint32());
208
+ continue;
182
209
  }
183
210
  if ((tag & 7) === 4 || tag === 0) {
184
211
  break;
@@ -195,6 +222,7 @@ export namespace PBMaterial {
195
222
  : isSet(object.pbr)
196
223
  ? { $case: "pbr", pbr: PBMaterial_PbrMaterial.fromJSON(object.pbr) }
197
224
  : undefined,
225
+ gltf: isSet(object.gltf) ? PBMaterial_GltfMaterial.fromJSON(object.gltf) : undefined,
198
226
  };
199
227
  }
200
228
 
@@ -204,6 +232,7 @@ export namespace PBMaterial {
204
232
  (obj.unlit = message.material?.unlit ? PBMaterial_UnlitMaterial.toJSON(message.material?.unlit) : undefined);
205
233
  message.material?.$case === "pbr" &&
206
234
  (obj.pbr = message.material?.pbr ? PBMaterial_PbrMaterial.toJSON(message.material?.pbr) : undefined);
235
+ message.gltf !== undefined && (obj.gltf = message.gltf ? PBMaterial_GltfMaterial.toJSON(message.gltf) : undefined);
207
236
  return obj;
208
237
  }
209
238
 
@@ -219,12 +248,21 @@ export namespace PBMaterial {
219
248
  if (object.material?.$case === "pbr" && object.material?.pbr !== undefined && object.material?.pbr !== null) {
220
249
  message.material = { $case: "pbr", pbr: PBMaterial_PbrMaterial.fromPartial(object.material.pbr) };
221
250
  }
251
+ message.gltf = (object.gltf !== undefined && object.gltf !== null)
252
+ ? PBMaterial_GltfMaterial.fromPartial(object.gltf)
253
+ : undefined;
222
254
  return message;
223
255
  }
224
256
  }
225
257
 
226
258
  function createBasePBMaterial_UnlitMaterial(): PBMaterial_UnlitMaterial {
227
- return { texture: undefined, alphaTest: undefined, castShadows: undefined, diffuseColor: undefined };
259
+ return {
260
+ texture: undefined,
261
+ alphaTest: undefined,
262
+ castShadows: undefined,
263
+ diffuseColor: undefined,
264
+ alphaTexture: undefined,
265
+ };
228
266
  }
229
267
 
230
268
  export namespace PBMaterial_UnlitMaterial {
@@ -241,6 +279,9 @@ export namespace PBMaterial_UnlitMaterial {
241
279
  if (message.diffuseColor !== undefined) {
242
280
  Color4.encode(message.diffuseColor, writer.uint32(34).fork()).ldelim();
243
281
  }
282
+ if (message.alphaTexture !== undefined) {
283
+ TextureUnion.encode(message.alphaTexture, writer.uint32(42).fork()).ldelim();
284
+ }
244
285
  return writer;
245
286
  }
246
287
 
@@ -279,6 +320,13 @@ export namespace PBMaterial_UnlitMaterial {
279
320
 
280
321
  message.diffuseColor = Color4.decode(reader, reader.uint32());
281
322
  continue;
323
+ case 5:
324
+ if (tag !== 42) {
325
+ break;
326
+ }
327
+
328
+ message.alphaTexture = TextureUnion.decode(reader, reader.uint32());
329
+ continue;
282
330
  }
283
331
  if ((tag & 7) === 4 || tag === 0) {
284
332
  break;
@@ -294,6 +342,7 @@ export namespace PBMaterial_UnlitMaterial {
294
342
  alphaTest: isSet(object.alphaTest) ? Number(object.alphaTest) : undefined,
295
343
  castShadows: isSet(object.castShadows) ? Boolean(object.castShadows) : undefined,
296
344
  diffuseColor: isSet(object.diffuseColor) ? Color4.fromJSON(object.diffuseColor) : undefined,
345
+ alphaTexture: isSet(object.alphaTexture) ? TextureUnion.fromJSON(object.alphaTexture) : undefined,
297
346
  };
298
347
  }
299
348
 
@@ -304,6 +353,8 @@ export namespace PBMaterial_UnlitMaterial {
304
353
  message.castShadows !== undefined && (obj.castShadows = message.castShadows);
305
354
  message.diffuseColor !== undefined &&
306
355
  (obj.diffuseColor = message.diffuseColor ? Color4.toJSON(message.diffuseColor) : undefined);
356
+ message.alphaTexture !== undefined &&
357
+ (obj.alphaTexture = message.alphaTexture ? TextureUnion.toJSON(message.alphaTexture) : undefined);
307
358
  return obj;
308
359
  }
309
360
 
@@ -325,6 +376,9 @@ export namespace PBMaterial_UnlitMaterial {
325
376
  message.diffuseColor = (object.diffuseColor !== undefined && object.diffuseColor !== null)
326
377
  ? Color4.fromPartial(object.diffuseColor)
327
378
  : undefined;
379
+ message.alphaTexture = (object.alphaTexture !== undefined && object.alphaTexture !== null)
380
+ ? TextureUnion.fromPartial(object.alphaTexture)
381
+ : undefined;
328
382
  return message;
329
383
  }
330
384
  }
@@ -612,6 +666,79 @@ export namespace PBMaterial_PbrMaterial {
612
666
  }
613
667
  }
614
668
 
669
+ function createBasePBMaterial_GltfMaterial(): PBMaterial_GltfMaterial {
670
+ return { gltfSrc: "", name: "" };
671
+ }
672
+
673
+ export namespace PBMaterial_GltfMaterial {
674
+ export function encode(message: PBMaterial_GltfMaterial, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
675
+ if (message.gltfSrc !== "") {
676
+ writer.uint32(10).string(message.gltfSrc);
677
+ }
678
+ if (message.name !== "") {
679
+ writer.uint32(18).string(message.name);
680
+ }
681
+ return writer;
682
+ }
683
+
684
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial {
685
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
686
+ let end = length === undefined ? reader.len : reader.pos + length;
687
+ const message = createBasePBMaterial_GltfMaterial();
688
+ while (reader.pos < end) {
689
+ const tag = reader.uint32();
690
+ switch (tag >>> 3) {
691
+ case 1:
692
+ if (tag !== 10) {
693
+ break;
694
+ }
695
+
696
+ message.gltfSrc = reader.string();
697
+ continue;
698
+ case 2:
699
+ if (tag !== 18) {
700
+ break;
701
+ }
702
+
703
+ message.name = reader.string();
704
+ continue;
705
+ }
706
+ if ((tag & 7) === 4 || tag === 0) {
707
+ break;
708
+ }
709
+ reader.skipType(tag & 7);
710
+ }
711
+ return message;
712
+ }
713
+
714
+ export function fromJSON(object: any): PBMaterial_GltfMaterial {
715
+ return {
716
+ gltfSrc: isSet(object.gltfSrc) ? String(object.gltfSrc) : "",
717
+ name: isSet(object.name) ? String(object.name) : "",
718
+ };
719
+ }
720
+
721
+ export function toJSON(message: PBMaterial_GltfMaterial): unknown {
722
+ const obj: any = {};
723
+ message.gltfSrc !== undefined && (obj.gltfSrc = message.gltfSrc);
724
+ message.name !== undefined && (obj.name = message.name);
725
+ return obj;
726
+ }
727
+
728
+ export function create<I extends Exact<DeepPartial<PBMaterial_GltfMaterial>, I>>(base?: I): PBMaterial_GltfMaterial {
729
+ return PBMaterial_GltfMaterial.fromPartial(base ?? {});
730
+ }
731
+
732
+ export function fromPartial<I extends Exact<DeepPartial<PBMaterial_GltfMaterial>, I>>(
733
+ object: I,
734
+ ): PBMaterial_GltfMaterial {
735
+ const message = createBasePBMaterial_GltfMaterial();
736
+ message.gltfSrc = object.gltfSrc ?? "";
737
+ message.name = object.name ?? "";
738
+ return message;
739
+ }
740
+ }
741
+
615
742
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
616
743
 
617
744
  export type DeepPartial<T> = T extends Builtin ? T
@@ -148,6 +148,7 @@ export interface PBMeshCollider {
148
148
  | { $case: "sphere"; sphere: PBMeshCollider_SphereMesh }
149
149
  | { $case: "cylinder"; cylinder: PBMeshCollider_CylinderMesh }
150
150
  | { $case: "plane"; plane: PBMeshCollider_PlaneMesh }
151
+ | { $case: "gltf"; gltf: PBMeshCollider_GltfMesh }
151
152
  | undefined;
152
153
  }
153
154
 
@@ -173,6 +174,14 @@ export interface PBMeshCollider_PlaneMesh {
173
174
  export interface PBMeshCollider_SphereMesh {
174
175
  }
175
176
 
177
+ /** A collider constructed from a Gltf Mesh. */
178
+ export interface PBMeshCollider_GltfMesh {
179
+ /** the GLTF file path as listed in the scene's manifest. */
180
+ gltfSrc: string;
181
+ /** the name of the mesh asset */
182
+ name: string;
183
+ }
184
+
176
185
  function createBasePBMeshCollider(): PBMeshCollider {
177
186
  return { collisionMask: undefined, mesh: undefined };
178
187
  }
@@ -195,6 +204,9 @@ export namespace PBMeshCollider {
195
204
  case "plane":
196
205
  PBMeshCollider_PlaneMesh.encode(message.mesh.plane, writer.uint32(42).fork()).ldelim();
197
206
  break;
207
+ case "gltf":
208
+ PBMeshCollider_GltfMesh.encode(message.mesh.gltf, writer.uint32(50).fork()).ldelim();
209
+ break;
198
210
  }
199
211
  return writer;
200
212
  }
@@ -241,6 +253,13 @@ export namespace PBMeshCollider {
241
253
 
242
254
  message.mesh = { $case: "plane", plane: PBMeshCollider_PlaneMesh.decode(reader, reader.uint32()) };
243
255
  continue;
256
+ case 6:
257
+ if (tag !== 50) {
258
+ break;
259
+ }
260
+
261
+ message.mesh = { $case: "gltf", gltf: PBMeshCollider_GltfMesh.decode(reader, reader.uint32()) };
262
+ continue;
244
263
  }
245
264
  if ((tag & 7) === 4 || tag === 0) {
246
265
  break;
@@ -261,6 +280,8 @@ export namespace PBMeshCollider {
261
280
  ? { $case: "cylinder", cylinder: PBMeshCollider_CylinderMesh.fromJSON(object.cylinder) }
262
281
  : isSet(object.plane)
263
282
  ? { $case: "plane", plane: PBMeshCollider_PlaneMesh.fromJSON(object.plane) }
283
+ : isSet(object.gltf)
284
+ ? { $case: "gltf", gltf: PBMeshCollider_GltfMesh.fromJSON(object.gltf) }
264
285
  : undefined,
265
286
  };
266
287
  }
@@ -276,6 +297,8 @@ export namespace PBMeshCollider {
276
297
  (obj.cylinder = message.mesh?.cylinder ? PBMeshCollider_CylinderMesh.toJSON(message.mesh?.cylinder) : undefined);
277
298
  message.mesh?.$case === "plane" &&
278
299
  (obj.plane = message.mesh?.plane ? PBMeshCollider_PlaneMesh.toJSON(message.mesh?.plane) : undefined);
300
+ message.mesh?.$case === "gltf" &&
301
+ (obj.gltf = message.mesh?.gltf ? PBMeshCollider_GltfMesh.toJSON(message.mesh?.gltf) : undefined);
279
302
  return obj;
280
303
  }
281
304
 
@@ -298,6 +321,9 @@ export namespace PBMeshCollider {
298
321
  if (object.mesh?.$case === "plane" && object.mesh?.plane !== undefined && object.mesh?.plane !== null) {
299
322
  message.mesh = { $case: "plane", plane: PBMeshCollider_PlaneMesh.fromPartial(object.mesh.plane) };
300
323
  }
324
+ if (object.mesh?.$case === "gltf" && object.mesh?.gltf !== undefined && object.mesh?.gltf !== null) {
325
+ message.mesh = { $case: "gltf", gltf: PBMeshCollider_GltfMesh.fromPartial(object.mesh.gltf) };
326
+ }
301
327
  return message;
302
328
  }
303
329
  }
@@ -517,6 +543,79 @@ export namespace PBMeshCollider_SphereMesh {
517
543
  }
518
544
  }
519
545
 
546
+ function createBasePBMeshCollider_GltfMesh(): PBMeshCollider_GltfMesh {
547
+ return { gltfSrc: "", name: "" };
548
+ }
549
+
550
+ export namespace PBMeshCollider_GltfMesh {
551
+ export function encode(message: PBMeshCollider_GltfMesh, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
552
+ if (message.gltfSrc !== "") {
553
+ writer.uint32(10).string(message.gltfSrc);
554
+ }
555
+ if (message.name !== "") {
556
+ writer.uint32(18).string(message.name);
557
+ }
558
+ return writer;
559
+ }
560
+
561
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh {
562
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
563
+ let end = length === undefined ? reader.len : reader.pos + length;
564
+ const message = createBasePBMeshCollider_GltfMesh();
565
+ while (reader.pos < end) {
566
+ const tag = reader.uint32();
567
+ switch (tag >>> 3) {
568
+ case 1:
569
+ if (tag !== 10) {
570
+ break;
571
+ }
572
+
573
+ message.gltfSrc = reader.string();
574
+ continue;
575
+ case 2:
576
+ if (tag !== 18) {
577
+ break;
578
+ }
579
+
580
+ message.name = reader.string();
581
+ continue;
582
+ }
583
+ if ((tag & 7) === 4 || tag === 0) {
584
+ break;
585
+ }
586
+ reader.skipType(tag & 7);
587
+ }
588
+ return message;
589
+ }
590
+
591
+ export function fromJSON(object: any): PBMeshCollider_GltfMesh {
592
+ return {
593
+ gltfSrc: isSet(object.gltfSrc) ? String(object.gltfSrc) : "",
594
+ name: isSet(object.name) ? String(object.name) : "",
595
+ };
596
+ }
597
+
598
+ export function toJSON(message: PBMeshCollider_GltfMesh): unknown {
599
+ const obj: any = {};
600
+ message.gltfSrc !== undefined && (obj.gltfSrc = message.gltfSrc);
601
+ message.name !== undefined && (obj.name = message.name);
602
+ return obj;
603
+ }
604
+
605
+ export function create<I extends Exact<DeepPartial<PBMeshCollider_GltfMesh>, I>>(base?: I): PBMeshCollider_GltfMesh {
606
+ return PBMeshCollider_GltfMesh.fromPartial(base ?? {});
607
+ }
608
+
609
+ export function fromPartial<I extends Exact<DeepPartial<PBMeshCollider_GltfMesh>, I>>(
610
+ object: I,
611
+ ): PBMeshCollider_GltfMesh {
612
+ const message = createBasePBMeshCollider_GltfMesh();
613
+ message.gltfSrc = object.gltfSrc ?? "";
614
+ message.name = object.name ?? "";
615
+ return message;
616
+ }
617
+ }
618
+
520
619
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
521
620
 
522
621
  export type DeepPartial<T> = T extends Builtin ? T
@@ -5,13 +5,11 @@ export const protobufPackage = "decentraland.sdk.components";
5
5
 
6
6
  /**
7
7
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
8
- * plane, a sphere or a cylinder.
8
+ * plane, a sphere, a cylinder, or a Gltf mesh.
9
9
  *
10
10
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
11
11
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
12
12
  * `float` coordinates, one for each corner of each side of each face.
13
- *
14
- * More complex shapes require the use of a `GltfContainer` component.
15
13
  */
16
14
  export interface PBMeshRenderer {
17
15
  mesh?:
@@ -19,6 +17,7 @@ export interface PBMeshRenderer {
19
17
  | { $case: "sphere"; sphere: PBMeshRenderer_SphereMesh }
20
18
  | { $case: "cylinder"; cylinder: PBMeshRenderer_CylinderMesh }
21
19
  | { $case: "plane"; plane: PBMeshRenderer_PlaneMesh }
20
+ | { $case: "gltf"; gltf: PBMeshRenderer_GltfMesh }
22
21
  | undefined;
23
22
  }
24
23
 
@@ -48,6 +47,14 @@ export interface PBMeshRenderer_PlaneMesh {
48
47
  export interface PBMeshRenderer_SphereMesh {
49
48
  }
50
49
 
50
+ /** A mesh from a Gltf. */
51
+ export interface PBMeshRenderer_GltfMesh {
52
+ /** the GLTF file path as listed in the scene's manifest. */
53
+ gltfSrc: string;
54
+ /** the name of the mesh asset */
55
+ name: string;
56
+ }
57
+
51
58
  function createBasePBMeshRenderer(): PBMeshRenderer {
52
59
  return { mesh: undefined };
53
60
  }
@@ -67,6 +74,9 @@ export namespace PBMeshRenderer {
67
74
  case "plane":
68
75
  PBMeshRenderer_PlaneMesh.encode(message.mesh.plane, writer.uint32(34).fork()).ldelim();
69
76
  break;
77
+ case "gltf":
78
+ PBMeshRenderer_GltfMesh.encode(message.mesh.gltf, writer.uint32(42).fork()).ldelim();
79
+ break;
70
80
  }
71
81
  return writer;
72
82
  }
@@ -106,6 +116,13 @@ export namespace PBMeshRenderer {
106
116
 
107
117
  message.mesh = { $case: "plane", plane: PBMeshRenderer_PlaneMesh.decode(reader, reader.uint32()) };
108
118
  continue;
119
+ case 5:
120
+ if (tag !== 42) {
121
+ break;
122
+ }
123
+
124
+ message.mesh = { $case: "gltf", gltf: PBMeshRenderer_GltfMesh.decode(reader, reader.uint32()) };
125
+ continue;
109
126
  }
110
127
  if ((tag & 7) === 4 || tag === 0) {
111
128
  break;
@@ -125,6 +142,8 @@ export namespace PBMeshRenderer {
125
142
  ? { $case: "cylinder", cylinder: PBMeshRenderer_CylinderMesh.fromJSON(object.cylinder) }
126
143
  : isSet(object.plane)
127
144
  ? { $case: "plane", plane: PBMeshRenderer_PlaneMesh.fromJSON(object.plane) }
145
+ : isSet(object.gltf)
146
+ ? { $case: "gltf", gltf: PBMeshRenderer_GltfMesh.fromJSON(object.gltf) }
128
147
  : undefined,
129
148
  };
130
149
  }
@@ -139,6 +158,8 @@ export namespace PBMeshRenderer {
139
158
  (obj.cylinder = message.mesh?.cylinder ? PBMeshRenderer_CylinderMesh.toJSON(message.mesh?.cylinder) : undefined);
140
159
  message.mesh?.$case === "plane" &&
141
160
  (obj.plane = message.mesh?.plane ? PBMeshRenderer_PlaneMesh.toJSON(message.mesh?.plane) : undefined);
161
+ message.mesh?.$case === "gltf" &&
162
+ (obj.gltf = message.mesh?.gltf ? PBMeshRenderer_GltfMesh.toJSON(message.mesh?.gltf) : undefined);
142
163
  return obj;
143
164
  }
144
165
 
@@ -160,6 +181,9 @@ export namespace PBMeshRenderer {
160
181
  if (object.mesh?.$case === "plane" && object.mesh?.plane !== undefined && object.mesh?.plane !== null) {
161
182
  message.mesh = { $case: "plane", plane: PBMeshRenderer_PlaneMesh.fromPartial(object.mesh.plane) };
162
183
  }
184
+ if (object.mesh?.$case === "gltf" && object.mesh?.gltf !== undefined && object.mesh?.gltf !== null) {
185
+ message.mesh = { $case: "gltf", gltf: PBMeshRenderer_GltfMesh.fromPartial(object.mesh.gltf) };
186
+ }
163
187
  return message;
164
188
  }
165
189
  }
@@ -437,6 +461,79 @@ export namespace PBMeshRenderer_SphereMesh {
437
461
  }
438
462
  }
439
463
 
464
+ function createBasePBMeshRenderer_GltfMesh(): PBMeshRenderer_GltfMesh {
465
+ return { gltfSrc: "", name: "" };
466
+ }
467
+
468
+ export namespace PBMeshRenderer_GltfMesh {
469
+ export function encode(message: PBMeshRenderer_GltfMesh, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
470
+ if (message.gltfSrc !== "") {
471
+ writer.uint32(10).string(message.gltfSrc);
472
+ }
473
+ if (message.name !== "") {
474
+ writer.uint32(18).string(message.name);
475
+ }
476
+ return writer;
477
+ }
478
+
479
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh {
480
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
481
+ let end = length === undefined ? reader.len : reader.pos + length;
482
+ const message = createBasePBMeshRenderer_GltfMesh();
483
+ while (reader.pos < end) {
484
+ const tag = reader.uint32();
485
+ switch (tag >>> 3) {
486
+ case 1:
487
+ if (tag !== 10) {
488
+ break;
489
+ }
490
+
491
+ message.gltfSrc = reader.string();
492
+ continue;
493
+ case 2:
494
+ if (tag !== 18) {
495
+ break;
496
+ }
497
+
498
+ message.name = reader.string();
499
+ continue;
500
+ }
501
+ if ((tag & 7) === 4 || tag === 0) {
502
+ break;
503
+ }
504
+ reader.skipType(tag & 7);
505
+ }
506
+ return message;
507
+ }
508
+
509
+ export function fromJSON(object: any): PBMeshRenderer_GltfMesh {
510
+ return {
511
+ gltfSrc: isSet(object.gltfSrc) ? String(object.gltfSrc) : "",
512
+ name: isSet(object.name) ? String(object.name) : "",
513
+ };
514
+ }
515
+
516
+ export function toJSON(message: PBMeshRenderer_GltfMesh): unknown {
517
+ const obj: any = {};
518
+ message.gltfSrc !== undefined && (obj.gltfSrc = message.gltfSrc);
519
+ message.name !== undefined && (obj.name = message.name);
520
+ return obj;
521
+ }
522
+
523
+ export function create<I extends Exact<DeepPartial<PBMeshRenderer_GltfMesh>, I>>(base?: I): PBMeshRenderer_GltfMesh {
524
+ return PBMeshRenderer_GltfMesh.fromPartial(base ?? {});
525
+ }
526
+
527
+ export function fromPartial<I extends Exact<DeepPartial<PBMeshRenderer_GltfMesh>, I>>(
528
+ object: I,
529
+ ): PBMeshRenderer_GltfMesh {
530
+ const message = createBasePBMeshRenderer_GltfMesh();
531
+ message.gltfSrc = object.gltfSrc ?? "";
532
+ message.name = object.name ?? "";
533
+ return message;
534
+ }
535
+ }
536
+
440
537
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
441
538
 
442
539
  export type DeepPartial<T> = T extends Builtin ? T
@@ -65,7 +65,15 @@ export interface PBUiText {
65
65
  | number
66
66
  | undefined;
67
67
  /** wrap text when the border is reached (default: TW_WRAP) */
68
- textWrap?: TextWrap | undefined;
68
+ textWrap?:
69
+ | TextWrap
70
+ | undefined;
71
+ /** width of the outline (default: 0) */
72
+ outlineWidth?:
73
+ | number
74
+ | undefined;
75
+ /** RGBA color of the outline (default: opaque black) */
76
+ outlineColor?: Color4 | undefined;
69
77
  }
70
78
 
71
79
  function createBasePBUiText(): PBUiText {
@@ -76,6 +84,8 @@ function createBasePBUiText(): PBUiText {
76
84
  font: undefined,
77
85
  fontSize: undefined,
78
86
  textWrap: undefined,
87
+ outlineWidth: undefined,
88
+ outlineColor: undefined,
79
89
  };
80
90
  }
81
91
 
@@ -99,6 +109,12 @@ export namespace PBUiText {
99
109
  if (message.textWrap !== undefined) {
100
110
  writer.uint32(48).int32(message.textWrap);
101
111
  }
112
+ if (message.outlineWidth !== undefined) {
113
+ writer.uint32(61).float(message.outlineWidth);
114
+ }
115
+ if (message.outlineColor !== undefined) {
116
+ Color4.encode(message.outlineColor, writer.uint32(66).fork()).ldelim();
117
+ }
102
118
  return writer;
103
119
  }
104
120
 
@@ -151,6 +167,20 @@ export namespace PBUiText {
151
167
 
152
168
  message.textWrap = reader.int32() as any;
153
169
  continue;
170
+ case 7:
171
+ if (tag !== 61) {
172
+ break;
173
+ }
174
+
175
+ message.outlineWidth = reader.float();
176
+ continue;
177
+ case 8:
178
+ if (tag !== 66) {
179
+ break;
180
+ }
181
+
182
+ message.outlineColor = Color4.decode(reader, reader.uint32());
183
+ continue;
154
184
  }
155
185
  if ((tag & 7) === 4 || tag === 0) {
156
186
  break;
@@ -168,6 +198,8 @@ export namespace PBUiText {
168
198
  font: isSet(object.font) ? fontFromJSON(object.font) : undefined,
169
199
  fontSize: isSet(object.fontSize) ? Number(object.fontSize) : undefined,
170
200
  textWrap: isSet(object.textWrap) ? textWrapFromJSON(object.textWrap) : undefined,
201
+ outlineWidth: isSet(object.outlineWidth) ? Number(object.outlineWidth) : undefined,
202
+ outlineColor: isSet(object.outlineColor) ? Color4.fromJSON(object.outlineColor) : undefined,
171
203
  };
172
204
  }
173
205
 
@@ -181,6 +213,9 @@ export namespace PBUiText {
181
213
  message.fontSize !== undefined && (obj.fontSize = Math.round(message.fontSize));
182
214
  message.textWrap !== undefined &&
183
215
  (obj.textWrap = message.textWrap !== undefined ? textWrapToJSON(message.textWrap) : undefined);
216
+ message.outlineWidth !== undefined && (obj.outlineWidth = message.outlineWidth);
217
+ message.outlineColor !== undefined &&
218
+ (obj.outlineColor = message.outlineColor ? Color4.toJSON(message.outlineColor) : undefined);
184
219
  return obj;
185
220
  }
186
221
 
@@ -198,6 +233,10 @@ export namespace PBUiText {
198
233
  message.font = object.font ?? undefined;
199
234
  message.fontSize = object.fontSize ?? undefined;
200
235
  message.textWrap = object.textWrap ?? undefined;
236
+ message.outlineWidth = object.outlineWidth ?? undefined;
237
+ message.outlineColor = (object.outlineColor !== undefined && object.outlineColor !== null)
238
+ ? Color4.fromPartial(object.outlineColor)
239
+ : undefined;
201
240
  return message;
202
241
  }
203
242
  }