gameResult.ts 770 B

12345678910111213141516
  1. import { type GameSessionState, type GuidanceState } from './gameSessionState'
  2. import { type GamePresentationState } from '../presentation/presentationState'
  3. export type GameEffect =
  4. | { type: 'session_started' }
  5. | { type: 'session_cancelled' }
  6. | { type: 'punch_feedback'; text: string; tone: 'neutral' | 'success' | 'warning' }
  7. | { type: 'control_completed'; controlId: string; controlKind: 'start' | 'control' | 'finish'; sequence: number | null; label: string; displayTitle: string; displayBody: string }
  8. | { type: 'guidance_state_changed'; guidanceState: GuidanceState; controlId: string | null }
  9. | { type: 'session_finished' }
  10. export interface GameResult {
  11. nextState: GameSessionState
  12. presentation: GamePresentationState
  13. effects: GameEffect[]
  14. }