@dcl/ecs 7.7.3-13057502418.commit-f85e704 → 7.7.3-13089595989.commit-0b20ca2

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 (156) hide show
  1. package/README.md +7 -115
  2. package/dist/components/extended/MeshCollider.d.ts +8 -0
  3. package/dist/components/extended/MeshCollider.js +6 -0
  4. package/dist/components/extended/MeshRenderer.d.ts +8 -0
  5. package/dist/components/extended/MeshRenderer.js +5 -0
  6. package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
  7. package/dist/components/generated/CameraLayer.gen.js +25 -0
  8. package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
  9. package/dist/components/generated/CameraLayers.gen.js +25 -0
  10. package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
  11. package/dist/components/generated/GlobalLight.gen.js +25 -0
  12. package/dist/components/generated/GltfNode.gen.d.ts +1 -0
  13. package/dist/components/generated/GltfNode.gen.js +25 -0
  14. package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
  15. package/dist/components/generated/GltfNodeState.gen.js +25 -0
  16. package/dist/components/generated/Light.gen.d.ts +1 -0
  17. package/dist/components/generated/Light.gen.js +25 -0
  18. package/dist/components/generated/PrimaryPointerInfo.gen.d.ts +1 -0
  19. package/dist/components/generated/PrimaryPointerInfo.gen.js +25 -0
  20. package/dist/components/generated/Spotlight.gen.d.ts +1 -0
  21. package/dist/components/generated/Spotlight.gen.js +25 -0
  22. package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
  23. package/dist/components/generated/TextureCamera.gen.js +25 -0
  24. package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
  25. package/dist/components/generated/UiCanvas.gen.js +25 -0
  26. package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
  27. package/dist/components/generated/UiScrollResult.gen.js +25 -0
  28. package/dist/components/generated/component-names.gen.js +11 -0
  29. package/dist/components/generated/global.gen.d.ts +22 -0
  30. package/dist/components/generated/global.gen.js +11 -0
  31. package/dist/components/generated/index.gen.d.ts +44 -0
  32. package/dist/components/generated/index.gen.js +55 -0
  33. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  34. package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
  35. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  36. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -1
  37. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  38. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
  39. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  40. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
  41. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  42. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
  43. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  44. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  45. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  46. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
  47. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  48. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  49. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  50. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
  51. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  52. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
  53. package/dist/components/generated/pb/decentraland/sdk/components/light.gen.d.ts +56 -0
  54. package/dist/components/generated/pb/decentraland/sdk/components/light.gen.js +69 -0
  55. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  56. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
  57. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  58. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +56 -0
  59. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  60. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
  61. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +34 -0
  62. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +80 -0
  63. package/dist/components/generated/pb/decentraland/sdk/components/spotlight.gen.d.ts +32 -0
  64. package/dist/components/generated/pb/decentraland/sdk/components/spotlight.gen.js +50 -0
  65. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +68 -0
  66. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +181 -0
  67. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  68. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
  69. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  70. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
  71. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  72. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  73. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +39 -0
  74. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +110 -0
  75. package/dist/systems/crdt/index.js +1 -12
  76. package/dist/systems/crdt/types.d.ts +1 -5
  77. package/dist/systems/events.d.ts +49 -0
  78. package/dist/systems/events.js +53 -2
  79. package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
  80. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  81. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  82. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  83. package/dist-cjs/components/generated/CameraLayer.gen.d.ts +1 -0
  84. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  85. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +1 -0
  86. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  87. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +1 -0
  88. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  89. package/dist-cjs/components/generated/GltfNode.gen.d.ts +1 -0
  90. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  91. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  92. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  93. package/dist-cjs/components/generated/Light.gen.d.ts +1 -0
  94. package/dist-cjs/components/generated/Light.gen.js +28 -0
  95. package/dist-cjs/components/generated/PrimaryPointerInfo.gen.d.ts +1 -0
  96. package/dist-cjs/components/generated/PrimaryPointerInfo.gen.js +28 -0
  97. package/dist-cjs/components/generated/Spotlight.gen.d.ts +1 -0
  98. package/dist-cjs/components/generated/Spotlight.gen.js +28 -0
  99. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  100. package/dist-cjs/components/generated/TextureCamera.gen.js +28 -0
  101. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  102. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  103. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  104. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  105. package/dist-cjs/components/generated/component-names.gen.js +11 -0
  106. package/dist-cjs/components/generated/global.gen.d.ts +22 -0
  107. package/dist-cjs/components/generated/global.gen.js +13 -1
  108. package/dist-cjs/components/generated/index.gen.d.ts +44 -0
  109. package/dist-cjs/components/generated/index.gen.js +68 -1
  110. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  111. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  112. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  113. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -2
  114. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  115. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  116. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  117. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  118. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  119. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
  120. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  121. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  122. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  123. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  124. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  125. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/light.gen.d.ts +56 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/light.gen.js +75 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +57 -1
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +34 -0
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +86 -0
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/spotlight.gen.d.ts +32 -0
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/spotlight.gen.js +56 -0
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +68 -0
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +187 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +39 -0
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +111 -1
  152. package/dist-cjs/systems/crdt/index.js +1 -12
  153. package/dist-cjs/systems/crdt/types.d.ts +1 -5
  154. package/dist-cjs/systems/events.d.ts +49 -0
  155. package/dist-cjs/systems/events.js +53 -2
  156. package/package.json +2 -2
