@dcl/ecs 7.0.6-4057700455.commit-453395e → 7.0.6-4076330908.commit-cd40e5f

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 (200) hide show
  1. package/dist/components/extended/Animator.d.ts +1 -5
  2. package/dist/components/extended/Material.d.ts +3 -7
  3. package/dist/components/extended/MeshCollider.d.ts +1 -5
  4. package/dist/components/extended/MeshRenderer.d.ts +1 -5
  5. package/dist/components/generated/Animator.gen.d.ts +1 -8
  6. package/dist/components/generated/Animator.gen.js +1 -1
  7. package/dist/components/generated/AudioSource.gen.d.ts +1 -8
  8. package/dist/components/generated/AudioSource.gen.js +1 -1
  9. package/dist/components/generated/AudioStream.gen.d.ts +1 -8
  10. package/dist/components/generated/AudioStream.gen.js +1 -1
  11. package/dist/components/generated/AvatarAttach.gen.d.ts +1 -8
  12. package/dist/components/generated/AvatarAttach.gen.js +1 -1
  13. package/dist/components/generated/AvatarModifierArea.gen.d.ts +1 -8
  14. package/dist/components/generated/AvatarModifierArea.gen.js +1 -1
  15. package/dist/components/generated/AvatarShape.gen.d.ts +1 -8
  16. package/dist/components/generated/AvatarShape.gen.js +1 -1
  17. package/dist/components/generated/Billboard.gen.d.ts +1 -8
  18. package/dist/components/generated/Billboard.gen.js +1 -1
  19. package/dist/components/generated/CameraMode.gen.d.ts +1 -8
  20. package/dist/components/generated/CameraMode.gen.js +1 -1
  21. package/dist/components/generated/CameraModeArea.gen.d.ts +1 -8
  22. package/dist/components/generated/CameraModeArea.gen.js +1 -1
  23. package/dist/components/generated/GltfContainer.gen.d.ts +1 -8
  24. package/dist/components/generated/GltfContainer.gen.js +1 -1
  25. package/dist/components/generated/Material.gen.d.ts +1 -8
  26. package/dist/components/generated/Material.gen.js +1 -1
  27. package/dist/components/generated/MeshCollider.gen.d.ts +1 -8
  28. package/dist/components/generated/MeshCollider.gen.js +1 -1
  29. package/dist/components/generated/MeshRenderer.gen.d.ts +1 -8
  30. package/dist/components/generated/MeshRenderer.gen.js +1 -1
  31. package/dist/components/generated/NftShape.gen.d.ts +1 -8
  32. package/dist/components/generated/NftShape.gen.js +1 -1
  33. package/dist/components/generated/PointerEvents.gen.d.ts +1 -8
  34. package/dist/components/generated/PointerEvents.gen.js +1 -1
  35. package/dist/components/generated/PointerEventsResult.gen.d.ts +1 -8
  36. package/dist/components/generated/PointerEventsResult.gen.js +1 -1
  37. package/dist/components/generated/PointerLock.gen.d.ts +1 -8
  38. package/dist/components/generated/PointerLock.gen.js +1 -1
  39. package/dist/components/generated/Raycast.gen.d.ts +1 -8
  40. package/dist/components/generated/Raycast.gen.js +1 -1
  41. package/dist/components/generated/RaycastResult.gen.d.ts +1 -8
  42. package/dist/components/generated/RaycastResult.gen.js +1 -1
  43. package/dist/components/generated/TextShape.gen.d.ts +1 -8
  44. package/dist/components/generated/TextShape.gen.js +1 -1
  45. package/dist/components/generated/UiBackground.gen.d.ts +1 -8
  46. package/dist/components/generated/UiBackground.gen.js +1 -1
  47. package/dist/components/generated/UiDropdown.gen.d.ts +1 -8
  48. package/dist/components/generated/UiDropdown.gen.js +1 -1
  49. package/dist/components/generated/UiDropdownResult.gen.d.ts +1 -8
  50. package/dist/components/generated/UiDropdownResult.gen.js +1 -1
  51. package/dist/components/generated/UiInput.gen.d.ts +1 -8
  52. package/dist/components/generated/UiInput.gen.js +1 -1
  53. package/dist/components/generated/UiInputResult.gen.d.ts +1 -8
  54. package/dist/components/generated/UiInputResult.gen.js +1 -1
  55. package/dist/components/generated/UiText.gen.d.ts +1 -8
  56. package/dist/components/generated/UiText.gen.js +1 -1
  57. package/dist/components/generated/UiTransform.gen.d.ts +1 -8
  58. package/dist/components/generated/UiTransform.gen.js +1 -1
  59. package/dist/components/generated/VisibilityComponent.gen.d.ts +1 -8
  60. package/dist/components/generated/VisibilityComponent.gen.js +1 -1
  61. package/dist/components/generated/pb/decentraland/common/border_rect.gen.d.ts +3 -8
  62. package/dist/components/generated/pb/decentraland/common/border_rect.gen.js +5 -2
  63. package/dist/components/generated/pb/decentraland/common/colors.gen.d.ts +6 -15
  64. package/dist/components/generated/pb/decentraland/common/colors.gen.js +9 -3
  65. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +15 -22
  66. package/dist/components/generated/pb/decentraland/common/texture.gen.js +19 -4
  67. package/dist/components/generated/pb/decentraland/common/vectors.gen.d.ts +9 -22
  68. package/dist/components/generated/pb/decentraland/common/vectors.gen.js +13 -4
  69. package/dist/components/generated/pb/decentraland/sdk/components/animator.gen.d.ts +6 -15
  70. package/dist/components/generated/pb/decentraland/sdk/components/animator.gen.js +9 -3
  71. package/dist/components/generated/pb/decentraland/sdk/components/audio_source.gen.d.ts +3 -8
  72. package/dist/components/generated/pb/decentraland/sdk/components/audio_source.gen.js +5 -2
  73. package/dist/components/generated/pb/decentraland/sdk/components/audio_stream.gen.d.ts +3 -8
  74. package/dist/components/generated/pb/decentraland/sdk/components/audio_stream.gen.js +5 -2
  75. package/dist/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.d.ts +6 -8
  76. package/dist/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.js +8 -2
  77. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +6 -8
  78. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +8 -2
  79. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +3 -8
  80. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +5 -2
  81. package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +6 -8
  82. package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.js +8 -2
  83. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode.gen.d.ts +3 -8
  84. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode.gen.js +5 -2
  85. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +3 -8
  86. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +5 -2
  87. package/dist/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.d.ts +3 -0
  88. package/dist/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.js +4 -1
  89. package/dist/components/generated/pb/decentraland/sdk/components/common/id.gen.d.ts +1 -1
  90. package/dist/components/generated/pb/decentraland/sdk/components/common/id.gen.js +1 -1
  91. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +3 -0
  92. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +4 -1
  93. package/dist/components/generated/pb/decentraland/sdk/components/common/texts.gen.d.ts +6 -0
  94. package/dist/components/generated/pb/decentraland/sdk/components/common/texts.gen.js +7 -1
  95. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container.gen.d.ts +3 -8
  96. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container.gen.js +5 -2
  97. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +12 -22
  98. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +16 -4
  99. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +18 -36
  100. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +24 -6
  101. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +15 -36
  102. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +21 -6
  103. package/dist/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +6 -8
  104. package/dist/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +8 -2
  105. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +12 -22
  106. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +16 -4
  107. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +6 -15
  108. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +9 -3
  109. package/dist/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.d.ts +3 -8
  110. package/dist/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.js +5 -2
  111. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +6 -8
  112. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +8 -2
  113. package/dist/components/generated/pb/decentraland/sdk/components/raycast_result.gen.d.ts +6 -15
  114. package/dist/components/generated/pb/decentraland/sdk/components/raycast_result.gen.js +9 -3
  115. package/dist/components/generated/pb/decentraland/sdk/components/text_shape.gen.d.ts +3 -8
  116. package/dist/components/generated/pb/decentraland/sdk/components/text_shape.gen.js +5 -2
  117. package/dist/components/generated/pb/decentraland/sdk/components/ui_background.gen.d.ts +6 -8
  118. package/dist/components/generated/pb/decentraland/sdk/components/ui_background.gen.js +8 -2
  119. package/dist/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.d.ts +3 -8
  120. package/dist/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.js +5 -2
  121. package/dist/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.d.ts +3 -8
  122. package/dist/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.js +5 -2
  123. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +3 -8
  124. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +5 -2
  125. package/dist/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.d.ts +3 -8
  126. package/dist/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.js +5 -2
  127. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +3 -8
  128. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +5 -2
  129. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +30 -8
  130. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +32 -2
  131. package/dist/components/generated/pb/decentraland/sdk/components/visibility_component.gen.d.ts +3 -8
  132. package/dist/components/generated/pb/decentraland/sdk/components/visibility_component.gen.js +5 -2
  133. package/dist/components/generated/pb/google/protobuf/descriptor.gen.d.ts +90 -176
  134. package/dist/components/generated/pb/google/protobuf/descriptor.gen.js +116 -26
  135. package/dist/components/index.d.ts +1 -2
  136. package/dist/components/types.d.ts +4 -4
  137. package/dist/engine/component.d.ts +2 -4
  138. package/dist/engine/component.js +3 -0
  139. package/dist/engine/entity.d.ts +3 -22
  140. package/dist/engine/entity.js +16 -3
  141. package/dist/engine/index.d.ts +0 -11
  142. package/dist/engine/index.js +22 -22
  143. package/dist/engine/input.d.ts +0 -2
  144. package/dist/engine/input.js +3 -0
  145. package/dist/engine/types.d.ts +27 -12
  146. package/dist/index.d.ts +6 -5
  147. package/dist/runtime/initialization/index.d.ts +34 -9
  148. package/dist/runtime/initialization/index.js +25 -1
  149. package/dist/runtime/types.d.ts +0 -1
  150. package/dist/runtime/types.js +0 -1
  151. package/dist/schemas/Array.d.ts +1 -5
  152. package/dist/schemas/Array.js +3 -3
  153. package/dist/schemas/ISchema.d.ts +2 -2
  154. package/dist/schemas/Map.d.ts +0 -4
  155. package/dist/schemas/Map.js +3 -3
  156. package/dist/schemas/Optional.d.ts +1 -5
  157. package/dist/schemas/Optional.js +3 -3
  158. package/dist/schemas/basic/Boolean.d.ts +1 -5
  159. package/dist/schemas/basic/Boolean.js +1 -1
  160. package/dist/schemas/basic/Enum.d.ts +1 -5
  161. package/dist/schemas/basic/Enum.js +3 -3
  162. package/dist/schemas/basic/Float.d.ts +1 -9
  163. package/dist/schemas/basic/Float.js +2 -2
  164. package/dist/schemas/basic/Integer.d.ts +0 -8
  165. package/dist/schemas/basic/Integer.js +2 -2
  166. package/dist/schemas/basic/String.d.ts +1 -9
  167. package/dist/schemas/basic/String.js +2 -2
  168. package/dist/schemas/custom/Color3.d.ts +0 -5
  169. package/dist/schemas/custom/Color3.js +1 -1
  170. package/dist/schemas/custom/Color4.d.ts +0 -5
  171. package/dist/schemas/custom/Color4.js +1 -1
  172. package/dist/schemas/custom/Entity.d.ts +1 -6
  173. package/dist/schemas/custom/Entity.js +1 -1
  174. package/dist/schemas/custom/Quaternion.d.ts +0 -5
  175. package/dist/schemas/custom/Quaternion.js +1 -1
  176. package/dist/schemas/custom/Vector3.d.ts +0 -5
  177. package/dist/schemas/custom/Vector3.js +1 -1
  178. package/dist/schemas/index.d.ts +24 -16
  179. package/dist/schemas/index.js +18 -0
  180. package/dist/schemas/typing.d.ts +17 -2
  181. package/dist/serialization/ByteBuffer/index.d.ts +2 -2
  182. package/dist/serialization/crdt/deleteComponent.d.ts +1 -11
  183. package/dist/serialization/crdt/deleteComponent.js +4 -1
  184. package/dist/serialization/crdt/deleteEntity.d.ts +1 -8
  185. package/dist/serialization/crdt/deleteEntity.js +4 -1
  186. package/dist/serialization/crdt/index.d.ts +0 -28
  187. package/dist/serialization/crdt/index.js +3 -1
  188. package/dist/serialization/crdt/message.js +1 -1
  189. package/dist/serialization/crdt/putComponent.d.ts +1 -13
  190. package/dist/serialization/crdt/putComponent.js +4 -1
  191. package/dist/serialization/crdt/types.d.ts +15 -20
  192. package/dist/serialization/crdt/types.js +6 -0
  193. package/dist/systems/async-task.d.ts +0 -4
  194. package/dist/systems/async-task.js +3 -0
  195. package/dist/systems/crdt/index.d.ts +1 -9
  196. package/dist/systems/crdt/index.js +4 -1
  197. package/dist/systems/crdt/types.d.ts +9 -0
  198. package/dist/systems/events.d.ts +11 -19
  199. package/dist/systems/events.js +3 -36
  200. package/package.json +3 -3
