채팅·코워크·코드 공통 composer 우측 상단의 프리셋 선택 버튼을 제거해 입력 영역을 단순화했습니다. 파일 첨부 버튼을 약 1.5배 키우고 전송 버튼도 같은 정사각 기준으로 맞춘 뒤, 두 버튼 아이콘을 모두 상하좌우 중앙 정렬로 보정했습니다. README와 docs/DEVELOPMENT.md에 2026-04-06 15:12 (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:
@@ -7,6 +7,10 @@ Windows 전용 시맨틱 런처 & 워크스페이스 매니저
|
|||||||
개발 참고: Claw Code 동등성 작업 추적 문서
|
개발 참고: Claw Code 동등성 작업 추적 문서
|
||||||
`docs/claw-code-parity-plan.md`
|
`docs/claw-code-parity-plan.md`
|
||||||
|
|
||||||
|
- 업데이트: 2026-04-06 15:12 (KST)
|
||||||
|
- AX Agent 채팅/코워크/코드 공통 입력창 우측 상단의 `프리셋` 선택 버튼을 제거해 composer 상단을 더 단순하게 정리했습니다.
|
||||||
|
- 파일 첨부 버튼을 기존보다 약 1.5배 키우고, 전송 버튼도 같은 기준의 정사각 크기로 맞췄습니다. 두 버튼의 아이콘은 모두 상하좌우 중앙 정렬로 보정했습니다.
|
||||||
|
|
||||||
- 업데이트: 2026-04-06 15:04 (KST)
|
- 업데이트: 2026-04-06 15:04 (KST)
|
||||||
- AX Agent 사용자 메시지 하단 메타 행 레이아웃을 정리해, 시간 표시와 복사/편집 액션 버튼이 같은 위치에 겹쳐 보이던 문제를 수정했습니다.
|
- AX Agent 사용자 메시지 하단 메타 행 레이아웃을 정리해, 시간 표시와 복사/편집 액션 버튼이 같은 위치에 겹쳐 보이던 문제를 수정했습니다.
|
||||||
- 사용자 메시지 하단 바는 이제 전용 컬럼을 나눠 시간과 액션이 항상 분리되어 보이며, hover 상태와 무관하게 메타 행이 안정적으로 유지됩니다.
|
- 사용자 메시지 하단 바는 이제 전용 컬럼을 나눠 시간과 액션이 항상 분리되어 보이며, hover 상태와 무관하게 메타 행이 안정적으로 유지됩니다.
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
# AX Copilot - 媛쒕컻 臾몄꽌
|
# AX Copilot - 媛쒕컻 臾몄꽌
|
||||||
|
|
||||||
|
- Document update: 2026-04-06 15:12 (KST) - Simplified the shared AX Agent composer by removing the top-right preset selector from Chat/Cowork/Code. Increased the attach button by roughly 1.5x, matched the send button to the same square footprint, and re-centered both icons for a cleaner balanced action row.
|
||||||
- Document update: 2026-04-06 15:04 (KST) - Fixed the AX Agent user-message footer row overlap. Sent-time metadata and copy/edit actions no longer share the same overlay cell and now render in dedicated columns so hover actions cannot collide with the timestamp.
|
- Document update: 2026-04-06 15:04 (KST) - Fixed the AX Agent user-message footer row overlap. Sent-time metadata and copy/edit actions no longer share the same overlay cell and now render in dedicated columns so hover actions cannot collide with the timestamp.
|
||||||
- Document update: 2026-04-06 09:27 (KST) - Re-framed the remaining `claw-code` parity work into three explicit tracks: user-facing UI/UX quality, LLM/task-handling quality, and maintainability/extensibility structure. This separates visible polish from runtime truth and from architectural cleanup.
|
- Document update: 2026-04-06 09:27 (KST) - Re-framed the remaining `claw-code` parity work into three explicit tracks: user-facing UI/UX quality, LLM/task-handling quality, and maintainability/extensibility structure. This separates visible polish from runtime truth and from architectural cleanup.
|
||||||
- Document update: 2026-04-06 09:27 (KST) - Captured the new track plan in `docs/claw-code-parity-plan.md` with reference files, AX apply targets, completion criteria, quality criteria, and recommended execution order so future work can be prioritized more deliberately.
|
- Document update: 2026-04-06 09:27 (KST) - Captured the new track plan in `docs/claw-code-parity-plan.md` with reference files, AX apply targets, completion criteria, quality criteria, and recommended execution order so future work can be prioritized more deliberately.
|
||||||
|
|||||||
@@ -1719,13 +1719,12 @@
|
|||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<!-- Row 0: 모델 셀렉터 + 템플릿 버튼 -->
|
<!-- Row 0: 모델 셀렉터 -->
|
||||||
<Grid Grid.Row="0" Margin="3,1,3,2">
|
<Grid Grid.Row="0" Margin="3,1,3,2">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="Auto"/>
|
<ColumnDefinition Width="Auto"/>
|
||||||
<ColumnDefinition Width="*"/>
|
<ColumnDefinition Width="*"/>
|
||||||
<ColumnDefinition Width="Auto"/>
|
<ColumnDefinition Width="Auto"/>
|
||||||
<ColumnDefinition Width="Auto"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Button x:Name="BtnModelSelector"
|
<Button x:Name="BtnModelSelector"
|
||||||
Style="{StaticResource OutlineHoverBtn}"
|
Style="{StaticResource OutlineHoverBtn}"
|
||||||
@@ -1870,29 +1869,6 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
</Popup>
|
</Popup>
|
||||||
<Button x:Name="BtnTemplateSelector"
|
|
||||||
Style="{StaticResource OutlineHoverBtn}"
|
|
||||||
Grid.Column="3"
|
|
||||||
HorizontalAlignment="Right"
|
|
||||||
Margin="6,0,0,0"
|
|
||||||
MinHeight="28"
|
|
||||||
MinWidth="68"
|
|
||||||
Padding="8,3"
|
|
||||||
Click="BtnTemplateSelector_Click"
|
|
||||||
ToolTip="프롬프트 템플릿"
|
|
||||||
WindowChrome.IsHitTestVisibleInChrome="True">
|
|
||||||
<StackPanel Orientation="Horizontal">
|
|
||||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
|
||||||
Foreground="{DynamicResource SecondaryText}"
|
|
||||||
VerticalAlignment="Center" Margin="0,0,4,0"/>
|
|
||||||
<TextBlock Text="프리셋" FontSize="11.5"
|
|
||||||
Foreground="{DynamicResource SecondaryText}"
|
|
||||||
VerticalAlignment="Center"/>
|
|
||||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="9"
|
|
||||||
Foreground="{DynamicResource SecondaryText}"
|
|
||||||
VerticalAlignment="Center" Margin="4,1,0,0"/>
|
|
||||||
</StackPanel>
|
|
||||||
</Button>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<!-- Row 1: 모델/권한 빠른 설정 팝업 -->
|
<!-- Row 1: 모델/권한 빠른 설정 팝업 -->
|
||||||
@@ -2083,12 +2059,16 @@
|
|||||||
|
|
||||||
<!-- 파일 첨부 -->
|
<!-- 파일 첨부 -->
|
||||||
<Button x:Name="BtnAttach" Style="{StaticResource GhostBtn}" Grid.Column="1"
|
<Button x:Name="BtnAttach" Style="{StaticResource GhostBtn}" Grid.Column="1"
|
||||||
Width="32" Height="32" Margin="0,0,6,0" VerticalAlignment="Bottom"
|
Width="48" Height="48" Margin="0,0,6,0" VerticalAlignment="Bottom"
|
||||||
Click="BtnAttach_Click" ToolTip="파일 첨부"
|
Click="BtnAttach_Click" ToolTip="파일 첨부"
|
||||||
WindowChrome.IsHitTestVisibleInChrome="True"
|
WindowChrome.IsHitTestVisibleInChrome="True"
|
||||||
AllowDrop="True">
|
AllowDrop="True">
|
||||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="14"
|
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
|
||||||
Foreground="{DynamicResource SecondaryText}"/>
|
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="18"
|
||||||
|
Foreground="{DynamicResource SecondaryText}"
|
||||||
|
HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center"/>
|
||||||
|
</Grid>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<!-- 내보내기 -->
|
<!-- 내보내기 -->
|
||||||
@@ -2132,17 +2112,19 @@
|
|||||||
</Button.Template>
|
</Button.Template>
|
||||||
</Button>
|
</Button>
|
||||||
<Button x:Name="BtnSend" Grid.Column="4"
|
<Button x:Name="BtnSend" Grid.Column="4"
|
||||||
Width="42" Height="42" Margin="6,0,2,0"
|
Width="48" Height="48" Margin="6,0,2,0"
|
||||||
Cursor="Hand" Click="BtnSend_Click"
|
Cursor="Hand" Click="BtnSend_Click"
|
||||||
VerticalAlignment="Bottom">
|
VerticalAlignment="Bottom">
|
||||||
<Button.Template>
|
<Button.Template>
|
||||||
<ControlTemplate TargetType="Button">
|
<ControlTemplate TargetType="Button">
|
||||||
<Border x:Name="Bd" Background="{DynamicResource AccentColor}"
|
<Border x:Name="Bd" Background="{DynamicResource AccentColor}"
|
||||||
CornerRadius="13">
|
CornerRadius="14">
|
||||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets"
|
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
|
||||||
FontSize="16" Foreground="White"
|
<TextBlock Text="" FontFamily="Segoe MDL2 Assets"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
FontSize="18" Foreground="White"
|
||||||
Margin="1,-1,0,0"/>
|
HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center"/>
|
||||||
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
|||||||
@@ -384,7 +384,6 @@ public partial class ChatWindow : Window
|
|||||||
// 호버 애니메이션 — 독립 공간이 있는 버튼에만 Scale 적용
|
// 호버 애니메이션 — 독립 공간이 있는 버튼에만 Scale 적용
|
||||||
// (GhostBtn 스타일 버튼은 XAML에서 배경색+opacity 호버 처리)
|
// (GhostBtn 스타일 버튼은 XAML에서 배경색+opacity 호버 처리)
|
||||||
ApplyHoverBounceAnimation(BtnModelSelector);
|
ApplyHoverBounceAnimation(BtnModelSelector);
|
||||||
ApplyHoverBounceAnimation(BtnTemplateSelector, -1.5);
|
|
||||||
ApplyHoverScaleAnimation(BtnSend, 1.12);
|
ApplyHoverScaleAnimation(BtnSend, 1.12);
|
||||||
ApplyHoverScaleAnimation(BtnStop, 1.12);
|
ApplyHoverScaleAnimation(BtnStop, 1.12);
|
||||||
};
|
};
|
||||||
@@ -1320,13 +1319,6 @@ public partial class ChatWindow : Window
|
|||||||
if (InlineSettingsQuickActions != null)
|
if (InlineSettingsQuickActions != null)
|
||||||
InlineSettingsQuickActions.Visibility = level == "simple" ? Visibility.Collapsed : Visibility.Visible;
|
InlineSettingsQuickActions.Visibility = level == "simple" ? Visibility.Collapsed : Visibility.Visible;
|
||||||
|
|
||||||
if (BtnTemplateSelector != null)
|
|
||||||
{
|
|
||||||
BtnTemplateSelector.Padding = level == "simple"
|
|
||||||
? new Thickness(8, 4, 8, 4)
|
|
||||||
: new Thickness(9, 4, 9, 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_failedOnlyFilter)
|
if (_failedOnlyFilter)
|
||||||
{
|
{
|
||||||
_failedOnlyFilter = false;
|
_failedOnlyFilter = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user