@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.
- package/dist/components/extended/Animator.d.ts +3 -2
- package/dist/components/extended/Material.d.ts +2 -2
- package/dist/components/extended/MeshCollider.d.ts +2 -2
- package/dist/components/extended/MeshRenderer.d.ts +2 -2
- package/dist/components/generated/Animator.gen.js +6 -0
- package/dist/components/generated/AudioSource.gen.js +6 -0
- package/dist/components/generated/AudioStream.gen.js +6 -0
- package/dist/components/generated/AvatarAttach.gen.js +6 -0
- package/dist/components/generated/AvatarModifierArea.gen.js +6 -0
- package/dist/components/generated/AvatarShape.gen.js +6 -0
- package/dist/components/generated/Billboard.gen.js +6 -0
- package/dist/components/generated/CameraMode.gen.js +6 -0
- package/dist/components/generated/CameraModeArea.gen.js +6 -0
- package/dist/components/generated/GltfContainer.gen.js +6 -0
- package/dist/components/generated/Material.gen.js +6 -0
- package/dist/components/generated/MeshCollider.gen.js +6 -0
- package/dist/components/generated/MeshRenderer.gen.js +6 -0
- package/dist/components/generated/NftShape.gen.js +6 -0
- package/dist/components/generated/PointerEvents.gen.js +6 -0
- package/dist/components/generated/PointerEventsResult.gen.js +6 -0
- package/dist/components/generated/PointerLock.gen.js +6 -0
- package/dist/components/generated/Raycast.gen.js +6 -0
- package/dist/components/generated/RaycastResult.gen.js +6 -0
- package/dist/components/generated/TextShape.gen.js +6 -0
- package/dist/components/generated/UiBackground.gen.js +6 -0
- package/dist/components/generated/UiDropdown.gen.js +6 -0
- package/dist/components/generated/UiDropdownResult.gen.js +6 -0
- package/dist/components/generated/UiInput.gen.js +6 -0
- package/dist/components/generated/UiInputResult.gen.js +6 -0
- package/dist/components/generated/UiText.gen.js +6 -0
- package/dist/components/generated/UiTransform.gen.js +6 -0
- package/dist/components/generated/VideoPlayer.gen.js +6 -0
- package/dist/components/generated/VisibilityComponent.gen.js +6 -0
- package/dist/components/generated/global.gen.d.ts +26 -26
- package/dist/components/generated/index.gen.d.ts +32 -31
- package/dist/components/generated/index.gen.js +4 -1
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +1 -9
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +2 -36
- package/dist/components/index.d.ts +9 -9
- package/dist/components/index.js +1 -1
- package/dist/components/{legacy → manual}/Transform.d.ts +2 -2
- package/dist/components/{legacy → manual}/Transform.js +32 -0
- package/dist/components/types.d.ts +1 -1
- package/dist/engine/component.d.ts +74 -27
- package/dist/engine/component.js +7 -240
- package/dist/engine/grow-only-value-set-component-definition.d.ts +8 -0
- package/dist/engine/grow-only-value-set-component-definition.js +132 -0
- package/dist/engine/index.d.ts +1 -2
- package/dist/engine/index.js +18 -1
- package/dist/engine/input.d.ts +3 -3
- package/dist/engine/input.js +75 -68
- package/dist/engine/lww-element-set-component-definition.d.ts +6 -0
- package/dist/engine/lww-element-set-component-definition.js +229 -0
- package/dist/engine/readonly.d.ts +2 -2
- package/dist/engine/types.d.ts +20 -9
- package/dist/engine/types.js +1 -1
- package/dist/runtime/invariant.d.ts +1 -0
- package/dist/runtime/invariant.js +6 -1
- package/dist/runtime/types.d.ts +1 -2
- package/dist/runtime/types.js +0 -1
- package/dist/schemas/Array.js +5 -0
- package/dist/schemas/ISchema.d.ts +27 -2
- package/dist/schemas/Map.d.ts +0 -1
- package/dist/schemas/Map.js +9 -0
- package/dist/schemas/Optional.js +5 -0
- package/dist/schemas/basic/Boolean.js +4 -0
- package/dist/schemas/basic/Enum.js +27 -0
- package/dist/schemas/basic/Float.js +8 -0
- package/dist/schemas/basic/Integer.js +16 -0
- package/dist/schemas/basic/String.js +4 -0
- package/dist/schemas/buildSchema.d.ts +7 -0
- package/dist/schemas/buildSchema.js +63 -0
- package/dist/schemas/custom/Color3.js +9 -0
- package/dist/schemas/custom/Color4.js +10 -0
- package/dist/schemas/custom/Entity.js +4 -0
- package/dist/schemas/custom/Quaternion.js +10 -0
- package/dist/schemas/custom/Vector3.js +10 -0
- package/dist/schemas/index.d.ts +2 -2
- package/dist/serialization/crdt/appendValue.d.ts +1 -0
- package/dist/serialization/crdt/appendValue.js +49 -0
- package/dist/serialization/crdt/index.d.ts +1 -0
- package/dist/serialization/crdt/index.js +1 -0
- package/dist/serialization/crdt/message.js +4 -0
- package/dist/serialization/crdt/types.d.ts +24 -3
- package/dist/serialization/crdt/types.js +2 -1
- package/dist/systems/crdt/index.d.ts +1 -1
- package/dist/systems/crdt/index.js +21 -8
- package/dist/systems/events.d.ts +2 -2
- 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
|
-
...
|
|
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
|
-
|
|
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
|
}
|
package/dist/systems/events.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { InputAction } from '../components/generated/pb/decentraland/sdk/components/common/input_action.gen';
|
|
2
|
-
import {
|
|
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:
|
|
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-
|
|
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-
|
|
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": "
|
|
43
|
+
"commit": "2fbe270d3909a3f1cb2a1794544288e5e5d602aa"
|
|
44
44
|
}
|