@dcl/ecs 7.7.10-13934567813.commit-fb33ab1 → 7.7.10-13947412611.commit-a58a334

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 (38) hide show
  1. package/README.md +115 -7
  2. package/dist/components/generated/component-names.gen.js +0 -1
  3. package/dist/components/generated/global.gen.d.ts +0 -2
  4. package/dist/components/generated/global.gen.js +0 -1
  5. package/dist/components/generated/index.gen.d.ts +0 -4
  6. package/dist/components/generated/index.gen.js +0 -5
  7. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
  8. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
  9. package/dist/components/index.d.ts +0 -2
  10. package/dist/components/index.js +0 -3
  11. package/dist/components/types.d.ts +0 -1
  12. package/dist/index.d.ts +1 -2
  13. package/dist/index.js +0 -1
  14. package/dist-cjs/components/generated/component-names.gen.js +0 -1
  15. package/dist-cjs/components/generated/global.gen.d.ts +0 -2
  16. package/dist-cjs/components/generated/global.gen.js +1 -2
  17. package/dist-cjs/components/generated/index.gen.d.ts +0 -4
  18. package/dist-cjs/components/generated/index.gen.js +1 -7
  19. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
  20. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
  21. package/dist-cjs/components/index.d.ts +0 -2
  22. package/dist-cjs/components/index.js +1 -5
  23. package/dist-cjs/components/types.d.ts +0 -1
  24. package/dist-cjs/index.d.ts +1 -2
  25. package/dist-cjs/index.js +1 -2
  26. package/package.json +2 -2
  27. package/dist/components/extended/LightSource.d.ts +0 -25
  28. package/dist/components/extended/LightSource.js +0 -22
  29. package/dist/components/generated/LightSource.gen.d.ts +0 -1
  30. package/dist/components/generated/LightSource.gen.js +0 -25
  31. package/dist/components/generated/pb/decentraland/sdk/components/light_source.gen.d.ts +0 -75
  32. package/dist/components/generated/pb/decentraland/sdk/components/light_source.gen.js +0 -205
  33. package/dist-cjs/components/extended/LightSource.d.ts +0 -25
  34. package/dist-cjs/components/extended/LightSource.js +0 -26
  35. package/dist-cjs/components/generated/LightSource.gen.d.ts +0 -1
  36. package/dist-cjs/components/generated/LightSource.gen.js +0 -28
  37. package/dist-cjs/components/generated/pb/decentraland/sdk/components/light_source.gen.d.ts +0 -75
  38. package/dist-cjs/components/generated/pb/decentraland/sdk/components/light_source.gen.js +0 -211
package/README.md CHANGED
@@ -1,10 +1,118 @@
1
- # ECS 7
1
+ # @dcl/ecs
2
2
 
3
- ## Installing dependencies
4
- Run `make install`, this will run the `npm install` and other dependencies
3
+ Core Entity Component System (ECS) package for Decentraland scenes. Implements a CRDT-based ECS architecture for networked scene state.
5
4
 
