@dcl/ecs 7.1.12-4982571416.commit-0b87aa7 → 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 (303) hide show
  1. package/dist/components/generated/pb/decentraland/common/vectors.gen.d.ts +16 -0
  2. package/dist/components/generated/pb/decentraland/common/vectors.gen.js +65 -0
  3. package/dist/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +3 -3
  4. package/dist/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +4 -4
  5. package/dist-cjs/components/component-number.d.ts +7 -0
  6. package/dist-cjs/components/component-number.js +44 -0
  7. package/dist-cjs/components/extended/Animator.d.ts +46 -0
  8. package/dist-cjs/components/extended/Animator.js +62 -0
  9. package/dist-cjs/components/extended/Material.d.ts +42 -0
  10. package/dist-cjs/components/extended/Material.js +54 -0
  11. package/dist-cjs/components/extended/MeshCollider.d.ts +38 -0
  12. package/dist-cjs/components/extended/MeshCollider.js +43 -0
  13. package/dist-cjs/components/extended/MeshRenderer.d.ts +36 -0
  14. package/dist-cjs/components/extended/MeshRenderer.js +31 -0
  15. package/dist-cjs/components/generated/Animator.gen.d.ts +1 -0
  16. package/dist-cjs/components/generated/Animator.gen.js +28 -0
  17. package/dist-cjs/components/generated/AudioSource.gen.d.ts +1 -0
  18. package/dist-cjs/components/generated/AudioSource.gen.js +28 -0
  19. package/dist-cjs/components/generated/AudioStream.gen.d.ts +1 -0
  20. package/dist-cjs/components/generated/AudioStream.gen.js +28 -0
  21. package/dist-cjs/components/generated/AvatarAttach.gen.d.ts +1 -0
  22. package/dist-cjs/components/generated/AvatarAttach.gen.js +28 -0
  23. package/dist-cjs/components/generated/AvatarModifierArea.gen.d.ts +1 -0
  24. package/dist-cjs/components/generated/AvatarModifierArea.gen.js +28 -0
  25. package/dist-cjs/components/generated/AvatarShape.gen.d.ts +1 -0
  26. package/dist-cjs/components/generated/AvatarShape.gen.js +28 -0
  27. package/dist-cjs/components/generated/Billboard.gen.d.ts +1 -0
  28. package/dist-cjs/components/generated/Billboard.gen.js +28 -0
  29. package/dist-cjs/components/generated/CameraMode.gen.d.ts +1 -0
  30. package/dist-cjs/components/generated/CameraMode.gen.js +28 -0
  31. package/dist-cjs/components/generated/CameraModeArea.gen.d.ts +1 -0
  32. package/dist-cjs/components/generated/CameraModeArea.gen.js +28 -0
  33. package/dist-cjs/components/generated/EngineInfo.gen.d.ts +1 -0
  34. package/dist-cjs/components/generated/EngineInfo.gen.js +28 -0
  35. package/dist-cjs/components/generated/GltfContainer.gen.d.ts +1 -0
  36. package/dist-cjs/components/generated/GltfContainer.gen.js +28 -0
  37. package/dist-cjs/components/generated/GltfContainerLoadingState.gen.d.ts +1 -0
  38. package/dist-cjs/components/generated/GltfContainerLoadingState.gen.js +28 -0
  39. package/dist-cjs/components/generated/Material.gen.d.ts +1 -0
  40. package/dist-cjs/components/generated/Material.gen.js +28 -0
  41. package/dist-cjs/components/generated/MeshCollider.gen.d.ts +1 -0
  42. package/dist-cjs/components/generated/MeshCollider.gen.js +28 -0
  43. package/dist-cjs/components/generated/MeshRenderer.gen.d.ts +1 -0
  44. package/dist-cjs/components/generated/MeshRenderer.gen.js +28 -0
  45. package/dist-cjs/components/generated/NftShape.gen.d.ts +1 -0
  46. package/dist-cjs/components/generated/NftShape.gen.js +28 -0
  47. package/dist-cjs/components/generated/PointerEvents.gen.d.ts +1 -0
  48. package/dist-cjs/components/generated/PointerEvents.gen.js +28 -0
  49. package/dist-cjs/components/generated/PointerEventsResult.gen.d.ts +1 -0
  50. package/dist-cjs/components/generated/PointerEventsResult.gen.js +28 -0
  51. package/dist-cjs/components/generated/PointerLock.gen.d.ts +1 -0
  52. package/dist-cjs/components/generated/PointerLock.gen.js +28 -0
  53. package/dist-cjs/components/generated/Raycast.gen.d.ts +1 -0
  54. package/dist-cjs/components/generated/Raycast.gen.js +28 -0
  55. package/dist-cjs/components/generated/RaycastResult.gen.d.ts +1 -0
  56. package/dist-cjs/components/generated/RaycastResult.gen.js +28 -0
  57. package/dist-cjs/components/generated/TextShape.gen.d.ts +1 -0
  58. package/dist-cjs/components/generated/TextShape.gen.js +28 -0
  59. package/dist-cjs/components/generated/UiBackground.gen.d.ts +1 -0
  60. package/dist-cjs/components/generated/UiBackground.gen.js +28 -0
  61. package/dist-cjs/components/generated/UiCanvasInformation.gen.d.ts +1 -0
  62. package/dist-cjs/components/generated/UiCanvasInformation.gen.js +28 -0
  63. package/dist-cjs/components/generated/UiDropdown.gen.d.ts +1 -0
  64. package/dist-cjs/components/generated/UiDropdown.gen.js +28 -0
  65. package/dist-cjs/components/generated/UiDropdownResult.gen.d.ts +1 -0
  66. package/dist-cjs/components/generated/UiDropdownResult.gen.js +28 -0
  67. package/dist-cjs/components/generated/UiInput.gen.d.ts +1 -0
  68. package/dist-cjs/components/generated/UiInput.gen.js +28 -0
  69. package/dist-cjs/components/generated/UiInputResult.gen.d.ts +1 -0
  70. package/dist-cjs/components/generated/UiInputResult.gen.js +28 -0
  71. package/dist-cjs/components/generated/UiText.gen.d.ts +1 -0
  72. package/dist-cjs/components/generated/UiText.gen.js +28 -0
  73. package/dist-cjs/components/generated/UiTransform.gen.d.ts +1 -0
  74. package/dist-cjs/components/generated/UiTransform.gen.js +28 -0
  75. package/dist-cjs/components/generated/VideoEvent.gen.d.ts +1 -0
  76. package/dist-cjs/components/generated/VideoEvent.gen.js +28 -0
  77. package/dist-cjs/components/generated/VideoPlayer.gen.d.ts +1 -0
  78. package/dist-cjs/components/generated/VideoPlayer.gen.js +28 -0
  79. package/dist-cjs/components/generated/VisibilityComponent.gen.d.ts +1 -0
  80. package/dist-cjs/components/generated/VisibilityComponent.gen.js +28 -0
  81. package/dist-cjs/components/generated/component-names.gen.d.ts +4 -0
  82. package/dist-cjs/components/generated/component-names.gen.js +42 -0
  83. package/dist-cjs/components/generated/global.gen.d.ts +60 -0
  84. package/dist-cjs/components/generated/global.gen.js +61 -0
  85. package/dist-cjs/components/generated/index.gen.d.ts +139 -0
  86. package/dist-cjs/components/generated/index.gen.js +222 -0
  87. package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.d.ts +35 -0
  88. package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.js +139 -0
  89. package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.d.ts +32 -0
  90. package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.js +130 -0
  91. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +91 -0
  92. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +254 -0
  93. package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.d.ts +61 -0
  94. package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.js +233 -0
  95. package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.d.ts +50 -0
  96. package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.js +147 -0
  97. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.d.ts +34 -0
  98. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.js +83 -0
  99. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.d.ts +24 -0
  100. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.js +65 -0
  101. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.d.ts +37 -0
  102. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.js +67 -0
  103. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -0
  104. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +86 -0
  105. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +56 -0
  106. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +176 -0
  107. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +38 -0
  108. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +63 -0
  109. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.d.ts +20 -0
  110. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.js +47 -0
  111. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +32 -0
  112. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +57 -0
  113. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.d.ts +9 -0
  114. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.js +15 -0
  115. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.d.ts +1 -0
  116. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.js +3 -0
  117. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +29 -0
  118. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +36 -0
  119. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.d.ts +10 -0
  120. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.js +16 -0
  121. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.d.ts +29 -0
  122. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.js +110 -0
  123. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.d.ts +22 -0
  124. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.js +29 -0
  125. package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.d.ts +25 -0
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.js +65 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.d.ts +25 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.js +65 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +47 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +96 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +326 -0
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +120 -0
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +246 -0
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +96 -0
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +246 -0
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +58 -0
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +96 -0
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +67 -0
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +159 -0
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +26 -0
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +93 -0
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.d.ts +19 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.js +47 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +63 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +152 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.d.ts +32 -0
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.js +85 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.d.ts +65 -0
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.js +250 -0
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.d.ts +47 -0
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.js +119 -0
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +29 -0
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +75 -0
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.d.ts +29 -0
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.js +130 -0
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.d.ts +14 -0
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.js +47 -0
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +28 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +120 -0
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.d.ts +14 -0
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.js +47 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +25 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +84 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +179 -0
  166. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +644 -0
  167. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.d.ts +33 -0
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.js +97 -0
  169. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.d.ts +25 -0
  170. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.js +99 -0
  171. package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.d.ts +15 -0
  172. package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.js +47 -0
  173. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +468 -0
  174. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +1936 -0
  175. package/dist-cjs/components/generated/types.gen.d.ts +9 -0
  176. package/dist-cjs/components/generated/types.gen.js +30 -0
  177. package/dist-cjs/components/index.d.ts +14 -0
  178. package/dist-cjs/components/index.js +38 -0
  179. package/dist-cjs/components/manual/Transform.d.ts +40 -0
  180. package/dist-cjs/components/manual/Transform.js +110 -0
  181. package/dist-cjs/components/types.d.ts +5 -0
  182. package/dist-cjs/components/types.js +2 -0
  183. package/dist-cjs/composite/components.d.ts +18 -0
  184. package/dist-cjs/composite/components.js +22 -0
  185. package/dist-cjs/composite/index.d.ts +51 -0
  186. package/dist-cjs/composite/index.js +60 -0
  187. package/dist-cjs/composite/instance.d.ts +34 -0
  188. package/dist-cjs/composite/instance.js +201 -0
  189. package/dist-cjs/composite/path.d.ts +3 -0
  190. package/dist-cjs/composite/path.js +154 -0
  191. package/dist-cjs/composite/proto/gen/composite.gen.d.ts +71 -0
  192. package/dist-cjs/composite/proto/gen/composite.gen.js +337 -0
  193. package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.d.ts +138 -0
  194. package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.js +443 -0
  195. package/dist-cjs/engine/component.d.ts +149 -0
  196. package/dist-cjs/engine/component.js +12 -0
  197. package/dist-cjs/engine/entity.d.ts +49 -0
  198. package/dist-cjs/engine/entity.js +178 -0
  199. package/dist-cjs/engine/grow-only-value-set-component-definition.d.ts +8 -0
  200. package/dist-cjs/engine/grow-only-value-set-component-definition.js +145 -0
  201. package/dist-cjs/engine/index.d.ts +15 -0
  202. package/dist-cjs/engine/index.js +247 -0
  203. package/dist-cjs/engine/input.d.ts +34 -0
  204. package/dist-cjs/engine/input.js +219 -0
  205. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +8 -0
  206. package/dist-cjs/engine/lww-element-set-component-definition.js +264 -0
  207. package/dist-cjs/engine/readonly.d.ts +29 -0
  208. package/dist-cjs/engine/readonly.js +10 -0
  209. package/dist-cjs/engine/systems.d.ts +15 -0
  210. package/dist-cjs/engine/systems.js +48 -0
  211. package/dist-cjs/engine/types.d.ts +215 -0
  212. package/dist-cjs/engine/types.js +17 -0
  213. package/dist-cjs/index.d.ts +22 -0
  214. package/dist-cjs/index.js +58 -0
  215. package/dist-cjs/runtime/crc.d.ts +1 -0
  216. package/dist-cjs/runtime/crc.js +45 -0
  217. package/dist-cjs/runtime/helpers/index.d.ts +1 -0
  218. package/dist-cjs/runtime/helpers/index.js +17 -0
  219. package/dist-cjs/runtime/helpers/tree.d.ts +32 -0
  220. package/dist-cjs/runtime/helpers/tree.js +77 -0
  221. package/dist-cjs/runtime/initialization/index.d.ts +61 -0
  222. package/dist-cjs/runtime/initialization/index.js +56 -0
  223. package/dist-cjs/runtime/invariant.d.ts +4 -0
  224. package/dist-cjs/runtime/invariant.js +17 -0
  225. package/dist-cjs/runtime/types.d.ts +6 -0
  226. package/dist-cjs/runtime/types.js +18 -0
  227. package/dist-cjs/schemas/Array.d.ts +1 -0
  228. package/dist-cjs/schemas/Array.js +33 -0
  229. package/dist-cjs/schemas/ISchema.d.ts +35 -0
  230. package/dist-cjs/schemas/ISchema.js +2 -0
  231. package/dist-cjs/schemas/Map.d.ts +20 -0
  232. package/dist-cjs/schemas/Map.js +49 -0
  233. package/dist-cjs/schemas/OneOf.d.ts +10 -0
  234. package/dist-cjs/schemas/OneOf.js +35 -0
  235. package/dist-cjs/schemas/Optional.d.ts +1 -0
  236. package/dist-cjs/schemas/Optional.js +34 -0
  237. package/dist-cjs/schemas/basic/Boolean.d.ts +1 -0
  238. package/dist-cjs/schemas/basic/Boolean.js +21 -0
  239. package/dist-cjs/schemas/basic/Enum.d.ts +1 -0
  240. package/dist-cjs/schemas/basic/Enum.js +101 -0
  241. package/dist-cjs/schemas/basic/Float.d.ts +1 -0
  242. package/dist-cjs/schemas/basic/Float.js +39 -0
  243. package/dist-cjs/schemas/basic/Integer.d.ts +9 -0
  244. package/dist-cjs/schemas/basic/Integer.js +75 -0
  245. package/dist-cjs/schemas/basic/String.d.ts +1 -0
  246. package/dist-cjs/schemas/basic/String.js +25 -0
  247. package/dist-cjs/schemas/buildSchema/index.d.ts +11 -0
  248. package/dist-cjs/schemas/buildSchema/index.js +114 -0
  249. package/dist-cjs/schemas/buildSchema/types.d.ts +5 -0
  250. package/dist-cjs/schemas/buildSchema/types.js +2 -0
  251. package/dist-cjs/schemas/buildSchema/utils.d.ts +12 -0
  252. package/dist-cjs/schemas/buildSchema/utils.js +30 -0
  253. package/dist-cjs/schemas/custom/Color3.d.ts +8 -0
  254. package/dist-cjs/schemas/custom/Color3.js +32 -0
  255. package/dist-cjs/schemas/custom/Color4.d.ts +9 -0
  256. package/dist-cjs/schemas/custom/Color4.js +35 -0
  257. package/dist-cjs/schemas/custom/Entity.d.ts +1 -0
  258. package/dist-cjs/schemas/custom/Entity.js +21 -0
  259. package/dist-cjs/schemas/custom/Quaternion.d.ts +9 -0
  260. package/dist-cjs/schemas/custom/Quaternion.js +35 -0
  261. package/dist-cjs/schemas/custom/Vector3.d.ts +8 -0
  262. package/dist-cjs/schemas/custom/Vector3.js +33 -0
  263. package/dist-cjs/schemas/index.d.ts +80 -0
  264. package/dist-cjs/schemas/index.js +84 -0
  265. package/dist-cjs/schemas/typing.d.ts +30 -0
  266. package/dist-cjs/schemas/typing.js +2 -0
  267. package/dist-cjs/serialization/ByteBuffer/index.d.ts +180 -0
  268. package/dist-cjs/serialization/ByteBuffer/index.js +272 -0
  269. package/dist-cjs/serialization/crdt/appendValue.d.ts +15 -0
  270. package/dist-cjs/serialization/crdt/appendValue.js +52 -0
  271. package/dist-cjs/serialization/crdt/crdtMessageProtocol.d.ts +30 -0
  272. package/dist-cjs/serialization/crdt/crdtMessageProtocol.js +71 -0
  273. package/dist-cjs/serialization/crdt/deleteComponent.d.ts +14 -0
  274. package/dist-cjs/serialization/crdt/deleteComponent.js +45 -0
  275. package/dist-cjs/serialization/crdt/deleteEntity.d.ts +11 -0
  276. package/dist-cjs/serialization/crdt/deleteEntity.js +34 -0
  277. package/dist-cjs/serialization/crdt/index.d.ts +6 -0
  278. package/dist-cjs/serialization/crdt/index.js +22 -0
  279. package/dist-cjs/serialization/crdt/message.d.ts +3 -0
  280. package/dist-cjs/serialization/crdt/message.js +28 -0
  281. package/dist-cjs/serialization/crdt/putComponent.d.ts +15 -0
  282. package/dist-cjs/serialization/crdt/putComponent.js +50 -0
  283. package/dist-cjs/serialization/crdt/types.d.ts +147 -0
  284. package/dist-cjs/serialization/crdt/types.js +77 -0
  285. package/dist-cjs/systems/async-task.d.ts +1 -0
  286. package/dist-cjs/systems/async-task.js +33 -0
  287. package/dist-cjs/systems/crdt/gset.d.ts +29 -0
  288. package/dist-cjs/systems/crdt/gset.js +54 -0
  289. package/dist-cjs/systems/crdt/index.d.ts +7 -0
  290. package/dist-cjs/systems/crdt/index.js +241 -0
  291. package/dist-cjs/systems/crdt/types.d.ts +20 -0
  292. package/dist-cjs/systems/crdt/types.js +2 -0
  293. package/dist-cjs/systems/crdt/utils.d.ts +15 -0
  294. package/dist-cjs/systems/crdt/utils.js +52 -0
  295. package/dist-cjs/systems/cyclicParentingChecker.d.ts +17 -0
  296. package/dist-cjs/systems/cyclicParentingChecker.js +60 -0
  297. package/dist-cjs/systems/events.d.ts +49 -0
  298. package/dist-cjs/systems/events.js +137 -0
  299. package/dist-cjs/systems/raycast.d.ts +80 -0
  300. package/dist-cjs/systems/raycast.js +124 -0
  301. package/dist-cjs/systems/videoEvents.d.ts +14 -0
  302. package/dist-cjs/systems/videoEvents.js +89 -0
  303. package/package.json +5 -4
