@dcl/ecs 7.27.1-33247605236.commit-732120a → 7.27.1-33533530571.commit-451d001

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 (219) hide show
  1. package/dist/components/extended/MeshCollider.d.ts +0 -9
  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 -10
  6. package/dist/components/generated/global.gen.d.ts +4 -20
  7. package/dist/components/generated/global.gen.js +2 -10
  8. package/dist/components/generated/index.gen.d.ts +0 -40
  9. package/dist/components/generated/index.gen.js +0 -50
  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 -2
  15. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +1 -10
  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 +0 -2
  19. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +1 -10
  20. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +1 -4
  21. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +0 -3
  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_input.gen.d.ts +0 -4
  35. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.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 +5 -4
  39. package/dist/components/index.js +5 -8
  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 +45 -2
  47. package/dist/engine/lww-element-set-component-definition.d.ts +3 -1
  48. package/dist/engine/lww-element-set-component-definition.js +68 -13
  49. package/dist/index.d.ts +2 -3
  50. package/dist/index.js +1 -3
  51. package/dist/serialization/crdt/authoritativePutComponent.d.ts +15 -0
  52. package/dist/serialization/crdt/authoritativePutComponent.js +47 -0
  53. package/dist/serialization/crdt/index.d.ts +1 -0
  54. package/dist/serialization/crdt/index.js +1 -0
  55. package/dist/serialization/crdt/types.d.ts +25 -3
  56. package/dist/serialization/crdt/types.js +3 -1
  57. package/dist/systems/crdt/index.d.ts +0 -1
  58. package/dist/systems/crdt/index.js +76 -143
  59. package/dist/systems/crdt/types.d.ts +10 -0
  60. package/dist/systems/events.d.ts +0 -48
  61. package/dist/systems/events.js +1 -52
  62. package/dist/systems/raycast.d.ts +1 -5
  63. package/dist/systems/raycast.js +1 -5
  64. package/dist-cjs/components/extended/MeshCollider.d.ts +0 -9
  65. package/dist-cjs/components/extended/MeshCollider.js +0 -6
  66. package/dist-cjs/components/extended/MeshRenderer.d.ts +0 -8
  67. package/dist-cjs/components/extended/MeshRenderer.js +0 -5
  68. package/dist-cjs/components/generated/component-names.gen.js +0 -10
  69. package/dist-cjs/components/generated/global.gen.d.ts +4 -20
  70. package/dist-cjs/components/generated/global.gen.js +4 -12
  71. package/dist-cjs/components/generated/index.gen.d.ts +0 -40
  72. package/dist-cjs/components/generated/index.gen.js +2 -62
  73. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
  74. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +1 -66
  75. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
  76. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
  77. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +0 -2
  78. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +1 -10
  79. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
  80. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
  81. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +0 -2
  82. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +1 -10
  83. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +1 -4
  84. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +0 -3
  85. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
  86. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
  87. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
  88. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +2 -58
  89. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +0 -20
  90. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +1 -57
  91. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
  92. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +1 -57
  93. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
  94. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
  95. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
  96. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +1 -31
  97. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +0 -4
  98. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +0 -20
  99. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
  100. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +1 -91
  101. package/dist-cjs/components/index.d.ts +5 -4
  102. package/dist-cjs/components/index.js +7 -11
  103. package/dist-cjs/components/manual/CreatedBy.d.ts +9 -0
  104. package/dist-cjs/components/manual/CreatedBy.js +10 -0
  105. package/dist-cjs/components/manual/Transform.d.ts +9 -0
  106. package/dist-cjs/components/manual/Transform.js +3 -3
  107. package/dist-cjs/components/types.d.ts +1 -2
  108. package/dist-cjs/engine/component.d.ts +52 -1
  109. package/dist-cjs/engine/grow-only-value-set-component-definition.js +44 -1
  110. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +3 -1
  111. package/dist-cjs/engine/lww-element-set-component-definition.js +71 -14
  112. package/dist-cjs/index.d.ts +2 -3
  113. package/dist-cjs/index.js +2 -4
  114. package/dist-cjs/serialization/crdt/authoritativePutComponent.d.ts +15 -0
  115. package/dist-cjs/serialization/crdt/authoritativePutComponent.js +50 -0
  116. package/dist-cjs/serialization/crdt/index.d.ts +1 -0
  117. package/dist-cjs/serialization/crdt/index.js +1 -0
  118. package/dist-cjs/serialization/crdt/types.d.ts +25 -3
  119. package/dist-cjs/serialization/crdt/types.js +3 -1
  120. package/dist-cjs/systems/crdt/index.d.ts +0 -1
  121. package/dist-cjs/systems/crdt/index.js +76 -166
  122. package/dist-cjs/systems/crdt/types.d.ts +10 -0
  123. package/dist-cjs/systems/events.d.ts +0 -48
  124. package/dist-cjs/systems/events.js +1 -52
  125. package/dist-cjs/systems/raycast.d.ts +1 -5
  126. package/dist-cjs/systems/raycast.js +1 -5
  127. package/package.json +2 -2
  128. package/dist/components/extended/AvatarEquippedData.d.ts +0 -15
  129. package/dist/components/extended/AvatarEquippedData.js +0 -10
  130. package/dist/components/extended/AvatarShape.d.ts +0 -15
  131. package/dist/components/extended/AvatarShape.js +0 -10
  132. package/dist/components/generated/AvatarMovement.gen.d.ts +0 -1
  133. package/dist/components/generated/AvatarMovement.gen.js +0 -25
  134. package/dist/components/generated/AvatarMovementInfo.gen.d.ts +0 -1
  135. package/dist/components/generated/AvatarMovementInfo.gen.js +0 -25
  136. package/dist/components/generated/CameraLayer.gen.d.ts +0 -1
  137. package/dist/components/generated/CameraLayer.gen.js +0 -25
  138. package/dist/components/generated/CameraLayers.gen.d.ts +0 -1
  139. package/dist/components/generated/CameraLayers.gen.js +0 -25
  140. package/dist/components/generated/GlobalLight.gen.d.ts +0 -1
  141. package/dist/components/generated/GlobalLight.gen.js +0 -25
  142. package/dist/components/generated/GltfNode.gen.d.ts +0 -1
  143. package/dist/components/generated/GltfNode.gen.js +0 -25
  144. package/dist/components/generated/GltfNodeState.gen.d.ts +0 -1
  145. package/dist/components/generated/GltfNodeState.gen.js +0 -25
  146. package/dist/components/generated/TextureCamera.gen.d.ts +0 -1
  147. package/dist/components/generated/TextureCamera.gen.js +0 -25
  148. package/dist/components/generated/UiCanvas.gen.d.ts +0 -1
  149. package/dist/components/generated/UiCanvas.gen.js +0 -25
  150. package/dist/components/generated/UiScrollResult.gen.d.ts +0 -1
  151. package/dist/components/generated/UiScrollResult.gen.js +0 -25
  152. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -57
  153. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -204
  154. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -65
  155. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -228
  156. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
  157. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -104
  158. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
  159. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -50
  160. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
  161. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -61
  162. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
  163. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -41
  164. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
  165. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -59
  166. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
  167. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -191
  168. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
  169. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -60
  170. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
  171. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -42
  172. package/dist/serialization/crdt/network/utils.d.ts +0 -9
  173. package/dist/serialization/crdt/network/utils.js +0 -60
  174. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +0 -15
  175. package/dist-cjs/components/extended/AvatarEquippedData.js +0 -14
  176. package/dist-cjs/components/extended/AvatarShape.d.ts +0 -15
  177. package/dist-cjs/components/extended/AvatarShape.js +0 -14
  178. package/dist-cjs/components/generated/AvatarMovement.gen.d.ts +0 -1
  179. package/dist-cjs/components/generated/AvatarMovement.gen.js +0 -28
  180. package/dist-cjs/components/generated/AvatarMovementInfo.gen.d.ts +0 -1
  181. package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +0 -28
  182. package/dist-cjs/components/generated/CameraLayer.gen.d.ts +0 -1
  183. package/dist-cjs/components/generated/CameraLayer.gen.js +0 -28
  184. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +0 -1
  185. package/dist-cjs/components/generated/CameraLayers.gen.js +0 -28
  186. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +0 -1
  187. package/dist-cjs/components/generated/GlobalLight.gen.js +0 -28
  188. package/dist-cjs/components/generated/GltfNode.gen.d.ts +0 -1
  189. package/dist-cjs/components/generated/GltfNode.gen.js +0 -28
  190. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +0 -1
  191. package/dist-cjs/components/generated/GltfNodeState.gen.js +0 -28
  192. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +0 -1
  193. package/dist-cjs/components/generated/TextureCamera.gen.js +0 -28
  194. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +0 -1
  195. package/dist-cjs/components/generated/UiCanvas.gen.js +0 -28
  196. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +0 -1
  197. package/dist-cjs/components/generated/UiScrollResult.gen.js +0 -28
  198. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -57
  199. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -210
  200. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -65
  201. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -234
  202. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
  203. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -110
  204. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
  205. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -56
  206. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
  207. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -67
  208. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
  209. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -47
  210. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
  211. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -65
  212. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
  213. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -197
  214. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
  215. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -66
  216. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
  217. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -48
  218. package/dist-cjs/serialization/crdt/network/utils.d.ts +0 -9
  219. package/dist-cjs/serialization/crdt/network/utils.js +0 -67
