슬래시 팝업 UX 개선: 스크롤/선택 이동 재렌더링 제거
Some checks failed
Release Gate / gate (push) Has been cancelled

- ChatWindow slash 이동 경로를 RenderSlashPage 기반에서 선택 하이라이트 갱신 기반으로 전환

- 휠/방향키/Home/End 이동 시 UpdateSlashSelectionVisualState + EnsureSlashSelectionVisible 호출로 통일

- 항목 hover 시에도 동일 선택 상태 동기화 경로를 사용해 체감 일관성 개선

- README.md, docs/DEVELOPMENT.md에 2026-04-04 14:01(KST) 기준 이력 반영

- 검증: dotnet build 0경고/0오류, 관련 필터 테스트 84건 통과
This commit is contained in:
2026-04-04 14:02:30 +09:00
parent 0bb37d9390
commit 157332df52
3 changed files with 52 additions and 14 deletions

View File

@@ -3413,3 +3413,20 @@ else:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Debug -p:UseSharedCompilation=false -nodeReuse:false` 통과 (경고 0, 오류 0).
- 테스트 재빌드 시 WPF 임시 생성물 누락(CS2001, `AxCopilot_*_wpftmp.csproj`)이 간헐 발생하여 다음으로 회귀 확인:
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj --no-build --filter "FullyQualifiedName~ChatWindowSlashPolicyTests|FullyQualifiedName~OperationModePolicyTests|FullyQualifiedName~PermissionModeCatalogTests|FullyQualifiedName~PermissionModePresentationCatalogTests|FullyQualifiedName~OperationModeReadinessTests"` 통과 (86 passed, 0 failed).
## 2026-04-04 추가 진행 기록 (연속 실행 31차: slash 팝업 스크롤/선택 체감 개선)
업데이트: 2026-04-04 14:01 (KST)
### 1) slash 이동 시 재렌더링 제거
- 기존: 휠/방향키 이동마다 `RenderSlashPage()`를 호출해 전체 항목을 다시 그림.
- 변경: 이동 시 `UpdateSlashSelectionVisualState()` + `EnsureSlashSelectionVisible()`만 호출하도록 전환.
- 효과: 스크롤 시 깜빡임/점프를 줄이고 선택 이동 체감이 더 부드러워짐.
### 2) 선택 하이라이트 동기화 경로 정리
- 항목 Hover/Home/End 이동에서 동일한 하이라이트 갱신 경로를 사용하도록 통일.
- 목록 재렌더가 필요한 경우(그룹 접힘/펼침, 검색 결과 변경)만 `RenderSlashPage()` 유지.
### 3) 품질 게이트
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Debug -p:UseSharedCompilation=false -nodeReuse:false` 통과 (경고 0, 오류 0).
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj --no-build --filter "FullyQualifiedName~ChatWindowSlashPolicyTests|FullyQualifiedName~SlashCommandCatalogTests|FullyQualifiedName~OperationModePolicyTests|FullyQualifiedName~PermissionModeCatalogTests|FullyQualifiedName~PermissionModePresentationCatalogTests"` 통과 (84 passed, 0 failed).