@dcl/ecs 7.24.5-28985208893.commit-8caf648 → 7.24.5-29245621744.commit-336df45

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 (295) 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 -0
  52. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  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/types.gen.d.ts +0 -1
  98. package/dist/components/generated/types.gen.js +0 -1
  99. package/dist/components/index.d.ts +11 -13
  100. package/dist/components/index.js +11 -11
  101. package/dist/components/manual/Transform.d.ts +0 -13
  102. package/dist/components/manual/Transform.js +0 -8
  103. package/dist/components/types.d.ts +3 -3
  104. package/dist/composite/index.d.ts +5 -8
  105. package/dist/composite/index.js +5 -8
  106. package/dist/composite/instance.d.ts +0 -5
  107. package/dist/composite/instance.js +25 -34
  108. package/dist/engine/entity.js +2 -4
  109. package/dist/engine/grow-only-value-set-component-definition.js +1 -1
  110. package/dist/engine/index.js +1 -2
  111. package/dist/engine/input.d.ts +6 -0
  112. package/dist/engine/input.js +10 -6
  113. package/dist/engine/lww-element-set-component-definition.d.ts +2 -2
  114. package/dist/engine/lww-element-set-component-definition.js +7 -24
  115. package/dist/index.d.ts +2 -5
  116. package/dist/index.js +1 -5
  117. package/dist/runtime/globals.d.ts +2 -1
  118. package/dist/runtime/globals.js +2 -1
  119. package/dist/runtime/helpers/coordinates.js +14 -37
  120. package/dist/runtime/helpers/index.d.ts +0 -1
  121. package/dist/runtime/helpers/index.js +0 -1
  122. package/dist/runtime/helpers/timers.js +20 -32
  123. package/dist/runtime/helpers/tree.d.ts +0 -6
  124. package/dist/runtime/helpers/tree.js +2 -2
  125. package/dist/runtime/initialization/index.d.ts +0 -7
  126. package/dist/runtime/initialization/index.js +0 -6
  127. package/dist/systems/crdt/index.js +6 -6
  128. package/dist/systems/events.d.ts +59 -25
  129. package/dist/systems/events.js +145 -129
  130. package/dist/systems/raycast.d.ts +3 -1
  131. package/dist/systems/raycast.js +2 -0
  132. package/dist/systems/triggerArea.d.ts +0 -5
  133. package/dist/systems/triggerArea.js +42 -129
  134. package/dist-cjs/components/extended/AudioSource.d.ts +3 -5
  135. package/dist-cjs/components/extended/AudioSource.js +7 -7
  136. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
  137. package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
  138. package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
  139. package/dist-cjs/components/extended/AvatarShape.js +19 -0
  140. package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
  141. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  142. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  143. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  144. package/dist-cjs/components/extended/TriggerArea.d.ts +2 -2
  145. package/dist-cjs/components/extended/Tween.d.ts +1 -48
  146. package/dist-cjs/components/extended/Tween.js +0 -66
  147. package/dist-cjs/components/generated/AvatarMovement.gen.js +28 -0
  148. package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +28 -0
  149. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  150. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  151. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  152. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  153. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  154. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  155. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  156. package/dist-cjs/components/generated/{AudioAnalysis.gen.js → TextureCamera.gen.js} +8 -8
  157. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  158. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  159. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  160. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  161. package/dist-cjs/components/generated/component-names.gen.js +10 -1
  162. package/dist-cjs/components/generated/global.gen.d.ts +20 -2
  163. package/dist-cjs/components/generated/global.gen.js +12 -3
  164. package/dist-cjs/components/generated/index.gen.d.ts +40 -4
  165. package/dist-cjs/components/generated/index.gen.js +62 -8
  166. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  167. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  169. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  170. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -6
  171. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -30
  172. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -3
  173. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -4
  174. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
  175. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +75 -0
  176. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
  177. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +132 -0
  178. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  179. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  180. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +2 -9
  181. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +1 -10
  182. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  183. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  184. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  185. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  186. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  187. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
  188. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -2
  189. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -1
  190. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  191. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  192. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  193. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  194. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  195. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  196. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  197. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  198. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  199. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  200. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +22 -3
  201. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +59 -4
  202. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  203. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  204. package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
  205. package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +5 -43
  206. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  207. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  208. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  209. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +31 -1
  210. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  211. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
  212. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  213. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  214. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +0 -8
  215. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +1 -10
  216. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
  217. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -0
  218. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  219. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  220. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  221. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  222. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  223. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
  224. package/dist-cjs/components/generated/types.gen.d.ts +0 -1
  225. package/dist-cjs/components/generated/types.gen.js +0 -3
  226. package/dist-cjs/components/index.d.ts +11 -13
  227. package/dist-cjs/components/index.js +15 -15
  228. package/dist-cjs/components/manual/Transform.d.ts +0 -13
  229. package/dist-cjs/components/manual/Transform.js +0 -31
  230. package/dist-cjs/components/types.d.ts +3 -3
  231. package/dist-cjs/composite/index.d.ts +5 -8
  232. package/dist-cjs/composite/index.js +6 -11
  233. package/dist-cjs/composite/instance.d.ts +0 -5
  234. package/dist-cjs/composite/instance.js +25 -34
  235. package/dist-cjs/engine/entity.js +2 -4
  236. package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
  237. package/dist-cjs/engine/index.js +1 -2
  238. package/dist-cjs/engine/input.d.ts +6 -0
  239. package/dist-cjs/engine/input.js +10 -6
  240. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +2 -2
  241. package/dist-cjs/engine/lww-element-set-component-definition.js +7 -24
  242. package/dist-cjs/index.d.ts +2 -5
  243. package/dist-cjs/index.js +2 -6
  244. package/dist-cjs/runtime/globals.d.ts +2 -1
  245. package/dist-cjs/runtime/globals.js +2 -1
  246. package/dist-cjs/runtime/helpers/coordinates.js +14 -37
  247. package/dist-cjs/runtime/helpers/index.d.ts +0 -1
  248. package/dist-cjs/runtime/helpers/index.js +0 -1
  249. package/dist-cjs/runtime/helpers/timers.js +20 -32
  250. package/dist-cjs/runtime/helpers/tree.d.ts +0 -6
  251. package/dist-cjs/runtime/helpers/tree.js +2 -3
  252. package/dist-cjs/runtime/initialization/index.d.ts +0 -7
  253. package/dist-cjs/runtime/initialization/index.js +1 -7
  254. package/dist-cjs/systems/crdt/index.js +6 -6
  255. package/dist-cjs/systems/events.d.ts +59 -25
  256. package/dist-cjs/systems/events.js +145 -129
  257. package/dist-cjs/systems/raycast.d.ts +3 -1
  258. package/dist-cjs/systems/raycast.js +2 -0
  259. package/dist-cjs/systems/triggerArea.d.ts +0 -5
  260. package/dist-cjs/systems/triggerArea.js +42 -129
  261. package/package.json +2 -3
  262. package/dist/components/extended/AudioAnalysis.d.ts +0 -55
  263. package/dist/components/extended/AudioAnalysis.js +0 -66
  264. package/dist/components/extended/ParticleSystem.d.ts +0 -24
  265. package/dist/components/extended/ParticleSystem.js +0 -23
  266. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
  267. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -161
  268. package/dist/composite/provider-registry.d.ts +0 -15
  269. package/dist/composite/provider-registry.js +0 -32
  270. package/dist/runtime/helpers/vectors.js +0 -36
  271. package/dist/systems/physics-force.js +0 -140
  272. package/dist/systems/physics-impulse.d.ts +0 -12
  273. package/dist/systems/physics-impulse.js +0 -85
  274. package/dist/systems/physics.d.ts +0 -77
  275. package/dist/systems/physics.js +0 -18
  276. package/dist-cjs/components/extended/AudioAnalysis.d.ts +0 -55
  277. package/dist-cjs/components/extended/AudioAnalysis.js +0 -70
  278. package/dist-cjs/components/extended/ParticleSystem.d.ts +0 -24
  279. package/dist-cjs/components/extended/ParticleSystem.js +0 -28
  280. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
  281. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -167
  282. package/dist-cjs/composite/provider-registry.d.ts +0 -15
  283. package/dist-cjs/composite/provider-registry.js +0 -37
  284. package/dist-cjs/runtime/helpers/vectors.js +0 -39
  285. package/dist-cjs/systems/physics-force.js +0 -167
  286. package/dist-cjs/systems/physics-impulse.d.ts +0 -12
  287. package/dist-cjs/systems/physics-impulse.js +0 -112
  288. package/dist-cjs/systems/physics.d.ts +0 -77
  289. package/dist-cjs/systems/physics.js +0 -23
  290. /package/dist-cjs/components/generated/{AudioAnalysis.gen.d.ts → AvatarMovement.gen.d.ts} +0 -0
  291. /package/dist-cjs/{runtime/helpers/vectors.d.ts → components/generated/AvatarMovementInfo.gen.d.ts} +0 -0
  292. /package/dist-cjs/{systems/physics-force.d.ts → components/generated/CameraLayer.gen.d.ts} +0 -0
  293. /package/{dist/components/generated/AudioAnalysis.gen.d.ts → dist-cjs/components/generated/CameraLayers.gen.d.ts} +0 -0
  294. /package/{dist/runtime/helpers/vectors.d.ts → dist-cjs/components/generated/GlobalLight.gen.d.ts} +0 -0
  295. /package/{dist/systems/physics-force.d.ts → dist-cjs/components/generated/GltfNode.gen.d.ts} +0 -0
