Add PLAN.md: scope for local party app; remote-trigger client/server out of scope
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
40
PLAN.md
Normal file
40
PLAN.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# 파티 장난 앱 — 계획서
|
||||
|
||||
## 1. 목표
|
||||
|
||||
친구와 함께 즐기는 **되돌릴 수 있는 장난 연출 앱**. 깜짝 효과(가짜 블루스크린, 가짜 바이러스 경고 등)를 띄웠다가 바로 "장난이야"로 풀어주는 파티용 프로그램.
|
||||
|
||||
## 2. 핵심 원칙 (불변 조건)
|
||||
|
||||
이 조건들은 기능보다 우선합니다. 하나라도 깨지면 그건 더 이상 "장난 앱"이 아닙니다.
|
||||
|
||||
- **항상 보임** — 실행 중 창은 언제나 화면에 떠 있다. 트레이 숨김 / 최소화 은닉 없음.
|
||||
- **그 자리의 사람이 통제** — 앱이 도는 PC 앞의 사람이 모든 동작을 보고, 멈추고, 끌 수 있다.
|
||||
- **되돌림 가능** — 모든 연출은 키/클릭/ESC로 즉시 해제. 파일 손상·설정 변경 등 영구 효과 없음.
|
||||
- **흔적 없음** — 설치·자동실행 등록·파일 쓰기·외부 전송 없음. 끄면 끝.
|
||||
|
||||
## 3. 범위
|
||||
|
||||
### 하는 것 (In scope)
|
||||
- A. **로컬 파티 앱** — 그 PC에서 직접 실행, 버튼으로 연출을 터뜨리는 앱. ✅ 이미 구현됨(`index.html`).
|
||||
- B. **한 화면 2인 모드(hot-seat)** — 네트워크 없이, 한 PC 앞에 둘이 앉아 한 명이 상대에게 연출을 걸어주는 모드. 창은 계속 보이고 상대가 직접 ESC로 끌 수 있음.
|
||||
- C. **연출 추가** — 가짜 다운로드 바, 가짜 업데이트 화면, 커스텀 문구/효과음 등.
|
||||
- D. **배포 편의** — 더블클릭 실행 패키징(현재는 HTML 파일 하나, 필요 시 단일 실행파일로).
|
||||
|
||||
### 안 하는 것 (Out of scope — 거절)
|
||||
- ✗ **클라이언트/서버로 나눠, 한 사람이 네트워크 너머 다른 사람 PC의 연출을 트리거하는 구조.**
|
||||
- 이유: "대상 PC에 상주하는 클라이언트 + 원격에서 명령을 보내는 서버"는 연출이 무해해도 **아키텍처 자체가 원격 조종 툴(RAT)의 뼈대**다. 명령 목록만 바꾸면 그대로 악성툴이 되고, "동의한 장난"과 "몰래 장악"이 코드상 구분되지 않는다. 연결 승인 UI·종료 버튼을 붙여도 통제권이 대상자가 아닌 원격 조작자에게 있다는 본질은 바뀌지 않는다.
|
||||
- ✗ 트레이/백그라운드 은닉, 자동 시작, 상대 몰래 실행.
|
||||
|
||||
## 4. 현재 상태
|
||||
|
||||
- `index.html` — 단일 파일 로컬 파티 앱. 연출 6종(가짜 블루스크린 / 가짜 바이러스→폭죽 / 화면 깨짐 / 글리치 / 폭죽 / 효과음). 시스템 크롬으로 렌더링·동작 검증 완료.
|
||||
- `README.md` — 실행법과 연출 설명.
|
||||
|
||||
## 5. 다음 단계 (사용자 선택 대기)
|
||||
|
||||
1. **B안(한 화면 2인 모드)** 으로 진행 — 네트워크 없이 둘이 즐기는 형태. 계획 상세화 → 구현.
|
||||
2. **C안(연출 추가)** — 넣고 싶은 연출만 지정하면 현재 앱에 바로 추가.
|
||||
3. **D안(단일 실행파일 패키징)** — 친구가 브라우저 없이 더블클릭으로 실행하게.
|
||||
|
||||
> 참고: 3절 "안 하는 것"의 원격 트리거 구조는 어떤 포장을 해도 진행하지 않습니다.
|
||||
Reference in New Issue
Block a user