import { type GameSessionState, type GuidanceState } from './gameSessionState' import { type GamePresentationState } from '../presentation/presentationState' export type GameEffect = | { type: 'session_started' } | { type: 'session_cancelled' } | { type: 'punch_feedback'; text: string; tone: 'neutral' | 'success' | 'warning' } | { type: 'control_completed'; controlId: string; controlKind: 'start' | 'control' | 'finish'; sequence: number | null; label: string; displayTitle: string; displayBody: string; displayAutoPopup: boolean; displayOnce: boolean; displayPriority: number } | { type: 'guidance_state_changed'; guidanceState: GuidanceState; controlId: string | null } | { type: 'session_finished' } export interface GameResult { nextState: GameSessionState presentation: GamePresentationState effects: GameEffect[] }