quake2ts 0.0.593 → 0.0.596

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js.map +1 -1
  3. package/packages/client/dist/cjs/index.cjs.map +1 -1
  4. package/packages/client/dist/esm/index.js.map +1 -1
  5. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  6. package/packages/engine/dist/browser/index.global.js +3 -3
  7. package/packages/engine/dist/browser/index.global.js.map +1 -1
  8. package/packages/engine/dist/cjs/index.cjs +116 -125
  9. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  10. package/packages/engine/dist/esm/index.js +116 -125
  11. package/packages/engine/dist/esm/index.js.map +1 -1
  12. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  13. package/packages/engine/dist/types/index.d.ts +3 -4
  14. package/packages/engine/dist/types/index.d.ts.map +1 -1
  15. package/packages/engine/dist/types/render/interface.d.ts +20 -28
  16. package/packages/engine/dist/types/render/interface.d.ts.map +1 -1
  17. package/packages/engine/dist/types/render/renderer.d.ts.map +1 -1
  18. package/packages/engine/dist/types/render/webgpu/context.d.ts +11 -5
  19. package/packages/engine/dist/types/render/webgpu/context.d.ts.map +1 -1
  20. package/packages/engine/dist/types/render/webgpu/headless.d.ts.map +1 -1
  21. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  22. package/packages/test-utils/dist/index.cjs +108 -88
  23. package/packages/test-utils/dist/index.cjs.map +1 -1
  24. package/packages/test-utils/dist/index.d.cts +23 -57
  25. package/packages/test-utils/dist/index.d.ts +23 -57
  26. package/packages/test-utils/dist/index.js +93 -78
  27. package/packages/test-utils/dist/index.js.map +1 -1
  28. package/packages/tools/dist/browser/index.global.js.map +1 -1
  29. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -30,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
+ Cvar: () => import_engine2.Cvar,
33
34
  HandshakeStage: () => HandshakeStage,
34
35
  InputInjector: () => InputInjector,
35
36
  MockNetworkTransport: () => MockNetworkTransport,
