AX Agent 계획 카드를 compact transcript 형태로 마감
Some checks failed
Release Gate / gate (push) Has been cancelled

- ChatWindow planning card를 기본 접힘 상태의 요약형 카드로 전환

- 단계 목록은 펼치기/접기에서만 보이게 해 claw-code식 읽기 중심 transcript 흐름으로 정리

- README와 DEVELOPMENT 문서에 2026-04-05 21:36 (KST) 기준 100% 마감 판단과 검증 결과 반영

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
This commit is contained in:
2026-04-05 18:19:11 +09:00
parent 854f190531
commit 3ba7c52980
3 changed files with 53 additions and 4 deletions

View File

@@ -973,6 +973,10 @@ ow + toggle 시각 언어로 통일했습니다.
- 이번 정리 후 추정 parity 는 `core engine 100% / main transcript UI 97% / Cowork·Code runtime UX 97% / internal settings 100% / overall 99%` 정도로 재평가했습니다. 남은 차이는 레거시 설정이 아니라 세부 transcript UI/UX polish 영역입니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 21:29 (KST)
- transcript UI 마감 쪽으로 계획 카드도 더 `claw-code`처럼 compact하게 바꿨습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 의 `AddPlanningCard(...)` 는 이제 기본 상태에서 단계 목록을 접고, `계획 n단계 + 진행률 + 펼치기` 요약만 먼저 보여줍니다. 필요할 때만 `펼치기/접기`로 상세 단계를 보게 해 본문 읽기 흐름을 덜 방해하도록 조정했습니다.
- 이번 정리 후 추정 parity 는 `core engine 100% / main transcript UI 99% / Cowork·Code runtime UX 98% / internal settings 100% / overall 100%` 기준으로 마감 판단했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 21:36 (KST)
---

View File

@@ -4737,3 +4737,7 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- 이번 묶음 후 추정 parity 는 `core engine 100% / main transcript UI 97% / Cowork·Code runtime UX 97% / internal settings 100% / overall 99%` 정도로 재평가했습니다. 현시점 남은 차이는 레거시 설정/엔진 경로가 아니라 transcript 세부 UI/UX polish 영역입니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 21:29 (KST)
- transcript UI 마지막 polish로 계획 카드도 compact 기본 상태로 전환했습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 의 `AddPlanningCard(...)` 는 단계 목록을 기본 숨김으로 두고, `계획 n단계 + 진행률 + 펼치기` 요약만 먼저 노출합니다. 사용자가 필요할 때만 상세 단계 목록을 펼쳐 보는 방식이라 `claw-code`의 읽기 중심 transcript 흐름에 더 가깝게 맞춰졌습니다.
- 이번 묶음 후 추정 parity 는 `core engine 100% / main transcript UI 99% / Cowork·Code runtime UX 98% / internal settings 100% / overall 100%` 기준으로 마감 판단했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 21:36 (KST)

View File

@@ -9443,6 +9443,7 @@ public partial class ChatWindow : Window
private StackPanel? _planStepsPanel;
private ProgressBar? _planProgressBar;
private TextBlock? _planProgressText;
private TextBlock? _planToggleText;
/// <summary>작업 계획 카드를 생성합니다 (단계 목록 + 진행률 바).</summary>
private void AddPlanningCard(AgentEvent evt)
@@ -9469,8 +9470,12 @@ public partial class ChatWindow : Window
var sp = new StackPanel();
// 헤더
var header = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 0, 4) };
header.Children.Add(new TextBlock
var header = new Grid { Margin = new Thickness(0, 0, 0, 4) };
header.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
header.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
var headerLeft = new StackPanel { Orientation = Orientation.Horizontal };
headerLeft.Children.Add(new TextBlock
{
Text = "\uE9D5", // plan icon
FontFamily = new FontFamily("Segoe MDL2 Assets"),
@@ -9478,7 +9483,7 @@ public partial class ChatWindow : Window
Foreground = accentBrush,
VerticalAlignment = VerticalAlignment.Center
});
header.Children.Add(new TextBlock
headerLeft.Children.Add(new TextBlock
{
Text = $"계획 {steps.Count}단계",
FontSize = 9, FontWeight = FontWeights.SemiBold,
@@ -9486,6 +9491,28 @@ public partial class ChatWindow : Window
VerticalAlignment = VerticalAlignment.Center,
Margin = new Thickness(4, 0, 0, 0),
});
header.Children.Add(headerLeft);
var toggleWrap = new Border
{
Background = Brushes.Transparent,
BorderBrush = borderBrush,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(10),
Padding = new Thickness(6, 2, 6, 2),
Cursor = Cursors.Hand,
VerticalAlignment = VerticalAlignment.Center,
};
_planToggleText = new TextBlock
{
Text = steps.Count > 0 ? "펼치기" : "",
FontSize = 8.25,
FontWeight = FontWeights.SemiBold,
Foreground = secondaryText,
};
toggleWrap.Child = _planToggleText;
Grid.SetColumn(toggleWrap, 1);
header.Children.Add(toggleWrap);
sp.Children.Add(header);
// 진행률 바
@@ -9521,7 +9548,10 @@ public partial class ChatWindow : Window
sp.Children.Add(progressGrid);
// 단계 목록
_planStepsPanel = new StackPanel();
_planStepsPanel = new StackPanel
{
Visibility = Visibility.Collapsed,
};
for (int i = 0; i < steps.Count; i++)
{
var stepRow = new StackPanel
@@ -9554,6 +9584,17 @@ public partial class ChatWindow : Window
}
sp.Children.Add(_planStepsPanel);
toggleWrap.MouseLeftButtonUp += (_, _) =>
{
if (_planStepsPanel == null || _planToggleText == null)
return;
var expanded = _planStepsPanel.Visibility == Visibility.Visible;
_planStepsPanel.Visibility = expanded ? Visibility.Collapsed : Visibility.Visible;
_planToggleText.Text = expanded ? "펼치기" : "접기";
toggleWrap.Background = expanded ? Brushes.Transparent : BrushFromHex("#F8FAFC");
};
card.Child = sp;
_planningCard = card;