@dcl/ecs 7.5.7 → 7.5.8-10777738407.commit-ecf90a0

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 (49) hide show
  1. package/dist/components/extended/VirtualCamera.d.ts +26 -0
  2. package/dist/components/extended/VirtualCamera.js +22 -0
  3. package/dist/components/generated/MainCamera.gen.d.ts +1 -0
  4. package/dist/components/generated/MainCamera.gen.js +25 -0
  5. package/dist/components/generated/VirtualCamera.gen.d.ts +1 -0
  6. package/dist/components/generated/VirtualCamera.gen.js +25 -0
  7. package/dist/components/generated/component-names.gen.js +2 -0
  8. package/dist/components/generated/global.gen.d.ts +4 -0
  9. package/dist/components/generated/global.gen.js +2 -0
  10. package/dist/components/generated/index.gen.d.ts +8 -0
  11. package/dist/components/generated/index.gen.js +10 -0
  12. package/dist/components/generated/pb/decentraland/sdk/components/common/camera_transition.gen.d.ts +22 -0
  13. package/dist/components/generated/pb/decentraland/sdk/components/common/camera_transition.gen.js +70 -0
  14. package/dist/components/generated/pb/decentraland/sdk/components/main_camera.gen.d.ts +16 -0
  15. package/dist/components/generated/pb/decentraland/sdk/components/main_camera.gen.js +41 -0
  16. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +22 -0
  17. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +51 -0
  18. package/dist/components/generated/types.gen.d.ts +1 -0
  19. package/dist/components/generated/types.gen.js +2 -0
  20. package/dist/components/index.d.ts +2 -0
  21. package/dist/components/index.js +3 -0
  22. package/dist/components/types.d.ts +1 -0
  23. package/dist/index.d.ts +2 -1
  24. package/dist/index.js +1 -0
  25. package/dist-cjs/components/extended/VirtualCamera.d.ts +26 -0
  26. package/dist-cjs/components/extended/VirtualCamera.js +26 -0
  27. package/dist-cjs/components/generated/MainCamera.gen.d.ts +1 -0
  28. package/dist-cjs/components/generated/MainCamera.gen.js +28 -0
  29. package/dist-cjs/components/generated/VirtualCamera.gen.d.ts +1 -0
  30. package/dist-cjs/components/generated/VirtualCamera.gen.js +28 -0
  31. package/dist-cjs/components/generated/component-names.gen.js +2 -0
  32. package/dist-cjs/components/generated/global.gen.d.ts +4 -0
  33. package/dist-cjs/components/generated/global.gen.js +3 -1
  34. package/dist-cjs/components/generated/index.gen.d.ts +8 -0
  35. package/dist-cjs/components/generated/index.gen.js +13 -1
  36. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_transition.gen.d.ts +22 -0
  37. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_transition.gen.js +76 -0
  38. package/dist-cjs/components/generated/pb/decentraland/sdk/components/main_camera.gen.d.ts +16 -0
  39. package/dist-cjs/components/generated/pb/decentraland/sdk/components/main_camera.gen.js +47 -0
  40. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +22 -0
  41. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +57 -0
  42. package/dist-cjs/components/generated/types.gen.d.ts +1 -0
  43. package/dist-cjs/components/generated/types.gen.js +2 -0
  44. package/dist-cjs/components/index.d.ts +2 -0
  45. package/dist-cjs/components/index.js +5 -1
  46. package/dist-cjs/components/types.d.ts +1 -0
  47. package/dist-cjs/index.d.ts +2 -1
  48. package/dist-cjs/index.js +2 -1
  49. package/package.json +2 -2
