pixi-wheels

SpinPresets

pixi-wheels


pixi-wheels / index / SpinPresets

Variable: SpinPresets

const SpinPresets: {
  CINEMATIC: {
     accelerationEase: "power2.in";
     accelerationMs: 1400;
     maxTurns: 6;
     minCruiseMs: 800;
     minimumSpinTime: 2200;
     minTurns: 1;
     skipDuration: 600;
     spinSpeed: 450;
     stopDuration: 8000;
     stopEase: "power4.out";
  };
  NORMAL: {
     accelerationEase: "power2.in";
     accelerationMs: 900;
     maxTurns: 8;
     minCruiseMs: 400;
     minimumSpinTime: 1400;
     minTurns: 1;
     skipDuration: 450;
     spinSpeed: 540;
     stopDuration: 4200;
     stopEase: "power3.out";
  };
  QUICK: {
     accelerationEase: "power1.in";
     accelerationMs: 250;
     maxTurns: 3;
     minCruiseMs: 100;
     minimumSpinTime: 400;
     minTurns: 1;
     skipDuration: 250;
     spinSpeed: 900;
     stopDuration: 1300;
     stopEase: "power2.out";
  };
  TURBO: {
     accelerationEase: "power2.in";
     accelerationMs: 400;
     maxTurns: 4;
     minCruiseMs: 150;
     minimumSpinTime: 600;
     minTurns: 1;
     skipDuration: 300;
     spinSpeed: 720;
     stopDuration: 2000;
     stopEase: "power3.out";
  };
};

Defined in: config/SpinPresets.ts:19

Ready-made spin feels. Register them by name and switch at run time.

Each preset’s stopDuration is reachable inside its turn range: a stop leg with the ease’s start slope matched to the cruise speed lasts turns * 360 * slope / spinSpeed seconds, so the planner can only pick among those durations. tests/unit/SpinPresets.test.ts holds them to it.

new WheelBuilder()
  .speed('normal', SpinPresets.NORMAL)
  .speed('turbo', SpinPresets.TURBO)
// ...
wheel.setSpeed('turbo');

Type Declaration#

NameTypeDefault valueDescriptionDefined in
CINEMATIC{ accelerationEase: "power2.in"; accelerationMs: 1400; maxTurns: 6; minCruiseMs: 800; minimumSpinTime: 2200; minTurns: 1; skipDuration: 600; spinSpeed: 450; stopDuration: 8000; stopEase: "power4.out"; }-Long, heavy, for a jackpot wheel that is the whole screen: an eight-second stop.config/SpinPresets.ts:47
CINEMATIC.accelerationEase"power2.in"'power2.in'-config/SpinPresets.ts:50
CINEMATIC.accelerationMs14001400-config/SpinPresets.ts:49
CINEMATIC.maxTurns66-config/SpinPresets.ts:56
CINEMATIC.minCruiseMs800800-config/SpinPresets.ts:52
CINEMATIC.minimumSpinTime22002200-config/SpinPresets.ts:51
CINEMATIC.minTurns11-config/SpinPresets.ts:55
CINEMATIC.skipDuration600600-config/SpinPresets.ts:57
CINEMATIC.spinSpeed450450-config/SpinPresets.ts:48
CINEMATIC.stopDuration80008000-config/SpinPresets.ts:53
CINEMATIC.stopEase"power4.out"'power4.out'-config/SpinPresets.ts:54
NORMAL{ accelerationEase: "power2.in"; accelerationMs: 900; maxTurns: 8; minCruiseMs: 400; minimumSpinTime: 1400; minTurns: 1; skipDuration: 450; spinSpeed: 540; stopDuration: 4200; stopEase: "power3.out"; }-The default bonus-wheel feel: a second of wind-up, a four-to-five-second stop.config/SpinPresets.ts:21
NORMAL.accelerationEase"power2.in"'power2.in'-config/SpinPresets.ts:24
NORMAL.accelerationMs900900-config/SpinPresets.ts:23
NORMAL.maxTurns88-config/SpinPresets.ts:30
NORMAL.minCruiseMs400400-config/SpinPresets.ts:26
NORMAL.minimumSpinTime14001400-config/SpinPresets.ts:25
NORMAL.minTurns11-config/SpinPresets.ts:29
NORMAL.skipDuration450450-config/SpinPresets.ts:31
NORMAL.spinSpeed540540-config/SpinPresets.ts:22
NORMAL.stopDuration42004200-config/SpinPresets.ts:27
NORMAL.stopEase"power3.out"'power3.out'-config/SpinPresets.ts:28
QUICK{ accelerationEase: "power1.in"; accelerationMs: 250; maxTurns: 3; minCruiseMs: 100; minimumSpinTime: 400; minTurns: 1; skipDuration: 250; spinSpeed: 900; stopDuration: 1300; stopEase: "power2.out"; }-For a gamble wheel that is spun over and over: quick in, quick out.config/SpinPresets.ts:60
QUICK.accelerationEase"power1.in"'power1.in'-config/SpinPresets.ts:63
QUICK.accelerationMs250250-config/SpinPresets.ts:62
QUICK.maxTurns33-config/SpinPresets.ts:69
QUICK.minCruiseMs100100-config/SpinPresets.ts:65
QUICK.minimumSpinTime400400-config/SpinPresets.ts:64
QUICK.minTurns11-config/SpinPresets.ts:68
QUICK.skipDuration250250-config/SpinPresets.ts:70
QUICK.spinSpeed900900-config/SpinPresets.ts:61
QUICK.stopDuration13001300-config/SpinPresets.ts:66
QUICK.stopEase"power2.out"'power2.out'-config/SpinPresets.ts:67
TURBO{ accelerationEase: "power2.in"; accelerationMs: 400; maxTurns: 4; minCruiseMs: 150; minimumSpinTime: 600; minTurns: 1; skipDuration: 300; spinSpeed: 720; stopDuration: 2000; stopEase: "power3.out"; }-Everything shorter. The player has seen this wheel a hundred times.config/SpinPresets.ts:34
TURBO.accelerationEase"power2.in"'power2.in'-config/SpinPresets.ts:37
TURBO.accelerationMs400400-config/SpinPresets.ts:36
TURBO.maxTurns44-config/SpinPresets.ts:43
TURBO.minCruiseMs150150-config/SpinPresets.ts:39
TURBO.minimumSpinTime600600-config/SpinPresets.ts:38
TURBO.minTurns11-config/SpinPresets.ts:42
TURBO.skipDuration300300-config/SpinPresets.ts:44
TURBO.spinSpeed720720-config/SpinPresets.ts:35
TURBO.stopDuration20002000-config/SpinPresets.ts:40
TURBO.stopEase"power3.out"'power3.out'-config/SpinPresets.ts:41