@battle-racing/br-common-lib 6.2.0-rc.1 → 6.2.0-rc.2

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 (28) hide show
  1. package/dist/data/all-tutorial-steps.d.ts +2 -0
  2. package/dist/data/all-tutorial-steps.js +379 -0
  3. package/dist/data/index.d.ts +1 -0
  4. package/dist/data/index.js +1 -0
  5. package/dist/domains/socket/clientToServer/SocketKartClientToServerEventsParams.d.ts +3 -0
  6. package/dist/domains/socket/serverToClient/SocketKartServerToClientEventsParams.d.ts +3 -0
  7. package/dist/domains/tutorial/Tutorial.const.d.ts +30 -0
  8. package/dist/domains/tutorial/Tutorial.const.js +31 -1
  9. package/dist/domains/tutorial/Tutorial.schema.d.ts +139 -0
  10. package/dist/domains/tutorial/Tutorial.schema.js +56 -1
  11. package/dist/domains/tutorial/Tutorial.types.d.ts +10 -1
  12. package/dist/domains/tutorial/TutorialConfig.schema.d.ts +2781 -0
  13. package/dist/domains/tutorial/TutorialConfig.schema.js +43 -0
  14. package/dist/domains/tutorial/TutorialConfig.types.d.ts +9 -0
  15. package/dist/domains/tutorial/TutorialConfig.types.js +2 -0
  16. package/dist/domains/tutorial/index.d.ts +2 -0
  17. package/dist/domains/tutorial/index.js +2 -0
  18. package/package.json +1 -1
  19. package/src/data/all-tutorial-steps.ts +388 -0
  20. package/src/data/index.ts +1 -1
  21. package/src/domains/socket/clientToServer/SocketKartClientToServerEventsParams.ts +3 -0
  22. package/src/domains/socket/serverToClient/SocketKartServerToClientEventsParams.ts +3 -0
  23. package/src/domains/tutorial/Tutorial.const.ts +36 -0
  24. package/src/domains/tutorial/Tutorial.schema.ts +74 -1
  25. package/src/domains/tutorial/Tutorial.types.ts +21 -1
  26. package/src/domains/tutorial/TutorialConfig.schema.ts +52 -0
  27. package/src/domains/tutorial/TutorialConfig.types.ts +18 -0
  28. package/src/domains/tutorial/index.ts +2 -0
