@dcl/ecs 7.20.4-22576263908.commit-9ddd8ad → 7.20.4-22581991550.commit-9c72184

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 (233) hide show
  1. package/dist/components/extended/MeshCollider.d.ts +0 -8
  2. package/dist/components/extended/MeshCollider.js +0 -6
  3. package/dist/components/extended/MeshRenderer.d.ts +0 -8
  4. package/dist/components/extended/MeshRenderer.js +0 -5
  5. package/dist/components/generated/component-names.gen.js +0 -11
  6. package/dist/components/generated/global.gen.d.ts +0 -22
  7. package/dist/components/generated/global.gen.js +0 -11
  8. package/dist/components/generated/index.gen.d.ts +0 -44
  9. package/dist/components/generated/index.gen.js +0 -55
  10. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
  11. package/dist/components/generated/pb/decentraland/common/texture.gen.js +0 -65
  12. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
  13. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
  14. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +0 -43
  15. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +1 -151
  16. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
  17. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
  18. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
  19. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +1 -119
  20. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -6
  21. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +0 -4
  22. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
  23. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
  24. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
  25. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +1 -57
  26. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +0 -20
  27. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +0 -56
  28. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
  29. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +0 -56
  30. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
  31. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
  32. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
  33. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +0 -30
  34. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
  35. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
  36. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
  37. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +0 -90
  38. package/dist/components/index.d.ts +12 -11
  39. package/dist/components/index.js +10 -13
  40. package/dist/components/manual/CreatedBy.d.ts +9 -0
  41. package/dist/components/manual/CreatedBy.js +8 -0
  42. package/dist/components/manual/Transform.d.ts +9 -0
  43. package/dist/components/manual/Transform.js +3 -3
  44. package/dist/components/types.d.ts +1 -2
  45. package/dist/engine/component.d.ts +52 -1
  46. package/dist/engine/grow-only-value-set-component-definition.js +46 -3
  47. package/dist/engine/input.d.ts +0 -6
  48. package/dist/engine/input.js +4 -9
  49. package/dist/engine/lww-element-set-component-definition.d.ts +3 -1
  50. package/dist/engine/lww-element-set-component-definition.js +65 -12
  51. package/dist/index.d.ts +2 -2
  52. package/dist/index.js +1 -1
  53. package/dist/runtime/globals.d.ts +2 -12
  54. package/dist/runtime/globals.js +3 -4
  55. package/dist/serialization/crdt/authoritativePutComponent.d.ts +15 -0
  56. package/dist/serialization/crdt/authoritativePutComponent.js +47 -0
  57. package/dist/serialization/crdt/index.d.ts +1 -0
  58. package/dist/serialization/crdt/index.js +1 -0
  59. package/dist/serialization/crdt/types.d.ts +25 -3
  60. package/dist/serialization/crdt/types.js +3 -1
  61. package/dist/systems/crdt/index.d.ts +0 -1
  62. package/dist/systems/crdt/index.js +55 -146
  63. package/dist/systems/events.d.ts +1 -100
  64. package/dist/systems/events.js +65 -143
  65. package/dist/systems/raycast.d.ts +1 -3
  66. package/dist/systems/raycast.js +0 -2
  67. package/dist-cjs/components/extended/MeshCollider.d.ts +0 -8
  68. package/dist-cjs/components/extended/MeshCollider.js +0 -6
  69. package/dist-cjs/components/extended/MeshRenderer.d.ts +0 -8
  70. package/dist-cjs/components/extended/MeshRenderer.js +0 -5
  71. package/dist-cjs/components/generated/component-names.gen.js +0 -11
  72. package/dist-cjs/components/generated/global.gen.d.ts +0 -22
  73. package/dist-cjs/components/generated/global.gen.js +1 -13
  74. package/dist-cjs/components/generated/index.gen.d.ts +0 -44
  75. package/dist-cjs/components/generated/index.gen.js +2 -68
  76. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
  77. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +1 -66
  78. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
  79. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
  80. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +0 -43
  81. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +2 -152
  82. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
  83. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
  84. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
  85. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +2 -120
  86. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -6
  87. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +0 -4
  88. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
  89. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
  90. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
  91. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +2 -58
  92. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +0 -20
  93. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +1 -57
  94. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
  95. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +1 -57
  96. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
  97. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
  98. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
  99. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +1 -31
  100. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
  101. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
  102. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
  103. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +1 -91
  104. package/dist-cjs/components/index.d.ts +12 -11
  105. package/dist-cjs/components/index.js +13 -17
  106. package/dist-cjs/components/manual/CreatedBy.d.ts +9 -0
  107. package/dist-cjs/components/manual/CreatedBy.js +10 -0
  108. package/dist-cjs/components/manual/Transform.d.ts +9 -0
  109. package/dist-cjs/components/manual/Transform.js +3 -3
  110. package/dist-cjs/components/types.d.ts +1 -2
  111. package/dist-cjs/engine/component.d.ts +52 -1
  112. package/dist-cjs/engine/grow-only-value-set-component-definition.js +45 -2
  113. package/dist-cjs/engine/input.d.ts +0 -6
  114. package/dist-cjs/engine/input.js +4 -9
  115. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +3 -1
  116. package/dist-cjs/engine/lww-element-set-component-definition.js +68 -13
  117. package/dist-cjs/index.d.ts +2 -2
  118. package/dist-cjs/index.js +2 -2
  119. package/dist-cjs/runtime/globals.d.ts +2 -12
  120. package/dist-cjs/runtime/globals.js +3 -4
  121. package/dist-cjs/serialization/crdt/authoritativePutComponent.d.ts +15 -0
  122. package/dist-cjs/serialization/crdt/authoritativePutComponent.js +50 -0
  123. package/dist-cjs/serialization/crdt/index.d.ts +1 -0
  124. package/dist-cjs/serialization/crdt/index.js +1 -0
  125. package/dist-cjs/serialization/crdt/types.d.ts +25 -3
  126. package/dist-cjs/serialization/crdt/types.js +3 -1
  127. package/dist-cjs/systems/crdt/index.d.ts +0 -1
  128. package/dist-cjs/systems/crdt/index.js +55 -169
  129. package/dist-cjs/systems/events.d.ts +1 -100
  130. package/dist-cjs/systems/events.js +65 -143
  131. package/dist-cjs/systems/raycast.d.ts +1 -3
  132. package/dist-cjs/systems/raycast.js +0 -2
  133. package/package.json +2 -2
  134. package/dist/components/extended/AvatarEquippedData.d.ts +0 -10
  135. package/dist/components/extended/AvatarEquippedData.js +0 -15
  136. package/dist/components/extended/AvatarShape.d.ts +0 -10
  137. package/dist/components/extended/AvatarShape.js +0 -15
  138. package/dist/components/generated/AvatarLocomotionSettings.gen.d.ts +0 -1
  139. package/dist/components/generated/AvatarLocomotionSettings.gen.js +0 -25
  140. package/dist/components/generated/AvatarMovement.gen.d.ts +0 -1
  141. package/dist/components/generated/AvatarMovement.gen.js +0 -25
  142. package/dist/components/generated/AvatarMovementInfo.gen.d.ts +0 -1
  143. package/dist/components/generated/AvatarMovementInfo.gen.js +0 -25
  144. package/dist/components/generated/CameraLayer.gen.d.ts +0 -1
  145. package/dist/components/generated/CameraLayer.gen.js +0 -25
  146. package/dist/components/generated/CameraLayers.gen.d.ts +0 -1
  147. package/dist/components/generated/CameraLayers.gen.js +0 -25
  148. package/dist/components/generated/GlobalLight.gen.d.ts +0 -1
  149. package/dist/components/generated/GlobalLight.gen.js +0 -25
  150. package/dist/components/generated/GltfNode.gen.d.ts +0 -1
  151. package/dist/components/generated/GltfNode.gen.js +0 -25
  152. package/dist/components/generated/GltfNodeState.gen.d.ts +0 -1
  153. package/dist/components/generated/GltfNodeState.gen.js +0 -25
  154. package/dist/components/generated/TextureCamera.gen.d.ts +0 -1
  155. package/dist/components/generated/TextureCamera.gen.js +0 -25
  156. package/dist/components/generated/UiCanvas.gen.d.ts +0 -1
  157. package/dist/components/generated/UiCanvas.gen.js +0 -25
  158. package/dist/components/generated/UiScrollResult.gen.d.ts +0 -1
  159. package/dist/components/generated/UiScrollResult.gen.js +0 -25
  160. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -29
  161. package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -93
  162. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -18
  163. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -60
  164. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -28
  165. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -106
  166. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
  167. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -104
  168. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
  169. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -50
  170. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
  171. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -61
  172. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
  173. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -41
  174. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
  175. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -59
  176. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
  177. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -191
  178. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
  179. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -60
  180. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
  181. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -42
  182. package/dist/serialization/crdt/network/utils.d.ts +0 -9
  183. package/dist/serialization/crdt/network/utils.js +0 -60
  184. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +0 -10
  185. package/dist-cjs/components/extended/AvatarEquippedData.js +0 -19
  186. package/dist-cjs/components/extended/AvatarShape.d.ts +0 -10
  187. package/dist-cjs/components/extended/AvatarShape.js +0 -19
  188. package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.d.ts +0 -1
  189. package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.js +0 -28
  190. package/dist-cjs/components/generated/AvatarMovement.gen.d.ts +0 -1
  191. package/dist-cjs/components/generated/AvatarMovement.gen.js +0 -28
  192. package/dist-cjs/components/generated/AvatarMovementInfo.gen.d.ts +0 -1
  193. package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +0 -28
  194. package/dist-cjs/components/generated/CameraLayer.gen.d.ts +0 -1
  195. package/dist-cjs/components/generated/CameraLayer.gen.js +0 -28
  196. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +0 -1
  197. package/dist-cjs/components/generated/CameraLayers.gen.js +0 -28
  198. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +0 -1
  199. package/dist-cjs/components/generated/GlobalLight.gen.js +0 -28
  200. package/dist-cjs/components/generated/GltfNode.gen.d.ts +0 -1
  201. package/dist-cjs/components/generated/GltfNode.gen.js +0 -28
  202. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +0 -1
  203. package/dist-cjs/components/generated/GltfNodeState.gen.js +0 -28
  204. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +0 -1
  205. package/dist-cjs/components/generated/TextureCamera.gen.js +0 -28
  206. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +0 -1
  207. package/dist-cjs/components/generated/UiCanvas.gen.js +0 -28
  208. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +0 -1
  209. package/dist-cjs/components/generated/UiScrollResult.gen.js +0 -28
  210. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -29
  211. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -99
  212. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -18
  213. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -66
  214. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -28
  215. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -112
  216. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
  217. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -110
  218. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
  219. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -56
  220. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
  221. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -67
  222. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
  223. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -47
  224. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
  225. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -65
  226. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
  227. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -197
  228. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
  229. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -66
  230. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
  231. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -48
  232. package/dist-cjs/serialization/crdt/network/utils.d.ts +0 -9
  233. package/dist-cjs/serialization/crdt/network/utils.js +0 -67
