@dcl/ecs 7.24.5-29247185020.commit-e92dfe6 → 7.24.5-29264961047.commit-77493c3

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/AudioAnalysis.d.ts +55 -0
  2. package/dist/components/extended/AudioAnalysis.js +66 -0
  3. package/dist/components/extended/AudioSource.d.ts +5 -3
  4. package/dist/components/extended/AudioSource.js +7 -7
  5. package/dist/components/extended/MeshCollider.d.ts +0 -8
  6. package/dist/components/extended/MeshCollider.js +0 -6
  7. package/dist/components/extended/MeshRenderer.d.ts +0 -8
  8. package/dist/components/extended/MeshRenderer.js +0 -5
  9. package/dist/components/extended/ParticleSystem.d.ts +24 -0
  10. package/dist/components/extended/ParticleSystem.js +23 -0
  11. package/dist/components/extended/TriggerArea.d.ts +2 -2
  12. package/dist/components/extended/Tween.d.ts +48 -1
  13. package/dist/components/extended/Tween.js +66 -0
  14. package/dist/components/generated/{TextureCamera.gen.js → AudioAnalysis.gen.js} +7 -7
  15. package/dist/components/generated/component-names.gen.js +1 -10
  16. package/dist/components/generated/global.gen.d.ts +2 -20
  17. package/dist/components/generated/global.gen.js +1 -10
  18. package/dist/components/generated/index.gen.d.ts +4 -40
  19. package/dist/components/generated/index.gen.js +5 -50
  20. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
  21. package/dist/components/generated/pb/decentraland/common/texture.gen.js +0 -65
  22. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +37 -0
  23. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +161 -0
  24. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
  25. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
  26. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +6 -0
  27. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +30 -0
  28. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +3 -44
  29. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +3 -151
  30. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
  31. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
  32. package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +9 -2
  33. package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.js +10 -1
  34. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
  35. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +1 -119
  36. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -4
  37. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +1 -3
  38. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
  39. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
  40. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
  41. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +1 -57
  42. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +3 -22
  43. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +3 -58
  44. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
  45. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +0 -56
  46. package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +14 -1
  47. package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +42 -4
  48. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
  49. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
  50. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
  51. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +0 -30
  52. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +8 -0
  53. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +10 -1
  54. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +0 -4
  55. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +0 -20
  56. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
  57. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
  58. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
  59. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +0 -90
  60. package/dist/components/generated/types.gen.d.ts +1 -0
  61. package/dist/components/generated/types.gen.js +1 -0
  62. package/dist/components/index.d.ts +13 -11
  63. package/dist/components/index.js +11 -11
  64. package/dist/components/manual/Transform.d.ts +13 -0
  65. package/dist/components/manual/Transform.js +8 -0
  66. package/dist/components/types.d.ts +3 -3
  67. package/dist/composite/index.d.ts +8 -5
  68. package/dist/composite/index.js +8 -5
  69. package/dist/composite/instance.d.ts +5 -0
  70. package/dist/composite/instance.js +34 -25
  71. package/dist/composite/provider-registry.d.ts +15 -0
  72. package/dist/composite/provider-registry.js +32 -0
  73. package/dist/engine/entity.js +4 -2
  74. package/dist/engine/grow-only-value-set-component-definition.js +1 -1
  75. package/dist/engine/index.js +2 -1
  76. package/dist/engine/input.d.ts +0 -6
  77. package/dist/engine/input.js +6 -10
  78. package/dist/engine/lww-element-set-component-definition.d.ts +2 -2
  79. package/dist/engine/lww-element-set-component-definition.js +24 -7
  80. package/dist/index.d.ts +5 -2
  81. package/dist/index.js +5 -1
  82. package/dist/runtime/globals.d.ts +1 -2
  83. package/dist/runtime/globals.js +1 -2
  84. package/dist/runtime/helpers/coordinates.js +37 -14
  85. package/dist/runtime/helpers/index.d.ts +1 -0
  86. package/dist/runtime/helpers/index.js +1 -0
  87. package/dist/runtime/helpers/timers.js +32 -20
  88. package/dist/runtime/helpers/tree.d.ts +6 -0
  89. package/dist/runtime/helpers/tree.js +2 -2
  90. package/dist/runtime/helpers/vectors.js +36 -0
  91. package/dist/runtime/initialization/index.d.ts +7 -0
  92. package/dist/runtime/initialization/index.js +6 -0
  93. package/dist/systems/crdt/index.js +6 -6
  94. package/dist/systems/events.d.ts +25 -59
  95. package/dist/systems/events.js +129 -145
  96. package/dist/systems/physics-force.js +140 -0
  97. package/dist/systems/physics-impulse.d.ts +12 -0
  98. package/dist/systems/physics-impulse.js +85 -0
  99. package/dist/systems/physics.d.ts +77 -0
  100. package/dist/systems/physics.js +18 -0
  101. package/dist/systems/raycast.d.ts +1 -3
  102. package/dist/systems/raycast.js +0 -2
  103. package/dist/systems/triggerArea.d.ts +5 -0
  104. package/dist/systems/triggerArea.js +129 -42
  105. package/dist-cjs/components/extended/AudioAnalysis.d.ts +55 -0
  106. package/dist-cjs/components/extended/AudioAnalysis.js +70 -0
  107. package/dist-cjs/components/extended/AudioSource.d.ts +5 -3
  108. package/dist-cjs/components/extended/AudioSource.js +7 -7
  109. package/dist-cjs/components/extended/MeshCollider.d.ts +0 -8
  110. package/dist-cjs/components/extended/MeshCollider.js +0 -6
  111. package/dist-cjs/components/extended/MeshRenderer.d.ts +0 -8
  112. package/dist-cjs/components/extended/MeshRenderer.js +0 -5
  113. package/dist-cjs/components/extended/ParticleSystem.d.ts +24 -0
  114. package/dist-cjs/components/extended/ParticleSystem.js +28 -0
  115. package/dist-cjs/components/extended/TriggerArea.d.ts +2 -2
  116. package/dist-cjs/components/extended/Tween.d.ts +48 -1
  117. package/dist-cjs/components/extended/Tween.js +66 -0
  118. package/dist-cjs/components/generated/{TextureCamera.gen.js → AudioAnalysis.gen.js} +8 -8
  119. package/dist-cjs/components/generated/component-names.gen.js +1 -10
  120. package/dist-cjs/components/generated/global.gen.d.ts +2 -20
  121. package/dist-cjs/components/generated/global.gen.js +3 -12
  122. package/dist-cjs/components/generated/index.gen.d.ts +4 -40
  123. package/dist-cjs/components/generated/index.gen.js +8 -62
  124. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
  125. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +1 -66
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +37 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +167 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +6 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +30 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +3 -44
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +4 -152
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +9 -2
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +10 -1
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +2 -120
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -4
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +1 -3
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +2 -58
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +3 -22
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +4 -59
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +1 -57
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +14 -1
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +43 -5
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +1 -31
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +8 -0
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +10 -1
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +0 -4
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +0 -20
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +1 -91
  164. package/dist-cjs/components/generated/types.gen.d.ts +1 -0
  165. package/dist-cjs/components/generated/types.gen.js +3 -0
  166. package/dist-cjs/components/index.d.ts +13 -11
  167. package/dist-cjs/components/index.js +15 -15
  168. package/dist-cjs/components/manual/Transform.d.ts +13 -0
  169. package/dist-cjs/components/manual/Transform.js +31 -0
  170. package/dist-cjs/components/types.d.ts +3 -3
  171. package/dist-cjs/composite/index.d.ts +8 -5
  172. package/dist-cjs/composite/index.js +11 -6
  173. package/dist-cjs/composite/instance.d.ts +5 -0
  174. package/dist-cjs/composite/instance.js +34 -25
  175. package/dist-cjs/composite/provider-registry.d.ts +15 -0
  176. package/dist-cjs/composite/provider-registry.js +37 -0
  177. package/dist-cjs/engine/entity.js +4 -2
  178. package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
  179. package/dist-cjs/engine/index.js +2 -1
  180. package/dist-cjs/engine/input.d.ts +0 -6
  181. package/dist-cjs/engine/input.js +6 -10
  182. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +2 -2
  183. package/dist-cjs/engine/lww-element-set-component-definition.js +24 -7
  184. package/dist-cjs/index.d.ts +5 -2
  185. package/dist-cjs/index.js +6 -2
  186. package/dist-cjs/runtime/globals.d.ts +1 -2
  187. package/dist-cjs/runtime/globals.js +1 -2
  188. package/dist-cjs/runtime/helpers/coordinates.js +37 -14
  189. package/dist-cjs/runtime/helpers/index.d.ts +1 -0
  190. package/dist-cjs/runtime/helpers/index.js +1 -0
  191. package/dist-cjs/runtime/helpers/timers.js +32 -20
  192. package/dist-cjs/runtime/helpers/tree.d.ts +6 -0
  193. package/dist-cjs/runtime/helpers/tree.js +3 -2
  194. package/dist-cjs/runtime/helpers/vectors.js +39 -0
  195. package/dist-cjs/runtime/initialization/index.d.ts +7 -0
  196. package/dist-cjs/runtime/initialization/index.js +7 -1
  197. package/dist-cjs/systems/crdt/index.js +6 -6
  198. package/dist-cjs/systems/events.d.ts +25 -59
  199. package/dist-cjs/systems/events.js +129 -145
  200. package/dist-cjs/systems/physics-force.js +167 -0
  201. package/dist-cjs/systems/physics-impulse.d.ts +12 -0
  202. package/dist-cjs/systems/physics-impulse.js +112 -0
  203. package/dist-cjs/systems/physics.d.ts +77 -0
  204. package/dist-cjs/systems/physics.js +23 -0
  205. package/dist-cjs/systems/raycast.d.ts +1 -3
  206. package/dist-cjs/systems/raycast.js +0 -2
  207. package/dist-cjs/systems/triggerArea.d.ts +5 -0
  208. package/dist-cjs/systems/triggerArea.js +129 -42
  209. package/package.json +3 -2
  210. package/dist/components/extended/AvatarEquippedData.d.ts +0 -10
  211. package/dist/components/extended/AvatarEquippedData.js +0 -15
  212. package/dist/components/extended/AvatarShape.d.ts +0 -10
  213. package/dist/components/extended/AvatarShape.js +0 -15
  214. package/dist/components/generated/AvatarMovement.gen.d.ts +0 -1
  215. package/dist/components/generated/AvatarMovement.gen.js +0 -25
  216. package/dist/components/generated/AvatarMovementInfo.gen.d.ts +0 -1
  217. package/dist/components/generated/AvatarMovementInfo.gen.js +0 -25
  218. package/dist/components/generated/CameraLayer.gen.d.ts +0 -1
  219. package/dist/components/generated/CameraLayer.gen.js +0 -25
  220. package/dist/components/generated/CameraLayers.gen.d.ts +0 -1
  221. package/dist/components/generated/CameraLayers.gen.js +0 -25
  222. package/dist/components/generated/GlobalLight.gen.d.ts +0 -1
  223. package/dist/components/generated/GlobalLight.gen.js +0 -25
  224. package/dist/components/generated/GltfNode.gen.d.ts +0 -1
  225. package/dist/components/generated/GltfNode.gen.js +0 -25
  226. package/dist/components/generated/GltfNodeState.gen.d.ts +0 -1
  227. package/dist/components/generated/GltfNodeState.gen.js +0 -25
  228. package/dist/components/generated/TextureCamera.gen.d.ts +0 -1
  229. package/dist/components/generated/UiCanvas.gen.d.ts +0 -1
  230. package/dist/components/generated/UiCanvas.gen.js +0 -25
  231. package/dist/components/generated/UiScrollResult.gen.d.ts +0 -1
  232. package/dist/components/generated/UiScrollResult.gen.js +0 -25
  233. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -20
  234. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -69
  235. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -32
  236. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -126
  237. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
  238. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -104
  239. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
  240. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -50
  241. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
  242. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -61
  243. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
  244. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -41
  245. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
  246. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -59
  247. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
  248. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -191
  249. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
  250. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -60
  251. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
  252. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -42
  253. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +0 -10
  254. package/dist-cjs/components/extended/AvatarEquippedData.js +0 -19
  255. package/dist-cjs/components/extended/AvatarShape.d.ts +0 -10
  256. package/dist-cjs/components/extended/AvatarShape.js +0 -19
  257. package/dist-cjs/components/generated/AvatarMovement.gen.js +0 -28
  258. package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +0 -28
  259. package/dist-cjs/components/generated/CameraLayer.gen.js +0 -28
  260. package/dist-cjs/components/generated/CameraLayers.gen.js +0 -28
  261. package/dist-cjs/components/generated/GlobalLight.gen.js +0 -28
  262. package/dist-cjs/components/generated/GltfNode.gen.js +0 -28
  263. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +0 -1
  264. package/dist-cjs/components/generated/GltfNodeState.gen.js +0 -28
  265. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +0 -1
  266. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +0 -1
  267. package/dist-cjs/components/generated/UiCanvas.gen.js +0 -28
  268. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +0 -1
  269. package/dist-cjs/components/generated/UiScrollResult.gen.js +0 -28
  270. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -20
  271. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -75
  272. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -32
  273. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -132
  274. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
  275. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -110
  276. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
  277. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -56
  278. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
  279. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -67
  280. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
  281. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -47
  282. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
  283. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -65
  284. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
  285. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -197
  286. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
  287. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -66
  288. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
  289. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -48
  290. /package/{dist-cjs/components/generated/CameraLayers.gen.d.ts → dist/components/generated/AudioAnalysis.gen.d.ts} +0 -0
  291. /package/{dist-cjs/components/generated/GlobalLight.gen.d.ts → dist/runtime/helpers/vectors.d.ts} +0 -0
  292. /package/{dist-cjs/components/generated/GltfNode.gen.d.ts → dist/systems/physics-force.d.ts} +0 -0
  293. /package/dist-cjs/components/generated/{AvatarMovement.gen.d.ts → AudioAnalysis.gen.d.ts} +0 -0
  294. /package/dist-cjs/{components/generated/AvatarMovementInfo.gen.d.ts → runtime/helpers/vectors.d.ts} +0 -0
  295. /package/dist-cjs/{components/generated/CameraLayer.gen.d.ts → systems/physics-force.d.ts} +0 -0
@@ -0,0 +1,18 @@
1
+ import { createPhysicsImpulseHelper } from './physics-impulse';
2
+ import { createPhysicsForceHelper } from './physics-force';
3
+ export { KnockbackFalloff } from './physics-impulse';
4
+ /**
5
+ * @internal
6
+ */
7
+ export function createPhysicsSystem(engine) {
8
+ const impulse = createPhysicsImpulseHelper(engine);
9
+ const force = createPhysicsForceHelper(engine);
10
+ return {
11
+ applyImpulseToPlayer: impulse.applyImpulseToPlayer,
12
+ applyForceToPlayer: force.applyForceToPlayer,
13
+ removeForceFromPlayer: force.removeForceFromPlayer,
14
+ applyKnockbackToPlayer: impulse.applyKnockbackToPlayer,
15
+ applyForceToPlayerForDuration: force.applyForceToPlayerForDuration,
16
+ applyRepulsionForceToPlayer: force.applyRepulsionForceToPlayer
17
+ };
18
+ }
@@ -1,4 +1,4 @@
1
- import { RaycastQueryType, RaycastShape, PBRaycastResult } from '../components';
1
+ import { RaycastQueryType, 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,8 +14,6 @@ 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;
19
17
  };
20
18
  export type LocalDirectionRaycastSystemOptions = {
21
19
  direction?: Vector3;
@@ -58,8 +58,6 @@ 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;
63
61
  entitiesCallbackResultMap.set(entity, { callback: callback });
64
62
  };
65
63
  nextTickRaycasts.push(onNextTick);
@@ -26,6 +26,11 @@ 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.
29
34
  */
30
35
  onTriggerStay(entity: Entity, cb: TriggerAreaEventSystemCallback): void;
31
36
  /**
@@ -1,10 +1,57 @@
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
+ }
3
49
  /**
4
50
  * @internal
5
51
  */
6
52
  export function createTriggerAreaEventsSystem(engine) {
7
53
  const triggerAreaResultComponent = components.TriggerAreaResult(engine);
54
+ const Transform = components.Transform(engine);
8
55
  const entitiesMap = new Map();
9
56
  function hasCallbacksMap(entity) {
10
57
  return entitiesMap.has(entity) && entitiesMap.get(entity) !== undefined;
@@ -16,7 +63,8 @@ export function createTriggerAreaEventsSystem(engine) {
16
63
  else {
17
64
  entitiesMap.set(entity, {
18
65
  triggerCallbackMap: new Map([[triggerType, callback]]),
19
- lastConsumedTimestamp: -1
66
+ lastConsumedTimestamp: -1,
67
+ insideTriggerers: new Map()
20
68
  });
21
69
  }
22
70
  }
@@ -25,7 +73,9 @@ export function createTriggerAreaEventsSystem(engine) {
25
73
  return;
26
74
  const triggerCallbackMap = entitiesMap.get(entity).triggerCallbackMap;
27
75
  triggerCallbackMap.delete(triggerType);
28
- // Remove entity if no more trigger callbacks are registered
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.
29
79
  if (triggerCallbackMap.size === 0)
30
80
  entitiesMap.delete(entity);
31
81
  }
@@ -55,51 +105,88 @@ export function createTriggerAreaEventsSystem(engine) {
55
105
  continue;
56
106
  }
57
107
  const result = triggerAreaResultComponent.get(entity);
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;
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;
70
174
  }
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;
77
175
  }
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;
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));
98
186
  }
