모델 프로파일 기반 Cowork/Code 루프와 진행 UX 고도화 반영

- 등록 모델 실행 프로파일을 검증 게이트, 문서 fallback, post-tool verification까지 확장 적용

- Cowork/Code 진행 카드에 계획/도구/검증/압축/폴백/재시도 단계 메타를 추가해 대기 상태 가시성 강화

- OpenAI/vLLM tool 요청에 병렬 도구 호출 힌트를 추가하고 회귀 프롬프트 문서를 프로파일 기준으로 전면 정리

- 검증: 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-08 13:41:57 +09:00
parent b391dfdfb3
commit a2c952879d
552 changed files with 8094 additions and 13595 deletions

View File

@@ -227,6 +227,8 @@
VerticalAlignment="Center" Cursor="Hand"
ClipToBounds="False"
MouseLeftButtonDown="DiamondIcon_Click"
MouseEnter="DiamondIcon_MouseEnter"
MouseLeave="DiamondIcon_MouseLeave"
Visibility="{Binding HasActivePrefix, Converter={StaticResource InverseBoolToVisibilityConverter}}">
<Canvas.RenderTransformOrigin>0.5,0.5</Canvas.RenderTransformOrigin>
<Canvas.RenderTransform>
@@ -236,32 +238,37 @@
</TransformGroup>
</Canvas.RenderTransform>
<!-- 마우스 오버 시 각 픽셀 색상이 퍼져나가는 글로우 (픽셀보다 먼저 렌더링 = 아래에 배치) -->
<!-- 글로우: 기본 Collapsed(GPU 렌더 제외) — 마우스 오버 시 코드에서 활성화 -->
<Rectangle x:Name="GlowBlue"
Canvas.Left="-2.5" Canvas.Top="-2.5"
Width="14.5" Height="14.5"
RadiusX="7" RadiusY="7"
Fill="#4488FF" Opacity="0">
Fill="#4488FF" Opacity="0"
Visibility="Collapsed">
<Rectangle.Effect><BlurEffect Radius="9"/></Rectangle.Effect>
</Rectangle>
<Rectangle x:Name="GlowGreen1"
Canvas.Left="9" Canvas.Top="-2.5"
Width="14.5" Height="14.5"
RadiusX="7" RadiusY="7"
Fill="#44DD66" Opacity="0">
Fill="#44DD66" Opacity="0"
Visibility="Collapsed">
<Rectangle.Effect><BlurEffect Radius="9"/></Rectangle.Effect>
</Rectangle>
<Rectangle x:Name="GlowGreen2"
Canvas.Left="-2.5" Canvas.Top="9"
Width="14.5" Height="14.5"
RadiusX="7" RadiusY="7"
Fill="#44DD66" Opacity="0">
Fill="#44DD66" Opacity="0"
Visibility="Collapsed">
<Rectangle.Effect><BlurEffect Radius="9"/></Rectangle.Effect>
</Rectangle>
<Rectangle x:Name="GlowRed"
Canvas.Left="9" Canvas.Top="9"
Width="14.5" Height="14.5"
RadiusX="7" RadiusY="7"
Fill="#FF4466" Opacity="0">
Fill="#FF4466" Opacity="0"
Visibility="Collapsed">
<Rectangle.Effect><BlurEffect Radius="9"/></Rectangle.Effect>
</Rectangle>
@@ -290,46 +297,8 @@
RadiusX="1.5" RadiusY="1.5"
Fill="#FF4466" Opacity="1"/>
<!-- 마우스 오버 → 각 픽셀 색 글로우 페이드인/아웃 -->
<Canvas.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="GlowBlue" Storyboard.TargetProperty="Opacity" To="0.9" Duration="0:0:0.15">
<DoubleAnimation.EasingFunction><QuadraticEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="GlowGreen1" Storyboard.TargetProperty="Opacity" To="0.9" Duration="0:0:0.15">
<DoubleAnimation.EasingFunction><QuadraticEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="GlowGreen2" Storyboard.TargetProperty="Opacity" To="0.9" Duration="0:0:0.15">
<DoubleAnimation.EasingFunction><QuadraticEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="GlowRed" Storyboard.TargetProperty="Opacity" To="0.9" Duration="0:0:0.15">
<DoubleAnimation.EasingFunction><QuadraticEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="GlowBlue" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.22">
<DoubleAnimation.EasingFunction><QuadraticEase EasingMode="EaseIn"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="GlowGreen1" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.22">
<DoubleAnimation.EasingFunction><QuadraticEase EasingMode="EaseIn"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="GlowGreen2" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.22">
<DoubleAnimation.EasingFunction><QuadraticEase EasingMode="EaseIn"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="GlowRed" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.22">
<DoubleAnimation.EasingFunction><QuadraticEase EasingMode="EaseIn"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>
<!-- 애니메이션은 코드비하인드에서 5가지 효과 중 랜덤 적용 -->
<!-- 글로우 hover 애니메이션은 코드비하인드에서 관리 (Visibility 제어로 GPU 최적화) -->
<!-- 아이콘 픽셀 애니메이션도 코드비하인드에서 랜덤 적용 -->
</Canvas>
<!-- Prefix 배지 (prefix 있을 때) -->
@@ -564,6 +533,7 @@
ItemContainerStyle="{StaticResource ResultItemStyle}"
PreviewMouseLeftButtonUp="ResultList_PreviewMouseLeftButtonUp"
MouseDoubleClick="ResultList_MouseDoubleClick"
PreviewMouseRightButtonUp="ResultList_PreviewMouseRightButtonUp"
Visibility="{Binding Results.Count, Converter={StaticResource CountToVisibilityConverter}}">
<ListView.Resources>