@@ -0,0 +1,2 @@
1
+ import { TutorialMasterConfig } from '../domains';
2
+ export declare const allTutorialConfig: TutorialMasterConfig;
@@ -0,0 +1,379 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allTutorialConfig = void 0;
4
+ const domains_1 = require("../domains");
5
+ const defaultTutorialHud = {
6
+ position: { current: 1, total: 6 },
7
+ coins: 0,
8
+ gameTimeLeft: { minutes: 3, seconds: 0 },
9
+ laps: { current: 1, total: 1 },
10
+ powerUp: null,
11
+ powerUpAnimationTimeSeconds: null,
12
+ };
13
+ const nitroTutorialHud = {
14
+ ...defaultTutorialHud,
15
+ powerUp: domains_1.POWER_UP_NAME.BATTLE_NITRO,
16
+ };
17
+ exports.allTutorialConfig = {
18
+ id: 'tutorial-master-v1',
19
+ name: 'Standard Circuit Induction Tutorial',
20
+ phases: [
21
+ {
22
+ id: domains_1.TUTORIAL_PHASE_ID.STARTING_POINT,
23
+ name: 'Starting Point',
24
+ index: 0,
25
+ steps: [
26
+ {
27
+ id: 'step_welcome',
28
+ index: 0,
29
+ name: 'Welcome Screen',
30
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.WELCOME,
31
+ listenEvent: {
32
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.TIMEOUT,
33
+ durationMs: 5000,
34
+ },
35
+ triggerCommands: [
36
+ {
37
+ module: 'screen',
38
+ action: 'showTutorialView',
39
+ params: {
40
+ step: domains_1.TUTORIAL_SCREEN_STEP.WELCOME,
41
+ },
42
+ },
43
+ ],
44
+ },
45
+ {
46
+ id: 'step_personal_items',
47
+ index: 1,
48
+ name: 'Personal Items Safety',
49
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.PERSONAL_ITEMS,
50
+ listenEvent: {
51
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.TIMEOUT,
52
+ durationMs: 5000,
53
+ },
54
+ triggerCommands: [
55
+ {
56
+ module: 'screen',
57
+ action: 'showTutorialView',
58
+ params: {
59
+ step: domains_1.TUTORIAL_SCREEN_STEP.PERSONAL_ITEMS,
60
+ },
61
+ },
62
+ ],
63
+ },
64
+ {
65
+ id: 'step_seat_belt',
66
+ index: 2,
67
+ name: 'Seat Belt Fastening',
68
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.SEAT_BELT,
69
+ listenEvent: {
70
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.TIMEOUT,
71
+ durationMs: 5000,
72
+ },
73
+ triggerCommands: [
74
+ {
75
+ module: 'screen',
76
+ action: 'showTutorialView',
77
+ params: {
78
+ step: domains_1.TUTORIAL_SCREEN_STEP.SEAT_BELT,
79
+ },
80
+ },
81
+ ],
82
+ },
83
+ {
84
+ id: 'step_pedal',
85
+ index: 3,
86
+ name: 'Pedal Acceleration Check',
87
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.PEDAL,
88
+ listenEvent: {
89
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.CHECKPOINT,
90
+ checkpoint: domains_1.TUTORIAL_LOGICAL_CHECKPOINT.CHECKPOINT_1,
91
+ },
92
+ triggerCommands: [
93
+ {
94
+ module: 'screen',
95
+ action: 'showTutorialView',
96
+ params: {
97
+ step: domains_1.TUTORIAL_SCREEN_STEP.PEDAL,
98
+ },
99
+ },
100
+ ],
101
+ },
102
+ ],
103
+ },
104
+ {
105
+ id: domains_1.TUTORIAL_PHASE_ID.CHECKPOINT_1,
106
+ name: 'Checkpoint 1 - Controls and HUD',
107
+ index: 1,
108
+ steps: [
109
+ {
110
+ id: 'step_wheel_0_of_2',
111
+ index: 0,
112
+ name: 'Wheel Button Right Check',
113
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.WHEEL_CONTROLS_0_OF_2,
114
+ listenEvent: {
115
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.WHEEL_BUTTON,
116
+ button: domains_1.TUTORIAL_STEERING_WHEEL_BUTTON.RIGHT,
117
+ },
118
+ triggerCommands: [
119
+ {
120
+ module: 'screen',
121
+ action: 'showTutorialView',
122
+ params: {
123
+ step: domains_1.TUTORIAL_SCREEN_STEP.WHEEL_CONTROLS_0_OF_2,
124
+ },
125
+ },
126
+ ],
127
+ },
128
+ {
129
+ id: 'step_wheel_1_of_2',
130
+ index: 1,
131
+ name: 'Wheel Button Left Check',
132
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.WHEEL_CONTROLS_1_OF_2,
133
+ listenEvent: {
134
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.WHEEL_BUTTON,
135
+ button: domains_1.TUTORIAL_STEERING_WHEEL_BUTTON.LEFT,
136
+ },
137
+ triggerCommands: [
138
+ {
139
+ module: 'screen',
140
+ action: 'showTutorialView',
141
+ params: {
142
+ step: domains_1.TUTORIAL_SCREEN_STEP.WHEEL_CONTROLS_1_OF_2,
143
+ },
144
+ },
145
+ ],
146
+ },
147
+ {
148
+ id: 'step_wheel_completed',
149
+ index: 2,
150
+ name: 'Wheel Controls Success',
151
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.WHEEL_CONTROLS_COMPLETED,
152
+ listenEvent: {
153
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.TIMEOUT,
154
+ durationMs: 5000,
155
+ },
156
+ triggerCommands: [
157
+ {
158
+ module: 'screen',
159
+ action: 'showTutorialView',
160
+ params: {
161
+ step: domains_1.TUTORIAL_SCREEN_STEP.WHEEL_CONTROLS_COMPLETED,
162
+ },
163
+ },
164
+ ],
165
+ },
166
+ {
167
+ id: 'step_hud_overview',
168
+ index: 3,
169
+ name: 'HUD Overview Explanation',
170
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.HUD_OVERVIEW,
171
+ listenEvent: {
172
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.WHEEL_BUTTON,
173
+ button: domains_1.TUTORIAL_STEERING_WHEEL_BUTTON.ANY,
174
+ },
175
+ triggerCommands: [
176
+ {
177
+ module: 'screen',
178
+ action: 'showTutorialView',
179
+ params: {
180
+ step: domains_1.TUTORIAL_SCREEN_STEP.HUD_OVERVIEW,
181
+ hud: defaultTutorialHud,
182
+ },
183
+ },
184
+ ],
185
+ },
186
+ {
187
+ id: 'step_hud_position',
188
+ index: 4,
189
+ name: 'HUD Position Indicator',
190
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.HUD_POSITION,
191
+ listenEvent: {
192
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.WHEEL_BUTTON,
193
+ button: domains_1.TUTORIAL_STEERING_WHEEL_BUTTON.ANY,
194
+ },
195
+ triggerCommands: [
196
+ {
197
+ module: 'screen',
198
+ action: 'showTutorialView',
199
+ params: {
200
+ step: domains_1.TUTORIAL_SCREEN_STEP.HUD_POSITION,
201
+ hud: defaultTutorialHud,
202
+ },
203
+ },
204
+ ],
205
+ },
206
+ {
207
+ id: 'step_hud_laps',
208
+ index: 5,
209
+ name: 'HUD Lap Counter',
210
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.HUD_LAPS,
211
+ listenEvent: {
212
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.WHEEL_BUTTON,
213
+ button: domains_1.TUTORIAL_STEERING_WHEEL_BUTTON.ANY,
214
+ },
215
+ triggerCommands: [
216
+ {
217
+ module: 'screen',
218
+ action: 'showTutorialView',
219
+ params: {
220
+ step: domains_1.TUTORIAL_SCREEN_STEP.HUD_LAPS,
221
+ hud: defaultTutorialHud,
222
+ },
223
+ },
224
+ ],
225
+ },
226
+ {
227
+ id: 'step_hud_time_left',
228
+ index: 6,
229
+ name: 'HUD Time Left',
230
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.HUD_TIME_LEFT,
231
+ listenEvent: {
232
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.WHEEL_BUTTON,
233
+ button: domains_1.TUTORIAL_STEERING_WHEEL_BUTTON.ANY,
234
+ },
235
+ triggerCommands: [
236
+ {
237
+ module: 'screen',
238
+ action: 'showTutorialView',
239
+ params: {
240
+ step: domains_1.TUTORIAL_SCREEN_STEP.HUD_TIME_LEFT,
241
+ hud: defaultTutorialHud,
242
+ },
243
+ },
244
+ ],
245
+ },
246
+ {
247
+ id: 'step_hud_coins',
248
+ index: 7,
249
+ name: 'HUD Coins and Checkpoint 2 Target',
250
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.HUD_COINS,
251
+ listenEvent: {
252
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.CHECKPOINT,
253
+ checkpoint: domains_1.TUTORIAL_LOGICAL_CHECKPOINT.CHECKPOINT_2,
254
+ },
255
+ triggerCommands: [
256
+ {
257
+ module: 'screen',
258
+ action: 'showTutorialView',
259
+ params: {
260
+ step: domains_1.TUTORIAL_SCREEN_STEP.HUD_COINS,
261
+ hud: defaultTutorialHud,
262
+ },
263
+ },
264
+ ],
265
+ },
266
+ ],
267
+ },
268
+ {
269
+ id: domains_1.TUTORIAL_PHASE_ID.CHECKPOINT_2,
270
+ name: 'Checkpoint 2 - Power Up Preview',
271
+ index: 2,
272
+ steps: [
273
+ {
274
+ id: 'step_power_up_waiting',
275
+ index: 0,
276
+ name: 'Power Up Allocation Trigger',
277
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.POWER_UP_WAITING,
278
+ listenEvent: {
279
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.TIMEOUT,
280
+ durationMs: 1000,
281
+ },
282
+ triggerCommands: [
283
+ {
284
+ module: 'screen',
285
+ action: 'showTutorialView',
286
+ params: {
287
+ step: domains_1.TUTORIAL_SCREEN_STEP.POWER_UP_WAITING,
288
+ },
289
+ },
290
+ ],
291
+ },
292
+ {
293
+ id: 'step_power_up_roulette',
294
+ index: 1,
295
+ name: 'Power Up Roulette Animation',
296
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.POWER_UP_ROULETTE,
297
+ listenEvent: {
298
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.TIMEOUT,
299
+ durationMs: 3000,
300
+ },
301
+ triggerCommands: [
302
+ {
303
+ module: 'screen',
304
+ action: 'showTutorialView',
305
+ params: {
306
+ step: domains_1.TUTORIAL_SCREEN_STEP.POWER_UP_ROULETTE,
307
+ },
308
+ },
309
+ ],
310
+ },
311
+ {
312
+ id: 'step_power_up_nitro_ready',
313
+ index: 2,
314
+ name: 'Power Up Nitro Ready To Fire',
315
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.POWER_UP_NITRO_READY,
316
+ listenEvent: {
317
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.WHEEL_BUTTON,
318
+ button: domains_1.TUTORIAL_STEERING_WHEEL_BUTTON.ANY,
319
+ },
320
+ triggerCommands: [
321
+ {
322
+ module: 'screen',
323
+ action: 'showTutorialView',
324
+ params: {
325
+ step: domains_1.TUTORIAL_SCREEN_STEP.POWER_UP_NITRO_READY,
326
+ },
327
+ },
328
+ ],
329
+ },
330
+ {
331
+ id: 'step_power_up_return_to_hud',
332
+ index: 3,
333
+ name: 'Nitro Fired - Return to HUD',
334
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.POWER_UP_RETURN_TO_HUD,
335
+ listenEvent: {
336
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.CHECKPOINT,
337
+ checkpoint: domains_1.TUTORIAL_LOGICAL_CHECKPOINT.CHECKPOINT_3_FINISH,
338
+ },
339
+ triggerCommands: [
340
+ {
341
+ module: 'screen',
342
+ action: 'showTutorialView',
343
+ params: {
344
+ step: domains_1.TUTORIAL_SCREEN_STEP.POWER_UP_RETURN_TO_HUD,
345
+ hud: nitroTutorialHud,
346
+ },
347
+ },
348
+ ],
349
+ },
350
+ ],
351
+ },
352
+ {
353
+ id: domains_1.TUTORIAL_PHASE_ID.LAP_COMPLETION,
354
+ name: 'Lap Completion',
355
+ index: 3,
356
+ steps: [
357
+ {
358
+ id: 'step_tutorial_completed',
359
+ index: 0,
360
+ name: 'Tutorial Completed Screen',
361
+ screenStep: domains_1.TUTORIAL_SCREEN_STEP.TUTORIAL_COMPLETED,
362
+ listenEvent: {
363
+ on: domains_1.TUTORIAL_LISTEN_EVENT_ON.TIMEOUT,
364
+ durationMs: 5000,
365
+ },
366
+ triggerCommands: [
367
+ {
368
+ module: 'screen',
369
+ action: 'showTutorialView',
370
+ params: {
371
+ step: domains_1.TUTORIAL_SCREEN_STEP.TUTORIAL_COMPLETED,
372
+ },
373
+ },
374
+ ],
375
+ },
376
+ ],
377
+ },
378
+ ],
379
+ };
@@ -1,3 +1,4 @@
1
1
  export * from './all-damages';
