# 📡 시스템 통신 프로토콜 및 상태 전이 관리 매뉴얼 (Protocols & State Flow)

## 📜 1. 표준화된 데이터 교환 규약 (Standardized Message Protocol)
*   **원칙:** 모든 컴포넌트 간의 메시지는 반드시 다음 JSON 구조를 따라야 합니다.
    `{ type: 'ACTION_TYPE', payload: { data: value } }`
*   **필수 정의 예시:**
    *   `INIT`: 시스템 초기화 요청 및 데이터 교환 시작 신호.
    *   `KEY_INPUT`: 사용자 입력이 발생했을 때의 키 코드 전송.
    *   `UPDATE`: 엔진에서 계산 완료 후, 새로운 상태(Board State)를 전달하는 신호.

## 🔄 2. 시스템 생명 주기 (Life Cycle Management)
시스템은 다음의 명확한 상태 흐름을 거쳐야 합니다:
1.  **[Initialization]**: 초기 설정 $\rightarrow$ 엔진 시작 요청 (`INIT` 메시지 전송).
2.  **[Active Loop]**: 입력 감지 및 타이머 기반 루프 실행 (State Update & Redraw Cycle).
3.  **[Termination]**: 게임 오버, 다음 단계 진입 등 명확한 종료 신호 발생 시 모든 리소스를 정리(Cleanup)해야 합니다.

## 🚨 State Machine 필수 적용
시스템의 복잡도가 높아질수록 **상태 머신(State Machine)**을 도입하여, 현재 시스템이 어떤 상태에 있는지 (예: `READY`, `RUNNING`, `PAUSED`, `GAME_OVER`)를 명확히 정의하고 제어해야 합니다.