@@ -1,50 +1,20 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.crdtSceneSystem = exports.LIVEKIT_MAX_SIZE = void 0;
3
+ exports.crdtSceneSystem = void 0;
27
4
  const entity_1 = require("../../engine/entity");
28
5
  const ByteBuffer_1 = require("../../serialization/ByteBuffer");
29
6
  const crdt_1 = require("../../serialization/crdt");
30
7
  const deleteComponent_1 = require("../../serialization/crdt/deleteComponent");
31
8
  const deleteEntity_1 = require("../../serialization/crdt/deleteEntity");
32
9
  const putComponent_1 = require("../../serialization/crdt/putComponent");
10
+ const authoritativePutComponent_1 = require("../../serialization/crdt/authoritativePutComponent");
33
11
  const types_1 = require("../../serialization/crdt/types");
34
- const putComponentNetwork_1 = require("../../serialization/crdt/network/putComponentNetwork");
35
- const components_1 = require("../../components");
36
- const networkUtils = __importStar(require("../../serialization/crdt/network/utils"));
37
- // NetworkMessages can only have a MAX_SIZE of 12kb. So we need to send it in chunks.
38
- exports.LIVEKIT_MAX_SIZE = 12;
39
12
  /**
40
13
  * @internal
41
14
  */
42
15
  function crdtSceneSystem(engine, onProcessEntityComponentChange) {
43
16
  const transports = [];
44
- // Components that we used on this system
45
- const NetworkEntity = (0, components_1.NetworkEntity)(engine);
46
- const NetworkParent = (0, components_1.NetworkParent)(engine);
47
- const Transform = (0, components_1.Transform)(engine);
17
+ // No network components needed - pure CRDT processing only
48
18
  // Messages that we received at transport.onMessage waiting to be processed
49
19
  const receivedMessages = [];
50
20
  // Messages already processed by the engine but that we need to broadcast to other transports.
@@ -69,27 +39,20 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
69
39
  if (header.type === types_1.CrdtMessageType.DELETE_COMPONENT) {
70
40
  message = deleteComponent_1.DeleteComponent.read(buffer);
71
41
  }
72
- else if (header.type === types_1.CrdtMessageType.DELETE_COMPONENT_NETWORK) {
73
- message = crdt_1.DeleteComponentNetwork.read(buffer);
74
- }
75
42
  else if (header.type === types_1.CrdtMessageType.PUT_COMPONENT) {
76
43
  message = putComponent_1.PutComponentOperation.read(buffer);
77
44
  }
78
- else if (header.type === types_1.CrdtMessageType.PUT_COMPONENT_NETWORK) {
79
- message = putComponentNetwork_1.PutNetworkComponentOperation.read(buffer);
45
+ else if (header.type === types_1.CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT) {
46
+ message = authoritativePutComponent_1.AuthoritativePutComponentOperation.read(buffer);
80
47
  }
81
48
  else if (header.type === types_1.CrdtMessageType.DELETE_ENTITY) {
82
49
  message = deleteEntity_1.DeleteEntity.read(buffer);
83
50
  }
84
- else if (header.type === types_1.CrdtMessageType.DELETE_ENTITY_NETWORK) {
85
- message = crdt_1.DeleteEntityNetwork.read(buffer);
86
- }
87
51
  else if (header.type === types_1.CrdtMessageType.APPEND_VALUE) {
88
52
  message = crdt_1.AppendValueOperation.read(buffer);
89
- // Unknown message, we skip it
90
53
  }
91
54
  else {
92
- // consume the message
55
+ // Unknown message, we skip it (including NETWORK messages)
93
56
  buffer.incrementReadOffset(header.length);
94
57
  }
95
58
  if (message) {
@@ -111,20 +74,12 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
111
74
  return messagesToProcess;
112
75
  }
113
76
  /**
114
- * Find the local entityId associated to the network component message.
115
- * It's a mapping Network -> to Local
116
- * If it's not a network message, return the entityId received by the message
77
+ * Reserved-range entities (root/player/camera + avatars, entity number <
78
+ * RESERVED_STATIC_ENTITIES) are host-owned: only a transport flagged with
79
+ * `allowReservedEntities` (the host/renderer) may mutate or delete them.
117
80
  */
118
- function findNetworkId(msg) {
119
- const hasNetworkId = 'networkId' in msg;
120
- if (hasNetworkId) {
121
- for (const [entityId, network] of engine.getEntitiesWith(NetworkEntity)) {
122
- if (network.networkId === msg.networkId && network.entityId === msg.entityId) {
123
- return { entityId, network };
124
- }
125
- }
126
- }
127
- return { entityId: msg.entityId };
81
+ function isTrustedForReservedEntities(transportId) {
82
+ return transportId !== undefined && !!transports[transportId]?.allowReservedEntities;
128
83
  }
129
84
  /**
130
85
  * This fn will be called on every tick.
@@ -134,46 +89,68 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
134
89
  const messagesToProcess = getMessages(receivedMessages);
135
90
  const entitiesShouldBeCleaned = [];
136
91
  for (const msg of messagesToProcess) {
137
- let { entityId, network } = findNetworkId(msg);
138
- // We receive a new Entity. Create the localEntity and map it to the NetworkEntity component
139
- if (networkUtils.isNetworkMessage(msg) && !network) {
140
- entityId = engine.addEntity();
141
- network = { entityId: msg.entityId, networkId: msg.networkId };
142
- NetworkEntity.createOrReplace(entityId, network);
143
- }
144
- if (msg.type === types_1.CrdtMessageType.DELETE_ENTITY || msg.type === types_1.CrdtMessageType.DELETE_ENTITY_NETWORK) {
145
- entitiesShouldBeCleaned.push(entityId);
92
+ // Simple CRDT processing - no network logic
93
+ if (msg.type === types_1.CrdtMessageType.DELETE_ENTITY) {
94
+ // Reject an inbound DELETE_ENTITY on a reserved entity from an untrusted
95
+ // transport (a comms peer, or a scene-added transport). The allocator half
96
+ // is already guarded (engine.removeEntity is a no-op on this range); this
97
+ // closes the receive-side half.
98
+ const isReserved = engine.entityContainer.getEntityState(msg.entityId) === entity_1.EntityState.Reserved;
99
+ if (isReserved && !isTrustedForReservedEntities(msg.transportId)) {
100
+ continue;
101
+ }
102
+ entitiesShouldBeCleaned.push(msg.entityId);
146
103
  broadcastMessages.push(msg);
147
104
  }
148
105
  else {
149
- const entityState = engine.entityContainer.getEntityState(entityId);
150
- // Skip updates from removed entityes
106
+ const entityState = engine.entityContainer.getEntityState(msg.entityId);
107
+ // Skip updates from removed entities
151
108
  if (entityState === entity_1.EntityState.Removed)
152
109
  continue;
153
- // Entities with unknown entities should update its entity state
110
+ // Reject component operations (PUT/DELETE/APPEND, including AUTHORITATIVE_PUT
111
+ // which bypasses timestamps entirely) on reserved entities from untrusted
112
+ // transports. Dropping before updateFromCrdt keeps local LWW timestamps
113
+ // unpoisoned by forged high timestamps, and also prevents the
114
+ // unknown-component rebroadcast below from relaying forged reserved-entity
115
+ // data to other transports (including the renderer).
116
+ if (entityState === entity_1.EntityState.Reserved && !isTrustedForReservedEntities(msg.transportId))
117
+ continue;
118
+ // Entities with unknown state should update its entity state
154
119
  if (entityState === entity_1.EntityState.Unknown) {
155
- engine.entityContainer.updateUsedEntity(entityId);
156
- }
157
- const component = engine.getComponentOrNull(msg.componentId);
158
- /* istanbul ignore else */
159
- if (component) {
160
- if (msg.type === types_1.CrdtMessageType.PUT_COMPONENT &&
161
- component.componentId === Transform.componentId &&
162
- NetworkEntity.has(entityId) &&
163
- NetworkParent.has(entityId)) {
164
- msg.data = networkUtils.fixTransformParent(msg);
120
+ engine.entityContainer.updateUsedEntity(msg.entityId);
121
+ }
122
+ // Only process component-related messages (not DELETE_ENTITY)
123
+ if ('componentId' in msg) {
124
+ const component = engine.getComponentOrNull(msg.componentId);
125
+ if (component) {
126
+ // Handle authoritative messages differently - they force the state regardless of timestamp
127
+ const tryUpdate = () => {
128
+ try {
129
+ return msg.type === types_1.CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT
130
+ ? component.__forceUpdateFromCrdt(msg)
131
+ : component.updateFromCrdt(msg);
132
+ }
133
+ catch (e) {
134
+ console.error('[receiveMessages] ERROR processing message', msg, e);
135
+ return null;
136
+ }
137
+ };
138
+ const result = tryUpdate();
139
+ if (!result)
140
+ continue;
141
+ const [conflictMessage, value] = result;
142
+ if (!conflictMessage) {
143
+ // Add message to broadcast queue when no conflict
144
+ broadcastMessages.push(msg);
145
+ onProcessEntityComponentChange && onProcessEntityComponentChange(msg.entityId, msg.type, component, value);
146
+ }
165
147
  }
166
- const [conflictMessage, value] = component.updateFromCrdt({ ...msg, entityId });
167
- if (!conflictMessage) {
168
- // Add message to transport queue to be processed by others transports
148
+ else {
149
+ // Component not found - still broadcast for editor compatibility
150
+ /* istanbul ignore next */
169
151
  broadcastMessages.push(msg);
170
- onProcessEntityComponentChange && onProcessEntityComponentChange(entityId, msg.type, component, value);
171
152
  }
172
153
  }
173
- else {
174
- // TODO: test this line, it is fundammental to make the editor work
175
- broadcastMessages.push(msg);
176
- }
177
154
  }
178
155
  }
179
156
  // the last stage of the syncrhonization is to delete the entities
@@ -187,16 +164,17 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
187
164
  }
188
165
  }
189
166
  /**
190
- * Iterates the dirty map and generates crdt messages to be send
167
+ * Simple CRDT message broadcasting - no network-specific logic
191
168
  */
192
169
  async function sendMessages(entitiesDeletedThisTick) {
193
- // CRDT Messages will be the merge between the recieved transport messages and the new crdt messages
170
+ // Get messages from broadcast queue and component updates
194
171
  const crdtMessages = getMessages(broadcastMessages);
195
172
  const buffer = new ByteBuffer_1.ReadWriteByteBuffer();
173
+ // Generate CRDT messages from component updates
196
174
  for (const component of engine.componentsIter()) {
197
175
  for (const message of component.getCrdtUpdates()) {
198
176
  const offset = buffer.currentWriteOffset();
199
- // Avoid creating messages if there is no transport that will handle it
177
+ // Only create messages if there's a transport that will handle it
200
178
  if (transports.some((t) => t.filter(message))) {
201
179
  if (message.type === types_1.CrdtMessageType.PUT_COMPONENT) {
202
180
  putComponent_1.PutComponentOperation.write(message.entityId, message.timestamp, message.componentId, message.data, buffer);
@@ -220,7 +198,7 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
220
198
  }
221
199
  }
222
200
  }
223
- // After all updates, I execute the DeletedEntity messages
201
+ // Handle deleted entities
224
202
  for (const entityId of entitiesDeletedThisTick) {
225
203
  const offset = buffer.currentWriteOffset();
226
204
  deleteEntity_1.DeleteEntity.write(entityId, buffer);
@@ -231,87 +209,19 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
231
209
  });
232
210
  onProcessEntityComponentChange && onProcessEntityComponentChange(entityId, types_1.CrdtMessageType.DELETE_ENTITY);
233
211
  }
234
- // Send CRDT messages to transports
235
- const transportBuffer = new ByteBuffer_1.ReadWriteByteBuffer();
236
- for (const index in transports) {
237
- const __NetworkMessagesBuffer = [];
238
- const transportIndex = Number(index);
239
- const transport = transports[transportIndex];
240
- const isRendererTransport = transport.type === 'renderer';
241
- const isNetworkTransport = transport.type === 'network';
242
- // Reset Buffer for each Transport
243
- transportBuffer.resetBuffer();
244
- const buffer = new ByteBuffer_1.ReadWriteByteBuffer();
245
- // Then we send all the new crdtMessages that the transport needs to process
212
+ // Simple transport broadcasting - no network-specific transforms
213
+ for (const transport of transports) {
214
+ const transportBuffer = new ByteBuffer_1.ReadWriteByteBuffer();
246
215
  for (const message of crdtMessages) {
247
216
  // Avoid echo messages
248
- if (message.transportId === transportIndex)
249
- continue;
250
- // Redundant message for the transport
251
- if (!transport.filter(message))
252
- continue;
253
- // Check if adding this message would exceed the size limit
254
- const currentBufferSize = transportBuffer.toBinary().byteLength;
255
- const messageSize = message.messageBuffer.byteLength;
256
- if (isNetworkTransport && (currentBufferSize + messageSize) / 1024 > exports.LIVEKIT_MAX_SIZE) {
257
- // If the current buffer has content, save it as a chunk
258
- if (currentBufferSize > 0) {
259
- __NetworkMessagesBuffer.push(transportBuffer.toCopiedBinary());
260
- transportBuffer.resetBuffer();
261
- }
262
- // If the message itself is larger than the limit, we need to handle it specially
263
- // For now, we'll skip it to prevent infinite loops
264
- if (messageSize / 1024 > exports.LIVEKIT_MAX_SIZE) {
265
- console.error(`Message too large (${messageSize} bytes), skipping message for entity ${message.entityId}`);
266
- continue;
267
- }
268
- }
269
- const { entityId } = findNetworkId(message);
270
- const transformNeedsFix = 'componentId' in message &&
271
- message.componentId === Transform.componentId &&
272
- Transform.has(entityId) &&
273
- NetworkParent.has(entityId) &&
274
- NetworkEntity.has(entityId);
275
- // If there was a LOCAL change in the transform. Add the parent to that transform
276
- if (isRendererTransport && message.type === types_1.CrdtMessageType.PUT_COMPONENT && transformNeedsFix) {
277
- const parent = findNetworkId(NetworkParent.get(entityId));
278
- const transformData = networkUtils.fixTransformParent(message, Transform.get(entityId), parent.entityId);
279
- const offset = buffer.currentWriteOffset();
280
- putComponent_1.PutComponentOperation.write(entityId, message.timestamp, message.componentId, transformData, buffer);
281
- transportBuffer.writeBuffer(buffer.buffer().subarray(offset, buffer.currentWriteOffset()), false);
217
+ if (message.transportId === transports.indexOf(transport))
282
218
  continue;
219
+ // Check if transport wants this message
220
+ if (transport.filter(message)) {
221
+ transportBuffer.writeBuffer(message.messageBuffer, false);
283
222
  }
284
- if (isRendererTransport && networkUtils.isNetworkMessage(message)) {
285
- // If it's the renderer transport and its a NetworkMessage, we need to fix the entityId field and convert it to a known Message.
286
- // PUT_NETWORK_COMPONENT -> PUT_COMPONENT
287
- let transformData = 'data' in message ? message.data : new Uint8Array();
288
- if (transformNeedsFix) {
289
- const parent = findNetworkId(NetworkParent.get(entityId));
290
- transformData = networkUtils.fixTransformParent(message, Transform.get(entityId), parent.entityId);
291
- }
292
- networkUtils.networkMessageToLocal({ ...message, data: transformData }, entityId, buffer, transportBuffer);
293
- // Iterate the next message
294
- continue;
295
- }
296
- // If its a network transport and its a PUT_COMPONENT that has a NetworkEntity component, we need to send this message
297
- // through comms with the EntityID and NetworkID from ther NetworkEntity so everyone can recieve this message and map to their custom entityID.
298
- if (isNetworkTransport && !networkUtils.isNetworkMessage(message)) {
299
- const networkData = NetworkEntity.getOrNull(message.entityId);
300
- // If it has networkData convert the message to PUT_NETWORK_COMPONENT.
301
- if (networkData) {
302
- networkUtils.localMessageToNetwork(message, networkData, buffer, transportBuffer);
303
- // Iterate the next message
304
- continue;
305
- }
306
- }
307
- // Common message
308
- transportBuffer.writeBuffer(message.messageBuffer, false);
309
- }
310
- if (isNetworkTransport && transportBuffer.currentWriteOffset()) {
311
- __NetworkMessagesBuffer.push(transportBuffer.toBinary());
312
223
  }
313
- const message = isNetworkTransport ? __NetworkMessagesBuffer : transportBuffer.toBinary();
314
- await transport.send(message);
224
+ await transport.send(transportBuffer.toBinary());
315
225
  }
316
226
  }
317
227
  /**
@@ -29,4 +29,14 @@ export type Transport = {
29
29
  onmessage?(message: Uint8Array): void;
30
30
  filter(message: Omit<TransportMessage, 'messageBuffer'>): boolean;
31
31
  type?: string;
32
+ /**
33
+ * Whether this transport is allowed to mutate reserved-range entities
34
+ * (root/player/camera + avatars, entity number below `RESERVED_STATIC_ENTITIES`).
35
+ * Only the trusted host/renderer transport sets this. An inbound DELETE_ENTITY
36
+ * or component operation (PUT_COMPONENT, DELETE_COMPONENT, APPEND_VALUE,
37
+ * AUTHORITATIVE_PUT_COMPONENT) on a reserved entity from a transport without
38
+ * this flag (a comms peer, or any scene-added transport) is rejected — see
39
+ * `receiveMessages`.
40
+ */
41
+ allowReservedEntities?: boolean;
32
42
  };
@@ -48,24 +48,6 @@ export interface PointerEventsSystem {
48
48
  * @param entity - Entity where the callback was attached
49
49
  */
50
50
  removeOnPointerHoverLeave(entity: Entity): void;
51
- /**
52
- * @public
53
- * Remove the callback for onPointerDrag event
54
- * @param entity - Entity where the callback was attached
55
- */
56
- removeOnPointerDrag(entity: Entity): void;
57
- /**
58
- * @public
59
- * Remove the callback for onPointerDragLocked event
60
- * @param entity - Entity where the callback was attached
61
- */
62
- removeOnPointerDragLocked(entity: Entity): void;
63
- /**
64
- * @public
65
- * Remove the callback for onPointerDragEnd event
66
- * @param entity - Entity where the callback was attached
67
- */
68
- removeOnPointerDragEnd(entity: Entity): void;
69
51
  /**
70
52
  * @public
71
53
  * Remove the callback for onProximityDown event
@@ -144,36 +126,6 @@ export interface PointerEventsSystem {
144
126
  entity: Entity;
145
127
  opts?: Partial<EventSystemOptions>;
146
128
  }, cb: EventSystemCallback): void;
147
- /**
148
- * @public
149
- * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
150
- * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
151
- * @param cb - Function to execute on every drag update
152
- */
153
- onPointerDrag(pointerData: {
154
- entity: Entity;
155
- opts?: Partial<EventSystemOptions>;
156
- }, cb: EventSystemCallback): void;
157
- /**
158
- * @public
159
- * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
160
- * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
161
- * @param cb - Function to execute on every drag update
162
- */
163
- onPointerDragLocked(pointerData: {
164
- entity: Entity;
165
- opts?: Partial<EventSystemOptions>;
166
- }, cb: EventSystemCallback): void;
167
- /**
168
- * @public
169
- * Execute callback when the user releases the button after a drag that started on the entity
170
- * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
171
- * @param cb - Function to execute when the drag ends
172
- */
173
- onPointerDragEnd(pointerData: {
174
- entity: Entity;
175
- opts?: Partial<EventSystemOptions>;
176
- }, cb: EventSystemCallback): void;
177
129
  /**
178
130
  * @public
179
131
  * Execute callback when the user presses the proximity button on the entity
@@ -47,9 +47,6 @@ function createPointerEventsSystem(engine, inputSystem) {
47
47
  EventType[EventType["HoverLeave"] = 4] = "HoverLeave";
48
48
  EventType[EventType["ProximityEnter"] = 5] = "ProximityEnter";
49
49
  EventType[EventType["ProximityLeave"] = 6] = "ProximityLeave";
50
- EventType[EventType["Drag"] = 7] = "Drag";
51
- EventType[EventType["DragLocked"] = 8] = "DragLocked";
52
- EventType[EventType["DragEnd"] = 9] = "DragEnd";
53
50
  })(EventType || (EventType = {}));
54
51
  const eventsMap = new Map();
55
52
  function getEvent(entity) {
@@ -95,15 +92,6 @@ function createPointerEventsSystem(engine, inputSystem) {
95
92
  else if (eventType === EventType.ProximityLeave) {
96
93
  return 5 /* PointerEventType.PET_PROXIMITY_LEAVE */;
97
94
  }
98
- else if (eventType === EventType.Drag) {
99
- return 7 /* PointerEventType.PET_DRAG */;
100
- }
101
- else if (eventType === EventType.DragLocked) {
102
- return 6 /* PointerEventType.PET_DRAG_LOCKED */;
103
- }
104
- else if (eventType === EventType.DragEnd) {
105
- return 8 /* PointerEventType.PET_DRAG_END */;
106
- }
107
95
  return 1 /* PointerEventType.PET_DOWN */;
108
96
  }