6
- ## Building
7
- Run `make build`
5
+ ## Installation
8
6
 
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)
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)
@@ -20,7 +20,6 @@ export const coreComponentMappings = {
20
20
  "core::GltfContainer": 1041,
21
21
  "core::GltfContainerLoadingState": 1049,
22
22
  "core::InputModifier": 1078,
23
- "core::LightSource": 1079,
24
23
  "core::MainCamera": 1075,
25
24
  "core::MapPin": 1097,
26
25
  "core::Material": 1017,
@@ -16,7 +16,6 @@ import { PBEngineInfo } from './pb/decentraland/sdk/components/engine_info.gen';
16
16
  import { PBGltfContainer } from './pb/decentraland/sdk/components/gltf_container.gen';
17
17
  import { PBGltfContainerLoadingState } from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
18
18
  import { PBInputModifier } from './pb/decentraland/sdk/components/input_modifier.gen';
19
- import { PBLightSource } from './pb/decentraland/sdk/components/light_source.gen';
20
19
  import { PBMainCamera } from './pb/decentraland/sdk/components/main_camera.gen';
21
20
  import { PBNftShape } from './pb/decentraland/sdk/components/nft_shape.gen';
22
21
  import { PBPlayerIdentityData } from './pb/decentraland/sdk/components/player_identity_data.gen';
@@ -57,7 +56,6 @@ import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibili
57
56
  /** @public */ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PBGltfContainer>;
58
57
  /** @public */ export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
59
58
  /** @public */ export declare const InputModifier: LastWriteWinElementSetComponentDefinition<PBInputModifier>;
60
- /** @public */ export declare const LightSource: LastWriteWinElementSetComponentDefinition<PBLightSource>;
61
59
  /** @public */ export declare const MainCamera: LastWriteWinElementSetComponentDefinition<PBMainCamera>;
62
60
  /** @public */ export declare const NftShape: LastWriteWinElementSetComponentDefinition<PBNftShape>;
63
61
  /** @public */ export declare const PlayerIdentityData: LastWriteWinElementSetComponentDefinition<PBPlayerIdentityData>;
@@ -17,7 +17,6 @@ export * from './index.gen';
17
17
  /** @public */ export const GltfContainer = /* @__PURE__ */ components.GltfContainer(engine);
18
18
  /** @public */ export const GltfContainerLoadingState = /* @__PURE__ */ components.GltfContainerLoadingState(engine);
19
19
  /** @public */ export const InputModifier = /* @__PURE__ */ components.InputModifier(engine);
20
- /** @public */ export const LightSource = /* @__PURE__ */ components.LightSource(engine);
21
20
  /** @public */ export const MainCamera = /* @__PURE__ */ components.MainCamera(engine);
22
21
  /** @public */ export const NftShape = /* @__PURE__ */ components.NftShape(engine);
23
22
  /** @public */ export const PlayerIdentityData = /* @__PURE__ */ components.PlayerIdentityData(engine);
@@ -17,7 +17,6 @@ import { PBEngineInfo } from './pb/decentraland/sdk/components/engine_info.gen';
17
17
  import { PBGltfContainer } from './pb/decentraland/sdk/components/gltf_container.gen';
18
18
  import { PBGltfContainerLoadingState } from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
19
19
  import { PBInputModifier } from './pb/decentraland/sdk/components/input_modifier.gen';
20
- import { PBLightSource } from './pb/decentraland/sdk/components/light_source.gen';
21
20
  import { PBMainCamera } from './pb/decentraland/sdk/components/main_camera.gen';
22
21
  import { PBMaterial } from './pb/decentraland/sdk/components/material.gen';
23
22
  import { PBMeshCollider } from './pb/decentraland/sdk/components/mesh_collider.gen';
@@ -63,7 +62,6 @@ export * from './pb/decentraland/sdk/components/engine_info.gen';
63
62
  export * from './pb/decentraland/sdk/components/gltf_container.gen';
64
63
  export * from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
65
64
  export * from './pb/decentraland/sdk/components/input_modifier.gen';
66
- export * from './pb/decentraland/sdk/components/light_source.gen';
67
65
  export * from './pb/decentraland/sdk/components/main_camera.gen';
68
66
  export * from './pb/decentraland/sdk/components/material.gen';
69
67
  export * from './pb/decentraland/sdk/components/mesh_collider.gen';
@@ -111,7 +109,6 @@ export type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<an
111
109
  /** @public */ export declare const GltfContainer: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
112
110
  /** @public */ export declare const GltfContainerLoadingState: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
113
111
  /** @public */ export declare const InputModifier: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
114
- /** @public */ export declare const LightSource: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
115
112
  /** @public */ export declare const MainCamera: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
116
113
  /** @public */ export declare const Material: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
117
114
  /** @public */ export declare const MeshCollider: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
@@ -159,7 +156,6 @@ export declare const componentDefinitionByName: {
159
156
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
160
157
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
161
158
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
162
- "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
163
159
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
164
160
  "core::Material": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
165
161
  "core::MeshCollider": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
@@ -15,7 +15,6 @@ import { EngineInfoSchema } from './EngineInfo.gen';
15
15
  import { GltfContainerSchema } from './GltfContainer.gen';
16
16
  import { GltfContainerLoadingStateSchema } from './GltfContainerLoadingState.gen';
17
17
  import { InputModifierSchema } from './InputModifier.gen';
18
- import { LightSourceSchema } from './LightSource.gen';
19
18
  import { MainCameraSchema } from './MainCamera.gen';
20
19
  import { MaterialSchema } from './Material.gen';
21
20
  import { MeshColliderSchema } from './MeshCollider.gen';
@@ -61,7 +60,6 @@ export * from './pb/decentraland/sdk/components/engine_info.gen';
61
60
  export * from './pb/decentraland/sdk/components/gltf_container.gen';
62
61
  export * from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
63
62
  export * from './pb/decentraland/sdk/components/input_modifier.gen';
64
- export * from './pb/decentraland/sdk/components/light_source.gen';
65
63
  export * from './pb/decentraland/sdk/components/main_camera.gen';
66
64
  export * from './pb/decentraland/sdk/components/material.gen';
67
65
  export * from './pb/decentraland/sdk/components/mesh_collider.gen';
@@ -128,8 +126,6 @@ export * from './pb/decentraland/sdk/components/visibility_component.gen';
128
126
  /* @__PURE__ */ engine.defineComponentFromSchema("core::GltfContainerLoadingState", GltfContainerLoadingStateSchema);
129
127
  /** @public */ export const InputModifier = engine =>
130
128
  /* @__PURE__ */ engine.defineComponentFromSchema("core::InputModifier", InputModifierSchema);
131
- /** @public */ export const LightSource = engine =>
132
- /* @__PURE__ */ engine.defineComponentFromSchema("core::LightSource", LightSourceSchema);
133
129
  /** @public */ export const MainCamera = engine =>
134
130
  /* @__PURE__ */ engine.defineComponentFromSchema("core::MainCamera", MainCameraSchema);
135
131
  /** @public */ export const Material = engine =>
@@ -209,7 +205,6 @@ export const componentDefinitionByName = /* @__PURE__ */ {
209
205
  "core::GltfContainer": GltfContainer,
210
206
  "core::GltfContainerLoadingState": GltfContainerLoadingState,
211
207
  "core::InputModifier": InputModifier,
212
- "core::LightSource": LightSource,
213
208
  "core::MainCamera": MainCamera,
214
209
  "core::Material": Material,
215
210
  "core::MeshCollider": MeshCollider,
@@ -6,7 +6,6 @@ import { CameraTransition } from "./common/camera_transition.gen";
6
6
  * an 'instant' transition (like using speed/time = 0)
7
7
  * * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
8
8
  * the holding entity transform).
9
- * * The fov defines the Field of View of the virtual camera
10
9
  */
11
10
  /**
12
11
  * @public
@@ -14,8 +13,6 @@ import { CameraTransition } from "./common/camera_transition.gen";
14
13
  export interface PBVirtualCamera {
15
14
  defaultTransition?: CameraTransition | undefined;
16
15
  lookAtEntity?: number | undefined;
17
- /** default: 60 */
18
- fov?: number | undefined;
19
16
  }
20
17
  /**
21
18
  * @public
@@ -3,7 +3,7 @@ import _m0 from "protobufjs/minimal";
3
3
  import { CameraTransition } from "./common/camera_transition.gen";
4
4
  const protobufPackageSarasa = "decentraland.sdk.components";
5
5
  function createBasePBVirtualCamera() {
6
- return { defaultTransition: undefined, lookAtEntity: undefined, fov: undefined };
6
+ return { defaultTransition: undefined, lookAtEntity: undefined };
7
7
  }
8
8
  /**
9
9
  * @public
@@ -17,9 +17,6 @@ export var PBVirtualCamera;
17
17
  if (message.lookAtEntity !== undefined) {
18
18
  writer.uint32(16).uint32(message.lookAtEntity);
19
19
  }
20
- if (message.fov !== undefined) {
21
- writer.uint32(29).float(message.fov);
22
- }
23
20
  return writer;
24
21
  }
25
22
  PBVirtualCamera.encode = encode;
@@ -42,12 +39,6 @@ export var PBVirtualCamera;
42
39
  }
43
40
  message.lookAtEntity = reader.uint32();
44
41
  continue;
45
- case 3:
46
- if (tag !== 29) {
47
- break;
48
- }
49
- message.fov = reader.float();
50
- continue;
51
42
  }
52
43
  if ((tag & 7) === 4 || tag === 0) {
53
44
  break;
@@ -16,7 +16,6 @@ import { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
16
16
  import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
17
17
  import { VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
18
18
  import { InputModifierComponentDefinitionExtended } from './extended/InputModifier';
19
- import { LightSourceComponentDefinitionExtended } from './extended/LightSource';
20
19
  export * from './generated/index.gen';
21
20
  export type { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDefinition, LwwComponentGetter, GSetComponentGetter };
22
21
  export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
@@ -29,7 +28,6 @@ export declare const MeshCollider: LwwComponentGetter<MeshColliderComponentDefin
29
28
  export declare const Tween: LwwComponentGetter<TweenComponentDefinitionExtended>;
30
29
  export declare const VirtualCamera: LwwComponentGetter<VirtualCameraComponentDefinitionExtended>;
31
30
  export declare const InputModifier: LwwComponentGetter<InputModifierComponentDefinitionExtended>;
32
- export declare const LightSource: LwwComponentGetter<LightSourceComponentDefinitionExtended>;
33
31
  /**
34
32
  * @alpha
35
33
  */
@@ -13,7 +13,6 @@ import { defineAudioStreamComponent } from './extended/AudioStream';
13
13
  import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
14
14
  import { defineVirtualCameraComponent } from './extended/VirtualCamera';
15
15
  import { defineInputModifierComponent } from './extended/InputModifier';
16
- import { defineLightSourceComponent } from './extended/LightSource';
17
16
  export * from './generated/index.gen';
18
17
  /* @__PURE__ */
19
18
  export const Transform = (engine) => defineTransformComponent(engine);
@@ -35,8 +34,6 @@ export const Tween = (engine) => defineTweenComponent(engine);
35
34
  export const VirtualCamera = (engine) => defineVirtualCameraComponent(engine);
36
35
  /* @__PURE__*/
37
36
  export const InputModifier = (engine) => defineInputModifierComponent(engine);
38
- /* @__PURE__*/
39
- export const LightSource = (engine) => defineLightSourceComponent(engine);
40
37
  /**
41
38
  * @alpha
42
39
  */
@@ -12,4 +12,3 @@ export type { ISyncComponents, ISyncComponentsType } from './manual/SyncComponen
12
12
  export type { INetowrkEntity, INetowrkEntityType } from './manual/NetworkEntity';
13
13
  export type { INetowrkParent, INetowrkParentType } from './manual/NetworkParent';
14
14
  export type { InputModifierHelper, InputModifierComponentDefinitionExtended } from './extended/InputModifier';
15
- export type { LightSourceHelper, LightSourceComponentDefinitionExtended } from './extended/LightSource';
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export * from './systems/async-task';
11
11
  export * from './systems/tween';
12
12
  export * from './engine/entity';
13
13
  export * from './components/types';
14
- import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended } from './components/types';
14
+ import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended } from './components/types';
15
15
  import { NameComponent } from './components/manual/Name';
16
16
  export declare const Transform: TransformComponentExtended;
17
17
  export declare const Animator: AnimatorComponentDefinitionExtended;
@@ -24,7 +24,6 @@ export declare const Name: NameComponent;
24
24
  export declare const Tween: TweenComponentDefinitionExtended;
25
25
  export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
26
26
  export declare const InputModifier: InputModifierComponentDefinitionExtended;
27
- export declare const LightSource: LightSourceComponentDefinitionExtended;
28
27
  /**
29
28
  * @alpha
30
29
  * This is going to be used for sync components through a server.
package/dist/index.js CHANGED
@@ -29,7 +29,6 @@ export const Name = components.Name(engine);
29
29
  export const Tween = /* @__PURE__*/ components.Tween(engine);
30
30
  export const VirtualCamera = /* @__PURE__*/ components.VirtualCamera(engine);
31
31
  export const InputModifier = /* @__PURE__*/ components.InputModifier(engine);
32
- export const LightSource = /* @__PURE__*/ components.LightSource(engine);
33
32
  /**
34
33
  * @alpha
35
34
  * This is going to be used for sync components through a server.
@@ -23,7 +23,6 @@ exports.coreComponentMappings = {
23
23
  "core::GltfContainer": 1041,
24
24
  "core::GltfContainerLoadingState": 1049,
25
25
  "core::InputModifier": 1078,
26
- "core::LightSource": 1079,
27
26
  "core::MainCamera": 1075,
28
27
  "core::MapPin": 1097,
29
28
  "core::Material": 1017,
@@ -16,7 +16,6 @@ import { PBEngineInfo } from './pb/decentraland/sdk/components/engine_info.gen';
16
16
  import { PBGltfContainer } from './pb/decentraland/sdk/components/gltf_container.gen';
17
17
  import { PBGltfContainerLoadingState } from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
18
18
  import { PBInputModifier } from './pb/decentraland/sdk/components/input_modifier.gen';
19
- import { PBLightSource } from './pb/decentraland/sdk/components/light_source.gen';
20
19
  import { PBMainCamera } from './pb/decentraland/sdk/components/main_camera.gen';
21
20
  import { PBNftShape } from './pb/decentraland/sdk/components/nft_shape.gen';
22
21
  import { PBPlayerIdentityData } from './pb/decentraland/sdk/components/player_identity_data.gen';
@@ -57,7 +56,6 @@ import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibili
57
56
  /** @public */ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PBGltfContainer>;
58
57
  /** @public */ export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
59
58
  /** @public */ export declare const InputModifier: LastWriteWinElementSetComponentDefinition<PBInputModifier>;
60
- /** @public */ export declare const LightSource: LastWriteWinElementSetComponentDefinition<PBLightSource>;
61
59
  /** @public */ export declare const MainCamera: LastWriteWinElementSetComponentDefinition<PBMainCamera>;
62
60
  /** @public */ export declare const NftShape: LastWriteWinElementSetComponentDefinition<PBNftShape>;
63
61
  /** @public */ export declare const PlayerIdentityData: LastWriteWinElementSetComponentDefinition<PBPlayerIdentityData>;
@@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.VisibilityComponent = exports.VirtualCamera = exports.VideoPlayer = exports.VideoEvent = exports.UiTransform = exports.UiText = exports.UiInputResult = exports.UiInput = exports.UiDropdownResult = exports.UiDropdown = exports.UiCanvasInformation = exports.UiBackground = exports.TweenState = exports.TweenSequence = exports.TextShape = exports.RealmInfo = exports.RaycastResult = exports.Raycast = exports.PointerLock = exports.PointerEventsResult = exports.PointerEvents = exports.PlayerIdentityData = exports.NftShape = exports.MainCamera = exports.LightSource = exports.InputModifier = exports.GltfContainerLoadingState = exports.GltfContainer = exports.EngineInfo = exports.CameraModeArea = exports.CameraMode = exports.Billboard = exports.AvatarShape = exports.AvatarModifierArea = exports.AvatarEquippedData = exports.AvatarEmoteCommand = exports.AvatarBase = exports.AvatarAttach = exports.AudioStream = exports.AudioSource = exports.AudioEvent = void 0;
29
+ exports.VisibilityComponent = exports.VirtualCamera = exports.VideoPlayer = exports.VideoEvent = exports.UiTransform = exports.UiText = exports.UiInputResult = exports.UiInput = exports.UiDropdownResult = exports.UiDropdown = exports.UiCanvasInformation = exports.UiBackground = exports.TweenState = exports.TweenSequence = exports.TextShape = exports.RealmInfo = exports.RaycastResult = exports.Raycast = exports.PointerLock = exports.PointerEventsResult = exports.PointerEvents = exports.PlayerIdentityData = exports.NftShape = exports.MainCamera = exports.InputModifier = exports.GltfContainerLoadingState = exports.GltfContainer = exports.EngineInfo = exports.CameraModeArea = exports.CameraMode = exports.Billboard = exports.AvatarShape = exports.AvatarModifierArea = exports.AvatarEquippedData = exports.AvatarEmoteCommand = exports.AvatarBase = exports.AvatarAttach = exports.AudioStream = exports.AudioSource = exports.AudioEvent = void 0;
30
30
  const initialization_1 = require("../../runtime/initialization");
31
31
  const components = __importStar(require("./index.gen"));
32
32
  __exportStar(require("./index.gen"), exports);
@@ -46,7 +46,6 @@ __exportStar(require("./index.gen"), exports);
46
46
  /** @public */ exports.GltfContainer = components.GltfContainer(initialization_1.engine);
47
47
  /** @public */ exports.GltfContainerLoadingState = components.GltfContainerLoadingState(initialization_1.engine);
48
48
  /** @public */ exports.InputModifier = components.InputModifier(initialization_1.engine);
49
- /** @public */ exports.LightSource = components.LightSource(initialization_1.engine);
50
49
  /** @public */ exports.MainCamera = components.MainCamera(initialization_1.engine);
51
50
  /** @public */ exports.NftShape = components.NftShape(initialization_1.engine);
52
51
  /** @public */ exports.PlayerIdentityData = components.PlayerIdentityData(initialization_1.engine);
@@ -17,7 +17,6 @@ import { PBEngineInfo } from './pb/decentraland/sdk/components/engine_info.gen';
17
17
  import { PBGltfContainer } from './pb/decentraland/sdk/components/gltf_container.gen';
18
18
  import { PBGltfContainerLoadingState } from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
19
19
  import { PBInputModifier } from './pb/decentraland/sdk/components/input_modifier.gen';
20
- import { PBLightSource } from './pb/decentraland/sdk/components/light_source.gen';
21
20
  import { PBMainCamera } from './pb/decentraland/sdk/components/main_camera.gen';
22
21
  import { PBMaterial } from './pb/decentraland/sdk/components/material.gen';
23
22
  import { PBMeshCollider } from './pb/decentraland/sdk/components/mesh_collider.gen';
@@ -63,7 +62,6 @@ export * from './pb/decentraland/sdk/components/engine_info.gen';
63
62
  export * from './pb/decentraland/sdk/components/gltf_container.gen';
64
63
  export * from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
65
64
  export * from './pb/decentraland/sdk/components/input_modifier.gen';
66
- export * from './pb/decentraland/sdk/components/light_source.gen';
67
65
  export * from './pb/decentraland/sdk/components/main_camera.gen';
68
66
  export * from './pb/decentraland/sdk/components/material.gen';
69
67
  export * from './pb/decentraland/sdk/components/mesh_collider.gen';
@@ -111,7 +109,6 @@ export type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<an
111
109
  /** @public */ export declare const GltfContainer: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
112
110
  /** @public */ export declare const GltfContainerLoadingState: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
