From 406a2fc2e530db5638048753995155daf78e81a5 Mon Sep 17 00:00:00 2001 From: lacvet Date: Sat, 4 Apr 2026 17:43:43 +0900 Subject: [PATCH] =?UTF-8?q?[Roadmap]=20Phase=20UX=206=EC=A2=85=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C=20=EB=B0=98=EC=98=81=20=E2=80=94=20LAUNCHER=5FROADMAP?= =?UTF-8?q?.md=20=EA=B0=B1=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 현재 상태 헤더 (v2.1.0) 업데이트: - 퍼지 검색 랭킹 개선 (30일 decay) 추가 - 글로벌 핫키 12개 조합 설정 가능 반영 - Shell32 파일 아이콘 표시 반영 - 클립보드 이미지 썸네일 미리보기 반영 - 텍스트 파일 미리보기 패널 반영 - 창 위치 기억 반영 Phase L24 (🔄 예정 → 🔄 진행 중): - L24-2 파일 아이콘 표시 ✅ 완료 (IconCacheService, Shell32 P/Invoke, 13개 확장자 WarmUp) - L24-3 퍼지 검색 랭킹 개선 ✅ 완료 (UsageRankingService decay, 마이그레이션) Phase L25 (🔄 예정 → ✅ 완료, v2.1.0): - L25-1 미리보기 패널 ✅ (80ms 디바운스, 텍스트 6줄, 클립보드 400자) - L25-2 클립보드 이미지 지원 ✅ (L2-1 기구현 확인) - L25-3 창 위치 기억 ✅ (RememberPosition/LastLeft/LastTop, Clamp, 비동기 저장) - L25-4 핫키 확장 ✅ (12개 프리셋 ComboBox, L5-1 기구현 확인) Co-Authored-By: Claude Sonnet 4.6 --- docs/LAUNCHER_ROADMAP.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/docs/LAUNCHER_ROADMAP.md b/docs/LAUNCHER_ROADMAP.md index b668d49..eea38db 100644 --- a/docs/LAUNCHER_ROADMAP.md +++ b/docs/LAUNCHER_ROADMAP.md @@ -2,18 +2,20 @@ ## 현재 상태 (v2.1.0) -### 핵심 기능 (110개 핸들러, L22까지 완료) -- 퍼지 검색 + 한글 초성 검색 (FuzzyEngine) +### 핵심 기능 (110개 핸들러, L22 + Phase UX 완료) +- 퍼지 검색 + 한글 초성 검색 (FuzzyEngine) + **최근 실행 지수 감소 랭킹 (30일 decay)** - 110개+ 프리픽스 명령 (계산기·이모지·웹검색·스니펫·클립보드·프로세스·데이터·네트워크·업무양식 등) - 10가지 테마 + 커스텀 테마 - 플러그인 시스템 (DLL + JSON 스킬) - AX Agent AI 대화 통합 (Chat·Cowork·Code 3탭) -- 글로벌 핫키 (Alt+Space), 무지개 글로우 효과 -- 파일/앱 인덱싱, 북마크 검색, 사용 빈도 랭킹 +- 글로벌 핫키 (Alt+Space 외 12개 조합 설정 가능), 무지개 글로우 효과 +- 파일/앱 인덱싱, **Shell32 실제 파일 아이콘 표시 (확장자별 캐시)**, 사용 빈도 랭킹 - 워크스페이스 프로파일 (창 레이아웃 저장/복원), 22개 스냅 레이아웃 -- 클립보드 히스토리 (핀·카테고리 자동 분류), 스니펫 확장 +- 클립보드 히스토리 (핀·카테고리 자동 분류·**이미지 썸네일 미리보기**), 스니펫 확장 - 스크린 캡처, OCR, 컬러 피커, JSON·YAML·XML·TOML·CSV 파서 - Excel 함수 레퍼런스, 업무 양식 템플릿 (회의록·보고서·이메일 등) +- **텍스트 파일 미리보기 패널** (선택 시 첫 6줄 인라인 표시) +- **창 위치 기억** (마지막 위치 복원, 멀티 모니터 경계 클램핑) --- @@ -484,29 +486,29 @@ public record HotkeyAssignment(string HotkeyStr, string TargetPath, string Label --- -## Phase L24 — 검색 품질·시스템 제어 심화 (v2.2.0) 🔄 예정 +## Phase L24 — 검색 품질·시스템 제어 심화 (v2.2.0) 🔄 진행 중 > **방향**: 핸들러 추가보다 **기존 기능 깊이 강화**. 벤치마킹 공백 5~6순위 + 검색 품질 개선. | # | 기능 | 설명 | 근거 | |---|------|------|------| | L24-1 | **화면 밝기·야간 모드 제어** | `bright` 프리픽스. 내장 모니터 밝기 조절 (WMI `WmiMonitorBrightnessMethods`). `bright 80` 수치 지정. `bright +10` / `bright -10` 상대 조절. `bright night on/off` Windows 야간 모드 레지스트리 토글. 외장 모니터는 미지원 안내 (DDC/CI는 별도 드라이버 필요). 노트북 사용자 발표·야간 작업 수요 | Raycast 인기 System Command 2위 | -| L24-2 | **파일 검색 결과 아이콘 표시** | 기존 파일/앱 검색 결과에 실제 아이콘 표시 (Shell32 `SHGetFileInfo` 또는 `ExtractAssociatedIcon`). 현재는 모든 파일이 동일한 Symbol 아이콘 → 사용자가 파일 종류를 시각적으로 구분 불가. `.docx`=Word 아이콘, `.xlsx`=Excel 아이콘, `.exe`=앱 아이콘 표시. BitmapSource로 변환 후 LauncherItem.IconPath에 임시 캐시 경로 전달 | 경쟁사 대비 시각적 완성도 격차 해소 | -| L24-3 | **퍼지 검색 랭킹 개선** | 검색 결과 정렬 알고리즘 개선. 현재: 단순 점수 정렬 → 개선: (1) 최근 실행 가중치 (지수 감소 decay), (2) 실행 횟수 가중치, (3) 쿼리 길이 대비 매칭 위치 보너스, (4) 정확 일치 > 초성 일치 > 부분 일치 우선순위 명확화. Listary 수준의 "한번 쓰면 다음엔 더 빨리 나오는" 경험 | 핵심 UX. 핸들러 100개 있어도 검색이 느리면 의미 없음 | +| ✅ L24-2 | **파일 검색 결과 아이콘 표시** | Shell32 `SHGetFileInfo` + `SHGFI_USEFILEATTRIBUTES` P/Invoke. Dispatcher STA 스레드에서 HICON 추출 → BitmapSource PNG 변환 → `%LOCALAPPDATA%\AxCopilot\IconCache\{ext}.png` 캐시. `IconCacheService.WarmUp()` 앱 시작 시 13개 주요 확장자 사전 캐시. `CommandResolver` + `FileBrowserHandler` 양쪽에 연동 | 완료 (Phase UX) | +| ✅ L24-3 | **퍼지 검색 랭킹 개선** | `UsageRankingService` `{count, lastUsedMs}` 레코드 전환. 30일 지수 감소 decay: `score = count × e^(-days/43.3)`. 구 형식(`{key: count}`) 자동 마이그레이션. 정확 일치 > 초성 일치 > 부분 일치 기존 6단계 점수 체계와 결합 | 완료 (Phase UX) | | L24-4 | **집중 모드 (Focus Mode)** | `focus` 프리픽스. `focus 25` → 25분 포모도로 타이머 + Windows 알림 방해 금지 모드 자동 활성화 (`SetThreadExecutionState` / Focus Assist 레지스트리). 종료 시 자동 복원. `focus stop` 즉시 종료. 독 바에 남은 시간 표시. Raycast Focus Mode 대응 | 재택·오픈오피스 환경 집중 업무 수요 | --- -## Phase L25 — 런처 핵심 UX 재정비 (v2.3.0) 🔄 예정 +## Phase L25 — 런처 핵심 UX 재정비 (v2.1.0) ✅ 완료 > **방향**: 사용자가 자주 요청하는 **UX 개선**과 **설정 편의성** 강화. 새 핸들러 추가 없음. | # | 기능 | 설명 | |---|------|------| -| L25-1 | **런처 결과 미리보기 패널** | 파일/클립보드 항목 선택 시 우측에 미리보기 표시. 텍스트 파일: 첫 20줄. 이미지: 썸네일. PDF: 첫 페이지. 단축키 F2 또는 Tab으로 포커스 이동. Raycast 미리보기 패널 대응 | -| L25-2 | **클립보드 히스토리 이미지 지원** | 현재 텍스트만 → 이미지·파일도 저장. 이미지 썸네일 표시. Enter → 클립보드에 재복사. Raycast 클립보드 리치 히스토리 대응 | -| L25-3 | **런처 폭·위치 기억** | 창 크기(폭)·화면 위치를 마지막 설정값으로 복원. 현재 항상 화면 중앙 고정 → 멀티 모니터 환경에서 주 모니터 위치 기억 | -| L25-4 | **핫키 커스터마이징 확장** | 현재 Alt+Space 고정 → 임의 조합 설정 가능. Win+Space, Ctrl+Space, 더블Shift 등 지원. Listary의 더블Ctrl 트리거 방식 옵션 추가 | +| ✅ L25-1 | **런처 결과 미리보기 패널** | `LauncherViewModel.UpdatePreviewAsync()` 80ms 디바운스. 텍스트 파일(16개 확장자) 첫 6줄 인라인 표시. 클립보드 텍스트 400자 미리보기. `PreviewPanel` Border (Row 5, MaxHeight 100px, 취소토큰 CancellationToken). `HasPreview` → `BoolToVisibilityConverter` | +| ✅ L25-2 | **클립보드 히스토리 이미지 지원** | 이미지 PNG 캐시 저장 + 썸네일(80px) 표시. `ClipboardThumbnailConverter` / `ClipboardHasImageConverter` XAML 연동. Enter → 원본 해상도 클립보드 재복사. L2-1 기구현 확인 | +| ✅ L25-3 | **런처 폭·위치 기억** | `LauncherSettings.RememberPosition/LastLeft/LastTop` 추가. `CenterOnScreen()` 위치 복원 로직 (화면 경계 Clamp). `Window_Deactivated` 이탈 시 비동기 저장 (`Task.Run → SettingsService.Save()`). 설정창 토글 UI 추가 | +| ✅ L25-4 | **핫키 커스터마이징 확장** | 설정창 ComboBox 12개 프리셋 (Alt+Space / Win+Space / Ctrl+Space / Ctrl+Alt+Space / F12 / F11 / Ctrl+F12 / Ctrl+Shift+Space / Alt+F1 / Ctrl+Alt+A / Win+Alt+Space / Ctrl+Alt+X). `EnsureHotkeyInCombo()` 기존 저장값 보존. L5-1 기구현 확인 | ---