Files
Tornado3_2026Election/CURRENT_IMPLEMENTATION_STATUS_2026-04-17.md
2026-04-17 00:39:25 +09:00

6.4 KiB

2026-04-17 구현 현황 정리

이 문서는 2026-04-17 현재 기준으로 Tornado3 2026 Election 프로젝트의 주요 구현 사항을 정리한 현행화 문서이다. 기존 메모와 검증 산출물이 여러 파일에 흩어져 있으므로, 실제 운영에 필요한 상태만 이 문서에서 한 번에 확인할 수 있게 정리했다.

1. 데이터 화면 현행 상태

  • 데이터 화면에서 원본 JSON 전체를 보여주는 "데이터 시트"는 제거했다.
  • 현재 데이터 화면은 아래 두 시트만 유지한다.
    • 개표율 시트
    • 후보 시트
  • 선거구명 콤보박스 첫 항목에 전체보기를 추가했다.
  • 전체보기 선택 시, 개표 단계에서 지역별 개표율을 작은 카드 목록으로 표시한다.
    • 카드 형식: 지역명 - 개표율
    • 지원 위치: 개표 단계에서 지원되는 선거 종류
  • 광역단체장 데이터는 지역명 대신 실제 직책명이 보이도록 보정했다.
    • 예: 부산광역시 -> 부산시장
    • 예: 경기도 -> 경기도지사

2. 개표 데이터 표시 규칙

  • 후보 데이터는 개표 데이터 기준으로 처리한다.
  • 개표율 표시는 숫자만 넣지 않고 라벨을 포함한 형식으로 통일했다.
    • 형식: 개표 99.9%
  • 광역단체장 컷의 시도명 계열 변수는 광역 지명 대신 직책명으로 송출한다.
    • 예: 시도명01 = 부산시장
  • 후보 슬롯 수는 씬 변수 카탈로그 기준으로 제한한다.
    • 2인 컷에는 후보명03, 유확당03 같은 없는 변수를 보내지 않는다.
    • 3인 컷은 3번 슬롯까지 반영한다.

3. 후보 판정 코드 반영 상태

SBS API 판정 코드는 아래와 같이 반영한다.

  • 40: 유력
  • 50: 확정
  • 60: 개표중 당선
  • 80: 무투표 당선
  • 90: 개표마감 당선

추가 메모:

  • 80 무투표 당선은 실제 발생 가능한 값으로 간주하고 별도 예외 없이 반영한다.
  • 수동 판정이 있으면 수동 판정을 우선하고, 없으면 API 판정값을 사용한다.

4. 유확당 변수 처리 규칙

유확당 계열 변수는 현재 아래 규칙으로 공통 처리한다.

  1. 해당 씬에 존재하는 유확당* 변수를 먼저 전부 visible=false로 숨긴다.
  2. 실제 판정 이미지 경로가 있는 슬롯만 SetValue(...)로 값을 적용한다.
  3. 값이 들어간 슬롯만 다시 visible=true로 켠다.

적용 범위:

  • 1인 / 2인 / 3인 후보 컷 공통
  • 당선, 이시각1위, 접전, 초접전, 모든후보, 1-2위, 1-3위 계열 포함

검증 결과:

  • 최신 씬 스캔 기준 유확당 변수를 사용하는 컷은 총 69개다.
  • 전체 스캔 리포트: TSCN_VARIABLE_DISCOVERY_ELECT2026_NORMAL.md
  • 실동작 검증 리포트: LIVE_VALIDATE_1-2위_ani_광역단체장_judgement_visibility.md

5. 정당 색상 / RGB 매핑 상태

정당 색상은 E:\김의연\지역민방\T3_Cut\Elect2026_Normal_민방\RGB\ 폴더 기준으로 매핑한다.

현재 규칙:

  • RGB txt에 style > ... > color가 지정된 항목은 이미지 교체보다 SetStyleColor(...)를 우선 적용한다.
  • 대표 적용 섹션:
    • 정당판
    • 정당바
    • 득표율
    • 정당명
    • 기타 style color 지정 섹션
  • RGB txt에 style color 지정이 없는 항목만 기존 asset SetValue(...) 경로를 사용한다.

특히 1-2위_ani_광역단체장.txt 기준으로 아래가 반영되도록 디버깅했다.

  • 정당판: style > face > color
  • 득표율: style > edge > color
  • 정당바: style > face > color

관련 문서:

  • 매핑 문서: RGB_SPEC_CUT_MAPPING.md
  • 스타일 검증 리포트: LIVE_VALIDATE_1-2위_ani_광역단체장_style.md

6. 설정 저장 / 자동 갱신 현행 상태

  • API 자동 갱신 기본값은 60초다.
  • 설정 변경 시 별도 저장 버튼 없이 자동 저장되도록 구성했다.
  • 자동 저장 대상에는 아래 값이 포함된다.
    • API 자동 갱신 ON/OFF
    • 갱신 주기
    • 데이터 관련 주요 선택 상태
    • 앱 상태 복원에 필요한 주요 설정

관련 구현 포인트:

  • 기본값: Tornado3_2026Election/Persistence/AppState.cs
  • 자동 저장 루프: Tornado3_2026Election/ViewModels/MainViewModel.cs

7. 씬 변수 카탈로그 현행화

씬 변수 카탈로그는 현재 최신 스캔 결과를 우선 사용한다.

우선순위:

  1. TSCN_VARIABLE_DISCOVERY_ELECT2026_NORMAL.md
  2. TSCN_VARIABLE_DISCOVERY_E_DRIVE.md
  3. TSCN_VARIABLE_DISCOVERY.md
  4. 동일 패턴의 최신 TSCN_VARIABLE_DISCOVERY*.md

추가 조치:

  • 위 카탈로그 파일들은 앱 출력 폴더와 AppX 폴더에도 함께 복사되도록 했다.
  • 실행본도 최신 씬 변수 정보를 그대로 사용한다.

최신 전체 스캔 결과:

  • 전체 씬 수: 114
  • 유확당 사용 컷 수: 69
  • 출력 리포트: TSCN_VARIABLE_DISCOVERY_ELECT2026_NORMAL.md

8. 주요 검증 산출물

  • LIVE_VALIDATE_1-2위_ani_광역단체장.md
    • 기본 변수 송출 검증
  • LIVE_VALIDATE_1-2위_ani_광역단체장_labels.md
    • 개표 99.9% 형식, 광역장 직책명 검증
  • LIVE_VALIDATE_1-2위_ani_광역단체장_style.md
    • style color 적용 검증
  • LIVE_VALIDATE_1-2위_ani_광역단체장_judgement_visibility.md
    • 유확당 visible 처리 검증
  • TSCN_VARIABLE_DISCOVERY_ELECT2026_NORMAL.md
    • Elect2026_Normal_민방 전체 씬 변수 스캔 결과

9. 현재 운영 기준 요약

  • 데이터 화면은 개표율 시트 + 후보 시트 + 전체보기 카드 기준으로 본다.
  • 광역단체장 표기는 지역명이 아니라 직책명 기준으로 본다.
  • 개표율 문구는 항상 개표 x.x% 형식으로 보낸다.
  • 정당 색상은 RGB txt 기준이며, style color 지정이 있으면 이미지보다 style color를 우선한다.
  • 유확당은 전 컷 공통으로 먼저 숨기고, 판정이 있는 슬롯만 다시 보이게 한다.
  • 설정은 변경 즉시 자동 저장되며, API 기본 갱신 주기는 60초다.

10. 후속 확인 권장 사항

  • 실제 송출 중인 주요 컷에서 유확당 표식이 없는 슬롯이 숨겨지는지 최종 육안 확인
  • 2인 / 3인 컷 각각에서 존재하지 않는 슬롯 변수 송출이 없는지 로그 확인
  • 광역단체장 컷에서 시도명이 지역명이 아니라 직책명으로 나가는지 최종 확인
  • 무투표 당선(80) 케이스 수신 시 유확당 asset과 visible 처리 확인