quake2ts 0.0.565 → 0.0.567

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.
@@ -339,6 +339,47 @@ declare function createMockHandshake(stage?: HandshakeStage): Handshake;
339
339
  */
340
340
  declare function simulateHandshake(client: Client, server: any): Promise<boolean>;
341
341
 
342
+ /**
343
+ * Interface for a mocked server console that can execute commands.
344
+ * Reference: quake2/server/sv_main.c (SV_ExecuteUserCommand)
345
+ */
346
+ interface MockServerConsole {
347
+ exec(cmd: string): string;
348
+ print(text: string): void;
349
+ broadcast(text: string): void;
350
+ commandBuffer: string[];
351
+ outputBuffer: string[];
352
+ }
353
+ /**
354
+ * Creates a mock server console.
355
+ * @param overrides Optional overrides for the mock console.
356
+ */
357
+ declare function createMockServerConsole(overrides?: Partial<MockServerConsole>): MockServerConsole;
358
+ /**
359
+ * Interface for a mocked RCON client.
360
+ * Reference: quake2/server/sv_user.c (SV_ExecuteUserCommand for RCON handling)
361
+ */
362
+ interface MockRConClient {
363
+ connect(address: string, port: number, password?: string): Promise<boolean>;
364
+ sendCommand(cmd: string): Promise<string>;
365
+ disconnect(): void;
366
+ connected: boolean;
367
+ lastCommand: string;
368
+ lastResponse: string;
369
+ }
370
+ /**
371
+ * Creates a mock RCON client.
372
+ * @param password Optional password for the client to use.
373
+ */
374
+ declare function createMockRConClient(password?: string): MockRConClient;
375
+ /**
376
+ * Simulates a command execution on the server.
377
+ * @param server The mock server instance (assumed to have some command handling capability).
378
+ * @param command The command string to execute.
379
+ * @returns The output of the command.
380
+ */
381
+ declare function simulateServerCommand(server: any, command: string): string;
382
+
342
383
  type MockServerContext = Server & {
343
384
  clients: (Client | null)[];
344
385
  entities?: Entity[];
@@ -459,6 +500,51 @@ declare function createMockImageData(width: number, height: number, fillColor?:
459
500
  */
460
501
  declare function createMockImage(width?: number, height?: number, src?: string): HTMLImageElement;
461
502
 
503
+ declare function createMockGPUAdapter(): Partial<GPUAdapter>;
504
+ declare function createMockGPUDevice(): Partial<GPUDevice>;
505
+ declare function createMockGPUCanvasContext(): Partial<GPUCanvasContext>;
506
+ declare function setupWebGPUMocks(): void;
507
+
508
+ interface MockRAF {
509
+ tick(timestamp?: number): void;
510
+ advance(deltaMs?: number): void;
511
+ getCallbacks(): FrameRequestCallback[];
512
+ reset(): void;
513
+ enable(): void;
514
+ disable(): void;
515
+ }
516
+ /**
517
+ * Creates a mock implementation of requestAnimationFrame that allows manual control.
518
+ * It replaces the global requestAnimationFrame and cancelAnimationFrame.
519
+ */
520
+ declare function createMockRAF(): MockRAF;
521
+ /**
522
+ * Creates a mock Performance object with controllable time.
523
+ */
524
+ declare function createMockPerformance(startTime?: number): Performance;
525
+ interface ControlledTimer {
526
+ tick(): void;
527
+ advanceBy(ms: number): void;
528
+ clear(): void;
529
+ restore(): void;
530
+ }
531
+ /**
532
+ * Creates a controlled timer that replaces global setTimeout/setInterval.
533
+ * Allows deterministic time advancement.
534
+ */
535
+ declare function createControlledTimer(): ControlledTimer;
536
+ /**
537
+ * Helper to simulate multiple frames of a game loop.
538
+ * @param count Number of frames to simulate
539
+ * @param frameTimeMs Time per frame in milliseconds
540
+ * @param callback Optional callback to run inside the loop (e.g. triggering inputs)
541
+ */
542
+ declare function simulateFrames(count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
543
+ /**
544
+ * Simulates frames using a provided MockRAF controller.
545
+ */
546
+ declare function simulateFramesWithMock(mock: MockRAF, count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
547
+
462
548
  interface NodeSetupOptions {
463
549
  polyfillFetch?: boolean;
464
550
  }
@@ -514,46 +600,6 @@ interface AudioEvent {
514
600
  */
515
601
  declare function captureAudioEvents(context: AudioContext): AudioEvent[];
516
602
 
517
- interface MockRAF {
518
- tick(timestamp?: number): void;
519
- advance(deltaMs?: number): void;
520
- getCallbacks(): FrameRequestCallback[];
521
- reset(): void;
522
- enable(): void;
523
- disable(): void;
524
- }
525
- /**
526
- * Creates a mock implementation of requestAnimationFrame that allows manual control.
527
- * It replaces the global requestAnimationFrame and cancelAnimationFrame.
528
- */
529
- declare function createMockRAF(): MockRAF;
530
- /**
531
- * Creates a mock Performance object with controllable time.
532
- */
533
- declare function createMockPerformance(startTime?: number): Performance;
534
- interface ControlledTimer {
535
- tick(): void;
536
- advanceBy(ms: number): void;
537
- clear(): void;
538
- restore(): void;
539
- }
540
- /**
541
- * Creates a controlled timer that replaces global setTimeout/setInterval.
542
- * Allows deterministic time advancement.
543
- */
544
- declare function createControlledTimer(): ControlledTimer;
545
- /**
546
- * Helper to simulate multiple frames of a game loop.
547
- * @param count Number of frames to simulate
548
- * @param frameTimeMs Time per frame in milliseconds
549
- * @param callback Optional callback to run inside the loop (e.g. triggering inputs)
550
- */
551
- declare function simulateFrames(count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
552
- /**
553
- * Simulates frames using a provided MockRAF controller.
554
- */
555
- declare function simulateFramesWithMock(mock: MockRAF, count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
556
-
557
603
  /**
558
604
  * Interface for Test Client options
559
605
  */
@@ -658,4 +704,4 @@ interface VisualScenario {
658
704
  */
659
705
  declare function createVisualTestScenario(page: Page, sceneName: string): VisualScenario;
660
706
 
661
- export { type AudioEvent, type BinaryStreamMock, type BinaryWriterMock, type BrowserSetupOptions, type Connection, type ConsistencyReport, type ControlledTimer, type DeltaSnapshot, type DrawCall, type GameState, type GameStateCapture, type Handshake, HandshakeStage, InputInjector, type MockEngine, type MockGame, MockPointerLock, type MockRAF, type MockServer, type MockServerContext, MockTransport, type MockUDPSocket, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkConfig, type NetworkSimulator, type NodeSetupOptions, type PlaywrightOptions, type PlaywrightTestClient, type Snapshot, type StorageScenario, type TestContext, type UserInfo, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBinaryStreamMock, createBinaryWriterMock, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityStateFactory, createGameStateSnapshotFactory, createMockAudioContext, createMockCanvas, createMockCanvasContext2D, createMockConnection, createMockEngine, createMockGame, createMockGameState, createMockHandshake, createMockImage, createMockImageData, createMockIndexedDB, createMockLocalStorage, createMockNetworkAddress, createMockPerformance, createMockRAF, createMockServer, createMockServerClient, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockWebGL2Context, createMultiplayerTestScenario, createNetChanMock, createPlayerStateFactory, createPlaywrightTestClient, createServerSnapshot, createSpawnContext, createStorageTestScenario, createTestContext, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, simulateFrames, simulateFramesWithMock, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
707
+ export { type AudioEvent, type BinaryStreamMock, type BinaryWriterMock, type BrowserSetupOptions, type Connection, type ConsistencyReport, type ControlledTimer, type DeltaSnapshot, type DrawCall, type GameState, type GameStateCapture, type Handshake, HandshakeStage, InputInjector, type MockEngine, type MockGame, MockPointerLock, type MockRAF, type MockRConClient, type MockServer, type MockServerConsole, type MockServerContext, MockTransport, type MockUDPSocket, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkConfig, type NetworkSimulator, type NodeSetupOptions, type PlaywrightOptions, type PlaywrightTestClient, type Snapshot, type StorageScenario, type TestContext, type UserInfo, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBinaryStreamMock, createBinaryWriterMock, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityStateFactory, createGameStateSnapshotFactory, createMockAudioContext, createMockCanvas, createMockCanvasContext2D, createMockConnection, createMockEngine, createMockGPUAdapter, createMockGPUCanvasContext, createMockGPUDevice, createMockGame, createMockGameState, createMockHandshake, createMockImage, createMockImageData, createMockIndexedDB, createMockLocalStorage, createMockNetworkAddress, createMockPerformance, createMockRAF, createMockRConClient, createMockServer, createMockServerClient, createMockServerConsole, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockWebGL2Context, createMultiplayerTestScenario, createNetChanMock, createPlayerStateFactory, createPlaywrightTestClient, createServerSnapshot, createSpawnContext, createStorageTestScenario, createTestContext, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateFrames, simulateFramesWithMock, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
@@ -339,6 +339,47 @@ declare function createMockHandshake(stage?: HandshakeStage): Handshake;
339
339
  */
340
340
  declare function simulateHandshake(client: Client, server: any): Promise<boolean>;
341
341
 
342
+ /**
343
+ * Interface for a mocked server console that can execute commands.
344
+ * Reference: quake2/server/sv_main.c (SV_ExecuteUserCommand)
345
+ */
346
+ interface MockServerConsole {
347
+ exec(cmd: string): string;
348
+ print(text: string): void;
349
+ broadcast(text: string): void;
350
+ commandBuffer: string[];
351
+ outputBuffer: string[];
352
+ }
353
+ /**
354
+ * Creates a mock server console.
355
+ * @param overrides Optional overrides for the mock console.
356
+ */
357
+ declare function createMockServerConsole(overrides?: Partial<MockServerConsole>): MockServerConsole;
358
+ /**
359
+ * Interface for a mocked RCON client.
360
+ * Reference: quake2/server/sv_user.c (SV_ExecuteUserCommand for RCON handling)
361
+ */
362
+ interface MockRConClient {
363
+ connect(address: string, port: number, password?: string): Promise<boolean>;
364
+ sendCommand(cmd: string): Promise<string>;
365
+ disconnect(): void;
366
+ connected: boolean;
367
+ lastCommand: string;
368
+ lastResponse: string;
369
+ }
370
+ /**
371
+ * Creates a mock RCON client.
372
+ * @param password Optional password for the client to use.
373
+ */
374
+ declare function createMockRConClient(password?: string): MockRConClient;
375
+ /**
376
+ * Simulates a command execution on the server.
377
+ * @param server The mock server instance (assumed to have some command handling capability).
378
+ * @param command The command string to execute.
379
+ * @returns The output of the command.
380
+ */
381
+ declare function simulateServerCommand(server: any, command: string): string;
382
+
342
383
  type MockServerContext = Server & {
343
384
  clients: (Client | null)[];
344
385
  entities?: Entity[];
@@ -459,6 +500,51 @@ declare function createMockImageData(width: number, height: number, fillColor?:
459
500
  */
460
501
  declare function createMockImage(width?: number, height?: number, src?: string): HTMLImageElement;
461
502
 
503
+ declare function createMockGPUAdapter(): Partial<GPUAdapter>;
504
+ declare function createMockGPUDevice(): Partial<GPUDevice>;
505
+ declare function createMockGPUCanvasContext(): Partial<GPUCanvasContext>;
506
+ declare function setupWebGPUMocks(): void;
507
+
508
+ interface MockRAF {
509
+ tick(timestamp?: number): void;
510
+ advance(deltaMs?: number): void;
511
+ getCallbacks(): FrameRequestCallback[];
512
+ reset(): void;
513
+ enable(): void;
514
+ disable(): void;
515
+ }
516
+ /**
517
+ * Creates a mock implementation of requestAnimationFrame that allows manual control.
518
+ * It replaces the global requestAnimationFrame and cancelAnimationFrame.
519
+ */
520
+ declare function createMockRAF(): MockRAF;
521
+ /**
522
+ * Creates a mock Performance object with controllable time.
523
+ */
524
+ declare function createMockPerformance(startTime?: number): Performance;
525
+ interface ControlledTimer {
526
+ tick(): void;
527
+ advanceBy(ms: number): void;
528
+ clear(): void;
529
+ restore(): void;
530
+ }
531
+ /**
532
+ * Creates a controlled timer that replaces global setTimeout/setInterval.
533
+ * Allows deterministic time advancement.
534
+ */
535
+ declare function createControlledTimer(): ControlledTimer;
536
+ /**
537
+ * Helper to simulate multiple frames of a game loop.
538
+ * @param count Number of frames to simulate
539
+ * @param frameTimeMs Time per frame in milliseconds
540
+ * @param callback Optional callback to run inside the loop (e.g. triggering inputs)
541
+ */
542
+ declare function simulateFrames(count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
543
+ /**
544
+ * Simulates frames using a provided MockRAF controller.
545
+ */
546
+ declare function simulateFramesWithMock(mock: MockRAF, count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
547
+
462
548
  interface NodeSetupOptions {
463
549
  polyfillFetch?: boolean;
464
550
  }
@@ -514,46 +600,6 @@ interface AudioEvent {
514
600
  */
515
601
  declare function captureAudioEvents(context: AudioContext): AudioEvent[];
516
602
 
517
- interface MockRAF {
518
- tick(timestamp?: number): void;
519
- advance(deltaMs?: number): void;
520
- getCallbacks(): FrameRequestCallback[];
521
- reset(): void;
522
- enable(): void;
523
- disable(): void;
524
- }
525
- /**
526
- * Creates a mock implementation of requestAnimationFrame that allows manual control.
527
- * It replaces the global requestAnimationFrame and cancelAnimationFrame.
528
- */
529
- declare function createMockRAF(): MockRAF;
530
- /**
531
- * Creates a mock Performance object with controllable time.
532
- */
533
- declare function createMockPerformance(startTime?: number): Performance;
534
- interface ControlledTimer {
535
- tick(): void;
536
- advanceBy(ms: number): void;
537
- clear(): void;
538
- restore(): void;
539
- }
540
- /**
541
- * Creates a controlled timer that replaces global setTimeout/setInterval.
542
- * Allows deterministic time advancement.
543
- */
544
- declare function createControlledTimer(): ControlledTimer;
545
- /**
546
- * Helper to simulate multiple frames of a game loop.
547
- * @param count Number of frames to simulate
548
- * @param frameTimeMs Time per frame in milliseconds
549
- * @param callback Optional callback to run inside the loop (e.g. triggering inputs)
550
- */
551
- declare function simulateFrames(count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
552
- /**
553
- * Simulates frames using a provided MockRAF controller.
554
- */
555
- declare function simulateFramesWithMock(mock: MockRAF, count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
556
-
557
603
  /**
558
604
  * Interface for Test Client options
559
605
  */
@@ -658,4 +704,4 @@ interface VisualScenario {
658
704
  */
659
705
  declare function createVisualTestScenario(page: Page, sceneName: string): VisualScenario;
660
706
 
661
- export { type AudioEvent, type BinaryStreamMock, type BinaryWriterMock, type BrowserSetupOptions, type Connection, type ConsistencyReport, type ControlledTimer, type DeltaSnapshot, type DrawCall, type GameState, type GameStateCapture, type Handshake, HandshakeStage, InputInjector, type MockEngine, type MockGame, MockPointerLock, type MockRAF, type MockServer, type MockServerContext, MockTransport, type MockUDPSocket, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkConfig, type NetworkSimulator, type NodeSetupOptions, type PlaywrightOptions, type PlaywrightTestClient, type Snapshot, type StorageScenario, type TestContext, type UserInfo, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBinaryStreamMock, createBinaryWriterMock, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityStateFactory, createGameStateSnapshotFactory, createMockAudioContext, createMockCanvas, createMockCanvasContext2D, createMockConnection, createMockEngine, createMockGame, createMockGameState, createMockHandshake, createMockImage, createMockImageData, createMockIndexedDB, createMockLocalStorage, createMockNetworkAddress, createMockPerformance, createMockRAF, createMockServer, createMockServerClient, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockWebGL2Context, createMultiplayerTestScenario, createNetChanMock, createPlayerStateFactory, createPlaywrightTestClient, createServerSnapshot, createSpawnContext, createStorageTestScenario, createTestContext, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, simulateFrames, simulateFramesWithMock, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
707
+ export { type AudioEvent, type BinaryStreamMock, type BinaryWriterMock, type BrowserSetupOptions, type Connection, type ConsistencyReport, type ControlledTimer, type DeltaSnapshot, type DrawCall, type GameState, type GameStateCapture, type Handshake, HandshakeStage, InputInjector, type MockEngine, type MockGame, MockPointerLock, type MockRAF, type MockRConClient, type MockServer, type MockServerConsole, type MockServerContext, MockTransport, type MockUDPSocket, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkConfig, type NetworkSimulator, type NodeSetupOptions, type PlaywrightOptions, type PlaywrightTestClient, type Snapshot, type StorageScenario, type TestContext, type UserInfo, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBinaryStreamMock, createBinaryWriterMock, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityStateFactory, createGameStateSnapshotFactory, createMockAudioContext, createMockCanvas, createMockCanvasContext2D, createMockConnection, createMockEngine, createMockGPUAdapter, createMockGPUCanvasContext, createMockGPUDevice, createMockGame, createMockGameState, createMockHandshake, createMockImage, createMockImageData, createMockIndexedDB, createMockLocalStorage, createMockNetworkAddress, createMockPerformance, createMockRAF, createMockRConClient, createMockServer, createMockServerClient, createMockServerConsole, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockWebGL2Context, createMultiplayerTestScenario, createNetChanMock, createPlayerStateFactory, createPlaywrightTestClient, createServerSnapshot, createSpawnContext, createStorageTestScenario, createTestContext, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateFrames, simulateFramesWithMock, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };