@quake2ts/test-utils 0.0.805 → 0.0.808
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 +234 -164
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +46 -16
- package/dist/index.d.ts +46 -16
- package/dist/index.js +208 -143
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
- package/src/engine/helpers/webgl-playwright.ts +76 -8
- package/src/engine/renderers.ts +31 -0
- package/src/index.ts +1 -0
package/dist/index.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, Col
|
|
|
4
4
|
export { ZERO_VEC3, intersects, ladderTrace, stairTrace } from '@quake2ts/shared';
|
|
5
5
|
import { Vec3 as Vec3$1, Bounds3 } from '@quake2ts/shared/math/vec3';
|
|
6
6
|
import { TraceResult, CollisionPlane as CollisionPlane$1 } from '@quake2ts/shared/bsp/collision';
|
|
7
|
-
import { ConfigStringEntry, Cvar, BspModel, AudioNodeLike, AudioBufferSourceNodeLike, AudioBufferLike, AudioParamLike, GainNodeLike, DynamicsCompressorNodeLike, PannerNodeLike, BiquadFilterNodeLike, AudioDestinationNodeLike, AudioContextLike, Renderer, FrameRenderer, BspSurfacePipeline, Md2Pipeline, Md3Pipeline, SpriteRenderer, SkyboxPipeline, AssetManager, PreparedTexture, Md2Model, Md3Model, BspMap, BufferUsage, VertexBuffer, IndexBuffer, ShaderProgram, DLight, DynamicLightManager, ParticleSystem, Camera, FrameRenderStats, EntityState as EntityState$1, ProtocolPlayerState as ProtocolPlayerState$1, FrameData, DamageIndicator, FogData } from '@quake2ts/engine';
|
|
7
|
+
import { ConfigStringEntry, Cvar, BspModel, AudioNodeLike, AudioBufferSourceNodeLike, AudioBufferLike, AudioParamLike, GainNodeLike, DynamicsCompressorNodeLike, PannerNodeLike, BiquadFilterNodeLike, AudioDestinationNodeLike, AudioContextLike, Renderer, FrameRenderer, BspSurfacePipeline, Md2Pipeline, Md3Pipeline, SpriteRenderer, SkyboxPipeline, AssetManager, PreparedTexture, Md2Model, Md3Model, BspMap, BufferUsage, VertexBuffer, IndexBuffer, ShaderProgram, DLight, DynamicLightManager, ParticleSystem, NullRenderer, CoordinateSystem, LoggingRenderer, Camera, FrameRenderStats, EntityState as EntityState$1, ProtocolPlayerState as ProtocolPlayerState$1, FrameData, DamageIndicator, FogData } from '@quake2ts/engine';
|
|
8
8
|
export { ConfigStringEntry, Cvar, DLight, DynamicLightManager, IndexBuffer, ParticleSystem, ShaderProgram, VertexBuffer } from '@quake2ts/engine';
|
|
9
9
|
import { GameStateSnapshot, Entity, ScriptHookRegistry, SpawnContext, EntitySystem, SpawnRegistry, GameSaveFile, LevelState, MonsterMove, DamageMod, ArmorType, RegularArmorState, PowerArmorState, PlayerInventory, BaseItem, WeaponId, WeaponItem, HealthItem, ArmorItem, AmmoItemId, PowerupItem, PlayerClient } from '@quake2ts/game';
|
|
10
10
|
import { NetworkTransport, Server, ServerStatic, Client, ClientState as ClientState$1, ClientFrame } from '@quake2ts/server';
|
|
@@ -1809,6 +1809,19 @@ declare function getSnapshotPath(name: string, type: 'baseline' | 'actual' | 'di
|
|
|
1809
1809
|
declare function expectSnapshot(pixels: Uint8ClampedArray, options: SnapshotTestOptions): Promise<void>;
|
|
1810
1810
|
declare function renderAndExpectSnapshot(setup: RenderTestSetup, renderFn: (pass: GPURenderPassEncoder) => void, options: Omit<SnapshotTestOptions, 'width' | 'height'>): Promise<void>;
|
|
1811
1811
|
|
|
1812
|
+
interface AnimationSnapshotOptions extends SnapshotTestOptions {
|
|
1813
|
+
frameCount: number;
|
|
1814
|
+
fps?: number;
|
|
1815
|
+
}
|
|
1816
|
+
interface AnimationSnapshotResult {
|
|
1817
|
+
passed: boolean;
|
|
1818
|
+
totalPixels: number;
|
|
1819
|
+
totalDiffPixels: number;
|
|
1820
|
+
percentDifferent: number;
|
|
1821
|
+
frameStats: ComparisonResult[];
|
|
1822
|
+
}
|
|
1823
|
+
declare function expectAnimationSnapshot(renderAndCaptureFrame: (frameIndex: number) => Promise<Uint8ClampedArray>, options: AnimationSnapshotOptions): Promise<void>;
|
|
1824
|
+
|
|
1812
1825
|
/**
|
|
1813
1826
|
* Playwright-based WebGL testing utilities for quake2ts renderer
|
|
1814
1827
|
*
|
|
@@ -1843,9 +1856,10 @@ declare function createWebGLPlaywrightSetup(options?: WebGLPlaywrightOptions): P
|
|
|
1843
1856
|
* @param renderFn - Function code as string that uses window.testRenderer
|
|
1844
1857
|
* @param width - Optional width to resize the canvas to
|
|
1845
1858
|
* @param height - Optional height to resize the canvas to
|
|
1859
|
+
* @param frameIndex - Optional frame index passed to the render function
|
|
1846
1860
|
* @returns Captured pixel data
|
|
1847
1861
|
*/
|
|
1848
|
-
declare function renderAndCaptureWebGLPlaywright(page: Page, renderFn: string, width?: number, height?: number): Promise<Uint8ClampedArray>;
|
|
1862
|
+
declare function renderAndCaptureWebGLPlaywright(page: Page, renderFn: string, width?: number, height?: number, frameIndex?: number): Promise<Uint8ClampedArray>;
|
|
1849
1863
|
/**
|
|
1850
1864
|
* Runs a WebGL visual test with the actual quake2ts renderer.
|
|
1851
1865
|
*
|
|
@@ -1870,6 +1884,27 @@ declare function renderAndCaptureWebGLPlaywright(page: Page, renderFn: string, w
|
|
|
1870
1884
|
* ```
|
|
1871
1885
|
*/
|
|
1872
1886
|
declare function testWebGLRenderer(renderCode: string, options: SnapshotTestOptions & WebGLPlaywrightOptions): Promise<void>;
|
|
1887
|
+
/**
|
|
1888
|
+
* Runs a WebGL animated visual test with the actual quake2ts renderer.
|
|
1889
|
+
*
|
|
1890
|
+
* Usage:
|
|
1891
|
+
* ```ts
|
|
1892
|
+
* await testWebGLAnimation(`
|
|
1893
|
+
* // frameIndex is available here
|
|
1894
|
+
* gl.clearColor(frameIndex * 0.1, 0, 0, 1);
|
|
1895
|
+
* gl.clear(gl.COLOR_BUFFER_BIT);
|
|
1896
|
+
* `, {
|
|
1897
|
+
* name: 'animated-red',
|
|
1898
|
+
* description: 'Fading red animation',
|
|
1899
|
+
* width: 256,
|
|
1900
|
+
* height: 256,
|
|
1901
|
+
* frameCount: 10,
|
|
1902
|
+
* fps: 10,
|
|
1903
|
+
* snapshotDir: __dirname
|
|
1904
|
+
* });
|
|
1905
|
+
* ```
|
|
1906
|
+
*/
|
|
1907
|
+
declare function testWebGLAnimation(renderCode: string, options: AnimationSnapshotOptions & WebGLPlaywrightOptions): Promise<void>;
|
|
1873
1908
|
|
|
1874
1909
|
interface GeometryBuffers {
|
|
1875
1910
|
vertexBuffer: GPUBuffer;
|
|
@@ -1895,6 +1930,14 @@ declare function createCheckerboardTexture(width: number, height: number, checkS
|
|
|
1895
1930
|
*/
|
|
1896
1931
|
declare function createSolidTexture(width: number, height: number, color: [number, number, number, number]): Uint8ClampedArray;
|
|
1897
1932
|
|
|
1933
|
+
declare function createNullRenderer(width?: number, height?: number): NullRenderer;
|
|
1934
|
+
declare function createLoggingRenderer(targetSystem?: CoordinateSystem, options?: {
|
|
1935
|
+
verbose?: boolean;
|
|
1936
|
+
validateTransforms?: boolean;
|
|
1937
|
+
}): LoggingRenderer;
|
|
1938
|
+
declare function expectRendererCalls(renderer: NullRenderer, expectedCalls: string[]): void;
|
|
1939
|
+
declare function expectNoDoubleTransform(renderer: LoggingRenderer): void;
|
|
1940
|
+
|
|
1898
1941
|
/**
|
|
1899
1942
|
* Client Input System Mocks
|
|
1900
1943
|
*
|
|
@@ -2201,19 +2244,6 @@ declare const simulateClientPrediction: (state: ClientState, input: UserCommand,
|
|
|
2201
2244
|
declare const createInterpolationTestData: (startState: EntityState, endState: EntityState, steps?: number) => EntityState[];
|
|
2202
2245
|
declare const verifySmoothing: (states: EntityState[]) => SmoothingAnalysis;
|
|
2203
2246
|
|
|
2204
|
-
interface AnimationSnapshotOptions extends SnapshotTestOptions {
|
|
2205
|
-
frameCount: number;
|
|
2206
|
-
fps?: number;
|
|
2207
|
-
}
|
|
2208
|
-
interface AnimationSnapshotResult {
|
|
2209
|
-
passed: boolean;
|
|
2210
|
-
totalPixels: number;
|
|
2211
|
-
totalDiffPixels: number;
|
|
2212
|
-
percentDifferent: number;
|
|
2213
|
-
frameStats: ComparisonResult[];
|
|
2214
|
-
}
|
|
2215
|
-
declare function expectAnimationSnapshot(renderAndCaptureFrame: (frameIndex: number) => Promise<Uint8ClampedArray>, options: AnimationSnapshotOptions): Promise<void>;
|
|
2216
|
-
|
|
2217
2247
|
interface PlaywrightOptions {
|
|
2218
2248
|
headless?: boolean;
|
|
2219
2249
|
viewport?: {
|
|
@@ -2295,4 +2325,4 @@ declare function compareScreenshots(baseline: Buffer, current: Buffer, threshold
|
|
|
2295
2325
|
*/
|
|
2296
2326
|
declare function createVisualTestScenario(sceneName: string): VisualScenario;
|
|
2297
2327
|
|
|
2298
|
-
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, createPowerArmorState, createPredictionTestScenario, createProjectileEntityFactory, createRegularArmorState, 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 };
|
|
2328
|
+
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, createLoggingRenderer, 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, createNullRenderer, createPacketMock, createPhysicsTestContext, createPhysicsTestScenario, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createPowerArmorState, createPredictionTestScenario, createProjectileEntityFactory, createRegularArmorState, createRenderTestSetup, createSaveGameSnapshot, createServerSnapshot, createSolidTexture, createSpawnTestContext, createStorageTestScenario, createSurfaceMock, createTestContext, createTraceMock, createTransform, createTriggerEntityFactory, createVector3, createViewTestScenario, createVisualTestScenario, createWebGLPlaywrightSetup, createWebGLRenderTestSetup, expectAnimationSnapshot, expectNoDoubleTransform, expectRendererCalls, 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, testWebGLAnimation, testWebGLRenderer, throttleBandwidth, verifySmoothing, verifySnapshotConsistency, waitForGameReady };
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Vec3, CollisionPlane, CollisionBrush, CollisionNode, CollisionLeaf, Col
|
|
|
4
4
|
export { ZERO_VEC3, intersects, ladderTrace, stairTrace } from '@quake2ts/shared';
|
|
5
5
|
import { Vec3 as Vec3$1, Bounds3 } from '@quake2ts/shared/math/vec3';
|
|
6
6
|
import { TraceResult, CollisionPlane as CollisionPlane$1 } from '@quake2ts/shared/bsp/collision';
|
|
7
|
-
import { ConfigStringEntry, Cvar, BspModel, AudioNodeLike, AudioBufferSourceNodeLike, AudioBufferLike, AudioParamLike, GainNodeLike, DynamicsCompressorNodeLike, PannerNodeLike, BiquadFilterNodeLike, AudioDestinationNodeLike, AudioContextLike, Renderer, FrameRenderer, BspSurfacePipeline, Md2Pipeline, Md3Pipeline, SpriteRenderer, SkyboxPipeline, AssetManager, PreparedTexture, Md2Model, Md3Model, BspMap, BufferUsage, VertexBuffer, IndexBuffer, ShaderProgram, DLight, DynamicLightManager, ParticleSystem, Camera, FrameRenderStats, EntityState as EntityState$1, ProtocolPlayerState as ProtocolPlayerState$1, FrameData, DamageIndicator, FogData } from '@quake2ts/engine';
|
|
7
|
+
import { ConfigStringEntry, Cvar, BspModel, AudioNodeLike, AudioBufferSourceNodeLike, AudioBufferLike, AudioParamLike, GainNodeLike, DynamicsCompressorNodeLike, PannerNodeLike, BiquadFilterNodeLike, AudioDestinationNodeLike, AudioContextLike, Renderer, FrameRenderer, BspSurfacePipeline, Md2Pipeline, Md3Pipeline, SpriteRenderer, SkyboxPipeline, AssetManager, PreparedTexture, Md2Model, Md3Model, BspMap, BufferUsage, VertexBuffer, IndexBuffer, ShaderProgram, DLight, DynamicLightManager, ParticleSystem, NullRenderer, CoordinateSystem, LoggingRenderer, Camera, FrameRenderStats, EntityState as EntityState$1, ProtocolPlayerState as ProtocolPlayerState$1, FrameData, DamageIndicator, FogData } from '@quake2ts/engine';
|
|
8
8
|
export { ConfigStringEntry, Cvar, DLight, DynamicLightManager, IndexBuffer, ParticleSystem, ShaderProgram, VertexBuffer } from '@quake2ts/engine';
|
|
9
9
|
import { GameStateSnapshot, Entity, ScriptHookRegistry, SpawnContext, EntitySystem, SpawnRegistry, GameSaveFile, LevelState, MonsterMove, DamageMod, ArmorType, RegularArmorState, PowerArmorState, PlayerInventory, BaseItem, WeaponId, WeaponItem, HealthItem, ArmorItem, AmmoItemId, PowerupItem, PlayerClient } from '@quake2ts/game';
|
|
10
10
|
import { NetworkTransport, Server, ServerStatic, Client, ClientState as ClientState$1, ClientFrame } from '@quake2ts/server';
|
|
@@ -1809,6 +1809,19 @@ declare function getSnapshotPath(name: string, type: 'baseline' | 'actual' | 'di
|
|
|
1809
1809
|
declare function expectSnapshot(pixels: Uint8ClampedArray, options: SnapshotTestOptions): Promise<void>;
|
|
1810
1810
|
declare function renderAndExpectSnapshot(setup: RenderTestSetup, renderFn: (pass: GPURenderPassEncoder) => void, options: Omit<SnapshotTestOptions, 'width' | 'height'>): Promise<void>;
|
|
1811
1811
|
|
|
1812
|
+
interface AnimationSnapshotOptions extends SnapshotTestOptions {
|
|
1813
|
+
frameCount: number;
|
|
1814
|
+
fps?: number;
|
|
1815
|
+
}
|
|
1816
|
+
interface AnimationSnapshotResult {
|
|
1817
|
+
passed: boolean;
|
|
1818
|
+
totalPixels: number;
|
|
1819
|
+
totalDiffPixels: number;
|
|
1820
|
+
percentDifferent: number;
|
|
1821
|
+
frameStats: ComparisonResult[];
|
|
1822
|
+
}
|
|
1823
|
+
declare function expectAnimationSnapshot(renderAndCaptureFrame: (frameIndex: number) => Promise<Uint8ClampedArray>, options: AnimationSnapshotOptions): Promise<void>;
|
|
1824
|
+
|
|
1812
1825
|
/**
|
|
1813
1826
|
* Playwright-based WebGL testing utilities for quake2ts renderer
|
|
1814
1827
|
*
|
|
@@ -1843,9 +1856,10 @@ declare function createWebGLPlaywrightSetup(options?: WebGLPlaywrightOptions): P
|
|
|
1843
1856
|
* @param renderFn - Function code as string that uses window.testRenderer
|
|
1844
1857
|
* @param width - Optional width to resize the canvas to
|
|
1845
1858
|
* @param height - Optional height to resize the canvas to
|
|
1859
|
+
* @param frameIndex - Optional frame index passed to the render function
|
|
1846
1860
|
* @returns Captured pixel data
|
|
1847
1861
|
*/
|
|
1848
|
-
declare function renderAndCaptureWebGLPlaywright(page: Page, renderFn: string, width?: number, height?: number): Promise<Uint8ClampedArray>;
|
|
1862
|
+
declare function renderAndCaptureWebGLPlaywright(page: Page, renderFn: string, width?: number, height?: number, frameIndex?: number): Promise<Uint8ClampedArray>;
|
|
1849
1863
|
/**
|
|
1850
1864
|
* Runs a WebGL visual test with the actual quake2ts renderer.
|
|
1851
1865
|
*
|
|
@@ -1870,6 +1884,27 @@ declare function renderAndCaptureWebGLPlaywright(page: Page, renderFn: string, w
|
|
|
1870
1884
|
* ```
|
|
1871
1885
|
*/
|
|
1872
1886
|
declare function testWebGLRenderer(renderCode: string, options: SnapshotTestOptions & WebGLPlaywrightOptions): Promise<void>;
|
|
1887
|
+
/**
|
|
1888
|
+
* Runs a WebGL animated visual test with the actual quake2ts renderer.
|
|
1889
|
+
*
|
|
1890
|
+
* Usage:
|
|
1891
|
+
* ```ts
|
|
1892
|
+
* await testWebGLAnimation(`
|
|
1893
|
+
* // frameIndex is available here
|
|
1894
|
+
* gl.clearColor(frameIndex * 0.1, 0, 0, 1);
|
|
1895
|
+
* gl.clear(gl.COLOR_BUFFER_BIT);
|
|
1896
|
+
* `, {
|
|
1897
|
+
* name: 'animated-red',
|
|
1898
|
+
* description: 'Fading red animation',
|
|
1899
|
+
* width: 256,
|
|
1900
|
+
* height: 256,
|
|
1901
|
+
* frameCount: 10,
|
|
1902
|
+
* fps: 10,
|
|
1903
|
+
* snapshotDir: __dirname
|
|
1904
|
+
* });
|
|
1905
|
+
* ```
|
|
1906
|
+
*/
|
|
1907
|
+
declare function testWebGLAnimation(renderCode: string, options: AnimationSnapshotOptions & WebGLPlaywrightOptions): Promise<void>;
|
|
1873
1908
|
|
|
1874
1909
|
interface GeometryBuffers {
|
|
1875
1910
|
vertexBuffer: GPUBuffer;
|
|
@@ -1895,6 +1930,14 @@ declare function createCheckerboardTexture(width: number, height: number, checkS
|
|
|
1895
1930
|
*/
|
|
1896
1931
|
declare function createSolidTexture(width: number, height: number, color: [number, number, number, number]): Uint8ClampedArray;
|
|
1897
1932
|
|
|
1933
|
+
declare function createNullRenderer(width?: number, height?: number): NullRenderer;
|
|
1934
|
+
declare function createLoggingRenderer(targetSystem?: CoordinateSystem, options?: {
|
|
1935
|
+
verbose?: boolean;
|
|
1936
|
+
validateTransforms?: boolean;
|
|
1937
|
+
}): LoggingRenderer;
|
|
1938
|
+
declare function expectRendererCalls(renderer: NullRenderer, expectedCalls: string[]): void;
|
|
1939
|
+
declare function expectNoDoubleTransform(renderer: LoggingRenderer): void;
|
|
1940
|
+
|
|
1898
1941
|
/**
|
|
1899
1942
|
* Client Input System Mocks
|
|
1900
1943
|
*
|
|
@@ -2201,19 +2244,6 @@ declare const simulateClientPrediction: (state: ClientState, input: UserCommand,
|
|
|
2201
2244
|
declare const createInterpolationTestData: (startState: EntityState, endState: EntityState, steps?: number) => EntityState[];
|
|
2202
2245
|
declare const verifySmoothing: (states: EntityState[]) => SmoothingAnalysis;
|
|
2203
2246
|
|
|
2204
|
-
interface AnimationSnapshotOptions extends SnapshotTestOptions {
|
|
2205
|
-
frameCount: number;
|
|
2206
|
-
fps?: number;
|
|
2207
|
-
}
|
|
2208
|
-
interface AnimationSnapshotResult {
|
|
2209
|
-
passed: boolean;
|
|
2210
|
-
totalPixels: number;
|
|
2211
|
-
totalDiffPixels: number;
|
|
2212
|
-
percentDifferent: number;
|
|
2213
|
-
frameStats: ComparisonResult[];
|
|
2214
|
-
}
|
|
2215
|
-
declare function expectAnimationSnapshot(renderAndCaptureFrame: (frameIndex: number) => Promise<Uint8ClampedArray>, options: AnimationSnapshotOptions): Promise<void>;
|
|
2216
|
-
|
|
2217
2247
|
interface PlaywrightOptions {
|
|
2218
2248
|
headless?: boolean;
|
|
2219
2249
|
viewport?: {
|
|
@@ -2295,4 +2325,4 @@ declare function compareScreenshots(baseline: Buffer, current: Buffer, threshold
|
|
|
2295
2325
|
*/
|
|
2296
2326
|
declare function createVisualTestScenario(sceneName: string): VisualScenario;
|
|
2297
2327
|
|
|
2298
|
-
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, createPowerArmorState, createPredictionTestScenario, createProjectileEntityFactory, createRegularArmorState, 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 };
|
|
2328
|
+
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, createLoggingRenderer, 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, createNullRenderer, createPacketMock, createPhysicsTestContext, createPhysicsTestScenario, createPlayerEntityFactory, createPlayerStateFactory, createPlaywrightTestClient, createPowerArmorState, createPredictionTestScenario, createProjectileEntityFactory, createRegularArmorState, createRenderTestSetup, createSaveGameSnapshot, createServerSnapshot, createSolidTexture, createSpawnTestContext, createStorageTestScenario, createSurfaceMock, createTestContext, createTraceMock, createTransform, createTriggerEntityFactory, createVector3, createViewTestScenario, createVisualTestScenario, createWebGLPlaywrightSetup, createWebGLRenderTestSetup, expectAnimationSnapshot, expectNoDoubleTransform, expectRendererCalls, 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, testWebGLAnimation, testWebGLRenderer, throttleBandwidth, verifySmoothing, verifySnapshotConsistency, waitForGameReady };
|