Yun Chan
4ca7352dc3
feat(ui): default to active queue, scope search toolbar, add double-bezel inspector, optimize queue columns, and achieve 100% pure Korean UI
2026-09-05 12:25:30 +09:00
Yun Chan
1f794e9e08
fix(ui): unify titlebar centerline vertical alignment and eliminate redundant brand container (v1.0.14)
2026-09-04 23:58:41 +09:00
Yun Chan
8eb48ed854
chore(release): v1.0.8 - Release v1.0.8: Inno Setup 표준 설치 프로그램(Setup-x64.exe) 도입으로 인증서 경고 없는 1초 설치 지원, C++ Shell DLL Word 추천 누수 완전 박멸, 비디오/오디오/표 미디어 네고시에이션 전수 보강, 극복합 2홉 변환 및 복원력 시나리오 탑재 (220개 테스트 100% 통과)
2026-09-03 22:32:20 +09:00
Yun Chan
07d7dfeb40
chore(release): v1.0.7 - 대대적인 UI/UX 개편: 1-클릭 최적화 프리셋, 실시간 검색/필터 바, 큐 일괄 처리 툴바, 프리뷰 인스펙터 고도화, 미디어 협상 도메인 필터링, Fluent 2 스타일 전면 적용
Forgejo Release / build-and-release (push) Has been cancelled
2026-09-03 17:21:58 +09:00
Yun Chan
38de8ffab9
chore(release): v1.0.7 - 대대적인 UI/UX 개편: 1-클릭 최적화 프리셋, 실시간 검색/필터 바, 큐 일괄 처리 툴바, 프리뷰 인스펙터 고도화, Fluent 2 스타일 전면 적용
Forgejo Release / build-and-release (push) Waiting to run
2026-09-03 17:15:00 +09:00
Yun Chan
1e7b0e1bcf
chore(release): bump version to 1.0.7 for clean MSIX deployment upgrade
2026-09-03 17:13:05 +09:00
Yun Chan
c00c55f9e6
chore(release): v1.0.6 - TDD RED 체계 및 초엄격 디자인 감사 적용, UI 정렬/패딩/빈상태 결함 수정
Forgejo Release / build-and-release (push) Waiting to run
2026-09-03 12:23:02 +09:00
Yun Chan
4cd9c678c0
feat(tdd): implement SSOT canon, AGENTS.md, ultra-strict design audit, E2E scenarios, and Forgejo release pipeline
Forgejo Release / build-and-release (push) Waiting to run
2026-09-03 12:21:40 +09:00
Yun Chan
944187c314
refactor(P5b-7): 잔여 이벤트 핸들러 전부 커맨드/behavior로 — XAML 이벤트 핸들러 0개
...
Microsoft.Xaml.Behaviors.Wpf 도입. MainWindow.xaml에 직접 이벤트 핸들러(Click/SelectionChanged/Drop/
MouseUp 등) 0개 — 전부 선언적 바인딩·커맨드·InvokeCommandAction으로 전환.
- 드래그앤드롭(DragOver/DragLeave/Drop) → i:EventTrigger + InvokeCommandAction(PassEventArgsToCommand),
HandleDragOver/HandleFilesDropped(DragEventArgs) 추출.
- 동적 포맷 콤보 SelectionChanged → OutputFormatChangedCommand(OnOutputFormatSelected).
- 큐·이력 행 PreviewMouseLeftButtonUp → QueueRow/PastRowCommand(MouseButtonEventArgs, IsInsideButton 가드
보존 + e.OriginalSource.DataContext로 항목 해소).
- ProcessQueueButton Click → ProcessQueueCommand.
- 검증: 빌드 0/0, 83 테스트 그린, publish 후 메인 창 크래시 없이 로드(behaviors self-contained 정상).
드래그앤드롭·행 미리보기·포맷 변경 실동작은 GUI 스모크 권장(비치명적 실패 모드).
2026-06-02 10:17:21 +09:00
Yun Chan
ba5738e705
refactor(P5b-1): CommunityToolkit.Mvvm 도입 + OptionsViewModel 추출 (옵션 로직 테스트화)
...
MVVM 첫 슬라이스 — 테스트 불가능했던 코드비하인드 BuildOptions의 순수 옵션 구성 로직을
헤드리스 단위테스트 가능한 OptionsViewModel.ToConvertOptions로 추출. XAML 바인딩 미변경(런타임 위험 0).
- CommunityToolkit.Mvvm 8.2.2(CPM) + App.csproj. App/ViewModels/OptionsViewModel.cs:
ObservableObject + [ObservableProperty](Quality/CustomOutputDirectory/ConflictRule/AiTaskIndex/
TargetLanguage/VideoPreferGpu) → 향후 옵션 패널 직접 바인딩 토대. ToConvertOptions()는 순수.
- MainWindow.BuildOptions: 컨트롤 값을 VM에 반영 후 ToConvertOptions() 위임(동작 동일).
- Tests → App ProjectReference 추가(App 뷰모델 헤드리스 테스트 가능화).
- OptionsViewModelTests 10케이스(품질매핑·AVIF clamp·커스텀폴더 trim·AI작업·대상언어·충돌/GPU).
71 → 81개 테스트 전부 그린, 빌드 0경고/0오류.
2026-06-02 09:51:49 +09:00
Yun Chan
f36ee299f4
refactor(P0): CPM 도입 + Magick.NET 14.13.1 통일
...
- src/Directory.Packages.props 신규 — 모든 PackageReference 버전의 단일 출처(SSOT)
- ManagePackageVersionsCentrally=true, 3개 csproj에서 Version 속성 제거
- Magick.NET-Q16-AnyCPU Core 14.13.0 → 14.13.1로 통일(Tests와 정합)
테스트와 프로덕션이 동일 네이티브 바이너리로 동작 → 골든마스터 신뢰 기반 확보
빌드 0경고/0오류, 38개 테스트 전부 그린.
2026-06-01 23:02:16 +09:00
Yun Chan
acb3fdbfd1
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
2026-06-01 22:00:53 +09:00
Yun Chan
9b7e5f0d0c
feat: Everything2Everything 양방향 변환 매트릭스 피보팅
...
EverythingToJpeg(N→JPEG 단방향)에서 Everything2Everything(N×M 매트릭스)으로
앱을 피보팅. 7개 Provider, 200+ 변환 쌍 지원.
리네이밍
- 디렉토리/솔루션/csproj/namespace/AssemblyName/MSIX Identity 일괄 치환
- 임시파일 prefix e2j_ → e2e_, 로고 라벨 E2J → E2E
아키텍처
- ConversionPair(input, output) 신규 + ProviderCapability.SupportedConversions
- IConverterProvider.ConvertAsync에 outputExtension 파라미터 추가
- ProviderRegistry를 Dictionary<(input, output), Provider> 매트릭스로 재작성
+ OutputsForInput / OutputsForFile 쿼리 API
- ConversionEngine: 출력 ext 라우팅, 동일 입출력 자동 skip,
서브폴더 suffix를 출력 ext에서 자동 도출
- ConvertOptions를 형식별 sub-record로 분리
(Jpeg/Png/Webp/Avif/Tiff/Pdf*/Html*/Ocr)
Provider 매트릭스
- MagickProvider: PNG/JPEG/WebP/AVIF/BMP/TIFF/GIF/PDF 양방향 + RAW/PSD 디코딩
(단일이미지→1페이지 PDF, GIF/TIFF→다페이지 PDF)
- HeicProvider: HEIC/HEIF → 이미지 7종
- PdfProvider: PDF → 이미지 6종 (PNG임베드 후 ImageMagick 인코딩)
- HtmlProvider: HTML/HTM → 이미지 + PDF (CDP printToPDF)
- DocxProvider/HwpxProvider: PDF + 이미지 7종 (LibreOffice 활용)
- OcrProvider 신규: 이미지/PDF → TXT/DOCX
(Windows.Media.Ocr + DocumentFormat.OpenXml, PDF는 페이지별 OCR 후 결합)
UI
- 사이드바 TARGET FORMAT을 동적 ComboBox로 (큐 파일 매트릭스의 교집합만 표시)
- 출력 형식별 색상 배지 + Quality 패널 라벨 동적
- OUTPUT DESTINATION hint도 출력 ext 기반 동적
CLI
- 신규 'to <ext> <files...>' verb (예: to png photo.heic doc.docx)
- help 텍스트 양방향 컨셉으로 갱신
셸 통합
- ContextMenuRegistrar 카스케이드로 재설계
(ExtendedSubCommandsKey + Everything2Everything.SubMenu.<ext>)
- 입력별 매트릭스에 따라 인기 출력 10종(JPEG/PNG/WebP/PDF/TXT/DOCX/AVIF/GIF/TIFF/BMP)
동적 노출, 마지막에 '변환…' 옵션
- 메뉴 라벨 'JPEG로 변환' → 'Everything2Everything으로 변환'
기타
- Core.csproj TFM net9.0-windows → net9.0-windows10.0.19041.0 (WinRT API용)
- DocumentFormat.OpenXml 3.1.0 NuGet 추가
- README 양방향 매트릭스 기준 전면 개편
- MSIX appxmanifest Description / IExplorerCommand DLL 라벨 갱신
빌드: 0 errors, 0 warnings
2026-05-07 13:40:08 +09:00