2
2
  export * from './all-power-ups';
3
+ export * from './all-tutorial-steps';
3
4
  export * from './role-definitions';
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./all-damages"), exports);
18
18
  __exportStar(require("./all-power-ups"), exports);
19
+ __exportStar(require("./all-tutorial-steps"), exports);
19
20
  __exportStar(require("./role-definitions"), exports);
@@ -1,9 +1,12 @@
1
1
  import type { DamageEffectName } from '../../damage';
2
2
  import type { Kart } from '../../kart';
3
+ import type { TutorialInputSignal } from '../../tutorial';
3
4
  import type { SocketInitKartInput, SocketRegisterKartCheckpointInput } from '../inputs';
4
5
  export interface SocketKartClientToServerEventsParams {
5
6
  'kart:init': SocketInitKartInput;
6
7
  'kart:checkpoint': SocketRegisterKartCheckpointInput;
8
+ /** Report tutorial input signal from Kart (e.g. steering wheel button) */
9
+ 'kart:tutorial:input': TutorialInputSignal;
7
10
  /** Activate the damage of a powerUp */
8
11
  'kart:damage:sent': {
9
12
  damageName: DamageEffectName;
@@ -3,6 +3,7 @@ import type { GameTrack, GameTrackKartConfig } from '../../gameTrack';
3
3
  import type { Kart, KartStatus } from '../../kart';
4
4
  import type { Response } from '../../response';
5
5
  import type { SocketPowerUpEventsParams } from '../SocketPowerUpEventsParams';
6
+ import type { TutorialKartSnapshot } from '../../tutorial';
6
7
  interface BaseGameEventParams {
7
8
  gameId: Game['id'];
8
9
  gameType: GameType;
@@ -28,6 +29,8 @@ export interface SocketKartEventsParams {
28
29
  'kart:status:change': {
29
30
  status: KartStatus;
30
31
  };
32
+ /** Synchronize authoritative tutorial state snapshot to Kart */
33
+ 'kart:tutorial:sync': TutorialKartSnapshot;
31
34
  }
32
35
  export interface SocketGameEventParams {
33
36
  /** Kart is selected for a game */
@@ -17,3 +17,33 @@ export declare const TUTORIAL_SCREEN_STEP: {
17
17
  readonly POWER_UP_RETURN_TO_HUD: "PowerUpReturnToHud";
18
18
  readonly TUTORIAL_COMPLETED: "TutorialCompleted";
19
19
  };
20
+ export declare const TUTORIAL_STATUS: {
21
+ readonly PENDING: "PENDING";
22
+ readonly IN_PROGRESS: "IN_PROGRESS";
23
+ readonly COMPLETED: "COMPLETED";
24
+ readonly SKIPPED: "SKIPPED";
25
+ };
26
+ export declare const TUTORIAL_PHASE_ID: {
27
+ readonly STARTING_POINT: "starting_point";
28
+ readonly CHECKPOINT_1: "checkpoint_1";
29
+ readonly CHECKPOINT_2: "checkpoint_2";
30
+ readonly LAP_COMPLETION: "lap_completion";
31
+ };
32
+ export declare const TUTORIAL_LISTEN_EVENT_ON: {
33
+ readonly TIMEOUT: "timeout";
34
+ readonly WHEEL_BUTTON: "wheelButton";
35
+ readonly CHECKPOINT: "checkpoint";
36
+ };
37
+ export declare const TUTORIAL_STEERING_WHEEL_BUTTON: {
38
+ readonly RIGHT: "right";
39
+ readonly LEFT: "left";
40
+ readonly ANY: "any";
41
+ };
42
+ export declare const TUTORIAL_LOGICAL_CHECKPOINT: {
43
+ readonly CHECKPOINT_1: "checkpoint_1";
44
+ readonly CHECKPOINT_2: "checkpoint_2";
45
+ readonly CHECKPOINT_3_FINISH: "checkpoint_3_finish";
46
+ };
47
+ export declare const TUTORIAL_INPUT_SIGNAL_TYPE: {
48
+ readonly STEERING_WHEEL_BUTTON_PRESSED: "SteeringWheelButtonPressed";
49
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TUTORIAL_SCREEN_STEP = void 0;
3
+ exports.TUTORIAL_INPUT_SIGNAL_TYPE = exports.TUTORIAL_LOGICAL_CHECKPOINT = exports.TUTORIAL_STEERING_WHEEL_BUTTON = exports.TUTORIAL_LISTEN_EVENT_ON = exports.TUTORIAL_PHASE_ID = exports.TUTORIAL_STATUS = exports.TUTORIAL_SCREEN_STEP = void 0;
4
4
  exports.TUTORIAL_SCREEN_STEP = {
5
5
  WELCOME: 'Welcome',
6
6
  PERSONAL_ITEMS: 'PersonalItems',
@@ -20,3 +20,33 @@ exports.TUTORIAL_SCREEN_STEP = {
20
20
  POWER_UP_RETURN_TO_HUD: 'PowerUpReturnToHud',
21
21
  TUTORIAL_COMPLETED: 'TutorialCompleted',
22
22
  };
23
+ exports.TUTORIAL_STATUS = {
24
+ PENDING: 'PENDING',
25
+ IN_PROGRESS: 'IN_PROGRESS',
26
+ COMPLETED: 'COMPLETED',
27
+ SKIPPED: 'SKIPPED',
28
+ };
29
+ exports.TUTORIAL_PHASE_ID = {
30
+ STARTING_POINT: 'starting_point',
31
+ CHECKPOINT_1: 'checkpoint_1',
32
+ CHECKPOINT_2: 'checkpoint_2',
33
+ LAP_COMPLETION: 'lap_completion',
34
+ };
35
+ exports.TUTORIAL_LISTEN_EVENT_ON = {
36
+ TIMEOUT: 'timeout',
37
+ WHEEL_BUTTON: 'wheelButton',
38
+ CHECKPOINT: 'checkpoint',
39
+ };
40
+ exports.TUTORIAL_STEERING_WHEEL_BUTTON = {
41
+ RIGHT: 'right',
42
+ LEFT: 'left',
43
+ ANY: 'any',
44
+ };
45
+ exports.TUTORIAL_LOGICAL_CHECKPOINT = {
46
+ CHECKPOINT_1: 'checkpoint_1',
47
+ CHECKPOINT_2: 'checkpoint_2',
48
+ CHECKPOINT_3_FINISH: 'checkpoint_3_finish',
49
+ };
50
+ exports.TUTORIAL_INPUT_SIGNAL_TYPE = {
51
+ STEERING_WHEEL_BUTTON_PRESSED: 'SteeringWheelButtonPressed',
52
+ };
@@ -18,3 +18,142 @@ export declare const tutorialScreenStepSchema: z.ZodEnum<{
18
18
  PowerUpReturnToHud: "PowerUpReturnToHud";
19
19
  TutorialCompleted: "TutorialCompleted";
20
20
  }>;
21
+ export declare const tutorialStatusSchema: z.ZodEnum<{
22
+ COMPLETED: "COMPLETED";
23
+ PENDING: "PENDING";
24
+ IN_PROGRESS: "IN_PROGRESS";
25
+ SKIPPED: "SKIPPED";
26
+ }>;
27
+ export declare const tutorialPhaseIdSchema: z.ZodEnum<{
28
+ starting_point: "starting_point";
29
+ checkpoint_1: "checkpoint_1";
30
+ checkpoint_2: "checkpoint_2";
31
+ lap_completion: "lap_completion";
32
+ }>;
33
+ export declare const tutorialListenEventOnSchema: z.ZodEnum<{
34
+ timeout: "timeout";
35
+ wheelButton: "wheelButton";
36
+ checkpoint: "checkpoint";
37
+ }>;
38
+ export declare const tutorialSteeringWheelButtonSchema: z.ZodEnum<{
39
+ any: "any";
40
+ left: "left";
41
+ right: "right";
42
+ }>;
43
+ export declare const tutorialLogicalCheckpointSchema: z.ZodEnum<{
44
+ checkpoint_1: "checkpoint_1";
45
+ checkpoint_2: "checkpoint_2";
46
+ checkpoint_3_finish: "checkpoint_3_finish";
47
+ }>;
48
+ export declare const tutorialKartSnapshotSchema: z.ZodObject<{
49
+ tutorialSessionId: z.ZodString;
50
+ deviceId: z.ZodString;
51
+ playerId: z.ZodOptional<z.ZodString>;
52
+ status: z.ZodEnum<{
53
+ COMPLETED: "COMPLETED";
54
+ PENDING: "PENDING";
55
+ IN_PROGRESS: "IN_PROGRESS";
56
+ SKIPPED: "SKIPPED";
57
+ }>;
58
+ currentPhaseId: z.ZodEnum<{
59
+ starting_point: "starting_point";
60
+ checkpoint_1: "checkpoint_1";
61
+ checkpoint_2: "checkpoint_2";
62
+ lap_completion: "lap_completion";
63
+ }>;
64
+ currentStep: z.ZodEnum<{
65
+ Welcome: "Welcome";
66
+ PersonalItems: "PersonalItems";
67
+ SeatBelt: "SeatBelt";
68
+ Pedal: "Pedal";
69
+ WheelControls0Of2: "WheelControls0Of2";
70
+ WheelControls1Of2: "WheelControls1Of2";
71
+ WheelControlsCompleted: "WheelControlsCompleted";
72
+ HudOverview: "HudOverview";
73
+ HudPosition: "HudPosition";
74
+ HudLaps: "HudLaps";
75
+ HudTimeLeft: "HudTimeLeft";
76
+ HudCoins: "HudCoins";
77
+ PowerUpWaiting: "PowerUpWaiting";
78
+ PowerUpRoulette: "PowerUpRoulette";
79
+ PowerUpNitroReady: "PowerUpNitroReady";
80
+ PowerUpReturnToHud: "PowerUpReturnToHud";
81
+ TutorialCompleted: "TutorialCompleted";
82
+ }>;
83
+ revision: z.ZodNumber;
84
+ presentationRevision: z.ZodNumber;
85
+ hud: z.ZodOptional<z.ZodObject<{
86
+ coins: z.ZodNonOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
87
+ position: z.ZodNonOptional<z.ZodOptional<z.ZodObject<{
88
+ current: z.ZodNullable<z.ZodNumber>;
89
+ total: z.ZodNullable<z.ZodNumber>;
90
+ }, z.core.$strip>>>;
91
+ laps: z.ZodNonOptional<z.ZodOptional<z.ZodObject<{
92
+ current: z.ZodNullable<z.ZodNumber>;
93
+ total: z.ZodNullable<z.ZodNumber>;
94
+ }, z.core.$strip>>>;
95
+ gameTimeLeft: z.ZodNonOptional<z.ZodOptional<z.ZodObject<{
96
+ minutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
97
+ seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
98
+ }, z.core.$strip>>>;
99
+ powerUp: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodEnum<{
100
+ readonly BATTLE_GOD: "Battle God";
101
+ readonly BATTLE_STAR: "Battle Star";
102
+ readonly BATTLE_SHOT: "Battle Shot";
103
+ readonly BATTLE_NITRO: "Battle Nitro";
104
+ readonly BATTLE_PULSE: "Battle Pulse";
105
+ readonly BATTLE_TRAP: "Battle Trap";
106
+ readonly BATTLE_SHIELD: "Battle Shield";
107
+ readonly BATTLE_TURBO: "Battle Turbo";
108
+ readonly BATTLE_BLUE_SHOT: "Battle Blue Shot";
109
+ }>, z.ZodLiteral<"Clear PowerUp">]>>>;
110
+ powerUpAnimationTimeSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
111
+ }, z.core.$strip>>;
112
+ awaitingCheckpoint: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
113
+ checkpoint_1: "checkpoint_1";
114
+ checkpoint_2: "checkpoint_2";
115
+ checkpoint_3_finish: "checkpoint_3_finish";
116
+ }>>>;
117
+ completedCheckpoints: z.ZodOptional<z.ZodArray<z.ZodEnum<{
118
+ checkpoint_1: "checkpoint_1";
119
+ checkpoint_2: "checkpoint_2";
120
+ checkpoint_3_finish: "checkpoint_3_finish";
121
+ }>>>;
122
+ updatedAtISO: z.ZodString;
123
+ }, z.core.$strip>;
124
+ export declare const tutorialInputSignalTypeSchema: z.ZodEnum<{
125
+ SteeringWheelButtonPressed: "SteeringWheelButtonPressed";
126
+ }>;
127
+ export declare const tutorialKartEventBaseSchema: z.ZodObject<{
128
+ tutorialSessionId: z.ZodString;
129
+ deviceId: z.ZodString;
130
+ revision: z.ZodNumber;
131
+ sequence: z.ZodNumber;
132
+ originTimestampISO: z.ZodString;
133
+ }, z.core.$strip>;
134
+ export declare const tutorialSteeringWheelButtonPressedSchema: z.ZodObject<{
135
+ tutorialSessionId: z.ZodString;
136
+ deviceId: z.ZodString;
137
+ revision: z.ZodNumber;
138
+ sequence: z.ZodNumber;
139
+ originTimestampISO: z.ZodString;
140
+ type: z.ZodLiteral<"SteeringWheelButtonPressed">;
141
+ button: z.ZodEnum<{
142
+ any: "any";
143
+ left: "left";
144
+ right: "right";
145
+ }>;
146
+ }, z.core.$strip>;
147
+ export declare const tutorialInputSignalSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
148
+ tutorialSessionId: z.ZodString;
149
+ deviceId: z.ZodString;
150
+ revision: z.ZodNumber;
151
+ sequence: z.ZodNumber;
152
+ originTimestampISO: z.ZodString;
153
+ type: z.ZodLiteral<"SteeringWheelButtonPressed">;
154
+ button: z.ZodEnum<{
155
+ any: "any";
156
+ left: "left";
157
+ right: "right";
158
+ }>;
159
+ }, z.core.$strip>], "type">;