package/README.md CHANGED
@@ -1,118 +1,10 @@
1
- # @dcl/ecs
1
+ # ECS 7
2
2
 
3
- Core Entity Component System (ECS) package for Decentraland scenes. Implements a CRDT-based ECS architecture for networked scene state.
3
+ ## Installing dependencies
4
+ Run `make install`, this will run the `npm install` and other dependencies
4
5
 
5
- ## Installation
6
+ ## Building
7
+ Run `make build`
6
8
 
7
- ```bash
8
- npm install @dcl/ecs
9
- ```
10
-
11
- ## Usage
12
-
13
- ```typescript
14
- import { engine } from '@dcl/ecs'
15
-
16
- // Create entity
17
- const entity = engine.addEntity()
18
-
19
- // Define and add component
20
- const Health = engine.defineComponent(1, {
21
- current: Number,
22
- max: Number,
23
- regeneration: Number
24
- })
25
-
26
- Health.create(entity, {
27
- current: 100,
28
- max: 100,
29
- regeneration: 1
30
- })
31
-
32
- // Create system
33
- engine.addSystem((dt: number) => {
34
- for (const [entity, health] of engine.mutableGroupOf(Health)) {
35
- if (health.current < health.max) {
36
- health.current = Math.min(health.max, health.current + health.regeneration * dt)
37
- }
38
- }
39
- })
40
- ```
41
-
42
- ## Technical Overview
43
-
44
- ### Component Definition
45
-
46
- Components are defined with a unique ID and a schema. The schema is used to:
47
-
48
- - Generate TypeScript types
49
- - Create binary serializers/deserializers
50
- - Set up CRDT operations
51
-
52
- ### CRDT Implementation
53
-
54
- The ECS uses CRDTs (Conflict-free Replicated Data Types) to enable deterministic state updates across multiple engine instances:
55
-
56
- - Component updates are CRDT operations with logical timestamps
57
- - Multiple engine instances can be synced by exchanging CRDT operations
58
- - Conflict resolution uses timestamps and entity IDs to ensure consistency
59
- - Binary transport format minimizes network overhead
60
-
61
- ### Network Entities
62
-
63
- For multiplayer scenes, the `syncEntity` method marks entities that should be synchronized across peers.
64
- In the background it creates a NetworkEntity and a SyncComponents components with all the info necessary to synchronise the entity through the network.
65
-
66
- ```typescript
67
- import { engine, NetworkEntity } from '@dcl/ecs'
68
-
69
- // Create a networked entity
70
- const foe = engine.addEntity()
71
- NetworkEntity.create(foe)
72
-
73
- // Components on this entity will be synced across peers
74
- Health.create(foe, { current: 100, max: 100, regeneration: 1 })
75
- ```
76
-
77
- Each peer maintains its own engine instance. When using NetworkEntity:
78
-
79
- - The owner peer can modify the entity's components
80
- - Other peers receive read-only replicas
81
- - Updates are propagated through the network transport layer using CRDT operations
82
-
83
- Example transport message:
84
-
85
- ```typescript
86
- {
87
- entityId: number
88
- componentId: number
89
- timestamp: number
90
- data: Uint8Array // Serialized component data
91
- }
92
- ```
93
-
94
- ### Performance Features
95
-
96
- - Zero-allocation component iteration
97
- - Dirty state tracking for efficient updates
98
- - Binary serialization for network transport
99
- - Batched component operations
100
-
101
- ## Development
102
-
103
- ```bash
104
- # Build
105
- make build
106
-
107
- # Test
108
- make test
109
-
110
- # Clean and reinstall
111
- make clean && make install
112
- ```
113
-
114
- ## Documentation
115
-
116
- - [ECS Guide](https://docs.decentraland.org/creator/development-guide/sdk7/entities-components/)
117
- - [Component Reference](https://docs.decentraland.org/creator/development-guide/sdk7/components/)
118
- - [ADR-117: CRDT Protocol](https://adr.decentraland.org/adr/ADR-117)
9
+ ## Testing
10
+ Run `make test`, you can also debug the test in VS code, selecting the launch `Jest current file` or just `Jest` (this will run all test)
@@ -34,5 +34,13 @@ export interface MeshColliderComponentDefinitionExtended extends LastWriteWinEle
34
34
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
35
35
  */
36
36
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
37
+ /**
38
+ * @public
39
+ * Set a gltf internal mesh in the MeshCollider component
40
+ * @param entity - entity to create or replace the MeshRenderer component
41
+ * @param source - the path to the gltf
42
+ * @param meshName - the name of the mesh in the gltf
43
+ */
44
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
37
45
  }
38
46
  export declare function defineMeshColliderComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshColliderComponentDefinitionExtended;
@@ -34,6 +34,12 @@ export function defineMeshColliderComponent(engine) {
34
34
  mesh: { $case: 'sphere', sphere: {} },
35
35
  collisionMask: getCollisionMask(colliderLayers)
36
36
  });
37
+ },
38
+ setGltfMesh(entity, source, meshName, colliderLayers) {
39
+ theComponent.createOrReplace(entity, {
40
+ mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } },
41
+ collisionMask: getCollisionMask(colliderLayers)
42
+ });
37
43
  }