@@ -0,0 +1,15 @@
1
+ import { ComponentDefinition } from '../../engine/component';
2
+ export declare namespace CrdtUtils {
3
+ type ComponentID = ComponentDefinition<any>['componentId'];
4
+ enum SynchronizedEntityType {
5
+ NETWORKED = 0,
6
+ RENDERER = 1
7
+ }
8
+ }
9
+ export default CrdtUtils;
10
+ /**
11
+ * Compare raw data.
12
+ * @public
13
+ * @returns 0 if is the same data, 1 if a > b, -1 if b > a
14
+ */
15
+ export declare function dataCompare<T>(a: T, b: T): number;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataCompare = exports.CrdtUtils = void 0;
4
+ var CrdtUtils;
5
+ (function (CrdtUtils) {
6
+ let SynchronizedEntityType;
7
+ (function (SynchronizedEntityType) {
8
+ // synchronizes entities with the NetworkSynchronized component only, used for networked games
9
+ SynchronizedEntityType[SynchronizedEntityType["NETWORKED"] = 0] = "NETWORKED";
10
+ // synchronizes entities needed by the renderer
11
+ SynchronizedEntityType[SynchronizedEntityType["RENDERER"] = 1] = "RENDERER";
12
+ })(SynchronizedEntityType = CrdtUtils.SynchronizedEntityType || (CrdtUtils.SynchronizedEntityType = {}));
13
+ })(CrdtUtils = exports.CrdtUtils || (exports.CrdtUtils = {}));
14
+ exports.default = CrdtUtils;
15
+ /**
16
+ * Compare raw data.
17
+ * @public
18
+ * @returns 0 if is the same data, 1 if a > b, -1 if b > a
19
+ */
20
+ function dataCompare(a, b) {
21
+ // At reference level
22
+ if (a === b)
23
+ return 0;
24
+ if (a === null && b !== null)
25
+ return -1;
26
+ if (a !== null && b === null)
27
+ return 1;
28
+ if (a instanceof Uint8Array && b instanceof Uint8Array) {
29
+ const lengthDifference = a.byteLength - b.byteLength;
30
+ if (lengthDifference !== 0) {
31
+ return lengthDifference > 0 ? 1 : -1;
32
+ }
33
+ let res;
34
+ for (let i = 0, n = a.byteLength; i < n; i++) {
35
+ res = a[i] - b[i];
36
+ if (res !== 0) {
37
+ return res > 0 ? 1 : -1;
38
+ }
39
+ }
40
+ // the data is exactly the same
41
+ return 0;
42
+ }
43
+ if (typeof a === 'string') {
44
+ const lengthDifference = a.length - b.length;
45
+ if (lengthDifference !== 0) {
46
+ return lengthDifference > 0 ? 1 : -1;
47
+ }
48
+ return a.localeCompare(b);
49
+ }
50
+ return a > b ? 1 : -1;
51
+ }
52
+ exports.dataCompare = dataCompare;
@@ -0,0 +1,17 @@
1
+ import { IEngine } from '../engine/types';
2
+ /**
3
+ * Transform parenting: cyclic dependency checker
4
+ * It checks only in modified Transforms
5
+ *
6
+ * Add this system with:
7
+ * ```ts
8
+ * engine.addSystem(cyclicParentingChecker(engine))
9
+ * ````
10
+ * And then it will check every tick the parenting.
11
+ *
12
+ * @public
13
+ *
14
+ * @params engine
15
+ * @returns a system
16
+ */
17
+ export declare function cyclicParentingChecker(engine: IEngine): () => void;
@@ -0,0 +1,60 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.cyclicParentingChecker = void 0;
27
+ const components = __importStar(require("../components"));
28
+ /**
29
+ * Transform parenting: cyclic dependency checker
30
+ * It checks only in modified Transforms
31
+ *
32
+ * Add this system with:
33
+ * ```ts
34
+ * engine.addSystem(cyclicParentingChecker(engine))
35
+ * ````
36
+ * And then it will check every tick the parenting.
37
+ *
38
+ * @public
39
+ *
40
+ * @params engine
41
+ * @returns a system
42
+ */
43
+ function cyclicParentingChecker(engine) {
44
+ const Transform = components.Transform(engine);
45
+ return () => {
46
+ for (const entity of Transform.dirtyIterator()) {
47
+ let transform = Transform.getOrNull(entity);
48
+ while (transform && transform.parent) {
49
+ if (transform.parent === entity) {
50
+ console.error(`There is a cyclic parent with entity ${entity}`);
51
+ break;
52
+ }
53
+ else {
54
+ transform = Transform.getOrNull(transform.parent);
55
+ }
56
+ }
57
+ }
58
+ };
59
+ }
60
+ exports.cyclicParentingChecker = cyclicParentingChecker;
@@ -0,0 +1,49 @@
1
+ import { InputAction } from '../components/generated/pb/decentraland/sdk/components/common/input_action.gen';
2
+ import { PBPointerEventsResult } from '../components/generated/pb/decentraland/sdk/components/pointer_events_result.gen';
3
+ import { Entity } from '../engine/entity';
4
+ /**
5
+ * @public
6
+ */
7
+ export type EventSystemCallback = (event: PBPointerEventsResult) => void;
8
+ /**
9
+ * @public
10
+ */
11
+ export type EventSystemOptions = {
12
+ button: InputAction;
13
+ hoverText?: string;
14
+ maxDistance?: number;
15
+ showFeedback?: boolean;
16
+ };
17
+ /**
18
+ * @public
19
+ */
20
+ export interface PointerEventsSystem {
21
+ /**
22
+ * @public
23
+ * Remove the callback for onPointerDown event
24
+ * @param entity - Entity where the callback was attached
25
+ */
26
+ removeOnPointerDown(entity: Entity): void;
27
+ /**
28
+ * @public
29
+ * Remove the callback for onPointerUp event
30
+ * @param entity - Entity where the callback was attached
31
+ */
32
+ removeOnPointerUp(entity: Entity): void;
33
+ /**
34
+ * @public
35
+ * Execute callback when the user press the InputButton pointing at the entity
36
+ * @param entity - Entity to attach the callback
37
+ * @param cb - Function to execute when click fires
38
+ * @param opts - Opts to trigger Feedback and Button
39
+ */
40
+ onPointerDown(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void;
41
+ /**
42
+ * @public
43
+ * Execute callback when the user releases the InputButton pointing at the entity
44
+ * @param entity - Entity to attach the callback
45
+ * @param cb - Function to execute when click fires
46
+ * @param opts - Opts to trigger Feedback and Button
47
+ */
48
+ onPointerUp(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void;
49
+ }
@@ -0,0 +1,137 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createPointerEventsSystem = void 0;
27
+ const components = __importStar(require("../components"));
28
+ const entity_1 = require("../engine/entity");
29
+ const invariant_1 = require("../runtime/invariant");
30
+ /**
31
+ * @internal
32
+ */
33
+ function createPointerEventsSystem(engine, inputSystem) {
34
+ const PointerEvents = components.PointerEvents(engine);
35
+ let EventType;
36
+ (function (EventType) {
37
+ EventType[EventType["Click"] = 0] = "Click";
38
+ EventType[EventType["Down"] = 1] = "Down";
39
+ EventType[EventType["Up"] = 2] = "Up";
40
+ })(EventType || (EventType = {}));
41
+ const getDefaultOpts = (opts = {}) => ({
42
+ button: 3 /* InputAction.IA_ANY */,
43
+ ...opts
44
+ });
45
+ const eventsMap = new Map();
46
+ function getEvent(entity) {
47
+ return eventsMap.get(entity) || eventsMap.set(entity, new Map()).get(entity);
48
+ }
49
+ function setPointerEvent(entity, type, opts) {
50
+ if (opts.hoverText || opts.showFeedback) {
51
+ const pointerEvent = PointerEvents.getMutableOrNull(entity) || PointerEvents.create(entity);
52
+ pointerEvent.pointerEvents.push({
53
+ eventType: type,
54
+ eventInfo: {
55
+ button: opts.button,
56
+ showFeedback: opts.showFeedback,
57
+ hoverText: opts.hoverText,
58
+ maxDistance: opts.maxDistance
59
+ }
60
+ });
61
+ }
62
+ }
63
+ function removePointerEvent(entity, type, button) {
64
+ const pointerEvent = PointerEvents.getMutableOrNull(entity);
65
+ if (!pointerEvent)
66
+ return;
67
+ pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button && pointer.eventType === type));
68
+ }
69
+ function getPointerEvent(eventType) {
70
+ if (eventType === EventType.Up) {
71
+ return 0 /* PointerEventType.PET_UP */;
72
+ }
73
+ return 1 /* PointerEventType.PET_DOWN */;
74
+ }
75
+ function removeEvent(entity, type) {
76
+ const event = getEvent(entity);
77
+ const pointerEvent = event.get(type);
78
+ if (pointerEvent?.opts.hoverText) {
79
+ removePointerEvent(entity, getPointerEvent(type), pointerEvent.opts.button);
80
+ }
81
+ event.delete(type);
82
+ }
83
+ // @internal
84
+ engine.addSystem(function EventSystem() {
85
+ for (const [entity, event] of eventsMap) {
86
+ if (engine.getEntityState(entity) === entity_1.EntityState.Removed) {
87
+ eventsMap.delete(entity);
88
+ continue;
89
+ }
90
+ for (const [eventType, { cb, opts }] of event) {
91
+ if (eventType === EventType.Click) {
92
+ const command = inputSystem.getClick(opts.button, entity);
93
+ if (command)
94
+ (0, invariant_1.checkNotThenable)(cb(command.up), 'Click event returned a thenable. Only synchronous functions are allowed');
95
+ }
96
+ if (eventType === EventType.Down || eventType === EventType.Up) {
97
+ const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
98
+ if (command) {
99
+ (0, invariant_1.checkNotThenable)(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
100
+ }
101
+ }
102
+ }
103
+ }
104
+ });
105
+ return {
106
+ removeOnClick(entity) {
107
+ removeEvent(entity, EventType.Click);
108
+ },
109
+ removeOnPointerDown(entity) {
110
+ removeEvent(entity, EventType.Down);
111
+ },
112
+ removeOnPointerUp(entity) {
113
+ removeEvent(entity, EventType.Up);
114
+ },
115
+ onClick(entity, cb, opts) {
116
+ const options = getDefaultOpts(opts);
117
+ // Clear previous event with over feedback included
118
+ removeEvent(entity, EventType.Click);
119
+ // Set new event
120
+ getEvent(entity).set(EventType.Click, { cb, opts: options });
121
+ setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
122
+ },
123
+ onPointerDown(entity, cb, opts) {
124
+ const options = getDefaultOpts(opts);
125
+ removeEvent(entity, EventType.Down);
126
+ getEvent(entity).set(EventType.Down, { cb, opts: options });
127
+ setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
128
+ },
129
+ onPointerUp(entity, cb, opts) {
130
+ const options = getDefaultOpts(opts);
131
+ removeEvent(entity, EventType.Up);
132
+ getEvent(entity).set(EventType.Up, { cb, opts: options });
133
+ setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options);
134
+ }
135
+ };
136
+ }
137
+ exports.createPointerEventsSystem = createPointerEventsSystem;
@@ -0,0 +1,80 @@
1
+ import { RaycastQueryType, PBRaycastResult } from '../components';
2
+ import { DeepReadonlyObject, Entity } from '../engine';
3
+ import { Vector3 } from '../components/generated/pb/decentraland/common/vectors.gen';
4
+ /**
5
+ * @public
6
+ */
7
+ export type RaycastSystemCallback = (event: DeepReadonlyObject<PBRaycastResult>) => void;
8
+ /**
9
+ * @public
10
+ */
11
+ export type RaycastSystemOptions = {
12
+ originOffset?: Vector3 | undefined;
13
+ maxDistance: number;
14
+ queryType: RaycastQueryType;
15
+ continuous?: boolean | undefined;
16
+ collisionMask?: number | undefined;
17
+ };
18
+ export type LocalDirectionRaycastSystemOptions = {
19
+ direction?: Vector3;
20
+ };
21
+ export type LocalDirectionRaycastOptions = RaycastSystemOptions & LocalDirectionRaycastSystemOptions;
22
+ export type GlobalDirectionRaycastSystemOptions = {
23
+ direction?: Vector3;
24
+ };
25
+ export type GlobalDirectionRaycastOptions = RaycastSystemOptions & GlobalDirectionRaycastSystemOptions;
26
+ export type GlobalTargetRaycastSystemOptions = {
27
+ target?: Vector3;
28
+ };
29
+ export type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
30
+ export type TargetEntityRaycastSystemOptions = {
31
+ targetEntity?: number;
32
+ };
33
+ export type TargetEntityRaycastOptions = RaycastSystemOptions & TargetEntityRaycastSystemOptions;
34
+ /**
35
+ * @public
36
+ */
37
+ export interface RaycastSystem {
38
+ /**
39
+ * @public
40
+ * Remove the callback for raycast event
41
+ * @param entity - Entity where the callback was attached
42
+ */
43
+ removeRaycasterEntity(entity: Entity): void;
44
+ /**
45
+ * @public
46
+ * Execute callback when the entity receives a RaycastResult component update.
47
+ * Uses a Vector3 entity-local direction value to calculate the ray direction
48
+ * @param entity - Entity to attach the callback
49
+ * @param callback - Function to execute when the entity's RaycastResult component is updated
50
+ * @param options - Raycast configuration options
51
+ */
52
+ registerLocalDirectionRaycast(entity: Entity, callback: RaycastSystemCallback, options?: Partial<LocalDirectionRaycastOptions>): void;
53
+ /**
54
+ * @public
55
+ * Execute callback when the entity receives a RaycastResult component update.
56
+ * Uses a Vector3 global direction value to calculate the ray direction
57
+ * @param entity - Entity to attach the callback
58
+ * @param callback - Function to execute when the entity's RaycastResult component is updated
59
+ * @param options - Raycast configuration options
60
+ */
61
+ registerGlobalDirectionRaycast(entity: Entity, callback: RaycastSystemCallback, options?: Partial<GlobalDirectionRaycastOptions>): void;
62
+ /**
63
+ * @public
64
+ * Execute callback when the entity receives a RaycastResult component update.
65
+ * Uses a Vector3 global target position to calculate the ray direction
66
+ * @param entity - Entity to attach the callback
67
+ * @param callback - Function to execute when the entity's RaycastResult component is updated
68
+ * @param options - Raycast configuration options
69
+ */
70
+ registerGlobalTargetRaycast(entity: Entity, callback: RaycastSystemCallback, options?: Partial<GlobalTargetRaycastOptions>): void;
71
+ /**
72
+ * @public
73
+ * Execute callback when the entity receives a RaycastResult component update.
74
+ * Uses an target Entity value to calculate the ray direction
75
+ * @param entity - Entity to attach the callback
76
+ * @param callback - Function to execute when the entity's RaycastResult component is updated
77
+ * @param options - Raycast configuration options
78
+ */
79
+ registerTargetEntityRaycast(entity: Entity, callback: RaycastSystemCallback, options?: Partial<TargetEntityRaycastOptions>): void;
80
+ }
@@ -0,0 +1,124 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createRaycastSystem = void 0;
27
+ const components = __importStar(require("../components"));
28
+ const entity_1 = require("../engine/entity");
29
+ /**
30
+ * @internal
31
+ */
32
+ function createRaycastSystem(engine) {
33
+ const raycastComponent = components.Raycast(engine);
34
+ const raycastResultComponent = components.RaycastResult(engine);
35
+ const entitiesCallbackResultMap = new Map();
36
+ const defaultOptions = {
37
+ maxDistance: 16,
38
+ queryType: 0 /* RaycastQueryType.RQT_HIT_FIRST */,
39
+ continuous: false,
40
+ originOffset: { x: 0, y: 0, z: 0 },
41
+ collisionMask: 2 /* ColliderLayer.CL_PHYSICS */
42
+ };
43
+ const getLocalDirectionRaycastDefaultOptions = (options = {}) => ({
44
+ ...defaultOptions,
45
+ ...options,
46
+ directionRawValue: {
47
+ $case: 'localDirection',
48
+ localDirection: options.direction || { x: 0, y: 0, z: 1 }
49
+ }
50
+ });
51
+ const getGlobalDirectionRaycastDefaultOptions = (options = {}) => ({
52
+ ...defaultOptions,
53
+ ...options,
54
+ directionRawValue: {
55
+ $case: 'globalDirection',
56
+ globalDirection: options.direction || { x: 0, y: 0, z: 1 }
57
+ }
58
+ });
59
+ const getGlobalTargetRaycastDefaultOptions = (options = {}) => ({
60
+ ...defaultOptions,
61
+ ...options,
62
+ directionRawValue: {
63
+ $case: 'globalTarget',
64
+ globalTarget: options.target || { x: 0, y: 0, z: 0 }
65
+ }
66
+ });
67
+ const getTargetEntityRaycastDefaultOptions = (options = {}) => ({
68
+ ...defaultOptions,
69
+ ...options,
70
+ directionRawValue: {
71
+ $case: 'targetEntity',
72
+ targetEntity: options.targetEntity || 0
73
+ }
74
+ });
75
+ function registerRaycast(entity, callback, options) {
76
+ const raycast = raycastComponent.getOrCreateMutable(entity);
77
+ raycast.maxDistance = options.maxDistance;
78
+ raycast.originOffset = options.originOffset;
79
+ raycast.collisionMask = options.collisionMask;
80
+ raycast.direction = options.directionRawValue;
81
+ raycast.continuous = options.continuous;
82
+ raycast.queryType = options.queryType;
83
+ entitiesCallbackResultMap.set(entity, { callback: callback });
84
+ }
85
+ function removeRaycast(entity) {
86
+ raycastComponent.deleteFrom(entity);
87
+ raycastResultComponent.deleteFrom(entity);
88
+ entitiesCallbackResultMap.delete(entity);
89
+ }
90
+ // @internal
91
+ engine.addSystem(function EventSystem() {
92
+ for (const [entity, data] of entitiesCallbackResultMap) {
93
+ const raycast = raycastComponent.getOrNull(entity);
94
+ if (engine.getEntityState(entity) === entity_1.EntityState.Removed || !raycast) {
95
+ entitiesCallbackResultMap.delete(entity);
96
+ continue;
97
+ }
98
+ const currentResult = raycastResultComponent.getOrNull(entity);
99
+ if (!currentResult)
100
+ continue;
101
+ data.callback(currentResult);
102
+ if (!raycast.continuous)
103
+ removeRaycast(entity);
104
+ }
105
+ });
106
+ return {
107
+ removeRaycasterEntity(entity) {
108
+ removeRaycast(entity);
109
+ },
110
+ registerLocalDirectionRaycast(entity, callback, opts) {
111
+ registerRaycast(entity, callback, getLocalDirectionRaycastDefaultOptions(opts));
112
+ },
113
+ registerGlobalDirectionRaycast(entity, callback, opts) {
114
+ registerRaycast(entity, callback, getGlobalDirectionRaycastDefaultOptions(opts));
115
+ },
116
+ registerGlobalTargetRaycast(entity, callback, opts) {
117
+ registerRaycast(entity, callback, getGlobalTargetRaycastDefaultOptions(opts));
118
+ },
119
+ registerTargetEntityRaycast(entity, callback, opts) {
120
+ registerRaycast(entity, callback, getTargetEntityRaycastDefaultOptions(opts));
121
+ }
122
+ };
123
+ }
124
+ exports.createRaycastSystem = createRaycastSystem;
@@ -0,0 +1,14 @@
1
+ import { DeepReadonlyObject, Entity } from '../engine';
2
+ import { PBVideoEvent } from '../components';
3
+ /**
4
+ * @public
5
+ */
6
+ export type VideoEventsSystemCallback = (event: DeepReadonlyObject<PBVideoEvent>) => void;
7
+ /**
8
+ * @public
9
+ */
10
+ export interface VideoEventsSystem {
11
+ removeVideoEventsEntity(entity: Entity): void;
12
+ registerVideoEventsEntity(entity: Entity, callback: VideoEventsSystemCallback): void;
13
+ hasVideoEventsEntity(entity: Entity): boolean;
14
+ }
@@ -0,0 +1,89 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createVideoEventsSystem = void 0;
27
+ const components = __importStar(require("../components"));
28
+ const entity_1 = require("../engine/entity");
29
+ /**
30
+ * @internal
31
+ */
32
+ function createVideoEventsSystem(engine) {
33
+ const videoPlayerComponent = components.VideoPlayer(engine);
34
+ const videoEventComponent = components.VideoEvent(engine);
35
+ const entitiesCallbackVideoStateMap = new Map();
36
+ function registerVideoEventsEntity(entity, callback) {
37
+ // video event component is not added here because the renderer adds it
38
+ // to every entity with a VideoPlayer component
39
+ entitiesCallbackVideoStateMap.set(entity, { callback: callback });
40
+ }
41
+ function removeVideoEventsEntity(entity) {
42
+ entitiesCallbackVideoStateMap.delete(entity);
43
+ }
44
+ function hasVideoEventsEntity(entity) {
45
+ return entitiesCallbackVideoStateMap.has(entity);
46
+ }
47
+ // @internal
48
+ engine.addSystem(function EventSystem() {
49
+ for (const [entity, data] of entitiesCallbackVideoStateMap) {
50
+ const videoPlayer = videoPlayerComponent.getOrNull(entity);
51
+ if (engine.getEntityState(entity) === entity_1.EntityState.Removed || !videoPlayer) {
52
+ removeVideoEventsEntity(entity);
53
+ continue;
54
+ }
55
+ // Compare with last state
56
+ const videoEvent = videoEventComponent.get(entity);
57
+ const values = videoEvent.values();
58
+ const valuesAmount = videoEvent.size;
59
+ let latestVideoEventComponentState = undefined;
60
+ // get latest component state
61
+ let index = 0;
62
+ for (const value of values) {
63
+ if (index === valuesAmount - 1)
64
+ latestVideoEventComponentState = value;
65
+ index++;
66
+ }
67
+ if (latestVideoEventComponentState === undefined ||
68
+ (data.lastVideoState !== undefined && data.lastVideoState === latestVideoEventComponentState.state))
69
+ continue;
70
+ data.callback(latestVideoEventComponentState);
71
+ entitiesCallbackVideoStateMap.set(entity, {
72
+ callback: data.callback,
73
+ lastVideoState: latestVideoEventComponentState.state
74
+ });
75
+ }
76
+ });
77
+ return {
78
+ removeVideoEventsEntity(entity) {
79
+ removeVideoEventsEntity(entity);
80
+ },
81
+ registerVideoEventsEntity(entity, callback) {
82
+ registerVideoEventsEntity(entity, callback);
83
+ },
84
+ hasVideoEventsEntity(entity) {
85
+ return hasVideoEventsEntity(entity);
86
+ }
87
+ };
88
+ }
89
+ exports.createVideoEventsSystem = createVideoEventsSystem;
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@dcl/ecs",
3
3
  "description": "Decentraland ECS",
