@vworlds/vecs-client 1.0.22 → 1.0.24

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 (56) hide show
  1. package/{vecs-client/src/client_world.d.ts → client_world.d.ts} +1 -7
  2. package/{vecs-client/src/client_world.js → client_world.js} +4 -15
  3. package/client_world.js.map +1 -0
  4. package/diff_buffer.js.map +1 -0
  5. package/{vecs-client/src/index.d.ts → index.d.ts} +1 -1
  6. package/index.js.map +1 -0
  7. package/package.json +8 -11
  8. package/node_modules/@vworlds/vecs-protocol/package.json +0 -14
  9. package/node_modules/@vworlds/vecs-protocol/src/cid.d.ts +0 -15
  10. package/node_modules/@vworlds/vecs-protocol/src/cid.js +0 -56
  11. package/node_modules/@vworlds/vecs-protocol/src/cid.js.map +0 -1
  12. package/node_modules/@vworlds/vecs-protocol/src/index.d.ts +0 -6
  13. package/node_modules/@vworlds/vecs-protocol/src/index.js +0 -6
  14. package/node_modules/@vworlds/vecs-protocol/src/index.js.map +0 -1
  15. package/node_modules/@vworlds/vecs-protocol/src/messages.d.ts +0 -43
  16. package/node_modules/@vworlds/vecs-protocol/src/messages.js +0 -149
  17. package/node_modules/@vworlds/vecs-protocol/src/messages.js.map +0 -1
  18. package/node_modules/@vworlds/vecs-protocol/src/network_world.d.ts +0 -18
  19. package/node_modules/@vworlds/vecs-protocol/src/network_world.js +0 -93
  20. package/node_modules/@vworlds/vecs-protocol/src/network_world.js.map +0 -1
  21. package/node_modules/@vworlds/vecs-protocol/src/rpc.d.ts +0 -36
  22. package/node_modules/@vworlds/vecs-protocol/src/rpc.js +0 -140
  23. package/node_modules/@vworlds/vecs-protocol/src/rpc.js.map +0 -1
  24. package/node_modules/@vworlds/vecs-protocol/src/transport.d.ts +0 -21
  25. package/node_modules/@vworlds/vecs-protocol/src/transport.js +0 -2
  26. package/node_modules/@vworlds/vecs-protocol/src/transport.js.map +0 -1
  27. package/node_modules/@vworlds/vecs-protocol/src/world_path.d.ts +0 -1
  28. package/node_modules/@vworlds/vecs-protocol/src/world_path.js +0 -4
  29. package/node_modules/@vworlds/vecs-protocol/src/world_path.js.map +0 -1
  30. package/vecs-client/src/client_world.js.map +0 -1
  31. package/vecs-client/src/diff_buffer.js.map +0 -1
  32. package/vecs-client/src/index.js.map +0 -1
  33. package/vecs-protocol/src/cid.d.ts +0 -15
  34. package/vecs-protocol/src/cid.js +0 -56
  35. package/vecs-protocol/src/cid.js.map +0 -1
  36. package/vecs-protocol/src/index.d.ts +0 -6
  37. package/vecs-protocol/src/index.js +0 -6
  38. package/vecs-protocol/src/index.js.map +0 -1
  39. package/vecs-protocol/src/messages.d.ts +0 -43
  40. package/vecs-protocol/src/messages.js +0 -149
  41. package/vecs-protocol/src/messages.js.map +0 -1
  42. package/vecs-protocol/src/network_world.d.ts +0 -18
  43. package/vecs-protocol/src/network_world.js +0 -93
  44. package/vecs-protocol/src/network_world.js.map +0 -1
  45. package/vecs-protocol/src/rpc.d.ts +0 -36
  46. package/vecs-protocol/src/rpc.js +0 -140
  47. package/vecs-protocol/src/rpc.js.map +0 -1
  48. package/vecs-protocol/src/transport.d.ts +0 -21
  49. package/vecs-protocol/src/transport.js +0 -2
  50. package/vecs-protocol/src/transport.js.map +0 -1
  51. package/vecs-protocol/src/world_path.d.ts +0 -1
  52. package/vecs-protocol/src/world_path.js +0 -4
  53. package/vecs-protocol/src/world_path.js.map +0 -1
  54. /package/{vecs-client/src/diff_buffer.d.ts → diff_buffer.d.ts} +0 -0
  55. /package/{vecs-client/src/diff_buffer.js → diff_buffer.js} +0 -0
  56. /package/{vecs-client/src/index.js → index.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { NetworkWorld, type NetworkWorldOptions, type RPCHandler, type VecsSocket } from "@vworlds/vecs-protocol";
2
- import { type ComponentInstance, type Entity } from "@vworlds/vecs";
2
+ import { type ComponentInstance } from "@vworlds/vecs";
3
3
  import { EventEmitter } from "eventemitter3";
4
4
  import { ComponentSnapshot, type ComponentInterpolator } from "./diff_buffer.js";
5
5
  export interface ClientWorldResetEvent {
@@ -26,9 +26,6 @@ export interface ClientWorldOptions extends NetworkWorldOptions {
26
26
  */
27
27
  interpolators?: Iterable<readonly [number, ComponentInterpolator]>;
28
28
  }
29
- export interface InstallSystemsOptions {
30
- applyPhase?: string | Entity;
31
- }
32
29
  export interface DgramConnectOptions extends Omit<ClientWorldOptions, "socket"> {
33
30
  host: string;
34
31
  port: number;
@@ -50,11 +47,9 @@ export declare class ClientWorld extends NetworkWorld {
50
47
  private _ackTimer;
51
48
  private _baselineApplied;
52
49
  private _forceBaselineReset;
53
- private _systemsInstalled;
54
50
  constructor(options?: ClientWorldOptions);
55
51
  static connectDgram(options: DgramConnectOptions): Promise<ClientWorld>;
56
52
  attachSocket(socket: VecsSocket): void;
57
- installSystems(options?: InstallSystemsOptions): void;
58
53
  setInput(input: unknown): void;
59
54
  invoke(rpcId: number, params?: unknown[]): Promise<unknown[]>;
60
55
  listen(rpcId: number, handler: RPCHandler): void;
@@ -68,7 +63,6 @@ export declare class ClientWorld extends NetworkWorld {
68
63
  private _removeComponent;
69
64
  private _destroyNetworkEntities;
70
65
  private _handleDisconnect;
71
- private _phaseTarget;
72
66
  private _startAckTimer;
73
67
  private _stopAckTimer;
74
68
  }
@@ -1,5 +1,5 @@
1
1
  import { Client2Server, Server2Client, SessionRPC, ALL_COMPONENTS, cid_unpack, NetworkWorld, worldPath, } from "@vworlds/vecs-protocol";
2
- import { ON_UPDATE, Phase, } from "@vworlds/vecs";
2
+ import { ON_LOAD } from "@vworlds/vecs";
3
3
  import { Decoder, Encoder } from "@vworlds/vecs-wire";
4
4
  import { EventEmitter } from "eventemitter3";
5
5
  import { DiffBuffer, diffFromStateDiff, } from "./diff_buffer.js";
@@ -19,12 +19,14 @@ export class ClientWorld extends NetworkWorld {
19
19
  this._rpcInbox = [];
20
20
  this._baselineApplied = false;
21
21
  this._forceBaselineReset = false;
22
- this._systemsInstalled = false;
23
22
  this._encodeBuffer = new Uint8Array(options.encodeBufferSize ?? 64 * 1024);
24
23
  this._ackIntervalMs = options.ackIntervalMs ?? 1000 / 30;
25
24
  this.component(Networked);
26
25
  this._networkedQuery = this.query("ClientWorld:Networked").with(Networked).track().build();
27
26
  this._diffBuffer = new DiffBuffer(options.interpolatorBucketLength ?? 3, options.serverTickIntervalMs ?? 1000 / 30, (snapshot) => this.decodeComponentSnapshot(snapshot), options.interpolators);
27
+ this.system("ClientWorld:Apply")
28
+ .phase(ON_LOAD)
29
+ .run((now) => this.apply(now));
28
30
  if (options.socket) {
29
31
  this.attachSocket(options.socket);
30
32
  }
@@ -43,16 +45,6 @@ export class ClientWorld extends NetworkWorld {
43
45
  socket.on("disconnect", () => this._handleDisconnect());
44
46
  this._startAckTimer();
45
47
  }
46
- installSystems(options = {}) {
47
- if (this._systemsInstalled) {
48
- return;
49
- }
50
- this._systemsInstalled = true;
51
- const applyPhase = this._phaseTarget(options.applyPhase ?? ON_UPDATE);
52
- this.system("ClientWorld:Apply")
53
- .phase(applyPhase)
54
- .run((now) => this.apply(now));
55
- }
56
48
  setInput(input) {
57
49
  this._input = input;
58
50
  }
@@ -178,9 +170,6 @@ export class ClientWorld extends NetworkWorld {
178
170
  }
179
171
  this.events.emit("disconnect");
180
172
  }
181
- _phaseTarget(phase) {
182
- return (typeof phase === "string" ? this.entity(phase) : phase).add(Phase);
183
- }
184
173
  _startAckTimer() {
185
174
  if (this._ackTimer !== undefined) {
186
175
  return;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client_world.js","sourceRoot":"","sources":["../src/client_world.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_buffer.js","sourceRoot":"","sources":["../src/diff_buffer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { ComponentSnapshot, Diff, DiffBuffer, interpolatePosition } from "./diff_buffer.js";
2
2
  export type { ComponentInterpolator, IPosition } from "./diff_buffer.js";
3
3
  export { ClientWorld } from "./client_world.js";
4
- export type { ClientWorldOptions, DgramConnectOptions, InstallSystemsOptions, } from "./client_world.js";
4
+ export type { ClientWorldOptions, DgramConnectOptions } from "./client_world.js";
5
5
  export { worldPath } from "@vworlds/vecs-protocol";
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@vworlds/vecs-client",
3
- "version": "1.0.22",
3
+ "version": "1.0.24",
4
4
  "type": "module",
5
- "main": "./vecs-client/src/index.js",
6
- "types": "./vecs-client/src/index.d.ts",
5
+ "main": "./index.js",
6
+ "types": "./index.d.ts",
7
7
  "exports": {
8
8
  ".": {
9
- "types": "./vecs-client/src/index.d.ts",
10
- "default": "./vecs-client/src/index.js"
9
+ "types": "./index.d.ts",
10
+ "import": "./index.js"
11
11
  }
12
12
  },
13
13
  "repository": {
@@ -16,13 +16,10 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@vworlds/dgram-client": "^1.0.8",
19
- "@vworlds/vecs": "1.0.22",
20
- "@vworlds/vecs-protocol": "1.0.22",
21
- "@vworlds/vecs-wire": "1.0.22",
19
+ "@vworlds/vecs": "1.0.24",
20
+ "@vworlds/vecs-protocol": "1.0.24",
21
+ "@vworlds/vecs-wire": "1.0.24",
22
22
  "eventemitter3": "^5.0.4"
23
23
  },
24
- "bundleDependencies": [
25
- "@vworlds/vecs-protocol"
26
- ],
27
24
  "license": "UNLICENSED"
28
25
  }
@@ -1,14 +0,0 @@
1
- {
2
- "name": "@vworlds/vecs-protocol",
3
- "version": "1.0.22",
4
- "type": "module",
5
- "main": "./src/index.js",
6
- "types": "./src/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./src/index.d.ts",
10
- "default": "./src/index.js"
11
- }
12
- },
13
- "license": "UNLICENSED"
14
- }
@@ -1,15 +0,0 @@
1
- import type { EID } from "@vworlds/vecs";
2
- /** A component id packs an entity id and component type id into a uint32. */
3
- export type CID = number;
4
- /** Component type ids below this value can fit into packed wire component ids. */
5
- export declare let LOCAL_COMPONENT_MIN: number;
6
- /** Protocol removal marker for all components on an entity. */
7
- export declare const ALL_COMPONENTS = 0;
8
- /** Return the configured local component minimum after validating its alignment. */
9
- export declare function getLocalComponentMin(): number;
10
- /** Configure the local component type range before constructing networked worlds. */
11
- export declare function setLocalComponentMin(value: number): void;
12
- /** Pack an entity id and component type id into a uint32 component id. */
13
- export declare function cid_pack(eid: EID, type: number): CID;
14
- /** Unpack a uint32 component id into [entity id, component type id]. */
15
- export declare function cid_unpack(cid: CID): [eid: EID, type: number];
@@ -1,56 +0,0 @@
1
- /** Component type ids below this value can fit into packed wire component ids. */
2
- export let LOCAL_COMPONENT_MIN = 256;
3
- /** Protocol removal marker for all components on an entity. */
4
- export const ALL_COMPONENTS = 0;
5
- let componentTypeMask = LOCAL_COMPONENT_MIN - 1;
6
- let componentTypeShift = Math.log2(LOCAL_COMPONENT_MIN);
7
- let MAX_ENTITY_ID = 2 ** (32 - componentTypeShift) - 1;
8
- let MAX_COMPONENT_TYPE = componentTypeMask;
9
- function validateLocalComponentMin(value) {
10
- if (!isAlignedLocalComponentMin(value)) {
11
- throw new Error("LOCAL_COMPONENT_MIN must be a power-of-two safe integer >= 2");
12
- }
13
- if (Math.log2(value) > 31) {
14
- throw new Error("LOCAL_COMPONENT_MIN must reserve fewer than 32 component type bits");
15
- }
16
- }
17
- function isAlignedLocalComponentMin(value) {
18
- return Number.isSafeInteger(value) && value >= 2 && (value & (value - 1)) === 0;
19
- }
20
- /** Return the configured local component minimum after validating its alignment. */
21
- export function getLocalComponentMin() {
22
- validateLocalComponentMin(LOCAL_COMPONENT_MIN);
23
- return LOCAL_COMPONENT_MIN;
24
- }
25
- /** Configure the local component type range before constructing networked worlds. */
26
- export function setLocalComponentMin(value) {
27
- validateLocalComponentMin(value);
28
- LOCAL_COMPONENT_MIN = value;
29
- componentTypeMask = value - 1;
30
- componentTypeShift = Math.log2(value);
31
- MAX_ENTITY_ID = 2 ** (32 - componentTypeShift) - 1;
32
- MAX_COMPONENT_TYPE = componentTypeMask;
33
- }
34
- /** Pack an entity id and component type id into a uint32 component id. */
35
- export function cid_pack(eid, type) {
36
- if (eid < 0) {
37
- throw new Error(`cid_pack: entity id must be non-negative, got ${eid}`);
38
- }
39
- if (eid > MAX_ENTITY_ID) {
40
- throw new Error(`cid_pack: entity id ${eid} exceeds maximum ${MAX_ENTITY_ID} for LOCAL_COMPONENT_MIN=${LOCAL_COMPONENT_MIN}. ` +
41
- `Increase LOCAL_COMPONENT_MIN or use a smaller entity id.`);
42
- }
43
- if (type < 0) {
44
- throw new Error(`cid_pack: type id must be non-negative, got ${type}`);
45
- }
46
- if (type > MAX_COMPONENT_TYPE) {
47
- throw new Error(`cid_pack: type id ${type} exceeds maximum component type ${MAX_COMPONENT_TYPE}. ` +
48
- `Ensure type id is less than LOCAL_COMPONENT_MIN=${LOCAL_COMPONENT_MIN}.`);
49
- }
50
- return ((eid << componentTypeShift) | (type & componentTypeMask)) >>> 0;
51
- }
52
- /** Unpack a uint32 component id into [entity id, component type id]. */
53
- export function cid_unpack(cid) {
54
- return [cid >>> componentTypeShift, cid & componentTypeMask];
55
- }
56
- //# sourceMappingURL=cid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cid.js","sourceRoot":"","sources":["../../../../vecs-protocol/src/cid.ts"],"names":[],"mappings":"AAKA,kFAAkF;AAClF,MAAM,CAAC,IAAI,mBAAmB,GAAG,GAAG,CAAC;AAErC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,IAAI,iBAAiB,GAAG,mBAAmB,GAAG,CAAC,CAAC;AAChD,IAAI,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACxD,IAAI,aAAa,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACvD,IAAI,kBAAkB,GAAG,iBAAiB,CAAC;AAE3C,SAAS,yBAAyB,CAAC,KAAa;IAC9C,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,oBAAoB;IAClC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;IAC/C,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjC,mBAAmB,GAAG,KAAK,CAAC;IAC5B,iBAAiB,GAAG,KAAK,GAAG,CAAC,CAAC;IAC9B,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,aAAa,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACnD,kBAAkB,GAAG,iBAAiB,CAAC;AACzC,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,QAAQ,CAAC,GAAQ,EAAE,IAAY;IAC7C,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,GAAG,GAAG,aAAa,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,oBAAoB,aAAa,4BAA4B,mBAAmB,IAAI;YAC5G,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,mCAAmC,kBAAkB,IAAI;YAChF,mDAAmD,mBAAmB,GAAG,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,CAAC,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,OAAO,CAAC,GAAG,KAAK,kBAAkB,EAAE,GAAG,GAAG,iBAAiB,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,6 +0,0 @@
1
- export { ALL_COMPONENTS, LOCAL_COMPONENT_MIN, cid_pack, cid_unpack, getLocalComponentMin, setLocalComponentMin, type CID, } from "./cid.js";
2
- export { NetworkWorld, type NetworkWorldOptions, type RegisteredNetworkComponent, } from "./network_world.js";
3
- export { Client2Server, ComponentSnapshot, EncodedSnapshot, Server2Client, StateDiff, type RemovedComponent, } from "./messages.js";
4
- export { FIRST_USER_RPC_ID, RPC, RPC_RESPONSE_ID, RPC_TIMEOUT_ERROR, SessionRPC, type RPCHandler, } from "./rpc.js";
5
- export type { ConnectionError, VecsSocket, VecsSocketEvents, VecsSocketListener, VecsSocketListenerEvents, } from "./transport.js";
6
- export { worldPath } from "./world_path.js";
@@ -1,6 +0,0 @@
1
- export { ALL_COMPONENTS, LOCAL_COMPONENT_MIN, cid_pack, cid_unpack, getLocalComponentMin, setLocalComponentMin, } from "./cid.js";
2
- export { NetworkWorld, } from "./network_world.js";
3
- export { Client2Server, ComponentSnapshot, EncodedSnapshot, Server2Client, StateDiff, } from "./messages.js";
4
- export { FIRST_USER_RPC_ID, RPC, RPC_RESPONSE_ID, RPC_TIMEOUT_ERROR, SessionRPC, } from "./rpc.js";
5
- export { worldPath } from "./world_path.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../vecs-protocol/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,SAAS,GAEV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,GAAG,EACH,eAAe,EACf,iBAAiB,EACjB,UAAU,GAEX,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,43 +0,0 @@
1
- import type { EID } from "@vworlds/vecs";
2
- import { Decoder, Encoder, type IEncodable } from "@vworlds/vecs-wire";
3
- import { RPC } from "./rpc.js";
4
- export declare class ComponentSnapshot implements IEncodable {
5
- eid: EID;
6
- type: number;
7
- payload: Uint8Array;
8
- constructor(values?: Partial<ComponentSnapshot>);
9
- wireEncode(encoder: Encoder): void;
10
- static wireDecode(decoder: Decoder): ComponentSnapshot;
11
- }
12
- export declare class EncodedSnapshot {
13
- bytes: Uint8Array;
14
- eid: EID;
15
- type: number;
16
- constructor(bytes: Uint8Array, // contains an already-encoded ComponentSnapshot
17
- eid?: EID, type?: number);
18
- }
19
- export type RemovedComponent = [eid: EID, type: number];
20
- export declare class StateDiff implements IEncodable {
21
- toFrame: number;
22
- fromFrame: number;
23
- snapshots: EncodedSnapshot[];
24
- removed: RemovedComponent[];
25
- constructor(values?: Partial<StateDiff>);
26
- wireEncode(encoder: Encoder): void;
27
- static wireDecode(decoder: Decoder): StateDiff;
28
- }
29
- export declare class Server2Client implements IEncodable {
30
- diff: StateDiff | undefined;
31
- rpc: RPC[];
32
- constructor(values?: Partial<Server2Client>);
33
- wireEncode(encoder: Encoder): void;
34
- static wireDecode(decoder: Decoder): Server2Client;
35
- }
36
- export declare class Client2Server implements IEncodable {
37
- ackFrame: number;
38
- input: unknown | undefined;
39
- rpc: RPC[];
40
- constructor(values?: Partial<Client2Server>);
41
- wireEncode(encoder: Encoder): void;
42
- static wireDecode(decoder: Decoder): Client2Server;
43
- }
@@ -1,149 +0,0 @@
1
- import { cid_pack, cid_unpack } from "./cid.js";
2
- import { RPC } from "./rpc.js";
3
- const FIELD_DIFF = 1;
4
- const FIELD_RPC = 2;
5
- const FIELD_INPUT = 3;
6
- export class ComponentSnapshot {
7
- constructor(values) {
8
- this.eid = 0;
9
- this.type = 0;
10
- this.payload = new Uint8Array();
11
- if (values) {
12
- Object.assign(this, values);
13
- }
14
- }
15
- wireEncode(encoder) {
16
- encoder.write_u32(cid_pack(this.eid, this.type));
17
- encoder.write_buffer(this.payload);
18
- }
19
- static wireDecode(decoder) {
20
- const [eid, type] = cid_unpack(decoder.read_u32());
21
- return new ComponentSnapshot({
22
- eid,
23
- type,
24
- payload: decoder.read_bytes(),
25
- });
26
- }
27
- }
28
- export class EncodedSnapshot {
29
- constructor(bytes, // contains an already-encoded ComponentSnapshot
30
- eid = 0, type = 0) {
31
- this.bytes = bytes;
32
- this.eid = eid;
33
- this.type = type;
34
- }
35
- }
36
- export class StateDiff {
37
- constructor(values) {
38
- this.toFrame = 0;
39
- this.fromFrame = 0;
40
- this.snapshots = [];
41
- this.removed = [];
42
- if (values) {
43
- Object.assign(this, values);
44
- }
45
- }
46
- wireEncode(encoder) {
47
- encoder.write_u32(this.toFrame);
48
- encoder.write_u32(this.fromFrame);
49
- encoder.write_u32(this.snapshots.length);
50
- this.snapshots.forEach((snapshot) => encoder.write_buffer(snapshot.bytes));
51
- encoder.write_u32(this.removed.length);
52
- this.removed.forEach(([eid, type]) => encoder.write_u32(cid_pack(eid, type)));
53
- }
54
- static wireDecode(decoder) {
55
- const diff = new StateDiff({ toFrame: decoder.read_u32(), fromFrame: decoder.read_u32() });
56
- const snapshotCount = decoder.read_u32();
57
- for (let i = 0; i < snapshotCount; i++) {
58
- diff.snapshots.push(new EncodedSnapshot(decoder.read_bytes()));
59
- }
60
- const removedCount = decoder.read_u32();
61
- for (let i = 0; i < removedCount; i++) {
62
- diff.removed.push(cid_unpack(decoder.read_u32()));
63
- }
64
- return diff;
65
- }
66
- }
67
- export class Server2Client {
68
- constructor(values) {
69
- this.rpc = [];
70
- if (values) {
71
- Object.assign(this, values);
72
- }
73
- }
74
- wireEncode(encoder) {
75
- if (this.diff) {
76
- encoder.write_u8(FIELD_DIFF);
77
- encoder.write(this.diff);
78
- }
79
- if (this.rpc.length > 0) {
80
- encoder.write_u8(FIELD_RPC);
81
- encoder.write_u32(this.rpc.length);
82
- this.rpc.forEach((rpc) => encoder.write(rpc));
83
- }
84
- }
85
- static wireDecode(decoder) {
86
- const message = new Server2Client();
87
- while (!decoder.EOF) {
88
- const tag = decoder.read_u8();
89
- switch (tag) {
90
- case FIELD_DIFF:
91
- message.diff = decoder.read(StateDiff);
92
- break;
93
- case FIELD_RPC: {
94
- const count = decoder.read_u32();
95
- for (let i = 0; i < count; i++) {
96
- message.rpc.push(decoder.read(RPC));
97
- }
98
- break;
99
- }
100
- default:
101
- throw new Error(`Invalid Server2Client field tag ${tag}`);
102
- }
103
- }
104
- return message;
105
- }
106
- }
107
- export class Client2Server {
108
- constructor(values) {
109
- this.ackFrame = 0;
110
- this.rpc = [];
111
- if (values) {
112
- Object.assign(this, values);
113
- }
114
- }
115
- wireEncode(encoder) {
116
- encoder.write_u32(this.ackFrame);
117
- if (this.input !== undefined) {
118
- encoder.write_u8(FIELD_INPUT);
119
- encoder.write_any(this.input);
120
- }
121
- if (this.rpc.length > 0) {
122
- encoder.write_u8(FIELD_RPC);
123
- encoder.write_u32(this.rpc.length);
124
- this.rpc.forEach((rpc) => encoder.write(rpc));
125
- }
126
- }
127
- static wireDecode(decoder) {
128
- const message = new Client2Server({ ackFrame: decoder.read_u32() });
129
- while (!decoder.EOF) {
130
- const tag = decoder.read_u8();
131
- switch (tag) {
132
- case FIELD_INPUT:
133
- message.input = decoder.read_any();
134
- break;
135
- case FIELD_RPC: {
136
- const count = decoder.read_u32();
137
- for (let i = 0; i < count; i++) {
138
- message.rpc.push(decoder.read(RPC));
139
- }
140
- break;
141
- }
142
- default:
143
- throw new Error(`Invalid Client2Server field tag ${tag}`);
144
- }
145
- }
146
- return message;
147
- }
148
- }
149
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../vecs-protocol/src/messages.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { World, type ComponentClass, type EID, type WorldOptions } from "@vworlds/vecs";
2
- export interface RegisteredNetworkComponent {
3
- Class: ComponentClass;
4
- type: number;
5
- }
6
- export interface NetworkWorldOptions extends Omit<WorldOptions, "idPools"> {
7
- networkComponents?: readonly ComponentClass[];
8
- entityIdStart?: EID;
9
- localEntityIdStart?: EID;
10
- networkEntityReuseWaitFrames?: number;
11
- }
12
- export declare class NetworkWorld extends World {
13
- readonly localComponentMin: number;
14
- readonly networkComponents: readonly RegisteredNetworkComponent[];
15
- private readonly _networkComponentsByType;
16
- constructor(options?: NetworkWorldOptions);
17
- getNetworkComponent(type: number): RegisteredNetworkComponent | undefined;
18
- }
@@ -1,93 +0,0 @@
1
- import { World, } from "@vworlds/vecs";
2
- import { cid_pack, setLocalComponentMin } from "./cid.js";
3
- const DEFAULT_ENTITY_ID_START = 1000;
4
- const MODULE_ID_RANGE_SIZE = 100;
5
- let configuredLocalComponentMin;
6
- export class NetworkWorld extends World {
7
- constructor(options = {}) {
8
- const networkComponents = options.networkComponents ?? [];
9
- const localComponentMin = getLocalComponentMinFor(networkComponents.length);
10
- configureLocalComponentMin(localComponentMin);
11
- super({
12
- idPools: buildNetworkIdPools(localComponentMin, options),
13
- });
14
- this._networkComponentsByType = new Map();
15
- this.localComponentMin = localComponentMin;
16
- this.networkComponents = networkComponents.map((Class, index) => {
17
- const type = index + 1;
18
- cid_pack(0, type);
19
- this.component(Class, type);
20
- const registered = { Class, type };
21
- this._networkComponentsByType.set(type, registered);
22
- return registered;
23
- });
24
- }
25
- getNetworkComponent(type) {
26
- return this._networkComponentsByType.get(type);
27
- }
28
- }
29
- function configureLocalComponentMin(localComponentMin) {
30
- if (configuredLocalComponentMin === undefined) {
31
- configuredLocalComponentMin = localComponentMin;
32
- setLocalComponentMin(localComponentMin);
33
- return;
34
- }
35
- if (configuredLocalComponentMin !== localComponentMin) {
36
- throw new Error(`NetworkWorld localComponentMin ${localComponentMin} does not match existing value ${configuredLocalComponentMin}`);
37
- }
38
- setLocalComponentMin(localComponentMin);
39
- }
40
- function buildNetworkIdPools(localComponentMin, options) {
41
- const entityIdStart = options.entityIdStart ?? DEFAULT_ENTITY_ID_START;
42
- validateEntityStart("entityIdStart", entityIdStart);
43
- if (entityIdStart <= localComponentMin) {
44
- throw new Error("entityIdStart must leave room for local component ids");
45
- }
46
- const moduleIdStart = entityIdStart - MODULE_ID_RANGE_SIZE;
47
- if (moduleIdStart <= localComponentMin) {
48
- throw new Error("entityIdStart must leave room for local component and module ids");
49
- }
50
- const pools = [
51
- { name: "network", min: 1, max: localComponentMin - 1 },
52
- { name: "component", min: localComponentMin, max: moduleIdStart - 1 },
53
- { name: "module", min: moduleIdStart, max: entityIdStart - 1 },
54
- ];
55
- if (options.localEntityIdStart === undefined) {
56
- pools.push({ name: "entity", min: entityIdStart });
57
- return pools;
58
- }
59
- const localEntityIdStart = options.localEntityIdStart;
60
- validateEntityStart("localEntityIdStart", localEntityIdStart);
61
- if (localEntityIdStart <= entityIdStart) {
62
- throw new Error("localEntityIdStart must be greater than entityIdStart");
63
- }
64
- const networkEntityPool = {
65
- name: "network_entity",
66
- min: entityIdStart,
67
- max: localEntityIdStart - 1,
68
- };
69
- if (options.networkEntityReuseWaitFrames !== undefined) {
70
- networkEntityPool.reuseWaitFrames = options.networkEntityReuseWaitFrames;
71
- }
72
- pools.push(networkEntityPool, { name: "entity", min: localEntityIdStart });
73
- return pools;
74
- }
75
- function getLocalComponentMinFor(networkComponentCount) {
76
- return nextPowerOfTwo(Math.max(2, networkComponentCount + 1));
77
- }
78
- function nextPowerOfTwo(value) {
79
- if (!Number.isSafeInteger(value) || value <= 0) {
80
- throw new Error("Network component count must be a positive safe integer");
81
- }
82
- let power = 1;
83
- while (power < value) {
84
- power *= 2;
85
- }
86
- return power;
87
- }
88
- function validateEntityStart(name, value) {
89
- if (!Number.isSafeInteger(value) || value <= 0) {
90
- throw new Error(`${name} must be a positive safe integer`);
91
- }
92
- }
93
- //# sourceMappingURL=network_world.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network_world.js","sourceRoot":"","sources":["../../../../vecs-protocol/src/network_world.ts"],"names":[],"mappings":"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"}