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