@dcl/ecs 7.18.2-21453292414.commit-1da934f → 7.18.2-21458377493.commit-ea4f3b6

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 (57) hide show
  1. package/dist/components/extended/AudioAnalysis.d.ts +55 -0
  2. package/dist/components/extended/AudioAnalysis.js +66 -0
  3. package/dist/components/generated/AudioAnalysis.gen.d.ts +1 -0
  4. package/dist/components/generated/AudioAnalysis.gen.js +25 -0
  5. package/dist/components/generated/AvatarLocomotionSettings.gen.d.ts +1 -0
  6. package/dist/components/generated/AvatarLocomotionSettings.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/audio_analysis.gen.d.ts +37 -0
  13. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +161 -0
  14. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +29 -0
  15. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +93 -0
  16. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -1
  17. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +1 -0
  18. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +25 -0
  19. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +10 -0
  20. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +3 -0
  21. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +10 -1
  22. package/dist/components/index.d.ts +4 -0
  23. package/dist/components/index.js +3 -0
  24. package/dist/components/types.d.ts +1 -0
  25. package/dist/index.d.ts +2 -1
  26. package/dist/index.js +1 -0
  27. package/dist/systems/events.d.ts +1 -0
  28. package/dist/systems/events.js +2 -1
  29. package/dist-cjs/components/extended/AudioAnalysis.d.ts +55 -0
  30. package/dist-cjs/components/extended/AudioAnalysis.js +70 -0
  31. package/dist-cjs/components/generated/AudioAnalysis.gen.d.ts +1 -0
  32. package/dist-cjs/components/generated/AudioAnalysis.gen.js +28 -0
  33. package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.d.ts +1 -0
  34. package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.js +28 -0
  35. package/dist-cjs/components/generated/component-names.gen.js +2 -0
  36. package/dist-cjs/components/generated/global.gen.d.ts +4 -0
  37. package/dist-cjs/components/generated/global.gen.js +3 -1
  38. package/dist-cjs/components/generated/index.gen.d.ts +8 -0
  39. package/dist-cjs/components/generated/index.gen.js +14 -2
  40. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +37 -0
  41. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +167 -0
  42. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +29 -0
  43. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +99 -0
  44. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -1
  45. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +1 -0
  46. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +25 -0
  47. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +10 -0
  48. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +3 -0
  49. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +10 -1
  50. package/dist-cjs/components/index.d.ts +4 -0
  51. package/dist-cjs/components/index.js +5 -1
  52. package/dist-cjs/components/types.d.ts +1 -0
  53. package/dist-cjs/index.d.ts +2 -1
  54. package/dist-cjs/index.js +2 -1
  55. package/dist-cjs/systems/events.d.ts +1 -0
  56. package/dist-cjs/systems/events.js +2 -1
  57. package/package.json +2 -2
