@dcl/ecs 7.24.5-28985931443.commit-4a0bcfc → 7.24.5-29247185020.commit-e92dfe6

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/extended/AudioSource.d.ts +3 -5
  2. package/dist/components/extended/AudioSource.js +7 -7
  3. package/dist/components/extended/AvatarEquippedData.d.ts +10 -0
  4. package/dist/components/extended/AvatarEquippedData.js +15 -0
  5. package/dist/components/extended/AvatarShape.d.ts +10 -0
  6. package/dist/components/extended/AvatarShape.js +15 -0
  7. package/dist/components/extended/MeshCollider.d.ts +8 -0
  8. package/dist/components/extended/MeshCollider.js +6 -0
  9. package/dist/components/extended/MeshRenderer.d.ts +8 -0
  10. package/dist/components/extended/MeshRenderer.js +5 -0
  11. package/dist/components/extended/TriggerArea.d.ts +2 -2
  12. package/dist/components/extended/Tween.d.ts +1 -48
  13. package/dist/components/extended/Tween.js +0 -66
  14. package/dist/components/generated/AvatarMovement.gen.d.ts +1 -0
  15. package/dist/components/generated/AvatarMovement.gen.js +25 -0
  16. package/dist/components/generated/AvatarMovementInfo.gen.d.ts +1 -0
  17. package/dist/components/generated/AvatarMovementInfo.gen.js +25 -0
  18. package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
  19. package/dist/components/generated/CameraLayer.gen.js +25 -0
  20. package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
  21. package/dist/components/generated/CameraLayers.gen.js +25 -0
  22. package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
  23. package/dist/components/generated/GlobalLight.gen.js +25 -0
  24. package/dist/components/generated/GltfNode.gen.d.ts +1 -0
  25. package/dist/components/generated/GltfNode.gen.js +25 -0
  26. package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
  27. package/dist/components/generated/GltfNodeState.gen.js +25 -0
  28. package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
  29. package/dist/components/generated/{AudioAnalysis.gen.js → TextureCamera.gen.js} +7 -7
  30. package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
  31. package/dist/components/generated/UiCanvas.gen.js +25 -0
  32. package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
  33. package/dist/components/generated/UiScrollResult.gen.js +25 -0
  34. package/dist/components/generated/component-names.gen.js +10 -1
  35. package/dist/components/generated/global.gen.d.ts +20 -2
  36. package/dist/components/generated/global.gen.js +10 -1
  37. package/dist/components/generated/index.gen.d.ts +40 -4
  38. package/dist/components/generated/index.gen.js +50 -5
  39. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  40. package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
  41. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  42. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  43. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -6
  44. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -30
  45. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -3
  46. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -3
  47. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
  48. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +69 -0
  49. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
  50. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +126 -0
  51. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -8
  52. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -9
  53. package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +2 -9
  54. package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.js +1 -10
  55. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  56. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
  57. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  58. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
  59. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  60. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
  61. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -2
  62. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -1
  63. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  64. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
  65. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  66. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  67. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  68. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
  69. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  70. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
  71. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  72. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
  73. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +22 -3
  74. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +58 -3
  75. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  76. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
  77. package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
  78. package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +4 -42
  79. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  80. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  81. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  82. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +30 -0
  83. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  84. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
  85. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  86. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
  87. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +0 -8
  88. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +1 -10
  89. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
  90. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -0
  91. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  92. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
  93. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  94. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  95. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  96. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
  97. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
  98. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
  99. package/dist/components/generated/pb/google/protobuf/descriptor.gen.d.ts +1 -640
  100. package/dist/components/generated/pb/google/protobuf/descriptor.gen.js +4 -260
  101. package/dist/components/generated/types.gen.d.ts +0 -1
  102. package/dist/components/generated/types.gen.js +0 -1
  103. package/dist/components/index.d.ts +11 -13
  104. package/dist/components/index.js +11 -11
  105. package/dist/components/manual/Transform.d.ts +0 -13
  106. package/dist/components/manual/Transform.js +0 -8
  107. package/dist/components/types.d.ts +3 -3
  108. package/dist/composite/index.d.ts +5 -8
  109. package/dist/composite/index.js +5 -8
  110. package/dist/composite/instance.d.ts +0 -5
  111. package/dist/composite/instance.js +25 -34
  112. package/dist/engine/entity.js +2 -4
  113. package/dist/engine/grow-only-value-set-component-definition.js +1 -1
  114. package/dist/engine/index.js +1 -2
  115. package/dist/engine/input.d.ts +6 -0
  116. package/dist/engine/input.js +10 -6
  117. package/dist/engine/lww-element-set-component-definition.d.ts +2 -2
  118. package/dist/engine/lww-element-set-component-definition.js +7 -24
  119. package/dist/index.d.ts +2 -5
  120. package/dist/index.js +1 -5
  121. package/dist/runtime/globals.d.ts +2 -1
  122. package/dist/runtime/globals.js +2 -1
  123. package/dist/runtime/helpers/coordinates.js +14 -37
  124. package/dist/runtime/helpers/index.d.ts +0 -1
  125. package/dist/runtime/helpers/index.js +0 -1
  126. package/dist/runtime/helpers/timers.js +20 -32
  127. package/dist/runtime/helpers/tree.d.ts +0 -6
  128. package/dist/runtime/helpers/tree.js +2 -2
  129. package/dist/runtime/initialization/index.d.ts +0 -7
  130. package/dist/runtime/initialization/index.js +0 -6
  131. package/dist/systems/crdt/index.js +6 -6
  132. package/dist/systems/events.d.ts +59 -25
  133. package/dist/systems/events.js +145 -129
  134. package/dist/systems/raycast.d.ts +3 -1
  135. package/dist/systems/raycast.js +2 -0
  136. package/dist/systems/triggerArea.d.ts +0 -5
  137. package/dist/systems/triggerArea.js +42 -128
  138. package/dist-cjs/components/extended/AudioSource.d.ts +3 -5
  139. package/dist-cjs/components/extended/AudioSource.js +7 -7
  140. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
  141. package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
  142. package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
  143. package/dist-cjs/components/extended/AvatarShape.js +19 -0
  144. package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
  145. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  146. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  147. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  148. package/dist-cjs/components/extended/TriggerArea.d.ts +2 -2
  149. package/dist-cjs/components/extended/Tween.d.ts +1 -48
  150. package/dist-cjs/components/extended/Tween.js +0 -66
  151. package/dist-cjs/components/generated/AvatarMovement.gen.js +28 -0
  152. package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +28 -0
  153. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  154. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  155. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  156. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  157. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  158. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  159. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  160. package/dist-cjs/components/generated/{AudioAnalysis.gen.js → TextureCamera.gen.js} +8 -8
  161. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  162. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  163. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  164. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  165. package/dist-cjs/components/generated/component-names.gen.js +10 -1
  166. package/dist-cjs/components/generated/global.gen.d.ts +20 -2
  167. package/dist-cjs/components/generated/global.gen.js +12 -3
  168. package/dist-cjs/components/generated/index.gen.d.ts +40 -4
  169. package/dist-cjs/components/generated/index.gen.js +62 -8
  170. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  171. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  172. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  173. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  174. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -6
  175. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -30
  176. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -3
  177. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -4
  178. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
  179. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +75 -0
  180. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
  181. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +132 -0
  182. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -8
  183. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +11 -10
  184. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +2 -9
  185. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +1 -10
  186. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  187. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  188. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  189. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  190. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  191. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
  192. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -2
  193. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -1
  194. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  195. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  196. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  197. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  198. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  199. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  200. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  201. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  202. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  203. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  204. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +22 -3
  205. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +59 -4
  206. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  207. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  208. package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
  209. package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +5 -43
  210. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  211. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  212. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  213. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +31 -1
  214. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  215. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
  216. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  217. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  218. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +0 -8
  219. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +1 -10
  220. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
  221. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -0
  222. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  223. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  224. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  225. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  226. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  227. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
  228. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
  229. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
  230. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +1 -640
  231. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +5 -261
  232. package/dist-cjs/components/generated/types.gen.d.ts +0 -1
  233. package/dist-cjs/components/generated/types.gen.js +0 -3
  234. package/dist-cjs/components/index.d.ts +11 -13
  235. package/dist-cjs/components/index.js +15 -15
  236. package/dist-cjs/components/manual/Transform.d.ts +0 -13
  237. package/dist-cjs/components/manual/Transform.js +0 -31
  238. package/dist-cjs/components/types.d.ts +3 -3
  239. package/dist-cjs/composite/index.d.ts +5 -8
  240. package/dist-cjs/composite/index.js +6 -11
  241. package/dist-cjs/composite/instance.d.ts +0 -5
  242. package/dist-cjs/composite/instance.js +25 -34
  243. package/dist-cjs/engine/entity.js +2 -4
  244. package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
  245. package/dist-cjs/engine/index.js +1 -2
  246. package/dist-cjs/engine/input.d.ts +6 -0
  247. package/dist-cjs/engine/input.js +10 -6
  248. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +2 -2
  249. package/dist-cjs/engine/lww-element-set-component-definition.js +7 -24
  250. package/dist-cjs/index.d.ts +2 -5
  251. package/dist-cjs/index.js +2 -6
  252. package/dist-cjs/runtime/globals.d.ts +2 -1
  253. package/dist-cjs/runtime/globals.js +2 -1
  254. package/dist-cjs/runtime/helpers/coordinates.js +14 -37
  255. package/dist-cjs/runtime/helpers/index.d.ts +0 -1
  256. package/dist-cjs/runtime/helpers/index.js +0 -1
  257. package/dist-cjs/runtime/helpers/timers.js +20 -32
  258. package/dist-cjs/runtime/helpers/tree.d.ts +0 -6
  259. package/dist-cjs/runtime/helpers/tree.js +2 -3
  260. package/dist-cjs/runtime/initialization/index.d.ts +0 -7
  261. package/dist-cjs/runtime/initialization/index.js +1 -7
  262. package/dist-cjs/systems/crdt/index.js +6 -6
  263. package/dist-cjs/systems/events.d.ts +59 -25
  264. package/dist-cjs/systems/events.js +145 -129
  265. package/dist-cjs/systems/raycast.d.ts +3 -1
  266. package/dist-cjs/systems/raycast.js +2 -0
  267. package/dist-cjs/systems/triggerArea.d.ts +0 -5
  268. package/dist-cjs/systems/triggerArea.js +42 -128
  269. package/package.json +2 -3
  270. package/dist/components/extended/AudioAnalysis.d.ts +0 -55
  271. package/dist/components/extended/AudioAnalysis.js +0 -66
  272. package/dist/components/extended/ParticleSystem.d.ts +0 -24
  273. package/dist/components/extended/ParticleSystem.js +0 -23
  274. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
  275. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -161
  276. package/dist/composite/provider-registry.d.ts +0 -15
  277. package/dist/composite/provider-registry.js +0 -32
  278. package/dist/runtime/helpers/vectors.js +0 -36
  279. package/dist/systems/physics-force.js +0 -140
  280. package/dist/systems/physics-impulse.d.ts +0 -12
  281. package/dist/systems/physics-impulse.js +0 -85
  282. package/dist/systems/physics.d.ts +0 -77
  283. package/dist/systems/physics.js +0 -18
  284. package/dist-cjs/components/extended/AudioAnalysis.d.ts +0 -55
  285. package/dist-cjs/components/extended/AudioAnalysis.js +0 -70
  286. package/dist-cjs/components/extended/ParticleSystem.d.ts +0 -24
  287. package/dist-cjs/components/extended/ParticleSystem.js +0 -28
  288. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
  289. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -167
  290. package/dist-cjs/composite/provider-registry.d.ts +0 -15
  291. package/dist-cjs/composite/provider-registry.js +0 -37
  292. package/dist-cjs/runtime/helpers/vectors.js +0 -39
  293. package/dist-cjs/systems/physics-force.js +0 -167
  294. package/dist-cjs/systems/physics-impulse.d.ts +0 -12
  295. package/dist-cjs/systems/physics-impulse.js +0 -112
  296. package/dist-cjs/systems/physics.d.ts +0 -77
  297. package/dist-cjs/systems/physics.js +0 -23
  298. /package/dist-cjs/components/generated/{AudioAnalysis.gen.d.ts → AvatarMovement.gen.d.ts} +0 -0
  299. /package/dist-cjs/{runtime/helpers/vectors.d.ts → components/generated/AvatarMovementInfo.gen.d.ts} +0 -0
  300. /package/dist-cjs/{systems/physics-force.d.ts → components/generated/CameraLayer.gen.d.ts} +0 -0
  301. /package/{dist/components/generated/AudioAnalysis.gen.d.ts → dist-cjs/components/generated/CameraLayers.gen.d.ts} +0 -0
  302. /package/{dist/runtime/helpers/vectors.d.ts → dist-cjs/components/generated/GlobalLight.gen.d.ts} +0 -0
  303. /package/{dist/systems/physics-force.d.ts → dist-cjs/components/generated/GltfNode.gen.d.ts} +0 -0
