AX Agent 상단 탭 잘림 및 메시지 transcript 정렬 보정
Some checks failed
Release Gate / gate (push) Has been cancelled

- 상단 헤더 첫 행 높이와 중앙 탭 래퍼 패딩/최소 높이를 늘려 채팅, Cowork, 코드 탭 글자 잘림 수정
- 사용자, assistant, streaming 메시지 컨테이너를 동일 transcript 폭 기준으로 통일
- wrapper는 같은 중심 축을 공유하고 내부 bubble만 좌우 정렬되도록 변경해 메시지 박스 정렬 불일치 완화
- README 및 DEVELOPMENT 문서에 2026-04-05 23:22 (KST) 기준 변경 이력 반영

검증:
- 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 20:40:51 +09:00
parent 00d284b725
commit a5790e28fb
4 changed files with 21 additions and 11 deletions

View File

@@ -1051,3 +1051,5 @@ MIT License
- AX Agent 좌측 패널의 타이포를 전반적으로 키웠다. 헤더, 새 대화, 검색, 상단 필터, 탭별 보조 메뉴, 전체 삭제, 하단 사용자 영역 폰트와 아이콘 크기를 함께 조정하고, 사이드바 폭도 소폭 넓혀 더 이상 지나치게 작고 빽빽하게 보이지 않도록 정리했다. 대화 목록 카드 제목/시간/실행 메타도 함께 키워 실제 읽을 수 있는 수준으로 보정했다.
- 업데이트: 2026-04-05 23:15 (KST)
- AX Agent 좌측 패널과 본문 사이 경계선을 드래그해 사이드바 폭을 직접 조절할 수 있게 했다. 사이드바가 열려 있을 때만 splitter가 보이며, 사용자가 조절한 폭은 닫았다 다시 열어도 유지된다.
- 업데이트: 2026-04-05 23:22 (KST)
- AX Agent 상단 탭 헤더 높이와 탭 래퍼 패딩을 늘려 채팅 / Cowork / 코드 글자가 잘리던 문제를 보정했다. 또 사용자/assistant/streaming 메시지가 같은 transcript 폭 컨테이너를 공유하도록 바꿔 좌우 정렬 기준이 어긋나 보이던 문제를 정리했다.

View File

@@ -4798,3 +4798,6 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- 업데이트: 2026-04-05 23:15 (KST)
- [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml) 에 AX Agent 좌측 패널과 본문 사이를 드래그할 수 있는 SidebarResizeSplitter를 추가했다.
- [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 에서 사이드바 마지막 확장 폭을 _sidebarExpandedWidth로 기억하도록 하고, 열기/닫기 애니메이션과 splitter 드래그 완료 이벤트가 같은 폭 상태를 공유하도록 정리했다. 이제 사용자가 경계선을 조절한 뒤 사이드바를 닫았다 다시 열어도 마지막 너비가 유지된다.
- 업데이트: 2026-04-05 23:22 (KST)
- [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml) 의 상단 헤더 첫 행 높이를 42 -> 48로 늘리고, 중앙 탭 래퍼의 Padding, MinHeight를 함께 키워 탭 글자가 위아래로 잘리던 문제를 보정했다.
- [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 의 사용자/assistant/streaming 메시지 컨테이너를 모두 GetMessageMaxWidth() 기준 동일 폭으로 맞추고, wrapper 자체는 중앙 transcript 축을 공유한 채 내부 bubble만 좌우 정렬되도록 바꿨다. 이로써 메시지 박스가 서로 다른 고정 마진 때문에 어긋나 보이던 정렬 문제를 줄였다.

View File

@@ -856,7 +856,7 @@
<!-- ══════════════════════════════════════════════════════ -->
<Grid Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition Height="42"/>
<RowDefinition Height="48"/>
<RowDefinition Height="Auto"/> <!-- 서브 바: 제목 + 프리뷰 -->
<RowDefinition Height="Auto"/> <!-- 스티키 진행률 바 -->
<RowDefinition Height="*"/>
@@ -1147,8 +1147,8 @@
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
CornerRadius="16" Padding="4"
MinHeight="40"
CornerRadius="16" Padding="5"
MinHeight="42"
WindowChrome.IsHitTestVisibleInChrome="True">
<StackPanel Orientation="Horizontal">
<RadioButton x:Name="TabChat" Content="채팅" Style="{StaticResource TopTabBtn}"

View File

@@ -4425,11 +4425,13 @@ public partial class ChatWindow : Window
if (isUser)
{
// 사용자: claw-code 쪽처럼 더 얇은 transcript 버블
var msgMaxWidth = GetMessageMaxWidth();
var wrapper = new StackPanel
{
HorizontalAlignment = HorizontalAlignment.Right,
MaxWidth = GetMessageMaxWidth(),
Margin = new Thickness(132, 4, 4, 6),
HorizontalAlignment = HorizontalAlignment.Center,
Width = msgMaxWidth,
MaxWidth = msgMaxWidth,
Margin = new Thickness(0, 4, 0, 6),
};
var bubble = new Border
@@ -4439,6 +4441,7 @@ public partial class ChatWindow : Window
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(9),
Padding = new Thickness(11, 7, 11, 7),
HorizontalAlignment = HorizontalAlignment.Right,
Child = new TextBlock
{
Text = content,
@@ -4508,11 +4511,13 @@ public partial class ChatWindow : Window
}
// 어시스턴트: 카드보다 transcript 행에 가까운 스타일
var msgMaxWidth = GetMessageMaxWidth();
var container = new StackPanel
{
HorizontalAlignment = HorizontalAlignment.Left,
MaxWidth = GetMessageMaxWidth(),
Margin = new Thickness(4, 6, 132, 6)
HorizontalAlignment = HorizontalAlignment.Center,
Width = msgMaxWidth,
MaxWidth = msgMaxWidth,
Margin = new Thickness(0, 6, 0, 6)
};
if (animate) ApplyMessageEntryAnimation(container);
@@ -11378,10 +11383,10 @@ public partial class ChatWindow : Window
var msgMaxWidth = GetMessageMaxWidth();
var container = new StackPanel
{
HorizontalAlignment = HorizontalAlignment.Left,
HorizontalAlignment = HorizontalAlignment.Center,
Width = msgMaxWidth,
MaxWidth = msgMaxWidth,
Margin = new Thickness(10, 3, 150, 3),
Margin = new Thickness(0, 3, 0, 3),
Opacity = 0,
RenderTransform = new TranslateTransform(0, 10)
};