@quake2ts/test-utils 0.0.780 → 0.0.781
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/dist/index.cjs +199 -185
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +202 -192
- package/dist/index.d.ts +202 -192
- package/dist/index.js +199 -185
- package/dist/index.js.map +1 -1
- package/package.json +14 -14
- package/src/client/mocks/input.ts +3 -2
- package/src/engine/mocks/webgl.ts +11 -7
- package/src/engine/mocks/webgpu.ts +17 -8
- package/src/game/helpers.ts +30 -12
- package/src/game/mocks/combat.ts +20 -2
- package/src/server/mockNetDriver.ts +5 -4
- package/src/server/mocks/transport.ts +4 -3
- package/src/shared/mocks.ts +87 -55
- package/src/visual/animation-snapshots.ts +9 -4
- package/src/visual/snapshots.ts +6 -4
- package/src/vitest-compat.ts +17 -0
package/dist/index.d.ts
CHANGED
|
@@ -12,27 +12,33 @@ import { ImageData, Canvas } from '@napi-rs/canvas';
|
|
|
12
12
|
import { Browser, BrowserContext, Page } from 'playwright';
|
|
13
13
|
import { vec3 } from 'gl-matrix';
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Polyfill for the legacy Vitest Mock type which took [Args] and Return as generic arguments.
|
|
17
|
+
* usage: LegacyMock<[Arg1, Arg2], ReturnType>
|
|
18
|
+
*/
|
|
19
|
+
type LegacyMock<Args extends any[] = any[], Return = any> = Mock<(...args: Args) => Return>;
|
|
20
|
+
|
|
15
21
|
/**
|
|
16
22
|
* Interface for the BinaryWriter mock.
|
|
17
23
|
*/
|
|
18
24
|
interface BinaryWriterMock {
|
|
19
|
-
writeByte:
|
|
20
|
-
writeShort:
|
|
21
|
-
writeLong:
|
|
22
|
-
writeString:
|
|
23
|
-
writeBytes:
|
|
24
|
-
getBuffer:
|
|
25
|
-
reset:
|
|
26
|
-
writeInt8:
|
|
27
|
-
writeUint8:
|
|
28
|
-
writeInt16:
|
|
29
|
-
writeUint16:
|
|
30
|
-
writeInt32:
|
|
31
|
-
writeUint32:
|
|
32
|
-
writeFloat:
|
|
33
|
-
getData:
|
|
34
|
-
writePos:
|
|
35
|
-
writeDir:
|
|
25
|
+
writeByte: LegacyMock<[number], void>;
|
|
26
|
+
writeShort: LegacyMock<[number], void>;
|
|
27
|
+
writeLong: LegacyMock<[number], void>;
|
|
28
|
+
writeString: LegacyMock<[string], void>;
|
|
29
|
+
writeBytes: LegacyMock<[Uint8Array], void>;
|
|
30
|
+
getBuffer: LegacyMock<[], Uint8Array>;
|
|
31
|
+
reset: LegacyMock<[], void>;
|
|
32
|
+
writeInt8: LegacyMock<[number], void>;
|
|
33
|
+
writeUint8: LegacyMock<[number], void>;
|
|
34
|
+
writeInt16: LegacyMock<[number], void>;
|
|
35
|
+
writeUint16: LegacyMock<[number], void>;
|
|
36
|
+
writeInt32: LegacyMock<[number], void>;
|
|
37
|
+
writeUint32: LegacyMock<[number], void>;
|
|
38
|
+
writeFloat: LegacyMock<[number], void>;
|
|
39
|
+
getData: LegacyMock<[], Uint8Array>;
|
|
40
|
+
writePos: LegacyMock<[any], void>;
|
|
41
|
+
writeDir: LegacyMock<[any], void>;
|
|
36
42
|
}
|
|
37
43
|
/**
|
|
38
44
|
* Creates a mock BinaryWriter for testing binary data writing.
|
|
@@ -40,13 +46,7 @@ interface BinaryWriterMock {
|
|
|
40
46
|
* @returns A BinaryWriterMock object with all methods mocked using vi.fn().
|
|
41
47
|
*/
|
|
42
48
|
declare const createBinaryWriterMock: () => BinaryWriterMock;
|
|
43
|
-
|
|
44
|
-
* Creates a mock NetChan (Network Channel) for testing network communication.
|
|
45
|
-
* Includes mocks for sequencing, reliable messaging, and fragmentation.
|
|
46
|
-
*
|
|
47
|
-
* @returns A mocked NetChan object.
|
|
48
|
-
*/
|
|
49
|
-
declare const createNetChanMock: () => {
|
|
49
|
+
interface NetChanMock {
|
|
50
50
|
qport: number;
|
|
51
51
|
incomingSequence: number;
|
|
52
52
|
outgoingSequence: number;
|
|
@@ -57,7 +57,7 @@ declare const createNetChanMock: () => {
|
|
|
57
57
|
reliableMessage: BinaryWriterMock;
|
|
58
58
|
reliableLength: number;
|
|
59
59
|
fragmentSendOffset: number;
|
|
60
|
-
fragmentBuffer:
|
|
60
|
+
fragmentBuffer: any;
|
|
61
61
|
fragmentLength: number;
|
|
62
62
|
fragmentReceived: number;
|
|
63
63
|
lastReceived: number;
|
|
@@ -66,46 +66,53 @@ declare const createNetChanMock: () => {
|
|
|
66
66
|
type: string;
|
|
67
67
|
port: number;
|
|
68
68
|
};
|
|
69
|
-
setup:
|
|
70
|
-
reset:
|
|
71
|
-
transmit:
|
|
72
|
-
process:
|
|
73
|
-
canSendReliable:
|
|
74
|
-
writeReliableByte:
|
|
75
|
-
writeReliableShort:
|
|
76
|
-
writeReliableLong:
|
|
77
|
-
writeReliableString:
|
|
78
|
-
getReliableData:
|
|
79
|
-
needsKeepalive:
|
|
80
|
-
isTimedOut:
|
|
81
|
-
}
|
|
69
|
+
setup: LegacyMock;
|
|
70
|
+
reset: LegacyMock;
|
|
71
|
+
transmit: LegacyMock;
|
|
72
|
+
process: LegacyMock;
|
|
73
|
+
canSendReliable: LegacyMock<[], boolean>;
|
|
74
|
+
writeReliableByte: LegacyMock;
|
|
75
|
+
writeReliableShort: LegacyMock;
|
|
76
|
+
writeReliableLong: LegacyMock;
|
|
77
|
+
writeReliableString: LegacyMock;
|
|
78
|
+
getReliableData: LegacyMock<[], Uint8Array>;
|
|
79
|
+
needsKeepalive: LegacyMock<[], boolean>;
|
|
80
|
+
isTimedOut: LegacyMock<[], boolean>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Creates a mock NetChan (Network Channel) for testing network communication.
|
|
84
|
+
* Includes mocks for sequencing, reliable messaging, and fragmentation.
|
|
85
|
+
*
|
|
86
|
+
* @returns A mocked NetChan object.
|
|
87
|
+
*/
|
|
88
|
+
declare const createNetChanMock: () => NetChanMock;
|
|
82
89
|
/**
|
|
83
90
|
* Interface for the BinaryStream mock.
|
|
84
91
|
*/
|
|
85
92
|
interface BinaryStreamMock {
|
|
86
|
-
getPosition:
|
|
87
|
-
getReadPosition:
|
|
88
|
-
getLength:
|
|
89
|
-
getRemaining:
|
|
90
|
-
seek:
|
|
91
|
-
setReadPosition:
|
|
92
|
-
hasMore:
|
|
93
|
-
hasBytes:
|
|
94
|
-
readChar:
|
|
95
|
-
readByte:
|
|
96
|
-
readShort:
|
|
97
|
-
readUShort:
|
|
98
|
-
readLong:
|
|
99
|
-
readULong:
|
|
100
|
-
readFloat:
|
|
101
|
-
readString:
|
|
102
|
-
readStringLine:
|
|
103
|
-
readCoord:
|
|
104
|
-
readAngle:
|
|
105
|
-
readAngle16:
|
|
106
|
-
readData:
|
|
107
|
-
readPos:
|
|
108
|
-
readDir:
|
|
93
|
+
getPosition: LegacyMock<[], number>;
|
|
94
|
+
getReadPosition: LegacyMock<[], number>;
|
|
95
|
+
getLength: LegacyMock<[], number>;
|
|
96
|
+
getRemaining: LegacyMock<[], number>;
|
|
97
|
+
seek: LegacyMock<[number], void>;
|
|
98
|
+
setReadPosition: LegacyMock<[number], void>;
|
|
99
|
+
hasMore: LegacyMock<[], boolean>;
|
|
100
|
+
hasBytes: LegacyMock<[number], boolean>;
|
|
101
|
+
readChar: LegacyMock<[], number>;
|
|
102
|
+
readByte: LegacyMock<[], number>;
|
|
103
|
+
readShort: LegacyMock<[], number>;
|
|
104
|
+
readUShort: LegacyMock<[], number>;
|
|
105
|
+
readLong: LegacyMock<[], number>;
|
|
106
|
+
readULong: LegacyMock<[], number>;
|
|
107
|
+
readFloat: LegacyMock<[], number>;
|
|
108
|
+
readString: LegacyMock<[], string>;
|
|
109
|
+
readStringLine: LegacyMock<[], string>;
|
|
110
|
+
readCoord: LegacyMock<[], number>;
|
|
111
|
+
readAngle: LegacyMock<[], number>;
|
|
112
|
+
readAngle16: LegacyMock<[], number>;
|
|
113
|
+
readData: LegacyMock<[number], Uint8Array>;
|
|
114
|
+
readPos: LegacyMock<[], any>;
|
|
115
|
+
readDir: LegacyMock<[], any>;
|
|
109
116
|
}
|
|
110
117
|
/**
|
|
111
118
|
* Creates a mock BinaryStream for testing binary data reading.
|
|
@@ -117,8 +124,8 @@ declare const createBinaryStreamMock: () => BinaryStreamMock;
|
|
|
117
124
|
* Interface for MessageWriter mock, extending BinaryWriterMock with additional message-specific methods.
|
|
118
125
|
*/
|
|
119
126
|
interface MessageWriterMock extends BinaryWriterMock {
|
|
120
|
-
writeInt:
|
|
121
|
-
writeVector:
|
|
127
|
+
writeInt: LegacyMock<[number], void>;
|
|
128
|
+
writeVector: LegacyMock<[any], void>;
|
|
122
129
|
}
|
|
123
130
|
/**
|
|
124
131
|
* Creates a mock MessageWriter, aliasing writeInt to writeInt32 and writeVector to writePos.
|
|
@@ -131,8 +138,8 @@ declare const createMessageWriterMock: (overrides?: Partial<MessageWriterMock>)
|
|
|
131
138
|
* Interface for MessageReader mock, extending BinaryStreamMock with additional message-specific methods.
|
|
132
139
|
*/
|
|
133
140
|
interface MessageReaderMock extends BinaryStreamMock {
|
|
134
|
-
readInt:
|
|
135
|
-
readVector:
|
|
141
|
+
readInt: LegacyMock<[], number>;
|
|
142
|
+
readVector: LegacyMock<[], any>;
|
|
136
143
|
}
|
|
137
144
|
/**
|
|
138
145
|
* Creates a mock MessageReader, aliasing readInt to readLong and readVector to readPos.
|
|
@@ -350,21 +357,21 @@ declare function createProjectileEntityFactory(classname: string, overrides?: Pa
|
|
|
350
357
|
declare function createTriggerEntityFactory(classname: string, overrides?: Partial<Entity>): Partial<Entity>;
|
|
351
358
|
|
|
352
359
|
interface MockEngine {
|
|
353
|
-
sound:
|
|
354
|
-
soundIndex:
|
|
355
|
-
modelIndex:
|
|
356
|
-
centerprintf:
|
|
360
|
+
sound: LegacyMock<[Entity, number, string, number, number, number], void>;
|
|
361
|
+
soundIndex: LegacyMock<[string], number>;
|
|
362
|
+
modelIndex: LegacyMock<[string], number>;
|
|
363
|
+
centerprintf: LegacyMock<[Entity, string], void>;
|
|
357
364
|
}
|
|
358
365
|
interface MockGame {
|
|
359
366
|
random: ReturnType<typeof createRandomGenerator>;
|
|
360
|
-
registerEntitySpawn:
|
|
361
|
-
unregisterEntitySpawn:
|
|
362
|
-
getCustomEntities:
|
|
367
|
+
registerEntitySpawn: LegacyMock<[string, (entity: Entity) => void], void>;
|
|
368
|
+
unregisterEntitySpawn: LegacyMock<[string], void>;
|
|
369
|
+
getCustomEntities: LegacyMock<[], string[]>;
|
|
363
370
|
hooks: ScriptHookRegistry;
|
|
364
|
-
registerHooks:
|
|
365
|
-
spawnWorld:
|
|
366
|
-
clientBegin:
|
|
367
|
-
damage:
|
|
371
|
+
registerHooks: LegacyMock<[any], any>;
|
|
372
|
+
spawnWorld: LegacyMock<[], void>;
|
|
373
|
+
clientBegin: LegacyMock<[any], void>;
|
|
374
|
+
damage: LegacyMock<[number], void>;
|
|
368
375
|
}
|
|
369
376
|
interface TestContext extends SpawnContext {
|
|
370
377
|
entities: EntitySystem;
|
|
@@ -394,6 +401,22 @@ declare function createEntity(): Entity;
|
|
|
394
401
|
* @returns The spawned and populated Entity.
|
|
395
402
|
*/
|
|
396
403
|
declare function spawnEntity(system: EntitySystem, data: Partial<Entity>): Entity;
|
|
404
|
+
interface MockImportsAndEngine {
|
|
405
|
+
imports: {
|
|
406
|
+
trace: Mock;
|
|
407
|
+
pointcontents: Mock;
|
|
408
|
+
linkentity: Mock;
|
|
409
|
+
multicast: Mock;
|
|
410
|
+
unicast: Mock;
|
|
411
|
+
};
|
|
412
|
+
engine: {
|
|
413
|
+
trace: Mock;
|
|
414
|
+
sound: Mock;
|
|
415
|
+
centerprintf: Mock;
|
|
416
|
+
modelIndex: Mock;
|
|
417
|
+
soundIndex: Mock;
|
|
418
|
+
};
|
|
419
|
+
}
|
|
397
420
|
/**
|
|
398
421
|
* Creates mock imports and engine for use with createGame() from @quake2ts/game.
|
|
399
422
|
* This is a convenience helper that provides all the commonly mocked functions
|
|
@@ -426,22 +449,7 @@ declare function createGameImportsAndEngine(overrides?: {
|
|
|
426
449
|
modelIndex: Mock;
|
|
427
450
|
soundIndex: Mock;
|
|
428
451
|
}>;
|
|
429
|
-
}):
|
|
430
|
-
imports: {
|
|
431
|
-
trace: Mock;
|
|
432
|
-
pointcontents: Mock;
|
|
433
|
-
linkentity: Mock;
|
|
434
|
-
multicast: Mock;
|
|
435
|
-
unicast: Mock;
|
|
436
|
-
};
|
|
437
|
-
engine: {
|
|
438
|
-
trace: Mock;
|
|
439
|
-
sound: Mock;
|
|
440
|
-
centerprintf: Mock;
|
|
441
|
-
modelIndex: Mock;
|
|
442
|
-
soundIndex: Mock;
|
|
443
|
-
};
|
|
444
|
-
};
|
|
452
|
+
}): MockImportsAndEngine;
|
|
445
453
|
/**
|
|
446
454
|
* Creates a mock GameExports object with mocked properties.
|
|
447
455
|
* This is useful for testing game logic that consumes the game object.
|
|
@@ -575,23 +583,24 @@ interface MockDamageInfo {
|
|
|
575
583
|
} | null;
|
|
576
584
|
}
|
|
577
585
|
declare function createMockDamageInfo(overrides?: Partial<MockDamageInfo>): MockDamageInfo;
|
|
578
|
-
|
|
586
|
+
interface MockWeapon {
|
|
579
587
|
name: string;
|
|
580
588
|
ammoType: string;
|
|
581
589
|
ammoUse: number;
|
|
582
|
-
selection: Mock
|
|
583
|
-
think: Mock
|
|
584
|
-
command: Mock
|
|
585
|
-
}
|
|
590
|
+
selection: Mock;
|
|
591
|
+
think: Mock;
|
|
592
|
+
command: Mock;
|
|
593
|
+
}
|
|
594
|
+
declare function createMockWeapon(name?: string): MockWeapon;
|
|
586
595
|
declare const mockMonsterAttacks: {
|
|
587
|
-
fireBlaster: Mock
|
|
588
|
-
fireRocket: Mock
|
|
589
|
-
fireGrenade: Mock
|
|
590
|
-
fireHeat: Mock
|
|
591
|
-
fireBullet: Mock
|
|
592
|
-
fireShotgun: Mock
|
|
593
|
-
fireRailgun: Mock
|
|
594
|
-
fireBFG: Mock
|
|
596
|
+
fireBlaster: Mock;
|
|
597
|
+
fireRocket: Mock;
|
|
598
|
+
fireGrenade: Mock;
|
|
599
|
+
fireHeat: Mock;
|
|
600
|
+
fireBullet: Mock;
|
|
601
|
+
fireShotgun: Mock;
|
|
602
|
+
fireRailgun: Mock;
|
|
603
|
+
fireBFG: Mock;
|
|
595
604
|
};
|
|
596
605
|
|
|
597
606
|
/**
|
|
@@ -637,8 +646,8 @@ declare class MockTransport implements NetworkTransport {
|
|
|
637
646
|
sentMessages: Uint8Array[];
|
|
638
647
|
receivedMessages: Uint8Array[];
|
|
639
648
|
listening: boolean;
|
|
640
|
-
listenSpy:
|
|
641
|
-
closeSpy:
|
|
649
|
+
listenSpy: LegacyMock<[number], Promise<void>>;
|
|
650
|
+
closeSpy: LegacyMock<[], void>;
|
|
642
651
|
/**
|
|
643
652
|
* Start listening on the specified port.
|
|
644
653
|
*/
|
|
@@ -747,9 +756,9 @@ interface MockNetDriverState {
|
|
|
747
756
|
*/
|
|
748
757
|
declare class MockNetDriver implements NetDriver {
|
|
749
758
|
state: MockNetDriverState;
|
|
750
|
-
connectSpy:
|
|
751
|
-
disconnectSpy:
|
|
752
|
-
sendSpy:
|
|
759
|
+
connectSpy: LegacyMock<[string], Promise<void>>;
|
|
760
|
+
disconnectSpy: LegacyMock<[], void>;
|
|
761
|
+
sendSpy: LegacyMock<[Uint8Array], void>;
|
|
753
762
|
connect(url: string): Promise<void>;
|
|
754
763
|
disconnect(): void;
|
|
755
764
|
send(data: Uint8Array): void;
|
|
@@ -1225,18 +1234,19 @@ interface MockWebGPUContext {
|
|
|
1225
1234
|
device: GPUDevice;
|
|
1226
1235
|
queue: GPUQueue;
|
|
1227
1236
|
}
|
|
1228
|
-
|
|
1229
|
-
* Patches globalThis with WebGPU globals (GPUBufferUsage, etc.)
|
|
1230
|
-
* and optionally patches navigator.gpu.
|
|
1231
|
-
*/
|
|
1232
|
-
declare function setupWebGPUMocks(): {
|
|
1237
|
+
interface WebGPUMocks {
|
|
1233
1238
|
mockGpu: {
|
|
1234
|
-
requestAdapter:
|
|
1235
|
-
getPreferredCanvasFormat:
|
|
1239
|
+
requestAdapter: LegacyMock<[GPURequestAdapterOptions?], Promise<GPUAdapter | null>>;
|
|
1240
|
+
getPreferredCanvasFormat: LegacyMock<[], GPUTextureFormat>;
|
|
1236
1241
|
};
|
|
1237
1242
|
mockAdapter: GPUAdapter;
|
|
1238
1243
|
mockDevice: GPUDevice;
|
|
1239
|
-
}
|
|
1244
|
+
}
|
|
1245
|
+
/**
|
|
1246
|
+
* Patches globalThis with WebGPU globals (GPUBufferUsage, etc.)
|
|
1247
|
+
* and optionally patches navigator.gpu.
|
|
1248
|
+
*/
|
|
1249
|
+
declare function setupWebGPUMocks(): WebGPUMocks;
|
|
1240
1250
|
declare function createMockGPUAdapter(options?: Partial<GPUAdapter>): GPUAdapter;
|
|
1241
1251
|
declare function createMockGPUDevice(features?: Set<GPUFeatureName>): GPUDevice;
|
|
1242
1252
|
declare function createMockQueue(): GPUQueue;
|
|
@@ -1393,79 +1403,79 @@ declare class MockWebGL2RenderingContext {
|
|
|
1393
1403
|
readonly uniformLocations: Map<string, WebGLUniformLocation | null>;
|
|
1394
1404
|
readonly attributeLocations: Map<string, number>;
|
|
1395
1405
|
constructor(canvas?: HTMLCanvasElement);
|
|
1396
|
-
enable: vitest.Mock<
|
|
1397
|
-
disable: vitest.Mock<
|
|
1398
|
-
depthFunc: vitest.Mock<
|
|
1399
|
-
cullFace: vitest.Mock<
|
|
1400
|
-
depthMask: vitest.Mock<
|
|
1401
|
-
blendFuncSeparate: vitest.Mock<
|
|
1402
|
-
blendFunc: vitest.Mock<
|
|
1403
|
-
getExtension: vitest.Mock<
|
|
1404
|
-
viewport: vitest.Mock<
|
|
1405
|
-
clear: vitest.Mock<
|
|
1406
|
-
clearColor: vitest.Mock<
|
|
1407
|
-
createShader: vitest.Mock<
|
|
1408
|
-
shaderSource: vitest.Mock<
|
|
1409
|
-
compileShader: vitest.Mock<
|
|
1410
|
-
getShaderParameter: vitest.Mock<
|
|
1411
|
-
getShaderInfoLog: vitest.Mock<
|
|
1412
|
-
deleteShader: vitest.Mock<
|
|
1413
|
-
createProgram: vitest.Mock<
|
|
1414
|
-
attachShader: vitest.Mock<
|
|
1415
|
-
bindAttribLocation: vitest.Mock<
|
|
1416
|
-
linkProgram: vitest.Mock<
|
|
1417
|
-
getProgramParameter: vitest.Mock<
|
|
1418
|
-
getProgramInfoLog: vitest.Mock<
|
|
1419
|
-
deleteProgram: vitest.Mock<
|
|
1420
|
-
useProgram: vitest.Mock<
|
|
1421
|
-
getUniformLocation: vitest.Mock<
|
|
1422
|
-
getAttribLocation: vitest.Mock<
|
|
1423
|
-
createBuffer: vitest.Mock<
|
|
1424
|
-
bindBuffer: vitest.Mock<
|
|
1425
|
-
bufferData: vitest.Mock<
|
|
1426
|
-
bufferSubData: vitest.Mock<
|
|
1427
|
-
deleteBuffer: vitest.Mock<
|
|
1428
|
-
createVertexArray: vitest.Mock<
|
|
1429
|
-
bindVertexArray: vitest.Mock<
|
|
1430
|
-
enableVertexAttribArray: vitest.Mock<
|
|
1431
|
-
vertexAttribPointer: vitest.Mock<
|
|
1432
|
-
vertexAttribDivisor: vitest.Mock<
|
|
1433
|
-
deleteVertexArray: vitest.Mock<
|
|
1434
|
-
createTexture: vitest.Mock<
|
|
1435
|
-
activeTexture: vitest.Mock<
|
|
1436
|
-
bindTexture: vitest.Mock<
|
|
1437
|
-
texParameteri: vitest.Mock<
|
|
1438
|
-
texImage2D: vitest.Mock<
|
|
1439
|
-
texImage3D:
|
|
1440
|
-
deleteTexture: vitest.Mock<
|
|
1441
|
-
createFramebuffer: vitest.Mock<
|
|
1442
|
-
bindFramebuffer: vitest.Mock<
|
|
1443
|
-
framebufferTexture2D: vitest.Mock<
|
|
1444
|
-
deleteFramebuffer: vitest.Mock<
|
|
1445
|
-
checkFramebufferStatus: vitest.Mock<
|
|
1446
|
-
createRenderbuffer: vitest.Mock<
|
|
1447
|
-
bindRenderbuffer: vitest.Mock<
|
|
1448
|
-
renderbufferStorage: vitest.Mock<
|
|
1449
|
-
framebufferRenderbuffer: vitest.Mock<
|
|
1450
|
-
deleteRenderbuffer: vitest.Mock<
|
|
1451
|
-
drawArrays: vitest.Mock<
|
|
1452
|
-
drawElements: vitest.Mock<
|
|
1453
|
-
createQuery: vitest.Mock<
|
|
1454
|
-
beginQuery:
|
|
1455
|
-
endQuery:
|
|
1456
|
-
deleteQuery:
|
|
1457
|
-
getQueryParameter:
|
|
1458
|
-
getParameter:
|
|
1459
|
-
uniform1f: vitest.Mock<
|
|
1460
|
-
uniform1i: vitest.Mock<
|
|
1461
|
-
uniform4f: vitest.Mock<
|
|
1462
|
-
uniform3fv: vitest.Mock<
|
|
1463
|
-
uniform3f: vitest.Mock<
|
|
1464
|
-
uniform2f: vitest.Mock<
|
|
1465
|
-
uniform4fv: vitest.Mock<
|
|
1466
|
-
uniformMatrix4fv: vitest.Mock<
|
|
1467
|
-
uniformBlockBinding:
|
|
1468
|
-
isContextLost: vitest.Mock<
|
|
1406
|
+
enable: vitest.Mock<(cap: GLenum) => number>;
|
|
1407
|
+
disable: vitest.Mock<(cap: GLenum) => number>;
|
|
1408
|
+
depthFunc: vitest.Mock<(func: GLenum) => number>;
|
|
1409
|
+
cullFace: vitest.Mock<(mode: GLenum) => number>;
|
|
1410
|
+
depthMask: vitest.Mock<(flag: GLboolean) => number>;
|
|
1411
|
+
blendFuncSeparate: vitest.Mock<(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) => number>;
|
|
1412
|
+
blendFunc: vitest.Mock<(sfactor: GLenum, dfactor: GLenum) => number>;
|
|
1413
|
+
getExtension: vitest.Mock<(name: string) => {} | null>;
|
|
1414
|
+
viewport: vitest.Mock<(x: number, y: number, w: number, h: number) => number>;
|
|
1415
|
+
clear: vitest.Mock<(mask: number) => number>;
|
|
1416
|
+
clearColor: vitest.Mock<(r: number, g: number, b: number, a: number) => number>;
|
|
1417
|
+
createShader: vitest.Mock<(type: GLenum) => WebGLShader>;
|
|
1418
|
+
shaderSource: vitest.Mock<(shader: ShaderRecord, source: string) => number>;
|
|
1419
|
+
compileShader: vitest.Mock<(shader: ShaderRecord) => number>;
|
|
1420
|
+
getShaderParameter: vitest.Mock<(shader: ShaderRecord, pname: GLenum) => boolean | null>;
|
|
1421
|
+
getShaderInfoLog: vitest.Mock<() => string>;
|
|
1422
|
+
deleteShader: vitest.Mock<(shader: ShaderRecord) => number>;
|
|
1423
|
+
createProgram: vitest.Mock<() => WebGLProgram>;
|
|
1424
|
+
attachShader: vitest.Mock<(program: ProgramRecord, shader: ShaderRecord) => number>;
|
|
1425
|
+
bindAttribLocation: vitest.Mock<(program: ProgramRecord, index: number, name: string) => number>;
|
|
1426
|
+
linkProgram: vitest.Mock<(program: ProgramRecord) => number>;
|
|
1427
|
+
getProgramParameter: vitest.Mock<(program: ProgramRecord, pname: GLenum) => boolean | null>;
|
|
1428
|
+
getProgramInfoLog: vitest.Mock<() => string>;
|
|
1429
|
+
deleteProgram: vitest.Mock<(program: ProgramRecord) => number>;
|
|
1430
|
+
useProgram: vitest.Mock<(program: ProgramRecord | null) => number>;
|
|
1431
|
+
getUniformLocation: vitest.Mock<(program: ProgramRecord, name: string) => WebGLUniformLocation | null>;
|
|
1432
|
+
getAttribLocation: vitest.Mock<(program: ProgramRecord, name: string) => number>;
|
|
1433
|
+
createBuffer: vitest.Mock<() => WebGLBuffer>;
|
|
1434
|
+
bindBuffer: vitest.Mock<(target: GLenum, buffer: WebGLBuffer | null) => number>;
|
|
1435
|
+
bufferData: vitest.Mock<(target: GLenum, data: number | BufferSource, usage: GLenum) => number>;
|
|
1436
|
+
bufferSubData: vitest.Mock<(target: GLenum, offset: number, data: BufferSource) => number>;
|
|
1437
|
+
deleteBuffer: vitest.Mock<(buffer: WebGLBuffer) => number>;
|
|
1438
|
+
createVertexArray: vitest.Mock<() => WebGLVertexArrayObject>;
|
|
1439
|
+
bindVertexArray: vitest.Mock<(vao: WebGLVertexArrayObject | null) => number>;
|
|
1440
|
+
enableVertexAttribArray: vitest.Mock<(index: number) => number>;
|
|
1441
|
+
vertexAttribPointer: vitest.Mock<(index: number, size: number, type: GLenum, normalized: boolean, stride: number, offset: number) => number>;
|
|
1442
|
+
vertexAttribDivisor: vitest.Mock<(index: number, divisor: number) => number>;
|
|
1443
|
+
deleteVertexArray: vitest.Mock<(vao: WebGLVertexArrayObject) => number>;
|
|
1444
|
+
createTexture: vitest.Mock<() => WebGLTexture>;
|
|
1445
|
+
activeTexture: vitest.Mock<(unit: GLenum) => number>;
|
|
1446
|
+
bindTexture: vitest.Mock<(target: GLenum, texture: WebGLTexture | null) => number>;
|
|
1447
|
+
texParameteri: vitest.Mock<(target: GLenum, pname: GLenum, param: GLint) => number>;
|
|
1448
|
+
texImage2D: vitest.Mock<(target: GLenum, level: GLint, internalFormat: GLenum, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null) => number>;
|
|
1449
|
+
texImage3D: LegacyMock<[number, number, number, number, number, number, number, number, number, ArrayBufferView<ArrayBufferLike> | null], void>;
|
|
1450
|
+
deleteTexture: vitest.Mock<(texture: WebGLTexture) => number>;
|
|
1451
|
+
createFramebuffer: vitest.Mock<() => WebGLFramebuffer>;
|
|
1452
|
+
bindFramebuffer: vitest.Mock<(target: GLenum, framebuffer: WebGLFramebuffer | null) => number>;
|
|
1453
|
+
framebufferTexture2D: vitest.Mock<(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint) => number>;
|
|
1454
|
+
deleteFramebuffer: vitest.Mock<(fb: WebGLFramebuffer) => number>;
|
|
1455
|
+
checkFramebufferStatus: vitest.Mock<(target: GLenum) => number>;
|
|
1456
|
+
createRenderbuffer: vitest.Mock<() => WebGLRenderbuffer>;
|
|
1457
|
+
bindRenderbuffer: vitest.Mock<(target: GLenum, renderbuffer: WebGLRenderbuffer | null) => number>;
|
|
1458
|
+
renderbufferStorage: vitest.Mock<(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) => number>;
|
|
1459
|
+
framebufferRenderbuffer: vitest.Mock<(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null) => number>;
|
|
1460
|
+
deleteRenderbuffer: vitest.Mock<(rb: WebGLRenderbuffer) => number>;
|
|
1461
|
+
drawArrays: vitest.Mock<(mode: GLenum, first: GLint, count: GLsizei) => number>;
|
|
1462
|
+
drawElements: vitest.Mock<(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) => number>;
|
|
1463
|
+
createQuery: vitest.Mock<() => WebGLQuery>;
|
|
1464
|
+
beginQuery: LegacyMock<[number], void>;
|
|
1465
|
+
endQuery: LegacyMock<[number], void>;
|
|
1466
|
+
deleteQuery: LegacyMock<[WebGLQuery | null], void>;
|
|
1467
|
+
getQueryParameter: LegacyMock<[WebGLQuery, number], any>;
|
|
1468
|
+
getParameter: LegacyMock<[number], any>;
|
|
1469
|
+
uniform1f: vitest.Mock<(location: WebGLUniformLocation | null, x: GLfloat) => number>;
|
|
1470
|
+
uniform1i: vitest.Mock<(location: WebGLUniformLocation | null, x: GLint) => number>;
|
|
1471
|
+
uniform4f: vitest.Mock<(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) => number>;
|
|
1472
|
+
uniform3fv: vitest.Mock<(location: WebGLUniformLocation | null, data: Float32List | number[]) => number>;
|
|
1473
|
+
uniform3f: vitest.Mock<(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat) => number>;
|
|
1474
|
+
uniform2f: vitest.Mock<(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat) => number>;
|
|
1475
|
+
uniform4fv: vitest.Mock<(location: WebGLUniformLocation | null, data: Float32List) => number>;
|
|
1476
|
+
uniformMatrix4fv: vitest.Mock<(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List | Iterable<number>) => number>;
|
|
1477
|
+
uniformBlockBinding: LegacyMock<[WebGLProgram, number, number], void>;
|
|
1478
|
+
isContextLost: vitest.Mock<() => boolean>;
|
|
1469
1479
|
}
|
|
1470
1480
|
declare function createMockWebGL2Context(overridesOrCanvas?: Partial<WebGL2RenderingContext> | HTMLCanvasElement): MockWebGL2RenderingContext;
|
|
1471
1481
|
|
|
@@ -2281,4 +2291,4 @@ declare function compareScreenshots(baseline: Buffer, current: Buffer, threshold
|
|
|
2281
2291
|
*/
|
|
2282
2292
|
declare function createVisualTestScenario(sceneName: string): VisualScenario;
|
|
2283
2293
|
|
|
2284
|
-
export { type AnimationSnapshotOptions, type AnimationSnapshotResult, type AudioEvent, type BandwidthScenario, type BinaryStreamMock, type BinaryWriterMock, BrowserInputSource, type BrowserSetupOptions, type CameraInput, type CaptureOptions, type ClientInfo, type ClientState, type ClientStateProvider, type ComparisonOptions, type ComparisonResult, type ComputeTestSetup, type Connection, type ConnectionState, type ConsistencyReport, type ControlledTimer, type CvarRegistry, type DeltaSnapshot, type DemoCameraResult, type DownloadManager, type DrawCall, FakeAudioContext, FakeAudioNode, FakeAudioParam, FakeBiquadFilterNode, FakeBufferSource, FakeDestination, FakeGainNode, FakePannerNode, type Frame, type GameState, type GameStateCapture, type GeometryBuffers, type Handshake, HandshakeStage, type HeadlessWebGLContext, type HeadlessWebGLOptions, type HeadlessWebGPUSetup, type HudState, InputInjector, type KeyModifiers, type LevelFrameState, type Lightmap, type MasterServer, type Message, type MessageReaderMock, type MessageWriterMock, type MockAI, FakeBufferSource as MockAudioBufferSourceNode, type MockChatMessage, MockClientConfigStrings, type MockCollisionEntityIndex, type MockCommand, type MockConsole, type MockDamageInfo, type MockEngine, type MockGame, type MockMonsterAI, MockNetDriver, type MockNetDriverState, MockNetworkTransport, type MockNotification, type MockParticle, type MockParticleEmitter, MockPointerLock, type MockRAF, type MockRConClient, type MockRenderingContext, type MockSaveGame, type MockServer, type MockServerConsole, type MockServerContext, type MockServerMessage, MockTransport, type MockUDPSocket, MockWebGL2RenderingContext, type MockWebGPUContext, type MultiplayerScenario, type NetworkAddress, type NetworkCondition, type NetworkSimulator, type NodeSetupOptions, type PacketMock, type PhysicsScenario, type PlaywrightOptions, type PlaywrightTestClient, type PrecacheList, type PredictionScenario, type RateLimiter, type RecordedPacket, type RefDef, type RenderTestSetup, type SaveGameDiff, type ServerInfo, type ServerListFilter, type SmoothingAnalysis, type Snapshot, type SnapshotTestOptions, type StorageScenario, type SurfaceMock, type TestContext, type TraceMock, type Transform, type UserInfo, type ViewScenario, type ViewState, type VisualDiff, type VisualScenario, type WebGLPlaywrightOptions, type WebGLPlaywrightSetup, type WebGLRenderTestSetup, type WebGPUContextState, captureAudioEvents, captureCanvasDrawCalls, captureFramebufferAsPNG, captureGameScreenshot, captureGameState, captureTexture, captureWebGLFramebuffer, compareSaveGames, compareScreenshots, compareSnapshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createBounds, createCheckerboardTexture, createCombatTestContext, createComputeTestSetup, createConfigStringArrayMock, createConfigStringMock, createControlledTimer, createCustomNetworkCondition, createCvarMock, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameImportsAndEngine, createGameStateSnapshotFactory, createHeadlessTestContext, createHeadlessWebGL, createInputInjector, createInterpolationTestData, createItemEntityFactory, createMessageReaderMock, createMessageWriterMock, createMockAI, createMockAmmoItem, createMockArmorItem, createMockAssetManager, createMockAudioBuffer, createMockAudioContext, createMockBspMap, createMockBspPipeline, createMockBufferSource, createMockCamera, createMockCanvas, createMockCanvasContext2D, createMockChatMessage, createMockClientInfo, createMockClientState, createMockCollisionEntityIndex, createMockCommand, createMockCommandEncoder, createMockComputePassEncoder, createMockComputePipeline, createMockConnection, createMockConnectionState, createMockConsole, createMockCvarRegistry, createMockDLight, createMockDLightManager, createMockDamageIndicator, createMockDamageInfo, createMockDeltaFrame, createMockDemoCameraResult, createMockDownloadManager, createMockEngine, createMockEntityState, createMockFogData, createMockFrame, createMockFrameRenderer, createMockGPUAdapter, createMockGPUBuffer, createMockGPUDevice, createMockGPUTexture, createMockGame, createMockGameExports, createMockGameState, createMockHandshake, createMockHealthItem, createMockHudState, createMockImage, createMockImageData, createMockIndexBuffer, createMockIndexedDB, createMockInventory, createMockItem, createMockKeyboardEvent, createMockLightmap, createMockLocalStorage, createMockMasterServer, createMockMd2Model, createMockMd2Pipeline, createMockMd3Model, createMockMd3Pipeline, createMockMonsterAI, createMockMonsterMove, createMockMouseEvent, createMockNetDriver, createMockNetworkAddress, createMockNotification, createMockPannerNode, createMockParticle, createMockParticleEmitter, createMockParticleSystem, createMockPerformance, createMockPlayerState, createMockPointerLock, createMockPowerupItem, createMockPrecacheList, createMockQueue, createMockRAF, createMockRConClient, createMockRateLimiter, createMockRefDef, createMockRenderPassEncoder, createMockRenderPipeline, createMockRenderer, createMockRenderingContext, createMockSampler, createMockSaveGame, createMockScoreboard, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerMessage, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockShader, createMockShaderModule, createMockShaderProgram, createMockSkyboxPipeline, createMockSnapshot, createMockSpritePipeline, createMockTexture, createMockTextureView, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockVertexBuffer, createMockViewState, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMockWebGPUContext, createMockWheelEvent, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPacketMock, createPhysicsTestContext, createPhysicsTestScenario, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createPredictionTestScenario, createProjectileEntityFactory, createRenderTestSetup, createSaveGameSnapshot, createServerSnapshot, createSolidTexture, createSpawnTestContext, createStorageTestScenario, createSurfaceMock, createTestContext, createTraceMock, createTransform, createTriggerEntityFactory, createVector3, createViewTestScenario, createVisualTestScenario, createWebGLPlaywrightSetup, createWebGLRenderTestSetup, expectAnimationSnapshot, expectSnapshot, findPakFile, flipPixelsVertically, getSnapshotPath, initHeadlessWebGPU, loadMapFromPak, loadPNG, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, parseProtocolPlayerState, randomVector3, renderAndCapture, renderAndCaptureWebGL, renderAndCaptureWebGLPlaywright, renderAndExpectSnapshot, restoreSaveGameSnapshot, runComputeAndReadback, savePNG, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateCameraMovement, simulateClientPrediction, simulateDownload, simulateFrames, simulateGravity, simulateHandshake, simulateJump, simulateMovement, simulateNetworkCondition, simulateNetworkDelay, simulatePacketLoss, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, spawnEntity, takeScreenshot, teardownBrowserEnvironment, teardownMockAudioContext, teardownNodeEnvironment, testComputeShader, testPipelineRendering, testWebGLRenderer, throttleBandwidth, verifySmoothing, verifySnapshotConsistency, waitForGameReady };
|
|
2294
|
+
export { type AnimationSnapshotOptions, type AnimationSnapshotResult, type AudioEvent, type BandwidthScenario, type BinaryStreamMock, type BinaryWriterMock, BrowserInputSource, type BrowserSetupOptions, type CameraInput, type CaptureOptions, type ClientInfo, type ClientState, type ClientStateProvider, type ComparisonOptions, type ComparisonResult, type ComputeTestSetup, type Connection, type ConnectionState, type ConsistencyReport, type ControlledTimer, type CvarRegistry, type DeltaSnapshot, type DemoCameraResult, type DownloadManager, type DrawCall, FakeAudioContext, FakeAudioNode, FakeAudioParam, FakeBiquadFilterNode, FakeBufferSource, FakeDestination, FakeGainNode, FakePannerNode, type Frame, type GameState, type GameStateCapture, type GeometryBuffers, type Handshake, HandshakeStage, type HeadlessWebGLContext, type HeadlessWebGLOptions, type HeadlessWebGPUSetup, type HudState, InputInjector, type KeyModifiers, type LevelFrameState, type Lightmap, type MasterServer, type Message, type MessageReaderMock, type MessageWriterMock, type MockAI, FakeBufferSource as MockAudioBufferSourceNode, type MockChatMessage, MockClientConfigStrings, type MockCollisionEntityIndex, type MockCommand, type MockConsole, type MockDamageInfo, type MockEngine, type MockGame, type MockImportsAndEngine, type MockMonsterAI, MockNetDriver, type MockNetDriverState, MockNetworkTransport, type MockNotification, type MockParticle, type MockParticleEmitter, MockPointerLock, type MockRAF, type MockRConClient, type MockRenderingContext, type MockSaveGame, type MockServer, type MockServerConsole, type MockServerContext, type MockServerMessage, MockTransport, type MockUDPSocket, type MockWeapon, MockWebGL2RenderingContext, type MockWebGPUContext, type MultiplayerScenario, type NetChanMock, type NetworkAddress, type NetworkCondition, type NetworkSimulator, type NodeSetupOptions, type PacketMock, type PhysicsScenario, type PlaywrightOptions, type PlaywrightTestClient, type PrecacheList, type PredictionScenario, type RateLimiter, type RecordedPacket, type RefDef, type RenderTestSetup, type SaveGameDiff, type ServerInfo, type ServerListFilter, type SmoothingAnalysis, type Snapshot, type SnapshotTestOptions, type StorageScenario, type SurfaceMock, type TestContext, type TraceMock, type Transform, type UserInfo, type ViewScenario, type ViewState, type VisualDiff, type VisualScenario, type WebGLPlaywrightOptions, type WebGLPlaywrightSetup, type WebGLRenderTestSetup, type WebGPUContextState, type WebGPUMocks, captureAudioEvents, captureCanvasDrawCalls, captureFramebufferAsPNG, captureGameScreenshot, captureGameState, captureTexture, captureWebGLFramebuffer, compareSaveGames, compareScreenshots, compareSnapshots, createBandwidthTestScenario, createBinaryStreamMock, createBinaryWriterMock, createBounds, createCheckerboardTexture, createCombatTestContext, createComputeTestSetup, createConfigStringArrayMock, createConfigStringMock, createControlledTimer, createCustomNetworkCondition, createCvarMock, createDeltaSnapshot, createEntity, createEntityFactory, createEntityStateFactory, createGameImportsAndEngine, createGameStateSnapshotFactory, createHeadlessTestContext, createHeadlessWebGL, createInputInjector, createInterpolationTestData, createItemEntityFactory, createMessageReaderMock, createMessageWriterMock, createMockAI, createMockAmmoItem, createMockArmorItem, createMockAssetManager, createMockAudioBuffer, createMockAudioContext, createMockBspMap, createMockBspPipeline, createMockBufferSource, createMockCamera, createMockCanvas, createMockCanvasContext2D, createMockChatMessage, createMockClientInfo, createMockClientState, createMockCollisionEntityIndex, createMockCommand, createMockCommandEncoder, createMockComputePassEncoder, createMockComputePipeline, createMockConnection, createMockConnectionState, createMockConsole, createMockCvarRegistry, createMockDLight, createMockDLightManager, createMockDamageIndicator, createMockDamageInfo, createMockDeltaFrame, createMockDemoCameraResult, createMockDownloadManager, createMockEngine, createMockEntityState, createMockFogData, createMockFrame, createMockFrameRenderer, createMockGPUAdapter, createMockGPUBuffer, createMockGPUDevice, createMockGPUTexture, createMockGame, createMockGameExports, createMockGameState, createMockHandshake, createMockHealthItem, createMockHudState, createMockImage, createMockImageData, createMockIndexBuffer, createMockIndexedDB, createMockInventory, createMockItem, createMockKeyboardEvent, createMockLightmap, createMockLocalStorage, createMockMasterServer, createMockMd2Model, createMockMd2Pipeline, createMockMd3Model, createMockMd3Pipeline, createMockMonsterAI, createMockMonsterMove, createMockMouseEvent, createMockNetDriver, createMockNetworkAddress, createMockNotification, createMockPannerNode, createMockParticle, createMockParticleEmitter, createMockParticleSystem, createMockPerformance, createMockPlayerState, createMockPointerLock, createMockPowerupItem, createMockPrecacheList, createMockQueue, createMockRAF, createMockRConClient, createMockRateLimiter, createMockRefDef, createMockRenderPassEncoder, createMockRenderPipeline, createMockRenderer, createMockRenderingContext, createMockSampler, createMockSaveGame, createMockScoreboard, createMockServer, createMockServerClient, createMockServerConsole, createMockServerInfo, createMockServerMessage, createMockServerState, createMockServerStatic, createMockSessionStorage, createMockShader, createMockShaderModule, createMockShaderProgram, createMockSkyboxPipeline, createMockSnapshot, createMockSpritePipeline, createMockTexture, createMockTextureView, createMockTransport, createMockUDPSocket, createMockUserInfo, createMockVertexBuffer, createMockViewState, createMockWeapon, createMockWeaponItem, createMockWebGL2Context, createMockWebGPUContext, createMockWheelEvent, createMonsterEntityFactory, createMultiplayerTestScenario, createNetChanMock, createPacketMock, createPhysicsTestContext, createPhysicsTestScenario, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createPredictionTestScenario, createProjectileEntityFactory, createRenderTestSetup, createSaveGameSnapshot, createServerSnapshot, createSolidTexture, createSpawnTestContext, createStorageTestScenario, createSurfaceMock, createTestContext, createTraceMock, createTransform, createTriggerEntityFactory, createVector3, createViewTestScenario, createVisualTestScenario, createWebGLPlaywrightSetup, createWebGLRenderTestSetup, expectAnimationSnapshot, expectSnapshot, findPakFile, flipPixelsVertically, getSnapshotPath, initHeadlessWebGPU, loadMapFromPak, loadPNG, makeAxisBrush, makeBrushFromMinsMaxs, makeBspModel, makeLeaf, makeLeafModel, makeNode, makePlane, measureSnapshotSize, mockMonsterAttacks, parseProtocolPlayerState, randomVector3, renderAndCapture, renderAndCaptureWebGL, renderAndCaptureWebGLPlaywright, renderAndExpectSnapshot, restoreSaveGameSnapshot, runComputeAndReadback, savePNG, serializeUserInfo, setupBrowserEnvironment, setupMockAudioContext, setupNodeEnvironment, setupWebGPUMocks, simulateBandwidthLimit, simulateCameraMovement, simulateClientPrediction, simulateDownload, simulateFrames, simulateGravity, simulateHandshake, simulateJump, simulateMovement, simulateNetworkCondition, simulateNetworkDelay, simulatePacketLoss, simulatePlayerInput, simulatePlayerJoin, simulatePlayerLeave, simulateServerCommand, simulateServerRegistration, simulateServerTick, simulateSnapshotDelivery, spawnEntity, takeScreenshot, teardownBrowserEnvironment, teardownMockAudioContext, teardownNodeEnvironment, testComputeShader, testPipelineRendering, testWebGLRenderer, throttleBandwidth, verifySmoothing, verifySnapshotConsistency, waitForGameReady };
|