1
0
Fork 0

feat: imagegen2 아이콘·글리프·일러스트 생성 후 GUI 전면 적용 (투명 배경)

codex noninteractive + imagegen2로 앱 비주얼 에셋 일괄 생성, 코드 생성 차단
(gen-one.sh: FORBID 블록 + 코드파일 감지 + 재시도). 모든 산출물은
플러드필 배경 제거로 진짜 알파 투명 PNG화.

생성 에셋 (assets-gen/):
- app-master: 앱 아이콘 마스터 (사이클 화살표, 솔리드 타일 유지)
- 카테고리 글리프 8종: image/video/audio/document/data/vector/archive/ai
- 일러스트 2종: illus-empty(드롭존), illus-done(완료)
- logo-mark: 브랜드 마크

GUI 적용:
- 사이드바 헤더 브랜드 → logo-mark
- 드롭존 빈 상태 → illus-empty
- QuickProgressWindow 완료 → illus-done
- AI 작업 패널 → glyph-ai 스파클
- 큐/과거결과 행 라벨 아이콘 → 카테고리 글리프 (CategoryGlyphs 매핑)
- 미리보기 placeholder → 형식별 카테고리 글리프 (경고 대신)

앱 아이콘:
- app.ico (멀티 크기 16~256) + 윈도우 Icon
- MSIX 타일 4종(Square44/150·Wide310·Store) app-master 기반 갱신
- Package 버전 1.0.2.0
This commit is contained in:
Yun Chan 2026-06-01 22:00:42 +09:00
parent ef10c139cd
commit acb3fdbfd1
37 changed files with 189 additions and 34 deletions

View file

@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
Title="FormatShift Utility"
Icon="pack://application:,,,/Assets/app-icon.png"
Width="1280" Height="960"
MinWidth="1080" MinHeight="640"
ExtendsContentIntoTitleBar="True"
@ -62,10 +63,10 @@
<Border Grid.Row="0" BorderBrush="{StaticResource FsBorderSubtle}"
BorderThickness="0,0,0,1" Padding="24,0">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<Path Width="18" Height="18" Stretch="Uniform"
Stroke="{StaticResource FsAccentBlue}" StrokeThickness="2"
Data="M3,3 L21,3 L21,21 L3,21 Z M12,8 L12,16 M8,12 L16,12"/>
<TextBlock Margin="8,0,0,0" FontSize="14" FontWeight="SemiBold"
<Image Width="22" Height="22"
RenderOptions.BitmapScalingMode="HighQuality"
Source="pack://application:,,,/Assets/logo-mark.png"/>
<TextBlock Margin="9,0,0,0" FontSize="14" FontWeight="SemiBold"
Foreground="{StaticResource FsTextPrimary}"
FontFamily="{StaticResource FsFontSans}">
FormatShift
@ -192,7 +193,12 @@
<!-- AI Task -->
<StackPanel x:Name="AiTaskPanel" Margin="0,0,0,32">
<TextBlock Text="AI 작업" Style="{StaticResource FsLabelStyle}"/>
<StackPanel Orientation="Horizontal">
<Image Width="15" Height="15" VerticalAlignment="Center" Margin="0,0,6,0"
RenderOptions.BitmapScalingMode="HighQuality"
Source="pack://application:,,,/Assets/glyph-ai.png"/>
<TextBlock Text="AI 작업" Style="{StaticResource FsLabelStyle}" VerticalAlignment="Center"/>
</StackPanel>
<ComboBox x:Name="AiTaskCombo" Margin="0,8,0,0"
SelectedIndex="0"
SelectionChanged="OnAiTaskChanged">
@ -401,12 +407,12 @@
StrokeDashArray="5 4"
Fill="#04FFFFFF"/>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="48,56">
<Path Width="44" Height="44" Stretch="Uniform"
HorizontalAlignment="Center"
Stroke="{StaticResource FsAccentBlue}" StrokeThickness="1.5"
Data="M21,15 L21,19 C21,20.1 20.1,21 19,21 L5,21 C3.9,21 3,20.1 3,19 L3,15 M7,10 L12,15 L17,10 M12,15 L12,3"/>
<TextBlock Margin="0,18,0,0" FontSize="16" FontWeight="SemiBold"
Margin="48,52">
<Image Width="128" Height="128"
HorizontalAlignment="Center"
RenderOptions.BitmapScalingMode="HighQuality"
Source="pack://application:,,,/Assets/illus-empty.png"/>
<TextBlock Margin="0,16,0,0" FontSize="16" FontWeight="SemiBold"
Foreground="{StaticResource FsTextPrimary}"
HorizontalAlignment="Center"
Text="Drop files anywhere to queue"/>
@ -459,15 +465,9 @@
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="40"/>
</Grid.ColumnDefinitions>
<Border Width="32" Height="32" CornerRadius="4"
Background="{Binding FormatBrush}"
VerticalAlignment="Center">
<TextBlock Text="{Binding FormatLabel}"
Foreground="White" FontSize="10"
FontWeight="SemiBold"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<Image Width="34" Height="34" VerticalAlignment="Center"
RenderOptions.BitmapScalingMode="HighQuality"
Source="{Binding GlyphSource}"/>
<StackPanel Grid.Column="1" Margin="16,0,0,0"
VerticalAlignment="Center">
<TextBlock Text="{Binding FileName}"
@ -570,15 +570,9 @@
<ColumnDefinition Width="40"/>
</Grid.ColumnDefinitions>
<Border Width="32" Height="32" CornerRadius="4"
Background="{Binding FormatBrush}"
VerticalAlignment="Center">
<TextBlock Text="{Binding FormatLabel}"
Foreground="White" FontSize="10"
FontWeight="SemiBold"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<Image Width="34" Height="34" VerticalAlignment="Center"
RenderOptions.BitmapScalingMode="HighQuality"
Source="{Binding GlyphSource}"/>
<StackPanel Grid.Column="1" Margin="16,0,0,0"
VerticalAlignment="Center">
@ -707,7 +701,10 @@
<!-- Reason -->
<StackPanel x:Name="PreviewReason" Visibility="Collapsed"
HorizontalAlignment="Center" VerticalAlignment="Center" Margin="20">
<Path Width="32" Height="32" Stretch="Uniform"
<Image x:Name="PreviewGlyph" Width="84" Height="84"
HorizontalAlignment="Center" Visibility="Collapsed"
RenderOptions.BitmapScalingMode="HighQuality"/>
<Path x:Name="PreviewWarnIcon" Width="32" Height="32" Stretch="Uniform"
Stroke="{StaticResource FsAccentAmber}" StrokeThickness="1.5"
Data="M12,2 L22,20 L2,20 Z M12,9 L12,14 M12,17 L12,17.01"/>
<TextBlock x:Name="PreviewReasonText" Margin="0,12,0,0"