@@ -0,0 +1,26 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBVirtualCamera } from '../generated/index.gen';
3
+ import { CameraTransition } from '../generated/pb/decentraland/sdk/components/common/camera_transition.gen';
4
+ /**
5
+ * @public
6
+ */
7
+ export interface CameraTransitionHelper {
8
+ /**
9
+ * @returns a CameraTransition speed
10
+ */
11
+ Speed: (speed: number) => CameraTransition['transitionMode'];
12
+ /**
13
+ * @returns a CameraTransition time
14
+ */
15
+ Time: (time: number) => CameraTransition['transitionMode'];
16
+ }
17
+ /**
18
+ * @public
19
+ */
20
+ export interface VirtualCameraComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBVirtualCamera> {
21
+ /**
22
+ * Camera transition helper for time and speed modes
23
+ */
24
+ Transition: CameraTransitionHelper;
25
+ }
26
+ export declare function defineVirtualCameraComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): VirtualCameraComponentDefinitionExtended;
@@ -0,0 +1,22 @@
1
+ import { VirtualCamera } from '../generated/index.gen';
2
+ const CameraTransitionHelper = {
3
+ Speed(speed) {
4
+ return {
5
+ $case: 'speed',
6
+ speed
7
+ };
8
+ },
9
+ Time(time) {
10
+ return {
11
+ $case: 'time',
12
+ time
13
+ };
14
+ }
15
+ };
16
+ export function defineVirtualCameraComponent(engine) {
17
+ const theComponent = VirtualCamera(engine);
18
+ return {
19
+ ...theComponent,
20
+ Transition: CameraTransitionHelper
21
+ };
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBMainCamera } from './pb/decentraland/sdk/components/main_camera.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const MainCameraSchema = {
6
+ COMPONENT_ID: 1075,
7
+ serialize(value, builder) {
8
+ const writer = PBMainCamera.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBMainCamera.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBMainCamera.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBMainCamera"
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBVirtualCamera } from './pb/decentraland/sdk/components/virtual_camera.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const VirtualCameraSchema = {
6
+ COMPONENT_ID: 1076,
7
+ serialize(value, builder) {
8
+ const writer = PBVirtualCamera.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBVirtualCamera.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBVirtualCamera.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBVirtualCamera"
24
+ }
25
+ };
@@ -20,6 +20,7 @@ export const coreComponentMappings = {
20
20
  "core::GltfContainer": 1041,
21
21
  "core::GltfContainerLoadingState": 1049,
22
22
  "core::InputModifier": 1078,
23
+ "core::MainCamera": 1075,
23
24
  "core::MapPin": 1097,
24
25
  "core::Material": 1017,
25
26
  "core::MeshCollider": 1019,
@@ -46,5 +47,6 @@ export const coreComponentMappings = {
46
47
  "core::UiTransform": 1050,
47
48
  "core::VideoEvent": 1044,
48
49
  "core::VideoPlayer": 1043,
50
+ "core::VirtualCamera": 1076,
49
51
  "core::VisibilityComponent": 1081
50
52
  };
@@ -16,6 +16,7 @@ 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 { PBMainCamera } from './pb/decentraland/sdk/components/main_camera.gen';
19
20
  import { PBNftShape } from './pb/decentraland/sdk/components/nft_shape.gen';
20
21
  import { PBPlayerIdentityData } from './pb/decentraland/sdk/components/player_identity_data.gen';
21
22
  import { PBPointerEvents } from './pb/decentraland/sdk/components/pointer_events.gen';
@@ -37,6 +38,7 @@ import { PBUiText } from './pb/decentraland/sdk/components/ui_text.gen';
37
38
  import { PBUiTransform } from './pb/decentraland/sdk/components/ui_transform.gen';
38
39
  import { PBVideoEvent } from './pb/decentraland/sdk/components/video_event.gen';
39
40
  import { PBVideoPlayer } from './pb/decentraland/sdk/components/video_player.gen';
41
+ import { PBVirtualCamera } from './pb/decentraland/sdk/components/virtual_camera.gen';
40
42
  import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibility_component.gen';
41
43
  /** @public */ export declare const AudioEvent: GrowOnlyValueSetComponentDefinition<PBAudioEvent>;
42
44
  /** @public */ export declare const AudioSource: LastWriteWinElementSetComponentDefinition<PBAudioSource>;
@@ -54,6 +56,7 @@ import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibili
54
56
  /** @public */ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PBGltfContainer>;
55
57
  /** @public */ export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
56
58
  /** @public */ export declare const InputModifier: LastWriteWinElementSetComponentDefinition<PBInputModifier>;
59
+ /** @public */ export declare const MainCamera: LastWriteWinElementSetComponentDefinition<PBMainCamera>;
57
60
  /** @public */ export declare const NftShape: LastWriteWinElementSetComponentDefinition<PBNftShape>;
58
61
  /** @public */ export declare const PlayerIdentityData: LastWriteWinElementSetComponentDefinition<PBPlayerIdentityData>;
59
62
  /** @public */ export declare const PointerEvents: LastWriteWinElementSetComponentDefinition<PBPointerEvents>;
@@ -75,4 +78,5 @@ import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibili
75
78
  /** @public */ export declare const UiTransform: LastWriteWinElementSetComponentDefinition<PBUiTransform>;
76
79
  /** @public */ export declare const VideoEvent: GrowOnlyValueSetComponentDefinition<PBVideoEvent>;
77
80
  /** @public */ export declare const VideoPlayer: LastWriteWinElementSetComponentDefinition<PBVideoPlayer>;
81
+ /** @public */ export declare const VirtualCamera: LastWriteWinElementSetComponentDefinition<PBVirtualCamera>;
78
82
  /** @public */ export declare const VisibilityComponent: LastWriteWinElementSetComponentDefinition<PBVisibilityComponent>;
@@ -17,6 +17,7 @@ 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 MainCamera = /* @__PURE__ */ components.MainCamera(engine);
20
21
  /** @public */ export const NftShape = /* @__PURE__ */ components.NftShape(engine);
21
22
  /** @public */ export const PlayerIdentityData = /* @__PURE__ */ components.PlayerIdentityData(engine);
22
23
  /** @public */ export const PointerEvents = /* @__PURE__ */ components.PointerEvents(engine);
@@ -38,4 +39,5 @@ export * from './index.gen';
38
39
  /** @public */ export const UiTransform = /* @__PURE__ */ components.UiTransform(engine);
39
40
  /** @public */ export const VideoEvent = /* @__PURE__ */ components.VideoEvent(engine);
40
41
  /** @public */ export const VideoPlayer = /* @__PURE__ */ components.VideoPlayer(engine);
42
+ /** @public */ export const VirtualCamera = /* @__PURE__ */ components.VirtualCamera(engine);
41
43
  /** @public */ export const VisibilityComponent = /* @__PURE__ */ components.VisibilityComponent(engine);
@@ -17,6 +17,7 @@ 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 { PBMainCamera } from './pb/decentraland/sdk/components/main_camera.gen';
20
21
  import { PBMaterial } from './pb/decentraland/sdk/components/material.gen';
21
22
  import { PBMeshCollider } from './pb/decentraland/sdk/components/mesh_collider.gen';
22
23
  import { PBMeshRenderer } from './pb/decentraland/sdk/components/mesh_renderer.gen';
@@ -42,6 +43,7 @@ import { PBUiText } from './pb/decentraland/sdk/components/ui_text.gen';
42
43
  import { PBUiTransform } from './pb/decentraland/sdk/components/ui_transform.gen';
43
44
  import { PBVideoEvent } from './pb/decentraland/sdk/components/video_event.gen';
44
45
  import { PBVideoPlayer } from './pb/decentraland/sdk/components/video_player.gen';
46
+ import { PBVirtualCamera } from './pb/decentraland/sdk/components/virtual_camera.gen';
45
47
  import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibility_component.gen';
46
48
  export * from './pb/decentraland/sdk/components/animator.gen';
47
49
  export * from './pb/decentraland/sdk/components/audio_event.gen';
@@ -60,6 +62,7 @@ export * from './pb/decentraland/sdk/components/engine_info.gen';
60
62
  export * from './pb/decentraland/sdk/components/gltf_container.gen';
61
63
  export * from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
62
64
  export * from './pb/decentraland/sdk/components/input_modifier.gen';
65
+ export * from './pb/decentraland/sdk/components/main_camera.gen';
63
66
  export * from './pb/decentraland/sdk/components/material.gen';
64
67
  export * from './pb/decentraland/sdk/components/mesh_collider.gen';
65
68
  export * from './pb/decentraland/sdk/components/mesh_renderer.gen';
@@ -85,6 +88,7 @@ export * from './pb/decentraland/sdk/components/ui_text.gen';
85
88
  export * from './pb/decentraland/sdk/components/ui_transform.gen';
86
89
  export * from './pb/decentraland/sdk/components/video_event.gen';
87
90
  export * from './pb/decentraland/sdk/components/video_player.gen';
91
+ export * from './pb/decentraland/sdk/components/virtual_camera.gen';
88
92
  export * from './pb/decentraland/sdk/components/visibility_component.gen';
89
93
  export type LwwComponentGetter<T extends LastWriteWinElementSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineComponentFromSchema'>) => T;
90
94
  export type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
@@ -105,6 +109,7 @@ export type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<an
105
109
  /** @public */ export declare const GltfContainer: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
106
110
  /** @public */ export declare const GltfContainerLoadingState: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
107
111
  /** @public */ export declare const InputModifier: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
112
+ /** @public */ export declare const MainCamera: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
108
113
  /** @public */ export declare const Material: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
109
114
  /** @public */ export declare const MeshCollider: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
110
115
  /** @public */ export declare const MeshRenderer: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshRenderer>>;
@@ -130,6 +135,7 @@ export type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<an
130
135
  /** @public */ export declare const UiTransform: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
131
136
  /** @public */ export declare const VideoEvent: GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
132
137
  /** @public */ export declare const VideoPlayer: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBVideoPlayer>>;
138
+ /** @public */ export declare const VirtualCamera: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBVirtualCamera>>;
133
139
  /** @public */ export declare const VisibilityComponent: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBVisibilityComponent>>;
134
140
  /** public */
135
141
  export declare const componentDefinitionByName: {
@@ -150,6 +156,7 @@ export declare const componentDefinitionByName: {
150
156
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
151
157
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
152
158
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
159
+ "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
153
160
  "core::Material": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
154
161
  "core::MeshCollider": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
155
162
  "core::MeshRenderer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshRenderer>>;
@@ -175,5 +182,6 @@ export declare const componentDefinitionByName: {
175
182
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
176
183
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
177
184
  "core::VideoPlayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBVideoPlayer>>;
185
+ "core::VirtualCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBVirtualCamera>>;
178
186
  "core::VisibilityComponent": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBVisibilityComponent>>;
179
187
  };
@@ -15,6 +15,7 @@ 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 { MainCameraSchema } from './MainCamera.gen';
18
19
  import { MaterialSchema } from './Material.gen';
19
20
  import { MeshColliderSchema } from './MeshCollider.gen';
20
21
  import { MeshRendererSchema } from './MeshRenderer.gen';
@@ -40,6 +41,7 @@ import { UiTextSchema } from './UiText.gen';
40
41
  import { UiTransformSchema } from './UiTransform.gen';
41
42
  import { VideoEventSchema } from './VideoEvent.gen';
42
43
  import { VideoPlayerSchema } from './VideoPlayer.gen';
44
+ import { VirtualCameraSchema } from './VirtualCamera.gen';
43
45
  import { VisibilityComponentSchema } from './VisibilityComponent.gen';
44
46
  export * from './pb/decentraland/sdk/components/animator.gen';
45
47
  export * from './pb/decentraland/sdk/components/audio_event.gen';
@@ -58,6 +60,7 @@ export * from './pb/decentraland/sdk/components/engine_info.gen';
58
60
  export * from './pb/decentraland/sdk/components/gltf_container.gen';
59
61
  export * from './pb/decentraland/sdk/components/gltf_container_loading_state.gen';
60
62
  export * from './pb/decentraland/sdk/components/input_modifier.gen';
63
+ export * from './pb/decentraland/sdk/components/main_camera.gen';
61
64
  export * from './pb/decentraland/sdk/components/material.gen';
62
65
  export * from './pb/decentraland/sdk/components/mesh_collider.gen';
63
66
  export * from './pb/decentraland/sdk/components/mesh_renderer.gen';
@@ -83,6 +86,7 @@ export * from './pb/decentraland/sdk/components/ui_text.gen';
83
86
  export * from './pb/decentraland/sdk/components/ui_transform.gen';
84
87
  export * from './pb/decentraland/sdk/components/video_event.gen';
85
88
  export * from './pb/decentraland/sdk/components/video_player.gen';
89
+ export * from './pb/decentraland/sdk/components/virtual_camera.gen';
86
90
  export * from './pb/decentraland/sdk/components/visibility_component.gen';
87
91
  /** @public */ export const Animator = engine =>
88
92
  /* @__PURE__ */ engine.defineComponentFromSchema("core::Animator", AnimatorSchema);
@@ -122,6 +126,8 @@ export * from './pb/decentraland/sdk/components/visibility_component.gen';
122
126
  /* @__PURE__ */ engine.defineComponentFromSchema("core::GltfContainerLoadingState", GltfContainerLoadingStateSchema);
123
127
  /** @public */ export const InputModifier = engine =>
124
128
  /* @__PURE__ */ engine.defineComponentFromSchema("core::InputModifier", InputModifierSchema);
129
+ /** @public */ export const MainCamera = engine =>
130
+ /* @__PURE__ */ engine.defineComponentFromSchema("core::MainCamera", MainCameraSchema);
125
131
  /** @public */ export const Material = engine =>
126
132
  /* @__PURE__ */ engine.defineComponentFromSchema("core::Material", MaterialSchema);
127
133
  /** @public */ export const MeshCollider = engine =>
@@ -176,6 +182,8 @@ export * from './pb/decentraland/sdk/components/visibility_component.gen';
176
182
  });
177
183
  /** @public */ export const VideoPlayer = engine =>
178
184
  /* @__PURE__ */ engine.defineComponentFromSchema("core::VideoPlayer", VideoPlayerSchema);
185
+ /** @public */ export const VirtualCamera = engine =>
186
+ /* @__PURE__ */ engine.defineComponentFromSchema("core::VirtualCamera", VirtualCameraSchema);
179
187
  /** @public */ export const VisibilityComponent = engine =>
180
188
  /* @__PURE__ */ engine.defineComponentFromSchema("core::VisibilityComponent", VisibilityComponentSchema);
181
189
  /** public */
@@ -197,6 +205,7 @@ export const componentDefinitionByName = /* @__PURE__ */ {
197
205
  "core::GltfContainer": GltfContainer,
198
206
  "core::GltfContainerLoadingState": GltfContainerLoadingState,
199
207
  "core::InputModifier": InputModifier,
208
+ "core::MainCamera": MainCamera,
200
209
  "core::Material": Material,
201
210
  "core::MeshCollider": MeshCollider,
202
211
  "core::MeshRenderer": MeshRenderer,
@@ -222,5 +231,6 @@ export const componentDefinitionByName = /* @__PURE__ */ {
222
231
  "core::UiTransform": UiTransform,
223
232
  "core::VideoEvent": VideoEvent,
224
233
  "core::VideoPlayer": VideoPlayer,
234
+ "core::VirtualCamera": VirtualCamera,
225
235
  "core::VisibilityComponent": VisibilityComponent,
226
236
  };
@@ -0,0 +1,22 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ /**
3
+ * @public
4
+ */
5
+ export interface CameraTransition {
6
+ fromEntity?: number | undefined;
7
+ toEntity?: number | undefined;
8
+ transitionMode?: {
9
+ $case: "time";
10
+ time: number;
11
+ } | {
12
+ $case: "speed";
13
+ speed: number;
14
+ } | undefined;
15
+ }
16
+ /**
17
+ * @public
18
+ */
19
+ export declare namespace CameraTransition {
20
+ function encode(message: CameraTransition, writer?: _m0.Writer): _m0.Writer;
21
+ function decode(input: _m0.Reader | Uint8Array, length?: number): CameraTransition;
22
+ }
@@ -0,0 +1,70 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ const protobufPackageSarasa = "decentraland.sdk.components.common";
4
+ function createBaseCameraTransition() {
5
+ return { fromEntity: undefined, toEntity: undefined, transitionMode: undefined };
6
+ }
7
+ /**
8
+ * @public
9
+ */
10
+ export var CameraTransition;
11
+ (function (CameraTransition) {
12
+ function encode(message, writer = _m0.Writer.create()) {
13
+ if (message.fromEntity !== undefined) {
14
+ writer.uint32(8).uint32(message.fromEntity);
15
+ }
16
+ if (message.toEntity !== undefined) {
17
+ writer.uint32(16).uint32(message.toEntity);
18
+ }
19
+ switch (message.transitionMode?.$case) {
20
+ case "time":
21
+ writer.uint32(29).float(message.transitionMode.time);
22
+ break;
23
+ case "speed":
24
+ writer.uint32(37).float(message.transitionMode.speed);
25
+ break;
26
+ }
27
+ return writer;
28
+ }
29
+ CameraTransition.encode = encode;
30
+ function decode(input, length) {
31
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
32
+ let end = length === undefined ? reader.len : reader.pos + length;
33
+ const message = createBaseCameraTransition();
34
+ while (reader.pos < end) {
35
+ const tag = reader.uint32();
36
+ switch (tag >>> 3) {
37
+ case 1:
38
+ if (tag !== 8) {
39
+ break;
40
+ }
41
+ message.fromEntity = reader.uint32();
42
+ continue;
43
+ case 2:
44
+ if (tag !== 16) {
45
+ break;
46
+ }
47
+ message.toEntity = reader.uint32();
48
+ continue;
49
+ case 3:
50
+ if (tag !== 29) {
51
+ break;
52
+ }
53
+ message.transitionMode = { $case: "time", time: reader.float() };
54
+ continue;
55
+ case 4:
56
+ if (tag !== 37) {
57
+ break;
58
+ }
59
+ message.transitionMode = { $case: "speed", speed: reader.float() };
60
+ continue;
61
+ }
62
+ if ((tag & 7) === 4 || tag === 0) {
63
+ break;
64
+ }
65
+ reader.skipType(tag & 7);
66
+ }
67
+ return message;
68
+ }
69
+ CameraTransition.decode = decode;
70
+ })(CameraTransition || (CameraTransition = {}));
@@ -0,0 +1,16 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ /** PBMainCamera.virtualCameraEntity defines which VirtualCamera entity is active at the moment. 0 means none. */
3
+ /**
4
+ * @public
5
+ */
6
+ export interface PBMainCamera {
7
+ /** currently active virtual camera (default: 0) */
8
+ virtualCameraEntity: number;
9
+ }
10
+ /**
11
+ * @public
12
+ */
13
+ export declare namespace PBMainCamera {
14
+ function encode(message: PBMainCamera, writer?: _m0.Writer): _m0.Writer;
15
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBMainCamera;
16
+ }
@@ -0,0 +1,41 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ const protobufPackageSarasa = "decentraland.sdk.components";
4
+ function createBasePBMainCamera() {
5
+ return { virtualCameraEntity: 0 };
6
+ }
7
+ /**
8
+ * @public
9
+ */
10
+ export var PBMainCamera;
11
+ (function (PBMainCamera) {
12
+ function encode(message, writer = _m0.Writer.create()) {
13
+ if (message.virtualCameraEntity !== 0) {
14
+ writer.uint32(8).uint32(message.virtualCameraEntity);
15
+ }
16
+ return writer;
17
+ }
18
+ PBMainCamera.encode = encode;
19
+ function decode(input, length) {
20
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
21
+ let end = length === undefined ? reader.len : reader.pos + length;
22
+ const message = createBasePBMainCamera();
23
+ while (reader.pos < end) {
24
+ const tag = reader.uint32();
25
+ switch (tag >>> 3) {
26
+ case 1:
27
+ if (tag !== 8) {
28
+ break;
29
+ }
30
+ message.virtualCameraEntity = reader.uint32();
31
+ continue;
32
+ }
33
+ if ((tag & 7) === 4 || tag === 0) {
34
+ break;
35
+ }
36
+ reader.skipType(tag & 7);
37
+ }
38
+ return message;
39
+ }
40
+ PBMainCamera.decode = decode;
41
+ })(PBMainCamera || (PBMainCamera = {}));
@@ -0,0 +1,22 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ import { CameraTransition } from "./common/camera_transition.gen";
3
+ /**
4
+ * PBVirtualCamera represents a camera to be used at some point in time during the scene execution
5
+ * * The defaultTransition represents the transition TOWARDS this camera.
6
+ * * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
7
+ * the holding entity transform).
8
+ */
9
+ /**
10
+ * @public
11
+ */
12
+ export interface PBVirtualCamera {
13
+ defaultTransition: CameraTransition | undefined;
14
+ lookAtEntity?: number | undefined;
15
+ }
16
+ /**
17
+ * @public
18
+ */
19
+ export declare namespace PBVirtualCamera {
20
+ function encode(message: PBVirtualCamera, writer?: _m0.Writer): _m0.Writer;
21
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBVirtualCamera;
22
+ }
@@ -0,0 +1,51 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ import { CameraTransition } from "./common/camera_transition.gen";
4
+ const protobufPackageSarasa = "decentraland.sdk.components";
5
+ function createBasePBVirtualCamera() {
6
+ return { defaultTransition: undefined, lookAtEntity: undefined };
7
+ }
8
+ /**
9
+ * @public
10
+ */
11
+ export var PBVirtualCamera;
12
+ (function (PBVirtualCamera) {
13
+ function encode(message, writer = _m0.Writer.create()) {
14
+ if (message.defaultTransition !== undefined) {
15
+ CameraTransition.encode(message.defaultTransition, writer.uint32(10).fork()).ldelim();
16
+ }
17
+ if (message.lookAtEntity !== undefined) {
18
+ writer.uint32(16).uint32(message.lookAtEntity);
19
+ }
20
+ return writer;
21
+ }
22
+ PBVirtualCamera.encode = encode;
23
+ function decode(input, length) {
24
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
25
+ let end = length === undefined ? reader.len : reader.pos + length;
26
+ const message = createBasePBVirtualCamera();
27
+ while (reader.pos < end) {
28
+ const tag = reader.uint32();
29
+ switch (tag >>> 3) {
30
+ case 1:
31
+ if (tag !== 10) {
32
+ break;
33
+ }
34
+ message.defaultTransition = CameraTransition.decode(reader, reader.uint32());
35
+ continue;
36
+ case 2:
37
+ if (tag !== 16) {
38
+ break;
39
+ }
40
+ message.lookAtEntity = reader.uint32();
41
+ continue;
42
+ }
43
+ if ((tag & 7) === 4 || tag === 0) {
44
+ break;
45
+ }
46
+ reader.skipType(tag & 7);
47
+ }
48
+ return message;
49
+ }
50
+ PBVirtualCamera.decode = decode;
51
+ })(PBVirtualCamera || (PBVirtualCamera = {}));
@@ -1,5 +1,6 @@
1
1
  export type { Position as PBPosition, Vector2 as PBVector2, Vector3 as PBVector3, Quaternion as PBQuaternion } from './pb/decentraland/common/vectors.gen';
2
2
  export type { Color3 as PBColor3, Color4 as PBColor4 } from './pb/decentraland/common/colors.gen';
3
+ export * from './pb/decentraland/sdk/components/common/camera_transition.gen';
3
4
  export * from './pb/decentraland/sdk/components/common/camera_type.gen';
4
5
  export * from './pb/decentraland/sdk/components/common/input_action.gen';
5
6
  export * from './pb/decentraland/sdk/components/common/loading_state.gen';
@@ -1,3 +1,5 @@
1
+ export * from './pb/decentraland/sdk/components/common/camera_transition.gen';
2
+ // export { PbCameraTransition }
1
3
  export * from './pb/decentraland/sdk/components/common/camera_type.gen';
2
4
  // export { PbCameraType }
3
5
  export * from './pb/decentraland/sdk/components/common/input_action.gen';
@@ -14,6 +14,7 @@ import { INetowrkParentType } from './manual/NetworkParent';
14
14
  import { TransformComponentExtended } from './manual/Transform';
15
15
  import { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
16
16
  import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
17
+ import { VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
17
18
  export * from './generated/index.gen';
18
19
  export type { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDefinition, LwwComponentGetter, GSetComponentGetter };
19
20
  export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
@@ -24,6 +25,7 @@ export declare const AudioStream: (engine: Pick<IEngine, 'defineComponentFromSch
24
25
  export declare const MeshRenderer: LwwComponentGetter<MeshRendererComponentDefinitionExtended>;
25
26
  export declare const MeshCollider: LwwComponentGetter<MeshColliderComponentDefinitionExtended>;
26
27
  export declare const Tween: LwwComponentGetter<TweenComponentDefinitionExtended>;
28
+ export declare const VirtualCamera: LwwComponentGetter<VirtualCameraComponentDefinitionExtended>;
27
29
  /**
28
30
  * @alpha
29
31
  */
@@ -11,6 +11,7 @@ import defineNetworkParent from './manual/NetworkParent';
11
11
  import { defineTransformComponent } from './manual/Transform';
12
12
  import { defineAudioStreamComponent } from './extended/AudioStream';
13
13
  import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
14
+ import { defineVirtualCameraComponent } from './extended/VirtualCamera';
14
15
  export * from './generated/index.gen';
15
16
  /* @__PURE__ */
16
17
  export const Transform = (engine) => defineTransformComponent(engine);
@@ -28,6 +29,8 @@ export const MeshRenderer = (engine) => defineMeshRendererComponent(engine);
28
29
  export const MeshCollider = (engine) => defineMeshColliderComponent(engine);
29
30
  /* @__PURE__ */
30
31
  export const Tween = (engine) => defineTweenComponent(engine);
32
+ /* @__PURE__ */
33
+ export const VirtualCamera = (engine) => defineVirtualCameraComponent(engine);
31
34
  /**
32
35
  * @alpha
33
36
  */
@@ -5,6 +5,7 @@ export type { MeshRendererComponentDefinitionExtended } from './extended/MeshRen
5
5
  export type { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
6
6
  export type { TextureHelper, MaterialComponentDefinitionExtended } from './extended/Material';
7
7
  export type { TweenHelper, TweenComponentDefinitionExtended } from './extended/Tween';
8
+ export type { CameraTransitionHelper, VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
8
9
  export type { TransformComponentExtended, TransformTypeWithOptionals } from './manual/Transform';
9
10
  export type { NameComponent, NameType } from './manual/Name';
10
11
  export type { ISyncComponents, ISyncComponentsType } from './manual/SyncComponents';
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 } from './components/types';
14
+ import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended } 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;
@@ -22,6 +22,7 @@ export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
22
22
  export declare const MeshCollider: MeshColliderComponentDefinitionExtended;
23
23
  export declare const Name: NameComponent;
24
24
  export declare const Tween: TweenComponentDefinitionExtended;
25
+ export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
25
26
  /**
26
27
  * @alpha
27
28
  * This is going to be used for sync components through a server.
package/dist/index.js CHANGED
@@ -27,6 +27,7 @@ export const MeshRenderer = /* @__PURE__*/ components.MeshRenderer(engine);
27
27
  export const MeshCollider = /* @__PURE__*/ components.MeshCollider(engine);
28
28
  export const Name = components.Name(engine);
29
29
  export const Tween = /* @__PURE__*/ components.Tween(engine);
30
+ export const VirtualCamera = /* @__PURE__*/ components.VirtualCamera(engine);
30
31
  /**
31
32
  * @alpha
32
33
  * This is going to be used for sync components through a server.
@@ -0,0 +1,26 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBVirtualCamera } from '../generated/index.gen';
3
+ import { CameraTransition } from '../generated/pb/decentraland/sdk/components/common/camera_transition.gen';
4
+ /**
5
+ * @public
6
+ */
7
+ export interface CameraTransitionHelper {
8
+ /**
9
+ * @returns a CameraTransition speed
10
+ */
11
+ Speed: (speed: number) => CameraTransition['transitionMode'];
12
+ /**
13
+ * @returns a CameraTransition time
14
+ */
15
+ Time: (time: number) => CameraTransition['transitionMode'];
16
+ }
17
+ /**
18
+ * @public
19
+ */
20
+ export interface VirtualCameraComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBVirtualCamera> {
21
+ /**
22
+ * Camera transition helper for time and speed modes
23
+ */
24
+ Transition: CameraTransitionHelper;
25
+ }
26
+ export declare function defineVirtualCameraComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): VirtualCameraComponentDefinitionExtended;