# TornadoAce CJ OnStyle 초기 구조

## RFP에서 잡은 핵심 흐름

1. 큐시트 플랫폼과 ERP 편성 데이터를 API로 수신한다.
2. 큐시트 필드를 사전 정의된 Tornado Scene 템플릿 객체에 매핑한다.
3. Tornado Scene에서 화면에 노출되는 Text/Image 데이터를 추출하는 API를 둔다.
4. 큐시트 데이터와 Scene 데이터를 1차 Text Diffing으로 비교한다.
5. 1차 실패 건은 LLM 검수로 중요도를 판정하고 제작자에게 피드백한다.

## 현재 초기 빌드 범위

- `Domain`: 큐시트, Scene 템플릿, Scene 데이터 스냅샷, 검수 결과 모델.
- `Services`: 실제 API/Tornado SDK 연결을 받을 인터페이스와 목 워크스페이스.
- `ViewModels`: 운영 콘솔에 표시할 상태 카드, 파이프라인, 매핑표, 검수 큐.
- `Views`: WinUI 3 기반 첫 화면. 예제 프로젝트와 같은 데스크톱 앱 방향으로 유지.

## Visual Studio 실행 기준

- 현재 프로젝트는 `WindowsPackageType=None`인 unpackaged WinUI 3 앱이다.
- 솔루션 구성에서 Deploy 대상이 아니므로 `*.appxrecipe` 산출물을 요구하지 않는다.
- VS에서는 `x64` 구성으로 빌드/디버그 실행한다.

## 도입 화면 방향

- CargoRadar의 전체 화면 사진형 로그인 도입부를 참고하되, TornadoAce는 CJ OnStyle 라이브커머스/방송 CG 제작 데스크 분위기로 전환한다.
- CJ ONSTYLE 공식 소개의 `Inspiring Purple` / `Vibrant Lime` 조합은 로그인 카드와 핵심 강조색에만 절제해서 사용한다.
- 관제/비행/지도/레이더처럼 보이는 모니터 그래픽이나 불필요한 신호선 장식은 사용하지 않는다.
- TornadoACE 브랜드 asset은 사용자가 제공한 Tornado 원본 마크를 기준으로 파생한다. 원본은 `Assets/Reference/TornadoReference.png`, 추출 마크는 `Assets/Brand/TornadoOriginalMark.png`에 보관한다.
- 현재 로그인은 실제 인증이 아니라 초기 빌드용 진입 게이트이며, 추후 사내 계정/권한 정책이 정해지면 인증 서비스로 교체한다.

## 다음 설계 결정 지점

- Tornado2와 Tornado3의 어댑터 경계를 같은 인터페이스로 유지할지 여부.
- Scene 내부 비노출 객체를 구분할 메타데이터 규칙.
- 큐시트 API 원문 필드명과 화면용 정규화 필드명 분리 방식.
- 특수문자 예외 처리 목록을 룰 파일로 둘지 관리자 UI에서 편집할지 여부.
- LLM이 반환할 중요도 스키마와 감사 로그 보관 범위.