38
44
  };
39
45
  }
@@ -32,5 +32,13 @@ export interface MeshRendererComponentDefinitionExtended extends LastWriteWinEle
32
32
  * @param entity - entity to create or replace the MeshRenderer component
33
33
  */
34
34
  setSphere(entity: Entity): void;
35
+ /**
36
+ * @public
37
+ * Set a gltf internal mesh in the MeshRenderer component
38
+ * @param entity - entity to create or replace the MeshRenderer component
39
+ * @param source - the path to the gltf
40
+ * @param meshName - the name of the mesh in the gltf
41
+ */
42
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
35
43
  }
36
44
  export declare function defineMeshRendererComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshRendererComponentDefinitionExtended;
@@ -22,6 +22,11 @@ export function defineMeshRendererComponent(engine) {
22
22
  theComponent.createOrReplace(entity, {
23
23
  mesh: { $case: 'sphere', sphere: {} }
24
24
  });
25
+ },
26
+ setGltfMesh(entity, source, meshName) {
27
+ theComponent.createOrReplace(entity, {
28
+ mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } }
29
+ });
25
30
  }
26
31
  };
27
32
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBCameraLayer } from './pb/decentraland/sdk/components/camera_layer.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const CameraLayerSchema = {
6
+ COMPONENT_ID: 1210,
7
+ serialize(value, builder) {
8
+ const writer = PBCameraLayer.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBCameraLayer.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBCameraLayer.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBCameraLayer"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBCameraLayers } from './pb/decentraland/sdk/components/camera_layers.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const CameraLayersSchema = {
6
+ COMPONENT_ID: 1208,
7
+ serialize(value, builder) {
8
+ const writer = PBCameraLayers.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBCameraLayers.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBCameraLayers.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBCameraLayers"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBGlobalLight } from './pb/decentraland/sdk/components/global_light.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const GlobalLightSchema = {
6
+ COMPONENT_ID: 1206,
7
+ serialize(value, builder) {
8
+ const writer = PBGlobalLight.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBGlobalLight.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBGlobalLight.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBGlobalLight"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBGltfNode } from './pb/decentraland/sdk/components/gltf_node.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const GltfNodeSchema = {
6
+ COMPONENT_ID: 1200,
7
+ serialize(value, builder) {
8
+ const writer = PBGltfNode.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBGltfNode.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBGltfNode.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBGltfNode"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBGltfNodeState } from './pb/decentraland/sdk/components/gltf_node_state.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const GltfNodeStateSchema = {
6
+ COMPONENT_ID: 1201,
7
+ serialize(value, builder) {
8
+ const writer = PBGltfNodeState.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBGltfNodeState.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBGltfNodeState.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBGltfNodeState"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBLight } from './pb/decentraland/sdk/components/light.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const LightSchema = {
6
+ COMPONENT_ID: 1204,
7
+ serialize(value, builder) {
8
+ const writer = PBLight.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBLight.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBLight.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBLight"
24
+ }
25
+ };
@@ -0,0 +1,25 @@
1
+ import { PBPrimaryPointerInfo } from './pb/decentraland/sdk/components/primary_pointer_info.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const PrimaryPointerInfoSchema = {
6
+ COMPONENT_ID: 1209,
7
+ serialize(value, builder) {
8
+ const writer = PBPrimaryPointerInfo.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBPrimaryPointerInfo.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBPrimaryPointerInfo.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBPrimaryPointerInfo"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBSpotlight } from './pb/decentraland/sdk/components/spotlight.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const SpotlightSchema = {
6
+ COMPONENT_ID: 1205,
7
+ serialize(value, builder) {
8
+ const writer = PBSpotlight.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBSpotlight.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBSpotlight.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBSpotlight"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBTextureCamera } from './pb/decentraland/sdk/components/texture_camera.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const TextureCameraSchema = {
6
+ COMPONENT_ID: 1207,
7
+ serialize(value, builder) {
8
+ const writer = PBTextureCamera.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBTextureCamera.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBTextureCamera.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBTextureCamera"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBUiCanvas } from './pb/decentraland/sdk/components/ui_canvas.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const UiCanvasSchema = {
6
+ COMPONENT_ID: 1203,
7
+ serialize(value, builder) {
8
+ const writer = PBUiCanvas.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBUiCanvas.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBUiCanvas.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBUiCanvas"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBUiScrollResult } from './pb/decentraland/sdk/components/ui_scroll_result.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const UiScrollResultSchema = {
6
+ COMPONENT_ID: 1202,
7
+ serialize(value, builder) {
8
+ const writer = PBUiScrollResult.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBUiScrollResult.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBUiScrollResult.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBUiScrollResult"
24
+ }
25
+ };
@@ -14,12 +14,18 @@ export const coreComponentMappings = {
14
14
  "core::AvatarModifierArea": 1070,
15
15
  "core::AvatarShape": 1080,
16
16
  "core::Billboard": 1090,
17
+ "core::CameraLayer": 1210,
18
+ "core::CameraLayers": 1208,
17
19
  "core::CameraMode": 1072,
18
20
  "core::CameraModeArea": 1071,
19
21
  "core::EngineInfo": 1048,
22
+ "core::GlobalLight": 1206,
20
23
  "core::GltfContainer": 1041,
21
24
  "core::GltfContainerLoadingState": 1049,
25
+ "core::GltfNode": 1200,
26
+ "core::GltfNodeState": 1201,
22
27
  "core::InputModifier": 1078,
28
+ "core::Light": 1204,
23
29
  "core::MainCamera": 1075,
24
30
  "core::MapPin": 1097,
25
31
  "core::Material": 1017,
@@ -30,19 +36,24 @@ export const coreComponentMappings = {
30
36
  "core::PointerEvents": 1062,
31
37
  "core::PointerEventsResult": 1063,
32
38
  "core::PointerLock": 1074,
39
+ "core::PrimaryPointerInfo": 1209,
33
40
  "core::Raycast": 1067,
34
41
  "core::RaycastResult": 1068,
35
42
  "core::RealmInfo": 1106,
43
+ "core::Spotlight": 1205,
36
44
  "core::TextShape": 1030,
45
+ "core::TextureCamera": 1207,
37
46
  "core::Tween": 1102,
38
47
  "core::TweenSequence": 1104,
39
48
  "core::TweenState": 1103,
40
49
  "core::UiBackground": 1053,
50
+ "core::UiCanvas": 1203,
41
51
  "core::UiCanvasInformation": 1054,
42
52
  "core::UiDropdown": 1094,
43
53
  "core::UiDropdownResult": 1096,
44
54
  "core::UiInput": 1093,
45
55
  "core::UiInputResult": 1095,
56
+ "core::UiScrollResult": 1202,
46
57
  "core::UiText": 1052,
47
58
  "core::UiTransform": 1050,
48
59
  "core::VideoEvent": 1044,
@@ -10,30 +10,41 @@ import { PBAvatarEquippedData } from './pb/decentraland/sdk/components/avatar_eq
10
10
  import { PBAvatarModifierArea } from './pb/decentraland/sdk/components/avatar_modifier_area.gen';
11
11
  import { PBAvatarShape } from './pb/decentraland/sdk/components/avatar_shape.gen';
12
12
  import { PBBillboard } from './pb/decentraland/sdk/components/billboard.gen';
13
+ import { PBCameraLayer } from './pb/decentraland/sdk/components/camera_layer.gen';
14
+ import { PBCameraLayers } from './pb/decentraland/sdk/components/camera_layers.gen';
13
15
  import { PBCameraMode } from './pb/decentraland/sdk/components/camera_mode.gen';
14
16
  import { PBCameraModeArea } from './pb/decentraland/sdk/components/camera_mode_area.gen';
15
17
  import { PBEngineInfo } from './pb/decentraland/sdk/components/engine_info.gen';
18
+ import { PBGlobalLight } from './pb/decentraland/sdk/components/global_light.gen';
16
19
  import { PBGltfContainer } from './pb/decentraland/sdk/components/gltf_container.gen';
17
20
  import { PBGltfContainerLoadingState } from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
21
+ import { PBGltfNode } from './pb/decentraland/sdk/components/gltf_node.gen';
22
+ import { PBGltfNodeState } from './pb/decentraland/sdk/components/gltf_node_state.gen';
18
23
  import { PBInputModifier } from './pb/decentraland/sdk/components/input_modifier.gen';
24
+ import { PBLight } from './pb/decentraland/sdk/components/light.gen';
19
25
  import { PBMainCamera } from './pb/decentraland/sdk/components/main_camera.gen';
20
26
  import { PBNftShape } from './pb/decentraland/sdk/components/nft_shape.gen';
21
27
  import { PBPlayerIdentityData } from './pb/decentraland/sdk/components/player_identity_data.gen';
22
28
  import { PBPointerEvents } from './pb/decentraland/sdk/components/pointer_events.gen';
23
29
  import { PBPointerEventsResult } from './pb/decentraland/sdk/components/pointer_events_result.gen';
24
30
  import { PBPointerLock } from './pb/decentraland/sdk/components/pointer_lock.gen';
31
+ import { PBPrimaryPointerInfo } from './pb/decentraland/sdk/components/primary_pointer_info.gen';
25
32
  import { PBRaycast } from './pb/decentraland/sdk/components/raycast.gen';
26
33
  import { PBRaycastResult } from './pb/decentraland/sdk/components/raycast_result.gen';
27
34
  import { PBRealmInfo } from './pb/decentraland/sdk/components/realm_info.gen';
35
+ import { PBSpotlight } from './pb/decentraland/sdk/components/spotlight.gen';
28
36
  import { PBTextShape } from './pb/decentraland/sdk/components/text_shape.gen';
37
+ import { PBTextureCamera } from './pb/decentraland/sdk/components/texture_camera.gen';
29
38
  import { PBTweenSequence } from './pb/decentraland/sdk/components/tween_sequence.gen';
30
39
  import { PBTweenState } from './pb/decentraland/sdk/components/tween_state.gen';
31
40
  import { PBUiBackground } from './pb/decentraland/sdk/components/ui_background.gen';
41
+ import { PBUiCanvas } from './pb/decentraland/sdk/components/ui_canvas.gen';
32
42
  import { PBUiCanvasInformation } from './pb/decentraland/sdk/components/ui_canvas_information.gen';
33
43
  import { PBUiDropdown } from './pb/decentraland/sdk/components/ui_dropdown.gen';
34
44
  import { PBUiDropdownResult } from './pb/decentraland/sdk/components/ui_dropdown_result.gen';
35
45
  import { PBUiInput } from './pb/decentraland/sdk/components/ui_input.gen';
36
46
  import { PBUiInputResult } from './pb/decentraland/sdk/components/ui_input_result.gen';
47
+ import { PBUiScrollResult } from './pb/decentraland/sdk/components/ui_scroll_result.gen';
37
48
  import { PBUiText } from './pb/decentraland/sdk/components/ui_text.gen';
38
49
  import { PBUiTransform } from './pb/decentraland/sdk/components/ui_transform.gen';
39
50
  import { PBVideoEvent } from './pb/decentraland/sdk/components/video_event.gen';
@@ -50,30 +61,41 @@ import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibili
50
61
  /** @public */ export declare const AvatarModifierArea: LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>;
51
62
  /** @public */ export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
52
63
  /** @public */ export declare const Billboard: LastWriteWinElementSetComponentDefinition<PBBillboard>;
64
+ /** @public */ export declare const CameraLayer: LastWriteWinElementSetComponentDefinition<PBCameraLayer>;
65
+ /** @public */ export declare const CameraLayers: LastWriteWinElementSetComponentDefinition<PBCameraLayers>;
53
66
  /** @public */ export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
54
67
  /** @public */ export declare const CameraModeArea: LastWriteWinElementSetComponentDefinition<PBCameraModeArea>;
55
68
  /** @public */ export declare const EngineInfo: LastWriteWinElementSetComponentDefinition<PBEngineInfo>;
69
+ /** @public */ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
56
70
  /** @public */ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PBGltfContainer>;
57
71
  /** @public */ export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
72
+ /** @public */ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
73
+ /** @public */ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
58
74
  /** @public */ export declare const InputModifier: LastWriteWinElementSetComponentDefinition<PBInputModifier>;
75
+ /** @public */ export declare const Light: LastWriteWinElementSetComponentDefinition<PBLight>;
59
76
  /** @public */ export declare const MainCamera: LastWriteWinElementSetComponentDefinition<PBMainCamera>;
60
77
  /** @public */ export declare const NftShape: LastWriteWinElementSetComponentDefinition<PBNftShape>;
61
78
  /** @public */ export declare const PlayerIdentityData: LastWriteWinElementSetComponentDefinition<PBPlayerIdentityData>;
62
79
  /** @public */ export declare const PointerEvents: LastWriteWinElementSetComponentDefinition<PBPointerEvents>;
63
80
  /** @public */ export declare const PointerEventsResult: GrowOnlyValueSetComponentDefinition<PBPointerEventsResult>;
64
81
  /** @public */ export declare const PointerLock: LastWriteWinElementSetComponentDefinition<PBPointerLock>;
82
+ /** @public */ export declare const PrimaryPointerInfo: LastWriteWinElementSetComponentDefinition<PBPrimaryPointerInfo>;
65
83
  /** @public */ export declare const Raycast: LastWriteWinElementSetComponentDefinition<PBRaycast>;
66
84
  /** @public */ export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
67
85
  /** @public */ export declare const RealmInfo: LastWriteWinElementSetComponentDefinition<PBRealmInfo>;
86
+ /** @public */ export declare const Spotlight: LastWriteWinElementSetComponentDefinition<PBSpotlight>;
68
87
  /** @public */ export declare const TextShape: LastWriteWinElementSetComponentDefinition<PBTextShape>;
88
+ /** @public */ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
69
89
  /** @public */ export declare const TweenSequence: LastWriteWinElementSetComponentDefinition<PBTweenSequence>;
70
90
  /** @public */ export declare const TweenState: LastWriteWinElementSetComponentDefinition<PBTweenState>;
71
91
  /** @public */ export declare const UiBackground: LastWriteWinElementSetComponentDefinition<PBUiBackground>;
92
+ /** @public */ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
72
93
  /** @public */ export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
73
94
  /** @public */ export declare const UiDropdown: LastWriteWinElementSetComponentDefinition<PBUiDropdown>;
74
95
  /** @public */ export declare const UiDropdownResult: LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>;
75
96
  /** @public */ export declare const UiInput: LastWriteWinElementSetComponentDefinition<PBUiInput>;
76
97
  /** @public */ export declare const UiInputResult: LastWriteWinElementSetComponentDefinition<PBUiInputResult>;
98
+ /** @public */ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
77
99
  /** @public */ export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
78
100
  /** @public */ export declare const UiTransform: LastWriteWinElementSetComponentDefinition<PBUiTransform>;
79
101
  /** @public */ export declare const VideoEvent: GrowOnlyValueSetComponentDefinition<PBVideoEvent>;