quake2ts 0.0.566 → 0.0.568

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quake2ts",
3
- "version": "0.0.566",
3
+ "version": "0.0.568",
4
4
  "description": "Quake II re-release port to TypeScript with WebGL renderer - A complete game engine with physics, networking, and BSP rendering",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -62,11 +62,14 @@ __export(index_exports, {
62
62
  createMockImageData: () => createMockImageData,
63
63
  createMockIndexedDB: () => createMockIndexedDB,
64
64
  createMockLocalStorage: () => createMockLocalStorage,
65
+ createMockNetDriver: () => createMockNetDriver,
65
66
  createMockNetworkAddress: () => createMockNetworkAddress,
66
67
  createMockPerformance: () => createMockPerformance,
67
68
  createMockRAF: () => createMockRAF,
69
+ createMockRConClient: () => createMockRConClient,
68
70
  createMockServer: () => createMockServer,
69
71
  createMockServerClient: () => createMockServerClient,
72
+ createMockServerConsole: () => createMockServerConsole,
70
73
  createMockServerState: () => createMockServerState,
71
74
  createMockServerStatic: () => createMockServerStatic,
72
75
  createMockSessionStorage: () => createMockSessionStorage,
@@ -104,6 +107,7 @@ __export(index_exports, {
104
107
  simulatePlayerInput: () => simulatePlayerInput,
105
108
  simulatePlayerJoin: () => simulatePlayerJoin,
106
109
  simulatePlayerLeave: () => simulatePlayerLeave,
110
+ simulateServerCommand: () => simulateServerCommand,
107
111
  simulateServerTick: () => simulateServerTick,
108
112
  simulateSnapshotDelivery: () => simulateSnapshotDelivery,
109
113
  stairTrace: () => import_shared3.stairTrace,
@@ -604,6 +608,18 @@ function createMockTransport(address = "127.0.0.1", port = 27910, overrides) {
604
608
  Object.assign(transport, overrides);
605
609
  return transport;
606
610
  }
611
+ function createMockNetDriver(overrides) {
612
+ return {
613
+ connect: import_vitest3.vi.fn().mockResolvedValue(void 0),
614
+ disconnect: import_vitest3.vi.fn(),
615
+ send: import_vitest3.vi.fn(),
616
+ onMessage: import_vitest3.vi.fn(),
617
+ onClose: import_vitest3.vi.fn(),
618
+ onError: import_vitest3.vi.fn(),
619
+ isConnected: import_vitest3.vi.fn().mockReturnValue(true),
620
+ ...overrides
621
+ };
622
+ }
607
623
 
608
624
  // src/server/mocks/state.ts
609
625
  var import_server = require("@quake2ts/server");
@@ -638,15 +654,7 @@ function createMockServerStatic(maxClients = 16, overrides) {
638
654
  };
639
655
  }
640
656
  function createMockServerClient(clientNum, overrides) {
641
- const mockNet = {
642
- connect: import_vitest4.vi.fn(),
643
- disconnect: import_vitest4.vi.fn(),
644
- send: import_vitest4.vi.fn(),
645
- onMessage: import_vitest4.vi.fn(),
646
- onClose: import_vitest4.vi.fn(),
647
- onError: import_vitest4.vi.fn(),
648
- isConnected: import_vitest4.vi.fn().mockReturnValue(true)
649
- };
657
+ const mockNet = createMockNetDriver();
650
658
  return {
651
659
  index: clientNum,
652
660
  state: import_server.ClientState.Connected,
@@ -773,6 +781,52 @@ async function simulateHandshake(client, server) {
773
781
  return true;
774
782
  }
775
783
 
784
+ // src/server/mocks/commands.ts
785
+ var import_vitest5 = require("vitest");
786
+ function createMockServerConsole(overrides) {
787
+ const outputBuffer = [];
788
+ const commandBuffer = [];
789
+ return {
790
+ exec: import_vitest5.vi.fn((cmd) => {
791
+ commandBuffer.push(cmd);
792
+ return `Executed: ${cmd}`;
793
+ }),
794
+ print: import_vitest5.vi.fn((text) => {
795
+ outputBuffer.push(text);
796
+ }),
797
+ broadcast: import_vitest5.vi.fn((text) => {
798
+ outputBuffer.push(`Broadcast: ${text}`);
799
+ }),
800
+ commandBuffer,
801
+ outputBuffer,
802
+ ...overrides
803
+ };
804
+ }
805
+ function createMockRConClient(password = "") {
806
+ return {
807
+ connected: false,
808
+ lastCommand: "",
809
+ lastResponse: "",
810
+ connect: import_vitest5.vi.fn(async (address, port, pwd) => {
811
+ return pwd === password;
812
+ }),
813
+ sendCommand: import_vitest5.vi.fn(async (cmd) => {
814
+ return `RCON Response for: ${cmd}`;
815
+ }),
816
+ disconnect: import_vitest5.vi.fn()
817
+ };
818
+ }
819
+ function simulateServerCommand(server, command) {
820
+ if (server.executeBuffer) {
821
+ server.executeBuffer(command);
822
+ return "Executed";
823
+ }
824
+ if (server.exec) {
825
+ return server.exec(command);
826
+ }
827
+ return "Unknown command handler";
828
+ }
829
+
776
830
  // src/server/helpers/multiplayer.ts
777
831
  var import_server3 = require("@quake2ts/server");
778
832
  function createMultiplayerTestScenario(numPlayers = 2) {
@@ -1402,10 +1456,10 @@ function createMockImage(width, height, src) {
1402
1456
  }
1403
1457
 
1404
1458
  // src/engine/mocks/webgpu.ts
1405
- var import_vitest5 = require("vitest");
1459
+ var import_vitest6 = require("vitest");
1406
1460
  function createMockGPUAdapter() {
1407
1461
  return {
1408
- requestDevice: import_vitest5.vi.fn().mockResolvedValue(createMockGPUDevice()),
1462
+ requestDevice: import_vitest6.vi.fn().mockResolvedValue(createMockGPUDevice()),
1409
1463
  features: /* @__PURE__ */ new Set(),
1410
1464
  limits: {}
1411
1465
  };
@@ -1415,40 +1469,40 @@ function createMockGPUDevice() {
1415
1469
  features: /* @__PURE__ */ new Set(),
1416
1470
  limits: {},
1417
1471
  queue: {
1418
- submit: import_vitest5.vi.fn(),
1419
- writeBuffer: import_vitest5.vi.fn(),
1420
- writeTexture: import_vitest5.vi.fn(),
1421
- copyExternalImageToTexture: import_vitest5.vi.fn()
1422
- },
1423
- createCommandEncoder: import_vitest5.vi.fn().mockReturnValue({
1424
- beginRenderPass: import_vitest5.vi.fn().mockReturnValue({
1425
- setPipeline: import_vitest5.vi.fn(),
1426
- draw: import_vitest5.vi.fn(),
1427
- end: import_vitest5.vi.fn()
1472
+ submit: import_vitest6.vi.fn(),
1473
+ writeBuffer: import_vitest6.vi.fn(),
1474
+ writeTexture: import_vitest6.vi.fn(),
1475
+ copyExternalImageToTexture: import_vitest6.vi.fn()
1476
+ },
1477
+ createCommandEncoder: import_vitest6.vi.fn().mockReturnValue({
1478
+ beginRenderPass: import_vitest6.vi.fn().mockReturnValue({
1479
+ setPipeline: import_vitest6.vi.fn(),
1480
+ draw: import_vitest6.vi.fn(),
1481
+ end: import_vitest6.vi.fn()
1428
1482
  }),
1429
- finish: import_vitest5.vi.fn()
1483
+ finish: import_vitest6.vi.fn()
1430
1484
  }),
1431
- createRenderPipeline: import_vitest5.vi.fn(),
1432
- createShaderModule: import_vitest5.vi.fn(),
1433
- createBindGroup: import_vitest5.vi.fn(),
1434
- createBindGroupLayout: import_vitest5.vi.fn(),
1435
- createBuffer: import_vitest5.vi.fn(),
1436
- createTexture: import_vitest5.vi.fn(),
1437
- createSampler: import_vitest5.vi.fn()
1485
+ createRenderPipeline: import_vitest6.vi.fn(),
1486
+ createShaderModule: import_vitest6.vi.fn(),
1487
+ createBindGroup: import_vitest6.vi.fn(),
1488
+ createBindGroupLayout: import_vitest6.vi.fn(),
1489
+ createBuffer: import_vitest6.vi.fn(),
1490
+ createTexture: import_vitest6.vi.fn(),
1491
+ createSampler: import_vitest6.vi.fn()
1438
1492
  };
1439
1493
  }
1440
1494
  function createMockGPUCanvasContext() {
1441
1495
  return {
1442
- configure: import_vitest5.vi.fn(),
1443
- unconfigure: import_vitest5.vi.fn(),
1444
- getCurrentTexture: import_vitest5.vi.fn()
1496
+ configure: import_vitest6.vi.fn(),
1497
+ unconfigure: import_vitest6.vi.fn(),
1498
+ getCurrentTexture: import_vitest6.vi.fn()
1445
1499
  };
1446
1500
  }
1447
1501
  function setupWebGPUMocks() {
1448
1502
  const mockAdapter = createMockGPUAdapter();
1449
1503
  const mockGpu = {
1450
- requestAdapter: import_vitest5.vi.fn().mockResolvedValue(mockAdapter),
1451
- getPreferredCanvasFormat: import_vitest5.vi.fn().mockReturnValue("bgra8unorm")
1504
+ requestAdapter: import_vitest6.vi.fn().mockResolvedValue(mockAdapter),
1505
+ getPreferredCanvasFormat: import_vitest6.vi.fn().mockReturnValue("bgra8unorm")
1452
1506
  };
1453
1507
  Object.defineProperty(global.navigator, "gpu", {
1454
1508
  value: mockGpu,
@@ -2086,11 +2140,14 @@ function createVisualTestScenario(page, sceneName) {
2086
2140
  createMockImageData,
2087
2141
  createMockIndexedDB,
2088
2142
  createMockLocalStorage,
2143
+ createMockNetDriver,
2089
2144
  createMockNetworkAddress,
2090
2145
  createMockPerformance,
2091
2146
  createMockRAF,
2147
+ createMockRConClient,
2092
2148
  createMockServer,
2093
2149
  createMockServerClient,
2150
+ createMockServerConsole,
2094
2151
  createMockServerState,
2095
2152
  createMockServerStatic,
2096
2153
  createMockSessionStorage,
@@ -2128,6 +2185,7 @@ function createVisualTestScenario(page, sceneName) {
2128
2185
  simulatePlayerInput,
2129
2186
  simulatePlayerJoin,
2130
2187
  simulatePlayerLeave,
2188
+ simulateServerCommand,
2131
2189
  simulateServerTick,
2132
2190
  simulateSnapshotDelivery,
2133
2191
  stairTrace,