Commit Graph

70 Commits

Author SHA1 Message Date
phantom f2b03265ba feat(iced): add filter instant preview 2026-07-15 16:17:43 +03:00
phantom 4f04fbda11 fix(iced): clear selection handle on deselect and Escape
- Deselect handler now clears selection_transform and transform_drag_handle
- Escape key (MenuClose) now cancels active transform before closing menus
- Ensures selection handles are properly cleaned up when deselecting
2026-07-15 15:17:25 +03:00
phantom 1fd0c5291a feat(iced): add marching ants animation for selection
- Added marching_ants_offset to HcieIcedApp for animation state
- Added selection_bounds field to IcedDocument for persistent selection display
- Updated OverlayProgram to draw animated marching ants (black + white dashed lines)
- Added timer subscription for continuous animation when selection is active
- Updated SelectAll/Deselect handlers to properly manage selection state
- Selection now remains visible after creation with animated border
2026-07-15 04:11:48 +03:00
phantom 12ccbf2688 feat(iced): add keyboard shortcuts for selection operations 2026-07-15 03:31:13 +03:00
phantom 611a6655da feat(iced): implement selection menu operations
- Add Inverse selection (Shift+Ctrl+I) with engine.invert_selection()
- Add Shrink, Feather, Border, Smooth menu items with parameter dialogs
- Implement selection_border() and selection_smooth() in engine API
- Implement border_mask() and smooth_mask() in hcie-selection crate
- Update SelectionOpApply handler for all selection operations
2026-07-15 03:26:07 +03:00
phantom 017f6f3dd3 feat(iced): fix crop tool with proper handles, keyboard, and mouse events
- Add CropDragStart, CropDragMove, CropDragEnd, CropConfirm, CropCancel messages
- Implement crop overlay with 8 handles and rule-of-thirds grid
- Wire Enter key to confirm crop and Escape to cancel crop
- Wire mouse events for crop drag operations
- Fix CropState per-document isolation
- Add darkened area outside crop for visual clarity
2026-07-15 03:21:46 +03:00
phantom 80e0637271 feat(iced): implement selection-aware copy/paste 2026-07-15 03:15:20 +03:00
phantom f232615991 feat(iced): implement transform drag messages and handlers 2026-07-15 03:11:45 +03:00
phantom 7bff36d006 fix: add selection_mask and selection_bounds fields to IcedDocument
These fields are required by the spec (section S2) but were missed during
initial implementation. They support selection mask alpha channel data
and selection bounding box coordinates.
2026-07-15 03:04:50 +03:00
phantom f30858c65d feat(iced): add selection state types for transform, crop 2026-07-15 03:01:25 +03:00
phantom 4dccf18743 Implement Photopea theme and tool settings panel
- Added Photopea theme implementation report and design specifications.
- Created tool options and settings panels to match Photopea's layout.
- Implemented settings persistence to save and load user preferences.
- Updated toolbar to include SVG icons and tool options in a single row.
- Enhanced tool settings with specific parameters for each tool type.
- Added functionality for resetting tool settings to defaults.
2026-07-14 14:14:10 +03:00
phantom 58599bf8f9 feat: Enhance Bevel & Emboss effect with contour support and algorithm improvements
- Implemented contour lookup functionality for Bevel & Emboss effect to allow for custom contour curves.
- Added contour parameter to LayerStyle and updated related structures and functions.
- Improved emboss algorithm by fixing height field calculations and ensuring proper handling of outside pixels.
- Introduced tilt component for 3D emboss effect, enhancing visual depth.
- Optimized MAE grid search parameters for better performance and accuracy.
- Expanded Iced GUI panel for Bevel & Emboss to include contour selection and additional styling options.
- Updated example scripts to reflect changes in the API and new features.
2026-07-14 00:36:09 +03:00
phantom 5e03065165 bevel and emboss geliştirme 2026-07-13 20:33:39 +03:00
phantom 2284a7d81f gemini feat: optimize drawing performance by caching layer styles during strokes and improve UI/UX for layer styles and menus, improved drop shadow 2026-07-13 14:37:22 +03:00
phantom 356fac571d mimo 2026-07-13 06:40:14 +03:00
phantom a70bedd6bb feat: initialize window ID on startup and batch keyboard subscription with additional event handling 2026-07-12 03:59:24 +03:00
phantom 266183a7ff feat: optimize GUI rendering with GPU persistent textures, incremental dirty-region updates, and coordinate-aligned viewport mapping 2026-07-12 03:45:41 +03:00
phantom 2f9a3017ca feat: implement incremental dirty-region canvas updates with custom WGPU shader pipeline 2026-07-12 03:19:09 +03:00
phantom 660694f00f Refactor styles and implement new canvas viewport
- Updated styles in `styles.rs` to include new pane and canvas backgrounds, while marking unused functions with `#[allow(dead_code)]`.
- Modified `text_editor.rs` to suppress warnings for unused function parameters.
- Enhanced `title_bar.rs` to create a unified title/menu bar with improved hover states and draggable functionality.
- Simplified `sidebar.rs` to always use a single-column layout and improved tool button styling with hover feedback.
- Added a new `viewport.rs` file to implement a custom canvas viewport widget for zoom and pan rendering, replacing the previous layout-based approach.
- Updated theme management in `theme.rs` to suppress warnings for unused methods.
- Adjusted line count report to reflect recent changes in codebase.
2026-07-12 02:05:31 +03:00
phantom f4ad22b55b Add Iced panel adapter and AI chat/script panels
- Implemented a theme system in `iced-panel-adapter` for consistent styling across panels.
- Created `iced-panel-ai-chat` for an AI assistant interface, including message handling and UI components.
- Developed `iced-panel-script` for a DSL editor with execution capabilities, allowing procedural drawing commands.
- Introduced message types for interaction in both chat and script panels.
- Added color and theme management for improved visual consistency.
2026-07-11 18:13:03 +03:00