@@ -6,7 +6,6 @@ import { CompositeDefinition } from './proto/gen/composite.gen';
6
6
  export type { CompositeDefinition, ComponentData, CompositeComponent, CompositeComponent_DataEntry, InstanceCompositeOptions, CompositeProvider, CompositeRootType, CompositeResource };
7
7
  export { EntityMappingMode };
8
8
  export { getCompositeRootComponent };
9
- export { setCompositeProvider, getCompositeProvider } from './provider-registry';
10
9
  /**
11
10
  * @public
12
11
  * @deprecated composite is not being supported so far, please do not use this feature
@@ -32,16 +31,14 @@ export declare namespace Composite {
32
31
  /** @public */
33
32
  function toBinary(composite: Composite.Definition): Uint8Array;
34
33
  /**
35
- * Instance a composite and return its root entity.
36
- * @param engine - the engine that will own the new entities
37
- * @param compositeData - the composite resource to instance
38
- * @param compositeProvider - provider used to resolve nested composite references
39
- * @param options - instancing options (`rootEntity`, `entityMapping`, `alreadyRequestedSrc`)
40
- * @returns the root entity of the instanced composite
34
+ * Instance a composite and returns its root entity
35
+ * @param compositeData - state serialized by the CRDT protocol
36
+ * @param getNextAvailableEntity - function that gives unused entities
37
+ * @param rootEntity - (optional) suggested mapped rootEntity for the composite
41
38
  *
42
39
  * @public
43
40
  */