@@ -0,0 +1,93 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ const protobufPackageSarasa = "decentraland.sdk.components";
4
+ function createBasePBAvatarLocomotionSettings() {
5
+ return {
6
+ walkSpeed: undefined,
7
+ jogSpeed: undefined,
8
+ runSpeed: undefined,
9
+ jumpHeight: undefined,
10
+ runJumpHeight: undefined,
11
+ hardLandingCooldown: undefined,
12
+ };
13
+ }
14
+ /**
15
+ * @public
16
+ */
17
+ export var PBAvatarLocomotionSettings;
18
+ (function (PBAvatarLocomotionSettings) {
19
+ function encode(message, writer = _m0.Writer.create()) {
20
+ if (message.walkSpeed !== undefined) {
21
+ writer.uint32(13).float(message.walkSpeed);
22
+ }
23
+ if (message.jogSpeed !== undefined) {
24
+ writer.uint32(21).float(message.jogSpeed);
25
+ }
26
+ if (message.runSpeed !== undefined) {
27
+ writer.uint32(29).float(message.runSpeed);
28
+ }
29
+ if (message.jumpHeight !== undefined) {
30
+ writer.uint32(37).float(message.jumpHeight);
31
+ }
32
+ if (message.runJumpHeight !== undefined) {
33
+ writer.uint32(45).float(message.runJumpHeight);
34
+ }
35
+ if (message.hardLandingCooldown !== undefined) {
36
+ writer.uint32(53).float(message.hardLandingCooldown);
37
+ }
38
+ return writer;
39
+ }
40
+ PBAvatarLocomotionSettings.encode = encode;
41
+ function decode(input, length) {
42
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
43
+ let end = length === undefined ? reader.len : reader.pos + length;
44
+ const message = createBasePBAvatarLocomotionSettings();
45
+ while (reader.pos < end) {
46
+ const tag = reader.uint32();
47
+ switch (tag >>> 3) {
48
+ case 1:
49
+ if (tag !== 13) {
50
+ break;
51
+ }
52
+ message.walkSpeed = reader.float();
53
+ continue;
54
+ case 2:
55
+ if (tag !== 21) {
56
+ break;
57
+ }
58
+ message.jogSpeed = reader.float();
59
+ continue;
60
+ case 3:
61
+ if (tag !== 29) {
62
+ break;
63
+ }
64
+ message.runSpeed = reader.float();
65
+ continue;
66
+ case 4:
67
+ if (tag !== 37) {
68
+ break;
69
+ }
70
+ message.jumpHeight = reader.float();
71
+ continue;
72
+ case 5:
73
+ if (tag !== 45) {
74
+ break;
75
+ }
76
+ message.runJumpHeight = reader.float();
77
+ continue;
78
+ case 6:
79
+ if (tag !== 53) {
80
+ break;
81
+ }
82
+ message.hardLandingCooldown = reader.float();
83
+ continue;
84
+ }
85
+ if ((tag & 7) === 4 || tag === 0) {
86
+ break;
87
+ }
88
+ reader.skipType(tag & 7);
89
+ }
90
+ return message;
91
+ }
92
+ PBAvatarLocomotionSettings.decode = decode;
93
+ })(PBAvatarLocomotionSettings || (PBAvatarLocomotionSettings = {}));
@@ -15,7 +15,8 @@ export declare const enum InputAction {
15
15
  IA_ACTION_3 = 10,
16
16
  IA_ACTION_4 = 11,
17
17
  IA_ACTION_5 = 12,
18
- IA_ACTION_6 = 13
18
+ IA_ACTION_6 = 13,
19
+ IA_MODIFIER = 14
19
20
  }
20
21
  /** PointerEventType is a kind of interaction that can be detected. */
21
22
  /**
@@ -19,6 +19,7 @@ export var InputAction;
19
19
  InputAction[InputAction["IA_ACTION_4"] = 11] = "IA_ACTION_4";
20
20
  InputAction[InputAction["IA_ACTION_5"] = 12] = "IA_ACTION_5";
21
21
  InputAction[InputAction["IA_ACTION_6"] = 13] = "IA_ACTION_6";
22
+ InputAction[InputAction["IA_MODIFIER"] = 14] = "IA_MODIFIER";
22
23
  })(InputAction || (InputAction = {}));
23
24
  /** PointerEventType is a kind of interaction that can be detected. */