113
111
  /** @public */ export declare const InputModifier: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
114
- /** @public */ export declare const LightSource: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
115
112
  /** @public */ export declare const MainCamera: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
116
113
  /** @public */ export declare const Material: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
117
114
  /** @public */ export declare const MeshCollider: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
@@ -159,7 +156,6 @@ export declare const componentDefinitionByName: {
159
156
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
160
157
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
161
158
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
162
- "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
163
159
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
164
160
  "core::Material": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
165
161
  "core::MeshCollider": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.componentDefinitionByName = exports.VisibilityComponent = exports.VirtualCamera = exports.VideoPlayer = exports.VideoEvent = exports.UiTransform = exports.UiText = exports.UiInputResult = exports.UiInput = exports.UiDropdownResult = exports.UiDropdown = exports.UiCanvasInformation = exports.UiBackground = exports.TweenState = exports.TweenSequence = exports.Tween = exports.TextShape = exports.RealmInfo = exports.RaycastResult = exports.Raycast = exports.PointerLock = exports.PointerEventsResult = exports.PointerEvents = exports.PlayerIdentityData = exports.NftShape = exports.MeshRenderer = exports.MeshCollider = exports.Material = exports.MainCamera = exports.LightSource = exports.InputModifier = exports.GltfContainerLoadingState = exports.GltfContainer = exports.EngineInfo = exports.CameraModeArea = exports.CameraMode = exports.Billboard = exports.AvatarShape = exports.AvatarModifierArea = exports.AvatarEquippedData = exports.AvatarEmoteCommand = exports.AvatarBase = exports.AvatarAttach = exports.AudioStream = exports.AudioSource = exports.AudioEvent = exports.Animator = void 0;
17
+ exports.componentDefinitionByName = exports.VisibilityComponent = exports.VirtualCamera = exports.VideoPlayer = exports.VideoEvent = exports.UiTransform = exports.UiText = exports.UiInputResult = exports.UiInput = exports.UiDropdownResult = exports.UiDropdown = exports.UiCanvasInformation = exports.UiBackground = exports.TweenState = exports.TweenSequence = exports.Tween = exports.TextShape = exports.RealmInfo = exports.RaycastResult = exports.Raycast = exports.PointerLock = exports.PointerEventsResult = exports.PointerEvents = exports.PlayerIdentityData = exports.NftShape = exports.MeshRenderer = exports.MeshCollider = exports.Material = exports.MainCamera = exports.InputModifier = exports.GltfContainerLoadingState = exports.GltfContainer = exports.EngineInfo = exports.CameraModeArea = exports.CameraMode = exports.Billboard = exports.AvatarShape = exports.AvatarModifierArea = exports.AvatarEquippedData = exports.AvatarEmoteCommand = exports.AvatarBase = exports.AvatarAttach = exports.AudioStream = exports.AudioSource = exports.AudioEvent = exports.Animator = void 0;
18
18
  const Animator_gen_1 = require("./Animator.gen");
19
19
  const AudioEvent_gen_1 = require("./AudioEvent.gen");
20
20
  const AudioSource_gen_1 = require("./AudioSource.gen");
@@ -32,7 +32,6 @@ const EngineInfo_gen_1 = require("./EngineInfo.gen");
32
32
  const GltfContainer_gen_1 = require("./GltfContainer.gen");
33
33
  const GltfContainerLoadingState_gen_1 = require("./GltfContainerLoadingState.gen");
34
34
  const InputModifier_gen_1 = require("./InputModifier.gen");
35
- const LightSource_gen_1 = require("./LightSource.gen");
36
35
  const MainCamera_gen_1 = require("./MainCamera.gen");
37
36
  const Material_gen_1 = require("./Material.gen");
38
37
  const MeshCollider_gen_1 = require("./MeshCollider.gen");
@@ -78,7 +77,6 @@ __exportStar(require("./pb/decentraland/sdk/components/engine_info.gen"), export
78
77
  __exportStar(require("./pb/decentraland/sdk/components/gltf_container.gen"), exports);
79
78
  __exportStar(require("./pb/decentraland/sdk/components/gltf_container_loading_state.gen"), exports);
80
79
  __exportStar(require("./pb/decentraland/sdk/components/input_modifier.gen"), exports);
81
- __exportStar(require("./pb/decentraland/sdk/components/light_source.gen"), exports);
82
80
  __exportStar(require("./pb/decentraland/sdk/components/main_camera.gen"), exports);
83
81
  __exportStar(require("./pb/decentraland/sdk/components/material.gen"), exports);
84
82
  __exportStar(require("./pb/decentraland/sdk/components/mesh_collider.gen"), exports);
@@ -162,9 +160,6 @@ exports.GltfContainerLoadingState = GltfContainerLoadingState;
162
160
  /** @public */ const InputModifier = engine =>
163
161
  /* @__PURE__ */ engine.defineComponentFromSchema("core::InputModifier", InputModifier_gen_1.InputModifierSchema);
164
162
  exports.InputModifier = InputModifier;
165
- /** @public */ const LightSource = engine =>
166
- /* @__PURE__ */ engine.defineComponentFromSchema("core::LightSource", LightSource_gen_1.LightSourceSchema);
167
- exports.LightSource = LightSource;
168
163
  /** @public */ const MainCamera = engine =>
169
164
  /* @__PURE__ */ engine.defineComponentFromSchema("core::MainCamera", MainCamera_gen_1.MainCameraSchema);
170
165
  exports.MainCamera = MainCamera;
@@ -272,7 +267,6 @@ exports.componentDefinitionByName = {
272
267
  "core::GltfContainer": exports.GltfContainer,
273
268
  "core::GltfContainerLoadingState": exports.GltfContainerLoadingState,
274
269
  "core::InputModifier": exports.InputModifier,
275
- "core::LightSource": exports.LightSource,
276
270
  "core::MainCamera": exports.MainCamera,
277
271
  "core::Material": exports.Material,
278
272
  "core::MeshCollider": exports.MeshCollider,
@@ -6,7 +6,6 @@ import { CameraTransition } from "./common/camera_transition.gen";
6
6
  * an 'instant' transition (like using speed/time = 0)
7
7
  * * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
8
8
  * the holding entity transform).
9
- * * The fov defines the Field of View of the virtual camera
10
9
  */
11
10
  /**
12
11
  * @public
@@ -14,8 +13,6 @@ import { CameraTransition } from "./common/camera_transition.gen";
14
13
  export interface PBVirtualCamera {
15
14
  defaultTransition?: CameraTransition | undefined;
16
15
  lookAtEntity?: number | undefined;
17
- /** default: 60 */
18
- fov?: number | undefined;
19
16
  }
20
17
  /**
21
18
  * @public
@@ -9,7 +9,7 @@ const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
9
  const camera_transition_gen_1 = require("./common/camera_transition.gen");
10
10
  const protobufPackageSarasa = "decentraland.sdk.components";
11
11
  function createBasePBVirtualCamera() {
12
- return { defaultTransition: undefined, lookAtEntity: undefined, fov: undefined };
12
+ return { defaultTransition: undefined, lookAtEntity: undefined };
13
13
  }
14
14
  /**
15
15
  * @public
@@ -23,9 +23,6 @@ var PBVirtualCamera;
23
23
  if (message.lookAtEntity !== undefined) {
24
24
  writer.uint32(16).uint32(message.lookAtEntity);
25
25
  }
26
- if (message.fov !== undefined) {
27
- writer.uint32(29).float(message.fov);
28
- }
29
26
  return writer;
30
27
  }
31
28
  PBVirtualCamera.encode = encode;
@@ -48,12 +45,6 @@ var PBVirtualCamera;
48
45
  }
49
46
  message.lookAtEntity = reader.uint32();
50
47
  continue;
51
- case 3:
52
- if (tag !== 29) {
53
- break;
54
- }
55
- message.fov = reader.float();
56
- continue;
57
48
  }
58
49
  if ((tag & 7) === 4 || tag === 0) {
59
50
  break;
@@ -16,7 +16,6 @@ import { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
16
16
  import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
17
17
  import { VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
18
18
  import { InputModifierComponentDefinitionExtended } from './extended/InputModifier';
19
- import { LightSourceComponentDefinitionExtended } from './extended/LightSource';
20
19
  export * from './generated/index.gen';
21
20
  export type { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDefinition, LwwComponentGetter, GSetComponentGetter };
22
21
  export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
@@ -29,7 +28,6 @@ export declare const MeshCollider: LwwComponentGetter<MeshColliderComponentDefin
29
28
  export declare const Tween: LwwComponentGetter<TweenComponentDefinitionExtended>;
30
29
  export declare const VirtualCamera: LwwComponentGetter<VirtualCameraComponentDefinitionExtended>;
31
30
  export declare const InputModifier: LwwComponentGetter<InputModifierComponentDefinitionExtended>;
32
- export declare const LightSource: LwwComponentGetter<LightSourceComponentDefinitionExtended>;
33
31
  /**
34
32
  * @alpha
35
33
  */
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.MediaState = exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.Name = exports.LightSource = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.MeshCollider = exports.MeshRenderer = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Material = exports.Transform = void 0;
20
+ exports.MediaState = exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.Name = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.MeshCollider = exports.MeshRenderer = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Material = exports.Transform = void 0;
21
21
  const Animator_1 = require("./extended/Animator");
22
22
  const AudioSource_1 = require("./extended/AudioSource");
23
23
  const Material_1 = require("./extended/Material");
@@ -34,7 +34,6 @@ const media_state_gen_1 = require("./generated/pb/decentraland/sdk/components/co
34
34
  Object.defineProperty(exports, "MediaState", { enumerable: true, get: function () { return media_state_gen_1.MediaState; } });
35
35
  const VirtualCamera_1 = require("./extended/VirtualCamera");
36
36
  const InputModifier_1 = require("./extended/InputModifier");
37
- const LightSource_1 = require("./extended/LightSource");
38
37
  __exportStar(require("./generated/index.gen"), exports);
39
38
  /* @__PURE__ */
40
39
  const Transform = (engine) => (0, Transform_1.defineTransformComponent)(engine);
@@ -66,9 +65,6 @@ exports.VirtualCamera = VirtualCamera;
66
65
  /* @__PURE__*/
67
66
  const InputModifier = (engine) => (0, InputModifier_1.defineInputModifierComponent)(engine);
68
67
  exports.InputModifier = InputModifier;
69
- /* @__PURE__*/
70
- const LightSource = (engine) => (0, LightSource_1.defineLightSourceComponent)(engine);
71
- exports.LightSource = LightSource;
72
68
  /**
73
69
  * @alpha
74
70
  */
@@ -12,4 +12,3 @@ export type { ISyncComponents, ISyncComponentsType } from './manual/SyncComponen
12
12
  export type { INetowrkEntity, INetowrkEntityType } from './manual/NetworkEntity';
13
13
  export type { INetowrkParent, INetowrkParentType } from './manual/NetworkParent';
14
14
  export type { InputModifierHelper, InputModifierComponentDefinitionExtended } from './extended/InputModifier';
15
- export type { LightSourceHelper, LightSourceComponentDefinitionExtended } from './extended/LightSource';
@@ -11,7 +11,7 @@ export * from './systems/async-task';
11
11
  export * from './systems/tween';
12
12
  export * from './engine/entity';
13
13
  export * from './components/types';
14
- import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended } from './components/types';
14
+ import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended } from './components/types';
15
15
  import { NameComponent } from './components/manual/Name';