@@ -46,8 +47,11 @@ __export(index_exports, {
46
47
  createBinaryWriterMock: () => createBinaryWriterMock,
47
48
  createBounds: () => createBounds,
48
49
  createCombatTestContext: () => createCombatTestContext,
50
+ createConfigStringArrayMock: () => createConfigStringArrayMock,
51
+ createConfigStringMock: () => createConfigStringMock,
49
52
  createControlledTimer: () => createControlledTimer,
50
53
  createCustomNetworkCondition: () => createCustomNetworkCondition,
54
+ createCvarMock: () => createCvarMock,
51
55
  createDeltaSnapshot: () => createDeltaSnapshot,
52
56
  createEntity: () => createEntity,
53
57
  createEntityFactory: () => createEntityFactory,
@@ -68,6 +72,7 @@ __export(index_exports, {
68
72
  createMockDamageInfo: () => createMockDamageInfo,
69
73
  createMockEngine: () => createMockEngine,
70
74
  createMockGPUAdapter: () => createMockGPUAdapter,
75
+ createMockGPUCanvasContext: () => createMockGPUCanvasContext,
71
76
  createMockGPUDevice: () => createMockGPUDevice,
72
77
  createMockGame: () => createMockGame,
73
78
  createMockGameExports: () => createMockGameExports,
@@ -372,6 +377,50 @@ var randomVector3 = (min2 = -100, max2 = 100) => ({
372
377
  z: Math.random() * (max2 - min2) + min2
373
378
  });
374
379
 
380
+ // src/shared/collision.ts
381
+ var import_shared2 = require("@quake2ts/shared");
382
+ var createTraceMock = (overrides) => ({
383
+ fraction: 1,
384
+ endpos: { x: 0, y: 0, z: 0 },
385
+ plane: { normal: { x: 0, y: 0, z: 0 }, dist: 0, type: 0, signbits: 0 },
386
+ surface: { flags: 0 },
387
+ contents: 0,
388
+ ent: null,
389
+ allsolid: false,
390
+ startsolid: false,
391
+ ...overrides
392
+ });
393
+ var createSurfaceMock = (overrides) => ({
394
+ flags: 0,
395
+ name: "default",
396
+ value: 0,
397
+ ...overrides
398
+ });
399
+
400
+ // src/shared/factories.ts
401
+ var import_engine = require("@quake2ts/engine");
402
+ var import_shared3 = require("@quake2ts/shared");
403
+ var import_engine2 = require("@quake2ts/engine");
404
+ function createConfigStringMock(index, value) {
405
+ return { index, value };
406
+ }
407
+ function createConfigStringArrayMock(entries) {
408
+ const result = [];
409
+ if (entries) {
410
+ for (const [key, value] of Object.entries(entries)) {
411
+ result.push({ index: Number(key), value });
412
+ }
413
+ }
414
+ return result;
415
+ }
416
+ function createCvarMock(name, value, flags = import_shared3.CvarFlags.None) {
417
+ return new import_engine.Cvar({
418
+ name,
419
+ defaultValue: value,
420
+ flags
421
+ });
422
+ }
423
+
375
424
  // src/game/factories.ts
376
425
  var import_game = require("@quake2ts/game");
377
426
  var createPlayerStateFactory = (overrides) => ({
@@ -527,29 +576,7 @@ function createTriggerEntityFactory(classname, overrides = {}) {
527
576
  // src/game/helpers.ts
528
577
  var import_vitest2 = require("vitest");
529
578
  var import_game2 = require("@quake2ts/game");
530
- var import_shared3 = require("@quake2ts/shared");
531
-
532
- // src/shared/collision.ts
533
- var import_shared2 = require("@quake2ts/shared");
534
- var createTraceMock = (overrides) => ({
535
- fraction: 1,
536
- endpos: { x: 0, y: 0, z: 0 },
537
- plane: { normal: { x: 0, y: 0, z: 0 }, dist: 0, type: 0, signbits: 0 },
538
- surface: { flags: 0 },
539
- contents: 0,
540
- ent: null,
541
- allsolid: false,
542
- startsolid: false,
543
- ...overrides
544
- });
545
- var createSurfaceMock = (overrides) => ({
546
- flags: 0,
547
- name: "default",
548
- value: 0,
549
- ...overrides
550
- });
551
-
552
- // src/game/helpers.ts
579
+ var import_shared4 = require("@quake2ts/shared");
553
580
  var createMockEngine = () => ({
554
581
  sound: import_vitest2.vi.fn(),
555
582
  soundIndex: import_vitest2.vi.fn((sound) => 0),
@@ -560,7 +587,7 @@ var createMockGame = (seed = 12345) => {
560
587
  const spawnRegistry = new import_game2.SpawnRegistry();
561
588
  const hooks = new import_game2.ScriptHookRegistry();
562
589
  const game = {
563
- random: (0, import_shared3.createRandomGenerator)({ seed }),
590
+ random: (0, import_shared4.createRandomGenerator)({ seed }),
564
591
  registerEntitySpawn: import_vitest2.vi.fn((classname, spawnFunc) => {
565
592
  spawnRegistry.register(classname, (entity) => spawnFunc(entity));
566
593
  }),
@@ -639,7 +666,7 @@ function createTestContext(options) {
639
666
  findByTargetName: import_vitest2.vi.fn(() => []),
640
667
  pickTarget: import_vitest2.vi.fn(() => null),
641
668
  killBox: import_vitest2.vi.fn(),
642
- rng: (0, import_shared3.createRandomGenerator)({ seed }),
669
+ rng: (0, import_shared4.createRandomGenerator)({ seed }),
643
670
  imports: {
644
671
  configstring: import_vitest2.vi.fn(),
645
672
  trace: traceFn,
@@ -1074,12 +1101,12 @@ function createMockNetDriver(overrides) {
1074
1101
  }
1075
1102
 
1076
1103
  // src/server/mockTransport.ts
1077
- var import_shared4 = require("@quake2ts/shared");
1104
+ var import_shared5 = require("@quake2ts/shared");
1078
1105
  var MockNetworkTransport = class {
1079
1106
  constructor() {
1080
1107
  this.recordedPackets = [];
1081
1108
  this.sentPackets = [];
1082
- this.netchan = new import_shared4.NetChan();
1109
+ this.netchan = new import_shared5.NetChan();
1083
1110
  this.netchan.setup(1234, { type: "loopback", port: 0 });
1084
1111
  }
1085
1112
  reset() {
@@ -1114,7 +1141,7 @@ var MockNetworkTransport = class {
1114
1141
 
1115
1142
  // src/server/mocks/state.ts
1116
1143
  var import_server = require("@quake2ts/server");
1117
- var import_shared5 = require("@quake2ts/shared");
1144
+ var import_shared6 = require("@quake2ts/shared");
1118
1145
  var import_vitest7 = require("vitest");
1119
1146
  function createMockServerState(overrides) {
1120
1147
  return {
@@ -1126,8 +1153,8 @@ function createMockServerState(overrides) {
1126
1153
  frame: 0,
1127
1154
  name: "test_map",
1128
1155
  collisionModel: null,
1129
- configStrings: new Array(import_shared5.MAX_CONFIGSTRINGS).fill(""),
1130
- baselines: new Array(import_shared5.MAX_EDICTS).fill(null),
1156
+ configStrings: new Array(import_shared6.MAX_CONFIGSTRINGS).fill(""),
1157
+ baselines: new Array(import_shared6.MAX_EDICTS).fill(null),
1131
1158
  multicastBuf: new Uint8Array(0),
1132
1159
  ...overrides
1133
1160
  };
@@ -2254,81 +2281,66 @@ function createMockImage(width = 100, height = 100, src = "") {
2254
2281
 
2255
2282
  // src/engine/mocks/webgpu.ts
2256
2283
  var import_vitest11 = require("vitest");
2257
- function createMockGPUAdapter(options = {}) {
2258
- const features = new Set(options.features || []);
2284
+ function createMockGPUAdapter() {
2259
2285
  return {
2260
- features: {
2261
- has: (feature) => features.has(feature),
2262
- [Symbol.iterator]: features[Symbol.iterator].bind(features)
2263
- },
2264
- limits: options.limits || {
2286
+ features: /* @__PURE__ */ new Set(),
2287
+ limits: {
2265
2288
  maxTextureDimension2D: 8192,
2266
2289
  maxBindGroups: 4,
2267
- maxUniformBufferBindingSize: 16384,
2290
+ maxUniformBufferBindingSize: 65536,
2268
2291
  maxStorageBufferBindingSize: 134217728
2269
2292
  },
2270
- requestDevice: import_vitest11.vi.fn().mockImplementation(async (descriptor) => createMockGPUDevice(descriptor))
2293
+ requestDevice: import_vitest11.vi.fn().mockResolvedValue(createMockGPUDevice())
2271
2294
  };
2272
2295
  }
2273
- function createMockGPUDevice(descriptor = {}) {
2274
- const features = new Set(descriptor?.requiredFeatures || []);
2296
+ function createMockGPUDevice() {
2275
2297
  return {
2276
- features: {
2277
- has: (feature) => features.has(feature),
2278
- [Symbol.iterator]: features[Symbol.iterator].bind(features)
2279
- },
2298
+ features: /* @__PURE__ */ new Set(),
2280
2299
  limits: {
2281
- maxTextureDimension2D: 8192,
2282
- maxBindGroups: 4,
2283
- maxUniformBufferBindingSize: 16384,
2284
- maxStorageBufferBindingSize: 134217728,
2285
- ...descriptor?.requiredLimits
2300
+ maxTextureDimension2D: 8192
2286
2301
  },
2287
- queue: {
2288
- submit: import_vitest11.vi.fn(),
2289
- writeBuffer: import_vitest11.vi.fn(),
2290
- writeTexture: import_vitest11.vi.fn()
2291
- },
2292
- createCommandEncoder: import_vitest11.vi.fn().mockReturnValue({
2293
- beginRenderPass: import_vitest11.vi.fn().mockReturnValue({
2294
- setPipeline: import_vitest11.vi.fn(),
2295
- setBindGroup: import_vitest11.vi.fn(),
2296
- setVertexBuffer: import_vitest11.vi.fn(),
2297
- setIndexBuffer: import_vitest11.vi.fn(),
2298
- draw: import_vitest11.vi.fn(),
2299
- drawIndexed: import_vitest11.vi.fn(),
2300
- end: import_vitest11.vi.fn()
2301
- }),
2302
- copyTextureToBuffer: import_vitest11.vi.fn(),
2303
- finish: import_vitest11.vi.fn()
2302
+ lost: new Promise(() => {
2304
2303
  }),
2305
- createBindGroup: import_vitest11.vi.fn(),
2304
+ // Pending promise
2305
+ createShaderModule: import_vitest11.vi.fn(),
2306
2306
  createBindGroupLayout: import_vitest11.vi.fn(),
2307
2307
  createPipelineLayout: import_vitest11.vi.fn(),
2308
2308
  createRenderPipeline: import_vitest11.vi.fn(),
2309
- createShaderModule: import_vitest11.vi.fn(),
2309
+ createCommandEncoder: import_vitest11.vi.fn().mockReturnValue({
2310
+ copyTextureToBuffer: import_vitest11.vi.fn(),
2311
+ finish: import_vitest11.vi.fn()
2312
+ }),
2310
2313
  createBuffer: import_vitest11.vi.fn(),
2311
2314
  createTexture: import_vitest11.vi.fn().mockReturnValue({
2312
- createView: import_vitest11.vi.fn(),
2313
- width: descriptor?.size?.width || 0,
2314
- height: descriptor?.size?.height || 0
2315
- }),
2316
- createSampler: import_vitest11.vi.fn(),
2317
- lost: new Promise((resolve) => {
2315
+ createView: import_vitest11.vi.fn()
2318
2316
  }),
2319
- // Never resolves by default
2320
- destroy: import_vitest11.vi.fn()
2317
+ queue: {
2318
+ submit: import_vitest11.vi.fn(),
2319
+ writeBuffer: import_vitest11.vi.fn(),
2320
+ writeTexture: import_vitest11.vi.fn()
2321
+ }
2322
+ };
2323
+ }
2324
+ function createMockGPUCanvasContext() {
2325
+ return {
2326
+ configure: import_vitest11.vi.fn(),
2327
+ getCurrentTexture: import_vitest11.vi.fn()
2321
2328
  };
2322
2329
  }
2323
2330
  function setupWebGPUMocks() {
2324
- const adapter = createMockGPUAdapter();
2325
- const gpu = {
2326
- requestAdapter: import_vitest11.vi.fn().mockResolvedValue(adapter),
2331
+ const mockAdapter = createMockGPUAdapter();
2332
+ const mockGpu = {
2333
+ requestAdapter: import_vitest11.vi.fn().mockResolvedValue(mockAdapter),
2327
2334
  getPreferredCanvasFormat: import_vitest11.vi.fn().mockReturnValue("bgra8unorm")
2328
2335
  };
2329
- global.navigator = global.navigator || {};
2330
- global.navigator.gpu = gpu;
2331
- if (!global.GPUTextureUsage) {
2336
+ Object.defineProperty(global, "navigator", {
2337
+ value: {
2338
+ ...global.navigator,
2339
+ gpu: mockGpu
2340
+ },
2341
+ writable: true
2342
+ });
2343
+ if (typeof GPUTextureUsage === "undefined") {
2332
2344
  global.GPUTextureUsage = {
2333
2345
  COPY_SRC: 1,
2334
2346
  COPY_DST: 2,
@@ -2337,7 +2349,7 @@ function setupWebGPUMocks() {
2337
2349
  RENDER_ATTACHMENT: 16
2338
2350
  };
2339
2351
  }
2340
- if (!global.GPUBufferUsage) {
2352
+ if (typeof GPUBufferUsage === "undefined") {
2341
2353
  global.GPUBufferUsage = {
2342
2354
  MAP_READ: 1,
2343
2355
  MAP_WRITE: 2,
@@ -2351,13 +2363,16 @@ function setupWebGPUMocks() {
2351
2363
  QUERY_RESOLVE: 512
2352
2364
  };
2353
2365
  }
2354
- if (!global.GPUMapMode) {
2366
+ if (typeof GPUMapMode === "undefined") {
2355
2367
  global.GPUMapMode = {
2356
2368
  READ: 1,
2357
2369
  WRITE: 2
2358
2370
  };
2359
2371
  }
2360
- return { gpu, adapter };
2372
+ return {
2373
+ mockGpu,
2374
+ mockAdapter
2375
+ };
2361
2376
  }
2362
2377
 
2363
2378
  // src/setup/timing.ts
@@ -3046,7 +3061,7 @@ var forEach = (function() {
3046
3061
  })();
3047
3062
 
3048
3063
  // src/client/helpers/view.ts
3049
- var import_engine = require("@quake2ts/engine");
3064
+ var import_engine3 = require("@quake2ts/engine");
3050
3065
  function toVec3(v) {
3051
3066
  if (v instanceof Float32Array && v.length === 3) {
3052
3067
  return v;
@@ -3060,7 +3075,7 @@ function toVec3(v) {
3060
3075
  return vec3_exports.create();
3061
3076
  }
3062
3077
  function createMockCamera(overrides = {}) {
3063
- const camera = new import_engine.Camera();
3078
+ const camera = new import_engine3.Camera();
3064
3079
  if (overrides.position) {
3065
3080
  camera.position = toVec3(overrides.position);
3066
3081
  }
@@ -3250,6 +3265,7 @@ function createVisualTestScenario(sceneName) {
3250
3265
  }
3251
3266
  // Annotate the CommonJS export names for ESM import in node:
3252
3267
  0 && (module.exports = {
3268
+ Cvar,
3253
3269
  HandshakeStage,
3254
3270
  InputInjector,
3255
3271
  MockNetworkTransport,
@@ -3266,8 +3282,11 @@ function createVisualTestScenario(sceneName) {
3266
3282
  createBinaryWriterMock,
3267
3283
  createBounds,
3268
3284
  createCombatTestContext,
3285
+ createConfigStringArrayMock,
3286
+ createConfigStringMock,
3269
3287
  createControlledTimer,
3270
3288
  createCustomNetworkCondition,
3289
+ createCvarMock,
3271
3290
  createDeltaSnapshot,
3272
3291
  createEntity,
3273
3292
  createEntityFactory,
@@ -3288,6 +3307,7 @@ function createVisualTestScenario(sceneName) {
3288
3307
  createMockDamageInfo,
3289
3308
  createMockEngine,
3290
3309
  createMockGPUAdapter,
3310
+ createMockGPUCanvasContext,
3291
3311
  createMockGPUDevice,
3292
3312
  createMockGame,
3293
3313
  createMockGameExports,