@dcl/ecs 7.20.1 → 7.20.2-22102228700.commit-61000fc
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/index.d.ts +5 -0
- package/dist/components/index.js +5 -2
- package/dist/components/manual/CreatedBy.d.ts +9 -0
- package/dist/components/manual/CreatedBy.js +8 -0
- package/dist/components/manual/Transform.d.ts +9 -0
- package/dist/components/manual/Transform.js +3 -3
- package/dist/components/types.d.ts +1 -0
- package/dist/engine/component.d.ts +52 -1
- package/dist/engine/grow-only-value-set-component-definition.js +45 -2
- package/dist/engine/lww-element-set-component-definition.d.ts +3 -1
- package/dist/engine/lww-element-set-component-definition.js +65 -12
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/serialization/crdt/authoritativePutComponent.d.ts +15 -0
- package/dist/serialization/crdt/authoritativePutComponent.js +47 -0
- package/dist/serialization/crdt/index.d.ts +1 -0
- package/dist/serialization/crdt/index.js +1 -0
- package/dist/serialization/crdt/types.d.ts +25 -3
- package/dist/serialization/crdt/types.js +3 -1
- package/dist/systems/crdt/index.d.ts +0 -1
- package/dist/systems/crdt/index.js +55 -146
- package/dist-cjs/components/index.d.ts +5 -0
- package/dist-cjs/components/index.js +7 -3
- package/dist-cjs/components/manual/CreatedBy.d.ts +9 -0
- package/dist-cjs/components/manual/CreatedBy.js +10 -0
- package/dist-cjs/components/manual/Transform.d.ts +9 -0
- package/dist-cjs/components/manual/Transform.js +3 -3
- package/dist-cjs/components/types.d.ts +1 -0
- package/dist-cjs/engine/component.d.ts +52 -1
- package/dist-cjs/engine/grow-only-value-set-component-definition.js +44 -1
- package/dist-cjs/engine/lww-element-set-component-definition.d.ts +3 -1
- package/dist-cjs/engine/lww-element-set-component-definition.js +68 -13
- package/dist-cjs/index.d.ts +2 -1
- package/dist-cjs/index.js +2 -1
- package/dist-cjs/serialization/crdt/authoritativePutComponent.d.ts +15 -0
- package/dist-cjs/serialization/crdt/authoritativePutComponent.js +50 -0
- package/dist-cjs/serialization/crdt/index.d.ts +1 -0
- package/dist-cjs/serialization/crdt/index.js +1 -0
- package/dist-cjs/serialization/crdt/types.d.ts +25 -3
- package/dist-cjs/serialization/crdt/types.js +3 -1
- package/dist-cjs/systems/crdt/index.d.ts +0 -1
- package/dist-cjs/systems/crdt/index.js +55 -169
- package/package.json +2 -2
- package/dist/serialization/crdt/network/utils.d.ts +0 -9
- package/dist/serialization/crdt/network/utils.js +0 -60
- package/dist-cjs/serialization/crdt/network/utils.d.ts +0 -9
- package/dist-cjs/serialization/crdt/network/utils.js +0 -67
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/ecs",
|
|
3
3
|
"description": "Decentraland ECS",
|
|
4
|
-
"version": "7.20.
|
|
4
|
+
"version": "7.20.2-22102228700.commit-61000fc",
|
|
5
5
|
"author": "DCL",
|
|
6
6
|
"bugs": "https://github.com/decentraland/ecs/issues",
|
|
7
7
|
"files": [
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
},
|
|
34
34
|
"types": "./dist/index.d.ts",
|
|
35
35
|
"typings": "./dist/index.d.ts",
|
|
36
|
-
"commit": "
|
|
36
|
+
"commit": "61000fc3a7e49fbd51463d3a4bbf09cd9626e29f"
|
|
37
37
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Entity } from '../../../engine';
|
|
2
|
-
import { ReceiveMessage, TransformType } from '../../../runtime/types';
|
|
3
|
-
import { ReceiveNetworkMessage } from '../../../systems/crdt/types';
|
|
4
|
-
import { ByteBuffer } from '../../ByteBuffer';
|
|
5
|
-
import { INetowrkEntityType } from '../../../components/types';
|
|
6
|
-
export declare function isNetworkMessage(message: ReceiveMessage): message is ReceiveNetworkMessage;
|
|
7
|
-
export declare function networkMessageToLocal(message: ReceiveNetworkMessage, localEntityId: Entity, buffer: ByteBuffer, destinationBuffer: ByteBuffer): void;
|
|
8
|
-
export declare function localMessageToNetwork(message: ReceiveMessage, network: INetowrkEntityType, buffer: ByteBuffer, destinationBuffer: ByteBuffer): void;
|
|
9
|
-
export declare function fixTransformParent(message: ReceiveMessage, transformValue?: TransformType, parent?: Entity): Uint8Array;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { ReadWriteByteBuffer } from '../../ByteBuffer';
|
|
2
|
-
import { PutComponentOperation } from '../putComponent';
|
|
3
|
-
import { CrdtMessageType } from '../types';
|
|
4
|
-
import { DeleteComponent } from '../deleteComponent';
|
|
5
|
-
import { DeleteEntity } from '../deleteEntity';
|
|
6
|
-
import { PutNetworkComponentOperation } from './putComponentNetwork';
|
|
7
|
-
import { DeleteComponentNetwork } from './deleteComponentNetwork';
|
|
8
|
-
import { DeleteEntityNetwork } from './deleteEntityNetwork';
|
|
9
|
-
import { TransformSchema } from '../../../components/manual/Transform';
|
|
10
|
-
/* istanbul ignore next */
|
|
11
|
-
export function isNetworkMessage(message) {
|
|
12
|
-
return [
|
|
13
|
-
CrdtMessageType.DELETE_COMPONENT_NETWORK,
|
|
14
|
-
CrdtMessageType.DELETE_ENTITY_NETWORK,
|
|
15
|
-
CrdtMessageType.PUT_COMPONENT_NETWORK
|
|
16
|
-
].includes(message.type);
|
|
17
|
-
}
|
|
18
|
-
/* istanbul ignore next */
|
|
19
|
-
export function networkMessageToLocal(message, localEntityId, buffer, destinationBuffer) {
|
|
20
|
-
const offset = buffer.currentWriteOffset();
|
|
21
|
-
if (message.type === CrdtMessageType.PUT_COMPONENT_NETWORK) {
|
|
22
|
-
PutComponentOperation.write(localEntityId, message.timestamp, message.componentId, message.data, buffer);
|
|
23
|
-
}
|
|
24
|
-
else if (message.type === CrdtMessageType.DELETE_COMPONENT_NETWORK) {
|
|
25
|
-
DeleteComponent.write(localEntityId, message.componentId, message.timestamp, buffer);
|
|
26
|
-
}
|
|
27
|
-
else if (message.type === CrdtMessageType.DELETE_ENTITY_NETWORK) {
|
|
28
|
-
DeleteEntity.write(localEntityId, buffer);
|
|
29
|
-
}
|
|
30
|
-
destinationBuffer.writeBuffer(buffer.buffer().subarray(offset, buffer.currentWriteOffset()), false);
|
|
31
|
-
}
|
|
32
|
-
/* istanbul ignore next */
|
|
33
|
-
export function localMessageToNetwork(message, network, buffer, destinationBuffer) {
|
|
34
|
-
const offset = buffer.currentWriteOffset();
|
|
35
|
-
if (message.type === CrdtMessageType.PUT_COMPONENT) {
|
|
36
|
-
PutNetworkComponentOperation.write(network.entityId, message.timestamp, message.componentId, network.networkId, message.data, buffer);
|
|
37
|
-
}
|
|
38
|
-
else if (message.type === CrdtMessageType.DELETE_COMPONENT) {
|
|
39
|
-
DeleteComponentNetwork.write(network.entityId, message.componentId, message.timestamp, network.networkId, buffer);
|
|
40
|
-
}
|
|
41
|
-
else if (message.type === CrdtMessageType.DELETE_ENTITY) {
|
|
42
|
-
DeleteEntityNetwork.write(network.entityId, network.networkId, buffer);
|
|
43
|
-
}
|
|
44
|
-
destinationBuffer.writeBuffer(buffer.buffer().subarray(offset, buffer.currentWriteOffset()), false);
|
|
45
|
-
}
|
|
46
|
-
const buffer = new ReadWriteByteBuffer();
|
|
47
|
-
/* istanbul ignore next */
|
|
48
|
-
export function fixTransformParent(message, transformValue, parent) {
|
|
49
|
-
buffer.resetBuffer();
|
|
50
|
-
let transform = transformValue;
|
|
51
|
-
if (!transform && 'data' in message) {
|
|
52
|
-
transform = TransformSchema.deserialize(new ReadWriteByteBuffer(message.data));
|
|
53
|
-
}
|
|
54
|
-
if (!transform)
|
|
55
|
-
throw new Error('Invalid parent transform');
|
|
56
|
-
// Generate new transform raw data with the parent
|
|
57
|
-
const newTransform = { ...transform, parent };
|
|
58
|
-
TransformSchema.serialize(newTransform, buffer);
|
|
59
|
-
return buffer.toBinary();
|
|
60
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Entity } from '../../../engine';
|
|
2
|
-
import { ReceiveMessage, TransformType } from '../../../runtime/types';
|
|
3
|
-
import { ReceiveNetworkMessage } from '../../../systems/crdt/types';
|
|
4
|
-
import { ByteBuffer } from '../../ByteBuffer';
|
|
5
|
-
import { INetowrkEntityType } from '../../../components/types';
|
|
6
|
-
export declare function isNetworkMessage(message: ReceiveMessage): message is ReceiveNetworkMessage;
|
|
7
|
-
export declare function networkMessageToLocal(message: ReceiveNetworkMessage, localEntityId: Entity, buffer: ByteBuffer, destinationBuffer: ByteBuffer): void;
|
|
8
|
-
export declare function localMessageToNetwork(message: ReceiveMessage, network: INetowrkEntityType, buffer: ByteBuffer, destinationBuffer: ByteBuffer): void;
|
|
9
|
-
export declare function fixTransformParent(message: ReceiveMessage, transformValue?: TransformType, parent?: Entity): Uint8Array;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fixTransformParent = exports.localMessageToNetwork = exports.networkMessageToLocal = exports.isNetworkMessage = void 0;
|
|
4
|
-
const ByteBuffer_1 = require("../../ByteBuffer");
|
|
5
|
-
const putComponent_1 = require("../putComponent");
|
|
6
|
-
const types_1 = require("../types");
|
|
7
|
-
const deleteComponent_1 = require("../deleteComponent");
|
|
8
|
-
const deleteEntity_1 = require("../deleteEntity");
|
|
9
|
-
const putComponentNetwork_1 = require("./putComponentNetwork");
|
|
10
|
-
const deleteComponentNetwork_1 = require("./deleteComponentNetwork");
|
|
11
|
-
const deleteEntityNetwork_1 = require("./deleteEntityNetwork");
|
|
12
|
-
const Transform_1 = require("../../../components/manual/Transform");
|
|
13
|
-
/* istanbul ignore next */
|
|
14
|
-
function isNetworkMessage(message) {
|
|
15
|
-
return [
|
|
16
|
-
types_1.CrdtMessageType.DELETE_COMPONENT_NETWORK,
|
|
17
|
-
types_1.CrdtMessageType.DELETE_ENTITY_NETWORK,
|
|
18
|
-
types_1.CrdtMessageType.PUT_COMPONENT_NETWORK
|
|
19
|
-
].includes(message.type);
|
|
20
|
-
}
|
|
21
|
-
exports.isNetworkMessage = isNetworkMessage;
|
|
22
|
-
/* istanbul ignore next */
|
|
23
|
-
function networkMessageToLocal(message, localEntityId, buffer, destinationBuffer) {
|
|
24
|
-
const offset = buffer.currentWriteOffset();
|
|
25
|
-
if (message.type === types_1.CrdtMessageType.PUT_COMPONENT_NETWORK) {
|
|
26
|
-
putComponent_1.PutComponentOperation.write(localEntityId, message.timestamp, message.componentId, message.data, buffer);
|
|
27
|
-
}
|
|
28
|
-
else if (message.type === types_1.CrdtMessageType.DELETE_COMPONENT_NETWORK) {
|
|
29
|
-
deleteComponent_1.DeleteComponent.write(localEntityId, message.componentId, message.timestamp, buffer);
|
|
30
|
-
}
|
|
31
|
-
else if (message.type === types_1.CrdtMessageType.DELETE_ENTITY_NETWORK) {
|
|
32
|
-
deleteEntity_1.DeleteEntity.write(localEntityId, buffer);
|
|
33
|
-
}
|
|
34
|
-
destinationBuffer.writeBuffer(buffer.buffer().subarray(offset, buffer.currentWriteOffset()), false);
|
|
35
|
-
}
|
|
36
|
-
exports.networkMessageToLocal = networkMessageToLocal;
|
|
37
|
-
/* istanbul ignore next */
|
|
38
|
-
function localMessageToNetwork(message, network, buffer, destinationBuffer) {
|
|
39
|
-
const offset = buffer.currentWriteOffset();
|
|
40
|
-
if (message.type === types_1.CrdtMessageType.PUT_COMPONENT) {
|
|
41
|
-
putComponentNetwork_1.PutNetworkComponentOperation.write(network.entityId, message.timestamp, message.componentId, network.networkId, message.data, buffer);
|
|
42
|
-
}
|
|
43
|
-
else if (message.type === types_1.CrdtMessageType.DELETE_COMPONENT) {
|
|
44
|
-
deleteComponentNetwork_1.DeleteComponentNetwork.write(network.entityId, message.componentId, message.timestamp, network.networkId, buffer);
|
|
45
|
-
}
|
|
46
|
-
else if (message.type === types_1.CrdtMessageType.DELETE_ENTITY) {
|
|
47
|
-
deleteEntityNetwork_1.DeleteEntityNetwork.write(network.entityId, network.networkId, buffer);
|
|
48
|
-
}
|
|
49
|
-
destinationBuffer.writeBuffer(buffer.buffer().subarray(offset, buffer.currentWriteOffset()), false);
|
|
50
|
-
}
|
|
51
|
-
exports.localMessageToNetwork = localMessageToNetwork;
|
|
52
|
-
const buffer = new ByteBuffer_1.ReadWriteByteBuffer();
|
|
53
|
-
/* istanbul ignore next */
|
|
54
|
-
function fixTransformParent(message, transformValue, parent) {
|
|
55
|
-
buffer.resetBuffer();
|
|
56
|
-
let transform = transformValue;
|
|
57
|
-
if (!transform && 'data' in message) {
|
|
58
|
-
transform = Transform_1.TransformSchema.deserialize(new ByteBuffer_1.ReadWriteByteBuffer(message.data));
|
|
59
|
-
}
|
|
60
|
-
if (!transform)
|
|
61
|
-
throw new Error('Invalid parent transform');
|
|
62
|
-
// Generate new transform raw data with the parent
|
|
63
|
-
const newTransform = { ...transform, parent };
|
|
64
|
-
Transform_1.TransformSchema.serialize(newTransform, buffer);
|
|
65
|
-
return buffer.toBinary();
|
|
66
|
-
}
|
|
67
|
-
exports.fixTransformParent = fixTransformParent;
|