@@ -18,14 +18,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
18
18
  EventType[EventType["Up"] = 2] = "Up";
19
19
  EventType[EventType["HoverEnter"] = 3] = "HoverEnter";
20
20
  EventType[EventType["HoverLeave"] = 4] = "HoverLeave";
21
- EventType[EventType["ProximityEnter"] = 5] = "ProximityEnter";
22
- EventType[EventType["ProximityLeave"] = 6] = "ProximityLeave";
21
+ EventType[EventType["Drag"] = 5] = "Drag";
22
+ EventType[EventType["DragLocked"] = 6] = "DragLocked";
23
+ EventType[EventType["DragEnd"] = 7] = "DragEnd";
23
24
  })(EventType || (EventType = {}));
24
25
  const eventsMap = new Map();
25
26
  function getEvent(entity) {
26
27
  return eventsMap.get(entity) || eventsMap.set(entity, new Map()).get(entity);
27
28
  }
28
- function setPointerEvent(entity, type, opts, interactionType = 0 /* InteractionType.CURSOR */) {
29
+ function setPointerEvent(entity, type, opts) {
29
30
  const pointerEvent = PointerEvents.getMutableOrNull(entity) || PointerEvents.create(entity);
30
31
  pointerEvent.pointerEvents.push({
31
32
  eventType: type,
@@ -35,19 +36,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
35
36
  showHighlight: opts.showHighlight,
36
37
  hoverText: opts.hoverText,
37
38
  maxDistance: opts.maxDistance,
38
- maxPlayerDistance: opts.maxPlayerDistance,
39
- priority: opts.priority
40
- },
41
- interactionType: interactionType ?? 0 /* InteractionType.CURSOR */
39
+ maxPlayerDistance: opts.maxPlayerDistance
40
+ }
42
41
  });