24
25
  /**
@@ -14,6 +14,29 @@ import { InputAction, PointerEventType } from "./common/input_action.gen";
14
14
  *
15
15
  * It also supports simple visual feedback when interactions occur, by showing floating text.
16
16
  * More sophisticated feedback requires the use of other components.
17
+ *
18
+ * Distance rules
19
+ * --------------
20
+ * PointerEvents can enforce interaction range using two independent distance checks:
21
+ *
22
+ * - Camera distance (`max_distance`): distance from the active camera to the target entity.
23
+ * - Player distance (`max_player_distance`): distance from the avatar/player position to the target entity.
24
+ *
25
+ * How the interaction checks are combined:
26
+ *
27
+ * 1) Only `max_distance` is present
28
+ * - The interaction is allowed only if the camera distance is <= `max_distance`.
29
+ *
30
+ * 2) Only `max_player_distance` is present
31
+ * - The interaction is allowed only if the player distance is <= `max_player_distance`.
32
+ *
33
+ * 3) Both `max_distance` and `max_player_distance` are present
34
+ * - The interaction is allowed if ANY of the checks passes (OR logic):
35
+ * (camera distance <= `max_distance`) OR (player distance <= `max_player_distance`).
36
+ *
37
+ * 4) Neither `max_distance` nor `max_player_distance` is present
38
+ * - The system behaves as if `max_distance` were set to its default value (10),
39
+ * i.e., it uses the camera distance check with a threshold of 10.
17
40
  */
18
41
  /**
19
42
  * @public
@@ -36,6 +59,8 @@ export interface PBPointerEvents_Info {
36
59
  showFeedback?: boolean | undefined;
37
60
  /** enable or disable hover highlight (default true) */
38
61
  showHighlight?: boolean | undefined;
62
+ /** range of interaction from the avatar's position (default 0) */
63
+ maxPlayerDistance?: number | undefined;
39
64
  }
40
65
  /**
41
66
  * @public
@@ -46,6 +46,7 @@ function createBasePBPointerEvents_Info() {
46
46
  maxDistance: undefined,
47
47
  showFeedback: undefined,
48
48
  showHighlight: undefined,
49
+ maxPlayerDistance: undefined,
49
50
  };
50
51
  }
51
52
  /**
@@ -69,6 +70,9 @@ export var PBPointerEvents_Info;
69
70
  if (message.showHighlight !== undefined) {
70
71
  writer.uint32(40).bool(message.showHighlight);
71
72
  }
73
+ if (message.maxPlayerDistance !== undefined) {
74
+ writer.uint32(53).float(message.maxPlayerDistance);
75
+ }
72
76
  return writer;
73
77
  }
74
78
  PBPointerEvents_Info.encode = encode;
@@ -109,6 +113,12 @@ export var PBPointerEvents_Info;
109
113
  }
110
114
  message.showHighlight = reader.bool();
111
115
  continue;
116
+ case 6:
117
+ if (tag !== 53) {
118
+ break;
119
+ }
120
+ message.maxPlayerDistance = reader.float();
121
+ continue;
112
122
  }
113
123
  if ((tag & 7) === 4 || tag === 0) {
114
124
  break;
@@ -6,6 +6,7 @@ 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
9
10
  */
10
11
  /**
11
12
  * @public
@@ -13,6 +14,8 @@ import { CameraTransition } from "./common/camera_transition.gen";
13
14
  export interface PBVirtualCamera {
14
15
  defaultTransition?: CameraTransition | undefined;
15
16
  lookAtEntity?: number | undefined;
17
+ /** default: 60 */
18
+ fov?: number | undefined;
16
19
  }