99
187
  }
100
- data.lastConsumedTimestamp = values[values.length - 1].timestamp;
101
188
  }
102
- // Clean up garbage entries
189
+ // Clean up garbage entries.
103
190
  garbageEntries.forEach((garbageEntity) => entitiesMap.delete(garbageEntity));
104
191
  });
105
192
  return {
@@ -0,0 +1,55 @@
1
+ import { Entity, IEngine } from '../../engine';
2
+ import { LastWriteWinElementSetComponentDefinition } from '../../engine/component';
3
+ import { PBAudioAnalysis, PBAudioAnalysisMode } from '../generated/pb/decentraland/sdk/components/audio_analysis.gen';
4
+ export interface AudioAnalysisComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBAudioAnalysis> {
5
+ /**
6
+ * Reads the component data of `entity` into the provided `out` view.
7
+ *
8
+ * @throws Error if the entity does not have an AudioAnalysis component.
9
+ * @param entity - The entity whose AudioAnalysis data will be read.
10
+ * @param out - An existing AudioAnalysisView to populate with the latest values.
11
+ */
12
+ readIntoView(entity: Entity, out: AudioAnalysisView): void;
13
+ /**
14
+ * Attempts to read the component data of `entity` into the provided `out` view.
15
+ *
16
+ * @returns `true` if the component exists and data was written into `out`,
17
+ * `false` if the entity does not have an AudioAnalysis component.
18
+ * @param entity - The entity whose AudioAnalysis data will be read.
19
+ * @param out - An existing AudioAnalysisView to populate.
20
+ */
21
+ tryReadIntoView(entity: Entity, out: AudioAnalysisView): boolean;
22
+ /**
23
+ * Creates an AudioAnalysis component for the given `entity`.
24
+ *
25
+ * If a component already exists on the entity, this call fails (does not replace).
26
+ *
27
+ * @param entity - The entity to attach the component to.
28
+ * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
29
+ * @param amplitudeGain - Optional amplitude gain multiplier.
30
+ * @param bandsGain - Optional gain multiplier applied to all frequency bands.
31
+ */
32
+ createAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
33
+ amplitudeGain?: number, bandsGain?: number): void;
34
+ /**
35
+ * Creates the AudioAnalysis component if missing, or replaces the existing one.
36
+ *
37
+ * @param entity - The target entity.
38
+ * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
39
+ * @param amplitudeGain - Optional amplitude gain multiplier.
40
+ * @param bandsGain - Optional gain multiplier applied to the frequency bands.
41
+ */
42
+ createOrReplaceAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
43
+ amplitudeGain?: number, bandsGain?: number): void;
44
+ }
45
+ /**
46
+ * A read-only JavaScript-friendly view of AudioAnalysis ECS data.
47
+ *
48
+ * `amplitude` represents the aggregated signal strength.
49
+ * `bands` represents the processed frequency bands.
50
+ */
51
+ export type AudioAnalysisView = {
52
+ amplitude: number;
53
+ bands: number[];
54
+ };
55
+ export declare function defineAudioAnalysisComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AudioAnalysisComponentDefinitionExtended;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAudioAnalysisComponent = void 0;
4
+ const index_gen_1 = require("../generated/index.gen");
5
+ function defineAudioAnalysisComponent(engine) {
6
+ const theComponent = (0, index_gen_1.AudioAnalysis)(engine);
7
+ return {
8
+ ...theComponent,
9
+ readIntoView(entity, out) {
10
+ const audioAnalysis = theComponent.get(entity);
11
+ out.amplitude = audioAnalysis.amplitude;
12
+ out.bands[0] = audioAnalysis.band0;
13
+ out.bands[1] = audioAnalysis.band1;
14
+ out.bands[2] = audioAnalysis.band2;
15
+ out.bands[3] = audioAnalysis.band3;
16
+ out.bands[4] = audioAnalysis.band4;
17
+ out.bands[5] = audioAnalysis.band5;
18
+ out.bands[6] = audioAnalysis.band6;
19
+ out.bands[7] = audioAnalysis.band7;
20
+ },
21
+ tryReadIntoView(entity, out) {
22
+ const audioAnalysis = theComponent.getOrNull(entity);
23
+ if (!audioAnalysis)
24
+ return false;
25
+ out.amplitude = audioAnalysis.amplitude;
26
+ out.bands[0] = audioAnalysis.band0;
27
+ out.bands[1] = audioAnalysis.band1;
28
+ out.bands[2] = audioAnalysis.band2;
29
+ out.bands[3] = audioAnalysis.band3;
30
+ out.bands[4] = audioAnalysis.band4;
31
+ out.bands[5] = audioAnalysis.band5;
32
+ out.bands[6] = audioAnalysis.band6;
33
+ out.bands[7] = audioAnalysis.band7;
34
+ return true;
35
+ },
36
+ createAudioAnalysis(entity, mode, amplitudeGain, bandsGain) {
37
+ theComponent.create(entity, {
38
+ mode: mode || 1 /* PBAudioAnalysisMode.MODE_LOGARITHMIC */,
39
+ amplitudeGain: amplitudeGain ?? undefined,
40
+ bandsGain: bandsGain ?? undefined,
41
+ amplitude: 0,
42
+ band0: 0,
43
+ band1: 0,
44
+ band2: 0,
45
+ band3: 0,
46
+ band4: 0,
47
+ band5: 0,
48
+ band6: 0,
49
+ band7: 0
50
+ });
51
+ },
52
+ createOrReplaceAudioAnalysis(entity, mode, amplitudeGain, bandsGain) {
53
+ theComponent.createOrReplace(entity, {
54
+ mode: mode || 1 /* PBAudioAnalysisMode.MODE_LOGARITHMIC */,
55
+ amplitudeGain: amplitudeGain ?? undefined,
56
+ bandsGain: bandsGain ?? undefined,
57
+ amplitude: 0,
58
+ band0: 0,
59
+ band1: 0,
60
+ band2: 0,
61
+ band3: 0,
62
+ band4: 0,
63
+ band5: 0,
64
+ band6: 0,
65
+ band7: 0
66
+ });
67
+ }
68
+ };
69
+ }
70
+ exports.defineAudioAnalysisComponent = defineAudioAnalysisComponent;
@@ -8,11 +8,13 @@ export interface AudioSourceComponentDefinitionExtended extends LastWriteWinElem
8
8
  /**
9
9
  * @public
10
10
  *
11
- * Set playing=true the sound `$name`
12
- * @param entity - entity with AudioSource component
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)
13
15
  * @param src - the path to the sound to play
14
16
  * @param resetCursor - the sound starts at 0 or continues from the current cursor position
15
- * @returns true in successful playing, false if it doesn't find the AudioSource component
17
+ * @returns always true; retained for backwards compatibility
16
18
  */
17
19
  playSound(entity: Entity, src: string, resetCursor?: boolean): boolean;
18
20
  /**
@@ -7,13 +7,13 @@ function defineAudioSourceComponent(engine) {
7
7
  return {
8
8
  ...theComponent,
9
9
  playSound(entity, src, resetCursor = true) {
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;
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
+ });
17
17
  return true;
18
18
  },
19
19
  stopSound(entity, resetCursor = true) {
@@ -34,13 +34,5 @@ export interface MeshColliderComponentDefinitionExtended extends LastWriteWinEle
34
34
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
35
35
  */
36
36
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
37
- /**
38
- * @public
39
- * Set a gltf internal mesh in the MeshCollider component
40
- * @param entity - entity to create or replace the MeshRenderer component
41
- * @param source - the path to the gltf
42
- * @param meshName - the name of the mesh in the gltf
43
- */
44
- setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
45
37
  }
46
38
  export declare function defineMeshColliderComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshColliderComponentDefinitionExtended;
@@ -37,12 +37,6 @@ function defineMeshColliderComponent(engine) {
37
37
  mesh: { $case: 'sphere', sphere: {} },
38
38
  collisionMask: getCollisionMask(colliderLayers)
39
39
  });
40
- },
41
- setGltfMesh(entity, source, meshName, colliderLayers) {
42
- theComponent.createOrReplace(entity, {
43
- mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } },
44
- collisionMask: getCollisionMask(colliderLayers)
45
- });
46
40
  }
