@dcl/ecs 7.22.5 → 7.22.6-25007982108.commit-83012ab

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 (255) hide show
  1. package/dist/components/extended/AvatarEquippedData.d.ts +10 -0
  2. package/dist/components/extended/AvatarEquippedData.js +15 -0
  3. package/dist/components/extended/AvatarShape.d.ts +10 -0
  4. package/dist/components/extended/AvatarShape.js +15 -0
  5. package/dist/components/extended/MeshCollider.d.ts +8 -0
  6. package/dist/components/extended/MeshCollider.js +6 -0
  7. package/dist/components/extended/MeshRenderer.d.ts +8 -0
  8. package/dist/components/extended/MeshRenderer.js +5 -0
  9. package/dist/components/extended/Tween.d.ts +1 -48
  10. package/dist/components/extended/Tween.js +0 -66
  11. package/dist/components/generated/AvatarLocomotionSettings.gen.d.ts +1 -0
  12. package/dist/components/generated/AvatarLocomotionSettings.gen.js +25 -0
  13. package/dist/components/generated/AvatarMovement.gen.d.ts +1 -0
  14. package/dist/components/generated/AvatarMovement.gen.js +25 -0
  15. package/dist/components/generated/AvatarMovementInfo.gen.d.ts +1 -0
  16. package/dist/components/generated/AvatarMovementInfo.gen.js +25 -0
  17. package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
  18. package/dist/components/generated/CameraLayer.gen.js +25 -0
  19. package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
  20. package/dist/components/generated/CameraLayers.gen.js +25 -0
  21. package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
  22. package/dist/components/generated/GlobalLight.gen.js +25 -0
  23. package/dist/components/generated/GltfNode.gen.d.ts +1 -0
  24. package/dist/components/generated/GltfNode.gen.js +25 -0
  25. package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
  26. package/dist/components/generated/GltfNodeState.gen.js +25 -0
  27. package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
  28. package/dist/components/generated/TextureCamera.gen.js +25 -0
  29. package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
  30. package/dist/components/generated/UiCanvas.gen.js +25 -0
  31. package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
  32. package/dist/components/generated/UiScrollResult.gen.js +25 -0
  33. package/dist/components/generated/component-names.gen.js +11 -0
  34. package/dist/components/generated/global.gen.d.ts +22 -0
  35. package/dist/components/generated/global.gen.js +11 -0
  36. package/dist/components/generated/index.gen.d.ts +44 -0
  37. package/dist/components/generated/index.gen.js +55 -0
  38. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  39. package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
  40. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  41. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  42. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +29 -0
  43. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +93 -0
  44. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  45. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -1
  46. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
  47. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +69 -0
  48. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
  49. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +126 -0
  50. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  51. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  52. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  53. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
  54. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  55. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
  56. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  57. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
  58. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +6 -2
  59. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +4 -0
  60. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  61. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
  62. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  63. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  64. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  65. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
  66. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  67. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
  68. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  69. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
  70. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  71. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +56 -0
  72. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  73. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
  74. package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
  75. package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +4 -42
  76. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  77. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  78. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  79. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +30 -0
  80. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  81. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
  82. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  83. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
  84. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +2 -0
  85. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +10 -0
  86. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  87. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
  88. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  89. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  90. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  91. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
  92. package/dist/components/generated/types.gen.d.ts +0 -1
  93. package/dist/components/generated/types.gen.js +0 -1
  94. package/dist/components/index.d.ts +11 -9
  95. package/dist/components/index.js +11 -8
  96. package/dist/components/manual/Transform.d.ts +0 -13
  97. package/dist/components/manual/Transform.js +0 -8
  98. package/dist/components/types.d.ts +3 -2
  99. package/dist/engine/entity.js +2 -4
  100. package/dist/engine/grow-only-value-set-component-definition.js +1 -1
  101. package/dist/engine/input.d.ts +6 -0
  102. package/dist/engine/input.js +9 -4
  103. package/dist/engine/lww-element-set-component-definition.d.ts +2 -2
  104. package/dist/engine/lww-element-set-component-definition.js +7 -24
  105. package/dist/index.d.ts +2 -4
  106. package/dist/index.js +1 -4
  107. package/dist/runtime/globals.d.ts +2 -1
  108. package/dist/runtime/globals.js +2 -1
  109. package/dist/runtime/helpers/index.d.ts +0 -1
  110. package/dist/runtime/helpers/index.js +0 -1
  111. package/dist/runtime/helpers/tree.d.ts +0 -6
  112. package/dist/runtime/helpers/tree.js +2 -2
  113. package/dist/runtime/initialization/index.d.ts +0 -7
  114. package/dist/runtime/initialization/index.js +0 -6
  115. package/dist/systems/crdt/index.js +6 -6
  116. package/dist/systems/events.d.ts +59 -25
  117. package/dist/systems/events.js +145 -129
  118. package/dist/systems/raycast.d.ts +3 -1
  119. package/dist/systems/raycast.js +2 -0
  120. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
  121. package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
  122. package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
  123. package/dist-cjs/components/extended/AvatarShape.js +19 -0
  124. package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
  125. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  126. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  127. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  128. package/dist-cjs/components/extended/Tween.d.ts +1 -48
  129. package/dist-cjs/components/extended/Tween.js +0 -66
  130. package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.js +28 -0
  131. package/dist-cjs/components/generated/AvatarMovement.gen.js +28 -0
  132. package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +28 -0
  133. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  134. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +1 -0
  135. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  136. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +1 -0
  137. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  138. package/dist-cjs/components/generated/GltfNode.gen.d.ts +1 -0
  139. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  140. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  141. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  142. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  143. package/dist-cjs/components/generated/TextureCamera.gen.js +28 -0
  144. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  145. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  146. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  147. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  148. package/dist-cjs/components/generated/component-names.gen.js +11 -0
  149. package/dist-cjs/components/generated/global.gen.d.ts +22 -0
  150. package/dist-cjs/components/generated/global.gen.js +13 -2
  151. package/dist-cjs/components/generated/index.gen.d.ts +44 -0
  152. package/dist-cjs/components/generated/index.gen.js +68 -2
  153. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  154. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +29 -0
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +99 -0
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -2
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +75 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +132 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  166. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  167. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  169. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  170. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  171. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  172. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
  173. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +6 -2
  174. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +4 -0
  175. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  176. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  177. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  178. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  179. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  180. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  181. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  182. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  183. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  184. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  185. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  186. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +57 -1
  187. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  188. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  189. package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
  190. package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +5 -43
  191. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  192. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  193. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  194. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +31 -1
  195. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  196. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
  197. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  198. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  199. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +2 -0
  200. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +10 -0
  201. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  202. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  203. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  204. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  205. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  206. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
  207. package/dist-cjs/components/generated/types.gen.d.ts +0 -1
  208. package/dist-cjs/components/generated/types.gen.js +0 -3
  209. package/dist-cjs/components/index.d.ts +11 -9
  210. package/dist-cjs/components/index.js +15 -11
  211. package/dist-cjs/components/manual/Transform.d.ts +0 -13
  212. package/dist-cjs/components/manual/Transform.js +0 -31
  213. package/dist-cjs/components/types.d.ts +3 -2
  214. package/dist-cjs/engine/entity.js +2 -4
  215. package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
  216. package/dist-cjs/engine/input.d.ts +6 -0
  217. package/dist-cjs/engine/input.js +9 -4
  218. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +2 -2
  219. package/dist-cjs/engine/lww-element-set-component-definition.js +7 -24
  220. package/dist-cjs/index.d.ts +2 -4
  221. package/dist-cjs/index.js +2 -5
  222. package/dist-cjs/runtime/globals.d.ts +2 -1
  223. package/dist-cjs/runtime/globals.js +2 -1
  224. package/dist-cjs/runtime/helpers/index.d.ts +0 -1
  225. package/dist-cjs/runtime/helpers/index.js +0 -1
  226. package/dist-cjs/runtime/helpers/tree.d.ts +0 -6
  227. package/dist-cjs/runtime/helpers/tree.js +2 -3
  228. package/dist-cjs/runtime/initialization/index.d.ts +0 -7
  229. package/dist-cjs/runtime/initialization/index.js +1 -7
  230. package/dist-cjs/systems/crdt/index.js +6 -6
  231. package/dist-cjs/systems/events.d.ts +59 -25
  232. package/dist-cjs/systems/events.js +145 -129
  233. package/dist-cjs/systems/raycast.d.ts +3 -1
  234. package/dist-cjs/systems/raycast.js +2 -0
  235. package/package.json +2 -3
  236. package/dist/components/extended/ParticleSystem.d.ts +0 -24
  237. package/dist/components/extended/ParticleSystem.js +0 -23
  238. package/dist/runtime/helpers/vectors.js +0 -36
  239. package/dist/systems/physics-force.js +0 -140
  240. package/dist/systems/physics-impulse.d.ts +0 -12
  241. package/dist/systems/physics-impulse.js +0 -85
  242. package/dist/systems/physics.d.ts +0 -77
  243. package/dist/systems/physics.js +0 -18
  244. package/dist-cjs/components/extended/ParticleSystem.d.ts +0 -24
  245. package/dist-cjs/components/extended/ParticleSystem.js +0 -28
  246. package/dist-cjs/runtime/helpers/vectors.js +0 -39
  247. package/dist-cjs/systems/physics-force.js +0 -167
  248. package/dist-cjs/systems/physics-impulse.d.ts +0 -12
  249. package/dist-cjs/systems/physics-impulse.js +0 -112
  250. package/dist-cjs/systems/physics.d.ts +0 -77
  251. package/dist-cjs/systems/physics.js +0 -23
  252. /package/dist-cjs/{runtime/helpers/vectors.d.ts → components/generated/AvatarLocomotionSettings.gen.d.ts} +0 -0
  253. /package/dist-cjs/{systems/physics-force.d.ts → components/generated/AvatarMovement.gen.d.ts} +0 -0
  254. /package/{dist/runtime/helpers/vectors.d.ts → dist-cjs/components/generated/AvatarMovementInfo.gen.d.ts} +0 -0
  255. /package/{dist/systems/physics-force.d.ts → dist-cjs/components/generated/CameraLayer.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);
@@ -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;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAvatarEquippedDataComponent = void 0;
4
+ const AvatarEquippedData_gen_1 = require("../generated/AvatarEquippedData.gen");
5
+ function defineAvatarEquippedDataComponent(engine) {
6
+ const patchedSchema = { ...AvatarEquippedData_gen_1.AvatarEquippedDataSchema };
7
+ const origSerialize = patchedSchema.serialize;
8
+ patchedSchema.serialize = (value, builder) => {
9
+ if (value.forceRender === undefined) {
10
+ origSerialize({ forceRender: [], ...value }, builder);
11
+ }
12
+ else {
13
+ origSerialize(value, builder);
14
+ }
15
+ };
16
+ const theComponent = engine.defineComponentFromSchema('core::AvatarEquippedData', patchedSchema);
17
+ return theComponent;
18
+ }
19
+ exports.defineAvatarEquippedDataComponent = defineAvatarEquippedDataComponent;
@@ -0,0 +1,10 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBAvatarShape } from '../generated/pb/decentraland/sdk/components/avatar_shape.gen';
3
+ /**
4
+ * @public
5
+ */
6
+ export type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
7
+ export type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
8
+ forceRender?: string[] | undefined;
9
+ };
10
+ export declare function defineAvatarShapeComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarShapeComponentDefinitionExtended;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAvatarShapeComponent = void 0;
4
+ const AvatarShape_gen_1 = require("../generated/AvatarShape.gen");
5
+ function defineAvatarShapeComponent(engine) {
6
+ const patchedSchema = { ...AvatarShape_gen_1.AvatarShapeSchema };
7
+ const origSerialize = patchedSchema.serialize;
8
+ patchedSchema.serialize = (value, builder) => {
9
+ if (value.forceRender === undefined) {
10
+ origSerialize({ forceRender: [], ...value }, builder);
11
+ }
12
+ else {
13
+ origSerialize(value, builder);
14
+ }
15
+ };
16
+ const theComponent = engine.defineComponentFromSchema('core::AvatarShape', patchedSchema);
17
+ return theComponent;
18
+ }
19
+ exports.defineAvatarShapeComponent = defineAvatarShapeComponent;
@@ -34,5 +34,13 @@ 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;
37
45
  }
38
46
  export declare function defineMeshColliderComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshColliderComponentDefinitionExtended;
@@ -37,6 +37,12 @@ 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
+ });
40
46
  }
41
47
  };
42
48
  }
@@ -32,5 +32,13 @@ 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;
35
43
  }
36
44
  export declare function defineMeshRendererComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshRendererComponentDefinitionExtended;
@@ -25,6 +25,11 @@ 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
+ });
28
33
  }
29
34
  };
30
35
  }
@@ -1,38 +1,6 @@
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
- }
36
4
  /**
37
5
  * @public
38
6
  */
@@ -65,18 +33,13 @@ export interface TweenHelper {
65
33
  * @returns a texture-move-continuous mode tween
66
34
  */
67
35
  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'];
73
36
  }
74
37
  /**
75
38
  * @public
76
39
  */
77
40
  export interface TweenComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBTween> {
78
41
  /**
79
- * Helpers with constructor
42
+ * Texture helpers with constructor
80
43
  */
81
44
  Mode: TweenHelper;
82
45
  /**
@@ -155,15 +118,5 @@ export interface TweenComponentDefinitionExtended extends LastWriteWinElementSet
155
118
  * @param duration - duration of the tween in milliseconds (defaults to 0 for infinite)
156
119
  */
157
120
  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;
168
121
  }
169
122
  export declare function defineTweenComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): TweenComponentDefinitionExtended;
@@ -2,35 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defineTweenComponent = void 0;
4
4
  const index_gen_1 = require("../generated/index.gen");
5
- function assertDuration(duration, apiName) {
6
- if (!Number.isFinite(duration) || duration < 0) {
7
- throw new Error(`${apiName}: duration must be a non-negative finite number`);
8
- }
9
- }
10
- /** Shared validation for params that have optional position/rotation/scale with start & end. */
11
- function assertMoveRotateScaleAxesStartEnd(params, apiName) {
12
- if (!params.position && !params.rotation && !params.scale) {
13
- throw new Error(`${apiName}: at least one of position, rotation, or scale must be provided`);
14
- }
15
- if (params.position) {
16
- const pos = params.position;
17
- if (!pos.start || !pos.end) {
18
- throw new Error(`${apiName}: position must have both start and end`);
19
- }
20
- }
21
- if (params.rotation) {
22
- const rot = params.rotation;
23
- if (!rot.start || !rot.end) {
24
- throw new Error(`${apiName}: rotation must have both start and end`);
25
- }
26
- }
27
- if (params.scale) {
28
- const scl = params.scale;
29
- if (!scl.start || !scl.end) {
30
- throw new Error(`${apiName}: scale must have both start and end`);
31
- }
32
- }
33
- }
34
5
  const TweenHelper = {
35
6
  Move(move) {
36
7
  return {
@@ -73,21 +44,6 @@ const TweenHelper = {
73
44
  $case: 'textureMoveContinuous',
74
45
  textureMoveContinuous
75
46
  };
76
- },
77
- MoveRotateScale(params) {
78
- assertMoveRotateScaleAxesStartEnd(params, 'Tween.Mode.MoveRotateScale');
79
- const moveRotateScale = {
80
- positionStart: params.position ? params.position.start : undefined,
81
- positionEnd: params.position ? params.position.end : undefined,
82
- rotationStart: params.rotation ? params.rotation.start : undefined,
83
- rotationEnd: params.rotation ? params.rotation.end : undefined,
84
- scaleStart: params.scale ? params.scale.start : undefined,
85
- scaleEnd: params.scale ? params.scale.end : undefined
86
- };
87
- return {
88
- $case: 'moveRotateScale',
89
- moveRotateScale
90
- };
91
47
  }
92
48
  };
93
49
  function defineTweenComponent(engine) {
@@ -194,28 +150,6 @@ function defineTweenComponent(engine) {
194
150
  easingFunction: 0 /* EasingFunction.EF_LINEAR */,
195
151
  playing: true
196
152
  });
197
- },
198
- setMoveRotateScale(entity, params) {
199
- assertMoveRotateScaleAxesStartEnd(params, 'setMoveRotateScale');
200
- assertDuration(params.duration, 'setMoveRotateScale');
201
- const { position, rotation, scale, duration, easingFunction = 0 /* EasingFunction.EF_LINEAR */ } = params;
202
- const moveRotateScale = {
203
- positionStart: position ? position.start : undefined,
204
- positionEnd: position ? position.end : undefined,
205
- rotationStart: rotation ? rotation.start : undefined,
206
- rotationEnd: rotation ? rotation.end : undefined,
207
- scaleStart: scale ? scale.start : undefined,
208
- scaleEnd: scale ? scale.end : undefined
209
- };
210
- theComponent.createOrReplace(entity, {
211
- mode: {
212
- $case: 'moveRotateScale',
213
- moveRotateScale
214
- },
215
- duration,
216
- easingFunction,
217
- playing: true
218
- });
219
153
  }
220
154
  };
221
155
  }