17
20
  /**
18
21
  * @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 };
6
+ return { defaultTransition: undefined, lookAtEntity: undefined, fov: undefined };
7
7
  }
8
8
  /**
9
9
  * @public
@@ -17,6 +17,9 @@ 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
+ }
20
23
  return writer;
21
24
  }
22
25
  PBVirtualCamera.encode = encode;
@@ -39,6 +42,12 @@ export var PBVirtualCamera;
39
42
  }
40
43
  message.lookAtEntity = reader.uint32();
41
44
  continue;
45
+ case 3:
46
+ if (tag !== 29) {
47
+ break;
48
+ }
49
+ message.fov = reader.float();
50
+ continue;
42
51
  }
43
52
  if ((tag & 7) === 4 || tag === 0) {
44
53
  break;
@@ -2,6 +2,8 @@ import { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDef
2
2
  import { IEngine } from '../engine/types';
3
3
  import { AnimatorComponentDefinitionExtended } from './extended/Animator';
4
4
  import { AudioSourceComponentDefinitionExtended } from './extended/AudioSource';
5
+ import { AudioAnalysisComponentDefinitionExtended } from './extended/AudioAnalysis';
6
+ import type { AudioAnalysisView } from './extended/AudioAnalysis';
5
7
  import { MaterialComponentDefinitionExtended } from './extended/Material';
6
8
  import { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
7
9
  import { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
@@ -25,6 +27,7 @@ export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
25
27
  export declare const Material: LwwComponentGetter<MaterialComponentDefinitionExtended>;
26
28
  export declare const Animator: LwwComponentGetter<AnimatorComponentDefinitionExtended>;
27
29
  export declare const AudioSource: LwwComponentGetter<AudioSourceComponentDefinitionExtended>;
30
+ export declare const AudioAnalysis: LwwComponentGetter<AudioAnalysisComponentDefinitionExtended>;
28
31
  export declare const AudioStream: (engine: Pick<IEngine, 'defineComponentFromSchema' | 'defineValueSetComponentFromSchema'>) => AudioStreamComponentDefinitionExtended;
29
32
  export declare const MeshRenderer: LwwComponentGetter<MeshRendererComponentDefinitionExtended>;
30
33
  export declare const MeshCollider: LwwComponentGetter<MeshColliderComponentDefinitionExtended>;
@@ -51,3 +54,4 @@ export declare const NetworkEntity: (engine: Pick<IEngine, 'defineComponent'>) =
51
54
  */
52
55
  export declare const NetworkParent: (engine: Pick<IEngine, 'defineComponent'>) => LastWriteWinElementSetComponentDefinition<INetowrkParentType>;
53
56
  export { MediaState };
57
+ export type { AudioAnalysisView };
@@ -1,5 +1,6 @@
1
1
  import { defineAnimatorComponent } from './extended/Animator';
2
2
  import { defineAudioSourceComponent } from './extended/AudioSource';
3
+ import { defineAudioAnalysisComponent } from './extended/AudioAnalysis';
3
4
  import { defineMaterialComponent } from './extended/Material';
4
5
  import { defineMeshColliderComponent } from './extended/MeshCollider';
5
6
  import { defineMeshRendererComponent } from './extended/MeshRenderer';
@@ -26,6 +27,8 @@ export const Animator = (engine) => defineAnimatorComponent(engine);
26
27
  /* @__PURE__ */
27
28
  export const AudioSource = (engine) => defineAudioSourceComponent(engine);
28
29
  /* @__PURE__ */
30
+ export const AudioAnalysis = (engine) => defineAudioAnalysisComponent(engine);
31
+ /* @__PURE__ */
29
32
  export const AudioStream = (engine) => defineAudioStreamComponent(engine);
30
33
  /* @__PURE__ */
31
34
  export const MeshRenderer = (engine) => defineMeshRendererComponent(engine);
@@ -1,5 +1,6 @@
1
1
  export type { AnimatorComponentDefinitionExtended } from './extended/Animator';
2
2
  export type { AudioSourceComponentDefinitionExtended } from './extended/AudioSource';
