diff --git a/README.md b/README.md index 436e938..b45434d 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,10 @@ Windows 전용 시맨틱 런처 & 워크스페이스 매니저 개발 참고: Claw Code 동등성 작업 추적 문서 `docs/claw-code-parity-plan.md` +- 업데이트: 2026-04-06 19:46 (KST) +- AX Agent 테마 프리셋에서 `Claw` 표기를 `Claude`로 바꿨고, 기존 저장값 `claw`는 자동으로 `claude`로 읽히도록 하위 호환을 유지했습니다. +- `Claude` 다크/라이트 팔레트는 실제 앱 톤에 더 가깝게, `Codex` 다크는 제공된 레퍼런스 화면처럼 중성 회갈색 계열로, `Nord`는 공식 팔레트 기준으로 다시 맞췄습니다. `Slate`도 더 표준적인 슬레이트 계열 명암으로 정리했습니다. + - 업데이트: 2026-04-06 19:33 (KST) - AX Agent 라이트 테마 계층을 다시 정리했습니다. `Codex/Claw` 라이트 팔레트의 배경, 선택 배경, 호버, 경계선, 보조 텍스트 톤을 더 따뜻하게 보정해 사이드바와 본문 위계가 레퍼런스처럼 자연스럽게 느껴지도록 조정했습니다. diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index dd1d1ac..6a97e33 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -1,5 +1,7 @@ # AX Copilot - 媛쒕컻 臾몄꽌 +- Document update: 2026-04-06 19:46 (KST) - Renamed the AX Agent `Claw` preset label to `Claude` while keeping `claw` as a backward-compatible stored value alias. New settings default to `claude`, and old saved values are normalized on load. +- Document update: 2026-04-06 19:46 (KST) - Re-tuned theme palettes against real-world references: `AgentClawDark/Light/System` now follow Claude-like warm neutrals more closely, `AgentCodexDark` now matches the neutral charcoal reference more closely, `AgentNordLight/Dark/System` use the official Nord palette values, and `AgentSlateLight/Dark/System` were normalized toward a more canonical slate UI range. - Document update: 2026-04-06 19:33 (KST) - Rebalanced AX Agent light theme hierarchy so the UI no longer feels visually inverted. `AgentCodexLight`, `AgentCodexSystem`, and `AgentClawLight` now use warmer launcher backgrounds, softer selected/hover states, and slightly lower-contrast borders to separate sidebar and content surfaces more like the `claw-code` reference. - Document update: 2026-04-06 19:24 (KST) - Added `LauncherIndexProgressInfo` to `IndexService` so full launcher indexing now emits real progress/status updates, including estimated remaining time during path scans and a persisted completion summary after the run ends. - Document update: 2026-04-06 19:24 (KST) - Moved the user-facing launcher index progress surface into `SettingsWindow` under the index-speed control. The settings screen now shows a progress bar plus status/detail text while indexing is active and keeps the latest completion summary visible afterward. diff --git a/src/AxCopilot/Models/AppSettings.cs b/src/AxCopilot/Models/AppSettings.cs index e4bce9b..1f0db26 100644 --- a/src/AxCopilot/Models/AppSettings.cs +++ b/src/AxCopilot/Models/AppSettings.cs @@ -1039,9 +1039,9 @@ public class LlmSettings [JsonPropertyName("agentTheme")] public string AgentTheme { get; set; } = "system"; - /// AX Agent 전용 테마 스타일. claw | codex | slate + /// AX Agent 전용 테마 스타일. claude | codex | slate [JsonPropertyName("agentThemePreset")] - public string AgentThemePreset { get; set; } = "claw"; + public string AgentThemePreset { get; set; } = "claude"; // ─── 알림 ────────────────────────────────────────────────────────── diff --git a/src/AxCopilot/Themes/AgentClawDark.xaml b/src/AxCopilot/Themes/AgentClawDark.xaml index a9eb923..10045a0 100644 --- a/src/AxCopilot/Themes/AgentClawDark.xaml +++ b/src/AxCopilot/Themes/AgentClawDark.xaml @@ -1,17 +1,17 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/AxCopilot/Themes/AgentClawLight.xaml b/src/AxCopilot/Themes/AgentClawLight.xaml index e1f656b..a9f70e8 100644 --- a/src/AxCopilot/Themes/AgentClawLight.xaml +++ b/src/AxCopilot/Themes/AgentClawLight.xaml @@ -1,17 +1,17 @@ - + - - - - - + + + + + - - + + - - + + diff --git a/src/AxCopilot/Themes/AgentClawSystem.xaml b/src/AxCopilot/Themes/AgentClawSystem.xaml index 9dd7d2f..8798390 100644 --- a/src/AxCopilot/Themes/AgentClawSystem.xaml +++ b/src/AxCopilot/Themes/AgentClawSystem.xaml @@ -1,17 +1,17 @@ - + - - - - - + + + + + - - + + - - + + diff --git a/src/AxCopilot/Themes/AgentCodexDark.xaml b/src/AxCopilot/Themes/AgentCodexDark.xaml index f7cd365..f5b3156 100644 --- a/src/AxCopilot/Themes/AgentCodexDark.xaml +++ b/src/AxCopilot/Themes/AgentCodexDark.xaml @@ -1,17 +1,17 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/AxCopilot/Themes/AgentNordDark.xaml b/src/AxCopilot/Themes/AgentNordDark.xaml index 1ec5e54..dff3ea0 100644 --- a/src/AxCopilot/Themes/AgentNordDark.xaml +++ b/src/AxCopilot/Themes/AgentNordDark.xaml @@ -1,17 +1,17 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/AxCopilot/Themes/AgentNordLight.xaml b/src/AxCopilot/Themes/AgentNordLight.xaml index a11b8a1..fb1fd43 100644 --- a/src/AxCopilot/Themes/AgentNordLight.xaml +++ b/src/AxCopilot/Themes/AgentNordLight.xaml @@ -1,17 +1,17 @@ - + - - - - - - - - - - - + + + + + + + + + + + diff --git a/src/AxCopilot/Themes/AgentNordSystem.xaml b/src/AxCopilot/Themes/AgentNordSystem.xaml index 2b97b5e..4099012 100644 --- a/src/AxCopilot/Themes/AgentNordSystem.xaml +++ b/src/AxCopilot/Themes/AgentNordSystem.xaml @@ -1,17 +1,17 @@ - + - - - - - - - - - - - + + + + + + + + + + + diff --git a/src/AxCopilot/Themes/AgentSlateDark.xaml b/src/AxCopilot/Themes/AgentSlateDark.xaml index cdcbfeb..dcc21c9 100644 --- a/src/AxCopilot/Themes/AgentSlateDark.xaml +++ b/src/AxCopilot/Themes/AgentSlateDark.xaml @@ -1,17 +1,17 @@ - - - - - - - + + + + + + + - - + + - - + + diff --git a/src/AxCopilot/Themes/AgentSlateLight.xaml b/src/AxCopilot/Themes/AgentSlateLight.xaml index 0772141..3fd2dab 100644 --- a/src/AxCopilot/Themes/AgentSlateLight.xaml +++ b/src/AxCopilot/Themes/AgentSlateLight.xaml @@ -1,17 +1,17 @@ - + - - - - - - - + + + + + + + - - - + + + diff --git a/src/AxCopilot/Themes/AgentSlateSystem.xaml b/src/AxCopilot/Themes/AgentSlateSystem.xaml index 7945b73..3fd2dab 100644 --- a/src/AxCopilot/Themes/AgentSlateSystem.xaml +++ b/src/AxCopilot/Themes/AgentSlateSystem.xaml @@ -1,17 +1,17 @@ - + - - - - - + + + + + - - - - - + + + + + diff --git a/src/AxCopilot/ViewModels/SettingsViewModel.cs b/src/AxCopilot/ViewModels/SettingsViewModel.cs index 68094e1..5995753 100644 --- a/src/AxCopilot/ViewModels/SettingsViewModel.cs +++ b/src/AxCopilot/ViewModels/SettingsViewModel.cs @@ -152,7 +152,7 @@ public class SettingsViewModel : INotifyPropertyChanged private bool _aiEnabled = true; private string _operationMode = "internal"; private string _agentTheme = "system"; - private string _agentThemePreset = "claw"; + private string _agentThemePreset = "claude"; // 기능 토글 private bool _showNumberBadges; @@ -714,7 +714,12 @@ public class SettingsViewModel : INotifyPropertyChanged public string AgentThemePreset { get => _agentThemePreset; - set { _agentThemePreset = string.IsNullOrWhiteSpace(value) ? "claw" : value.Trim().ToLowerInvariant(); OnPropertyChanged(); } + set + { + var normalized = string.IsNullOrWhiteSpace(value) ? "claude" : value.Trim().ToLowerInvariant(); + _agentThemePreset = normalized == "claw" ? "claude" : normalized; + OnPropertyChanged(); + } } public string IndexSpeedHint => _indexSpeed switch @@ -1126,7 +1131,7 @@ public class SettingsViewModel : INotifyPropertyChanged _aiEnabled = _service.Settings.AiEnabled; _operationMode = string.IsNullOrWhiteSpace(_service.Settings.OperationMode) ? "internal" : _service.Settings.OperationMode; _agentTheme = string.IsNullOrWhiteSpace(llm.AgentTheme) ? "system" : llm.AgentTheme; - _agentThemePreset = string.IsNullOrWhiteSpace(llm.AgentThemePreset) ? "claw" : llm.AgentThemePreset; + _agentThemePreset = string.IsNullOrWhiteSpace(llm.AgentThemePreset) ? "claude" : (llm.AgentThemePreset.Trim().ToLowerInvariant() == "claw" ? "claude" : llm.AgentThemePreset); _agentLogLevel = llm.AgentLogLevel; _agentUiExpressionLevel = (llm.AgentUiExpressionLevel ?? "balanced").Trim().ToLowerInvariant() switch { diff --git a/src/AxCopilot/Views/ChatWindow.xaml b/src/AxCopilot/Views/ChatWindow.xaml index 501f2b5..26c521f 100644 --- a/src/AxCopilot/Views/ChatWindow.xaml +++ b/src/AxCopilot/Views/ChatWindow.xaml @@ -2700,7 +2700,7 @@ Padding="10,7" Margin="0,0,8,8" MouseLeftButtonUp="OverlayThemeStyleClawCard_MouseLeftButtonUp"> - diff --git a/src/AxCopilot/Views/ChatWindow.xaml.cs b/src/AxCopilot/Views/ChatWindow.xaml.cs index 1d5ad40..55199ec 100644 --- a/src/AxCopilot/Views/ChatWindow.xaml.cs +++ b/src/AxCopilot/Views/ChatWindow.xaml.cs @@ -1054,12 +1054,14 @@ public partial class ChatWindow : Window private Uri BuildAgentThemeDictionaryUri() { var mode = (_settings.Settings.Llm.AgentTheme ?? "system").Trim().ToLowerInvariant(); - var preset = (_settings.Settings.Llm.AgentThemePreset ?? "claw").Trim().ToLowerInvariant() switch + var preset = (_settings.Settings.Llm.AgentThemePreset ?? "claude").Trim().ToLowerInvariant() switch { "codex" => "Codex", "nord" => "Nord", "ember" => "Ember", "slate" => "Slate", + "claw" => "Claw", + "claude" => "Claw", _ => "Claw", }; var effectiveMode = mode switch @@ -12180,8 +12182,8 @@ public partial class ChatWindow : Window SetOverlayCardSelection(OverlayThemeSystemCard, selected == "system"); SetOverlayCardSelection(OverlayThemeLightCard, selected == "light"); SetOverlayCardSelection(OverlayThemeDarkCard, selected == "dark"); - var preset = (_settings.Settings.Llm.AgentThemePreset ?? "claw").ToLowerInvariant(); - SetOverlayCardSelection(OverlayThemeStyleClawCard, preset == "claw"); + var preset = (_settings.Settings.Llm.AgentThemePreset ?? "claude").ToLowerInvariant(); + SetOverlayCardSelection(OverlayThemeStyleClawCard, preset is "claw" or "claude"); SetOverlayCardSelection(OverlayThemeStyleCodexCard, preset == "codex"); SetOverlayCardSelection(OverlayThemeStyleNordCard, preset == "nord"); SetOverlayCardSelection(OverlayThemeStyleEmberCard, preset == "ember"); @@ -12628,7 +12630,7 @@ public partial class ChatWindow : Window private void OverlayThemeStyleClawCard_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { - _settings.Settings.Llm.AgentThemePreset = "claw"; + _settings.Settings.Llm.AgentThemePreset = "claude"; PersistOverlaySettingsState(refreshOverlayDeferredInputs: false); }