Commit graph

182 commits

Author SHA1 Message Date
64525f5ead fix: downgrade actions/upload-artifact and actions/download-artifact to v3 in workflows
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m46s
2026-05-26 22:08:20 +02:00
3fea86fa78 feat: Update build workflows for Catalog Lite and Windows Avalonia with improved input types and release handling
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m43s
2026-05-26 22:00:08 +02:00
50f0209eb9 fix: Add paths-ignore for CatalogLite in Windows Avalonia build workflow
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m43s
Build Windows Avalonia / release (push) Has been skipped
2026-05-26 21:50:55 +02:00
181229aa41 Catalog Lite
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m43s
Build Windows Avalonia / release (push) Has been skipped
2026-05-26 21:47:55 +02:00
398cfa310e Refactor path handling in UI components
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m46s
Build Windows Avalonia / release (push) Has been skipped
- Removed redundant folder and file opening methods from AiTabView and FaceAiTabView.
- Introduced PathPickerField control to streamline path selection and opening functionality across multiple views.
- Updated FaceAiTabView and GeneralTabView to utilize PathPickerField for source and destination path selection.
- Created PathShellService to encapsulate logic for opening paths in the file explorer.
- Simplified XAML structure by replacing manual grid definitions with PathPickerField components.
- Removed unused namespaces and cleaned up code for better readability and maintainability.
2026-05-24 19:07:17 +02:00
f3ac1ea920 feat: Implement AI CSV overwrite confirmation and update CSV output path based on destination 2026-05-24 18:45:51 +02:00
6e05869b04 feat: Add GPU support options and enhance UI for Face Encoder and Matcher functionalities 2026-05-24 18:33:54 +02:00
af74c90ce7 feat: Update package references and enhance AI extraction service with CSV output functionality 2026-05-24 17:29:05 +02:00
55e8f0face Local build fix 2026-05-24 11:21:30 +02:00
5511817896 feat: Update .gitignore and project file to include TestArtifacts and local CUDA libraries for publish 2026-05-24 10:49:41 +02:00
c261557a29 feat: Add Face Matcher functionality and related settings
- Implemented FilePathToBitmapConverter for image loading.
- Enhanced DataModel with commands and properties for Face Matcher.
- Created FaceMatcherResultItem model to store results.
- Updated SettingsDto to include Face Matcher paths and tolerance.
- Introduced PickerPreferenceService for managing folder paths.
- Expanded AiSettingsViewModel to manage Face Matcher settings and results.
2026-05-09 20:27:44 +02:00
f57dc1edba feat: Enhance AI extraction summaries and worker allocation for GPU support
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m38s
Build Windows Avalonia / release (push) Has been skipped
2026-05-09 19:31:21 +02:00
48d6af13da feat: Update GPU worker allocation for improved performance in AI extraction 2026-05-09 19:15:00 +02:00
88c193549f feat: Implement AI workload settings and enhance AI processing summaries 2026-05-09 18:54:20 +02:00
4230300518 CUDA build 2026-05-09 18:37:31 +02:00
7e105e3738 feat: Add support for thumbnail inclusion in AI processing and enhance UI bindings
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m48s
Build Windows Avalonia / release (push) Has been skipped
2026-05-09 17:53:15 +02:00
cb41c42bb5 AI Pettorali 2026-05-09 17:27:05 +02:00
25fdb82d2f feat: Add face encoder settings including GPU support, parallelism, and thumbnail options
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m19s
Build Windows Avalonia / release (push) Has been skipped
2026-05-09 15:46:41 +02:00
d6b778a648 Refactor application to remove Windows Forms dependencies and transition to Avalonia UI
- Deleted MainWindow.xaml.cs, which contained the WPF implementation of the main window.
- Updated Program.cs to remove Windows Forms initialization and support only Avalonia UI.
- Removed Windows Forms specific code from ViewModelBase, including control marshalling logic.
2026-05-09 14:04:21 +02:00
988a3d94e1 feat: Implement face encoder functionality with GPU support and recursive option 2026-05-09 12:09:05 +02:00
daf3b5ad2c feat: Enhance Windows Avalonia build workflow with NuGet source validation and configuration
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m4s
Build Windows Avalonia / release (push) Has been skipped
2026-03-16 22:22:13 +01:00
3ddaf31340 feat: Add build workflow for Windows Avalonia with Docker support
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m15s
Build Windows Avalonia / release (push) Has been skipped
2026-03-16 22:14:49 +01:00
0d6435520b Merge branch 'avalonia' into 'develop'
Enhance image processing performance and flexibility by introducing atomic...