@@ -3,11 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PBUiTransform = exports.ScrollPositionValue = exports.ShowScrollBar = exports.PointerFilterMode = exports.YGEdge = exports.YGDisplay = exports.YGOverflow = exports.YGJustify = exports.YGWrap = exports.YGFlexDirection = exports.YGUnit = exports.YGAlign = exports.YGPositionType = void 0;
6
+ exports.PBUiTransform = exports.PointerFilterMode = exports.YGEdge = exports.YGDisplay = exports.YGOverflow = exports.YGJustify = exports.YGWrap = exports.YGFlexDirection = exports.YGUnit = exports.YGAlign = exports.YGPositionType = void 0;
7
7
  /* eslint-disable */
8
8
  const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
9
  const colors_gen_1 = require("../../common/colors.gen");
10
- const vectors_gen_1 = require("../../common/vectors.gen");
11
10
  const protobufPackageSarasa = "decentraland.sdk.components";
12
11
  /**
13
12
  * @public
@@ -112,65 +111,6 @@ var PointerFilterMode;
112
111
  PointerFilterMode[PointerFilterMode["PFM_NONE"] = 0] = "PFM_NONE";
113
112
  PointerFilterMode[PointerFilterMode["PFM_BLOCK"] = 1] = "PFM_BLOCK";
114
113
  })(PointerFilterMode = exports.PointerFilterMode || (exports.PointerFilterMode = {}));
115
- /**
116
- * @public
117
- */
118
- var ShowScrollBar;
119
- (function (ShowScrollBar) {
120
- ShowScrollBar[ShowScrollBar["SSB_BOTH"] = 0] = "SSB_BOTH";
121
- ShowScrollBar[ShowScrollBar["SSB_ONLY_VERTICAL"] = 1] = "SSB_ONLY_VERTICAL";
122
- ShowScrollBar[ShowScrollBar["SSB_ONLY_HORIZONTAL"] = 2] = "SSB_ONLY_HORIZONTAL";
123
- ShowScrollBar[ShowScrollBar["SSB_HIDDEN"] = 3] = "SSB_HIDDEN";
124
- })(ShowScrollBar = exports.ShowScrollBar || (exports.ShowScrollBar = {}));
125
- function createBaseScrollPositionValue() {
126
- return { value: undefined };
127
- }
128
- /**
129
- * @public
130
- */
131
- var ScrollPositionValue;
132
- (function (ScrollPositionValue) {
133
- function encode(message, writer = minimal_1.default.Writer.create()) {
134
- switch (message.value?.$case) {
135
- case "position":
136
- vectors_gen_1.Vector2.encode(message.value.position, writer.uint32(10).fork()).ldelim();
137
- break;
138
- case "reference":
139
- writer.uint32(18).string(message.value.reference);
140
- break;
141
- }
142
- return writer;
143
- }
144
- ScrollPositionValue.encode = encode;
145
- function decode(input, length) {
146
- const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
147
- let end = length === undefined ? reader.len : reader.pos + length;
148
- const message = createBaseScrollPositionValue();
149
- while (reader.pos < end) {
150
- const tag = reader.uint32();
151
- switch (tag >>> 3) {
152
- case 1:
153
- if (tag !== 10) {
154
- break;
155
- }
156
- message.value = { $case: "position", position: vectors_gen_1.Vector2.decode(reader, reader.uint32()) };
157
- continue;
158
- case 2:
159
- if (tag !== 18) {
160
- break;
161
- }
162
- message.value = { $case: "reference", reference: reader.string() };
163
- continue;
164
- }
165
- if ((tag & 7) === 4 || tag === 0) {
166
- break;
167
- }
168
- reader.skipType(tag & 7);
169
- }
170
- return message;
171
- }
172
- ScrollPositionValue.decode = decode;
173
- })(ScrollPositionValue = exports.ScrollPositionValue || (exports.ScrollPositionValue = {}));
174
114
  function createBasePBUiTransform() {
175
115
  return {
176
116
  parent: 0,
@@ -246,9 +186,6 @@ function createBasePBUiTransform() {
246
186
  borderLeftColor: undefined,
247
187
  borderRightColor: undefined,
248
188
  opacity: undefined,
249
- elementId: undefined,
250
- scrollPosition: undefined,
251
- scrollVisible: undefined,
252
189
  zIndex: undefined,
253
190
  };
254
191
  }
@@ -477,15 +414,6 @@ var PBUiTransform;
477
414
  if (message.opacity !== undefined) {
478
415
  writer.uint32(589).float(message.opacity);
479
416
  }
480
- if (message.elementId !== undefined) {
481
- writer.uint32(594).string(message.elementId);
482
- }
483
- if (message.scrollPosition !== undefined) {
484
- ScrollPositionValue.encode(message.scrollPosition, writer.uint32(602).fork()).ldelim();
485
- }
486
- if (message.scrollVisible !== undefined) {
487
- writer.uint32(608).int32(message.scrollVisible);
488
- }
489
417
  if (message.zIndex !== undefined) {
490
418
  writer.uint32(616).int32(message.zIndex);
491
419
  }
@@ -937,24 +865,6 @@ var PBUiTransform;
937
865
  }
938
866
  message.opacity = reader.float();
939
867
  continue;
940
- case 74:
941
- if (tag !== 594) {
942
- break;
943
- }
944
- message.elementId = reader.string();
945
- continue;
946
- case 75:
947
- if (tag !== 602) {
948
- break;
949
- }
950
- message.scrollPosition = ScrollPositionValue.decode(reader, reader.uint32());
951
- continue;
952
- case 76:
953
- if (tag !== 608) {
954
- break;
955
- }
956
- message.scrollVisible = reader.int32();
957
- continue;
958
868
  case 77:
959
869
  if (tag !== 616) {
960
870
  break;
@@ -2,27 +2,26 @@ 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';
9
5
  import { MaterialComponentDefinitionExtended } from './extended/Material';
10
6
  import { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
11
7
  import { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
12
8
  import { TweenComponentDefinitionExtended } from './extended/Tween';
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';
9
+ import { LwwComponentGetter, GSetComponentGetter } from './generated/index.gen';
16
10
  import { NameType } from './manual/Name';
11
+ import { ISyncComponentsType } from './manual/SyncComponents';
17
12
  import { INetowrkEntityType } from './manual/NetworkEntity';
18
13
  import { INetowrkParentType } from './manual/NetworkParent';
19
- import { ISyncComponentsType } from './manual/SyncComponents';
20
14
  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';
21
19
  import { LightSourceComponentDefinitionExtended } from './extended/LightSource';
22
20
  import { TriggerAreaComponentDefinitionExtended } from './extended/TriggerArea';
23
21
  import { TagsComponentDefinitionExtended } from './manual/Tags';
22
+ import { ICreatedByType } from './manual/CreatedBy';
24
23
  export * from './generated/index.gen';
25
- export type { GrowOnlyValueSetComponentDefinition, GSetComponentGetter, LastWriteWinElementSetComponentDefinition, LwwComponentGetter };
24
+ export type { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDefinition, LwwComponentGetter, GSetComponentGetter };
26
25
  export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
27
26
  export declare const Material: LwwComponentGetter<MaterialComponentDefinitionExtended>;
28
27
  export declare const Animator: LwwComponentGetter<AnimatorComponentDefinitionExtended>;
@@ -31,8 +30,6 @@ export declare const AudioStream: (engine: Pick<IEngine, 'defineComponentFromSch
31
30
  export declare const MeshRenderer: LwwComponentGetter<MeshRendererComponentDefinitionExtended>;
32
31
  export declare const MeshCollider: LwwComponentGetter<MeshColliderComponentDefinitionExtended>;
33
32
  export declare const Tween: LwwComponentGetter<TweenComponentDefinitionExtended>;
34
- export declare const AvatarShape: LwwComponentGetter<AvatarShapeComponentDefinitionExtended>;
35
- export declare const AvatarEquippedData: LwwComponentGetter<AvatarEquippedDataComponentDefinitionExtended>;
36
33
  export declare const VirtualCamera: LwwComponentGetter<VirtualCameraComponentDefinitionExtended>;
37
34
  export declare const InputModifier: LwwComponentGetter<InputModifierComponentDefinitionExtended>;
38
35
  export declare const LightSource: LwwComponentGetter<LightSourceComponentDefinitionExtended>;
@@ -54,4 +51,8 @@ export declare const NetworkEntity: (engine: Pick<IEngine, 'defineComponent'>) =
54
51
  * @alpha
55
52
  */
56
53
  export declare const NetworkParent: (engine: Pick<IEngine, 'defineComponent'>) => LastWriteWinElementSetComponentDefinition<INetowrkParentType>;
54
+ /**
55
+ * @public
56
+ */
57
+ export declare const CreatedBy: (engine: Pick<IEngine, 'defineComponent'>) => LastWriteWinElementSetComponentDefinition<ICreatedByType>;
57
58
  export { MediaState };
@@ -17,28 +17,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.MediaState = exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.Tags = exports.Name = exports.TriggerArea = exports.LightSource = exports.InputModifier = exports.VirtualCamera = exports.AvatarEquippedData = exports.AvatarShape = exports.Tween = exports.MeshCollider = exports.MeshRenderer = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Material = exports.Transform = void 0;
20
+ exports.MediaState = exports.CreatedBy = exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.Tags = exports.Name = exports.TriggerArea = exports.LightSource = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.MeshCollider = exports.MeshRenderer = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Material = exports.Transform = void 0;
21
21
  const Animator_1 = require("./extended/Animator");
22
22
  const AudioSource_1 = require("./extended/AudioSource");
23
- const AudioStream_1 = require("./extended/AudioStream");
24
- const AvatarEquippedData_1 = require("./extended/AvatarEquippedData");
25
- const AvatarShape_1 = require("./extended/AvatarShape");
26
- const InputModifier_1 = require("./extended/InputModifier");
27
23
  const Material_1 = require("./extended/Material");
28
24
  const MeshCollider_1 = require("./extended/MeshCollider");
29
25
  const MeshRenderer_1 = require("./extended/MeshRenderer");
30
26
  const Tween_1 = require("./extended/Tween");
31
- const VirtualCamera_1 = require("./extended/VirtualCamera");
32
- const media_state_gen_1 = require("./generated/pb/decentraland/sdk/components/common/media_state.gen");
33
- Object.defineProperty(exports, "MediaState", { enumerable: true, get: function () { return media_state_gen_1.MediaState; } });
34
27
  const Name_1 = __importDefault(require("./manual/Name"));
28
+ const SyncComponents_1 = __importDefault(require("./manual/SyncComponents"));
35
29
  const NetworkEntity_1 = __importDefault(require("./manual/NetworkEntity"));
36
30
  const NetworkParent_1 = __importDefault(require("./manual/NetworkParent"));
37
- const SyncComponents_1 = __importDefault(require("./manual/SyncComponents"));
38
31
  const Transform_1 = require("./manual/Transform");
32
+ const AudioStream_1 = require("./extended/AudioStream");
33
+ const media_state_gen_1 = require("./generated/pb/decentraland/sdk/components/common/media_state.gen");
34
+ Object.defineProperty(exports, "MediaState", { enumerable: true, get: function () { return media_state_gen_1.MediaState; } });
35
+ const VirtualCamera_1 = require("./extended/VirtualCamera");
36
+ const InputModifier_1 = require("./extended/InputModifier");
39
37
  const LightSource_1 = require("./extended/LightSource");
40
38
  const TriggerArea_1 = require("./extended/TriggerArea");
41
39
  const Tags_1 = __importDefault(require("./manual/Tags"));
40
+ const CreatedBy_1 = __importDefault(require("./manual/CreatedBy"));
42
41
  __exportStar(require("./generated/index.gen"), exports);
43
42
  /* @__PURE__ */
44
43
  const Transform = (engine) => (0, Transform_1.defineTransformComponent)(engine);
@@ -65,12 +64,6 @@ exports.MeshCollider = MeshCollider;
65
64
  const Tween = (engine) => (0, Tween_1.defineTweenComponent)(engine);
66
65
  exports.Tween = Tween;
67
66
  /* @__PURE__ */
68
- const AvatarShape = (engine) => (0, AvatarShape_1.defineAvatarShapeComponent)(engine);
69
- exports.AvatarShape = AvatarShape;
70
- /* @__PURE__ */
71
- const AvatarEquippedData = (engine) => (0, AvatarEquippedData_1.defineAvatarEquippedDataComponent)(engine);
72
- exports.AvatarEquippedData = AvatarEquippedData;
73
- /* @__PURE__ */
74
67
  const VirtualCamera = (engine) => (0, VirtualCamera_1.defineVirtualCameraComponent)(engine);
75
68
  exports.VirtualCamera = VirtualCamera;
76
69
  /* @__PURE__*/
@@ -100,12 +93,15 @@ exports.SyncComponents = SyncComponents;
100
93
  /**
101
94
  * @alpha
102
95
  */
103
- /* @__PURE__ */
104
96
  const NetworkEntity = (engine) => (0, NetworkEntity_1.default)(engine);
105
97
  exports.NetworkEntity = NetworkEntity;
106
98
  /**
107
99
  * @alpha
108
100
  */
109
- /* @__PURE__ */
110
101
  const NetworkParent = (engine) => (0, NetworkParent_1.default)(engine);
111
102
  exports.NetworkParent = NetworkParent;
103
+ /**
104
+ * @public
105
+ */
106
+ const CreatedBy = (engine) => (0, CreatedBy_1.default)(engine);
107
+ exports.CreatedBy = CreatedBy;
@@ -0,0 +1,9 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine/types';
2
+ export interface ICreatedByType {
3
+ address: string;
4
+ }
5
+ export type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
6
+ declare function defineCreatedBy(engine: Pick<IEngine, 'defineComponent'>): import("../../engine/types").MapComponentDefinition<import("../..").MapResult<{
7
+ address: import("../../schemas").ISchema<string>;
8
+ }>>;
9
+ export default defineCreatedBy;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const schemas_1 = require("../../schemas");
4
+ function defineCreatedBy(engine) {
5
+ const CreatedBy = engine.defineComponent('core-schema::Created-By', {
6
+ address: schemas_1.Schemas.String
7
+ });
8
+ return CreatedBy;
9
+ }
10
+ exports.default = defineCreatedBy;
@@ -1,5 +1,6 @@
1
1
  import { LastWriteWinElementSetComponentDefinition, IEngine } from '../../engine';
2
2
  import { Entity } from '../../engine/entity';
3
+ import type { ISchema } from '../../schemas/ISchema';
3
4
  /**
4
5
  * @public
5
6
  */
@@ -11,6 +12,10 @@ export interface TransformComponentExtended extends TransformComponent {
11
12
  create(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
12
13
  createOrReplace(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
13
14
  }
15
+ /**
16
+ * @public
17
+ */
18
+ export declare const COMPONENT_ID = 1;
14
19
  /**
15
20
  * @public
16
21
  */
@@ -33,6 +38,10 @@ export type TransformType = {
33
38
  };
34
39
  parent?: Entity;
35
40
  };
41
+ /** @public */
42
+ export declare const TRANSFORM_LENGTH = 44;
43
+ /** @public */
44
+ export declare const TransformSchema: ISchema<TransformType>;
36
45
  /**
37
46
  * @public
38
47
  */
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defineTransformComponent = exports.TransformSchema = exports.TRANSFORM_LENGTH = exports.COMPONENT_ID = void 0;
4
4
  /**
5
- * @internal
5
+ * @public
6
6
  */
7
7
  exports.COMPONENT_ID = 1;
8
- /** @internal */
8
+ /** @public */
9
9
  exports.TRANSFORM_LENGTH = 44;
10
- /** @internal */
10
+ /** @public */
11
11
  exports.TransformSchema = {
12
12
  serialize(value, builder) {
13
13
  const ptr = builder.incrementWriteOffset(exports.TRANSFORM_LENGTH);
@@ -3,8 +3,6 @@ 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';
8
6
  export type { TextureHelper, MaterialComponentDefinitionExtended, FlatTexture, ReadonlyFlatMaterial, ReadonlyFlatTexture, FlatMaterial } from './extended/Material';
9
7
  export type { TweenHelper, TweenComponentDefinitionExtended } from './extended/Tween';
10
8
  export type { CameraTransitionHelper, VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
@@ -14,6 +12,7 @@ export type { TagsComponentDefinitionExtended, TagsType } from './manual/Tags';
14
12
  export type { ISyncComponents, ISyncComponentsType } from './manual/SyncComponents';
15
13
  export type { INetowrkEntity, INetowrkEntityType } from './manual/NetworkEntity';
16
14
  export type { INetowrkParent, INetowrkParentType } from './manual/NetworkParent';
15
+ export type { ICreatedBy, ICreatedByType } from './manual/CreatedBy';
17
16
  export type { InputModifierHelper, InputModifierComponentDefinitionExtended } from './extended/InputModifier';
18
17
  export type { LightSourceHelper, LightSourceComponentDefinitionExtended } from './extended/LightSource';
19
18
  export type { TriggerAreaComponentDefinitionExtended } from './extended/TriggerArea';
@@ -1,6 +1,6 @@
1
1
  import { ISchema } from '../schemas';
2
2
  import { ByteBuffer } from '../serialization/ByteBuffer';
3
- import { CrdtMessageBody, DeleteComponentMessageBody, PutComponentMessageBody } from '../serialization/crdt';
3
+ import { CrdtMessageBody, DeleteComponentMessageBody, ProcessMessageResultType, PutComponentMessageBody } from '../serialization/crdt';
4
4
  import { Entity } from './entity';
5
5
  import { DeepReadonly, DeepReadonlySet } from './readonly';
6
6
  /**
@@ -70,7 +70,58 @@ export interface BaseComponent<T> {
70
70
  * If the value is undefined, the component was deleted.
71
71
  */
72
72
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
73
+ /**
74
+ * @public
75
+ *
76
+ */
77
+ validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
78
+ validateBeforeChange(cb: ValidateCallback<T>): void;
79
+ /**
80
+ * Get the CRDT state for an entity (serialized data and timestamp)
81
+ * @param entity - Entity to get the CRDT state for
82
+ * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
83
+ * @public
84
+ */
85
+ getCrdtState(entity: Entity): {
86
+ data: Uint8Array;
87
+ timestamp: number;
88
+ } | null;
89
+ }
90
+ /**
91
+ * Internal component interface that exposes all internal methods for SDK use
92
+ * This is not exposed to users, only for internal SDK operations
93
+ */
94
+ export interface InternalBaseComponent<T> extends BaseComponent<T> {
95
+ /**
96
+ * @public
97
+ * Dry run update to check if a CRDT message would be accepted without actually applying it
98
+ */
99
+ __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
100
+ /**
101
+ * @public
102
+ * Get the iterator to every entity has the component
103
+ */
104
+ iterator(): Iterable<[Entity, any]>;
105
+ /**
106
+ * @public
107
+ */
108
+ dirtyIterator(): Iterable<Entity>;
109
+ /**
110
+ * @public
111
+ */
112
+ __onChangeCallbacks(entity: Entity, value: T): void;
113
+ /**
114
+ * @public
115
+ */
116
+ __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
73
117
  }
118
+ export type ValidateCallback<T> = (value: {
119
+ entity: Entity;
120
+ currentValue: T | undefined;
121
+ newValue: T | undefined;
122
+ senderAddress: string;
123
+ createdBy: string;
124
+ }) => boolean;
74
125
  /**
75
126
  * @public
76
127
  */
@@ -5,6 +5,7 @@ const ByteBuffer_1 = require("../serialization/ByteBuffer");
5
5
  const crdt_1 = require("../serialization/crdt");
6
6
  const invariant_1 = require("../runtime/invariant");
7
7
  const emptyReadonlySet = freezeSet(new Set());
8
+ const __GLOBAL_ENTITY = '__GLOBAL_ENTITY';
8
9
  function frozenError() {
9
10
  throw new Error('The set is frozen');
10
11
  }
@@ -15,7 +16,7 @@ function freezeSet(set) {
15
16
  return set;
16
17
  }
17
18
  function sortByTimestamp(a, b) {
18
- return a.timestamp > b.timestamp ? 1 : -1;
19
+ return a.timestamp - b.timestamp;
19
20
  }
20
21
  /**
21
22
  * @internal
@@ -25,6 +26,7 @@ function createValueSetComponentDefinitionFromSchema(componentName, componentId,
25
26
  const dirtyIterator = new Set();
26
27
  const queuedCommands = [];
27
28
  const onChangeCallbacks = new Map();
29
+ const validateCallbacks = new Map();
28
30
  // only sort the array if the latest (N) element has a timestamp <= N-1
29
31
  function shouldSort(row) {
30
32
  const len = row.raw.length;
@@ -83,8 +85,11 @@ function createValueSetComponentDefinitionFromSchema(componentName, componentId,
83
85
  has(entity) {
84
86
  return data.has(entity);
85
87
  },
86
- entityDeleted(entity) {
88
+ entityDeleted(entity, markAsDirty) {
87
89
  data.delete(entity);
90
+ if (markAsDirty) {
91
+ // For grow-only sets, we don't need to mark as dirty since deletion doesn't generate CRDT messages
92
+ }
88
93
  },
89
94
  get(entity) {
90
95
  const values = data.get(entity);
@@ -155,6 +160,44 @@ function createValueSetComponentDefinitionFromSchema(componentName, componentId,
155
160
  for (const cb of cbs) {
156
161
  cb(value);
157
162
  }
163
+ },
164
+ __dry_run_updateFromCrdt(_body) {
165
+ return crdt_1.ProcessMessageResultType.StateUpdatedData;
166
+ },
167
+ validateBeforeChange(entityOrCb, cb) {
168
+ if (arguments.length === 1) {
169
+ // Second overload: just callback (global validation)
170
+ validateCallbacks.set(__GLOBAL_ENTITY, entityOrCb);
171
+ }
172
+ else {
173
+ if (cb) {
174
+ validateCallbacks.set(entityOrCb, cb);
175
+ }
176
+ }
177
+ },
178
+ __run_validateBeforeChange(entity, newValue, senderAddress, createdBy) {
179
+ const cb = entity && validateCallbacks.get(entity);
180
+ const globalCb = validateCallbacks.get(__GLOBAL_ENTITY);
181
+ const currentValue = [...this.get(entity).values()];
182
+ const value = { entity, currentValue: currentValue, newValue, senderAddress, createdBy };
183
+ const globalResult = globalCb?.(value) ?? true;
184
+ const entityResult = (globalResult && cb?.(value)) ?? true;
185
+ return globalResult && entityResult;
186
+ },
187
+ getCrdtState(entity) {
188
+ const row = data.get(entity);
189
+ if (!row || row.raw.length === 0) {
190
+ return null;
191
+ }
192
+ // For GrowOnlySet, we need to return the complete CRDT messages for all values
193
+ // This is complex because GrowOnlySet uses APPEND messages, not a single PUT
194
+ // For now, return null to indicate this component type doesn't support simple corrections
195
+ return null;
196
+ },
197
+ __forceUpdateFromCrdt(_msg) {
198
+ // GrowOnlySet doesn't support authoritative corrections in the same way as LWW
199
+ // since it uses APPEND_VALUE messages instead of PUT_COMPONENT messages
200
+ return [null, undefined];
158
201
  }
159
202
  };
160
203
  return ret;
@@ -32,12 +32,6 @@ 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>;
41
35
  };
42
36
  /**
43
37
  * @public
@@ -144,8 +144,9 @@ function createInputSystem(engine) {
144
144
  }
145
145
  if (!up || !down)
146
146
  return null;
147
- // If the DOWN command has happen before the UP commands, it means that that a clicked has happen
148
- if (down.timestamp < up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
147
+ // If the DOWN command has happened before or at the same time as the UP command, a click has happened.
148
+ // Same-timestamp is possible when both events are produced within the same renderer tick.
149
+ if (down.timestamp <= up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
149
150
  return { up, down };
150
151
  }
151
152
  return null;
@@ -211,18 +212,12 @@ function createInputSystem(engine) {
211
212
  function isPressed(inputAction) {
212
213
  return globalState.buttonState.get(inputAction)?.state === 1 /* PointerEventType.PET_DOWN */;
213
214
  }
214
- function* getInputCommands() {
215
- for (let i = globalState.thisFrameCommands.length - 1; i >= 0; i--) {
216
- yield globalState.thisFrameCommands[i];
217
- }
218
- }
219
215
  return {
220
216
  isPressed,
221
217
  getClick,
222
218
  getInputCommand,
223
219
  isClicked,
224
- isTriggered,
225
- getInputCommands
220
+ isTriggered
226
221
  };
227
222
  }
228
223
  exports.createInputSystem = createInputSystem;
@@ -1,8 +1,10 @@
1
1
  import { ISchema } from '../schemas';
2
2
  import { ByteBuffer } from '../serialization/ByteBuffer';
3
- import { PutComponentMessageBody, DeleteComponentMessageBody, CrdtMessageBody } from '../serialization/crdt';
3
+ import { PutComponentMessageBody, DeleteComponentMessageBody, ProcessMessageResultType, CrdtMessageBody, PutNetworkComponentMessageBody, DeleteComponentNetworkMessageBody, AuthoritativePutComponentMessageBody } from '../serialization/crdt';
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 createCrdtRuleValidator(timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>): (message: PutComponentMessageBody | DeleteComponentMessageBody | PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody) => ProcessMessageResultType;
8
+ export declare function createForceUpdateLwwFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>): (msg: AuthoritativePutComponentMessageBody) => [null, any];
7
9
  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
10
  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>;