@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
@@ -0,0 +1,15 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ import { Vector2 } from "../../common/vectors.gen";
3
+ /**
4
+ * @public
5
+ */
6
+ export interface PBUiScrollResult {
7
+ value: Vector2 | undefined;
8
+ }
9
+ /**
10
+ * @public
11
+ */
12
+ export declare namespace PBUiScrollResult {
13
+ function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
14
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
15
+ }
@@ -0,0 +1,42 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ import { Vector2 } from "../../common/vectors.gen";
4
+ const protobufPackageSarasa = "decentraland.sdk.components";
5
+ function createBasePBUiScrollResult() {
6
+ return { value: undefined };
7
+ }
8
+ /**
9
+ * @public
10
+ */
11
+ export var PBUiScrollResult;
12
+ (function (PBUiScrollResult) {
13
+ function encode(message, writer = _m0.Writer.create()) {
14
+ if (message.value !== undefined) {
15
+ Vector2.encode(message.value, writer.uint32(10).fork()).ldelim();
16
+ }
17
+ return writer;
18
+ }
19
+ PBUiScrollResult.encode = encode;
20
+ function decode(input, length) {
21
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
22
+ let end = length === undefined ? reader.len : reader.pos + length;
23
+ const message = createBasePBUiScrollResult();
24
+ while (reader.pos < end) {
25
+ const tag = reader.uint32();
26
+ switch (tag >>> 3) {
27
+ case 1:
28
+ if (tag !== 10) {
29
+ break;
30
+ }
31
+ message.value = Vector2.decode(reader, reader.uint32());
32
+ continue;
33
+ }
34
+ if ((tag & 7) === 4 || tag === 0) {
35
+ break;
36
+ }
37
+ reader.skipType(tag & 7);
38
+ }
39
+ return message;
40
+ }
41
+ PBUiScrollResult.decode = decode;
42
+ })(PBUiScrollResult || (PBUiScrollResult = {}));
@@ -24,6 +24,10 @@ export interface PBUiText {
24
24
  fontSize?: number | undefined;
25
25
  /** wrap text when the border is reached (default: TW_WRAP) */
26
26
  textWrap?: TextWrap | undefined;
27
+ /** width of the outline (default: 0) */
28
+ outlineWidth?: number | undefined;
29
+ /** RGBA color of the outline (default: opaque black) */
30
+ outlineColor?: Color4 | undefined;
27
31
  }
28
32
  /**
29
33
  * @public
@@ -18,6 +18,8 @@ function createBasePBUiText() {
18
18
  font: undefined,
19
19
  fontSize: undefined,
20
20
  textWrap: undefined,
21
+ outlineWidth: undefined,
22
+ outlineColor: undefined,
21
23
  };
22
24
  }
23
25
  /**
@@ -44,6 +46,12 @@ export var PBUiText;
44
46
  if (message.textWrap !== undefined) {
45
47
  writer.uint32(48).int32(message.textWrap);
46
48
  }
49
+ if (message.outlineWidth !== undefined) {
50
+ writer.uint32(61).float(message.outlineWidth);
51
+ }
52
+ if (message.outlineColor !== undefined) {
53
+ Color4.encode(message.outlineColor, writer.uint32(66).fork()).ldelim();
54
+ }
47
55
  return writer;
48
56
  }
49
57
  PBUiText.encode = encode;
@@ -90,6 +98,18 @@ export var PBUiText;
90
98
  }
91
99
  message.textWrap = reader.int32();
92
100
  continue;
101
+ case 7:
102
+ if (tag !== 61) {
103
+ break;
104
+ }
105
+ message.outlineWidth = reader.float();
106
+ continue;
107
+ case 8:
108
+ if (tag !== 66) {
109
+ break;
110
+ }
111
+ message.outlineColor = Color4.decode(reader, reader.uint32());
112
+ continue;
93
113
  }
94
114
  if ((tag & 7) === 4 || tag === 0) {
95
115
  break;
@@ -1,5 +1,6 @@
1
1
  import _m0 from "protobufjs/minimal";
2
2
  import { Color4 } from "../../common/colors.gen";
3
+ import { Vector2 } from "../../common/vectors.gen";
3
4
  /**
4
5
  * @public
5
6
  */