3
+ export type { AudioAnalysisComponentDefinitionExtended, AudioAnalysisView } from './extended/AudioAnalysis';
3
4
  export type { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
4
5
  export type { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
5
6
  export type { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
package/dist/index.d.ts CHANGED
@@ -12,12 +12,13 @@ export * from './systems/tween';
12
12
  export * from './systems/triggerArea';
13
13
  export * from './engine/entity';
14
14
  export * from './components/types';
15
- import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended } from './components/types';
15
+ import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioAnalysisComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended } from './components/types';
16
16
  import { NameComponent } from './components/manual/Name';
17
17
  import { TagsComponentDefinitionExtended } from './components/manual/Tags';
18
18
  export declare const Transform: TransformComponentExtended;
19
19
  export declare const Animator: AnimatorComponentDefinitionExtended;
20
20
  export declare const AudioSource: AudioSourceComponentDefinitionExtended;
21
+ export declare const AudioAnalysis: AudioAnalysisComponentDefinitionExtended;
21
22
  export declare const AudioStream: AudioStreamComponentDefinitionExtended;
22
23
  export declare const Material: MaterialComponentDefinitionExtended;
23
24
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
package/dist/index.js CHANGED
@@ -22,6 +22,7 @@ import { engine } from './runtime/initialization';
22
22
  export const Transform = /* @__PURE__*/ components.Transform(engine);
23
23
  export const Animator = /* @__PURE__*/ components.Animator(engine);
24
24
  export const AudioSource = /* @__PURE__*/ components.AudioSource(engine);
25
+ export const AudioAnalysis = /* @__PURE__*/ components.AudioAnalysis(engine);
25
26
  export const AudioStream = /* @__PURE__*/ components.AudioStream(engine);
26
27
  export const Material = /* @__PURE__*/ components.Material(engine);
27
28
  export const MeshRenderer = /* @__PURE__*/ components.MeshRenderer(engine);
@@ -16,6 +16,7 @@ export type EventSystemOptions = {
16
16
  maxDistance?: number;
17
17
  showFeedback?: boolean;
18
18
  showHighlight?: boolean;
19
+ maxPlayerDistance?: number;
19
20
  };
20
21
  export declare const getDefaultOpts: (opts?: Partial<EventSystemOptions>) => EventSystemOptions;
21
22
  /**
@@ -32,7 +32,8 @@ export function createPointerEventsSystem(engine, inputSystem) {
32
32
  showFeedback: opts.showFeedback,
33
33
  showHighlight: opts.showHighlight,
34
34
  hoverText: opts.hoverText,
35
- maxDistance: opts.maxDistance
35
+ maxDistance: opts.maxDistance,
36
+ maxPlayerDistance: opts.maxPlayerDistance
36
37
  }
37
38
  });
38
39
  }
@@ -0,0 +1,55 @@
1
+ import { Entity, IEngine } from '../../engine';
2
+ import { LastWriteWinElementSetComponentDefinition } from '../../engine/component';
3
+ import { PBAudioAnalysis, PBAudioAnalysisMode } from '../generated/pb/decentraland/sdk/components/audio_analysis.gen';
4
+ export interface AudioAnalysisComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBAudioAnalysis> {
5
+ /**
6
+ * Reads the component data of `entity` into the provided `out` view.
7
+ *
8
+ * @throws Error if the entity does not have an AudioAnalysis component.
9
+ * @param entity - The entity whose AudioAnalysis data will be read.
10
+ * @param out - An existing AudioAnalysisView to populate with the latest values.
11
+ */
12
+ readIntoView(entity: Entity, out: AudioAnalysisView): void;
13
+ /**
14
+ * Attempts to read the component data of `entity` into the provided `out` view.
15
+ *
16
+ * @returns `true` if the component exists and data was written into `out`,
17
+ * `false` if the entity does not have an AudioAnalysis component.
18
+ * @param entity - The entity whose AudioAnalysis data will be read.
19
+ * @param out - An existing AudioAnalysisView to populate.
20
+ */
21
+ tryReadIntoView(entity: Entity, out: AudioAnalysisView): boolean;
22
+ /**
23
+ * Creates an AudioAnalysis component for the given `entity`.
24
+ *
25
+ * If a component already exists on the entity, this call fails (does not replace).
26
+ *
27
+ * @param entity - The entity to attach the component to.
28
+ * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
29
+ * @param amplitudeGain - Optional amplitude gain multiplier.
30
+ * @param bandsGain - Optional gain multiplier applied to all frequency bands.
31
+ */
32
+ createAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
33
+ amplitudeGain?: number, bandsGain?: number): void;
34
+ /**
35
+ * Creates the AudioAnalysis component if missing, or replaces the existing one.
36
+ *
37
+ * @param entity - The target entity.
38
+ * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
39
+ * @param amplitudeGain - Optional amplitude gain multiplier.
40
+ * @param bandsGain - Optional gain multiplier applied to the frequency bands.
41
+ */
42
+ createOrReplaceAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
43
+ amplitudeGain?: number, bandsGain?: number): void;
44
+ }
45
+ /**
46
+ * A read-only JavaScript-friendly view of AudioAnalysis ECS data.
47
+ *
48
+ * `amplitude` represents the aggregated signal strength.
49
+ * `bands` represents the processed frequency bands.
50
+ */
51
+ export type AudioAnalysisView = {
52
+ amplitude: number;
53
+ bands: number[];
54
+ };
55
+ export declare function defineAudioAnalysisComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AudioAnalysisComponentDefinitionExtended;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAudioAnalysisComponent = void 0;
4
+ const index_gen_1 = require("../generated/index.gen");
5
+ function defineAudioAnalysisComponent(engine) {
6
+ const theComponent = (0, index_gen_1.AudioAnalysis)(engine);
7
+ return {
8
+ ...theComponent,
9
+ readIntoView(entity, out) {
10
+ const audioAnalysis = theComponent.get(entity);
11
+ out.amplitude = audioAnalysis.amplitude;
12
+ out.bands[0] = audioAnalysis.band0;
13
+ out.bands[1] = audioAnalysis.band1;
14
+ out.bands[2] = audioAnalysis.band2;
15
+ out.bands[3] = audioAnalysis.band3;
16
+ out.bands[4] = audioAnalysis.band4;
17
+ out.bands[5] = audioAnalysis.band5;
18
+ out.bands[6] = audioAnalysis.band6;
19
+ out.bands[7] = audioAnalysis.band7;
20
+ },
21
+ tryReadIntoView(entity, out) {
22
+ const audioAnalysis = theComponent.getOrNull(entity);
23
+ if (!audioAnalysis)
24
+ return false;
25
+ out.amplitude = audioAnalysis.amplitude;
26
+ out.bands[0] = audioAnalysis.band0;
27
+ out.bands[1] = audioAnalysis.band1;
28
+ out.bands[2] = audioAnalysis.band2;
29
+ out.bands[3] = audioAnalysis.band3;
30
+ out.bands[4] = audioAnalysis.band4;
31
+ out.bands[5] = audioAnalysis.band5;
32
+ out.bands[6] = audioAnalysis.band6;
33
+ out.bands[7] = audioAnalysis.band7;
34
+ return true;
35
+ },
36
+ createAudioAnalysis(entity, mode, amplitudeGain, bandsGain) {
37
+ theComponent.create(entity, {
38
+ mode: mode || 1 /* PBAudioAnalysisMode.MODE_LOGARITHMIC */,
39
+ amplitudeGain: amplitudeGain ?? undefined,
40
+ bandsGain: bandsGain ?? undefined,
41
+ amplitude: 0,
42
+ band0: 0,
43
+ band1: 0,
44
+ band2: 0,
45
+ band3: 0,
46
+ band4: 0,
47
+ band5: 0,
48
+ band6: 0,
49
+ band7: 0
50
+ });
51
+ },
52
+ createOrReplaceAudioAnalysis(entity, mode, amplitudeGain, bandsGain) {
53
+ theComponent.createOrReplace(entity, {
54
+ mode: mode || 1 /* PBAudioAnalysisMode.MODE_LOGARITHMIC */,
55
+ amplitudeGain: amplitudeGain ?? undefined,
56
+ bandsGain: bandsGain ?? undefined,
57
+ amplitude: 0,
58
+ band0: 0,
59
+ band1: 0,
60
+ band2: 0,
61
+ band3: 0,
62
+ band4: 0,
63
+ band5: 0,
64
+ band6: 0,
65
+ band7: 0
66
+ });
67
+ }
68
+ };
69
+ }
70
+ exports.defineAudioAnalysisComponent = defineAudioAnalysisComponent;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AudioAnalysisSchema = void 0;
4
+ const audio_analysis_gen_1 = require("./pb/decentraland/sdk/components/audio_analysis.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.AudioAnalysisSchema = {
9
+ COMPONENT_ID: 1212,
10
+ serialize(value, builder) {
11
+ const writer = audio_analysis_gen_1.PBAudioAnalysis.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return audio_analysis_gen_1.PBAudioAnalysis.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return audio_analysis_gen_1.PBAudioAnalysis.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBAudioAnalysis"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvatarLocomotionSettingsSchema = void 0;
4
+ const avatar_locomotion_settings_gen_1 = require("./pb/decentraland/sdk/components/avatar_locomotion_settings.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.AvatarLocomotionSettingsSchema = {
9
+ COMPONENT_ID: 1211,
10
+ serialize(value, builder) {
11
+ const writer = avatar_locomotion_settings_gen_1.PBAvatarLocomotionSettings.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return avatar_locomotion_settings_gen_1.PBAvatarLocomotionSettings.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return avatar_locomotion_settings_gen_1.PBAvatarLocomotionSettings.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBAvatarLocomotionSettings"
27
+ }
28
+ };
@@ -7,6 +7,7 @@ exports.coreComponentMappings = void 0;
7
7
  exports.coreComponentMappings = {
8
8
  "core::Transform": 1,
9
9
  "core::Animator": 1042,
10
+ "core::AudioAnalysis": 1212,
10
11
  "core::AudioEvent": 1105,
11
12
  "core::AudioSource": 1020,
12
13
  "core::AudioStream": 1021,
@@ -14,6 +15,7 @@ exports.coreComponentMappings = {
14
15
  "core::AvatarBase": 1087,
15
16
  "core::AvatarEmoteCommand": 1088,
16
17
  "core::AvatarEquippedData": 1091,
18
+ "core::AvatarLocomotionSettings": 1211,
17
19
  "core::AvatarModifierArea": 1070,
18
20
  "core::AvatarShape": 1080,
19
21
  "core::Billboard": 1090,
@@ -1,5 +1,6 @@
1
1
  import { LastWriteWinElementSetComponentDefinition, GrowOnlyValueSetComponentDefinition } from '../../engine/component';
2
2
  export * from './index.gen';
3
+ import { PBAudioAnalysis } from './pb/decentraland/sdk/components/audio_analysis.gen';
3
4
  import { PBAudioEvent } from './pb/decentraland/sdk/components/audio_event.gen';
4
5
  import { PBAudioSource } from './pb/decentraland/sdk/components/audio_source.gen';
5
6
  import { PBAudioStream } from './pb/decentraland/sdk/components/audio_stream.gen';
@@ -7,6 +8,7 @@ import { PBAvatarAttach } from './pb/decentraland/sdk/components/avatar_attach.g
7
8
  import { PBAvatarBase } from './pb/decentraland/sdk/components/avatar_base.gen';
8
9
  import { PBAvatarEmoteCommand } from './pb/decentraland/sdk/components/avatar_emote_command.gen';
9
10
  import { PBAvatarEquippedData } from './pb/decentraland/sdk/components/avatar_equipped_data.gen';
11
+ import { PBAvatarLocomotionSettings } from './pb/decentraland/sdk/components/avatar_locomotion_settings.gen';
10
12
  import { PBAvatarModifierArea } from './pb/decentraland/sdk/components/avatar_modifier_area.gen';
11
13
  import { PBAvatarShape } from './pb/decentraland/sdk/components/avatar_shape.gen';
12
14
  import { PBBillboard } from './pb/decentraland/sdk/components/billboard.gen';
@@ -46,6 +48,7 @@ import { PBVideoEvent } from './pb/decentraland/sdk/components/video_event.gen';
46
48
  import { PBVideoPlayer } from './pb/decentraland/sdk/components/video_player.gen';
47
49
  import { PBVirtualCamera } from './pb/decentraland/sdk/components/virtual_camera.gen';
48
50
  import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibility_component.gen';
51
+ /** @public */ export declare const AudioAnalysis: LastWriteWinElementSetComponentDefinition<PBAudioAnalysis>;
49
52
  /** @public */ export declare const AudioEvent: GrowOnlyValueSetComponentDefinition<PBAudioEvent>;
50
53
  /** @public */ export declare const AudioSource: LastWriteWinElementSetComponentDefinition<PBAudioSource>;
51
54
  /** @public */ export declare const AudioStream: LastWriteWinElementSetComponentDefinition<PBAudioStream>;
@@ -53,6 +56,7 @@ import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibili
53
56
  /** @public */ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAvatarBase>;
54
57
  /** @public */ export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
55
58
  /** @public */ export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
59
+ /** @public */ export declare const AvatarLocomotionSettings: LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>;
56
60
  /** @public */ export declare const AvatarModifierArea: LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>;
57
61
  /** @public */ export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
58
62
  /** @public */ export declare const Billboard: LastWriteWinElementSetComponentDefinition<PBBillboard>;
@@ -26,10 +26,11 @@ 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.TriggerAreaResult = exports.TriggerArea = exports.TextShape = exports.SkyboxTime = exports.RealmInfo = exports.RaycastResult = exports.Raycast = exports.PrimaryPointerInfo = exports.PointerLock = exports.PointerEventsResult = exports.PointerEvents = exports.PlayerIdentityData = exports.NftShape = exports.MainCamera = exports.LightSource = exports.InputModifier = exports.GltfNodeModifiers = 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.TriggerAreaResult = exports.TriggerArea = exports.TextShape = exports.SkyboxTime = exports.RealmInfo = exports.RaycastResult = exports.Raycast = exports.PrimaryPointerInfo = exports.PointerLock = exports.PointerEventsResult = exports.PointerEvents = exports.PlayerIdentityData = exports.NftShape = exports.MainCamera = exports.LightSource = exports.InputModifier = exports.GltfNodeModifiers = exports.GltfContainerLoadingState = exports.GltfContainer = exports.EngineInfo = exports.CameraModeArea = exports.CameraMode = exports.Billboard = exports.AvatarShape = exports.AvatarModifierArea = exports.AvatarLocomotionSettings = exports.AvatarEquippedData = exports.AvatarEmoteCommand = exports.AvatarBase = exports.AvatarAttach = exports.AudioStream = exports.AudioSource = exports.AudioEvent = exports.AudioAnalysis = 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);
33
+ /** @public */ exports.AudioAnalysis = components.AudioAnalysis(initialization_1.engine);
33
34
  /** @public */ exports.AudioEvent = components.AudioEvent(initialization_1.engine);
34
35
  /** @public */ exports.AudioSource = components.AudioSource(initialization_1.engine);
35
36
  /** @public */ exports.AudioStream = components.AudioStream(initialization_1.engine);
@@ -37,6 +38,7 @@ __exportStar(require("./index.gen"), exports);
37
38
  /** @public */ exports.AvatarBase = components.AvatarBase(initialization_1.engine);
38
39
  /** @public */ exports.AvatarEmoteCommand = components.AvatarEmoteCommand(initialization_1.engine);
39
40
  /** @public */ exports.AvatarEquippedData = components.AvatarEquippedData(initialization_1.engine);
41
+ /** @public */ exports.AvatarLocomotionSettings = components.AvatarLocomotionSettings(initialization_1.engine);
40
42
  /** @public */ exports.AvatarModifierArea = components.AvatarModifierArea(initialization_1.engine);
41
43
  /** @public */ exports.AvatarShape = components.AvatarShape(initialization_1.engine);
42
44
  /** @public */ exports.Billboard = components.Billboard(initialization_1.engine);