@@ -2,10 +2,9 @@ import type { ISchema } from '../schemas/ISchema';
2
2
  import { MapResult, Spec } from '../schemas/Map';
3
3
  import { Transport } from '../systems/crdt/types';
4
4
  import { ComponentDefinition } from './component';
5
- import { Entity, EntityContainer, EntityState } from './entity';
5
+ import { Entity, EntityState } from './entity';
6
6
  import { ReadonlyComponentSchema } from './readonly';
7
7
  import { SystemFn } from './systems';
8
- export { ISchema } from '../schemas/ISchema';
9
8
  /**
10
9
  * @public
11
10
  */
@@ -16,6 +15,10 @@ export type Unpacked<T> = T extends (infer U)[] ? U : T;
16
15
  export type ComponentSchema<T extends [ComponentDefinition<any>, ...ComponentDefinition<any>[]]> = {
17
16
  [K in keyof T]: T[K] extends ComponentDefinition<any> ? ReturnType<T[K]['getMutable']> : never;
18
17
  };
18
+ /**
19
+ * @public
20
+ * Overrides component definition to support partial default values
21
+ */
19
22
  export interface MapComponentDefinition<T> extends ComponentDefinition<T> {
20
23
  /**
21
24
  * Add the current component to an entity, throw an error if the component already exists (use `createOrReplace` instead).
@@ -35,14 +38,16 @@ export interface MapComponentDefinition<T> extends ComponentDefinition<T> {
35
38
  /**
36
39
  * @public
37
40
  */
38
- export type IEngine = {
41
+ export interface IEngine {
39
42
  /**
43
+ * @public
40
44
  * Increment the used entity counter and return the next one.
41
45
  * @param dynamic - whether or no the entity should be considered as Dynamic (vs Static)
42
46
  * @returns the next entity unused
43
47
  */
44
48
  addEntity(dynamic?: boolean): Entity;
45
49
  /**
50
+ * @public
46
51
  * Remove all components of an entity
47
52
  * @param entity - entity
48
53
  */
@@ -53,18 +58,21 @@ export type IEngine = {
53
58
  */
54
59
  removeEntityWithChildren(firstEntity: Entity): void;
55
60
  /**
61
+ *
62
+ * @public
56
63
  * Check the state of an entityin the engine
57
64
  * @param entity - the entity to validate
58
- * @returns known enum value
65
+ * @returns EntityState enum
59
66
  */
60
67
  getEntityState(entity: Entity): EntityState;
61
68
  /**
69
+ * @public
62
70
  * Add the system to the engine. It will be called every tick updated.
63
71
  * @param system - function that receives the delta time between last tick and current one.
64
72
  * @param priority - a number with the priority, big number are called before smaller ones
65
73
  * @param name - optional: a unique name to identify it
66
74
  *
67
- * Example:
75
+ * @example
68
76
  * ```ts
69
77
  * function mySystem(dt: number) {
70
78
  * const entitiesWithMeshRenderer = engine.getEntitiesWith(MeshRenderer, Transform)
@@ -77,26 +85,30 @@ export type IEngine = {
77
85
  */
78
86
  addSystem(system: SystemFn, priority?: number, name?: string): void;
79
87
  /**
88
+ * @public
80
89
  * Remove a system from the engine.
81
90
  * @param selector - the function or the unique name to identify
82
91
  * @returns if it was found and removed
83
92
  */
84
93
  removeSystem(selector: string | SystemFn): boolean;
85
94
  /**
95
+ * @public
86
96
  * Registers a custom component definition.
87
97
  * @param componentName - unique name to identify the component, a hash is calculated for it, it will fail if the hash has collisions.
88
98
  * @param componentDefinition - The component definition
89
99
  */
90
100
  registerComponentDefinition<T>(componentName: string, componentDefinition: ComponentDefinition<T>): ComponentDefinition<T>;
91
101
  /**
102
+ * @public
92
103
  * Define a component and add it to the engine.
93
- * @param spec - An object with schema fields
94
104
  * @param componentName - unique name to identify the component, a hash is calculated for it, it will fail if the hash has collisions.
105
+ * @param spec - An object with schema fields
95
106
  * @param constructorDefault - the initial value prefilled when a component is created without a value
96
107
  * @returns The component definition
97
108
  *
109
+ * @example
98
110
  * ```ts
99
- * const Door = engine.defineComponent("my-scene::Door", {
111
+ * const CustomComponent = engine.defineComponent("my-scene::custom-name", {
100
112
  * id: Schemas.Int,
101
113
  * name: Schemas.String
102
114
  * })
@@ -104,11 +116,13 @@ export type IEngine = {
104
116
  */
105
117
  defineComponent<T extends Spec>(componentName: string, spec: T, constructorDefault?: Partial<MapResult<T>>): MapComponentDefinition<MapResult<T>>;
106
118
  /**
119
+ * @public
107
120
  * Define a component and add it to the engine.
108
121
  * @param componentName - unique name to identify the component, a hash is calculated for it, it will fail if the hash has collisions.
109
122
  * @param spec - An object with schema fields
110
123
  * @returns The component definition
111
124
  *
125
+ * @example
112
126
  * ```ts
113
127
  * const StateComponentId = 10023
114
128
  * const StateComponent = engine.defineComponentFromSchema("my-lib::VisibleComponent", Schemas.Bool)
@@ -116,6 +130,7 @@ export type IEngine = {
116
130
  */
117
131
  defineComponentFromSchema<T>(componentName: string, spec: ISchema<T>): ComponentDefinition<T>;
118
132
  /**
133
+ * @public
119
134
  * Get the component definition from the component id.
120
135
  * @param componentId - component number or name used to identify the component descriptor
121
136
  * @returns the component definition, throw an error if it doesn't exist
@@ -136,6 +151,7 @@ export type IEngine = {
136
151
  */
137
152
  getComponentOrNull<T>(componentId: number): ComponentDefinition<T> | null;
138
153
  /**
154
+ * @public
139
155
  * Get a iterator of entities that has all the component requested.
140
156
  * @param components - a list of component definitions
141
157
  * @returns An iterator of an array with the [entity, component1, component2, ...]
@@ -149,6 +165,7 @@ export type IEngine = {
149
165
  */
150
166
  getEntitiesWith<T extends [ComponentDefinition<any>, ...ComponentDefinition<any>[]]>(...components: T): Iterable<[Entity, ...ReadonlyComponentSchema<T>]>;
151
167
  /**
168
+ * @public
152
169
  * @param deltaTime - deltaTime in seconds
153
170
  */
154
171
  update(deltaTime: number): Promise<void>;
@@ -168,14 +185,12 @@ export type IEngine = {
168
185
  */
169
186
  readonly CameraEntity: Entity;
170
187
  /**
188
+ * @alpha
171
189
  * @param transport - transport which changes its onmessage to process CRDT messages
172
190
  */
173
191
  addTransport(transport: Transport): void;
174
192
  /**
175
- * Entity continaer
176
- */
177
- entityContainer: EntityContainer;
178
- /**
193
+ * @public
179
194
  * Iterator of registered components
180
195
  */
181
196
  componentsIter(): Iterable<ComponentDefinition<unknown>>;
@@ -184,4 +199,4 @@ export type IEngine = {
184
199
  * components that will be available to this engine and to run optimizations.
185
200
  */
186
201
  seal(): void;
187
- };
202
+ }
package/dist/index.d.ts CHANGED
@@ -7,11 +7,12 @@ export * from './systems/events';
7
7
  export * from './systems/async-task';
8
8
  export * from './engine/entity';
9
9
  export * from './components/types';
10
- export declare const Transform: import("./components/types").TransformComponentExtended;
11
- export declare const Animator: import("./components/types").AnimatorComponentDefinitionExtended;
12
- export declare const Material: import("./components/types").MaterialComponentDefinitionExtended;
13
- export declare const MeshRenderer: import("./components/types").MeshRendererComponentDefinitionExtended;
14
- export declare const MeshCollider: import("./components/types").MeshColliderComponentDefinitionExtended;
10
+ import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended } from './components/types';
11
+ export declare const Transform: TransformComponentExtended;
12
+ export declare const Animator: AnimatorComponentDefinitionExtended;
13
+ export declare const Material: MaterialComponentDefinitionExtended;
14
+ export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
15
+ export declare const MeshCollider: MeshColliderComponentDefinitionExtended;
15
16
  export * from './components/generated/global.gen';
16
17
  export * from './components/generated/types.gen';
17
18
  export * from './serialization/crdt';
@@ -4,18 +4,43 @@
4
4
  */
5
5
  import { IEngine } from '../../engine';
6
6
  import { Task } from '../../systems/async-task';
7
+ import { PointerEventsSystem } from '../../systems/events';
8
+ import { IInputSystem } from './../../engine/input';
9
+ /**
10
+ * @public
11
+ * The engine is the part of the scene that sits in the middle and manages all of the other parts.
12
+ * It determines what entities are rendered and how players interact with them.
13
+ * It also coordinates what functions from systems are executed and when.
14
+ *
15
+ * @example
16
+ * import { engine } from '@dcl/sdk/ecs'
17
+ * const entity = engine.addEntity()
18
+ * engine.addSystem(someSystemFunction)
19
+ *
20
+ */
7
21
  export declare const engine: IEngine;
8
- export declare const inputSystem: import("../../engine").IInputSystem;
9
- export declare const pointerEventsSystem: {
10
- removeOnClick(entity: import("../../engine").Entity): void;
11
- removeOnPointerDown(entity: import("../../engine").Entity): void;
12
- removeOnPointerUp(entity: import("../../engine").Entity): void;
13
- onClick(entity: import("../../engine").Entity, cb: import("../../systems/events").EventSystemCallback, opts?: Partial<import("../../systems/events").EventSystemOptions> | undefined): void;
14
- onPointerDown(entity: import("../../engine").Entity, cb: import("../../systems/events").EventSystemCallback, opts?: Partial<import("../../systems/events").EventSystemOptions> | undefined): void;
15
- onPointerUp(entity: import("../../engine").Entity, cb: import("../../systems/events").EventSystemCallback, opts?: Partial<import("../../systems/events").EventSystemOptions> | undefined): void;
16
- };
17
22
  /**
18
23
  * @public
24
+ * Input system manager. Check for button events
25
+ * @example
26
+ * inputSystem.isTriggered: Returns true if an input action ocurred since the last tick.
27
+ * inputSystem.isPressed: Returns true if an input is currently being pressed down. It will return true on every tick until the button goes up again.
28
+ * inputSystem.getInputCommand: Returns an object with data about the input action.
29
+ */
30
+ export declare const inputSystem: IInputSystem;
31
+ export { IInputSystem };
32
+ /**
33
+ * @public
34
+ * Register callback functions to a particular entity.
35
+ */
36
+ export declare const pointerEventsSystem: PointerEventsSystem;
37
+ export { PointerEventsSystem };
38
+ /**
39
+ * @public
40
+ * Runs an async function
19
41
  */
20
42
  export declare const executeTask: (task: Task<unknown>) => void;
43
+ /**
44
+ * @public
45
+ */
21
46
  export type { Task };
@@ -6,15 +6,39 @@ import { Engine } from '../../engine';
6
6
  import { createTaskSystem } from '../../systems/async-task';
7
7
  import { createPointerEventSystem } from '../../systems/events';
8
8
  import { createInputSystem } from './../../engine/input';
9
+ /**
10
+ * @public
11
+ * The engine is the part of the scene that sits in the middle and manages all of the other parts.
12
+ * It determines what entities are rendered and how players interact with them.
13
+ * It also coordinates what functions from systems are executed and when.
14
+ *
15
+ * @example
16
+ * import { engine } from '@dcl/sdk/ecs'
17
+ * const entity = engine.addEntity()
18
+ * engine.addSystem(someSystemFunction)
19
+ *
20
+ */
9
21
  /*#__PURE__*/
10
22
  export const engine = Engine();
11
- // INPUT Manager
23
+ /**
24
+ * @public
25
+ * Input system manager. Check for button events
26
+ * @example
27
+ * inputSystem.isTriggered: Returns true if an input action ocurred since the last tick.
28
+ * inputSystem.isPressed: Returns true if an input is currently being pressed down. It will return true on every tick until the button goes up again.
29
+ * inputSystem.getInputCommand: Returns an object with data about the input action.
30
+ */
12
31
  /*#__PURE__*/
13
32
  export const inputSystem = createInputSystem(engine);
33
+ /**
34
+ * @public
35
+ * Register callback functions to a particular entity.
36
+ */
14
37
  /*#__PURE__*/
15
38
  export const pointerEventsSystem = createPointerEventSystem(engine, inputSystem);
16
39
  /**
17
40
  * @public
41
+ * Runs an async function
18
42
  */
19
43
  /*#__PURE__*/
20
44
  export const executeTask = createTaskSystem(engine).executeTask;
@@ -5,4 +5,3 @@ export * from '../engine/component';
5
5
  export * from '../schemas/typing';
6
6
  export type { MapResult, Spec } from '../schemas/Map';
7
7
  export * from '../engine/component';
8
- export * from '../schemas/typing';
@@ -1,4 +1,3 @@
1
1
  export * from '../engine/component';
2
2
  export * from '../schemas/typing';
3
3
  export * from '../engine/component';
4
- export * from '../schemas/typing';
@@ -1,5 +1 @@
1
- import { ISchema } from './ISchema';
2
- /**
3
- * @public
4
- */
5
- export declare function IArray<T>(type: ISchema<T>): ISchema<Array<T>>;
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
- export function IArray(type) {
4
+ export const IArray = (type) => {
5
5
  return {
6
6
  serialize(value, builder) {
7
7
  builder.writeUint32(value.length);
@@ -21,4 +21,4 @@ export function IArray(type) {
21
21
  return [];
22
22
  }
23
23
  };
24
- }
24
+ };
@@ -2,9 +2,9 @@ import { ByteBuffer } from '../serialization/ByteBuffer';
2
2
  /**
3
3
  * @public
4
4
  */
5
- export type ISchema<T = any> = {
5
+ export interface ISchema<T = any> {
6
6
  serialize(value: T, builder: ByteBuffer): void;
7
7
  deserialize(reader: ByteBuffer): T;
8
8
  create(): T;
9
9
  extend?: (base?: T) => T;
10
- };
10
+ }
@@ -19,7 +19,3 @@ export type MapResultWithOptional<T extends Spec> = ToOptional<{
19
19
  [K in keyof T]?: T[K] extends ISchema ? ReturnType<T[K]['deserialize']> : T[K] extends Spec ? MapResult<T[K]> : never;
20
20
  }>;
21
21
  export type MapSchemaType<T extends Spec> = ISchema<MapResult<T>>;
22
- /**
23
- * @public
24
- */
25
- export declare function IMap<T extends Spec>(spec: T, defaultValue?: Partial<MapResult<T>>): ISchema<MapResult<T>>;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
- export function IMap(spec, defaultValue) {
4
+ export const IMap = (spec, defaultValue) => {
5
5
  return {
6
6
  serialize(value, builder) {
7
7
  for (const key in spec) {
@@ -33,4 +33,4 @@ export function IMap(spec, defaultValue) {
33
33
  return { ...newValue, ...defaultValue, ...base };
34
34
  }
35
35
  };
36
- }
36
+ };
@@ -1,5 +1 @@
1
- import { ISchema } from './ISchema';
2
- /**
3
- * @public
4
- */
5
- export declare function IOptional<T>(spec: ISchema<T>): ISchema<T | undefined>;
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
- export function IOptional(spec) {
4
+ export const IOptional = (spec) => {
5
5
  return {
6
6
  serialize(value, builder) {
7
7
  if (value) {
@@ -22,4 +22,4 @@ export function IOptional(spec) {
22
22
  return undefined;
23
23
  }
24
24
  };
25
- }
25
+ };
@@ -1,5 +1 @@
1
- import { ISchema } from '../ISchema';
2
- /**
3
- * @public
4
- */
5
- export declare const Bool: ISchema<boolean>;
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const Bool = {
5
5
  serialize(value, builder) {
@@ -1,5 +1 @@
1
- import { ISchema } from '../ISchema';
2
- /**
3
- * @public
4
- */
5
- export declare function IEnum<T>(type: ISchema<any>): ISchema<T>;
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
- export function IEnum(type) {
4
+ export const IEnum = (type) => {
5
5
  return {
6
6
  serialize(value, builder) {
7
7
  type.serialize(value, builder);
@@ -13,4 +13,4 @@ export function IEnum(type) {
13
13
  return type.create();
14
14
  }
15
15
  };
16
- }
16
+ };
@@ -1,9 +1 @@
1
- import { ISchema } from '../ISchema';
2
- /**
3
- * @public
4
- */
5
- export declare const Float32: ISchema<number>;
6
- /**
7
- * @public
8
- */
9
- export declare const Float64: ISchema<number>;
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const Float32 = {
5
5
  serialize(value, builder) {
@@ -13,7 +13,7 @@ export const Float32 = {
13
13
  }
14
14
  };
15
15
  /**
16
- * @public
16
+ * @internal
17
17
  */
18
18
  export const Float64 = {
19
19
  serialize(value, builder) {
@@ -1,12 +1,4 @@
1
1
  import { ISchema } from '../ISchema';
2
- /**
3
- * @public
4
- */
5
- export declare const Int64: ISchema<number>;
6
- /**
7
- * @public
8
- */
9
- export declare const Int32: ISchema<number>;
10
2
  /**
11
3
  * @public
12
4
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const Int64 = {
5
5
  serialize(value, builder) {
@@ -13,7 +13,7 @@ export const Int64 = {
13
13
  }
14
14
  };
15
15
  /**
16
- * @public
16
+ * @internal
17
17
  */
18
18
  export const Int32 = {
19
19
  serialize(value, builder) {
@@ -1,9 +1 @@
1
- import { ISchema } from '../ISchema';
2
- /**
3
- * @public
4
- */
5
- export declare const FlatString: ISchema<string>;
6
- /**
7
- * @public
8
- */
9
- export declare const EcsString: ISchema<string>;
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const FlatString = {
5
5
  serialize(value, builder) {
@@ -13,6 +13,6 @@ export const FlatString = {
13
13
  }
14
14
  };
15
15
  /**
16
- * @public
16
+ * @internal
17
17
  */
18
18
  export const EcsString = FlatString;
@@ -1,4 +1,3 @@
1
- import { ISchema } from '../ISchema';
2
1
  /**
3
2
  * @public
4
3
  */
@@ -7,7 +6,3 @@ export type Color3Type = {
7
6
  g: number;
8
7
  b: number;
9
8
  };
10
- /**
11
- * @public
12
- */
13
- export declare const Color3Schema: ISchema<Color3Type>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const Color3Schema = {
5
5
  serialize(value, builder) {
@@ -1,4 +1,3 @@
1
- import { ISchema } from '../ISchema';
2
1
  /**
3
2
  * @public
4
3
  */
@@ -8,7 +7,3 @@ export type Color4Type = {
8
7
  b: number;
9
8
  a: number;
10
9
  };
11
- /**
12
- * @public
13
- */
14
- export declare const Color4Schema: ISchema<Color4Type>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const Color4Schema = {
5
5
  serialize(value, builder) {
@@ -1,6 +1 @@
1
- import { Entity } from '../../engine/entity';
2
- import { ISchema } from '../ISchema';
3
- /**
4
- * @public
5
- */
6
- export declare const EntitySchema: ISchema<Entity>;
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const EntitySchema = {
5
5
  serialize(value, builder) {
@@ -1,4 +1,3 @@
1
- import { ISchema } from '../ISchema';
2
1
  /**
3
2
  * @public
4
3
  */
@@ -8,7 +7,3 @@ export type QuaternionType = {
8
7
  z: number;
9
8
  w: number;
10
9
  };
11
- /**
12
- * @public
13
- */
14
- export declare const QuaternionSchema: ISchema<QuaternionType>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const QuaternionSchema = {
5
5
  serialize(value, builder) {
@@ -1,4 +1,3 @@
1
- import { ISchema } from '../ISchema';
2
1
  /**
3
2
  * @public
4
3
  */
@@ -7,7 +6,3 @@ export type Vector3Type = {
7
6
  y: number;
8
7
  z: number;
9
8
  };
10
- /**
11
- * @public
12
- */
13
- export declare const Vector3Schema: ISchema<Vector3Type>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @public
2
+ * @internal
3
3
  */
4
4
  export const Vector3Schema = {
5
5
  serialize(value, builder) {