docs: CLAUDE.md 파일 구조 6파일로 업데이트

This commit is contained in:
2026-04-13 03:06:13 +09:00
parent e09513f8d9
commit 3c46b55f93

View File

@@ -11,7 +11,7 @@ C:\Users\98kim\sdk\go1.25.1\bin\go.exe build -ldflags="-H windowsgui -s -w -X ma
## Tech Stack ## Tech Stack
- **Go** 4파일 구조 (`main.go`, `ui.go`, `download.go`, `protocol.go`) - **Go** 6파일 구조 (`main.go`, `win32.go`, `ui.go`, `download.go`, `protocol.go`, `game.go`)
- **Win32 API** — `user32.dll`, `gdi32.dll`, `comctl32.dll`, `uxtheme.dll`, `shell32.dll` - **Win32 API** — `user32.dll`, `gdi32.dll`, `comctl32.dll`, `uxtheme.dll`, `shell32.dll`
- `golang.org/x/sys/windows` + `windows/registry` - `golang.org/x/sys/windows` + `windows/registry`
@@ -22,14 +22,16 @@ C:\Users\98kim\sdk\go1.25.1\bin\go.exe build -ldflags="-H windowsgui -s -w -X ma
## Architecture ## Architecture
역할별 4파일 구조: 역할별 6파일 구조:
| 파일 | 담당 | | 파일 | 담당 |
|---|---| |---|---|
| `main.go` | 진입점(`main`), 단일 인스턴스, `handleURI`, version | | `main.go` | 진입점(`main`), 단일 인스턴스, `handleURI`, version |
| `ui.go` | Win32 DLL/proc 선언, WndProc, progress window, DPI, font, msgBox | | `win32.go` | Win32 상수, DLL/proc 선언, 구조체 |
| `ui.go` | WndProc, progress window, DPI, font, msgBox |
| `download.go` | HTTP 클라이언트, 다운로드/추출/해시, `ensureGame`, `ensureLauncher` | | `download.go` | HTTP 클라이언트, 다운로드/추출/해시, `ensureGame`, `ensureLauncher` |
| `protocol.go` | 상수, URI 프로토콜 등록/해제, `redeemTicket`, `fetchServerInfo` | | `protocol.go` | 상수, URI 프로토콜 등록/해제, `redeemTicket`, `fetchServerInfo` |
| `game.go` | `handleURI`, 게임 실행 흐름 |
주요 함수: 주요 함수:
- **`downloadWithProgress()`** — Win32 메시지 루프 직접 운영. 반드시 메인 고루틴에서 호출 (`runtime.LockOSThread`). - **`downloadWithProgress()`** — Win32 메시지 루프 직접 운영. 반드시 메인 고루틴에서 호출 (`runtime.LockOSThread`).