@dcl/ecs 7.0.6-4177592674.commit-39cdc99 → 7.0.6-4183962432.commit-2fbe270

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 (89) hide show
  1. package/dist/components/extended/Animator.d.ts +3 -2
  2. package/dist/components/extended/Material.d.ts +2 -2
  3. package/dist/components/extended/MeshCollider.d.ts +2 -2
  4. package/dist/components/extended/MeshRenderer.d.ts +2 -2
  5. package/dist/components/generated/Animator.gen.js +6 -0
  6. package/dist/components/generated/AudioSource.gen.js +6 -0
  7. package/dist/components/generated/AudioStream.gen.js +6 -0
  8. package/dist/components/generated/AvatarAttach.gen.js +6 -0
  9. package/dist/components/generated/AvatarModifierArea.gen.js +6 -0
  10. package/dist/components/generated/AvatarShape.gen.js +6 -0
  11. package/dist/components/generated/Billboard.gen.js +6 -0
  12. package/dist/components/generated/CameraMode.gen.js +6 -0
  13. package/dist/components/generated/CameraModeArea.gen.js +6 -0
  14. package/dist/components/generated/GltfContainer.gen.js +6 -0
  15. package/dist/components/generated/Material.gen.js +6 -0
  16. package/dist/components/generated/MeshCollider.gen.js +6 -0
  17. package/dist/components/generated/MeshRenderer.gen.js +6 -0
  18. package/dist/components/generated/NftShape.gen.js +6 -0
  19. package/dist/components/generated/PointerEvents.gen.js +6 -0
  20. package/dist/components/generated/PointerEventsResult.gen.js +6 -0
  21. package/dist/components/generated/PointerLock.gen.js +6 -0
  22. package/dist/components/generated/Raycast.gen.js +6 -0
  23. package/dist/components/generated/RaycastResult.gen.js +6 -0
  24. package/dist/components/generated/TextShape.gen.js +6 -0
  25. package/dist/components/generated/UiBackground.gen.js +6 -0
  26. package/dist/components/generated/UiDropdown.gen.js +6 -0
  27. package/dist/components/generated/UiDropdownResult.gen.js +6 -0
  28. package/dist/components/generated/UiInput.gen.js +6 -0
  29. package/dist/components/generated/UiInputResult.gen.js +6 -0
  30. package/dist/components/generated/UiText.gen.js +6 -0
  31. package/dist/components/generated/UiTransform.gen.js +6 -0
  32. package/dist/components/generated/VideoPlayer.gen.js +6 -0
  33. package/dist/components/generated/VisibilityComponent.gen.js +6 -0
  34. package/dist/components/generated/global.gen.d.ts +26 -26
  35. package/dist/components/generated/index.gen.d.ts +32 -31
  36. package/dist/components/generated/index.gen.js +4 -1
  37. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +1 -9
  38. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +2 -36
  39. package/dist/components/index.d.ts +9 -9
  40. package/dist/components/index.js +1 -1
  41. package/dist/components/{legacy → manual}/Transform.d.ts +2 -2
  42. package/dist/components/{legacy → manual}/Transform.js +32 -0
  43. package/dist/components/types.d.ts +1 -1
  44. package/dist/engine/component.d.ts +74 -27
  45. package/dist/engine/component.js +7 -240
  46. package/dist/engine/grow-only-value-set-component-definition.d.ts +8 -0
  47. package/dist/engine/grow-only-value-set-component-definition.js +132 -0
  48. package/dist/engine/index.d.ts +1 -2
  49. package/dist/engine/index.js +18 -1
  50. package/dist/engine/input.d.ts +3 -3
  51. package/dist/engine/input.js +75 -68
  52. package/dist/engine/lww-element-set-component-definition.d.ts +6 -0
  53. package/dist/engine/lww-element-set-component-definition.js +229 -0
  54. package/dist/engine/readonly.d.ts +2 -2
  55. package/dist/engine/types.d.ts +20 -9
  56. package/dist/engine/types.js +1 -1
  57. package/dist/runtime/invariant.d.ts +1 -0
  58. package/dist/runtime/invariant.js +6 -1
  59. package/dist/runtime/types.d.ts +1 -2
  60. package/dist/runtime/types.js +0 -1
  61. package/dist/schemas/Array.js +5 -0
  62. package/dist/schemas/ISchema.d.ts +27 -2
  63. package/dist/schemas/Map.d.ts +0 -1
  64. package/dist/schemas/Map.js +9 -0
  65. package/dist/schemas/Optional.js +5 -0
  66. package/dist/schemas/basic/Boolean.js +4 -0
  67. package/dist/schemas/basic/Enum.js +27 -0
  68. package/dist/schemas/basic/Float.js +8 -0
  69. package/dist/schemas/basic/Integer.js +16 -0
  70. package/dist/schemas/basic/String.js +4 -0
  71. package/dist/schemas/buildSchema.d.ts +7 -0
  72. package/dist/schemas/buildSchema.js +63 -0
  73. package/dist/schemas/custom/Color3.js +9 -0
  74. package/dist/schemas/custom/Color4.js +10 -0
  75. package/dist/schemas/custom/Entity.js +4 -0
  76. package/dist/schemas/custom/Quaternion.js +10 -0
  77. package/dist/schemas/custom/Vector3.js +10 -0
  78. package/dist/schemas/index.d.ts +2 -2
  79. package/dist/serialization/crdt/appendValue.d.ts +1 -0
  80. package/dist/serialization/crdt/appendValue.js +49 -0
  81. package/dist/serialization/crdt/index.d.ts +1 -0
  82. package/dist/serialization/crdt/index.js +1 -0
  83. package/dist/serialization/crdt/message.js +4 -0
  84. package/dist/serialization/crdt/types.d.ts +24 -3
  85. package/dist/serialization/crdt/types.js +2 -1
  86. package/dist/systems/crdt/index.d.ts +1 -1
  87. package/dist/systems/crdt/index.js +21 -8
  88. package/dist/systems/events.d.ts +2 -2
  89. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  import { EntityState } from '../../engine/entity';