44
- function instance(engine: IEngine, compositeData: Composite.Resource, compositeProvider: CompositeProvider, options?: InstanceCompositeOptions): import("../engine").Entity;
41
+ function instance(engine: IEngine, compositeData: Composite.Resource, compositeProvider: CompositeProvider, options?: InstanceCompositeOptions): void;
45
42
  /**
46
43
  * Resolve and normalize a composite path
47
44
  * @param src - the source path
@@ -4,7 +4,6 @@ import { resolveComposite } from './path';
4
4
  import { CompositeDefinition } from './proto/gen/composite.gen';
5
5
  export { EntityMappingMode };
6
6
  export { getCompositeRootComponent };
7
- export { setCompositeProvider, getCompositeProvider } from './provider-registry';
8
7
  /**
9
8
  * @public
10
9
  * @deprecated composite is not being supported so far, please do not use this feature
@@ -32,17 +31,15 @@ export var Composite;
32
31
  }
33
32
  Composite.toBinary = toBinary;
34
33
  /**
35
- * Instance a composite and return its root entity.
36
- * @param engine - the engine that will own the new entities
37
- * @param compositeData - the composite resource to instance
38
- * @param compositeProvider - provider used to resolve nested composite references
39
- * @param options - instancing options (`rootEntity`, `entityMapping`, `alreadyRequestedSrc`)
40
- * @returns the root entity of the instanced composite
34
+ * Instance a composite and returns its root entity
35
+ * @param compositeData - state serialized by the CRDT protocol
36
+ * @param getNextAvailableEntity - function that gives unused entities
37
+ * @param rootEntity - (optional) suggested mapped rootEntity for the composite
41
38
  *
42
39
  * @public
43
40
  */
44
41
  /*#__PURE__*/ function instance(engine, compositeData, compositeProvider, options = {}) {
45
- return instanceComposite(engine, compositeData, compositeProvider, options);
42
+ instanceComposite(engine, compositeData, compositeProvider, options);
46
43
  }
47
44
  Composite.instance = instance;
48
45
  /**
@@ -13,11 +13,6 @@ export type CompositeResource = {
13
13
  */
14
14
  export type CompositeProvider = {
15
15
  getCompositeOrNull(src: string): CompositeResource | null;
16
- loadComposite?: (src: string) => Promise<CompositeResource>;
17
- schemas?: Iterable<{
18
- name: string;
19
- jsonSchema: any;
20
- }>;
21
16
  };
