Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/thatstupidcomputer / apps/web/src/animation/performances/stage-shows.ts |
| Date | Not specified in source |
| Repository | Janady13/thatstupidcomputer |
| Revision | 57555cde46910102dd25d6c1c1fb2c359e9655bd |
| Branch | main |
| Path or archive member | apps/web/src/animation/performances/stage-shows.ts |
| Original SHA-256 | 54535794677c811eb1814f43448c025fa74d12545f316b7b374df7cba35dfee2 |
| Git blob SHA | b4cecbb7c480c067d6f8bdcca1054f08e1958dcc |
| Reading-copy SHA-256 | 54535794677c811eb1814f43448c025fa74d12545f316b7b374df7cba35dfee2 |
Recovered source transcript
Download complete source text ↓51 lines · 2.9 KB
import type { ActionName } from '../mobile/types';
import type { StageCommand } from '../stage/engine.mjs';
export interface ShowStep { action: ActionName; caption: string; command?: StageCommand['kind']; target?: number }
export const STAGE_SHOWS = {
introduction: {
label: 'A proper introduction',
steps: [
{ action: 'Wave', command: 'enterLeft', caption: 'First, a proper entrance.' },
{ action: 'Suspicious', caption: 'Something seems suspicious.' },
{ action: 'Laugh', caption: 'Never mind. It was a very good joke.' },
{ action: 'RunRight', command: 'runTo', target: .78, caption: 'Places to be. Absolutely no appointments.' },
{ action: 'Proud', caption: 'Quietly pleased with that.' },
{ action: 'Jump', command: 'jump', caption: 'And a little jump for good measure.' },
{ action: 'Bow', caption: 'Thank you. You have been a lovely audience.' },
{ action: 'Idle', command: 'home', caption: 'Back to their mark.' },
],
},
rescue: {
label: 'The website rescue',
steps: [
{ action: 'Idle', command: 'home', caption: 'Back to the workshop. There is a website to rescue.' },
{ action: 'Sad', caption: 'It used to work. Probably.' },
{ action: 'Frustrated', caption: 'Another spinning wheel. A little patience leaves the room.' },
{ action: 'Searching', caption: 'Time to find the actual problem.' },
{ action: 'Think', caption: 'A moment of thought. An unexpectedly useful idea.' },
{ action: 'RunLeft', command: 'runTo', target: .22, caption: 'Right. Let’s get to work.' },
{ action: 'Revived', caption: 'Back on their feet. Looking a little more like themselves.' },
{ action: 'Jump', command: 'jump', caption: 'A small celebration is allowed.' },
{ action: 'Idle', command: 'home', caption: 'Back to their mark.' },
{ action: 'Proud', caption: 'Ready for the next thing.' },
],
},
deadline: {
label: 'Five minutes to launch',
steps: [
{ action: 'Idle', command: 'home', caption: 'Places, everyone. We have a launch to prepare.' },
{ action: 'Sleepy', caption: 'Everything is perfectly under control.' },
{ action: 'WakeUp', caption: 'Except the deadline. The deadline is now.' },
{ action: 'RunRight', command: 'runTo', target: .82, caption: 'Check the page.' },
{ action: 'RunLeft', command: 'runTo', target: .18, caption: 'Check the form.' },
{ action: 'Facepalm', caption: 'Remember to check it on a phone.' },
{ action: 'Think', caption: 'One last look. Then one more.' },
{ action: 'Excited', caption: 'All right. Now we can celebrate.' },
{ action: 'Idle', command: 'home', caption: 'Back to the mark. One last thing.' },
{ action: 'Bow', caption: 'Made it. Nobody needs to know about the nap.' },
],
},
} as const satisfies Record<string, { label: string; steps: readonly ShowStep[] }>;
export type StageShow = keyof typeof STAGE_SHOWS;