@replicast/core 0.1.2 → 1.0.0-rc.10

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 (90) hide show
  1. package/dist/decorators/entity.d.ts +43 -0
  2. package/dist/decorators/entity.d.ts.map +1 -0
  3. package/dist/decorators/entity.js +75 -0
  4. package/dist/decorators/entity.js.map +1 -0
  5. package/dist/decorators/index.d.ts +2 -0
  6. package/dist/decorators/index.d.ts.map +1 -1
  7. package/dist/decorators/index.js +1 -0
  8. package/dist/decorators/index.js.map +1 -1
  9. package/dist/decorators/metadata.d.ts +9 -6
  10. package/dist/decorators/metadata.d.ts.map +1 -1
  11. package/dist/decorators/metadata.js +20 -13
  12. package/dist/decorators/metadata.js.map +1 -1
  13. package/dist/decorators/store.d.ts +5 -8
  14. package/dist/decorators/store.d.ts.map +1 -1
  15. package/dist/decorators/store.js +10 -11
  16. package/dist/decorators/store.js.map +1 -1
  17. package/dist/decorators/system.d.ts +7 -10
  18. package/dist/decorators/system.d.ts.map +1 -1
  19. package/dist/decorators/system.js +15 -23
  20. package/dist/decorators/system.js.map +1 -1
  21. package/dist/entity/base-entity.d.ts +19 -0
  22. package/dist/entity/base-entity.d.ts.map +1 -0
  23. package/dist/entity/base-entity.js +18 -0
  24. package/dist/entity/base-entity.js.map +1 -0
  25. package/dist/entity/fields.d.ts +21 -0
  26. package/dist/entity/fields.d.ts.map +1 -0
  27. package/dist/entity/fields.js +67 -0
  28. package/dist/entity/fields.js.map +1 -0
  29. package/dist/entity/registry.d.ts +53 -0
  30. package/dist/entity/registry.d.ts.map +1 -0
  31. package/dist/entity/registry.js +167 -0
  32. package/dist/entity/registry.js.map +1 -0
  33. package/dist/entity/replicator.d.ts +40 -0
  34. package/dist/entity/replicator.d.ts.map +1 -0
  35. package/dist/entity/replicator.js +82 -0
  36. package/dist/entity/replicator.js.map +1 -0
  37. package/dist/entity/types.d.ts +29 -0
  38. package/dist/entity/types.d.ts.map +1 -0
  39. package/dist/entity/types.js +4 -0
  40. package/dist/entity/types.js.map +1 -0
  41. package/dist/entity/visibility.d.ts +11 -0
  42. package/dist/entity/visibility.d.ts.map +1 -0
  43. package/dist/entity/visibility.js +10 -0
  44. package/dist/entity/visibility.js.map +1 -0
  45. package/dist/entity/world.d.ts +67 -0
  46. package/dist/entity/world.d.ts.map +1 -0
  47. package/dist/entity/world.js +183 -0
  48. package/dist/entity/world.js.map +1 -0
  49. package/dist/index.d.ts +18 -2
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +11 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/lifecycle/types.d.ts +2 -0
  54. package/dist/lifecycle/types.d.ts.map +1 -1
  55. package/dist/store/base-store.d.ts +24 -4
  56. package/dist/store/base-store.d.ts.map +1 -1
  57. package/dist/store/base-store.js +47 -20
  58. package/dist/store/base-store.js.map +1 -1
  59. package/dist/transport/app.d.ts +53 -0
  60. package/dist/transport/app.d.ts.map +1 -0
  61. package/dist/transport/app.js +53 -0
  62. package/dist/transport/app.js.map +1 -0
  63. package/dist/transport/client.d.ts +14 -1
  64. package/dist/transport/client.d.ts.map +1 -1
  65. package/dist/transport/client.js +58 -13
  66. package/dist/transport/client.js.map +1 -1
  67. package/dist/transport/codec.d.ts +7 -0
  68. package/dist/transport/codec.d.ts.map +1 -0
  69. package/dist/transport/codec.js +14 -0
  70. package/dist/transport/codec.js.map +1 -0
  71. package/dist/transport/context-browser.d.ts +6 -0
  72. package/dist/transport/context-browser.d.ts.map +1 -0
  73. package/dist/transport/context-browser.js +11 -0
  74. package/dist/transport/context-browser.js.map +1 -0
  75. package/dist/transport/context.d.ts +5 -0
  76. package/dist/transport/context.d.ts.map +1 -0
  77. package/dist/transport/context.js +9 -0
  78. package/dist/transport/context.js.map +1 -0
  79. package/dist/transport/protocol.d.ts +19 -1
  80. package/dist/transport/protocol.d.ts.map +1 -1
  81. package/dist/transport/protocol.js.map +1 -1
  82. package/dist/transport/server.d.ts +24 -1
  83. package/dist/transport/server.d.ts.map +1 -1
  84. package/dist/transport/server.js +188 -25
  85. package/dist/transport/server.js.map +1 -1
  86. package/dist/transport/ws-browser.d.ts +1 -1
  87. package/dist/transport/ws-browser.d.ts.map +1 -1
  88. package/dist/transport/ws-browser.js +1 -0
  89. package/dist/transport/ws-browser.js.map +1 -1
  90. package/package.json +10 -4