22
17
  /** @public */
23
18
  export declare enum EntityMappingMode {
@@ -43,7 +43,7 @@ export function getComponentDefinition(engine, component) {
43
43
  return engine.defineComponentFromSchema(component.name, Schemas.fromJson(component.jsonSchema));
44
44
  }
45
45
  else {
46
- throw new Error(`Composite references undefined component "${component.name}". Ensure provider.schemas was registered pre-seal via setCompositeProvider().`);
46
+ throw new Error(`${component.name} is not defined and there is no schema to define it.`);
47
47
  }
48
48
  }
49
49
  else {
@@ -84,7 +84,6 @@ export function instanceComposite(engine, compositeResource, compositeProvider,
84
84
  const compositeDirectoryPath = path.dirname(path.resolve(compositeResource.src));
85
85
  const TransformComponentNumber = componentNumberFromName('core::Transform');
86
86
  const CompositeRootComponent = getCompositeRootComponent(engine);
87
- let hadNestedComposite = false;
88
87
  // Key => EntityNumber from the composite
89
88
  // Value => EntityNumber in current engine
90
89
  const mappedEntities = new Map();
@@ -100,29 +99,23 @@ export function instanceComposite(engine, compositeResource, compositeProvider,
100
99
  // If there are more composite inside this one, we instance first.
101
100
  // => This is not only a copy, we need to instance. Otherwise, we'd be missing that branches
102
101
  // => TODO: in the future, the instanciation is first, then the overides (to parameterize Composite, e.g. house with different wall colors)
103
- if (CompositeRootComponent) {
104
- const childrenComposite = compositeResource.composite.components.find((item) => item.name === CompositeRootComponent.componentName);
105
- if (childrenComposite) {
106
- for (const [childCompositeEntity, compositeRawData] of childrenComposite.data) {
107
- const childComposite = getComponentValue(CompositeRootComponent, compositeRawData);
108
- const childCompositePath = path.resolveComposite(childComposite.src, compositeDirectoryPath);
109
- const childCompositeResource = compositeProvider.getCompositeOrNull(childCompositePath);
110
- const targetEntity = getCompositeEntity(childCompositeEntity);
111
- if (childCompositeResource) {
112
- if (alreadyRequestedSrc.has(childCompositeResource.src) ||
113
- childCompositeResource.src === compositeResource.src) {
114
- throw new Error(`Composite ${compositeResource.src} has a recursive instanciation while try to instance ${childCompositeResource.src}. Previous instances: ${alreadyRequestedSrc.toString()}`);
115
- }
116
- hadNestedComposite = true;
117
- instanceComposite(engine, childCompositeResource, compositeProvider, {
118
- rootEntity: targetEntity,
119
- alreadyRequestedSrc: new Set(alreadyRequestedSrc).add(childCompositeResource.src),
120
- entityMapping: entityMapping?.type === EntityMappingMode.EMM_NEXT_AVAILABLE ? entityMapping : undefined
121
- });
122
- }
123
- else {
124
- console.warn(`Composite "${compositeResource.src}" references missing nested composite "${childCompositePath}". Skipping; the spawned subtree will be incomplete.`);
102
+ const childrenComposite = compositeResource.composite.components.find((item) => item.name === CompositeRootComponent.componentName);
103
+ if (childrenComposite) {
104
+ for (const [childCompositeEntity, compositeRawData] of childrenComposite.data) {
105
+ const childComposite = getComponentValue(CompositeRootComponent, compositeRawData);
106
+ const childCompositePath = path.resolveComposite(childComposite.src, compositeDirectoryPath);
107
+ const childCompositeResource = compositeProvider.getCompositeOrNull(childCompositePath);
108
+ const targetEntity = getCompositeEntity(childCompositeEntity);
109
+ if (childCompositeResource) {
110
+ if (alreadyRequestedSrc.has(childCompositeResource.src) ||
111
+ childCompositeResource.src === compositeResource.src) {
112
+ throw new Error(`Composite ${compositeResource.src} has a recursive instanciation while try to instance ${childCompositeResource.src}. Previous instances: ${alreadyRequestedSrc.toString()}`);
125
113
  }
114
+ instanceComposite(engine, childCompositeResource, compositeProvider, {
115
+ rootEntity: targetEntity,
116
+ alreadyRequestedSrc: new Set(alreadyRequestedSrc).add(childCompositeResource.src),
117
+ entityMapping: entityMapping?.type === EntityMappingMode.EMM_NEXT_AVAILABLE ? entityMapping : undefined
118
+ });
126
119
  }
127
120
  }
128
121
  }
@@ -130,7 +123,7 @@ export function instanceComposite(engine, compositeResource, compositeProvider,
130
123
  // Then, we copy the all rest of the components (skipping the Composite ones)
131
124
  for (const component of compositeResource.composite.components) {
132
125
  // We already instanced the composite
133
- if (CompositeRootComponent && component.name === CompositeRootComponent.componentName)
126
+ if (component.name === CompositeRootComponent.componentName)
134
127
  continue;
135
128
  // ## 3a ##
136
129
  // We find the component definition
@@ -166,15 +159,13 @@ export function instanceComposite(engine, compositeResource, compositeProvider,
166
159
  }
167
160
  }
168
161
  }
169
- if (hadNestedComposite) {
170
- const composite = CompositeRootComponent.getMutableOrNull(compositeRootEntity) || CompositeRootComponent.create(compositeRootEntity);
171
- for (const [entitySource, targetEntity] of mappedEntities) {
172
- composite.entities.push({
173
- src: entitySource,
174
- dest: targetEntity
175
- });
176
- }
177
- composite.src = compositeResource.src;
162
+ const composite = CompositeRootComponent.getMutableOrNull(compositeRootEntity) || CompositeRootComponent.create(compositeRootEntity);
163
+ for (const [entitySource, targetEntity] of mappedEntities) {
164
+ composite.entities.push({
165
+ src: entitySource,
166
+ dest: targetEntity
167
+ });
178
168
  }
169
+ composite.src = compositeResource.src;
179
170
  return compositeRootEntity;
180
171
  }
@@ -61,10 +61,8 @@ export var EntityState;
61
61
  */
62
62
  export function createEntityContainer(opts) {
63
63
  const reservedStaticEntities = opts?.reservedStaticEntities ?? RESERVED_STATIC_ENTITIES;
64
- // If a build tool has set DCL_MAX_COMPOSITE_ENTITY (via esbuild define),
65
- // start the counter past composite entities to prevent ID collisions.
66
- const maxCompositeEntity = typeof DCL_MAX_COMPOSITE_ENTITY !== 'undefined' ? DCL_MAX_COMPOSITE_ENTITY : 0;
67
- let entityCounter = Math.max(reservedStaticEntities, maxCompositeEntity > 0 ? maxCompositeEntity + 1 : 0);
64
+ // Local entities counter
65
+ let entityCounter = reservedStaticEntities;
68
66
  const usedEntities = new Set();
69
67
  let toRemoveEntities = [];
70
68
  const removedEntities = createVersionGSet();
@@ -12,7 +12,7 @@ function freezeSet(set) {
12
12
  return set;
13
13
  }
14
14
  function sortByTimestamp(a, b) {
15
- return a.timestamp - b.timestamp;
15
+ return a.timestamp > b.timestamp ? 1 : -1;
16
16
  }
17
17
  /**
18
18
  * @internal
@@ -236,7 +236,7 @@ export function Engine(options) {
236
236
  const deletedEntites = partialEngine.entityContainer.releaseRemovedEntities();
237
237
  await crdtSystem.sendMessages(deletedEntites);
238
238
  }
239
- const engineInstance = {
239
+ return {
240
240
  _id: Date.now(),
241
241
  addEntity: partialEngine.addEntity,
242
242
  removeEntity: partialEngine.removeEntity,
@@ -264,5 +264,4 @@ export function Engine(options) {
264
264
  addTransport: crdtSystem.addTransport,
265
265
  entityContainer: partialEngine.entityContainer
266
266
  };
267
- return engineInstance;
268
267
  }
@@ -32,6 +32,12 @@ export type IInputSystem = {
32
32
  * @returns the input command info or undefined if there is no command in the last tick-update
33
33
  */
34
34
  getInputCommand: (inputAction: InputAction, pointerEventType: PointerEventType, entity?: Entity) => PBPointerEventsResult | null;
35
+ /**
36
+ * @public
37
+ * Get an ordered iterator over events received within the current frame.
38
+ * @returns the iterator
39
+ */
40
+ getInputCommands: () => Generator<PBPointerEventsResult>;
35
41
  };
36
42
  /**
37
43
  * @public
@@ -12,8 +12,7 @@ const InputCommands = [
12
12
  10 /* InputAction.IA_ACTION_3 */,
13
13
  11 /* InputAction.IA_ACTION_4 */,
14
14
  12 /* InputAction.IA_ACTION_5 */,
15
- 13 /* InputAction.IA_ACTION_6 */,
16
- 14 /* InputAction.IA_MODIFIER */
15
+ 13 /* InputAction.IA_ACTION_6 */
17
16
  ];
18
17
  const InputStateUpdateSystemPriority = 1 << 20;
19
18
  /**
@@ -119,9 +118,8 @@ export function createInputSystem(engine) {
119
118
  }
120
119
  if (!up || !down)
121
120
  return null;
122
- // If the DOWN command has happened before or at the same time as the UP command, a click has happened.
123
- // Same-timestamp is possible when both events are produced within the same renderer tick.
124
- if (down.timestamp <= up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
121
+ // If the DOWN command has happen before the UP commands, it means that that a clicked has happen
122
+ if (down.timestamp < up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
125
123
  return { up, down };
126
124
  }
127
125
  return null;
@@ -187,11 +185,17 @@ export function createInputSystem(engine) {
187
185
  function isPressed(inputAction) {
188
186
  return globalState.buttonState.get(inputAction)?.state === 1 /* PointerEventType.PET_DOWN */;
189
187
  }
188
+ function* getInputCommands() {
189
+ for (let i = globalState.thisFrameCommands.length - 1; i >= 0; i--) {
190
+ yield globalState.thisFrameCommands[i];
191
+ }
192
+ }
190
193
  return {
191
194
  isPressed,
192
195
  getClick,
193
196
  getInputCommand,
194
197
  isClicked,
195
- isTriggered
198
+ isTriggered,
199
+ getInputCommands
196
200
  };
197
201
  }
@@ -4,5 +4,5 @@ import { PutComponentMessageBody, DeleteComponentMessageBody, CrdtMessageBody }
4
4
  import { Entity } from './entity';
5
5
  export declare function incrementTimestamp(entity: Entity, timestamps: Map<Entity, number>): number;
6
6
  export declare function createDumpLwwFunctionFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>): (buffer: ByteBuffer, filterEntity?: ((entity: Entity) => boolean) | undefined) => void;
7
- export declare function createUpdateLwwFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>, lastSentData: Map<Entity, Uint8Array>): (msg: CrdtMessageBody) => [null | PutComponentMessageBody | DeleteComponentMessageBody, any];
8
- export declare function createGetCrdtMessagesForLww(componentId: number, timestamps: Map<Entity, number>, dirtyIterator: Set<Entity>, schema: Pick<ISchema<any>, 'serialize'>, data: Map<Entity, unknown>, lastSentData: Map<Entity, Uint8Array>): () => Generator<PutComponentMessageBody | DeleteComponentMessageBody, void, unknown>;
7
+ export declare function createUpdateLwwFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>): (msg: CrdtMessageBody) => [null | PutComponentMessageBody | DeleteComponentMessageBody, any];
8
+ export declare function createGetCrdtMessagesForLww(componentId: number, timestamps: Map<Entity, number>, dirtyIterator: Set<Entity>, schema: Pick<ISchema<any>, 'serialize'>, data: Map<Entity, unknown>): () => Generator<PutComponentMessageBody | DeleteComponentMessageBody, void, unknown>;
@@ -30,7 +30,7 @@ export function createDumpLwwFunctionFromCrdt(componentId, timestamps, schema, d
30
30
  }
31
31
  };
