quake2ts 0.0.593 → 0.0.596

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 (29) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js.map +1 -1
  3. package/packages/client/dist/cjs/index.cjs.map +1 -1
  4. package/packages/client/dist/esm/index.js.map +1 -1
  5. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  6. package/packages/engine/dist/browser/index.global.js +3 -3
  7. package/packages/engine/dist/browser/index.global.js.map +1 -1
  8. package/packages/engine/dist/cjs/index.cjs +116 -125
  9. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  10. package/packages/engine/dist/esm/index.js +116 -125
  11. package/packages/engine/dist/esm/index.js.map +1 -1
  12. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  13. package/packages/engine/dist/types/index.d.ts +3 -4
  14. package/packages/engine/dist/types/index.d.ts.map +1 -1
  15. package/packages/engine/dist/types/render/interface.d.ts +20 -28
  16. package/packages/engine/dist/types/render/interface.d.ts.map +1 -1
  17. package/packages/engine/dist/types/render/renderer.d.ts.map +1 -1
  18. package/packages/engine/dist/types/render/webgpu/context.d.ts +11 -5
  19. package/packages/engine/dist/types/render/webgpu/context.d.ts.map +1 -1
  20. package/packages/engine/dist/types/render/webgpu/headless.d.ts.map +1 -1
  21. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  22. package/packages/test-utils/dist/index.cjs +108 -88
  23. package/packages/test-utils/dist/index.cjs.map +1 -1
  24. package/packages/test-utils/dist/index.d.cts +23 -57
  25. package/packages/test-utils/dist/index.d.ts +23 -57
  26. package/packages/test-utils/dist/index.js +93 -78
  27. package/packages/test-utils/dist/index.js.map +1 -1
  28. package/packages/tools/dist/browser/index.global.js.map +1 -1
  29. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -3,12 +3,13 @@ import { Mock, vi } from 'vitest';
3
3
  import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, CollisionModel, PlayerState, EntityState, createRandomGenerator, NetDriver, NetChan, TraceResult as TraceResult$1, UserCommand } from '@quake2ts/shared';
4
4
  export { intersects, ladderTrace, stairTrace } from '@quake2ts/shared';
5
5
  import { Vec3 as Vec3$1, Bounds3 } from '@quake2ts/shared/math/vec3';
6
+ import { TraceResult, CollisionPlane as CollisionPlane$1 } from '@quake2ts/shared/bsp/collision';
7
+ import { ConfigStringEntry, Cvar, Camera } from '@quake2ts/engine';
8
+ export { ConfigStringEntry, Cvar } from '@quake2ts/engine';
6
9
  import { GameStateSnapshot, Entity, ScriptHookRegistry, SpawnContext, EntitySystem, SpawnRegistry, MonsterMove, DamageMod, PlayerInventory, BaseItem, WeaponId, WeaponItem, HealthItem, ArmorItem, AmmoItemId, PowerupItem, GameExports } from '@quake2ts/game';
7
10
  import { NetworkTransport, Server, ServerStatic, Client, ClientState, ClientFrame } from '@quake2ts/server';
8
11
  import { ImageData } from '@napi-rs/canvas';
9
12
  import { vec3 } from 'gl-matrix';
10
- import { Camera } from '@quake2ts/engine';
11
- import { TraceResult, CollisionPlane as CollisionPlane$1 } from '@quake2ts/shared/bsp/collision';
12
13
 
13
14
  interface BinaryWriterMock {
14
15
  writeByte: Mock<[number], void>;
@@ -126,16 +127,6 @@ interface Transform {
126
127
  declare const createTransform: (overrides?: Partial<Transform>) => Transform;
127
128
  declare const randomVector3: (min?: number, max?: number) => Vec3$1;
128
129
 
129
- declare const createPlayerStateFactory: (overrides?: Partial<PlayerState>) => PlayerState;
130
- declare const createEntityStateFactory: (overrides?: Partial<EntityState>) => EntityState;
131
- declare const createGameStateSnapshotFactory: (overrides?: Partial<GameStateSnapshot>) => GameStateSnapshot;
132
- declare function createEntityFactory(overrides?: Partial<Entity>): Entity;
133
- declare function createPlayerEntityFactory(overrides?: Partial<Entity>): Entity;
134
- declare function createMonsterEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
135
- declare function createItemEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
136
- declare function createProjectileEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
137
- declare function createTriggerEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
138
-
139
130
  interface TraceMock extends Partial<TraceResult> {
140
131
  fraction: number;
141
132
  endpos: Vec3$1;
@@ -158,6 +149,20 @@ interface SurfaceMock {
158
149
  }
159
150
  declare const createSurfaceMock: (overrides?: Partial<SurfaceMock>) => SurfaceMock;
160
151
 
152
+ declare function createConfigStringMock(index: number, value: string): ConfigStringEntry;
153
+ declare function createConfigStringArrayMock(entries?: Record<number, string>): ConfigStringEntry[];
154
+ declare function createCvarMock(name: string, value: string, flags?: number): Cvar;
155
+
156
+ declare const createPlayerStateFactory: (overrides?: Partial<PlayerState>) => PlayerState;
157
+ declare const createEntityStateFactory: (overrides?: Partial<EntityState>) => EntityState;
158
+ declare const createGameStateSnapshotFactory: (overrides?: Partial<GameStateSnapshot>) => GameStateSnapshot;
159
+ declare function createEntityFactory(overrides?: Partial<Entity>): Entity;
160
+ declare function createPlayerEntityFactory(overrides?: Partial<Entity>): Entity;
161
+ declare function createMonsterEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
162
+ declare function createItemEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
163
+ declare function createProjectileEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
164
+ declare function createTriggerEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
165
+
161
166
  interface MockEngine {
162
167
  sound: Mock<[Entity, number, string, number, number, number], void>;
163
168
  soundIndex: Mock<[string], number>;
@@ -775,54 +780,15 @@ declare function createMockImageData(width: number, height: number, fillColor?:
775
780
  */
776
781
  declare function createMockImage(width?: number, height?: number, src?: string): HTMLImageElement;
777
782
 
778
- interface MockGPUAdapterOptions {
779
- features?: Set<string>;
780
- limits?: Record<string, number>;
781
- }
782
- declare function createMockGPUAdapter(options?: MockGPUAdapterOptions): {
783
- features: {
784
- has: (feature: string) => boolean;
785
- [Symbol.iterator]: () => SetIterator<string>;
786
- };
787
- limits: Record<string, number>;
788
- requestDevice: vitest.Mock<any, any>;
789
- };
790
- declare function createMockGPUDevice(descriptor?: any): {
791
- features: {
792
- has: (feature: string) => boolean;
793
- [Symbol.iterator]: () => SetIterator<unknown>;
794
- };
795
- limits: any;
796
- queue: {
797
- submit: vitest.Mock<any, any>;
798
- writeBuffer: vitest.Mock<any, any>;
799
- writeTexture: vitest.Mock<any, any>;
800
- };
801
- createCommandEncoder: vitest.Mock<any, any>;
802
- createBindGroup: vitest.Mock<any, any>;
803
- createBindGroupLayout: vitest.Mock<any, any>;
804
- createPipelineLayout: vitest.Mock<any, any>;
805
- createRenderPipeline: vitest.Mock<any, any>;
806
- createShaderModule: vitest.Mock<any, any>;
807
- createBuffer: vitest.Mock<any, any>;
808
- createTexture: vitest.Mock<any, any>;
809
- createSampler: vitest.Mock<any, any>;
810
- lost: Promise<unknown>;
811
- destroy: vitest.Mock<any, any>;
812
- };
783
+ declare function createMockGPUAdapter(): GPUAdapter;
784
+ declare function createMockGPUDevice(): GPUDevice;
785
+ declare function createMockGPUCanvasContext(): GPUCanvasContext;
813
786
  declare function setupWebGPUMocks(): {
814
- gpu: {
787
+ mockGpu: {
815
788
  requestAdapter: vitest.Mock<any, any>;
816
789
  getPreferredCanvasFormat: vitest.Mock<any, any>;
817
790
  };
818
- adapter: {
819
- features: {
820
- has: (feature: string) => boolean;
821
- [Symbol.iterator]: () => SetIterator<string>;
822
- };
823
- limits: Record<string, number>;
824
- requestDevice: vitest.Mock<any, any>;
825
- };
791
+ mockAdapter: GPUAdapter;
826
792
  };
827
793
 
828
794
  /**
@@ -1321,4 +1287,4 @@ interface VisualScenario {
1321
1287
  */
1322
1288
  declare function createVisualTestScenario(sceneName: string): VisualScenario;
1323
1289
 
1324
- 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 MessageReaderMock, type MessageWriterMock, type MockAI, type MockCollisionEntityIndex, type MockDamageInfo, type MockEngine, type MockGPUAdapterOptions, type MockGame, type MockMonsterAI, MockNetworkTransport, MockPointerLock, type MockRAF, type MockRConClient, type MockRenderingContext, type MockServer, type MockServerConsole, type MockServerContext, MockTransport, type MockUDPSocket, MockWebGL2RenderingContext, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkSimulator, type NodeSetupOptions, type PacketMock, type PlaywrightOptions, type PlaywrightTestClient, type RateLimiter, type RecordedPacket, type RefDef, type ServerInfo, type ServerListFilter, type Snapshot, type StorageScenario, type TestContext, type Transform, type UserInfo, type ViewScenario, type ViewState, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createBounds, createCombatTestContext, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameStateSnapshotFactory, createInputInjector, createItemEntityFactory, createMessageReaderMock, createMessageWriterMock, createMockAI, createMockAmmoItem, createMockArmorItem, createMockCamera, createMockCanvas, createMockCanvasContext2D, createMockCollisionEntityIndex, createMockConnection, createMockDamageInfo, createMockEngine, createMockGPUAdapter, 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, createMockRenderingContext, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockViewState, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMockWheelEvent, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPacketMock, createPhysicsTestContext, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createProjectileEntityFactory, createServerSnapshot, createSpawnTestContext, createStorageTestScenario, createSurfaceMock, createTestContext, createTraceMock, createTransform, createTriggerEntityFactory, createVector3, createViewTestScenario, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, randomVector3, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateCameraMovement, simulateFrames, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, teardownNodeEnvironment, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
1290
+ 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 MessageReaderMock, type MessageWriterMock, type MockAI, type MockCollisionEntityIndex, type MockDamageInfo, type MockEngine, type MockGame, type MockMonsterAI, MockNetworkTransport, MockPointerLock, type MockRAF, type MockRConClient, type MockRenderingContext, type MockServer, type MockServerConsole, type MockServerContext, MockTransport, type MockUDPSocket, MockWebGL2RenderingContext, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkSimulator, type NodeSetupOptions, type PacketMock, type PlaywrightOptions, type PlaywrightTestClient, type RateLimiter, type RecordedPacket, type RefDef, type ServerInfo, type ServerListFilter, type Snapshot, type StorageScenario, type SurfaceMock, type TestContext, type TraceMock, type Transform, type UserInfo, type ViewScenario, type ViewState, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createBounds, createCombatTestContext, createConfigStringArrayMock, createConfigStringMock, createControlledTimer, createCustomNetworkCondition, createCvarMock, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameStateSnapshotFactory, createInputInjector, createItemEntityFactory, createMessageReaderMock, createMessageWriterMock, createMockAI, createMockAmmoItem, createMockArmorItem, 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, createMockRenderingContext, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockViewState, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMockWheelEvent, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPacketMock, createPhysicsTestContext, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createProjectileEntityFactory, createServerSnapshot, createSpawnTestContext, createStorageTestScenario, createSurfaceMock, createTestContext, createTraceMock, createTransform, createTriggerEntityFactory, createVector3, createViewTestScenario, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, randomVector3, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateCameraMovement, simulateFrames, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, teardownNodeEnvironment, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
@@ -3,12 +3,13 @@ import { Mock, vi } from 'vitest';
3
3
  import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, CollisionModel, PlayerState, EntityState, createRandomGenerator, NetDriver, NetChan, TraceResult as TraceResult$1, UserCommand } from '@quake2ts/shared';
4
4
  export { intersects, ladderTrace, stairTrace } from '@quake2ts/shared';
5
5
  import { Vec3 as Vec3$1, Bounds3 } from '@quake2ts/shared/math/vec3';
6
+ import { TraceResult, CollisionPlane as CollisionPlane$1 } from '@quake2ts/shared/bsp/collision';
7
+ import { ConfigStringEntry, Cvar, Camera } from '@quake2ts/engine';
8
+ export { ConfigStringEntry, Cvar } from '@quake2ts/engine';
6
9
  import { GameStateSnapshot, Entity, ScriptHookRegistry, SpawnContext, EntitySystem, SpawnRegistry, MonsterMove, DamageMod, PlayerInventory, BaseItem, WeaponId, WeaponItem, HealthItem, ArmorItem, AmmoItemId, PowerupItem, GameExports } from '@quake2ts/game';
7
10
  import { NetworkTransport, Server, ServerStatic, Client, ClientState, ClientFrame } from '@quake2ts/server';
8
11
  import { ImageData } from '@napi-rs/canvas';
9
12
  import { vec3 } from 'gl-matrix';
10
- import { Camera } from '@quake2ts/engine';
11
- import { TraceResult, CollisionPlane as CollisionPlane$1 } from '@quake2ts/shared/bsp/collision';
12
13
 
13
14
  interface BinaryWriterMock {
14
15
  writeByte: Mock<[number], void>;
@@ -126,16 +127,6 @@ interface Transform {
126
127
  declare const createTransform: (overrides?: Partial<Transform>) => Transform;
127
128
  declare const randomVector3: (min?: number, max?: number) => Vec3$1;
128
129
 
129
- declare const createPlayerStateFactory: (overrides?: Partial<PlayerState>) => PlayerState;
130
- declare const createEntityStateFactory: (overrides?: Partial<EntityState>) => EntityState;
131
- declare const createGameStateSnapshotFactory: (overrides?: Partial<GameStateSnapshot>) => GameStateSnapshot;
132
- declare function createEntityFactory(overrides?: Partial<Entity>): Entity;
133
- declare function createPlayerEntityFactory(overrides?: Partial<Entity>): Entity;
134
- declare function createMonsterEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
135
- declare function createItemEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
136
- declare function createProjectileEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
137
- declare function createTriggerEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
138
-
139
130
  interface TraceMock extends Partial<TraceResult> {
140
131
  fraction: number;
141
132
  endpos: Vec3$1;
@@ -158,6 +149,20 @@ interface SurfaceMock {
158
149
  }
159
150
  declare const createSurfaceMock: (overrides?: Partial<SurfaceMock>) => SurfaceMock;
160
151
 
152
+ declare function createConfigStringMock(index: number, value: string): ConfigStringEntry;
153
+ declare function createConfigStringArrayMock(entries?: Record<number, string>): ConfigStringEntry[];
154
+ declare function createCvarMock(name: string, value: string, flags?: number): Cvar;
155
+
156
+ declare const createPlayerStateFactory: (overrides?: Partial<PlayerState>) => PlayerState;
157
+ declare const createEntityStateFactory: (overrides?: Partial<EntityState>) => EntityState;
158
+ declare const createGameStateSnapshotFactory: (overrides?: Partial<GameStateSnapshot>) => GameStateSnapshot;
159
+ declare function createEntityFactory(overrides?: Partial<Entity>): Entity;
160
+ declare function createPlayerEntityFactory(overrides?: Partial<Entity>): Entity;
161
+ declare function createMonsterEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
162
+ declare function createItemEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
163
+ declare function createProjectileEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
164
+ declare function createTriggerEntityFactory(classname: string, overrides?: Partial<Entity>): Entity;
165
+
161
166
  interface MockEngine {
162
167
  sound: Mock<[Entity, number, string, number, number, number], void>;
163
168
  soundIndex: Mock<[string], number>;
@@ -775,54 +780,15 @@ declare function createMockImageData(width: number, height: number, fillColor?:
775
780
  */
776
781
  declare function createMockImage(width?: number, height?: number, src?: string): HTMLImageElement;
777
782
 
778
- interface MockGPUAdapterOptions {
779
- features?: Set<string>;
780
- limits?: Record<string, number>;
781
- }
782
- declare function createMockGPUAdapter(options?: MockGPUAdapterOptions): {
783
- features: {
784
- has: (feature: string) => boolean;
785
- [Symbol.iterator]: () => SetIterator<string>;
786
- };
787
- limits: Record<string, number>;
788
- requestDevice: vitest.Mock<any, any>;
789
- };
790
- declare function createMockGPUDevice(descriptor?: any): {
791
- features: {
792
- has: (feature: string) => boolean;
793
- [Symbol.iterator]: () => SetIterator<unknown>;
794
- };
795
- limits: any;
796
- queue: {
797
- submit: vitest.Mock<any, any>;
798
- writeBuffer: vitest.Mock<any, any>;
799
- writeTexture: vitest.Mock<any, any>;
800
- };
801
- createCommandEncoder: vitest.Mock<any, any>;
802
- createBindGroup: vitest.Mock<any, any>;
803
- createBindGroupLayout: vitest.Mock<any, any>;
804
- createPipelineLayout: vitest.Mock<any, any>;
805
- createRenderPipeline: vitest.Mock<any, any>;
806
- createShaderModule: vitest.Mock<any, any>;
807
- createBuffer: vitest.Mock<any, any>;
808
- createTexture: vitest.Mock<any, any>;
809
- createSampler: vitest.Mock<any, any>;
810
- lost: Promise<unknown>;
811
- destroy: vitest.Mock<any, any>;
812
- };
783
+ declare function createMockGPUAdapter(): GPUAdapter;
784
+ declare function createMockGPUDevice(): GPUDevice;
785
+ declare function createMockGPUCanvasContext(): GPUCanvasContext;
813
786
  declare function setupWebGPUMocks(): {
814
- gpu: {
787
+ mockGpu: {
815
788
  requestAdapter: vitest.Mock<any, any>;
816
789
  getPreferredCanvasFormat: vitest.Mock<any, any>;
817
790
  };
818
- adapter: {
819
- features: {
820
- has: (feature: string) => boolean;
821
- [Symbol.iterator]: () => SetIterator<string>;
822
- };
823
- limits: Record<string, number>;
824
- requestDevice: vitest.Mock<any, any>;
825
- };
791
+ mockAdapter: GPUAdapter;
826
792
  };
827
793
 
828
794
  /**
@@ -1321,4 +1287,4 @@ interface VisualScenario {
1321
1287
  */
1322
1288
  declare function createVisualTestScenario(sceneName: string): VisualScenario;
1323
1289
 
1324
- 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 MessageReaderMock, type MessageWriterMock, type MockAI, type MockCollisionEntityIndex, type MockDamageInfo, type MockEngine, type MockGPUAdapterOptions, type MockGame, type MockMonsterAI, MockNetworkTransport, MockPointerLock, type MockRAF, type MockRConClient, type MockRenderingContext, type MockServer, type MockServerConsole, type MockServerContext, MockTransport, type MockUDPSocket, MockWebGL2RenderingContext, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkSimulator, type NodeSetupOptions, type PacketMock, type PlaywrightOptions, type PlaywrightTestClient, type RateLimiter, type RecordedPacket, type RefDef, type ServerInfo, type ServerListFilter, type Snapshot, type StorageScenario, type TestContext, type Transform, type UserInfo, type ViewScenario, type ViewState, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createBounds, createCombatTestContext, createControlledTimer, createCustomNetworkCondition, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameStateSnapshotFactory, createInputInjector, createItemEntityFactory, createMessageReaderMock, createMessageWriterMock, createMockAI, createMockAmmoItem, createMockArmorItem, createMockCamera, createMockCanvas, createMockCanvasContext2D, createMockCollisionEntityIndex, createMockConnection, createMockDamageInfo, createMockEngine, createMockGPUAdapter, 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, createMockRenderingContext, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockViewState, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMockWheelEvent, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPacketMock, createPhysicsTestContext, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createProjectileEntityFactory, createServerSnapshot, createSpawnTestContext, createStorageTestScenario, createSurfaceMock, createTestContext, createTraceMock, createTransform, createTriggerEntityFactory, createVector3, createViewTestScenario, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, randomVector3, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateCameraMovement, simulateFrames, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, teardownNodeEnvironment, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
1290
+ 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 MessageReaderMock, type MessageWriterMock, type MockAI, type MockCollisionEntityIndex, type MockDamageInfo, type MockEngine, type MockGame, type MockMonsterAI, MockNetworkTransport, MockPointerLock, type MockRAF, type MockRConClient, type MockRenderingContext, type MockServer, type MockServerConsole, type MockServerContext, MockTransport, type MockUDPSocket, MockWebGL2RenderingContext, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkSimulator, type NodeSetupOptions, type PacketMock, type PlaywrightOptions, type PlaywrightTestClient, type RateLimiter, type RecordedPacket, type RefDef, type ServerInfo, type ServerListFilter, type Snapshot, type StorageScenario, type SurfaceMock, type TestContext, type TraceMock, type Transform, type UserInfo, type ViewScenario, type ViewState, type VisualDiff, type VisualScenario, captureAudioEvents, captureCanvasDrawCalls, captureGameScreenshot, captureGameState, compareScreenshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createBounds, createCombatTestContext, createConfigStringArrayMock, createConfigStringMock, createControlledTimer, createCustomNetworkCondition, createCvarMock, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameStateSnapshotFactory, createInputInjector, createItemEntityFactory, createMessageReaderMock, createMessageWriterMock, createMockAI, createMockAmmoItem, createMockArmorItem, 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, createMockRenderingContext, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockViewState, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMockWheelEvent, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPacketMock, createPhysicsTestContext, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createProjectileEntityFactory, createServerSnapshot, createSpawnTestContext, createStorageTestScenario, createSurfaceMock, createTestContext, createTraceMock, createTransform, createTriggerEntityFactory, createVector3, createViewTestScenario, createVisualTestScenario, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, randomVector3, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateCameraMovement, simulateFrames, simulateHandshake, simulateNetworkCondition, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, teardownBrowserEnvironment, teardownMockAudioContext, teardownNodeEnvironment, throttleBandwidth, verifySnapshotConsistency, waitForGameReady };
@@ -210,6 +210,50 @@ var randomVector3 = (min2 = -100, max2 = 100) => ({
210
210
  z: Math.random() * (max2 - min2) + min2
211
211
  });
212
212
 
213
+ // src/shared/collision.ts
214
+ import { intersects, stairTrace, ladderTrace } from "@quake2ts/shared";
215
+ var createTraceMock = (overrides) => ({
216
+ fraction: 1,
217
+ endpos: { x: 0, y: 0, z: 0 },
218
+ plane: { normal: { x: 0, y: 0, z: 0 }, dist: 0, type: 0, signbits: 0 },
219
+ surface: { flags: 0 },
220
+ contents: 0,
221
+ ent: null,
222
+ allsolid: false,
223
+ startsolid: false,
224
+ ...overrides
225
+ });
226
+ var createSurfaceMock = (overrides) => ({
227
+ flags: 0,
228
+ name: "default",
229
+ value: 0,
230
+ ...overrides
231
+ });
232
+
233
+ // src/shared/factories.ts
234
+ import { Cvar } from "@quake2ts/engine";
235
+ import { CvarFlags } from "@quake2ts/shared";
236
+ import { Cvar as Cvar2 } from "@quake2ts/engine";
237
+ function createConfigStringMock(index, value) {
238
+ return { index, value };
239
+ }
240
+ function createConfigStringArrayMock(entries) {
241
+ const result = [];
242
+ if (entries) {
243
+ for (const [key, value] of Object.entries(entries)) {
244
+ result.push({ index: Number(key), value });
245
+ }
246
+ }
247
+ return result;
248
+ }
249
+ function createCvarMock(name, value, flags = CvarFlags.None) {
250
+ return new Cvar({
251
+ name,
252
+ defaultValue: value,
253
+ flags
254
+ });
255
+ }
256
+
213
257
  // src/game/factories.ts
214
258
  import {
215
259
  Entity,
@@ -372,28 +416,6 @@ function createTriggerEntityFactory(classname, overrides = {}) {
372
416
  import { vi as vi2 } from "vitest";
373
417
  import { Entity as Entity2, SpawnRegistry, ScriptHookRegistry } from "@quake2ts/game";
374
418
  import { createRandomGenerator } from "@quake2ts/shared";
375
-
376
- // src/shared/collision.ts
377
- import { intersects, stairTrace, ladderTrace } from "@quake2ts/shared";
378
- var createTraceMock = (overrides) => ({
379
- fraction: 1,
380
- endpos: { x: 0, y: 0, z: 0 },
381
- plane: { normal: { x: 0, y: 0, z: 0 }, dist: 0, type: 0, signbits: 0 },
382
- surface: { flags: 0 },
383
- contents: 0,
384
- ent: null,
385
- allsolid: false,
386
- startsolid: false,
387
- ...overrides
388
- });
389
- var createSurfaceMock = (overrides) => ({
390
- flags: 0,
391
- name: "default",
392
- value: 0,
393
- ...overrides
394
- });
395
-
396
- // src/game/helpers.ts
397
419
  var createMockEngine = () => ({
398
420
  sound: vi2.fn(),
399
421
  soundIndex: vi2.fn((sound) => 0),
@@ -2109,81 +2131,66 @@ function createMockImage(width = 100, height = 100, src = "") {
2109
2131
 
2110
2132
  // src/engine/mocks/webgpu.ts
2111
2133
  import { vi as vi11 } from "vitest";
2112
- function createMockGPUAdapter(options = {}) {
2113
- const features = new Set(options.features || []);
2134
+ function createMockGPUAdapter() {
2114
2135
  return {
2115
- features: {
2116
- has: (feature) => features.has(feature),
2117
- [Symbol.iterator]: features[Symbol.iterator].bind(features)
2118
- },
2119
- limits: options.limits || {
2136
+ features: /* @__PURE__ */ new Set(),
2137
+ limits: {
2120
2138
  maxTextureDimension2D: 8192,
2121
2139
  maxBindGroups: 4,
2122
- maxUniformBufferBindingSize: 16384,
2140
+ maxUniformBufferBindingSize: 65536,
2123
2141
  maxStorageBufferBindingSize: 134217728
2124
2142
  },
2125
- requestDevice: vi11.fn().mockImplementation(async (descriptor) => createMockGPUDevice(descriptor))
2143
+ requestDevice: vi11.fn().mockResolvedValue(createMockGPUDevice())
2126
2144
  };
2127
2145
  }
2128
- function createMockGPUDevice(descriptor = {}) {
2129
- const features = new Set(descriptor?.requiredFeatures || []);
2146
+ function createMockGPUDevice() {
2130
2147
  return {
2131
- features: {
2132
- has: (feature) => features.has(feature),
2133
- [Symbol.iterator]: features[Symbol.iterator].bind(features)
2134
- },
2148
+ features: /* @__PURE__ */ new Set(),
2135
2149
  limits: {
2136
- maxTextureDimension2D: 8192,
2137
- maxBindGroups: 4,
2138
- maxUniformBufferBindingSize: 16384,
2139
- maxStorageBufferBindingSize: 134217728,
2140
- ...descriptor?.requiredLimits
2141
- },
2142
- queue: {
2143
- submit: vi11.fn(),
2144
- writeBuffer: vi11.fn(),
2145
- writeTexture: vi11.fn()
2150
+ maxTextureDimension2D: 8192
2146
2151
  },
2147
- createCommandEncoder: vi11.fn().mockReturnValue({
2148
- beginRenderPass: vi11.fn().mockReturnValue({
2149
- setPipeline: vi11.fn(),
2150
- setBindGroup: vi11.fn(),
2151
- setVertexBuffer: vi11.fn(),
2152
- setIndexBuffer: vi11.fn(),
2153
- draw: vi11.fn(),
2154
- drawIndexed: vi11.fn(),
2155
- end: vi11.fn()
2156
- }),
2157
- copyTextureToBuffer: vi11.fn(),
2158
- finish: vi11.fn()
2152
+ lost: new Promise(() => {
2159
2153
  }),
2160
- createBindGroup: vi11.fn(),
2154
+ // Pending promise
2155
+ createShaderModule: vi11.fn(),
2161
2156
  createBindGroupLayout: vi11.fn(),
2162
2157
  createPipelineLayout: vi11.fn(),
2163
2158
  createRenderPipeline: vi11.fn(),
2164
- createShaderModule: vi11.fn(),
2159
+ createCommandEncoder: vi11.fn().mockReturnValue({
2160
+ copyTextureToBuffer: vi11.fn(),
2161
+ finish: vi11.fn()
2162
+ }),
2165
2163
  createBuffer: vi11.fn(),
2166
2164
  createTexture: vi11.fn().mockReturnValue({
2167
- createView: vi11.fn(),
2168
- width: descriptor?.size?.width || 0,
2169
- height: descriptor?.size?.height || 0
2170
- }),
2171
- createSampler: vi11.fn(),
2172
- lost: new Promise((resolve) => {
2165
+ createView: vi11.fn()
2173
2166
  }),
2174
- // Never resolves by default
2175
- destroy: vi11.fn()
2167
+ queue: {
2168
+ submit: vi11.fn(),
2169
+ writeBuffer: vi11.fn(),
2170
+ writeTexture: vi11.fn()
2171
+ }
2172
+ };
2173
+ }
2174
+ function createMockGPUCanvasContext() {
2175
+ return {
2176
+ configure: vi11.fn(),
2177
+ getCurrentTexture: vi11.fn()
2176
2178
  };
2177
2179
  }
2178
2180
  function setupWebGPUMocks() {
2179
- const adapter = createMockGPUAdapter();
2180
- const gpu = {
2181
- requestAdapter: vi11.fn().mockResolvedValue(adapter),
2181
+ const mockAdapter = createMockGPUAdapter();
2182
+ const mockGpu = {
2183
+ requestAdapter: vi11.fn().mockResolvedValue(mockAdapter),
2182
2184
  getPreferredCanvasFormat: vi11.fn().mockReturnValue("bgra8unorm")
2183
2185
  };
2184
- global.navigator = global.navigator || {};
2185
- global.navigator.gpu = gpu;
2186
- if (!global.GPUTextureUsage) {
2186
+ Object.defineProperty(global, "navigator", {
2187
+ value: {
2188
+ ...global.navigator,
2189
+ gpu: mockGpu
2190
+ },
2191
+ writable: true
2192
+ });
2193
+ if (typeof GPUTextureUsage === "undefined") {
2187
2194
  global.GPUTextureUsage = {
2188
2195
  COPY_SRC: 1,
2189
2196
  COPY_DST: 2,
@@ -2192,7 +2199,7 @@ function setupWebGPUMocks() {
2192
2199
  RENDER_ATTACHMENT: 16
2193
2200
  };
2194
2201
  }
2195
- if (!global.GPUBufferUsage) {
2202
+ if (typeof GPUBufferUsage === "undefined") {
2196
2203
  global.GPUBufferUsage = {
2197
2204
  MAP_READ: 1,
2198
2205
  MAP_WRITE: 2,
@@ -2206,13 +2213,16 @@ function setupWebGPUMocks() {
2206
2213
  QUERY_RESOLVE: 512
2207
2214
  };
2208
2215
  }
2209
- if (!global.GPUMapMode) {
2216
+ if (typeof GPUMapMode === "undefined") {
2210
2217
  global.GPUMapMode = {
2211
2218
  READ: 1,
2212
2219
  WRITE: 2
2213
2220
  };
2214
2221
  }
2215
- return { gpu, adapter };
2222
+ return {
2223
+ mockGpu,
2224
+ mockAdapter
2225
+ };
2216
2226
  }
2217
2227
 
2218
2228
  // src/setup/timing.ts
@@ -3104,6 +3114,7 @@ function createVisualTestScenario(sceneName) {
3104
3114
  };
3105
3115
  }
3106
3116
  export {
3117
+ Cvar2 as Cvar,
3107
3118
  HandshakeStage,
3108
3119
  InputInjector,
3109
3120
  MockNetworkTransport,
@@ -3120,8 +3131,11 @@ export {
3120
3131
  createBinaryWriterMock,
3121
3132
  createBounds,
3122
3133
  createCombatTestContext,
3134
+ createConfigStringArrayMock,
3135
+ createConfigStringMock,
3123
3136
  createControlledTimer,
3124
3137
  createCustomNetworkCondition,
3138
+ createCvarMock,
3125
3139
  createDeltaSnapshot,
3126
3140
  createEntity,
3127
3141
  createEntityFactory,
@@ -3142,6 +3156,7 @@ export {
3142
3156
  createMockDamageInfo,
3143
3157
  createMockEngine,
3144
3158
  createMockGPUAdapter,
3159
+ createMockGPUCanvasContext,
3145
3160
  createMockGPUDevice,
3146
3161
  createMockGame,
3147
3162
  createMockGameExports,