@dcl/ecs 7.8.12 → 7.8.13-15760884733.commit-646c526

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 (173) hide show
  1. package/dist/components/extended/AvatarEquippedData.d.ts +10 -0
  2. package/dist/components/extended/AvatarEquippedData.js +15 -0
  3. package/dist/components/extended/AvatarShape.d.ts +10 -0
  4. package/dist/components/extended/AvatarShape.js +15 -0
  5. package/dist/components/extended/MeshCollider.d.ts +8 -0
  6. package/dist/components/extended/MeshCollider.js +6 -0
  7. package/dist/components/extended/MeshRenderer.d.ts +8 -0
  8. package/dist/components/extended/MeshRenderer.js +5 -0
  9. package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
  10. package/dist/components/generated/CameraLayer.gen.js +25 -0
  11. package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
  12. package/dist/components/generated/CameraLayers.gen.js +25 -0
  13. package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
  14. package/dist/components/generated/GlobalLight.gen.js +25 -0
  15. package/dist/components/generated/GltfNode.gen.d.ts +1 -0
  16. package/dist/components/generated/GltfNode.gen.js +25 -0
  17. package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
  18. package/dist/components/generated/GltfNodeState.gen.js +25 -0
  19. package/dist/components/generated/Light.gen.d.ts +1 -0
  20. package/dist/components/generated/Light.gen.js +25 -0
  21. package/dist/components/generated/Spotlight.gen.d.ts +1 -0
  22. package/dist/components/generated/Spotlight.gen.js +25 -0
  23. package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
  24. package/dist/components/generated/TextureCamera.gen.js +25 -0
  25. package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
  26. package/dist/components/generated/UiCanvas.gen.js +25 -0
  27. package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
  28. package/dist/components/generated/UiScrollResult.gen.js +25 -0
  29. package/dist/components/generated/component-names.gen.js +10 -0
  30. package/dist/components/generated/global.gen.d.ts +20 -0
  31. package/dist/components/generated/global.gen.js +10 -0
  32. package/dist/components/generated/index.gen.d.ts +40 -0
  33. package/dist/components/generated/index.gen.js +50 -0
  34. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  35. package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
  36. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  37. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  38. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  39. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -1
  40. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  41. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  42. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  43. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
  44. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  45. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
  46. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  47. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
  48. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  49. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  50. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  51. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
  52. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  53. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  54. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  55. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
  56. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  57. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
  58. package/dist/components/generated/pb/decentraland/sdk/components/light.gen.d.ts +56 -0
  59. package/dist/components/generated/pb/decentraland/sdk/components/light.gen.js +69 -0
  60. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  61. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
  62. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  63. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +56 -0
  64. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  65. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
  66. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  67. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  68. package/dist/components/generated/pb/decentraland/sdk/components/spotlight.gen.d.ts +32 -0
  69. package/dist/components/generated/pb/decentraland/sdk/components/spotlight.gen.js +50 -0
  70. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  71. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
  72. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  73. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
  74. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  75. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
  76. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  77. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  78. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  79. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
  80. package/dist/components/index.d.ts +11 -7
  81. package/dist/components/index.js +11 -5
  82. package/dist/components/types.d.ts +2 -0
  83. package/dist/index.d.ts +4 -0
  84. package/dist/index.js +3 -0
  85. package/dist/systems/events.d.ts +49 -0
  86. package/dist/systems/events.js +53 -2
  87. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
  88. package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
  89. package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
  90. package/dist-cjs/components/extended/AvatarShape.js +19 -0
  91. package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
  92. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  93. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  94. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  95. package/dist-cjs/components/generated/CameraLayer.gen.d.ts +1 -0
  96. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  97. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +1 -0
  98. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  99. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +1 -0
  100. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  101. package/dist-cjs/components/generated/GltfNode.gen.d.ts +1 -0
  102. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  103. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  104. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  105. package/dist-cjs/components/generated/Light.gen.d.ts +1 -0
  106. package/dist-cjs/components/generated/Light.gen.js +28 -0
  107. package/dist-cjs/components/generated/Spotlight.gen.d.ts +1 -0
  108. package/dist-cjs/components/generated/Spotlight.gen.js +28 -0
  109. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  110. package/dist-cjs/components/generated/TextureCamera.gen.js +28 -0
  111. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  112. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  113. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  114. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  115. package/dist-cjs/components/generated/component-names.gen.js +10 -0
  116. package/dist-cjs/components/generated/global.gen.d.ts +20 -0
  117. package/dist-cjs/components/generated/global.gen.js +12 -1
  118. package/dist-cjs/components/generated/index.gen.d.ts +40 -0
  119. package/dist-cjs/components/generated/index.gen.js +62 -1
  120. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  121. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  122. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  123. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  124. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  125. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -2
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/light.gen.d.ts +56 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/light.gen.js +75 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +57 -1
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/spotlight.gen.d.ts +32 -0
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/spotlight.gen.js +56 -0
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
  166. package/dist-cjs/components/index.d.ts +11 -7
  167. package/dist-cjs/components/index.js +15 -7
  168. package/dist-cjs/components/types.d.ts +2 -0
  169. package/dist-cjs/index.d.ts +4 -0
  170. package/dist-cjs/index.js +4 -1
  171. package/dist-cjs/systems/events.d.ts +49 -0
  172. package/dist-cjs/systems/events.js +53 -2
  173. package/package.json +2 -2
@@ -0,0 +1,34 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ import { Color3 } from "../../common/colors.gen";
3
+ import { Vector3 } from "../../common/vectors.gen";
4
+ /**
5
+ * defines the global scene light settings. must be added to the scene root.
6
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
7
+ */
8
+ /**
9
+ * @public
10
+ */
11
+ export interface PBGlobalLight {
12
+ /**
13
+ * the direction the directional light shines in.
14
+ * default depends on time of day and explorer implementation
15
+ */
16
+ direction?: Vector3 | undefined;
17
+ /**
18
+ * ambient light color
19
+ * default: White
20
+ */
21
+ ambientColor?: Color3 | undefined;
22
+ /**
23
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
24
+ * default 1
25
+ */
26
+ ambientBrightness?: number | undefined;
27
+ }
28
+ /**
29
+ * @public
30
+ */
31
+ export declare namespace PBGlobalLight {
32
+ function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
33
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
34
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PBGlobalLight = void 0;
7
+ /* eslint-disable */
8
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
+ const colors_gen_1 = require("../../common/colors.gen");
10
+ const vectors_gen_1 = require("../../common/vectors.gen");
11
+ const protobufPackageSarasa = "decentraland.sdk.components";
12
+ function createBasePBGlobalLight() {
13
+ return { direction: undefined, ambientColor: undefined, ambientBrightness: undefined };
14
+ }
15
+ /**
16
+ * @public
17
+ */
18
+ var PBGlobalLight;
19
+ (function (PBGlobalLight) {
20
+ function encode(message, writer = minimal_1.default.Writer.create()) {
21
+ if (message.direction !== undefined) {
22
+ vectors_gen_1.Vector3.encode(message.direction, writer.uint32(10).fork()).ldelim();
23
+ }
24
+ if (message.ambientColor !== undefined) {
25
+ colors_gen_1.Color3.encode(message.ambientColor, writer.uint32(18).fork()).ldelim();
26
+ }
27
+ if (message.ambientBrightness !== undefined) {
28
+ writer.uint32(29).float(message.ambientBrightness);
29
+ }
30
+ return writer;
31
+ }
32
+ PBGlobalLight.encode = encode;
33
+ function decode(input, length) {
34
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
35
+ let end = length === undefined ? reader.len : reader.pos + length;
36
+ const message = createBasePBGlobalLight();
37
+ while (reader.pos < end) {
38
+ const tag = reader.uint32();
39
+ switch (tag >>> 3) {
40
+ case 1:
41
+ if (tag !== 10) {
42
+ break;
43
+ }
44
+ message.direction = vectors_gen_1.Vector3.decode(reader, reader.uint32());
45
+ continue;
46
+ case 2:
47
+ if (tag !== 18) {
48
+ break;
49
+ }
50
+ message.ambientColor = colors_gen_1.Color3.decode(reader, reader.uint32());
51
+ continue;
52
+ case 3:
53
+ if (tag !== 29) {
54
+ break;
55
+ }
56
+ message.ambientBrightness = reader.float();
57
+ continue;
58
+ }
59
+ if ((tag & 7) === 4 || tag === 0) {
60
+ break;
61
+ }
62
+ reader.skipType(tag & 7);
63
+ }
64
+ return message;
65
+ }
66
+ PBGlobalLight.decode = decode;
67
+ })(PBGlobalLight = exports.PBGlobalLight || (exports.PBGlobalLight = {}));
@@ -9,6 +9,25 @@ import { LoadingState } from "./common/loading_state.gen";
9
9
  */
10
10
  export interface PBGltfContainerLoadingState {
11
11
  currentState: LoadingState;
12
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
13
+ nodePaths: string[];
14
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
15
+ meshNames: string[];
16
+ /**
17
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
18
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
19
+ */
20
+ materialNames: string[];
21
+ /**
22
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
23
+ * sure all your materials are explicitly named.
24
+ */
25
+ skinNames: string[];
26
+ /**
27
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
28
+ * your skins are explicitly named.
29
+ */
30
+ animationNames: string[];
12
31
  }
13
32
  /**
14
33
  * @public
@@ -8,7 +8,7 @@ exports.PBGltfContainerLoadingState = void 0;
8
8
  const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
9
  const protobufPackageSarasa = "decentraland.sdk.components";
10
10
  function createBasePBGltfContainerLoadingState() {
11
- return { currentState: 0 };
11
+ return { currentState: 0, nodePaths: [], meshNames: [], materialNames: [], skinNames: [], animationNames: [] };
12
12
  }
13
13
  /**
14
14
  * @public
@@ -19,6 +19,21 @@ var PBGltfContainerLoadingState;
19
19
  if (message.currentState !== 0) {
20
20
  writer.uint32(8).int32(message.currentState);
21
21
  }
22
+ for (const v of message.nodePaths) {
23
+ writer.uint32(18).string(v);
24
+ }
25
+ for (const v of message.meshNames) {
26
+ writer.uint32(26).string(v);
27
+ }
28
+ for (const v of message.materialNames) {
29
+ writer.uint32(34).string(v);
30
+ }
31
+ for (const v of message.skinNames) {
32
+ writer.uint32(42).string(v);
33
+ }
34
+ for (const v of message.animationNames) {
35
+ writer.uint32(50).string(v);
36
+ }
22
37
  return writer;
23
38
  }
24
39
  PBGltfContainerLoadingState.encode = encode;
@@ -35,6 +50,36 @@ var PBGltfContainerLoadingState;
35
50
  }
36
51
  message.currentState = reader.int32();
37
52
  continue;
53
+ case 2:
54
+ if (tag !== 18) {
55
+ break;
56
+ }
57
+ message.nodePaths.push(reader.string());
58
+ continue;
59
+ case 3:
60
+ if (tag !== 26) {
61
+ break;
62
+ }
63
+ message.meshNames.push(reader.string());
64
+ continue;
65
+ case 4:
66
+ if (tag !== 34) {
67
+ break;
68
+ }
69
+ message.materialNames.push(reader.string());
70
+ continue;
71
+ case 5:
72
+ if (tag !== 42) {
73
+ break;
74
+ }
75
+ message.skinNames.push(reader.string());
76
+ continue;
77
+ case 6:
78
+ if (tag !== 50) {
79
+ break;
80
+ }
81
+ message.animationNames.push(reader.string());
82
+ continue;
38
83
  }
39
84
  if ((tag & 7) === 4 || tag === 0) {
40
85
  break;
@@ -0,0 +1,50 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ /**
3
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
4
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
6
+ * in the parent.
7
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
8
+ *
9
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
10
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
11
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
12
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
13
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
14
+ *
15
+ * After creation, if an animation moves the node, the `Transform` will be updated.
16
+ *
17
+ * From the scene, you can modify various components to alter the gltf node:
18
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
19
+ * regardless of any intermediate gltf node hierarchy.
20
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
21
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
22
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
23
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
24
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
25
+ * 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
26
+ * PBMaterial will be maintained.
27
+ *
28
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
29
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
30
+ * change the state to `GNS_FAILED`.
31
+ * - deleting the scene entity will not delete the gltf node.
32
+ *
33
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
34
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
35
+ * the gltf node will also be displayed.
36
+ */
37
+ /**
38
+ * @public
39
+ */
40
+ export interface PBGltfNode {
41
+ /** the path of the target node in the Gltf. */
42
+ path: string;
43
+ }
44
+ /**
45
+ * @public
46
+ */
47
+ export declare namespace PBGltfNode {
48
+ function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
49
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
50
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PBGltfNode = void 0;
7
+ /* eslint-disable */
8
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
+ const protobufPackageSarasa = "decentraland.sdk.components";
10
+ function createBasePBGltfNode() {
11
+ return { path: "" };
12
+ }
13
+ /**
14
+ * @public
15
+ */
16
+ var PBGltfNode;
17
+ (function (PBGltfNode) {
18
+ function encode(message, writer = minimal_1.default.Writer.create()) {
19
+ if (message.path !== "") {
20
+ writer.uint32(10).string(message.path);
21
+ }
22
+ return writer;
23
+ }
24
+ PBGltfNode.encode = encode;
25
+ function decode(input, length) {
26
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
27
+ let end = length === undefined ? reader.len : reader.pos + length;
28
+ const message = createBasePBGltfNode();
29
+ while (reader.pos < end) {
30
+ const tag = reader.uint32();
31
+ switch (tag >>> 3) {
32
+ case 1:
33
+ if (tag !== 10) {
34
+ break;
35
+ }
36
+ message.path = reader.string();
37
+ continue;
38
+ }
39
+ if ((tag & 7) === 4 || tag === 0) {
40
+ break;
41
+ }
42
+ reader.skipType(tag & 7);
43
+ }
44
+ return message;
45
+ }
46
+ PBGltfNode.decode = decode;
47
+ })(PBGltfNode = exports.PBGltfNode || (exports.PBGltfNode = {}));
@@ -0,0 +1,27 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ /**
3
+ * @public
4
+ */
5
+ export declare const enum GltfNodeStateValue {
6
+ GNSV_PENDING = 0,
7
+ GNSV_FAILED = 1,
8
+ GNSV_READY = 2
9
+ }
10
+ /**
11
+ * The state of a linked gltf node.
12
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
13
+ */
14
+ /**
15
+ * @public
16
+ */
17
+ export interface PBGltfNodeState {
18
+ state: GltfNodeStateValue;
19
+ error?: string | undefined;
20
+ }
21
+ /**
22
+ * @public
23
+ */
24
+ export declare namespace PBGltfNodeState {
25
+ function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
26
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
27
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PBGltfNodeState = exports.GltfNodeStateValue = void 0;
7
+ /* eslint-disable */
8
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
+ const protobufPackageSarasa = "decentraland.sdk.components";
10
+ /**
11
+ * @public
12
+ */
13
+ var GltfNodeStateValue;
14
+ (function (GltfNodeStateValue) {
15
+ GltfNodeStateValue[GltfNodeStateValue["GNSV_PENDING"] = 0] = "GNSV_PENDING";
16
+ GltfNodeStateValue[GltfNodeStateValue["GNSV_FAILED"] = 1] = "GNSV_FAILED";
17
+ GltfNodeStateValue[GltfNodeStateValue["GNSV_READY"] = 2] = "GNSV_READY";
18
+ })(GltfNodeStateValue = exports.GltfNodeStateValue || (exports.GltfNodeStateValue = {}));
19
+ function createBasePBGltfNodeState() {
20
+ return { state: 0, error: undefined };
21
+ }
22
+ /**
23
+ * @public
24
+ */
25
+ var PBGltfNodeState;
26
+ (function (PBGltfNodeState) {
27
+ function encode(message, writer = minimal_1.default.Writer.create()) {
28
+ if (message.state !== 0) {
29
+ writer.uint32(8).int32(message.state);
30
+ }
31
+ if (message.error !== undefined) {
32
+ writer.uint32(18).string(message.error);
33
+ }
34
+ return writer;
35
+ }
36
+ PBGltfNodeState.encode = encode;
37
+ function decode(input, length) {
38
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
39
+ let end = length === undefined ? reader.len : reader.pos + length;
40
+ const message = createBasePBGltfNodeState();
41
+ while (reader.pos < end) {
42
+ const tag = reader.uint32();
43
+ switch (tag >>> 3) {
44
+ case 1:
45
+ if (tag !== 8) {
46
+ break;
47
+ }
48
+ message.state = reader.int32();
49
+ continue;
50
+ case 2:
51
+ if (tag !== 18) {
52
+ break;
53
+ }
54
+ message.error = reader.string();
55
+ continue;
56
+ }
57
+ if ((tag & 7) === 4 || tag === 0) {
58
+ break;
59
+ }
60
+ reader.skipType(tag & 7);
61
+ }
62
+ return message;
63
+ }
64
+ PBGltfNodeState.decode = decode;
65
+ })(PBGltfNodeState = exports.PBGltfNodeState || (exports.PBGltfNodeState = {}));
@@ -0,0 +1,56 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ import { Color3 } from "../../common/colors.gen";
3
+ /**
4
+ * defines a light source.
5
+ * the world has a default directional light (like sunlight) which can be overridden by adding the light component to the scene root.
6
+ * a PBGlobalLight component can also be added to the root to control the directional light direction.
7
+ * point lights (lightbulbs) or spotlights can be created by attaching the light component to non-root entities.
8
+ */
9
+ /**
10
+ * @public
11
+ */
12
+ export interface PBLight {
13
+ /**
14
+ * whether the light is on
15
+ * default true
16
+ */
17
+ enabled?: boolean | undefined;
18
+ /**
19
+ * light brightness in lux (lumens/m^2).
20
+ *
21
+ * for global directional light, this applies as a constant value at all surfaces and distances (though the effect on the surface still depends on incidence angle).
22
+ * the default global light illuminance varies from 400 (sunrise/sunset) to 10,000 (midday).
23
+ * for typical values, see https://en.wikipedia.org/wiki/Lux#Illuminance
24
+ *
25
+ * for point and spot lights, this is the lumens/m^2 at 1m distance from the light. to transform from raw lumens,
26
+ * divide lumens by ~12 (4*pi).
27
+ * e.g. a 100w household bulb with 1200 lumens would have an illuminance of ~100.
28
+ * a lighthouse bulb with 200,000 lumens would have an illuminance of ~15,000 (ignoring beam reflections)
29
+ *
30
+ * default
31
+ * for point/spotlights: 10,000
32
+ * for global directional light: depends on explorer implementation. may vary on light direction, time of day, etc
33
+ */
34
+ illuminance?: number | undefined;
35
+ /**
36
+ * whether the light should cast shadows.
37
+ * note: even when set to true the engine may not display shadows, or may only show shadows for a limited number
38
+ * of lights depending on the implementation, platform, and user settings.
39
+ * default
40
+ * for point/spotlights: false / off
41
+ * for global directional light: true / on
42
+ */
43
+ shadows?: boolean | undefined;
44
+ /**
45
+ * light color
46
+ * default White
47
+ */
48
+ color?: Color3 | undefined;
49
+ }
50
+ /**
51
+ * @public
52
+ */
53
+ export declare namespace PBLight {
54
+ function encode(message: PBLight, writer?: _m0.Writer): _m0.Writer;
55
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBLight;
56
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PBLight = void 0;
7
+ /* eslint-disable */
8
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
+ const colors_gen_1 = require("../../common/colors.gen");
10
+ const protobufPackageSarasa = "decentraland.sdk.components";
11
+ function createBasePBLight() {
12
+ return { enabled: undefined, illuminance: undefined, shadows: undefined, color: undefined };
13
+ }
14
+ /**
15
+ * @public
16
+ */
17
+ var PBLight;
18
+ (function (PBLight) {
19
+ function encode(message, writer = minimal_1.default.Writer.create()) {
20
+ if (message.enabled !== undefined) {
21
+ writer.uint32(8).bool(message.enabled);
22
+ }
23
+ if (message.illuminance !== undefined) {
24
+ writer.uint32(21).float(message.illuminance);
25
+ }
26
+ if (message.shadows !== undefined) {
27
+ writer.uint32(24).bool(message.shadows);
28
+ }
29
+ if (message.color !== undefined) {
30
+ colors_gen_1.Color3.encode(message.color, writer.uint32(34).fork()).ldelim();
31
+ }
32
+ return writer;
33
+ }
34
+ PBLight.encode = encode;
35
+ function decode(input, length) {
36
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
37
+ let end = length === undefined ? reader.len : reader.pos + length;
38
+ const message = createBasePBLight();
39
+ while (reader.pos < end) {
40
+ const tag = reader.uint32();
41
+ switch (tag >>> 3) {
42
+ case 1:
43
+ if (tag !== 8) {
44
+ break;
45
+ }
46
+ message.enabled = reader.bool();
47
+ continue;
48
+ case 2:
49
+ if (tag !== 21) {
50
+ break;
51
+ }
52
+ message.illuminance = reader.float();
53
+ continue;
54
+ case 3:
55
+ if (tag !== 24) {
56
+ break;
57
+ }
58
+ message.shadows = reader.bool();
59
+ continue;
60
+ case 4:
61
+ if (tag !== 34) {
62
+ break;
63
+ }
64
+ message.color = colors_gen_1.Color3.decode(reader, reader.uint32());
65
+ continue;
66
+ }
67
+ if ((tag & 7) === 4 || tag === 0) {
68
+ break;
69
+ }
70
+ reader.skipType(tag & 7);
71
+ }
72
+ return message;
73
+ }
74
+ PBLight.decode = decode;
75
+ })(PBLight = exports.PBLight || (exports.PBLight = {}));
@@ -22,6 +22,14 @@ export interface PBMaterial {
22
22
  $case: "pbr";
23
23
  pbr: PBMaterial_PbrMaterial;
24
24
  } | undefined;
25
+ /**
26
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
27
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
28
+ * supported by the PbMaterial.
29
+ * If this is provided and the `material` field is not provided, the renderer will update the material
30
+ * field with data that reflects the gltf material once it is loaded.
31
+ */
32
+ gltf?: PBMaterial_GltfMaterial | undefined;
25
33
  }
26
34
  /**
27
35
  * @public
@@ -73,6 +81,13 @@ export interface PBMaterial_PbrMaterial {
73
81
  /** default = 1 */
74
82
  directIntensity?: number | undefined;
75
83
  }
84
+ /**
85
+ * @public
86
+ */
87
+ export interface PBMaterial_GltfMaterial {
88
+ gltfSrc: string;
89
+ name: string;
90
+ }
76
91
  /**
77
92
  * @public
78
93
  */
@@ -94,3 +109,10 @@ export declare namespace PBMaterial_PbrMaterial {
94
109
  function encode(message: PBMaterial_PbrMaterial, writer?: _m0.Writer): _m0.Writer;
95
110
  function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_PbrMaterial;
96
111
  }
112
+ /**
113
+ * @public
114
+ */
115
+ export declare namespace PBMaterial_GltfMaterial {
116
+ function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
117
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
118
+ }
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PBMaterial_PbrMaterial = exports.PBMaterial_UnlitMaterial = exports.PBMaterial = exports.MaterialTransparencyMode = void 0;
6
+ exports.PBMaterial_GltfMaterial = exports.PBMaterial_PbrMaterial = exports.PBMaterial_UnlitMaterial = exports.PBMaterial = exports.MaterialTransparencyMode = void 0;
7
7
  /* eslint-disable */
8
8
  const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
9
  const colors_gen_1 = require("../../common/colors.gen");
@@ -21,7 +21,7 @@ var MaterialTransparencyMode;
21
21
  MaterialTransparencyMode[MaterialTransparencyMode["MTM_AUTO"] = 4] = "MTM_AUTO";
22
22
  })(MaterialTransparencyMode = exports.MaterialTransparencyMode || (exports.MaterialTransparencyMode = {}));