4
- "version": "7.1.12-4982571416.commit-0b87aa7",
4
+ "version": "7.1.12-4983011170.commit-adaaaa2",
5
5
  "author": "DCL",
6
6
  "bugs": "https://github.com/decentraland/ecs/issues",
7
7
  "dependencies": {
8
- "@dcl/js-runtime": "7.1.12-4982571416.commit-0b87aa7"
8
+ "@dcl/js-runtime": "7.1.12-4983011170.commit-adaaaa2"
9
9
  },
10
10
  "files": [
11
11
  "dist",
12
+ "dist-cjs",
12
13
  "etc"
13
14
  ],
14
15
  "homepage": "https://github.com/decentraland/ecs#readme",
@@ -24,7 +25,7 @@
24
25
  "directory": "packages/@dcl/ecs"
25
26
  },
26
27
  "scripts": {
27
- "build": "tsc -p tsconfig.json"
28
+ "build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json"
28
29
  },
29
30
  "typedoc": {
30
31
  "entryPoint": "./src/index.ts",
@@ -34,5 +35,5 @@
34
35
  },
35
36
  "types": "./dist/index.d.ts",
36
37
  "typings": "./dist/index.d.ts",
37
- "commit": "0b87aa748eb15b71ae76fc44a287b12b913d1eff"
38
+ "commit": "adaaaa2d4cd6e50fe3d5bbd76cbcb3779aa3da51"
38
39
  }