@@ -1,11 +1,30 @@
1
1
  import { WebSocketServer, WebSocket } from 'ws';
2
2
  import { getMethodRoles } from '../decorators/metadata.js';
3
+ import { contextStorage } from './context.js';
4
+ import { EntityWorld } from '../entity/world.js';
5
+ import { jsonCodec, msgpackCodec } from './codec.js';
3
6
  const AUTH_TIMEOUT_MS = 10_000;
4
7
  const KEEPALIVE_INTERVAL_MS = 30_000;
5
8
  const MAX_CONCURRENT_RPC = 50;
9
+ const REPLICATION_HZ = 20;
10
+ const MAX_RPC_PER_SECOND = 30;
11
+ const MAX_ARGS_BYTES = 16_384;
12
+ // Coarse backstop against giant raw frames, independent of shape or content: `maxArgsBytes` below
13
+ // only measures the encoded `args` of a decoded `rpc` message, so a frame has to be fully received
14
+ // and parsed before that check ever runs. This cap makes `ws` reject an oversized frame outright
15
+ // (closing the connection) before it is even buffered, regardless of message type — including
16
+ // non-rpc or malformed traffic maxArgsBytes never sees. Kept deliberately far above maxArgsBytes'
17
+ // default (16KB) so it only ever fires on frames no legitimate client should send.
18
+ const MAX_MESSAGE_BYTES = 1_000_000;
6
19
  export function createRPCServer(options) {
7
- const { stores, systems, lifecycle, port, keepaliveInterval = KEEPALIVE_INTERVAL_MS, maxConcurrentRpc = MAX_CONCURRENT_RPC, } = options;
8
- const wss = new WebSocketServer({ port });
20
+ const { stores, systems, lifecycle, port, keepaliveInterval = KEEPALIVE_INTERVAL_MS, maxConcurrentRpc = MAX_CONCURRENT_RPC, maxRpcPerSecond = MAX_RPC_PER_SECOND, maxArgsBytes = MAX_ARGS_BYTES, encoding = 'json', tick, entities = [], replication, } = options;
21
+ const codec = encoding === 'msgpack' ? msgpackCodec : jsonCodec;
22
+ const wss = new WebSocketServer({ port, maxPayload: MAX_MESSAGE_BYTES });
23
+ /** Size, in bytes, of `value` encoded with the connection's own codec (json or msgpack). */
24
+ function encodedByteLength(value) {
25
+ const encoded = codec.encode(value);
26
+ return typeof encoded === 'string' ? Buffer.byteLength(encoded, 'utf8') : encoded.byteLength;
27
+ }
9
28
  let actualPort = port;
10
29
  let resolveReady;
11
30
  const ready = new Promise(resolve => { resolveReady = resolve; });
@@ -25,18 +44,88 @@ export function createRPCServer(options) {
25
44
  }
26
45
  }, keepaliveInterval);
27
46
  const connections = new Map();
47
+ /**
48
+ * Per-player @Server call rate limit (system and entity-scoped alike), keyed by playerId rather
49
+ * than by connection — a fresh reconnect must not hand out a fresh full bucket, or the limit is
50
+ * trivially bypassed by disconnecting and reconnecting. Never removed on disconnect, deliberately:
51
+ * removing it would restore the bypass for anyone who reconnects. Same lifetime tradeoff BaseStore
52
+ * already makes for per-player owner data (also never cleared on disconnect) — bounded by how many
53
+ * distinct playerIds the app's own auth hands out, not something replicast can scope down further.
54
+ */
55
+ const rpcBuckets = new Map();
56
+ function takeRpcToken(playerId) {
57
+ let bucket = rpcBuckets.get(playerId);
58
+ if (!bucket) {
59
+ bucket = { tokens: maxRpcPerSecond, lastRefill: Date.now() };
60
+ rpcBuckets.set(playerId, bucket);
61
+ }
62
+ const now = Date.now();
63
+ const elapsedSec = (now - bucket.lastRefill) / 1000;
64
+ if (elapsedSec > 0) {
65
+ bucket.tokens = Math.min(maxRpcPerSecond, bucket.tokens + elapsedSec * maxRpcPerSecond);
66
+ bucket.lastRefill = now;
67
+ }
68
+ if (bucket.tokens < 1)
69
+ return false;
70
+ bucket.tokens -= 1;
71
+ return true;
72
+ }
28
73
  const methods = new Map();