See merge request MaddoScientisto/Catalog!2
2026-03-14 08:48:17 +00:00
b194a2424c feat: Update Microsoft.Extensions packages to version 10.0.5 for improved functionality and stability 2026-03-14 09:44:21 +01:00
901dc02ca8 feat: Enhance UI with new styles, improved layout, and icon integration across various views 2026-03-12 23:40:41 +01:00
fa09f7c324 feat: Update FaceAiTabView to support output file selection and validation for .pkl files 2026-03-12 23:24:44 +01:00
41d9dacfac feat: Replace Moq and FluentAssertions with NSubstitute and Shouldly in test projects 2026-03-12 19:40:58 +01:00
3c722a66df feat: Add AI extraction service and related view models
- Introduced `IAiExtractionService` and its implementation `AiExtractionService` for processing images and extracting text.
- Created `AiResultItem` model to hold results from AI extraction.
- Added `ImageProcessingCoordinator` to manage image processing tasks and provide progress updates.
- Implemented view models for AI settings, path settings, processing state, race upload settings, and visual settings to support UI binding.
- Updated `Program.cs` to register new services and dependencies.
- Modified project file to skip MinVer execution during local builds.
2026-03-12 18:48:13 +01:00
bdf503c627 feat: Refactor RaceUploadCommunicationClient and RaceUploadTabView to improve HttpClient management and resource disposal 2026-03-08 14:30:37 +01:00
b29cc95a1e feat: Enhance Avalonia UI with compact styles and improved layout for various views; adjust margins and paddings for a denser interface 2026-03-08 13:44:09 +01:00
e80b427fcc feat: Update Avalonia UI with new tab icons and styles; upgrade AutoMapper and Avalonia packages 2026-03-08 12:09:58 +01:00
d62342aae1 Implement ImageCreatorImageSharp using SixLabors.ImageSharp for image processing
- Added ImageCreatorImageSharp class for image creation, handling EXIF orientation, resizing, and saving images.
- Replaced GDI+ dependencies with ImageSharp for cross-platform compatibility.
- Introduced methods for drawing text and logos on images, including handling transparency and positioning.
- Created a test plan for validating ImageCreatorImageSharp functionality, focusing on image resizing, text positioning, logo features, and EXIF orientation.
- Added documentation for the test plan outlining goals, project structure, and implementation notes.
2026-03-08 11:17:47 +01:00
90fb03bf0c Add new tab views for image catalog functionality
- Implement GeneralTabView for source and destination path settings, options, processing parameters, and image library selection.
- Create LogoTabView for logo selection, preview, and positioning options.
- Add PhotoTabView for photo dimensions and JPEG quality settings.
- Introduce RaceUploadTabView for race setup and processed photo upload functionality, including API integration.
- Develop TextTabView for horizontal and vertical text settings, font options, and race time configuration.
- Implement ThumbnailsTabView for thumbnail creation options and settings.
2026-02-28 21:48:05 +01:00
6cf0c029fc feat: Implement Face AI functionality and race upload settings in Avalonia UI 2026-02-28 21:34:45 +01:00
15b1da4371 feat: Add race upload functionality and file transfer endpoints
- Implemented IRaceUploadCommunicationClient with methods for saving races, creating race points, indexing race points, retrieving race details, and uploading files to the receiver.
- Added ReceiveFilePath option to CatalogCommunicationOptions for file transfer configuration.
- Enhanced CatalogCommunicationServiceCollectionExtensions to validate ReceiveFilePath.
- Developed RaceUploadCommunicationClient to handle race-related API interactions, including saving race data and uploading processed images.
- Updated API documentation to reflect new race upload and file transfer endpoints.
- Modified Avalonia UI to support race creation and processed image uploads, including new input fields and buttons.
- Introduced RaceSaveRequest and ReceiveFileUploadRequest models for structured data handling.
2026-02-28 16:54:08 +01:00
4a0973b681 Added avalonia integration and remote proof of concept 2026-02-28 15:30:57 +01:00
775080a178 Removed old projects 2026-02-26 21:19:03 +01:00
73597689ed Cross-platform: remove System.Drawing deps, add #if WINDOWS
Refactored image creation APIs to use byte[] for logo data instead of System.Drawing.Image, enabling cross-platform support. Wrapped all GDI+/Windows-specific code in #if WINDOWS and updated project files to conditionally include Windows-only dependencies. Defaulted to ImageSharp on non-Windows, and updated UI and settings to reflect platform capabilities. Application now builds and runs on Linux/macOS with Avalonia and ImageSharp, while retaining full Windows functionality.
2026-02-26 19:17:23 +01:00
311b3e76f0 Add Avalonia UI frontend alongside WinForms and WPF
Introduce Avalonia as a new cross-platform UI option, including new XAML and code-behind files for the application and main window. Update Program.cs to support a --avalonia launch argument and add corresponding launch profile. Integrate Avalonia NuGet packages and ensure DataModel supports UI-thread invocation for all frontends. All business logic and state are shared via DI, enabling consistent behavior across WinForms, WPF, and Avalonia.
2026-02-26 18:43:07 +01:00
3ae4da3e49 Enhance publish_release job: export version and add release metadata for automated releases 2026-02-22 14:51:44 +01:00
93413b0fe9 Made trimmed false 2026-02-22 11:48:32 +01:00
3a964bbbcf Refactor CI pipeline: replace minversion file generation with single-file publish for downstream jobs 2026-02-22 11:38:15 +01:00
335da52abf Add minversion file generation to build output for downstream jobs 2026-02-22 00:57:23 +01:00
1bb0176c92 Removed tags only from publish job 2026-02-21 20:11:46 +01:00
f8d4687a97 Refactor CI pipeline for GitLab: streamline publish_release job and improve artifact handling 2026-02-21 20:01:31 +01:00
900e8b6bf8 Update CI configuration and assembly information; remove log file and add logo image 2026-02-21 19:03:02 +01:00
d068b4b3e1 Support UI selection via --wpf command-line argument
Refactored Program.cs to accept command-line arguments and select between WinForms (default) and WPF UI based on the presence of --wpf. Removed old commented-out UI selection code. Updated launchSettings.json to provide separate profiles for WinForms and WPF launches. If WPF is requested but unavailable, the app falls back to WinForms.
2026-02-21 17:27:16 +01:00
67f207c05b Refactor UI: reorganize options and improve color picker
- Moved "Create Thumbnails" checkbox to the Thumbnails section.
- Relocated "Add Time" and "Add Race Time" controls to a new "Tempo Gara" section in the text options area.
- Enabled multiline input and wrapping for the Vertical Text box.
- Replaced text color selection with MahApps ColorPicker for better UX.
- Moved "Select Transparent Color" button to the logo options section.
- Made minor UI layout improvements for clarity.
2026-02-21 17:22:46 +01:00
9007a27fb2 Upgrade UI to MahApps.Metro with runtime theming
Modernize WPF UI using MahApps.Metro: switch MainWindow to MetroWindow, add MetroTabControl/MetroTabItem, custom tab styles, and icon-based theme toggle. Move version display to window commands. Integrate MahApps resource dictionaries and ThemeManager for runtime theme switching. Update startup logic for proper theming. WinForms fallback retained.
2026-02-21 16:49:13 +01:00
ec4635a37f Add Material icons to UI and refactor theme resources
Integrated MahApps.Metro.IconPacks for Material icons in tab headers and buttons, enhancing visual clarity and user experience. Refactored resource dictionary to define theme brushes at the top level for easier theme switching. All button content now combines icons and text for a more modern interface. No functional changes; UI/UX improvements only.
2026-02-21 16:04:58 +01:00