109
97
  function removeEvent(entity, type, interactionType = 0 /* InteractionType.CURSOR */) {
@@ -131,10 +119,7 @@ function createPointerEventsSystem(engine, inputSystem) {
131
119
  eventType === EventType.HoverEnter ||
132
120
  eventType === EventType.HoverLeave ||
133
121
  eventType === EventType.ProximityEnter ||
134
- eventType === EventType.ProximityLeave ||
135
- eventType === EventType.Drag ||
136
- eventType === EventType.DragLocked ||
137
- eventType === EventType.DragEnd) {
122
+ eventType === EventType.ProximityLeave) {
138
123
  const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
139
124
  if (command) {
140
125
  (0, invariant_1.checkNotThenable)(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
@@ -181,30 +166,6 @@ function createPointerEventsSystem(engine, inputSystem) {
181
166
  getEvent(entity).set(EventType.HoverLeave, { cb, opts: options });
182
167
  setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
183
168
  };
184
- const onPointerDrag = (...args) => {
185
- const [data, cb] = args;
186
- const { entity, opts } = data;
187
- const options = (0, exports.getDefaultOpts)(opts);
188
- removeEvent(entity, EventType.Drag);
189
- getEvent(entity).set(EventType.Drag, { cb, opts: options });
190
- setPointerEvent(entity, 7 /* PointerEventType.PET_DRAG */, options);
191
- };
192
- const onPointerDragLocked = (...args) => {
193
- const [data, cb] = args;
194
- const { entity, opts } = data;
195
- const options = (0, exports.getDefaultOpts)(opts);
196
- removeEvent(entity, EventType.DragLocked);
197
- getEvent(entity).set(EventType.DragLocked, { cb, opts: options });
198
- setPointerEvent(entity, 6 /* PointerEventType.PET_DRAG_LOCKED */, options);
199
- };
200
- const onPointerDragEnd = (...args) => {
201
- const [data, cb] = args;
202
- const { entity, opts } = data;
203
- const options = (0, exports.getDefaultOpts)(opts);
204
- removeEvent(entity, EventType.DragEnd);
205
- getEvent(entity).set(EventType.DragEnd, { cb, opts: options });
206
- setPointerEvent(entity, 8 /* PointerEventType.PET_DRAG_END */, options);
207
- };
208
169
  const onProximityDown = (...args) => {
209
170
  const [data, cb] = args;
210
171
  const { entity, opts } = data;
@@ -253,15 +214,6 @@ function createPointerEventsSystem(engine, inputSystem) {
253
214
  removeOnPointerHoverLeave(entity) {
254
215
  removeEvent(entity, EventType.HoverLeave);
255
216
  },
256
- removeOnPointerDrag(entity) {
257
- removeEvent(entity, EventType.Drag);
258
- },
259
- removeOnPointerDragLocked(entity) {
260
- removeEvent(entity, EventType.DragLocked);
261
- },
262
- removeOnPointerDragEnd(entity) {
263
- removeEvent(entity, EventType.DragEnd);
264
- },
265
217
  removeOnProximityDown(entity) {
266
218
  removeEvent(entity, EventType.Down, 1 /* InteractionType.PROXIMITY */);
267
219
  },
@@ -287,9 +239,6 @@ function createPointerEventsSystem(engine, inputSystem) {
287
239
  onPointerUp,
288
240
  onPointerHoverEnter,
289
241
  onPointerHoverLeave,
290
- onPointerDrag,
291
- onPointerDragLocked,
292
- onPointerDragEnd,
293
242
  onProximityDown,
294
243
  onProximityUp,
295
244
  onProximityEnter,
@@ -1,4 +1,4 @@
1
- import { RaycastQueryType, RaycastShape, PBRaycastResult } from '../components';
1
+ import { RaycastQueryType, PBRaycastResult } from '../components';
2
2
  import { DeepReadonlyObject, Entity } from '../engine';
3
3
  import { Vector3 } from '../components/generated/pb/decentraland/common/vectors.gen';
4
4
  /**
@@ -14,10 +14,6 @@ export type RaycastSystemOptions = {
14
14
  queryType: RaycastQueryType;
15
15
  continuous?: boolean | undefined;
16
16
  collisionMask?: number | undefined;
17
- /** shape to sweep along the ray, default RS_RAY (a point) */
18
- shape?: RaycastShape | undefined;
19
- /** include colliders from other scenes, default false */
20
- includeWorld?: boolean | undefined;
21
17
  };
22
18
  export type LocalDirectionRaycastSystemOptions = {
23
19
  direction?: Vector3;
@@ -38,9 +38,7 @@ function createRaycastSystem(engine) {
38
38
  queryType: 0 /* RaycastQueryType.RQT_HIT_FIRST */,
39
39
  continuous: false,
40
40
  originOffset: { x: 0, y: 0, z: 0 },
41
- collisionMask: 2 /* ColliderLayer.CL_PHYSICS */,
42
- shape: 0 /* RaycastShape.RS_RAY */,
43
- includeWorld: false
41
+ collisionMask: 2 /* ColliderLayer.CL_PHYSICS */
44
42
  };
45
43
  const getLocalDirectionRaycastDefaultOptions = (options = {}) => ({
46
44
  ...defaultOptions,
@@ -86,8 +84,6 @@ function createRaycastSystem(engine) {
86
84
  raycast.direction = raycastValue.directionRawValue;
87
85
  raycast.continuous = raycastValue.continuous;
88
86
  raycast.queryType = raycastValue.queryType;
89
- raycast.shape = raycastValue.shape;
90
- raycast.includeWorld = raycastValue.includeWorld;
91
87
  entitiesCallbackResultMap.set(entity, { callback: callback });
92
88
  };
93
89
  nextTickRaycasts.push(onNextTick);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dcl/ecs",
3
3
  "description": "Decentraland ECS",
4
- "version": "7.27.1-33247605236.commit-732120a",
4
+ "version": "7.27.1-33533530571.commit-451d001",
5
5
  "author": "DCL",
6
6
  "bugs": "https://github.com/decentraland/ecs/issues",
7
7
  "files": [
@@ -34,5 +34,5 @@
34
34
  "dependencies": {},
35
35
  "types": "./dist/index.d.ts",
36
36
  "typings": "./dist/index.d.ts",
37
- "commit": "732120a14d3baeef609ff96b7463293de7abd76b"
37
+ "commit": "451d001304e4d3e8eecece568a58990d129e1000"
38
38
  }
@@ -1,15 +0,0 @@
1
- import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
- import { PBAvatarEquippedData } from '../generated/pb/decentraland/sdk/components/avatar_equipped_data.gen';
3
- /**
4
- * @public
5
- * AvatarEquippedData with `forceRender` optional: the wire type is a repeated field (always present, so the
6
- * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
7
- */
8
- export type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
9
- forceRender?: string[] | undefined;
10
- };
11
- /**
12
- * @public
13
- */
14
- export type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
15
- export declare function defineAvatarEquippedDataComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarEquippedDataComponentDefinitionExtended;
@@ -1,10 +0,0 @@
1
- import { AvatarEquippedDataSchema } from '../generated/AvatarEquippedData.gen';
2
- export function defineAvatarEquippedDataComponent(engine) {
3
- const patchedSchema = { ...AvatarEquippedDataSchema };
4
- const origSerialize = patchedSchema.serialize;
5
- patchedSchema.serialize = (value, builder) => {
6
- origSerialize(value.forceRender === undefined ? { ...value, forceRender: [] } : value, builder);
7
- };
8
- const theComponent = engine.defineComponentFromSchema('core::AvatarEquippedData', patchedSchema);
9
- return theComponent;
10
- }
@@ -1,15 +0,0 @@
1
- import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
- import { PBAvatarShape } from '../generated/pb/decentraland/sdk/components/avatar_shape.gen';
3
- /**
4
- * @public
5
- * AvatarShape with `forceRender` optional: the wire type is a repeated field (always present, so the
6
- * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
7
- */
8
- export type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
9
- forceRender?: string[] | undefined;
10
- };
11
- /**
12
- * @public
13
- */
14
- export type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
15
- export declare function defineAvatarShapeComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarShapeComponentDefinitionExtended;
@@ -1,10 +0,0 @@
1
- import { AvatarShapeSchema } from '../generated/AvatarShape.gen';
2
- export function defineAvatarShapeComponent(engine) {
3
- const patchedSchema = { ...AvatarShapeSchema };
4
- const origSerialize = patchedSchema.serialize;
5
- patchedSchema.serialize = (value, builder) => {
6
- origSerialize(value.forceRender === undefined ? { ...value, forceRender: [] } : value, builder);
7
- };
8
- const theComponent = engine.defineComponentFromSchema('core::AvatarShape', patchedSchema);
9
- return theComponent;
10
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { PBAvatarMovement } from './pb/decentraland/sdk/components/avatar_movement.gen';
2
- /**
3
- * @internal
4
- */
5
- export const AvatarMovementSchema = {
6
- COMPONENT_ID: 1501,
7
- serialize(value, builder) {
8
- const writer = PBAvatarMovement.encode(value);
9
- const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
- builder.writeBuffer(buffer, false);
11
- },
12
- deserialize(reader) {
13
- return PBAvatarMovement.decode(reader.buffer(), reader.remainingBytes());
14
- },
15
- create() {
16
- // TODO: this is a hack.
17
- return PBAvatarMovement.decode(new Uint8Array());
18
- },
19
- jsonSchema: {
20
- type: "object",
21
- properties: {},
22
- serializationType: "protocol-buffer",
23
- protocolBuffer: "PBAvatarMovement"
24
- }
25
- };