47
41
  };
48
42
  }
@@ -32,13 +32,5 @@ export interface MeshRendererComponentDefinitionExtended extends LastWriteWinEle
32
32
  * @param entity - entity to create or replace the MeshRenderer component
33
33
  */
34
34
  setSphere(entity: Entity): void;
35
- /**
36
- * @public
37
- * Set a gltf internal mesh in the MeshRenderer component
38
- * @param entity - entity to create or replace the MeshRenderer component
39
- * @param source - the path to the gltf
40
- * @param meshName - the name of the mesh in the gltf
41
- */
42
- setGltfMesh(entity: Entity, source: string, meshName: string): void;
43
35
  }
44
36
  export declare function defineMeshRendererComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshRendererComponentDefinitionExtended;
@@ -25,11 +25,6 @@ function defineMeshRendererComponent(engine) {
25
25
  theComponent.createOrReplace(entity, {
26
26
  mesh: { $case: 'sphere', sphere: {} }
27
27
  });
28
- },
29
- setGltfMesh(entity, source, meshName) {
30
- theComponent.createOrReplace(entity, {
31
- mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } }
32
- });
33
28
  }
34
29
  };
35
30
  }
@@ -0,0 +1,24 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBParticleSystem, PBParticleSystem_BlendMode, PBParticleSystem_PlaybackState, PBParticleSystem_Point, PBParticleSystem_Sphere, PBParticleSystem_Cone, PBParticleSystem_Box } from '../generated/index.gen';
3
+ export { PBParticleSystem_BlendMode as ParticleSystemBlendMode, PBParticleSystem_PlaybackState as ParticleSystemPlaybackState };
4
+ /**
5
+ * @public
6
+ */
7
+ export interface ParticleSystemHelper {
8
+ /** Emit from a single point */
9
+ Point: (point?: PBParticleSystem_Point) => PBParticleSystem['shape'];
10
+ /** Emit from the surface or volume of a sphere */
11
+ Sphere: (sphere?: PBParticleSystem_Sphere) => PBParticleSystem['shape'];
12
+ /** Emit from the base of a cone, projecting outward */
13
+ Cone: (cone?: PBParticleSystem_Cone) => PBParticleSystem['shape'];
14
+ /** Emit from the surface or volume of a box */
15
+ Box: (box?: PBParticleSystem_Box) => PBParticleSystem['shape'];
16
+ }
17
+ /**
18
+ * @public
19
+ */
20
+ export interface ParticleSystemComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBParticleSystem> {
21
+ /** Helpers for constructing emitter shapes */
22
+ Shape: ParticleSystemHelper;
23
+ }
24
+ export declare function defineParticleSystemComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): ParticleSystemComponentDefinitionExtended;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineParticleSystemComponent = exports.ParticleSystemPlaybackState = exports.ParticleSystemBlendMode = void 0;
4
+ const index_gen_1 = require("../generated/index.gen");
5
+ Object.defineProperty(exports, "ParticleSystemBlendMode", { enumerable: true, get: function () { return index_gen_1.PBParticleSystem_BlendMode; } });
6
+ Object.defineProperty(exports, "ParticleSystemPlaybackState", { enumerable: true, get: function () { return index_gen_1.PBParticleSystem_PlaybackState; } });
7
+ const ParticleSystemShapeHelper = {
8
+ Point(point = {}) {
9
+ return { $case: 'point', point };
10
+ },
11
+ Sphere(sphere = {}) {
12
+ return { $case: 'sphere', sphere };
13
+ },
14
+ Cone(cone = {}) {
15
+ return { $case: 'cone', cone };
16
+ },
17
+ Box(box = {}) {
18
+ return { $case: 'box', box };
19
+ }
20
+ };
21
+ function defineParticleSystemComponent(engine) {
22
+ const theComponent = (0, index_gen_1.ParticleSystem)(engine);
23
+ return {
24
+ ...theComponent,
25
+ Shape: ParticleSystemShapeHelper
26
+ };
27
+ }
28
+ exports.defineParticleSystemComponent = defineParticleSystemComponent;
@@ -8,14 +8,14 @@ export interface TriggerAreaComponentDefinitionExtended extends LastWriteWinElem
8
8
  * @public