2
2
  import { ReadWriteByteBuffer } from '../../serialization/ByteBuffer';
3
- import { CrdtMessageProtocol } from '../../serialization/crdt';
3
+ import { AppendValueOperation, CrdtMessageProtocol } from '../../serialization/crdt';
4
4
  import { DeleteComponent } from '../../serialization/crdt/deleteComponent';
5
5
  import { DeleteEntity } from '../../serialization/crdt/deleteEntity';
6
6
  import { PutComponentOperation } from '../../serialization/crdt/putComponent';
@@ -35,7 +35,6 @@ export function crdtSceneSystem(engine, onProcessEntityComponentChange) {
35
35
  if (header.type === CrdtMessageType.DELETE_COMPONENT) {
36
36
  const message = DeleteComponent.read(buffer);
37
37
  receivedMessages.push({
38
- ...header,
39
38
  ...message,
40
39
  transportId,
41
40
  messageBuffer: buffer.buffer().subarray(offset, buffer.currentReadOffset())
@@ -44,7 +43,6 @@ export function crdtSceneSystem(engine, onProcessEntityComponentChange) {
44
43
  else if (header.type === CrdtMessageType.PUT_COMPONENT) {
45
44
  const message = PutComponentOperation.read(buffer);
46
45
  receivedMessages.push({
47
- ...header,
48
46
  ...message,
49
47
  transportId,
50
48
  messageBuffer: buffer.buffer().subarray(offset, buffer.currentReadOffset())
@@ -53,7 +51,14 @@ export function crdtSceneSystem(engine, onProcessEntityComponentChange) {
53
51
  else if (header.type === CrdtMessageType.DELETE_ENTITY) {
54
52
  const message = DeleteEntity.read(buffer);
55
53
  receivedMessages.push({
56
- ...header,
54
+ ...message,
55
+ transportId,
56
+ messageBuffer: buffer.buffer().subarray(offset, buffer.currentReadOffset())
57
+ });
58
+ }
59
+ else if (header.type === CrdtMessageType.APPEND_VALUE) {
60
+ const message = AppendValueOperation.read(buffer);
61
+ receivedMessages.push({
57
62
  ...message,
58
63
  transportId,
59
64
  messageBuffer: buffer.buffer().subarray(offset, buffer.currentReadOffset())
@@ -99,13 +104,13 @@ export function crdtSceneSystem(engine, onProcessEntityComponentChange) {
99
104
  }
100
105
  const component = engine.getComponentOrNull(msg.componentId);
101
106
  if (component) {
102
- const [conflictMessage] = component.updateFromCrdt(msg);
107
+ const [conflictMessage, value] = component.updateFromCrdt(msg);
103
108
  if (conflictMessage) {
104
109
  const offset = bufferForOutdated.currentWriteOffset();
105
110
  if (conflictMessage.type === CrdtMessageType.PUT_COMPONENT) {
106
111
  PutComponentOperation.write(msg.entityId, conflictMessage.timestamp, conflictMessage.componentId, conflictMessage.data, bufferForOutdated);
107
112
  }
108
- else {
113
+ else if (conflictMessage.type === CrdtMessageType.DELETE_COMPONENT) {
109
114
  DeleteComponent.write(msg.entityId, component.componentId, conflictMessage.timestamp, bufferForOutdated);
110
115
  }
111
116
  outdatedMessages.push({
@@ -116,7 +121,7 @@ export function crdtSceneSystem(engine, onProcessEntityComponentChange) {
116
121
  else {
117
122
  // Add message to transport queue to be processed by others transports
118
123
  broadcastMessages.push(msg);
119
- onProcessEntityComponentChange && onProcessEntityComponentChange(msg.entityId, msg.type, component);
124
+ onProcessEntityComponentChange && onProcessEntityComponentChange(msg.entityId, msg.type, component, value);
120
125
  }
121
126
  }
122
127
  }
@@ -155,11 +160,19 @@ export function crdtSceneSystem(engine, onProcessEntityComponentChange) {
155
160
  else if (message.type === CrdtMessageType.DELETE_COMPONENT) {
156
161
  DeleteComponent.write(message.entityId, component.componentId, message.timestamp, buffer);
157
162
  }
163
+ else if (message.type === CrdtMessageType.APPEND_VALUE) {
164
+ AppendValueOperation.write(message.entityId, message.timestamp, message.componentId, message.data, buffer);
165
+ }
158
166
  crdtMessages.push({
159
167
  ...message,
160
168
  messageBuffer: buffer.buffer().subarray(offset, buffer.currentWriteOffset())
161
169
  });
162
- onProcessEntityComponentChange && onProcessEntityComponentChange(message.entityId, message.type, component);
170
+ if (onProcessEntityComponentChange) {
171
+ const rawValue = message.type === CrdtMessageType.PUT_COMPONENT || message.type === CrdtMessageType.APPEND_VALUE
172
+ ? component.get(message.entityId)
173
+ : undefined;
174
+ onProcessEntityComponentChange(message.entityId, message.type, component, rawValue);
175
+ }
163
176
  }
164
177
  }
165
178
  }
@@ -1,10 +1,10 @@
1
1
  import { InputAction } from '../components/generated/pb/decentraland/sdk/components/common/input_action.gen';
2
- import { PBPointerEventsResult_PointerCommand } from '../components/generated/pb/decentraland/sdk/components/pointer_events_result.gen';
2
+ import { PBPointerEventsResult } from '../components/generated/pb/decentraland/sdk/components/pointer_events_result.gen';
3
3
  import { Entity } from '../engine/entity';
4
4
  /**
5
5
  * @public
6
6
  */
7
- export type EventSystemCallback = (event: PBPointerEventsResult_PointerCommand) => void;
7
+ export type EventSystemCallback = (event: PBPointerEventsResult) => void;
8
8
  /**
9
9
  * @public
10
10
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/ecs",
3
- "version": "7.0.6-4177592674.commit-39cdc99",
3
+ "version": "7.0.6-4183962432.commit-2fbe270",
4
4
  "description": "Decentraland ECS",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@dcl/js-runtime": "file:../js-runtime",
31
- "@dcl/protocol": "1.0.0-4114477251.commit-ccb88d6"
31
+ "@dcl/protocol": "1.0.0-4177500465.commit-247c87f"
32
32
  },
33
33
  "files": [
34
34
  "dist",
@@ -40,5 +40,5 @@
40
40
  "displayName": "ECS",
41
41
  "tsconfig": "./tsconfig.json"
42
42
  },
43
- "commit": "39cdc99ea857c63f707ec9188836116d838fa10e"
43
+ "commit": "2fbe270d3909a3f1cb2a1794544288e5e5d602aa"
44
44
  }