29
- for (const system of systems) {
74
+ for (const system of Object.values(systems)) {
30
75
  const proto = Object.getPrototypeOf(system);
31
- const className = proto.constructor.name;
76
+ // Prefer the name stamped by @replicast/vite-plugin; constructor.name is unreliable after bundling/minification.
77
+ const className = proto.constructor.__replicastName ?? proto.constructor.name;
32
78
  const roles = getMethodRoles(proto);
33
79
  for (const [methodName, role] of Object.entries(roles)) {
34
80
  if (role === 'server') {
35
81
  const key = `${className}.${methodName}`;
36
- methods.set(key, (ctx, ...args) => {
37
- ;
38
- system.__rpcCtx = ctx;
39
- return system[methodName](ctx, ...args);
82
+ methods.set(key, (ctx, ...args) => contextStorage.run(ctx, () => system[methodName](...args)));
83
+ }
84
+ }
85
+ }
86
+ function pushToClient(targetId, method, args) {
87
+ const target = connections.get(targetId);
88
+ if (target?.readyState === WebSocket.OPEN) {
89
+ target.send(codec.encode({ type: 'rpc', method, args }));
90
+ }
91
+ }
92
+ const world = new EntityWorld({
93
+ types: entities,
94
+ transport: {
95
+ sendRpc(playerId, id, method, args) {
96
+ const target = connections.get(playerId);
97
+ if (target?.readyState === WebSocket.OPEN) {
98
+ target.send(codec.encode({ type: 'entity_rpc', id, method, args }));
99
+ }
100
+ },
101
+ sendSync(playerId, sync) {
102
+ const target = connections.get(playerId);
103
+ if (target?.readyState === WebSocket.OPEN) {
104
+ target.send(codec.encode({ type: 'entity_sync', ...sync }));
105
+ }
106
+ },
107
+ players: () => [...connections.keys()],
108
+ },
109
+ });
110
+ // Runtime dispatch: on the server, calling a @Client / @Multicast method sends it to clients.
111
+ // This makes the server independent of the Vite transform (plain tsx/node works), and lets
112
+ // tick loops and lifecycle hooks call them like any other method.
113
+ for (const system of Object.values(systems)) {
114
+ const proto = Object.getPrototypeOf(system);
115
+ const className = proto.constructor.__replicastName ?? proto.constructor.name;
116
+ for (const [methodName, role] of Object.entries(getMethodRoles(proto))) {
117
+ const key = `${className}.${methodName}`;
118
+ if (role === 'client') {
119
+ Object.defineProperty(system, methodName, {
120
+ value: (targetId, ...args) => { pushToClient(targetId, key, args); },
121
+ configurable: true, writable: true,
122
+ });
123
+ }
124
+ else if (role === 'multicast') {
125
+ Object.defineProperty(system, methodName, {
126
+ value: (...args) => { for (const pid of connections.keys())
127
+ pushToClient(pid, key, args); },
128
+ configurable: true, writable: true,
40
129
  });
41
130
  }
42
131
  }
@@ -45,7 +134,7 @@ export function createRPCServer(options) {
45
134
  instance._onReplication = (batch) => {
46
135
  if (batch.globalSeq > 0) {
47
136
  const msg = { type: 'state_patch', store: name, scope: 'global', seq: batch.globalSeq, patch: batch.global };
48
- const raw = JSON.stringify(msg);
137
+ const raw = codec.encode(msg);
49
138
  for (const ws of connections.values()) {
50
139
  if (ws.readyState === WebSocket.OPEN)
51
140
  ws.send(raw);
@@ -54,7 +143,7 @@ export function createRPCServer(options) {
54
143
  for (const [playerId, { seq, patch }] of batch.ownerByPlayer) {
55
144
  const ws = connections.get(playerId);
56
145
  if (ws?.readyState === WebSocket.OPEN) {
57
- ws.send(JSON.stringify({ type: 'state_patch', store: name, scope: 'owner', seq, patch }));
146
+ ws.send(codec.encode({ type: 'state_patch', store: name, scope: 'owner', seq, patch }));
58
147
  }
59
148
  }
60
149
  };
@@ -64,6 +153,9 @@ export function createRPCServer(options) {
64
153
  ws._isAlive = true;
65
154
  ws.on('pong', () => { ws._isAlive = true; });
66
155
  ws.on('message', () => { ws._isAlive = true; });
156
+ // `ws` emits 'error' (e.g. maxPayload exceeded) and closes the socket itself; without a listener
157
+ // here that error event is unhandled and crashes the process — swallow it, 'close' does the cleanup.
158
+ ws.on('error', () => { });
67
159
  const authTimeout = setTimeout(() => ws.close(), AUTH_TIMEOUT_MS);
68
160
  ws.once('message', async (raw) => {
69
161
  // Fix 1: declare playerId in outer scope so catch can clean up
@@ -96,20 +188,16 @@ export function createRPCServer(options) {
96
188
  // Use a const-typed alias after the null-guard for use in closures
97
189
  const pid = playerId;
98
190
  connections.set(pid, ws);
99
- ws.send(JSON.stringify({ type: 'connected', playerId: pid, storeCount: stores.length }));
191
+ ws.send(JSON.stringify({ type: 'connected', playerId: pid, storeCount: stores.length, encoding }));
100
192
  for (const { name, instance } of stores) {
101
193
  const snapshot = instance.getSnapshot(pid);
102
- ws.send(JSON.stringify({ type: 'state_init', store: name, snapshot }));
194
+ ws.send(codec.encode({ type: 'state_init', store: name, snapshot }));
103
195
  }
104
196
  const ctx = {
105
197
  playerId: pid,
106
198
  get players() { return [...connections.keys()]; },
107
- sendToClient(targetId, method, ...args) {
108
- const target = connections.get(targetId);
109
- if (target?.readyState === WebSocket.OPEN) {
110
- target.send(JSON.stringify({ type: 'rpc', method, args }));
111
- }
112
- },
199
+ get serverTime() { return Date.now(); },
200
+ sendToClient(targetId, method, ...args) { pushToClient(targetId, method, args); },
113
201
  };
114
202
  // Fix 2: register RPC and close handlers BEFORE awaiting onPlayerJoined
115
203
  let inFlight = 0;
@@ -117,33 +205,44 @@ export function createRPCServer(options) {
117
205
  ws.on('message', async (raw) => {
118
206
  let msg;
119
207
  try {
120
- msg = JSON.parse(raw.toString());
208
+ msg = codec.decode(raw);
121
209
  }
122
210
  catch {
123
211
  return;
124
212
  }
125
213
  if (msg.type === 'ping') {
126
- ws.send(JSON.stringify({ type: 'pong', id: msg.id }));
214
+ ws.send(codec.encode({ type: 'pong', id: msg.id }));
127
215
  return;
128
216
  }
129
217
  if (msg.type !== 'rpc')
130
218
  return;
219
+ if (!takeRpcToken(pid)) {
220
+ ws.send(codec.encode({ type: 'rpc_result', id: msg.id, error: 'rate_limited' }));
221
+ return;
222
+ }
223
+ if (encodedByteLength(msg.args) > maxArgsBytes) {
224
+ ws.send(codec.encode({ type: 'rpc_result', id: msg.id, error: 'args_too_large' }));
225
+ return;
226
+ }
131
227
  if (inFlight >= maxConcurrentRpc) {
132
- ws.send(JSON.stringify({ type: 'rpc_result', id: msg.id, error: 'Too many concurrent requests' }));
228
+ ws.send(codec.encode({ type: 'rpc_result', id: msg.id, error: 'Too many concurrent requests' }));
133
229
  return;
134
230
  }
135
- const handler = methods.get(msg.method);
231
+ // Entity-scoped calls carry the target entity id; the world authorises the caller.
232
+ const handler = msg.entityId !== undefined
233
+ ? (c, ...args) => contextStorage.run(c, () => world.invoke(pid, msg.entityId, msg.method, args))
234
+ : methods.get(msg.method);
136
235
  if (!handler) {
137
- ws.send(JSON.stringify({ type: 'rpc_result', id: msg.id, error: `Unknown method: ${msg.method}` }));
236
+ ws.send(codec.encode({ type: 'rpc_result', id: msg.id, error: `Unknown method: ${msg.method}` }));
138
237
  return;
139
238
  }
140
239
  inFlight++;
141
240
  try {
142
241
  const result = await handler(ctx, ...msg.args);
143
- ws.send(JSON.stringify({ type: 'rpc_result', id: msg.id, result }));
242
+ ws.send(codec.encode({ type: 'rpc_result', id: msg.id, result }));
144
243
  }
145
244
  catch (err) {
146
- ws.send(JSON.stringify({
245
+ ws.send(codec.encode({
147
246
  type: 'rpc_result',
148
247
  id: msg.id,
149
248
  error: err instanceof Error ? err.message : String(err),
@@ -159,10 +258,15 @@ export function createRPCServer(options) {
159
258
  // Fix 3: guard against reconnect overwriting the map entry
160
259
  if (connections.get(pid) === ws)
161
260
  connections.delete(pid);
261
+ world.dropViewer(pid);
162
262
  await lifecycle.onPlayerLeft(ctx);
163
263
  });
164
264
  await lifecycle.onPlayerJoined(ctx);
165
265
  joined = true;
266
+ // Send the initial entity set now rather than waiting for the next replication tick,
267
+ // so entities spawned in onPlayerJoined arrive with the connection.
268
+ if (entities.length > 0)
269
+ world.flush();
166
270
  }
167
271
  catch (err) {
168
272
  // Fix 1: on any error (e.g. onPlayerJoined throw), clean up connection and close
@@ -172,15 +276,74 @@ export function createRPCServer(options) {
172
276
  }
173
277
  });
174
278
  });
279
+ let tickTimer;
280
+ if (tick) {
281
+ const dt = 1 / tick.hz;
282
+ const tickCtx = {
283
+ playerId: '',
284
+ get players() { return [...connections.keys()]; },
285
+ get serverTime() { return Date.now(); },
286
+ sendToClient(targetId, method, ...args) { pushToClient(targetId, method, args); },
287
+ };
288
+ let running = false;
289
+ tickTimer = setInterval(() => {
290
+ if (running)
291
+ return; // skip if the previous async tick hasn't finished
292
+ running = true;
293
+ Promise.resolve()
294
+ // Entity @ServerTick methods run first, so onTick sees the stepped world.
295
+ .then(() => contextStorage.run(tickCtx, () => { world.tick(dt); return tick.onTick(dt); }))
296
+ .catch(err => { console.error('[replicast] tick error:', err); })
297
+ .finally(() => { running = false; });
298
+ }, 1000 / tick.hz);
299
+ }
300
+ // Replication runs on its own clock so snapshots can be slower than the sim (e.g. 30/15).
301
+ // Entities and stores share this one cadence — BaseStore no longer self-schedules via
302
+ // process.nextTick() (see BaseStore.flush()); the server drives every registered store's
303
+ // flush() here, once per tick, right alongside the entity world's flush().
304
+ let replicationTimer;
305
+ if (entities.length > 0 || stores.length > 0) {
306
+ const replicationCtx = {
307
+ playerId: '',
308
+ get players() { return [...connections.keys()]; },
309
+ get serverTime() { return Date.now(); },
310
+ sendToClient(targetId, method, ...args) { pushToClient(targetId, method, args); },
311
+ };
312
+ replicationTimer = setInterval(() => {
313
+ contextStorage.run(replicationCtx, () => {
314
+ if (entities.length > 0) {
315
+ try {
316
+ world.flush();
317
+ }
318
+ catch (err) {
319
+ console.error('[replicast] replication flush error:', err);
320
+ }
321
+ }
322
+ for (const { instance } of stores) {
323
+ try {
324
+ instance.flush();
325
+ }
326
+ catch (err) {
327
+ console.error('[replicast] store replication flush error:', err);
328
+ }
329
+ }
330
+ });
331
+ }, 1000 / (replication?.hz ?? REPLICATION_HZ));
332
+ }
175
333
  let closed = false;
176
334
  return {
177
335
  ready,
336
+ world,
178
337
  get port() { return actualPort; },
179
338
  close: () => {
180
339
  if (closed)
181
340
  return Promise.resolve();
182
341
  closed = true;
183
342
  clearInterval(keepaliveTimer);
343
+ if (tickTimer)
344
+ clearInterval(tickTimer);
345
+ if (replicationTimer)
346
+ clearInterval(replicationTimer);
184
347
  // Fix 4: null out store replication callbacks
185
348
  for (const { instance } of stores) {
186
349
  instance._onReplication = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/transport/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/transport/server.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export default class BrowserWebSocket {
10
10
  private _emit;
11
11
  on(event: string, handler: (...args: unknown[]) => void): this;
12
12
  once(event: string, handler: (...args: unknown[]) => void): this;
13
- send(data: string): void;
13
+ send(data: string | Uint8Array): void;
14
14
  close(): void;
15
15
  }
16
16
  //# sourceMappingURL=ws-browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-browser.d.ts","sourceRoot":"","sources":["../../src/transport/ws-browser.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,CAAC,CAAS;IACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAG,CAAC,CAAS;IAEnC,QAAQ,CAAC,IAAI,EAAG,CAAC,CAAS;IAC1B,QAAQ,CAAC,MAAM,EAAG,CAAC,CAAS;IAE5B,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,SAAS,CAA2D;IAE5E,IAAI,UAAU,WAEb;gBAEW,GAAG,EAAE,MAAM;IAQvB,OAAO,CAAC,KAAK;IAOb,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAM9D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAYhE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxB,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"ws-browser.d.ts","sourceRoot":"","sources":["../../src/transport/ws-browser.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,CAAC,CAAS;IACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAG,CAAC,CAAS;IAEnC,QAAQ,CAAC,IAAI,EAAG,CAAC,CAAS;IAC1B,QAAQ,CAAC,MAAM,EAAG,CAAC,CAAS;IAE5B,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,SAAS,CAA2D;IAE5E,IAAI,UAAU,WAEb;gBAEW,GAAG,EAAE,MAAM;IASvB,OAAO,CAAC,KAAK;IAOb,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAM9D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAYhE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAIrC,KAAK,IAAI,IAAI;CAGd"}
@@ -13,6 +13,7 @@ export default class BrowserWebSocket {
13
13
  }
14
14
  constructor(url) {
15
15
  this._ws = new WebSocket(url);
16
+ this._ws.binaryType = 'arraybuffer';
16
17
  this._ws.addEventListener('open', () => this._emit('open'));
17
18
  this._ws.addEventListener('message', (e) => this._emit('message', e.data));
18
19
  this._ws.addEventListener('close', () => this._emit('close'));
@@ -1 +1 @@
1
- {"version":3,"file":"ws-browser.js","sourceRoot":"","sources":["../../src/transport/ws-browser.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,2DAA2D;AAC3D,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,MAAM,CAAU,IAAI,GAAG,CAAU,CAAA;IACjC,MAAM,CAAU,MAAM,GAAG,CAAU,CAAA;IAE1B,IAAI,GAAG,CAAU,CAAA;IACjB,MAAM,GAAG,CAAU,CAAA;IAEpB,GAAG,CAAW;IACd,SAAS,GAAkD,IAAI,GAAG,EAAE,CAAA;IAE5E,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAA;IAC5B,CAAC;IAED,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3D,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,GAAG,IAAe;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,OAAqC;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,OAAqC;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBACjC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC;YACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;QAClB,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC"}
1
+ {"version":3,"file":"ws-browser.js","sourceRoot":"","sources":["../../src/transport/ws-browser.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,2DAA2D;AAC3D,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,MAAM,CAAU,IAAI,GAAG,CAAU,CAAA;IACjC,MAAM,CAAU,MAAM,GAAG,CAAU,CAAA;IAE1B,IAAI,GAAG,CAAU,CAAA;IACjB,MAAM,GAAG,CAAU,CAAA;IAEpB,GAAG,CAAW;IACd,SAAS,GAAkD,IAAI,GAAG,EAAE,CAAA;IAE5E,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAA;IAC5B,CAAC;IAED,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,aAAa,CAAA;QACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3D,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,GAAG,IAAe;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,OAAqC;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,OAAqC;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBACjC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC;YACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;QAClB,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,CAAC,IAAyB;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC"}
package/package.json CHANGED
@@ -1,21 +1,27 @@
1
1
  {
2
2
  "name": "@replicast/core",
3
- "version": "0.1.2",
3
+ "version": "1.0.0-rc.10",
4
4
  "description": "TypeScript RPC and state-replication framework for multiplayer games",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
- "files": ["dist"],
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
10
15
  "browser": {
11
- "./dist/transport/ws-node.js": "./dist/transport/ws-browser.js"
16
+ "./dist/transport/ws-node.js": "./dist/transport/ws-browser.js",
17
+ "./dist/transport/context.js": "./dist/transport/context-browser.js"
12
18
  },
13
19
  "scripts": {
14
20
  "build": "tsc -p tsconfig.build.json",
15
21
  "test": "vitest run"
16
22
  },
17
23
  "dependencies": {
18
- "reflect-metadata": "^0.2.0",
24
+ "msgpackr": "^2.0.4",
19
25
  "uuid": "^10.0.0",
20
26
  "ws": "^8.18.0"
21
27
  },