9
9
  * Set a box in the MeshCollider component
10
10
  * @param entity - entity to create or replace the TriggerArea component
11
- * @param collisionMask - the collision layers mask for the trigger to react, default: Player
11
+ * @param collisionMask - the collision layers mask for the trigger to react, default: CL_PLAYER
12
12
  */
13
13
  setBox(entity: Entity, collisionMask?: ColliderLayer | ColliderLayer[]): void;
14
14
  /**
15
15
  * @public
16
16
  * Set a sphere in the MeshCollider component
17
17
  * @param entity - entity to create or replace the TriggerArea component
18
- * @param collisionMask - the collision layers mask for the trigger to react, default: Player
18
+ * @param collisionMask - the collision layers mask for the trigger to react, default: CL_PLAYER
19
19
  */
20
20
  setSphere(entity: Entity, collisionMask?: ColliderLayer | ColliderLayer[]): void;
21
21
  }
@@ -1,6 +1,38 @@
1
1
  import { Entity, IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
2
  import { Quaternion, Vector2, Vector3 } from '../generated/pb/decentraland/common/vectors.gen';
3
3
  import { EasingFunction, Move, MoveContinuous, PBTween, Rotate, RotateContinuous, Scale, TextureMove, TextureMoveContinuous, TextureMovementType } from '../generated/index.gen';
4
+ /**
5
+ * @public
6
+ * Partial params for Tween.Mode.MoveRotateScale(). At least one of position, rotation, or scale must be provided.
7
+ * Use this when building a mode for Tween.createOrReplace() or TweenSequence (e.g. only positionStart/positionEnd).
8
+ */
9
+ export interface MoveRotateScaleModeParams {
10
+ /** Position tween (start → end). Optional. */
11
+ position?: {
12
+ start: Vector3;
13
+ end: Vector3;
14
+ };
15
+ /** Rotation tween (start → end). Optional. */
16
+ rotation?: {
17
+ start: Quaternion;
18
+ end: Quaternion;
19
+ };
20
+ /** Scale tween (start → end). Optional. */
21
+ scale?: {
22
+ start: Vector3;
23
+ end: Vector3;
24
+ };
25
+ }
26
+ /**
27
+ * @public
28
+ * Parameters for setMoveRotateScale. At least one of position, rotation, or scale must be provided.
29
+ */
30
+ export interface SetMoveRotateScaleParams extends MoveRotateScaleModeParams {
31
+ /** Duration of the tween in milliseconds. */
32
+ duration: number;
33
+ /** Easing function (defaults to EF_LINEAR). */
34
+ easingFunction?: EasingFunction;
35
+ }
4
36
  /**
5
37
  * @public
6
38
  */
@@ -33,13 +65,18 @@ export interface TweenHelper {
33
65
  * @returns a texture-move-continuous mode tween
34
66
  */
35
67
  TextureMoveContinuous: (textureMove: TextureMoveContinuous) => PBTween['mode'];
68
+ /**
69
+ * @returns a move-rotate-scale mode tween
70
+ * @param params - partial transform (at least one of position, rotation, scale); omit axes you don't need
71
+ */
72
+ MoveRotateScale: (params: MoveRotateScaleModeParams) => PBTween['mode'];
36
73
  }
37
74
  /**
38
75
  * @public
39
76
  */
40
77
  export interface TweenComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBTween> {
41
78
  /**
42
- * Texture helpers with constructor
79
+ * Helpers with constructor
43
80
  */
44
81
  Mode: TweenHelper;
45
82
  /**
@@ -118,5 +155,15 @@ export interface TweenComponentDefinitionExtended extends LastWriteWinElementSet
118
155
  * @param duration - duration of the tween in milliseconds (defaults to 0 for infinite)
119
156
  */
120
157
  setTextureMoveContinuous(entity: Entity, direction: Vector2, speed: number, movementType?: TextureMovementType, duration?: number): void;
158
+ /**
159
+ * @public
160
+ *
161
+ * Creates or replaces a move-rotate-scale tween component that simultaneously animates
162
+ * an entity's position, rotation, and/or scale from start to end. Provide only the
163
+ * properties you need (at least one of position, rotation, or scale).
164
+ * @param entity - entity to apply the tween to
165
+ * @param params - object with optional position, rotation, scale (each with start/end), duration, and optional easingFunction
166
+ */
167
+ setMoveRotateScale(entity: Entity, params: SetMoveRotateScaleParams): void;
121
168
  }
122
169
  export declare function defineTweenComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): TweenComponentDefinitionExtended;