23
23
  function createBasePBMaterial() {
24
- return { material: undefined };
24
+ return { material: undefined, gltf: undefined };
25
25
  }
26
26
  /**
27
27
  * @public
@@ -37,6 +37,9 @@ var PBMaterial;
37
37
  PBMaterial_PbrMaterial.encode(message.material.pbr, writer.uint32(18).fork()).ldelim();
38
38
  break;
39
39
  }
40
+ if (message.gltf !== undefined) {
41
+ PBMaterial_GltfMaterial.encode(message.gltf, writer.uint32(26).fork()).ldelim();
42
+ }
40
43
  return writer;
41
44
  }
42
45
  PBMaterial.encode = encode;
@@ -59,6 +62,12 @@ var PBMaterial;
59
62
  }
60
63
  message.material = { $case: "pbr", pbr: PBMaterial_PbrMaterial.decode(reader, reader.uint32()) };
61
64
  continue;
65
+ case 3:
66
+ if (tag !== 26) {
67
+ break;
68
+ }
69
+ message.gltf = PBMaterial_GltfMaterial.decode(reader, reader.uint32());
70
+ continue;
62
71
  }
63
72
  if ((tag & 7) === 4 || tag === 0) {
64
73
  break;
@@ -329,3 +338,50 @@ var PBMaterial_PbrMaterial;
329
338
  }
330
339
  PBMaterial_PbrMaterial.decode = decode;
331
340
  })(PBMaterial_PbrMaterial = exports.PBMaterial_PbrMaterial || (exports.PBMaterial_PbrMaterial = {}));
341
+ function createBasePBMaterial_GltfMaterial() {
342
+ return { gltfSrc: "", name: "" };
343
+ }
344
+ /**
345
+ * @public
346
+ */
347
+ var PBMaterial_GltfMaterial;
348
+ (function (PBMaterial_GltfMaterial) {
349
+ function encode(message, writer = minimal_1.default.Writer.create()) {
350
+ if (message.gltfSrc !== "") {
351
+ writer.uint32(10).string(message.gltfSrc);
352
+ }
353
+ if (message.name !== "") {
354
+ writer.uint32(18).string(message.name);
355
+ }
356
+ return writer;
357
+ }
358
+ PBMaterial_GltfMaterial.encode = encode;
359
+ function decode(input, length) {
360
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
361
+ let end = length === undefined ? reader.len : reader.pos + length;
362
+ const message = createBasePBMaterial_GltfMaterial();
363
+ while (reader.pos < end) {
364
+ const tag = reader.uint32();
365
+ switch (tag >>> 3) {
366
+ case 1:
367
+ if (tag !== 10) {
368
+ break;
369
+ }
370
+ message.gltfSrc = reader.string();
371
+ continue;
372
+ case 2:
373
+ if (tag !== 18) {
374
+ break;
375
+ }
376
+ message.name = reader.string();
377
+ continue;
378
+ }
379
+ if ((tag & 7) === 4 || tag === 0) {
380
+ break;
381
+ }
382
+ reader.skipType(tag & 7);
383
+ }
384
+ return message;
385
+ }
386
+ PBMaterial_GltfMaterial.decode = decode;
387
+ })(PBMaterial_GltfMaterial = exports.PBMaterial_GltfMaterial || (exports.PBMaterial_GltfMaterial = {}));