43
42
  }
44
- function removePointerEvent(entity, type, button, interactionType = 0 /* InteractionType.CURSOR */) {
43
+ function removePointerEvent(entity, type, button) {
45
44
  const pointerEvent = PointerEvents.getMutableOrNull(entity);
46
45
  if (!pointerEvent)
47
46
  return;
48
- pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button &&
49
- pointer.eventType === type &&
50
- pointer.interactionType === interactionType));
47
+ pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button && pointer.eventType === type));
51
48
  }
52
49
  function getPointerEvent(eventType) {
53
50
  if (eventType === EventType.Up) {
@@ -59,117 +56,148 @@ export function createPointerEventsSystem(engine, inputSystem) {
59
56
  else if (eventType === EventType.HoverEnter) {
60
57
  return 2 /* PointerEventType.PET_HOVER_ENTER */;
61
58
  }
62
- else if (eventType === EventType.ProximityEnter) {
63
- return 4 /* PointerEventType.PET_PROXIMITY_ENTER */;
59
+ else if (eventType === EventType.Drag) {
60
+ return 7 /* PointerEventType.PET_DRAG */;
61
+ }
62
+ else if (eventType === EventType.DragLocked) {
63
+ return 6 /* PointerEventType.PET_DRAG_LOCKED */;
64
64
  }
65
- else if (eventType === EventType.ProximityLeave) {
66
- return 5 /* PointerEventType.PET_PROXIMITY_LEAVE */;
65
+ else if (eventType === EventType.DragEnd) {
66
+ return 8 /* PointerEventType.PET_DRAG_END */;
67
67
  }
68
68
  return 1 /* PointerEventType.PET_DOWN */;
69
69
  }
70
- function removeEvent(entity, type, interactionType = 0 /* InteractionType.CURSOR */) {
70
+ function getEventType(pet) {
71
+ if (pet === 0 /* PointerEventType.PET_UP */) {
72
+ return EventType.Up;
73
+ }
74
+ else if (pet === 2 /* PointerEventType.PET_HOVER_ENTER */) {
75
+ return EventType.HoverEnter;
76
+ }
77
+ else if (pet === 3 /* PointerEventType.PET_HOVER_LEAVE */) {
78
+ return EventType.HoverLeave;
79
+ }
80
+ else if (pet === 7 /* PointerEventType.PET_DRAG */) {
81
+ return EventType.Drag;
82
+ }
83
+ else if (pet === 6 /* PointerEventType.PET_DRAG_LOCKED */) {
84
+ return EventType.DragLocked;
85
+ }
86
+ else if (pet === 8 /* PointerEventType.PET_DRAG_END */) {
87
+ return EventType.DragEnd;
88
+ }
89
+ else {
90
+ return EventType.Down;
91
+ }
92
+ }
93
+ function removeEvent(entity, type) {
71
94
  const event = getEvent(entity);
72
- const pointerEvent = event.get(type);
73
- if (pointerEvent?.opts.hoverText) {
74
- removePointerEvent(entity, getPointerEvent(type), pointerEvent.opts.button);
95
+ const pointerEventList = event.get(type);
96
+ if (pointerEventList === undefined) {
97
+ return;
98
+ }
99
+ for (const button of pointerEventList.keys()) {
100
+ removePointerEvent(entity, getPointerEvent(type), button);
75
101
  }
76
102
  event.delete(type);
77
103
  }
78
104
  engine.addSystem(function EventSystem() {
79
- for (const [entity, event] of eventsMap) {
105
+ if (eventsMap.size === 0) {
106
+ return;
107
+ }
108
+ for (const entity of eventsMap.keys()) {
80
109
  if (engine.getEntityState(entity) === EntityState.Removed) {
81
110
  eventsMap.delete(entity);
111
+ }
112
+ }
113
+ for (const command of inputSystem.getInputCommands()) {
114
+ const entity = command.hit?.entityId;
115
+ if (entity === undefined) {
116
+ continue;
117
+ }
118
+ const entityMap = eventsMap.get(entity);
119
+ if (entityMap === undefined) {
82
120
  continue;
83
121
  }
84
- for (const [eventType, { cb, opts }] of event) {
85
- if (eventType === EventType.Click) {
86
- const command = inputSystem.getClick(opts.button, entity);
87
- if (command)
88
- checkNotThenable(cb(command.up), 'Click event returned a thenable. Only synchronous functions are allowed');
122
+ const typeMap = entityMap.get(getEventType(command.state));
123
+ if (typeMap) {
124
+ const data = typeMap.get(command.button);
125
+ if (data) {
126
+ checkNotThenable(data.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
89
127
  }
90
- if (eventType === EventType.Down ||
91
- eventType === EventType.Up ||
92
- eventType === EventType.HoverEnter ||
93
- eventType === EventType.HoverLeave ||
94
- eventType === EventType.ProximityEnter ||
95
- eventType === EventType.ProximityLeave) {
96
- const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
97
- if (command) {
98
- checkNotThenable(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
128
+ const anyData = typeMap.get(3 /* InputAction.IA_ANY */);
129
+ if (anyData) {
130
+ checkNotThenable(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
131
+ }
132
+ }
133
+ // check clicks separately
134
+ if (command.state === 0 /* PointerEventType.PET_UP */) {
135
+ const clickMap = entityMap.get(EventType.Click);
136
+ if (clickMap) {
137
+ const data = clickMap.get(command.button);
138
+ if (data && inputSystem.getClick(command.button, entity)) {
139
+ checkNotThenable(data.cb(command), 'Click event returned a thenable. Only synchronous functions are allowed');
140
+ }
141
+ const anyData = clickMap.get(3 /* InputAction.IA_ANY */);
142
+ if (anyData && inputSystem.getClick(command.button, entity)) {
143
+ checkNotThenable(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
99
144
  }
100
145
  }
101
146
  }
102
147
  }
103
148
  });
104
- const onPointerDown = (...args) => {
105
- const [data, cb, maybeOpts] = args;
106
- if (typeof data === 'number') {
107
- return onPointerDown({ entity: data, opts: maybeOpts ?? {} }, cb);
108
- }
109
- const { entity, opts } = data;
110
- const options = getDefaultOpts(opts);
111
- removeEvent(entity, EventType.Down);
112
- getEvent(entity).set(EventType.Down, { cb, opts: options });
113
- setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
114
- };
115
- const onPointerUp = (...args) => {
116
- const [data, cb, maybeOpts] = args;
117
- if (typeof data === 'number') {
118
- return onPointerUp({ entity: data, opts: maybeOpts ?? {} }, cb);
119
- }
120
- const { entity, opts } = data;
121
- const options = getDefaultOpts(opts);
122
- removeEvent(entity, EventType.Up);
123
- getEvent(entity).set(EventType.Up, { cb, opts: options });
124
- setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options);
125
- };
126
- const onPointerHoverEnter = (...args) => {
127
- const [data, cb] = args;
128
- const { entity, opts } = data;
129
- const options = getDefaultOpts(opts);
130
- removeEvent(entity, EventType.HoverEnter);
131
- getEvent(entity).set(EventType.HoverEnter, { cb, opts: options });
132
- setPointerEvent(entity, 2 /* PointerEventType.PET_HOVER_ENTER */, options);
133
- };
134
- const onPointerHoverLeave = (...args) => {
135
- const [data, cb] = args;
136
- const { entity, opts } = data;
137
- const options = getDefaultOpts(opts);
138
- removeEvent(entity, EventType.HoverLeave);
139
- getEvent(entity).set(EventType.HoverLeave, { cb, opts: options });
140
- setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
141
- };
142
- const onProximityDown = (...args) => {
143
- const [data, cb] = args;
144
- const { entity, opts } = data;
145
- const options = getDefaultOpts(opts);
146
- removeEvent(entity, EventType.Down, 1 /* InteractionType.PROXIMITY */);
147
- getEvent(entity).set(EventType.Down, { cb, opts: options });
148
- setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options, 1 /* InteractionType.PROXIMITY */);
149
- };
150
- const onProximityUp = (...args) => {
151
- const [data, cb] = args;
152
- const { entity, opts } = data;
153
- const options = getDefaultOpts(opts);
154
- removeEvent(entity, EventType.Up, 1 /* InteractionType.PROXIMITY */);
155
- getEvent(entity).set(EventType.Up, { cb, opts: options });
156
- setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options, 1 /* InteractionType.PROXIMITY */);
157
- };
158
- const onProximityEnter = (...args) => {
159
- const [data, cb] = args;
160
- const { entity, opts } = data;
161
- const options = getDefaultOpts(opts);
162
- removeEvent(entity, EventType.ProximityEnter, 1 /* InteractionType.PROXIMITY */);
163
- getEvent(entity).set(EventType.ProximityEnter, { cb, opts: options });
164
- setPointerEvent(entity, 4 /* PointerEventType.PET_PROXIMITY_ENTER */, options, 1 /* InteractionType.PROXIMITY */);
165
- };
166
- const onProximityLeave = (...args) => {
167
- const [data, cb] = args;
168
- const { entity, opts } = data;
169
- const options = getDefaultOpts(opts);
170
- removeEvent(entity, EventType.ProximityLeave, 1 /* InteractionType.PROXIMITY */);
171
- getEvent(entity).set(EventType.ProximityLeave, { cb, opts: options });
172
- setPointerEvent(entity, 5 /* PointerEventType.PET_PROXIMITY_LEAVE */, options, 1 /* InteractionType.PROXIMITY */);
149
+ // return a function with the correct event type.
150
+ // we use onPointerDown as the "archetype" for the returned function, but it fits with
151
+ // all the onPointer* declarations
152
+ const onPointerFunction = (ty) => {
153
+ return (arg0, arg1, arg2) => {
154
+ let entity;
155
+ let optsList;
156
+ if (typeof arg0 === 'number') {
157
+ // called as onPointerDown(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void
158
+ entity = arg0;
159
+ const cb = arg1;
160
+ const opts = arg2;
161
+ optsList = [{ cb, ...getDefaultOpts(opts) }];
162
+ }
163
+ else if (typeof arg1 === 'function') {
164
+ // called as onPointerDown(pointerData: { entity: Entity; opts?: Partial<EventSystemOptions> }, cb: EventSystemCallback): void
165
+ const { entity: e, opts } = arg0;
166
+ const cb = arg1;
167
+ entity = e;
168
+ optsList = [{ cb, ...getDefaultOpts(opts) }];
169
+ }
170
+ else {
171
+ // called as onPointerDown(pointerData: { entity: Entity; optsList: EventSystemOptionsCallback[] }): void
172
+ const { entity: e, optsList: o } = arg0;
173
+ entity = e;
174
+ optsList = o;
175
+ }
176
+ const previous = getEvent(entity).get(ty) ?? new Map();
177
+ const callbacks = new Map();
178
+ for (const opts of optsList) {
179
+ const prevOpts = previous.get(opts.button);
180
+ if (prevOpts !== undefined) {
181
+ if (prevOpts.hoverText !== opts.hoverText ||
182
+ prevOpts.maxDistance !== opts.maxDistance ||
183
+ prevOpts.showFeedback !== opts.showFeedback ||
184
+ prevOpts.showHighlight !== opts.showHighlight) {
185
+ removePointerEvent(entity, getPointerEvent(ty), opts.button);
186
+ setPointerEvent(entity, getPointerEvent(ty), opts);
187
+ }
188
+ }
189
+ else {
190
+ setPointerEvent(entity, getPointerEvent(ty), opts);
191
+ }
192
+ callbacks.set(opts.button, opts);
193
+ }
194
+ for (const button of previous.keys()) {
195
+ if (!callbacks.has(button)) {
196
+ removePointerEvent(entity, getPointerEvent(ty), button);
197
+ }
198
+ }
199
+ getEvent(entity).set(ty, callbacks);
200
+ };
173
201
  };
174
202
  return {
175
203
  removeOnClick(entity) {
@@ -187,34 +215,22 @@ export function createPointerEventsSystem(engine, inputSystem) {
187
215
  removeOnPointerHoverLeave(entity) {
188
216
  removeEvent(entity, EventType.HoverLeave);
189
217
  },
190
- removeOnProximityDown(entity) {
191
- removeEvent(entity, EventType.Down, 1 /* InteractionType.PROXIMITY */);
192
- },
193
- removeOnProximityUp(entity) {
194
- removeEvent(entity, EventType.Up, 1 /* InteractionType.PROXIMITY */);
218
+ removeOnPointerDrag(entity) {
219
+ removeEvent(entity, EventType.Drag);
195
220
  },
196
- removeOnProximityEnter(entity) {
197
- removeEvent(entity, EventType.ProximityEnter, 1 /* InteractionType.PROXIMITY */);
221
+ removeOnPointerDragLocked(entity) {
222
+ removeEvent(entity, EventType.DragLocked);
198
223
  },
199
- removeOnProximityLeave(entity) {
200
- removeEvent(entity, EventType.ProximityLeave, 1 /* InteractionType.PROXIMITY */);
201
- },
202
- onClick(value, cb) {
203
- const { entity } = value;
204
- const options = getDefaultOpts(value.opts);
205
- // Clear previous event with over feedback included
206
- removeEvent(entity, EventType.Click);
207
- // Set new event
208
- getEvent(entity).set(EventType.Click, { cb, opts: options });
209
- setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
224
+ removeOnPointerDragEnd(entity) {
225
+ removeEvent(entity, EventType.DragEnd);
210
226
  },
211
- onPointerDown,
212
- onPointerUp,
213
- onPointerHoverEnter,
214
- onPointerHoverLeave,
215
- onProximityDown,
216
- onProximityUp,
217
- onProximityEnter,
218
- onProximityLeave
227
+ onClick: onPointerFunction(EventType.Click),
228
+ onPointerDown: onPointerFunction(EventType.Down),
229
+ onPointerUp: onPointerFunction(EventType.Up),
230
+ onPointerHoverEnter: onPointerFunction(EventType.HoverEnter),
231
+ onPointerHoverLeave: onPointerFunction(EventType.HoverLeave),
232
+ onPointerDrag: onPointerFunction(EventType.Drag),
233
+ onPointerDragLocked: onPointerFunction(EventType.DragLocked),
234
+ onPointerDragEnd: onPointerFunction(EventType.DragEnd)
219
235
  };
220
236
  }
@@ -1,4 +1,4 @@
1
- import { RaycastQueryType, PBRaycastResult } from '../components';
1
+ import { RaycastQueryType, RaycastShape, PBRaycastResult } from '../components';
2
2
  import { DeepReadonlyObject, Entity } from '../engine';
3
3
  import { Vector3 } from '../components/generated/pb/decentraland/common/vectors.gen';
4
4
  /**
@@ -14,6 +14,8 @@ export type RaycastSystemOptions = {
14
14
  queryType: RaycastQueryType;
15
15
  continuous?: boolean | undefined;
16
16
  collisionMask?: number | undefined;
17
+ shape?: RaycastShape | undefined;
18
+ includeWorld?: boolean | undefined;
17
19
  };
18
20
  export type LocalDirectionRaycastSystemOptions = {
19
21
  direction?: Vector3;
@@ -58,6 +58,8 @@ export function createRaycastSystem(engine) {
58
58
  raycast.direction = raycastValue.directionRawValue;
59
59
  raycast.continuous = raycastValue.continuous;
60
60
  raycast.queryType = raycastValue.queryType;
61
+ raycast.shape = raycastValue.shape;
62
+ raycast.includeWorld = raycastValue.includeWorld;
61
63
  entitiesCallbackResultMap.set(entity, { callback: callback });
62
64
  };
63
65
  nextTickRaycasts.push(onNextTick);
@@ -26,11 +26,6 @@ export interface TriggerAreaEventsSystem {
26
26
  * Execute callback when an entity stays in the Trigger Area
27
27
  * @param entity - The entity that already has the TriggerArea component
28
28
  * @param cb - Function to execute the 'Stay' type of result is detected
29
- *
30
- * Note: stay callbacks are synthesized by the SDK on every tick between a wire ENTER and a wire EXIT.
31
- * Wire-level TAET_STAY events (still emitted by legacy Explorers) are ignored entirely — they neither
32
- * fire callbacks nor mutate state. The SDK is the sole source of onTriggerStay dispatches, driven
33
- * from the ENTER/EXIT state machine.
34
29
  */
35
30
  onTriggerStay(entity: Entity, cb: TriggerAreaEventSystemCallback): void;
36
31
  /**
@@ -1,57 +1,10 @@
1
1
  import * as components from '../components';
2
2
  import { EntityState } from '../engine/entity';
3
- /**
4
- * Builds a synthetic PBTriggerAreaResult for a per-tick onStay callback.
5
- *
6
- * Transform components are resolved at call time so that scene-owned entities report
7
- * up-to-date position/rotation/scale. For player-avatar triggerers (reserved entities
8
- * without a scene-side Transform), there is no scene Transform component, so the cached
9
- * values from the last ENTER or wire-STAY event are used as-is. These cached values may
10
- * be slightly stale for the current frame — this is expected and acceptable for the
11
- * avatar case.
12
- */
13
- function buildSyntheticStayResult(cached, triggerAreaEntity, triggererEntity, currentTimestamp, Transform) {
14
- // Shallow-clone the trigger sub-object so we can mutate it.
15
- const trigger = cached.trigger
16
- ? {
17
- entity: cached.trigger.entity,
18
- layers: cached.trigger.layers,
19
- position: cached.trigger.position ? { ...cached.trigger.position } : undefined,
20
- rotation: cached.trigger.rotation ? { ...cached.trigger.rotation } : undefined,
21
- scale: cached.trigger.scale ? { ...cached.trigger.scale } : undefined
22
- }
23
- : undefined;
24
- // Build the cloned result with a forced TAET_STAY eventType and refreshed timestamp.
25
- const result = {
26
- triggeredEntity: cached.triggeredEntity,
27
- triggeredEntityPosition: cached.triggeredEntityPosition ? { ...cached.triggeredEntityPosition } : undefined,
28
- triggeredEntityRotation: cached.triggeredEntityRotation ? { ...cached.triggeredEntityRotation } : undefined,
29
- eventType: 1 /* TriggerAreaEventType.TAET_STAY */,
30
- timestamp: currentTimestamp,
31
- trigger
32
- };
33
- // Refresh trigger-area entity transform when it is scene-owned.
34
- const triggerAreaTransform = Transform.getOrNull(triggerAreaEntity);
35
- if (triggerAreaTransform !== null) {
36
- result.triggeredEntityPosition = { ...triggerAreaTransform.position };
37
- result.triggeredEntityRotation = { ...triggerAreaTransform.rotation };
38
- }
39
- // Refresh triggerer transform when it is scene-owned.
40
- // For player-avatar entities (reserved, no scene-side Transform) the cached values are kept.
41
- const triggererTransform = Transform.getOrNull(triggererEntity);
42
- if (triggererTransform !== null && result.trigger) {
43
- result.trigger.position = { ...triggererTransform.position };
44
- result.trigger.rotation = { ...triggererTransform.rotation };
45
- result.trigger.scale = { ...triggererTransform.scale };
46
- }
47
- return result;
48
- }
49
3
  /**
50
4
  * @internal
51
5
  */
52
6
  export function createTriggerAreaEventsSystem(engine) {
53
7
  const triggerAreaResultComponent = components.TriggerAreaResult(engine);
54
- const Transform = components.Transform(engine);
55
8
  const entitiesMap = new Map();
56
9
  function hasCallbacksMap(entity) {
57
10
  return entitiesMap.has(entity) && entitiesMap.get(entity) !== undefined;
@@ -63,8 +16,7 @@ export function createTriggerAreaEventsSystem(engine) {
63
16
  else {
64
17
  entitiesMap.set(entity, {
65
18
  triggerCallbackMap: new Map([[triggerType, callback]]),
66
- lastConsumedTimestamp: -1,
67
- insideTriggerers: new Map()
19
+ lastConsumedTimestamp: -1
68
20
  });
69
21
  }
70
22
  }
@@ -73,9 +25,7 @@ export function createTriggerAreaEventsSystem(engine) {
73
25
  return;
74
26
  const triggerCallbackMap = entitiesMap.get(entity).triggerCallbackMap;
75
27
  triggerCallbackMap.delete(triggerType);
76
- // Remove entity if no more trigger callbacks are registered.
77
- // insideTriggerers is intentionally left populated so that re-subscription picks up
78
- // in-flight sessions without missing the first synthesized onStay.
28
+ // Remove entity if no more trigger callbacks are registered
79
29
  if (triggerCallbackMap.size === 0)
80
30
  entitiesMap.delete(entity);
81
31
  }
@@ -105,88 +55,51 @@ export function createTriggerAreaEventsSystem(engine) {
105
55
  continue;
106
56
  }
107
57
  const result = triggerAreaResultComponent.get(entity);
108
- // -----------------------------------------------------------------------
109
- // Pass 1: drain new GOVS events
110
- // -----------------------------------------------------------------------
111
- // The Explorer may be taking time before the result component is put.
112
- if (result.size > 0) {
113
- const values = Array.from(result.values());
114
- // Determine starting index for new values (more than one could be added between System updates).
115
- // Search backwards to find the anchor at lastConsumedTimestamp.
116
- let startIndex = 0;
117
- if (data.lastConsumedTimestamp >= 0) {
118
- const newestTimestamp = values[values.length - 1].timestamp;
119
- // If nothing new, skip processing.
120
- if (newestTimestamp > data.lastConsumedTimestamp) {
121
- // Find index of value with the lastConsumedTimestamp.
122
- let i = values.length - 2;
123
- while (i >= 0 && values[i].timestamp > data.lastConsumedTimestamp)
124
- i--;
125
- // Mark the following value index as the starting point to trigger all the new value callbacks.
126
- startIndex = i + 1;
127
- }
128
- else {
129
- // No new events — skip to Pass 2.
130
- startIndex = values.length;
131
- }
132
- }
133
- if (startIndex < values.length) {
134
- // Process new wire events in chronological order.
135
- for (let i = startIndex; i < values.length; i++) {
136
- const event = values[i];
137
- switch (event.eventType) {
138
- case 0 /* TriggerAreaEventType.TAET_ENTER */:
139
- // Update in-flight tracking before firing the callback.
140
- data.insideTriggerers.set(event.trigger.entity, {
141
- triggeredEntity: event.triggeredEntity,
142
- triggeredEntityPosition: event.triggeredEntityPosition
143
- ? { ...event.triggeredEntityPosition }
144
- : undefined,
145
- triggeredEntityRotation: event.triggeredEntityRotation
146
- ? { ...event.triggeredEntityRotation }
147
- : undefined,
148
- eventType: event.eventType,
149
- timestamp: event.timestamp,
150
- trigger: event.trigger
151
- ? {
152
- entity: event.trigger.entity,
153
- layers: event.trigger.layers,
154
- position: event.trigger.position ? { ...event.trigger.position } : undefined,
155
- rotation: event.trigger.rotation ? { ...event.trigger.rotation } : undefined,
156
- scale: event.trigger.scale ? { ...event.trigger.scale } : undefined
157
- }
158
- : undefined
159
- });
160
- if (data.triggerCallbackMap.has(0 /* TriggerAreaEventType.TAET_ENTER */)) {
161
- data.triggerCallbackMap.get(0 /* TriggerAreaEventType.TAET_ENTER */)(event);
162
- }
163
- break;
164
- case 2 /* TriggerAreaEventType.TAET_EXIT */:
165
- data.insideTriggerers.delete(event.trigger.entity);
166
- if (data.triggerCallbackMap.has(2 /* TriggerAreaEventType.TAET_EXIT */)) {
167
- data.triggerCallbackMap.get(2 /* TriggerAreaEventType.TAET_EXIT */)(event);
168
- }
169
- break;
170
- // Wire-level TAET_STAY and any unknown event types are ignored — no callback, no state mutation.
171
- }
172
- }
173
- data.lastConsumedTimestamp = values[values.length - 1].timestamp;
58
+ // The Explorer may be taking time before the result component is put
59
+ if (result.size === 0)
60
+ continue;
61
+ const values = Array.from(result.values());
62
+ // determine starting index for new values (more than one could be added between System updates)
63
+ // search backwards to find the anchor at lastConsumedTimestamp
64
+ let startIndex = 0;
65
+ if (data.lastConsumedTimestamp >= 0) {
66
+ const newestTimestamp = values[values.length - 1].timestamp;
67
+ // if nothing new, skip processing
68
+ if (newestTimestamp <= data.lastConsumedTimestamp) {
69
+ continue;
174
70
  }
71
+ // Find index of value with the lastConsumedTimestamp
72
+ let i = values.length - 2;
73
+ while (i >= 0 && values[i].timestamp > data.lastConsumedTimestamp)
74
+ i--;
75
+ // Mark the following value index as the starting point to trigger all the new value callbacks
76
+ startIndex = i + 1;
175
77
  }
176
- // -----------------------------------------------------------------------
177
- // Pass 2: synthesize per-tick onStay callbacks
178
- // -----------------------------------------------------------------------
179
- // Only run if an onStay callback is registered and there are tracked triggerers.
180
- if (data.triggerCallbackMap.has(1 /* TriggerAreaEventType.TAET_STAY */) &&
181
- data.insideTriggerers.size > 0) {
182
- const onStay = data.triggerCallbackMap.get(1 /* TriggerAreaEventType.TAET_STAY */);
183
- const currentTimestamp = Date.now();
184
- for (const [triggererEntity, cachedResult] of data.insideTriggerers) {
185
- onStay(buildSyntheticStayResult(cachedResult, entity, triggererEntity, currentTimestamp, Transform));
78
+ if (startIndex >= values.length)
79
+ continue;
80
+ // Trigger callbacks for all the new values
81
+ for (let i = startIndex; i < values.length; i++) {
82
+ switch (values[i].eventType) {
83
+ case 0 /* TriggerAreaEventType.TAET_ENTER */:
84
+ if (!data.triggerCallbackMap.has(0 /* TriggerAreaEventType.TAET_ENTER */))
85
+ continue;
86
+ data.triggerCallbackMap.get(0 /* TriggerAreaEventType.TAET_ENTER */)(values[i]);
87
+ break;
88
+ case 1 /* TriggerAreaEventType.TAET_STAY */:
89
+ if (!data.triggerCallbackMap.has(1 /* TriggerAreaEventType.TAET_STAY */))
90
+ continue;
91
+ data.triggerCallbackMap.get(1 /* TriggerAreaEventType.TAET_STAY */)(values[i]);
92
+ break;
93
+ case 2 /* TriggerAreaEventType.TAET_EXIT */:
94
+ if (!data.triggerCallbackMap.has(2 /* TriggerAreaEventType.TAET_EXIT */))
95
+ continue;
96
+ data.triggerCallbackMap.get(2 /* TriggerAreaEventType.TAET_EXIT */)(values[i]);
97
+ break;
186
98
  }
187
99
  }
100
+ data.lastConsumedTimestamp = values[values.length - 1].timestamp;
188
101
  }
189
- // Clean up garbage entries.
102
+ // Clean up garbage entries
190
103
  garbageEntries.forEach((garbageEntity) => entitiesMap.delete(garbageEntity));
191
104
  });
192
105
  return {
@@ -8,13 +8,11 @@ export interface AudioSourceComponentDefinitionExtended extends LastWriteWinElem
8
8
  /**
9
9
  * @public
10
10
  *
11
- * Play the sound `src` on the given entity. Creates the AudioSource component
12
- * if it does not yet exist. Always emits a CRDT PUT, so repeated calls with
13
- * identical parameters reliably retrigger playback.
14
- * @param entity - target entity (AudioSource will be created if missing)
11
+ * Set playing=true the sound `$name`
12
+ * @param entity - entity with AudioSource component
15
13
  * @param src - the path to the sound to play
16
14
  * @param resetCursor - the sound starts at 0 or continues from the current cursor position
17
- * @returns always true; retained for backwards compatibility
15
+ * @returns true in successful playing, false if it doesn't find the AudioSource component
18
16
  */
19
17
  playSound(entity: Entity, src: string, resetCursor?: boolean): boolean;
20
18
  /**
@@ -7,13 +7,13 @@ function defineAudioSourceComponent(engine) {
7
7
  return {
8
8
  ...theComponent,
9
9
  playSound(entity, src, resetCursor = true) {
10
- const existing = theComponent.getOrNull(entity);
11
- theComponent.createOrReplace(entity, {
12
- ...existing,
13
- audioClipUrl: src,
14
- playing: true,
15
- currentTime: resetCursor ? 0 : existing?.currentTime ?? 0
16
- });
10
+ // Get the mutable to modify
11
+ const audioSource = theComponent.getMutableOrNull(entity);
12
+ if (!audioSource)
13
+ return false;
14
+ audioSource.audioClipUrl = src;
15
+ audioSource.playing = true;
16
+ audioSource.currentTime = resetCursor ? 0 : audioSource.currentTime;
17
17
  return true;
18
18
  },
19
19
  stopSound(entity, resetCursor = true) {
@@ -0,0 +1,10 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBAvatarEquippedData } from '../generated/pb/decentraland/sdk/components/avatar_equipped_data.gen';
3
+ /**
4
+ * @public
5
+ */
6
+ export type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
7
+ export type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
8
+ forceRender?: string[] | undefined;
9
+ };
10
+ export declare function defineAvatarEquippedDataComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarEquippedDataComponentDefinitionExtended;