quake2ts 0.0.557 → 0.0.562
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 +3 -1
- package/packages/client/dist/browser/index.global.js +15 -15
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +343 -1
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +343 -1
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/client/dist/types/index.d.ts.map +1 -1
- package/packages/client/dist/types/net/connection.d.ts +2 -0
- package/packages/client/dist/types/net/connection.d.ts.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/render/bloom.d.ts +19 -0
- package/packages/engine/dist/types/render/bloom.d.ts.map +1 -0
- package/packages/engine/dist/types/render/frame.d.ts +2 -0
- package/packages/engine/dist/types/render/frame.d.ts.map +1 -1
- package/packages/engine/dist/types/render/renderer.d.ts +2 -0
- package/packages/engine/dist/types/render/renderer.d.ts.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/server/dist/client.d.ts +51 -0
- package/packages/server/dist/client.js +100 -0
- package/packages/server/dist/dedicated.d.ts +69 -0
- package/packages/server/dist/dedicated.js +1013 -0
- package/packages/server/dist/index.cjs +27 -2
- package/packages/server/dist/index.d.ts +7 -161
- package/packages/server/dist/index.js +26 -2
- package/packages/server/dist/net/nodeWsDriver.d.ts +16 -0
- package/packages/server/dist/net/nodeWsDriver.js +122 -0
- package/packages/server/dist/protocol/player.d.ts +23 -0
- package/packages/server/dist/protocol/player.js +137 -0
- package/packages/server/dist/protocol/write.d.ts +7 -0
- package/packages/server/dist/protocol/write.js +167 -0
- package/packages/server/dist/protocol.d.ts +17 -0
- package/packages/server/dist/protocol.js +71 -0
- package/packages/server/dist/server.d.ts +50 -0
- package/packages/server/dist/server.js +12 -0
- package/packages/server/dist/server.test.d.ts +1 -0
- package/packages/server/dist/server.test.js +69 -0
- package/packages/server/dist/transport.d.ts +7 -0
- package/packages/server/dist/transport.js +1 -0
- package/packages/server/dist/transports/websocket.d.ts +11 -0
- package/packages/server/dist/transports/websocket.js +38 -0
- package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/test-utils/dist/index.cjs +498 -284
- package/packages/test-utils/dist/index.cjs.map +1 -1
- package/packages/test-utils/dist/index.d.cts +215 -146
- package/packages/test-utils/dist/index.d.ts +215 -146
- package/packages/test-utils/dist/index.js +488 -278
- package/packages/test-utils/dist/index.js.map +1 -1
- package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/server/dist/index.d.cts +0 -161
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import * as vitest from 'vitest';
|
|
1
2
|
import { Mock } from 'vitest';
|
|
2
|
-
import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, CollisionModel, PlayerState, EntityState, createRandomGenerator } from '@quake2ts/shared';
|
|
3
|
+
import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, CollisionModel, PlayerState, EntityState, createRandomGenerator, NetDriver } from '@quake2ts/shared';
|
|
3
4
|
export { intersects, ladderTrace, stairTrace } from '@quake2ts/shared';
|
|
4
5
|
import { GameStateSnapshot, Entity, ScriptHookRegistry, SpawnContext, EntitySystem, SpawnRegistry } from '@quake2ts/game';
|
|
6
|
+
import { NetworkTransport, Server, ServerStatic, Client } from '@quake2ts/server';
|
|
5
7
|
import { ImageData } from '@napi-rs/canvas';
|
|
6
|
-
import { Browser, BrowserContext, Page } from 'playwright';
|
|
8
|
+
import { LaunchOptions, BrowserContextOptions, Browser, BrowserContext, Page } from 'playwright';
|
|
9
|
+
import { Server as Server$1 } from 'http';
|
|
7
10
|
|
|
8
11
|
interface BinaryWriterMock {
|
|
9
12
|
writeByte: Mock<[number], void>;
|
|
@@ -129,6 +132,141 @@ declare function createTestContext(options?: {
|
|
|
129
132
|
declare function createSpawnContext(): SpawnContext;
|
|
130
133
|
declare function createEntity(): Entity;
|
|
131
134
|
|
|
135
|
+
interface GameState {
|
|
136
|
+
levelName: string;
|
|
137
|
+
time: number;
|
|
138
|
+
entities: Entity[];
|
|
139
|
+
clients: any[];
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Creates a mock game state object.
|
|
143
|
+
* @param overrides Optional overrides for the game state.
|
|
144
|
+
*/
|
|
145
|
+
declare function createMockGameState(overrides?: Partial<GameState>): GameState;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Mock implementation of the NetworkTransport interface for server testing.
|
|
149
|
+
* Allows simulating connections and errors.
|
|
150
|
+
*/
|
|
151
|
+
declare class MockTransport implements NetworkTransport {
|
|
152
|
+
onConnectionCallback?: (driver: NetDriver, info?: any) => void;
|
|
153
|
+
onErrorCallback?: (error: Error) => void;
|
|
154
|
+
address: string;
|
|
155
|
+
port: number;
|
|
156
|
+
sentMessages: Uint8Array[];
|
|
157
|
+
receivedMessages: Uint8Array[];
|
|
158
|
+
listening: boolean;
|
|
159
|
+
listenSpy: vitest.Mock<any, any>;
|
|
160
|
+
closeSpy: vitest.Mock<any, any>;
|
|
161
|
+
/**
|
|
162
|
+
* Start listening on the specified port.
|
|
163
|
+
*/
|
|
164
|
+
listen(port: number): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Close the transport.
|
|
167
|
+
*/
|
|
168
|
+
close(): void;
|
|
169
|
+
/**
|
|
170
|
+
* Register a callback for new connections.
|
|
171
|
+
*/
|
|
172
|
+
onConnection(callback: (driver: NetDriver, info?: any) => void): void;
|
|
173
|
+
/**
|
|
174
|
+
* Register a callback for errors.
|
|
175
|
+
*/
|
|
176
|
+
onError(callback: (error: Error) => void): void;
|
|
177
|
+
/**
|
|
178
|
+
* Check if the transport is currently listening.
|
|
179
|
+
*/
|
|
180
|
+
isListening(): boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Helper to simulate a new connection.
|
|
183
|
+
* @param driver The network driver for the connection.
|
|
184
|
+
* @param info Optional connection info.
|
|
185
|
+
*/
|
|
186
|
+
simulateConnection(driver: NetDriver, info?: any): void;
|
|
187
|
+
/**
|
|
188
|
+
* Helper to simulate an error.
|
|
189
|
+
* @param error The error to simulate.
|
|
190
|
+
*/
|
|
191
|
+
simulateError(error: Error): void;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Interface for mock UDP socket.
|
|
195
|
+
* This is a partial mock of Node.js dgram.Socket or similar.
|
|
196
|
+
*/
|
|
197
|
+
interface MockUDPSocket {
|
|
198
|
+
send: (msg: Uint8Array, offset: number, length: number, port: number, address: string, callback?: (error: Error | null, bytes: number) => void) => void;
|
|
199
|
+
on: (event: string, callback: (...args: any[]) => void) => void;
|
|
200
|
+
close: () => void;
|
|
201
|
+
bind: (port: number, address?: string) => void;
|
|
202
|
+
address: () => {
|
|
203
|
+
address: string;
|
|
204
|
+
family: string;
|
|
205
|
+
port: number;
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Creates a mock UDP socket.
|
|
210
|
+
* @param overrides Optional overrides for the socket methods.
|
|
211
|
+
*/
|
|
212
|
+
declare function createMockUDPSocket(overrides?: Partial<MockUDPSocket>): MockUDPSocket;
|
|
213
|
+
/**
|
|
214
|
+
* Interface for network address.
|
|
215
|
+
*/
|
|
216
|
+
interface NetworkAddress {
|
|
217
|
+
ip: string;
|
|
218
|
+
port: number;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Creates a mock network address.
|
|
222
|
+
* @param ip IP address (default: '127.0.0.1')
|
|
223
|
+
* @param port Port number (default: 27910)
|
|
224
|
+
*/
|
|
225
|
+
declare function createMockNetworkAddress(ip?: string, port?: number): NetworkAddress;
|
|
226
|
+
/**
|
|
227
|
+
* Creates a configured MockTransport instance.
|
|
228
|
+
* @param address Address to bind to (default: '127.0.0.1')
|
|
229
|
+
* @param port Port to listen on (default: 27910)
|
|
230
|
+
* @param overrides Optional overrides for the transport properties.
|
|
231
|
+
*/
|
|
232
|
+
declare function createMockTransport(address?: string, port?: number, overrides?: Partial<MockTransport>): MockTransport;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Creates a mock server state object.
|
|
236
|
+
* @param overrides Optional overrides for the server state.
|
|
237
|
+
*/
|
|
238
|
+
declare function createMockServerState(overrides?: Partial<Server>): Server;
|
|
239
|
+
/**
|
|
240
|
+
* Creates a mock server static object.
|
|
241
|
+
* @param maxClients Maximum number of clients.
|
|
242
|
+
* @param overrides Optional overrides for the server static state.
|
|
243
|
+
*/
|
|
244
|
+
declare function createMockServerStatic(maxClients?: number, overrides?: Partial<ServerStatic>): ServerStatic;
|
|
245
|
+
/**
|
|
246
|
+
* Creates a mock server client.
|
|
247
|
+
* @param clientNum The client index.
|
|
248
|
+
* @param overrides Optional overrides for the client.
|
|
249
|
+
*/
|
|
250
|
+
declare function createMockServerClient(clientNum: number, overrides?: Partial<Client>): Client;
|
|
251
|
+
/**
|
|
252
|
+
* Mock interface for the Server class (DedicatedServer).
|
|
253
|
+
* This allows mocking the server instance itself.
|
|
254
|
+
*/
|
|
255
|
+
interface MockServer {
|
|
256
|
+
start(mapName: string): Promise<void>;
|
|
257
|
+
stop(): void;
|
|
258
|
+
multicast(origin: any, type: any, event: any, ...args: any[]): void;
|
|
259
|
+
unicast(ent: Entity, reliable: boolean, event: any, ...args: any[]): void;
|
|
260
|
+
configstring(index: number, value: string): void;
|
|
261
|
+
kickPlayer(clientId: number): void;
|
|
262
|
+
changeMap(mapName: string): Promise<void>;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Creates a mock server instance.
|
|
266
|
+
* @param overrides Optional overrides for server methods.
|
|
267
|
+
*/
|
|
268
|
+
declare function createMockServer(overrides?: Partial<MockServer>): MockServer;
|
|
269
|
+
|
|
132
270
|
interface BrowserSetupOptions {
|
|
133
271
|
url?: string;
|
|
134
272
|
pretendToBeVisual?: boolean;
|
|
@@ -146,14 +284,6 @@ declare function setupBrowserEnvironment(options?: BrowserSetupOptions): void;
|
|
|
146
284
|
*/
|
|
147
285
|
declare function teardownBrowserEnvironment(): void;
|
|
148
286
|
|
|
149
|
-
/**
|
|
150
|
-
* Sets up a Node.js environment for testing.
|
|
151
|
-
* This is primarily for backend or shared logic that doesn't rely on browser APIs.
|
|
152
|
-
*/
|
|
153
|
-
declare function setupNodeEnvironment(): void;
|
|
154
|
-
|
|
155
|
-
declare function createMockWebGL2Context(canvas: HTMLCanvasElement): WebGL2RenderingContext;
|
|
156
|
-
|
|
157
287
|
interface DrawCall {
|
|
158
288
|
method: string;
|
|
159
289
|
args: any[];
|
|
@@ -180,39 +310,13 @@ declare function createMockImageData(width: number, height: number, fillColor?:
|
|
|
180
310
|
*/
|
|
181
311
|
declare function createMockImage(width?: number, height?: number, src?: string): HTMLImageElement;
|
|
182
312
|
|
|
183
|
-
interface MockRAF {
|
|
184
|
-
tick(timestamp?: number): void;
|
|
185
|
-
advance(deltaMs?: number): void;
|
|
186
|
-
getCallbacks(): FrameRequestCallback[];
|
|
187
|
-
reset(): void;
|
|
188
|
-
enable(): void;
|
|
189
|
-
disable(): void;
|
|
190
|
-
}
|
|
191
313
|
/**
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*/
|
|
195
|
-
declare function createMockRAF(): MockRAF;
|
|
196
|
-
/**
|
|
197
|
-
* Creates a mock Performance object with controllable time.
|
|
198
|
-
*/
|
|
199
|
-
declare function createMockPerformance(startTime?: number): Performance;
|
|
200
|
-
interface ControlledTimer {
|
|
201
|
-
tick(): void;
|
|
202
|
-
advanceBy(ms: number): void;
|
|
203
|
-
clear(): void;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Helper to simulate multiple frames of a game loop.
|
|
207
|
-
* @param count Number of frames to simulate
|
|
208
|
-
* @param frameTimeMs Time per frame in milliseconds
|
|
209
|
-
* @param callback Optional callback to run inside the loop (e.g. triggering inputs)
|
|
210
|
-
*/
|
|
211
|
-
declare function simulateFrames(count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
|
|
212
|
-
/**
|
|
213
|
-
* Simulates frames using a provided MockRAF controller.
|
|
314
|
+
* Sets up a Node.js environment for testing.
|
|
315
|
+
* This is primarily for backend or shared logic that doesn't rely on browser APIs.
|
|
214
316
|
*/
|
|
215
|
-
declare function
|
|
317
|
+
declare function setupNodeEnvironment(): void;
|
|
318
|
+
|
|
319
|
+
declare function createMockWebGL2Context(canvas: HTMLCanvasElement): WebGL2RenderingContext;
|
|
216
320
|
|
|
217
321
|
/**
|
|
218
322
|
* Creates a mock Storage implementation (localStorage/sessionStorage).
|
|
@@ -259,128 +363,93 @@ interface AudioEvent {
|
|
|
259
363
|
*/
|
|
260
364
|
declare function captureAudioEvents(context: AudioContext): AudioEvent[];
|
|
261
365
|
|
|
262
|
-
|
|
263
|
-
|
|
366
|
+
interface MockRAF {
|
|
367
|
+
tick(timestamp?: number): void;
|
|
368
|
+
advance(deltaMs?: number): void;
|
|
369
|
+
getCallbacks(): FrameRequestCallback[];
|
|
370
|
+
reset(): void;
|
|
371
|
+
enable(): void;
|
|
372
|
+
disable(): void;
|
|
264
373
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
374
|
+
/**
|
|
375
|
+
* Creates a mock implementation of requestAnimationFrame that allows manual control.
|
|
376
|
+
* It replaces the global requestAnimationFrame and cancelAnimationFrame.
|
|
377
|
+
*/
|
|
378
|
+
declare function createMockRAF(): MockRAF;
|
|
379
|
+
/**
|
|
380
|
+
* Creates a mock Performance object with controllable time.
|
|
381
|
+
*/
|
|
382
|
+
declare function createMockPerformance(startTime?: number): Performance;
|
|
383
|
+
interface ControlledTimer {
|
|
384
|
+
tick(): void;
|
|
385
|
+
advanceBy(ms: number): void;
|
|
386
|
+
clear(): void;
|
|
387
|
+
restore(): void;
|
|
275
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* Creates a controlled timer that replaces global setTimeout/setInterval.
|
|
391
|
+
* Allows deterministic time advancement.
|
|
392
|
+
*/
|
|
393
|
+
declare function createControlledTimer(): ControlledTimer;
|
|
394
|
+
/**
|
|
395
|
+
* Helper to simulate multiple frames of a game loop.
|
|
396
|
+
* @param count Number of frames to simulate
|
|
397
|
+
* @param frameTimeMs Time per frame in milliseconds
|
|
398
|
+
* @param callback Optional callback to run inside the loop (e.g. triggering inputs)
|
|
399
|
+
*/
|
|
400
|
+
declare function simulateFrames(count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
|
|
401
|
+
/**
|
|
402
|
+
* Simulates frames using a provided MockRAF controller.
|
|
403
|
+
*/
|
|
404
|
+
declare function simulateFramesWithMock(mock: MockRAF, count: number, frameTimeMs?: number, callback?: (frameIndex: number) => void): void;
|
|
276
405
|
|
|
406
|
+
/**
|
|
407
|
+
* Interface for Test Client options
|
|
408
|
+
*/
|
|
277
409
|
interface PlaywrightOptions {
|
|
278
410
|
headless?: boolean;
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
size?: {
|
|
287
|
-
width: number;
|
|
288
|
-
height: number;
|
|
289
|
-
};
|
|
290
|
-
};
|
|
411
|
+
width?: number;
|
|
412
|
+
height?: number;
|
|
413
|
+
clientUrl?: string;
|
|
414
|
+
serverUrl?: string;
|
|
415
|
+
rootPath?: string;
|
|
416
|
+
launchOptions?: LaunchOptions;
|
|
417
|
+
contextOptions?: BrowserContextOptions;
|
|
291
418
|
}
|
|
292
419
|
interface PlaywrightTestClient {
|
|
293
420
|
browser: Browser;
|
|
294
421
|
context: BrowserContext;
|
|
295
422
|
page: Page;
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
close(): Promise<void>;
|
|
302
|
-
}
|
|
303
|
-
interface GameStateCapture {
|
|
304
|
-
origin?: {
|
|
305
|
-
x: number;
|
|
306
|
-
y: number;
|
|
307
|
-
z: number;
|
|
308
|
-
};
|
|
309
|
-
angles?: {
|
|
310
|
-
x: number;
|
|
311
|
-
y: number;
|
|
312
|
-
z: number;
|
|
313
|
-
};
|
|
314
|
-
health?: number;
|
|
423
|
+
server?: Server$1;
|
|
424
|
+
close: () => Promise<void>;
|
|
425
|
+
navigate: (url?: string) => Promise<void>;
|
|
426
|
+
waitForGame: (timeout?: number) => Promise<void>;
|
|
427
|
+
injectInput: (type: string, data: any) => Promise<void>;
|
|
315
428
|
}
|
|
316
429
|
/**
|
|
317
|
-
* Creates a Playwright
|
|
430
|
+
* Creates a Playwright-controlled browser environment for testing.
|
|
431
|
+
* Can start a static server to serve the game client if no clientUrl is provided.
|
|
318
432
|
*/
|
|
319
433
|
declare function createPlaywrightTestClient(options?: PlaywrightOptions): Promise<PlaywrightTestClient>;
|
|
320
|
-
/**
|
|
321
|
-
* Waits for the game to be ready on the provided page.
|
|
322
|
-
*/
|
|
323
434
|
declare function waitForGameReady(page: Page, timeout?: number): Promise<void>;
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
* Requires the game to expose state globally (e.g. window.game.state).
|
|
327
|
-
*/
|
|
328
|
-
declare function captureGameState(page: Page): Promise<GameStateCapture>;
|
|
329
|
-
|
|
330
|
-
interface NetworkSimulator {
|
|
331
|
-
apply(page: any): Promise<void>;
|
|
332
|
-
clear(page: any): Promise<void>;
|
|
333
|
-
}
|
|
334
|
-
type NetworkCondition = 'good' | 'slow' | 'unstable' | 'offline';
|
|
335
|
-
interface NetworkConfig {
|
|
336
|
-
offline: boolean;
|
|
337
|
-
downloadThroughput: number;
|
|
338
|
-
uploadThroughput: number;
|
|
339
|
-
latency: number;
|
|
435
|
+
interface GameStateCapture {
|
|
436
|
+
[key: string]: any;
|
|
340
437
|
}
|
|
341
|
-
|
|
342
|
-
* Simulates network conditions using Chrome DevTools Protocol (CDP) via Playwright.
|
|
343
|
-
*/
|
|
344
|
-
declare function simulateNetworkCondition(condition: NetworkCondition): NetworkSimulator;
|
|
345
|
-
/**
|
|
346
|
-
* Creates a custom network condition simulator.
|
|
347
|
-
*
|
|
348
|
-
* @param latency Latency in milliseconds
|
|
349
|
-
* @param jitter Approximate jitter (variation in latency) - Note: CDP doesn't support jitter natively, so this is just a placeholder or requires manual delay injection.
|
|
350
|
-
* @param packetLoss Packet loss percentage (0-100) - CDP doesn't strictly support packet loss, typically emulated via "offline" toggling or proxy. We will ignore for basic CDP emulation.
|
|
351
|
-
*/
|
|
352
|
-
declare function createCustomNetworkCondition(latency: number, jitter?: number, packetLoss?: number, baseConfig?: NetworkConfig): NetworkSimulator;
|
|
353
|
-
/**
|
|
354
|
-
* Throttles bandwidth for the given page.
|
|
355
|
-
*/
|
|
356
|
-
declare function throttleBandwidth(page: any, bytesPerSecond: number): Promise<void>;
|
|
438
|
+
declare function captureGameState(page: Page): Promise<GameStateCapture>;
|
|
357
439
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
diffPath?: string;
|
|
361
|
-
matched: boolean;
|
|
440
|
+
declare class MockPointerLock {
|
|
441
|
+
static setup(doc: Document): void;
|
|
362
442
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
* For now, we provide a basic placeholder or rely on simple buffer comparison if strict equality is needed,
|
|
374
|
-
* but visual regression usually requires tolerance.
|
|
375
|
-
*/
|
|
376
|
-
declare function compareScreenshots(baseline: Buffer, current: Buffer, threshold?: number): Promise<VisualDiff>;
|
|
377
|
-
interface VisualScenario {
|
|
378
|
-
capture(name: string): Promise<Buffer>;
|
|
379
|
-
compare(name: string, baselineDir: string): Promise<VisualDiff>;
|
|
443
|
+
declare class InputInjector {
|
|
444
|
+
private doc;
|
|
445
|
+
private win;
|
|
446
|
+
constructor(doc: Document, win: any);
|
|
447
|
+
keyDown(key: string, code?: string): void;
|
|
448
|
+
keyUp(key: string, code?: string): void;
|
|
449
|
+
mouseMove(movementX: number, movementY: number, clientX?: number, clientY?: number): void;
|
|
450
|
+
mouseDown(button?: number): void;
|
|
451
|
+
mouseUp(button?: number): void;
|
|
452
|
+
wheel(deltaY: number): void;
|
|
380
453
|
}
|
|
381
|
-
/**
|
|
382
|
-
* Creates a helper for visual regression testing scenarios.
|
|
383
|
-
*/
|
|
384
|
-
declare function createVisualTestScenario(page: Page, sceneName: string): VisualScenario;
|
|
385
454
|
|
|
386
|
-
export { type AudioEvent, type BinaryStreamMock, type BinaryWriterMock, type BrowserSetupOptions, type ControlledTimer, type DrawCall, type GameStateCapture, InputInjector, type MockEngine, type MockGame, MockPointerLock, type MockRAF, type
|
|
455
|
+
export { type AudioEvent, type BinaryStreamMock, type BinaryWriterMock, type BrowserSetupOptions, type ControlledTimer, type DrawCall, type GameState, type GameStateCapture, InputInjector, type MockEngine, type MockGame, MockPointerLock, type MockRAF, type MockServer, MockTransport, type MockUDPSocket, type NetworkAddress, type PlaywrightOptions, type PlaywrightTestClient, type StorageScenario, type TestContext, captureAudioEvents, captureCanvasDrawCalls, captureGameState, createBinaryStreamMock, createBinaryWriterMock, createControlledTimer, createEntity, createEntityStateFactory, createGameStateSnapshotFactory, createMockAudioContext, createMockCanvas, createMockCanvasContext2D, createMockEngine, createMockGame, createMockGameState, createMockImage, createMockImageData, createMockIndexedDB, createMockLocalStorage, createMockNetworkAddress, createMockPerformance, createMockRAF, createMockServer, createMockServerClient, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockTransport, createMockUDPSocket, createMockWebGL2Context, createNetChanMock, createPlayerStateFactory, createPlaywrightTestClient, createSpawnContext, createStorageTestScenario, createTestContext, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, simulateFrames, simulateFramesWithMock, teardownBrowserEnvironment, teardownMockAudioContext, waitForGameReady };
|