@@ -93,6 +94,27 @@ export declare const enum PointerFilterMode {
93
94
  PFM_NONE = 0,
94
95
  PFM_BLOCK = 1
95
96
  }
97
+ /**
98
+ * @public
99
+ */
100
+ export declare const enum ShowScrollBar {
101
+ SSB_BOTH = 0,
102
+ SSB_ONLY_VERTICAL = 1,
103
+ SSB_ONLY_HORIZONTAL = 2,
104
+ SSB_HIDDEN = 3
105
+ }
106
+ /**
107
+ * @public
108
+ */
109
+ export interface ScrollPositionValue {
110
+ value?: {
111
+ $case: "position";
112
+ position: Vector2;
113
+ } | {
114
+ $case: "reference";
115
+ reference: string;
116
+ } | undefined;
117
+ }
96
118
  /**
97
119
  * @public
98
120
  */
@@ -210,9 +232,22 @@ export interface PBUiTransform {
210
232
  borderRightColor?: Color4 | undefined;
211
233
  /** default: 1 */
212
234
  opacity?: number | undefined;
235
+ /** reference for scroll_position. default empty */
236
+ elementId?: string | undefined;
237
+ /** default position=(0,0) */
238
+ scrollPosition?: ScrollPositionValue | undefined;
239
+ /** default ShowScrollBar.SSB_BOTH */
240
+ scrollVisible?: ShowScrollBar | undefined;
213
241
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
214
242
  zIndex?: number | undefined;
215
243
  }
244
+ /**
245
+ * @public
246
+ */
247
+ export declare namespace ScrollPositionValue {
248
+ function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
249
+ function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
250
+ }
216
251
  /**
217
252
  * @public
218
253
  */
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable */
2
2
  import _m0 from "protobufjs/minimal";
3
3
  import { Color4 } from "../../common/colors.gen";
4
+ import { Vector2 } from "../../common/vectors.gen";
4
5
  const protobufPackageSarasa = "decentraland.sdk.components";
5
6
  /**
6
7
  * @public
@@ -105,6 +106,65 @@ export var PointerFilterMode;
105
106
  PointerFilterMode[PointerFilterMode["PFM_NONE"] = 0] = "PFM_NONE";
106
107
  PointerFilterMode[PointerFilterMode["PFM_BLOCK"] = 1] = "PFM_BLOCK";
107
108
  })(PointerFilterMode || (PointerFilterMode = {}));
109
+ /**
110
+ * @public
111
+ */
112
+ export var ShowScrollBar;
113
+ (function (ShowScrollBar) {
114
+ ShowScrollBar[ShowScrollBar["SSB_BOTH"] = 0] = "SSB_BOTH";
115
+ ShowScrollBar[ShowScrollBar["SSB_ONLY_VERTICAL"] = 1] = "SSB_ONLY_VERTICAL";
116
+ ShowScrollBar[ShowScrollBar["SSB_ONLY_HORIZONTAL"] = 2] = "SSB_ONLY_HORIZONTAL";
117
+ ShowScrollBar[ShowScrollBar["SSB_HIDDEN"] = 3] = "SSB_HIDDEN";
118
+ })(ShowScrollBar || (ShowScrollBar = {}));
119
+ function createBaseScrollPositionValue() {
120
+ return { value: undefined };
121
+ }
122
+ /**
123
+ * @public
124
+ */
125
+ export var ScrollPositionValue;
126
+ (function (ScrollPositionValue) {
127
+ function encode(message, writer = _m0.Writer.create()) {
128
+ switch (message.value?.$case) {
129
+ case "position":
130
+ Vector2.encode(message.value.position, writer.uint32(10).fork()).ldelim();
131
+ break;
132
+ case "reference":
133
+ writer.uint32(18).string(message.value.reference);
134
+ break;
135
+ }
136
+ return writer;
137
+ }
138
+ ScrollPositionValue.encode = encode;
139
+ function decode(input, length) {
140
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
141
+ let end = length === undefined ? reader.len : reader.pos + length;
142
+ const message = createBaseScrollPositionValue();
143
+ while (reader.pos < end) {
144
+ const tag = reader.uint32();
145
+ switch (tag >>> 3) {
146
+ case 1:
147
+ if (tag !== 10) {
148
+ break;
149
+ }
150
+ message.value = { $case: "position", position: Vector2.decode(reader, reader.uint32()) };
151
+ continue;
152
+ case 2:
153
+ if (tag !== 18) {
154
+ break;
155
+ }
156
+ message.value = { $case: "reference", reference: reader.string() };
157
+ continue;
158
+ }
159
+ if ((tag & 7) === 4 || tag === 0) {
160
+ break;
161
+ }
162
+ reader.skipType(tag & 7);
163
+ }
164
+ return message;
165
+ }
166
+ ScrollPositionValue.decode = decode;
167
+ })(ScrollPositionValue || (ScrollPositionValue = {}));
108
168
  function createBasePBUiTransform() {
109
169
  return {
110
170
  parent: 0,
@@ -180,6 +240,9 @@ function createBasePBUiTransform() {
180
240
  borderLeftColor: undefined,
181
241
  borderRightColor: undefined,
182
242
  opacity: undefined,
243
+ elementId: undefined,
244
+ scrollPosition: undefined,
245
+ scrollVisible: undefined,
183
246
  zIndex: undefined,
184
247
  };
185
248
  }
@@ -408,6 +471,15 @@ export var PBUiTransform;
408
471
  if (message.opacity !== undefined) {
409
472
  writer.uint32(589).float(message.opacity);
410
473
  }
474
+ if (message.elementId !== undefined) {
475
+ writer.uint32(594).string(message.elementId);
476
+ }
477
+ if (message.scrollPosition !== undefined) {
478
+ ScrollPositionValue.encode(message.scrollPosition, writer.uint32(602).fork()).ldelim();
479
+ }
480
+ if (message.scrollVisible !== undefined) {
481
+ writer.uint32(608).int32(message.scrollVisible);
482
+ }
411
483
  if (message.zIndex !== undefined) {
412
484
  writer.uint32(616).int32(message.zIndex);
413
485
  }
@@ -859,6 +931,24 @@ export var PBUiTransform;
859
931
  }
860
932
  message.opacity = reader.float();
861
933
  continue;
934
+ case 74:
935
+ if (tag !== 594) {
936
+ break;
937
+ }
938
+ message.elementId = reader.string();
939
+ continue;
940
+ case 75:
941
+ if (tag !== 602) {
942
+ break;
943
+ }
944
+ message.scrollPosition = ScrollPositionValue.decode(reader, reader.uint32());
945
+ continue;
946
+ case 76:
947
+ if (tag !== 608) {
948
+ break;
949
+ }
950
+ message.scrollVisible = reader.int32();
951
+ continue;
862
952
  case 77:
863
953
  if (tag !== 616) {
864
954
  break;
@@ -1,6 +1,5 @@
1
1
  export type { Position as PBPosition, Vector2 as PBVector2, Vector3 as PBVector3, Quaternion as PBQuaternion } from './pb/decentraland/common/vectors.gen';
2
2
  export type { Color3 as PBColor3, Color4 as PBColor4 } from './pb/decentraland/common/colors.gen';
3
- export { ColorRange } from './pb/decentraland/common/colors.gen';
4
3
  export * from './pb/decentraland/sdk/components/common/camera_transition.gen';
5
4
  export * from './pb/decentraland/sdk/components/common/camera_type.gen';
6
5
  export * from './pb/decentraland/sdk/components/common/input_action.gen';
@@ -1,4 +1,3 @@
1
- export { ColorRange } from './pb/decentraland/common/colors.gen';
2
1
  export * from './pb/decentraland/sdk/components/common/camera_transition.gen';
3
2
  // export { PbCameraTransition }
4
3
  export * from './pb/decentraland/sdk/components/common/camera_type.gen';
@@ -2,26 +2,27 @@ import { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDef
2
2
  import { IEngine } from '../engine/types';
3
3
  import { AnimatorComponentDefinitionExtended } from './extended/Animator';
4
4
  import { AudioSourceComponentDefinitionExtended } from './extended/AudioSource';
5
+ import { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
6
+ import { AvatarEquippedDataComponentDefinitionExtended } from './extended/AvatarEquippedData';
7
+ import { AvatarShapeComponentDefinitionExtended } from './extended/AvatarShape';
8
+ import { InputModifierComponentDefinitionExtended } from './extended/InputModifier';
5
9
  import { MaterialComponentDefinitionExtended } from './extended/Material';
6
10
  import { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
7
11
  import { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
8
12
  import { TweenComponentDefinitionExtended } from './extended/Tween';
9
- import { LwwComponentGetter, GSetComponentGetter } from './generated/index.gen';
13
+ import { VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
14
+ import { GSetComponentGetter, LwwComponentGetter } from './generated/index.gen';
15
+ import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
10
16
  import { NameType } from './manual/Name';
11
- import { ISyncComponentsType } from './manual/SyncComponents';
12
17
  import { INetowrkEntityType } from './manual/NetworkEntity';
13
18
  import { INetowrkParentType } from './manual/NetworkParent';
19
+ import { ISyncComponentsType } from './manual/SyncComponents';
14
20
  import { TransformComponentExtended } from './manual/Transform';
15
- import { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
16
- import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
17
- import { VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
18
- import { InputModifierComponentDefinitionExtended } from './extended/InputModifier';
19
21
  import { LightSourceComponentDefinitionExtended } from './extended/LightSource';
20
22
  import { TriggerAreaComponentDefinitionExtended } from './extended/TriggerArea';
21
- import { ParticleSystemComponentDefinitionExtended } from './extended/ParticleSystem';
22
23
  import { TagsComponentDefinitionExtended } from './manual/Tags';
23
24
  export * from './generated/index.gen';
24
- export type { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDefinition, LwwComponentGetter, GSetComponentGetter };
25
+ export type { GrowOnlyValueSetComponentDefinition, GSetComponentGetter, LastWriteWinElementSetComponentDefinition, LwwComponentGetter };
25
26
  export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
26
27
  export declare const Material: LwwComponentGetter<MaterialComponentDefinitionExtended>;
27
28
  export declare const Animator: LwwComponentGetter<AnimatorComponentDefinitionExtended>;
@@ -30,11 +31,12 @@ export declare const AudioStream: (engine: Pick<IEngine, 'defineComponentFromSch
30
31
  export declare const MeshRenderer: LwwComponentGetter<MeshRendererComponentDefinitionExtended>;
31
32
  export declare const MeshCollider: LwwComponentGetter<MeshColliderComponentDefinitionExtended>;
32
33
  export declare const Tween: LwwComponentGetter<TweenComponentDefinitionExtended>;
34
+ export declare const AvatarShape: LwwComponentGetter<AvatarShapeComponentDefinitionExtended>;
35
+ export declare const AvatarEquippedData: LwwComponentGetter<AvatarEquippedDataComponentDefinitionExtended>;
33
36
  export declare const VirtualCamera: LwwComponentGetter<VirtualCameraComponentDefinitionExtended>;
34
37
  export declare const InputModifier: LwwComponentGetter<InputModifierComponentDefinitionExtended>;
35
38
  export declare const LightSource: LwwComponentGetter<LightSourceComponentDefinitionExtended>;
36
39
  export declare const TriggerArea: LwwComponentGetter<TriggerAreaComponentDefinitionExtended>;
37
- export declare const ParticleSystem: LwwComponentGetter<ParticleSystemComponentDefinitionExtended>;
38
40
  /**
39
41
  * @alpha
40
42
  */
@@ -1,21 +1,22 @@
1
1
  import { defineAnimatorComponent } from './extended/Animator';
2
2
  import { defineAudioSourceComponent } from './extended/AudioSource';
3
+ import { defineAudioStreamComponent } from './extended/AudioStream';
4
+ import { defineAvatarEquippedDataComponent } from './extended/AvatarEquippedData';
5
+ import { defineAvatarShapeComponent } from './extended/AvatarShape';
6
+ import { defineInputModifierComponent } from './extended/InputModifier';
3
7
  import { defineMaterialComponent } from './extended/Material';
4
8
  import { defineMeshColliderComponent } from './extended/MeshCollider';
5
9
  import { defineMeshRendererComponent } from './extended/MeshRenderer';
6
10
  import { defineTweenComponent } from './extended/Tween';
11
+ import { defineVirtualCameraComponent } from './extended/VirtualCamera';
12
+ import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
7
13
  import defineNameComponent from './manual/Name';
8
- import defineSyncComponent from './manual/SyncComponents';
9
14
  import defineNetworkEntity from './manual/NetworkEntity';
10
15
  import defineNetworkParent from './manual/NetworkParent';
16
+ import defineSyncComponent from './manual/SyncComponents';
11
17
  import { defineTransformComponent } from './manual/Transform';
12
- import { defineAudioStreamComponent } from './extended/AudioStream';
13
- import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
14
- import { defineVirtualCameraComponent } from './extended/VirtualCamera';
15
- import { defineInputModifierComponent } from './extended/InputModifier';
16
18
  import { defineLightSourceComponent } from './extended/LightSource';
17
19
  import { defineTriggerAreaComponent } from './extended/TriggerArea';
18
- import { defineParticleSystemComponent } from './extended/ParticleSystem';
19
20
  import defineTagsComponent from './manual/Tags';
20
21
  export * from './generated/index.gen';
21
22
  /* @__PURE__ */
@@ -35,6 +36,10 @@ export const MeshCollider = (engine) => defineMeshColliderComponent(engine);
35
36
  /* @__PURE__ */
36
37
  export const Tween = (engine) => defineTweenComponent(engine);
37
38
  /* @__PURE__ */
39
+ export const AvatarShape = (engine) => defineAvatarShapeComponent(engine);
40
+ /* @__PURE__ */
41
+ export const AvatarEquippedData = (engine) => defineAvatarEquippedDataComponent(engine);
42
+ /* @__PURE__ */
38
43
  export const VirtualCamera = (engine) => defineVirtualCameraComponent(engine);
39
44
  /* @__PURE__*/
40
45
  export const InputModifier = (engine) => defineInputModifierComponent(engine);
@@ -42,8 +47,6 @@ export const InputModifier = (engine) => defineInputModifierComponent(engine);
42
47
  export const LightSource = (engine) => defineLightSourceComponent(engine);
43
48
  /* @__PURE__ */
44
49
  export const TriggerArea = (engine) => defineTriggerAreaComponent(engine);
45
- /* @__PURE__ */
46
- export const ParticleSystem = (engine) => defineParticleSystemComponent(engine);
47
50
  /**
48
51
  * @alpha
49
52
  */
@@ -1,6 +1,5 @@
1
1
  import { LastWriteWinElementSetComponentDefinition, IEngine } from '../../engine';
2
2
  import { Entity } from '../../engine/entity';
3
- import type { Vector3Type } from '../../schemas/custom/Vector3';
4
3
  /**
5
4
  * @public
6
5
  */
@@ -11,18 +10,6 @@ export type TransformComponent = LastWriteWinElementSetComponentDefinition<Trans
11
10
  export interface TransformComponentExtended extends TransformComponent {
12
11
  create(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
13
12
  createOrReplace(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
14
- /**
15
- * Transforms a direction vector from an entity's local coordinate space
16
- * to world space, accounting for the full parent hierarchy.
17
- *
18
- * This applies only rotation (not translation or scale) — suitable for
19
- * direction vectors like force/impulse directions.
20
- *
21
- * @param entity - The source entity whose local space defines the direction
22
- * @param localDirection - Direction vector in the entity's local coordinates
23
- * @returns The direction vector in world coordinates
24
- */
25
- localToWorldDirection(entity: Entity, localDirection: Vector3Type): Vector3Type;
26
13
  }
27
14
  /**
28
15
  * @public
@@ -1,7 +1,3 @@
1
- // Use import * to safely handle circular dependency (tree.ts → components → Transform.ts → tree.ts).
2
- // With import *, the namespace object's properties are resolved at access time (live bindings in ESM,
3
- // getters via __importStar in CJS), so by the time methods are called all exports are available.
4
- import * as treeHelpers from '../../runtime/helpers/tree';
5
1
  /**
6
2
  * @internal
7
3
  */
@@ -105,10 +101,6 @@ export function defineTransformComponent(engine) {
105
101
  },
106
102
  createOrReplace(entity, val) {
107
103
  return transformDef.createOrReplace(entity, TransformSchema.extend(val));
108
- },
109
- localToWorldDirection(entity, localDirection) {
110
- const worldRotation = treeHelpers.getWorldRotation(engine, entity);
111
- return treeHelpers.rotateVectorByQuaternion(localDirection, worldRotation);
112
104
  }
113
105
  };
114
106
  }
@@ -3,8 +3,10 @@ export type { AudioSourceComponentDefinitionExtended } from './extended/AudioSou
3
3
  export type { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
4
4
  export type { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
5
5
  export type { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
6
+ export type { AvatarEquippedDataComponentDefinitionExtended, AvatarEquippedDataType } from './extended/AvatarEquippedData';
7
+ export type { AvatarShapeComponentDefinitionExtended, AvatarShapeType } from './extended/AvatarShape';
6
8
  export type { TextureHelper, MaterialComponentDefinitionExtended, FlatTexture, ReadonlyFlatMaterial, ReadonlyFlatTexture, FlatMaterial } from './extended/Material';
7
- export type { TweenHelper, TweenComponentDefinitionExtended, SetMoveRotateScaleParams, MoveRotateScaleModeParams } from './extended/Tween';
9
+ export type { TweenHelper, TweenComponentDefinitionExtended } from './extended/Tween';
8
10
  export type { CameraTransitionHelper, VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
9
11
  export type { TransformComponentExtended, TransformTypeWithOptionals } from './manual/Transform';
10
12
  export type { NameComponent, NameType } from './manual/Name';
@@ -15,4 +17,3 @@ export type { INetowrkParent, INetowrkParentType } from './manual/NetworkParent'
15
17
  export type { InputModifierHelper, InputModifierComponentDefinitionExtended } from './extended/InputModifier';
16
18
  export type { LightSourceHelper, LightSourceComponentDefinitionExtended } from './extended/LightSource';
17
19
  export type { TriggerAreaComponentDefinitionExtended } from './extended/TriggerArea';
18
- export type { ParticleSystemHelper, ParticleSystemComponentDefinitionExtended, ParticleSystemBlendMode, ParticleSystemPlaybackState } from './extended/ParticleSystem';
@@ -61,10 +61,8 @@ export var EntityState;
61
61
  */
62
62
  export function createEntityContainer(opts) {
63
63
  const reservedStaticEntities = opts?.reservedStaticEntities ?? RESERVED_STATIC_ENTITIES;
64
- // If a build tool has set DCL_MAX_COMPOSITE_ENTITY (via esbuild define),
65
- // start the counter past composite entities to prevent ID collisions.
66
- const maxCompositeEntity = typeof DCL_MAX_COMPOSITE_ENTITY !== 'undefined' ? DCL_MAX_COMPOSITE_ENTITY : 0;
67
- let entityCounter = Math.max(reservedStaticEntities, maxCompositeEntity > 0 ? maxCompositeEntity + 1 : 0);
64
+ // Local entities counter
65
+ let entityCounter = reservedStaticEntities;
68
66
  const usedEntities = new Set();
69
67
  let toRemoveEntities = [];
70
68
  const removedEntities = createVersionGSet();
@@ -12,7 +12,7 @@ function freezeSet(set) {
12
12
  return set;
13
13
  }
14
14
  function sortByTimestamp(a, b) {
15
- return a.timestamp - b.timestamp;
15
+ return a.timestamp > b.timestamp ? 1 : -1;
16
16
  }
17
17
  /**
18
18
  * @internal
@@ -32,6 +32,12 @@ export type IInputSystem = {
32
32
  * @returns the input command info or undefined if there is no command in the last tick-update
33
33
  */
34
34
  getInputCommand: (inputAction: InputAction, pointerEventType: PointerEventType, entity?: Entity) => PBPointerEventsResult | null;
35
+ /**
36
+ * @public
37
+ * Get an ordered iterator over events received within the current frame.
38
+ * @returns the iterator
39
+ */
40
+ getInputCommands: () => Generator<PBPointerEventsResult>;
35
41
  };
36
42
  /**
37
43
  * @public
@@ -118,9 +118,8 @@ export function createInputSystem(engine) {
118
118
  }
119
119
  if (!up || !down)
120
120
  return null;
121
- // If the DOWN command has happened before or at the same time as the UP command, a click has happened.
122
- // Same-timestamp is possible when both events are produced within the same renderer tick.
123
- if (down.timestamp <= up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
121
+ // If the DOWN command has happen before the UP commands, it means that that a clicked has happen
122
+ if (down.timestamp < up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
124
123
  return { up, down };
125
124
  }
126
125
  return null;
@@ -186,11 +185,17 @@ export function createInputSystem(engine) {
186
185
  function isPressed(inputAction) {
187
186
  return globalState.buttonState.get(inputAction)?.state === 1 /* PointerEventType.PET_DOWN */;
188
187
  }
188
+ function* getInputCommands() {
189
+ for (let i = globalState.thisFrameCommands.length - 1; i >= 0; i--) {
190
+ yield globalState.thisFrameCommands[i];
191
+ }
192
+ }
189
193
  return {
190
194
  isPressed,
191
195
  getClick,
192
196
  getInputCommand,
193
197
  isClicked,
194
- isTriggered
198
+ isTriggered,
199
+ getInputCommands
195
200
  };
196
201
  }
@@ -4,5 +4,5 @@ import { PutComponentMessageBody, DeleteComponentMessageBody, CrdtMessageBody }
4
4
  import { Entity } from './entity';
5
5
  export declare function incrementTimestamp(entity: Entity, timestamps: Map<Entity, number>): number;
6
6
  export declare function createDumpLwwFunctionFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>): (buffer: ByteBuffer, filterEntity?: ((entity: Entity) => boolean) | undefined) => void;
7
- export declare function createUpdateLwwFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>, lastSentData: Map<Entity, Uint8Array>): (msg: CrdtMessageBody) => [null | PutComponentMessageBody | DeleteComponentMessageBody, any];
8
- export declare function createGetCrdtMessagesForLww(componentId: number, timestamps: Map<Entity, number>, dirtyIterator: Set<Entity>, schema: Pick<ISchema<any>, 'serialize'>, data: Map<Entity, unknown>, lastSentData: Map<Entity, Uint8Array>): () => Generator<PutComponentMessageBody | DeleteComponentMessageBody, void, unknown>;
7
+ export declare function createUpdateLwwFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>): (msg: CrdtMessageBody) => [null | PutComponentMessageBody | DeleteComponentMessageBody, any];
8
+ export declare function createGetCrdtMessagesForLww(componentId: number, timestamps: Map<Entity, number>, dirtyIterator: Set<Entity>, schema: Pick<ISchema<any>, 'serialize'>, data: Map<Entity, unknown>): () => Generator<PutComponentMessageBody | DeleteComponentMessageBody, void, unknown>;
@@ -30,7 +30,7 @@ export function createDumpLwwFunctionFromCrdt(componentId, timestamps, schema, d
30
30
  }
31
31
  };
32
32
  }
33
- export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, lastSentData) {
33
+ export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data) {
34
34
  /**
35
35
  * Process the received message only if the lamport number recieved is higher
36
36
  * than the stored one. If its lower, we spread it to the network to correct the peer.
@@ -96,11 +96,9 @@ export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, l
96
96
  if (msg.type === CrdtMessageType.PUT_COMPONENT || msg.type === CrdtMessageType.PUT_COMPONENT_NETWORK) {
97
97
  const buf = new ReadWriteByteBuffer(msg.data);
98
98
  data.set(entity, schema.deserialize(buf));
99
- lastSentData.set(entity, new Uint8Array(msg.data));
100
99
  }
101
100
  else {
102
101
  data.delete(entity);
103
- lastSentData.delete(entity);
104
102
  }
105
103
  return [null, data.get(entity)];
106
104
  }
@@ -136,34 +134,23 @@ export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, l
136
134
  return [null, data.get(entity)];
137
135
  };
138
136
  }
139
- export function createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data, lastSentData) {
137
+ export function createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data) {
140
138
  return function* () {
141
- const writeBuffer = new ReadWriteByteBuffer();
142
139
  for (const entity of dirtyIterator) {
140
+ const newTimestamp = incrementTimestamp(entity, timestamps);
143
141
  if (data.has(entity)) {
144
- writeBuffer.resetBuffer();
142
+ const writeBuffer = new ReadWriteByteBuffer();
145
143
  schema.serialize(data.get(entity), writeBuffer);
146
- // Compare against last-sent snapshot using the zero-copy subarray view.
147
- // Only allocate a copy when bytes actually differ.
148
- const previousBytes = lastSentData.get(entity);
149
- if (previousBytes && dataCompare(writeBuffer.toBinary(), previousBytes) === 0) {
150
- continue;
151
- }
152
- const currentBytes = writeBuffer.toCopiedBinary();
153
- const newTimestamp = incrementTimestamp(entity, timestamps);
154
- lastSentData.set(entity, currentBytes);
155
144
  const msg = {
156
145
  type: CrdtMessageType.PUT_COMPONENT,
157
146
  componentId,
158
147
  entityId: entity,
159
- data: currentBytes,
148
+ data: writeBuffer.toBinary(),
160
149
  timestamp: newTimestamp
161
150
  };
162
151
  yield msg;
163
152
  }
164
153
  else {
165
- lastSentData.delete(entity);
166
- const newTimestamp = incrementTimestamp(entity, timestamps);
167
154
  const msg = {
168
155
  type: CrdtMessageType.DELETE_COMPONENT,
169
156
  componentId,
@@ -183,7 +170,6 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
183
170
  const data = new Map();
184
171
  const dirtyIterator = new Set();
185
172
  const timestamps = new Map();
186
- const lastSentData = new Map();
187
173
  const onChangeCallbacks = new Map();
188
174
  return {
189
175
  get componentId() {
@@ -205,14 +191,12 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
205
191
  if (data.delete(entity) && markAsDirty) {
206
192
  dirtyIterator.add(entity);
207
193
  }
208
- lastSentData.delete(entity);
209
194
  return component || null;
210
195
  },
211
196
  entityDeleted(entity, markAsDirty) {
212
197
  if (data.delete(entity) && markAsDirty) {
213
198
  dirtyIterator.add(entity);
214
199
  }
215
- lastSentData.delete(entity);
216
200
  },
217
201
  getOrNull(entity) {
218
202
  const component = data.get(entity);
@@ -239,7 +223,6 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
239
223
  const usedValue = value === undefined ? schema.create() : schema.extend ? schema.extend(value) : value;
240
224
  data.set(entity, usedValue);
241
225
  dirtyIterator.add(entity);
242
- lastSentData.delete(entity);
243
226
  return usedValue;
244
227
  },
245
228
  getMutableOrNull(entity) {
@@ -277,8 +260,8 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
277
260
  yield entity;
278
261
  }
279
262
  },
280
- getCrdtUpdates: createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data, lastSentData),
281
- updateFromCrdt: createUpdateLwwFromCrdt(componentId, timestamps, schema, data, lastSentData),
263
+ getCrdtUpdates: createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data),
264
+ updateFromCrdt: createUpdateLwwFromCrdt(componentId, timestamps, schema, data),
282
265
  dumpCrdtStateToBuffer: createDumpLwwFunctionFromCrdt(componentId, timestamps, schema, data),
283
266
  onChange(entity, cb) {
284
267
  const cbs = onChangeCallbacks.get(entity) ?? [];