32
32
  }
33
- export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, lastSentData) {
33
+ export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data) {
34
34
  /**
35
35
  * Process the received message only if the lamport number recieved is higher
36
36
  * than the stored one. If its lower, we spread it to the network to correct the peer.
@@ -96,11 +96,9 @@ export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, l
96
96
  if (msg.type === CrdtMessageType.PUT_COMPONENT || msg.type === CrdtMessageType.PUT_COMPONENT_NETWORK) {
97
97
  const buf = new ReadWriteByteBuffer(msg.data);
98
98
  data.set(entity, schema.deserialize(buf));
99
- lastSentData.set(entity, new Uint8Array(msg.data));
100
99
  }
101
100
  else {
102
101
  data.delete(entity);
103
- lastSentData.delete(entity);
104
102
  }
105
103
  return [null, data.get(entity)];
106
104
  }
@@ -136,34 +134,23 @@ export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, l
136
134
  return [null, data.get(entity)];
137
135
  };
138
136
  }
139
- export function createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data, lastSentData) {
137
+ export function createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data) {
140
138
  return function* () {
141
- const writeBuffer = new ReadWriteByteBuffer();
142
139
  for (const entity of dirtyIterator) {
140
+ const newTimestamp = incrementTimestamp(entity, timestamps);
143
141
  if (data.has(entity)) {
144
- writeBuffer.resetBuffer();
142
+ const writeBuffer = new ReadWriteByteBuffer();
145
143
  schema.serialize(data.get(entity), writeBuffer);
146
- // Compare against last-sent snapshot using the zero-copy subarray view.
147
- // Only allocate a copy when bytes actually differ.
148
- const previousBytes = lastSentData.get(entity);
149
- if (previousBytes && dataCompare(writeBuffer.toBinary(), previousBytes) === 0) {
150
- continue;
151
- }
152
- const currentBytes = writeBuffer.toCopiedBinary();
153
- const newTimestamp = incrementTimestamp(entity, timestamps);
154
- lastSentData.set(entity, currentBytes);
155
144
  const msg = {
156
145
  type: CrdtMessageType.PUT_COMPONENT,
157
146
  componentId,
158
147
  entityId: entity,
159
- data: currentBytes,
148
+ data: writeBuffer.toBinary(),
160
149
  timestamp: newTimestamp
161
150
  };
162
151
  yield msg;
163
152
  }
164
153
  else {
165
- lastSentData.delete(entity);
166
- const newTimestamp = incrementTimestamp(entity, timestamps);
167
154
  const msg = {
168
155
  type: CrdtMessageType.DELETE_COMPONENT,
169
156
  componentId,
@@ -183,7 +170,6 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
183
170
  const data = new Map();
184
171
  const dirtyIterator = new Set();
185
172
  const timestamps = new Map();
186
- const lastSentData = new Map();
187
173
  const onChangeCallbacks = new Map();
188
174
  return {
189
175
  get componentId() {
@@ -205,14 +191,12 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
205
191
  if (data.delete(entity) && markAsDirty) {
206
192
  dirtyIterator.add(entity);
207
193
  }
208
- lastSentData.delete(entity);
209
194
  return component || null;
210
195
  },
211
196
  entityDeleted(entity, markAsDirty) {
212
197
  if (data.delete(entity) && markAsDirty) {
213
198
  dirtyIterator.add(entity);
214
199
  }
215
- lastSentData.delete(entity);
216
200
  },
217
201
  getOrNull(entity) {
218
202
  const component = data.get(entity);
@@ -239,7 +223,6 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
239
223
  const usedValue = value === undefined ? schema.create() : schema.extend ? schema.extend(value) : value;
240
224
  data.set(entity, usedValue);
241
225
  dirtyIterator.add(entity);
242
- lastSentData.delete(entity);
243
226
  return usedValue;
244
227
  },
245
228
  getMutableOrNull(entity) {
@@ -277,8 +260,8 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
277
260
  yield entity;
278
261
  }
279
262
  },
280
- getCrdtUpdates: createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data, lastSentData),
281
- updateFromCrdt: createUpdateLwwFromCrdt(componentId, timestamps, schema, data, lastSentData),
263
+ getCrdtUpdates: createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data),
264
+ updateFromCrdt: createUpdateLwwFromCrdt(componentId, timestamps, schema, data),
282
265
  dumpCrdtStateToBuffer: createDumpLwwFunctionFromCrdt(componentId, timestamps, schema, data),
283
266
  onChange(entity, cb) {
284
267
  const cbs = onChangeCallbacks.get(entity) ?? [];
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export * from './engine';
2
2
  export * from './schemas';
3
- export * from './runtime/globals';
4
3
  export * from './runtime/initialization';
5
4
  export * from './runtime/types';
6
5
  export * from './runtime/helpers';
6
+ export * from './runtime/globals';
7
7
  export { cyclicParentingChecker } from './systems/cyclicParentingChecker';
8
8
  export * from './systems/events';
9
9
  export * from './systems/raycast';
@@ -12,16 +12,14 @@ export * from './systems/assetLoad';
12
12
  export * from './systems/async-task';
13
13
  export * from './systems/tween';
14
14
  export * from './systems/triggerArea';
15
- export * from './systems/physics';
16
15
  export * from './engine/entity';
17
16
  export * from './components/types';
18
- import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioAnalysisComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended, ParticleSystemComponentDefinitionExtended } from './components/types';
17
+ import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended } from './components/types';
19
18
  import { NameComponent } from './components/manual/Name';
20
19
  import { TagsComponentDefinitionExtended } from './components/manual/Tags';
21
20
  export declare const Transform: TransformComponentExtended;
22
21
  export declare const Animator: AnimatorComponentDefinitionExtended;
23
22
  export declare const AudioSource: AudioSourceComponentDefinitionExtended;
24
- export declare const AudioAnalysis: AudioAnalysisComponentDefinitionExtended;
25
23
  export declare const AudioStream: AudioStreamComponentDefinitionExtended;
26
24
  export declare const Material: MaterialComponentDefinitionExtended;
27
25
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -33,7 +31,6 @@ export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
33
31
  export declare const InputModifier: InputModifierComponentDefinitionExtended;
34
32
  export declare const LightSource: LightSourceComponentDefinitionExtended;
35
33
  export declare const TriggerArea: TriggerAreaComponentDefinitionExtended;
36
- export declare const ParticleSystem: ParticleSystemComponentDefinitionExtended;
37
34
  /**
38
35
  * @alpha
39
36
  * This is going to be used for sync components through a server.
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  // The order of the following imports matters. Please do not auto-sort
2
2
  export * from './engine';
3
3
  export * from './schemas';
4
- export * from './runtime/globals';
5
4
  export * from './runtime/initialization';
6
5
  export * from './runtime/types';
7
6
  export * from './runtime/helpers';
7
+ export * from './runtime/globals';
8
8
  export { cyclicParentingChecker } from './systems/cyclicParentingChecker';
9
9
  export * from './systems/events';
10
10
  export * from './systems/raycast';
@@ -13,7 +13,6 @@ export * from './systems/assetLoad';
13
13
  export * from './systems/async-task';
14
14
  export * from './systems/tween';
15
15
  export * from './systems/triggerArea';
16
- export * from './systems/physics';
17
16
  export * from './engine/entity';
18
17
  export * from './components/types';
19
18
  // @internal
@@ -25,7 +24,6 @@ import { engine } from './runtime/initialization';
25
24
  export const Transform = /* @__PURE__*/ components.Transform(engine);
26
25
  export const Animator = /* @__PURE__*/ components.Animator(engine);
27
26
  export const AudioSource = /* @__PURE__*/ components.AudioSource(engine);
28
- export const AudioAnalysis = /* @__PURE__*/ components.AudioAnalysis(engine);
29
27
  export const AudioStream = /* @__PURE__*/ components.AudioStream(engine);
30
28
  export const Material = /* @__PURE__*/ components.Material(engine);
31
29
  export const MeshRenderer = /* @__PURE__*/ components.MeshRenderer(engine);
@@ -37,8 +35,6 @@ export const VirtualCamera = /* @__PURE__*/ components.VirtualCamera(engine);
37
35
  export const InputModifier = /* @__PURE__*/ components.InputModifier(engine);
38
36
  export const LightSource = /* @__PURE__*/ components.LightSource(engine);
39
37
  export const TriggerArea = /* @__PURE__*/ components.TriggerArea(engine);
40
- export const ParticleSystem =
41
- /* @__PURE__*/ components.ParticleSystem(engine);
42
38
  /**
43
39
  * @alpha
44
40
  * This is going to be used for sync components through a server.
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Internal utilities for standardized globalThis access.
2
+ * Utilities for standardized globalThis access.
3
+ * @public
3
4
  */
4
5
  /**
5
6
  * Type-safe globalThis property access.
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Internal utilities for standardized globalThis access.
2
+ * Utilities for standardized globalThis access.
3
+ * @public
3
4
  */
4
5
  /**
5
6
  * Type-safe globalThis property access.
@@ -1,7 +1,3 @@
1
- /** Returns a string representation of the given coordinates in the format "x,y" */
2
- function formatCoord(coord) {
3
- return `${coord.x},${coord.y}`;
4
- }
5
1
  /**
6
2
  * Returns true if the given parcels array are connected
7
3
  */
@@ -9,8 +5,8 @@ export function areConnected(parcels) {
9
5
  if (parcels.length === 0) {
10
6
  return false;
11
7
  }
12
- const visited = visitConnectedParcels(parcels[0], parcels);
13
- return visited.size === parcels.length;
8
+ const visited = visitParcel(parcels[0], parcels);
9
+ return visited.length === parcels.length;
14
10
  }
15
11
  /**
16
12
  * Returns true if the given coords are equal
@@ -18,38 +14,19 @@ export function areConnected(parcels) {
18
14
  export function isEqual(p1, p2) {
19
15
  return p1.x === p2.x && p1.y === p2.y;
20
16
  }
21
- /**
22
- * Returns the list of connected parcels starting from the given parcel.
23
- * @param parcel - The starting parcel to visit
24
- * @param allParcels - The list of all parcels to consider for connectivity
25
- * @returns The list of connected parcels starting from the given parcel
26
- * @remarks This function uses an iterative depth-first search (DFS) approach to avoid blowing the call stack on large connected parcel sets.
27
- */
28
- function visitConnectedParcels(parcel, allParcels) {
29
- const allParcelsSet = new Set(allParcels.map(formatCoord));
30
- const visitedSet = new Set();
31
- const stackToVisit = [parcel];
32
- while (stackToVisit.length > 0) {
33
- const currentParcel = stackToVisit.pop();
34
- const key = formatCoord(currentParcel);
35
- const isVisited = visitedSet.has(key);
36
- if (!isVisited) {
37
- visitedSet.add(key);
38
- const neighbours = getNeighbours(currentParcel.x, currentParcel.y, allParcelsSet);
39
- for (const n of neighbours) {
40
- if (!visitedSet.has(formatCoord(n)))
41
- stackToVisit.push(n);
42
- }
43
- }
17
+ function visitParcel(parcel, allParcels, visited = []) {
18
+ const isVisited = visited.some((visitedParcel) => isEqual(visitedParcel, parcel));
19
+ if (!isVisited) {
20
+ visited.push(parcel);
21
+ const neighbours = getNeighbours(parcel.x, parcel.y, allParcels);
22
+ neighbours.forEach((neighbours) => visitParcel(neighbours, allParcels, visited));
44
23
  }
45
- return visitedSet;
24
+ return visited;
25
+ }
26
+ function getIsNeighbourMatcher(x, y) {
27
+ return (coords) => (coords.x === x && (coords.y + 1 === y || coords.y - 1 === y)) ||
28
+ (coords.y === y && (coords.x + 1 === x || coords.x - 1 === x));
46
29
  }
47
30
  function getNeighbours(x, y, parcels) {
48
- const neighbourCandidates = [
49
- { x: x + 1, y },
50
- { x: x - 1, y },
51
- { x, y: y + 1 },
52
- { x, y: y - 1 }
53
- ];
54
- return neighbourCandidates.filter((c) => parcels.has(formatCoord(c)));
31
+ return parcels.filter(getIsNeighbourMatcher(x, y));
55
32
  }
@@ -1,4 +1,3 @@
1
1
  export * from './coordinates';
2
2
  export * from './tree';
3
- export * from './vectors';
4
3
  export { createTimers, Timers, TimerId, TimerCallback } from './timers';
@@ -1,4 +1,3 @@
1
1
  export * from './coordinates';
2
2
  export * from './tree';
3
- export * from './vectors';
4
3
  export { createTimers } from './timers';
@@ -20,59 +20,47 @@
20
20
  export function createTimers(targetEngine) {
21
21
  const timers = new Map();
22
22
  let timerIdCounter = 0;
23
- // While a timer's callback is running this holds the time already consumed this
24
- // frame before that timer's logical fire instant (`elapsedMs - residualMs`);
25
- // `null` otherwise. A timer armed from within the callback is seeded with the
26
- // negative of this, so its delay is measured from the parent's fire instant
27
- // rather than from the start of the frame.
28
- let armContext = null;
29
23
  function system(dt) {
30
- const elapsedMs = 1000 * dt;
31
24
  for (const [timerId, timerData] of timers) {
32
- timerData.accumulatedTime += elapsedMs;
25
+ timerData.accumulatedTime += 1000 * dt;
33
26
  if (timerData.accumulatedTime < timerData.interval) {
34
27
  continue;
35
28
  }
36
- // Time elapsed past this timer's logical fire instant this frame.
37
- const residualMs = timerData.recurrent
38
- ? timerData.accumulatedTime % timerData.interval
39
- : timerData.accumulatedTime - timerData.interval;
40
29
  if (timerData.recurrent) {
41
- // Collapse any missed periods into a single callback, keep the remainder.
42
- timerData.accumulatedTime = residualMs;
30
+ // For intervals, subtract full interval periods to handle accumulated time
31
+ const fullIntervals = Math.floor(timerData.accumulatedTime / timerData.interval);
32
+ timerData.accumulatedTime -= fullIntervals * timerData.interval;
43
33
  }
44
34
  else {
45
35
  timers.delete(timerId);
46
36
  }
47
- armContext = { accruedMs: elapsedMs - residualMs };
48
37
  timerData.callback();
49
- armContext = null;
50
38
  }
51
39
  }
52
40
  targetEngine.addSystem(system, Number.MAX_SAFE_INTEGER, '@dcl/ecs/timers');
53
- function addTimer(callback, interval, recurrent) {
54
- const timerId = timerIdCounter++;
55
- let accumulatedTime = 0;
56
- if (armContext) {
57
- // Armed from inside a firing callback: this timer is appended to the map
58
- // being iterated, so the loop will still add this frame's elapsed to it.
59
- // Inherit the residual so that `+= elapsedMs` nets to the true time
60
- // elapsed since the parent fired (phase-accurate). Each successive arming
61
- // starts one interval lower, so a re-arming chain terminates this frame.
62
- accumulatedTime = -armContext.accruedMs;
63
- }
64
- timers.set(timerId, { callback, interval, recurrent, accumulatedTime });
65
- return timerId;
66
- }
67
41
  return {
68
42
  setTimeout(callback, ms) {
69
- return addTimer(callback, ms, false);
43
+ const timerId = timerIdCounter++;
44
+ timers.set(timerId, {
45
+ callback,
46
+ interval: ms,
47
+ recurrent: false,
48
+ accumulatedTime: 0
49
+ });
50
+ return timerId;
70
51
  },
71
52
  clearTimeout(timerId) {
72
53
  timers.delete(timerId);
73
54
  },
74
55
  setInterval(callback, ms) {
75
- return addTimer(callback, ms, true);
56
+ const timerId = timerIdCounter++;
57
+ timers.set(timerId, {
58
+ callback,
59
+ interval: ms,
60
+ recurrent: true,
61
+ accumulatedTime: 0
62
+ });
63
+ return timerId;
76
64
  },
77
65
  clearInterval(timerId) {
78
66
  timers.delete(timerId);