@dcl/ecs 7.1.12-4982829389.commit-f2f84bd → 7.1.12-4983011170.commit-adaaaa2

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 (299) hide show
  1. package/dist-cjs/components/component-number.d.ts +7 -0
  2. package/dist-cjs/components/component-number.js +44 -0
  3. package/dist-cjs/components/extended/Animator.d.ts +46 -0
  4. package/dist-cjs/components/extended/Animator.js +62 -0
  5. package/dist-cjs/components/extended/Material.d.ts +42 -0
  6. package/dist-cjs/components/extended/Material.js +54 -0
  7. package/dist-cjs/components/extended/MeshCollider.d.ts +38 -0
  8. package/dist-cjs/components/extended/MeshCollider.js +43 -0
  9. package/dist-cjs/components/extended/MeshRenderer.d.ts +36 -0
  10. package/dist-cjs/components/extended/MeshRenderer.js +31 -0
  11. package/dist-cjs/components/generated/Animator.gen.d.ts +1 -0
  12. package/dist-cjs/components/generated/Animator.gen.js +28 -0
  13. package/dist-cjs/components/generated/AudioSource.gen.d.ts +1 -0
  14. package/dist-cjs/components/generated/AudioSource.gen.js +28 -0
  15. package/dist-cjs/components/generated/AudioStream.gen.d.ts +1 -0
  16. package/dist-cjs/components/generated/AudioStream.gen.js +28 -0
  17. package/dist-cjs/components/generated/AvatarAttach.gen.d.ts +1 -0
  18. package/dist-cjs/components/generated/AvatarAttach.gen.js +28 -0
  19. package/dist-cjs/components/generated/AvatarModifierArea.gen.d.ts +1 -0
  20. package/dist-cjs/components/generated/AvatarModifierArea.gen.js +28 -0
  21. package/dist-cjs/components/generated/AvatarShape.gen.d.ts +1 -0
  22. package/dist-cjs/components/generated/AvatarShape.gen.js +28 -0
  23. package/dist-cjs/components/generated/Billboard.gen.d.ts +1 -0
  24. package/dist-cjs/components/generated/Billboard.gen.js +28 -0
  25. package/dist-cjs/components/generated/CameraMode.gen.d.ts +1 -0
  26. package/dist-cjs/components/generated/CameraMode.gen.js +28 -0
  27. package/dist-cjs/components/generated/CameraModeArea.gen.d.ts +1 -0
  28. package/dist-cjs/components/generated/CameraModeArea.gen.js +28 -0
  29. package/dist-cjs/components/generated/EngineInfo.gen.d.ts +1 -0
  30. package/dist-cjs/components/generated/EngineInfo.gen.js +28 -0
  31. package/dist-cjs/components/generated/GltfContainer.gen.d.ts +1 -0
  32. package/dist-cjs/components/generated/GltfContainer.gen.js +28 -0
  33. package/dist-cjs/components/generated/GltfContainerLoadingState.gen.d.ts +1 -0
  34. package/dist-cjs/components/generated/GltfContainerLoadingState.gen.js +28 -0
  35. package/dist-cjs/components/generated/Material.gen.d.ts +1 -0
  36. package/dist-cjs/components/generated/Material.gen.js +28 -0
  37. package/dist-cjs/components/generated/MeshCollider.gen.d.ts +1 -0
  38. package/dist-cjs/components/generated/MeshCollider.gen.js +28 -0
  39. package/dist-cjs/components/generated/MeshRenderer.gen.d.ts +1 -0
  40. package/dist-cjs/components/generated/MeshRenderer.gen.js +28 -0
  41. package/dist-cjs/components/generated/NftShape.gen.d.ts +1 -0
  42. package/dist-cjs/components/generated/NftShape.gen.js +28 -0
  43. package/dist-cjs/components/generated/PointerEvents.gen.d.ts +1 -0
  44. package/dist-cjs/components/generated/PointerEvents.gen.js +28 -0
  45. package/dist-cjs/components/generated/PointerEventsResult.gen.d.ts +1 -0
  46. package/dist-cjs/components/generated/PointerEventsResult.gen.js +28 -0
  47. package/dist-cjs/components/generated/PointerLock.gen.d.ts +1 -0
  48. package/dist-cjs/components/generated/PointerLock.gen.js +28 -0
  49. package/dist-cjs/components/generated/Raycast.gen.d.ts +1 -0
  50. package/dist-cjs/components/generated/Raycast.gen.js +28 -0
  51. package/dist-cjs/components/generated/RaycastResult.gen.d.ts +1 -0
  52. package/dist-cjs/components/generated/RaycastResult.gen.js +28 -0
  53. package/dist-cjs/components/generated/TextShape.gen.d.ts +1 -0
  54. package/dist-cjs/components/generated/TextShape.gen.js +28 -0
  55. package/dist-cjs/components/generated/UiBackground.gen.d.ts +1 -0
  56. package/dist-cjs/components/generated/UiBackground.gen.js +28 -0
  57. package/dist-cjs/components/generated/UiCanvasInformation.gen.d.ts +1 -0
  58. package/dist-cjs/components/generated/UiCanvasInformation.gen.js +28 -0
  59. package/dist-cjs/components/generated/UiDropdown.gen.d.ts +1 -0
  60. package/dist-cjs/components/generated/UiDropdown.gen.js +28 -0
  61. package/dist-cjs/components/generated/UiDropdownResult.gen.d.ts +1 -0
  62. package/dist-cjs/components/generated/UiDropdownResult.gen.js +28 -0
  63. package/dist-cjs/components/generated/UiInput.gen.d.ts +1 -0
  64. package/dist-cjs/components/generated/UiInput.gen.js +28 -0
  65. package/dist-cjs/components/generated/UiInputResult.gen.d.ts +1 -0
  66. package/dist-cjs/components/generated/UiInputResult.gen.js +28 -0
  67. package/dist-cjs/components/generated/UiText.gen.d.ts +1 -0
  68. package/dist-cjs/components/generated/UiText.gen.js +28 -0
  69. package/dist-cjs/components/generated/UiTransform.gen.d.ts +1 -0
  70. package/dist-cjs/components/generated/UiTransform.gen.js +28 -0
  71. package/dist-cjs/components/generated/VideoEvent.gen.d.ts +1 -0
  72. package/dist-cjs/components/generated/VideoEvent.gen.js +28 -0
  73. package/dist-cjs/components/generated/VideoPlayer.gen.d.ts +1 -0
  74. package/dist-cjs/components/generated/VideoPlayer.gen.js +28 -0
  75. package/dist-cjs/components/generated/VisibilityComponent.gen.d.ts +1 -0
  76. package/dist-cjs/components/generated/VisibilityComponent.gen.js +28 -0
  77. package/dist-cjs/components/generated/component-names.gen.d.ts +4 -0
  78. package/dist-cjs/components/generated/component-names.gen.js +42 -0
  79. package/dist-cjs/components/generated/global.gen.d.ts +60 -0
  80. package/dist-cjs/components/generated/global.gen.js +61 -0
  81. package/dist-cjs/components/generated/index.gen.d.ts +139 -0
  82. package/dist-cjs/components/generated/index.gen.js +222 -0
  83. package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.d.ts +35 -0
  84. package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.js +139 -0
  85. package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.d.ts +32 -0
  86. package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.js +130 -0
  87. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +91 -0
  88. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +254 -0
  89. package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.d.ts +61 -0
  90. package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.js +233 -0
  91. package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.d.ts +50 -0
  92. package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.js +147 -0
  93. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.d.ts +34 -0
  94. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.js +83 -0
  95. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.d.ts +24 -0
  96. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.js +65 -0
  97. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.d.ts +37 -0
  98. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.js +67 -0
  99. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -0
  100. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +86 -0
  101. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +56 -0
  102. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +176 -0
  103. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +38 -0
  104. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +63 -0
  105. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.d.ts +20 -0
  106. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.js +47 -0
  107. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +32 -0
  108. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +57 -0
  109. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.d.ts +9 -0
  110. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.js +15 -0
  111. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.d.ts +1 -0
  112. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.js +3 -0
  113. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +29 -0
  114. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +36 -0
  115. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.d.ts +10 -0
  116. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.js +16 -0
  117. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.d.ts +29 -0
  118. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.js +110 -0
  119. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.d.ts +22 -0
  120. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.js +29 -0
  121. package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.d.ts +25 -0
  122. package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.js +65 -0
  123. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.d.ts +25 -0
  124. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.js +65 -0
  125. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +47 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +96 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +326 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +120 -0
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +246 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +96 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +246 -0
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +58 -0
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +96 -0
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +67 -0
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +159 -0
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +26 -0
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +93 -0
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.d.ts +19 -0
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.js +47 -0
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +63 -0
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +152 -0
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.d.ts +32 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.js +85 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.d.ts +65 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.js +250 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.d.ts +47 -0
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.js +119 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +29 -0
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +75 -0
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.d.ts +29 -0
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.js +130 -0
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.d.ts +14 -0
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.js +47 -0
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +28 -0
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +120 -0
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.d.ts +14 -0
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.js +47 -0
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +25 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +84 -0
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +179 -0
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +644 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.d.ts +33 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.js +97 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.d.ts +25 -0
  166. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.js +99 -0
  167. package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.d.ts +15 -0
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.js +47 -0
  169. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +468 -0
  170. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +1936 -0
  171. package/dist-cjs/components/generated/types.gen.d.ts +9 -0
  172. package/dist-cjs/components/generated/types.gen.js +30 -0
  173. package/dist-cjs/components/index.d.ts +14 -0
  174. package/dist-cjs/components/index.js +38 -0
  175. package/dist-cjs/components/manual/Transform.d.ts +40 -0
  176. package/dist-cjs/components/manual/Transform.js +110 -0
  177. package/dist-cjs/components/types.d.ts +5 -0
  178. package/dist-cjs/components/types.js +2 -0
  179. package/dist-cjs/composite/components.d.ts +18 -0
  180. package/dist-cjs/composite/components.js +22 -0
  181. package/dist-cjs/composite/index.d.ts +51 -0
  182. package/dist-cjs/composite/index.js +60 -0
  183. package/dist-cjs/composite/instance.d.ts +34 -0
  184. package/dist-cjs/composite/instance.js +201 -0
  185. package/dist-cjs/composite/path.d.ts +3 -0
  186. package/dist-cjs/composite/path.js +154 -0
  187. package/dist-cjs/composite/proto/gen/composite.gen.d.ts +71 -0
  188. package/dist-cjs/composite/proto/gen/composite.gen.js +337 -0
  189. package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.d.ts +138 -0
  190. package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.js +443 -0
  191. package/dist-cjs/engine/component.d.ts +149 -0
  192. package/dist-cjs/engine/component.js +12 -0
  193. package/dist-cjs/engine/entity.d.ts +49 -0
  194. package/dist-cjs/engine/entity.js +178 -0
  195. package/dist-cjs/engine/grow-only-value-set-component-definition.d.ts +8 -0
  196. package/dist-cjs/engine/grow-only-value-set-component-definition.js +145 -0
  197. package/dist-cjs/engine/index.d.ts +15 -0
  198. package/dist-cjs/engine/index.js +247 -0
  199. package/dist-cjs/engine/input.d.ts +34 -0
  200. package/dist-cjs/engine/input.js +219 -0
  201. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +8 -0
  202. package/dist-cjs/engine/lww-element-set-component-definition.js +264 -0
  203. package/dist-cjs/engine/readonly.d.ts +29 -0
  204. package/dist-cjs/engine/readonly.js +10 -0
  205. package/dist-cjs/engine/systems.d.ts +15 -0
  206. package/dist-cjs/engine/systems.js +48 -0
  207. package/dist-cjs/engine/types.d.ts +215 -0
  208. package/dist-cjs/engine/types.js +17 -0
  209. package/dist-cjs/index.d.ts +22 -0
  210. package/dist-cjs/index.js +58 -0
  211. package/dist-cjs/runtime/crc.d.ts +1 -0
  212. package/dist-cjs/runtime/crc.js +45 -0
  213. package/dist-cjs/runtime/helpers/index.d.ts +1 -0
  214. package/dist-cjs/runtime/helpers/index.js +17 -0
  215. package/dist-cjs/runtime/helpers/tree.d.ts +32 -0
  216. package/dist-cjs/runtime/helpers/tree.js +77 -0
  217. package/dist-cjs/runtime/initialization/index.d.ts +61 -0
  218. package/dist-cjs/runtime/initialization/index.js +56 -0
  219. package/dist-cjs/runtime/invariant.d.ts +4 -0
  220. package/dist-cjs/runtime/invariant.js +17 -0
  221. package/dist-cjs/runtime/types.d.ts +6 -0
  222. package/dist-cjs/runtime/types.js +18 -0
  223. package/dist-cjs/schemas/Array.d.ts +1 -0
  224. package/dist-cjs/schemas/Array.js +33 -0
  225. package/dist-cjs/schemas/ISchema.d.ts +35 -0
  226. package/dist-cjs/schemas/ISchema.js +2 -0
  227. package/dist-cjs/schemas/Map.d.ts +20 -0
  228. package/dist-cjs/schemas/Map.js +49 -0
  229. package/dist-cjs/schemas/OneOf.d.ts +10 -0
  230. package/dist-cjs/schemas/OneOf.js +35 -0
  231. package/dist-cjs/schemas/Optional.d.ts +1 -0
  232. package/dist-cjs/schemas/Optional.js +34 -0
  233. package/dist-cjs/schemas/basic/Boolean.d.ts +1 -0
  234. package/dist-cjs/schemas/basic/Boolean.js +21 -0
  235. package/dist-cjs/schemas/basic/Enum.d.ts +1 -0
  236. package/dist-cjs/schemas/basic/Enum.js +101 -0
  237. package/dist-cjs/schemas/basic/Float.d.ts +1 -0
  238. package/dist-cjs/schemas/basic/Float.js +39 -0
  239. package/dist-cjs/schemas/basic/Integer.d.ts +9 -0
  240. package/dist-cjs/schemas/basic/Integer.js +75 -0
  241. package/dist-cjs/schemas/basic/String.d.ts +1 -0
  242. package/dist-cjs/schemas/basic/String.js +25 -0
  243. package/dist-cjs/schemas/buildSchema/index.d.ts +11 -0
  244. package/dist-cjs/schemas/buildSchema/index.js +114 -0
  245. package/dist-cjs/schemas/buildSchema/types.d.ts +5 -0
  246. package/dist-cjs/schemas/buildSchema/types.js +2 -0
  247. package/dist-cjs/schemas/buildSchema/utils.d.ts +12 -0
  248. package/dist-cjs/schemas/buildSchema/utils.js +30 -0
  249. package/dist-cjs/schemas/custom/Color3.d.ts +8 -0
  250. package/dist-cjs/schemas/custom/Color3.js +32 -0
  251. package/dist-cjs/schemas/custom/Color4.d.ts +9 -0
  252. package/dist-cjs/schemas/custom/Color4.js +35 -0
  253. package/dist-cjs/schemas/custom/Entity.d.ts +1 -0
  254. package/dist-cjs/schemas/custom/Entity.js +21 -0
  255. package/dist-cjs/schemas/custom/Quaternion.d.ts +9 -0
  256. package/dist-cjs/schemas/custom/Quaternion.js +35 -0
  257. package/dist-cjs/schemas/custom/Vector3.d.ts +8 -0
  258. package/dist-cjs/schemas/custom/Vector3.js +33 -0
  259. package/dist-cjs/schemas/index.d.ts +80 -0
  260. package/dist-cjs/schemas/index.js +84 -0
  261. package/dist-cjs/schemas/typing.d.ts +30 -0
  262. package/dist-cjs/schemas/typing.js +2 -0
  263. package/dist-cjs/serialization/ByteBuffer/index.d.ts +180 -0
  264. package/dist-cjs/serialization/ByteBuffer/index.js +272 -0
  265. package/dist-cjs/serialization/crdt/appendValue.d.ts +15 -0
  266. package/dist-cjs/serialization/crdt/appendValue.js +52 -0
  267. package/dist-cjs/serialization/crdt/crdtMessageProtocol.d.ts +30 -0
  268. package/dist-cjs/serialization/crdt/crdtMessageProtocol.js +71 -0
  269. package/dist-cjs/serialization/crdt/deleteComponent.d.ts +14 -0
  270. package/dist-cjs/serialization/crdt/deleteComponent.js +45 -0
  271. package/dist-cjs/serialization/crdt/deleteEntity.d.ts +11 -0
  272. package/dist-cjs/serialization/crdt/deleteEntity.js +34 -0
  273. package/dist-cjs/serialization/crdt/index.d.ts +6 -0
  274. package/dist-cjs/serialization/crdt/index.js +22 -0
  275. package/dist-cjs/serialization/crdt/message.d.ts +3 -0
  276. package/dist-cjs/serialization/crdt/message.js +28 -0
  277. package/dist-cjs/serialization/crdt/putComponent.d.ts +15 -0
  278. package/dist-cjs/serialization/crdt/putComponent.js +50 -0
  279. package/dist-cjs/serialization/crdt/types.d.ts +147 -0
  280. package/dist-cjs/serialization/crdt/types.js +77 -0
  281. package/dist-cjs/systems/async-task.d.ts +1 -0
  282. package/dist-cjs/systems/async-task.js +33 -0
  283. package/dist-cjs/systems/crdt/gset.d.ts +29 -0
  284. package/dist-cjs/systems/crdt/gset.js +54 -0
  285. package/dist-cjs/systems/crdt/index.d.ts +7 -0
  286. package/dist-cjs/systems/crdt/index.js +241 -0
  287. package/dist-cjs/systems/crdt/types.d.ts +20 -0
  288. package/dist-cjs/systems/crdt/types.js +2 -0
  289. package/dist-cjs/systems/crdt/utils.d.ts +15 -0
  290. package/dist-cjs/systems/crdt/utils.js +52 -0
  291. package/dist-cjs/systems/cyclicParentingChecker.d.ts +17 -0
  292. package/dist-cjs/systems/cyclicParentingChecker.js +60 -0
  293. package/dist-cjs/systems/events.d.ts +49 -0
  294. package/dist-cjs/systems/events.js +137 -0
  295. package/dist-cjs/systems/raycast.d.ts +80 -0
  296. package/dist-cjs/systems/raycast.js +124 -0
  297. package/dist-cjs/systems/videoEvents.d.ts +14 -0
  298. package/dist-cjs/systems/videoEvents.js +89 -0
  299. package/package.json +5 -4
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityContainer = exports.EntityState = exports.EntityUtils = exports.MAX_ENTITY_NUMBER = exports.RESERVED_STATIC_ENTITIES = exports.AMOUNT_VERSION_AVAILABLE = exports.MAX_U16 = void 0;
4
+ const gset_1 = require("../systems/crdt/gset");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.MAX_U16 = 0xffff;
9
+ const MASK_UPPER_16_ON_32 = 0xffff0000;
10
+ /**
11
+ * @internal
12
+ */
13
+ exports.AMOUNT_VERSION_AVAILABLE = exports.MAX_U16 + 1;
14
+ // This type matches with @dcl/crdt entity type.
15
+ /**
16
+ * @internal
17
+ * This first 512 entities are reserved by the renderer
18
+ */
19
+ exports.RESERVED_STATIC_ENTITIES = 512;
20
+ /**
21
+ * @internal
22
+ */
23
+ exports.MAX_ENTITY_NUMBER = exports.MAX_U16;
24
+ /**
25
+ * @internal
26
+ */
27
+ var EntityUtils;
28
+ (function (EntityUtils) {
29
+ /**
30
+ * @returns [entityNumber, entityVersion]
31
+ */
32
+ function fromEntityId(entityId) {
33
+ return [(entityId & exports.MAX_U16) >>> 0, (((entityId & MASK_UPPER_16_ON_32) >> 16) & exports.MAX_U16) >>> 0];
34
+ }
35
+ EntityUtils.fromEntityId = fromEntityId;
36
+ /**
37
+ * @returns compound number from entityNumber and entityVerison
38
+ */
39
+ function toEntityId(entityNumber, entityVersion) {
40
+ return (((entityNumber & exports.MAX_U16) | ((entityVersion & exports.MAX_U16) << 16)) >>> 0);
41
+ }
42
+ EntityUtils.toEntityId = toEntityId;
43
+ })(EntityUtils = exports.EntityUtils || (exports.EntityUtils = {}));
44
+ /**
45
+ * @public
46
+ */
47
+ var EntityState;
48
+ (function (EntityState) {
49
+ EntityState[EntityState["Unknown"] = 0] = "Unknown";
50
+ /**
51
+ * The entity was generated and added to the usedEntities set
52
+ */
53
+ EntityState[EntityState["UsedEntity"] = 1] = "UsedEntity";
54
+ /**
55
+ * The entity was removed from current engine or remotely
56
+ */
57
+ EntityState[EntityState["Removed"] = 2] = "Removed";
58
+ /**
59
+ * The entity is reserved number.
60
+ */
61
+ EntityState[EntityState["Reserved"] = 3] = "Reserved";
62
+ })(EntityState = exports.EntityState || (exports.EntityState = {}));
63
+ /**
64
+ * @internal
65
+ */
66
+ function EntityContainer() {
67
+ let entityCounter = exports.RESERVED_STATIC_ENTITIES;
68
+ const usedEntities = new Set();
69
+ let toRemoveEntities = [];
70
+ const removedEntities = (0, gset_1.createVersionGSet)();
71
+ function generateNewEntity() {
72
+ if (entityCounter > exports.MAX_ENTITY_NUMBER - 1) {
73
+ throw new Error(`It fails trying to generate an entity out of range ${exports.MAX_ENTITY_NUMBER}.`);
74
+ }
75
+ const entityNumber = entityCounter++;
76
+ const entityVersion = removedEntities.getMap().has(entityNumber)
77
+ ? removedEntities.getMap().get(entityNumber) + 1
78
+ : 0;
79
+ const entity = EntityUtils.toEntityId(entityNumber, entityVersion);
80
+ if (usedEntities.has(entity)) {
81
+ return generateNewEntity();
82
+ }
83
+ usedEntities.add(entity);
84
+ return entity;
85
+ }
86
+ function generateEntity() {
87
+ // If all entities until `entityCounter` are being used, we need to generate another one
88
+ if (usedEntities.size + exports.RESERVED_STATIC_ENTITIES >= entityCounter) {
89
+ return generateNewEntity();
90
+ }
91
+ for (const [number, version] of removedEntities.getMap()) {
92
+ if (version < exports.MAX_U16) {
93
+ const entity = EntityUtils.toEntityId(number, version + 1);
94
+ // If the entity is not being used, we can re-use it
95
+ // If the entity was removed in this tick, we're not counting for the usedEntities, but we have it in the toRemoveEntityArray
96
+ if (!usedEntities.has(entity) && !toRemoveEntities.includes(entity)) {
97
+ usedEntities.add(entity);
98
+ return entity;
99
+ }
100
+ }
101
+ }
102
+ return generateNewEntity();
103
+ }
104
+ function removeEntity(entity) {
105
+ if (entity < exports.RESERVED_STATIC_ENTITIES)
106
+ return false;
107
+ if (usedEntities.has(entity)) {
108
+ usedEntities.delete(entity);
109
+ toRemoveEntities.push(entity);
110
+ }
111
+ else {
112
+ updateRemovedEntity(entity);
113
+ }
114
+ return true;
115
+ }
116
+ function releaseRemovedEntities() {
117
+ const arr = toRemoveEntities;
118
+ if (arr.length) {
119
+ toRemoveEntities = [];
120
+ for (const entity of arr) {
121
+ const [n, v] = EntityUtils.fromEntityId(entity);
122
+ removedEntities.addTo(n, v);
123
+ }
124
+ }
125
+ return arr;
126
+ }
127
+ function updateRemovedEntity(entity) {
128
+ const [n, v] = EntityUtils.fromEntityId(entity);
129
+ // Update the removed entities map
130
+ removedEntities.addTo(n, v);
131
+ // Remove the usedEntities if exist
132
+ for (let i = 0; i <= v; i++) {
133
+ usedEntities.delete(EntityUtils.toEntityId(n, i));
134
+ }
135
+ return true;
136
+ }
137
+ function updateUsedEntity(entity) {
138
+ const [n, v] = EntityUtils.fromEntityId(entity);
139
+ // if the entity was removed then abort fast
140
+ if (removedEntities.has(n, v))
141
+ return false;
142
+ // Update
143
+ if (v > 0) {
144
+ for (let i = 0; i <= v - 1; i++) {
145
+ usedEntities.delete(EntityUtils.toEntityId(n, i));
146
+ }
147
+ removedEntities.addTo(n, v - 1);
148
+ }
149
+ usedEntities.add(entity);
150
+ return true;
151
+ }
152
+ function getEntityState(entity) {
153
+ const [n, v] = EntityUtils.fromEntityId(entity);
154
+ if (n < exports.RESERVED_STATIC_ENTITIES) {
155
+ return EntityState.Reserved;
156
+ }
157
+ if (usedEntities.has(entity)) {
158
+ return EntityState.UsedEntity;
159
+ }
160
+ const removedVersion = removedEntities.getMap().get(n);
161
+ if (removedVersion !== undefined && removedVersion >= v) {
162
+ return EntityState.Removed;
163
+ }
164
+ return EntityState.Unknown;
165
+ }
166
+ return {
167
+ generateEntity,
168
+ removeEntity,
169
+ getExistingEntities() {
170
+ return new Set(usedEntities);
171
+ },
172
+ getEntityState,
173
+ releaseRemovedEntities,
174
+ updateRemovedEntity,
175
+ updateUsedEntity
176
+ };
177
+ }
178
+ exports.EntityContainer = EntityContainer;
@@ -0,0 +1,8 @@
1
+ import { DeepReadonly } from './readonly';
2
+ /**
3
+ * @public
4
+ */
5
+ export type ValueSetOptions<T> = {
6
+ timestampFunction: (value: DeepReadonly<T>) => number;
7
+ maxElements: number;
8
+ };
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createValueSetComponentDefinitionFromSchema = void 0;
4
+ const ByteBuffer_1 = require("../serialization/ByteBuffer");
5
+ const crdt_1 = require("../serialization/crdt");
6
+ const invariant_1 = require("../runtime/invariant");
7
+ const emptyReadonlySet = freezeSet(new Set());
8
+ function frozenError() {
9
+ throw new Error('The set is frozen');
10
+ }
11
+ function freezeSet(set) {
12
+ ;
13
+ set.add = frozenError;
14
+ set.clear = frozenError;
15
+ return set;
16
+ }
17
+ function sortByTimestamp(a, b) {
18
+ return a.timestamp > b.timestamp ? 1 : -1;
19
+ }
20
+ /**
21
+ * @internal
22
+ */
23
+ function createValueSetComponentDefinitionFromSchema(componentName, componentId, schema, options) {
24
+ const data = new Map();
25
+ const dirtyIterator = new Set();
26
+ const queuedCommands = [];
27
+ // only sort the array if the latest (N) element has a timestamp <= N-1
28
+ function shouldSort(row) {
29
+ const len = row.raw.length;
30
+ if (len > 1 && row.raw[len - 1].timestamp <= row.raw[len - 2].timestamp) {
31
+ return true;
32
+ }
33
+ return false;
34
+ }
35
+ function gotUpdated(entity) {
36
+ const row = data.get(entity);
37
+ /* istanbul ignore else */
38
+ if (row) {
39
+ if (shouldSort(row)) {
40
+ row.raw.sort(sortByTimestamp);
41
+ }
42
+ while (row.raw.length > options.maxElements) {
43
+ row.raw.shift();
44
+ }
45
+ const frozenSet = freezeSet(new Set(row?.raw.map(($) => $.value)));
46
+ row.frozenSet = frozenSet;
47
+ return frozenSet;
48
+ }
49
+ else {
50
+ /* istanbul ignore next */
51
+ return emptyReadonlySet;
52
+ }
53
+ }
54
+ function append(entity, value) {
55
+ let row = data.get(entity);
56
+ if (!row) {
57
+ row = { raw: [], frozenSet: emptyReadonlySet };
58
+ data.set(entity, row);
59
+ }
60
+ const usedValue = schema.extend ? schema.extend(value) : value;
61
+ const timestamp = options.timestampFunction(usedValue);
62
+ if (invariant_1.__DEV__) {
63
+ // only freeze the objects in dev mode to warn the developers because
64
+ // it is an expensive operation
65
+ Object.freeze(usedValue);
66
+ }
67
+ row.raw.push({ value: usedValue, timestamp });
68
+ return { set: gotUpdated(entity), value: usedValue };
69
+ }
70
+ const ret = {
71
+ get componentId() {
72
+ return componentId;
73
+ },
74
+ get componentName() {
75
+ return componentName;
76
+ },
77
+ get componentType() {
78
+ // a getter is used here to prevent accidental changes
79
+ return 1 /* ComponentType.GrowOnlyValueSet */;
80
+ },
81
+ schema,
82
+ has(entity) {
83
+ return data.has(entity);
84
+ },
85
+ entityDeleted(entity) {
86
+ data.delete(entity);
87
+ },
88
+ get(entity) {
89
+ const values = data.get(entity);
90
+ if (values) {
91
+ return values.frozenSet;
92
+ }
93
+ else {
94
+ return emptyReadonlySet;
95
+ }
96
+ },
97
+ addValue(entity, rawValue) {
98
+ const { set, value } = append(entity, rawValue);
99
+ dirtyIterator.add(entity);
100
+ const buf = new ByteBuffer_1.ReadWriteByteBuffer();
101
+ schema.serialize(value, buf);
102
+ queuedCommands.push({
103
+ componentId,
104
+ data: buf.toBinary(),
105
+ entityId: entity,
106
+ timestamp: 0,
107
+ type: crdt_1.CrdtMessageType.APPEND_VALUE
108
+ });
109
+ return set;
110
+ },
111
+ *iterator() {
112
+ for (const [entity, component] of data) {
113
+ yield [entity, component.frozenSet];
114
+ }
115
+ },
116
+ *dirtyIterator() {
117
+ for (const entity of dirtyIterator) {
118
+ yield entity;
119
+ }
120
+ },
121
+ getCrdtUpdates() {
122
+ // return a copy of the commands, and then clear the local copy
123
+ dirtyIterator.clear();
124
+ return queuedCommands.splice(0, queuedCommands.length);
125
+ },
126
+ updateFromCrdt(_body) {
127
+ if (_body.type === crdt_1.CrdtMessageType.APPEND_VALUE) {
128
+ const buf = new ByteBuffer_1.ReadWriteByteBuffer(_body.data);
129
+ append(_body.entityId, schema.deserialize(buf));
130
+ }
131
+ return [null, undefined];
132
+ },
133
+ dumpCrdtStateToBuffer: function (buffer) {
134
+ for (const [entity, { raw }] of data) {
135
+ for (const it of raw) {
136
+ const buf = new ByteBuffer_1.ReadWriteByteBuffer();
137
+ schema.serialize(it.value, buf);
138
+ crdt_1.AppendValueOperation.write(entity, 0, componentId, buf.toBinary(), buffer);
139
+ }
140
+ }
141
+ }
142
+ };
143
+ return ret;
144
+ }
145
+ exports.createValueSetComponentDefinitionFromSchema = createValueSetComponentDefinitionFromSchema;
@@ -0,0 +1,15 @@
1
+ import { ByteBuffer } from '../serialization/ByteBuffer';
2
+ import { OnChangeFunction } from '../systems/crdt';
3
+ import { Entity } from './entity';
4
+ import { SystemItem } from './systems';
5
+ import type { IEngine, IEngineOptions } from './types';
6
+ export * from './input';
7
+ export * from './readonly';
8
+ export * from './types';
9
+ export { Entity, ByteBuffer, SystemItem, OnChangeFunction };
10
+ /**
11
+ * Internal constructor of new engines, this is an internal API
12
+ * @public
13
+ * @deprecated Prevent manual usage prefer "engine" for scene development
14
+ */
15
+ export declare function Engine(options?: IEngineOptions): IEngine;
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Engine = void 0;
30
+ const components = __importStar(require("../components"));
31
+ const component_number_1 = require("../components/component-number");
32
+ const invariant_1 = require("../runtime/invariant");
33
+ const schemas_1 = require("../schemas");
34
+ const crdt_1 = require("../systems/crdt");
35
+ const lww_element_set_component_definition_1 = require("./lww-element-set-component-definition");
36
+ const entity_1 = require("./entity");
37
+ const systems_1 = require("./systems");
38
+ const grow_only_value_set_component_definition_1 = require("./grow-only-value-set-component-definition");
39
+ __exportStar(require("./input"), exports);
40
+ __exportStar(require("./readonly"), exports);
41
+ __exportStar(require("./types"), exports);
42
+ function preEngine() {
43
+ const entityContainer = (0, entity_1.EntityContainer)();
44
+ const componentsDefinition = new Map();
45
+ const systems = (0, systems_1.SystemContainer)();
46
+ let sealed = false;
47
+ function addSystem(fn, priority = systems_1.SYSTEMS_REGULAR_PRIORITY, name) {
48
+ systems.add(fn, priority, name);
49
+ }
50
+ function removeSystem(selector) {
51
+ return systems.remove(selector);
52
+ }
53
+ function addEntity() {
54
+ const entity = entityContainer.generateEntity();
55
+ return entity;
56
+ }
57
+ function removeEntity(entity) {
58
+ for (const [, component] of componentsDefinition) {
59
+ component.entityDeleted(entity, true);
60
+ }
61
+ return entityContainer.removeEntity(entity);
62
+ }
63
+ function registerComponentDefinition(componentName, component) {
64
+ /* istanbul ignore next */
65
+ if (sealed)
66
+ throw new Error('Engine is already sealed. No components can be added at this stage');
67
+ const componentId = (0, component_number_1.componentNumberFromName)(componentName);
68
+ const prev = componentsDefinition.get(componentId);
69
+ if (prev) {
70
+ throw new Error(`Component number ${componentId} was already registered.`);
71
+ }
72
+ /* istanbul ignore next */
73
+ if (component.componentName !== componentName) {
74
+ throw new Error(`Component name doesn't match componentDefinition.componentName ${componentName} != ${component.componentName}`);
75
+ }
76
+ /* istanbul ignore next */
77
+ if (component.componentId !== componentId) {
78
+ throw new Error(`Component number doesn't match componentDefinition.componentId ${componentId} != ${component.componentId}`);
79
+ }
80
+ componentsDefinition.set(componentId, component);
81
+ return component;
82
+ }
83
+ function defineComponentFromSchema(componentName, schema) {
84
+ /* istanbul ignore next */
85
+ if (sealed)
86
+ throw new Error('Engine is already sealed. No components can be added at this stage');
87
+ const componentId = (0, component_number_1.componentNumberFromName)(componentName);
88
+ const prev = componentsDefinition.get(componentId);
89
+ if (prev) {
90
+ // TODO: assert spec === prev.spec
91
+ return prev;
92
+ }
93
+ const newComponent = (0, lww_element_set_component_definition_1.createComponentDefinitionFromSchema)(componentName, componentId, schema);
94
+ componentsDefinition.set(componentId, newComponent);
95
+ return newComponent;
96
+ }
97
+ function defineValueSetComponentFromSchema(componentName, schema, options) {
98
+ /* istanbul ignore next */
99
+ if (sealed)
100
+ throw new Error('Engine is already sealed. No components can be added at this stage');
101
+ const componentId = (0, component_number_1.componentNumberFromName)(componentName);
102
+ const prev = componentsDefinition.get(componentId);
103
+ if (prev) {
104
+ // TODO: assert spec === prev.spec
105
+ return prev;
106
+ }
107
+ const newComponent = (0, grow_only_value_set_component_definition_1.createValueSetComponentDefinitionFromSchema)(componentName, componentId, schema, options);
108
+ componentsDefinition.set(componentId, newComponent);
109
+ return newComponent;
110
+ }
111
+ function defineComponent(componentName, mapSpec, constructorDefault) {
112
+ if (sealed)
113
+ throw new Error('Engine is already sealed. No components can be added at this stage');
114
+ const componentId = (0, component_number_1.componentNumberFromName)(componentName);
115
+ const prev = componentsDefinition.get(componentId);
116
+ if (prev) {
117
+ // TODO: assert spec === prev.spec
118
+ return prev;
119
+ }
120
+ const schemaSpec = schemas_1.Schemas.Map(mapSpec, constructorDefault);
121
+ const def = (0, lww_element_set_component_definition_1.createComponentDefinitionFromSchema)(componentName, componentId, schemaSpec);
122
+ const newComponent = {
123
+ ...def,
124
+ create(entity, val) {
125
+ return def.create(entity, val);
126
+ },
127
+ createOrReplace(entity, val) {
128
+ return def.createOrReplace(entity, val);
129
+ }
130
+ };
131
+ componentsDefinition.set(componentId, newComponent);
132
+ return newComponent;
133
+ }
134
+ function getComponent(componentIdOrName) {
135
+ const componentId = typeof componentIdOrName === 'number' ? componentIdOrName : (0, component_number_1.componentNumberFromName)(componentIdOrName);
136
+ const component = componentsDefinition.get(componentId);
137
+ if (!component) {
138
+ throw new Error(`Component ${componentId} not found. You need to declare the components at the beginnig of the engine declaration`);
139
+ }
140
+ return component;
141
+ }
142
+ function getComponentOrNull(componentIdOrName) {
143
+ const componentId = typeof componentIdOrName === 'number' ? componentIdOrName : (0, component_number_1.componentNumberFromName)(componentIdOrName);
144
+ return (componentsDefinition.get(componentId) ??
145
+ /* istanbul ignore next */
146
+ null);
147
+ }
148
+ function* getEntitiesWith(...components) {
149
+ for (const [entity, ...groupComp] of getComponentDefGroup(...components)) {
150
+ yield [entity, ...groupComp.map((c) => c.get(entity))];
151
+ }
152
+ }
153
+ function* getComponentDefGroup(...args) {
154
+ const [firstComponentDef, ...componentDefinitions] = args;
155
+ for (const [entity] of firstComponentDef.iterator()) {
156
+ let matches = true;
157
+ for (const componentDef of componentDefinitions) {
158
+ if (!componentDef.has(entity)) {
159
+ matches = false;
160
+ break;
161
+ }
162
+ }
163
+ if (matches) {
164
+ yield [entity, ...args];
165
+ }
166
+ }
167
+ }
168
+ function getSystems() {
169
+ return systems.getSystems();
170
+ }
171
+ function componentsIter() {
172
+ return componentsDefinition.values();
173
+ }
174
+ function removeComponentDefinition(componentIdOrName) {
175
+ if (sealed)
176
+ throw new Error('Engine is already sealed. No components can be removed at this stage');
177
+ const componentId = typeof componentIdOrName === 'number' ? componentIdOrName : (0, component_number_1.componentNumberFromName)(componentIdOrName);
178
+ componentsDefinition.delete(componentId);
179
+ }
180
+ components.Transform({ defineComponentFromSchema });
181
+ function seal() {
182
+ if (!sealed) {
183
+ sealed = true;
184
+ }
185
+ }
186
+ return {
187
+ addEntity,
188
+ removeEntity,
189
+ addSystem,
190
+ getSystems,
191
+ removeSystem,
192
+ defineComponent,
193
+ defineComponentFromSchema,
194
+ defineValueSetComponentFromSchema,
195
+ getEntitiesWith,
196
+ getComponent,
197
+ getComponentOrNull,
198
+ removeComponentDefinition,
199
+ registerComponentDefinition,
200
+ entityContainer,
201
+ componentsIter,
202
+ seal
203
+ };
204
+ }
205
+ /**
206
+ * Internal constructor of new engines, this is an internal API
207
+ * @public
208
+ * @deprecated Prevent manual usage prefer "engine" for scene development
209
+ */
210
+ function Engine(options) {
211
+ const partialEngine = preEngine();
212
+ const crdtSystem = (0, crdt_1.crdtSceneSystem)(partialEngine, options?.onChangeFunction || null);
213
+ async function update(dt) {
214
+ await crdtSystem.receiveMessages();
215
+ for (const system of partialEngine.getSystems()) {
216
+ const ret = system.fn(dt);
217
+ (0, invariant_1.checkNotThenable)(ret, `A system (${system.name || 'anonymous'}) returned a thenable. Systems cannot be async functions. Documentation: https://dcl.gg/sdk/sync-systems`);
218
+ }
219
+ // get the deleted entities to send the DeleteEntity CRDT commands
220
+ const deletedEntites = partialEngine.entityContainer.releaseRemovedEntities();
221
+ await crdtSystem.sendMessages(deletedEntites);
222
+ }
223
+ return {
224
+ addEntity: partialEngine.addEntity,
225
+ removeEntity: partialEngine.removeEntity,
226
+ addSystem: partialEngine.addSystem,
227
+ removeSystem: partialEngine.removeSystem,
228
+ defineComponent: partialEngine.defineComponent,
229
+ defineComponentFromSchema: partialEngine.defineComponentFromSchema,
230
+ defineValueSetComponentFromSchema: partialEngine.defineValueSetComponentFromSchema,
231
+ registerComponentDefinition: partialEngine.registerComponentDefinition,
232
+ getEntitiesWith: partialEngine.getEntitiesWith,
233
+ getComponent: partialEngine.getComponent,
234
+ getComponentOrNull: partialEngine.getComponentOrNull,
235
+ removeComponentDefinition: partialEngine.removeComponentDefinition,
236
+ componentsIter: partialEngine.componentsIter,
237
+ seal: partialEngine.seal,
238
+ update,
239
+ RootEntity: 0,
240
+ PlayerEntity: 1,
241
+ CameraEntity: 2,
242
+ getEntityState: partialEngine.entityContainer.getEntityState,
243
+ addTransport: crdtSystem.addTransport,
244
+ entityContainer: partialEngine.entityContainer
245
+ };
246
+ }
247
+ exports.Engine = Engine;
@@ -0,0 +1,34 @@
1
+ import { InputAction } from '../components/generated/pb/decentraland/sdk/components/common/input_action.gen';
2
+ import { PointerEventType } from '../components/generated/pb/decentraland/sdk/components/common/input_action.gen';
3
+ import { PBPointerEventsResult } from '../components/generated/pb/decentraland/sdk/components/pointer_events_result.gen';
4
+ import { Entity } from './entity';
5
+ /**
6
+ * @public
7
+ */
8
+ export type IInputSystem = {
9
+ /**
10
+ * @public
11
+ * Check if a pointer event has been emitted in the last tick-update.
12
+ * @param inputAction - the input action to query
13
+ * @param pointerEventType - the pointer event type to query
14
+ * @param entity - the entity to query, ignore for global
15
+ * @returns boolean
16
+ */
17
+ isTriggered: (inputAction: InputAction, pointerEventType: PointerEventType, entity?: Entity) => boolean;
18
+ /**
19
+ * @public
20
+ * Check if an input action is currently being pressed.
21
+ * @param inputAction - the input action to query
22
+ * @returns boolean
23
+ */
24
+ isPressed: (inputAction: InputAction) => boolean;
25
+ /**
26
+ * @public
27
+ * Get the input command info if a pointer event has been emitted in the last tick-update.
28
+ * @param inputAction - the input action to query
29
+ * @param pointerEventType - the pointer event type to query
30
+ * @param entity - the entity to query, ignore for global
31
+ * @returns the input command info or undefined if there is no command in the last tick-update
32
+ */
33
+ getInputCommand: (inputAction: InputAction, pointerEventType: PointerEventType, entity?: Entity) => PBPointerEventsResult | null;
34
+ };