16
16
  export declare const Transform: TransformComponentExtended;
17
17
  export declare const Animator: AnimatorComponentDefinitionExtended;
@@ -24,7 +24,6 @@ export declare const Name: NameComponent;
24
24
  export declare const Tween: TweenComponentDefinitionExtended;
25
25
  export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
26
26
  export declare const InputModifier: InputModifierComponentDefinitionExtended;
27
- export declare const LightSource: LightSourceComponentDefinitionExtended;
28
27
  /**
29
28
  * @alpha
30
29
  * This is going to be used for sync components through a server.
package/dist-cjs/index.js CHANGED
@@ -26,7 +26,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.LightSource = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.Name = exports.MeshCollider = exports.MeshRenderer = exports.Material = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Transform = exports.components = exports.cyclicParentingChecker = void 0;
29
+ exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.Name = exports.MeshCollider = exports.MeshRenderer = exports.Material = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Transform = exports.components = exports.cyclicParentingChecker = void 0;
30
30
  // The order of the following imports matters. Please do not auto-sort
31
31
  __exportStar(require("./engine"), exports);
32
32
  __exportStar(require("./schemas"), exports);
@@ -58,7 +58,6 @@ exports.Name = components.Name(initialization_1.engine);
58
58
  exports.Tween = components.Tween(initialization_1.engine);
59
59
  exports.VirtualCamera = components.VirtualCamera(initialization_1.engine);
60
60
  exports.InputModifier = components.InputModifier(initialization_1.engine);
61
- exports.LightSource = components.LightSource(initialization_1.engine);
62
61
  /**
63
62
  * @alpha
64
63
  * This is going to be used for sync components through a server.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dcl/ecs",
3
3
  "description": "Decentraland ECS",
4
- "version": "7.7.10-13934567813.commit-fb33ab1",
4
+ "version": "7.7.10-13947412611.commit-a58a334",
5
5
  "author": "DCL",
6
6
  "bugs": "https://github.com/decentraland/ecs/issues",
7
7
  "files": [
@@ -33,5 +33,5 @@
33
33
  },
34
34
  "types": "./dist/index.d.ts",
35
35
  "typings": "./dist/index.d.ts",
36
- "commit": "fb33ab1d245c23eac7eb4244af9355e455da1af4"
36
+ "commit": "a58a33495548f73c6a141a692f549f514347c3a4"
37
37
  }