quake2ts 0.0.574 → 0.0.577

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.
@@ -1,10 +1,12 @@
1
1
  import * as vitest from 'vitest';
2
2
  import { Mock } from 'vitest';
3
- import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, CollisionModel, PlayerState, EntityState, createRandomGenerator, NetDriver, UserCommand } from '@quake2ts/shared';
3
+ import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, CollisionModel, PlayerState, EntityState, createRandomGenerator, NetDriver, TraceResult, UserCommand } from '@quake2ts/shared';
4
4
  export { intersects, ladderTrace, stairTrace } from '@quake2ts/shared';
5
5
  import { GameStateSnapshot, Entity, ScriptHookRegistry, SpawnContext, EntitySystem, SpawnRegistry, MonsterMove, DamageMod, PlayerInventory, BaseItem, WeaponId, WeaponItem, HealthItem, ArmorItem, AmmoItemId, PowerupItem, GameExports } from '@quake2ts/game';
6
6
  import { NetworkTransport, Server, ServerStatic, Client, ClientState, ClientFrame } from '@quake2ts/server';
7
7
  import { ImageData } from '@napi-rs/canvas';
8
+ import { vec3 } from 'gl-matrix';
9
+ import { Camera } from '@quake2ts/engine';
8
10
  import { LaunchOptions, BrowserContextOptions, Browser, BrowserContext, Page } from 'playwright';
9
11
  import { Server as Server$1 } from 'http';
10
12
 
@@ -523,6 +525,21 @@ declare function createMockServerInfo(overrides?: Partial<ServerInfo>): ServerIn
523
525
  */
524
526
  declare function simulateServerRegistration(server: any, master: MasterServer): Promise<boolean>;
525
527
 
528
+ /**
529
+ * Mock interface for CollisionEntityIndex.
530
+ */
531
+ interface MockCollisionEntityIndex {
532
+ trace: (start: any, mins: any, maxs: any, end: any, passEntity: any, contentMask: number) => TraceResult;
533
+ link: (entity: any) => void;
534
+ unlink: (entity: any) => void;
535
+ gatherTriggerTouches: (entity: any) => any[];
536
+ }
537
+ /**
538
+ * Creates a mock CollisionEntityIndex.
539
+ * @param overrides Optional overrides for the mock methods.
540
+ */
541
+ declare function createMockCollisionEntityIndex(overrides?: Partial<MockCollisionEntityIndex>): MockCollisionEntityIndex;
542
+
526
543
  type MockServerContext = Server & {
527
544
  clients: (Client | null)[];
528
545
  entities?: Entity[];
@@ -787,6 +804,126 @@ interface AudioEvent {
787
804
  */
788
805
  declare function captureAudioEvents(context: AudioContext): AudioEvent[];
789
806
 
807
+ /**
808
+ * Client Input System Mocks
809
+ *
810
+ * Provides utilities for simulating user input (keyboard, mouse, pointer lock)
811
+ * in a test environment (JSDOM/Browser).
812
+ */
813
+ interface KeyModifiers {
814
+ ctrl?: boolean;
815
+ alt?: boolean;
816
+ shift?: boolean;
817
+ meta?: boolean;
818
+ }
819
+ /**
820
+ * Factory for creating a mock KeyboardEvent.
821
+ */
822
+ declare function createMockKeyboardEvent(key: string, type?: 'keydown' | 'keyup', modifiers?: KeyModifiers): KeyboardEvent;
823
+ /**
824
+ * Factory for creating a mock MouseEvent with support for movementX/Y.
825
+ */
826
+ declare function createMockMouseEvent(type: string, options?: MouseEventInit): MouseEvent;
827
+ /**
828
+ * Factory for creating a mock WheelEvent.
829
+ */
830
+ declare function createMockWheelEvent(deltaX?: number, deltaY?: number): WheelEvent;
831
+ /**
832
+ * Class implementing a mock for the Pointer Lock API.
833
+ * Handles patching the document and element prototypes to simulate pointer lock.
834
+ */
835
+ declare class MockPointerLock {
836
+ private _doc;
837
+ constructor(doc?: Document);
838
+ private setup;
839
+ get element(): Element | null;
840
+ get locked(): boolean;
841
+ request(element: HTMLElement): void;
842
+ exit(): void;
843
+ isLocked(): boolean;
844
+ }
845
+ /**
846
+ * Class for simulating input events.
847
+ */
848
+ declare class InputInjector {
849
+ private doc;
850
+ private win;
851
+ constructor(doc?: Document, win?: Window);
852
+ keyDown(key: string, code?: string, modifiers?: KeyModifiers): void;
853
+ keyUp(key: string, code?: string, modifiers?: KeyModifiers): void;
854
+ mouseMove(movementX: number, movementY: number, clientX?: number, clientY?: number): void;
855
+ mouseButton(button: number, state?: 'down' | 'up'): void;
856
+ mouseDown(button?: number): void;
857
+ mouseUp(button?: number): void;
858
+ mouseWheel(deltaY: number): void;
859
+ wheel(deltaY: number): void;
860
+ private dispatchToTarget;
861
+ }
862
+ /**
863
+ * Factory for creating a MockPointerLock instance.
864
+ */
865
+ declare function createMockPointerLock(element?: HTMLElement): MockPointerLock;
866
+ /**
867
+ * Factory for creating an InputInjector.
868
+ */
869
+ declare function createInputInjector(target?: EventTarget): InputInjector;
870
+
871
+ interface RefDef {
872
+ x: number;
873
+ y: number;
874
+ width: number;
875
+ height: number;
876
+ fov_x: number;
877
+ fov_y: number;
878
+ vieworg: vec3;
879
+ viewangles: vec3;
880
+ time: number;
881
+ rdflags: number;
882
+ }
883
+ interface ViewState {
884
+ camera: Camera;
885
+ viewport: {
886
+ x: number;
887
+ y: number;
888
+ width: number;
889
+ height: number;
890
+ };
891
+ refdef: RefDef;
892
+ }
893
+ interface ViewScenario {
894
+ viewState: ViewState;
895
+ cleanup: () => void;
896
+ }
897
+ interface CameraInput {
898
+ forward?: number;
899
+ right?: number;
900
+ up?: number;
901
+ pitchDelta?: number;
902
+ yawDelta?: number;
903
+ rollDelta?: number;
904
+ }
905
+ /**
906
+ * Creates a mock Camera instance with optional overrides.
907
+ */
908
+ declare function createMockCamera(overrides?: Partial<Camera>): Camera;
909
+ /**
910
+ * Creates a mock RefDef object.
911
+ */
912
+ declare function createMockRefDef(overrides?: Partial<RefDef>): RefDef;
913
+ /**
914
+ * Creates a mock ViewState object.
915
+ */
916
+ declare function createMockViewState(overrides?: Partial<ViewState>): ViewState;
917
+ /**
918
+ * Creates a pre-configured view test scenario.
919
+ */
920
+ declare function createViewTestScenario(scenarioType: 'firstPerson' | 'thirdPerson' | 'spectator'): ViewScenario;
921
+ /**
922
+ * Simulates camera movement based on input delta.
923
+ * This is a helper to verify camera logic, not a replacement for full physics.
924
+ */
925
+ declare function simulateCameraMovement(camera: Camera, input: CameraInput, deltaTime: number): Camera;
926
+
790
927
  /**
791
928
  * Interface for Test Client options
792
929
  */
@@ -821,21 +958,6 @@ interface GameStateCapture {
821
958
  }
822
959
  declare function captureGameState(page: Page): Promise<GameStateCapture>;
823
960
 
824
- declare class MockPointerLock {
825
- static setup(doc: Document): void;
826
- }
827
- declare class InputInjector {
828
- private doc;
829
- private win;
830
- constructor(doc: Document, win: any);
831
- keyDown(key: string, code?: string): void;
832
- keyUp(key: string, code?: string): void;
833
- mouseMove(movementX: number, movementY: number, clientX?: number, clientY?: number): void;
834
- mouseDown(button?: number): void;
835
- mouseUp(button?: number): void;
836
- wheel(deltaY: number): void;
837
- }
838
-
839
961
  interface NetworkSimulator {
840
962
  apply(page: any): Promise<void>;
841
963
  clear(page: any): Promise<void>;
@@ -891,4 +1013,4 @@ interface VisualScenario {
891
1013
  */
892
1014
  declare function createVisualTestScenario(page: Page, sceneName: string): VisualScenario;
893
1015
 
894
- export { type AudioEvent, type BandwidthScenario, 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 MasterServer, type Message, type MockAI, type MockDamageInfo, type MockEngine, type MockGame, type MockMonsterAI, 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 RateLimiter, type ServerInfo, type ServerListFilter, type Snapshot, type StorageScenario, type TestContext, type UserInfo, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createCombatTestContext, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameStateSnapshotFactory, createItemEntityFactory, createMockAI, createMockAmmoItem, createMockArmorItem, createMockAudioContext, createMockCanvas, createMockCanvasContext2D, createMockConnection, createMockDamageInfo, createMockEngine, createMockGPUAdapter, createMockGPUCanvasContext, createMockGPUDevice, createMockGame, createMockGameExports, createMockGameState, createMockHandshake, createMockHealthItem, createMockImage, createMockImageData, createMockIndexedDB, createMockInventory, createMockItem, createMockLocalStorage, createMockMasterServer, createMockMonsterAI, createMockMonsterMove, createMockNetDriver, createMockNetworkAddress, createMockPerformance, createMockPowerupItem, createMockRAF, createMockRConClient, createMockRateLimiter, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPhysicsTestContext, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createProjectileEntityFactory, createServerSnapshot, createSpawnTestContext, createStorageTestScenario, createTestContext, createTriggerEntityFactory, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateFrames, simulateFramesWithMock, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
1016
+ export { type AudioEvent, type BandwidthScenario, type BinaryStreamMock, type BinaryWriterMock, type BrowserSetupOptions, type CameraInput, type Connection, type ConsistencyReport, type ControlledTimer, type DeltaSnapshot, type DrawCall, type GameState, type GameStateCapture, type Handshake, HandshakeStage, InputInjector, type KeyModifiers, type MasterServer, type Message, type MockAI, type MockCollisionEntityIndex, type MockDamageInfo, type MockEngine, type MockGame, type MockMonsterAI, 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 RateLimiter, type RefDef, type ServerInfo, type ServerListFilter, type Snapshot, type StorageScenario, type TestContext, type UserInfo, type ViewScenario, type ViewState, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createCombatTestContext, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameStateSnapshotFactory, createInputInjector, createItemEntityFactory, createMockAI, createMockAmmoItem, createMockArmorItem, createMockAudioContext, createMockCamera, createMockCanvas, createMockCanvasContext2D, createMockCollisionEntityIndex, createMockConnection, createMockDamageInfo, createMockEngine, createMockGPUAdapter, createMockGPUCanvasContext, createMockGPUDevice, createMockGame, createMockGameExports, createMockGameState, createMockHandshake, createMockHealthItem, createMockImage, createMockImageData, createMockIndexedDB, createMockInventory, createMockItem, createMockKeyboardEvent, createMockLocalStorage, createMockMasterServer, createMockMonsterAI, createMockMonsterMove, createMockMouseEvent, createMockNetDriver, createMockNetworkAddress, createMockPerformance, createMockPointerLock, createMockPowerupItem, createMockRAF, createMockRConClient, createMockRateLimiter, createMockRefDef, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockViewState, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMockWheelEvent, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPhysicsTestContext, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createProjectileEntityFactory, createServerSnapshot, createSpawnTestContext, createStorageTestScenario, createTestContext, createTriggerEntityFactory, createViewTestScenario, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateCameraMovement, simulateFrames, simulateFramesWithMock, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
@@ -1,10 +1,12 @@
1
1
  import * as vitest from 'vitest';
2
2
  import { Mock } from 'vitest';
3
- import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, CollisionModel, PlayerState, EntityState, createRandomGenerator, NetDriver, UserCommand } from '@quake2ts/shared';
3
+ import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, CollisionModel, PlayerState, EntityState, createRandomGenerator, NetDriver, TraceResult, UserCommand } from '@quake2ts/shared';
4
4
  export { intersects, ladderTrace, stairTrace } from '@quake2ts/shared';
5
5
  import { GameStateSnapshot, Entity, ScriptHookRegistry, SpawnContext, EntitySystem, SpawnRegistry, MonsterMove, DamageMod, PlayerInventory, BaseItem, WeaponId, WeaponItem, HealthItem, ArmorItem, AmmoItemId, PowerupItem, GameExports } from '@quake2ts/game';
6
6
  import { NetworkTransport, Server, ServerStatic, Client, ClientState, ClientFrame } from '@quake2ts/server';
7
7
  import { ImageData } from '@napi-rs/canvas';
8
+ import { vec3 } from 'gl-matrix';
9
+ import { Camera } from '@quake2ts/engine';
8
10
  import { LaunchOptions, BrowserContextOptions, Browser, BrowserContext, Page } from 'playwright';
9
11
  import { Server as Server$1 } from 'http';
10
12
 
@@ -523,6 +525,21 @@ declare function createMockServerInfo(overrides?: Partial<ServerInfo>): ServerIn
523
525
  */
524
526
  declare function simulateServerRegistration(server: any, master: MasterServer): Promise<boolean>;
525
527
 
528
+ /**
529
+ * Mock interface for CollisionEntityIndex.
530
+ */
531
+ interface MockCollisionEntityIndex {
532
+ trace: (start: any, mins: any, maxs: any, end: any, passEntity: any, contentMask: number) => TraceResult;
533
+ link: (entity: any) => void;
534
+ unlink: (entity: any) => void;
535
+ gatherTriggerTouches: (entity: any) => any[];
536
+ }
537
+ /**
538
+ * Creates a mock CollisionEntityIndex.
539
+ * @param overrides Optional overrides for the mock methods.
540
+ */
541
+ declare function createMockCollisionEntityIndex(overrides?: Partial<MockCollisionEntityIndex>): MockCollisionEntityIndex;
542
+
526
543
  type MockServerContext = Server & {
527
544
  clients: (Client | null)[];
528
545
  entities?: Entity[];
@@ -787,6 +804,126 @@ interface AudioEvent {
787
804
  */
788
805
  declare function captureAudioEvents(context: AudioContext): AudioEvent[];
789
806
 
807
+ /**
808
+ * Client Input System Mocks
809
+ *
810
+ * Provides utilities for simulating user input (keyboard, mouse, pointer lock)
811
+ * in a test environment (JSDOM/Browser).
812
+ */
813
+ interface KeyModifiers {
814
+ ctrl?: boolean;
815
+ alt?: boolean;
816
+ shift?: boolean;
817
+ meta?: boolean;
818
+ }
819
+ /**
820
+ * Factory for creating a mock KeyboardEvent.
821
+ */
822
+ declare function createMockKeyboardEvent(key: string, type?: 'keydown' | 'keyup', modifiers?: KeyModifiers): KeyboardEvent;
823
+ /**
824
+ * Factory for creating a mock MouseEvent with support for movementX/Y.
825
+ */
826
+ declare function createMockMouseEvent(type: string, options?: MouseEventInit): MouseEvent;
827
+ /**
828
+ * Factory for creating a mock WheelEvent.
829
+ */
830
+ declare function createMockWheelEvent(deltaX?: number, deltaY?: number): WheelEvent;
831
+ /**
832
+ * Class implementing a mock for the Pointer Lock API.
833
+ * Handles patching the document and element prototypes to simulate pointer lock.
834
+ */
835
+ declare class MockPointerLock {
836
+ private _doc;
837
+ constructor(doc?: Document);
838
+ private setup;
839
+ get element(): Element | null;
840
+ get locked(): boolean;
841
+ request(element: HTMLElement): void;
842
+ exit(): void;
843
+ isLocked(): boolean;
844
+ }
845
+ /**
846
+ * Class for simulating input events.
847
+ */
848
+ declare class InputInjector {
849
+ private doc;
850
+ private win;
851
+ constructor(doc?: Document, win?: Window);
852
+ keyDown(key: string, code?: string, modifiers?: KeyModifiers): void;
853
+ keyUp(key: string, code?: string, modifiers?: KeyModifiers): void;
854
+ mouseMove(movementX: number, movementY: number, clientX?: number, clientY?: number): void;
855
+ mouseButton(button: number, state?: 'down' | 'up'): void;
856
+ mouseDown(button?: number): void;
857
+ mouseUp(button?: number): void;
858
+ mouseWheel(deltaY: number): void;
859
+ wheel(deltaY: number): void;
860
+ private dispatchToTarget;
861
+ }
862
+ /**
863
+ * Factory for creating a MockPointerLock instance.
864
+ */
865
+ declare function createMockPointerLock(element?: HTMLElement): MockPointerLock;
866
+ /**
867
+ * Factory for creating an InputInjector.
868
+ */
869
+ declare function createInputInjector(target?: EventTarget): InputInjector;
870
+
871
+ interface RefDef {
872
+ x: number;
873
+ y: number;
874
+ width: number;
875
+ height: number;
876
+ fov_x: number;
877
+ fov_y: number;
878
+ vieworg: vec3;
879
+ viewangles: vec3;
880
+ time: number;
881
+ rdflags: number;
882
+ }
883
+ interface ViewState {
884
+ camera: Camera;
885
+ viewport: {
886
+ x: number;
887
+ y: number;
888
+ width: number;
889
+ height: number;
890
+ };
891
+ refdef: RefDef;
892
+ }
893
+ interface ViewScenario {
894
+ viewState: ViewState;
895
+ cleanup: () => void;
896
+ }
897
+ interface CameraInput {
898
+ forward?: number;
899
+ right?: number;
900
+ up?: number;
901
+ pitchDelta?: number;
902
+ yawDelta?: number;
903
+ rollDelta?: number;
904
+ }
905
+ /**
906
+ * Creates a mock Camera instance with optional overrides.
907
+ */
908
+ declare function createMockCamera(overrides?: Partial<Camera>): Camera;
909
+ /**
910
+ * Creates a mock RefDef object.
911
+ */
912
+ declare function createMockRefDef(overrides?: Partial<RefDef>): RefDef;
913
+ /**
914
+ * Creates a mock ViewState object.
915
+ */
916
+ declare function createMockViewState(overrides?: Partial<ViewState>): ViewState;
917
+ /**
918
+ * Creates a pre-configured view test scenario.
919
+ */
920
+ declare function createViewTestScenario(scenarioType: 'firstPerson' | 'thirdPerson' | 'spectator'): ViewScenario;
921
+ /**
922
+ * Simulates camera movement based on input delta.
923
+ * This is a helper to verify camera logic, not a replacement for full physics.
924
+ */
925
+ declare function simulateCameraMovement(camera: Camera, input: CameraInput, deltaTime: number): Camera;
926
+
790
927
  /**
791
928
  * Interface for Test Client options
792
929
  */
@@ -821,21 +958,6 @@ interface GameStateCapture {
821
958
  }
822
959
  declare function captureGameState(page: Page): Promise<GameStateCapture>;
823
960
 
824
- declare class MockPointerLock {
825
- static setup(doc: Document): void;
826
- }
827
- declare class InputInjector {
828
- private doc;
829
- private win;
830
- constructor(doc: Document, win: any);
831
- keyDown(key: string, code?: string): void;
832
- keyUp(key: string, code?: string): void;
833
- mouseMove(movementX: number, movementY: number, clientX?: number, clientY?: number): void;
834
- mouseDown(button?: number): void;
835
- mouseUp(button?: number): void;
836
- wheel(deltaY: number): void;
837
- }
838
-
839
961
  interface NetworkSimulator {
840
962
  apply(page: any): Promise<void>;
841
963
  clear(page: any): Promise<void>;
@@ -891,4 +1013,4 @@ interface VisualScenario {
891
1013
  */
892
1014
  declare function createVisualTestScenario(page: Page, sceneName: string): VisualScenario;
893
1015
 
894
- export { type AudioEvent, type BandwidthScenario, 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 MasterServer, type Message, type MockAI, type MockDamageInfo, type MockEngine, type MockGame, type MockMonsterAI, 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 RateLimiter, type ServerInfo, type ServerListFilter, type Snapshot, type StorageScenario, type TestContext, type UserInfo, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createCombatTestContext, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameStateSnapshotFactory, createItemEntityFactory, createMockAI, createMockAmmoItem, createMockArmorItem, createMockAudioContext, createMockCanvas, createMockCanvasContext2D, createMockConnection, createMockDamageInfo, createMockEngine, createMockGPUAdapter, createMockGPUCanvasContext, createMockGPUDevice, createMockGame, createMockGameExports, createMockGameState, createMockHandshake, createMockHealthItem, createMockImage, createMockImageData, createMockIndexedDB, createMockInventory, createMockItem, createMockLocalStorage, createMockMasterServer, createMockMonsterAI, createMockMonsterMove, createMockNetDriver, createMockNetworkAddress, createMockPerformance, createMockPowerupItem, createMockRAF, createMockRConClient, createMockRateLimiter, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPhysicsTestContext, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createProjectileEntityFactory, createServerSnapshot, createSpawnTestContext, createStorageTestScenario, createTestContext, createTriggerEntityFactory, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateFrames, simulateFramesWithMock, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
1016
+ export { type AudioEvent, type BandwidthScenario, type BinaryStreamMock, type BinaryWriterMock, type BrowserSetupOptions, type CameraInput, type Connection, type ConsistencyReport, type ControlledTimer, type DeltaSnapshot, type DrawCall, type GameState, type GameStateCapture, type Handshake, HandshakeStage, InputInjector, type KeyModifiers, type MasterServer, type Message, type MockAI, type MockCollisionEntityIndex, type MockDamageInfo, type MockEngine, type MockGame, type MockMonsterAI, 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 RateLimiter, type RefDef, type ServerInfo, type ServerListFilter, type Snapshot, type StorageScenario, type TestContext, type UserInfo, type ViewScenario, type ViewState, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createCombatTestContext, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameStateSnapshotFactory, createInputInjector, createItemEntityFactory, createMockAI, createMockAmmoItem, createMockArmorItem, createMockAudioContext, createMockCamera, createMockCanvas, createMockCanvasContext2D, createMockCollisionEntityIndex, createMockConnection, createMockDamageInfo, createMockEngine, createMockGPUAdapter, createMockGPUCanvasContext, createMockGPUDevice, createMockGame, createMockGameExports, createMockGameState, createMockHandshake, createMockHealthItem, createMockImage, createMockImageData, createMockIndexedDB, createMockInventory, createMockItem, createMockKeyboardEvent, createMockLocalStorage, createMockMasterServer, createMockMonsterAI, createMockMonsterMove, createMockMouseEvent, createMockNetDriver, createMockNetworkAddress, createMockPerformance, createMockPointerLock, createMockPowerupItem, createMockRAF, createMockRConClient, createMockRateLimiter, createMockRefDef, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockViewState, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMockWheelEvent, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPhysicsTestContext, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createProjectileEntityFactory, createServerSnapshot, createSpawnTestContext, createStorageTestScenario, createTestContext, createTriggerEntityFactory, createViewTestScenario, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateCameraMovement, simulateFrames, simulateFramesWithMock, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };